Dilini seç
İleri Seviye Golang Kursu
Dünya çapında 2 milyondan fazla öğrenci

İleri Seviye Golang Kursu

Go uzmanlığını bir adım ileriye taşıyarak çalışma zamanı iç yapılarına, ileri düzey eşzamanlılığa, generics'e ve üretim hizmeti tasarımına derinlemesine dal. Bu kurs, deneyimli geliştiricilere ölçekte hızlı, güvenilir ve bakımı kolay Go sistemleri oluşturmak için gereken düşük seviye bilgiyi ve savaşta test edilmiş kalıpları sunar.

Dedika İşletmeler için

Neler öğreneceksiniz:

  • Go'nun bellek modeli, çöp toplama mekanizmaları ve kaçış analizinde uzmanlaşarak yüksek performanslı kod yaz.

  • İşçi havuzları, hız sınırlayıcılar ve bağlam odaklı iptal dahil olmak üzere ileri düzey eşzamanlılık desenlerini uygula.

  • Kısıtlamalar ve arayüz birleşimleri kullanarak tür güvenli genel veri yapıları ve API'ler tasarla.

  • pprof, yürütme izleri ve titiz kıyaslama teknikleri kullanarak Go uygulamalarını profille ve optimize et.

  • Yapılandırılmış günlükleme, OpenTelemetry enstrümantasyonu ve düzgün kapanma ile üretim kalitesinde hizmetler oluştur.

  • Yapılandırılmış günlükleme, OpenTelemetry enstrümantasyonu ve düzgün kapatma ile üretim kalitesinde hizmetler oluştur.

Nasıl pratik şekilde çalışırsınız İleri Seviye Golang Kursu

Nasıl pratik yaparsınız İleri Seviye Golang Kursu

Şirketiniz için ekibinizi eğitmek isteyenlere özel

Dedika Kurumsal'da, kurs kendi işinize ve şirketinizin ihtiyaçlarına uygun egzersizler ve örneklerle gelir.

Buraya tıklayın

Kurs İçeriği

8 Bölüm • 36 Ders4 ile 360 saat arasında (siz karar verin)

Bölüm 1Detayları Gör

Go Çalışma Zamanı ve Bellek Modeli

  • Ders 1 • Go Çalışma Zamanı Mimarisi Genel Bakış

    Go çalışma zamanının temel bileşenlerini incele: zamanlayıcı, bellek ayırıcı ve çöp toplayıcı. Bu bağlam, kurstaki her ileri düzey konuyu temellendirir.

  • Ders 2 • Çöp Toplayıcı İç Yapısı

    Üç renkli işaretle ve süpür GC'yi, yazma bariyerlerini ve GC hız ayarını keşfet. Bu bilgi, sonraki bölümlerde hedefli performans ayarı yapmanı sağlar.

  • Ders 3 • Go Bellek Modeli Temelleri

    Go'da önce-gerçekleşme ilişkisini ve senkronizasyon garantilerini tanımla. Buradaki doğru zihinsel modeller, sonraki eşzamanlılık çalışmalarında veri yarışlarını önler.

  • Ders 4 • Yığın ve Öbek Tahsisi

    Derleyici tarafından yapılan yığın büyümesi, kaçış analizi ve öbek tahsisi kararlarını ayırt edebilmek. Tahsis modellerini anlamak, çöp toplama baskısını azaltır.

Bölüm 2Detayları Gör

