Category Archives: Recenzje

JavaScript Patterns book review

lrg I have never actually studied JavaScript. It was something that came with the job, back then, when I started working as PHP programmer. I have no problem with jQuery usage and also with jQuery Ui components, but this is all. Reading JavaScript Patterns was like a breathe of a fresh air again.

The book concentrates on good practices and patterns used in proper JavaScript coding. It does not cover very much of the language internals but shows why one approach is good and why another is bad. Therefore there is also a great piece of knowledge gained in the process, what is important, every chapter is full of practical solutions. All aspects of JavaScript programming – scalar values, object creation, functions or code conventions have been described. Intentionally or not, the book is short and cohesive course of JavaScript itself.

Maybe it is just me, but all articles or papers I’ve read about JavaScript in the past was heavily linked with the browser. That is not an issue here. Although there is separate chapter describing DOM and browsers, all knowledge and examples were given without browser in mind. You can run all examples eg. in Nashorn.

It seems that mamy review is short. But that is the beauty of book I am reviewing – there is no doubt that You should read it. Despite working with JavaScript or not – it will just make You a better coder.

Advertisements

Bo ja chciałbym poczytać o Springu

spripr Spring to słowo-wytrych w świecie Javy. Pojawia się w olbrzymiej ilości projektów, w ogłoszeniach o pracę, sporo technologii ocenia się porównując je właśnie do Springa. Powiedziałbym, że czasem boję się otworzyć lodówkę…

Z książkami poświęconymi Springowi w języku polskim zawsze był problem. Jeden problem. Pojawiały się kiedy opisywana przez nie wersja Springa była już dość leciwa. Dlatego też rzecz jasna pozostawały materiały sieciowe albo wydania angielskojęzyczne. Zasadniczo nie bym miał z tym problem, ale miło jest czasem poczytać coś w rodzimym języku. Jakiś czas temu trafiła w moje ręce książka Spring w praktyce, która moim zdaniem, jest bardzo ciekawą pozycją.

Przede wszystkim początkujący otrzymują kilka pierwszych rozdziałów, które wyraźnie przedstawiają o co chodzi w tym całym frameworku, a także dostarczają gotowych przykładów w jaki sposób rozpocząć pracę ze Springiem. Bardziej obeznani z tematem programiści dostają z kolei kilkanaście rozdziałów przedstawiających interesujące możliwości wykorzystania Springa – testy integracyjne, integracja za pomocą Spring Data czy obsługa użytkowników z pomocą Spring Security. Mając do wyboru reference-docs w witrynie SpringSource, a tę zgrabną książkę, na początek zdecydowanie wybrałbym papier – to dobre miejsce by rozpocząć bardziej szczegółowe dociekania.

Wujek Bob w nienajlepszej formie

mckkod O książce “Czysty kod” słyszał chyba każdy szanujący się programista. Jej autor – Robert C. Martin jest znaną postacią świata IT. Koncentruje się zwłaszcza na propagowaniu zwinnych metodologii wytwarzania kodu oraz TDD. Powyższą książkę bardzo cenię, wracam do niej raz na jakiś czas by ponownie ‘naładować akumulatory’. Dlatego też z ciekawością sięgnąłem po kolejną pozycję tegoż autora. I niestety srodze się zawiodłem.

Tytuł Mistrz czystego kodu. Kodeks postępowania profesjonalnych programistów moim zdaniem implikuje ciąg dalszy “Czystego kodu”. Problem polega jednakże na tym, iż w przypadku tej pierwszej książki mieliśmy sporo ‘mięska’, o tyle drugi tytuł skupia się głównie na kompetencjach miękkich. Nie twierdzę, że takowe nie są programistom potrzebne, ba, powiedziałbym, że są wręcz nieodzowne w codziennej pracy. Niestety sposób w jaki autor opisuje zagadnienie nie przypadł mi do gustu.

