DEFENSIVE C++: WRITING DEFENSIVE C++ CODE EĞİTİMİ

Savunmacı C++ kodunu elle yaz

Uygulamalı savunmacı C++ kod yazımı, güvenli kütüphane kullanımı ve kalıplar

Defensive C++: Savunmacı Kod Yazımı eğitimi; String ve Dizi Güvenliği, Güvenli Aritmetik, Hata Temsili, Girdi ve Dosya İşlemleri 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

Güvenli Veri İşleme ve Dayanıklı Kod Kalıpları ekseninde ilerleyen uygulamalı program

Bu eğitim defensive C++ kodunun pratik yazımına odaklanır: güvenli string ve dizi işleme, sınır denetimli erişim, tamsayı taşmasına karşı güvenli aritmetik, std::optional ve std::variant ile hata temsili, RAII sarmalayıcılar, istisna güvenliği (basic, strong, nothrow), const ve constexpr kullanımı ile thread-safe kod kalıpları. Her modülde güvensiz kod incelenip savunmacı sürümüne yeniden yazılır.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Güvenli Veri İşleme; 2. gün Dayanıklı Kod Kalıpları.

Seviye

İleri Seviye — Uygulamalı savunmacı C++ kod yazımı, güvenli kütüphane kullanımı ve kalıplar

Öğ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++: Savunmacı Kod Yazımı 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++: Savunmacı Kod Yazımı eğitimiDefensive C++: Savunmacı Kod Yazımı kursusavunmacı C++ kodugüvenli C++C++ istisna güvenliğistd::expectedstd::optionalC++ güvenli kodlamaDigital Vizyon Akademi
“Savunmacı kod, kötü günde bile çalışan koddur.”

Ö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ı güvensiz dizi, string ve aritmetik işlemlerini savunmacı biçimde yeniden yazar.
Modül 1
String ve Dizi Güvenliği
  • strcpy/sprintf yerine std::string ve std::format
  • std::string_view ile güvenli salt okunur görünüm
  • std::array, at() ve std::span ile sınır denetimi
  • Null sonlandırıcı hataları ve C API sınırı
  • Kullanıcı girdisini bellek ayırmadan sınırlama
  • snprintf dönüş değerinin denetlenmesi
Modül 2
Güvenli Aritmetik
  • Tamsayı taşması (signed overflow UB) ve unsigned wrap
  • __builtin_add_overflow ve checked aritmetik
  • Daraltan dönüşümler ve brace-init koruması
  • std::in_range, std::cmp_less (C++20)
  • Boyut hesabında size_t taşması
  • Kayan noktada NaN ve Inf denetimi
Modül 3
Hata Temsili
  • std::optional ile değer yok durumu
  • std::variant ile birden çok sonuç
  • std::expected (C++23) ve hata kodu taşıma
  • Sihirli dönüş değeri (-1) yerine tipli sonuç
  • [[nodiscard]] ile yok sayılan hatayı önleme
  • Hata dönüşünü zincirleyen yardımcılar
Modül 4
Girdi ve Dosya İşlemleri
  • std::filesystem ile yol doğrulama ve path traversal
  • Dosya açma ve okuma hatalarının denetimi
  • std::ifstream durum bitleri (failbit, badbit)
  • Biçimlendirilmiş girdi ayrıştırma ve std::from_chars
  • TOCTOU yarışı ve güvenli dosya işleme
  • Büyük girdi için okuma sınırı
Günün hedefiKatılımcı istisna güvenli ve thread-safe savunmacı sınıf kalıplarını uygular.
Modül 1
İstisna Güvenliği
  • Basic, strong ve nothrow garanti düzeyleri
  • Copy-and-swap ile strong garanti
  • Kaynak edinme sırasında kısmi başarısızlık
  • noexcept destructor ve swap
  • Scope guard ve std::unique_resource benzeri sarmalayıcı
  • İstisna güvenliği test teknikleri
Modül 2
RAII Sarmalayıcıları
  • Dosya, soket ve mutex için RAII sınıfı
  • C API'yi özel deleter ile sarmalama
  • Move-only sarmalayıcı tasarımı
  • Sahiplik hatasını derleme zamanında yakalama
  • Defer/scope_exit kalıbı
  • Kaynak sızıntısı testi
Modül 3
Eşzamanlılık Güvenliği
  • std::mutex, std::lock_guard, std::scoped_lock kullanımı
  • Atomic ve bellek sıralaması temelleri
  • Veri yarışını ThreadSanitizer ile bulma
  • const'ın thread-safe anlamı
  • Paylaşılan durumdan kaçınma
  • std::jthread ve stop_token ile güvenli sonlandırma