İleri Düzey Eşzamanlılık Desenleri

  • Ders 1 • Senkronizasyon İlkellerinde Derinlemesine

    Rekabet altında sync.Mutex, RWMutex, WaitGroup, Once ve atomik işlemleri doğru kullan. Doğru ilkel seçimi iş hacmini doğrudan etkiler.

  • Ders 2 • Goroutine Zamanlayıcısı Derinlemesine İnceleme

    Goroutine davranışını tahmin etmek için M:N zamanlayıcıyı, iş çalmayı ve önlemeyi analiz et. Bu, eşzamanlı iş hatlarının doğru tasarımının temelini oluşturur.

  • Ders 3 • İleri Düzey Eşzamanlılık Desenleri

    Yapılandırılmış eşzamanlılık için semaforlar, işçi havuzları, hız sınırlayıcılar ve errgroup uygula. Bu desenler, önceki bölümlerdeki ilkelleri bir araya getirir.

  • Ders 4 • Kanal Desenleri ve Tuzakları

    Türlenmiş kanalları kullanarak iş hatları, fan-out, fan-in ve done-kanalı desenleri tasarla. Yaygın yanlış kullanımları tanımak goroutine sızıntılarını önler.

  • Ders 5 • Context Paketi ve İptal

    Çağrı ağaçları boyunca context kullanarak son tarihleri, iptal sinyallerini ve istek kapsamlı değerleri yay. Bu desen, üretim hizmeti tasarımı için olmazsa olmazdır.

Bölüm 3Detayları Gör

Jenerikler ve Tür Sistemi Ustalığı

  • Ders 1 • Jenerik Veri Yapıları

    Doğru kısıtlama tasarımıyla jenerik yığınlar, kuyruklar, kümeler ve haritalar oluştur. Bu yapılar, ilgisiz tür aileleri arasında pratik yeniden kullanımı gösterir.

  • Ders 2 • Kısıtlamalar ve Arayüz Birleşimleri

    Arayüz birleşimleri, temel türler ve karşılaştırılabilir kullanarak kesin kısıtlamalar tanımla. Sıkı kısıtlamalar daha güvenli, daha anlamlı jenerik API'ler üretir.

  • Ders 3 • Jenerik Performansı ve Sınırlamaları

    GC şekil şablonlamayı, sözlük geçirmeyi ve tekbiçimlileştirme ödünleşimlerini analiz et. Sınırlamaları bilmek, çalışma zamanı performansını düşüren yanlış kullanımları önler.

  • Ders 4 • Jenerik Söz Dizimi ve Tür Parametreleri

    Tür parametreleriyle jenerik fonksiyonlar ve türler bildir ve bunları doğru bir şekilde somutlaştır. Söz dizimi akıcılığı, tüm kısıtlama tasarımı çalışmaları için ön koşuldur.

Bölüm 4Detayları Gör

Arayüzler, Yansıma ve Dinamik Dağıtım

  • Ders 1 • reflect Paketi ile Yansıma

    Çalışma zamanında türleri incelemek ve işlemek için reflect.Type ve reflect.Value kullan. Yansıma, jenerik serileştirme ve bağımlılık enjeksiyonu çerçevelerini mümkün kılar.

  • Ders 2 • Yansıma Alternatifi Olarak Kod Üretimi

    Maliyetli yansımayı değiştirmek için go generate ve AST tabanlı araçlarla tür güvenliği olan ortak kod oluştur. Üretilen kod, sıfır çalışma zamanı maliyetiyle yansıma benzeri esneklik elde eder.

  • Ders 3 • Arayüz İç Yapısı ve ifade Düzeni

    iface ve eface yapılarını, itab önbelleğe almayı ve nil arayüz tuzaklarını incele. İçsel bilgi, arayüz ağırlıklı kodlarda ince hataları önler.

  • Ders 4 • Eklenti ve Uzantı Mimarileri

    Arayüzler, fonksiyon kayıtları ve plugin paketini kullanarak eklenti sistemleri tasarla. Bu desenler, yeniden derleme olmadan çalışma zamanı genişletilebilirliğini sağlar.

Bölüm 5Detayları Gör

