same chore słowa po których puchnie głowa
30 wrz
Z racji zboczenia zawodowego podczas przeglądania nowych stron przyglądam się nie tylko treści i grafice ale interesuje mnie także sposób budowy serwisu. Nie inaczej było i tym razem gdy na tapetę wrzuciłem nową wersję BlogFroga. I jakie było moje zdziwienie gdy po chwili zauważyłem kilka charakterystycznych dla CI elementów
Kilka testów, zabawna z URLami i tak, wniosek końcowy, BlogFrog został napisany w oparciu o CodeIgnitera. Przynajmniej frontend dla użytkowników. Co jest w backendzie agregującym informacje - ciężko powiedzieć (no może oprócz tego, że “żabiasty” robot przedstawia się jako “zend_http” co by mogło sugerować użycie klasy Zend(pseudo)Frameworka). Autorzy BlogFroga całkowicie olali moje maile więc nie udało mi się dowiedzieć niczego ciekawego w tej sprawie.
Dlaczego o tym piszę? Dlatego, że takie informacje są bardzo interesujące dla innych programistów, co rusz na forach ktoś pyta o przykłady zastosowania danego frameworka w praktyce, powstają także listy takich aplikacji (serwisy oparte na: CodeIgniter, cakePHP, Prado, Symfony).
ps. Okazuje się, że jednak była odpowiedź ze strony blogfroga, a całą korespondencję nie pierwszy raz wcięło Progreso. Za parę dni więcej szczegółów w temacie BlogFroga i CI.
30 wrz
Kilka dni temu ukazał się podręcznik do CodeIgnitera pod tytułem “CodeIgniter for Rapid PHP Application Development”. Przykładowy rozdział mnie nie zachwycił, wygląda to po prostu na zgrabne przerobienie manuala plus kilka dodatkowych przykładów - co zresztą zauważają sami autorzy CodeIgnitera. CI jest tak prostym i banalnym frameworkiem, że wystarczy parę godzin na poznanie jego filozofii i po sprawie, wszystko wiadome
W każdym razie rozumiem, że ktoś woli mieć manuala na papierze i pewnie w takich ludzi celuje autor opracowania. Sam jestem taka osobą, nie mniej nie zamierzam owej książki kupować. Sam bym mógł napisać coś w rodzaju “Jak przerobić CodeIgnitera aby był idealnie dopasowany do Twoich potrzeb” ![]()
31 sie
Dzisiaj ukazała się nowa wersja PHP oznaczona numerkiem 5.2.4. I pewnie o tym bym nie napisał (bo przecież nie śledzę z wypiekami na twarzy, kiedy to nowa wersja się pokaże) gdyby nie to, że cały wczorajszy dzień i noc spędziłem na @$#%# (ocenzurowano) właśnie z powodu PHP. Otóż pomimo odpowiednich ustawień w konfiguracji fast-cgi w Lighttpd oraz wpisów w php.ini (fixpath), PATH_INFO zawsze było puste co niestety skutkowało “wykrzaczeniem” się w całości serwisów opartych na frameworkach korzystających z PATH_INFO do routingu (jest jeszcze np. REQUEST_URI ale za długo by opisywać jakie zmiany w routingu poczyniłem, że PATH_INFO stało się niezbędne). Nienawidzę kombinacji na serwerach produkcyjnych. Wczoraj przed północą nawet udało mi się na 20 minut “wykrzaczyć” serwer
starając się znaleźć rozwiązanie tego problemu. A tu dzisiaj rano taka niespodzianka: nowe PHP i do tego jeszcze opis poprawek i m.in.
Fixed bug #31892 (PHP_SELF incorrect without cgi.fix_pathinfo, but turning on screws up PATH_INFO).
Tak więc pełen nadziei zabieram się do kompilacji. Trzymajcie kciuki
ps. I rzeczywiście działa, błąd poprawiony. Więc jeżeli ktoś z was jedzie na PHP 5.2.3 na cgi-fcgi to niech się zastanowi nad updatem ![]()
7 sie
Muszę się spieszyć - Marcin wraca jutro z urlopu, a ja już od 2 tygodni obiecuje mu, że napisze coś o zicherce na blogu
Jak widać strasznie opornie idzie mi to blogowanie, ale do rzeczy.
O zicherce było już trochę w necie, choćby na PiO lub Antywebie więc postaram się dostarczyć wam nieco innych informacji. Jako, że to podobno jest devblog (średnio mi to wychodzi) to będzie trochę technicznych aspektów tego projektu.
Pomysł na serwis mieliśmy jeszcze w ubiegłym roku. Ja myślałem o serwisie mojego miasta (Tychy), a Marcin o społeczności Katowic. Szybko doszliśmy do wniosku, że Tychy i Katowice to trochę za mało, a tworząca się Silesia dała nam motywację do objęcia zasięgiem całego śląska i zagłębia. Silesia to ponad 2 miliony mieszkańców, a całe województwo śląskie liczy ich 5 milionów.
Serwis zaczął powstawać gdzieś w okolicach lutego-marca (sam już nie pamiętam dokładnie) lecz niestety wszystko tworzyło się dosyć opornie, głównie z powodu pracy na odległość oraz braku konkretnej, zapiętej na ostatni guzik listy funkcji serwisu. W tworzenie zicherki zaangażowane były 3 osoby, każdy z nas w międzyczasie miał masę innej roboty i tym sposobem projekt tworzony “po godzinach” zyskiwał już nie dni i tygodnie, a niestety miesiące
Technicznie: zicherka działa na autorskim frameworku (php5) Marcina, wykorzystuje JavaScriptową bibliotekę jQuery, ma wbudowany cache wielu elementów serwisu. Chwilowo stoi to na serwerze z Apache ale plany są takie aby docelowo to przenieść na Lighttpd albo Nginxa. Panel admina (dla sportu
) jest pisany w django (Python), jednak mamy wrażenie iż ten, swoją drogą bardzo dobry, framework jest nieco przereklamowany. Z naszych obserwacji wynika, iż musielibyśmy rozszerzyć “na dzień dobry” co najmniej połowę modułów z django (zaczynając od sesji, a kończąc na takich drobnostkach jak paginacja) aby dojść do funkcjonalności jaką nam zapewnia nasz framework w PHP. W każdym razie migracja na django jest możliwa, aczkolwiek zależna od tego co się będzie działo z serwisem w najbliższych miesiącach (rozwój, inwestycje).
Funkcyjnie: jest to serwis o wiele bardziej rozbudowany niż przytaczany często jako przykład wrocek.pl. Sporą różnica jest choćby system edycyjny, który można porównać z tym z wiki (edycja przez wielu użytkowników, przywracanie poprzednich wersji wpisu w przypadku pomyłki lub wandalizmu), czy choćby zaczątki personalizacji (wyszukiwanie grup, ludzi, miejsc i wydarzeń zbieżnych z zainteresowaniami użytkownika). W przygotowaniu są kolejne funkcje, których nie znajdziecie w innych tego typu serwisach
Co dalej? Przede wszystkim poprawienie znalezionych błędów obecnej wersji; wprowadzenie funkcjonalności, która jest już napisana i czeka na przetestowanie; poprawienie wyglądu, użyteczności wg. potrzeb użytkowników; znalezienie poważnego inwestora (zgłosiło się kilka firm, prowadzone są trudne rozmowy).
15 lut
Ciekawe zestawienie dotyczące używanych wersji PHP na serwerach całego świata opublikował kilka dni temu jeden z francuskich portali. Badanie objęło 9.2 miliona serwerów postawionych na 2.2 milionach adresów IP i przeprowadzone zostało na przełomie grudnia 2006 i stycznia br. Metodologia dosyć prosta (nagłówki HTTP np. Server: Apache/1.3.33 (Unix) mod_gzip/1.3.26.1a mod_fastcgi/2.4.2 mod_ssl/2.8.22 OpenSSL/0.9.7g X-Powered-By: PHP/5.1.6), aczkolwiek nie dająca pełnych danych (wiele serwerów ze względów bezpieczeństwa blokuje wysyłanie nagłówków). Trzeba też pamiętać, że najczęściej występującą konfiguracją jest wspólne działanie PHP4 i PHP5 (np. PHP4 jako moduł apache, a PHP5 jako cgi), gdzie na ogół standardowo odpalane jest właśnie PHP4. To strasznie zaciemnia takie badania, czego skutkiem są takie wyniki jak tutaj: PHP4 85%, PHP5 14%. To zdecydowanie nie odzwierciedla ilości serwerów pracujących na PHP5.
