yazılım

Eteration'dan Hybrid Mobile Uygulama Geliştirme Semineri

Konu:

Daha önce Eteration'un Java EE eğitimine katılmıştım. Bence faydalı bir seminer olmuştu. Eteration bu sefer de mobil uygulama semineri veriyor.

Native mobil uygulama ilgili cihaza özgü dil ile yazılan (örneğin iOS için Objective-C, Android için Java) ve sadece ilgili cihazda çalışacak şekilde derlenen mobil uygulamadır. Native uygulamalar cihazın tüm fonksiyonlarına erişebilirler.
Mobil Web Uygulaması ise HTML5, CSS3 ve JavaScript ile yazılmış ve tarayıcı üzerinde çalışan uygulamadır. Web uygulaması, bir web server üzerinden yayınlanan web sayfaları şeklinde düzenlenir. Bu şekildeki bir uygulama cihazın sınırlı sayıda fonksiyonuna erişebilir.

Hybrid mobil uygulama ise bu iki kavramı birleştirmekte ve cihaz fonksiyonlarına JavaScript ve Html5 ile erişilebilmesini sağlamaktadır.
Hybrid mobile uygulama kavramlarının anlatılacağı ve demolar eşliğinde gerçekleştirilecek bu seminerde aşağıdaki başlıklar üzerinde durulacaktır:

  • HTML5
  • Javascript
  • Phonegap
  • Design for mobile
  • Debugging

Tarih: 11 Temmuz 2013 / 13:30-17:00
Yer: Ankara Hilton Oteli
Tahran Caddesi No:12 Kavaklidere Ankara
+90 312 455 01 14

Katılım ücretsizdir.
Kayıt İçin: http://eteration-hybrid-ankara.eventbrite.com

Konuşmacı: Murat Yener

MongoDB HTTP Arayüzü


NoSQL veritabanlarından biri olan MongoDB'nin shell arayüzünden başka bir de HTTP arayüzü var. Bu arayüzü aktif hale getirmek için Mongo'yu --rest parametresiyle başlatmak gerekiyor.
mongod --rest
Bundan sonra localhost 28017 portundan arayüze erişebilirsiniz. Yani adres şöyle: http://localhost:28017

Bu arayüzde listDatabases linkine yani http://localhost:28017/listDatabases?text=1 tıklayarak localdeki veritabanlarının bir listesini json formatında görebilirsiniz;

{ "databases" : [ 
    { "name" : "funtestdb",
      "sizeOnDisk" : 218103808,
      "empty" : false }, 
    { "name" : "m101",
      "sizeOnDisk" : 218103808,
      "empty" : false }, 
    { "name" : "test",
      "sizeOnDisk" : 486539264,
      "empty" : false }, 
    { "name" : "local",
      "sizeOnDisk" : 1,
      "empty" : true } ],
  "totalSize" : 922746880 }

List all commands yani http://localhost:28017/_commands linkine tıklayarak rest kullanılarak verilebilecek komutların tüm listesine ulaşabilirsiniz.

Veritabanı ve kolleksiyon adı ile kolleksiyon içeriğini görüntüleyebilirsiniz. Bunun için REST olduğu üzere, şu şablonu kullanmanız gerekiyor;
http://localhost:28017/veritabani/kolleksiyon/
Yani örneğin blog veritabanı üstündeki post kolleksiyonunu görmek için
http://localhost:28017/blog/post/

Tüm kolleksiyonu değil de belli bir sorgu cevabını görmek için ise filter kullanabilirsiniz. Örneğin yazar'ı yasin olanları sorgulamak isterseniz;
http://localhost:28017/blog/post/?filter_yazar=yasin

Çok daha fazlası için: http://docs.mongodb.org/ecosystem/tools/http-interfaces/

Kaynak: http://portalnotes.blogspot.com/2013/06/mongodb-http-interface.html

HibernateTemplate için get() vs load()

Konu:

Spring üzerinde Hibernate kullananlar için lazım olan ve hangisi neydi unutulabilen bir bilgi. Not olarak dursun;

İstenen veritabanı objesi yoksa get() null döndürür.
load() null döndürmez, ObjectRetrievalFailureException fırlatır.

Kaynak: http://static.springsource.org/spring/docs/2.5.5/api/org/springframework...

10gen'den MongoDB Eğitimi

Konu:

Birkaç hafta önce MongoDB'nin yapımcı şirketi 10gen, ücretsiz MongoDB eğitimleri başlattı. Eğitimleri education.10gen.com adresine üye olarak alabilirsiniz. Videoları izliyorsunuz, arada quiz'ler karşınıza çıkıyor. Hafta sonunda da ödevleri yaparak eğitim almış oluyorsunuz. Eğitimler iki grup halinde: Veritabanı yöneticileri için (DBA) MongoDB, Geliştiriciler için MongoDB. DBA'liğe pek ilgi duymadığım için başlangıç olarak geliştiriciler için olan eğitime katılmaya karar verdim. Bayram, hastalık ve iş yoğunluğu dolayısıyla yeterince hızlı gidemiyor olsam da, mümkün olduğunca eğitim videolarını izlemeye çalışıyorum. Geliştiriciler için olan eğitimlerde yazılım dili olarak Python tercih edilmiş. Scripting dili olduğu için ve MongoDB'nin yapısı itibariyle JSON'a yakınlığı sebebiyle Pyhton'ın seçildiği söyleniyor. Bu sayede yavaş yavaş Python da öğrenmeye başladım. Müsait olabilirsem DBA tarafına da bakmak istiyorum.

Şimdiye kadar nerdeyse sıfır MongoDB bilgisine sahip olduğum için öğrendiğim birkaç noktayı buraya yazmak istiyorum;

  • MongoDB JSON kullanıyor. Web tabanlı yazılım geliştiricilerinin kolaylıkla anlayabileceği ve kullanabileceği bir yapısı var.
  • İlişkisel bir veritabanı olmadığı için Join ve Transaction desteği yok. Bunları tamamiyle unutabiliriz.
  • Tablo yapısı yok, Schemaless, yani bir nevi iskeletsiz bir yapısı var. Geleneksel olarak bildiğimiz şekilde sütunların bulunmadığı fakat objelerin özelliklerinin bulunduğu bir yapı diyebiliriz. Bu sayede tablo sütunlarına sıkışmıyoruz. Birden fazla özellik gerektiğinde tablo yapısını tümden değiştirmek, yeni bir sütun eklemek gibi şeyler yapma ihtiyacımız olmuyor.
  • Index yapısı var fakat henüz bu konuya değinilmedi.
  • Ayrıca Mongo'dan alakasız olarak;

  • Python'da for yapısı bildiğimiz üçlü grup for(i=0;i<foo;i++) değil, foreach yapısıymış ( for i in items ).
  • Önce Play Framework'de gördüğüm route'lu web yapısının pek çok dilde standart olarak bulunduğunu NodeJS framework'lerinden Express ve Python framework'ü olan Bottle'da görerek anladım.
  • Bu gibi eğitimler, yenilikler, araçlar, frameworkler ve teknolojiler ufkumuzu geliştiriyor, farklı bakış açılarına sahip olmamızı sağlıyor. Bu bakımdan çok faydalı. Herkese tavsiye ederim.

Bundan başka, Mongo hakkında hiçbir fikriniz yoksa 15-20 dakikada Mongo'yu görerek tanıyabileceğiniz interaktif bir tutorial var: http://tutorial.mongly.com/tutorial/index

JBoss AS7.1'de "JBAS014676: Failed to parse configuration" Hatası

Konu:

Madvens uyardı:

JBoss Server 7.1 No enum const class java.util.concurrent.TimeUnit.MİLLİSECONDS hatası

Gösterdiği çözüm yöntemi Eclipse için. Fakat eğer JBoss'u standalone ya da domain olarak kullanmak istiyorsanız işler değişiyor. Bu hatanın sebebi, anlaşılacağı üzere Türkçe karakter problemi. Temel sistem konfigürasyonunuz Türkçe fakat JBoss bunu doğrudan alıp kullanmaya çalıştığı için MİLLİSECONDS'daki i harfleri de büyüyor ve hata oluşuyor. Bunu çözmek için çalıştırdığınız conf.bat dosyasının (örneğin standalone çalıştırıyorsanız standalone.conf.bat) Java options ayarlarının bulunduğu uygun bir yere şu satırı eklemek:

set "JAVA_OPTS=%JAVA_OPTS% -Duser.language=en"

Daha önce OrientDB için de benzer bir sorunla karşılaşmış ve bunu OrientDB geliştirici grubunda paylaşmıştım. Onlar da bunu dilden bağımsız şekle getirmişlerdi. JBoss da belki bunu yapabilir.

Sayfalar

Subscribe to RSS - yazılım