Facebook - konwersja
  • promocja

Python dla profesjonalistów. Debugowanie, testowanie i utrzymywanie kodu - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
10 grudnia 2017
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Python dla profesjonalistów. Debugowanie, testowanie i utrzymywanie kodu - ebook

Python istnieje już ponad 25 lat. Nie jest trudnym językiem i oferuje ogromne możliwości. Tworzenie dobrych programów w Pythonie wymaga jednak od programistów dużych umiejętności. Cykl rozwoju oprogramowania jest pełen pułapek nieznanych początkującym koderom. Mimo to w podręcznikach Pythona niewiele uwagi poświęca się debugowaniu i testowaniu, a przecież etapy te mają kluczowe znaczenie dla jakości kodu i funkcjonalności tworzonego oprogramowania.

Ta książka uczyni Cię lepszym programistą! Dzięki przedstawionym tu podstawowym praktykom stosowanym przez najbardziej profesjonalnych programistów Pythona będziesz tworzył doskonalszy kod. Zoptymalizujesz z nimi procesy debugowania programów, pisania automatycznych testów i utrzymywania oprogramowania bez nadmiernego wysiłku. Przedstawione tu techniki będą szczególnie przydatne dla programistów zajmujących się analizą danych, tworzeniem stron internetowych oraz rozwijaniem oprogramowania naukowego.

Najważniejsze zagadnienia przedstawione w książce:

  • błędy semantyczne i wyjątki,
  • sposoby eliminacji błędów i narzędzia do debugowania,
  • zasady i techniki testowania aplikacji,
  • mocne i słabe strony testów automatycznych,
  • mechanizm kontroli wersji,
  • kontrola typów i sporządzanie dokumentacji.

Ty też możesz programować w Pythonie!


Dr Kristian Rother zajmuje się programowaniem od wczesnego dzieciństwa. Jest również specjalistą w dziedzinie bioinformatyki: prowadził badania struktur 3D białek i RNA na Uniwersytecie Humboldta w Berlinie. Przez wiele lat doskonalił swoje umiejętności nauczania, a obecnie pracuje w Berlinie jako profesjonalny trener. Prowadzi szkolenia z programowania w Pythonie, uczy biochemii, statystyki, testowania aplikacji internetowych, wyszukiwarek, wygłasza prezentacje.

Spis treści

  • O autorze
  • O recenzencie technicznym
  • Podziękowania
  • Przedmowa
  • Rozdział 1 Wprowadzenie
    • Lekcja pokory
    • Najlepsze praktyki w Pythonie
    • Pochodzenie najlepszych praktyk
      • Hacking
      • Inżynieria programowania
      • Agile
      • Software Craftsmanship
    • Dla kogo jest ta książka?
    • O czym jest ta książka?
      • Część I. Debugowanie
      • Część II. Automatyczne testowanie
      • Część III. Utrzymanie
      • Dalsze korzyści
    • Gra MazeRun
    • Jak korzystać z tej książki?
      • Instalacja Pythona 3
      • Instalacja biblioteki Pygame
      • Instalacja edytora tekstu
      • Pobranie kodu źródłowego przykładów
  • Część I Debugowanie
  • Rozdział 2 Wyjątki w Pythonie
    • Wyjątki są defektami, o których istnieniu wiemy
    • Czytanie kodu
      • Błędy typu SyntaxError
      • Najlepsze praktyki debugowania wyjątków SyntaxError
    • Analiza komunikatów o błędach
      • Typ błędu
      • Opis błędu
      • Ślad
      • Dedukcja
    • Przechwytywanie wyjątków
      • Najlepsze praktyki debugowania wyjątków IOError
    • Błędy i defekty
      • Skąd się biorą defekty?
    • Poprawny kod
    • Najlepsze praktyki
  • Rozdział 3 Błędy semantyczne w Pythonie
    • Porównywanie rzeczywistych danych wyjściowych z oczekiwanymi
      • Defekty
    • Defekty przypisania zmiennych
      • Wielokrotne inicjowanie
      • Przypadkowe przypisanie
      • Przypadkowe porównania
      • Nieprawidłowe zmienne w wyrażeniu
      • Przestawione literały w wyrażeniu
    • Defekty indeksowania
      • Tworzenie nieprawidłowych indeksów
      • Użycie nieprawidłowych indeksów
    • Defekty w instrukcjach przepływu sterowania
      • Defekty w wyrażeniach logicznych
      • Defekty związane z wcięciami
    • Defekty w używaniu funkcji
      • Pomijanie wywołania funkcji
      • Brak instrukcji return
      • Brak przechowywania zwracanej wartości
    • Propagacja błędów
    • Najlepsze praktyki
  • Rozdział 4 Debugowanie metodą naukową
    • Stosowanie metody naukowej
    • Odtwarzanie błędu
    • Automatyzowanie błędu
    • Izolowanie defektu
      • Strategia rozbierania
      • Strategia wyszukiwania binarnego
    • Uzyskiwanie pomocy
      • Czas na przerwę
      • Wyjaśnij problem komuś innemu
      • Programowanie w parach
      • Przeglądy kodu
      • Czytanie
    • Sprzątanie
    • Metoda naukowa i inne najlepsze praktyki
    • Najlepsze praktyki
  • Rozdział 5 Debugowanie za pomocą instrukcji print
    • Diagnozowanie, czy kod był uruchamiany
    • Wyświetlanie zawartości zmiennych
      • Estetyczne wyświetlanie struktur danych
    • Upraszczanie danych wejściowych
      • Zacznij od minimalnego wejścia
      • Stopniowe dodawanie większej ilości danych wejściowych
    • Włączanie i wyłączanie wyświetlania wyjścia
    • Kompletny kod
    • Plusy i minusy używania instrukcji print
    • Najlepsze praktyki
  • Rozdział 6 Debugowanie z funkcjami introspekcji
    • Kodowanie eksploracyjne w IPythonie
      • Eksploracja plików i katalogów
      • Przegląd poleceń powłoki IPythona
    • Odkrywanie przestrzeni nazw
      • Eksploracja przestrzeni nazw za pomocą polecenia dir()
      • Eksploracja przestrzeni nazw obiektów
      • Eksploracja atrybutów w programie Pythona
      • Alternatywy instrukcji dir w IPythonie
    • Mechanika przestrzeni nazw
      • Python używa przestrzeni nazw dla własnych funkcji
      • Modyfikowanie przestrzeni nazw
      • Przestrzenie nazw i zasięg lokalny
      • Przestrzenie nazw są podstawową właściwością Pythona
    • Używanie samodokumentujących się obiektów
      • Dostęp do ciągów dokumentacyjnych za pomocą instrukcji help()
      • Opisy obiektów w IPythonie
    • Analizowanie typów obiektów
      • Sprawdzanie tożsamości obiektu
      • Sprawdzanie egzemplarzy i podklas
    • Praktyczne wykorzystanie introspekcji
      • Znajdowanie literówek za pomocą introspekcji
      • Łączenie funkcji introspekcji
      • Introspekcja w dużych i małych programach
    • Najlepsze praktyki
  • Rozdział 7 Korzystanie z interaktywnego debugera
    • Interaktywny debuger ipdb
      • Instalowanie ipdb
    • Uruchamianie debugera
      • Uruchamianie ipdb z wiersza polecenia
      • Uruchamianie ipdb z poziomu programu
      • Debugowanie post mortem
      • Uruchamianie debugera w odpowiedzi na wyjątki
      • Naprawa defektu
    • Komendy w wierszu poleceń debugera
      • Inspekcja zmiennych
      • Ocena wartości wyrażeń Pythona
      • Krokowe uruchamianie kodu
      • Wznawianie działania programu
    • Używanie pułapek
      • Przeglądanie i usuwanie pułapek
      • Pułapki warunkowe
    • Konfigurowanie ipdb
    • Przykład sesji ipdb
      • Dodawanie funkcji sterowania grą
      • Krokowe uruchamianie kodu
      • Usuwanie defektu
      • To działa!
      • Czy teraz program nie ma defektów?
    • Inne narzędzia do debugowania
      • pdb debuger Pythona
      • Środowisko IDE PyCharm
      • ipdbplugin
      • pudb
      • wdb
      • Pasek narzędzi Django Debug
      • cProfile
    • Najlepsze praktyki
  • Część II Automatyczne testowanie
  • Rozdział 8 Pisanie automatycznych testów
    • Instalacja frameworka py.test
    • Pisanie funkcji testowej
      • Uruchamianie testów
      • Pisanie testu, który nie przechodzi
      • Spraw, aby test przeszedł
      • Testy pomyślne a testy niepomyślne
    • Pisanie oddzielnych funkcji testowych
    • Asercje dostarczają przydatnych danych wyjściowych
    • Testowanie występowania wyjątków
    • Przypadki brzegowe
      • Złożone przypadki brzegowe
    • Korzyści wynikające z automatycznego testowania
    • Inne frameworki testowe w Pythonie
      • unittest
      • nose
      • doctest
      • Pisanie bloku __main__
    • Najlepsze praktyki
  • Rozdział 9 Organizowanie danych testowych
    • Używanie fikstur
      • Parametr scope
    • Parametryzacja testów
      • Wiele parametrów
      • Fikstury z parametrami
    • Makiety
    • Testowanie plików wynikowych
      • Sprzątanie po testach
      • Używanie plików tymczasowych
      • Porównywanie plików wynikowych z danymi testowymi
        • Moduł filecmp
        • Moduł difflib
      • Najlepsze praktyki testowania dużych plików
    • Generowanie losowych danych testowych
    • Gdzie przechowywać dane testowe?
      • Moduły danych testowych
      • Katalogi danych testowych
      • Bazy danych testowych
    • Najlepsze praktyki
  • Rozdział 10 Pisanie zestawu testów
    • Moduły testowe
    • Klasy testów
      • Refaktoryzacja funkcji testowych
      • Fikstury w klasach testowych
    • W jaki sposób testy znajdują testowany kod?
    • Wiele pakietów testowych
    • Automatyczne wykrywanie testów
    • Uruchamianie zestawu testów
      • Częściowe uruchomienie
        • Uruchamianie modułów i pakietów testowych
        • Uruchamianie klas testowych
        • Uruchamianie pojedynczych testów
          • Wybieranie testów za pomocą słów kluczowych
        • Analiza testów zakończonych niepowodzeniem
        • Ponowne uruchamianie testów
    • Obliczanie pokrycia testami
      • Zestaw testów wymaga utrzymania
    • Najlepsze praktyki
  • Rozdział 11 Najlepsze praktyki testowania
    • Rodzaje automatycznych testów
      • Testy jednostkowe
      • Testy integracyjne
      • Testy akceptacyjne
      • Testy regresji
      • Testy wydajności
      • Optymalizacja wydajności
    • Podejście najpierw test
      • Pisanie testów według specyfikacji
      • Pisanie testów według defektów
      • Rozwój oprogramowania sterowany testami (TDD)
    • Zalety automatycznego testowania
      • Testowanie oszczędza czas
      • Testowanie dodaje precyzji
      • Dzięki testowaniu współpraca staje się łatwiejsza
    • Ograniczenia automatycznego testowania
      • Testowanie wymaga sprawdzalnego kodu
      • Testowanie nie działa dobrze w przypadku projektów, które szybko się zmieniają
      • Testowanie nie udowadnia poprawności
    • Programy trudne do testowania
      • Liczby losowe
      • Graficzne interfejsy użytkownika
      • Dane wyjściowe złożone lub o dużej objętości
      • Współbieżność
      • Sytuacje, gdy automatyczne testy zawodzą
    • Inne możliwości dla automatycznego testowania
      • Tworzenie prototypów
      • Przeglądy kodu
      • Listy kontrolne
      • Procesy promujące poprawność
      • Wnioski
    • Najlepsze praktyki
  • Część III Utrzymanie
  • Rozdział 12 Kontrola wersji
    • Wprowadzenie do pracy z systemem git
      • Tworzenie repozytorium
      • Dodawanie plików do repozytorium
      • Śledzenie zmian w plikach
      • Przenoszenie i usuwanie plików
      • Odrzucanie zmian
    • Przeglądanie historii kodu
      • Pobieranie starszych commitów
      • Powrót do najświeższego commita
    • Publikowanie kodu w serwisie GitHub
      • Rozpoczynanie projektu w serwisie GitHub
      • Korzystanie z serwisu GitHub z pozycji pojedynczego programisty
      • Praca w projektach rozpoczętych przez innych
      • Projekty z wieloma programistami
      • Scalanie zmian wprowadzonych przez dwie osoby
      • Żądania pobrania
    • Korzystanie z gałęzi
      • Scalanie gałęzi
    • Konfigurowanie systemu git
      • Ignorowanie plików
      • Ustawienia globalne
    • Przykłady użycia
      • Dwadzieścia znaków: mały projekt o małym ruchu
      • Python: wielki projekt z codziennymi commitami
      • grep: projekt długoterminowy
    • Inne systemy kontroli wersji
      • Mercurial
      • Subversion (SVN)
      • CVS (Concurrent Versions Software)
      • Bitbucket
      • Sourceforge
    • Najlepsze praktyki
  • Rozdział 13 Konfigurowanie projektu w Pythonie
    • Tworzenie struktury projektu za pomocą narzędzia pyscaffold
      • Instalacja narzędzia pyscaffold
    • Typowe katalogi w projekcie Pythona
      • Katalogi utworzone przez pyscaffold
        • Główny katalog pakietu Pythona
        • Katalog tests/
        • Katalog docs/
        • Katalog .git/
      • Katalogi nieutworzone przez pyscaffold
        • Katalog bin/
        • Katalogi build/, dist/ i sdist/
        • Katalog .hg/
        • Katalogi danych
    • Pliki
      • Pliki utworzone przez pyscaffold
        • README.rst
        • setup.py
        • AUTHORS.rst
        • LICENSE.rst
        • MANIFEST.in
        • versioneer.py
        • requirements.txt
        • .coveragerc
        • .gitattributes i .gitignore
      • Pliki, które nie są tworzone przez pyscaffold
    • Ustawianie numerów wersji programu
    • Zarządzanie środowiskiem projektu Pythona za pomocą virtualenv
      • Instalacja narzędzia virtualenv
      • Podłączanie projektu do środowiska virtualenv
      • Praca z projektem virtualenv
      • Instalowanie pakietów w środowisku virtualenv
      • Opuszczanie sesji środowiska virtualenv
      • Konfigurowanie uruchamiania i dezaktywacji środowiska virtualenv
        • Ustawienie zmiennej PYTHONPATH
    • Instalowanie Pygame z virtualenv
    • Najlepsze praktyki
  • Rozdział 14 Porządkowanie kodu
    • Kod zorganizowany i niezorganizowany
      • Entropia oprogramowania: przyczyny niezorganizowanego kodu
    • Jak rozpoznać niezorganizowany kod?
      • Czytelność
      • Niedoskonałości strukturalne
      • Redundancja
      • Słabości projektu
    • Porządkowanie instrukcji Pythona
      • Pogrupuj instrukcje importu
      • Pogrupuj stałe
      • Usuń niepotrzebne wiersze
      • Zastosuj opisowe nazwy zmiennych
      • Idiomatyczny kod Pythona
    • Refaktoryzacja
      • Wyodrębnianie funkcji
      • Tworzenie prostego interfejsu wiersza polecenia
      • Podział programów na moduły
    • Uporządkowany kod
    • PEP8 i pylint
      • Komunikaty ostrzegawcze
      • Ocena punktowa kodu
    • Zrób tak, żeby działało, zrób to dobrze, zrób tak, żeby działało szybko
      • Zrób tak, żeby działało
      • Zrób to dobrze
      • Zrób tak, żeby działało szybko
    • Przykłady dobrze zorganizowanego kodu
    • Najlepsze praktyki
  • Rozdział 15 Dekompozycja zadań programistycznych
    • Dekompozycja zadań programowania jest trudna
    • Proces dekompozycji zadań programowania
    • Napisz historyjkę użytkownika
    • Dodaj szczegóły do opisu
      • Kryteria akceptacji
      • Opisy przypadków użycia
    • Sprawdź wymagania niefunkcjonalne
    • Identyfikowanie problemów
      • Niepełne informacje
      • Wiedza specjalistyczna
      • Zmiany istniejącego kodu
      • Przewidywanie przyszłych zmian
    • Wybór architektury
    • Identyfikowanie komponentów programu
    • Implementacja
    • Inne narzędzia planowania
      • Plan projektu na jednej stronie
      • Śledzenie spraw
      • Kanban
    • Najlepsze praktyki
  • Rozdział 16 Statyczne typowanie w języku Python
    • Słabe strony dynamicznego typowania
      • Sygnatury funkcji
      • Granice wartości
      • Semantyczne znaczenie typów
      • Typy złożone
    • Czy w Pythonie jest możliwe silniejsze typowanie?
    • Asercje
    • NumPy
    • Bazy danych
    • Integracja kodu w języku C
    • Cython
    • Wskazówki typowania
      • mypy
    • Której metody kontroli typów używać?
    • Najlepsze praktyki
  • Rozdział 17 Dokumentacja
    • Dla kogo piszemy dokumentację?
    • Sphinx: narzędzie do tworzenia dokumentacji dla języka Python
      • Konfigurowanie Sphinksa
      • Pliki utworzone przez program Sphinx
      • Tworzenie dokumentacji
        • Budowanie dokumentacji HTML
        • Budowanie dokumentacji PDF
        • Budowanie dokumentacji EPUB
    • Pisanie dokumentacji
      • Dyrektywy
      • Organizowanie dokumentów
      • Przykłady kodu
      • Generowanie dokumentacji na podstawie ciągów docstring
    • Testy dokumentacji
    • Konfigurowanie Sphinksa
      • Wpisy Todo
        • Tworzenie listy Todo
      • Budowanie warunkowe
      • Zmiana wyglądu i wrażenia
    • Jak napisać dobrą dokumentację?
      • Sekcje tekstu w dokumentacji technicznej
        • Streszczenie
        • Wymagania wstępne i instalacja
        • Pierwsze kroki
        • Receptury
        • Studia przypadków
        • Dokumentacja techniczna
        • Dokumentacja projektowa
        • Aspekty prawne
          • Przykłady dobrej dokumentacji
    • Inne narzędzia do tworzenia dokumentacji
      • MkDocs
      • Notatniki Jupyter
      • GitBook
      • Read the Docs
      • pydoc
      • S5
      • pygments
      • doctest
      • PyPDF2
      • pandoc
    • Najlepsze praktyki
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-3803-6
Rozmiar pliku: 5,8 MB

BESTSELLERY

Kategorie: