TDD w praktyce. Niezawodny kod w języku Python Harry Percival
- Autor:
- Harry Percival
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 5.2/6 Opinie: 6
- Stron:
- 448
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis
książki
:
TDD w praktyce. Niezawodny kod w języku Python
„Ta książka to znacznie więcej niż tylko wprowadzenie do programowania sterowanego testami w Pythonie. To jest pełny kurs przedstawiający najlepsze praktyki, od początku do końca na przykładzie nowoczesnego programowania aplikacji sieciowej w Pythonie.”
— Kenneth Reitz, członek Python Software Foundation
Twórz niezawodne aplikacje w języku Python!
Każdy programista marzy o pracy z przejrzystym kodem, który został w całości pokryty testami. Niestety, rzeczywistość bywa często daleka od ideału. A może da się go jednak osiągnąć? Odpowiedzią na to pytanie jest TDD (ang. Test-Driven Development), czyli wytwarzanie oprogramowania sterowane testami. Jak zacząć stosować tę technikę? Na to i wiele innych pytań odpowiada ta książka.
Zacznij w praktyce realizować koncepcje płynące z TDD w połączeniu z językiem Python. Na początku dowiedz się, jak skonfigurować Django za pomocą testu funkcjonalnego, oraz skorzystaj z modułu unittest. Zdobądź też bezcenną wiedzę na temat testowania widoków, szablonów i adresów URL oraz naucz się testować układy strony i style. Sprawdź, jak zapewnić ciągłą integrację z wykorzystaniem systemu Jenkins oraz najlepszych praktyk w tworzeniu testowalnego kodu. Książka ta jest doskonałą lekturą dla wszystkich programistów tworzących aplikacje internetowe w języku Python. Twój kod może być naprawdę łatwy w utrzymaniu!
- Poznaj sposób pracy wykorzystujący podejście TDD, między innymi cykl test jednostkowy i tworzenie kodu, a później refaktoryzacja.
- Używaj testów jednostkowych dla klas i funkcji oraz testów funkcjonalnych pozwalających na symulowanie działań podejmowanych przez użytkownika w przeglądarce internetowej.
- Dowiedz się kiedy i jak używać obiektów imitacji, a także poznaj wady i zalety testów odizolowanych i zintegrowanych.
- Przetestuj i automatyzuj wdrożenie za pomocą serwera prowizorycznego.
- Zastosuj testy względem przygotowanych przez firmy trzecie wtyczek, które integrujesz z witryną.
- Używaj środowiska ciągłej integracji w celu automatycznego wykonywania testów.
Poznaj techniki TDD w połączeniu z Pythonem!
Wybrane bestsellery
-
Promocja
Python zyskuje coraz większą popularność i jest wykorzystywany do tworzenia bardzo różnych aplikacji, jednak projektowanie dużych, niezawodnych systemów w tym języku bywa wyzwaniem. Rozwijanie złożonych systemów o wysokiej jakości wymaga zastosowania odpowiedniej architektury. Trudno w Pythonie stosować takie wysokopoziomowe wzorce projektowe jak architektura sześciokątna, architektura oparta na zdarzeniach czy wzorce zalecane dla projektowania dziedzinowego (DDD). Sytuacji nie poprawia również to, że klasyczna literatura dotycząca metod zarządzania złożonością aplikacji zawiera przykłady kodu napisanego w Javie lub C#. Programiści Pythona często więc uznają takie książki za mało przydatne w swojej pracy.- Druk
- PDF + ePub + Mobi pkt
(44,85 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł (-40%) -
Promocja
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Pytho-
- ePub + Mobi pkt
(177,65 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł (-15%) -
-
Bestseller Nowość Promocja
Dzięki tej książce opanujesz podstawowe koncepcje związane z użyciem LLM. Poznasz unikatowe cechy i mocne strony kilku najważniejszych modeli (w tym GPT, Gemini, Falcon). Następnie dowiesz się, w jaki sposób LangChain, lekki framework Pythona, pozwala na projektowanie inteligentnych agentów do przetwarzania danych o nieuporządkowanej strukturze. Znajdziesz tu również informacje dotyczące dużych modeli podstawowych, które wykraczają poza obsługę języka i potrafią wykonywać różne zadania związane na przykład z grafiką i dźwiękiem. Na koniec zgłębisz zagadnienia dotyczące ryzyka związanego z LLM, a także poznasz techniki uniemożliwiania tym modelom potencjalnie szkodliwych działań w aplikacji.- Druk
- PDF + ePub + Mobi pkt
(53,40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł (-40%) -
Bestseller Nowość Promocja
Na szczęście dzięki tej książce poradzisz sobie z takimi wyzwaniami! Najpierw zapoznasz się z matematycznymi podstawami algorytmów ML i NLP. Zaznajomisz się również z ogólnymi technikami uczenia maszynowego i dowiesz się, w jakim stopniu dotyczą one dużych modeli językowych. Kolejnym zagadnieniem będzie przetwarzanie danych tekstowych, w tym metody przygotowywania tekstu do analizy, po czym przyswoisz zasady klasyfikowania tekstu. Ponadto poznasz zaawansowane aspekty teorii, projektowania i stosowania LLM, wreszcie ― przyszłe trendy w NLP. Aby zdobyć praktyczne umiejętności, będziesz ćwiczyć na przykładach rzeczywistych zagadnień biznesowych i rozwiązań NLP.- Druk
- PDF + ePub + Mobi pkt
(53,40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł (-40%) -
Nowość Promocja
Dzięki tej książce nauczysz się tworzyć własne akcje i przepływy pracy wielokrotnego użytku, aby udostępniać bloki konstrukcyjne społeczności lub wewnątrz organizacji. Znajdziesz tu ponad trzydzieści receptur, które sprawią, że nabierzesz biegłości w tworzeniu i debugowaniu przepływów pracy GitHuba za pomocą Visual Studio Code, a także w korzystaniu z narzędzia GitHub Copilot. Zaprezentowane rozwiązania pomogą Ci zrozumieć, jak w praktyce zastosować techniki automatyzacji wdrażania kodu. Obejmują one tworzenie i testowanie oprogramowania i bezpieczne wdrażanie na platformach takich jak Azure, Amazon Web Services czy Google Cloud.- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł (-40%) -
Nowość Promocja
Inteligencja obliczeniowa w machine learning (ML) to zbiór zaawansowanych technik, za sprawą których komputery mogą rozwiązywać złożone problemy, ucząc się z danych, zamiast polegać na regułach programowania. Dzięki algorytmom genetycznym, inspirowanym naturalną ewolucją, można optymalizować procesy w różnych branżach – od inżynierii, przez biotechnologię, aż po logistykę – bez potrzeby tworzenia dużych baz danych. Algorytmy te pozwalają na rozwiązywanie problemów takich jak dopasowywanie parametrów w symulacjach czy optymalizacja tras, co ma szerokie zastosowanie w codziennych wyzwaniach biznesowych.- Videokurs pkt
(39,90 zł najniższa cena z 30 dni)
134.55 zł
299.00 zł (-55%) -
Bestseller Nowość Promocja
To piąte, zaktualizowane i uzupełnione wydanie bestsellerowego przewodnika po tworzeniu aplikacji internetowych za pomocą Django. Pokazano tu proces planowania i budowy atrakcyjnych aplikacji, rozwiązywania typowych problemów i implementacji najlepszych praktyk programistycznych. Podczas tworzenia aplikacji, takich jak blog, serwis społecznościowy, aplikacja e-commerce i platforma e-learningowa, zapoznasz się z szerokim zakresem zagadnień związanych z tworzeniem złożonych aplikacji internetowych w Pythonie. Krok po kroku, dzięki szczegółowym planom projektów, dowiesz się, jakie korzyści niesie ze sobą praca z Django 5, i zrozumiesz zasady tworzenia aplikacji przy użyciu tego frameworka.- Druk
- PDF + ePub + Mobi pkt
(89,40 zł najniższa cena z 30 dni)
89.40 zł
149.00 zł (-40%) -
Nowość Promocja
Angular jest idealnym wyborem, jeśli chcesz pracować nad dużymi, korporacyjnymi aplikacjami, które wymagają skalowalności i dobrej struktury. Jego architektura, oparta na komponentach i TypeScripcie, ma wielu zwolenników. Także firmy poszukują specjalistów, którzy potrafią go dobrze wykorzystać. Jednak opanowanie podstawowej składni nie wystarczy - kluczowe jest zrozumienie zaawansowanych koncepcji, takich jak dependency injection czy RxJS. Ważne jest pogłębianie wiedzy w tym zakresie, jeśli chcesz przechodzić na wyższe stanowiska, takie jak mid (regular) czy senior developer.- Videokurs pkt
(39,90 zł najniższa cena z 30 dni)
64.07 zł
149.00 zł (-57%) -
Bestseller Nowość Promocja
Dzięki tej praktycznej książce przekonasz się, że w Excelu możesz przeprowadzić dogłębną analizę danych i wyciągnąć z nich cenną wiedzę. Wystarczy, że skorzystasz z najnowszych funkcji i narzędzi Excela. W poradniku pokazano, jak za pomocą Power Query budować przepływy pracy porządkujące dane i jak projektować w skoroszycie relacyjne modele danych przy użyciu Power Pivot. Ponadto odkryjesz nowe możliwości przeprowadzania analiz, w tym dynamiczne funkcje tablicowe i pozyskiwanie wartościowych informacji z wykorzystaniem sztucznej inteligencji. Dowiesz się również, jak za sprawą integracji z Pythonem zautomatyzować analizę danych i budować raporty.- Druk
- PDF + ePub + Mobi pkt
(40,20 zł najniższa cena z 30 dni)
40.20 zł
67.00 zł (-40%) -
Nowość Promocja
To trzecie wydanie przejrzystego przewodnika, który ułatwi Ci naukę programowania w Pythonie. Zaczniesz od przyswojenia podstawowych pojęć programistycznych, aby wkrótce płynnie posługiwać się funkcjami i strukturami danych. Zdobędziesz też umiejętność programowania zorientowanego obiektowo. W tym zaktualizowanym wydaniu znajdziesz również wskazówki, dzięki którym zastosujesz duże modele językowe, takie jak ChatGPT, do nauki programowania. Dowiesz się, jak tworzyć skuteczne zapytania dla tych modeli, a także jak testować i debugować kod Pythona. Dzięki ćwiczeniom, zamieszczonym w każdym rozdziale, będziesz stopniowo szlifować umiejętności programistyczne, a zasugerowane w książce strategie pomogą Ci w unikaniu frustrujących błędów — w ten sposób szybko nauczysz się tworzyć poprawny kod.- Druk
- PDF + ePub + Mobi pkt
(44,94 zł najniższa cena z 30 dni)
44.94 zł
74.90 zł (-40%) -
Nowość Promocja
Web scraping umożliwia automatyczne zbieranie i analizowanie danych z internetu. Pozwala oszczędzać czas, automatyzując rutynowe zadania i umożliwiając analizę danych w czasie rzeczywistym. Jest szeroko stosowany w biznesie – od monitorowania cen konkurencji w e-commerce, przez analizę rynkową w finansach, aż po badania naukowe. Ta cenna w dobie big data umiejętność wspiera codzienną pracę analityków, programistów i przedsiębiorców. Według raportów liczba wyszukiwań związanych z web scrapingiem wzrosła o 30 procent w ciągu ostatnich kilku lat. To pokazuje, jak ważne dla firm jest efektywne pozyskiwanie danych z internetu. Szczególnie efektywnym wyborem jest web scraping w języku Python, który oferuje liczne narzędzia do scrapowania stron internetowych, między innymi Beautiful Soup i Scrapy. Zaletą wyboru Pythona jest także możliwość wizualizacji danych za pomocą matplotlib, co ułatwia ich interpretację. Ponadto technologia webscrapingu stale się rozwija, integrując się z narzędziami do przetwarzania języka naturalnego (NLP) i uczenia maszynowego, co zwiększa jej potencjał w analizie danych. Niezależnie od branży webscraping w Pythonie pozwala maksymalnie wykorzystać potencjał informacji dostępnych w sieci. To inwestycja w umiejętność, która będzie się rozwijać wraz z postępem technologicznym.- Videokurs pkt
(39,90 zł najniższa cena z 30 dni)
89.54 zł
199.00 zł (-55%) -
Programowanie w Pythonie przestaje być tajemnicą, gdy masz w rękach właściwy przewodnik. Ta wyjątkowa publikacja to prawdziwa skarbnica wiedzy praktycznej, która całkowicie zmienia sposób nauki programowania. W przeciwieństwie do tradycyjnych podręczników, które zasypują czytelnika suchą teorią, ta książka wprowadza innowacyjne podejście - uczenie
- PDF + ePub + Mobi pkt
O autorze książki
Harry Percival niegdyś był konsultantem specjalizującym się w zarządzaniu, później brał udział w pracach nad arkuszem kalkulacyjnym Resolver One. Pracował w PythonAnywhere LLP i promował metodykę TDD na konferencjach, warsztatach i innych wydarzeniach na całym świecie. Teraz pracuje w MADE.com.
Zobacz pozostałe książki z serii
-
Nowość Promocja
W trzecim wydaniu tej wyróżnionej nagrodą książki jej autorzy Jeff Gothelf i Josh Seiden pomagają skupić się w projektowaniu na wrażeniach związanych z użytkowaniem produktu, a nie materiałach, które mają być dostarczone. Poznasz metody integrujące projektowanie wrażeń użytkownika, odkrywanie produktu, metody zwinne i zarządzanie produktami. Nauczysz się kierować projektowaniem w krótkich, powtarzalnych cyklach, pozwalających ocenić, jakie działania są najlepsze dla firmy i użytkownika. Lean UX dla zespołów Agile pokazuje, jak dokonać tej zmiany na lepsze.- Druk
- PDF + ePub + Mobi pkt
(40,20 zł najniższa cena z 30 dni)
40.20 zł
67.00 zł (-40%) -
Bestseller Nowość Promocja
W tej książce znajdziesz przejrzystą, praktyczną i kompletną ścieżkę, która doprowadzi Twoją firmę do analitycznej doskonałości! Dzięki lekturze zdobędziesz wiedzę potrzebną do skutecznego wykorzystywania informacji w realizacji celów biznesowych. Jeśli dostrzegasz ograniczenia tradycyjnych metod interpretacji danych, docenisz opisaną tu dynamiczną i realistyczną strategię zwiększania możliwości analitycznych. Dowiesz się, jak wprowadzić inteligentną automatyzację i nowoczesną sztuczną inteligencję, co umożliwi podejmowanie lepszych decyzji w Twoim zespole.- Druk
- PDF + ePub + Mobi pkt
(47,40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł (-40%) -
Nowość Promocja
Lektura tej książki pozwoli Ci przyswoić kluczowe koncepcje i opanować dobre praktyki, które warto stosować podczas tworzenia kodu. Poznasz zarówno klasyczne wzorce projektowe, jak i te opracowane specjalnie z myślą o systemach wbudowanych. Znajdziesz tu rozdziały poświęcone nowoczesnym technologiom, takim jak systemy współpracujące z internetem rzeczy i czujniki sieciowe, a także omówienie zagadnień związanych z silnikami. Dokładnie zbadasz tematykę debugowania, strategii zarządzania danymi ― i wiele więcej! Dowiesz się, jak budować architekturę urządzenia z uwzględnieniem procesora, a nie systemu operacyjnego. Zapoznasz się również z technikami rozwiązywania problemów sprzętowych, modyfikowania projektów i definiowania wymagań produkcyjnych.- Druk
- PDF + ePub + Mobi pkt
(53,40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł (-40%) -
Bestseller Nowość Promocja
Z tą książką opanujesz podstawy generatywnej AI i nauczysz się skutecznie stosować jej modele w praktyce. Szczególną uwagę poświęcono integracji modeli językowych i dyfuzyjnych, co często bywa wyzwaniem, zwłaszcza w zakresie stabilności uzyskanych rozwiązań. Autorzy w jasny sposób wyjaśniają, jak za sprawą inżynierii promptów zapewnić niezawodność działania sztucznej inteligencji w środowiskach produkcyjnych. Co więcej, zaproponowane zasady są skonstruowane tak, aby bez trudu przetrwały próbę czasu i mogły być używane również dla przyszłych modeli!- Druk
- PDF + ePub + Mobi pkt
(59,40 zł najniższa cena z 30 dni)
59.40 zł
99.00 zł (-40%) -
Bestseller Nowość Promocja
Ta praktyczna książka ułatwi Ci optymalne używanie narzędzi AI na wszystkich etapach tworzenia oprogramowania. Niezależnie od Twojego doświadczenia nauczysz się korzystać z szerokiej gamy rozwiązań: od dużych modeli językowych ogólnego przeznaczenia (ChatGPT, Gemini i Claude) po systemy przeznaczone do kodowania (GitHub Copilot, Tabnine, Cursor i Amazon CodeWhisperer). Poznasz również metodykę programowania modułowego, która efektywnie współgra z technikami pisania promptów do generowania kodu. W książce znajdziesz także najlepsze sposoby zastosowania uniwersalnych modeli LLM w nauce języka programowania, wyjaśnianiu kodu lub przekładaniu go na inny język programowania.- Druk
- PDF + ePub + Mobi pkt
Programowanie wspomagane sztuczną inteligencją. Lepsze planowanie, kodowanie, testowanie i wdrażanie
(47,40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł (-40%) -
Nowość Promocja
Nawet jeśli nie darzysz królowej nauk płomiennym uczuciem, dzięki temu kompleksowemu opracowaniu z łatwością poradzisz sobie z jej lepszym poznaniem. Nie znajdziesz tu skomplikowanych teorii naukowych, tylko przystępnie podane koncepcje matematyczne niezbędne do rozwoju w dziedzinie sztucznej inteligencji, w szczególności do praktycznego stosowania najnowocześniejszych modeli. Poznasz takie zagadnienia jak regresja, sieci neuronowe, sieci konwolucyjne, optymalizacja, prawdopodobieństwo, procesy Markowa, równania różniczkowe i wiele innych w ekskluzywnym kontekście sztucznej inteligencji. Książkę docenią pasjonaci nowych technologii, twórcy aplikacji, inżynierowie i analitycy danych, a także matematycy i naukowcy.- Druk
- PDF + ePub + Mobi pkt
(77,40 zł najniższa cena z 30 dni)
77.40 zł
129.00 zł (-40%) -
Promocja
Jako menedżer działu inżynierii oprogramowania wiesz już wszystko. Uznajesz, że czas pomyśleć o wyższym stanowisku. Tak, chcesz spróbować swoich sił jako dyrektor! Zacznij jednak od chwili namysłu. Jeśli uważnie przyjrzysz się karierom świeżo upieczonych dyrektorów, zauważysz, że wielu z nich rozpoczyna pracę na tym stanowisku z entuzjazmem tylko po to, by w ciągu 18 miesięcy odejść sfrustrowanym. Jak nie podzielić ich losu?- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł (-40%) -
Promocja
Dzięki tej książce przyswoisz różne techniki, które pomogą Ci stać się bardziej produktywnym analitykiem danych. Najpierw zapoznasz się z tematami związanymi z rozumieniem danych i umiejętnościami miękkimi, które okazują się konieczne w pracy dobrego danologa. Dopiero potem skupisz się na kluczowych aspektach uczenia maszynowego. W ten sposób stopniowo przejdziesz ścieżkę od przeciętnego kandydata do wyjątkowego specjalisty data science. Umiejętności opisane w tym przewodniku przez wiele lat były rozpoznawane, katalogowane, analizowane i stosowane do generowania wartości i szkolenia danologów w różnych firmach i branżach.- Druk
- PDF + ePub + Mobi pkt
(47,40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł (-40%) -
Bestseller Promocja
Microsoft konsekwentnie doskonali się w tworzeniu wyjątkowych technologii i Azure jest tego świetnym przykładem. Pozwala nie tylko na rozwijanie natywnych aplikacji chmurowych, ale również na efektywną migrację starszych systemów, wdrażanie rozwiązań hybrydowych i modernizację istniejącego oprogramowania pod kątem skalowalności. Skorzystanie z pełni możliwości Azure wymaga jednak dobrego zrozumienia koncepcji przetwarzania w chmurze.- Druk
- PDF + ePub + Mobi pkt
(71,40 zł najniższa cena z 30 dni)
71.40 zł
119.00 zł (-40%) -
Bestseller Promocja
Dzięki temu praktycznemu przewodnikowi profesjonaliści zajmujący się danymi dobrze zrozumieją wady i zalety poszczególnych rozwiązań. Omówiono tu typowe zagadnienia dotyczące architektur danych, w tym ich rozwój i możliwości. Żadna architektura nie jest na tyle uniwersalna, by być odpowiednia w każdej sytuacji, dlatego w książce znajdziesz rzetelne porównanie cech poszczególnych architektur. Dowiesz się, jakie kompromisy towarzyszą każdej z nich, niezależnie od popularności. W ten sposób o wiele łatwiej przyjdzie Ci wybór rozwiązania, które najlepiej odpowiada Twoim potrzebom.- Druk
- PDF + ePub + Mobi pkt
(47,40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł (-40%)
Ebooka "TDD w praktyce. Niezawodny kod w języku Python" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Booxs i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Recenzje książki: TDD w praktyce. Niezawodny kod w języku Python (1)
Poniższe recenzje mogły powstać po przekazaniu recenzentowi darmowego egzemplarza poszczególnych utworów bądź innej zachęty do jej napisania np. zapłaty.
-
Recenzja: Programista Magazyn Rafał KociszRecenzja dotyczy produktu: ksiązka drukowanaCzy recenzja była pomocna:
Każdy chyba programista jest w stanie wskazać takie momenty w swojej karierze, które diametralnie rozszerzyły horyzonty postrzegania inżynierii oprogramowania - coś w rodzaju kamieni milowych na ścieżce samorozwoju; błogie chwile oświecenia, o których pisał Erie Steven Raymond w swoim słynnym eseju How To Become A Hacker. Kiedy myślę o tego rodzaju momentach w mojej karierze, to przychodzą mi na myśl następujące wydarzenia: pierwsza samodzielna i w pełni świadoma implementacja listy jedno-kierunkowej (o rety, ile lat temu to było...), zrozumienie idei code-as-data w języku Lisp, pierwsze w pełni świadome zastosowanie techniki Test Driven Development.
Z wymienionych powyżej trzech wydarzeń to związane z zastosowaniem TDD miało niewątpliwie najsilniejszy wpływ na ukształtowaniem mojego bieżącego programstycznego„ja". Podejrzewam, że doświadczenie to współdzieli ze mną cała rzesza programistów na całym świecie.
Z techniką TDD wiąże się jednakże pewien problem, który świetnie obrazuje znany cytat: „w teorii nie ma różnicy pomiędzy teorią a praktyką; w praktyce - jest". W przypadku TDD jest to znamienne: prosty zestaw przypadków użycia tej techniki, które Kent Beck opisuje w swojej znakomitej książce TDD. Sztuka tworzenia dobrego kodu (którą recenzowałem jakiś czas temu na łamach niniejszej kolumny), nijak się ma do stosowania ich w złożonych, wielowarstwowych projektach łączących w sobie szereg technologii. Pomimo tego, że TDD używane jest od kilkunastu lat, cały czas brakuje sprawdzonych, specjalistycznych materiałów omawiających stosowanie tej techniki przy tworzeniu specyficznych rozwiązań. W niniejszej odsłonie Klubu Dobrej Książki chciałbym przedstawić tytuł, który w pewnym zakresie stanowi odpowiedź na tę potrzebę.
TDD w praktyce. Niezawodny kod w języku Python, bohater artykułu, który właśnie czytasz, ma nieco mylący tytuł. Owszem - pozycja ta traktuje o praktycznych zastosowaniach TDD i pokazuje, jak pisać niezawodny kod wjęzyku autorstwa Guido van RossunYa, jednakże ponadto omawia tak szerokie spektrum zagadnień, iż po zakończeniu lektury wspomniany tytuł wydaje się być przeraźliwie uproszczony.
Książka podzielona jest na trzy części: Podstawy TDD oraz Django, Praktyczne aspekty tworzenia rozwiązań webowych, Zagadnienia zaawansowane.
W pierwszej części książki autor wprowadza czytelnika w świat podstawowych pojęć związanych zTDD, przeprowadzając go przez proces budowania w pełni funkcjonalnej aplikacji webowej (w oparciu o Django: najpopularniejszy pythonowy framework do tworzenia webaplikacji) z uwzględnieniem jej testowania na wszystkich etapach pracy. W części tej, oprócz informacji na temat tworzenia testów jednostkowych, czytelnik zapozna się z tematyką budowania testów funkcjonalnych za pomocą narzędzia Selenium i zrozumie, na czym polega różnica pomiędzy tymi dwoma rodzajami testów. Autor omawia też cykl pracy powiązany z metodyką TDD (test jednostkowy - tworzenie kodu), rolę refaktoryzacji w tej metodyce oraz powiązany z nią sposób pracy z narzędziem kontroli wersji (na przykładzie Git).
W drugiej części książki autor skupia się na tych tematach związanych z tworzeniem aplikacji webowych, które wiążą się z jej dostarczaniem (ang. shipping). Mowa tutaj o takich aspektach jak: obsługa statycznych plików, walidacja danych z formularzy, obsługa JavaScriptu, umieszczenie aplikacji na serwerze produkcyjnym.
Przy omawianiu każdego z wymienionych wyżej zagadnień autor rozważa, w jaki sposób można zastosować TDD, tak aby pomóc sobie w pracy.
W trzeciej, ostatniej (i najprawdopodobniej najważniejszej) części książki autor analizuje zagadnienia związane z integracją webapliakcji z zewnętrznymi systemami oraz z ich testowaniem. Czytelnik zapozna się tutaj z takimi pojęciami jak imitacje, debugowanie po stronie serwera, izolacja i„słuchanie" testów oraz ciągła integracja.
Lektura TDD w praktyce... - patrząc z mojej prywatnej perspektywy - była wspaniałą podróżą. Z jednej strony przez mało znaną mi krainę budowania aplikacji webowych, z drugiej zaś - przez meandry praktycznych i niebanalnych technik stosowania programowania sterowanego testami. Podsumowując zawartość książki autorstwa Harrego J.W. Percival'a, nie mogę powstrzymać się przed zacytowaniem słów Kenneth'a Reitz'a (jednego z członków Python Software Foundation):
Ta książka to znacznie więcej niż tylko wprowadzenie do programowania sterowanego testami w języku Python. Jest to pełny, kompleksowy kurs przedstawiający najlepsze praktyki tworzenia nowoczesnej aplikacji webowej.
Cóż mogę dodać... Lektura godna polecenia!
Szczegóły książki
- Dane producenta
- » Dane producenta:
- Tytuł oryginału:
- Test-Driven Development with Python
- Tłumaczenie:
- Robert Górczyński
- ISBN Książki drukowanej:
- 978-83-283-1377-4, 9788328313774
- Data wydania książki drukowanej :
- 2015-10-20
- ISBN Ebooka:
- 978-83-283-1380-4, 9788328313804
- Data wydania ebooka :
-
2015-10-21
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Format:
- 168x237
- Numer z katalogu:
- 35746
- druk na żądanie!
- dnż
- Rozmiar pliku Pdf:
- 7.5MB
- Rozmiar pliku ePub:
- 23.6MB
- Rozmiar pliku Mobi:
- 48.5MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Helion SA
ul. Kościuszki 1C
41-100 Gliwice
e-mail: gpsr@helion.pl
Spis treści książki
- Słuchaj Testing Goat! Nie rób nic, dopóki nie przygotujesz testu (29)
- Rozpoczęcie pracy z frameworkiem Django (32)
- Utworzenie repozytorium Git (33)
- Użycie testu funkcjonalnego do przygotowania minimalnej aplikacji (37)
- Moduł unittest ze standardowej biblioteki Pythona (40)
- Ukryte oczekiwanie (42)
- Przekazanie plików do repozytorium (42)
- Nasza pierwsza aplikacja Django i test jednostkowy (46)
- Testy jednostkowe i różnice dzielące je od testów funkcjonalnych (46)
- Testy jednostkowe w Django (47)
- MVC w Django, adresy URL i funkcje widoku (48)
- Wreszcie zaczynamy tworzyć kod aplikacji (49)
- urls.py (51)
- Testy jednostkowe widoku (53)
- Cykl test jednostkowy - tworzenie kodu (54)
- Programowanie przypomina wyciąganie wiadrem wody ze studni (58)
- Użycie Selenium do testowania interakcji użytkownika (59)
- Reguła "nie testuj stałych" i szablony na ratunek (62)
- Refaktoryzacja w celu użycia szablonu (62)
- Refaktoryzacja (65)
- Nieco więcej o stronie głównej (67)
- Przypomnienie - proces TDD (68)
- Od formularza sieciowego do wykonania żądania POST (73)
- Przetwarzanie żądania POST w serwerze (76)
- Przekazanie zmiennych Pythona do wygenerowania w szablonie (77)
- Do trzech razy sztuka, a później refaktoryzacja (81)
- Django ORM i nasz pierwszy model (82)
- Pierwsza migracja bazy danych (84)
- Zdumiewająco duży postęp w teście (85)
- Nowa kolumna oznacza nową migrację (85)
- Zapis w bazie danych informacji z żądania POST (86)
- Przekierowanie po wykonaniu żądania POST (89)
- Poszczególne testy powinny testować pojedyncze rzeczy (89)
- Wygenerowanie elementów w szablonie (90)
- Utworzenie produkcyjnej bazy danych za pomocą polecenia migrate (92)
- Gwarancja izolacji testu w testach funkcjonalnych (97)
- Wykonanie tylko testów jednostkowych (100)
- Stawiaj na małe projekty (101)
- YAGNI! (102)
- REST (102)
- Implementacja nowego projektu za pomocą TDD (103)
- Iteracja w kierunku nowego projektu (105)
- Testowanie widoków, szablonów i adresów URL za pomocą testu klienta Django (107)
- Nowa klasa testowa (107)
- Nowy adres URL (108)
- Nowa funkcja widoku (108)
- Oddzielny szablon do wyświetlania list (109)
- Kolejny adres URL i widok pozwalający na dodanie elementów listy (112)
- Klasa testowa dla operacji tworzenia nowej listy (112)
- Adres URL i widok przeznaczony do tworzenia nowej listy (113)
- Usunięcie zbędnego kodu i dalsze testy (114)
- Wskazanie formularzy w nowym adresie URL (115)
- Dostosowanie modeli (116)
- Związek klucza zewnętrznego (117)
- Dostosowanie reszty świata do naszych nowych modeli (118)
- Każda lista powinna mieć własny adres URL (120)
- Przechwytywanie parametrów z adresów URL (121)
- Dostosowanie new_list do nowego świata (122)
- Jeszcze jeden widok pozwalający na dodanie elementu do istniejącej listy (123)
- Uwaga na żarłoczne wyrażenia regularne! (124)
- Ostatni nowy adres URL (124)
- Ostatni nowy widok (125)
- Jak można użyć adresu URL w formularzu? (126)
- Ostatnia refaktoryzacja za pomocą polecenia include (128)
- Jaką funkcjonalność należy testować w przypadku układu i stylów? (133)
- Upiększanie za pomocą frameworka CSS (136)
- Dziedziczenie szablonu w Django (137)
- Integracja z frameworkiem Bootstrap (139)
- Wiersze i kolumny (139)
- Pliki statyczne w Django (140)
- Zaczynamy używać klasy StaticLiveServerCase (141)
- Użycie komponentów Bootstrap do poprawy wyglądu witryny (142)
- Jumbotron (142)
- Ogromne pola danych wejściowych (143)
- Nadanie stylu tabeli (143)
- Użycie własnych arkuszy stylów CSS (143)
- Co zostało zatuszowane - polecenie collectstatic i inne katalogi statyczne (144)
- Kilka tematów, które nie zostały omówione (147)
- Techniki TDD i niebezpieczeństwa związane z wdrożeniem (150)
- Jak zwykle zaczynamy od testu (151)
- Pobranie nazwy domeny (153)
- Ręczne przygotowanie serwera do hostingu naszej witryny (153)
- Wybór hostingu dla witryny (154)
- Uruchomienie serwera (154)
- Konto użytkownika, SSH i uprawnienia (155)
- Instalacja Nginx (155)
- Konfiguracja domen dla witryn prowizorycznej i rzeczywistej (156)
- Użycie testów funkcjonalnych do potwierdzenia działania domeny i serwera Nginx (157)
- Ręczne wdrożenie kodu (157)
- Dostosowanie położenia bazy danych (158)
- Utworzenie virtualenv (159)
- Prosta konfiguracja Nginx (162)
- Utworzenie bazy danych za pomocą polecenia migrate (164)
- Wdrożenie w środowisku produkcyjnym (164)
- Użycie Gunicorn (164)
- Użycie Nginx do obsługi plików statycznych (165)
- Użycie gniazd systemu Unix (166)
- Przypisanie opcji DEBUG wartości False i ustawienie ALLOWED_HOSTS (167)
- Użycie Upstart do uruchamiania Gunicorn wraz z systemem (168)
- Zachowanie wprowadzonych zmian - dodanie Gunicorn do pliku requirements.txt (168)
- Automatyzacja (169)
- Zachowanie informacji o postępie (172)
- Analiza skryptu Fabric dla naszego wdrożenia (174)
- Wypróbowanie rozwiązania (177)
- Wdrożenie w środowisku produkcyjnym (179)
- Pliki konfiguracyjne Nginx i Gunicorn odtworzone za pomocą sed (180)
- Użycie polecenia git tag do oznaczenia wydania (181)
- Dalsza lektura (181)
- Testy funkcjonalne weryfikacji danych - ochrona przed pustymi elementami (183)
- Pominięcie testu (184)
- Podział testów funkcjonalnych na wiele plików (185)
- Wykonanie pojedynczego pliku testu (187)
- Podparcie testów funkcjonalnych (188)
- Sprawdzenie warstwy modelu (189)
- Refaktoryzacja testów jednostkowych na oddzielne pliki (189)
- Testy jednostkowe sprawdzania modelu oraz menedżer kontekstu self.assertRaises() (190)
- Dziwactwo Django - zapis modelu nie wywołuje operacji sprawdzenia poprawności (191)
- Wyświetlanie w widoku błędów z weryfikacji modelu (192)
- Upewnienie się, że nieprawidłowe dane nie zostaną zapisane w bazie danych (194)
- Wzorzec Django - przetwarzanie żądań POST w widoku generującym formularz (196)
- Refaktoryzacja - przekształcenie funkcjonalności new_item na view_list (197)
- Egzekwowanie w widoku view_list weryfikacji modelu (199)
- Refaktoryzacja - usunięcie na stałe zdefiniowanych adresów URL (200)
- Znacznik szablonu {% url %} (200)
- Użycie get_absolute_url w przekierowaniach (201)
- Przeniesienie do formularza logiki odpowiedzialnej za sprawdzanie poprawności danych (205)
- Użycie testu jednostkowego do analizy API formularzy (206)
- Przejście do Django ModelForm (208)
- Testowanie i dostosowanie do własnych potrzeb logiki weryfikacji formularza (209)
- Użycie formularza w widokach (210)
- Użycie formularza w widoku za pomocą żądania GET (211)
- Duża operacja znajdź i zastąp (213)
- Użycie formularza w widoku obsługującym żądania POST (215)
- Adaptacja testów jednostkowych dla widoku new_list (215)
- Użycie formularza w widoku (216)
- Użycie formularza w celu wyświetlenia błędów w szablonie (216)
- Użycie formularza w innym widoku (217)
- Metoda pomocnicza dla wielu krótkich testów (218)
- Użycie metody save() formularza (220)
- Kolejny test funkcjonalny dotyczący powielonych elementów (223)
- Ochrona przed duplikatami w warstwie modelu (224)
- Mała dygresja dotycząca kolejności API Querystring i przedstawiania ciągu tekstowego (226)
- Przepisanie testu starego modelu (228)
- Pewne błędy spójności ujawniają się podczas zapisu (229)
- Eksperymenty w warstwie widoku sprawdzające, czy są powielone elementy (230)
- Bardziej skomplikowany formularz do obsługi unikalności elementów (231)
- Użycie istniejącego formularza w widoku listy (232)
- Rozpoczynamy od testów funkcjonalnych (237)
- Konfiguracja prostego silnika wykonywania testów JavaScript (238)
- Użycie jQuery i stałych elementów
(240)
- Utworzenie testu jednostkowego JavaScript dla żądanej funkcjonalności (243)
- Testowanie JavaScript w cyklu TDD (245)
- Zdarzenie onload i przestrzenie nazw (245)
- Kilka rozwiązań, które się nie sprawdzają (246)
- Wdrożenie prowizoryczne (247)
- Wdrożenie rzeczywiste (247)
- A jeśli wystąpi błąd bazy danych? (248)
- Podsumowanie - git tag i nowe wydanie (248)
- Mozilla Persona (BrowserID) (252)
- Kod eksperymentalny, czyli "Spiking" (252)
- Utworzenie nowej gałęzi dla Spike (253)
- Łączenie kodu JavaScript i interfejsu użytkownika (253)
- Protokół Browser-ID (254)
- Kod po stronie serwera - niestandardowe uwierzytelnienie (255)
- Zamiana rozwiązania eksperymentalnego na zwykłe (260)
- Często stosowana technika Selenium - wyraźne oczekiwanie (262)
- Wycofanie kodu eksperymentalnego (264)
- Testy jednostkowe JavaScript obejmujące komponenty zewnętrzne - nasze pierwsze imitacje (265)
- Porządkowanie - katalog plików statycznych dla całej witryny (265)
- Imitacja: kto, co i dlaczego? (266)
- Przestrzenie nazw (267)
- Prosta imitacja dla testów jednostkowych dla naszej funkcji inicjującej (267)
- Bardziej zaawansowane imitacje (272)
- Sprawdzenie wywołania argumentów (275)
- Konfiguracja QUnit i testowanie żądań Ajax (276)
- Więcej zagnieżdżonych wywołań zwrotnych! Testowanie kodu asynchronicznego (280)
- Rzut oka na wersję eksperymentalną widoku logowania (283)
- Imitacje w Pythonie (284)
- Testowanie widoku za pomocą imitacji funkcji uwierzytelnienia (284)
- Sprawdzenie, czy widok faktycznie loguje użytkownika (286)
- Zmiana eksperymentalnej wersji uwierzytelniania na zwykłą - imitacja żądania internetowego (290)
- Polecenie if oznacza więcej testów (291)
- Poprawki na poziomie klasy (292)
- Strzeż się imitacji w porównaniach wartości boolowskich (295)
- Utworzenie użytkownika, jeśli to konieczne (296)
- Metoda get_user() (296)
- Minimalny niestandardowy model użytkownika (298)
- Małe rozczarowanie (300)
- Testy jako dokumentacja (301)
- Użytkownicy są uwierzytelnieni (301)
- Chwila prawdy - czy testy funkcjonalne zostaną zaliczone? (302)
- Zakończenie testu funkcjonalnego, przetestowanie wylogowania (303)
- Pominięcie procesu logowania przez wstępne utworzenie sesji (307)
- Sprawdzamy rozwiązanie (309)
- Dowód znajdziesz w praktyce - użycie wersji prowizorycznej do wychwycenia błędów (310)
- Konfiguracja rejestracji danych (311)
- Usunięcie błędu systemu Persona (312)
- Zarządzanie testową bazą danych w serwerze prowizorycznym (314)
- Polecenie Django służące do tworzenia sesji (314)
- Test funkcjonalny uruchamiający w serwerze narzędzie zarządzania (315)
- Dodatkowy krok za pomocą modułu subprocess (317)
- Zachowanie kodu odpowiedzialnego za rejestrację danych (320)
- Użycie konfiguracji hierarchicznej rejestracji danych (320)
- Podsumowanie (322)
- Alternatywa, czyli podejście Inside-Out (325)
- Dlaczego preferowane jest podejście Outside-In? (326)
- Test funkcjonalny dla strony Moje listy (326)
- Warstwa zewnętrzna - prezentacja i szablony (327)
- Przejście o jedną warstwę w dół do funkcji widoku (kontroler) (328)
- Kolejne zaliczenie - podejście Outside-In (329)
- Szybka restrukturyzacja hierarchii dziedziczenia szablonu (329)
- Projektowanie API za pomocą szablonu (330)
- Przejście w dół do kolejnej warstwy - co widok przekazuje szablonowi? (331)
- Kolejne "wymaganie" z warstwy widoku - nowe listy powinny "zapamiętywać" swego właściciela (332)
- Czy przejść do kolejnej warstwy, gdy test kończy się niepowodzeniem? (333)
- Przejście w dół do warstwy modelu (333)
- Ostatni krok - uzyskanie z poziomu szablonu dostępu do właściciela za pomocą API .name (335)
- Powrót do miejsca, w którym podjęliśmy decyzję - warstwa widoku zależy od nieutworzonego jeszcze kodu modelu (337)
- Pierwsza próba użycia imitacji w celu zapewnienia izolacji (338)
- Użycie side_effect do sprawdzenia sekwencji zdarzeń (339)
- Posłuchaj testu - brzydki test oznacza konieczność refaktoryzacji (341)
- Ponowne utworzenie testów dla widoku, tym razem w pełni odizolowanych (342)
- Pozostawienie starych zintegrowanych testów jako punktu odniesienia (342)
- Nowy zestaw w pełni odizolowanych testów (342)
- Myślimy w kategoriach współpracy (343)
- Przejście w dół do warstwy formularzy (347)
- Nadal słuchaj testów - usunięcie kodu ORM z aplikacji (348)
- Wreszcie przechodzimy w dół do warstwy modelu (350)
- Powrót do widoków (352)
- Moment prawdy (i ryzyko związane z imitacjami) (353)
- Potraktowanie interakcji między warstwami jak kontraktów (354)
- Identyfikacja niejawnych kontraktów (355)
- Usunięcie przeoczonego problemu (356)
- Jeszcze jeden test (357)
- Porządkowanie, czyli co zachować z pakietu testów zintegrowanych? (358)
- Usunięcie powielonego kodu w warstwie formularzy (358)
- Usunięcie starej implementacji widoku (359)
- Usunięcie zbędnego kodu w warstwie formularzy (359)
- Podsumowanie - testy odizolowane kontra zintegrowane (360)
- Niech poziom skomplikowania będzie Twoim przewodnikiem (361)
- Czy powinienem tworzyć oba rodzaje testów? (361)
- Do przodu! (362)
- Instalacja serwera Jenkins (363)
- Konfiguracja zabezpieczeń w Jenkins (365)
- Dodanie wymaganych wtyczek (365)
- Konfiguracja projektu (367)
- Pierwsza kompilacja (368)
- Konfiguracja ekranu wirtualnego, aby testy funkcjonalne można było wykonywać bez monitora (370)
- Wykonanie zrzutów ekranu (371)
- Najczęstszy problem w Selenium - stan wyścigu (374)
- Wykonanie testów QUnit w Jenkins za pomocą PhantomJS (376)
- Instalacja node (377)
- Dodanie kolejnych kroków kompilacji w Jenkins (378)
- Więcej zadań do wykonania za pomocą serwera ciągłej integracji (380)
- Test funkcjonalny z wieloma użytkownikami i funkcja addCleanup() (381)
- Implementacja w Selenium wzorca interakcja-oczekiwanie (383)
- Wzorzec strony (384)
- Rozszerzenie testu funkcjonalnego na drugiego użytkownika i stronę "Moje listy" (386)
- Ćwiczenie dla czytelnika (388)
- Teza - testy jednostkowe są niezwykle szybkie, mają także inne zalety (392)
- Szybsze testy oznaczają szybsze tworzenie kodu (392)
- Uczucie błogostanu (393)
- Wolne testy nie są wykonywane zbyt często, co przekłada się na gorszej jakości kod (393)
- Teraz jest dobrze, ale wraz z upływem czasu testy zintegrowane są wykonywane coraz wolniej (393)
- Nie zabieraj mi tego (393)
- Testy jednostkowe pozwalają przygotować dobry projekt (394)
- Problemy związane z czystymi testami jednostkowymi (394)
- Testy odizolowane mogą być trudniejsze w odczycie i zapisie (394)
- Testy odizolowane nie testują automatycznie integracji (394)
- Testy jednostkowe rzadko przechwytują nieoczekiwane błędy (394)
- Testy oparte na imitacji stają się ściśle powiązane z implementacją (394)
- Jednak wszystkie wymienione problemy można pokonać (395)
- Synteza - jakie mamy oczekiwania wobec testów? (395)
- Poprawność (395)
- Czytelny, łatwy w obsłudze kod (395)
- Produktywna praca (395)
- Oceń testy pod kątem korzyści, jakich oczekujesz dzięki ich użyciu (396)
- Rozwiązania architektoniczne (396)
- Porty i adaptery, czysta architektura i architektura heksagonalna (397)
- Architektura Functional Core, Imperative Shell (398)
- Podsumowanie (398)
Wprowadzenie (13)
Przygotowania i założenia (19)
Podziękowania (25)
I. PODSTAWY TDD I DJANGO (27)
1. Konfiguracja Django za pomocą testu funkcjonalnego (29)
2. Rozszerzenie testu funkcjonalnego za pomocą modułu unittest (37)
3. Testowanie prostej strony głównej za pomocą testów jednostkowych (45)
4. Do czego służą te wszystkie testy? (57)
5. Zapis danych wejściowych użytkownika (73)
6. Przygotowanie minimalnej działającej wersji witryny (97)
II. PROGRAMOWANIE SIECIOWE (131)
7. Upiększanie - jak przetestować układ i style? (133)
8. TDD na przykładzie witryny prowizorycznej (149)
9. Zautomatyzowane wdrożenie za pomocą Fabric (173)
10. Weryfikacja danych wejściowych i organizacja testu (183)
11. Prosty formularz (205)
12. Bardziej skomplikowane formularze (223)
13. Zagłębiamy się ostrożnie w JavaScript (237)
14. Wdrożenie nowego kodu (247)
III. BARDZIEJ ZAAWANSOWANE ZAGADNIENIA (249)
15. Użycie JavaScript do uwierzytelniania użytkownika, integracji wtyczek i przygotowania imitacji (251)
16. Uwierzytelnianie po stronie serwera i imitacje w Pythonie (283)
17. Konfiguracja testu, rejestracja i debugowanie po stronie serwera (307)
18. Kończymy "Moje listy" - podejście Outside-In (325)
19. Izolacja i "słuchanie" testów (337)
20. Ciągła integracja (363)
21. Token serwisów społecznościowych, wzorzec strony i ćwiczenie dla czytelnika (381)
22. Szybkie testy, wolne testy i gorąca lawa (391)
Kieruj się Testing Goat! (401)
DODATKI (403)
A. PythonAnywhere (405)
B. Widoki oparte na klasach Django (409)
C. Przygotowanie serwera za pomocą Ansible (419)
D. Testowanie migracji bazy danych (423)
E. Co dalej? (429)
F. Ściąga (433)
G. Bibliografia (437)
Skorowidz (439)
Helion - inne książki
-
Nowość Promocja
Potraktuj tę książkę jako świetnego towarzysza wycieczek. Zawarte w tym przewodniku barwne ilustracje i wyczerpujące, przejrzyście podane informacje sprawią, że inaczej spojrzysz na różne elementy konstrukcji technicznych. Zrozumiesz fascynujące szczegóły działania urządzeń stworzonych przez ludzi. Nauczysz się rozpoznawać cechy charakterystyczne sieci elektroenergetycznej, dróg, kolei, mostów, tuneli, dróg wodnych i innych rozwiązań technicznych. Przekonasz się, jak wielką przyjemność daje „wypatrywanie infrastruktury”, a odkrywanie przeznaczenia napotkanych urządzeń stanie się Twoim hobby!- Druk
- PDF + ePub + Mobi pkt
(47,92 zł najniższa cena z 30 dni)
47.92 zł
59.90 zł (-20%) -
Nowość Promocja
Wielu programistów szuka prostego, bardziej intuicyjnego sposobu na tworzenie aplikacji. Przeszkadza im złożoność języków programowania, nieczytelność ich składni i stopień skomplikowania konfiguracji. W trakcie poszukiwań narzędzi zapewniających prostotę i dużą wydajność trafiają często na stworzony przez inżynierów Google język Go i... okazuje się, że spełnia on te oczekiwania, jest prosty jak Python i wydajny jak Java. Jeśli i Ty chcesz tworzyć aplikacje szybciej i efektywniej, nie tracić przy tym czasu na skomplikowane konfiguracje czy debugowanie, ta książka jest dla Ciebie.- Druk
- PDF + ePub + Mobi pkt
(55,20 zł najniższa cena z 30 dni)
55.20 zł
69.00 zł (-20%) -
Nowość Promocja
Dzięki tej książce dobrze zrozumiesz działanie Gita. Wiedza jest w niej przekazywana w prosty i konsekwentny sposób, a zastosowane techniki wizualne, opowiadane historie i liczne praktyczne ćwiczenia pozwolą Ci na skuteczną naukę krok po kroku. Stopniowo będziesz się zapoznawać z kluczowymi informacjami i dogłębnie zrozumiesz znaczenie poszczególnych terminów i koncepcji. Książkę docenią zwłaszcza osoby używające Gita w projektach prywatnych lub zawodowych, na przykład studenci i uczestnicy kursów programowania, młodsi programiści, specjaliści przetwarzania danych i pisarze techniczni.- Druk
- PDF + ePub + Mobi pkt
(47,40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł (-40%) -
Nowość Promocja
To interesujące, zwięzłe i wyjątkowo praktyczne wprowadzenie do programowania w języku JavaScript. Już podczas lektury pierwszych stron zaczniesz pisać własny kod, będziesz znajdować rozwiązania różnych wyzwań, a także tworzyć aplikacje internetowe i zabawne gry. Rozpoczniesz od poznania podstawowych koncepcji stosowanych w programowaniu, takich jak zmienne, tablice, obiekty, funkcje, konstrukcje warunkowe, pętle itd. Następnie nauczysz się łączyć skrypty JavaScript z kodem HTML i CSS, aby tworzyć interaktywne aplikacje internetowe. Ze swoich nowych umiejętności skorzystasz podczas pracy nad trzema większymi projektami: grą w stylu Pong, aplikacją generującą muzykę i platformą przeznaczoną do wizualizacji danych pobranych za pomocą API.- Druk
- PDF + ePub + Mobi pkt
(59,40 zł najniższa cena z 30 dni)
59.40 zł
99.00 zł (-40%) -
Bestseller Nowość Promocja
O sztucznej inteligencji jest ostatnio bardzo głośno, to nośny temat, nierzadko przedstawiany w tonie sensacyjnym. Czy AI nas zniewoli? Czy wymknie się spod kontroli? A może zabierze nam pracę i zmieni nasze życie w bezproduktywny koszmar? Rzeczywistość wygląda zgoła inaczej, niż zdają się sugerować clickbaitowe nagłówki w prasie i mediach społecznościowych. Sztuczna inteligencja jest obecna w naszym życiu od wielu lat, choć często nie zdajemy sobie z tego sprawy. Służy nam pomocą, gdy szukamy czegoś w sieci, kiedy chcemy coś przetłumaczyć, kupić, porównać albo dotrzeć z miejsca A do miejsca B. Odsiewa dla nas spam w poczcie internetowej i chroni nasze urządzenia elektroniczne przed cyberatakami. Oczywiście, ma swoje mroczne strony i tych także powinniśmy być świadomi.- Druk
- PDF + ePub + Mobi pkt
(35,40 zł najniższa cena z 30 dni)
35.40 zł
59.00 zł (-40%) -
Nowość Promocja
Fusion to oprogramowanie firmy Autodesk, umożliwiające modelowanie 3D, CAD, CAM, CAE i PCB. Jego zastosowanie znacznie upraszcza i przyspiesza projektowanie, a także wytwarzanie nowych produktów. Dostępny w chmurze Autodesk Fusion oferuje rozmaite środowiska, takie jak Simulation, służące do obliczeń, analiz i symulacji, Render, przeznaczone do wizualizacji i renderingów, czy Animation, dzięki któremu można tworzyć filmy demonstrujące kolejność montażu elementów składowych urządzeń.- Druk
- PDF + ePub + Mobi pkt
(47,40 zł najniższa cena z 30 dni)
47.40 zł
79.00 zł (-40%) -
Bestseller Nowość Promocja
Aż 95 procent Wszechświata pozostaje niewidoczne i niezbadane. Brian Clegg zaprasza do odkrycia dwóch największych zagadek Kosmosu — ciemnej materii i ciemnej energii. W książce demaskuje te nieuchwytne koncepty, prowadząc czytelnika przez fascynującą historię odkryć, które zmieniły nasze rozumienie Wszechświata. Od teoretycznych początków aż po najnowsze badania, wyjaśnia, jak odkryto istnienie ciemnej materii i ciemnej energii, w jaki sposób te tajemnicze siły kształtują galaktyki i inne obiekty kosmiczne, a także jak wpływają na przyszłość Wszechświata. Jednocześnie stawia fundamentalne pytanie, czy uda się kiedyś w pełni je zrozumieć. Ciemna materia i ciemna energia to nie tylko fascynująca podróż przez naukę, ale również zaproszenie do jednej z największych przygód ludzkiego umysłu — zrozumienia tego, co ukryte i nieznane.- Druk
- PDF + ePub + Mobi pkt
(32,94 zł najniższa cena z 30 dni)
32.94 zł
54.90 zł (-40%) -
Bestseller Nowość Promocja
Rola administratora sieci komputerowej zaczyna się od jej skonfigurowania, jednak na tym absolutnie się nie kończy. Dalej musi on zadbać o to, by sieć działała poprawnie - jeśli cokolwiek pójdzie nie tak, administrator szybko dowie się o tym od użytkowników i zostanie poproszony, by równie szybko przywrócił ją do stanu poprzedniego. Drobnostka, jeśli problem okazuje się błahy i prosty do rozwiązania. Prawdziwe wyzwanie zaczyna się wtedy, kiedy naprawa usterki wymaga dogłębnej znajomości sieci, jej silnych i mocnych stron, a także metod radzenia sobie z awariami. Na szczęście powstała ta książka.- Druk
- PDF + ePub + Mobi pkt
(101,40 zł najniższa cena z 30 dni)
101.40 zł
169.00 zł (-40%) -
Bestseller Nowość Promocja
Ta fantastyczna książka, pełna zabawnej narracji i praktycznych przykładów, nauczy Cię myślenia architektonicznego. Została ona, podobnie jak inne pozycje z serii Rusz głową!, przygotowana na bazie odkryć nauk poznawczych i neurofizjologii. Właśnie dzięki temu zaangażujesz swój mózg, użyjesz wielu zmysłów i niepostrzeżenie zrozumiesz dwa prawa architektury oprogramowania i cztery opisujące ją wymiary. Mistrzowsko opanujesz cechy i style architektury, a także nauczysz się określać logiczne komponenty systemów. Efekt? Zdobędziesz świetną orientację w świecie architektury oprogramowania. A wszystkiego nauczysz się, rozwiązując łamigłówki, wykonując praktyczne ćwiczenia, tworząc architektury ? i wybuchając głośnym śmiechem!- Druk
(77,40 zł najniższa cena z 30 dni)
77.40 zł
129.00 zł (-40%) -
Nowość Promocja
Tę praktyczną książkę docenią programiści C#. Zaczniesz od zapoznania się z zasadami działania algorytmów, aby później przejść do różnych struktur danych: tablic, list, stosów, kolejek, słowników i zbiorów. Poszczególne przykłady zostały zilustrowane fragmentami kodu i rysunkami. Opanujesz także sortowanie tablic przy użyciu rozmaitych algorytmów, co solidnie ugruntuje Twoje umiejętności. Następnie poznasz bardziej złożone struktury danych i algorytmy służące do różnych zadań, jak wyznaczanie najkrótszej ścieżki w grafie czy rozwiązywanie łamigłówek. W ten sposób nauczysz się budować w języku C# komponenty algorytmiczne, które bez problemu zastosujesz w rozmaitych aplikacjach, również internetowych i na platformy mobilne.- Druk
- PDF + ePub + Mobi pkt
(53,40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł (-40%)
Dzięki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep@helion.pl
Książka drukowana


Oceny i opinie klientów: TDD w praktyce. Niezawodny kod w języku Python Harry Percival
(6)(4)
(1)
(0)
(0)
(1)
(0)
więcej opinii
ukryj opinie