Główną zaletą “Czystego kodu” były nie tylko opisy złych praktyk, ale też podane mniej lub bardziej konkretne porady jak się z nimi uporać. W “Mistrzu czystego kodu” takowych porad nie ma (albo też nie potrafiłem ich wyłuskać z opowieści autora). Głównie czytamy o tym jak to autor w latach 70-tych pracował w mniej lub bardziej archaicznych firmach i jakie problemy miały tam miejsce. Jednakże na końcu możemy co najwyżej dowiedzieć się, że należy mówić ‘nie’, praca po 80h na tydzień jest zła (srsly?), a strona biznesowa to debile.

Nie twierdzę, że cała książka nie zawiera ciekawych informacji, jednakże mam wrażenie, iż autor chciał opisać rzeczywistość i skonfrontować ją z ‘ideal way how to do it’. Jednak wskazówek na drogę nie dostaniemy zbyt wiele, co w moich oczach czyni tę pozycję rozczarowującą. W konfrontacji z kodem Wujek Bob wypada o wiele lepiej.

Projektowanie baz danych, ale na pewno nie okiem technika

projbd Ostatnimi czasy przy okazji jednej z kolejnych promocji w Helionie wzbogaciłem się o szereg pozycji książkowych. Jedną z nich – o testowaniu jednostkowym – już miałem okazję zrecenzować. Dziś przyszedł czas na książkę, którą koniecznie chciałem przeczytać. Niestety, nie spełniła ona w pełni moich nadziei.

Projektowanie baz danych dla każdego. Przewodnik krok po kroku zamówiłem z myślą o tym, aby po kolejnych bojach z bazami danych z pozycji JPA, móc poczytać o trochę bardziej ‘miękkich’ zagadnieniach. Spodziewałem się konkretnej technicznej wiedzy na ww. temat, informacji jak najsensowniej rozplanować tabele, gdzie (kiedy, jeśli w ogóle) używać indeksów i tym podobnych. Niestety – autor przeprowadza nas po procesie projektowania bazy danych opisując (dość moim zdaniem rozwlekle) swoją metodę tegoż projektowania. W rezultacie otrzymujemy dość sporych rozmiarów księgę, która z pewnością będzie spełnieniem marzeń każdego prawdziwego wyznawcy IT w wersji korporacyjnej.

Moim jednakże zdaniem dla przeciętnego developera pozycja ta jest absolutnie zbędna. Aspektów technologicznych nie bardzo da się w niej uświadczyć (nawet agnostycznie podchodząc do używanej technologii, spodziewałem się choćby kilku słów o wydajności). Zaś choćby rozdział o objętości 30 stron dotyczący indeksów – powtórzony materiał i tłumaczenie dlaczego imię i nazwisko nie może być kluczem głównym tabeli po prostu mnie rozbawiły. Moim zdaniem wiedzę przedstawioną w książce możnaby przedstawić w 1/3 jej objętości. z ciekawości sprawdziłem też datę pierwszego wydania zagranicznego (myśląc, że może zrobili jakiś przedruk książki sięgającej lat 80tych). Nic z tego – pierwsze wydanie – luty 2013! Moje zdziwienie treścią jest tym większe.

Podsumowując – nie polecam i odradzam. Książka nie jest warta wydanych na nią pieniędzy, zaś zawartą w niej wiedzę posiada chyba każdy średnio rozgarnięty programista, który kiedykolwiek wklepał CREATE TABLE.

O TDD okiem praktyka

tddszt TDD jest bardzo fajnym podejściem do tworzenia oprogramowania. Bardzo często jednakże początkujący mają problem z tym jak w ogóle się za testy zabrać. Proste tutoriale konkretnych frameworków testujących skupiają się na technicznym aspekcie testów, zaś totalnie pomijają odpowiedzi na fundamentalne pytania – jak testować, co testować no i jak to połączyć w kupę by pisanie testów przeplatało się płynnie z tworzeniem kodu. Na te odpowiedzi w końcu mamy odpowiedź – jest nią książka Kenta BeckaTDD. Sztuka tworzenia dobrego kodu.

