My Profile Photo

Mehmet Cem Yücel


Technical Writings.
Architecture, Security, Java, Golang, Devops, Microservices, Spring Boot, Kafka, Distributed Systems and Blockchain


  1. 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. …


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

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

    Bir yazılımcının bilmesi gerekenler konulu Twitter’daki paylaştığım bir flood’u rica üzerine bloguma da ekliyorum. İyi okumalar… …


  3. 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 12 Factor manifestosunu detaylı bir şekilde irdelemeye ve mümkün olduğunca Java dünyasından örneklerle açıklamaya çalışacağız. …


  4. 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. …


  5. 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 hani nerede çağırmaya çalıştığın getter setterlar gibisinden bir endişe ile ortalığı kırmızı uyarılara boğacaktır. …


  6. 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. …


  7. Spring Boot Devtools ile Docker Üzerindeki Kodu Debug Etme ve Değiştirme

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

    Şu cümleyi mutlaka duymuşuzdur ya da bizzat söylemişizdir; “Ama benim makinemde çalışıyordu!”. Kodumuz kendi makinemizde çalışırken test ortamına gittiğinde çalışmamasının sebebi acaba neydi? Cevap: Kod aynıydı, ama ya gerisi? …


  8. Spring Boot ile SLF4j ve Log4j Loglama Altyapısı

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

    Sıfırdan bir proje yazmaya başladığımızda ele almamız gereken bir düzine konu mevcut. Güvenliği, loglaması, mesajlaşması, servis altyapısı bir çırpıda aklımıza gelenler. Bugün bu kalemlerden birisi olan hata loglama altyapısını kurgulama hakkında karalayacağım. Konumuz bir loglama frameworkünü tanıtmak olmayacak, bu tarz yazıları çokça yerde bulmak mümkün. Biz daha çok bir Spring Boot projesinde loglama yapısı oturtmaya çalıştığımızda nelere dikkat etmeliyiz sorusunun cevaplarını adım adım birlikte bulacağız. …


  9. FSMV Üniversitesi Blockchain Sunumu

    https://cdn-images-1.medium.com/max/150/1*FOSTit_q9bjS-26yrO9CSg.jpeg


  10. Türkçe Solidity Dersleri -2- Fee, Gas Kavramları

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

    Geliştirme ortamını tanımaya başlamadan önce ilk derste bahsettiğimiz ama biraz daha derinlemesine bahsetme ihtiyacı duyduğum konu ile devam edeceğiz. Bu konu fee’ler ve hesaplanması. …