Golang 101 Eğitimi

Ana Sayfa » Kurslar » Golang 101 Eğitimi

Eğitmenler: Uğur Özyılmazel, Erhan Akpınar


Katılımcılar için ön şartlar:
Herhangi bir programlama dili ile temel seviyede program yazabilme

Katılımcıların eğitime bilgisayar dışında getirmesi gereken donanım/yazılım
Bir kısım kurulum yapmaları lazım, go, docker, kod editörü.

Eğitim içeriği

  • Öne Çıkan Kısımları
  • Proverbs
  • Go’nun Paradigması
    Go uygulamasına genel bakış
  • Paket Kavramı
  • main Paketi
  • Executable ve library Kavramları
  • Go Uygulamasını Çalıştırmak
    Dil Kuralları
  • Unicode
  • Anahtar Kelimeler
  • Operatörler ve İşaretçiler
  • Gömülü Gelen Veri Tipleri
  • Kod Stili
  • Sabitler
  • Değişkenler
    Veri Tipleri
  • String
  • Boolean
  • Nümerikler
  • Array ve Slice Kavramları
  • Struct
  • Pointer
  • Struct Metodları ve Receiver Metodlar
  • Map
  • Tip Dönüştürme
  • Reflection
    Fonksiyonlar
  • Signature
  • Parametre / Argüman
  • Return Values
  • Naked Return
  • Recursivity
  • Closure, Anonim ve Scope
  • Tip ya da Argüman olarak Fonksiyon
  • defer()
    Durum Kontrolleri ve Çalışma Sırası
  • if, else, else if
  • Short Declaration if
  • switch ve case
  • Label ve break
  • goto
    Döngüler ve İterasyonlar
  • C style loop
  • range
  • break
  • continue
  • for ve Durum Kontrolü
  • Label Kullanımı

Interface

  • Tip Olarak Kullanım
  • Type Checking
  • Davranış Tanımı Olarak Kullanım
  • Stringer
  • Formatter
  • Interface Satisfaction
  • Interface içinde Interface (Embedding)
    Error’ler
  • Özelleştirilmiş Error Tipleri (Custom Error Types)
  • Error’leri Sarmalama (Wrapping Errors)
  • Error Sarmalını Açmak (Unwrap)
  • Error Değeri Kontrolü: errors.Is
  • Error Tipi Kontrolü: errors.As
  • En Yaygın Pratikler
  • panic ve recover
    nil
    İsimlendirme Kuralları
  • Değişken Adlandırması
  • Fonksiyon Adlandırması
  • Metod’ların (Method) Adlandırması
  • Paket İsimleri
    JSON ile çalışmak
  • JSON Tag’leri
  • Encoding (Marshal)
  • Decoding (Unmarshal)
  • Generic Interface
  • Reference Types
  • Streaming Encoders ve Decoders
    Test
  • İlk Test
  • Testlerin Tamamını ya da Bir Kısmını Çalıştırmak
  • Examples ve Doküman Sunucusu
  • Data Race Detection
  • Table Driven Tests
  • Sub Tests
  • SetUp ve TearDown
  • Paralel Test
  • Code Coverage
  • Benchmarking ve Profiling
  • Escape Analysis
  • Memory ve CPU Profiling Temelleri
    Concurrency
  • Goroutine
  • go func(){…}()
  • sync.WaitGroup
  • go func(arg T){…}(X) ve parametre
  • Channels
  • Unbuffered Channels
  • Deadlock
  • Channel value ve open/close Kontrolü
  • Range over Channels
  • Send İşeminin de Bloklaması
  • Buffered Channels
  • Semaphore Pattern
  • Fan Out Pattern
  • Select
  • Worker Pattern
  • Context
  • WithTimeout
  • WithCancel
  • WithDeadline
  • WithValue
    Mutex
  • sync/atomic
  • sync.Map
  • Channel Kendi içinde Mutex Kullanır
    Final
    in-memory Production Grade Key-Value Store REST-API servisi yapıyoruz

Başvur