Modül 4
Güvensiz Kodu Yeniden Yazma
  • Kod incelemesi: gerçek güvenlik zafiyeti içeren örnek
  • Adım adım refactor: C tarzından modern C++'a
  • Birim testlerle davranışın korunması
  • Sanitizer ve statik analiz doğrulaması
  • Savunmacı kodlama kontrol listesi
  • Takım için rehber özetinin hazırlanması

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Güvenli String

C tarzı string hatalarından kaçınan modern string işleme yazabilirsiniz

✅
Güvenli Aritmetik

Taşma ve daraltan dönüşüm hatalarına karşı korunmuş hesap yapabilirsiniz

✅
Hata Temsili

optional, variant ve expected ile hata sonucunu tipe taşıyabilirsiniz

✅
Dosya Güvenliği

Dosya ve girdi işlemlerinde doğrulama ve sınır koyabilirsiniz

✅
İstisna Güvenliği

Strong garantili sınıflar yazabilirsiniz

✅
RAII Sarmalayıcı

C API kaynaklarını güvenli RAII sınıflarına çevirebilirsiniz

✅
Thread Güvenliği

Mutex ve atomic ile yarışsız kod yazıp TSan ile doğrulayabilirsiniz

✅
Refactor Becerisi

Güvensiz eski kodu testli biçimde savunmacı sürüme dönüştürebilirsiniz

Kimler İçin Uygundur?

  • C++ ile üretim kodu yazan
  • mevcut kodunu daha güvenli hale getirmek isteyen orta-ileri düzey geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C++ ile üretim kodu yazan, mevcut kodunu daha güvenli hale getirmek isteyen orta-ileri düzey geliştiriciler için uygundur.
Eğitimde hangi konular işlenir?
Program 2 gün sürer ve şu modülleri içerir: String ve Dizi Güvenliği, Güvenli Aritmetik, Hata Temsili, Girdi ve Dosya İşlemleri, İstisna Güvenliği, RAII Sarmalayıcıları, Eşzamanlılık Güvenliği, Güvensiz Kodu Yeniden Yazma.
Hangi C++ sürümü gereklidir?
C++17 temel alınır; std::expected, std::span ve std::in_range gibi C++20/23 özellikleri için uyumlu derleyici veya alternatif kütüphane (tl::expected, gsl::span) gösterilir.
Eğitimde mevcut kod tabanımız üzerinde çalışılabilir mi?
Eğitim hazır lab kodlarıyla ilerler; katılımcılar son modülde kendi kod parçalarını sorular sırasında inceleme için paylaşabilir.
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++: Writing Defensive C++ Code 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++Intermediate C++ Programming | Effective C++ (TTCP2150) Eğitimi
Yazılım Geliştirme Eğitimleri

Intermediate C++ Programming | Effective C++ (TTCP2150) Eğitimi

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

Intermediate C++ Programming: Effective C++ eğitimi: 3 gün, uygulamalı kod egzersizleri ve DVA katılım sertifikası ile konuyu uçtan uca öğrenin.

Detayları Gör →
C ve C++OOP in C++: Copy Constructors, Nested Classes, & Namespaces Eğitimi
Yazılım Geliştirme Eğitimleri

OOP in C++: Copy Constructors, Nested Classes, & Namespaces Eğitimi

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

OOP in C++: Copy Constructor, Nested Class ve Namespace 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++OOP in C++: Instantiating Objects Using Constructors Eğitimi
Yazılım Geliştirme Eğitimleri

OOP in C++: Instantiating Objects Using Constructors Eğitimi

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

OOP in C++: Constructor ile Nesne Oluşturma eğitimi: Constructor Temelleri ve İleri Nesne Oluşturma uygulamalı lab çalışmalarıyla işlenir. DVA katılım sertifika

Detayları Gör →
C ve C++OOP in C++: Using Static Members & Destructors Eğitimi
Yazılım Geliştirme Eğitimleri

OOP in C++: Using Static Members & Destructors Eğitimi

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

OOP in C++: Static Üyeler ve Destructor eğitimi: Static Üyeler ve Destructor ve Kaynak Yönetimi konularını uygulamalı örneklerle öğrenin. DVA katılım sertifikal

Detayları Gör →
C ve C++OOP in C++: Using the this Pointer & const Members Eğitimi
Yazılım Geliştirme Eğitimleri

OOP in C++: Using the this Pointer & const Members Eğitimi

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

OOP in C++: this İşaretçisi ve const Üyeler eğitimi: this İşaretçisi ve const Üyeler ve const-correctness uygulamalı lab çalışmalarıyla işlenir. DVA katılım ser

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