Szczegóły ebooka

Programowanie w języku Go. Koncepcje i przykłady. Wydanie II

Programowanie w języku Go. Koncepcje i przykłady. Wydanie II

Mat Ryer

Ebook

Go jest nowoczesnym językiem programowania rozwijanym przez firmę Google. Ostatnie zmiany sprawiły, że stał się on komfortowym narzędziem do tworzenia wydajnych aplikacji. Programiści Go mogą korzystać z wciąż rosnącego zbioru pakietów dostępnych jako open source, dzięki czemu tworzą i wdrażają oprogramowanie o znakomitej jakości. Taki kod od pierwszego dnia działa dobrze, a przy tym imponuje skalowalnością. Wbudowane mechanizmy Go, takie jak współbieżność, zapewniają możliwość uzyskiwania fantastycznych wyników nawet na najprostszym sprzęcie.

Niniejsza książka stanowi znakomite wprowadzenie do programowania w Go. Przyda się zarówno początkującym, jak i zaawansowanym programistom. Podstawą prezentowanych tu projektów są skalowalność, wydajność działania oraz wysoka dostępność. Poza opisem języka przedstawiono tu sporo istotnych koncepcji architektury oprogramowania. Wykorzystano aspekty filozofii wykorzystywanej przez „zwinnych” programistów. Opisano zasady tworzenia aplikacji korzystających z Google App Engine, pisania i korzystania z mikrousług czy też tworzenia obrazów Dockera. Wiedza zdobyta dzięki tej książce ułatwi każdemu stosowanie rozwiązań najwyższej klasy.

Najważniejsze zagadnienia:

  • aplikacje internetowe korzystające z pakietu NET/HTTP
  • programy obsługiwane z poziomu wiersza poleceń
  • systemy rozproszone i elastyczne dane
  • usługi typu RESTful
  • programistyczne korzystanie z magazynu Google Cloud Datastore
  • dobre praktyki przygotowywania aplikacji w Go

Język Go. Idź i programuj!


Mat Ryer — programuje od szóstego roku życia. Swoje pierwsze eksperymenty przeprowadzał wraz z ojcem w języku BASIC, a następnie w językach AmigaBASIC i AMOS. Jego kariera zawodowa od początku była związana z programowaniem. Używał wielu różnych języków, aż w końcu zwrócił uwagę na rozwijany przez Google język Go. Ryer od lat używa języka Go do tworzenia przeróżnych produktów, usług i projektów typu open source. Jest gorącym orędownikiem tego rozwiązania. Pisze o Go artykuły, a podczas różnych wykładów i konferencji zachęca programistów, by go wypróbowali.

O autorze (7)

O recenzentach (9)

Podziękowania (11)

Wstęp (13)

Rozdział 1. Komunikator korzystający z gniazd internetowych (19)

  • Prosty serwer WWW (20)
  • Modelowanie pokoju rozmów oraz klientów na serwerze (26)
  • Pisanie kodu HTML i JavaScript klienta pogawędek (34)
  • Śledzenie kodu w celu określenia, jak działa (38)
  • Podsumowanie (50)

Rozdział 2. Dodawanie kont użytkowników (53)

  • Wszędzie tylko funkcje obsługi (54)
  • Tworzenie atrakcyjnej strony logowania z użyciem serwisów społecznościowych (57)
  • Punkty końcowe używające dynamicznych ścieżek (59)
  • Pierwsze kroki z OAuth2 (61)
  • Poinformowanie dostawców autoryzacji o naszej aplikacji (63)
  • Implementacja zewnętrznego logowania (64)
  • Podsumowanie (75)

Rozdział 3. Trzy sposoby implementacji zdjęć profilowych (77)

  • Pobieranie awatarów z serwerów OAuth2 (78)
  • Implementacja usługi Gravatar (85)
  • Przesyłanie zdjęcia profilowego na serwer (93)
  • Połączenie wszystkich trzech implementacji (109)
  • Podsumowanie (110)

Rozdział 4. Narzędzia do znajdywania nazw domen uruchamiane z poziomu wiersza poleceń (113)

  • Stosowanie potoków w narzędziach uruchamianych z poziomu wiersza poleceń (114)
  • Pięć prostych programów (115)
  • Połączenie wszystkich pięciu programów (134)
  • Podsumowanie (139)

