Testowanie ZF

Blog i wpis warty polecenia – jak pisać unit testy i testować ZFa. Lektura warta uwagi i prześledzenia – „Automated Testing Using Zend Framework, Part 1

MongoDB słów parę kilka

Przy projektowaniu baz danych w szczególności dla większych i bardziej złożonych projektów, przydają się narzędzia graficzne czy to do projektowania bazy czy też administracji. Aktualnie dla MongoDB są dostępne cztery narzędzia do administrowania i zarządzania tą bazą danych, są nimi:

– konsola MongoDB – odpowiednik konsol postgreSQL czy MySql

– GitHub – służy do wizualizacji i zarządzania klastrami

– futon4mongo

– phpMoAdmin – coś na wzór popularnego phpMyAdmin

Bliższe szczegóły i linki do ww. projektów można znaleźć w poście A Couple of Nice GUI Tools for MongoDB.

Dodatkowo, szperając po sieci odnalazłem wzmiankę na temat obiektowego mapowania dokumentów do MongoDB przez Doctrine 2.0. Zainteresowanych odsyłam na stronę bloga Doctrine MongoDB Object Document Mapper.

mongoDB czyli nie relacyjna baza danych

Ciekawych rozwiązań projektowym pośrednim między ang. key/value stores a relacyjnymi bazami danych jest projekt mongoDB. Natknąłem się na niego czytając post „ORMs and relational databases: powerful tools or dumb ideas?”. Jak zawsze zachęcam do zapoznania się z materiałami na temat tego rozwiązania. Bliższe szczegóły na temat projektu i jego zastosowania można znaleźć na stronie producenta mongoDB jak i szperając po wyszukiwarkach, polecam „marchewkę„. Poniżej podaję też namiary na parę interesujących   wpisów, artykułów na temat mongoDB:

MongoDB – Ruch NoSQL przyszłością baz danych?

Zarządzanie danymi w bazie MongoDB

MongoMapper Indy.rb Presentation

Postscriptum osobiście mażę o obiektowej bazie danych dla PHPa aby można było porzucić różnego rodzaju  ORMy i składować swoje modele biznesowe prosto do bazy danych bez mapowania, tak jak to mogą robić programiści w JAVIE lub C# w bazie db4o. Póki co jednak zostają ORMy lub mosty między PHPem a JAVa myślę jednak, że to jeszcze nie to…

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.

The Spring

Jeśli jakaś osoba chce trochę odpocząć od PHPowania w ZFie, Symfony, Caku etc. to polecam przesiadkę na Javovy Spring Framework na temat którego można poczytać na stronie Spring-MVC-step-by-step oraz w bibliotece programistycznych artykułów dostarczanej przez IBM.

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.

Licencja BSD do wybranych projektów

Na potrzeby niektórych projektów została utworzona licencja BSD. Szczegóły dotyczące licencji Open Source Initiative OSI – The BSD License:Licensing można znaleźć na stronie domowej http://www.opensource.org/licenses/bsd-license.php Czytaj dalej

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.

Weka

Zacząłem kompletować w końcu oprogramowanie do badań. Po przeglądzie rynku oprogramowania do badań dokumentów tekstowych wychodzi na to że postawię na Wekę. Jeśli ktoś jest zainteresowany to oprogramowanie można ciągnąc ze strony http://www.cs.waikato.ac.nz/~ml/index.html. W grę wchodziły jeszcze takie pakiety jak SAS Text Miner i Statistica Text Miner niestety aktualnie uczelnia nie posiada do nich licencji więc postawiłem na open sorce. Weka to projekt to przeprowadzania projektów z zakresu eksploracji danych napisana w ramach grantu na jednej z uczelni w Australii (po więcej szczegółów odsyłam na wyżej podaną stronę).  Wokół niej zgromadzone jest dość duże community oraz sam program posiada dobrą dokumentację nie wspominając już o książkach na jego temat. Nic tylko korzystać w szczególności, że całość napisana jest w Javie i można tworzyć własne pluginy. Niestety polski rynek programów do analizy tekstów rodzimego języka nie wygląda jeszcze różowo chodź istnieje możliwość, że jeszcze za mało go przeszukałem. W następnych notatkach umieszczę parę ciekawych linków do stron osób i projektów z zakresu analizy tekstów a zebrało się tego trochę i w Blogrollu raczej wszystko się nie pomieści.

Prototypowanie

Prototypownie, inaczej nazywane tworzeniem makiet programu np. w postaci strony internetowej jest ważnym elementem w etapie projektowania oprogramowania. Kilka ciekawych aspektów dotyczących tego zagadnienia opisuje Bartłomiej Dymecki na http://www.internetmaker.pl/artykul/5974,1,kurs_usability_prototypowanie.html. Prototypownie aplikacji AIR można znaleźć na blogu Pawła Zakrzewskiego http://www.pawelzakrzewski.pl/archives/277