CodeBlanks Logo Icon CodeBlanks
Ücretsiz 4 seviye

Go

Go'nun sade sözdizimi ve güçlü eşzamanlılık modeliyle verimli microservice'ler yazın. Goroutine, channel, interface ve standart kütüphane.

Go kursu goroutine, channel, interface, hata yönetimi, net/http, encoding/json ve reflection ile tüm seviyeleri kapsar. Üretim için Docker, gRPC ve profiling konularını öğrenirsin.

  • 272 ders
  • 19 sa 44 dk
  • 4 proje

Hesap gerekmez, hemen başlayabilirsin. İlerlemeni kaydetmek istersen ücretsiz hesap aç

Seviyeler

Go kursu dört seviyede sıfırdan uzmanlığa ilerler. İstediğin seviyeden başlayabilirsin.
Seviyeni bilmiyor musun? Seviye testini çöz
Başlangıç

Go temellerini öğrenirsin: değişkenler, veri türleri, fonksiyonlar, kontrol akışı, array/slice, map, string, pointer, struct, metod, interface ve hata yönetimi.

  • Go temelleri
  • Modüller
  • Değişkenler
  • Veri türleri
90 ders · 6 sa 32 dk Dersleri gör →
Orta

Orta seviye

Eşzamanlılık ve standart kütüphane: goroutine, channel, select, sync, context, io, test, benchmark, fmt, encoding/json, net/http ve flag.

  • Goroutine'ler
  • Channel'lar
  • Select
  • sync paketi
80 ders · 5 sa 44 dk Dersleri gör →
İleri

İleri seviye

Reflection, unsafe, cgo, plugin, database/sql, middleware, gRPC, Docker, profiling ve observability ile üretim kalitesinde servisler yazarsın.

  • Reflection
  • unsafe
  • cgo
  • plugin
68 ders · 4 sa 56 dk Dersleri gör →
Uzman

Go iç yapıları: scheduler, GC, compiler, runtime, WASM, embedded ve performans ayarı.

  • Scheduler
  • Garbage collector
  • Compiler
  • Runtime
34 ders · 2 sa 32 dk Dersleri gör →

Yapacağın projeler

Her seviyede öğrendiklerini gerçek bir sayfada birleştirirsin.

Nasıl çalışıyor?

Kısa anlatım

Her ders tek bir kavramı birkaç kısa kartla anlatır; uzun video ya da metin yok.

Hemen dene

Çoktan seçmeli, boşluk doldurma ve eşleştirme sorularıyla öğrendiğini anında pekiştirirsin.

Kendin yaz

Tarayıcıdaki editörde gerçek kod yazarsın; kodun anında kontrol edilir ve sonucu canlı görürsün.

Müfredat

48 grup · 272 ders · 19 sa 44 dk

Go temellerini öğrenirsin: değişkenler, veri türleri, fonksiyonlar, kontrol akışı, array/slice, map, string, pointer, struct, metod, interface ve hata yönetimi.

1
Go temelleri
6 ders · 24 dk
  1. 1 Go nedir? Go'nun Google'da doğan, sade ve hızlı bir dil olduğunu öğrenirsin. 4 dk
  2. 2 Go kurulumu Go'yu indirip kurmayı ve GOPATH'i öğrenirsin. 4 dk
  3. 3 İlk program package main ve fmt.Println ile ilk Go programını yazarsın. 4 dk
  4. 4 go run ve go build go run ile çalıştırmayı ve go build ile derlemeyi öğrenirsin. 4 dk
  5. 5 Yorumlar ve noktalı virgül Go'da // ve /* */ yorumlarını ve noktalı virgül kuralını öğrenirsin. 4 dk
  6. 6 Özet - Go temelleri package, fmt ve yorumları birleştirerek ilk Go programını yazarsın. 4 dk
2
Modüller
6 ders · 24 dk
  1. 1 go mod init Yeni bir Go modülü başlatmayı ve go.mod dosyasını öğrenirsin. 4 dk
  2. 2 package ve import package bildirimini ve import ile paket eklemeyi öğrenirsin. 4 dk
  3. 3 main package main paketinin programın giriş noktası olduğunu öğrenirsin. 4 dk
  4. 4 Birden çok dosya Bir paketin birden çok .go dosyasından oluşabileceğini öğrenirsin. 4 dk
  5. 5 go.sum ve bağımlılıklar go get ile bağımlılık eklemeyi ve go.sum'u öğrenirsin. 4 dk
  6. 6 Özet - Modüller Modül, paket ve import kavramlarını birleştirerek bir proje yaparsın. 4 dk
3
Değişkenler
6 ders · 24 dk
  1. 1 var ile tanım var anahtar kelimesiyle değişken tanımlamayı öğrenirsin. 4 dk
  2. 2 Kısa atama := := işaretiyle kısa değişken atamayı öğrenirsin. 4 dk
  3. 3 const ve iota Sabitler için const ve otomatik artım için iota kullanmayı öğrenirsin. 4 dk
  4. 4 Sıfır değer Go'da her türün bir sıfır değeri olduğunu öğrenirsin. 4 dk
  5. 5 Tür çıkarımı Go'nun sağ taraftan türü nasıl çıkardığını öğrenirsin. 4 dk
  6. 6 Özet - Değişkenler var, :=, const ve sıfır değeri birleştirerek bir profil yazarsın. 4 dk
4
Veri türleri
6 ders · 24 dk
  1. 1 int ve float Tamsayı ve ondalık sayı türlerini öğrenirsin. 4 dk
  2. 2 bool ve string Mantıksal ve metin türlerini öğrenirsin. 4 dk
  3. 3 byte ve rune byte ve rune türlerini ve karakter temsilini öğrenirsin. 4 dk
  4. 4 Tür dönüşümü Go'da açık tür dönüşümünü öğrenirsin. 4 dk
  5. 5 Tür tanımları type anahtar kelimesiyle yeni türler tanımlamayı öğrenirsin. 4 dk
  6. 6 Özet - Veri türleri int, float, string ve bool'u birleştirerek bir profil kartı yazarsın. 4 dk
5
Proje: Hesap makinesiProje
4 ders · 24 dk
  1. 1 Proje tasarımı Hesap makinesi iskeletini ve menü yapısını tasarlarsın. 6 dk
  2. 2 Toplama ve çıkarma Toplama ve çıkarma fonksiyonlarını yazarsın. 6 dk
  3. 3 Çarpma ve bölme Çarpma, bölme ve sıfır kontrolü eklersin. 6 dk
  4. 4 Komut satırı menüsü Switch ile bir menü ve döngü eklersin. 6 dk
6
Fonksiyonlar
6 ders · 24 dk
  1. 1 func tanımı func anahtar kelimesiyle fonksiyon tanımlamayı öğrenirsin. 4 dk
  2. 2 Parametreler ve dönüş Parametre alıp değer döndüren fonksiyonlar yazmayı öğrenirsin. 4 dk
  3. 3 Çoklu dönüş Go'nun çoklu dönüş özelliğini ve isimli dönüşleri öğrenirsin. 4 dk
  4. 4 Variadic fonksiyonlar ... operatörüyle değişken sayıda parametre almayı öğrenirsin. 4 dk
  5. 5 Anonim fonksiyonlar İsimsiz fonksiyonlar ve closure kavramını öğrenirsin. 4 dk
  6. 6 Özet - Fonksiyonlar Çoklu dönüş ve variadic parametrelerle bir yardımcı yazarsın. 4 dk
7
Kontrol akışı
6 ders · 24 dk
  1. 1 if, else if, else Go'da if, else if ve else ile koşullu dallanmayı öğrenirsin. 4 dk
  2. 2 for döngüsü Go'nun tek döngü yapısı olan for'u öğrenirsin. 4 dk
  3. 3 range ile iterasyon range ile slice ve map üzerinde döngüyü öğrenirsin. 4 dk
  4. 4 switch ve fallthrough switch ile çoklu koşul ve fallthrough davranışını öğrenirsin. 4 dk
  5. 5 break ve continue Döngüden çıkmak ve atlamak için break ve continue öğrenirsin. 4 dk
  6. 6 Özet - Kontrol akışı if, for ve switch'i birleştirerek bir puan hesaplayıcı yazarsın. 4 dk
8
Array ve slice
6 ders · 24 dk
  1. 1 Array tanımı Sabit boyutlu dizileri tanımlamayı öğrenirsin. 4 dk
  2. 2 Slice tanımı Slice ile dinamik dizileri tanımlamayı öğrenirsin. 4 dk
  3. 3 append ile ekleme append fonksiyonuyla slice'a eleman eklemeyi öğrenirsin. 4 dk
  4. 4 Alt slice Slice dilimleme sözdizimini öğrenirsin. 4 dk
  5. 5 len ve cap Slice'ın uzunluğu ve kapasitesini öğrenirsin. 4 dk
  6. 6 Özet - Array ve slice Slice ve append'i birleştirerek bir görev listesi yazarsın. 4 dk
9
Proje: Alışveriş sepetiProje
4 ders · 24 dk
  1. 1 Ürün yapısı Ürünü temsil eden bir struct tanımlarsın. 6 dk
  2. 2 Sepete ekleme append ile sepete ürün eklersin. 6 dk
  3. 3 Toplam hesaplama range ile sepetin toplam tutarını hesaplarsın. 6 dk
  4. 4 Sepeti yazdırma fmt.Printf ile sepeti biçimlendirip yazdırırsın. 6 dk
10
Map
6 ders · 24 dk
  1. 1 Map tanımı make ile anahtar-değer map'i tanımlamayı öğrenirsin. 4 dk
  2. 2 Eleman ekleme Map'e anahtarla eleman eklemeyi öğrenirsin. 4 dk
  3. 3 Map'te arama Map'ten anahtarla değer almayı ve varlık kontrolünü öğrenirsin. 4 dk
  4. 4 Map'te silme delete fonksiyonuyla map'ten eleman silmeyi öğrenirsin. 4 dk
  5. 5 Map ile range range ile map üzerinde döngüyü öğrenirsin. 4 dk
  6. 6 Özet - Map Map kavramlarını birleştirerek bir sözlük yazarsın. 4 dk
11
String
6 ders · 24 dk
  1. 1 String ve byte String'in arkasındaki byte dizisini öğrenirsin. 4 dk
  2. 2 String birleştirme + ve fmt.Sprintf ile string birleştirmeyi öğrenirsin. 4 dk
  3. 3 strconv ile dönüşüm strconv ile string-sayı dönüşümlerini öğrenirsin. 4 dk
  4. 4 strings paketi strings paketinin yaygın fonksiyonlarını öğrenirsin. 4 dk
  5. 5 Rune ve UTF-8 Rune ile Unicode karakterleri ve UTF-8 kodlamasını öğrenirsin. 4 dk
  6. 6 Özet - String strconv ve strings paketlerini birleştirerek bir metin işleyici yazarsın. 4 dk
12
Pointer
6 ders · 24 dk
  1. 1 Pointer nedir? Pointer'ın bir bellek adresi olduğunu öğrenirsin. 4 dk
  2. 2 & ve * operatörleri Adres alma (&) ve değer alma (*) operatörlerini öğrenirsin. 4 dk
  3. 3 new fonksiyonu new ile pointer döndüren bellek ayırmayı öğrenirsin. 4 dk
  4. 4 Pointer ve fonksiyon Fonksiyona pointer geçirmeyi ve değişikliği öğrenirsin. 4 dk
  5. 5 Nil pointer Nil pointer kavramını ve güvenli kullanımı öğrenirsin. 4 dk
  6. 6 Özet - Pointer & ve * ile bir sayaç artıran fonksiyon yazarsın. 4 dk
13
Struct
6 ders · 24 dk
  1. 1 Struct tanımı type ile struct tanımlamayı öğrenirsin. 4 dk
  2. 2 Struct oluşturma Struct değerleri oluşturmayı ve alanlara değer vermeyi öğrenirsin. 4 dk
  3. 3 Alan erişimi Nokta operatörüyle struct alanlarına erişmeyi öğrenirsin. 4 dk
  4. 4 Struct embedding Bir struct'ı başka bir struct içine gömmeyi öğrenirsin. 4 dk
  5. 5 Struct ve pointer Struct pointer'ları ve nokta kullanımını öğrenirsin. 4 dk
  6. 6 Özet - Struct Struct, embedding ve pointer'ı birleştirerek bir kişi kaydı yazarsın. 4 dk
14
Metodlar
6 ders · 24 dk
  1. 1 Metod tanımı Struct'lara metod tanımlamayı öğrenirsin. 4 dk
  2. 2 Pointer receiver Pointer receiver ile metoddan struct'ı değiştirmeyi öğrenirsin. 4 dk
  3. 3 Value receiver Value receiver ile salt okunur metodları öğrenirsin. 4 dk
  4. 4 Metod ve embedding Gömülü struct'ların metodlarının nasıl yükseldiğini öğrenirsin. 4 dk
  5. 5 Metod zincirleme Metod zincirleme için receiver döndürmeyi öğrenirsin. 4 dk
  6. 6 Özet - Metodlar Value ve pointer receiver'ları birleştirerek bir banka hesabı yazarsın. 4 dk
15
Interface ve hata
6 ders · 24 dk
  1. 1 Interface tanımı type ... interface ile arayüz tanımlamayı öğrenirsin. 4 dk
  2. 2 Örtük karşılama Go'da interface'lerin örtük olarak karşılandığını öğrenirsin. 4 dk
  3. 3 error interface error interface'ini ve Error() metodunu öğrenirsin. 4 dk
  4. 4 Hata döndürme errors.New ve fmt.Errorf ile hata döndürmeyi öğrenirsin. 4 dk
  5. 5 errors.Is ve errors.As Hata sarmalama ve errors.Is, errors.As kullanımını öğrenirsin. 4 dk
  6. 6 Özet - Interface ve hata Interface ve error'ı birleştirerek bir validasyon yazarsın. 4 dk
16
Başlangıç finaliFinal
4 ders · 32 dk
  1. 1 Meydan okuma 1 - Birleşik program Değişken, döngü ve fonksiyonu birleştiren bir program yazarsın. 8 dk
  2. 2 Meydan okuma 2 - Veri yapısı Struct ve slice ile bir rehber uygulaması yazarsın. 8 dk
  3. 3 Meydan okuma 3 - Hata yönetimi Hata döndüren bir fonksiyon ve çağıran kod yazarsın. 8 dk
  4. 4 Meydan okuma 4 - Mini uygulama Map, struct ve fonksiyonla bir envanter yazarsın. 8 dk

Eşzamanlılık ve standart kütüphane: goroutine, channel, select, sync, context, io, test, benchmark, fmt, encoding/json, net/http ve flag.

