C Programlama Projeleri Koleksiyonu
Başlangıç seviyesindeki kullanıcıların temel algoritmalardan ağ programlamaya kadar çeşitli programlama kavramlarını öğrenmeleri ve pratik yapmaları için tasarlanmış C programlama projeleri koleksiyonu. Her proje bağımsızdır ve kendi dokümantasyonu ile derleme sistemine sahiptir.
Proje Genel Bakışları
1. SHA-512 Uygulaması
Bir kriptografik özet fonksiyonu uygulaması; aşağıdakileri gösterir:- Bit manipülasyonu
- Karmaşık algoritmalar
- Bellek yönetimi
- Dosya G/Ç işlemleri
2. HTTP Sunucusu
Aşağıdakileri kapsayan temel bir HTTP sunucu uygulaması:- Soket programlama
- HTTP protokolü temelleri
- Dosya sunumu
- Ağ iletişimi
3. UDP Sunucu-İstemci
Aşağıdakileri öğreten basit bir UDP tabanlı iletişim sistemi:- UDP soket programlama
- İstemci-sunucu mimarisi
- Ağ protokolleri
- Mesaj alışverişi
4. Port Tarayıcı
Aşağıdakileri gösteren bir ağ tanı aracı:- TCP soket programlama
- Ağ tarama teknikleri
- Hata yönetimi
- Komut satırı argümanlarının ayrıştırılması
5. Ping Uygulaması
Aşağıdakileri kapsayan özel bir ping aracı:- ICMP protokolü
- Ham soket programlama
- Ağ tanılama
- Zaman ölçümü
6. Tic-Tac-Toe
Aşağıdakileri öğreten klasik bir oyun uygulaması:- Çok oyunculu oyun sunucusu
- Oyun mantığı
- Kullanıcı girişi yönetimi
7. Sohbet Sistemi
Aşağıdakileri gösteren gerçek zamanlı bir sohbet uygulaması:- TCP soket programlama
- Çoklu iş parçacığı (multi-threading)
- Gerçek zamanlı iletişim
- İstemci-sunucu mimarisi
8. Lexical Analyzer
Aşağıdakileri gösteren basit bir derleyici ön uç bileşeni:- Kaynak kodun token'lara ayrılması
- Ayrıştırma teknikleri
- Derleyici tasarımı prensipleri
- Dize manipülasyonu
9. Aritmetik Derleyici
Aritmetik ifadeleri girdi olarak alıp assembly benzeri kod üreten basit bir derleyici:- Lexical analiz (tokenleştirme)
- İfadelerin ayrıştırılması ve değerlendirilmesi
- Assembly kodu üretimi
- Derleyici yapımı temelleri
10. Asteroid Oyunu
Bir uzay gemisini kontrol edip düşen asteroidlerden kaçtığınız terminal tabanlı bir oyun:- Oyun durumu yönetimi
- Kullanıcı girişi işleme
- Terminal tabanlı grafikler
- Gerçek zamanlı oyun mekaniği
- Basit çarpışma tespiti
Başlarken
Bu depodaki her proje, bağımsız olacak şekilde tasarlanmıştır ve şunları içerir:
- Kaynak kodu
- Makefile veya CMake yapılandırması
- Derleme ve kullanım talimatlarının bulunduğu README
- Uygulama ayrıntıları
- Proje dizinine gidin
- Projenin README.md dosyasını okuyun
- Derleme talimatlarını izleyin
- Programı tarif edildiği gibi çalıştırın
Önkoşullar
- GCC derleyicisi (C projeleri için)
- G++ derleyicisi (C++ projeleri için)
- Make aracı
- CMake (C/C++ projeleri için)
- Temel C/C++ programlama bilgisi
- Ağ projeleri için: temel ağ kavramlarını bilmek
Önerilen Kitap
C programlamaya başlamak için bu kapsamlı kitabı öneriyorum: The C Programming Language - C programlama temellerini ve en iyi uygulamaları öğrenmek için olmazsa olmaz bir kaynak.
Öğrenme Yolu
Bu projeler, artan zorluk sırasına göre düzenlenmiştir:
- Temel programlama kavramları için Tic-Tac-Toe ile başlayın
- Algoritma uygulaması için SHA-512’ye geçin
- Temel ağ için UDP Sunucu-İstemci’yi deneyin
- Daha karmaşık ağ için HTTP Sunucu ve Sohbet Sistemi’ne ilerleyin
- Son olarak, gelişmiş ağ kavramları için Port Tarayıcı ve Ping’i keşfedin
Katkıda Bulunma
Çekinmeden:
- Hataları bildirin
- İyileştirmeler önerin
- Yeni özellikler ekleyin
- Yeni projeler oluşturun
- Dokümantasyonu geliştirin
Lisans
Bu proje açık kaynaklıdır ve öğrenim amacıyla kullanılabilir.
Not
Ağ ile ilgili bazı projeler (Port Tarayıcı, Ping), ham soketlerin kullanımı nedeniyle çalıştırmak için root/yönetici ayrıcalıkları gerektirir. Bu araçları her zaman sorumlu bir şekilde ve yalnızca test etme izniniz olan ağlarda kullanın.
--- Tranlated By Open Ai Tx | Last indexed: 2025-07-22 ---
