C++ yazılım dili için program önerisi

LostMedia

Femtopat
Katılım
15 Aralık 2024
Mesajlar
7
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar ben C++ yazılım dili ile uygulama yapmak istiyorum. Bana program önerir misiniz?
 
Son düzenleyen: Moderatör:
Program derken? Kodu yazmak ve çalıştırmak için mi? VsCode veya herhangi bir editör yeterli. gcc veya mingw ile terminalden derleyip çalıştırırsın. Yok illa debug yapıcam breakpoint koyucam diyorsan Visual Studio.

Programdan kastın, proje önerisi ise;

Ne ile ilgilendiğin vs yazmamışsın. Konsept odaklı önereyim;
1. Fonksiyonel programlama;
  • Hesap makinesi
  • çok basit veritabanı (read, write, search yeterli)

2. Socket programlama
  • Herkesin direkt aklına gelen Chat sistemi.
  • Basit bir zar oyunu yapabilirsin. (Temel mantık server da kurulur. 2 adet client ile bağlanırsın.) Biraz daha ileri düşünüp, oda(room) mantığı vs kurabilirsin. Oda şifreli vs olabilir. Yani dilediğin gibi geliştirebilirsin.

3. Multi Threading
  • Basit bir Kuyruk (Queue) yapısı oluşturabilirsin (Producer - Consumer). Kuyrukta veri bekletirsin. Aynı anda 2 işlem (instance) başlat. Kuyruktan veri alsın işlesin, bittiğinde tekrar kuyruktan veri alsın.
  • Basit bir asenkron işlem yapmayıda deneyebilirsin.

4. Nesne Yönelimli Programlama (OOP)
  • Basit bir otomasyon olabilir. Mesela Banka yönetim. Kasa yönetim artık ne dersen. Para giriş çıkış olur. gider gelir vs olabilir. Yada banka atm uygulamasını düşün. Para yatır çek vs işte. Birçok işlemler bulursun.
  • Yine oyundan gidebilirsin. Basit bir RPG oyunu dene. Aman grafik kısmına girmeyi deneme. Amaç sadece oop. Karakter, Eşya Düşman envanter sistemi vs. Basit bir sistem kur.

5. Veri yapıları ve Algoritma
  • Yine veritabanı deneyebilirsin. Hash ve Binary tree vs kullanırsın.
  • A*, Dijkstra gibi kısa yol bulma algoritmalarını implemente etmeyi dene.
  • Çok konu var bu alanda. Gir leetcode.com'a çıkan tüm problemleri çöz.

6. Oyun veya GUI
  • Oyun için tabiki ilk başlangıç opengl olabilir. Biraz eziyet çekeceksin. Ama temel grafik kısmının temelini öğrenmen lazım. Shader falan öğren kesinlikle. Sonra SDL veya SFML öğrenirsin. Sonra klasik 90 lar oyunları yapılabilir.
  • QT gui için. GUI önermiyorum. Ama arayüz olan herhangi bir proje yapabilirsin. Bu gui yaparken ana business kısmıyla view kısmını birbirine karıştırma. Bunun yerine ikisi farklı alanda olmalı. Mesela yukarıda yaptığın calculate projesi. Al bunu QT ile view haline getir.

7. Dosya işleri
- Basit bir log dosyası bul. Ne bilim IIS logları olabilir, nginx logları olabilir. Hiç farketmez. Kendinde oluşturabilirsin. Temel mantıkları aynı zaten. Bu log dosyasını okuyan ve monitoring yapmayı sağlayan bir proje olabilir. Logları analiz edecek ve gerekli bilgileri sunacak.
Ne bilim son 7 gün içinde 14 hata var.
Aynı hata 1 gün içinde 24 kez geldi vs. Sallıyorum. Yine ek olarak bu hatalara özel Alert sistemi geliştirilebilir. Bu biraz ileri seviye olabilir.
- Json dosyasını okuyup objeye çevirmeyi deneyebilirsin. JSON olmak zorunda değil kendi dosya tipini oluşturabilirsin. json, yml, xml vs formatlar olabilir.

8. Cryptology
  • Kendi algoritmanı oluştur. Varolan algoritmaları kullan.
  • Socket programlama da yazdığım, chat sisteminde, socket ile gönderdiğin mesaj paketini şifreleyip gönder. Client şifreyi çözsün. Şifre sadece iki client da olsun. Başka bir client bağlandığında veya server da bu mesajlar kesinlikle şifreli gözükmeli. Al sana simetrik şifrelemenin gerçek dünyada uygulanışı.

Bu yazdıklarımın çoğunu ben üni zamanı C/C++ öğrenirken yapmıştım. Keyifli oluyor.

Yapay zeka, makine öğrenimi, veri analizi, sistem programlama, robotik gibi ıvır zıvır konseptlerde var ama benim pek uğraştığım alanlar olmadığı için bilgim yok.
 

Technopat Haberler

Geri
Yukarı