1
Goroutine'ler
6 ders · 24 dk
  1. 1 Goroutine nedir? Goroutine'in hafif bir iş parçacığı olduğunu öğrenirsin. 4 dk
  2. 2 go anahtar kelimesi go anahtar kelimesiyle fonksiyonu arka planda çalıştırmayı öğrenirsin. 4 dk
  3. 3 Goroutine ve fonksiyon Fonksiyonu goroutine olarak çağırmayı öğrenirsin. 4 dk
  4. 4 Ana goroutine main fonksiyonunun kendisinin bir goroutine olduğunu öğrenirsin. 4 dk
  5. 5 Goroutine sayısı Birden çok goroutine başlatmayı ve eşzamanlılık öğrenirsin. 4 dk
  6. 6 Özet - Goroutine'ler Goroutine'leri birleştirerek paralel bir iş yazarsın. 4 dk
2
Channel'lar
6 ders · 24 dk
  1. 1 Channel nedir? Channel'ın goroutine'ler arası iletişim aracı olduğunu öğrenirsin. 4 dk
  2. 2 make ile channel make ile channel oluşturmayı öğrenirsin. 4 dk
  3. 3 Veri gönderme <- operatörüyle channel'a veri göndermeyi öğrenirsin. 4 dk
  4. 4 Veri alma <- ile channel'dan veri almayı öğrenirsin. 4 dk
  5. 5 Buffered channel Buffered channel ve kapasite kavramını öğrenirsin. 4 dk
  6. 6 Özet - Channel'lar Channel kavramlarını birleştirerek işçi yazarsın. 4 dk
3
Select
6 ders · 24 dk
  1. 1 select nedir? select ile birden çok channel'ı beklemeyi öğrenirsin. 4 dk
  2. 2 Çoklu channel select içinde birden çok case'i öğrenirsin. 4 dk
  3. 3 default ve non-blocking default ile non-blocking gönderme ve almayı öğrenirsin. 4 dk
  4. 4 timeout ile select time.After ile select içinde timeout kullanmayı öğrenirsin. 4 dk
  5. 5 Channel kapatma close ile channel'ı kapatmayı ve algılamayı öğrenirsin. 4 dk
  6. 6 Özet - Select select, timeout ve close'u birleştirerek bir zamanlayıcı yazarsın. 4 dk
4
sync paketi
6 ders · 24 dk
  1. 1 sync.Mutex Mutex ile paylaşılan veriye erişimi senkronize etmeyi öğrenirsin. 4 dk
  2. 2 sync.RWMutex Okuma-yazma mutex'ini ve RLock/RUnlock öğrenirsin. 4 dk
  3. 3 sync.WaitGroup WaitGroup ile goroutine'leri beklemeyi öğrenirsin. 4 dk
  4. 4 sync.Once Önce ile bir kodun yalnızca bir kez çalışmasını öğrenirsin. 4 dk
  5. 5 sync.Pool Pool ile nesne geri dönüşümünü öğrenirsin. 4 dk
  6. 6 Özet - sync paketi Mutex ve WaitGroup'ı birleştirerek paralel sayaç yazarsın. 4 dk
5
Proje: EşzamanlılıkProje
4 ders · 24 dk
  1. 1 Worker pool iskeleti Worker pool yapısını ve channel'ları tasarlarsın. 6 dk
  2. 2 İş kuyruğu İşleri channel üzerinden worker'lara dağıtırsın. 6 dk
  3. 3 Sonuç toplama Sonuçları ayrı bir channel'dan toplarsın. 6 dk
  4. 4 Hata yönetimi Worker'larda hata yönetimini ve WaitGroup'ı eklersin. 6 dk
6
context
6 ders · 24 dk
  1. 1 context.Background context paketinin temelini ve Background'u öğrenirsin. 4 dk
  2. 2 WithCancel WithCancel ile iptal edilebilir context öğrenirsin. 4 dk
  3. 3 WithTimeout WithTimeout ile zaman sınırlı context öğrenirsin. 4 dk
  4. 4 WithValue WithValue ile context içinde değer taşımayı öğrenirsin. 4 dk
  5. 5 WithDeadline WithDeadline ile belirli bir zamana bağlı context öğrenirsin. 4 dk
  6. 6 Özet - context Context türlerini birleştirerek iptal edilebilir bir istek yazarsın. 4 dk
7
io paketi
6 ders · 24 dk
  1. 1 io.Reader Reader interface'ini ve Read metodunu öğrenirsin. 4 dk
  2. 2 io.Writer Writer interface'ini ve Write metodunu öğrenirsin. 4 dk
  3. 3 os.Stdin ve os.Stdout Standart giriş ve çıkış akışlarını öğrenirsin. 4 dk
  4. 4 bufio.Scanner bufio.Scanner ile satır okumayı öğrenirsin. 4 dk
  5. 5 io.Copy io.Copy ile veriyi aktarmayı öğrenirsin. 4 dk
  6. 6 Özet - io paketi Reader ve Writer'ı birleştirerek bir dosya kopyalayıcı yazarsın. 4 dk
