GO od početnika do profesionalca
Go od početnika do profesionalca
Jasne smernice za upotrebu Go za sisteme u produkciji
Detaljna objašnjenja kako interno funkcioniše Go, izbori zamisli koje stoje iza jezika i kako optimizirati Go kod
Potpuni vodič za sve tipove podataka Go, složene tipove i strukture podataka
Glavni paketi, refleksija i interfejsi za efektivno Go programiranje
Izgradnja mrežnog koda za sisteme visokih performansi, uključujući aplikacije na strani servera i klijenta
Interfejsi na druge sisteme pomoću WebAssembly, JSON i gRPC
Pisanje pouzdanog istovremenog koda visokih performansi
Izgradnja sisteme za mašinsko učenje u Go-u, od jednostavne statističke regresije do složenih neuronskih mreža
Često (pogrešno) nazivan kao Golang, Go je jezik budućnosti sistema sa visokim performansama. Mastering Go, drugo izdanje će vam pomoći da postanete produktivan ekspert za programiranje u Go-u, dograđujući i poboljšavajući prethodno izdanje. Mastering Go, drugo izdanje pokazuje kako iskoristiti Go u radu na stvarnim sistemima u produkciji. Za one programere koji već poznaju osnove Go jezika, ova knjiga sadrži primere, obrasce i jasna objašnjenja koja će vam pomoći da potpuno shvatite Go-ove mogućnosti i primenite ih u svom programerskom radu. Knjiga pokriva nijanse Go-a, s detaljnim vodičima o tipovima i strukturama, paketima, konkurentnosti, mrežnom programiranju, dizajnu kompajlera, optimizaciji i još mnogo toga. Svako poglavlje se završava vežbama i resursima kako biste u potpunosti utvrdili svoje novo znanje. Ovo drugo izdanje sadrži potpuno novo poglavlje o mašinskom učenju u Go, vodeći vas od tehnika osnovne statistike preko jednostavne regresije i klasterisanjem do klasifikacije, neuronskih mreža i detekcije anomalija. Ostala poglavlja su proširena sa ciljem da pokriju upotrebu Go sa Dockerom i Kubernetesom, Git, WebAssembly, JSON i još mnogo toga. Ako programski jezik Go shvatite ozbiljno, drugo izdanje ove knjige je osnovni vodič za ekspertske tehnike.
Drugo izdanje bestseler vodiča za napredno Go programiranje je prošireno i obuhvata mašinsko učenje, više Go paketa i niz savremenih tehnika razvoja
Kompletira edukaciju Go programera sa vodičima iz realnog sveta kako bi se izgrađivali produkcioni sistemi visokih performansi
Prepuno praktičnih primera i obrazaca za primenu u vlastitom razvojnom radu
Jasno objašnjava Go nijanse i osobine kako bi se uklonila frustracija iz Go razvoja
Sadržaj
1 Go i operativni sistem
Istorija Go
Kuda ide Go?
Prednosti Go
Kompajliranje Go koda
Izvršavanje Go koda
Dva Go pravila
Preuzimanje Go paketa
UNIX stdin, stdout i stderr
O ispisu izlaza
Korišćenje standardnog izlaza
Dobijanje korisničkog unosa
O izlazu grešaka
Pisanje u log datoteku
Rukovanje greškama u Go
Korišćenje Dockera
Vežbe i linkovi
Rezime
2 Razumevanje Go komponenti
Go kompajler
Sakupljanje smeća
Pozivanje C koda iz Go
Pozivanje Go funkcija iz C koda
Ključna reč defer
Panic i recover
Dva praktična UNIX alata,
Vaše Go okruženje
Naredba go env
Go assembler
Čvorovi stabla
Saznajte više o Go build
Kreiranje WebAssembly koda
Opšti savet za kodiranje u Go
Vežbe i linkovi
Rezime
3 Rad s osnovnim tipovima Go podataka
Numeric tipovi podataka
Go petlje
Go nizovi
Go kriške
Go mape
Go konstante
Go pokazivači
Vremena i datumi
Merenje vremena izvršavanja
Veb linkovi i vežbe
Rezime
4 Korišćenje složenih tipova
O složenim tipovima
Strukture
Tuples
Regularni izrazi i podudaranje uzoraka
Stringovi
Iskaz switch
Izračunavanje Pi s velikom preciznošću
Izrada spremišta ključ-vrednost u Go
Go i JSON format
Go i YAML format
Dodatni resursi
Vežbe i linkovi
Rezime
5 Kako poboljšati Go Code sa strukturama podataka
O grafovima i čvorovima
Složenost algoritma
Binarna stabla u Go
Hash tabele u Go
Povezane liste u Go
Dvostruko povezane liste u Go
Redovi čekanja u Go
Stekovi u Go
Paket container
Generisanje slučajnih brojeva
Generisanje sigurnih slučajnih brojeva
Izvođenje računanja s matricama
Rešavanje Sudoku zagonetki
Dodatni resursi
Vežbe
Rezime
6 Ono što možda ne znate o Go paketima i funkcijama
O Go paketima
O Go funkcijama
Razvoj vlastitih Go paketa
Kreiranje dobrih Go paketa
Paket syscall
Paketi go/scanner, go/parser i go/token
Tekst i HTML predlošci
Dodatni resursi
Vježbe
Rezime
7 Reflection i interfejsi za sva godišnja doba
Metode tipa
Go interfejsi
Pisanje vlastitog interfejsa
Refleksija
Objektno orijentisano programiranje u Go
Uvod u git i GitHub
Debugging sa Delve
Dodatni resursi
Vežbe
Rezime
8 Naložiti UNIX sistemu šta da radi
O UNIX procesima
Paket flag
Paket viper
Paket cobra
Interfejsi io.Reader i io.Writer
Paket bufio
Čitanje text datoteka
Čitanje specifične količine podataka
Prednosti binarnih formata
Čitanje CSV datoteka
Pisanje u datoteku
Učitavanje i pohranjivanje podataka na disk
Revidirani String paket
O paketu bytes
Dozvole za datoteke
Rukovanje UNIX signalima
Programiranje UNIX cevi u Go
O syscall.PtraceRegs
Praćenje sistemskih poziva
Korisnički ID i ID grupe
Docker API i Go
Dodatni resursi
Vežbe
Rezime
9 Istovremenost u Go - Goroutines, kanali, i cevovodi
O procesima, nitima i goroutinama
Goroutines
Čekanje da goroutines završe
Kanali
Cevovodi
Race uslovi
Poređenje modela istovremenosti Go i Rust
Poređenje modela istovremenosti Go i Erlang
Dodatni resursi
Vežbe
Rezime
10 Istovremenost u Gou - Napredne teme
Revidiran planer programa
Ključna reč select
Istek vremena goroutine
Revidirani Go kanali
Deljena memorija i deljene varijable
Revidiranje Go iskaza
Catching uslova trke
Paket context
Dodatni resursi
Vežbe
Rezime
11 Testiranje koda, optimizacija i profilisanje
O optimizaciji
Optimizacija Go koda
Profilisanje Go koda
Uslužni Go alat za praćenje
Testiranje Go koda
Testiranje HTTP servera s bazom podataka u pozadini
Benchmarking Go koda
Jednostavni primer Benchmarkinga
Benchmarking baferisanog zapisivanja
Pronalaženje nedostupnog Go koda
Poprečno kompajliranje
Kreiranje primera funkcija
Od Go koda do mašinskog koda
Generisanje dokumentacije
Korišćenje Docker slika
Dodatni resursi
Vežbe
Rezime
12 Osnove mrežnog programiranja u Go
O net/http, net i http.RoundTripper
O TCP/IP
O IPv4 i IPv6
Uslužni program naredbenog reda nc(1)
Čitanje konfiguracije mrežnih interfejsa
Izvođenje DNS pretraživanja
Izrada web servera u Go
HTTP praćenje
Kreiranje web klijenta u Go
Istek vremena HTTP veze
Alati Wireshark i tshark
gRPC i Go
Dodatni resursi
Vežbe
Rezime
13 Mrežno programiranje - izgradnja vlastitih servera i klijenata
Rad s HTTPS saobraćajem
Standardni Go paket net
TCP klijent
TCP server
UDP klijent
Razvijoj UDP servera
Istovremeni TCP server
Izrada Docker slike za Go TCP/IP server
Pozivanje udaljene procedure (RPC)
Izvođenje mrežnog programiranja niskog nivoa
Dodatni resursi
Vežbe
Rezime
14 Mašinsko učenje u Go
Proračun jednostavnih statističkih osobina
Regresija
Klasifikacija
Grupisanje
Detekcija anomalija
Neuronske mreže
Outlier analiza
Rad sa TensorFlow
Razgovor sa Kafkom
Dodatni resursi
Vežbe
Rezime
Kuda dalje?
Detaljni podaci o knjiziNaslov: GO od početnika do profesionalca
Izdavač: Kompjuter biblioteka
Strana: 798 (cb)
Povez: meki
Pismo: latinica
Format: 16,8 x 23,5 cm
Godina izdanja: 2020
ISBN: 978-86-7310-554-3