hkucuk

Kategori: Yazılım

Yazılım Entropisi: Karmaşıklığın ve Bozulmanın Birleşimi

17 Ağustos 2023 • ☕️ 5 dk okuma • 🏷 bilgisayar, yazılım

Yazılım geliştirme, günümüzün hızla dijitalleşen dünyasında kritik bir öneme sahiptir. Ancak yazılım projelerinin yaşam döngüsü boyunca karşılaştığı zorluklar ve sorunlar, yazılımın zaman içinde nasıl bozulabileceğini ve karmaşıklığın nasıl artabileceğini göstermektedir. Yazılım entropisi, yazılımın karmaşıklığının ve bozulmasının artışına işaret eden bir terimdir.

Bellman–Ford Algoritması

12 Ağustos 2023 • ☕️ 3 dk okuma • 🏷 bilgisayar, yazılım, algoritma, graf

Bellman-Ford algoritması, ağırlıklı (weighted) graf içindeki en kısa yol problemini çözmek için kullanılan bir algoritmadır. En kısa yol problemi, bir başlangıç noktasından hedef noktaya en kısa yolun bulunması problemidir. Bellman-Ford algoritması, olası tüm yol kombinasyonlarını inceleyerek en kısa yolu bulur.

Bogo Sort - Saçma Sıralama

28 Temmuz 2023 • ☕️ 3 dk okuma • 🏷 bilgisayar, yazılım, algoritma, sıralama

Bogo Sort (Saçma sıralam veya Permutation Sort olarak da bilinir), sıralanması gereken bir diziyi rastgele permütasyonlar oluşturarak doğru sıralama bulunana kadar karşılaştırmalar yaparak sıralamaya çalışan, son derece etkisiz ve rastgele bir sıralama algoritmasıdır.

Interpolation Arama Algoritması

12 Temmuz 2023 • ☕️ 3 dk okuma • 🏷 bilgisayar, yazılım, arama

Interpolation Arama, sıralı bir dizide hızlı bir şekilde arama yapmak için kullanılan bir arama algoritmasıdır. Bu algoritma, binary search gibi sıralı dizilerde çalışırken, aranan değeri bulmak için tahmini bir konum belirlemeye dayanır.

Bloom Filtresi [Veri Yapıları]

14 Haziran 2023 • ☕️ 7 dk okuma • 🏷 bilgisayar, yazılım, algoritma, veri-yapıları

Bloom Filtresi, veri yapıları içinde sıklıkla kullanılan ve özellikle veri arama işlemlerini hızlandırmak için kullanılan oluşturulabilir bir olasılık tabanlı veri yapısıdır. Bu veri yapısı, elemanların varlık durumunu (var olma veya yok olma) hızlı bir şekilde ve düşük bellek kullanımı ile kontrol etmek için kullanılır.

Knuth-Morris-Pratt (KMP) Algoritması

21 Nisan 2023 • ☕️ 3 dk okuma • 🏷 bilgisayar, yazılım, arama

Knuth-Morris-Pratt (KMP) algoritması, bir metin içinde verilen bir deseni (pattern) arama amacıyla kullanılan etkili bir dize arama algoritmasıdır. Özellikle büyük metinlerde veya metin koleksiyonlarında hızlı bir şekilde desen aramak için tercih edilen bir algoritmadır. KMP algoritması, özellikle veri sıkıştırma, metin düzenleme, veritabanı sorgulamaları ve genel olarak metin işleme alanlarında kullanılır.

Yazılımcıların Bilmesi Gereken Prensipler

23 Ocak 2023 • ☕️ 6 dk okuma • 🏷 bilgisayar, yazılım

Yazılım geliştirme dünyası hızla ilerliyor ve bu hızlı ilerleyiş, geliştiricilerin daha fazla sayıda proje üzerinde çalışmasını gerektiriyor. Ancak, yazılım geliştirirken, belirli prensiplere uymak, kodun daha okunaklı, yeniden kullanılabilir ve bakımı yapılabilir olmasını sağlamak açısından son derece önemlidir. Bu nedenle, yazılım geliştirme sürecinde sık kullanılan bazı prensipler mevcuttur.

SOLID - Dependency Inversion Principle

4 Eylül 2022 • ☕️ 4 dk okuma • 🏷 bilgisayar, yazılım, solid

Dependency Inversion Prensibi (DIP), nesne yönelimli programlama (OOP) prensiplerinden biridir. DIP, yazılım geliştirme sürecinde, birbirine bağımlı sınıfların oluştuğu ve bu sınıfların birbiriyle sıkı bir şekilde ilişkili olduğu durumlarda, bu bağımlılıkların tersine çevrilmesini ve bağımlılıkların daha az sıkı hale getirilmesini önerir.

1234567