Archive

Archive for December, 2009

Bajki o FastCGI w PHP

December 22nd, 2009 3 comments

Ostatnio docierały do mnie głosy o FastCGI w PHP. Jednak ja w bajki nie wierzę. To co znalazłem w PHP tylko przypomina FastCGI.

Otóż, jak sama nazwa wskazuje FastCGI powinno być szybsze od CGI. Tymczasem, FastCGI dla PHP nie ma wpływu na szybkość działania a na zużycie pamięci. Czyli może działać szybciej, ale nie musi zależy od sposobu mierzenia. Tutaj jest porównanie szybkości mod_php i php-fpm.

Brodaci i brzuchaci programiści, tacy jak ja, którzy pamiętają jeszcze czasy Perla, wyobrażają sobie że FastCGI działa w następujący sposób. Serwer WWW uruchamia proces aplikacji, aplikacja startuje (co zwykle trochę trwa) i czeka na kolejne żądania. Aplikacja staje się jedną częścią z serwerem. W porównaniu z CGI lub standardowym sposobem uruchamiania PHP pozwala to zaoszczędzić czas potrzebny na start aplikacji. Wymaga to jednak specjalnego sposobu programowania i sumienności w zarządzaniu zasobami. Tymczasem sumienność w zarządzaniu zasobami nie była potrzebna w świecie PHP. W świecie PHP serwer WWW uruchamia aplikację, aplikacja drukuję stronę, kończy pracę i serwer po niej sprząta. Programista programuje szybciej, bo nie traci czasu na programowanie zarządzania pamięcią. Jednak aplikacja działa wolniej, bo nie może korzystać z dobrodziejstw FastCGI. Coś za coś. Programiści piszą szybko lub aplikacja działa szybko. Wybór należy do biznesu. W PHP nie ma FastCGI takiego, jak znają programiści Perla. W PHP nie ma FastCGI które było by szybsze i pozwalało zaoszczędzić czas potrzebny na inicjalizację aplikacji.

PHP działa tak:

Tak działa prawdziwe, szybkie i brodate FastCGI:

 

Nie wiem jak działa FastCGI w PHP ale na pewno nie tak gdyż nie ma do tego API i biblioteki w PHP nie są przystosowane do takiej pracy. Jeżeli FastCGI w PHP będzie działać tak jak w Perlu, to chcę o tym wiedzieć.

Tu jest info o FastCGI dla Perla.

Categories: PHP Tags:

Facebook API

December 9th, 2009 3 comments

Ostatnio mam przyjemność walczyć z interfejsami programistycznymi serwisów internetowych takich jak: Facebook, MySpace, Twitter, Digg, Flickr, YouTube, Vimeo czy Open Social. Muszę przyznać, że API które zrobiło na mnie największe wrażenie to Facebook XFBML.

Szczerze mówiąc, nie wiedziałem że tak się da zrobić… Spodziewałem się takich technologii jak REST, WebServices czy osadzenie pływających ramek… Ale to co zrobił Facebook po prostu mnie zaskoczyło. Nie wiedziałem wcześniej że tak się da… I że to takie proste.

Otóż na swojej stronie XHTML osadzam specjalne tagi, które są rozszerzeniami Facebooka dla XHTML. Dodaję kilka linii JavaScriptu i działa. Moja przeglądarka internetowa wyświetla tagi Facebooka, na przykład kod strony: <fb:prompt-permission perms="publish_stream,offline_access">Czy zgadzasz się aby publikować na Facebooku</fb:prompt-permission> wyświetli mi pytanie o prawa dostępu. Inne tagi wyświetlają zdjęcia użytkowników, formularze komentowania i logowania lub przyciski zostań fanem.

Oczywiście, to jest proste tylko z pozoru. Programiści Facebook musieli się nieźle nagimnastykować, chociażby po to żeby współpracować z poziomami bezpieczeństwa przeglądarek internetowych. Podziwiam za odważny pomysł i dobrą realizację.

Przeglądanie logów w Eclipse

December 9th, 2009 1 comment

Znudziło mi się przeglądanie logów w konsoli systemu.

image

Postanowiłem więc zainstalować wtyczkę do Eclipse IDE do tego. Wybrałem pierwszą z brzegu – NTail. Działa dobrze, czyli logi wyświetlają się w IDE.

image

Przydało by się jeszcze kolorowanie słówek kluczy, takich jak: error, fatal, warning.

Categories: Eclipse Tags: ,

Oddam kocięta

December 6th, 2009 3 comments

Nasza kotka znów nas przechytrzyła. Gdy tylko zorientowała się, że chcemy ją wykastrować – to zwiała. Dlatego, oddam teraz dwa kocięta: czarnego i burego. Kocięta urodziły się 15 października, mają już 8 tygodni i najwyższy czas, aby znalazły sobie opiekunów. A nasza kotka – Mućka – będzie miała surowy szlaban i tym razem na pewno się już nie wymknie.

Kotki do odbioru w Grójcu, mogę też podwieźć.

 

Categories: Zupełnie inne Tags:

Windows 7

December 3rd, 2009 1 comment

Dzięki uprzejmości mojego kolegi, mogę od kilku dni pobawić się najnowszym dziełem Microsoftu. Muszę przyznać, że produkty tej firmy podobają mi się coraz bardziej.

Pierwszym miłym zaskoczeniem był dla mnie temat graficzny – Polska, fajnie jest mieć zaraz po instalacji Morskie Oko lub Malbork. Taka drobnostka, a duży plus się za to Microsoftowi należy!

image

Nowy pasek zadań nie był dla mnie niespodzianką. Zdążyłem jego zalety poznać już patrząc na pulpity innych. Nowy pasek zadań jest jak dla mnie naprawdę super, jednak moją żonę wkurzył. Ola usiłowała włączyć przeglądarkę Chrome, i była zdziwiona bo a to się chowała a to pokazywała jakaś strona z dziwnymi znaczkami… Za pasek zadań daję olbrzymiego plusa, choć wiem że sporo ludzi będzie na niego narzekać.

image

Nowy pasek zadań daje też przewagę Internet Explorerowi nad konkurencyjnymi przeglądarkami. Na pasku zadań widzimy zakładki otwarte w IE. To na prawdę fajne. Nie fajne jest jednak to, że IE parę razu już mi się zawiesiło… Jednak, tym razem pad IE nie pociąga za sobą konieczności restartowania połowy aplikacji. Mały plus.

Automatyczne aktualizacje system przebiegły tak, że prawie ich nie zauważyłem. Informacja, o tym że nie mam antywirusa nie była tak nachalna jak w przypadku Visty. Pobrałem jednak antywirus Microsoftu Security Essentials o którym wiedziałem już wcześniej, że nie przymula za nadto systemu.

image

Później odkryłem coś zastraszającego. Byłem w szoku. Jest już Eclipse w wersji 3.5.1. O kurcze, musiałem być nieźle zarobiony, przegapiłem dwie wersje… I jest też wersja dla platformy 64 bitowej. I to działa. Jestem w szoku. Oczywiście, to nie zasługa Microsoftu, jednak to że na Windzie działa dobrze dobre IDE jest dobre.

image

Później spróbowałem PostgreSQL. Pamiętam, że trzy lata temu utyrałem się przy tym. Tym razem, wszystko poszło gładko. Czyżbym nie znalazł nic, do czego można się przyczepić?

image

Zamiast Apacha, postanowiłem spróbować Zend Community Server + Apache. I znowu bezproblemowa instalacja. Nudy… Chociaż, mam wrażenie, że na Viscie działało szybciej…

image

Zastanawiałem się, jak długo wytrzymam bez Cygwina. Pewnie nie dałbym rady, ale zainstalowałem coś podobnego – GnuWin32. Muszę przyznać, że konsola to wciąż największa bolączka systemów Microsoftu. Próbowałem jakiś programików, niestety wszystko to pozostaje daleko w tyle do tego, co oferuje Linux z pudełka, daleko nawet za Cygwin + RXVT.

image

Na deser, najprzyjemniejszym zaskoczeniem jest program Windows Live Writer. Właśnie w nim piszę ten artykuł na bloga. Mam wrażenie, że ten darmowy program do pisania blogów sprawdzi się lepiej niż Microsoft Word. Word ma fajne formatowania, ale nie ma edycji źródła.

image

W mojej opinii, Windows 7 to zdecydowanie najlepszy system Microsoftu. Dlatego że ma temat graficzny ze zdjęciami z Polski, dlatego, że ma nowy pasek zadań, dlatego, że bez problemów zainstalowałem bazę danych, serwer WWW, środowisko programistyczne. I dlatego, że bez problemu wklejam zrzuty ekranu do bloga.

Categories: Recenzje, Windows Tags:

csplit a olbrzymie pliki

December 2nd, 2009 No comments

Moim zadaniem było naprawić uszkodzony plik kopii bezpieczeństwa bazy danych PostgreSQL. Wiedziałem w której linii jest błąd i na czym polega, jednak plik kopi bezpieczeństwa był na tyle olbrzymi, że edycja jego edycja była bardzo utrudniona. Z pomocą przyszedł mi program csplit znaleziony w pakiecie GnuWin32. Program ten potrafi podzielić plik na mniejsze na podstawie dopasowania przez wyrażenie regularne. Wydałem następujące polecenie:

csplit –f "out_" nazwa_pliku_backup.sql "/^COPY /" {*}
head –n 1 out_*

W wyniku pracy programu csplit uzyskałem kilkadziesiąt mniejszych plików – po jednym dla każdej tabeli w bazie.

Categories: Bazy danych, Programowanie Tags: