17
2013
Resource Library Contracts
Facelets, Apache Lisansı altında açık kaynak kodlu bir web şablon sistemidir. JavaEE 7 belirtiminin bir parçası olan JavaServer Faces 2.2(JSR 344), Facelets şablonlarını çalışma zamanında dinamik olarak bütün bir uygulamada yeniden kullanma olanağı sağlayan Resource Library Contracts’ı tanımlamıştır. Hatırlanacağı üzere Facelets, Java Server Faces’ın versiyon 2.0 ile birlikte, varsayılan görünüm işleyici teknolojisi olmuştu. Bu tutorial’da Resource Libray Contracts’ın kullanımını ele alacağız. Kontratlar nedir? Kontratlar, bir Java web uygulamasında, ebeveyni kök dizin olan “contracts” dizini [...]
2
2013
CDI ve @Qualifier Karmaşası
@Qualifier notasyonlarının doğrudan enjeksiyon noktalarında kullanılamamalarından ötürü, projelerinizde @Qualifier özelliği katılmış seçici notasyonların, çok fazlalaştığı görülebilir. Örneğin yukarıdaki gibi Arac arayüzü türünden Otobus, Traktor ve Araba sınıfları CDI projenizde bulunuyor olsun. Bu noktada, [@Inject Arac arac;] Fakat her bir sınıf için harici bir @Qualifier eklenmiş notasyon sınıfı oluşturmak, kalabalıklık açısından karmaşa oluşturabilir. Özellikle uygulamaların daha da kompleks olduğu uygulamalarda bu durum bir keşmekeş oluşturabilir. İşte bu noktada, CDI standardı bu keşmekeşi çözmek üzere, tek bir [...]
30
2013
CDI – @Qualifier Notasyonu
Seçiciler (Qualifiers), Dependency Injection kütüphaneleri için ortak olarak sunulan mekanizmalardır. Kullanılan DI konteyner ortamında aynı nesne türünden birden fazla enjekte edilebilir kaynak bulunduğunda, hangisinin seçileceğini seçme olayı, Seçicilerin çıkış noktasını oluşturur. Örneğin yukarıdaki şekliyle Arac sınıfı türünden iki somut sınıf, uygulamanız içerisinde bulunuyor olsun. Konteyner ortamında birden fazla Arac uygulayıcısı (Araba ve Traktor) bulunacağından, CDI konteyner hangi türden nesnenin enjekte edileceğini bilemez ve çalışma anında CDI konteyner tarafından birden fazla enjekte edilebilir aday olduğuna dair [...]
28
2013
CDI – @Default ve @Inject Notasyonları
CDI (Context and Dependency Injection), Java EE ortamı için tasarlanmış komple ve hafif bir enjeksiyon teknolojisidir. CDI ile, özel konteyner nesneleri (EJB,EntityManager) , ilkel veri tipi elemanları, kendi yazdığınız Java sınıf/nesneleri, kolaylıkla yönetilebilir ve enjekte edilebilirdir. CDI standardında yapılandırılmış her uygulamada, tanımlı her bir Java sınıfı, enjekte edilebilir bir CDI nesnesi olma adayıdır. Bu varsayılan davranışı, her bir Java sınıfı başına gizlice yerleştirilen @Default notasyonu sağlar. Yukarıdaki UML diagramında, sözleşmesi Arac olan bir Araba sınıfı [...]
27
2013
Kodcu.Com Online JavaEE Eğitimi Başladı
Kodcu.Com olarak online düzenlediğimiz JavaEE eğitimimiz 21 Mayıs 2013 tarihinde başladı. Hafta içi Salı-Perşembe 20:00 – 21:30, Cumartesi 11:00 – 14:00 saatleri arasında, 7 haftada toplam 42 saat sürecek eğitimimizden 2. oturumun video kaydını sizinle paylaşıyoruz. Oturumda ele alınan konular: Transaction kavramı Spring Transaction Managment Spring ve Hibernate Spring Security modülü
29
2013
Backbone.js Webineri Ardından
Merhaba arkadaşlar; Backbone.js ile ipleri elinize alın! webineri, bizim açımızdan çok verimli ve değerliydi. Kodcu.com olarak, sizlerle Webiner kaydını ve kod örneğini paylaşmak istedik. Aşağıdaki form üzerinden video kaydına ve örnek uygulamaya erişebilirsiniz. Katılımlarınız ve kıymetli yorumlarınız için Teşekkür ederiz.
22
2013
Native Java Driver ile Çekirdek MongoDB İşlemleri
MongoDB, pekçok dil için sürücü ve istemci kütüphanesi desteği sağlıyor. Bugün, Java dili için sağlanan kütüphaneyi kullanarak, bir önceki makalede konsol aracılığı ile gerçekleştirdiğimiz işlemleri, Java uygulamasıyla nasıl gerçekleştirebileceğimizi göreceğiz. Uygulamada kullandığım araç ve teknolojiler şunlar: MongoDB version 2.4.1 MongoDB Java Driver version 2.11.1 JDK version 1.7 (1.6 ile de sorunsuz kullanılabilir) Maven 3.0.4 1. Proje için MongoDB bağımlılıkları org.mongodb mongo-java-driver 2.11.1 2. MongoDB ile bağlantı, database ve kolleksiyon seçimi MongoClient mongoClient = [...]
16
2013
Jax-RS 2 ve LongPolling destekli Chat uygulaması
LongPolling; Reverse Ajax, Comet gibi isimlerle de bilinen, Javascript destekli Web tarayıcılarda sorunsuz bir biçimde çalışabilen bir Push yöntemidir. HTML 5 ile birlikte, SSE ve Websocket gibi ileri Push teknikleri hali hazırda bulunsada, gerek teknolojilerin halen geliştirilme sürecinde oluşu, gerek se Web tarayıcıların tam olarak desteklemeyişi, LongPolling ve benzeri teknikleri hüküm sahibi kılıyor. LongPolling tekniğinde, web tarayıcı sunucuya bir istekte bulunur, ve bu istek sunucuda hazır bir yanıt bulunana kadar sunucu üzerinde askıda kalır. Askıda [...]
9
2013
Java ile Apache Solr’a Veri İndeksleme
Merhabalar, bir önceki yazımda Apache Solr kurulumundan, konfigürasyonundan, komut satırından Solr’a veri indeksleme ve bu veriler üzerinden sorgu yapabilme işlemlerinden bahsetmiştim. Bu yazının daha iyi anlaşılabilmesi için Sol Sunucunun kurulum aşamalarını ve konfigürasyonu anlatan bu yazının okunması faydalı olacaktır. Solr sunucusunu kurduktan sonra herhangi bir programlama dili kullanarak, Solr’a yeni veriler indekslenebilir ve bu veriler üzerinde sorgulamalar yapılabilir. Bu yazıda Java programalama dili kullanarak Solr’a veri gönderip indekslemeyi anlatacağım. Programatik bir şekilde Solr sunucu ile [...]
4
2013
GDG İstanbul Mart Ayı Etkinliği Ardından
GDG İstanbul Mart ayı etkinliğini sizlerin desteği ile gerçekleştirdi. Tüm katılımcılara teşekkür ediyoruz. Etkinlikte Dart, NodeJS, Neo4J, Push Notifications, Java EE ve Design Patterns konularıyla ilgili biribirinden güzel sunumlar gerçekleşti. Hasan Keklik Neo4J ile ilgili temel bilgilerden bahsetti. Salim Kayabaşı, NodeJs, Passport JS, Express JS ile ilgili giriş sunumunun ardından mini lab ile örnek geliştirmeler yaptı. Murat Yener, Java Revisits Design Patterns sunumuyla ilgi topladı. Ali Parmaksız Google Dart ile ilgili bilgiler verdi. Erdem Yılmaz, [...]















