Profil Fotoğrafı

Mehmet Nasim Yılmaz

@MeNasy

Software Developer
"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.


Eğitim Bilgisi

42 İstanbul – Yazılım Geliştirme
C/C++'ta ileri seviye programlama, multi-threading, sistem programlama ,bellek yönetimi, raycasting, 3D grafik render, ağ protokolleri, socket programlama, POSIX sinyalleri, veri yapıları, kernel optimizasyonu, algoritmalar ve karmaşık problem çözme teknikleri gibi konuları kapsayan bir eğitim alıyorum.

İstanbul Gelişim Üniversitesi – Yönetim Bilişim Sistemleri
Veri madenciliği, finansal teknolojiler, risk yönetimi, SQL veritabanı, iş zekası, veri görselleştirme, görsel programlama (C#), kurumsal IT altyapıları, bulut bilişim gibi alanlarında eğitim aldım.

Yeteneklerim

  • Nesne Yönelimli Programlama (OOP)
  • Analitik Düşünce ve Problem Çözme
  • Çoklu İş Parçacığı Yönetimi
  • Algoritma ve Veri Yapıları
  • Mobil Uygulama Geliştirme
  • Docker ve Docker Compose
  • Blockchain Teknolojileri
  • Veritabanı Yönetimi
  • Sistem Programlama
  • Socket Programlama
  • Web Geliştirme
  • Ağ ve Güvenlik
  • Öğrenmeye Açıklık
  • Takım Çalışması
  • Zaman Yönetimi
  • Clean Code
  • REST API

🛠️ Teknik Beceriler

Programlama Dilleri

C C
(expert)
C++ C++
(expert)
Git Git
(expert)
Java Java
(middle)
Python Python
(middle)
Bash Bash
(middle)
XML XML
(middle)
C# C#
(middle)
SQL SQL
(begin)
Kotlin Kotlin
(begin)
HTML HTML/CSS
(begin)
JavaScript JavaScript
(begin)
Solidity Solidity
(begin)

Araçlar & Teknolojiler

  • VS CodeVisual Studio Code
  • Android StudioAndroid Studio
  • JupyterJupyter Notebook
  • Remix IDERemix IDE
  • PyCharmPyCharm
  • LinuxLinux
  • GitHubGit/GitHub
  • DockerDocker
  • PandasPandas
  • NumPyNumPy
  • FirebaseFirebase
  • REST APIREST API
  • BlockchainBlockChain
  • Web3Web3

📝 Blog Yazılarım

Yazılım geliştirme yolculuğumda edindiğim deneyimleri, teknik bilgileri ve ilginç keşiflerimi paylaştığım Medium blog yazılarım:

C++ Modülleri ve C++ Temelleri

42 okulundaki C++ modüllerini tamamlayarak edindiğim deneyimleri, OOP prensiplerini ve bellek yönetimi konularını detaylı şekilde paylaştığım yazı serisi.

C++ OOP 42 School Memory Management
Yazı Serisini Oku

Docker — 42 Inception Projesi

Docker teknolojisini öğrenme sürecimde geliştirdiğim Inception projesi hakkında, konteynerleştirme ve mikroservis mimarisi konularını ele aldığım teknik yazı.

Docker Containerization DevOps Microservices NGINX Docker Compose 42 School
Yazıyı Oku

BlockChain Teknolojisi ve Kur'an-ı Kerim'in Muhafaza Sistemi

Blockchain 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ı.

Blockchain Technology Web3 Analysis Kuran-ı Kerim İslam
Yazıyı Oku

Öne Çıkan Projelerim

Tüm projelerimin kodlarına ve daha detaylı açıklamalarına GitHub sayfamdan ulaşabilirsiniz.

HesKit MobilApp HesKit Simgesi

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.

HesKit Fotoğraf

Özellikler:

  • Çalışan Yönetimi: İş bilgileri, ekleme ve profil yönetimi
  • Ödeme İşlemleri: Havale, harçlık ve transfer takibi
  • Mesai Takibi: Çalışma günleri ve fazla mesailer
  • Gerçek Zamanlı Güncelleme: Dinamik veri yönetimi

Teknolojiler:

  • Java
  • SQLite
  • Android SDK
  • XML, Gradle
  • Room Database
  • Singleton Pattern
  • Android Jetpack
  • RecyclerView

WebServ

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ı.

WebServer Görseli
Server-Client Diyagramı Olay Tabanlı Mimari

Özellikler:

  • HTTP Metodları: GET, POST, DELETE desteği
  • Olay Tabanlı Mimari: Verimli istek işleme ve kaynak yönetimi
  • Non-blocking I/O: Eşzamanlı istemci bağlantıları
  • Çoklu Sunucu: Port ve sunucu adı bazlı yapılandırma
  • Dinamik İçerik: CGI ile PHP ve Python desteği
  • İstek Yönlendirme: Özelleştirilebilir rotalar
  • Dizin Listesi: Otomatik içerik görüntüleme
  • Hata Yönetimi: Özelleştirilmiş HTTP durum sayfaları

Teknolojiler:

  • C++
  • Socket Programlama
  • I/O Multiplexing (poll/select)
  • Olay Tabanlı Mimari
  • HTTP Protokolü
  • POSIX API
  • CGI (Common Gateway Interface)
  • Config Dosyası Parsing

Inception

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.

Inception Mimari Docker Compose

Özellikler:

  • Mikro Servis Mimarisi: Her servis için ayrı konteyner
  • Reversi Proxy: NGINX yapılandırması ve yönlendirmesi
  • Güvenli Bağlantılar: TLS/SSL sertifikaları
  • Veritabanı Entegrasyonu: MariaDB yapılandırması
  • WordPress Optimizasyonu: Özelleştirilmiş konteyner ortamı

Teknolojiler:

  • Docker
  • Docker Compose
  • NGINX
  • WordPress
  • MariaDB
  • Bash Script
  • TLS/SSL
  • Alpine Linux

Minishell

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.

Özellikler:

  • Komut Ayırma: cd, echo, pwd
  • Boru Hatları, MPipe ve Yönlendirme: >, >>
  • Komut Geçişi: Önceki komutlara erişim
  • Girdi Yönetimi: Komutların doğru işlenmesi
  • Sinyal Yönetimi: Ctrl+C, Ctrl+D sinyalleri
  • Sistem Programlama: Shell ve sistem çağrıları
  • Ekip Çalışması: Verimli iş birliği, zaman yönetimi

Teknolojiler:

  • C
  • POSIX Sistem Çağrıları
  • Bash Shell
  • Signal Handling
  • File I/O
  • Process Management
  • Memory Management

Cub3D

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.

Özellikler:

  • Ray Casting: 2D haritaları 3D dünyaya dönüştürme
  • Dokulu Duvarlar: Gerçekçi ortamlar oluşturma
  • Oyuncu Kontrolleri: WASD ve ok tuşlarıyla sezgisel hareket
  • Hata Yönetimi: Kararlı ve güvenilir sistem
  • Grafik İşleme: RGB renkleriyle zemin ve gökyüzü entegrasyonu

Teknolojiler:

  • C
  • MiniLibX
  • Matematik kütüphaneleri
  • Oyun Mekanikleri & Kullanıcı Etkileşimi
  • Raycasting Algoritmaları
  • X11 (Linux pencere yönetimi)

Blockchain Tabanlı Noter Uygulaması

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.

Blockchain Noter Web Arayüzü Remix IDE Solidity Kodu

Özellikler:

  • SHA256 Hash Hesaplama: Belge doğrulama ve bütünlük kontrolü
  • Blockchain Kayıt: Ethereum Sepolia test ağı entegrasyonu
  • Zaman Damgalama: Belgelerin kaydedilme zamanının blockchain'de saklanması
  • MetaMask Entegrasyonu: Kolay kullanım için cüzdan bağlantısı
  • Tekrar Önleme: Aynı belgenin birden fazla kez kaydedilmesinin engellenmesi
  • Belge Doğrulama: Belgelerin değişip değişmediğinin kontrol edilmesi

Teknolojiler:

  • Solidity
  • Ethereum Sepolia Test Ağı
  • Ethers.js
  • CryptoJS
  • HTML/JavaScript
  • MetaMask
  • Remix IDE
  • Web3 Teknolojileri

Philosophers42

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.

Philo Icon

Özellikler:

  • Yarış koşulları (race conditions)
  • Kaynak paylaşımı optimizasyonu
  • Deadlock çözümleri
  • Çoklu iş parçacığı senkronizasyonu
  • Zamanlama algoritmaları

Teknolojiler:

  • C
  • pthread
  • mutex
  • Semaforlar
  • Paralel programlama
  • Süreç yönetimi

Diğer Projelerim

Cpp Module

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.

Teknolojiler

  • C++
  • OOP
  • STL

Özellikler

  • İleri seviye OOP kavramları
  • Template programlama
  • Medium yazı serisi

JavaScript Projects

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.

Teknolojiler

  • JavaScript
  • TypeScript
  • Tailwind CSS
  • HTML/CSS

Özellikler

  • İnteraktif web uygulamaları
  • DOM manipülasyonu
  • API entegrasyonları
  • Responsive tasarım

WpGroup_Extractor

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.

Teknolojiler

  • Node.js
  • JavaScript
  • Docker
  • Venom Bot

Özellikler

  • WhatsApp grup otomasyonu
  • Numara çekme ve karşılaştırma
  • Docker konteynerizasyonu
  • Otomatik üye yönetimi

MobilApp Playground

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.

Teknolojiler

  • Kotlin
  • Java
  • Android SDK

Özellikler

  • Android uygulama geliştirme
  • Kullanıcı arayüzü tasarımı
  • Veri yönetimi
  • Çoklu uygulama deneyimi

Java101

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.

Teknolojiler

  • Java
  • Algoritmalar
  • Veri Yapıları

Özellikler

  • Algoritma implementasyonları
  • Veri yapısı örnekleri
  • Problem çözme projeleri
  • OOP uygulamaları

Visual Programming

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.

Teknolojiler

  • C#
  • .NET Framework
  • Windows Forms

Özellikler

  • Masaüstü uygulama geliştirme
  • Kullanıcı kimlik doğrulama
  • Quiz ve sınav sistemleri
  • Rezervasyon yönetimi

Mine Sweeper

Java ile konsol tabanlı klasik mayın tarlası oyunu. Özelleştirilebilir ızgara boyutları, dinamik zorluk seviyeleri ve kullanıcı skorlama sistemi ile geliştirildi.

Teknolojiler

  • Java
  • Console UI

Özellikler

  • Rastgele mayın dağılımı
  • Dinamik zorluk seviyeleri
  • Skor takip sistemi

Net_Practice

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.

Teknolojiler

  • Networking
  • TCP/IP
  • Routing

Özellikler

  • Ağ topolojisi tasarımı
  • Subnet hesaplamaları
  • Routing protokolleri

Push_swap Sorting

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.

Teknolojiler

  • C
  • Stack Data Structure
  • Algorithms

Özellikler

  • Optimum sıralama algoritması
  • Stack manipülasyonu
  • Performans analizi

So_long Game

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.

Teknolojiler

  • C
  • MiniLibX
  • Game Development

Özellikler

  • 2D oyun mekaniği
  • Collision detection
  • Sprite animasyonları

Minitalk

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.

Teknolojiler

  • C
  • UNIX Signals
  • IPC

Özellikler

  • Sinyal tabanlı iletişim
  • Bit manipülasyonu
  • Asenkron veri transferi

Born_to_be_root

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.

Teknolojiler

  • Linux
  • System Administration
  • Security

Özellikler

  • Sistem güvenlik konfigürasyonu
  • Kullanıcı ve grup yönetimi
  • Servis otomasyonu

Libft Library

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.

Teknolojiler

  • C
  • Memory Management
  • Algorithms

Özellikler

  • 42 temel fonksiyon implementasyonu
  • Linked list operations
  • String ve bellek işlemleri

Ft_printf

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.

Teknolojiler

  • C
  • Variadic Functions
  • String Parsing

Özellikler

  • Format specifier implementation
  • Variadic parametre yönetimi
  • Çoklu veri tipi desteği

Data Analysis & Visualization

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ı.

Teknolojiler

  • Python
  • Pandas
  • Matplotlib

Özellikler

  • Büyük veri seti analizi
  • İstatistiksel görselleştirme
  • Veri temizleme teknikleri

İletişim ve Bağlantılar

CV İndir

Aşağıdaki linklerden CV'mi PDF formatında indirebilirsiniz: