TDD w praktyce. Niezawodny kod w języku Python
- Autor:
- Harry Percival
- Serie wydawnicze:
- O'Reilly
- 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
Architektura aplikacji w Pythonie. TDD, DDD i rozwój mikrousług reaktywnych Architektura aplikacji w Pythonie. TDD, DDD i rozwój mikrousług reaktywnych
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.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
Architecture Patterns with Python. Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices Architecture Patterns with Python. Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
(186,15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł (-15%) -
Nowość Bestseller Promocja
Oto zaktualizowane wydanie popularnego przewodnika, dzięki któremu skorzystasz z ponad dwustu sprawdzonych receptur bazujących na najnowszych wydaniach bibliotek Pythona. Wystarczy, że skopiujesz i dostosujesz kod do swoich potrzeb. Możesz też go uruchamiać i testować za pomocą przykładowego zbioru danych. W książce znajdziesz receptury przydatne do rozwiązywania szerokiego spektrum problemów, od przygotowania i wczytania danych aż po trenowanie modeli i korzystanie z sieci neuronowych. W ten sposób wyjdziesz poza rozważania teoretyczne czy też matematyczne koncepcje i zaczniesz tworzyć aplikacje korzystające z uczenia maszynowego.- Druk
- PDF + ePub + Mobi pkt
Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II
(57,84 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Promocja
Oto uzupełnione i zaktualizowane wydanie bestsellerowego przewodnika dla inżynierów sieci. Dzięki niemu przejdziesz trudną (ale ekscytującą!) drogę od tradycyjnej platformy do platformy sieciowej opartej na najlepszych praktykach programistycznych. Zaczniesz od zagadnień podstawowych, aby następnie zagłębić się w tajniki stosowania bibliotek Pexpect, Paramiko czy Netmiko do komunikacji z urządzeniami sieciowymi. W kolejnych rozdziałach znajdziesz solidny przegląd różnych narzędzi wraz ze sposobami ich użycia: Cisco NX-API, Meraki, Juniper PyEZ, Ansible, Scapy, PySNMP, Flask, Elastic Stack i wielu innych. Rozeznasz się również w kwestiach związanych z kontenerami Dockera, a także usługami sieciowymi chmur AWS i Azure. Lektura tej książki pozwoli Ci się w pełni przygotować na następną generację sieci!- Druk
- PDF + ePub + Mobi pkt
Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV
(77,40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł (-35%) -
Bestseller Promocja
Oto drugie, zaktualizowane i uzupełnione wydanie przewodnika po bibliotece Pandas. Dzięki tej przystępnej książce nauczysz się w pełni korzystać z możliwości oferowanych przez bibliotekę, nawet jeśli dopiero zaczynasz przygodę z analizą danych w Pythonie. Naukę rozpoczniesz z użyciem rzeczywistego zbioru danych, aby wkrótce rozwiązywać złożone problemy danologii, takie jak obsługa brakujących danych, stosowanie regularyzacji czy też używanie metod nienadzorowanego uczenia maszynowego do odnajdywania podstawowej struktury w zbiorze danych. Pracę z poszczególnymi zagadnieniami ułatwia to, że zostały one zilustrowane prostymi, ale praktycznymi przykładami.- Druk
- PDF + ePub + Mobi pkt
Jak analizować dane z biblioteką Pandas. Praktyczne wprowadzenie. Wydanie II Jak analizować dane z biblioteką Pandas. Praktyczne wprowadzenie. Wydanie II
(65,40 zł najniższa cena z 30 dni)
70.85 zł
109.00 zł (-35%) -
Promocja
Python, stanowiący czołowy temat tego kursu, jest jednym z najpopularniejszych języków programowania na świecie. Słynie z wszechstronności, czytelności i dużej społeczności użytkowników. W świecie finansów Python zyskał szczególne uznanie ze względu na swoją efektywność w analizie danych, modelowaniu finansowym i handlu algorytmicznym. Znajomość tego języka programowania jest w związku z tym coraz bardziej pożądana w branży finansowej – opanowawszy go, otworzysz sobie szeroko drzwi do kariery, które dotąd były dla Ciebie zamknięte.- Videokurs pkt
Python i finanse. Kurs video. Tworzenie modeli, prognoz i analiz rynkowych Python i finanse. Kurs video. Tworzenie modeli, prognoz i analiz rynkowych
(39,90 zł najniższa cena z 30 dni)
107.60 zł
269.00 zł (-60%) -
Zanurz się w fascynujący świat programowania w języku Python i osiągnij imponujący poziom umiejętności w zaledwie 24 godziny! Oto kilka zalet, które sprawiają, że ta książka jest niezbędna dla każdego aspirującego programisty: Szybki start: podstawy Pythona już w pierwszych godzinach nauki Krok po kroku: zrozumiałe instrukcje pomogą przejść przez
- PDF + ePub + Mobi pkt
Python w 1 dzień. Nauka programowania w Pythonie w 24 godziny od A do Z Python w 1 dzień. Nauka programowania w Pythonie w 24 godziny od A do Z
-
Promocja
Czy zastanawiasz się czasem nad tym, jak to możliwe, że jesteśmy w stanie „rozmawiać” z maszynami? Że coś mówimy, a one nas rozumieją i odpowiadają na nasze pytania, realizują polecenia, wykonują zadania? I na odwrót – to one mówią (i piszą) do nas słowami, które są dla nas jasne? Przetwarzaniem języka naturalnego (ang. natural language processing, NLP) zajmuje się interdyscyplinarna dziedzina, łącząca między innymi zagadnienia sztucznej inteligencji, a także językoznawstwa i analityki. NLP pozwala rozwiązywać takie problemy jak automatyczne streszczanie tekstu, tłumaczenie maszynowe (na przykład Google Translate), generowanie mowy czy opinion mining (co na język polski tłumaczy się jako analizę sentymentu – emocjonalnego wydźwięku wypowiedzi).- Videokurs pkt
NLP. Kurs video. Analiza danych tekstowych w języku Python NLP. Kurs video. Analiza danych tekstowych w języku Python
(39,90 zł najniższa cena z 30 dni)
52.15 zł
149.00 zł (-65%) -
Promocja
To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykładami ich wykorzystania w nauce o danych, uczeniu maszynowym, uczeniu głębokim, symulacjach i przetwarzaniu danych biomedycznych. Dzięki podręcznikowi nauczysz się arytmetyki macierzowej, poznasz istotne rozkłady macierzy, w tym LU i QR, a także rozkład według wartości osobliwych, zapoznasz się też z takimi zagadnieniami jak model najmniejszych kwadratów i analiza głównych składowych.- Druk
- PDF + ePub + Mobi pkt
Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie Praktyczna algebra liniowa dla analityków danych. Od podstawowych koncepcji do użytecznych aplikacji w Pythonie
(46,20 zł najniższa cena z 30 dni)
50.05 zł
77.00 zł (-35%) -
Bestseller Promocja
Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięki czemu świetnie się sprawdzi w rozwiązywaniu codziennych problemów z manipulowaniem, przekształcaniem, oczyszczaniem i wizualizacją różnych typów danych, a także jako pomoc podczas tworzenia modeli statystycznych i modeli uczenia maszynowego. Docenią go wszyscy, którzy zajmują się obliczeniami naukowymi w Pythonie.- Druk
- PDF + ePub + Mobi pkt
Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II
(77,40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł (-35%) -
Bestseller Promocja
To trzecie, zaktualizowane i uzupełnione wydanie bestsellerowego podręcznika programowania w Pythonie. Naukę rozpoczniesz od podstawowych koncepcji programowania. Poznasz takie pojęcia jak zmienne, listy, klasy i pętle, a następnie utrwalisz je dzięki praktycznym ćwiczeniom. Dowiesz się, jak zapewnić interaktywność programom, i nauczysz się poprawnego testowania kodu przed dodaniem go do projektu. W kolejnych rozdziałach przystąpisz do praktycznej realizacji trzech projektów: gry zręcznościowej inspirowanej klasyczną Space Invaders, wizualizacji danych za pomocą dostępnych dla Pythona niezwykle użytecznych bibliotek i prostej aplikacji internetowej, gotowej do wdrożenia na serwerze WWW i opublikowania w internecie.- Druk
- PDF + ePub + Mobi pkt
(71,40 zł najniższa cena z 30 dni)
77.35 zł
119.00 zł (-35%) -
Promocja
Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosować myślenie funkcyjne, a także jak korzystać z technik funkcyjnych w różnych scenariuszach. Dowiesz się również, jakie narzędzia i biblioteki przeznaczone do tego celu są dostępne w Pythonie i jak używać wyrażeń generatorowych, list składanych i dekoratorów. W tym wydaniu znalazły się nowe rozdziały dotyczące złożonych obiektów bezstanowych, funkcji kombinatorycznych i pakietu toolz, zawierającego zbiór modułów wspomagających pisanie programów funkcyjnych. Umieszczono tu ponadto sporo ciekawych przykładów, dotyczących choćby eksploracyjnej analizy danych i ich czyszczenia.- Druk
- PDF + ePub + Mobi pkt
Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III Programowanie funkcyjne w Pythonie. Jak pisać zwięzły, wydajny i ekspresywny kod. Wydanie III
(53,40 zł najniższa cena z 30 dni)
57.84 zł
89.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 O'Reilly
-
Nowość Promocja
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić. Poznasz różne aspekty FP: kompozycję, ekspresyjność, modułowość, wydajność i efektywne manipulowanie danymi. Nauczysz się korzystać z FP w celu zapewnienia wyższego bezpieczeństwa i łatwiejszego utrzymywania kodu. Te wszystkie cenne umiejętności ułatwią Ci pisanie bardziej zwięzłego, rozsądnego i przyszłościowego kodu.- Druk
- PDF + ePub + Mobi pkt
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(52,20 zł najniższa cena z 30 dni)
52.20 zł
87.00 zł (-40%) -
Nowość Promocja
To drugie, zaktualizowane wydanie przewodnika po systemie Prometheus. Znajdziesz w nim wyczerpujące wprowadzenie do tego oprogramowania, a także wskazówki dotyczące monitorowania aplikacji i infrastruktury, tworzenia wykresów, przekazywania ostrzeżeń, bezpośredniej instrumentacji kodu i pobierania wskaźników pochodzących z systemów zewnętrznych. Zrozumiesz zasady konfiguracji systemu Prometheus, komponentu Node Exporter i menedżera ostrzeżeń Alertmanager. Zapoznasz się też z nowymi funkcjonalnościami języka PromQL, dostawców mechanizmu odkrywania usług i odbiorców menedżera ostrzeżeń Alertmanager. Dokładnie zaprezentowano tu również zagadnienia bezpieczeństwa po stronie serwera, w tym mechanizm TLS i uwierzytelniania podstawowego.- Druk
- PDF + ePub + Mobi pkt
Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie II
(53,40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Nowość Promocja
Ta książka będzie świetnym uzupełnieniem wiedzy o Flutterze i Darcie, sprawdzi się również jako wsparcie podczas rozwiązywania konkretnych problemów. Znalazło się tu ponad sto receptur, dzięki którym poznasz tajniki pisania efektywnego kodu, korzystania z narzędzi udostępnianych przez framework Flutter czy posługiwania się rozwiązaniami dostawców usług chmurowych. Dowiesz się, jak należy pracować z bazami Firebase i platformą Google Cloud. Przy czym poszczególne receptury, poza rozwiązaniami problemów, zawierają również nieco szersze omówienia, co pozwoli Ci lepiej wykorzystać zalety Fluttera i Darta — spójnego rozwiązania do wydajnego budowania aplikacji!- Druk
- PDF + ePub + Mobi pkt
Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack Flutter i Dart. Receptury. Tworzenie chmurowych aplikacji full stack
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Nowość Bestseller Promocja
Ten przewodnik, który docenią programiści i architekci, zawiera wyczerpujące omówienie zagadnień projektowania, funkcjonowania i modyfikowania architektury API. Od strony praktycznej przedstawia strategie budowania i testowania API REST umożliwiającego połączenie oferowanej funkcjonalności na poziomie mikrousług. Opisuje stosowanie bram API i infrastruktury typu service mesh. Autorzy dokładnie przyglądają się kwestiom zapewnienia bezpieczeństwa systemów opartych na API, w tym uwierzytelnianiu, autoryzacji i szyfrowaniu. Sporo miejsca poświęcają również ewolucji istniejących systemów w kierunku API i różnych docelowych platform.- Druk
- PDF + ePub + Mobi pkt
Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Nowość Promocja
W tej książce omówiono ponad 20 najprzydatniejszych wzorców projektowych, dzięki którym tworzone aplikacje internetowe będą łatwe w późniejszej obsłudze technicznej i w trakcie skalowania. Poza wzorcami projektowymi przedstawiono wzorce generowania i wydajności działania, których znaczenie dla użytkowania aplikacji jest ogromne. Opisano również nowoczesne wzorce Reacta, między innymi Zaczepy, Komponenty Wyższego Rzędu i Właściwości Generowania. Sporo miejsca poświęcono najlepszym praktykom związanym z organizacją kodu, wydajnością działania czy generowaniem, a także innym zagadnieniom, które pozwalają na podniesienie jakości aplikacji internetowych.- Druk
- PDF + ePub + Mobi pkt
Wzorce projektowe w JavaScripcie. Przewodnik dla programistów JavaScriptu i Reacta. Wydanie II Wzorce projektowe w JavaScripcie. Przewodnik dla programistów JavaScriptu i Reacta. Wydanie II
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Bestseller Promocja
To gruntownie zaktualizowane i uzupełnione wydanie praktycznego przewodnika po wdrażaniu i testowaniu kontenerów Dockera. Przedstawia proces przygotowania pakietu aplikacji ze wszystkimi ich zależnościami, a także jego testowania, wdrażania, skalowania i utrzymywania w środowiskach produkcyjnych. Zawiera omówienie Docker Compose i trybu Docker Swarm, opis zagadnień związanych z Kubernetes, jak również przykłady optymalizacji obrazów Dockera. W tym wydaniu zaprezentowano ponadto najlepsze praktyki i narzędzie BuildKit, opisano wsparcie obrazów wieloarchitekturowych, kontenerów rootless i uwzględniono wiele innych ważnych informacji.- Druk
- PDF + ePub + Mobi pkt
Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III Docker. Niezawodne kontenery produkcyjne. Praktyczne zastosowania. Wydanie III
(52,20 zł najniższa cena z 30 dni)
56.55 zł
87.00 zł (-35%) -
Promocja
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie do języka i do pracy na platformie Javy. Druga zawiera opis podstawowych pojęć i interfejsów API, których znajomość jest niezbędna każdemu programiście Javy. Mimo niewielkiej objętości w podręczniku znalazły się liczne przykłady wykorzystania potencjału tego języka programowania, a także zastosowania najlepszych praktyk programistycznych w rzeczywistej pracy.- Druk
(53,40 zł najniższa cena z 30 dni)
44.50 zł
89.00 zł (-50%) -
Promocja
Dzięki tej książce dowiesz się, w jaki sposób uczynić architekturę oprogramowania wystarczająco plastyczną, aby mogła odzwierciedlać zachodzące zmiany biznesowe i technologiczne. W nowym wydaniu rozbudowano pojęcia zmiany kierowanej i przyrostowej, a także przedstawiono najnowsze techniki dotyczące funkcji dopasowania, automatycznego zarządzania architekturą i danych ewolucyjnych. Zaprezentowano praktyki inżynieryjne umożliwiające ewoluowanie systemów oprogramowania, jak również podejścia strukturalne, w tym zasady projektowe, które ułatwiają zarządzanie tą ewolucją. Opisano ponadto, w jaki sposób zasady i praktyki architektury ewolucyjnej wiążą się z różnymi elementami procesu tworzenia oprogramowania.- Druk
- PDF + ePub + Mobi pkt
Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II
(40,20 zł najniższa cena z 30 dni)
43.55 zł
67.00 zł (-35%) -
Promocja
Oto zwięzły i praktyczny przewodnik po usłudze GA4 i jej integracji z chmurą. Szczególnie skorzystają z niego analitycy danych, biznesu i marketingu. Opisano tu wszystkie istotne kwestie dotyczące tego nowego, potężnego modelu analitycznego. Szczególną uwagę poświęcono bardziej zaawansowanym funkcjonalnościom GA4. Zaprezentowano architekturę GA4, strategie danych, a także informacje dotyczące pozyskiwania, przechowywania i modelowania danych. W książce znalazło się również omówienie typowych przypadków użycia dla aktywacji danych i instrukcji przydatnych podczas implementacji tych przypadków. Co istotne, poszczególne zagadnienia zostały zilustrowane praktycznymi przykładami kodu.- Druk
- PDF + ePub + Mobi pkt
Google Analytics od podstaw. Analiza wpływu biznesowego i wyznaczanie trendów Google Analytics od podstaw. Analiza wpływu biznesowego i wyznaczanie trendów
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Promocja
Właśnie w tym celu powstał ten przewodnik po filozofii oprogramowania. Znajdziesz w nim 21 pragmatycznych reguł, którymi kierują się najlepsi programiści. Dzięki spostrzeżeniom zawartym w książce zmienisz podejście do programowania i szybko się przekonasz, że pozwoli Ci to na pisanie lepszego, czytelniejszego i niezawodnego kodu. Poszczególne reguły zostały zilustrowane jego rzeczywistymi przykładami, ułatwiającymi zrozumienie prezentowanych treści. Ten zajmująco i zabawnie napisany przewodnik nie tylko zainspiruje Cię do programistycznego rozwoju, ale również będzie nieocenioną pomocą przy szkoleniu nowych członków zespołu.- Druk
- PDF + ePub + Mobi pkt
(47,40 zł najniższa cena z 30 dni)
51.35 zł
79.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 »
Audiobooka "TDD w praktyce. Niezawodny kod w języku Python" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "TDD w praktyce. Niezawodny kod w języku Python" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
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
- 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
- Zgłoś erratę
- Kategorie:
Programowanie » Python - Programowanie
Programowanie » Techniki programowania
- Serie wydawnicze: O'Reilly
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ść Bestseller Promocja
Dzięki tej przystępnej książce zrozumiesz metody działania wielkich modeli językowych i techniki szkolenia modeli generatywnych. Następnie zapoznasz się z przypadkami użycia, w których ChatGPT sprawdzi się najlepiej, a w efekcie zwiększy produktywność i kreatywność. Dowiesz się też, jak wchodzić w interakcje z ChatGPT, tworzyć lepsze prompty i korzystać z funkcji uczenia się. Znajdziesz tu rozdziały dla marketingowców, naukowców i programistów, ułatwiające szybkie zastosowanie nabytej wiedzy w praktyce. Przekonasz się również, jak w środowisku korporacyjnym stosować interfejsy API modeli OpenAI dostępne w infrastrukturze Azure. Dla każdego scenariusza podano kompletną implementację w Pythonie, korzystającą z bibliotek Streamlit i LangChain do integracji modeli AI z aplikacjami.- Druk
- PDF + ePub + Mobi pkt
Generatywna sztuczna inteligencja z ChatGPT i modelami OpenAI. Podnieś swoją produktywność i innowacyjność za pomocą GPT3 i GPT4 Generatywna sztuczna inteligencja z ChatGPT i modelami OpenAI. Podnieś swoją produktywność i innowacyjność za pomocą GPT3 i GPT4
(51,35 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł (-35%) -
Nowość Bestseller Promocja
Ta książka jest przewodnikiem dla profesjonalistów do spraw cyberbezpieczeństwa. Przedstawia podstawowe zasady reagowania na incydenty bezpieczeństwa i szczegółowo, na przykładach, omawia proces tworzenia zdolności szybkiej i skutecznej reakcji na takie zdarzenia. Zaprezentowano tu techniki informatyki śledczej, od pozyskiwania dowodów i badania pamięci ulotnej po badanie dysku twardego i dowodów pochodzących z sieci. Szczególną uwagę poświęcono zagrożeniom atakami ransomware. Nie zabrakło omówienia roli analizy zagrożeń w procesie reagowania na incydenty, a także zasad sporządzania raportów dokumentujących reakcję na incydent i wyniki analizy. Pokazano również, w jaki sposób prowadzi się polowania na zagrożenia.- Druk
- PDF + ePub + Mobi pkt
Informatyka śledcza. Narzędzia i techniki skutecznego reagowania na incydenty bezpieczeństwa. Wydanie III Informatyka śledcza. Narzędzia i techniki skutecznego reagowania na incydenty bezpieczeństwa. Wydanie III
(59,40 zł najniższa cena z 30 dni)
59.40 zł
99.00 zł (-40%) -
Nowość Bestseller Promocja
Ta książka zapewni Ci wiedzę, dzięki której z powodzeniem utworzysz blue team w swojej organizacji. Dowiesz się, z jakich defensywnych środków cyberbezpieczeństwa warto skorzystać i jakimi metodami ocenić skuteczność aktualnego stanu zabezpieczeń, dogłębnie zrozumiesz także sposoby działania cyberprzestępców. Lekturę rozpoczniesz od krótkiego przeglądu znaczenia, zadań i składu zespołu niebieskiego, poznasz też ważne techniki i najlepsze praktyki w defensywnej ochronie cyberbezpieczeństwa. Nauczysz się korzystać z metodologii NIST w celu utworzenia planów reagowania na incydenty i dowiesz się, jak je testować. Znajdziesz tutaj również wskazówki, dzięki którym dopasujesz swoje działania ściśle do potrzeb organizacji.- Druk
Cyberbezpieczeństwo i strategie blue teamów. Walka z cyberzagrożeniami w Twojej organizacji Cyberbezpieczeństwo i strategie blue teamów. Walka z cyberzagrożeniami w Twojej organizacji
(35,40 zł najniższa cena z 30 dni)
35.40 zł
59.00 zł (-40%) -
Nowość Bestseller Promocja
Czy wiesz, co kryje się w centrum naszej Galaktyki? Czy zastanawiasz się czasem, jak powstają czarne dziury i co one oznaczają dla naszego zrozumienia wszechrzeczy? Czy chcesz poznać tajemnice tych niesamowitych obiektów, które wykraczają poza granice wyobraźni? Jeśli tak, to bestseller Czarne dziury. Klucz do zrozumienia wszechświata jest właśnie dla Ciebie. Znany naukowiec i popularyzator nauki Brian Cox wraz z fizykiem Jeffem Forshawem zabiorą Cię w fascynującą podróż do świata czarnych dziur. Dowiesz się, jak się narodziła koncepcja czarnych dziur, jak Einstein zapoczątkował teorię ogólnej względności, która przewidziała ich istnienie, jak Hawking odkrył, że one promieniują, i jak współczesna fizyka kwantowa próbuje połączyć grawitację z informacją. Ta książka to nie tylko pasjonująca opowieść naukowa, ale także inspirująca wizja kosmosu, w której przestrzeń i czas wyłaniają się z sieci bitów kwantowych, a czarne dziury mogą być kluczem do zrozumienia natury rzeczywistości. Przygotuj się na niesamowitą przygodę, która zmieni Twój sposób patrzenia na wszechświat.- Druk
- PDF + ePub + Mobi pkt
(35,40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł (-35%) -
Nowość Bestseller Promocja
To piąte, gruntownie zaktualizowane wydanie podręcznika, który doceni każdy student informatyki i inżynier oprogramowania. Książka obejmuje szeroki zakres zagadnień, od podstawowych pojęć po zaawansowaną problematykę związaną z najnowszymi trendami w systemach operacyjnych. Wyczerpująco omawia procesy, wątki, zarządzanie pamięcią, systemy plików, operacje wejścia-wyjścia, zakleszczenia, interfejsy użytkownika, multimedia czy kompromisy wydajnościowe. Szczegółowo, jako studia przypadków, zostały tu opisane systemy: Windows 11, Unix, Linux i Android. Jasny i przystępny styl, a także liczne przykłady i ćwiczenia ułatwiają zrozumienie nawet bardzo skomplikowanych zagadnień.- Druk
(107,40 zł najniższa cena z 30 dni)
116.35 zł
179.00 zł (-35%) -
Nowość Bestseller Promocja
Jak sądzisz, co stanowi bazę informatyki? Od czego powinien zacząć przyszły programista? Może od opanowania jednego z najpopularniejszych języków programowania? Oczywiście mógłby od tego rozpocząć, tyle że to trochę tak, jakby uczyć się korzystać z narzędzia bez świadomości, do czego ono właściwie służy. Języki programowania to praktyka. Tymczasem niezbędną wiedzą, którą także powinien opanować każdy przyszły informatyk, są podstawy dotyczące teorii informacji i kodowania.- Druk
Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań
(35,40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł (-35%) -
Nowość Promocja
Ta książka pomoże Ci się przygotować do pracy na stanowisku testera w zwinnym zespole programistów. Znajdziesz tu szczegółowe informacje na temat kolejnych etapów testowania, dzięki czemu zrozumiesz, jak w projektach agile te działania są planowane, przeprowadzane i monitorowane. Dowiesz się też, jak tę wiedzę stosować podczas wykonywania codziennych zadań testera w projekcie agile i na czym polegają różne procesy prowadzone przez zwinne zespoły. Co ważne, poszczególne koncepcje i zagadnienia odnoszą się do rzeczywistych projektów ― a to najlepszy sposób, by dobrze się przygotować do podjęcia pracy w zawodzie testera agile!- Druk
- PDF + ePub + Mobi pkt
Tester samouk w zwinnym zespole. Testowanie agile krok po kroku na podstawie rzeczywistego projektu Tester samouk w zwinnym zespole. Testowanie agile krok po kroku na podstawie rzeczywistego projektu
(35,40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł (-35%) -
Nowość Promocja
Oto drugie, zaktualizowane wydanie znakomitego przewodnika dla analityków danych. Dzięki niemu dowiesz się, w jaki sposób używać języka R do importowania, przekształcania i wizualizowania danych, a także do przekazywania uzyskanych wyników analizy. Nauczysz się też rozwiązywać najczęściej występujące problemy, a liczne ćwiczenia ułatwią Ci utrwalenie zdobytej wiedzy. Omówiono tu najnowsze funkcje języka i najlepsze praktyki w data science. Zaprezentowano również zasady korzystania z wielu bibliotek języka R, na przykład tidyverse, służącej do pobierania informacji z różnych źródeł.- Druk
- PDF + ePub + Mobi pkt
Język R w data science. Importowanie, porządkowanie, przekształcanie, wizualizowanie i modelowanie danych. Wydanie II Język R w data science. Importowanie, porządkowanie, przekształcanie, wizualizowanie i modelowanie danych. Wydanie II
(77,40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł (-35%) -
Nowość Bestseller Promocja
Ewolucja formularzy internetowych zaczęła się od prostych znaczników języka HTML 2.0 opublikowanego w 1993 roku. Z czasem HTML oferował bardziej zaawansowane funkcje obsługi formularzy. Późniejsze wersje, HTML4, a następnie HTML5, wprowadziły nowe typy pól, takie jak pola daty, koloru czy też adresu e-mail. Rozszerzyły również natywną walidację danych poprzez wprowadzenie nowych atrybutów dla znaczników. Jednak prawdziwa rewolucja w projektowaniu formularzy internetowych nastąpiła z chwilą pojawienia się bibliotek opartych na języku JavaScript. Umożliwiły one tworzenie dynamicznych formularzy z walidacją na żywo i interaktywnymi elementami, a to pozwoliło przekształcić witryny internetowe w pełnoprawne aplikacje.- Druk
- PDF + ePub + Mobi pkt
Angular i formularze reaktywne. Praktyczny przewodnik Angular i formularze reaktywne. Praktyczny przewodnik
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Nowość Bestseller Promocja
Książkę szczególnie docenią analitycy bezpieczeństwa, którzy chcą się zapoznać z zestawem poleceń ARM i zdobyć wiedzę umożliwiającą im efektywne korzystanie z technik inżynierii wstecznej. Poza zestawem potrzebnych poleceń znalazło się w niej mnóstwo przydatnych informacji. Znajdziesz tu przegląd podstawowych zagadnień związanych z systemem operacyjnym, wyjaśnienie, czym są polecenia asemblera i na czym polega proces kompilacji pliku, a także opis mechanizmów działania poleceń służących do przetwarzania danych, dostępu do pamięci i kontroli przepływu sterowania. W kolejnych rozdziałach zapoznasz się z przeglądem technik inżynierii wstecznej, takich jak analiza statyczna i dynamiczna, jak również z kompleksowym omówieniem złośliwego oprogramowania, które może ją utrudniać.- Druk
- PDF + ePub + Mobi pkt
Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna
(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:
Książka drukowana
Korzystając z tej strony zgadzasz się na używanie plików cookie, które są przechowywane na Twoim urządzeniu. Za pośrednictwem cookies zbieramy informacje, które mogą stanowić dane osobowe. Wykorzystujemy je w celach analitycznych, marketingowych oraz aby dostosować treści do Twoich preferencji i zainteresowań. Więcej informacji, w tym sposób zmiany ustawień znajdziesz w Polityce Prywatności.
Oceny i opinie klientów: TDD w praktyce. Niezawodny kod w języku Python Harry Percival (6) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(4)
(1)
(0)
(0)
(1)
(0)
więcej opinii
ukryj opinie