8
Test
6 ders · 24 dk
  1. 1 Test fonksiyonu func TestXxx imzasını ve go test komutunu öğrenirsin. 4 dk
  2. 2 t.Error ve t.Fatal Hata bildirmek için t.Error ve t.Fatal öğrenirsin. 4 dk
  3. 3 Tablo testi Tablo tabanlı test desenini öğrenirsin. 4 dk
  4. 4 Test yardımcıları t.Helper ve t.Cleanup gibi yardımcıları öğrenirsin. 4 dk
  5. 5 Örnek testler Example fonksiyonları ve çıktı doğrulamayı öğrenirsin. 4 dk
  6. 6 Özet - Test Tablo testi ve yardımcıları birleştirerek bir matematik testi yazarsın. 4 dk
9
Benchmark
6 ders · 24 dk
  1. 1 Benchmark fonksiyonu func BenchmarkXxx imzasını ve go test -bench öğrenirsin. 4 dk
  2. 2 b.ResetTimer Hazırlık süresini hariç tutmak için b.ResetTimer öğrenirsin. 4 dk
  3. 3 Bellek benchmark'ı b.ReportAllocs ile bellek kullanımını ölçmeyi öğrenirsin. 4 dk
  4. 4 Sub-benchmark b.Run ile alt benchmark çalıştırmayı öğrenirsin. 4 dk
  5. 5 Benchmark karşılaştırma benchstat ile benchmark sonuçlarını karşılaştırmayı öğrenirsin. 4 dk
  6. 6 Özet - Benchmark b.Run ve b.ReportAllocs ile bir slice benchmark'ı yazarsın. 4 dk
10
fmt paketi
6 ders · 24 dk
  1. 1 fmt.Printf Printf ve biçim verb'lerini öğrenirsin. 4 dk
  2. 2 Verb'ler %v, %d, %s gibi yaygın verb'leri öğrenirsin. 4 dk
  3. 3 fmt.Sprintf Sprintf ile biçimli string döndürmeyi öğrenirsin. 4 dk
  4. 4 fmt.Errorf Errorf ile biçimli hata oluşturmayı öğrenirsin. 4 dk
  5. 5 fmt.Fprintln Fprintln ile Writer'a yazmayı öğrenirsin. 4 dk
  6. 6 Özet - fmt paketi Printf, Sprintf ve Errorf'i birleştirerek bir raporlayıcı yazarsın. 4 dk
11
encoding/json
6 ders · 24 dk
  1. 1 encoding/json paketi encoding/json paketinin temelini öğrenirsin. 4 dk
  2. 2 Struct etiketleri json:"..." etiketleriyle alan adlarını kontrol etmeyi öğrenirsin. 4 dk
  3. 3 Marshal ve Unmarshal Marshal ile JSON üretmeyi, Unmarshal ile çözmayı öğrenirsin. 4 dk
  4. 4 Encoder ve Decoder json.NewEncoder ve json.NewDecoder öğrenirsin. 4 dk
  5. 5 JSON ve map Dinamik JSON için map[string]interface{} öğrenirsin. 4 dk
  6. 6 Özet - encoding/json Marshal, Unmarshal ve etiketleri birleştirerek bir kayıt yazarsın. 4 dk
12
net/http
6 ders · 24 dk
  1. 1 net/http ile istemci http.Client ile HTTP isteği yapmayı öğrenirsin. 4 dk
  2. 2 http.Get http.Get ile basit GET isteği yapmayı öğrenirsin. 4 dk
  3. 3 http.Handler Handler interface'ini ve ServeHTTP öğrenirsin. 4 dk
  4. 4 http.HandleFunc HandleFunc ile yol karşılığı öğrenirsin. 4 dk
  5. 5 JSON API JSON yanıt döndüren bir HTTP endpoint yazmayı öğrenirsin. 4 dk
  6. 6 Özet - net/http HandleFunc ve JSON'ı birleştirerek bir API yazarsın. 4 dk
13
flag paketi
6 ders · 24 dk
  1. 1 flag paketi flag paketinin temelini öğrenirsin. 4 dk
  2. 2 flag.String ve flag.Int Tip belirterek flag tanımlamayı öğrenirsin. 4 dk
  3. 3 flag.Parse Parse ile komut satırını ayrıştırmayı öğrenirsin. 4 dk
  4. 4 Subcommand Kendi subcommand yapını kurmayı öğrenirsin. 4 dk
  5. 5 os.Args os.Args ile doğrudan argümanlara erişmeyi öğrenirsin. 4 dk
  6. 6 Özet - flag paketi flag ve os.Args'ı birleştirerek bir CLI aracı yazarsın. 4 dk
14
Orta seviye finaliFinal
4 ders · 32 dk
  1. 1 Meydan okuma 1 - Eşzamanlılık Goroutine, channel ve WaitGroup'ı birleştiren bir program yazarsın. 8 dk
  2. 2 Meydan okuma 2 - HTTP servis net/http ile JSON döndüren bir servis yazarsın. 8 dk
  3. 3 Meydan okuma 3 - Test + benchmark Bir fonksiyon için test ve benchmark yazarsın. 8 dk
  4. 4 Meydan okuma 4 - CLI aracı flag ile dosya işleyen bir CLI aracı yazarsın. 8 dk

