reklama - zainteresowany?

J - Helion

J
Autor: Jon Bodner
Tytu艂 orygina艂u: Learning Go: An Idiomatic Approach to Real-World Go Programming
T艂umaczenie: Piotr Cie
ISBN: 978-83-283-8394-4
stron: 328, Format: 168x237, ok艂adka: mi
Data wydania: 2022-04-01
Ksi臋garnia: Helion

Cena ksi膮偶ki: 71,20 z艂 (poprzednio: 87,90 z艂)
Oszcz臋dzasz: 19% (-16,70 z艂)

Nak艂ad wyczerpany

Tagi: Go - Programowanie

Go pojawi

Spis tre艣ci

J臋zyk Go. Tworzenie idiomatycznego kodu w praktyce -- spis tre艣ci

  • Opinie o ksi膮偶ce J臋zyk Go. Tworzenie idiomatycznego kodu w praktyce
  • Przedmowa
    • Do kogo jest skierowana ta ksi膮偶ka
    • Konwencje zastosowane w tej ksi膮偶ce
    • Pos艂ugiwanie si臋 przyk艂adami
    • Podzi臋kowania
  • Rozdzia艂 1. Konfigurowanie 艣rodowiska Go
    • Instalowanie narz臋dzi Go
    • 艢rodowisko robocze Go
    • Polecenie go
      • Polecenia go run i go build
        • Polecenie go run
        • Polecenie go build
      • Instalowanie pomocniczych narz臋dzi Go
      • Formatowanie kodu
    • Analiza sk艂adniowa i weryfikacja kodu
    • Dob贸r narz臋dzi
      • Visual Studio Code
      • GoLand
      • Go Playground
    • Pliki regu艂
    • Aktualizacja
    • Podsumowanie
  • Rozdzia艂 2. Typy podstawowe i deklaracje
    • Typy wbudowane
      • Warto艣膰 zerowa
      • Litera艂y
      • Zmienne boolowskie
      • Typy numeryczne
        • Typy ca艂kowite
        • Specjalne typy ca艂kowite
        • Wyb贸r typu ca艂kowitego
        • Operatory warto艣ci ca艂kowitych
        • Typy zmiennoprzecinkowe
        • Typy zespolone (zapewne nie b臋dziesz si臋 nimi pos艂ugiwa膰)
      • Przedsmak informacji o 艂a艅cuchach i runach
      • Jawna konwersja typ贸w
    • S艂owo kluczowe var a operator :=
    • Zastosowanie s艂owa kluczowego const
    • Sta艂e typowane i nietypowane
    • Niewykorzystane zmienne
    • Nazywanie zmiennych i sta艂ych
    • Podsumowanie
  • Rozdzia艂 3. Typy z艂o偶one
    • Tablice za ma艂o elastyczne, by u偶ywa膰 ich bezpo艣rednio
    • Wycinki
      • Funkcja len
      • Funkcja append
      • Pojemno艣膰
      • Funkcja make
      • Deklarowanie wycinka
      • Wycinki wycink贸w
        • Wycinki czasami wsp贸艂dziel膮 pami臋膰
      • Przekszta艂canie tablic w wycinki
      • Funkcja copy
    • 艁a艅cuchy, runy i bajty
    • Mapy
      • Mapy czytanie i zapisywanie danych
      • Idiom comma ok
      • Usuwanie element贸w z map
      • U偶ywanie map jako zbior贸w
    • Struktury
      • Struktury anonimowe
      • Por贸wnywanie i konwertowanie struktur
    • Podsumowanie
  • Rozdzia艂 4. Bloki, przes艂anianie oraz struktury steruj膮ce
    • Bloki
      • Przes艂anianie zmiennych
      • Wykrywanie przes艂oni臋tych zmiennych
    • Instrukcja if
    • Cztery wersje p臋tli for
      • Pe艂na p臋tla for
      • Warunkowa p臋tla for
      • Niesko艅czona p臋tla for
      • Instrukcje break i continue
      • Instrukcja for-range
        • Iterowanie map
        • Iterowanie 艂a艅cuch贸w
        • Warto艣膰 zwracana przez p臋tl臋 for-range jest kopi膮
      • Oznaczanie instrukcji etykietami
      • Wyb贸r w艂a艣ciwej wersji p臋tli for
    • Instrukcja switch
    • Puste instrukcje switch
    • Wyb贸r pomi臋dzy instrukcjami if a switch
    • Instrukcja goto tak, goto!
    • Podsumowanie
  • Rozdzia艂 5. Funkcje
    • Deklarowanie i wywo艂ywanie funkcji
      • Symulowanie parametr贸w nazwanych i opcjonalnych
      • Wycinki a zmienna liczba parametr贸w wej艣ciowych
      • Zwracanie wielu warto艣ci
      • Je艣li funkcja zwraca wiele warto艣ci, nale偶y je traktowa膰 osobno
      • Ignorowanie zwr贸conych warto艣ci
      • Nazywanie zwracanych warto艣ci
      • Pusta instrukcja return stosowanie surowo wzbronione!
    • Funkcje to warto艣ci
      • Deklaracja typu funkcyjnego
      • Funkcje anonimowe
    • Domkni臋cia
      • Przekazywanie funkcji jako argument贸w
      • Zwracanie funkcji przez inne funkcje
    • Instrukcja defer
    • W Go obowi膮zuje wywo艂anie przez warto艣膰
    • Podsumowanie
  • Rozdzia艂 6. Wska藕niki
    • Kr贸tkie wprowadzenie do wska藕nik贸w
    • Nie b贸j si臋 wska藕nik贸w
    • Wska藕niki oznaczaj膮 argumenty modyfikowalne
    • Wska藕niki s膮 ostatni膮 desk膮 ratunku
    • Wydajno艣膰 przekazywania wska藕nik贸w
    • Warto艣膰 zerowa a brak warto艣ci
    • R贸偶nica mi臋dzy mapami a wycinkami
    • Wycinki w charakterze bufor贸w
    • Jak u艂atwi膰 prac臋 mechanizmowi garbage collector
    • Podsumowanie
  • Rozdzia艂 7. Typy, metody i interfejsy
    • Typy w j臋zyku Go
    • Metody
      • Odbiorcy wska藕nik贸w i odbiorcy warto艣ci
      • Programowanie metod pod k膮tem instancji nil
      • Metody tak偶e s膮 funkcjami
      • Funkcje kontra metody
      • Deklaracje typ贸w nie oznaczaj膮 dziedziczenia
      • Typy s膮 elementem dokumentacji programu
      • Iota s艂u偶y do tworzenia typ贸w wyliczeniowych czasami
    • U偶ywaj osadzania w przypadku kompozycji
    • Osadzanie nie jest dziedziczeniem
    • Kr贸tki przewodnik po interfejsach
    • Interfejsy s膮 bezpieczne pod wzgl臋dem typ贸w (duck typing)
    • Osadzanie a interfejsy
    • Przyjmuj interfejsy, zwracaj struktury
    • Interfejsy a nil
    • Pusty interfejs nie informuje o niczym
    • Asercja i prze艂膮czniki typ贸w
    • Asercje i prze艂膮czniki typ贸w warto stosowa膰 oszcz臋dnie
    • Typy funkcyjne s膮 pomostem dla interfejs贸w
    • Niejawna implementacja interfejsu u艂atwia wstrzykiwanie zale偶no艣ci
    • Wire
    • Go nie jest typowym j臋zykiem zorientowanym obiektowo (i bardzo dobrze)
    • Podsumowanie
  • Rozdzia艂 8. B艂臋dy
    • Obs艂uga b艂臋d贸w podstawy
    • W przypadku prostych b艂臋d贸w u偶ywaj 艂a艅cuch贸w znak贸w
    • B艂臋dy typu sentinel
    • B艂臋dy to warto艣ci
    • Opakowywanie b艂臋d贸w
    • Funkcje Is i As
    • Opakowywanie b艂臋d贸w przy u偶yciu instrukcji defer
    • Funkcje panic i recover
    • Tworzenie zrzutu stosu w przypadku b艂臋du
    • Podsumowanie
  • Rozdzia艂 9. Modu艂y, pakiety i importowanie
    • Repozytoria, modu艂y i pakiety
    • Plik go.mod
    • Tworzenie pakiet贸w
      • Importowanie i eksportowanie
      • Tworzenie pakietu i uzyskiwanie dost臋pu do niego
      • Nazewnictwo pakiet贸w
      • Struktura modu艂u
      • Zast臋powanie nazwy pakietu
      • Komentarze dotycz膮ce pakiet贸w i format godoc
      • Pakiet internal
      • Funkcja init unikaj jej, je艣li to mo偶liwe
      • Zale偶no艣ci cykliczne
      • Eleganckie podej艣cie do zmiany nazw i porz膮dkowania API
    • Obs艂uga modu艂贸w
      • Importowanie kodu
      • Obs艂uga wersji
      • Wyb贸r wersji minimalnej
      • Aktualizowanie zgodnych wersji
      • Aktualizowanie niezgodnych wersji
      • Vendoring
      • Serwis pkg.go.dev
      • Dodatkowe informacje
    • Publikowanie modu艂u
    • Wersjonowanie modu艂u
    • Serwery proxy modu艂贸w
      • Wyb贸r serwera proxy
      • Repozytoria prywatne
    • Podsumowanie
  • Rozdzia艂 10. Przetwarzanie wsp贸艂bie偶ne w Go
    • Kiedy warto u偶ywa膰 przetwarzania wsp贸艂bie偶nego
    • Goprocedury
    • Kana艂y
      • Czytanie, zapisywanie i buforowanie
      • P臋tla for-range i kana艂y
      • Zamykanie kana艂u
      • Zachowania kana艂贸w
    • Instrukcja select
    • Zalecane rozwi膮zania i wzorce dotycz膮ce wsp贸艂bie偶no艣ci
      • API powinno by膰 pozbawione wsp贸艂bie偶no艣ci
      • Goprocedury, p臋tle for i zmieniaj膮ce si臋 zmienne
      • Pami臋taj o sprz膮taniu po goprocedurach
      • Wzorzec z kana艂em done
      • Zastosowanie funkcji anuluj膮cej do wstrzymania goprocedury
      • Kiedy u偶ywa膰 kana艂贸w buforowanych, a kiedy niebuforowanych
      • Mechanizm backpressure
      • Wy艂膮czanie klauzuli case w instrukcji select
      • Okre艣lanie limitu czasu
      • Zastosowanie struktury WaitGroup
      • Uruchamianie kodu dok艂adnie raz
      • 艁膮czenie r贸偶nych aspekt贸w przetwarzania wsp贸艂bie偶nego
    • Kiedy u偶ywa膰 muteks贸w zamiast kana艂贸w
    • Operacje atomowe raczej Ci si臋 nie przydadz膮
    • Gdzie szuka膰 dodatkowych informacji o wsp贸艂bie偶no艣ci?
    • Podsumowanie
  • Rozdzia艂 11. Biblioteka standardowa
    • Pakiet io i przyjaciele
    • Pakiet time
      • Czas od uruchomienia systemu
      • Liczniki czasu i limit czasu
    • Pakiet encoding/json
      • Zastosowanie znacznik贸w struktur w celu dodania metadanych
      • Unmarshaling i marshaling
      • JSON i operacje odczytywania i zapisywania
      • Kodowanie i dekodowanie strumieni JSON
      • Niestandardowe przetwarzanie obiekt贸w JSON
    • Pakiet net/http
      • Klient
      • Serwer
        • Oprogramowanie po艣rednicz膮ce
        • Rozszerzanie mo偶liwo艣ci serwera przy u偶yciu idiomatycznych modu艂贸w zewn臋trznych
    • Podsumowanie
  • Rozdzia艂 12. Kontekst
    • Czym jest kontekst?
    • Anulowanie
    • Liczniki czasu
    • Anulowanie kontekstu we w艂asnym kodzie
    • Warto艣ci
    • Podsumowanie
  • Rozdzia艂 13. Pisanie test贸w
    • Podstawy testowania
      • Zg艂aszanie b艂臋d贸w w testach
      • Konfigurowanie i demontowanie
      • Przechowywanie prostych danych testowych
      • Przechowywanie wynik贸w testowania w pami臋ci podr臋cznej
      • Testowanie publicznego API
      • Por贸wnywanie wynik贸w test贸w przy u偶yciu modu艂u go-cmp
    • Testy tablicowe
    • Sprawdzanie pokrycia kodu
    • Testowanie wydajno艣ci
    • Zal膮偶ki w j臋zyku Go
    • Pakiet httptest
    • Testy integracyjne i znaczniki kompilacji
    • Wyszukiwanie problem贸w ze wsp贸艂bie偶no艣ci膮 przy u偶yciu narz臋dzia race checker
    • Podsumowanie
  • Rozdzia艂 14. W krainie smok贸w: mechanizm refleksji oraz pakiety unsafe i cgo
    • Mechanizm refleksji umo偶liwia manipulowanie typami podczas dzia艂ania programu
      • Typy, rodzaje i warto艣ci
        • Typy i rodzaje
        • Warto艣ci
      • Tworzenie nowych warto艣ci
      • Zastosowanie refleksji do sprawdzenia, czy warto艣膰 interfejsu wynosi nil
      • Tworzenie marshalera danych przy u偶yciu mechanizmu refleksji
      • Zastosowanie refleksji do tworzenia funkcji automatyzuj膮cych powtarzalne zadania
      • Przy u偶yciu refleksji da si臋 tworzy膰 struktury, ale nie r贸b tego
      • Przy u偶yciu refleksji nie da si臋 tworzy膰 metod
      • U偶ywaj refleksji tylko wtedy, gdy to si臋 op艂aca
    • Pakiet unsafe rzeczywi艣cie jest niebezpieczny
      • Zastosowanie pakietu unsafe do konwersji zewn臋trznych danych binarnych
      • Pakiet unsafe a 艂a艅cuchy i wycinki
      • Narz臋dzia zwi膮zane z pakietem unsafe
    • W pakiecie cgo chodzi o integracj臋, nie o wydajno艣膰
    • Podsumowanie
  • Rozdzia艂 15. Spojrzenie w przysz艂o艣膰 typy sparametryzowane w Go
    • Typy sparametryzowane ograniczaj膮 redundantno艣膰 kodu i zwi臋kszaj膮 bezpiecze艅stwo typowania
    • Wst臋p do typ贸w sparametryzowanych w Go
    • Zastosowanie list typ贸w do okre艣lania operator贸w
    • Funkcje sparametryzowane i algorytmy abstrakcyjne
    • Listy typ贸w ograniczaj膮 mo偶liwo艣膰 przypisywania sta艂ych oraz implementacji
    • Pomini臋te kwestie
    • Typy sparametryzowane a idiomatyczny kod w Go
    • Co niesie przysz艂o艣膰?
    • Podsumowanie
    • O autorze
    • Kolofon

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe nale偶膮 do wydawnictwa Helion S.A.