Python. Instrukcje dla programisty
Zawiera darmowych rozdziałów: 19 | |
Stron w książce: 640 | Udostępniono darmowych stron: 25 |
Data wydania: 2016-10-28 | Przejdź na stronę księgarni |
Czytano online: 41 | Cena książki drukowanej: 89,00 zł |
Język wydania: Polish | Wydawnictwo: Helion |
Pobierz pdf | Czytaj online ( Alt+1 ) |
Przekonaj się, jak szybko możesz zacząć tworzyć świetne aplikacje w Pythonie!
Python to język programowania o bardzo wszechstronnych możliwościach. Nadaje się do tworzenia gier i aplikacji sieciowych oraz wdrażania indywidualnych rozwiązań biznesowych. Wykorzystuje się go do różnych celów naukowych i budowania praktycznych rozwiązań najrozmaitszych problemów. Umożliwia pisanie przejrzystego, zwięzłego kodu, który jest łatwy w konserwacji i pozwala na sprawne rozwijanie oprogramowania. Jeśli chcesz zacząć szybko pisać funkcjonujący, efektywny kod i tworzyć działające aplikacje, Python jest świetnym wyborem.
Niniejsza książka jest zwięzłym, praktycznym podręcznikiem programowania w Pythonie. Dzięki niej gruntownie opanujesz podstawy języka i nabierzesz dobrych nawyków w programowaniu. Szybko będziesz mógł skoncentrować się na praktycznej stronie realizacji projektów, a nowo poznane koncepcje wypróbujesz przez opracowywanie konkretnych kwestii. W ten sposób przygotujesz się do nauki zaawansowanych technik Pythona.
Najważniejsze zagadnienia omówione w książce:
- podstawowe koncepcje programowania
- praktyczne sposoby obsługi błędów i testowania kodu
- biblioteki i narzędzia Pythona, takie jak matplotlib, NumPy i Pygal
- praca z danymi i generowanie interaktywnych wizualizacji
- tworzenie praktycznych aplikacji od podstaw i ich wdrażanie na serwerach WWW
- możliwe problemy i sposoby ich rozwiązywania
Eric Matthes — uczy fizyki i matematyki w szkole średniej. Od kilku lat prowadzi kursy dla początkujących programistów Pythona. Swój pierwszy program komputerowy — prostą, poprawnie funkcjonującą grę — napisał w wieku 5 lat.
Mieszka na Alasce z Zoną i synem.
Darmowe rozdziały:
Rozdział 6. Słowniki (139)
- Prosty słownik (140)
-
Praca ze słownikami (140)
- Uzyskiwanie dostępu do wartości słownika (141)
- Dodanie nowej pary klucz-wartość (142)
- Rozpoczęcie pracy od pustego słownika (143)
- Modyfikowanie wartości słownika (143)
- Usuwanie pary klucz-wartość (145)
- Słownik podobnych obiektów (145)
-
Iteracja przez słownik (148)
- Iteracja przez wszystkie pary klucz-wartość (148)
- Iteracja przez wszystkie klucze słownika (150)
- Iteracja przez uporządkowane klucze słownika (152)
- Iteracja przez wszystkie wartości słownika (153)
-
Zagnieżdżanie (154)
- Lista słowników (155)
- Lista w słowniku (158)
- Słownik w słowniku (161)
- Podsumowanie (163)
O autorze (21)
O korektorze merytorycznym (21)
Podziękowania (23)
Wprowadzenie (25)
- Do kogo jest skierowana ta książka? (26)
- Czego nauczysz się z tej książki? (26)
- Dlaczego Python? (27)
Część I. Podstawy (29)
Rozdział 1. Rozpoczęcie pracy (31)
-
Przygotowanie środowiska programistycznego (31)
- Python 2 i Python 3 (31)
- Wykonanie fragmentu kodu w Pythonie (32)
- Witaj, świecie! (32)
-
Python w różnych systemach operacyjnych (33)
- Python w systemach z rodziny Linux (33)
- Python w systemie OS X (37)
- Python w systemie Windows (40)
- Rozwiązywanie problemów podczas instalacji (44)
-
Uruchamianie programów Pythona z poziomu powłoki (45)
- W systemach Linux i OS X (45)
- W systemie Windows (46)
- Podsumowanie (47)
Rozdział 2. Zmienne i proste typy danych (49)
- Co tak naprawdę dzieje się po uruchomieniu hello_world.py? (49)
-
Zmienne (50)
- Nadawanie nazw zmiennym i używanie zmiennych (51)
- Unikanie błędów związanych z nazwami podczas używania zmiennych (52)
-
Ciągi tekstowe (54)
- Zmiana wielkości liter ciągu tekstowego za pomocą metod (54)
- Łączenie ciągów tekstowych (55)
- Dodawanie białych znaków do ciągów tekstowych za pomocą tabulatora i znaku nowego wiersza (57)
- Usunięcie białych znaków (57)
- Unikanie błędów składni w ciągach tekstowych (59)
- Wyświetlanie danych w Pythonie 2.x (60)
-
Liczby (61)
- Liczby całkowite (61)
- Liczby zmiennoprzecinkowe (62)
- Unikanie błędów typu podczas pracy z funkcją str() (63)
- Liczby całkowite w Pythonie 2 (64)
-
Komentarze (65)
- Jak można utworzyć komentarz? (65)
- Jakiego rodzaju komentarze należy tworzyć? (66)
- Zen Pythona (66)
- Podsumowanie (68)
Rozdział 3. Wprowadzenie do list (71)
-
Czym jest lista? (71)
- Uzyskanie dostępu do elementów listy (72)
- Numeracja indeksu zaczyna się od 0, a nie od 1 (73)
- Użycie poszczególnych wartości listy (73)
-
Zmienianie, dodawanie i usuwanie elementów (74)
- Modyfikowanie elementów na liście (75)
- Dodawanie elementów do listy (75)
- Usuwanie elementu z listy (77)
-
Organizacja listy (82)
- Trwałe sortowanie listy za pomocą metody sort() (82)
- Wyświetlanie listy w odwrotnej kolejności alfabetycznej (84)
- Określenie wielkości listy (84)
- Unikanie błędów indeksu podczas pracy z listą (86)
- Podsumowanie (87)
Rozdział 4. Praca z listą (89)
-
Iteracja przez całą listę (89)
- Dokładniejsza analiza pętli (90)
- Wykonanie większej liczby zadań w pętli for (91)
- Wykonywanie operacji po pętli for (93)
-
Unikanie błędów związanych z wcięciami (94)
- Brak wcięcia (94)
- Brak wcięcia dodatkowych wierszy (95)
- Niepotrzebne wcięcie (95)
- Niepotrzebne wcięcie po pętli (96)
- Brak dwukropka (97)
-
Tworzenie list liczbowych (97)
- Użycie funkcji range() (97)
- Użycie funkcji range() do utworzenia listy liczb (99)
- Proste dane statystyczne dotyczące listy liczb (101)
- Lista składana (101)
-
Praca z fragmentami listy (103)
- Wycinek listy (103)
- Iteracja przez wycinek (104)
- Kopiowanie listy (105)
-
Krotka (108)
- Definiowanie krotki (108)
- Iteracja przez wszystkie wartości krotki (109)
- Nadpisanie krotki (110)
-
Styl tworzonego kodu (111)
- Konwencje stylu (111)
- Wcięcia (112)
- Długość wiersza (112)
- Puste wiersze (113)
- Inne specyfikacje stylu (113)
- Podsumowanie (114)
Rozdział 5. Konstrukcja if (115)
- Prosty przykład (115)
-
Test warunkowy (116)
- Sprawdzenie równości (116)
- Ignorowanie wielkości liter podczas sprawdzania równości (117)
- Sprawdzenie nierówności (118)
- Porównania liczbowe (119)
- Sprawdzanie wielu warunków (120)
- Sprawdzanie, czy wartość znajduje się na liście (121)
- Sprawdzanie, czy wartość nie znajduje się na liście (122)
- Wyrażenie boolowskie (122)
-
Polecenie if (123)
- Proste polecenia if (123)
- Polecenia if-else (125)
- Łańcuch if-elif-else (125)
- Użycie wielu bloków elif (127)
- Pominięcie bloku else (128)
- Sprawdzanie wielu warunków (128)
-
Używanie poleceń if z listami (132)
- Sprawdzanie pod kątem wartości specjalnych (132)
- Sprawdzanie, czy lista nie jest pusta (133)
- Użycie wielu list (134)
- Nadawanie stylu poleceniom if (136)
- Podsumowanie (137)
Rozdział 6. Słowniki (139)
- Prosty słownik (140)
-
Praca ze słownikami (140)
- Uzyskiwanie dostępu do wartości słownika (141)
- Dodanie nowej pary klucz-wartość (142)
- Rozpoczęcie pracy od pustego słownika (143)
- Modyfikowanie wartości słownika (143)
- Usuwanie pary klucz-wartość (145)
- Słownik podobnych obiektów (145)
-
Iteracja przez słownik (148)
- Iteracja przez wszystkie pary klucz-wartość (148)
- Iteracja przez wszystkie klucze słownika (150)
- Iteracja przez uporządkowane klucze słownika (152)
- Iteracja przez wszystkie wartości słownika (153)
-
Zagnieżdżanie (154)
- Lista słowników (155)
- Lista w słowniku (158)
- Słownik w słowniku (161)
- Podsumowanie (163)
Rozdział 7. Dane wejściowe użytkownika i pętla while (165)
-
Jak działa funkcja input()? (166)
- Przygotowanie jasnych i zrozumiałych komunikatów (167)
- Użycie funkcji int() do akceptowania liczbowych danych wejściowych (168)
- Operator modulo (169)
- Akceptacja danych wejściowych w Pythonie 2.7 (170)
-
Wprowadzenie do pętli while (171)
- Pętla while w działaniu (171)
- Umożliwienie użytkownikowi podjęcia decyzji o zakończeniu działania programu (172)
- Użycie flagi (174)
- Użycie polecenia break do opuszczenia pętli (175)
- Użycie polecenia continue w pętli (176)
- Unikanie pętli działającej w nieskończoność (177)
-
Użycie pętli while wraz z listami i słownikami (179)
- Przenoszenie elementów z jednej listy na drugą (179)
- Usuwanie z listy wszystkich egzemplarzy określonej wartości (180)
- Umieszczenie w słowniku danych wejściowych wprowadzonych przez użytkownika (181)
- Podsumowanie (183)
Rozdział 8. Funkcje (185)
-
Definiowanie funkcji (185)
- Przekazywanie informacji do funkcji (186)
- Argumenty i parametry (187)
-
Przekazywanie argumentów (188)
- Argumenty pozycyjne (188)
- Argumenty w postaci słów kluczowych (190)
- Wartości domyślne (191)
- Odpowiedniki wywołań funkcji (192)
- Unikanie błędów związanych z argumentami (193)
-
Wartość zwrotna (195)
- Zwrot prostej wartości (195)
- Definiowanie argumentu jako opcjonalnego (196)
- Zwrot słownika (198)
- Używanie funkcji wraz z pętlą while (199)
-
Przekazywanie listy (200)
- Modyfikowanie listy w funkcji (202)
- Uniemożliwianie modyfikowania listy przez funkcję (205)
-
Przekazywanie dowolnej liczby argumentów (205)
- Argumenty pozycyjne i przekazywanie dowolnej liczby argumentów (207)
- Używanie dowolnej liczby argumentów w postaci słów kluczowych (208)
-
Przechowywanie funkcji w modułach (209)
- Import całego modułu (210)
- Import określonych funkcji (212)
- Użycie słowa kluczowego as w celu zdefiniowania aliasu funkcji (212)
- Użycie słowa kluczowego as w celu zdefiniowania aliasu modułu (213)
- Import wszystkich funkcji modułu (213)
- Nadawanie stylu funkcjom (214)
- Podsumowanie (216)
Rozdział 9. Klasy (217)
- Utworzenie i użycie klasy (218)
- Utworzenie klasy Dog (218)
- Utworzenie egzemplarza na podstawie klasy (220)
-
Praca z klasami i egzemplarzami (223)
- Klasa Car (224)
- Przypisanie atrybutowi wartości domyślnej (225)
- Modyfikacja wartości atrybutu (226)
-
Dziedziczenie (229)
- Metoda __init__() w klasie potomnej (230)
- Dziedziczenie w Pythonie 2.7 (231)
- Definiowanie atrybutów i metod dla klasy potomnej (232)
- Nadpisywanie metod klasy nadrzędnej (233)
- Egzemplarz jako atrybut (234)
- Modelowanie rzeczywistych obiektów (236)
-
Import klas (237)
- Import pojedynczej klasy (237)
- Przechowywanie wielu klas w module (240)
- Import wielu klas z modułu (241)
- Import całego modułu (242)
- Import wszystkich klas z modułu (242)
- Import modułu w module (243)
- Określenie swojego sposobu pracy (244)
- Biblioteka standardowa Pythona (245)
- Nadawanie stylu klasom (246)
- Podsumowanie (248)
Rozdział 10. Pliki i wyjątki (249)
-
Odczytywanie danych z pliku (250)
- Wczytywanie całego pliku (250)
- Ścieżka dostępu do pliku (252)
- Odczytywanie wiersz po wierszu (253)
- Utworzenie listy wierszy na podstawie zawartości pliku (255)
- Praca z zawartością pliku (255)
- Ogromne pliki, czyli na przykład milion cyfr (257)
- Czy data Twoich urodzin znajduje się w liczbie pi? (257)
-
Zapisywanie danych w pliku (258)
- Zapisywanie danych do pustego pliku (259)
- Zapisywanie wielu wierszy (260)
- Dołączanie do pliku (261)
-
Wyjątki (262)
- Obsługiwanie wyjątku ZeroDivisionError (262)
- Używanie bloku try-except (263)
- Używanie wyjątków w celu uniknięcia awarii programu (264)
- Blok else (265)
- Obsługa wyjątku FileNotFoundError (266)
- Analiza tekstu (267)
- Praca z wieloma plikami (269)
- Ciche niepowodzenie (270)
- Które błędy należy zgłaszać? (271)
-
Przechowywanie danych (273)
- Używanie json.dump() i json.load() (273)
- Zapisywanie i odczytywanie danych wygenerowanych przez użytkownika (274)
- Refaktoryzacja (277)
- Podsumowanie (279)
Rozdział 11. Testowanie kodu (281)
-
Testowanie funkcji (282)
- Test jednostkowy i zestaw testów (283)
- Zaliczenie testu (283)
- Niezaliczenie testu (285)
- Reakcja na niezaliczony test (286)
- Dodanie nowego testu (288)
-
Testowanie klasy (290)
- Różne rodzaje metod asercji (290)
- Klasa do przetestowania (290)
- Testowanie klasy AnonymousSurvey (293)
- Metoda setUp() (295)
- Podsumowanie (297)
Część II. Projekty (299)
Projekt 1. Inwazja obcych
Rozdział 12. Statek, który strzela pociskami (303)
- Planowanie projektu (304)
-
Instalacja Pygame (304)
- Instalacja pakietów Pythona za pomocą pip (305)
-
Rozpoczęcie pracy nad projektem gry (310)
- Utworzenie okna Pygame i reagowanie na działania użytkownika (310)
- Zdefiniowanie koloru tła (311)
- Utworzenie klasy ustawień (312)
-
Dodanie obrazu statku kosmicznego (314)
- Utworzenie klasy statku kosmicznego (314)
- Wyświetlenie statku kosmicznego na ekranie (316)
-
Refaktoryzacja, czyli moduł game_functions (317)
- Funkcja check_events() (317)
- Funkcja update_screen() (319)
-
Kierowanie statkiem kosmicznym (320)
- Reakcja na naciśnięcie klawisza (320)
- Umożliwienie nieustannego ruchu (321)
- Poruszanie statkiem w obu kierunkach (323)
- Dostosowanie szybkości statku (325)
- Ograniczenie zasięgu poruszania się statku (327)
- Refaktoryzacja funkcji check_events() (327)
-
Krótkie powtórzenie (328)
- alien_invasion.py (328)
- settings.py (329)
- game_functions.py (329)
- ship.py (329)
-
Wystrzeliwanie pocisków (330)
- Dodawanie ustawień dotyczących pocisków (330)
- Utworzenie klasy Bullet (330)
- Przechowywanie pocisków w grupie (332)
- Wystrzeliwanie pocisków (333)
- Usuwanie niewidocznych pocisków (334)
- Ograniczenie liczby pocisków (336)
- Utworzenie funkcji update_bullets() (337)
- Utworzenie funkcji fire_bullet() (337)
- Podsumowanie (338)
Rozdział 13. Obcy! (339)
- Przegląd projektu (340)
-
Utworzenie pierwszego obcego (341)
- Utworzenie klasy Alien (341)
- Utworzenie egzemplarza obcego (342)
- Wyświetlenie obcego na ekranie (343)
-
Utworzenie floty obcych (343)
- Ustalenie maksymalnej liczby obcych wyświetlanych w jednym rzędzie (344)
- Utworzenie rzędów obcych (345)
- Utworzenie floty (346)
- Refaktoryzacja funkcji create_fleet() (348)
- Dodawanie rzędów (349)
-
Poruszanie flotą obcych (351)
- Przesunięcie obcych w prawo (352)
- Zdefiniowanie ustawień dla kierunku poruszania się floty (353)
- Sprawdzenie, czy obcy dotarł do krawędzi ekranu (354)
- Przesunięcie floty w dół i zmiana kierunku (355)
-
Zestrzeliwanie obcych (356)
- Wykrywanie kolizji z pociskiem (356)
- Utworzenie większych pocisków w celach testowych (357)
- Ponowne utworzenie floty (358)
- Zwiększenie szybkości pocisku (360)
- Refaktoryzacja funkcji update_bullets() (360)
-
Zakończenie gry (361)
- Wykrywanie kolizji między obcym i statkiem (361)
- Reakcja na kolizję między obcym i statkiem (362)
- Obcy, który dociera do dolnej krawędzi ekranu (366)
- Koniec gry! (367)
- Ustalenie, które komponenty gry powinny być uruchomione (367)
- Podsumowanie (368)
Rozdział 14. Punktacja (369)
-
Dodanie przycisku Gra (369)
- Utworzenie klasy Button (370)
- Wyświetlenie przycisku na ekranie (372)
- Uruchomienie gry (373)
- Zerowanie gry (374)
- Dezaktywacja przycisku Gra (376)
- Ukrycie kursora myszy (377)
-
Zmiana poziomu trudności (377)
- Zmiana ustawień dotyczących szybkości (378)
- Wyzerowanie szybkości (380)
-
Punktacja (381)
- Wyświetlanie punktacji (381)
- Utworzenie tablicy wyników (383)
- Uaktualnienie punktacji po zestrzeleniu obcego (384)
- Zagwarantowanie uwzględnienia wszystkich trafień (386)
- Zwiększenie liczby zdobywanych punktów (387)
- Zaokrąglanie punktacji (388)
- Najlepsze wyniki (389)
- Wyświetlenie aktualnego poziomu gry (391)
- Wyświetlenie liczby statków (396)
- Podsumowanie (399)
Projekt 2. Wizualizacja danych
Rozdział 15. Generowanie danych (405)
-
Instalacja matplotlib (406)
- Linux (406)
- OS X (407)
- Windows (407)
- Testowanie matplotlib (407)
- Galeria matplotlib (408)
-
Wygenerowanie prostego wykresu liniowego (408)
- Zmienianie etykiety i grubości wykresu (409)
- Poprawianie wykresu (410)
- Używanie funkcji scatter() do wyświetlania poszczególnych punktów i nadawania im stylu (411)
- Wyświetlanie serii punktów za pomocą funkcji scatter() (413)
- Automatyczne obliczanie danych (413)
- Usuwanie konturów z wyświetlanych punktów danych (415)
- Definiowanie własnych kolorów (415)
- Użycie mapy kolorów (415)
- Automatyczny zapis wykresu (416)
-
Błądzenie losowe (417)
- Utworzenie klasy RandomWalk (417)
- Wybór kierunku (418)
- Wyświetlenie wykresu błądzenia losowego (419)
- Wygenerowanie wielu błądzeń losowych (420)
- Nadawanie stylu danym wygenerowanym przez błądzenie losowe (421)
- Kolorowanie punktów (421)
- Kolorowanie punktów początkowego i końcowego (422)
- Ukrywanie osi (423)
- Dodawanie punktów do wykresu (424)
- Zmienianie wielkości wykresu, aby wypełnił ekran (424)
-
Symulacja rzutu kością do gry za pomocą Pygal (426)
- Instalacja Pygal (427)
- Galeria Pygal (427)
- Utworzenie klasy Die (427)
- Rzut kością do gry (428)
- Analiza wyników (429)
- Utworzenie histogramu (430)
- Rzut dwiema kośćmi (431)
- Rzut kośćmi o różnej liczbie ścianek (433)
- Podsumowanie (434)
Rozdział 16. Pobieranie danych (437)
-
Format CSV (438)
- Przetwarzanie nagłówków pliku CSV (438)
- Wyświetlanie nagłówków i ich położenia (439)
- Wyodrębnienie i odczytanie danych (440)
- Wyświetlenie danych na wykresie temperatury (442)
- Moduł datetime (442)
- Wyświetlanie daty (444)
- Wyświetlenie dłuższego przedziału czasu (445)
- Wyświetlenie drugiej serii danych (446)
- Nakładanie cienia na wykresie (447)
- Sprawdzenie pod kątem błędów (448)
-
Mapowanie globalnych zbiorów danych - format JSON (452)
- Pobranie danych dotyczących populacji świata (452)
- Wyodrębnienie interesujących nas danych (453)
- Konwersja ciągu tekstowego na wartość liczbową (454)
- Pobranie dwuznakowego kodu państwa (455)
- Budowanie mapy świata (458)
- Wyświetlenie danych liczbowych na mapie świata (459)
- Wyświetlenie pełnej mapy populacji (460)
- Grupowanie państw według populacji (463)
- Nadawanie stylu mapie świata w Pygal (464)
- Rozjaśnienie motywu graficznego (467)
- Podsumowanie (468)
Rozdział 17. Praca z API (471)
-
Użycie Web API (471)
- Git i GitHub (472)
- Żądanie danych za pomocą wywołania API (472)
- Instalacja requests (473)
- Przetworzenie odpowiedzi API (473)
- Praca ze słownikiem odpowiedzi (474)
- Podsumowanie repozytoriów najczęściej oznaczanych gwiazdką (477)
- Monitorowanie ograniczeń liczby wywołań API (478)
-
Wizualizacja repozytoriów za pomocą pakietu Pygal (479)
- Dopracowanie wykresów generowanych przez Pygal (481)
- Dodanie własnych podpowiedzi (483)
- Wyświetlanie danych (484)
- Dodawanie łączy do wykresu (486)
- Hacker News API (487)
- Podsumowanie (490)
Projekt 3. Aplikacje sieciowe
Rozdział 18. Rozpoczęcie pracy z Django (495)
-
Przygotowanie projektu (496)
- Opracowanie specyfikacji (496)
- Utworzenie środowiska wirtualnego (496)
- Instalacja virtualenv (497)
- Aktywacja środowiska wirtualnego (497)
- Instalacja frameworka Django (498)
- Utworzenie projektu w Django (498)
- Utworzenie bazy danych (499)
- Przegląd projektu (500)
-
Uruchomienie aplikacji (501)
- Definiowanie modeli (502)
- Aktywacja modeli (503)
- Witryna administracyjna Django (505)
- Zdefiniowanie modelu Entry (508)
- Migracja modelu Entry (509)
- Rejestracja modelu Entry w witrynie administracyjnej (509)
- Powłoka Django (510)
-
Tworzenie stron internetowych - strona główna aplikacji (512)
- Mapowanie adresu URL (513)
- Utworzenie widoku (515)
- Utworzenie szablonu (516)
-
Utworzenie dodatkowych stron (517)
- Dziedziczenie szablonu (518)
- Strona tematów (520)
- Strony poszczególnych tematów (523)
- Podsumowanie (527)
Rozdział 19. Konta użytkowników (529)
- Umożliwienie użytkownikom wprowadzania danych (530)
- Dodawanie nowego tematu (530)
- Dodawanie nowych wpisów (535)
- Edycja wpisu (539)
- Konfiguracja kont użytkowników (543)
- Aplikacja users (543)
- Strona logowania (544)
- Wylogowanie (547)
- Strona rejestracji użytkownika (548)
- Umożliwienie użytkownikom bycia właścicielami swoich danych (552)
- Ograniczenie dostępu za pomocą dekoratora @login_required (552)
- Powiązanie danych z określonymi użytkownikami (555)
- Przyznanie dostępu jedynie odpowiednim użytkownikom (558)
- Ochrona tematów użytkownika (559)
- Ochrona strony edit_entry (560)
- Powiązanie nowego tematu z bieżącym użytkownikiem (560)
- Podsumowanie (562)
Rozdział 20. Nadanie stylu i wdrożenie aplikacji (563)
-
Nadanie stylu aplikacji Learning Log (564)
- Aplikacja django-bootstrap3 (564)
- Użycie Bootstrapa do nadania stylu aplikacji Learning Log (565)
- Modyfikacja pliku base.html (566)
- Użycie elementu Jumbotron do nadania stylu stronie głównej (570)
- Nadanie stylu stronie logowania (570)
- Nadanie stylu stronie new_topic (571)
- Nadanie stylu stronie tematów (573)
- Nadanie stylów wpisom na stronie tematu (573)
-
Wdrożenie aplikacji Learning Log (575)
- Utworzenie konta w Heroku (576)
- Instalacja Heroku Toolbelt (576)
- Instalacja wymaganych pakietów (576)
- Utworzenie listy pakietów w pliku requirements.txt (577)
- Określenie środowiska uruchomieniowego Pythona (578)
- Modyfikacja pliku settings.py dla Heroku (579)
- Utworzenie pliku Procfie do uruchomienia procesu (580)
- Modyfikacja pliku wsgi.py dla Heroku (580)
- Utworzenie katalogu dla plików statycznych (580)
- Użycie serwera gunicorn w środowisku lokalnym (581)
- Użycie Gita do monitorowania plików projektu (582)
- Przekazanie projektu do Heroku (584)
- Konfiguracja bazy danych w Heroku (585)
- Dopracowanie wdrożenia projektu w Heroku (586)
- Zabezpieczenie wdrożonego projektu (588)
- Zatwierdzenie zmian i przekazanie ich do serwera (589)
- Utworzenie własnych stron błędu (590)
- Nieustanna rozbudowa (593)
- Opcja SECRET_KEY (594)
- Usunięcie projektu z Heroku (594)
- Podsumowanie (595)
Posłowie (597)
A. Instalacja Pythona (599)
-
Python w systemie Linux (599)
- Ustalenie zainstalowanej wersji (599)
- Instalacja Pythona 3 w systemie Linux (600)
-
Python w systemie OS X (600)
- Ustalenie zainstalowanej wersji (600)
- Użycie menedżera Homebrew do instalacji Pythona 3 (601)
-
Python w Windows (602)
- Instalacja Pythona 3 w Windows (602)
- Odszukanie interpretera Pythona (603)
- Dodanie Pythona do zmiennej Path (603)
-
Słowa kluczowe Pythona i wbudowane funkcje (604)
- Słowa kluczowe Pythona (604)
- Wbudowane funkcje Pythona (604)
B. Edytory tekstu (607)
-
Geany (608)
- Instalacja Geany w systemie Linux (608)
- Instalacja Geany w systemie Windows (608)
- Uruchamianie programów Python w Geany (609)
- Dostosowanie ustawień Geany do własnych potrzeb (610)
-
Sublime Text (610)
- Instalacja Sublime Text w systemie OS X (611)
- Instalacja Sublime Text w systemie Linux (611)
- Instalacja Sublime Text w systemie Windows (611)
- Uruchamianie programów Python w edytorze Sublime Text (611)
- Konfigurowanie edytora Sublime Text (612)
- Dostosowanie ustawień Sublime Text do własnych potrzeb (612)
-
IDLE (613)
- Instalacja IDLE w systemie Linux (613)
- Instalacja IDLE w systemie OS X (613)
- Instalacja IDLE w systemie Windows (614)
- Dostosowanie ustawień IDLE do własnych potrzeb (614)
- Emacs i vim (614)
C. Uzyskiwanie pomocy (615)
-
Pierwsze kroki (615)
- Spróbuj jeszcze raz (616)
- Chwila odpoczynku (616)
- Korzystaj z zasobów tej książki (617)
-
Wyszukiwanie informacji w internecie (617)
- Stack Overflow (617)
- Oficjalna dokumentacja Pythona (618)
- Oficjalna dokumentacja biblioteki (618)
- r/learnpython (618)
- Posty na blogach (618)
-
Kanały IRC (618)
- Założenie konta na kanale IRC (619)
- Kanały, do których warto się przyłączyć (619)
- Kultura na kanale IRC (619)
D. Używanie Gita do kontroli wersji (621)
-
Instalacja Gita (622)
- Instalacja Gita w systemie Linux (622)
- Instalacja Gita w systemie OS X (622)
- Instalacja Gita w systemie Windows (622)
- Konfiguracja Gita (622)
- Tworzenie projektu (623)
- Ignorowanie plików (623)
- Inicjalizacja repozytorium (624)
- Sprawdzanie stanu (624)
- Dodawanie plików do repozytorium (625)
- Zatwierdzanie plików (625)
- Sprawdzanie dziennika projektu (626)
- Drugie zatwierdzenie (627)
- Przywracanie stanu projektu (628)
- Przywrócenie projektu do wcześniejszego stanu (629)
- Usunięcie repozytorium (631)
Skorowidz (633)
Informatyka » Python - Programowanie