Książkowe de ja vu

Właśnie przeżyłem de ja vu czytając Beginning Databases with PostgreSQL: From Novice to Professional, Second Edition (Beginning from Novice to Professional) autorstwa Neil Matthew i Richard Stones. Książka jest utrzymana na dobrym poziomie. Wszelkie zagadnienia związane z bazą postrgreSQL wyjaśnia bardzo przejrzyście. Dostępny jest kod oraz jego opis. Nie brakuje także porad samych autorów co do stylu oraz tworzenia baz danych. Dla osoby zaczynającej przygodę z postrgreSQL pozycja jak najbardziej obowiązkowa. Niemniej czytając ją miałem uczucie, że zawarte w niej treści już gdzieś widziałem i czytałem. Moje przeczucie mnie nie zawiodło, książka jest utrzymana w tym samym stylu oraz układzie treści jak inna pozycja literaturowa obu ww. autorów a mianowicie Bazy danych i MySql od podstaw która jest dostępna w polskiej wersji językowej. Do zapoznania się z jej treścią również zachęcam. Czytelnicy zaczynający przygodę z bazami danych zarówno z MySQL jak i postgreSQL nie powinni być zawiedzeni czytając obie wymienione wyżej pozycje literaturowe a Ci bardziej zaawansowani zawsze mogą się czegoś dodatkowego dowiedzieć i pogłębić swoją wiedzę. W tym drugim przypadku jednak mogą to być tylko pewne momenty w których myśli się o swoich aplikacjach w stylu: „faktycznie tak można to było napisać”, „to można było by zastosować” etc. Niemniej myślę, że książka ta powinna znaleźne się na półce domowej biblioteczki specjalisty jako dobre dopełnienie elektronicznych manuali, internetowych for oraz blogów specjalistów.

Trochę o abstrakcjach

O abstrakcjach a dokładniej wzorcu dotyczącym abstrakcji występującym w programowaniu obiektowym napisano już wiele. Tak więc aby już się nie powtarzać i opisywać rzeczy powszechnie znanych pragnę jedynie podać trzy interesujące pozycje: dwie książkowe i jedną elektroniczną. Pierwsza pozycja dotyczy książki pt. „PHP5. Obiekty, wzorce, narzędzia” autorstwa Matta Zandstra. Nie jest to pozycja zbyt łatwa i przyjemna niemniej stanowi ona pierwszą książkę o programowaniu obiektowym w php5 i znajdujące się tam wytłumaczenie wzorca abstrakcji jest jak najbardziej dostępnie wytłumaczone dla czytelnika. Drugą pozycję literaturową, drukowaną stanowi już kultowa publikacja pt. „Wzorce projektowe” która wydana została przez tzw. Bandę Czworga w skład której wchodzą tak znani programiści jak: Erich Gamma , Richard Helm , Ralph Johnson oraz John Vlissides. Ostatnim źródłem z którego można czerpać informację na temat wzorca abstrakcji, ale i nie tylko, jest blog SourceMaking. Na blogu tym opisano, oprócz powszechnie stosowanych wzorców projektowych, także zagadnienia dotyczące: anty-wzorców, refaktoryzacji oraz modelowania za pomocą języka UML. Zapraszam gorąco do lektury.

License BSD for choseen projects

Copyright (c) 2009-2010, proFind Marcin Mirończuk PL.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of proFind Marcin Mirończuk nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS „AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Kilka ciekawych rozwiązań…

Szperając trochę po sieci i starając odnaleźć zagubioną niegdyś myśl dotyczącą pakowania aplikacji w jeden plik natknąłem się na ciekawy blog Macieja Wilguckiego. Przedstawia on w jasny i sposób w jaki sposób używać phara i przestrzeni nazw. Zaciekawionych tą tematyką odsyłam bezpośrednio na wspomnianego bloga do sekcji poświęconej Phar&Namespace. W dalszej kolejności mogę zarekomendować blog Rumena Vermeerscha na którym opisał podstawową konfigurację i integrację Doctrine z ZFem. Zainteresowanych odsyłam do artykułu umieszczonego bezpośrednio na jego stronie Integracja ZF i Doctrine. O integracji tych dwóch rozwiązań można poczytać także tutaj ZF+Doctrine. Trzymając się treści phpowych dla zainteresowanych tematyką web serwisów mogę polecić framework wso2 którego dokumentacja znajduje się na stronie http://wso2.com/products/web-services-framework/php/#tabs. Dla osób chcących poczytać w rodzimym języku na temat zastosowania tego frameworka polecam stronę http://www.pageneration.com/profile/php. Natomiast dla pasjonatów tematyki sieci semantycznych polecam blog Semantic Web. Sieć nowej generacji.

Małe po-kodowanie

Ostatnio zamknięty został nowy projekt dla Moto Garage Adam Szekalski. Projekt był już dość złożony edycja wszytskich treści we front-endzie poprzez panel administratora z beckendu. Tak więc klasyczny CMS został postawiony. Wszystko zwyczajowo w ZF 1.10. Pozostaje teraz tylko to wszystko wypozycjonować w przeglądarkach. Stronę można oglądać pod adresem Moto Garage.

Spamerstwo

Niestety musiałem puki co wyłączyć możliwość komentarzy oraz włączyć logowanie w celu ich umieszczania (jeszcze nie skonfigurowane). Zostało to spowodowane przychodzącym spamem i robotami które próbowały wklejać na stronę niechciane treści.  Niestety niektórzy nie potrafią korzystać w rozsądny sposób z możliwości oferowanych przez internet i wszelkimi sposobami próbują negatywnie oddziaływać na te medium i społeczność ją tworzącą poprzez próbę wpychania niechcianych i niepotrzebnych wiadomości.