DEFENSIVE CODING FUNDAMENTALS FOR C/C++ EĞİTİMİ

Savunmacı kodlamanın ilk adımları

C ve C++ için savunmacı kodlamanın temel kavramları ve ilk güvenli alışkanlıklar

Defensive Coding Fundamentals C/C++ eğitimi; Neden Hata Oluşur, Tanımsız Davranış, Derleyici Uyarıları, Hata Ayıklama Temelleri ve daha fazlası. 2 gün, uygulamalı lab çalışmaları, Digital Vizyon Akademi katılım sertifikası.

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

Eğitim Hakkında

Hatanın Anatomisi ve Güvenli Kodlama Alışkanlıkları ekseninde ilerleyen uygulamalı program

Bu eğitim C ve C++ geliştiricilerine savunmacı kodlamanın temel ilkelerini kazandırır: neden hatalar oluşur, tanımsız davranış nedir, tipik zafiyet sınıfları, başlatılmamış değişkenler, dizi sınırı, işaretçi güvenliği, string işleme ve dönüş değeri kontrolü. Derleyici uyarıları ve basit araçlarla (gdb, valgrind, cppcheck) hatalar bulunur; her konu küçük bir zafiyetli programın düzeltilmesiyle pekiştirilir.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Hatanın Anatomisi; 2. gün Güvenli Kodlama Alışkanlıkları.

Seviye

Temel Seviye — C ve C++ için savunmacı kodlamanın temel kavramları ve ilk güvenli alışkanlıklar

Öğ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 Coding Fundamentals C/C++ 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 Coding Fundamentals C/C++ eğitimiDefensive Coding Fundamentals C/C++ kursudefensive coding temelleriC güvenli kodlamaC++ güvenli kodlamatanımsız davranışgdb eğitimiC C++ başlangıç güvenlikDigital Vizyon Akademi
“Savunmacı alışkanlık küçük adımlarla başlar ve büyük açıkları kapatı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ı tanımsız davranışın ve yaygın zafiyetlerin nedenini açıklar, derleyici uyarılarıyla ilk savunmayı kurar.
Modül 1
Neden Hata Oluşur
  • Programcı varsayımları ve gerçek girdi arasındaki fark
  • Hata, zafiyet ve istismar kavramları
  • Yazılım güvenliği olay örnekleri
  • CIA üçlüsü ve kod seviyesi etkisi
  • Savunmacı kodlama ilkeleri listesi
  • Güvenli kodlama kaynakları (CERT, Core Guidelines)
Modül 2
Tanımsız Davranış
  • Tanımsız, belirtilmemiş ve uygulama tanımlı davranış
  • Başlatılmamış değişken okuma
  • Dizi sınırı dışı erişim ve null dereference
  • İşaretli tamsayı taşması
  • Optimizasyonun UB üzerindeki etkisi
  • UBSan ile örnek yakalama
Modül 3
Derleyici Uyarıları
  • Wall -Wextra -Wpedantic kullanımı
  • Uyarıyı hata sayma (-Werror)
  • Wshadow, -Wconversion, -Wuninitialized
  • Uyarıları susturmak yerine çözmek
  • Farklı derleyicilerin uyarıları
  • Statik analiz ile uyarı farkı
Modül 4
Hata Ayıklama Temelleri
  • gdb ile breakpoint ve adım adım ilerleme
  • bt, print ve watch komutları
  • core dump'tan çökme nedeni bulma
  • printf debug ve kalıcı log farkı
  • Valgrind ile temel bellek hatası bulma
  • Hata tekrarlama ve minimal örnek
Günün hedefiKatılımcı temel veri yapılarını sınır ve null denetimli kullanır, dönüş değerlerini kontrol eder.
Modül 1
Değişken ve Tip Güvenliği
  • Her değişkeni tanımda başlatma
  • const kullanımı ve değişmezlik
  • Dönüşüm hataları ve explicit cast
  • size_t ile int karışıklığı
  • enum ve sabit tanımlama (#define yerine constexpr)
  • Kapsam daraltma
Modül 2
İşaretçi ve Dizi Güvenliği
  • NULL işaretçi kontrolü
  • Sınır denetimli indeksleme
  • Dangling pointer ve free sonrası kullanım
  • C++ referans, std::array ve std::vector alternatifleri
  • İşaretçi aritmetiğinin riskleri
  • sizeof tuzakları
Modül 3
String ve Girdi İşleme
  • C string sonlandırıcısı ve taşma
  • fgets, snprintf, strncpy tuzakları
  • std::string ile güvenli yaklaşım
  • scanf ve cin ile güvenli okuma
  • Kullanıcı girdisinin doğrulanması
  • Girdiyi sınırlandırma
Modül 4
Hata Kontrolü ve Uygulama
  • Fonksiyon dönüş değerlerinin denetimi
  • errno ve istisna kullanımı
  • Hata mesajında bilgi sızdırmama
  • Küçük zafiyetli programların bulunup düzeltilmesi
  • cppcheck ile otomatik tarama
  • Kişisel kontrol listesi oluşturma

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Zafiyet Kavramları

Hata, zafiyet ve istismar arasındaki farkı açıklayabilirsiniz

✅
Tanımsız Davranış

UB kaynaklarını tanıyıp UBSan ile yakalayabilirsiniz

✅
Uyarı Yönetimi

Derleyici uyarılarını açıp anlamlandırarak çözebilirsiniz

✅
gdb Kullanımı

gdb ile temel hata ayıklama yapabilirsiniz

✅
Tip Güvenliği

Başlatma, const ve dönüşüm kurallarını uygulayabilirsiniz

✅
İşaretçi Güvenliği

NULL ve sınır kontrolleriyle işaretçi kullanabilirsiniz

✅
String Güvenliği

Taşmaya dayanıklı string ve girdi işleyebilirsiniz

✅
Hata Kontrolü

Dönüş değerlerini sistematik denetleyen kod yazabilirsiniz

Kimler İçin Uygundur?

  • C veya C++ temellerini bilen
  • güvenli yazılım yazma alışkanlığı edinmek isteyen öğrenci
  • junior geliştirici
  • gömülü yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C veya C++ temellerini bilen, güvenli yazılım yazma alışkanlığı edinmek isteyen öğrenci, junior geliştirici ve gömülü yazılımcılar için uygundur.
Eğitimde hangi konular işlenir?
Program 2 gün sürer ve şu modülleri içerir: Neden Hata Oluşur, Tanımsız Davranış, Derleyici Uyarıları, Hata Ayıklama Temelleri, Değişken ve Tip Güvenliği, İşaretçi ve Dizi Güvenliği, String ve Girdi İşleme, Hata Kontrolü ve Uygulama.
Hiç güvenlik bilgim yok, katılabilir miyim?
Evet; yalnızca C veya C++ temelleri yeterlidir. Güvenlik kavramları eğitim içinde sıfırdan açıklanır.
Bu eğitimden sonra hangi eğitim önerilir?
Daha derin konular için Defensive Coding Best Practices for C/C++ ve Defensive C++ serisindeki eğitimler izlenebilir.
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 Coding Fundamentals for C/C++ Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

C ve C++C++: Overloading Arithmetic & Relational Operators Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Overloading Arithmetic & Relational Operators Eğitimi

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

C++ aritmetik ve ilişkisel operatör aşırı yükleme eğitimi: +=, ++, ==, <, C++20 <=> spaceship, strict weak ordering ve Fraction, Money, BigInt sınıfları.

Detayları Gör →
C ve C++C++: Stream Operators, Assignment Operators, & Copy-and-Swap Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Stream Operators, Assignment Operators, & Copy-and-Swap Eğitimi

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

C++ stream operatörleri, atama operatörü ve copy-and-swap eğitimi: operator<<, operator>>, kendine atama, istisna güvenliği, move atama ve Rule of 5.

Detayları Gör →
C ve C++C++: Using Class Templates Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Using Class Templates Eğitimi

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

C++ sınıf şablonları eğitimi: Stack ve Array konteyner yazımı, tam ve kısmi özelleştirme, CTAD, üye şablonlar, typename ve bağımlı isimler uygulamaları.

Detayları Gör →
C ve C++C++: Using Function Templates Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Using Function Templates Eğitimi

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

C++ fonksiyon şablonları eğitimi: template<typename T>, tür çıkarımı, açık argüman, örnekleme, tam özelleştirme, aşırı yükleme çözümlemesi ve STL ilişkisi.

Detayları Gör →
C ve C++C++: Using the Move Constructor & Move Assignment Operator Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Using the Move Constructor & Move Assignment Operator Eğitimi

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

C++ Move Constructor ve Move Assignment eğitimi: 2 gün, uygulamalı kod egzersizleri ve DVA katılım sertifikası ile konuyu uçtan uca öğrenin.

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