Książka składa się z trzech części. W pierwszej z nich otrzymujemy od razu konkretną dawkę mięsa – na przykładzie klas przeliczających jedną walutę na drugą, krok po kroku, mamy okazję zaobserwować TDD w praktyce. Tego nie da się opisać, to trzeba zobaczyć. Jeśli po lekturze pierwszej części książki wciąż nie będziesz wiedział Czytelniku jak zabrać się za testowanie – to już chyba nikt i nic Ci nie pomoże. Przykłady są czytelne, a do tego są dość wymowne.

Druga część książki to przykład jak stworzyć własny framework testujący. Przyznam szczerze, iż po przeczytaniu pierwszego rozdziału stwierdziłem, że nie jest to wiedza, która byłaby mi do czegokolwiek potrzebna. Z czystym sumieniem zatem odpuściłem lekturę. Druga część jest dość krótka, najlepiej potraktować ją jak ciekawostkę i tyle.

W ostatniej części mamy okazję poznać najważniejsze dobre praktyki w TDD. Tutaj już nie poruszamy się wśród pytań – co testować czy jak, ale jak robić to najbardziej optymalnie, czytelnie i z sensem. Część tę zatytułowano – Wzorce dla programowania sterowanego testami – myślę, że jest to bardzo adekwatny tytuł. Mamy wzorce projektowe to i możemy mieć wzorce dla testów.

Czy książka warta jest swej ceny (w sumie niemałej jak na objętość)? Zdecydowanie tak! W sumie może i dlatego utrzymuje się w top sprzedaży Helionu od momentu jej publikacji po polsku. Pozycja ta powinna stać się obowiązkową lekturą dla zarówno początkujących programistów, jak i starych wyjadaczy. Dla jednych i drugich nie będzie to na pewno czas stracony.

Powiew książkowej świeżości

W ostatnim czasie po raz kolejny coś się ruszyło w kwestii wydawniczej w Polsce. Rodzimy Helion w końcu poszedł po rozum do głowy i zabrali się za wydawanie troszeczkę bardziej sensownych pozycji dotyczących interesującego nas poletka. Mieli już przebłyski wcześniej, ale tym razem wygląda to jak stały trend. Obecnie wydali (bądź też planują wydać) kilka ciekawych pozycji.

Mogą pojawić się głosy, że przecież:

  • głupotą jest czytać książki papierowe – jak kto woli, ja jestem fetyszystą książkowym i do przesiadki na ebooki jakoś się nie palę
  • czekanie na polskie wydania jest śmieszne, technologia staje się stara zanim przetłumaczą – może tak, może i nie. Zasadniczo oczywistym jest, że kiedy potrzebujemy wyuczyć się na szybko nowej technologii to sięgamy po oficjalną dokumentację na sieci. Jednakże stoję na stanowisku, że czym innym są tutoriale i dokumentacja, a czym innym książka. To moje zdanie i będę się go trzymał.
  • po polsku? Angielskiego nie znasz? – zasadniczo to znam, całkiem nawet znośnie. Jednakże o ile na co dzień spędzam sporo czasu wertując źródła angielskojęzyczne, chciałbym móc dla luzu (np. w pociągu) przeczytać coś w rodzimym języku. Ot tak tylko dla odmiany i rozluźnienia.

Co tam zatem Helion nam gotuje?

  • Clojure – daleko mi wciąż do programowania funkcyjnego, ale Jacek Laskowski jak zawsze robi ciekawy hype wokół zagadnienia zatem jest to rzecz warta uwagi. Dla tych, co nie chcą czekać mam inną pozycję – Język programowania Scala
  • Spring in Action – moim zdaniem najfajniejsza książka o Springu wreszcie doczekała się polskiego wydania. Prawdą jest, że dotyczy wersji 3.0, ale wciąż pozostaje świetnym wprowadzeniem do Springa jako takiego. Dla początkujących – bezcenna pozycja.
  • Wydajność Javy – tej książki nie miałem w rękach w wersji oryginalnej, zaskoczyła mnie zaś poruszana tematyka. Bardzo (moim zdaniem) ciekawe aspekty programowania, na które my – programiści – może nie do końca zwracamy uwagę. Z całą pewnością zapoznam się z nią bliżej zaś wrażeniami podzielę się na blogu.

