Biblioteka Publiczna

w Dzielnicy BIAŁOŁĘKA m.st. Warszawy

book
book

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".

Autor: Danjou, Julien.




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!

Zobacz pełny opis
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
Spis treści:

  1. 1. ROZPOCZYNANIE PROJEKTU
  2. Wersje Pythona
  3. Układ projektu
  4. Co robić
  5. Czego nie robić
  6. Numerowanie wersji
  7. Style programowania i automatyczne sprawdzanie
  8. Narzędzia do wykrywania błędów stylu
  9. Narzędzia do wykrywania błędów programistycznych
  10. Joshua Harlow o Pythonie
  11. 2. MODUŁY, BIBLIOTEKI I PLATFORMY
  12. System importowania
  13. Moduł sys
  14. Ścieżki importowania
  15. Niestandardowe importery
  16. Obiekty wyszukujące z listy sys.meta_path
  17. Przydatne standardowe biblioteki
  18. Zewnętrzne biblioteki
  19. Lista wymagań, jakie powinna spełniać bezpieczna biblioteka zewnętrzna
  20. Chronienie kodu przy użyciu opakowania API
  21. Instalacja pakietu: dodatkowe możliwości narzędzia pip
  22. Stosowanie i wybieranie platform Doug Hellmann, Python Core Developer, o bibliotekach Pythona
  23. 3. DOKUMENTACJA I NAJLEPSZE PRAKTYKI
  24. Dokumentowanie przy użyciu Sphinksa
  25. Rozpoczęcie pracy ze Sphinksem i reST
  26. Moduły Sphinksa
  27. Pisanie rozszerzeń Sphinksa
  28. Zarządzanie zmianami interfejsów API
  29. Numerowanie wersji API
  30. Dokumentowanie zmian API
  31. Oznaczanie przestarzałych funkcji przy użyciu modułu warnings
  32. Podsumowanie
  33. Christophe de Vienne o rozwijaniu interfejsów API
  34. 4. OBSŁUGA ZNACZNIKÓW CZASU I STREF CZASOWYCH
  35. Problem brakujących stref czasowych
  36. Budowanie domyślnych obiektów datetime
  37. Rozpoznawanie stref czasowych przy użyciu dateutil
  38. Serializowanie obiektów datetime rozpoznających strefę czasową
  39. Rozwiązywanie problemu niejednoznacznych godzin
  40. Podsumowanie
  41. 5. DYSTRYBUCJA OPROGRAMOWANIA
  42. Krótka historia plików setup.py
  43. Zarządzanie pakietami przy użyciu setup.cfg
  44. Standardowy format dystrybucji wheel
  45. Dzielenie się swoją pracą ze światem
  46. Punkty wejścia
  47. Wizualizowanie punktów wejścia
  48. Wykorzystywanie skryptów konsoli
  49. Wykorzystywanie wtyczek i sterowników
  50. Podsumowanie
  51. Nick Coghlan o zarządzaniu pakietami
  52. 6. TESTY JEDNOSTKOWE
  53. Podstawy testowania
  54. Proste testy
  55. Pomijanie testów
  56. Uruchamianie wybranych testów
  57. Równoległe uruchamianie testów
  58. Tworzenie obiektów wykorzystywanych w testach przy użyciu fikstur
  59. Uruchamianie scenariuszy testowych
  60. Kontrolowane testy bazujące na atrapach obiektów
  61. Odkrywanie nieprzetestowanego kodu przy użyciu coverage
  62. Środowiska wirtualne
  63. Konfigurowanie środowiska wirtualnego
  64. Stosowanie virtualenv wraz z narzędziem tox
  65. Odtwarzanie środowiska
  66. Stosowanie różnych wersji Pythona
  67. Integrowanie innych testów
  68. Zasady dotyczące testowania
  69. Robert Collins o testowaniu
  70. 7. METODY I DEKORATORY
  71. Dekoratory i kiedy ich używać
  72. Tworzenie dekoratorów
  73. Pisanie dekoratorów
  74. Stosowanie wielu dekoratorów
  75. Pisanie dekoratorów klas
  76. W jaki sposób działają metody w Pythonie
  77. Metody statyczne
  78. Metody klasy
  79. Metody abstrakcyjne
  80. Mieszanie metod statycznych, klasy i abstrakcyjnych
  81. Umieszczanie implementacji w metodach abstrakcyjnych
  82. Prawda o metodzie super
  83. Podsumowanie
  84. 8. PROGRAMOWANIE FUNKCYJNE
  85. Tworzenie czystych funkcji
  86. Generatory
  87. Tworzenie generatora
  88. Zwracanie i przekazywanie wartości przy użyciu instrukcji yield
  89. Inspekcje generatorów
  90. Wyrażenia listowe
  91. Funkcjonowanie funkcji funkcyjnych
  92. Stosowanie funkcji na elementach przy użyciu funkcji map(...)
  93. Filtrowanie list przy użyciu funkcji filter(...)
  94. Pobieranie indeksów przy użyciu funkcji enumeratef)
  95. Sortowanie listy przy użyciu funkcji sorted()
  96. Wyszukiwanie przy użyciu any() i all() elementów spełniających warunki
  97. Łączenie list przy użyciu funkcji zip()
  98. Rozwiązania typowych problemów
  99. Przydatne funkcje itertools
  100. Podsumowanie
  101. 9. DRZEWO AST, HY I ATRYBUTY JAK W JĘZYKU LISP
  102. Analizowanie drzewa AST
  103. Pisanie programu przy użyciu AST
  104. Obiekty AST
  105. Przechodzenie drzewa AST
  106. Rozszerzanie narzędzia flake8 o analizy AST
  107. Pisanie klasy
  108. Pomijanie nieistotnego kodu
  109. Sprawdzanie, czy istnieje odpowiedni dekorator
  110. Poszukiwanie argumentu self
  111. Szybkie wprowadzenie do Hy
  112. Podsumowanie
  113. Paul Tagliamonte o AST i Hy
  114. 10. WYDAJNOŚĆ I OPTYMALIZACJE
  115. Struktury danych
  116. Zrozumienie działania programu przez profilowanie
  117. cProfile
  118. Dezasemblowanie przy użyciu modułu dis
  119. Efektywne definiowanie funkcji
  120. Listy uporządkowane i bisect
  121. namedtuple i slots
  122. Memoizacja
  123. Szybszy Python dzięki PyPy
  124. Eliminacja kopiowania przy użyciu protokołu bufora
  125. Podsumowanie
  126. Victor Stinner o optymalizacji
  127. 11. SKALOWALNOŚĆ I ARCHITEKTURA
  128. Wielowątkowość w Pythonie i jej ograniczenia
  129. Przetwarzanie wieloprocesowe kontra wielowątkowe
  130. Architektura sterowana zdarzeniami
  131. Inne opcje i asyncio
  132. Architektura zorientowana na usługi
  133. Komunikacja między procesami przy użyciu ZeroMQ
  134. Podsumowanie
  135. 12. ZARZĄDZANIE RELACYJNYMI BAZAMI DANYCH
  136. Rozwiązania RDBMS, ORM i kiedy ich używać
  137. Wewnętrzne bazy danych
  138. Strumieniowe przesyłanie danych przy użyciu Fiask i PostgreSQL
  139. Pisanie aplikacji do strumieniowego przesyłania danych
  140. Budowanie aplikacji
  141. Dimitri Fontaine on Databases
  142. 13. PISZ MNIEJ, PROGRAMUJ WIĘCEJ
  143. Użycie modułu six do wspierania wersji Python 2 i 3
  144. Ciągi a unicode
  145. Rozwiązywanie problemu przeniesienia modułów Pythona
  146. Moduł modernize
  147. Wykorzystywanie Pythona jak języka Lisp do tworzenia jednego dyspozytora
  148. Tworzenie metod generycznych w języku Lisp
  149. Metody generyczne w Pythonie
  150. Menedżery kontekstu
  151. 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)

Czyt. Nr XX
ul. Van Gogha 1

Sygnatura: 004
Numer inw.: 21335
Pozycja wypożyczona

Wypożyczona przez: 105619
do dnia: 2024-07-16
schowekrezerwuj
więcejrezerwuj

Dodaj komentarz do pozycji:

Swoją opinię można wyrazić po uprzednim zalogowaniu.