Autor: Martin Fowler

Martin Fowler to niezależny konsultant, od ponad dziesięciu lat stosujący obiekty do rozwiązania ważnych problemów biznesowych. Wśród jego klientów można wymienić Chryslera, Citibank, brytyjską Narodową Służbę Zdrowia, Andersen Consulting i Netscape Communications. Ponadto Fowler regularnie wypowiada się na temat obiektów, języka UML oraz wzorców projektowych. Jest autorem nagradzanych książek, na przykład takich, jak Analysis Patterns, UML w kropelce, Architektura systemów zarządzania przedsiębiorstwem. Wzorce projektowe.

1
Ebook

NoSQL. Kompendium wiedzy

Martin Fowler, Pramod J. Sadalage

Poznaj fascynujący świat baz danych NoSQL! Bazy danych NoSQL są coraz popularniejsze. Pozwalają na przechowywanie gigantycznych ilości danych, a przy tym zachowują cały czas najwyższą wydajność. Sprawdzają się doskonale wszędzie tam, gdzie konieczne są wysoka skalowalność systemu, elastyczne przechowywanie często zmieniających się danych lub inne specyficzne zastosowania. Jeżeli jesteś zagorzałym użytkownikiem relacyjnych baz danych SQL, jeżeli słyszałeś o bazach NoSQL i chcesz je poznać, trafiłeś na doskonałą książkę! Stanowi ona doskonałe wprowadzenie do świata baz danych NoSQL. Na własnej skórze przekonasz się, w jakich zastosowaniach sprawdzą się one doskonale, a w jakich lepiej ich nie używać. W kolejnych rozdziałach poznasz stosowane modele danych oraz dowiesz się, co to jest map-reduce. Część druga książki została poświęcona konkretnym implementacjom - zapoznasz się z bazami klucz-wartość, bazami dokumentów oraz bazami grafowymi. Sprawdź, które najlepiej rozwiążą Twoje problemy! Sięgnij po tę książkę i śmiało wkrocz w świat baz danych NoSQL! Omawiane w książce zagadnienia: Określenie, dla których zastosowań bazy NoSQL będą (albo nie będą) odpowiednie. Zrozumienie architektonicznych kompromisów związanych z wdrożeniem NoSQL. Wykorzystanie NoSQL do uproszczenia procesu tworzenia oprogramowania i uniknięcia problemu mapowania pomiędzy strukturami w pamięci a bazą relacyjną. Porównanie przodujących systemów NoSQL. Omówienie języków zapytań: CQL i Cypher. Zarządzanie wydajnością, niezawodnością, dostępnością i zdolnością do odzyskiwania po awarii. Wykorzystanie NoSQL w środowiskach zwinnych. Wykorzystanie NoSQL do wyszukiwania danych, zarządzania metadanymi, analizy tekstu, sieci społecznościowych, analizy danych i usług finansowych. Bardziej efektywne kosztowo zarządzanie dużymi danymi dzięki wykorzystaniu klastrów. Jak teoria CAP wpływa na sposób myślenia o spójności, dostępności i wydajności. Równoległe przetwarzanie danych w klastrze za pomocą map-reduce. Dlaczego NoSQL to termin bez jasno zdefiniowanego znaczenia. Zmień sposób myślenia na nierelacyjny!

2
Ebook

Refaktoryzacja. Ulepszanie struktury istniejącego kodu

Martin Fowler, Kent Beck, John Brant, William Opdyke, ...

