DEFENSIVE C++: MANAGING MEMORY EĞİTİMİ

Bellek hatalarını üretmeden yakala

Bellek hataları, sahiplik modelleri, akıllı işaretçiler ve sanitizer ile bellek güvenliği

Defensive C++: Bellek Yönetimi eğitimi; Bellek Modeli, Klasik Bellek Hataları, Sanitizer ve Dinamik Analiz, Statik Analiz ve Derleme Seçenekleri ve daha fazlası. 2 gün, uygulamalı lab çalışmaları, Digital Vizyon Akademi katılım sertifikası.

2 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Bellek Hataları ve Teşhisi ve Sahiplik ve Güvenli Bellek Kullanımı ekseninde ilerleyen uygulamalı program

Bu eğitim C++ programlarında bellek güvenliğini savunmacı bir bakışla işler: stack ve heap davranışı, buffer overflow, use-after-free, double free, memory leak ve dangling pointer örnekleri, RAII, std::unique_ptr / std::shared_ptr / std::weak_ptr sahiplik modelleri, özel deleter, placement new, aligned allocation ve AddressSanitizer, Valgrind, LeakSanitizer ile hata ayıklama uygulamalı yapılır.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Bellek Hataları ve Teşhisi; 2. gün Sahiplik ve Güvenli Bellek Kullanımı.

Seviye

İleri Seviye — Bellek hataları, sahiplik modelleri, akıllı işaretçiler ve sanitizer ile bellek güvenliği

Öğrenme Metodu

Her modülde kısa konu anlatımının ardından g++/clang++ ile derlenen kod egzersizleri yapılır; sanitizer ve derleyici uyarılarıyla hatalar birlikte ayıklanır.

Neden Bu Eğitim?

💻Kod Odaklı Öğrenme

Defensive C++: Bellek Yönetimi konuları her modülde yazıp çalıştırdığınız egzersizlerle pekiştirilir; teori kodla birlikte ilerler.

🐞Gerçek Hata Örnekleri

Sahada sık görülen hatalar bilinçli olarak üretilir, nedenleri incelenir ve kalıcı çözüm kalıpları gösterilir.

🎓Katılım Sertifikası

Eğitimi tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır.

Anahtar Konular

Defensive C++: Bellek Yönetimi eğitimiDefensive C++: Bellek Yönetimi kursuC++ bellek yönetimimemory leakuse-after-freeAddressSanitizersmart pointerValgrind eğitimiDigital Vizyon Akademi
“Bellek hatasının en ucuz çözümü, hiç sahipsiz bellek bırakmamaktır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
C++ Temelleri

Değişken, fonksiyon, sınıf ve işaretçi kavramlarına temel düzeyde aşinalık beklenir.

2
Derleyici Ortamı

g++ / clang++ veya MSVC ile C++17 standardında derleme yapabilen bir kurulum gerekir.

3
Komut Satırı

Derleme çıktılarını ve hata mesajlarını okuyabilecek kadar terminal alışkanlığı faydalıdır.

4
Editör veya IDE

VS Code, CLion ya da Visual Studio gibi bir geliştirme ortamı hazır olmalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı yaygın bellek hatalarını üretir, nedenlerini açıklar ve sanitizer ile yakalar.
Modül 1
Bellek Modeli
  • Stack, heap, statik ve thread-local depolama
  • Nesne ömrü ve storage duration
  • Hizalama (alignment) ve padding
  • new/delete ile malloc/free farkı
  • Placement new ve açık destructor çağrısı
  • Bellek haritasını gdb ile inceleme
Modül 2
Klasik Bellek Hataları
  • Buffer overflow ve out-of-bounds erişim
  • Use-after-free ve dangling pointer
  • Double free ve delete[] / delete uyumsuzluğu
  • Başlatılmamış bellek okuma
  • Memory leak ve sahiplik kaybı
  • Her hata için minimal tekrarlama örneği
Modül 3
Sanitizer ve Dinamik Analiz
  • fsanitize=address ile heap ve stack hatalarının yakalanması
  • LeakSanitizer ile sızıntı raporu
  • UndefinedBehaviorSanitizer ile tanımsız davranış
  • Valgrind memcheck çıktısını okuma
  • Sanitizer raporlarında yığın izini yorumlama
  • MSVC /fsanitize=address ve CRT debug heap
Modül 4
Statik Analiz ve Derleme Seçenekleri
  • clang-tidy cppcoreguidelines-owning-memory kontrolü
  • cppcheck ve Coverity tarzı araçlar
  • Wall -Wextra -Wnull-dereference uyarıları
  • Stack protector ve FORTIFY_SOURCE
  • Hardening bayrakları (-D_FORTIFY_SOURCE=2, -fstack-protector-strong)
  • CI hattında bellek analizi
Günün hedefiKatılımcı raw işaretçi yerine sahipliği açık ifade eden güvenli bellek kalıplarını uygular.
Modül 1
RAII ve Sahiplik İlkeleri
  • Kaynağın nesne ömrüne bağlanması
  • Sahip olan ve olmayan işaretçi ayrımı
  • C++ Core Guidelines R bölümü özeti
  • Rule of Zero ile bellek yönetimi
  • Move-only sahiplik devri
  • Elle new/delete'in kod incelemesinde reddedilmesi
