"Bilmediğim hiçbir şey yok, sadece
öğrenmedim şeyler var."
Yazılım geliştirme, web teknolojileri, DevOps ve özellikle mobil programlama alanlarında kendimi sürekli geliştirmeye ve yeni teknolojiler öğrenmeye çalışıyorum. Bugüne kadar edindiğim teknik ve teorik bilgiyle sağlam bir altyapı oluşturduğuma inanıyorum. Şimdi ise bu bilgi ve tecrübeyi iş hayatına taşıyarak hem çalışacağım şirkete katkı sağlamak hem de kendimi daha ileri bir seviyeye taşımayı hedefliyorum.
Yazılım geliştirme yolculuğumda edindiğim deneyimleri, teknik bilgileri ve ilginç keşiflerimi paylaştığım Medium blog yazılarım:
42 okulundaki C++ modüllerini tamamlayarak edindiğim deneyimleri, OOP prensiplerini ve bellek yönetimi konularını detaylı şekilde paylaştığım yazı serisi.
Yazı Serisini OkuDocker teknolojisini öğrenme sürecimde geliştirdiğim Inception projesi hakkında, konteynerleştirme ve mikroservis mimarisi konularını ele aldığım teknik yazı.
Yazıyı OkuBlockchain teknolojisinin temel prensiplerini Kur'an-ı Kerim'in korunma sistemi ile karşılaştırdığım, iki farklı alan arasındaki benzerlikleri inceleyen analiz yazısı.
Yazıyı OkuYazılım geliştirme, teknoloji ve kişisel deneyimlerimi paylaştığım Medium blog yazılarımın tamamına buradan ulaşabilirsiniz.
Medium Profilimi Ziyaret EtTüm projelerimin kodlarına ve daha detaylı açıklamalarına GitHub sayfamdan ulaşabilirsiniz.
Android platformunda Java ile geliştirdiğim HesKit MobilApp, işletmeler için kapsamlı bir finansal yönetim çözümüdür. SQLite veritabanı entegrasyonuyla çalışan bilgileri, mesai takibi ve ödemeleri tek noktadan yönetim sağlar. Android Jetpack ve Room Database kullanarak kullanıcı dostu ve güvenli bir finansal yönetim deneyimi sundum.
WebServ, ekip arkadaşımla birlikte C++ dilinde sıfırdan geliştirdiğimiz kendi HTTP/1.1 web sunucumuzdur. Nginx benzeri olay tabanlı mimari (event-driven architecture) ile tek bir işlemde birden fazla bağlantıyı eşzamanlı olarak yönetebilen, socket programlama kullanarak tek thread üzerinde çalışan yüksek performanslı bir yapı tasarladık. Non-blocking I/O mekanizmaları sayesinde çoklu istemci bağlantılarını etkin şekilde yöneten sunucumuz, çoklu port desteği, dinamik içerik işleme ve özelleştirilebilir yönlendirme özellikleriyle modern web sunucusu ihtiyaçlarını karşılamaktadır. Bu proje, ağ programlama, HTTP protokolü ve sistem kaynaklarının optimum kullanımı konularında derinlemesine teknik deneyim sağladı.
Docker teknolojisini derinlemesine öğrenmek amacıyla geliştirdiğim Inception projesi, web hizmetlerinin konteynerleştirilmiş bir altyapısını oluşturur. Her bir servisi (NGINX, WordPress, MariaDB) ayrı konteynerlerde çalıştırarak izolasyon ve ölçeklenebilirlik sağladım. TLS/SSL sertifikaları ile güvenli bağlantılar oluşturdum ve Docker Compose ile tüm sistem bileşenlerini tek bir yapılandırma dosyasıyla yönetmeyi başardım. Deneyimlerimi Medium yazısında detaylı olarak paylaştım.
Ekip arkadaşımla birlikte C dilinde geliştirdiğimiz Minishell projesi, Unix benzeri bir komut satırı arayüzünü sıfırdan tasarlamamızı sağladı. Komut ayrıştırma, boru hatları (pipe) yönetimi ve yönlendirme mekanizmalarını başarıyla uygulayarak, girdi/çıktı akışlarını kontrol eden bir sistem oluşturduk. POSIX sistem çağrılarını kullanarak sinyal yönetimi ve bellek kontrolü konularında pratik deneyim elde ettim. Takım çalışması sürecinde iş bölümü ve ortak kod kalitesi standartları üzerinde çalışarak iletişim ve problem çözme becerilerimizi de geliştirdik.
Wolfenstein 3D'den esinlenerek ekip arkadaşımla C dili ve MiniLibX kullanarak geliştirdiğim Cub3D projesi, raycasting tekniğiyle 2D haritaları gerçek zamanlı 3D görünüme dönüştürür. Matematiksel hesaplamalarla dokulu duvarlar oluşturarak doğru perspektif sağladık. WASD ve ok tuşları ile kontrol sistemi tasarlayarak kullanıcı dostu bir oyun deneyimi sunmayı başardık.
Web3 tabanlı noter uygulamam, belgeleri SHA256 algoritmasıyla benzersiz şekilde imzalayıp Ethereum Sepolia test ağındaki Solidity akıllı sözleşmeler aracılığıyla blok zincirine kaydeder. Belgeler değiştirilemez, zaman damgalı ve herkese açık biçimde saklanır. MetaMask entegrasyonu ve sade web arayüzüyle kullanıcılar, belgelerini güvenle doğrulayıp kayıt altına alabilir.
C dilinde geliştirdiğim Philosophers42 projesi, klasik "The Dining Philosophers Problem" simülasyonudur. Pthread ve mutex mekanizmalarını kullanarak paylaşılan kaynaklar için rekabet eden filozofların deadlock yaşamadan yemek yeme ve düşünme döngülerini yönettim. Yarış koşulları ve senkronizasyon problemlerini çözerek, çoklu iş parçacığı programlama konusunda değerli deneyim kazandım.
42 okulundaki C++ modüllerini tamamlayarak nesne yönelimli programlamanın derinliklerini öğrendim. Bellek yönetimi, polimorfizm ve abstract sınıflar konularında uzmanlaştım. Öğrenme sürecimi Medium yazı serimde detaylandırdım.
JavaScript, TypeScript ve Tailwind CSS kullanarak çeşitli web uygulamaları geliştirdim. Modern web teknolojileri ile DOM işlemleri, API entegrasyonları ve kullanıcı arayüzü tasarımı konularında pratik kazandım.
WhatsApp gruplarındaki numaraları otomatik olarak çeken ve belirtilen kaynak veri ile karşılaştırarak grup üyelerini yöneten Node.js uygulaması. Docker ve Docker Compose ile konteyner ortamında çalışacak şekilde geliştirildi.
Kotlin ve Java kullanarak Android uygulamaları geliştirdiğim proje koleksiyonu. Mobil uygulama geliştirme süreçlerini, kullanıcı arayüzü tasarımını ve veri yönetimini öğrenmek için çeşitli deneysel uygulamalar içeriyor.
Java programlama dilinin temellerinden ileri seviye konularına kadar çeşitli projeler geliştirdim. Algoritma geliştirme, veri yapıları ve problem çözme teknikleri üzerine odaklanarak Java becerilerimi pekiştirdim.
C# ve .NET Framework kullanarak Windows Forms tabanlı masaüstü uygulamaları geliştirdim. Kimlik doğrulama, quiz sistemleri, bahis simülasyonu ve rezervasyon yönetimi gibi farklı işlevlere sahip uygulamalar içeriyor.
Java ile konsol tabanlı klasik mayın tarlası oyunu. Özelleştirilebilir ızgara boyutları, dinamik zorluk seviyeleri ve kullanıcı skorlama sistemi ile geliştirildi.
Ağ protokolleri ve konfigürasyonları üzerine derinlemesine çalışma. IP adresleme, subnetting, routing tablolarını ve ağ topolojilerini öğrenmek için geliştirilen pratik senaryolar.
Stack veri yapısı kullanarak sayısal dizileri minimum işlem sayısıyla sıralayan algoritma projesi. Performans optimizasyonu ve algoritma karmaşıklığı analizi odaklı geliştirildi.
MiniLibX grafik kütüphanesi ile 2D oyun geliştirme projesi. Piksel tabanlı hareket sistemi, çarpışma tespiti ve oyun durumu yönetimi implementasyonları içeriyor.
UNIX sinyal sistemini kullanarak süreçler arası iletişim sağlayan C projesi. Bit manipülasyonu ve asenkron programlama kavramlarını pratik olarak uygulayan bir çalışma.
Linux sistem yönetimi ve güvenlik konfigürasyonları projesi. Sanal makine kurulumu, kullanıcı yönetimi, güvenlik duvarı ayarları ve servis konfigürasyonları ile sistem yöneticiliği becerilerimi geliştirdim.
C dilinde 42 temel fonksiyondan oluşan kişisel kütüphane implementasyonu. Standart C library fonksiyonlarını yeniden yazarak, algoritma geliştirme ve bellek yönetimi becerilerimi pekiştirdim.
C dilinde printf fonksiyonunu sıfırdan yeniden yazma projesi. Variadic fonksiyonlar, format specifier parsing ve bellek yönetimi konularında derinlemesine deneyim kazandım.
Python ekosistemi kullanarak emlak verilerinin analizi ve görselleştirilmesi projesi. Pandas ile veri temizleme, Matplotlib ile grafik oluşturma ve istatistiksel analiz teknikleri uygulandı.