Google DevFest ’13

Dün bir arkadaşımla beraber GDG İstanbul’un GDG Eskişehir ve GDG Ankara ile birlikte düzenlediği, şimdiye kadar Türkiye’de ilk kez düzenlenen DevFest‘teydik. Genel olarak olumlu bulduğum konferansta eksikliklerde yok değildi.

Öncelikle iyi yanlarından biraz bahsetmek istiyorum. Türkiye’de bu boyutta konferans düzenlendi mi bilmiyorum, ancak bildiğim şu ki katıldığım en geniş kapsamlı konferanstı. Sabah 10:30’dan akşam 18:30 civarına kadar 4 salonda sürekli oturum vardı. Bu şekilde paralel oturum olması bazen hangisine gireceğime karar verememe yol açsa da (birazdan bahsedeceğim olumsuzluklar bunu kolaylaştırdı gerçi) bu genel olarak iyi bir şey.  Neyse gelelim içeriğe. Genellikle mobil teknolojiler üzerineydi oturumlar. Özellikle Android. Bir Google etkinliğinde IOS’a yer verilmesi de ilginç geldi bana açıkcası. Ama karşılaştırabilme ve öğrenme özgürlüğü açısından bunu olumlu buluyorum.

Olumsuz yanlarına gelince bence en büyük sorun A salonu dışındaki salonların küçüklüğüydü. Heleki C ve D deki hiçbir etkinliğe katılamadım. Erkenden gitmek, öbür oturum bitmeden çıkmak gerekiyordu öylede yapmak istemedim açıkcası. Daha büyük salonları olan bir mekan tercih edilebilirdi. Duyduğum kadarıyla herkes bu durumdan şikayetçiydi.

Benim katıldığım oturumlardan ekstra bilgi verirdim normalde ama not tutma şansım olmadı bu sefer. Hatta tutsaydım da içerikten dolayı çok yazacak bir şey olmazdı zaten. Tek diyeceğim Geleceği Yazanlar diye Turkcell’in el ayak verdiği bir platform kurulmuş. Mobil yazılım konusunda türkçe kaynak oluşturma gayretindeler. Girip faydalanabilirsiniz. Neyse son mesajım etkinliğin düzenlenmesine katkıda bulunanlara olacak. Teşekkürler hepinize. Her şeye rağmen güzel bir etkinlik oldu. Daha nicelerinde görüşmek üzere.

MongoDB ve Node.JS nedir?

Uzun bir aradan sonra merhaba. Geçen gün Google Developer Group İstanbul ekibinin hazırladığı, 2013’ün ilk konferansı olan “Merhaba 2013” için İTÜ Ayazağa kampüsündeydim. Ve öğrendiklerimi (gene not alma fırsatım olmadığından) hatırladığım kadarıyla paylaşmak istedim. Yazmadığım dönemde katıldığım başka konferanslarda oldu ancak onlarla ilgili sizinle paylaşabileceğim bir şey bulamadığımdan yazmadım (diyerek sürekli konferanslara gittiğim imasındada bulunmuş olayım 🙂 ). Neyse geçelim konumuza.

Bugün benim katıldığım oturumlardaki konu MongoDB ve Node.JS idi. Uzun zamandır duyuyordum bu kelimeleri. Ve anlamını bilmediğim bir kelime olarak havada kalıyordu. Bugün gitme amacım tamamen öğrenmek olmasada, bu kelimelerin içini doldurmaktı. Amacıma da ulaştım. Sizlere de kulak aşinalığı olması açısından dilim döndüğünce anlatacağım.

İlk olarak öğrendiğim sırayla gidersem, MongoDB ile başlayalım.

Nedir MongoDB?

MongoDB ilişkisel olmayan yani NoSQL veritabanı. Peki ne demek bu ilişkisel olmayan? Yani düşününki veritabanı var, ama içinde ne tablo var, ne transactions (select,insert,update,delete gibi işlemler) var. Peki nasıl oluyor bu iş derseniz şöyleki, MongoDB’yi benim anladığım JSON formatında verileri Array(dizi) olarak tutan bir veritabanı olarak düşünebiliriz. Yani bildiğimiz JSON formatı olduğu için çekilen verileri JSON teknikleri ile sayfaya dökebiliyoruz. Peki neden MongoDB derseniz, en önemli sebep kesinlikle HIZ. Popüler Big Data (Büyük Veri) işlemlerde büyük hız avantajı sağlıyor. Hız isteyenler ve büyük veriyle çalışanlar kesinlikle geçmeli yani. Bu bana MS Access’ten MySQL’e geçtiğim zamanı hatırlattı. Zamanında Access yeterliyken, internet hızlandıkça, veriler arttı, bu oldukça da Access yetmemeye başladı, ve Mysql’e geçildi. Aynı süreç henüz gerekmesede ileride MongoDB için yaşanabilir. Bunu ancak zaman gösterecek.

İkinci olarakta NodeJS ile devam edelim.

Nedir Node.js?

Node.JS sunucu tarafında çalışan(server-side) bir framework. Yani bir programlama dili değil. Amacı bir nevi sunucuda JS çalıştırmak. Bunu örnekle açıklarsam daha kolay olacak sanırım. Örneğin siz bir javascript kodu koyduğunuzda sitenize, kullanıcı sitenize girer ve tarayıcısı destekliyor ise o JS kodu çalışır ve işlemler gerçekleşir. Node.JS ise bunu sunucu tarafında yaparak kullanıcının Tarayıcısından bağımsız çalışmasını sağlıyor. PHP nasıl siteye her giren için aynı sonucu veriyor, sunucu üzerinde yorumlanıp sonuç herkese aynı sunuluyor ise buda öyle birşey. Bu sayede HTML5 ile dahada önem kazanan JS herkeste sorunsuz çalışır hale gelmiş oluyor. Node.JS’in bir diğer büyük avantajı ise HIZ. Apache, ISS vs gerektirmiyor. Node.JS kurduktan sonra, 3-4 satır kod ile HTTP server haline getirebiliyorsunuz bilgisayarınızı veya sunucunuzu.

Dikkatinizi çektiyse iki yeni teknolojide de HIZ vurgusunu yaptım. Etkinlikte söylendiğine göre LinkedIn son tasarım değiştirdiğinde aynı zamanda Node.JS ve MongoDB ikilisine geçiş yapmış, trafiği 2 kat artmasına rağmen sayfa açılış hızı ise 5 kat artmış. Bu muhteşem bir fark.

Genel olarak paylaşmak istediklerim, aklıma gelenler bu kadar şimdilik. Daha detaylı bilgiler için MongoDB ve Node.JS sunumunda kullanılan sunulara şuradan ulaşabilirsiniz.