TDD w praktyce. Niezawodny kod w języku Python Harry Percival
- Ostatnie sztuki
- Promocja Przejdź
- Promocja Przejdź
- 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
- (47,40 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł (-35%) -
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%) -
-
Nowość Promocja
Czy marzysz o tworzeniu nowoczesnych, responsywnych i atrakcyjnych wizualnie aplikacji mobilnych? Sięgnij po książkę, która powstała z myślą o Tobie - młodym programiście, studencie lub uczniu technikum, który chce wejść na wyższy poziom programowania pod Androida. Ta książka to wyjątkowy przewodnik po świecie tworzenia aplikacji mobilnych z wykorz- (51,70 zł najniższa cena z 30 dni)
55.50 zł
74.00 zł (-25%) -
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)
57.84 zł
89.00 zł (-35%) -
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)
57.84 zł
89.00 zł (-35%) -
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)
44.85 zł
69.00 zł (-35%) -
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)
96.85 zł
149.00 zł (-35%) -
Bestseller 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)
43.55 zł
67.00 zł (-35%) -
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)
48.69 zł
74.90 zł (-35%) -
Bestseller Promocja
Ta pozycja, podobnie jak inne z serii Rusz głową!, została przygotowana zgodnie z jedyną w swoim rodzaju metodyką nauczania, wykorzystującą zasady funkcjonowania ludzkiego mózgu. Dzięki zagadkom, tajemniczym historiom, angażującym ćwiczeniom i przystępnie podanej wiedzy bez trudu przyswoisz nawet dość złożone koncepcje, takie jak programowanie zorientowane obiektowo, aplikacje sieciowe czy uczenie maszynowe. Znajdziesz tu zabawne i niekonwencjonalne ilustracje, świetne analogie, a w toku nauki krok po kroku zbudujesz własną aplikację. Przekonasz się, że to absolutnie wyjątkowy i niezwykle skuteczny podręcznik!- Druk
- (77,40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł (-35%) -
Promocja
Sztuczna inteligencja stale się rozwija. Właściwie codziennie słyszymy o jej rosnących możliwościach, nowych osiągnięciach i przyszłości, jaką nam przyniesie. Jednak w tej książce skupiamy się nie na przyszłości, a na teraźniejszości i praktycznym obliczu AI - na usługach, które świadczy już dziś. Większość najciekawszych zastosowań sztucznej inteligencji bazuje na ML (uczenie maszynowe, ang. machine learning), NLP (przetwarzanie języka naturalnego, ang. natural language processing) i architekturze RAG (ang. retrieval augmented generation) zwiększającej możliwości tzw. dużych modeli językowych (LLM, ang. large language model). Stanowią one podwaliny budowy systemów AI, bez których te systemy często wcale nie mogłyby powstać.- Druk
- PDF + ePub + Mobi pkt
- (47,40 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł (-35%) -
Promocja
Język programowania ogólnego przeznaczenia Python należy obecnie do najpopularniejszych na świecie. Skąd się bierze jego fenomen? Niewątpliwie kluczowe znaczenie ma tu bardzo czytelna składnia, mocno zbliżona do składni języka naturalnego. Czyni to Pythona dość łatwym do opanowania, także dla początkujących. Osoby bardziej doświadczone doceniają go za wszechstronność. Pythona można używać w różnych dziedzinach, takich jak analiza danych, sztuczna inteligencja, tworzenie stron internetowych, automatyka i automatyzacja, pisanie aplikacji mobilnych i wiele innych. Dodajmy do tego rozbudowany pakiet bibliotek standardowych i oto mamy (niemal) idealny język programowania.- Druk
- PDF + ePub + Mobi pkt
- (35,40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł (-35%)
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
-
Bestseller 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)
51.35 zł
79.00 zł (-35%) -
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%) -
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)
51.35 zł
79.00 zł (-35%) -
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)
57.84 zł
89.00 zł (-35%) -
Bestseller 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)
64.35 zł
99.00 zł (-35%) -
Bestseller 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)
51.35 zł
79.00 zł (-35%) -
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)
83.85 zł
129.00 zł (-35%) -
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)
44.85 zł
69.00 zł (-35%) -
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)
51.35 zł
79.00 zł (-35%) -
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)
77.35 zł
119.00 zł (-35%)
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
Tę książkę docenią praktycy: analitycy danych i inżynierowie uczenia maszynowego. Opisano w niej różne architektury transformerów — od pierwszych modeli podstawowych po najnowsze osiągnięcia w generatywnej sztucznej inteligencji. Dzięki lekturze nauczysz się wstępnego szkolenia i dostrajania modeli LLM, a także pracy nad różnymi przypadkami użycia. Poznasz takie problemy jak halucynacje i zagrożenia prywatności, a następnie dowiesz się, jak je łagodzić. W książce pokazano ponadto, jak poprawiać dokładność modeli LLM i uzyskiwać większą kontrolę nad generowanymi przez nie wynikami. Nie zabrakło ciekawych szczegółów dotyczących modeli generatywnych opartych na transformerach, modeli wizyjnych i architektur multimodalnych, jak również opisu najlepszych praktyk.- Druk
- PDF + ePub + Mobi pkt
- (89,40 zł najniższa cena z 30 dni)
96.85 zł
149.00 zł (-35%) -
Nowość Promocja
Zapnij pasy przed wyprawą życia! Mars. Nowa Ziemia to fascynująca opowieść o ludzkiej determinacji, by postawić stopę na Czerwonej Planecie. Astrofizyk Andrew May zabierze Cię w podróż przez historię eksploracji Marsa — od pierwszych wyobrażeń i obserwacji astronomicznych aż po najnowsze misje i ambitne plany kolonizacyjne. Nasz planetarny sąsiad od wieków fascynuje ludzkość, pobudzając wyobraźnię pisarzy, naukowców i inżynierów. Ta książka to nie tylko zapis technologicznych osiągnięć, ale także opowieść o ludziach, którzy marzą, planują i podejmują ryzyko, aby zmienić rozumienie Wszechświata i uczynić z nas gatunek międzyplanetarny. Jeśli zastanawiasz się, jakie wyzwania czekają podczas podróży na Marsa i czy człowiek jest gotowy na życie poza Ziemią, ta książka jest dla Ciebie. Przygotuj się na ekscytującą misję, która może zmienić przyszłość ludzkości.- Druk
- PDF + ePub + Mobi pkt
- (35,40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł (-35%) -
Nowość Promocja
Dzięki tej książce łatwiej poradzisz sobie z zastosowaniem ekosystemu LlamaIndex i nauczysz się wdrażać własne projekty. Na praktycznych przykładach zapoznasz się z procesem personalizacji i uruchamiania projektów LlamaIndex. Dowiesz się, jak przezwyciężać ograniczenia dużych modeli językowych, zbudujesz aplikacje dla użytkowników końcowych i zdobędziesz umiejętności w zakresie pozyskiwania danych, indeksowania, obsługi zapytań i łączenia dynamicznych baz wiedzy, obejmujących generatywną sztuczną inteligencję i duże modele językowe. Pod koniec lektury zagłębisz się w tworzenie niestandardowych rozwiązań, co pozwoli Ci dobrze zrozumieć możliwości i zastosowania LlamaIndex.- Druk
- PDF + ePub + Mobi pkt
- (53,40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Nowość Promocja
Tę książkę docenią projektanci, specjaliści z zakresu metodyki DevOps i badacze zajmujący się bezpieczeństwem, którzy znajdą w niej niezrównane źródło wiedzy o kluczowych elementach systemu operacyjnego i jego słabych punktach. Poszczególne zagadnienia zilustrowano za pomocą starannie przygotowanych przykładów bazujących na narzędziu PowerShell. Przykłady te można testować i dostosowywać. Obejmują one zarówno podstawową analizę zabezpieczeń zasobów, jak i techniki zaawansowane, takie jak uwierzytelnianie sieciowe. Dzięki tej praktycznej książce przyswoisz wiedzę o tym, jak system Windows zabezpiecza pliki i rejestr, jak implementuje uwierzytelnianie lokalnie i za pośrednictwem sieci, a także od podstaw przeanalizujesz zagadnienia udzielania dostępu do zasobu.- Druk
- PDF + ePub + Mobi pkt
- (89,40 zł najniższa cena z 30 dni)
96.85 zł
149.00 zł (-35%) -
Nowość Promocja
Ta książka krok po kroku wprowadzi Cię w podstawy Raspberry Pi, programowanie i praktyczne projekty ― od prostych układów dla początkujących po bardziej zaawansowane systemy. Znajdziesz tu także porady dotyczące rozwiązywania problemów i poprawy niezawodności swoich projektów.- Druk
- (41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Bestseller Nowość Promocja
Z tą książką krok po kroku zagłębisz się w metody OSINT, a także powiązane z nim zagadnienia natury prawnej i etycznej. Poznasz sposoby gromadzenia i analizowania informacji z wykorzystaniem wyszukiwarek, portali społecznościowych i innych zasobów internetowych. Zrozumiesz wagę anonimowości i technik gwarantujących bezpieczne poruszanie się po sieci, ułatwiających zarządzanie cyfrowym śladem czy tworzenie fikcyjnych tożsamości internetowych. Zdobędziesz również doświadczenie w korzystaniu z popularnych narzędzi OSINT, takich jak Recon-ng, Maltego, Shodan czy Aircrack-ng. Dowiesz się też, jak ograniczać ryzyko, przewidywać cyberataki, zapobiegać im i na nie reagować — wszystko dzięki technikom opartym na OSINT.- Druk
- PDF + ePub + Mobi pkt
- (40,20 zł najniższa cena z 30 dni)
43.55 zł
67.00 zł (-35%) -
Nowość Promocja
Spring należy do rodziny frameworków Javy. Jego pierwsza edycja ujrzała światło dzienne w 2002 roku i od razu spotkał się z pozytywnym odbiorem programistów. Spring Framework zyskał uznanie i popularność, ponieważ działa na zasadzie lekkiego szablonu, umożliwiającego dużą dowolność, jeśli chodzi o wybór modelu programowania. W efekcie za jego pomocą można tworzyć szerokie spektrum aplikacji - od niewielkich i prostych po potężne i bardzo skomplikowane.- Druk
- PDF + ePub + Mobi pkt
- (59,40 zł najniższa cena z 30 dni)
64.35 zł
99.00 zł (-35%) -
Bestseller Nowość Promocja
Dzięki tej praktycznej książce dogłębnie zrozumiesz zagadnienia związane z ochroną haseł i odzyskiwaniem chronionych nimi danych. Rozpoczniesz od zapoznania się z zasadami przechowywania danych uwierzytelniających i matematycznymi podstawami technik łamania haseł. Następnie nauczysz się posługiwać różnymi narzędziami ułatwiającymi odzyskiwanie haseł, by potem zająć się typowymi przypadkami ich łamania, odzyskiwania skrótów i pokonywania zabezpieczeń. Przyjrzysz się działaniu metod siłowych i słownikowych, dowiesz się także, jak stosować je przy różnych sposobach przechowywania danych uwierzytelniających. Poszczególne zagadnienia zostały zilustrowane licznymi rzeczywistymi przykładami. Pod koniec lektury przekonasz się, że potrafisz z łatwością łamać najpopularniejsze typy danych uwierzytelniających.- Druk
- PDF + ePub + Mobi pkt
- (35,94 zł najniższa cena z 30 dni)
38.94 zł
59.90 zł (-35%) -
Bestseller Nowość Promocja
Ta książka jest kompleksowym przewodnikiem po ciemnej stronie cyberbezpieczeństwa ― zapewni Ci wiedzę i umiejętności niezbędne do skutecznego zwalczania złośliwego oprogramowania. Nauczysz się poruszać wśród zawiłości związanych z tworzeniem złośliwego oprogramowania, a także dobrze poznasz techniki i strategie stosowane przez cyberprzestępców. Zdobędziesz też praktyczne doświadczenie w projektowaniu i implementowaniu popularnych rozwiązań stosowanych w prawdziwych złośliwych aplikacjach, na przykład Carbanak, Carberp, Stuxnet, Conti, Babuk i BlackCat. Nie zabrakło tu zasad etycznego hakingu i tajników budowy złośliwego oprogramowania, jak techniki unikania wykrycia, mechanizmy persystencji i wiele innych, które poznasz dzięki lekturze.- Druk
- PDF + ePub + Mobi pkt
- (53,40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Bestseller 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
- (35,94 zł najniższa cena z 30 dni)
38.94 zł
59.90 zł (-35%)
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