eRIZ's weblog: archiwum:

PHP, webdesign, Linux, Windows i inne, bo nie samym chlebem człowiek żyje

Niezawodny serwer – FreeBSD + Nginx + PHP @ FastCGI

Ostatnio o Nginksie pisałem już jakiś czas temu. Pozmieniało się sporo, sam rozwój tego demona był dla mnie sporym zaskoczeniem. Kiedyś niszowy projekt – dzisiaj – zdobywający popularność w szalonym tempie.

Jednak nie ma co się temu dziwić – wydajność jest znacznie wyższa niż najpopularniejszej kobyły (czyt: Apache). No i fakt, że jest produkcji rosyjskiej – już któryś raz z kolei o tym wspominam, a jest to kolejny program potwierdzający regułę. :)

więcej

AJAX w jQuery i callbacki JavaScript

O tym, że jQuery jest niezłym narzędziem, nie trzeba nikogo przekonywać. Filozofia łańcuchowania – mam na myśli konstrukcję – nie jest jednak taka oczywista w użytku pod każdym względem. Z jQuery da się wygodnie pracować; to, że coś nie wychodzi wcale nie oznacza, iż trzeba od razu zmieniać używanego frameworka.

Wystarczy zrozumieć kilka rzeczy. ;) Notka jest przeznaczona dla raczej początkujących; starzy wyjadacze pewnie niczego nowego się nie dowiedzą.

więcej

Cache danych – czym, jak, gdzie i kiedy – cz. I: teoria

PHP (zresztą nie tylko ten język) jako server-side do nauczenia trudny nie jest. Po jakim czasie seito twierdzi, że potrafi pisać całkiem niezłe skrypty, CMS, czy aplikacje. Ale nawet i wielu sensei często miewa problemy, gdy chodzi o mocno obciążone serwisy, w których stopniowo zaczynają pojawiać się wąskie gardła – strony wczytują się coraz wolniej, aż do momentu, gdy baza danych odmawia posłuszeństwa z powodu przeciążenia.

Na domiar złego, użytkownicy odświeżają wielokrotnie te same strony – albo z powodu wielu prób otwarcia, albo w celu aktualizacji często zmieniających się treści. I tak mamy pewien procent żądań, które tylko niepotrzebnie obciążają serwer, nieraz będące błędnym kołem – skrypt oczekuje na połączenie z bazą, a zniecierpliwiony gość albo opuści stronę, albo będzie wciskał CTRL+R do oporu…

Owszem, można postawić farmę serwerów z load-balancingiem/proxy-cache, ale nieraz jest to strzelaniem do muchy z armaty, poza tym – w przypadku mniejszych serwisów jest to poza ich zasięgiem finansowym. Jednak są sposoby… ;]

więcej

Alternatywa dla Apache – YAWS + PHP + Rewrite

Nie da się temu zaprzeczyć – Erlang ma dość dziwną składnię, momentami naprawdę się ciężko połapać po siedzeniu w językach typowo klamerkowych (vide: C, PHP, JS, etc), ale możliwości napisanych w nim aplikacji naprawdę poraża.

I jak by tu nie próbować czegoś nowego? Ejabberd (demon Jabbera) świetnie się sprawuje, przez samą konstrukcję języka, w którym został napisany, koder ma dostęp do potężnego środowiska, które poradzi sobie w naprawdę trudnych warunkach. Dla przykładu – ktoś się pofatygował, aby przetestować Apache w porównaniu do YAWS. Wyniki – szczerze mówiąc – mnie zszokowały…

więcej

Bot do powiadomień w EKG2

W trakcie rozważań z ^kwiateuszem nad jakimiś usprawnieniami dla Forum PHP.pl (IPBoard) przyszedł mi do głowy pomysł, który zauważyłem kiedyś na Polskim Forum Jabbera. Stworzono do niego mod, który umożliwia powiadamianie użytkowników o nowych postach właśnie przez Jabbera.

