1 puan yazan GN⁺ 2025-02-08 | 1 yorum | WhatsApp'ta paylaş
  • SQLite Page Explorer

  • SQLite Page Explorer, redbean ile geliştirilmiş küçük bir GUI uygulamasıdır; SQLite veritabanlarını, SQLite'ın onları gördüğü şekilde, "sayfa sayfa" gezmenizi sağlayan bir araçtır

  • Neden gerekli?

    • SQLite ve çoğu veritabanı, okuma ve yazmayı olabildiğince hızlı yapmak için verileri disk blok boyutundaki sayfalarda (genellikle 4KB) depolar
    • Geliştiriciler genellikle veritabanıyla "şema düzeyinde" etkileşime girer, ancak "sayfa düzeyine" bakmak şu ilginç içgörüleri sağlayabilir
      • İndekslerin gerçekte diskte nasıl göründüğünü görebilirsiniz (temelde ayrı küçük tablolardır)
      • Verileri daha sıkıştırılmış biçimde depolayarak sorguları ve uygulamaları daha hızlı hale getirebilirsiniz
      • Şema düzeyinde görünmeyen sorunları ve verimsizlikleri keşfedebilirsiniz
      • Çoğu dosya sistemi ve veritabanının temelini oluşturan B-ağacı gibi önemli veri yapıları hakkında sezgi kazanabilirsiniz
  • Her yerde çalıştırılabilir

    • redbean, cosmopolitan ve αcτµαlly pδrταblε εxεcµταblε sayesinde; Windows, Linux, MacOS, çeşitli BSD sürümleri, ARM64 ve x64 üzerinde yerel olarak çalışan tek bir 6.5 MB yürütülebilir dosyadır
    • Bu dosya, uygulamayı çalıştıran ve veritabanı ikili biçimini ayrıştıran Lua kodunu içeren bir zip dosyasıdır
  • Nasıl kurulur

    • releases bölümünden sqlite-page-explorer.com dosyasını indirin
    • Unix benzeri sistemlerde chmod +x çalıştırın
    • Veritabanı dosyasını sürükleyin ya da konsoldan çalıştırın: sqlite-page-explorer.com mySqliteDatabase.db
    • Uygulama bir tarayıcı sekmesinde açılır
    • İşiniz bittiğinde konsolda Ctrl-C'ye iki kez basın
    • αcτµαlly pδrταblε εxεcµταblεs, tarayıcıların ve işletim sistemlerinin virüs tespit sistemlerini şaşırtarak yanlış pozitiflere yol açabilir. İnternetten indirdiğiniz her şey için olağan dikkati gösterin
    • 500 MB'tan büyük veritabanları kullanıldığında, tüm sayfaları okuyan en üst düzey görünümün yüklenmesi zaman alabilir
  • Nasıl derlenir

    • files/ içeriğini redbean-3.0.0-cosmos.com dosyasına zip ile eklemeniz yeterlidir. https://cosmo.zip/pub/cosmos/bin/ adresinden indirilebilir (listede "redbean"e tıklayın)
    • Sisteminizde zip yoksa aynı siteden indirmeniz gerekir
    • Dahil edilen zipitup.py Python (3.6+) betiğini de çalıştırabilirsiniz
    • Değişiklik yapmak için redbean-3.0.0-cosmos.com -D files komutunu çalıştırarak uygulamayı files alt dizininden sunabilirsiniz. Böylece her değişiklikte zip'i yeniden oluşturmanız gerekmez
  • Bir başyapıt değil

    • redbean'i denemek ve Lua'yı ilk kez kullanmak için yapılmış bir deneyin parçası olarak, kod biraz dağınık olabilir
    • Jinja veya bottle.py'nin yerel şablonları gibi bir şablon sistemi kullanmak, çok sayıdaki string birleştirmeyi ve Write() ifadelerini azaltabilirdi
    • Son sekme kapandığında konsolu otomatik kapatmak ve kullanıcı onaylamadıkça büyük veritabanlarında 10.000'inci sayfada durmak güzel olurdu
    • PR'ler memnuniyetle karşılanır

1 yorum

 
GN⁺ 2025-02-08
Hacker News yorumu
  • Animasyonlu GIF ekran görüntüleri paylaşan proje çok ilgi çekici
  • SQLite dosya biçimi belgelerine bakarak SQLite dosyalarını ayrıştıran kod yazmak düşünüldüğünden daha kolay
  • SQLite'ın iç işleyişiyle çalışma deneyimi olan biri olarak, bu projenin ortaya koyduğu çalışma etkileyici
    • Dioxus ile oluşturulan sqlite-repr de ilgi çekici bir SQLite görselleştirmesi sunuyor
    • İlgili bağlantı: sqlite-repr
  • Proje harika ve bir renk açıklaması eklenmesi iyi olabilir
    • Büyük veritabanlarında (3.6GB, 942719 sayfa) performans sorunları ortaya çıkıyor; sayfalama düşünülebilir
  • 10 yıl önce bir güvenlik aracı için benzer bir çalışma yapmıştım; bu projenin MIT lisansı ile sunulması güzel
  • SQLite kaynak kodu, veritabanı dosyalarını incelemek için yararlı olan showdb adlı bir CLI aracı içeriyor
  • Ders ya da sınıf takibi yapmakta zorlanan kişiler için bu proje, veri yapılarını verimli biçimde görselleştirmenin iyi bir yolu
  • Veritabanı öğrenenler için çok yararlı bir araç
  • SQLite dosya biçimi hakkında açıklama ve yararlı diyagramlar yazma deneyimim var
  • Araç iyi çalışıyor