Skip to content

Serdal0/Dosya-Okuma-Karsilastirma-Sistemi

Repository files navigation

📂 Node.js Dosya Karşılaştırma ve Diff Sistemi

Terminal üzerinden iki farklı metin dosyasını satır bazlı ve karakter bazlı analiz eden, farkları renkli olarak görselleştiren bir Node.js CLI aracıdır.

Amaç: Metin dosyaları arasındaki farklılıkları hızlı, anlaşılır ve görsel olarak ayırt edilebilir şekilde sunmak.


✨ Özellikler

  • Asenkron Dosya Okuma
    fs/promises kullanılarak non-blocking ve performanslı dosya erişimi sağlanır.

  • Karakter Bazlı Konum Analizi
    Aynı indekslerdeki karakterler karşılaştırılır. Küçük metin farklarını yakalamak için idealdir.

  • Akıllı Diff Algoritması
    diff kütüphanesi kullanılarak:

    • Eklenen bölümler
    • Silinen bölümler
    • Değiştirilen segmentler
      semantik olarak analiz edilir.
  • Renkli Terminal Çıktısı
    chalk ile okunabilir CLI çıktısı sağlanır.

🎨 Renk Kodları

Renk Anlam
🟩 Yeşil Arka Plan Yeni eklenen karakterler
🟥 Kırmızı Arka Plan Silinen veya değiştirilen karakterler
⬜ Gri Ortak karakterler

🚀 Kurulum

1️⃣ Repoyu klonla

git clone https://github.com/serdalkolpar/dosya-okuma-karsilastirma-sistemi.git

2️⃣ Proje dizinine gir

cd dosya-okuma-karsilastirma-sistemi

3️⃣ Bağımlılıkları yükle

npm install

🛠 Kullanım

Sistem iki farklı modda çalışır:


1️⃣ Karakter Bazlı Özel Karşılaştırma

Aynı konumdaki karakterleri birebir kıyaslar.

node Dosya-Karsilastirma.js dosya1.txt dosya2.txt

Ne zaman kullanılır?
Küçük metin değişikliklerini veya birebir konum farklılıklarını görmek istediğinde.


2️⃣ Akıllı Diff Analizi

Eklenen, silinen ve değiştirilen blokları segment bazlı gösterir.

node Dosya-Diff.js dosya1.txt dosya2.txt

Ne zaman kullanılır?
Kod veya uzun metinlerde anlamlı değişiklik bloklarını görmek istediğinde.


📦 Bağımlılıklar

  • Node.js (v22.14.0+)
  • chalk
  • diff

🎯 Teknik Not

Bu proje iki farklı yaklaşımı bir arada sunar:

  1. Index-based comparison (Deterministik karakter eşleşmesi)
  2. Edit-distance tabanlı diff yaklaşımı (Algoritmik segment analizi)

Bu sayede hem mikro hem makro seviyede fark analizi yapılabilir.


👨‍💻 Geliştirici

Serdal Kolpar
Full Stack Developer


📤 README Güncellendikten Sonra Push

git add README.md
git commit -m "docs: README guncellendi"
git push origin main

About

Node.js ile geliştirilmiş, karakter bazlı ve diff algoritması destekli renkli terminal çıktısı sunan dosya karşılaştırma CLI aracı.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors