Programlama dilleri: Java, Go, C ve C++
52 kurs, 972 ders. Tarayıcıda gerçek Kali Linux labı.
- C dili temelleri (Seviye 101, 21 ders): İşletim sistemlerinin ve birçok güvenlik aracının dili olan C’yi sıfırdan öğrenir, derleyiciyle çalışmayı ve uyarıları okumayı kavrarsın.
- C++ temelleri (Seviye 101, 19 ders): C’nin üzerine kurulu, hızlı ve yaygın C++’ı sıfırdan öğrenir; g++ ile derler, standart kütüphaneyle küçük programlar yazarsın.
- Go temelleri (Seviye 101, 29 ders): Güvenlik ve altyapı araçlarında sık kullanılan Go’yu sıfırdan öğrenir; küçük, hızlı ve hataları açık yazan programlar geliştirirsin.
- Java temelleri (Seviye 101, 26 ders): Kurumsal sistemlerde yaygın Java’yı sıfırdan öğrenir; değişkenden nesne yönelimli tasarıma ve güvenli hata yönetimine ilerlersin.
- Rust temelleri (Seviye 101, 18 ders): Bellek güvenliğini derleme anında sağlayan Rust'ı sıfırdan öğrenir; cargo ile proje kurar, derleyicinin hata mesajlarını okuyarak küçük, sağlam programlar yazarsın.
- C: işaretçiler ve bellek yönetimi (Seviye 201, 22 ders): İşaretçileri ve dinamik belleği doğru kullanır, taşma ve bellek sızıntısı gibi hataları araçlarla bulup önlersin.
- C ile dizgiler, dosyalar ve veri biçimleri (Seviye 201, 20 ders): C’de metni güvenle işler, metin ve ikili dosyaları okuyup yazar, bozuk girdiye dayanıklı ayrıştırıcılar geliştirirsin.
- C ile veri yapıları ve algoritmalar (Seviye 201, 21 ders): Dizi, liste, yığın, kuyruk, özet tablosu ve ağaçları C’de sıfırdan yazar, maliyetlerini ölçer ve bellek hatası bırakmadan test edersin.
- C alıştırmaları (Seviye 201, 19 ders): Kısa ve gerçekçi problemlerle C’de döngü, işaretçi, bellek ve dosya becerilerini pekiştirir, her çözümü otomatik denetleyiciyle sınarsın.
- C++: sınıflar, STL ve güvenli bellek (Seviye 201, 19 ders): Sınıf tasarlar, STL kapsayıcı ve algoritmalarını kullanır, akıllı işaretçilerle bellek hatalarından kaçınan C++ kodu yazarsın.
- C++ standart kütüphanesi: kapsayıcılar ve algoritmalar (Seviye 201, 20 ders): STL kapsayıcılarını ne zaman hangisinin seçileceğini bilerek kullanır, algoritmalar ve yardımcı kütüphanelerle döngü yazmadan güvenli ve hızlı kod üretirsin.
- C++ alıştırmaları (Seviye 201, 18 ders): Dizgi, kapsayıcı, sınıf ve algoritma problemlerini çözerek C++ becerini pekiştirir, her çözümü otomatik denetleyici ve sanitizer ile sınarsın.
- Go eşzamanlılık ve HTTP servisleri (Seviye 201, 19 ders): Goroutine ve kanallarla işleri paralel yürütür, güvenli varsayılanlarla çalışan, düzgün kapanan bir HTTP servisi yazarsın.
- Go alıştırmaları (Seviye 201, 17 ders): Her alıştırmada küçük ama gerçek bir sorunu Go ile çözer, testleri geçen ve hataları düzgün ele alan kod yazmayı alışkanlık hâline getirirsin.
- Go’da test, hata ayıklama ve kod kalitesi (Seviye 201, 18 ders): Tablo tabanlı testler, kıyaslamalar ve bulanık testlerle kodunu sınar; delve ile hata ayıklar, statik analizle hataları çalışmadan yakalarsın.
- Go ile komut satırı araçları (Seviye 201, 18 ders): Alt komutları, yapılandırma dosyaları ve düzgün çıkış kodları olan, tek ikili dosya olarak dağıtılabilen komut satırı araçları yazarsın.
- Java koleksiyonlar, genel türler ve akışlar (Seviye 201, 22 ders): Java’nın koleksiyon çerçevesini, genel türleri ve Stream arayüzünü kullanarak büyük veriyi güvenli ve okunur kodla işlersin.
- Java ile nesne yönelimli tasarım ve tasarım desenleri (Seviye 201, 18 ders): Sınıfları değişime dayanıklı tasarlamayı, SOLID ilkelerini ve en sık kullanılan tasarım desenlerini küçük ama gerçekçi Java projelerinde uygularsın.
- Java alıştırmaları (Seviye 201, 16 ders): Hazır testleri geçmesi gereken kısa Java görevleriyle koleksiyon, akış, dosya ve nesne tasarımı becerilerini pekiştirirsin.
- Java’da derleme, test ve hata ayıklama (Seviye 201, 18 ders): Maven ve Gradle ile projeyi derler, JUnit 5 ve Mockito ile kapsamlı testler yazar, jdb ve günlük kayıtlarıyla hatanın kaynağına inersin.
- Rust: sahiplik, ödünç alma ve trait'ler (Seviye 201, 19 ders): Rust'ın güvenlik modelinin kalbi olan sahiplik ve ödünç alma kurallarını kavrar; trait'ler, genel türler ve yineleyicilerle tekrar kullanılabilir kod yazarsın.
- C’de hata ayıklama ve geliştirme araçları (Seviye 301, 21 ders): gdb, Valgrind, sanitizer’lar, strace ve statik analizle C programlarındaki hataları sistemli biçimde bulur, CMake ve testlerle düzenli projeler kurarsın.
- C ile Linux sistem programlama (Seviye 301, 23 ders): Sistem çağrılarıyla dosya, süreç, sinyal, boru ve paylaşılan bellek işlerini doğrudan yapar, düzgün kapanan ve yetkisini düşüren servisler yazarsın.
- C ile ağ programlama (Seviye 301, 22 ders): Soketlerle TCP ve UDP istemci-sunucu yazar, çok bağlantıyı select, poll ve epoll ile yönetir, ağdan gelen veriye güvenmeyen sağlam kod geliştirirsin.
- Modern C++: C++17, C++20 ve C++23 (Seviye 301, 19 ders): Taşıma anlamı, constexpr, optional, variant, expected, aralıklar ve kavramlarla daha kısa, daha güvenli ve daha hızlı modern C++ yazarsın.
- C++ derleme, test ve kalite araçları: CMake ve ötesi (Seviye 301, 18 ders): Modern CMake ile proje kurar, GoogleTest ve Catch2 ile test yazar, sanitizer, clang-tidy ve sürekli tümleştirmeyle kaliteyi otomatik denetlersin.
- C++ ile sistem ve ağ programlama (Seviye 301, 18 ders): POSIX arayüzlerini RAII sınıflarıyla güvenle sarar, soket ve Asio ile eşzamanlı ağ servisleri ve araçları yazarsın.
- Go ile ağ programlama (Seviye 301, 19 ders): net paketiyle TCP ve UDP istemci ve sunucuları yazar, DNS çözer, süre sınırlarını ve TLS’i doğru kurarak kendi lab ağında güvenilir ağ araçları geliştirirsin.
- Go ile web servisleri ve REST API (Seviye 301, 21 ders): Standart kütüphaneyle yönlendirme yapan, SQLite’a güvenle yazan, kimlik doğrulaması ve yapılandırılmış günlüğü olan üretime hazır bir REST API kurarsın.
- Java’da eşzamanlılık ve sanal iş parçacıkları (Seviye 301, 18 ders): Executor, CompletableFuture, kilitler ve eşzamanlı koleksiyonlarla güvenli paralel kod yazar; JDK 21 sanal iş parçacıklarıyla binlerce işi basitçe yönetirsin.
- Java ile ağ ve HTTP programlama (Seviye 301, 18 ders): Soketlerle istemci ve sunucu yazar, HttpClient ile servislere bağlanır, keytool ile anahtar depolarını yönetip TLS’i doğru yapılandırırsın.
- Java ile veritabanı: JDBC ve JPA (Seviye 301, 17 ders): JDBC ile güvenli sorgular yazar, işlemleri ve bağlantı havuzunu yönetir, JPA ile nesneleri tablolara eşlerken performans ve güvenlik tuzaklarından kaçınırsın.
- Spring Boot ile web servisleri (Seviye 301, 19 ders): Spring Boot ile doğrulamalı REST uç noktaları, veritabanı erişimi ve kimlik doğrulaması olan, izlenebilir ve güvenli varsayılanlarla çalışan bir servis kurarsın.
- Rust ile komut satırı ve sistem araçları (Seviye 301, 17 ders): clap, serde ve standart kütüphaneyle dosya, süreç ve ağ işleri yapan hızlı, tek dosyalık araçlar yazar ve dağıtırsın.
- C’de eşzamanlılık: POSIX iş parçacıkları (Seviye 401, 17 ders): pthread ile işleri paralel yürütür, yarış durumu ve kilitlenmeyi önler, atomikleri ve iş parçacığı havuzlarını doğru kullanırsın.
- C’de güvenli kodlama: sık yapılan hatalar (Seviye 401, 21 ders): C’de güvenlik açığına dönüşen hataları savunmacı gözle tanır, kod incelemesinde yakalar, derleyici korumaları ve bulanıklaştırmayla önlersin.
- C++ şablonları ve genel programlama (Seviye 401, 17 ders): İşlev ve sınıf şablonları, tür özellikleri, kavramlar ve değişken parametrelerle tür güvenli, yeniden kullanılabilir kütüphaneler tasarlarsın.
- C++’ta eşzamanlılık ve bellek modeli (Seviye 401, 19 ders): std::thread, kilitler, future, atomikler ve paralel algoritmalarla eşzamanlı C++ yazar, yarışları ThreadSanitizer ile bulup bellek modeline göre düzeltirsin.
- C++’ta güvenli kodlama: sık yapılan hatalar (Seviye 401, 19 ders): C++’ta ömür, tür ve sınır hatalarının nasıl güvenlik açığına dönüştüğünü savunmacı gözle öğrenir, kılavuzlar, sertleştirme ve bulanıklaştırmayla önlersin.
- Go’da ileri eşzamanlılık desenleri (Seviye 401, 16 ders): errgroup, semaforlar, hız sınırlama ve atomik işlemlerle sızıntısız, iptal edilebilir ve yük altında kararlı eşzamanlı sistemler tasarlarsın.
- Go’da güvenli kodlama ve sık yapılan hatalar (Seviye 401, 19 ders): Go programlarında sık görülen güvenlik hatalarını kendi lab’ındaki zayıf bir serviste bulur, düzeltir ve aynı hatanın geri gelmesini test ve analizle engellersin.
- Java’da güvenli kodlama ve sık yapılan hatalar (Seviye 401, 19 ders): Java uygulamalarında en çok görülen açıkları kendi lab’ındaki zayıf bir uygulamada bulur, kök nedenini anlar, düzeltir ve testle kalıcı hâle getirirsin.
- Rust'ta eşzamanlılık ve async (Seviye 401, 15 ders): Veri yarışını derleme anında engelleyen tür sistemiyle iş parçacıkları, kanallar ve tokio tabanlı async servisler yazarsın.
- C ikilileri: ELF, bağlama ve sertleştirme (Seviye 501, 19 ders): Derlenmiş bir C programının ELF yapısını, bağlanmasını ve bellekte yerleşimini inceler, ASLR, NX, RELRO ve seccomp gibi korumalarla sertleştirilmiş sürümler çıkarırsın.
- C projeleri: kabuk, HTTP sunucusu ve günlük toplayıcı (Seviye 501, 17 ders): Üç gerçekçi C projesini tasarımdan teste kadar yürütür, öğrendiğin bellek, sistem ve güvenli kodlama becerilerini üretim kalitesinde birleştirirsin.
- C++’ta performans: ölçmek ve hızlandırmak (Seviye 501, 16 ders): Doğru ölçüm ve profil çıkarmayla darboğazı bulur, veri düzeni, bellek ayırma ve derleyici iyileştirmeleriyle C++ kodunu kanıtlı biçimde hızlandırırsın.
- C++ projeleri: araç, bütünlük izleyici ve ağ servisi (Seviye 501, 16 ders): Üç gerçekçi C++ projesini tasarımdan teslime kadar yürütür, modern C++, test, eşzamanlılık ve güvenli kodlama becerilerini üretim kalitesinde birleştirirsin.
- Go’nun içi ve performans (Seviye 501, 16 ders): Zamanlayıcı, çöp toplayıcı ve kaçış analizini ölçümle tanır; profil ve izlemeyle darboğazları bulup bellek ayırmayı azaltırsın.
- Go ile proje atölyesi (Seviye 501, 13 ders): Gerçek ekiplerin kullandığı türden araçları Go ile baştan sona kurar; tasarım, test, güvenlik ve dağıtımı kendi lab ağında birleştirirsin.
- JVM’in içi ve performans (Seviye 501, 16 ders): Sınıf yükleme, bayt kodu, JIT ve çöp toplayıcıları ölçümle tanır; JFR ve yığın dökümleriyle yavaşlığı ve bellek sızıntısını bulup düzeltirsin.
- Java ile proje atölyesi (Seviye 501, 13 ders): Tasarım, test, güvenlik ve performansı birleştiren üç gerçekçi Java projesini kendi lab ağında baştan sona kurarsın.
- Rust: unsafe, FFI ve güvenlik incelemesi (Seviye 501, 17 ders): unsafe kodun sınırlarını, C ile birlikte çalışmayı ve Rust projelerinde gerçek güvenlik hatalarını tanır; miri ve bulanık testle kodunu doğrularsın.
Projeler
- C ile soğuk depo sıcaklık özeti: Ayçiçeği Gıda'nın soğuk depo sıcaklık ölçümlerini okuyan bir C programı yazar, en düşük, en yüksek ve ortalama değerleri hesaplar ve eşiği aşan ölçümleri işaretlersin.
- Go ile kütüphane ödünç özeti: Gelincik Okulları kütüphanesinin ödünç kayıtlarını okuyan bir Go programı yazar, dilim ve eşlemelerle en çok okunan kitapları ve geciken iadeleri listelersin.
- Java ile faturalanabilir saat hesaplayıcısı: Sedirli Hukuk Bürosu'nun avukat çalışma kayıtlarını okuyan bir Java programı yazar, müvekkil başına saatleri ve tutarı hesaplar ve hatalı kayıtları ayrıca bildirirsin.
- Rust ile denizcilik birim dönüştürücüsü: Lodoskaya Denizcilik için deniz mili, knot ve kulaç gibi birimleri dönüştüren bir Rust komut satırı programı yazar, geçersiz girdileri hata türleriyle ele alırsın.
- C'de bellek sızdırmayan envanter tablosu: Karaçam Mobilya'nın parça envanterini dosyadan okuyup karma tabloda tutan bir C programı yazar, ekleme, arama ve silmeyi uygular ve bellek denetiminden sızıntısız geçtiğini gösterirsin.
- C++ ile rezervasyon defteri: sınıflar ve standart kütüphane: Mercanköşk Otelcilik için oda ve rezervasyonları sınıflarla modelleyen bir C++ programı yazar, akıllı işaretçiler ve standart algoritmalarla çakışmaları bulur ve doluluk özetini üretirsin.
- Go ile fiyat listesi denetleme aracı: Turnalı Perakende'nin mağaza fiyat listelerini merkez listesiyle karşılaştıran bir Go komut satırı aracı yazar, tutarsız fiyatları raporlar ve aracı tablo güdümlü sınamalarla doğrularsın.
- Go ile eşzamanlı servis erişilebilirlik denetleyicisi: Selvikent Belediyesi'nin lab ortamındaki kendi web servislerini işçi havuzuyla eşzamanlı yoklayan bir Go programı yazar, zaman aşımlarını yönetir ve yanıt sürelerini özetleyen bir durum sayfası sunarsın.
- Java koleksiyonları ve akışlarıyla sipariş çözümlemesi: Ayçiçeği Gıda'nın sipariş kayıtlarını sınıflarla modelleyen bir Java programı yazar, akışlarla bölge ve ürün bazında gruplar ve en çok satanlar raporunu üretirsin.
- Arıza kaydı modülünü Maven projesine çevir, sına ve ayıkla: Yakamoz Telekom'un dağınık Java sınıflarından oluşan arıza kaydı modülünü Maven projesine çevirir, birim sınamaları yazar ve sınamaların ortaya çıkardığı hataları hata ayıklayıcıyla bulup düzeltirsin.
- Rust ile sensör ölçümü kütüphanesi: trait ve hata yönetimi: Demirsu Enerji'nin farklı sayaç türlerinden gelen ölçümleri ortak bir trait arkasında ayrıştıran bir Rust kütüphanesi yazar, sahiplik kurallarına uygun tasarlar ve birim sınamalarıyla doğrularsın.
- C ile işçi süreçleri gözeten küçük bir denetçi: Demirsu Enerji'nin sayaç okuma işçisini başlatan, çökünce yeniden başlatan ve sinyallerle düzgün kapanan bir denetçi programını C ile yazar, davranışını hata ayıklama araçlarıyla doğrularsın.
- Dağınık C++ kodunu CMake, sınama ve denetimle düzene sok: Göktaşı Yazılım'ın elle derlenen eski C++ kütüphanesini CMake projesine taşır, birim sınamaları ekler, denetleyiciler ve statik çözümlemeyle çıkan sorunları modern C++ ile giderirsin.
- Go ile gönderi takip REST API'si: Mavikaya Lojistik için gönderi kaydı oluşturan ve durum güncelleyen bir REST API'yi Go ile yazar, girdi doğrulama, kayıt tutma ve zaman aşımı ara katmanları ekler ve uç noktaları sınarsın.
- Spring Boot ile ders kayıt servisi: Saklıvadi Üniversitesi için öğrencilerin derse kaydolduğu bir Spring Boot servisi yazar, verileri veritabanında saklar, kontenjan kuralını uygular ve uç noktaları sınarsın.
- Java sanal iş parçacıklarıyla döviz kuru toplayıcısı: Yelkovan Bankası'nın lab ortamındaki kur servislerinden verileri sanal iş parçacıklarıyla eşzamanlı çeken bir Java programı yazar, zaman aşımı ve yeniden denemeyi yönetir ve birleştirilmiş kur tablosunu üretirsin.
- Rust ile hızlı kayıt süzme aracı: Kuzeyyıldızı Kargo'nun büyük aktarma merkezi kayıtlarını süzen bir Rust komut satırı aracı yazar, alanlara göre filtreler, sonucu JSON olarak verir ve büyük dosyada bellek kullanımını düşük tutarsın.
- Eski C mesaj ayrıştırıcısını incele ve güvenli hâle getir: Yelkovan Bankası'nın eski mesaj ayrıştırıcısının kaynak kodunu inceler, bellek hatalarını denetleyicilerle ortaya çıkarır, güvenli biçimde düzeltir ve bulguları bir inceleme raporunda toplarsın.
- C++ ile iş parçacığı güvenli genel iş kuyruğu: Ilgıntepe Tekstil'in üretim hattı işlerini dağıtan şablon tabanlı bir iş kuyruğu ve işçi havuzu yazar, yarış durumu denetleyicisinden temiz geçtiğini ve düzgün kapandığını gösterirsin.
- Go servisinde güvenli kod incelemesi ve yarış durumu düzeltmesi: Lavinya Klinikleri'nin hasta bildirim servisinin Go kaynak kodunu güvenlik tarayıcıları ve yarış denetleyicisiyle inceler, bulduğun hataları düzeltir ve inceleme raporunu yazarsın.
- Java web servisinde güvenli kod incelemesi ve düzeltme: Selvikent Belediyesi'nin vatandaş portalı servisinin Java kaynak kodunu inceler, güvensiz sorgu, serileştirme ve girdi işleme hatalarını düzeltir ve her düzeltmeyi sınamayla kanıtlayan bir rapor yazarsın.
- C log toplayıcısını sıkılaştırma bayraklarıyla derle ve doğrula: Selvikent Belediyesi'nin sunucuları için küçük bir log toplayıcıyı C ile tamamlar, koruma bayraklarıyla derler, ikili dosyadaki korumaları tek tek doğrular ve derleme sıkılaştırma notunu yazarsın.
- C++ ile dosya bütünlüğü izleyicisi: Sedirli Hukuk Bürosu'nun dava klasörleri için dosya özetlerinden temel kayıt çıkaran ve sonraki değişiklikleri raporlayan bir C++ aracı yazar, büyük klasörlerde hızını ölçüp iyileştirirsin.
- Rust FFI sarmalayıcısında unsafe kod denetimi: Göktaşı Yazılım'ın bir C kütüphanesini saran Rust paketindeki unsafe blokları tek tek inceler, tanımsız davranışları araçlarla ortaya çıkarır, güvenli bir arayüzle yeniden yazar ve denetim raporunu hazırlarsın.