Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: batman, dodany: 06.05.2011 08:00, tagi: php

Chmura jaka jest, każdy widzi. Ot zbieranina serwerów, opakowana w nowy papierek, opatrzona nowym bilecikiem z marketingowym wierszykiem. Z jedną zasadniczą różnicą. Nie musimy się grzebać w zarządzanie inwentarzem, nie musimy martwić się o load balancing, a pojęcie “zasoby sprzętowe” zostaje zastąpione pojęciem “instancja”. Tak na prawdę my jako programiści jesteśmy w stanie zrobić wszystko sami, bez konieczności angażowania administratora do skonfigurowania serwera, postawienia firewalla i całej tej magii, od której powinniśmy trzymać się z daleka. Jeśli śledzicie mój blog, na pewno zauważyliście, iż od dłuższego czasu interesuję się tematyką cloud computing, a dokładniej Windows Azure. Ostatnio zainteresowałem się kolejnym projektem związanym z PHP w chmurze – PHP Fog.

Otrzymałem właśnie zaproszenie do beta testów i od razu założyłem konto oraz zagłębiłem się lekturę dokumentacji oraz FAQ. Udało mi się również pomęczyć na czacie Macieja Skierkowskiego, product managera w PHP Fog i jak się okazało byłego pracownika Microsoftu pracującego przy Windows Azure. Jaki ten świat jest mały :)

Do rzeczy. Czym jest PHP Fog? Jest to “chmurowa” wersja LAMP-a, najpopularniejszej platformy wśród deweloperów tworzących aplikacje internetowe. Tak na prawdę, PHP Fog działa w chmurze Amazonu (tak tak, tej samej, która zaliczyła ostatnio niezły fuck up). Najważniejszą dla nas jako programistów informacją jest to, że nie musimy robić nic ponad wykonanie komendy git push na lokalnej maszynie, tej samej, na której tworzymy aplikację. Niestety (a może i stety) PHP Fog nie daje żadnej innej możliwości uploadowania kodu do chmury. Dlatego jeśli jeszcze nie zaczęliście korzystać z gita, najwyższa pora, aby nadrobić zaległości.

W chwili obecnej PHP Fog dostarcza dwa sposoby tworzenia aplikacji – skorzystanie z gotowca (WordPress, Drupal, Joomla lub SugarCRM) lub własnoręczne tworzenie przy użyciu jednego z dostępnych w chmurze frameworków (CakePHP, Zend Framework lub CodeIgniter). Oczywiście mamy również możliwość utworzenia Cusom App bez konieczności wybierania żadnego wbudowanego frameworka.

Po wybraniu rodzaju aplikacji stajemy przed kolejnym wyborem – plan taryfowy. Do dyspozycji mamy cztery plany – pierwszy działający na zasadzie współdzielonego hostingu (darmowy przez pół roku dla jednej aplikacji), dedykowany mikro (za 29$ miesięcznie), dedykowany mały (79$ miesięcznie) oraz dedykowany duży (249$ miesięcznie). Oczywiście wszystkie plany różnią się dostępnymi zasobami, niestety poza podstawowymi informacjami, nie udało mi się odnaleźć szczegółowego opisu każdego planu.

Podobnie jak w przypadku każdej chmury, PHP Fog oferuje możliwość prostego skalowania naszej aplikacji w zależności od bieżących potrzeb. Na obecną chwilę możemy skorzystać z maksymalnie pięciu serwerów (instancji), będących w stanie obsłużyć ruch w naszej aplikacji. Oczywiście za każdą instancję musimy dodatkowo zapłacić. Jeśli będziemy potrzebować dodatkową moc obliczeniową lub przestrzeń dyskową, nie musimy się o to martwić. Jeśli zasoby PHP Fog zaczną się wyczerpywać, zawsze możemy przenieść część naszej aplikacji bezpośrednio do chmury Amazona.

Jeśli chodzi o technikalia, to w skład PHP Fog wchodzi PHP 5.3.2, Apache 2.2.14 oraz MySQL 5.1.41. Do tego dochodzi cron uruchamiany co 10 minut (nie można tego zmienić). W kwestii wysyłania maili jest drobny problem. Niestety musimy wspomóc się zewnętrznym rozwiązaniem. FAQ proponuje Gmaila działającego w ramach Google Apps. W przypadku potrzeby zmiany jakichkolwiek ustawień php.ini, możemy to zrobić w pliku .htaccess lub przy pomocy funkcji ini_set. Niestety PHP Fog nie pozwala ustawić wskazania domeny na podkatalog i musimy sobie radzić przy pomocy .htaccess.

