My Profile Photo

Mehmet Cem Yücel


En yalın haliyle paylaşım platformu
Java Cloud Mikroservis Spring Boot NoSQL Kafka Dağıtık Sistemler Big Data ve Blockchain hakkında karalamalarım


  1. Spring ve Java Hantal Mı - GraalVM ve Quarkus’a Giriş

    https://miro.medium.com/max/150/0*mf0v1GtnXoEpVUN9.jpg

    Java yaklaşık 20 yıl önce ilk defa ortaya çıktığında büyük bir probleme çözüm getirme vaadiyle yazılımcıların dikkatini çekmişti. Vaat şuydu, bir yazılımcı farklı mimarilere sahip donanımların nasıl çalıştığını bilmesine gerek kalmayacaktı. Ve bütün bu ortamlar için ayrı ayrı kod yazmayacak, tek kod tüm ortamlarda çalışabilecekti. Bunu “Write once, run anywhere” mottosuyla… …


  2. MapStruct ile SpringBoot Obje Dönüşümü

    https://miro.medium.com/max/150/1*9DhTKcVmIApp1AXoGZ4A4A.png

    Kodlama yaparken ihtiyaç duyduğumuz bilgileri nesnelerimizin içerisindeki alanlarda tutarız. Nesneye dayalı programlama paradigmasına göre yaptığımız tüm tasarımlar dış dünya ile iletişim noktasına geldiğimizde birebir örtüşmeyebilir. Devraldığınız bir projede tasarladığınız bir POJO(Plain Old Java Object)… …


  3. JUnit - @Rule ve @ClassRule Annotationları

    https://cdn-images-1.medium.com/max/150/0*PI13arzqtcC-oXBh.jpg

    Bugün birim test(unit test) ve entegrasyon testleri(integration test) yazıyorsanız hayatınıza renk katacağını inandığım bir konuyu kaleme alacağım. Junit4’te var olan ancak az bilinen @Rule ve @ClassRule annotationlarının ne olduklarını ve bunlarla neler yapabileceğimizi örneklerle incelemeye başlayalım. …


  4. Spring Boot Rest Servis Entegrasyon Testi

    https://lh3.googleusercontent.com/Esv5RJA-BRT4PJcyjrApSFqRVLpDxef7CAd5oEgVEZao785R8GKuG-NKbQduwGCms0_RitOF_s8=s150

    Hepimiz Rest servisleri uygulamalarımızda yoğun olarak kullanıyoruz. Peki, bu servislerin entegrasyon testlerini yazarken sıklıkla yapılan o hataya siz de düşüyor olabilir misiniz? Bugün bir Spring Boot uygulamasında Rest servislere 2 farklı test yazımını inceleyeceğiz. Birisi gerçekten bir integration testi, diğeri de tüm Spring Context’ini ayağa kaldırarak yapılan uçtan uca testi örnekleyecek. …


  5. Mikroservisler-Service Mesh Nedir

    https://cdn-images-1.medium.com/max/150/0*FhgA8Ersxk6Tr40r.jpg

    Service Mesh tanımı; cevabında sidecar proxy, service discovery, orchestration framework, load balancing, circiut breaker pattern gibi konuları barındıran kavram. İlk cümle her ne kadar kompleks gelse de en yalın haliyle anlatmaya çalışacağım. …


  6. Bir Yazılımcının Bilmesi Gereken 15 Madde

    https://cdn-images-1.medium.com/max/150/1*8uAU58KQ17hL28KJhTA1dA.jpeg

    Twitter’daki paylaştığım bir flood’u rica üzerine bloguma da ekliyorum. İyi okumalar… …


  7. 12 Factor Nedir Türkçe ve Java Örnekleri

    https://cdn-images-1.medium.com/max/150/1*A0OnarMzmEUJWQeHTHCgig.png

    12 Factor, ölçeklenebilir cloud uygulamaları geliştirebilmek için bir uygulamada olması önerilen 12 maddeyi tanımlayan bir manifestodur. Heroku’nun kurucularından Adam Wiggins tarafından 2012 yılında ortaya atılmıştır. Orjinal metinlere 12factor.net ve buradan(Türkçe) adreslerinden erişilebilir. Bugün aşağıdaki 12 Factor manifestosunu detaylı bir şekilde irdelemeye çalışacağız. …


  8. Spring Boot Property’lerini Jasypt ile Şifrelemek

    https://cdn-images-1.medium.com/max/150/1*9oEKN6s0vnoxVTmjuFgymw.png

    Bir Spring Boot projemiz var. Projemize ait application.properties dosyasının içerisinde veritabanına bağlanırken kullandığımız kullanıcı adı/şifre gibi hassas bir veri var. Bu verinin açık olarak dosyada durması bir problem, güvenlik açığı teşkil ediyor. Bugünkü yazımız böyle hassas bilgilerin encrypted bir şekilde saklanabilmesi için Jasypt kütüphanesi ile Spring Boot properties’i birlikte nasıl kullanabileceğimiz hakkında olacak. …


  9. Peki Lombok'u Nasıl Kullanacağım?

    https://cdn-images-1.medium.com/max/150/1*v_NiWtOaQEt5plnvrPLf_g.jpeg

    Projelerimde artık olmazsa olmaz haline gelen Lombok’u Spring Tool Suite veya Eclipse’e nasıl entegre edileceğinden bahsedeceğim. Çünkü Lombok kullanılarak yazılmış bir projeyi kendi Lombok entegre edilmemiş bir IDE ile açmaya çalıştığınızda her yer hata kaynıyor olacaktır. Lombok aslında şunu yapar: kodunuz compile edileceği aşamada annotationlar ile işaretlediğiniz yerlere(classlar, değişkenler, metodlar vs) spesifik kod parçaları ekler. Örneğin @Data annotationını gördüğü classın içerisine getter/setter’ları ekler; equals, hashcode metodlarını düzenler. Aslında sizin yazdığınız bir getter setter yoktur, ancak diğer sınıflar o getter setterları kullanabilmeye başlar. Eğer IDEnizin startupına Lombok’u eklemezseniz IDEniz doğal olarak şaşıracak ve… …


  10. Spring Boot Projesini Maven ile Dockerize Etmek

    https://cdn-images-1.medium.com/max/150/1*nxoL5MIJYyvW60mkAPZpLw.jpeg

    Bu yazımızda Spotify Maven Plugin’ini kullanarak Spring Boot projemizden Docker imajımızı yaratacağız. …