Prosta implementacja DDD
lip/121

Jest to kontynuacja poprzedniego wpisu dot. Domain-Driven Design. Chciałbym opisać prostą i eksperymentalną implementację DDD, którą stworzyłem w swoim czasie wolnym. Nie jest to kompletny system do zarządzania logiką biznesową, jest to jednak mały zaczątek, który może być podstawą bądź inspiracją dla innych rozwiązań.
Chałupniczy DDD, czyli jak wydzielić logikę biznesową
lip/124

Są pewne teorie, które zdobywają sporą popularność w świecie programowania, a nie są tak naprawdę niczym nowym. Przykładowo wzorce projektowe to przecież zunifikowany zbiór rozwiązań pewnych problemów. Podobnie jest z DDD, czyli Domain-Driven Design, który zbiera wszystko to co już wszyscy wiemy lub powinniśmy wiedzieć nota bene poprawnego projektowania aplikacji i raczy nas tą wiedzą z zaskakującą świeżością. Z drugiej strony, może te zasady wydają się tak oczywiste po ich poznaniu, że do głowy wpada pomysł iż DDD wydaje się po prostu odtwórcze? Podejście DDD to oczywiście sporo teorii, słownictwa i zasad, ale w gruncie rzeczy sprawa jest relatywnie prosta. Zaraz ją wspólnie ugryziemy.
Microsoft znowu bawi się zapałkami – nadchodzi Windows 8
maj/123

Przed Microsoftem kolejne trudne wyzwanie. Przyglądając się poziomowi jakości ich produktów w ostatnim dziesięcioleciu, kolejny Windows powinien być komercyjną porażką. Co drugi wydanie ich systemu było przyjmowane bardzo chłodno, stało się tak i z Windows ME, i z Windows Vista. Ten ostatni, dla przykładu, został przewyższony przez swojego następcę o 250% w ilości sprzedanych kopii w pierwszych dniach sprzedaży. Microsoft jednak bez zadyszki po sukcesie „siódemki” stara się postawić na swoim i umieścić swój nowy system operacyjny w nowo powstałych rynkach zbytu. Nie zrobi tego za pomocą marketingu, ani nie załatwią tego za nich handlowcy wysyłający pudełka na Antarktydę. Katalizatorem zmian stał się rynek mobilny, a Windows 8 wypłynie na nowe wody dzięki specjalistom od UX.
PHPCon 2010 – społeczność PHP ma się bardzo dobrze
cze/1011
Gdy znalazłem informację o PHPCon 2010, pierwszej polskiej konferencji, której tematem przewodnim miał być PHP pomyślałem, że piekło tym razem naprawdę zamarzło. Od dłuższego czasu obserwowałem trend organizowania spotkań wśród społeczności Ruby, Pythona czy ostatnio JavaScript. Spotkań organizowanych przede wszystkim za granicą. Nie ukrywam, że jestem wielkim fanem tego typu inicjatyw i często na parę godzin w tygodniu zapominam się i odpływam przeglądając nagrania z prelekcji programistycznych. Zaryzykuję stwierdzenie, że nic nie jest lepszym nośnikiem wiedzy niż po brzegi upakowany informacjami wykład jednego ze specjalistów z branży. A nie ma nic lepszego niż słuchanie takiego wykładu bez krawatu, z rozpiętym ostatnim guzikiem koszuli, z zimnym piwkiem w ręku. Naprawdę nie ma nic lepszego.
Autoboxing?
maj/1015
Każdy wie jak fantastycznie korzysta się z dobrze zaprojektowanych interfejsów klas. Z narzędzi i modeli, których logicznie zbudowane metody i atrybuty pozwalają na programowanie w sposób, w jaki traktujemy obiekty ze świata rzeczywistego. To są zupełne aksjomaty, nie ma o czym dyskutować. Jeśli chodzi o PHP, to największą bolączką jego OOP jest paradoksalnie jego brak. Może inaczej. Niekonsekwencja w stosowaniu tego paradygmatu. Mamy typy prymitywne, przykładowo „string” oraz możliwość budowania klas, które mogą być rzutowane na ten typ. Wykorzystujemy albo typ prymitywny albo klasę; jedno albo drugie. Na dodatek rzutowanie istnieje tylko dla typów „string” i tablic. To wszystko wygląda jak klejone na poczekaniu, bez większego pomyślunku rozwiązanie. Mały bałagan, ale to może się niedługo zmienić.
(V)iew, przygłupi kolega każdego MC
kwi/1028
Gdzieś tam w świecie przed firewallem, w wybranej aplikacji stworzonej przez wybranego programistę istnieje znany wszystkim kontroler. Ten sam kontroler, który właśnie przed chwilą otrzymał od dyspozytora pałeczkę przy przetwarzaniu żądania. Pobudzony i gotowy do działania ma na wyciągnięcie ręki półkę z modelami. Jest pewnego rodzaju pośrednikiem, tytułowany często strażnikiem cnoty widoku. Z modelów wyciąga tylko to co dla widoku najodpowiedniejsze. Gdy kontroler jest na służbie, wspomniany współpracownik niezdolny do samodzielnego myślenia może czuć się naprawdę bezpiecznie. Kontroler mógłby być więc niezwykle dumnym i bardzo szczęśliwym komponentem, chodzić z podniesioną głową wśród wzorca MVC. Niestety jest jeden mały szkopuł. W kontrolerze widać już oznaki wypalenia zawodowego. Nie ma co wieszać psów na biednym komponencie, że leniwy, że niedostosowany do wymagań wolnego rynku. To szefostwo zrzuca na niego coraz więcej obowiązków i zatrudnia oprócz niego jako widok, głąba. W swojej pracy codziennej nasz kontroler jest zasypywany przez programistę stosem zmieniających się kilka razy dziennie zamówień na coraz różniejsze porcje danych dla niegrzeszącego bystrością widoku. Tutaj z 5 newsów zrobiło się 7, tam trzeba pobrać dodatkowo pole z tabeli, a jeszcze gdzieś indziej użytkownik będzie chciał poznać aktualną datę. To tylko szczyt góry lodowej. A mogłem zostać marynarzem, powiedziałby kontroler.
HipHop, a implementacja Zend
lut/103

HipHop to twór wciąż dość nowy i wiele kwestii związanych z jego działaniem cały czas jest niejasnych. Najważniejsza kwestia, która wymaga wytłumaczenia to różnice i ograniczenia względem implementacji Zend.
Symfony 2.0, czyli premiera roku!
lut/105
Bez zbędnego wstępu: Symfony 2.0 zostało zaprezentowane wczoraj wieczorem w Paryżu na Symfony Live i jest dostępne tutaj! Najpotężniejszy framework dla PHP i jego następca. Premiera roku!
Wolałbym nazwę HyperPHP albo cokolwiek
lut/109
Po buńczucznym i hip hip hurra wpisie o modelu implementacji serwisów internetowych, przyszedł czas na projekt Facebooka związany z PHP, czyli HipHop. Międzynarodowa społeczność żyje podekscytowana tym projektem już od ponad tygodnia, więc nie mogłem go sobie ot tak pominąć. Od nagłówków z nazwą HipHop, nazwą głupią nadmienię, RSS puchnął mi w zastraszającym tempie, a ja z tej listy wybiorę jeden post i szczególnie mu się przyjrzę. Chciałbym zająć się kwestiami poruszonymi w poście Terrego Chaya i rzucić okiem na tematy luźno związane z projektem.
Client-side o muerte
sty/1026

Dzisiaj chciałbym zaryzykować parę kontrowersyjnych stwierdzeń n.t. budowania aplikacji internetowych. Pamiętacie mój poprzedni wpis o pluginizowaniu aplikacji PHP? Po jego napisaniu uznałem, że stworzę malutki framework korzystający z dobrodziejstw idei stojących za HMVC. Tak dla przykładu i dla własnej chorej rozrywki. Mam aktualnie dużo pracy, a co za tym idzie mój umysł pracuje na wystarczająco wysokich obrotach, by poradzić sobie w ekspresowym tempie i wolnym czasie rozwiązać problemy dotyczące architektur oprogramowania. Na tyle szybkim tempie, by nie zamęczyć się dodatkowo swym hobby i wypuścić kilka ciekawych wpisów. Przez ostatnie tygodnie powstawały szkice, klasy i interfejsy napisane w ulubionym PHP. Powstawały dopóki nie przystanąłem na chwilę i nie spojrzałem na ostatnie lata ewolucji aplikacji internetowych, dystansując się do swojego doświadczenia. I wiecie co? Patrzyłem na web-developing, który musi zostać zduszony w postaci w której utkwił. Musimy zrobić krok do przodu. Client-side albo śmierć.