GO od početnika do profesionalca - Mihalis Tsoukalos
GO od početnika do profesionalca - Mihalis Tsoukalos
Share
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
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?
Česta pitanja
Koji su Načini plaćanja?
Koji su Načini plaćanja?
- Kreditnom ili debitnom karticom
- Pouzećem – plaćanje po primitku paketa direktno djelatniku pošte
- Virmanom (uplata na žiro račun) -plaćanje Internet bankarstvom, uplatnicom u pošti, banci
Koliki su troškovi poštarine i koji je rok isporuke?
Koliki su troškovi poštarine i koji je rok isporuke?
Iznos narudžbe (vrijednost košarice) i troškovi slanja na adrese u Republici Hrvatskoj
Do 150,00 € -> 7,00 €
Iznad 150,00 € -> Gratis
Iznos narudžbe (vrijednost košarice) i troškovi slanja u inozemstvo
Do 26,54 € -> 20,97 €
Za svakih slijedećih 26,54 € vrijednosti košarice (do maksimalne vrijednosti košarice 132,72 €) dodaje se 5,30 €
Od 132,72 € vrijednosti košarice nadalje trošak dostave iznosi 46,18 €
Rok isporuke je od 14 do 30 radnih dana (u radne dane ne spadaju vikendi, blagdani i državni praznici).
U slučaju nepredviđene situacije, rok dostave može se produljiti, ali o tome ćete biti naknadno obaviješteni (mailom ili telefonski).
Da li je moguće osobno preuzimanje naručenih knjiga na adresi?
Da li je moguće osobno preuzimanje naručenih knjiga na adresi?
Kada su knjige dostupne, moguće je osobno preuzimanje knjiga na adresi ureda Ivane Brlić Mažuranić 72 (Malešnica), 10090 Zagreb uz obaveznu prethodnu najavu na telefon 00385 (0)1 3731 748.
Trebate pomoć oko kupovine putem naše internet stranice www.strucnaknjizara.com?
Trebate pomoć oko kupovine putem naše internet stranice www.strucnaknjizara.com?
Slobodno nas kontaktirajte putem naše e-mail adrese: info@strucnaknjizara.com ili telefonski na broj: 00385 (0)1 3731 748.
Ako se ne snalazite ili ne želite naručiti knjige preko internet trgovine, slobodno nam pošaljite direktan upit/narudžbu na e-mail na info@strucnaknjizara.com.
Za narudžbu su potrebni sljedeći podaci:
Točan naslov željene knjige i količina,
ime i prezime,
adresa dostave,
e-mail adresa i
telefonski broj.
Tražite stručnu knjigu i ne možete da ju pronađete?
Javite nam, potrudit ćemo se da je pronađemo za Vas.
Newsletter prijava
...prijavi se na listu i prati akcije