Reflection, unsafe, cgo, plugin, database/sql, middleware, gRPC, Docker, profiling ve observability ile üretim kalitesinde servisler yazarsın.

1
Reflection
6 ders · 24 dk
  1. 1 reflect paketi reflect paketinin temelini öğrenirsin. 4 dk
  2. 2 reflect.Type Type ile tür bilgisi almayı öğrenirsin. 4 dk
  3. 3 reflect.Value Value ile çalışma zamanı değerini öğrenirsin. 4 dk
  4. 4 Struct field reflect Struct alanlarına reflect ile erişmeyi öğrenirsin. 4 dk
  5. 5 Dinamik çağrı reflect ile fonksiyon ve metodu dinamik çağırmayı öğrenirsin. 4 dk
  6. 6 Özet - Reflection reflect.Type ve Value'yu birleştirerek bir yapı yazıcı yazarsın. 4 dk
2
unsafe
6 ders · 24 dk
  1. 1 unsafe paketi unsafe paketinin risklerini ve kullanımını öğrenirsin. 4 dk
  2. 2 unsafe.Pointer unsafe.Pointer ile evrensel pointer'ı öğrenirsin. 4 dk
  3. 3 Sizeof ve Alignof Sizeof ve Alignof ile bellek yerleşimini öğrenirsin. 4 dk
  4. 4 Offsetof Offsetof ile struct alan ofsetini öğrenirsin. 4 dk
  5. 5 unsafe ve slice Slice'in arkasındaki array'i unsafe ile öğrenirsin. 4 dk
  6. 6 Özet - unsafe unsafe.Pointer ve Sizeof'ı birleştirerek bir bellek inceleyici yazarsın. 4 dk
3
cgo
6 ders · 24 dk
  1. 1 cgo nedir? cgo ile C kodu çağırma yeteneğini öğrenirsin. 4 dk
  2. 2 C kodu çağırma import "C" bloğuyla C fonksiyonu çağırmayı öğrenirsin. 4 dk
  3. 3 C veri türleri C.int, C.char gibi türleri öğrenirsin. 4 dk
  4. 4 Go ve C dönüşümü Go string ve C.CString arasında dönüşüm öğrenirsin. 4 dk
  5. 5 cgo ve bellek C.CString ile ayrılan belleği serbest bırakmayı öğrenirsin. 4 dk
  6. 6 Özet - cgo cgo'yu birleştirerek bir C matematik fonksiyonu çağırırsın. 4 dk
4
plugin
6 ders · 24 dk
  1. 1 plugin paketi plugin paketinin temelini ve sınırlarını öğrenirsin. 4 dk
  2. 2 Plugin derleme go build -buildmode=plugin ile plugin derlemeyi öğrenirsin. 4 dk
  3. 3 Plugin yükleme plugin.Open ile plugin yüklemeyi öğrenirsin. 4 dk
  4. 4 Plugin sembolü Lookup ile dışa aktarılan sembolü almayı öğrenirsin. 4 dk
  5. 5 Plugin ve hata Plugin yükleme hatalarını yönetmeyi öğrenirsin. 4 dk
  6. 6 Özet - plugin Plugin yapısını birleştirerek bir eklenti sistemi yazarsın. 4 dk
5
database/sql
6 ders · 24 dk
  1. 1 database/sql paketi database/sql paketinin temelini öğrenirsin. 4 dk
  2. 2 sql.Open sql.Open ile veritabanı bağlantısı açmayı öğrenirsin. 4 dk
  3. 3 Query ve Exec Query ile satır okumayı, Exec ile değişiklik yapmayı öğrenirsin. 4 dk
  4. 4 Prepared statement Prepare ile güvenli sorgu yazmayı öğrenirsin. 4 dk
  5. 5 Transaction Begin, Commit ve Rollback ile transaction öğrenirsin. 4 dk
  6. 6 Özet - database/sql Query ve Transaction'ı birleştirerek bir kullanıcı kaydı yazarsın. 4 dk
6
Middleware
6 ders · 24 dk
  1. 1 Middleware kavramı Middleware kavramını ve katmanlı yapısını öğrenirsin. 4 dk
  2. 2 HTTP middleware func(http.Handler) http.Handler desenini öğrenirsin. 4 dk
  3. 3 Middleware zinciri Birden çok middleware'i zincirleme öğrenirsin. 4 dk
  4. 4 Logging middleware İstekleri loglayan bir middleware yazmayı öğrenirsin. 4 dk
  5. 5 Auth middleware Token doğrulayan bir auth middleware yazmayı öğrenirsin. 4 dk
  6. 6 Özet - Middleware Logging ve auth middleware'larını birleştirirsin. 4 dk