Performans Profilleme ve Optimizasyon

  • Ders 1 • testing Paketi ile Kıyaslama

    testing.B, alt kıyaslamalar ve istatistiksel karşılaştırma için benchstat kullanarak güvenilir kıyaslamalar yaz. Titiz kıyaslama, optimizasyon etkisini nesnel olarak doğrular.

  • Ders 2 • Bellek Optimizasyon Teknikleri

    sync.Pool, yapı alan hizalama ve dilim ön tahsisi kullanarak tahsisleri azalt. Her teknik, GC sıklığını ve duraklama sürelerini doğrudan düşürür.

  • Ders 3 • pprof ile Profilleme

    pprof kullanarak CPU, yığıt, goroutine ve blok profilleri topla ve alev grafiklerini yorumla. Profilleme, herhangi bir optimizasyon girişiminden önce zorunlu ilk adımdır.

  • Ders 4 • Yürütme İzleyicisi ve Gecikme Süresi Analizi

    Zamanlama gecikmesini, GC duraklamalarını ve sistem çağrısı blokajlarını teşhis etmek için çalışma zamanı yürütme izleyicisini kullan. İz analizi, pprof'a görünmeyen eşzamanlılık darboğazlarını ortaya çıkarır.

  • Ders 5 • CPU ve Derleyici Optimizasyonları

    CPU verimliliği için satiriçine alma, sınır denetimi eleme ve SIMD dostu veri düzenlerinden yararlan. Derleyici ipuçları ve veri düzeni seçimleri ölçülebilir iş hacmi kazanımları sağlar.

Bölüm 6Detayları Gör

İleri Düzey Hata Yönetimi ve Test

  • Ders 1 • Sentinel Hatalar ve Hata Hiyerarşileri

    Alana özgü teşhisler için paket düzeyinde sentinel hatalar ve türlenmiş hata hiyerarşileri tanımla. Tutarlı hata taksonomisi, büyük kod tabanlarında çağıran ergonomisini iyileştirir.

  • Ders 2 • Sahte Nesneler, Dublörler ve Test Çiftleri

    Test edilebilir arayüzler tasarla ve test altındaki birimleri izole etmek için sahte nesneler veya dublörler yerleştir. Arayüz tabanlı enjeksiyon, gerçek bağımlılıklar olmadan hızlı, deterministik testler sağlar.

  • Ders 3 • Tablo Odaklı ve Alt Testler

    Tablo odaklı test senaryoları ve izolasyon için t.Run alt testleriyle kapsamlı test paketleri yapılandır. Bu yaklaşım, kurulum mantığını tekrarlamadan test kapsamını ölçeklendirir.

  • Ders 4 • Hata Sarmalama ve Çözme

    İncelenebilir hata zincirleri oluşturmak için fmt.Errorf ile %w, errors.Is ve errors.As kullan. Yapılandırılmış hatalar, dize eşlemesi olmadan hassas işleme olanak tanır.

  • Ders 5 • go test ile Fuzzing Testi

    Sınır durum çökmelerini ve mantık hatalarını keşfetmek için yerel fuzzing motorunu kullanarak fuzzing hedefleri yaz. Fuzzing, beklenmedik girdi alanlarını keşfederek birim testlerini tamamlar.

Bölüm 7Detayları Gör

Sistem Programlama ve CGo

  • Ders 1 • unsafe Paketi

    Açık güvenlik kurallarıyla düşük seviyeli bellek manipülasyonu için unsafe.Pointer, uintptr ve Sizeof kullan. Güvensiz işlemler, yüksek performanslı serileştirme ve FFI için gereklidir.

  • Ders 2 • CGo Performansı ve Alternatifleri

    CGo çağrı yükünü ölç ve syscall, purego ve paylaşımlı kütüphane alternatiflerini değerlendir. Doğru FFI stratejisini seçmek performans, taşınabilirlik ve güvenliği dengeler.

  • Ders 3 • CGo Temelleri

    CGo yönergeleri ve tür eşlemelerini kullanarak Go'dan C fonksiyonlarını çağır ve Go fonksiyonlarını C'ye dışa aktar. CGo, mevcut C kütüphaneleri ve işletim sistemi seviyesindeki API'lerle entegrasyonu sağlar.

  • Ders 4 • Go Assembly Yazma

    Derleyici sınırlamalarını aşmak ve CPU talimatlarına erişmek için sıcak fonksiyonlar için Plan 9 assembly dublörleri yaz. Assembly, derleyici optimizasyon seçeneklerini tükettikten sonraki son çaredir.

Bölüm 8Detayları Gör

