Welcome

Spring Boot ve JSF

Java Server Faces (JSF)’i başarısız bir UI framework olarak nitelediğimi değişik ortamlarda ve yazılarımda belirtmişimdir. Ancak ne yapalım ki JSF sıkça kullanılan bir UI framework olarak karşımıza çıkıyor. Spring ekosisteminde JSF’i Spring çözümleri ile entegre etmeye çalışan arkadaşlardan zaman zaman sorular alıyorum. Spring Boot ile geliştirilen web uygulamalarında UI framework olarak JSF’i kullanmak mümkündür. Spring […]

Ayrı Bir Repository Katmanı Şart mı?

Kurumsal yazılım sistemlerinde üç katmanlı mimari yaklaşımı uygulamak “de facto” olmuştur. Bu tür uygulamalarda sunum (presentation), servis (service/business) ve depo (DAO/repository) ayrı ayrı görevlere sahip katmanlar olarak karşımıza çıkarlar. Sunum katmanında UI ile ilgili işlemler gerçekleştirilir. Bu katmanda kendi içinde arayüz (UI) ve dönüşüm/kontrol (controller) şeklinde alt katmanlara ayrılabilir. Dolayısı ile JavaEE dünyasında üç katmanlı […]

İlginç Bir Transaction Propagation Hikayesi 2

İlginç Bir Transaction Propagation Hikayesi isimli blog yazımızın ilk bölümünde Foo, Bar ve Baz entity’lerini insert eden FooService ve BarService bean’lerinin birbirlerini çağırırken, insert işlemlerini iki farklı transaction içerisinde yapmaya çalıştıklarından bahsetmiştik. Önce FooService.foo() metodu içerisinde Foo entity’si, ardından da BarService.bar() metodu içerisinde sıra ile Baz ve Bar entity’leri JPA EntityManager vasıtası ile persist ediliyorlardı. Bar […]

İlginç Bir Transaction Propagation Hikayesi

Aşağıdaki örnekte Foo, Bar ve Baz şeklinde üç basit entity sınıf görüyorsunuz. Foo ve Baz içerisinde PK dışında hiçbir property mevcut değilken, Bar sınıfında ise not null özelliğinde bir name property’si tanımlı. Ayrıca bu entity’leri persist eden FooService ve BarService servis bean sınıflarımız da var. @Entity public class Foo { @Id @GeneratedValue private Long id; […]

ServiceLoader vs SpringFactoriesLoader, Hangisini Kullanalım?

Java’nın ServiceLoader kabiliyeti, Java 1.6’dan bu yana sunulan, ancak pek de bilinmeyen, basit bir kabiliyettir. Biraz da Spring’in gölgesinde kalmıştır diyebiliriz. Sonuçta ServiceLoader ile sunulan kabiliyeti de kapsayan ve çok daha fazlasını sunan bir IoC container’ınız varsa uygulama içerisinde farklı servis gerçekleştirimlerini dinamik olarak yükleme ve kullanma ihtiyacı için Spring ApplicationContext içerisinde bean tanımlamak çok […]

JPA/Hibernate Pratikleri ve Püf Noktaları

Yaklaşık 2004 yılından bu yana önce Hibernate sonra da JPA üzerinde çalışıyorum. O dönemden bu yana pek çok projenin geliştirilmesinde görev aldım, danışmanlık ve mentörlük yaptım. Yıllar önce Ted Neward, ORM teknolojilerini bilgisayar bilimlerinin Vietnam’ına benzetmişti ve bunda da çok haklıydı. Eğer genel olarak ORM çözümleri, özelde de JPA/Hibernate ile ilgili sağlam bir teorik bilgiye […]

Eclipse Package Explorer’da Font Büyüklüğü

Uzun zamandır geliştirme platformu olarak Eclipse/Spring Tool Suite’i tercih ediyorum ve Kurumsal Java Eğitimleri’mizde de bunu kullanıyorum. Eğitimler sırasında Eclipse içerisinde açılan editor’lerin fontlarını Window>Preferences>Appearance>Colors and Fonts bölümünden değiştirebiliyoruz. Ancak geçen bir eğitimde projeksiyon cihazının netlik probleminden dolayı Package Explorer’daki paket, sınıf ve dosya isimlerinin de fontlarını büyütmek gerekti. Eclipse’in ayarlarını biraz kurcaladıktan sonra böyle […]

Online Eğitim Hazırlama Tecrübeleri

Bu blog yazımda size online eğitim hazırlama tecrübelerimden bahsedeceğim. Yaklaşık 3.5 ay önce Udemy’de yayınlanmak üzere bir online eğitim hazırlama işine giriştim. Bu hafta itibari ile Spring Boot 2.0 ile Dinamik Web Uygulamaları isimli eğitimimiz Udemy platformundan yayına girmiş bulunuyor. Nasıl bir ortam kurdum, eğitim içeriklerini nasıl hazırladım, kayıtları nasıl gerçekleştirdim, Udemy tarafındaki süreç nasıl […]

İnternet ve 25 Yıl

Türkiye’de İnternet bağlantısı ilk olarak 12 Nisan 1993 yılında ODTÜ ve Tübitak’ın birlikte yürüttüğü bir proje ile sağlanıyor. Yani İnternet ile tam 25 yıl geçmiş. Ben de bu 25 yılın neredeyse 24 yılına bir Internet kullanıcısı olarak şahitlik ettim. İnternet ile ilk tanışmam Eylül-Ekim 1994’e dayanır. ODTÜ’ye geldiğim ilk yıl 1. ve 2. yurtlardaki bilgisayar […]

ServiceLocator’dan Inversion of Control’e Yolculuk

Harezmi Bilişim Çözümleri olarak 7 seneden fazla bir zamandır Spring Application Framework ile ilgili eğitimler veriyoruz. J2EE’nin ilk dönemlerinde kurumsal Java uygulamaları geliştirilirken kullanılan  ServiceLocator örüntüsünün nasıl IoC veya Dependency Injection’a doğru evrildiğini anlamanın Spring Application Framework’ün özünü ve temel felsefesini anlamak için çok faydalı olduğunu düşündüğümüz için de eğitimelerimizde Spring’i anlatmaya bu konu üzerinden […]