7
gRPC
6 ders · 24 dk
  1. 1 gRPC nedir? gRPC ve protobuf'un temel avantajlarını öğrenirsin. 4 dk
  2. 2 Protobuf tanımı .proto dosyasıyla mesaj tanımlamayı öğrenirsin. 4 dk
  3. 3 protoc ile derleme protoc ile Go kodu üretmeyi öğrenirsin. 4 dk
  4. 4 gRPC sunucu gRPC sunucusu kurmayı ve servis kaydını öğrenirsin. 4 dk
  5. 5 gRPC istemci gRPC istemcisiyle uzak metodu çağırmayı öğrenirsin. 4 dk
  6. 6 Özet - gRPC Sunucu ve istemciyi birleştirerek bir gRPC servis yazarsın. 4 dk
8
Proje: MikroservisProje
4 ders · 24 dk
  1. 1 Servis iskeleti Mikroservis iskeletini ve katmanları tasarlarsın. 6 dk
  2. 2 Veritabanı katmanı database/sql ile veri erişim katmanını yazarsın. 6 dk
  3. 3 HTTP API net/http ile REST üç noktaları yazarsın. 6 dk
  4. 4 Docker ve dağıtım Dockerfile ve multi-stage build eklersin. 6 dk
9
Docker
6 ders · 24 dk
  1. 1 Dockerfile Go uygulaması için Dockerfile yazmayı öğrenirsin. 4 dk
  2. 2 Multi-stage build Multi-stage build ile küçük imaj üretmeyi öğrenirsin. 4 dk
  3. 3 scratch imaj scratch tabanlı minimal imajı öğrenirsin. 4 dk
  4. 4 docker-compose docker-compose ile çoklu servis öğrenirsin. 4 dk
  5. 5 Build arg ve label ARG ve LABEL ile imajı özelleştirmeyi öğrenirsin. 4 dk
  6. 6 Özet - Docker Multi-stage ve scratch'ı birleştirerek minimal imaj yazarsın. 4 dk
10
pprof
6 ders · 24 dk
  1. 1 pprof nedir? pprof profiling aracının temelini öğrenirsin. 4 dk
  2. 2 CPU profiling CPU profili oluşturmayı ve incelemeyi öğrenirsin. 4 dk
  3. 3 Memory profiling Bellek profili ve alloc ayrımını öğrenirsin. 4 dk
  4. 4 go test -cpuprofile Test sırasında profile almayı öğrenirsin. 4 dk
  5. 5 trace aracı go tool trace ile zaman çizelgesini öğrenirsin. 4 dk
  6. 6 Özet - pprof CPU ve bellek profillerini birleştirerek bir analiz yazarsın. 4 dk
11
Observability
6 ders · 24 dk
  1. 1 log/slog log/slog ile yapılandırılmış loglamayı öğrenirsin. 4 dk
  2. 2 Metrics Prometheus tarzı metrik kavramını öğrenirsin. 4 dk
  3. 3 Tracing Dağıtık izleme (tracing) kavramını öğrenirsin. 4 dk
  4. 4 OpenTelemetry OpenTelemetry SDK'nın Go'da temelini öğrenirsin. 4 dk
  5. 5 Health check /healthz gibi sağlık üç noktası yazmayı öğrenirsin. 4 dk
  6. 6 Özet - Observability slog ve metrikleri birleştirerek bir gözlem katmanı yazarsın. 4 dk
12
İleri seviye finaliFinal
4 ders · 32 dk
  1. 1 Meydan okuma 1 - Reflection reflect ile bir yapıdan JSON üreten bir araç yazarsın. 8 dk
  2. 2 Meydan okuma 2 - Mikroservis HTTP API + veritabanı + Docker içeren bir servis yazarsın. 8 dk
  3. 3 Meydan okuma 3 - Performance Benchmark ve pprof ile darboğaz bulan bir analiz yazarsın. 8 dk
  4. 4 Meydan okuma 4 - Database Transaction ve prepared statement ile güvenli veri yazarsın. 8 dk

Go iç yapıları: scheduler, GC, compiler, runtime, WASM, embedded ve performans ayarı.

1
Scheduler
6 ders · 24 dk
  1. 1 G-M-P modeli Goroutine, makine ve processor üçlüsünü öğrenirsin. 4 dk
  2. 2 Goroutine yaşam döngüsü Goroutine'in çalışma, bekleme ve bitme durumlarını öğrenirsin. 4 dk
  3. 3 Work stealing Boşta kalan processor'ların iş çalma mekanizmasını öğrenirsin. 4 dk
  4. 4 Preemption Go scheduler'ın goroutine'leri zorla durdurmasını öğrenirsin. 4 dk
  5. 5 Syscall ve scheduler Syscall sırasında M'nin nasıl yönetildiğini öğrenirsin. 4 dk
  6. 6 Özet - Scheduler Scheduler mekanizmalarını birleştirerek bir analiz yazarsın. 4 dk
