Backend Geliştirme
Açık Kaynak

C++ SQLite RESTful Library API

C++cpp-httplibSQLite3 C APInlohmann/json

Kütüphane işlemlerini yönetmek için C++ ile yazılmış, veritabanı kalıcılığını doğrudan SQLite3 C API'si üzerinden sağlayan yüksek performanslı ve statik olarak derlenmiş REST API.

Teknoloji Yığını

C++cpp-httplibSQLite3 C APInlohmann/json

Sistem Metrikleri

Doğrudan native makine koduna derlenerek elde edilen sıfır ek yüke sahip (zero-overhead) HTTP multiplexing ve JSON ayrıştırması
Veritabanı imleçlerini (cursors) ve statement yaşam döngülerini C-seviyesi raw pointer'lar üzerinden doğrudan yöneterek ORM soyutlama (abstraction) maliyetlerini elimine eder

Bunu Neden İnşa Ettim?

"Spring Boot veya Node.js gibi framework'lerin getirdiği bellek ek yükü (overhead) ve Garbage Collection (GC) duraklamaları olmadan ilişkisel verileri yönetecek bağımlılıksız bir backend arayüzüne ihtiyacım vardı. Bu proje, HTTP yönlendirmesini, JSON serileştirmesini ve deterministik SQL yürütmesini doğrudan bellek seviyesinde orkestre ederek saf C++ ile nasıl yüksek eşzamanlılıklı (highly concurrent) bir REST mimarisi inşa edileceğini gösterir."

Mimari & Kararlar

Uygulama, işletim sistemi ağ arayüzlerine multithreaded bir HTTP dinleyicisi bağlamak için `cpp-httplib` kütüphanesini kullanır. Gelen JSON payload'ları `nlohmann/json` aracılığıyla katı tipli (strictly typed) C++ nesnelerine (`User`, `Book`) dönüştürülür. Bellek güvenliğini sağlamak ve SQL injection saldırılarını mutlak surette engellemek için, tüm veritabanı işlemleri raw sorgu çalıştırmayı bypass eder; bunun yerine ham işaretçiler (raw pointers) kullanılarak SQLite'ın C seviyesindeki 'prepared statement' yaşam döngüsü (`sqlite3_prepare_v2`, `sqlite3_bind_*`, `sqlite3_step`, `sqlite3_finalize`) uygulanır.

Temel Özellikler

  • 01.İlişkisel kütüphane varlıkları (entity) üzerinde CRUD işlemlerini yöneten multithreaded RESTful uç noktalar (endpoints)
  • 02.Zararlı SQL injection payload'larını tamamen bloke eden parametrik SQLite C API entegrasyonu
  • 03.JSON verilerini doğrudan C++ Nesne Yönelimli (OOP) domain modellerine haritalayan bellek içi (in-memory) serileştirme
  • 04.Header-only C++ ağ kancaları kullanılarak sağlanan otonom HTTP yönlendirmesi