Czy PHP Fog na dobre zagości na blogu? Okaże się po pierwszej aplikacji, umieszczonej w tej chmurze. Jeśli cena za najtańszy plan taryfowy nie byłaby taka wysoka, powiedziałbym w ciemno, że tak. Niestety dosyć spory miesięczny koszt w porównaniu z tradycyjnym hostingiem, każe się dobrze zastanowić nad tym rozwiązaniem.

Autor wpisu: batman, dodany: 04.05.2011 16:53, tagi: php

Pod koniec kwietnia pojawiła się informacja o wydaniu bety trzeciej wersji Windows Azure SDK for PHP. Ponieważ jest to wersja beta, lista funkcjonalności została już zamknięta. Jedyne zmiany jakie się mogą pojawić to bugfixy oraz drobna kosmetyka. Nowa wersja SDK przynosi szereg nowości, pozwalających na wygodniejsze korzystanie z chmury Microsoftu.

Wprowadzone zmiany to:

  • możliwość zarządzania usługą z poziomu kodu
  • logowanie oparte o mechanizm tabel
  • możliwość zapisywania sesji w tabelach oraz blobach
  • tabele zwracają obiekt DateTime, a nie string
  • szereg drobnych usprawnień

Najciekawszą zmianą jest wprowadzenie mechanizmu zarządzania usługą. Jest to o tyle interesujące, że w końcu będzie można z poziomu PHP np. modyfikować ilość instancji działających w ramach roli. Umożliwi to stworzenie panelu administracyjnego, w którym będzie można dowolne zmieniać ilość instancji, w zależności od zapotrzebowania na zasoby.

SDK można pobrać pod adresem http://phpazure.codeplex.com/releases/view/64047

Autor wpisu: Tomasz Kowalczyk, dodany: 03.05.2011 23:00, tagi: php

Sprawdzanie poprawności adresu email to częsty problem, z jakim zmagają się programiści stron internetowych [i nie tylko]. Jest to dosyć zaawansowane i nietrywialne zagadnienie, jeśli chcemy przeprowadzić całościową walidację tego typu danych. Większość artykułów, jakie w tym temacie możemy znaleźć w Internecie skupia się na sprawdzeniu, a przynajmniej próbie sprawdzenia poprawności samej struktury adresu. W [...]

Autor wpisu: Zyx, dodany: 03.05.2011 21:28, tagi: php

W ostatnich dniach czołowi twórcy ogłosili, że PHP 5.4 jest już praktycznie gotowe i będą robić wszystko, aby proces wydawniczy rozpoczął się jak najszybciej. W artykule podkreślano też, że nowa wersja znacząco zmniejsza zużycie pamięci oraz dodaje szereg innych optymalizacji. Jako że w tym samym czasie rekompilowałem moją farmę webdeveloperską, dla zabawy postanowiłem sobie sprawdzić czy i jak bardzo jest to prawda. Wyniki są lekko oszałamiające.

Autor wpisu: Tomasz Kowalczyk, dodany: 01.05.2011 17:07, tagi: jquery, javascript

Podczas tworzenia stron internetowych nawet jako programiści backendu nie uciekniemy od spraw frontendowych, a więc HTMLa, CSSa oraz JavaScriptu. Dlatego w dzisiejszym Linkdumpie po raz kolejny podejmujemy kwestię tego języka skryptowego. Fotografia: Andrew Dupont, CC-BY-SA. Linkdump: Mistrz JavaScriptus. 1. Simple JavaScript Inheritance with Backbone. Wprowadzenie do biblioteki Backbone.JS. 2. Announcing pushJS: Send javascript to any [...]

Autor wpisu: Zyx, dodany: 01.05.2011 14:29, tagi: php

Z każdą kolejną wersją programistom PHP przybywa kolejnych zabawek, których można użyć do zbudowania swojej aplikacji. Z jednej strony to dobrze, a z drugiej nawet najlepsza rzecz może zostać zabita przez nieumiejętne korzystanie z niej. Taką nierozumianą rzeczą jest mechanizm wyjątków wprowadzony w roku 2004, który niebawem został dopełniony przez podstawowy zestaw wyjątków bazowych. Po prawie siedmiu latach dla programistów wciąż jest to czarna magia, za co poniekąd należy "podziękować" nieogarnięciu autorów dokumentacji. W tym wpisie chciałbym to odkręcić i pokazać, jak budować porządną hierarchię wyjątków.

Autor wpisu: batman, dodany: 01.05.2011 14:00, tagi: php