2
Garbage collector
6 ders · 24 dk
  1. 1 GC nedir? Çöp toplayıcının temel amacını öğrenirsin. 4 dk
  2. 2 Tri-color marking Beyaz, gri, siyah renkli işaretleme algoritmasını öğrenirsin. 4 dk
  3. 3 Concurrent GC GC'nin uygulama ile eşzamanlı çalışmasını öğrenirsin. 4 dk
  4. 4 GOGC ve GOMEMLIMIT GOGC ve GOMEMLIMIT çevre değişkenlerini öğrenirsin. 4 dk
  5. 5 GC ve bellek Heap ve stack ayrımını ve escape'ı öğrenirsin. 4 dk
  6. 6 Özet - GC Tri-color ve GOGC'yi birleştirerek bir bellek analizi yazarsın. 4 dk
3
Compiler
6 ders · 24 dk
  1. 1 Go compiler Go derleyicisinin aşamalarını öğrenirsin. 4 dk
  2. 2 SSA Static Single Assignment ara temsilini öğrenirsin. 4 dk
  3. 3 Escape analysis Derleyicinin stack/heap kararını nasıl verdiğini öğrenirsin. 4 dk
  4. 4 Inlining Derleyicinin fonksiyonları satır içine nasıl aldığını öğrenirsin. 4 dk
  5. 5 Derleyici direktifleri //go:nosplit gibi direktifleri öğrenirsin. 4 dk
  6. 6 Özet - Compiler SSA, escape ve inline'ı birleştirerek bir derleme analizi yazarsın. 4 dk
4
Runtime
6 ders · 24 dk
  1. 1 runtime paketi runtime paketinin temel fonksiyonlarını öğrenirsin. 4 dk
  2. 2 GOMAXPROCS GOMAXPROCS ile processor sayısını ayarlamayı öğrenirsin. 4 dk
  3. 3 runtime.Gosched Gosched ile goroutine'i gönüllü bırakmayı öğrenirsin. 4 dk
  4. 4 runtime.Stack Stack ile bir goroutine'in yığın izini almayı öğrenirsin. 4 dk
  5. 5 runtime.Goexit Goexit ile goroutine'i temiz şekilde bitirmeyi öğrenirsin. 4 dk
  6. 6 Özet - Runtime GOMAXPROCS, Gosched ve Stack'i birleştirerek bir izleyici yazarsın. 4 dk
5
WASM ve embedded
6 ders · 24 dk
  1. 1 WebAssembly Go'nun WASM hedefini öğrenirsin. 4 dk
  2. 2 GOOS=js GOOS=js GOARCH=wasm ile derlemeyi öğrenirsin. 4 dk
  3. 3 WASM ve DOM js paketiyle DOM'a erişmeyi öğrenirsin. 4 dk
  4. 4 Embedded Go Go'nun gömülü sistemlerde kullanımını öğrenirsin. 4 dk
  5. 5 TinyGo TinyGo alternatif derleyicisini öğrenirsin. 4 dk
  6. 6 Özet - WASM ve embedded WASM ve TinyGo'yu birleştirerek bir platform analizi yazarsın. 4 dk
6
Uzman finaliFinal
4 ders · 32 dk
  1. 1 Meydan okuma 1 - Scheduler Goroutine davranışını inceleyen bir izleme aracı yazarsın. 8 dk
  2. 2 Meydan okuma 2 - Performans GC ve alloc'leri inceleyen bir performans analizi yazarsın. 8 dk
  3. 3 Meydan okuma 3 - Compiler Escape ve inline kararlarını inceleyen bir araç yazarsın. 8 dk
  4. 4 Meydan okuma 4 - Üretim runtime GOMAXPROCS ve memory limit ayarlı bir servis yazarsın. 8 dk

Dersler ücretsiz, hesap ilerlemeni korur

Hesap açmak zorunlu değil. Açarsan kaldığın yerden devam eder, emeğini kaybetmezsin.

  • İlerlemen her cihazda kayıtlı
  • XP ve rozet kazan
  • Günlük seriyi koru
  • Kursu bitirince sertifika al
ücretsiz hesap aç

Sık sorulan sorular

Go dersleri ücretsiz mi?

Evet. Go kursundaki 272 dersin tamamı ücretsiz ve hesap açmadan başlayabilirsin.

Başlamak için ön bilgi gerekiyor mu?

Hayır. Başlangıç seviyesi sıfırdan anlatır; yalnızca bir tarayıcı yeterli. Konuyu biliyorsan üst seviyelerden başlayabilirsin.

Kursu bitirmek ne kadar sürer?

Dersler 2–8 dakikalık. Tüm kurs yaklaşık 20 saat; günde 15–20 dakikayla birkaç ayda bitirebilirsin.

Sertifika veriliyor mu?

Evet. Ücretsiz hesapla kursu tamamladığında adına doğrulanabilir bir sertifika oluşturulur.

Hesap açmadan ilerlemem kaybolur mu?

Hesapsız ilerlemen yalnızca kullandığın tarayıcıda tutulur. Ücretsiz hesap açtığında bu ilerleme hesabına aktarılır.

Sonraki adım Docker & Kubernetes

Docker container'ları ve Kubernetes ile modern uygulamaları dağıtmayı öğren: container, pod, deployment, service ve Helm.