Kategori: Yazılım

  • 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…

    Continue reading

  • 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ı…

    Continue reading

  • 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…

    Continue reading

  • 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…

    Continue reading

  • 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…

    Continue reading

  • 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…

    Continue reading

  • 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),…

    Continue reading

  • 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…

    Continue reading

  • 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,…

    Continue reading