Pokazywanie postów oznaczonych etykietą php. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą php. Pokaż wszystkie posty

3 grudnia 2010

Mapowanie w PHP - OpenData dla społeczeństwa

Wspominam o różnych technicznych aspektach informatyki, więc nie mogę pominąć aspektu społecznego. Okazuje się, że niektóre firmy udostępniają swoje dane jako OpenData i dzięki tym danym można używając mapowania w języku PHP robić takie oto piękne infografiki związane ze statystykami.

Są ludzie, którzy bawią się w przemapowywanie GPS na kody pocztowe i jeśli Was to zainteresuje, możecie śmiało spojrzeć tutaj.
Oto przykład praktycznego użycia takiej bazy danych mapowań kod pocztowy (post code) do pozycji geograficznej (GPS):
http://www.uk-postcodes.com/postcode/E97NE

20 lipca 2010

Android + PHP -> czy wygra prostota ?

http://bingphp.codeplex.com/

http://blog.wilgucki.pl/2010/07/php-for-android.html


http://blog.wilgucki.pl/2010/07/php-for-android.html?utm_source=feedburner+php&utm_medium=feed&utm_campaign=Feed:+wilgucki/PHP+(Hello+World!+PHP)

http://blog.wilgucki.pl/2010/07/php-for-android-nowe-logo-oraz-roadmap.html


http://www.phpclasses.org/blog/post/125-Developing-PHP-applications-to-run-natively-on-Android-phones.html

http://danielpetty.com/android-lamp-linux/

http://www.phpforandroid.net/doku.php

3 lutego 2010

PHP + HipHop ... i nigdy stop :)

Tytuł sam odkrywa szczegóły tej wypowiedzi. Chciałbym opisać swoimi słowami co myślę o rozwiązaniach sieciowych, które są wysoko skalowalne i produkcyjnie pozwalają na obsłużenie stron o ruchu ~400 mln odsłon miesięcznie. Temat do tyczy znanego wszystkim języka PHP oraz narzędzia poprawiającego niemalże o połowe wydajność tego języka tzn. prj. HipHop.



Wiele projektów udowodniło, że język PHP daje się osadzać na innych platformach (t.j. Java, .NET, Erlang VM)i konwertować do innych formatów wykonawczych. Niewiele miało tak wyjątkową rekomentację jak HipHop. Pierwotnie projekt zrodził się na potrzeby optymalizacji wydajności skryptów w serwisie społecznościowym Facebook. Od kilku dni źródła zostały uwolnione i umieszczono je na GitHub.

Wracając do alternatywnych prób kompilacji w PHP oraz osadzania warto przytoczyć następujące projekty:
phpcompiler
roadsend
Phalanger php compiler
Quercus - PHP in Java



Kwintesencja HipHop jest zarazem założeniem tego tworu. Jest to coś ala kompilator skrośny z języka PHP do języka C++. Dzięki takiej ścieżce ANSI C (Zend API), w którym napisany jest PHP, dalej PHP i na końcu skrypty CGI skompilowane kompilatorem G++ daje zysk ponoć dwukrotny w wydajności !!!
Co dla świata PHP jak i dla samego Facebooka jest REWOLUCYJNE :-) Pierwotnie produkt komenrcyjny ZendServer próbował optymalizować czas działania skryptów, poprzez pakowanie OPCODES (coś ala bytecode w PHP), lecz możliwości tego rozwiązania skończyły się bardzo szybko. Aktualnie zamiast np: dokupować kolejny rdzeń lub stawiać kolejną maszynę w farmie wystarczy użyć HipHop - nieprawdaż że proste ;) Poniższy schemat pokazuje ogólnie ten proces:





Materiały dodatkowe:

http://developers.facebook.com/news.php?story=358&blog=1
http://www.ustream.tv/recorded/4409735
http://www.facebook.com/video/video.php?v=124728580468&ref=mf

12 września 2009

Puppet - zarządzanie farmami serwerów w centralnym miejscu

Kiedy poczujecie potrzebę zarządzania np: 17-toma, 40-toma, 150-cioma backendowymi serwerami lub podobną farmą to z wielką dozą radości przyjmiecie na swój host nr.1 takie narzędzia jak Capistrano oraz Puppet.