Nie samym Helionem Polska stoi

I zasadniczo całe szczęście. Za starych dawnych czasów, kiedy to szczytem innowacyjności była “żółta biblioteka” (BUM – Biblioteka Użytkownika Mikrokomputerów) oraz książki wydawnictwa ReadMe (bodajże o Visual Basicu z kolesiem będącym skrzyżowaniem Dextera z Johnym Bravo w roli głównej) nikt za bardzo nie słyszał o czymś takim jak Helion. Wszyscy byli szczęśliwi. Do czasu.

Coś się po drodze stało i powstał Helion. Nic złego w tym nie ma – im więcej podmiotów na interesującym nas podwórku tym lepiej. Jednakże z czasem zaczęło się coś psuć. Zasadniczo półki w księgarniach zawsze były pełne tylko Helionowych biblii. Może to wina tego, iż bynajmniej nie wychowywałem się w Warszawie czy innym dużym mieście, zatem i ilość księgarni była dość ograniczona. Zamawianie książek przez internet też nie od razu zyskało popularność. I tak sobie informatycznie rosłem – w objęciach Helionu. A były kiedyś inne wydawnictwa – i całkiem niedawno sobie o nich przypomniałem.

Czekam ponownie na kupon rabatowy z Helionu 🙂 Mam nadzieję, że “kryzys” nie spowoduje jakiś ograniczeń w tej dziedzinie. Rok temu trochę $$ wydałem przy okazji rabatowych zakupów, w tym roku również nie miałbym nic przeciw. Jednakże czekając na atrakcyjne zniżki i rabaty zapuściłem się głębiej w czeluście internetu, próbując namierzyć po nazwach znane mi kiedyś wydawnictwa. Jednym z nich było wydawnictwo Mikom, które wydawało fajniutkie książeczki (miałem jedną bodajże o Norton Commanderze i o Corel Draw). Wrzucamy nazwę w wujka Googla i co się okazuje? Nasze wydawnictwo działa w ramach PWNu! No to już bardzo fajnie. Przeglądam listę dostępnych pozycji, trochę tam tego jest, przyznaję. Moje najnowsze zakupy to:

Modelowanie systemów informatycznych w języku UML 2.1
Podstawy architektury i technologii usług XML sieci WEB
Oracle PL/SQL. Kieszonkowy słownik języka

Takie oto pozycje odebrałem na poczcie dzień przed świętami. Najbardziej cieszy mnie druga pozycja – całościowe opisanie usług sieciowych – co z czym i dlaczego. Takiej książki w Helionie nie ma. Podobnie pozycja o UMLu pozytywnie mnie zaskoczyła – mamy i ćwiczenia, pytanka, a nie tylko suche opisanie wszystkich potencjalnych diagramów i tyle. Książeczkę o Oraclu wziąłem głównie dlatego, aby nie płacić za przesyłkę 🙂 choć ostatnio coraz bardziej interesuję się tym RDBMSem (poczytuję sobie w drodze do pracy tę oto pozycję). Pewnie niedługo zainstaluję go na twardzielu w wersji Express, coby pobawić się nim troszeczkę bardziej.

Dlaczego powstał ten wpis? By przypomnieć, że i w Polsce wydawane są czasem książki, które są na tyle dobre, że nie trzeba szukać ich odpowiedników w Apressie, Manningu czy O’Reillym. Wystarczy troszeczkę poszukać. Ostatnio zaczyna się również coś dziać w bliskim Javowym podwórku – wspominałem już o książce dotyczącej Hibernate. Wydawnictwo PowerNet też ruszyło temat GWT, zobaczymy co wydadzą niedługo. Warto też zajrzeć na strony WNT – to o wiele bardziej poważne publikacje, niekoniecznie w pełni praktyczne, ale z pewnością ciekawe. Świetnie też radzi sobie PJWSTK – ze swoją serią wydawniczą przeznaczoną głównie dla studentów. Jest z czego wybierać.