Python na poważnie

Czarny pas w programowaniu, skalowaniu, testowaniu i nie tylko

1 opinia

Format:

epub, mobi, ibuk

DODAJ DO ABONAMENTU

WYBIERZ RODZAJ DOSTĘPU

44,10  63,00

Format: epub, mobi

 

Dostęp online przez myIBUK

WYBIERZ DŁUGOŚĆ DOSTĘPU

6,15

Wypożycz na 24h i opłać sms-em

44,1063,00

cena zawiera podatek VAT

ZAPŁAĆ SMS-EM

TA KSIĄŻKA JEST W ABONAMENCIE

Już od 19,90 zł miesięcznie za 5 ebooków!

WYBIERZ SWÓJ ABONAMENT

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 flake8 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!


Liczba stron238
WydawcaWydawnictwo Naukowe PWN
TłumaczenieNatalia Chounlamany-Turalska
ISBN-13978-83-01-20641-3
Numer wydania1
Język publikacjipolski
Informacja o sprzedawcyRavelo Sp. z o.o.

Ciekawe propozycje

Spis treści

[]. ROZPOCZYNANIE PROJEKTU    1
[]Wersje Pythona    1
  Układ projektu    3
    Co robić    3
    Czego nie robić    4
  Numerowanie wersji    5
  Style programowania i automatyczne sprawdzanie    6
    Narzędzia do wykrywania błędów stylu    8
    Narzędzia do wykrywania błędów programistycznych    8
  Joshua Harlow o Pythonie    10
  2. MODUŁY, BIBLIOTEKI I PLATFORMY M    13
  System importowania    14
    Moduł sys    16
    Ścieżki importowania    16
    Niestandardowe importery    17
    Obiekty wyszukujące z listy sys.meta_path    17
  Przydatne standardowe biblioteki    19
  Zewnętrzne biblioteki    21
    Lista wymagań, jakie powinna spełniać bezpieczna biblioteka zewnętrzna    22
    Chronienie kodu przy użyciu opakowania API    23
  Instalacja pakietu: dodatkowe możliwości narzędzia pip    23
  Stosowanie i wybieranie platform    26
  Doug Hellmann, Python Core Developer, o bibliotekach Pythona    27
  3. DOKUMENTACJA I NAJLEPSZE PRAKTYKI    33
  Dokumentowanie przy użyciu Sphinksa    34
    Rozpoczęcie pracy ze Sphinksem i reST    35
    Moduły Sphinksa    36
    Pisanie rozszerzeń Sphinksa    39
    Zarządzanie zmianami interfejsów API    41
    Numerowanie wersji API    41
    Dokumentowanie zmian API    42
    Oznaczanie przestarzałych funkcji przy użyciu modułu warnings    44
  Podsumowanie    46
  Christophe de Vienne o rozwijaniu interfejsów API    46
  4. OBSŁUGA ZNACZNIKÓW CZASU I STREF CZASOWYCH    49
  Problem brakujących stref czasowych    50
  Budowanie domyślnych obiektów datetime    50
  Rozpoznawanie stref czasowych przy użyciu dateutil    52
  Serializowanie obiektów datetime rozpoznających strefę czasową    54
  Rozwiązywanie problemu niejednoznacznych godzin    56
  Podsumowanie    57
  5. DYSTRYBUCJA OPROGRAMOWANIA    59
  Krótka historia plików setup.py    60
  Zarządzanie pakietami przy użyciu setup.cfg    62
  Standardowy format dystrybucji wheel    64
  Dzielenie się swoją pracą ze światem    66
  Punkty wejścia    70
    Wizualizowanie punktów wejścia    71
    Wykorzystywanie skryptów konsoli    72
    Wykorzystywanie wtyczek i sterowników    74
  Podsumowanie    77
  Nick Coghlan o zarządzaniu pakietami    77
  6. TESTY JEDNOSTKOWE    79
  Podstawy testowania    80
    Proste testy    80
    Pomijanie testów    82
    Uruchamianie wybranych testów    83
    Równoległe uruchamianie testów    85
    Tworzenie obiektów wykorzystywanych w testach przy użyciu fikstur    86
    Uruchamianie scenariuszy testowych    87
    Kontrolowane testy bazujące na atrapach obiektów    88
    Odkrywanie nieprzetestowanego kodu przy użyciu coverage    93
  Środowiska wirtualne    95
    Konfigurowanie środowiska wirtualnego    96
    Stosowanie virtualenv wraz z narzędziem tox    98
    Odtwarzanie środowiska    99
    Stosowanie różnych wersji Pythona    100
    Integrowanie innych testów    101
  Zasady dotyczące testowania    102
  Robert Collins o testowaniu    103
  7. METODY I DEKORATORY    107
  Dekoratory i kiedy ich używać    108
    Tworzenie dekoratorów    108
    Pisanie dekoratorów    109
    Stosowanie wielu dekoratorów    110
    Pisanie dekoratorów klas    111
  W jaki sposób działają metody w Pythonie    116
  Metody statyczne    117
  Metody klasy    119
  Metody abstrakcyjne    120
  Mieszanie metod statycznych, klasy i abstrakcyjnych    121
    Umieszczanie implementacji w metodach abstrakcyjnych    123
    Prawda o metodzie super    124
  Podsumowanie    127
  8. PROGRAMOWANIE FUNKCYJNE    129
  Tworzenie czystych funkcji    130
  Generatory    131
    Tworzenie generatora    131
    Zwracanie i przekazywanie wartości przy użyciu instrukcji yield    133
    Inspekcje generatorów    134
  Wyrażenia listowe    136
  Funkcjonowanie funkcji funkcyjnych    137
    Stosowanie funkcji na elementach przy użyciu funkcji map()    137
    Filtrowanie list przy użyciu funkcji filter()    138
    Pobieranie indeksów przy użyciu funkcji enumerate()    138
    Sortowanie listy przy użyciu funkcji sorted()    138
    Wyszukiwanie przy użyciu any() i all() elementów spełniających warunki    139
    Łączenie list przy użyciu funkcji zip()    139
    Rozwiązania typowych problemów    140
    Przydatne funkcje itertools    140
  Podsumowanie    145
  9. DRZEWO AST, HY I ATRYBUTY JAK W JĘZYKU LISP    147
  Analizowanie drzewa AST    148
    Pisanie programu przy użyciu AST    150
    Obiekty AST    151
    Przechodzenie drzewa AST    151
  Rozszerzanie narzędzia fl ake8 o analizy AST    153
    Pisanie klasy    154
    Pomijanie nieistotnego kodu    154
    Sprawdzanie, czy istnieje odpowiedni dekorator    155
    Poszukiwanie argumentu self    156
  Szybkie wprowadzenie do Hy    158
  Podsumowanie    160
  Paul Tagliamonte o AST i Hy    160
  10. WYDAJNOŚĆ I OPTYMALIZACJE    165
  Struktury danych    166
  Zrozumienie działania programu przez profi lowanie    168
    cProfi le    169
    Dezasemblowanie przy użyciu modułu dis    171
  Efektywne defi niowanie funkcji    173
  Listy uporządkowane i bisect    174
  namedtuple i __slots__    177
  Memoizacja    182
  Szybszy Python dzięki PyPy    184
  Eliminacja kopiowania przy użyciu protokołu bufora    185
  Podsumowanie    190
  Victor Stinner o optymalizacji    190
  11. SKALOWALNOŚĆ I ARCHITEKTURA    193
  Wielowątkowość w Pythonie i jej ograniczenia    194
  Przetwarzanie wieloprocesowe kontra wielowątkowe    195
  Architektura sterowana zdarzeniami    197
  Inne opcje i asyncio    199
  Architektura zorientowana na usługi    200
  Komunikacja między procesami przy użyciu ZeroMQ    201
  Podsumowanie    203
  12. ZARZĄDZANIE RELACYJNYMI BAZAMI DANYCH    205
  Rozwiązania RDBMS, ORM i kiedy ich używać    205
  Wewnętrzne bazy danych    208
  Strumieniowe przesyłanie danych przy użyciu Flask i PostgreSQL    209
    Pisanie aplikacji do strumieniowego przesyłania danych    209
    Budowanie aplikacji    212
  Dimitri Fontaine on Databases    214
  13. PISZ MNIEJ, PROGRAMUJ WIĘCEJ    219
  Użycie modułu six do wspierania wersji Python 2 i 3    219
    Ciągi a unicode    221
    Rozwiązywanie problemu przeniesienia modułów Pythona    221
    Moduł modernize    222
  Wykorzystywanie Pythona jak języka Lisp do tworzenia jednego dyspozytora    222
    Tworzenie metod generycznych w języku Lisp    222
    Metody generyczne w Pythonie    224
  Menedżery kontekstu    226
  Redukowanie szablonowego kodu przy użyciu attr    229
  Podsumowanie    232
  INDEKS    233
RozwińZwiń
W celu zapewnienia wysokiej jakości świadczonych przez nas usług, nasz portal internetowy wykorzystuje informacje przechowywane w przeglądarce internetowej w formie tzw. „cookies”. Poruszając się po naszej stronie internetowej wyrażasz zgodę na wykorzystywanie przez nas „cookies”. Informacje o przechowywaniu „cookies”, warunkach ich przechowywania i uzyskiwania dostępu do nich znajdują się w Regulaminie.

Nie pokazuj więcej tego powiadomienia