Co pewien czas na różnych forach pojawia się tytułowe pytanie. Najczęściej jest ono połączone z kolejnym – “W jakim języku najwięcej zarobię?”. Jeśli należysz do osób zadających te lub podobne pytania, zapisz się na kursy zawodowe, przekwalifikuj się, wyjedź na zmywak. Praca programisty polega na ciągłym obserwowaniu rynku i dostosowywaniu się do jego potrzeb. Ktoś, kto tego nie potrafi, zostanie tylko klepaczem, zarabiającym poniżej średniej w zawodzie programisty i język nie ma tutaj żadnego znaczenia.

Nadal czytasz ten tekst? To dobrze. Przynajmniej wiesz czego chcesz – albo zwymyślać mnie w komentarzach, albo rzeczywiście chcesz się dowiedzieć co dalej.

Zacznijmy od samego PHP. Jesteś pewien, że znasz ten język? Wiesz, że w PHP są semafory oraz wielowątkowość? Wiesz, że w PHP możesz operować na archiwach ZIP oraz RAR, tworzyć aplikacje konsolowe oraz korzystać z prawie każdej bazy danych? Poza samym językiem istnieje jeszcze cały ekosystem dodatków i rozszerzeń do języka. Zacznijmy od frameworków. W chwili obecnej mamy na rynku pięć znanych i lubianych frameworków oraz kilkanaście (jeśli nie kilkadziesiąt) mniej znanych. Jeśli jesteś programistą PHP, powinieneś dobrze znać jeden framework. To przy jego pomocy zaoszczędzisz czas i znajdziesz lepiej płatną pracę. Oprócz frameworków mamy do dyspozycji szereg narzędzi – PHPUnit, Xdebug, narzędzia CI, Phing, dbdeploy i inne.

Jeśli z jakiegoś powodu nadal upierasz się na “co dalej”, zainteresuj się niestandardowymi zastosowaniami PHP. Czasami jest to droga donikąd, czasami okaże się, że odpowiedź na pytanie pojawi się sama. PHP zawitał na Androidzie (dzięki PHP for Android), jest również na desktopach (PHP GTK). Ludzie z Facebooka “skompilowali” go do C++. PHP zawitał również do chmur obliczeniowych. Możemy z niego korzystać w Windows Azure jak i w AWS. Co więcej, PHP ma swoją własną chmurę – PHP Fog.

Nadal nie przekonany? Niech Ci będzie. Idziemy dalej. Jeśli nadal chcesz tworzyć szeroko rozumiane strony internetowe, możesz skierować swoją uwagę w kierunku Ruby lub Pythona. Oba języki oferują podobne funkcjonalności (pewnie mnie za to zlinczujecie), a społeczność dostarcza frameworki oraz wsparcie techniczne. Poza tym programując w Ruby lub Pythonie, będziesz mógł się śmiać z ludzi od PHP.

Kolejną technologią webową, która zdaje się zdobywać popularność jest ASP.NET MVC. Jeśli na frameworkach PHP zjadłeś zęby, wówczas poznanie tej technologii to dla Ciebie bułka z masłem. Wzorzec jaki jest, każdy widzi, a język to kwestia wtórna. Poza tym poznając dowolną technologię .NET masz możliwość praktycznie bezproblemowego przejścia na zupełnie nieznane wcześniej obszary – Silverlight, czyli aplikacje na urządzenia mobilne, WPF – aplikacje desktopowe (oraz Silverlight), WCF – usługi sieciowe, Windows Azure – cloud computing oraz wiele innych.

Może się zdarzyć, że na brzmienie słowa Microsoft, ziemniaki gniją Ci w piwnicy. Zdarza się. Na szczęście i na to jest rada – Java. Tutaj też możesz tworzyć aplikacje internetowe, oprogramowanie na desktopy oraz aplikacje mobilne (Android).

A może masz już dosyć grzebania w backendzie i chciałbyś się sprawdzić jako frontendowiec? Ci lepsi też nieźle zarabiają. Na początek poznaj Photoshopa i naucz się wycinać layouty. Nie obejdzie się również bez znajomości standardów HTML/XHTML. Do tego CSS oraz JavaScript. Nie zapomnij o co najmniej jednej bibliotece w stylu jQuery. Oprócz czysto technicznych umiejętności, na pewno przyda się wiedza z zakresu UX oraz SEO.

Jak widzisz wybór jest ogromny i to tylko od Ciebie zależy, w którą stronę pójdziesz. Pamiętaj tylko o jednym. Nie kieruj się średnią wysokością pensji. Jeśli okaże się, iż dana technologia Ci nie odpowiada może być za późno na jej zmianę i będziesz tkwił w pracy, której nie cierpisz.

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.