Java Ekosistemi Mayıs Ayı Notları(2024)

Nesrin Asan
3 min readJun 7, 2024

--

AI

Yukarıdaki başlıktan Java ekosistemi ile ilgili gelişmelerden bahsedeceğim gibi duruyor ki öyle olacak ama ben bu seriyi yaparken özellikle AI dünyasındaki gelişmelerden de bahsetmeyi önemli buluyorum. Çünkü tüm dünya büyük bir hızla AI’a yönlenirken Java ve framework ’leri de buna kayıtsız kalamaz :) O nedenle öncelikle geçen ayın baya gündem olan konusundan bahsedebiliriz. OpenAI “Amiral Gemisi” olarak tanımladığı chatGPT 4o’yu duyurdu. Zeka olarak GPT4 seviyesinde ama daha hızlı ve apileri de daha ucuz :) Özellikle sesli yanıt konusunda baya başarılı olduğunu söyleyebilirim. Ortamdaki diğer insan seslerini algılamaması, bir insanla konuşur gibi sözünü kestiğinizde sergilediği tavır vs baya iyiydi. E tabi en önemli özelliklerden biri de Simultane çeviri konusunda baya yetenekli olacağı. Google meet, zoom gibi araçlara otomatik çevir butonu konulması an meselesidir diyebilirim :)

Spring AI

Spring AI tabiki 4o’ya entegre olabileceğimiz yeni bir sürümünü jet hızıyla yayınladı. En yakın zamanda test edeceğim. Özellikle maliyet konusunu çok merak ediyorum gerçekten. Ek olarak vektör db entegrasyonu yaparak çeşitli vector database ’ler ile çalışma imkanı da sunuyor Spring AI. bir vektör database ile çalışırken en önemli noktalardan birisi de vektörü çıkarmaktır. Bunu için bir model algoritması üzerinde çalışıp sisteminize entegre edip vektörleri çıkarabilirsiniz. Ama şuan bu kadarını bilmiyorsanız OpenAI apisini kullanarak istediğiniz girdinin vektörünü rahatça çıkarabilirsiniz. Spring AI üzerinden vektör search’te yapabiliyorsunuz. Şuan için RAG modeli ile çalışan yapısı mevcut. yani siz search yapmak istediğiniz içeriği(örneğin kırmızı pantolon) yazıyorsunuz. ve sizin için bu içeriğin vektörü alınıyor. database’den uygun olan data/datalar çekiliyor ve tekrar anlamlı bir veri halinde son kullanıcıya sunuluyor. Ancak SpringAI tarafında şuan için direkt bir vektör search araması yapılmıyor. Eminimki onu da en kısa zamanda eklerler.

Hibernate

O kadar vektör search falan demişken Hibernate ’ten de bir haber paylaşalım. Hibernate Search 7.1.1 Final sürümü yayınlandı. Bu sürümün en önemli özelliklerinden birisi vector search işlemlerine de izin veriyor olması. Kendisi zaten arka planda lucence alt yapısını kullanıyordu. Artık vector search’te yapılabilecek. Buradan da anlaşılıyorki artık vector/uzay/AI gibi kavramlar hayatımızda sıkça yer alacak.

GralVM

Oracle Labs 0.10.2 versiyonunu yayınladı. Buradaki dikkat çekici özellik ise native build ’lerde POM tipi modüller için native derlemeyi göz ardı etmek oldu. Amaç ise kaynak tüketimini azaltmak. Native image oluşturma süreci, kaynak tüketen bir işlem. Bellek ve CPU kullanımı açısından yoğun bir süreç olduğundan, pom tipi modüller atlanarak sadece gerekli olan ve çalıştırılabilir kod içeren modüller için bu işlem yapılarak kaynak kullanımı optimize edilmiş olacaktır.

Spring

Spring Boot 3.3.0 yayınlandı. Dikkatimi çeken iki başlıktan bahsedebilirim. İlki Spring Boot 3.3.0 sürümü ile gelen Docker Compose desteği, Bitnami Container Images kullanarak geliştirme ortamlarınızda konteyner yapılandırmasını ve yönetimini daha da kolaylaştırıyor.

Bitnami, birçok popüler açık kaynaklı uygulama ve veritabanı için optimize edilmiş ve güvenli konteyner imajları sağlayan bir sağlayıcıdır.

Bir diğer özellik ise aslında Spring Boot 3.3.0 içerisinde de yer alacak olan security tarafında. Spring Security 6.3.0 GA sürümü yayınlandı. Bu sürümde Secure Return Values özelliği bizlere domain seviyesinde objelerimize authorization vermemizi sağlıyor. Konunu detayları için linkini bırakıyorum.

Mayıs ayı özetim bu şekilde. Tüm bu konular ve daha fazlasını JUG ISTANBUL podcast yayınlarımızda konuşuyoruz. Keyifli dinlemeler.

Bug’sız günler :)

--

--