Uruchamianie serwera deweloperskiego na wirtualnej maszynie

VirtualBox ze skonfigurowanymi serwerami wirtualnymiW mojej codziennej pracy przy programowaniu aplikacji webowych mam wiele lokalnie skonfigurowanych wirtualnych hostów do obsługi poszczególnych projektów. Niestety wszystkie aplikacje działają w tym samym środowisku (wersja Apache, PHP, RoR, MySQL, itp.), a ewentualne zróżnicowanie jest problematyczne. Niedawno przeniosłem jednak projekty do wirtualnej maszyny, gdzie mogę mieć dowolną konfigurację środowiska nie zmieniając mojej lokalnej.

Co dokładnie daje mi takie rozwiązanie? Mam zainstalowany serwer linuksowy (Ubuntu w moim przypadku) na podstawowej maszynie i tam skonfigurowane wszystkie projekty. Są tam też uruchomione domyślne wersje serwerów z repozytorium. Jeżeli jednak potrzebuję sprawdzić działanie serwisu w innej wersji oprogramowania (np. PHP 6.0), robię klon wirtualnej maszyny, konfiguruję takie oprogramowanie, jakie potrzebuję i... voila, moje aplikacje uruchamiane są w nowym środowisku. Mój lokalny system jest niezmienony, a powrót do poprzedniej konfiguracji to poprostu wyłączenie nowego serwera i włączenie poprzedniego. Bardzo wygodne!

Największą zaletą tego rozwiązania jest to, że nie muszę zmieniać mojego środowiska programistycznego. Wszystkie pliki umieszczone są cały czas na mojej stacji roboczej i mogę na niej uruchamiać dowolne oprogramowanie do tworzenia kodu (np. NetBeans, RadRails czy gedit) oraz testowania (przeglądarki WWW).  I to wszystko za pomocą darmowego oprogramowania! Czy może być lepiej?

wykop.pl facebook.com twitter.com

Książka “Zend Framework od podstaw” Włodzimierza Gajdy

Zend Framework od podstaw - Włodzimierz GajdaNa co dzień pracuję przy tworzeniu i rozwijaniu aplikacji webowych działających w oparciu o przeglądarkę internetową. Programuję przede wszystkim w języku PHP z wykorzystaniem Zend Framework, ponieważ to znacznie przyspiesza pisanie często powtarzanych elementów i czynności, które są po prostu od razu gotowe do użycia w postaci odpowiednich klas. Do korzystania z akurat tego frameworka w porównaniu do innych przekonuje mnie głównie to, że jest ciągle aktywnie rozwijany oraz że stoi za nim firma Zend Technologies, czyli ta sama grupa osób, która rozwija PHP.

wykop.pl facebook.com twitter.com

PHP 5.4: wywołanie metody przy tworzeniu obiektu!

Logo PHPKrótko i na temat: najnowsze wydanie PHP 5.4 RC1 dostało nową funkcjonalność - wywoływanie metody od razu przy tworzeniu instancji obiektu. Bardzo często w kodzie pojawia się utworzenie obiektu tylko po to, żeby jedną metodę wywołać, np. pobrać dane z bazy:

  1. $dbArticles = new DbArticles;
  2. $articles = $dbArticles->fetch(array('page' => 3));

Teraz można to ubrać w jedno polecenie:

  1. $articles = (new DbArticles)->fetch(array('page' => 3));

Zmiana kosmetyczne i głównie dla "upiększenia" kodu (chociaż przy okazji nie jest tworzona zmienna), ale moim zdaniem świeta rzecz. Zdarzało mi się wcześniej nawet robić metodę statyczną do pobierania instancji, żeby mniej więcej coś takiego zasymulować, podczas gdy np. JavaScript i innę języki mają to od dawna. Teraz ma to też PHP!

wykop.pl facebook.com twitter.com

Modele i formularze Zend Framework - automatyzacja zapisu

Edycja artykułu w serwisie wołomiński.netNa codzień pracuję w Zend Framework. Praca jest bardzo przyjemna, framework jest fajnie napisany, obiektowo, elastycznie (wiele klas można rozszerzyć, jest wiele miejsc, w których domyślne klasy są gotowe do uruchomienia naszego kodu, itp.). Ale ma też wiele wad i braków, które często są rozwiązane w innych frameworkach. Twórcy ZF wiedzą o wielu z nich i obiecują, że szykowana wersja 2.0 będzie lepiej przemyślana i napisana. Ale póki nie mamy wersji 2.0 (a nawet jak będzie, nie wiadomo, czy wszystkie problemy zostaną weliminowane) trzeba sobie jakoś radzić. Jednym z problemów, które spotykam w niemal każdym projekcie, jest mechanizm zapisywania danych wysłanych przez użytkownika.

wykop.pl facebook.com twitter.com

Pole wymagane czy niewymagane

Taką ciekawą rzecz napotkałem podczas rejestracji konta na jednym z portali. Krok jest opisany jako opcjonalny, ale nie można przejść dalej bez podania części informacji.

Sign Up Form

wykop.pl facebook.com twitter.com

Mój wybór edytora do Ruby on Rails: gedit + gmate

gedit+gmate w KDECoraz częściej spotykam developerów korzystających z komputerów Appla. Ja na razie zostaję przy maszynie z Linuksem m.in. dla oszczędności. Ale też bardzo dobrze mi się tu pracuje. Widać, że to system napędzany przez społeczność programistów. Od kiedy programuję w Ruby on Rails szukałem dla siebie jakiegoś edytora. Na początku był to Netbeans w spadku po programowaniu w PHP. Ale niestety od wersji 7.0 porzucono wsparcie dla Ruby (on Rails). Przez krótki czas używałem Aptana Studio 3, który jest bardzo fajny. Ale to jednak duże IDE, które bardziej się przydaje w językach jak PHP. Rails jest łatwy, lekki i przyjemny, więc i taki sam powinien być do edytor.

Macintosh ma swój Textmate, który ma właściwie wszystko, co programista potrzebuje do wygodnej pracy (bez ciężkiego IDE). Czy istnieje coś podobnego dla Linuksa? Ostatnio natrafiłem na dodatek gmate do gedita i teraz wiem, że tak! Gedit sam w sobie jest niezłe, ale po wgraniu tego dodatku nabiera prawdziwej mocy. Gmate to tak naprawdę zestaw pluginów, które można mieć też niezależnie. Używam tylko kilku z nich, ale zdecydowanie wystarczają, a programowanie w Ruby on Rails stało się jeszcze większą przyjemnością.

wykop.pl facebook.com twitter.com

Grafika SIS 671 (Asus K50c) na Ubuntu 11.04 (nadal) działa!

Ubuntu GNOME desktop screenshot on Asus K50cMniej więcej rok temu pisałem o uruchamianiu grafiki SIS 671 pod Ubuntu 10.04. Wtedy to działało. Średnio, bo ani akceleracji, ani 3d, filmy na pełnym ekranie to porażka, a częstotliwość odświeżania zabija oczy. Ale 1380x768 jest. W 10.10 też się udało, chociaż nic nie pisałem nigdzie.

wykop.pl facebook.com twitter.com

100,3252% wykonane!

Program do wypalania płyt - InfraRecorder - jest tłumaczony na różne języki przez użytkowników. I muszę przyznać, że Polska stoi tu całkiem nieźle, bo wykonane zostało 100,3252% tłumaczenia. Brawo! Chociaż nadal gonimy tłumaczenie języka galicyjskiego...

PS. Screenshot dla przyszłych pokoleń, gdyby ktoś usunął/poprawił/zmienił:

100,3252% wykonane

wykop.pl facebook.com twitter.com

Burmistrz z QR Code na plakacie

Kandydat na burmistrza (i jednoczeście obecny burmistrz) miasta Ząbki (pow. wołomiński) umieścił na swoim plakacie wyborczym QR Code. Po wskazaniu na niego telefonem (wyposażonym aparat i odpowiednią aplikację, zazwyczaj smartphony) i rozpoznaniu kodu, w telefonie otwiera się automagicznie strona kandydata. Ciekawe wykorzystanie i otworzenie się na nowoczesność - jestem jednak ciekawy, ile osób z tego skorzysta. Szkoda też, że link nie kieruje do strony przystosowanej do telefonów komórkowych tylko do zwykłej strony. Kod jest również widoczny na stronie docelowej. Nie mam niestety zdjęć billboardów - jechałem samochodem.

Kody Quick Response można wykorzystywać na różne sposoby - m.in. do przechowywania informacji, np. kontaktowych, które można szybko wprowadzić do telefonu. Najczęściej jednak spotykam się z zakodowanymi adresami URL. Przykłady, które widziałem live to np. ławki multimedialne na Krakowskim Przedmieściu w Warszawie, które odtwarzają utwory Szopena, a po "kliknięciu" można pobrać utwór na telefon, lub rozkład jazdy w Paryżu, gdzie po kliknięciu telefonem można rozkład szybko podejrzeć na ekranie.

wykop.pl facebook.com twitter.com

Praca PHP/Zend Framework

Jest zlecenie do zrobienia. Jest już aplikacja napisana w Zend Framework (1.10) + MySQL i do niej będzie dopisywany kolejny moduł. Dużo w nim będzie też JavaScript z jQuery. Pracy jest na około 6 tygodni w dobrym tempie.

Centralna cześć składu jest w Warszawie, ale pracujemy w zaciszu własnych domów, bez wyznaczanych godzin. Komunikacja e-mail/skype. W razie potrzeby spotkanie face-to-face.

Zapraszam chętnych. Jak kogoś znacie zainteresowanego - przekażcie. Kontakt do mnie - projekty@zolnierze-hardkoru.pl

wykop.pl facebook.com twitter.com

dekoderek-jogg