Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- Python
- Profesjonalne programowanie w Pythonie. Poziom ekspert. Wydanie II
Szczegóły ebooka
Profesjonalne programowanie w Pythonie. Poziom ekspert. Wydanie II
Twórcy Pythona niemal od początku starali się opracować wieloparadygmatowy język zorientowany na czytelność kodu i produktywność programisty. Dziś język ten jest uważany za wszechstronny i potężny, a do tego cechuje się prostotą i elastycznością. Nadaje się zarówno do pisania niedużych skryptów, jak i wielkich systemów, a także do wysoce specjalistycznych zadań, jak choćby analiza danych w celach naukowych. Mimo to pisanie kodu, który jest wydajny, prosty w utrzymaniu oraz łatwy w użyciu, wciąż sprawia problemy nawet zaawansowanym programistom Pythona.
Niniejsza książka jest zbiorem praktyk stosowanych przez najlepszych programistów pracujących z Pythonem. Jest przeznaczona dla osób zawodowo zajmujących się rozwojem oprogramowania oraz dla ambitnych pasjonatów w tej dziedzinie. Poza opisem zaawansowanych technik programowania w Pythonie znalazły się tu również informacje o narzędziach i technikach stosowanych obecnie przez profesjonalnych programistów. Opisano metody zarządzania kodem, tworzenia, dokumentowania i testowania kodu oraz zasady optymalizacji oprogramowania. Przedstawiono również wzorce projektowe, które szczególnie docenią programiści Pythona.
Najważniejsze zagadnienia przedstawione w książce:
- metodologie pracy w Pythonie i najlepsze praktyki składniowe
- rozszerzenia Pythona napisane w innych językach programowania
- techniki profilowania aplikacji
- przetwarzanie współbieżne i równoległe
- najprzydatniejsze wzorce projektowe
Python — niezawodne narzędzie dla profesjonalisty!
O autorach (11)
O recenzencie (12)
Przedmowa (13)
Rozdział 1. Obecny status Pythona (19)
- Gdzie jesteśmy i dokąd zmierzamy? (20)
- Dlaczego i jak zmienia się Python (20)
- Bądź na bieżąco ze zmianami języka - dokumenty PEP (21)
- Popularność Pythona 3 w chwili pisania tej książki (22)
- Główne różnice pomiędzy Pythonem 3 a Pythonem 2 (23)
- Korzyści płynące ze znajomości starej wersji Pythona (23)
- Główne różnice składni i częste pułapki (24)
- Popularne narzędzia i techniki używane w celu utrzymania kompatybilności (26)
- Nie tylko CPython (30)
- Dlaczego powinieneś się przejmować? (30)
- Stackless Python (31)
- Jython (31)
- IronPython (32)
- PyPy (33)
- Nowoczesne podejścia do programowania w Pythonie (34)
- Izolacja środowisk Pythona na poziomie aplikacji (34)
- Zalety stosowania izolacji (36)
- Popularne rozwiązania (37)
- Które rozwiązanie wybrać? (41)
- Izolacja środowisk Pythona na poziomie systemu operacyjnego (42)
- Wirtualne środowiska robocze z wykorzystaniem narzędzia Vagrant (43)
- Konteneryzacja czy wirtualizacja? (45)
- Popularne narzędzia pracy ukierunkowane na produktywność (45)
- Alternatywne powłoki Pythona - IPython, bpython, ptpython (46)
- Interaktywne debuggery (48)
- Przydatne materiały (49)
- Podsumowanie (50)
Rozdział 2. Najlepsze praktyki składniowe - poniżej poziomu klas (51)
- Typy wbudowane Pythona (52)
- Ciągi znaków i bajtów (52)
- Kolekcje (56)
- Zaawansowane elementy składni (67)
- Iteratory (67)
- Instrukcja yield (69)
- Dekoratory (72)
- Zarządcy kontekstu - instrukcja with (83)
- Inne elementy składni, o których możesz jeszcze nie wiedzieć (87)
- Konstrukcja for ... else ... (87)
- Adnotacje funkcji (88)
- Podsumowanie (89)
Rozdział 3. Najlepsze praktyki składniowe - powyżej poziomu klas (91)
- Dziedziczenie po typach wbudowanych (92)
- Uzyskiwanie dostępu do metod klas nadrzędnych (94)
- Klasy w starym stylu oraz funkcja super() w Pythonie 2 (96)
- Porządek rozpatrywania metod w Pythonie (97)
- Pułapki związane z funkcją super() (101)
- Najlepsze praktyki (104)
- Zaawansowane wzorce dostępu do atrybutów (104)
- Deskryptory (105)
- Właściwości (111)
- Sloty (114)
- Metaprogramowanie (114)
- Dekoratory jako metoda metaprogramowania (115)
- Dekoratory klas (116)
- Wykorzystanie metody __new__() w celu nadpisania procesu tworzenia instancji klas (118)
- Metaklasy (120)
- Rady dotyczące automatycznego generowania kodu (127)
- Podsumowanie (134)
Rozdział 4. Właściwy dobór nazw (135)
- PEP 8 i najlepsze praktyki nazewnicze (135)
- Kiedy i dlaczego przestrzegać zasad PEP 8? (136)
- Poza PEP 8 - wytyczne stylu w zespołach (136)
- Notacje nazewnicze (137)
- Zmienne (138)
- Zmienne publiczne i prywatne (140)
- Funkcje i metody (142)
- Właściwości (145)
- Klasy (145)
- Moduły i pakiety (146)
- Dobre praktyki nazewnicze (146)
- Użycie prefiksów is oraz has przy elementach logicznych (146)
- Użycie liczby mnogiej przy zmiennych przechowujących kolekcje (146)
- Precyzyjne opisywanie słowników (147)
- Unikanie zbyt ogólnych określeń (147)
- Unikanie istniejących nazw (148)
- Najlepsze praktyki dla argumentów funkcji i metod (149)
- Projektowanie argumentów metodą przyrostową (150)
- Ufaj argumentom i testom (150)
- Ostrożne wykorzystanie magicznych argumentów *args oraz **kwargs (152)
- Nazwy klas (154)
- Nazwy modułów i pakietów (154)
- Przydatne narzędzia (155)
- Pylint (155)
- pep8 i flake8 (157)
- Podsumowanie (158)
Rozdział 5. Tworzenie i dystrybucja pakietów (159)
- Tworzenie pakietów (160)
- Zamieszanie wokół narzędzi do tworzenia i dystrybuowania pakietów (160)
- Konfiguracja projektu (162)
- Własne polecenia skryptu setup.py (172)
- Praca z pakietami podczas ich rozwoju (172)
- Pakiety przestrzeni nazw (174)
- Zastosowanie pakietów przestrzeni nazw (174)
- PEP 420 - domyślne pakiety przestrzeni nazw (176)
- Pakiety przestrzeni nazw w starszych wersjach Pythona (177)
- Praca z repozytorium pakietów (178)
- Python Package Index - repozytorium pakietów Pythona (179)
- Dystrybucje źródłowe a dystrybucje budowane (181)
- Samodzielne pliki wykonywalne (184)
- Kiedy samodzielne pliki wykonywalne są użyteczne? (186)
- Popularne narzędzia (186)
- Bezpieczeństwo kodu Pythona w samodzielnych plikach wykonywalnych (193)
- Podsumowanie (195)
Rozdział 6. Zdalne wdrożenia kodu (197)
- Manifest Twelve-Factor App (198)
- Automatyzacja wdrożeń z wykorzystaniem narzędzia Fabric (200)
- Własne repozytorium pakietów lub kopie lustrzane PyPI (205)
- Utrzymywanie kopii lustrzanych PyPI (206)
- Wdrożenia z wykorzystaniem dystrybucji pakietów (207)
- Popularne konwencje i dobre praktyki (215)
- Hierarchia systemu plików (215)
- Izolacja (216)
- Wykorzystanie narzędzi nadzoru nad procesami (216)
- Kod aplikacji powinien być uruchomiony w przestrzeni użytkownika (218)
- Korzystanie ze wstecznych serwerów proxy protokołu HTTP (219)
- Przeładowywanie procesów bez zastojów (219)
- Instrumentacja i monitorowanie kodu (221)
- Logowanie błędów (Sentry oraz raven) (221)
- Monitorowanie metryk systemowych i aplikacji (224)
- Obsługa logów (226)
- Podsumowanie (230)
Rozdział 7. Rozszerzenia Pythona w innych językach programowania (231)
- Inne języki, czyli C lub C++ (232)
- Jak działają rozszerzenia w C i C++ (232)
- Dlaczego warto tworzyć rozszerzenia (234)
- Zwiększanie wydajności w krytycznych sekcjach kodu (235)
- Integracja kodu napisanego w innych językach programowania (236)
- Integracja zewnętrznych bibliotek dynamicznych (236)
- Tworzenie własnych wbudowanych typów danych (236)
- Pisanie rozszerzeń (237)
- Zwyczajne rozszerzenia w C (238)
- Cython (253)
- Wyzwania związane z rozszerzeniami (257)
- Dodatkowa złożoność (258)
- Debugowanie (258)
- Korzystanie z dynamicznych bibliotek bez pisania rozszerzeń (259)
- ctypes (259)
- CFFI (265)
- Podsumowanie (266)
Rozdział 8. Zarządzanie kodem (267)
- Systemy kontroli wersji (268)
- Scentralizowane systemy kontroli wersji (268)
- Rozproszone systemy kontroli wersji (271)
- Systemy scentralizowane czy rozproszone? (274)
- Korzystaj z systemu Git, jeśli tylko możesz (274)
- Git flow oraz GitHub flow (275)
- Ciągłe procesy programistyczne (279)
- Ciągła integracja oprogramowania (280)
- Ciągłe dostarczanie oprogramowania (284)
- Ciągłe wdrażanie oprogramowania (285)
- Popularne narzędzia do ciągłej integracji (285)
- Wybór odpowiednich narzędzi i częste pułapki (294)
- Podsumowanie (297)
Rozdział 9. Dokumentowanie projektu (299)
- Siedem zasad technicznego pisania (300)
- Pisz w dwóch krokach (300)
- Skieruj przekaz do konkretnej grupy czytelników (301)
- Korzystaj z prostego stylu (302)
- Ogranicz zakres informacji (303)
- Korzystaj z realistycznych przykładów (303)
- Dokumentuj lekko, ale jednocześnie wystarczająco (304)
- Korzystaj z szablonów (305)
- Poradnik reStructuredText (305)
- Struktura sekcji (307)
- Listy numerowane i wypunktowania (309)
- Formatowanie znakowe (310)
- Bloki dosłowne (310)
- Odnośniki (311)
- Budowanie dokumentacji (312)
- Budowanie portfolio dokumentacji (312)
- Tworzenie własnego portfolio (319)
- Projektowanie krajobrazu dokumentacji (319)
- Budowanie dokumentacji a systemy ciągłej integracji (324)
- Podsumowanie (325)
Rozdział 10. Programowanie sterowane testami (327)
- Nie testuję (327)
- Zasady programowania sterowanego testami (328)
- Możliwe rodzaje testów (332)
- Narzędzia testowe standardowej biblioteki Pythona (335)
- Testuję (340)
- Pułapki modułu unittest (340)
- Alternatywy dla modułu unittest (341)
- Mierzenie pokrycia kodu testami (349)
- Fałszywe obiekty zastępcze i atrapy (351)
- Testowanie kompatybilności środowisk i zależności (358)
- Programowanie sterowane dokumentami (361)
- Podsumowanie (363)
Rozdział 11. Optymalizacja - ogólne zasady i techniki profilowania (365)
- Trzy zasady optymalizacji (365)
- Przede wszystkim spraw, aby kod działał poprawnie (366)
- Pracuj z perspektywy użytkownika (367)
- Utrzymuj kod czytelnym (367)
- Strategia optymalizacyjna (368)
- Poszukaj innego winowajcy (368)
- Skaluj sprzęt (369)
- Napisz test wydajnościowy (370)
- Identyfikowanie wąskich gardeł wydajności (370)
- Profilowanie czasu użycia procesora (370)
- Profilowanie zużycia pamięci (379)
- Profilowanie połączeń sieciowych (389)
- Podsumowanie (390)
Rozdział 12. Optymalizacja - wybrane skuteczne techniki (391)
- Redukcja złożoności (392)
- Złożoność cyklomatyczna (394)
- Notacja dużego O (394)
- Upraszczanie (397)
- Przeszukiwanie list (397)
- Korzystanie ze zbiorów w miejscu list (398)
- Ukróć zewnętrzne wywołania, zredukuj nakład pracy (398)
- Korzystanie z modułu collections (399)
- Stosowanie kompromisów architektonicznych (403)
- Stosowanie heurystyk i algorytmów aproksymacyjnych (403)
- Stosowanie kolejek zadań i opóźnionego przetwarzania (404)
- Stosowanie probabilistycznych struktur danych (408)
- Buforowanie (409)
- Buforowanie deterministyczne (410)
- Buforowanie niedeterministyczne (412)
- Usługi buforujące (413)
- Podsumowanie (416)
Rozdział 13. Przetwarzanie współbieżne i równoległe (419)
- Dlaczego współbieżność? (420)
- Wielowątkowość (421)
- Czym jest wielowątkowość? (422)
- Jak Python radzi sobie z wątkami (423)
- Kiedy należy korzystać z wielowątkowości? (424)
- Przetwarzanie wieloprocesowe (439)
- Wbudowany moduł multiprocessing (442)
- Programowanie asynchroniczne (447)
- Kooperacyjna wielozadaniowość i asynchroniczne operacje wejścia/wyjścia (448)
- Słowa kluczowe async i await (449)
- asyncio w starszych wersjach Pythona (453)
- Praktyczny przykład programu asynchronicznego (454)
- Integracja nieasynchronicznego kodu z async za pomocą modułu futures (456)
- Podsumowanie (459)
Rozdział 14. Przydatne wzorce projektowe (461)
- Wzorce kreacyjne (462)
- Singleton (462)
- Wzorce strukturalne (465)
- Adapter (466)
- Pełnomocnik (481)
- Fasada (482)
- Wzorce czynnościowe (483)
- Obserwator (483)
- Odwiedzający (485)
- Szablon (488)
- Podsumowanie (491)
Skorowidz (492)
- Tytuł: Profesjonalne programowanie w Pythonie. Poziom ekspert. Wydanie II
- Autor: Michal Jaworski, Tarek Ziade
- Tytuł oryginału: Expert Python Programming, Second Edition
- Tłumaczenie: Michał Jaworski
- ISBN: 978-83-283-3034-4, 9788328330344
- Data wydania: 2017-08-09
- Format: Ebook
- Identyfikator pozycji: prprpe
- Wydawca: Helion