Gelişmiş Özellikler
Text Diff aracı, onu profesyonel metin karşılaştırmaları için güçlü bir araç haline getiren geniş bir gelişmiş özellik yelpazesi sunar.
Akıllı Karşılaştırma Algoritmaları
Bağlam Bilinçli Fark Algılama
Araç, gelişmiş algoritmalar kullanarak:
- Anlamsal değişiklikleri tanır, sadece yüzeysel farklılıkları değil
- Bağlamsal değişiklikleri belirler ve çevredeki kodu etkileyen değişiklikleri tespit eder
- Yapısal değişiklikleri iç içe geçmiş veri yapılarında takip eder
Optimize Edilmiş Satır İşleme
- Akıllı satır eşleştirme: Benzer satırlar arasında en iyi eşleşmeyi bulur
- Bağlam satırları: Daha iyi anlama için çevredeki satırları gösterir
- Minimum değişiklikler: Mümkün olan en az sayıda değişikliği tanımlar
Gelişmiş Karşılaştırma Seçenekleri
Boşluk İşleme
// "Boşlukları Yoksay" etkinleştirildiğinde
// Bu satırlar özdeş olarak kabul edilir:
const name = 'John'; // Dosya A
const name = 'John'; // Dosya B
Kullanım durumları:
- Kod biçimlendirme çakışmaları
- Farklı editör ayarları
- Otomatik kod biçimlendirme
Büyük/Küçük Harf İşleme
// "Büyük/Küçük Harf Duyarsız" etkinleştirildiğinde
// Bu nesneler özdeş olarak kabul edilir:
{
"Name": "John", // Dosya A
"name": "John" // Dosya B
}
Kullanım durumları:
- Yapılandırma dosyaları
- Veritabanı şemaları
- API yanıtları
Dosya Formatı Desteği
Programlama Dilleri
Dil | Uzantı | Sözdizimi Vurgulama |
---|---|---|
JavaScript | .js, .mjs | ✅ |
TypeScript | .ts, .tsx | ✅ |
Python | .py | ✅ |
Java | .java | ✅ |
C/C++ | .c, .cpp, .h | ✅ |
C# | .cs | ✅ |
Go | .go | ✅ |
Rust | .rs | ✅ |
PHP | .php | ✅ |
Web Teknolojileri
Format | Uzantı | Özel Özellikler |
---|---|---|
HTML | .html, .htm | Etiket yapısı analizi |
CSS | .css, .scss, .sass | Seçici karşılaştırması |
Vue | .vue | Bileşen analizi |
React | .jsx, .tsx | JSX sözdizimi |
Veri Formatları
Format | Uzantı | Yapı Analizi |
---|---|---|
JSON | .json | Nesne hiyerarşisi |
XML | .xml | Öğe yapısı |
YAML | .yml, .yaml | İç içe geçme |
TOML | .toml | Yapılandırma yapısı |
Geçmiş Yönetimi
Akıllı Geçmiş Fonksiyonları
Otomatik Kategorileştirme
Araç karşılaştırmaları otomatik olarak kategorilere ayırır:
- Kod karşılaştırmaları: Geliştirme ve hata ayıklama oturumları
- Yapılandırma karşılaştırmaları: Ortam ve yapılandırma değişiklikleri
- Dokümantasyon karşılaştırmaları: İçerik ve yapı değişiklikleri
Metaveri İzleme
Her geçmiş girişi şunları içerir:
{
"timestamp": "2024-01-15T10:30:00Z",
"fileType": "javascript",
"linesChanged": 15,
"changeType": "feature-addition",
"tags": ["frontend", "component", "bugfix"]
}
Geçmiş Organizasyonu
Arama Fonksiyonları
- Metin arama: İçeriğe göre geçmiş girişlerini ara
- Tarih filtreleri: Zaman dilimlerine göre filtrele
- Tür filtreleri: Dosya türleri veya değişiklik türlerine göre filtrele
Dışa Aktarma Seçenekleri
- Bireysel karşılaştırma: Belirli bir karşılaştırmayı dışa aktar
- Toplu dışa aktarma: Birden fazla karşılaştırmayı aynı anda dışa aktar
- Formatlar: JSON, CSV, HTML, Markdown
Performans Optimizasyonu
Büyük Dosyalar
Parça İşleme
Araç büyük dosyaları parçalarda işler:
// Dosya boyutuna göre otomatik parça boyutu
const chunkSize = Math.min(1000, Math.max(100, fileSize / 100));
Tembel Yükleme
- Aşamalı görüntüleme: İşleme sırasında sonuçları göster
- Sanal kaydırma: Büyük diff sonuçlarının verimli görüntülenmesi
- Bellek yönetimi: Optimize edilmiş bellek kullanımı
Tarayıcı Optimizasyonu
Web Workers
// Ayrı thread'de diff hesaplama
const worker = new Worker('/diff-worker.js');
worker.postMessage({ fileA, fileB, options });
Önbellek Stratejileri
- Local Storage: Geçmiş girişlerinin önbelleği
- Session Storage: Oturum sırasında geçici depolama
- IndexedDB: Büyük veri hacimleri için kalıcı depolama
API Entegrasyonu
Programatik Erişim
// Örnek: Otomatik diff oluşturma
const diffResult = await textDiffAPI.compare({
fileA: {
content: 'Orijinal içerik',
name: 'original.txt',
},
fileB: {
content: 'Değiştirilmiş içerik',
name: 'modified.txt',
},
options: {
ignoreWhitespace: true,
ignoreCase: false,
},
});
Webhook Desteği
// Değişiklikler için otomatik bildirimler
const webhook = {
url: 'https://your-app.com/diff-notifications',
events: ['diff.created', 'diff.updated'],
secret: 'your-webhook-secret',
};
Güvenlik Özellikleri
Gizlilik
Yerel İşleme
- Sunucu aktarımı yok: Tüm işleme tarayıcıda gerçekleşir
- Şifreleme: Hassas veriler şifrelenmiş olarak depolanır
- Otomatik temizlik: Geçici veriler otomatik olarak silinir
Erişim Kontrolü
// Örnek: Kullanıcı tabanlı erişim kontrolü
const accessControl = {
user: 'developer@company.com',
permissions: ['read', 'create', 'update'],
restrictions: {
maxFileSize: '10MB',
allowedFormats: ['.js', '.ts', '.json'],
},
};
Denetim Günlükleri
{
"action": "diff.created",
"user": "user@example.com",
"timestamp": "2024-01-15T10:30:00Z",
"metadata": {
"fileSize": "2.5KB",
"changeCount": 15,
"ipAddress": "192.168.1.100"
}
}
Özelleştirme Seçenekleri
UI Özelleştirmesi
Temalar
- Açık Tema: Parlak ve profesyonel görünüm
- Koyu Tema: Gece çalışması için koyu görünüm
- Yüksek Kontrast: Geliştirilmiş okunabilirlik
- Özel Temalar: Kullanıcı tanımlı renkler ve stiller
Düzen Seçenekleri
const layoutOptions = {
orientation: 'horizontal', // veya "vertical"
panelSize: '50%', // Panel bölünmesi
showLineNumbers: true, // Satır numaralarını göster
showStatistics: true, // İstatistikleri göster
compactMode: false, // Kompakt mod
};
Gelişmiş Ayarlar
Karşılaştırma Seçenekleri
const advancedOptions = {
contextLines: 3, // Bağlam satır sayısı
maxChanges: 1000, // Maksimum değişiklik sayısı
timeout: 30000, // Milisaniye cinsinden zaman aşımı
algorithm: 'myers', // Diff algoritması
encoding: 'utf-8', // Dosya kodlaması
};
Geliştirme Araçları Entegrasyonu
IDE Entegrasyonu
VS Code Uzantısı
{
"name": "text-diff-tool",
"version": "1.0.0",
"engines": {
"vscode": "^1.60.0"
},
"contributes": {
"commands": [
{
"command": "textDiff.compareFiles",
"title": "Compare with Text Diff Tool"
}
]
}
}
Git Entegrasyonu
# Otomatik diff oluşturma için Git kancası
#!/bin/sh
git diff --cached | curl -X POST \
-H "Content-Type: application/json" \
-d @- \
https://text-diff-tool.com/api/compare
CI/CD Pipeline
# GitHub Actions örneği
name: Text Diff Check
on: [pull_request]
jobs:
diff-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Compare Files
run: |
curl -X POST \
-H "Content-Type: application/json" \
-d '{"fileA": "${{ github.event.pull_request.base.sha }}", "fileB": "${{ github.sha }}"}' \
https://text-diff-tool.com/api/compare
Bu gelişmiş özellikler Text Diff aracını profesyonel geliştiriciler ve ekipler için vazgeçilmez bir araç haline getiriyor.