Pierwszy podręcznik tak gruntownie i przejrzyście wyjaśniający najlepsze praktyki oraz techniki refaktoryzacji! Jak identyfikować błędy i problemy z istniejącym kodem? Jak poprawiać spójność, czytelność i wydajność kodu? Jak przekształcać kod bez ryzyka wprowadzania błędów? Jak skutecznie wykorzystywać przekształcenia refaktoryzacyjne? Jak ryzykowne jest grzebanie w kodzie - wszyscy doskonale wiemy. Im głębiej sięgasz… tym więcej pojawia się nowych problemów i jeszcze więcej rzeczy wymaga zmian. A nieustanne "poprawianie" działającego kodu może w końcu doprowadzić do powstania trudno wykrywalnych, krytycznych błędów. Jednak co zrobić, jeśli "odziedziczymy" nieefektywny, trudny w utrzymaniu i rozszerzaniu program? Jak poprawić jego strukturalną spójność i wydajność? Wypracowywane latami przez najlepszych ekspertów techniki refaktoryzacji, czyli ulepszania projektu istniejącego kodu, są dziś sprawdzonymi rozwiązaniami, zapewniającymi jego trwałą czytelność i możliwość efektywnego rozwoju. Opracowane głównie na potrzeby frameworków, są obecnie narzędziem wykorzystywanym dla całego procesu produkcji oprogramowania. Jednak dla wielu programistów proces refaktoryzacji pozostaje wiedzą tajemną, bo jak dotąd żaden podręcznik nie przedstawił używanych przy tym technik w praktycznej, łatwej do wykorzystania formie. A przecież przeprowadzona błędnie lub w zbytnim pośpiechu refaktoryzacja zamiast ulepszenia kodu może kosztować nas dodatkowe dni lub całe tygodnie stresującej pracy nad programem. Oto podręcznik, w którym słynny mentor i programistyczny guru Martin Fowler wraz z kilkoma innymi znanymi programistami podejmują się pierwszego tak gruntownego i przejrzystego objaśnienia technik związanych ze skutecznym procesem refaktoryzacji. Książka ta przedstawia zasady i najlepsze praktyki refaktoryzacyjne oraz zawiera wskazówki na temat tego, kiedy i jak zacząć ingerować w kod. Znajdziesz tu wyczerpujący katalog siedemdziesięciu przekształceń refaktoryzacyjnych. Każdemu z nich towarzyszą wskazówki dotyczące możliwości wykorzystania, instrukcja opisująca kolejne kroki oraz przykład. Ten podręcznik pokaże Ci zatem, jak przekształcać kod w sposób kontrolowany i efektywny, jak refaktoryzować go bez wprowadzania błędów, konsekwentnie ulepszając jego strukturę, oraz jak skutecznie go testować. Choć przedstawione w książce przykłady zostały napisane w języku Java, idee te znajdą zastosowanie w każdym innym języku obiektowym. Ponadto w opisach części przekształceń dodano uwagi związane z ich stosowaniem w innych językach. W książce tej znajdziesz między innymi opis takich zagadnień, jak: zasady refaktoryzacji identyfikowanie błędów i problemów z kodem testowanie katalog przekształceń refaktoryzacyjnych konstrukcja metod przenoszenie składowych pomiędzy obiektami organizacja danych upraszczanie wyrażeń warunkowych i wywołań metod praca z hierarchią dziedziczenia duże przekształcenia refaktoryzacja i reużywalność narzędzia refaktoryzacyjne Poznaj sprawdzone techniki ulepszania istniejącego kodu!

3
Ebook

Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II

Martin Fowler

Refaktoryzacja ma na celu ulepszanie istniejącego kodu. Poprawia jego strukturę, czytelność i wydajność. Prowadzona poprawnie, cechuje się zdyscyplinowaniem metody, systematycznością i konsekwencją w działaniu, a także ciągłym minimalizowaniem ryzyka wprowadzenia błędów. Niemniej refaktoryzacja jest ryzykowna. Polega na wprowadzaniu zmian do działającego kodu, co może doprowadzić do powstania trudno wykrywalnych błędów. Ryzyko wzrasta, jeśli refaktoryzacja jest przeprowadzana w sposób nieprzemyślany. Okazuje się, że transformacja kodu, która ma doprowadzić do jego ulepszenia, to spore wyzwanie. Ta książka jest zaktualizowanym wydaniem praktycznego przewodnika po refaktoryzacji. Choć jest przeznaczona dla profesjonalnego programisty, znalazło się tu zrozumiałe wprowadzenie do tego zagadnienia z opisem celów, technik i możliwości refaktoryzacji. Wspomniano także o problemach związanych z refaktoryzacją. Natomiast zasadniczą część książki stanowi znakomicie uzupełniony i wzbogacony katalog przekształceń refaktoryzacyjnych. Do zilustrowania poszczególnych technik refaktoryzacji autorzy wybrali język JavaScript, jednak kod został przedstawiony w taki sposób, aby prezentowane koncepcje bez trudu zrozumiał każdy programista. W tej książce między innymi: solidne wprowadzenie do refaktoryzacji przekształcenia refaktoryzacyjne: zasady, sposoby, testy enkapsulacja w refaktoryzacji upraszczanie wyrażeń oraz porządkowanie danych, zmiennych i pól refaktoryzacja klas i API Refaktoryzacja: czytelny kod, wydajne działanie i brak błędów!   »» Spis wszystkich odwołań do stron w książce