JsonDB - SQLite'ta, Json Formatında bir Alternatif

JsonDB

SQLite’ta, Json Formatında bir Alternatif


Merhaba arkadaşlar,

Daha önce şurada da bahsetiğim proje üstünde epey bir çalıştım ve artık bu proje ile ilgili fikirlerinizi almak istiyorum.

https://github.com/Samet195/JsonDB

Proje’nin amacı:

SQLite gibi çalışan ama daha küçük boyutlarda bir veritabanı alternatifi oluşturmak.

Bu konudaki fikirlerinizi ve yapıcı eleştirilerinizi bekliyorum. :slight_smile:

3 Beğeni

hiç döküman yok insan nasıl kullanacağını anlayamıyor

Test.py var.

Şuan kullanılabilir tüm metodların kullanımını orada gösterdim.

1 Beğeni

Hiç belli değil daha açık biryere bir website vb ye koyabilirsiniz

Web sitesi açmak biraz masraflı birşey;
Ama belki ileride “Google Siteler” ile birşey yapabilirim.

Zaten tam sürümü çıkınca PyPI’ye de yükleyeceğim.

github pages var…

2 Beğeni
def ShowTables(self):
    return self.DB["TableList"]

Fonksiyon isimleri lowercase olmali. show_tables gibi.

Fikir guzel de, SQL kodlari icin bir lexer yazmaniz lazim. Aslinda C ile yazilsa guzel olurdu. Optimizasyonlar acisindan.

1 Beğeni

Bununla ilgili bir kural yok, ben sadece daha okunaklı ve hoş, göründüğü için böyle yapmayı tercih ettim.


Bunun için önce o kodlara karşılık gelecek fonksiyon/metodarın olması gerekmez mi?


Teşekkür ederim. :slight_smile:

PEP-8. Kural oldugu icin de degil, metotlarin self argumanina this de diyebilirim, kural da yok hatta self olacak diye, ama gelenek iste. Fonksiyonlar lowercase, classlar buyuk harfle baslatiliyor.

Hayir. SQL bambaska bir dil. Sqlite’in kaynak kodlarina bakin. Maalesef database framework yazmak kolay degil.

1 Beğeni

Öyle bir gelenek olduğunu biliyorum ama bence bu şekilde daha hoş görünüyor. Bu konuda ki geri bildirimler artarsa düzeltirim. :slightly_smiling_face:


Baktım ama C bilmediğim için pek birşey anlamadım. :confused:


Kolay olmadığını biliyorum, ama imkansız da değil.

Değilmi?

İsimlendirmede belli bir kuralın takip edipmesinin sebebi kodun okunaklılığını arttırmak. İsimlendirme şekli, kodu okuyan kişiye o değişkenin ne olduğu ile alakalı bilgi veriyor.

Örneğin Python’da değişmemesi gereken global değerler tamamen büyük harfle yazılıyor.
Sınıflar CamelCase şeklinde; metodlar, değişkenler, fonksiyonlar ve modüller de snake_case şeklinde isimlendiriliyor. Siz hem modülleri, hem sınıfları hem de metodları aynı isimlendirmişsiniz ve bu kafamızı karıştırıyor. Anlaşılan Github’ın da kafasını karıştırmışsınız ki hepsini sınıfmış gibi renklendirmiş.

Çoğu şeyi aynı, mesela sizin yaptığınız gibi CamelCase şeklinde isimlendirirsek şöyle problemler ile karşılaşıyoruz:

  • A.B şeklinde bir kodda A bir sınıf ve B bir sınıf niteliği mi, yoksa A bir modül ve B bir sınıf mı?
  • A.B() şeklinde bir kodda A bir sınıf ve B bir metod mu, A bir değişken ve B bir metod mu, yoksa A bir modül ve B bir sınıf mı?
3 Beğeni

:+1:

Peki, ExampleDB’nin yapısı hakkında ne düşünüyorsunuz?

Konu dışı olacak ama, GitHub buna bile bakıyor ancak olmayan bir kişiye davet gönderebiliyor, ilginç :thinking:

merhaba bence de bu dilmidir nedir bilmiyorum ama bu şeyin kullanımı hakkında bir kaç bilgi veren bir şeyler yazmanız lazım bencede web sitesi açmak masraflı bir şey alan adı bile 8 dolar gibi bir şeymiş. neyse bence kullanımını anlatan bir kaç html dosyası açın sonra o html dosyalarını githuba yükleyin. ve böylece yazılımınızın kullanımını anlatabilirsiniz

Yani, şu an projenin ~%5’i falan yazıldı; pek karmaşık değil; zaten Test.py dosyasını biraz incelerseniz az çok anlarsınız. Ama madem öyle diyorsunuz; README.md'ye bir ekleme yaparım.


Neyse, siz onu bunu bırakın da; veritabanının yapısı hakkında, select metodunun kodlanışı hakkında bir fikir verin. :slight_smile:

Size sadece Test.py’ye bakarak en az 30 tane database örneği yaptığımı söylesem @eXcalibur @hackaxx :slightly_smiling_face:

Bu arada @hackaxx projenin bir veri tabanı projesi olduğu yazıyor.

1 Beğeni

tamam ama ben veritabanı programlamayı da tam olarak bilmiyorum zaten bu nedenle anlamadım ama neyse. gencay sen zaten zekisin bir de benim gibiler öğrenecek bunu

1 Beğeni

:open_mouth:

Görebilir miyim? Merak ettim. :slight_smile:

:laughing: yahu, madem anlayamayan sizsiniz; niye bana geribildirimde bulundunuz. Neyse iyi oldu “Nasıl kullanılır” bölümünü eklemem, biraz daha şık duruyor.

1 Beğeni