Go

Go

BACKEND

Basitlik, performans ve native eşzamanlılık sunan Google tarafından geliştirilen programlama dili. Hızlı derleme, eşzamanlılık için goroutine ve REST API, mikroservisler ve yüksek performanslı backend uygulamaları oluşturmak için eksiksiz standart kütüphane ile minimalist mimari.

Ne öğreneceksin

Ultra hızlı derleme ile basit ve özlü sözdizimi

Native ve hafif eşzamanlılık için goroutine ve channel

Zengin standart kütüphane (net/http, encoding/json, testing)

Optimize edilmiş garbage collector ve düşük bellek ayak izi

Bağımsız ikili dosyalar üreten statik derleme

Kalıtım olmadan esneklik için interface ve duck typing

go test, benchmark ve race detector ile native test

Web framework (Gin, Echo, Fiber) ve ORM (GORM, sqlx)

Error checking kalıbıyla açık hata yönetimi

Statik ikili dosyalarla basitleştirilmiş dağıtım (Docker, Kubernetes)

Uzmanlaşılması gereken temel konular

Bu teknolojiyi anlamak ve mülakatlarını başarmak için en önemli kavramlar

1

Go temelleri: tipler, değişkenler, fonksiyonlar, paketler, import

2

Struct, metot, interface ve bileşim (embedding)

3

Goroutine: go anahtar kelimesi, eşzamanlılık vs paralellik, zamanlayıcı

4

Channel: tamponlu/tamponsuz, select, range, close, kalıplar

5

Hata yönetimi: error tipi, hata sarmalama, panic/recover

6

Pointer: &, *, değer vs referans geçirme, nil pointer

7

Slice ve diziler: make, append, kapasite, alt dilimler

8

Map: oluşturma, erişim, silme, iterasyon, sıfır değerler

9

Interface: boş interface, tip doğrulama, tip anahtarları

10

Standart kütüphane: net/http, encoding/json, io, context

11

HTTP sunucuları: http.Handler, http.HandlerFunc, multiplexer

12

Context: iptal, zaman aşımı, değerler, yayılım

13

Test: birim testler, tablo güdümlü testler, mock, kapsam

14

GORM: modeller, migration, ilişkiler, preloading, hook

15

Framework: Gin (yönlendirme, middleware), Echo, Fiber

16

Eşzamanlılık kalıpları: worker pool, pipeline, fan-out/fan-in

17

Middleware: zincirleme, kimlik doğrulama, loglama, kurtarma

18

Performans: profilleme (pprof), benchmark, optimizasyonlar

19

Modüller: go.mod, sürümleme, bağımlılıklar, vendoring

20

Dağıtım: Docker multi-stage build, Kubernetes, statik ikili dosyalar