Rozdział 5. Tworzenie systemów rozproszonych i praca z elastycznymi danymi (141)

  • Projekt systemu (142)
  • Instalacja środowiska (144)
  • Odczytywanie głosów z Twittera (148)
  • Zliczanie głosów (164)
  • Uruchamianie rozwiązania (171)
  • Podsumowanie (172)

Rozdział 6. Udostępnianie danych i możliwości funkcjonalnych przez API internetowej usługi danych typu RESTful (175)

  • Projektowanie API typu RESTful (176)
  • Współdzielenie danych pomiędzy funkcjami obsługi (177)
  • Opakowywanie funkcji obsługi (179)
  • Wstrzykiwanie zależności (181)
  • Odpowiedzi (182)
  • Wyjaśnienie obiektu żądania (184)
  • Udostępnianie API składającego się z jednej funkcji (186)
  • Obsługa punktów końcowych (188)
  • Internetowy klient korzystający z API (196)
  • Uruchamianie rozwiązania (202)
  • Podsumowanie (204)

Rozdział 7. Internetowa usługa losowych rekomendacji (207)

  • Ogólne informacje o projekcie (208)
  • Reprezentacja danych w kodzie (211)
  • Generacja losowych rekomendacji (215)
  • Podsumowanie (230)

Rozdział 8. Kopia zapasowa systemu plików (231)

  • Projekt rozwiązania (232)
  • Struktura projektu (232)
  • Pakiet backup (233)
  • Program narzędziowy uruchamiany z wiersza poleceń (242)
  • Program demona backupd (248)
  • Testowanie rozwiązania (254)
  • Podsumowanie (255)

Rozdział 9. Tworzenie aplikacji pytań i odpowiedzi dla platformy Google App Engine (257)

  • Google App Engine API dla języka Go (258)
  • Magazyn danych Google Cloud Datastore (266)
  • Encje i dostęp do danych (268)
  • Użytkownicy Google App Engine (272)
  • Transakcje w Google Cloud Datastore (275)
  • Przeszukiwanie Google Cloud Datastore (280)
  • Głosy (282)
  • Rejestracja głosu (286)
  • Udostępnianie operacji na danych przy użyciu protokołu HTTP (289)
  • Uruchamianie aplikacji składających się z kilku modułów (302)
  • Wdrażanie aplikacji składającej się z kilku modułów (304)
  • Podsumowanie (305)

Rozdział 10. Tworzenie mikrousług w języku Go przy użyciu frameworka Go kit (307)

  • Prezentacja gRPC (309)
  • Bufory protokołu (310)
  • Implementacja usługi (314)
  • Modelowanie wywołań metod przy użyciu żądań i odpowiedzi (318)
  • Serwer HTTP we frameworku Go kit (323)
  • Serwer gRPC we frameworku Go kit (324)
  • Tworzenie polecenia serwera (328)
  • Implementacja klienta gRPC (334)
  • Ograniczanie częstości przy wykorzystaniu oprogramowania warstwy pośredniej usługi (339)
  • Podsumowanie (344)

Rozdział 11. Wdrażanie aplikacji Go przy użyciu Dockera (345)

  • Stosowanie Dockera na lokalnym komputerze (346)
  • Wdrażanie obrazów Dockera (351)
  • Wdrażanie w chmurze Digital Ocean (353)
  • Podsumowanie (359)

Dodatek A. Dobre praktyki przygotowywania stabilnego środowiska języka Go (361)

  • Instalowanie języka Go (362)
  • Konfiguracja języka Go (362)
  • Narzędzia języka Go (364)
  • Czyszczenie, budowanie i wykonywanie testów podczas zapisywania plików źródłowych (367)
  • Zintegrowane środowiska programistyczne (368)
  • Podsumowanie (374)

Skorowidz (375)

  • Tytuł: Programowanie w języku Go. Koncepcje i przykłady. Wydanie II
  • Autor: Mat Ryer
  • Tytuł oryginału: Go Programming Blueprints - Second Edition
  • Tłumaczenie: Piotr Rajca
  • ISBN: 978-83-283-3458-8, 9788328334588
  • Data wydania: 2017-09-13
  • Format: Ebook
  • Identyfikator pozycji: progo2
  • Wydawca: Helion