Modül 2
Akıllı İşaretçiler
  • std::unique_ptr ve std::make_unique kullanımı
  • std::shared_ptr, kontrol bloğu ve referans sayımı
  • std::weak_ptr ile döngüsel referansı kırma
  • Özel deleter ve dosya/soket sarmalama
  • shared_ptr'in maliyeti ve ne zaman seçilmeli
  • enable_shared_from_this tuzağı
Modül 3
Konteynerler ve Güvenli Erişim
  • std::vector, std::array ve at() ile sınır denetimi
  • std::span ile boyut taşıyan görünüm
  • std::string_view ömür tuzakları
  • Iteratör geçersizleşmesi ve bellek yeniden tahsisi
  • reserve ve shrink_to_fit etkileri
  • C tarzı dizilerin std::array ile değiştirilmesi
Modül 4
Özel Bellek Yönetimi
  • operator new/delete aşırı yükleme
  • std::pmr::monotonic_buffer_resource ile arena kullanımı
  • Havuz (pool) ayırıcı ve parçalanma
  • Aligned allocation (std::aligned_alloc, alignas)
  • Bellek kullanım istatistiği ve sızıntı izleme
  • Gömülü/gerçek zamanlı ortamlarda dinamik bellekten kaçınma

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Bellek Modeli

Stack, heap ve nesne ömrü kavramlarını doğru kullanabilirsiniz

✅
Hata Tanıma

Overflow, use-after-free ve double free hatalarını kodda ayırt edebilirsiniz

✅
Sanitizer Kullanımı

AddressSanitizer ve Valgrind ile bellek hatalarını bulup yorumlayabilirsiniz

✅
Statik Analiz

clang-tidy ve uyarı bayraklarıyla riskli kalıpları erken yakalayabilirsiniz

✅
RAII Uygulaması

Kaynakları nesne ömrüne bağlayarak sızıntıları önleyebilirsiniz

✅
Akıllı İşaretçiler

unique_ptr, shared_ptr ve weak_ptr'yi doğru yerde seçebilirsiniz

✅
Güvenli Erişim

span, vector ve at() ile sınır denetimli erişim yazabilirsiniz

✅
Özel Ayırıcı

PMR arena ve havuz ayırıcıyı gerektiğinde uygulayabilirsiniz

Kimler İçin Uygundur?

  • Sistem seviyesinde C++ yazan
  • bellek sızıntısı
  • çökme hatalarıyla uğraşan ve kodunu daha güvenli hale getirmek isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Sistem seviyesinde C++ yazan, bellek sızıntısı ve çökme hatalarıyla uğraşan ve kodunu daha güvenli hale getirmek isteyen geliştiriciler için uygundur.
Eğitimde hangi konular işlenir?
Program 2 gün sürer ve şu modülleri içerir: Bellek Modeli, Klasik Bellek Hataları, Sanitizer ve Dinamik Analiz, Statik Analiz ve Derleme Seçenekleri, RAII ve Sahiplik İlkeleri, Akıllı İşaretçiler, Konteynerler ve Güvenli Erişim, Özel Bellek Yönetimi.
Valgrind ve AddressSanitizer farkı nedir?
Valgrind derlenmiş ikili üzerinde yavaş ama yeniden derleme gerektirmeden çalışır; ASan ise derleme zamanı enstrümantasyonuyla daha hızlıdır. Eğitimde ikisi de uygulanır.
Windows üzerinde de uygulanabilir mi?
Evet; MSVC'nin /fsanitize=address desteği ve CRT debug heap araçları kullanılır, Linux araçları ise WSL veya sanal makine ile çalıştırılabilir.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir; programın dışında bir resmi sınav söz konusu değildir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Defensive C++: Managing Memory Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

C ve C++Defensive C++: Writing Defensive C++ Code Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive C++: Writing Defensive C++ Code Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Defensive C++: Savunmacı Kod Yazımı eğitimi: Güvenli Veri İşleme ve Dayanıklı Kod Kalıpları konularını uygulamalı örneklerle öğrenin. DVA katılım sertifikalı pr

Detayları Gör →
C ve C++Defensive Coding Best Practices for C/C++ Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive Coding Best Practices for C/C++ Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Defensive Coding Best Practices C/C++ eğitimi: 2 gün, uygulamalı kod egzersizleri ve DVA katılım sertifikası ile konuyu uçtan uca öğrenin.

Detayları Gör →
C ve C++Defensive Coding for C/C++ Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive Coding for C/C++ Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Defensive Coding for C/C++ eğitimi: Girdi ve Bellek Güvenliği ve Hata Yönetimi ve Doğrulama konularını uygulamalı örneklerle öğrenin. DVA katılım sertifikalı pr

Detayları Gör →
C ve C++Defensive Coding Fundamentals for C/C++ Eğitimi
Yazılım Geliştirme Eğitimleri

Defensive Coding Fundamentals for C/C++ Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Defensive Coding Fundamentals C/C++ eğitimi: Hatanın Anatomisi ve Güvenli Kodlama Alışkanlıkları uygulamalı lab çalışmalarıyla işlenir. DVA katılım sertifikalı.

Detayları Gör →
C ve C++Embedded C Uygulama Tasarım İlkeleri Eğitimi
Yazılım Geliştirme Eğitimleri

Embedded C Uygulama Tasarım İlkeleri Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Embedded C Uygulama Tasarım İlkeleri eğitimi: Donanıma Yakın C ve Uygulama Mimarisi konularını uygulamalı örneklerle öğrenin. DVA katılım sertifikalı program.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn