Nis 062016
 
2.237 views

Lazarus ile ilk programım

Lazarus ile ilk programımEvet, Lazarus ile önceki gün yazmaya başladığım programı bitirdim. Programın adı Depocu. Bu program, kişisel notlarımı tuttuğum küçük bir uygulama. Tekrar ihtiyaç duyabileceğim pratik bilgileri bu uygulamayla elimin altında tutuyor, onları depoluyorum.

Veri tabanım MySQL. Windows üzerindeki veritabanlarımı toptan yedekleyip Ubuntuya aktardım. Depocu veritabanı da böylece hazır bir şekilde yeni işletim sistemime aktarılmış oldu.

Aslında tuttuğum bilgiler aşırı korumaya ihtiyaç duyan şeyler değil. Bilgi miktarı da çok fazla sayılmaz. Yani veritabanımın MySQL olması bile gerekmiyor. Belki ileride SQLite3’e geçerim. Ama şu anda MySQL’le devam etmeyi tercih ediyorum.

Depocuda, MySQL veritabanına bağlanmak için önce Lazarusun ön tanımlı SQLdb bileşenlerini kullandım. Hiç sorun çıkmadı. Gerekli tabloya ve içindeki verilere kolayca eriştim. Ama iş verileri güncellemeye, yeni veriler girmeye gelince durum biraz değişti. Biraz zaman ayırsam, ona da mutlaka bir çözüm bulurdum. Ama, daha kolayını seçtim ve Lazarusa, Delphide de kullandığım ZEOSLib bileşenlerini yükledim.

Yeni veri giriş ve güncelleme sorunu da böylece ortadan kalkmış oldu.

Programda not almış olduğum bazı internet adreslerine tek bir tuşla erişim özelliği bulunuyor. Windows ortamında bunu özel bir fonksiyonla halletmiştim. Ubuntuda bu işin de kolayına kaçtım. İnternet bağlantı bileşenleriyle uğraşmak yerine, sistemde zaten yüklü olan firefoxu komut modunda tetikleyip istediğim adresi parametre olarak yüklemesini sağladım. Daha fazlasına ihtiyacım yok zaten!

Böylece neredeyse 48 saat içinde araştırmaları, testleri ve Facebook yazışmalarıyla birlikte programımı kullanılabilir hale getirmiş oldum.

Bu arada debug bilgileriyle birlikte 50 küsur MB tutan çalışabilir kod dosyasını, debug bilgilerinden arındırarak 3 MB’a düşürdüm. Daha da küçültme olanağı bulunduğunu biliyorum ama, şimdilik gerek yok!

Önümüzdeki günlerde Lazarusu Windows ortamına da kuracağım. Böylece linux altında geliştirdiğim kodları Windows ortamında da derleyip aynen kullanabileceğim. Delphi programım Windows 10 kazası yüzünden silinmişti. Aylardır yeniden kurmamı bekliyor ama, belki de bundan sonra ona hiç ihtiyaç duymayacağım.

Bu arada bir başka gelişme daha oldu! Python ile Lazarusu birlikte kullanabileceğim. Lazarusu belki de bir tür menü ve raporlama aracı olarak, pythonu da internet erişimi, veri madenciliği, karmaşık hesaplamalar, oyunlar vb için kullanacağım.

Henüz hayallerimi fazla zorlamıyorum. Ama biliyorum ki, güzel şeyler olacak!

Gelişmelerden haberdar olmak için, beni izlemeye devam edin!

Ahmet Aksoy

Ara 162015
 
1.692 views

MariaDB ve MySQL Kardeş Kavgası

MariaDB ve MySQL Kardeş Kavgası

Image credits: unixmen.com

Başlıkta olayı dramatize ettiğime bakmayın! Fakat MariaDB ve MySQL garçekten de kardeşmiş. Her ikisi de aynı babanın (Michael “Monty” Widenius) ürünü.

Öykünün aslını bugün öğrendim. O yüzden, asıl seçimimi ve desteğimi bugüne kadar ertelemiş olduğum için kendimi de ayıpladım.

İzninizle bu hikayeyi size de özetleyeyim:

MariaDB adını ve bu sistemle MySQL veritabanlarının hiç bir değişikliğe gerek kalmadan aynen kullanılabileceğini bir kaç hafta önce öğrendim. Python Turkiye grubunda Python ile Windows ve Ubuntudan aynı veritabanı (MySQL) dosyalarını ortak kullanmaya yönelik bir soru sormuştum. Bir arkadaşım MySQL yerine MariaDB kullanmamı önerdi. MariaDB adını da ilk kez bu vesileyle duymuş oldum.

Yıllardır MySQL kullanıyorum. WordPress ağırlıklı web sitelerimde ve kişisel bilgisayarımda kullandığım veritabanı çoğunlukla MySQL oldu. Bazen de Firebird kullanırım. Diğer popüler ve kamuya açık bir çok veritabanını da denedim ama bana en sıcak ve en kolay bu ikisi geldi.

Bugün MySQL kullanan Delphi 7 ile yazmış olduğum kişisel bir programı, Ubuntu üzerinde de rahatça kullanabilmek için Python ile yeniden yazmaya karar verdim. Daha doğrusu bu kararı çok önceden vermiştim ama, bir türlü uygulamaya geçememiştim.

Önce Python’da MySQL için hangi paketleri kullanmam gerektiğini araştırmaya başladım. İşte bu araştırmaya MariaDB konusunu da dahil ettim. Ve oldukça ilginç bir öyküyle karşılaştım. Öykünün ana başlıkları şöyle:

  • Monty’nin ekibi mSQL çalışmalarına başlıyor.
  • 1995 yılında Monty’nin kızı My’ın adını çalışmaların adına ekleyerek MySQL olarak duyuruyorlar.
  • MySQL çift lisansa sahip (biri GPL).
  • Yazılımı geliştiren TcX firması adını MySQL AB olarak değiştiriyor. Yazılımı geliştirenler bu firmanın birer çalışanı oluyor.
  • 2005’te Oracle, InnoDB tablo tipini geliştiren Innobase firmasını satın alıyor.
  • 2006’da Oracle, Berkeley DB tablo yapısını geliştiren Sleepy Cat firmasını satın alıyor.
  • 2008’de Sun, MySQL AB’yi satın alıp, açık destekli geliştirme yapısını değiştiriyor.
  • 2010’da Oracle, Sun ve dolayısıyla MySQL’i satın alıyor ve geliştirme yapısını daha da değiştiriyor. (Ticari destek ücretlerine de % 600 zam yapıyor.)
  • Bu gelişmeler üzerine Monty, MySQL kodunu çatallayarak yeni bir veritabanı sisteminin çalışmalarına başlıyor. Bu çalışmaya ikinci kızının adını veriyor: MariaDB.
  • MariaDB, MySQL modelinde kullanılan aynı komut, arayüz, kitaplık ve API’leri kullanıyor.
  • MariaDB giderek popülerlik kazanmaya başlıyor.

Öykü bu. Oracle’ın dünya çapında kendi veritabanı tekelini kurma stratejisini çok açık bir şekilde göz önüne seriyor. (Öykünün ayrıntılarına referanslardaki linkten ulaşabilirsiniz.)

Tek bu neden bile MariaDB’ye geçmek için benim açımdan yeterli.

Peki Oracle, ileride MariaDB yeterince popüler olduğunda onu da satın almaz mı?

Olabilir elbette! Ama hayat devam ediyor. Belki Monty’nin üçüncü bir kızı olmayabilir ama, ekibindeki birilerinin de kızları vardır mutlaka!..

Açık kaynak çalışmalarını engelleme girişimleri her zaman olacak, ama o da her seferinde yepyeni isimler altında yeniden filizlenip gelişecek bir başka ortam bulacaktır.

Ahmet Aksoy

Referanslar: