![book](okladki/ISBN/8301/8301206373.jpg)
![book](okladki/ISBN/8301/8301206373.jpg)
Python na poważnie : czarny pas w programowaniu, skalowaniu, testowaniu i nie tylko
Tytuł oryginału: "Serious Python : black-belt advice on deployment, scalability, testing, and more".
Rozwijaj swoje umiejętności programowania w Pythonie, zagłębiając się w tajniki języka przy pomocy książki Python na poważnie. Napisana z myślą o developerach i doświadczonych programistach książka Python na poważnie bazuje na ponad 15-letnim doświadczeniu w pracy z Pythonem, uczy czytelników, jak unikać typowych błędów, jak pisać kod w bardziej produktywny sposób i jak szybciej
budować lepsze programy. Omówimy szereg zaawansowanych zagadnień, takich jak wielowątkowość i memoizacja, przedstawimy porady ekspertów m.in. w zakresie projektowania interfejsów API i obsługi baz danych, a także wytłumaczymy pewne wewnętrzne mechanizmy, aby pomóc w lepszym zrozumieniu języka Python.
Na początku dowiesz się, jak rozpocząć projekt i rozwiązać takie kwestie jak numerowanie wersji i automatyczne sprawdzanie kodu. Później zobaczysz, jak efektywnie definiować funkcje, wybierać odpowiednie struktury danych i biblioteki, budować przyszłościowe programy, przygotowywać oprogramowanie do dystrybucji oraz optymalizować swoje programy, także na poziomie kodu bajtowego.
Ponadto dowiesz się jak:
Tworzyć i wykorzystywać efektywne dekoratory i metody, z uwzględnieniem metod abstrakcyjnych, statycznych i klas
Używać Pythona do programowania funkcyjnego przy pomocy generatorów oraz funkcji czystych i funkcyjnych
Rozszerzać narzędzie flake o analizę drzewa składniowego AST, wprowadzając bardziej zaawansowaną technikę automatycznego sprawdzania kodu
Przeprowadzać dynamiczną analizę wydajności w celu wykrywania słabych punktów w kodzie
Korzystać z relacyjnych baz danych, a także efektywnie zarządzać danymi i przesyłać je strumieniowo przy użyciu PostgreSQL Wznieś swoje umiejętności na wyższy poziom. Ucz się od ekspertów i zostań poważnym programistą Pythona dzięki książce Python na poważnie!
Odpowiedzialność: | Julien Danjou ; [przekład Natalia Chounlamany-Turalska]. |
Hasła: | Języki programowania Python (informat.) Poradniki |
Adres wydawniczy: | Warszawa : PWN, 2019. |
Opis fizyczny: | XX, 236, [1] strona : ilustracje ; 24 cm. |
Uwagi: | Na książce także ISBN oryginału. Indeks. |
Twórcy: | Chounlamany-Turalska, Natalia. Tłumacz |
Skocz do: | Dodaj recenzje, komentarz |
- 1. ROZPOCZYNANIE PROJEKTU
- Wersje Pythona
- Układ projektu
- Co robić
- Czego nie robić
- Numerowanie wersji
- Style programowania i automatyczne sprawdzanie
- Narzędzia do wykrywania błędów stylu
- Narzędzia do wykrywania błędów programistycznych
- Joshua Harlow o Pythonie
- 2. MODUŁY, BIBLIOTEKI I PLATFORMY
- System importowania
- Moduł sys
- Ścieżki importowania
- Niestandardowe importery
- Obiekty wyszukujące z listy sys.meta_path
- Przydatne standardowe biblioteki
- Zewnętrzne biblioteki
- Lista wymagań, jakie powinna spełniać bezpieczna biblioteka zewnętrzna
- Chronienie kodu przy użyciu opakowania API
- Instalacja pakietu: dodatkowe możliwości narzędzia pip
- Stosowanie i wybieranie platform Doug Hellmann, Python Core Developer, o bibliotekach Pythona
- 3. DOKUMENTACJA I NAJLEPSZE PRAKTYKI
- Dokumentowanie przy użyciu Sphinksa
- Rozpoczęcie pracy ze Sphinksem i reST
- Moduły Sphinksa
- Pisanie rozszerzeń Sphinksa
- Zarządzanie zmianami interfejsów API
- Numerowanie wersji API
- Dokumentowanie zmian API
- Oznaczanie przestarzałych funkcji przy użyciu modułu warnings
- Podsumowanie
- Christophe de Vienne o rozwijaniu interfejsów API
- 4. OBSŁUGA ZNACZNIKÓW CZASU I STREF CZASOWYCH
- Problem brakujących stref czasowych
- Budowanie domyślnych obiektów datetime
- Rozpoznawanie stref czasowych przy użyciu dateutil
- Serializowanie obiektów datetime rozpoznających strefę czasową
- Rozwiązywanie problemu niejednoznacznych godzin
- Podsumowanie
- 5. DYSTRYBUCJA OPROGRAMOWANIA
- Krótka historia plików setup.py
- Zarządzanie pakietami przy użyciu setup.cfg
- Standardowy format dystrybucji wheel
- Dzielenie się swoją pracą ze światem
- Punkty wejścia
- Wizualizowanie punktów wejścia
- Wykorzystywanie skryptów konsoli
- Wykorzystywanie wtyczek i sterowników
- Podsumowanie
- Nick Coghlan o zarządzaniu pakietami
- 6. TESTY JEDNOSTKOWE
- Podstawy testowania
- Proste testy
- Pomijanie testów
- Uruchamianie wybranych testów
- Równoległe uruchamianie testów
- Tworzenie obiektów wykorzystywanych w testach przy użyciu fikstur
- Uruchamianie scenariuszy testowych
- Kontrolowane testy bazujące na atrapach obiektów
- Odkrywanie nieprzetestowanego kodu przy użyciu coverage
- Środowiska wirtualne
- Konfigurowanie środowiska wirtualnego
- Stosowanie virtualenv wraz z narzędziem tox
- Odtwarzanie środowiska
- Stosowanie różnych wersji Pythona
- Integrowanie innych testów
- Zasady dotyczące testowania
- Robert Collins o testowaniu
- 7. METODY I DEKORATORY
- Dekoratory i kiedy ich używać
- Tworzenie dekoratorów
- Pisanie dekoratorów
- Stosowanie wielu dekoratorów
- Pisanie dekoratorów klas
- W jaki sposób działają metody w Pythonie
- Metody statyczne
- Metody klasy
- Metody abstrakcyjne
- Mieszanie metod statycznych, klasy i abstrakcyjnych
- Umieszczanie implementacji w metodach abstrakcyjnych
- Prawda o metodzie super
- Podsumowanie
- 8. PROGRAMOWANIE FUNKCYJNE
- Tworzenie czystych funkcji
- Generatory
- Tworzenie generatora
- Zwracanie i przekazywanie wartości przy użyciu instrukcji yield
- Inspekcje generatorów
- Wyrażenia listowe
- Funkcjonowanie funkcji funkcyjnych
- Stosowanie funkcji na elementach przy użyciu funkcji map(...)
- Filtrowanie list przy użyciu funkcji filter(...)
- Pobieranie indeksów przy użyciu funkcji enumeratef)
- Sortowanie listy przy użyciu funkcji sorted()
- Wyszukiwanie przy użyciu any() i all() elementów spełniających warunki
- Łączenie list przy użyciu funkcji zip()
- Rozwiązania typowych problemów
- Przydatne funkcje itertools
- Podsumowanie
- 9. DRZEWO AST, HY I ATRYBUTY JAK W JĘZYKU LISP
- Analizowanie drzewa AST
- Pisanie programu przy użyciu AST
- Obiekty AST
- Przechodzenie drzewa AST
- Rozszerzanie narzędzia flake8 o analizy AST
- Pisanie klasy
- Pomijanie nieistotnego kodu
- Sprawdzanie, czy istnieje odpowiedni dekorator
- Poszukiwanie argumentu self
- Szybkie wprowadzenie do Hy
- Podsumowanie
- Paul Tagliamonte o AST i Hy
- 10. WYDAJNOŚĆ I OPTYMALIZACJE
- Struktury danych
- Zrozumienie działania programu przez profilowanie
- cProfile
- Dezasemblowanie przy użyciu modułu dis
- Efektywne definiowanie funkcji
- Listy uporządkowane i bisect
- namedtuple i slots
- Memoizacja
- Szybszy Python dzięki PyPy
- Eliminacja kopiowania przy użyciu protokołu bufora
- Podsumowanie
- Victor Stinner o optymalizacji
- 11. SKALOWALNOŚĆ I ARCHITEKTURA
- Wielowątkowość w Pythonie i jej ograniczenia
- Przetwarzanie wieloprocesowe kontra wielowątkowe
- Architektura sterowana zdarzeniami
- Inne opcje i asyncio
- Architektura zorientowana na usługi
- Komunikacja między procesami przy użyciu ZeroMQ
- Podsumowanie
- 12. ZARZĄDZANIE RELACYJNYMI BAZAMI DANYCH
- Rozwiązania RDBMS, ORM i kiedy ich używać
- Wewnętrzne bazy danych
- Strumieniowe przesyłanie danych przy użyciu Fiask i PostgreSQL
- Pisanie aplikacji do strumieniowego przesyłania danych
- Budowanie aplikacji
- Dimitri Fontaine on Databases
- 13. PISZ MNIEJ, PROGRAMUJ WIĘCEJ
- Użycie modułu six do wspierania wersji Python 2 i 3
- Ciągi a unicode
- Rozwiązywanie problemu przeniesienia modułów Pythona
- Moduł modernize
- Wykorzystywanie Pythona jak języka Lisp do tworzenia jednego dyspozytora
- Tworzenie metod generycznych w języku Lisp
- Metody generyczne w Pythonie
- Menedżery kontekstu
- Redukowanie szablonowego kodu przy użyciu attr
Zobacz spis treści
Sprawdź dostępność, zarezerwuj (zamów):
(kliknij w nazwę placówki - więcej informacji)