Maruldan CDI 2.0’a ve Bahar Verilerine: Mark Paluch ile bir söyleşi

Portakalkafa

Global Mod
Global Mod
Java topluluğunda, Java Spesifikasyon İsteklerine (JSR) ve açık kaynak projelerine katılarak geliştirmeyi yönlendirmeye devam eden birçok ilginç insan var. Bazılarını burada yavaş yavaş tanıtmak ve kendileriyle projelerinden bahsetmek istiyorum. Bu sefer Mark Paluch ile Marul açık kaynak projesi ve Pivotal’daki yeni sorumlulukları hakkında konuştum.


Thorben Janssen: Mark, bize biraz kendinden bahset. Yazılım geliştirmeye nasıl başladınız ve bugün ne yapıyorsunuz?

Marco Paluch:
İlk başta şef olarak çıraklığın benim için doğru olacağını düşündüm. Sonra bir BT danışmanlık firmasında staj yaptım ve kendimi yazılım geliştirme dünyasına kaptırdım. İşte o an hobimi mesleğe dönüştürdüm.




Spring Data ekibinin geliştiricisi Mark Paluch



Spring Data ekibinin geliştiricisi Mark Paluch



Ben dokuz yaşındayken babam bir Schneider 286 dizüstü bilgisayar aldı ve o zamandan beri bilgisayarlara ilgim var. Birkaç yıl sonra MS-DOS kılavuzunda GW-BASIC listelerini keşfettim. Ve böylece listeleri kopyalamaya ve gerçekte neler olup bittiğini anlamaya başladım. 1998’de C, C++ ve Java öğrenmeye başlayana kadar BASIC ile bir süre böyle devam etti.

Janssen: Java dünyasında olmadığınızda özel olarak ne yaparsınız?

Paluç:
Ben büyük bir Lego hayranıyım ve 6 yaşındaki oğlum Lego ile yeni bir şeyler inşa etmek için her zaman iyi bir sebep. Gençliğimden beri elektroniğe ilgi duyuyorum ve ara sıra örneğin Cadılar Bayramı veya Noel ışıkları için internet üzerinden kontrol edilebilen yakınlık sensörlü elektronik balkabakları yapıyorum.

Janssen: Açık kaynak projesi olan Lettuce’u (Almanca: marul) geliştiriyor ve sürdürüyorsunuz. Bu proje nedir ve sizi bu projeye katılmaya iten ne oldu?

Paluç:
Marul, sürdürdüğüm Redis sürücüsüdür. Proje başlangıçta HTTP kıyaslama aracı wrk’nin yaratıcısı Will Glozer tarafından başlatıldı. Ağ bağlantı kesilmelerini kaldırabilen bir proje için bir Redis sürücüsü arıyordum. Birkaç müşteri vardı ama o zamanlar Marul benim için en iyi seçimdi. O sırada Will projeyi tanıtmayı bırakmıştı ve Lettuce’ta projede ilerlememi engelleyen bazı hatalar vardı. “Hızlı bir şekilde bir hatayı düzeltin” daha sonra sabit bir iş haline geldi.



Janssen: Marul ile deneyiminiz nedir? Başka projelere başlar mıydınız veya katılır mıydınız?

Paluç:
Geriye dönüp baktığımda, proje boş zamanımın önemli bir kısmını aldı. Devam etmemi sağlayan bir deneyim. Özellikle eş zamanlılık ve çoklu kullanım söz konusu olduğunda, Java bellek modelinin birçok yönünü biliyorum. Benim için en keyifli deneyim, diğer geliştiricilerin sürücümü kullanmaya başlayıp bana geri bildirimde bulunmalarıydı. Fark ettim ki, Marul gibi bir Redis sürücüsüne ihtiyacı olan tek kişi ben değilim, benzer ihtiyaçları olan birçok insan var.

Şimdi karım, bu kadar çok çalıştığım ve akşamları bu kadar az vakit geçirdiğim için beni suçluyor. Bu yüzden artık yeni projelere başlamamaya çalışıyorum.

Janssen: Bir süredir Pivotal için çalışıyorsunuz. Nasıl doğdunuz ve şu anda ne üzerinde çalışıyorsunuz?

Paluç:
Marul’a benzer şekilde, Bahar Veri Modülü için hata düzeltmeleriyle başladı. Birkaç küçük ve büyük çekme isteğinden sonra, Pivotal’daki Spring Data ekibiyle doğrudan bağlantı kurdum. İki yıl önce Pivotal’da bir pozisyon açıldı ve ben başvurdum. Başvuru süreci tamamlandıktan sonra Spring Data ekibine katıldım. Ağırlıklı olarak Redis, MongoDB ve Apache Cassandra modüllerinin bakımını yapıyorum, bu yüzden modüller üzerinde ekip olarak birlikte çalışıyoruz. Çalıştığımız şeyde oldukça özgürüz, bu yüzden JPA ve Spring Data REST gibi modüllere de katkıda bulunuyorum. Ekibimiz şu anda Spring Data Kay sürüm treni üzerinde çalışıyor. Spring Data Kay, modüllerin çoğunu 2.0 sürümüne günceller ve bazı değişiklikler getiren büyük bir sürümdür.

Janssen: Yakın gelecekte ne gibi yenilikler bekleyebileceğimiz konusunda bize bir fikir verebilir misiniz?

Paluç:
Spring Data Kay’in temel aldığı Spring 5, Haziran sonu/Temmuz başında piyasaya sürülecek. İlkbahar 5 için en önemli temalar, Java 8 ve Java EE 7’ye geçiş, fonksiyonel reaktif programlama ve Java 9, Java EE 8 ve HTTP/2 için başlangıç desteğidir. WebFlux ile Spring 5, engellemeyen web uygulamaları geliştirmek için işlevsel olarak yanıt veren bir web çerçevesi sunar. Ek olarak Spring 5, JetBrains’in bir JVM dili olan Kotlin için API’lerin kullanımını biraz daha kolaylaştırabilen özel uzantılar sunar. Referans olarak Java 8 ile, API’lerimiz aracılığıyla tam Java 8 desteği sunabiliriz.

MongoDB, Apache Cassandra, Redis ve Couchbase için duyarlı veri erişimi sunuyoruz. Bu, uygulamaların baştan sona yanıt vermesini sağlayarak, engellemeyen sürücüleri ve eşzamansız G/Ç’yi yönetilebilir hale getirir.

Bireysel modüllerde ve küresel olarak da önemli değişiklikler yaptık ve eski sorunları ortadan kaldırmak için Kay’in sürüm trenini kullandık. MongoDB belge API’sine geçmek ve CRUD veri havuzu yöntemlerini yeniden adlandırmak gibi bazı uyumsuz değişiklikler de vardır.

Janssen: Başka hangi projeler üzerinde çalışıyorsunuz?

Paluç:
Her zaman bir şeye ilgi duymuşumdur. Yaklaşık bir yıl önce başka bir müşteri projesine başladım: Spring Vault. Bu, Spring’in bir mikro hizmetler veritabanı şifreleme ve kimlik bilgisi yönetimi hizmeti olan HashiCorps Vault ile entegrasyonudur.

Eşzamansız olayları özellikle belirtebildiğimiz CDI 2.0 JSR’ye (JSR 365) katkıda bulunabildim. CDI 2.0’ın son sürümünü ve tabii ki çalışmalarımızla ilgili geri bildirimleri dört gözle bekliyorum.

Lettuce’taki çalışmam boyunca, ara sıra Jedis Redis sürücüsüne yardım ediyorum. Sonuç olarak, projelerimiz arasında her iki topluma da fayda sağlayan gelişen bir işbirliği gelişti.

Pivotal’ın Reactive Streams uygulaması olan Project Reactor, Spring and Lettuce’un reaktif temelini oluşturur. Reactor, işlevsel-reaktif programlamayı çok yönetilebilir hale getirir. Reactive Streams API, gelecekteki entegrasyonları basitleştiren yakında çıkacak olan Java 9 Flow API’nin bir parçasıdır.

Janssen: Seni nerede bulabilirim?

Paluç:
Genellikle Weinheim’da, aksi takdirde GitHub’da veya Cıvıl cıvıl. Konferanslarda veya Java kullanıcı gruplarında düzenli olarak konuşurum.

Janssen: Röportaj için çok teşekkürler ve Spring, Lettuce ve diğer projelerinde bol şans.


()




Haberin Sonu



 
Üst