Oczywiście jak każdy administrator nie lubimy powtarzania wielokrotnego tych samych czynności :-) Jak Puppet coś tam robi na całej farmie w tym czasie można obejrzeć np: kolejny odcinek Big Bang Theory i spokojnie później przejrzeć logi :-) To oczywiście baaardzoooo pozytywny plan, bo przy kilkudziesięciu i więcej serwerów należy uwzględnić indywidualności w maszynach, które lubią się zdarzać np: w Piątek o 16-tej ;-) A niekiedy jedna maszyna mniej to znacznie większe obciążenie, któremu w weekend może nie podołać farma np: przy sprzedaży świątecznej w większym sklepie, w systemie aukcyjnym, wrzucania wielu fotek przez użytkowników na portalu społecznościowym etc.

Moim zdaniem warto poznać Puppet'a i się z nim zaprzyjaźnić ;)

Materiały:

http://docs.reductivelabs.com/guides/installation.html
http://reductivelabs.com/trac/puppet/wiki/BigPicture
http://zimowisko.macuk.pl/2010/puppet.pdf
http://www.ploug.org.pl/konf_08/materialy/pdf/02_Masewicz.pdf
http://reductivelabs.com/products/puppet/
http://changelog.complete.org/archives/519-thoughs-on-cfengine-bcfg2-and-puppet
http://dozzie.jogger.pl/2009/06/25/centralizacja-zarzadzania-serwerami-linuksowymi/
http://augeas.net/

26 maja 2009

Erlang + PHP - nastała era miksowanych rozwiązań

Jak sami wiecie najlepsze kanapki to takie, które mają wiele smakowitych składników :-)
Takie kanapki można porównać do połączenia technologii PHP oraz Erlang. Kontrast języka skryptowego PHP przeznaczonego do przetwarzania i tworzenia hipertekstu, prostych zadań po stronie serwera oraz ponadczasowego języka funkcyjnego z własnymi mikrowątkami do przetwarzania danych w chmurach obliczeniowych Erlang. Kontrast dość spory, więc postanowiłem sprawdzić, co wynika z zestawienia takich odrębnych tematów.


src: http://www.flickr.com/photos/tobiasschlitt/2644905363/

Niewątpliwie zaletą języka PHP jest jego popularność na sporej liczbie produkcyjnych serwerów serwujących dynamiczny kontekst, możliwość zestawienia połączeń z powszechnymi bazami danych, stały rozwój języka oraz prostota programowania w nim. Do tego spora społeczność znawców oraz zadających stale te same FAQ na forach powoduje mega popularyzację tematyki programowania stron oraz aplikacji internetowych. Przyglądając się rozwojowi języka z perespektywy kilku lat znajdziemy w jednym dość specyficznym temacie dość spory niedosyt. Dokładnie mam na myśli w brak wielowątkowości w języku PHP. Jest to może i śmieszne, ale bywa zgrozą na codzień dla poważniejszej kady developerów PHP. Nie będę rozpisywał się o tym, że takie języki skryptowe jak Python, Ruby, Lua mają wbudowaną obsługę wieloeątkowości ... i to je stawia zupełnie na innym podium ;)

Spoglądając z kolei na język Erlang i jego możliwości tworzenia nieograniczonej ilości wbudowanych mikrowątków, które są niezależne od platformy i wątków systemowych, można wymyślić wart świeczki pomost dla tych technologii. Warto też przytoczyć jakieś dwa przykłady, w których ten język osiągnął popularność i sukces tzn. serwer metakomunikatora ejabberd oraz baza danych Amazon SimpleDB. Chcących poznać pozostałe przykłady polecam wikipedia oraz google :)

Dla chcących wtajemniczyć się w dość ciekawy temat łączenia technologii polecam materiały dodatkowe, w których znajdują się opisy oraz objaśnienia jak takiego powiązania dokonać.

Zapraszam serdecznie chcących podyskutować o wydajności i szczegółach technicznych. Czy używacie w soich projektach takiego rozwiązania ? Czy wiecie może jakie są postępy nasza-klasa.pl we wbudowaniu ejabberd w ich portal ?



Materiały dodatkowe:

Persistent PHP processes in Erlang/OTP

PHP/Erlang aims to be a PHP extension with a simple set of functions for turning a PHP thread into an Erlang C-node

A PHP eval server for Erlang/OTP

peb (Php-Erlang Bridge) is an open-source php extension to run php as an Erlang cnode

Reading Serialized PHP Objects from Erlang

27 stycznia 2009

elePHPant - obsesja na temat PHP słonia

Jakiś czas temu zachciałem wraz z grupą znajomych "zapolować" na słonia :) Wszystko byłoby pięknie, gdyby słonie były dostępne w sprzedaży - bo jak się domyślacie chodzi mi o zakup niniejszego słoniątka o wdzięcznym imieniu elePHPant :-)


elePHPant poster


Niektórzy znający zakamarki języka programowania PHP, chcąc ukazać jego cechy zmutowali elePHPanta i można go podziwiać na poniższych wizerunkach:

















Kilka linków:
Słóń afrykański (wikipedia)
PHP - portal społeczności zrzeszonej wokół języka programowania PHP

10 sierpnia 2008

htmlSQL - klasa PHP do zapytań typu SQL dla HTML

"Poprawne zadawanie pytań powoduje mniejszy stres" ... jakiś materiał w dziedzinie ułatwiania życia kiedyś nadmieniał. Zapytania to podstawa współczesnego świata ... a przede wszystkim baz danych. Dzięki specyficznemu językowi SQL i jemu podobnym mamy kolejną filozofię SQL zen dla języka HTML :)

Być może jest to mylące, że znalazł się ktoś, kto napisał w PHP klasę do zadawania zapytaćń na drzewie XHtML, ale poniższy obrazek rozwieje wątpliwości co do składni



natomiast źródła klasy oraz przykłady wraz z artykułem na temat htmlSQL przybliżą logikę działania.

Poproszę o wasze opinie z zapoznania się z tak odkrywczą i zabawną klasą.

Podobne projekty: webSQL, webQL

25 maja 2008

Symfony PHP framework - interesujące narzędzie

Niezrównany w bojach i podbojach szkieletów do kodowania w PHP zechciałem zmierzyć się z symfony PHP frameworks. Minęło już kilka lat jak tworzę własny miniFramework w PHP4 z moim autorskim miniORM. Jednym słowem wiele nocek spędzonych nad wywodami, jak przechowywać struktury bazodanowe w XML. Do tego XMLowe opakowania na formularze i walidacje. Ponadto używam między innymi takiego dodatku jako NuSOAP, który wprowadził do mojego kodu nie jeden sprawnie wykonany webserwis.



Kleje sobie własny frameworki i kleje ... a tu nagle widzę po ruchu społeczności symfony, że wzorując się na Ruby On Rails tworzą całkiem sprawny kawałek kodu, co najważniejsze ze wsparciem społeczności w promowaniu dodatków tzw. symfony plugins.


Pierwsze kroki zupełnie mnie osłupiły, bo generatory jakich się nie spodziewałem biorą górę, przynajmniej można tak jak w moim skromnym projekcie miniframework wygenerować szablonowo formularze backendowe, powiązane z generowanymi modelami w PHP oraz relacjami w danych. Nieco się tego napisałem i stwierdzam, że pokrycie testami jednostkowymi w symfony nie powala, ale ważne, że temat został opakowany w obiektowe podejście do kodowania w PHP. Cóż, czas zamrozić wersję mojego miniFramework'a i przyłączyć się do społeczności symfony.



Z początku próbowałem sam odkrywać co w plikach piszczy, ale oczywiście dokumentacja z krokami, która została opublikowana rozjaśnia wszystkie zasadnicze elementy pracy z tym narzędziem. Po kilku godzinach prób i testów, stwierdzam, że jest to kierunek w PHP, w jakim warto kontynuować rozwój ... z jakim skutkiem zobaczymy ;-)

Pozytywy wykorzystywania frameworka symfony, o których warto wspomnieć to:



  • konsekwencja nazewnictwa i budowy drzewa projektu

  • konsekwencja w utrzymaniu konfiguracji projektu

  • prostota pisania bibliotek, komponentów, pluginów a nawet partiali i slotów wymienialnych pomiędzy projektami

  • wbufdowany trub debugowania i logowanie zdarzeń o ustawialnym poziomie (filtrowaniu)

  • prostota budowania aplikacji z kategorii Web 2.0 z silnym nastawieniem na AJAX

  • społeczność oraz forumy i grupy dyskusyjne na tematy błędów występujących w CORE i pluginach





Od dziś polecam każdemu programiście PHP poznanie symfony - po co utrudniać sobie życie, przecież PHP jest i tak zakręcony ;-)