Recenzje
Czysty kod. Podręcznik dobrego programisty
Około dwóch tygodni temu stałem się szczęśliwym posiadaczem książki „Czysty Kod” pióra Roberta C. Martina. Nie żałuję.
Parę lat temu, widząc moje podarte, zniszczone i zabazgrane przeróżnymi malunkami zeszyty, moja mama powtarzała „Kornel, jak Ty możesz pokazać coś takiego nauczycielowi?! Przecież to zeszyt najlepiej świadczy o uczniu!”. Miała rację. Niedbale prowadzony zeszyt doskonale odzwierciedlał moje „luźne” i bałaganiarskie podejście do życia. Na szczęście pod okiem mamy wyrosłem na dobrego (?) człowieka, który z dnia na dzień coraz bardziej ceni sobie porządek w każdym aspekcie życia. Jednym z takich aspektów jest programowanie. Kiedyś mój kod był okropny - zero wcięć, pochodzące z kosmicznych odpadów nazwy zmiennych i 20-parametrowe funkcje mierzone w dziesiątkach linijek kodu. Jednak z biegiem czasu mój stosunek do czystości kodu poprawiał się. Pojawiły się wcięcia, wykształciłem własny styl formatowania kodu, mogłem być z siebie dumny. Aż pewnego pięknego dnia otrzymałem od kolegi fragment kodu jego programu. Oniemiałem! Wszystko było przejrzyste, niczym w kolorowej książeczce dla małych dzieci; tworzyło spójną całość jak najlepsze powieści. a czytanie kodu przypominało bardziej słuchanie opowiadania, niż zabawę w kompilator… Oczywiście spytałem „Stary, gdzie się tego nauczyłeś?”. Po krótkiej rozmowie kupiłem tę samą książkę.
Czytając pierwsze kilka stron byłem znudzony, powtarzałem sobie w myślach „To już wiem, przecież tak robię”. Nazywanie zmiennych i funkcji było dla mnie sprawą oczywistą, ale przebijając się przez kolejne linie natknąłem się na ciekawe sformułowanie: „Czytelny kod nie wymaga komentarzy”. Pierwsza myśl - to głupie, ale szybko skonfrontowałem stwierdzenie z kodem kolegi - kurcze, to całkiem fajna sprawa.
Dobra, dość części fabularnej - czas na nieco bardziej rzeczową część recenzji…
Książka moim zdaniem świetna, jak dla mnie idealna. Ale ma jedną wadę - nie nadaje się dla początkujących. Błędy, które popełniałem (i nadal popełniam) zostały mi wytknięte perfekcyjnie, po prostu podane na tacy; jednak początkujący programista tej tacy ma prawo nie zauważyć. Ale w ten sposób „Czysty Kod” jest napisany - nie instruuje jak kod pisać należy, a pokazuje jak nie wolno tego robić.
Przykłady w książce są dobrane bardzo dobrze - dobitnie pokazują, jaką drogą iść nie należy. Autorzy kodów są (może nie wprost) wręcz wyśmiewani przez wujka Boba. Z czasem coraz częściej wychwytywałem „brzydkie” fragmenty kodu w listingach nie zagłębiając się w komentarze Martina - co dowodzi, że książka ta potrafi zmienić spojrzenie programisty na jego pracę. (Ostatnio dostrzegłem nawet niepotrzebne zawiłości kodu w którejś z książek B. Eckela - który jak dotąd był moim programistycznym guru.)
Bardzo spodobał mi się fakt, że kody zamieszczone w listingach były napisane w Javie - moim zdaniem jest to język, który łatwo może zrozumieć każdy programista — niezależnie od tego, w czym sam pisze.
Gdyby Martin zadbał choć trochę o tych, którzy dopiero zaczynają przygodę z pisaniem programów książka ta mogłaby być lekturą obowiązkową dla każdego, kto ma zamiar zetknąć się z programowaniem. A z uwagi na to pominięcie, tylko osoby, które już coś napisać potrafią mają obowiązek zapoznać się bliżej z „Czystym Kodem”. Panie i panowie, programistki i programiści - polecam!
kornellewandowski.wordpress.com Kornel Lewandowski, 2010-09-01
Gdyby głupota miała skrzydła. Najsłynniejsze katastrofy marketingu hi-tech. Wydanie drugie
Czytanie lub oglądanie filmów o cudzych porażkach, choć nie przyznajemy się do tego, zawsze sprawia nam przyjemność. Cząstka Kargula i Pawlaka z „Samych swoich” jest zakorzeniona w każdym z nas. Gdy dotykają one osób postawionych wyżej od nas, sukces gwarantowany!
Jedną z książek o tej tematyce jest Gdyby głupota miała skrzydła. Najsłynniejsze katastrofy marketingu hi-tech. I chociaż słynny cytat zna daleko więcej osób, niż wie o jego pochodzeniu (przypomnę: zdanie pochodzi z serialu Szpital na peryferiach, można sobie oglądnąć na YouTube), to tytuł można uznać za trafiony.
Autorem pracy jest Merrill „Rick” Chapman, ceniony w branży IT konsultant. Pracował w MicroPro, Ashton-Tate, IBM, Microsoft, Nowell, Sun Microsystems i wielu innych. Obecnie jest zastępcą redaktora naczelnego dwumiesięcznika „Softletter”. Nawiasem mówiąc, każda z przedstawiona tutaj firma, za wyjątkiem giganta z Redmond, skończyła marnie, jednak nie zależy to raczej od Ricka...
Mamy tu opis niewyobrażalnej wręcz głupoty Gary′ego Killdalla z Digital Research, który odmówił stworzenia dla IBM PC systemu operacyjnego, mimo, iż przekonywał go do tego nawet sam... Gates, który zrealizował potem zamówienie Big Blue stając się miliarderem. Następna głupota, czyli PC Junior od samego IBM, który zapewne wpędził w depresję wielu posiadaczy. Jednak to nie koniec błędów informatycznego giganta.
I znowu Big Blue, tym razem próba stworzenia systemu lepszego od MS-DOS-a, co kończy się kolejną porażką, a o OS/2 nikt już nie pamięta. Do „zaszczytnego grona” bohaterów tej książki dołącza jeszcze MicroPro z edytorem tekstu - WordStar, tworząc na pozór konkurencyjnego do niego WordStara 2000, co prowadzi do rozłamu w firmie i odbija się źle na użytkownikach.
Teraz czas na błąd prezesa. Mówię o Edzie Esberze z Ashton-Tate, który właściwie dobija swój dBASE, poprzez nieudolne decyzje dotyczące rozwoju swoistego ekosystemu wokół produktu. Firma zostaje przejęta przez Borland z Phillipe Kahnem na czele, który równie skutecznie uśmierca dBASE, jak i Pascala czyniąc z nich produkty na wskroś obiektowe.
Jeśli uważasz, że Intel to firma, która od zawsze produkuje doskonałe procesory, to kolejny rozdział jest dla Ciebie. Mowa w nim o słynnym błędzie dzielenia przez zero w procesorach z serii 486 i kampanii brandingowej owej firmy. Nie lepsze w skutkach są poczynania Motoroli i Google (tak, ta firma też kiedyś miała wpadki i nadal je miewa).
Pamiętasz Nowell NetWare? A wiesz, dlaczego ten system praktycznie nie liczy się już na rynku, mimo długiej dominacji? Nie? To ten rozdział również koniecznie przeczytaj.
Pewnie i Tobie, szanowny Czytelniku, nie obce jest pojęcie „cloud computing” (przetwarzanie w chmurze). Wiąże się z tą technologią wiele nadziei, jednak jej ewolucja do obecnej postaci była długa i bardzo bolesna. Wspomnij kiedyś specjaliście od SaaS (Software as a Service - Oprogramowanie jako usługa) o ASP...
Na pewno jesteś niejednokrotnie świadkiem flame wars pomiędzy zwolennikami Open Source a opatentowanego oprogramowania, utożsamianego najczęściej z Microsoftem. Nie ważne, po której jesteś stronie, ale jeśli interesujesz się tą tematyką, to zainteresuje Cię także, jak Bill wykończył Netscape′a i walczy właśnie z Linuksem i piratami komputerowymi.
Możliwe, że mimo tego opisu nie przekonałem Cię do tej książki. Nie mam nic na swoją obronę, chociaż dodam na końcu „Kup a nie pożałujesz!”
dawids28.blogspot.com Dawid Suder, 2010-09-05
Inbound Marketing. Daj się poznać w Google, serwisach społecznościowych i na blogu
"Inbound marketing" to książka, która zawładnęła moją uwagą przez kilka ostatnich dni. Najlepiej książkę zrecenzował sam Guy Kawasaki, autor poczytnego bloga How to change the word: "Jeżeli masz więcej pieniędzy niż szarych komórek, możesz koncentrować swoje wysiłki na outbound marketingu. Jeżeli jednak masz więcej szarych komórek niż pieniędzy, skup się na inbound marketingu. Przeczytaj tę książkę..."
Inbound marketing, czyli właściwie co
Nazwa dziwnie brzmiąca (mi osobiście outbound i inbound kojarzy się raczej z telemarketingiem)oznacza prowadzenie działań marketingowych w taki sposób, żeby potencjalni klienci odnajdywali cię w sieci sami. Jakie działania marketingowe zaliczamy do outbound marketingu?
1. Optymalizacja i pozycjonowanie strony internetowej (przeważnie w google)
2. Prowadzenie bloga firmowego
3. Aktywny udział w mediosferze społecznościowej (Facebook, Linkedin, Twitter, Digg, StumbleUpon, YouTube. Czym różni się outbound od inbound marketingu Autorzy książki definiują outbound marketing jako tradycyjne formy działań marketingowych, czyi emailing, mailing tradycyjny, telemarketing i cała reszta ATL oraz BTL. Outbound polega generalnie na odwracaniu uwagi ludzi, na przeszkadzaniu w ich codziennym życiu. Minusem tej formy działań jest coraz większa odporność ludzi na tradycyjnie przesyłane komunikaty marketingowe. Zamiast oglądać reklamy w TV zmieniamy kanał, zamiast czytać oferty przesłane mailem kasujemy je jako spam, zamiast czytać ulotki wrzucamy je do kosza, itd. Inbound to marketing ułatwiający klientom znaleźć naszą firmę w sieci, właśnie wtedy kiedy jej szukają. Jak piszą autorzy, "Daj się poznać w Google, serwisach społecznościowych i na blogu. Przestań marnować pieniądze na komunikaty marketingowe, które nikogo nie obchodzą! Uważasz, że to Ty szukasz klientów, ale tak naprawdę oni chcą poznać Ciebie". Musisz tylko dać im się znaleźć... Dla kogo książka Na pierwszy rzut oka, to jest po przeczytaniu 183 z 276 stron, stwierdzam że to książka dla każdego, kto zaczyna przygodę z marketingiem. Bardziej zaawansowani marketerzy, którzy mieli już do czynienia z social media, też nie będą czuli się rozczarowani, ale to przede wszystkim książka dla nowicjuszy. Jak na Amerykanów przystało napisana super przystępnym językiem i obfitująca w liczne case studies ułatwiające zrozumienie tematu. Autorzy książki Na zakończenie parę słów o autorach. Ich nazwiska niewiele mi mówiły, kiedy sięgałem po tę książkę w Empiku. Brian Halligan jest współzałożyciele firmy Hubspot oraz wykładowcą na MIT i w Harvard Business School.Dharmesh Shah to drugi ze współzałożycieli firmy Hubspot oraz autor blogu OnStartups. PS: za najlepszą rekomendację książki służy jej słowo wstępne, które napisał sam David Meerman Scott, autor "Nowych zasad marketingu i PR". Tak na marginesie, książka Halligana i Shaha została wydana przez OnePress.
2. Prowadzenie bloga firmowego
3. Aktywny udział w mediosferze społecznościowej (Facebook, Linkedin, Twitter, Digg, StumbleUpon, YouTube. Czym różni się outbound od inbound marketingu Autorzy książki definiują outbound marketing jako tradycyjne formy działań marketingowych, czyi emailing, mailing tradycyjny, telemarketing i cała reszta ATL oraz BTL. Outbound polega generalnie na odwracaniu uwagi ludzi, na przeszkadzaniu w ich codziennym życiu. Minusem tej formy działań jest coraz większa odporność ludzi na tradycyjnie przesyłane komunikaty marketingowe. Zamiast oglądać reklamy w TV zmieniamy kanał, zamiast czytać oferty przesłane mailem kasujemy je jako spam, zamiast czytać ulotki wrzucamy je do kosza, itd. Inbound to marketing ułatwiający klientom znaleźć naszą firmę w sieci, właśnie wtedy kiedy jej szukają. Jak piszą autorzy, "Daj się poznać w Google, serwisach społecznościowych i na blogu. Przestań marnować pieniądze na komunikaty marketingowe, które nikogo nie obchodzą! Uważasz, że to Ty szukasz klientów, ale tak naprawdę oni chcą poznać Ciebie". Musisz tylko dać im się znaleźć... Dla kogo książka Na pierwszy rzut oka, to jest po przeczytaniu 183 z 276 stron, stwierdzam że to książka dla każdego, kto zaczyna przygodę z marketingiem. Bardziej zaawansowani marketerzy, którzy mieli już do czynienia z social media, też nie będą czuli się rozczarowani, ale to przede wszystkim książka dla nowicjuszy. Jak na Amerykanów przystało napisana super przystępnym językiem i obfitująca w liczne case studies ułatwiające zrozumienie tematu. Autorzy książki Na zakończenie parę słów o autorach. Ich nazwiska niewiele mi mówiły, kiedy sięgałem po tę książkę w Empiku. Brian Halligan jest współzałożyciele firmy Hubspot oraz wykładowcą na MIT i w Harvard Business School.Dharmesh Shah to drugi ze współzałożycieli firmy Hubspot oraz autor blogu OnStartups. PS: za najlepszą rekomendację książki służy jej słowo wstępne, które napisał sam David Meerman Scott, autor "Nowych zasad marketingu i PR". Tak na marginesie, książka Halligana i Shaha została wydana przez OnePress.
marketingksiazki.blogspot.com Jacek Lipski, 2010-08-15
Programowanie. Od podstaw
Przyszedł czas na pierwszy sensowny tekst. Powodów, dla których tematem na niego wybrałem książkę jest kilka:
1. Brak na polskim rynku dobrej książki wprowadzającej do programowania dla początkujących, nie będącej jednocześnie "pokazem slajdów" dla uczniów gimnazjum.
2. Przedstawienie kilku prostych i dających duże możliwości języków programowania w jednej pozycji, którego, przynajmniej w książkach, też brak.
3. Bardzo dobry stosunek zawartości do ceny. Sytuacja prosta: użytkownik komputera chce (albo musi) poszerzyć swoją wiedzę. Na 5 lat studiów nie ma czasu, na profesjonalne kursy go nie stać, chce się nauczyć sam. Zadaje na jakimś forum komputerowym pytanie w stylu "jaki język programowania polecacie dla początkującego?". Jeśli temat nie zakończy się wojną na obelgi, to naszemu początkującemu zostanie zapewne polecony C/C++. Ok, świetnie! Użytkownik sięga po pierwszą lepszą książkę o C (czy C++). Czyta, a tu nagle, w pierwszym rozdziale, instrukcje warunkowe, pętle, struktury, klasy, zmienne, typy zmiennych... W tym miejscu odpadnie bardzo wielu początkujących programistów. Właśnie dlatego powstała książka Programowanie. Od podstaw, napisana przez Adriana i Kathie Kingsley-Hughes, wydana pierwotnie przez Wrox, a w Polsce - Helion. Przyznaję, że autorów nie znam, chociaż rzut oka na biogram pozwala stwierdzić, że nie mamy do czynienia z amatorami. Książka Programowanie. Od podstaw - jak sama nazwa wskazuje - jest przeznaczona dla osób, które potrafią korzystać z komputera w podstawowym stopniu (wystarczy właściwie wiedza na poziomie informatyki w gimnazjum), a chciałyby się nauczyć "tajemnej sztuki tworzenia działających programów". Opis programowania zaczyna się od przedstawienia popularnych stereotypów nt. tej dziedziny informatyki. To bardzo dobry zabieg, wyjaśnia bowiem większość nieporozumień z pisaniem programów związanych. Następnie pokrótce zostaje opisany kod maszynowy (jak działają komputery) i najpopularniejsze w informatyce systemy liczbowe, a także operatory. Chociaż wydaje się, że to drugie można spokojnie pominąć, to jednak przeczytanie kilku "nadmiarowych" stron nikomu nie zaszkodzi, a zupełnie początkującym może dać bardzo ułatwić myślenie "po programistycznemu". Dalej znajduje się skrót zasad BHP przy wykorzystywaniu komputera (odpowiednie oświetlenie, miejsce pracy itd.): "Przygotuj sobie warsztat pracy" oraz opis najlepszych - zdaniem autorów - metod i języków na początek. Mamy tutaj kompilowane: Visual Basic, Javę, C++ oraz dwa języki skryptowe: JavaScript i VBScript. Kolejna część: opis najważniejszego oprogramowania. W tym miejscu pojawia się mój najpoważniejszy (właściwie jedyny) zarzut wobec tej książki. Twórcy trzymają się kurczowo jednego edytora tekstowego - UltraEdit, który nie dość, że nie wyróżnia się wśród konkurencji, to jest płatny. Osobiście polecam darmowy, otwarty programik Notepad++, który został przystosowany do większości obecnie wykorzystywanych języków. Mamy tu więc: numerację wierszy, kolorowanie składni, wyświetlanie w kartach, podgląd działania kodu w przeglądarkach (dla HTML, CSS, JavaScript itp.), możliwość rozbudowy o pluginy oraz podstawowe opcje automatycznej edycji. Wszystko za darmo! Po około 100 stronach wstępu (to wcale nie jest dużo!) przechodzimy do właściwego pisania kodu. Czytelnik może zapoznać się ze zmiennymi, instrukcjami warunkowymi, tablicami, pętlami i sposobem wstawiania komentarzy. Dzięki licznym przykładom zawartym w każdym z rozdziałów można na bieżąco sprawdzać swoją wiedzę w praktyce, a pytania kontrolne pozwalają na szybkie monitorowanie postępów w nauce. Duża część książki poświęcona jest rozwiązywaniu błędów w niedziałających programach. Opisane zostały podstawowe pomyłki popełniane przez początkujących, jak i zaawansowanych programistów. Zdecydowana większość dotychczas napisanego przez nas kodu nie jest zorientowana na konkretny system operacyjny. Na przykładzie VBScript twórcy przedstawiają integrację programów z systemem, w tym przypadku Microsoft Windows. Całość kończy opis zarządzania, organizacją i dystrybucją naszego nowo napisanego programu. Rady te mają szczególne zastosowanie, jeśli chcemy wykorzystywać nasz produkt w celach komercyjnych. Jeśli zaś chodzi o stronę techniczną. Książka została perfekcyjnie wydana, dobrym pomysłem było zaopatrzenie jej w twardą oprawę, dzięki czemu nie rozleci się ona przy intensywnym wykorzystywaniu. Ilustracje, choć czarno-białe, są wyraźne i czytelne. Do tekstu wdarło się kilka błędów, głównie literówek, jednak nie przeszkadza to w czytaniu. Podsumowując: książka wydana przez wydawnictwo Helion jest bardzo dobrym źródłem wiedzy dla użytkowników komputerów, którzy pragną nauczyć się programowania. Świetnie opisuje podstawy tego zagadnienia i stanowi solidną podstawę do dalszej nauki. Nie można jednak oczekiwać, że po lekturze jednej książki, Czytelnik stanie się informatycznym guru, zdolnym do samodzielnego stworzenia aplikacji na miarę Adobe Photoshopa czy pakietu MS Office.
2. Przedstawienie kilku prostych i dających duże możliwości języków programowania w jednej pozycji, którego, przynajmniej w książkach, też brak.
3. Bardzo dobry stosunek zawartości do ceny. Sytuacja prosta: użytkownik komputera chce (albo musi) poszerzyć swoją wiedzę. Na 5 lat studiów nie ma czasu, na profesjonalne kursy go nie stać, chce się nauczyć sam. Zadaje na jakimś forum komputerowym pytanie w stylu "jaki język programowania polecacie dla początkującego?". Jeśli temat nie zakończy się wojną na obelgi, to naszemu początkującemu zostanie zapewne polecony C/C++. Ok, świetnie! Użytkownik sięga po pierwszą lepszą książkę o C (czy C++). Czyta, a tu nagle, w pierwszym rozdziale, instrukcje warunkowe, pętle, struktury, klasy, zmienne, typy zmiennych... W tym miejscu odpadnie bardzo wielu początkujących programistów. Właśnie dlatego powstała książka Programowanie. Od podstaw, napisana przez Adriana i Kathie Kingsley-Hughes, wydana pierwotnie przez Wrox, a w Polsce - Helion. Przyznaję, że autorów nie znam, chociaż rzut oka na biogram pozwala stwierdzić, że nie mamy do czynienia z amatorami. Książka Programowanie. Od podstaw - jak sama nazwa wskazuje - jest przeznaczona dla osób, które potrafią korzystać z komputera w podstawowym stopniu (wystarczy właściwie wiedza na poziomie informatyki w gimnazjum), a chciałyby się nauczyć "tajemnej sztuki tworzenia działających programów". Opis programowania zaczyna się od przedstawienia popularnych stereotypów nt. tej dziedziny informatyki. To bardzo dobry zabieg, wyjaśnia bowiem większość nieporozumień z pisaniem programów związanych. Następnie pokrótce zostaje opisany kod maszynowy (jak działają komputery) i najpopularniejsze w informatyce systemy liczbowe, a także operatory. Chociaż wydaje się, że to drugie można spokojnie pominąć, to jednak przeczytanie kilku "nadmiarowych" stron nikomu nie zaszkodzi, a zupełnie początkującym może dać bardzo ułatwić myślenie "po programistycznemu". Dalej znajduje się skrót zasad BHP przy wykorzystywaniu komputera (odpowiednie oświetlenie, miejsce pracy itd.): "Przygotuj sobie warsztat pracy" oraz opis najlepszych - zdaniem autorów - metod i języków na początek. Mamy tutaj kompilowane: Visual Basic, Javę, C++ oraz dwa języki skryptowe: JavaScript i VBScript. Kolejna część: opis najważniejszego oprogramowania. W tym miejscu pojawia się mój najpoważniejszy (właściwie jedyny) zarzut wobec tej książki. Twórcy trzymają się kurczowo jednego edytora tekstowego - UltraEdit, który nie dość, że nie wyróżnia się wśród konkurencji, to jest płatny. Osobiście polecam darmowy, otwarty programik Notepad++, który został przystosowany do większości obecnie wykorzystywanych języków. Mamy tu więc: numerację wierszy, kolorowanie składni, wyświetlanie w kartach, podgląd działania kodu w przeglądarkach (dla HTML, CSS, JavaScript itp.), możliwość rozbudowy o pluginy oraz podstawowe opcje automatycznej edycji. Wszystko za darmo! Po około 100 stronach wstępu (to wcale nie jest dużo!) przechodzimy do właściwego pisania kodu. Czytelnik może zapoznać się ze zmiennymi, instrukcjami warunkowymi, tablicami, pętlami i sposobem wstawiania komentarzy. Dzięki licznym przykładom zawartym w każdym z rozdziałów można na bieżąco sprawdzać swoją wiedzę w praktyce, a pytania kontrolne pozwalają na szybkie monitorowanie postępów w nauce. Duża część książki poświęcona jest rozwiązywaniu błędów w niedziałających programach. Opisane zostały podstawowe pomyłki popełniane przez początkujących, jak i zaawansowanych programistów. Zdecydowana większość dotychczas napisanego przez nas kodu nie jest zorientowana na konkretny system operacyjny. Na przykładzie VBScript twórcy przedstawiają integrację programów z systemem, w tym przypadku Microsoft Windows. Całość kończy opis zarządzania, organizacją i dystrybucją naszego nowo napisanego programu. Rady te mają szczególne zastosowanie, jeśli chcemy wykorzystywać nasz produkt w celach komercyjnych. Jeśli zaś chodzi o stronę techniczną. Książka została perfekcyjnie wydana, dobrym pomysłem było zaopatrzenie jej w twardą oprawę, dzięki czemu nie rozleci się ona przy intensywnym wykorzystywaniu. Ilustracje, choć czarno-białe, są wyraźne i czytelne. Do tekstu wdarło się kilka błędów, głównie literówek, jednak nie przeszkadza to w czytaniu. Podsumowując: książka wydana przez wydawnictwo Helion jest bardzo dobrym źródłem wiedzy dla użytkowników komputerów, którzy pragną nauczyć się programowania. Świetnie opisuje podstawy tego zagadnienia i stanowi solidną podstawę do dalszej nauki. Nie można jednak oczekiwać, że po lekturze jednej książki, Czytelnik stanie się informatycznym guru, zdolnym do samodzielnego stworzenia aplikacji na miarę Adobe Photoshopa czy pakietu MS Office.
dawids28.blogspot.com Dawid Suder, 2010-08-31
Rails. Projektowanie systemów klasy enterprise
Od dłuższego czasu patrząc najpierw na plany wydawnicze, potem na nowości - natykałem się na dość ciekawy tytył: “Rails. Projektowanie systemów klasy eneterprise”
Ciekawy, bo jestem natywnym programistą Java, który kojarzony jest właśnie z enterprise.
Mimo ciekawości powstrzymywałem się od zakupu tej książki, z kilku powodów. Po pierwsze oryginalna wersja została opublikowana w 2008 roku więc jest już dość leciwa biorąc pod uwagę szybkość rozwijania się frameworka Rails. Po drugie lada dzień wspomniany framework zostanie opublikowany w wersji 3.0, który wprowadza wiele rewolucyjnych zmian. Bałem się po prostu, że książka ta stanie się nieaktualna już w momencie zakupu.
Szczęśliwym trafem stałem się posiadaczem kupony, który musiałem zrealizować w jednej z trójmiejskich księgarni danego dnia. Będąc jednak w środku zupełnie nie byłem zachwycony zawartością półki (a raczej półeczki) opatrzonej tabliczką “Informatyka”. Większość tytułów to były podręczniki szkolne, które jak na razie jeszcze mnie nie interesują (zainteresują jak dzieciaki pójdą do szkoły :) ). Jedyną pozycją nadającą się do kupna był wymieniony wyżej tytuł. Nie mając większego wyboru kupiłem tą książkę.
Obawy co do nieważności książki były tak duże, że o mało co, nie wylądowała na półce bez czytania. No ale skoro książka już jest to chociaż pierwszy rozdział… i tak już do końca.
Moje obawy stały się w pełni niesłuszne. Książka porusza problemy “okołoprogramistyczne” i jeżeli już w niej natkniemy się na fragmenty kodu, to łatwo go zaadaptować do nowej wersji Rails. Co więcej - po przeczytaniu książka awansowała w moim osobistym rankingu z “książki do starych wersji, częściowo nieaktualne” do “książki, które powinny być pod ręką albo w pamięci”.
Lektura tej książki dostarczyła mi bardzo dużo przydatnych informacji. Co w środku:
Pierwszą rzeczą, której nauczyłem się z książki było pisanie nowych funkcjonalności i wprowadzenie ich do projektu w postaci gemów. Nie ukrywam, że jestem początkującym programistą Ruby’ego i ten rozdział przyniósł mi dużo wiedzy na ten temat. Niezamierzenie przez autora przyniósł mi także sporo wiedzy o Ruby reflection.
Kolejnym tematem w książce są bazy danych i ich optymalizacja. Poruszane jest tu na prawdę dużo ciekawych tematów, walidacja na poziomie baz danych, normalizacja, triggery, korzystanie z “widoków bazodanowych” w aplikacji. Opisane jest także dziedziczenie wielotabelarczyne, które dostarczyło całkiem nowe spojrzenie na railsy. Wiele razy spotkałem się z problemem, które zdają się błahe po przeczytaniu tego rozdziału. Myślę, że dla samego opisu dziedziczenia wielotabelarycznego warto zaopatrzyć się w tą pozycję.
Kolejne rozdziały opisują webservices i jak z nich korzystać efektywnie, oraz problemy cache’owania aplikacji.
Myślę, że książka ta powinna znaleźć się na półce każdego programisty Rails. Mimo, że na wiek książki nie wszystkie (jednak..) informacje są aktualne, jest ich na prawdę niewiele. Reszta w całości lub w części może być śmiało zastosowana w naszym projekcie, aby zwiększyć jego bezpieczeństwo lub optymalne działanie.
marioosh.5dots.pl Mariusz Nosiński