Üretim Seviyesinde Hizmetler Oluşturma

  • Ders 1 • Zarif Kapanma ve Sinyal Yönetimi

    Devam eden istekleri boşaltan ve kaynakları temiz bir şekilde serbest bırakan sinyal farkında kapanma dizileri uygula. Zarif kapanma, dağıtımlar sırasında veri kaybını ve bağlantı hatalarını önler.

  • Ders 2 • Metrikler ve Dağıtık İzleme

    Gecikme süresini, hata oranlarını ve iş hacmini ortaya çıkarmak için hizmetleri OpenTelemetry metrikleri ve izleriyle enstrümente et. Enstrümantasyon verileri, SLO izleme ve olay teşhisini yönlendirir.

  • Ders 3 • Go Hizmetlerinde Dayanıklılık Desenleri

    Basamaklı arızaları önlemek için devre kesiciler, geri çekilmeli yeniden denemeler ve bölmeler uygula. Bu desenler, kısmi altyapı kesintileri altında hizmetlerin kendi kendini iyileştirmesini sağlar.

  • Ders 4 • Yapılandırma ve Bağımlılık Enjeksiyonu

    Yapılandırmayı ortam değişkenleri, dosyalar ve doğrulama ile yönet; bağımlılıkları açıkça bağla. Açık bağlama test edilebilirliği artırır ve gizli global durumu ortadan kaldırır.

  • Ders 5 • Yapılandırılmış Loglama ve Gözlemlenebilirlik

    Makine tarafından ayrıştırılabilir çıktı için slog, log seviyeleri ve bağlamsal alanlarla yapılandırılmış loglama uygula. Yapılandırılmış loglar, üretim gözlemlenebilirlik hatlarının temelidir.

Sertifikasyon

Geçerli tamamlama sertifikanız

Bu kurs sizin için:

  • Backend mühendisleri: Go yazmaktan, onu derinlemesine kavramaya hazır mısınız?

  • Platform mühendisleri: güvenilir altyapı araçları oluşturmak için düşük seviyeli Go bilgisine ihtiyaç duyanlar.

  • Kıdemli geliştiriciler: diğer dillerden geçiş yapan ve Go'ya özgü bilgi boşluklarını kapatanlar.

  • Site güvenilirliği mühendisleri: üretim olayları sırasında Go servis davranışını teşhis etmek isteyenler.

  • Açık kaynak katkıda bulunanlar: performans açısından kritik veya sistem seviyesindeki Go projelerinde çalışmayı hedefleyenler.

  • Teknik liderler: mühendislik ekipleri genelinde Go mimari standartlarını belirlemekten sorumlu olanlar.

Öğrencilerimiz ne diyor

Dersleriniz mükemmel. Bir yıllık paketi aldım ve sonunda ilgilendiğim çeşitli konuları platform değiştirmek zorunda kalmadan takip etme fırsatım var... yaptığınız her şey için teşekkür ederim, sizi başkalarına da tavsiye ettim...
Giulio Carlo
Giulio CarloDijital Pazarlama Öğrencisi
Derslerin doğrudan konuya odaklanmasını ve bölümleri değiştirebilmemi, ihtiyacım olmayan içerikleri atlayabilmemi seviyorum.
Mariana Ferres
Mariana FerresFotoğrafçılık Öğrencisi
İçeriği ve video sunumu ile transkripsiyon yöntemini seviyorum, bu süreci hızlandırıyor!
Luciana Alvarenga
Luciana AlvarengaTırnak Tasarımı Öğrencisi
Platform hızlı, kullanımı kolay. İçerik çeşitliliği ve tamamlayıcı videolar öğrenmeye çok yardımcı oluyor.
André Felipe
André FelipePrompt Mühendisliği Öğrencisi

Başlıca yetkinlikler

SSS

Dedika kimdir?

Sertifika Türkiye’de geçerli mi?

Kurslar ücretsiz mi?

Kursların ders yükü nedir?

Kurslar nasıl bir yapıya sahip?

Kurslar nasıl çalışıyor?

Kursların süresi nedir?

Kursların maliyeti veya fiyatı nedir?

Eğitimde uzaktan eğitim (EAD) veya online kurs nedir ve nasıl çalışır?

PDF Kursu