Pisałem już o module powiadomień opartym o klasę Jabbera dla PHP, ale co w sytuacji, gdy serwer jest bardziej obciążony? Dla małych forów wcześniej omówione rozwiązanie – jak znalazł. Natomiast w przypadku większych aplikacji będzie stanowiło pewien problem – od wydajności po gubienie powiadomień, czy inne nieprzewidziane sytuacje.

Dlatego wykorzystamy w tym celu popularnego klienta IM pod shella, mianowicie ekg2. Umożliwi on również skorzystanie z powiadomień do innych sieci, m.in. Gadu-gadu, czy Tlen.

więcej

Warsztat webdevelopera pod Windows cz. I: wstęp – środowisko

Jakiś czas temu Mateusz poprosił o parę słów na temat stanowiska do webdeveloperki na maszynie pracującej pod kontrolą Windows. Zagadnienie nie jest takie banalne, na jakie się wydaje, gdyż pierwotnie to systemy Unixowe były projektowane bardziej dla developerów, potem zaczęto myśleć o ZU. Natomiast w przypadku Windows można powiedzieć, że sytuacja była odwrotna.

Sam pracuję pod Windows (z wyboru, nie z przymusu), niektórzy pewnie też próbują; postaram się udowodnić, że wbrew obiegowym opiniom i pod Oknami da się wygodnie kodzić.

Grunt, to odpowiednio przygotowane środowisko, bo łyżeczką jeziora nie wykopie. [;

więcej

Zdalne publikowanie notek w WordPressie – XML-RPC w PHP

Jak wygląda życie zwykłego użytkownika WordPressa…? Otwarcie przeglądarki, logowanie, napisanie notki, publikacja. Zaraz, a gdyby np. skorzystać w tym celu z jakiejś zewnętrznej aplikacji? Owszem, jest tego w pęczki, nie ma sensu wynajdywanie koła na nowo. Jednak protokół, z którego korzystają zewnętrzne aplikacje, może być wykorzystany także w naszych bibliotekach oraz z poziomu samego PHP.

Pomysł na dzisiejszy wpis podsunął mi ^lukjarz. ;]

więcej

Apache 2.2 pod Windows z SSL

Wcześniej pisałem o instalowaniu Apache. Ok, (chyba) działa, ale nie ma opcji zestawiania połączeń poprzez SSL. Dzisiaj zajmiemy się instalacją wersji obsługującej połączenia szyfrowane.

Tak naprawdę, cała czynność nie jest szczególnie trudniejsza od tej, do której zalinkowałem. Jeśli wszystko ruszyło z kopyta w wersji bez SSL, można powiedzieć, że instalacja wersji obsługującej szyfrowanie okaże się banalna. ;)

więcej

Komentarze warunkowe i expressions w Firefoksie

Pewnie wiele osób męczy się podczas cięcia z różnymi bolączkami przeglądarek. Jak to wszystkim (jeśli nie, to teraz już tak), nie ma dwóch przeglądarek identycznie renderujących konkretną stronę. Nawet mój weblog w każdej przeglądarce jest jakoś inaczej narysowany, najczęściej są to błędy rzędu złudzenia optycznego (np. margines, czy inaczej zrenderowane ramki obiektów).

Ale już grubą przesadą jest sytuacja, w której większość przeglądarek radzi sobie bezbłędnie z danym ostylowaniem, a jedna konkretna nie. Na ogół da się odpowiednio przeprojektować layout tak, aby wyeliminować artefakty. Niestety, nie zawsze się tak da. W tym celu wymyślono hacki.

więcej

Filozofia programowania – frameworki

Kto dzisiaj pisze aplikacje bez frameworków, hy? Znajdzie się ktoś? No dobra, może jacyś początkujący, ale tak, czy tak – prędzej, czy później – złapie za jakąś bibliotekę i będzie (oby ;)) rozwiązywać kolejne problemy. Kiedyś, kiedyś pojęcie frameworka było znane raczej tylko przez programistów Javy, w której pisanie bez zestawu odpowiednich bibliotek jest koszmarem (IMHO Java jest koszmarem ze względu na wydajność działających aplikacji :P).

Dzisiaj w praktycznie każdym języku programowania mamy do wyboru co najmniej kilka różnych frameworków.

więcej

Szufladka