Etiket: Hexagonal
-
Yapay Zeka İle Uygulama Geliştirme
Yapay zekayı genellikle işimde bana yardımcı olması için kullanıyorum. ChatGPT’nin aylık aboneliği, GitHub Copilot gibi araçlarla üzerinde çalıştığım projelerde daha hızlı iş çıkarmak ve yorucu kısımları yapay zekanın halletmesini izlemek oldukça keyif vericiydi. Ancak yakın zamanda OpenAI, ChatGPT için o1-preview’ı duyurdu. Ve bu bazı şeyleri ufakta olsa değiştirdi. Bir uygulamanın başlangıcını ve çoğu detayını kendim…
-
CloudFlare Ücretsiz SSL
Tarayıcıların dayatması ve güvenlik için gerçekten önemli olan SSL zorunluluğundan sonra patlayan Let’s Encrypt furyası insanların ücretsiz SSL sertifikasına erişimini kolaylaştırdı. Ancak bazı firmalar bu ücretsiz olan SSL sertifikası Let’s Encrypt’i bile müşterilerine ticari olarak sunmaya başladı. Erişiminizin kısıtlı olduğu sunucularda -hosting kullanıyorsanız- Let’s Encrypt ile ücretsiz SSL sertifikasını size servis sağlayıcınızın tanımlaması gerekiyor. Bazı…
-
Tersine Mühendislik İçin Hangi Araçlar Kullanılır?
Tersine mühendislik konusunda çok tecrübeli değilim. Hatta hobi olarak bile yapıyorum diyebilirim. Tamamen keyfi olarak yaptığım bu işte kullandığım araçlar hakkında yeni başlayacaklara bir fikir olması açısından bu yazıyı yazıyorum. (Çok zaman ayırdığım bir hobim olmadığı için bazen bu popüler araçların adını dahi unutabiliyorum 😂 Genel olarak, başlangıç noktasında WireShark ya da TCPDump kullanarak network…
-
Laravel GroupBy Hatası
Laravel groupBy hatası Laravel Eloquent ORM kaynaklı bir hata olarak karşımıza çıkıyor. Laravel Eloquent ORM, birçok veritabanı işlemini yazılım geliştiriciler için kolaylaştırmayı hedefliyor ve güvenlikle ilgili sorunları yaşanmadan engellemeyi amaçlıyor. Ancak bazı durumlar var ki, yazılım geliştirme sürecinde, varsayılan ayarlar geliştiricilere sorunlar yaşatabiliyor. Bunlardan en yaygın olanı Laravel groupBy hatası. Bu sorunu çözmek için Laravel’in…
-
Git ve GitHub Farkı
Git ve GitHub’ın farklı şeyler olduğunu biliyorum, hemen “elmayla armutu mu kıyaslıyor” demeyin. Mesele benim bilmem değil. Mesele bunun farkını bilmeyenlerin öğrenebilmesi. Git nedir? Git, Linux’un çekirdeğini geliştiren kişi olarak bildiğimiz Linus Torvalds tarafından BitKeeper ile yaşanan anlaşmazlıklar sonucunda ortaya atılmış bir yazılım olarak geçiyor. Temelleri 7 Nisan 2005 tarihinde ortaya atılmış. Aslında Monotone ile…
-
MySQL Enum nedir?
Veritabanında Enum türünde bir sütun oluşturmak için aşağıdaki söz dizimini kullanırız; Enum kullanımı veri bütünlüğü ve sınırlamalar sağlamakta çok kullanışlıdır. Belirli değer setlerini sınırlamasının yanı sıra indekslere dayalı bir depolama sağladığı için performans açısından da avantaj sağlayabilir. Ancak yanlış kullanımlar performans sorunlarına, beklenmeyen sonuçlara ya da ölçeklenebilirliğe zarar verebilir. Neden Enum kullanmamalıyım? Yanlış kullanımla ortaya…
-
Neden MariaDB?
Öncelikle MariaDB’nin ne olduğunu bilmemiz gerekiyor. MariaDB, MySQL geliştiricilerinin, MySQL’in Oracle tarafından satın alındıktan sonra dağıtım ve lisanslama da ortaya çıkacak ticari endişeler sebebiyle ortaya çıkmış. O zamandan beri iki uygulama birbirinden ayrı geliştirme sürecinden geçmiştir. Ayrı geliştirme süreçlerinden geçmelerine rağmen aynı altyapıyı kullanmaya devam ediyorlar; veri ve tablo tanımlama dosyaları, aynı client protokolü (TCP),…
-
Hexagonal Design Pattern Nedir?
Hexagonal Architecture ya da Ports and Adapters Architecture olarak da bilinen, portlar ve adaptörler aracılığıyla yazılım ortamlarına kolayca bağlanabilen loosely coupled uygulama componentleri (bileşenleri) oluşturmayı amaçlayan bir mimari modeldir. Bu, componentleri (bileşenleri) herhangi bir seviyede değiştirilebilir hale getirir ve test otomasyonunu kolaylaştırır. Hexagonal’in konsepti, input ve outputları tasarımın çevresine yerleştirmektir. İş mantığı (business logic), REST…
-
MVC ve Hexagonal tasarım deseni arasındaki temel farklar nelerdir?
MVC (Model-View-Controller) ve Hexagonal (Ports and Adapters olarak da bilinir) mimari kalıplarının her ikisi de yazılım geliştirmede sürdürülebilirlik ve ölçeklenebilirlik için kodu düzenlemek amacıyla kullanılan tasarım kalıplarıdır. Ancak farklı odak noktaları ve yapıları vardır. Önce bu tasarım desenlerini tanıyalım. MVC (Model-View-Controller) MVC (Model-View-Controller), bir uygulamayı birbirine bağlı üç bileşene ayıran bir yazılım mimari modelidir. Controller,…