İçeriğe geç
parazade

Bağımlılık Nedir?

İngilizce: Dependency

Yayın: · Son güncelleme:

Bağımlılık Nedir? Kısaca

Yazılımda bağımlılık (dependency), bir projenin çalışmak için ihtiyaç duyduğu dış kütüphane, paket ya da modüldür. Bağımlılık eksik ya da uyumsuz sürümde olursa proje derlenmez veya hatalı çalışır.

Bağımlılık nedir?
İçindekiler
  1. Bağımlılık nedir?
  2. Türleri
  3. Sürüm çakışması nedir?
  4. Nasıl yönetilir?

Bağımlılık nedir?

Bağımlılık, kodunuzun kendi başına değil, başka bir yazılım parçasına dayanarak çalışması durumudur. Projenize tarih işlemleri için bir kütüphane eklediyseniz, o kütüphane projenizin bağımlılığı olur. Kütüphane olmadan kodunuz çalışmaz.

Türleri

Doğrudan bağımlılıklar, sizin bilerek eklediğiniz paketlerdir. Dolaylı bağımlılıklar ise bu paketlerin kendi ihtiyaç duyduğu paketlerdir. Örneğin bir web projesine tek bir framework eklemek, arka planda onlarca hatta yüzlerce dolaylı paketi de beraberinde getirebilir.

Bir de geliştirme bağımlılıkları vardır. Test araçları ve kod biçimlendiriciler yalnız geliştirme sırasında gerekir, canlı ortama gönderilmez. JavaScript projelerinde bunlar package.json dosyasında devDependencies başlığı altında ayrı tutulur.

Sürüm çakışması nedir?

İki farklı kütüphane aynı paketin farklı sürümlerini isteyebilir. A kütüphanesi bir paketin 2. sürümünü, B kütüphanesi aynı paketin 3. sürümünü istiyorsa çakışma oluşur. Projeyi kurarken hata alırsınız ya da uygulama beklenmedik biçimde davranır.

Bu sorunun önüne geçmek için sürümler belirli bir kurala göre numaralandırılır. Anlamsal sürümlemede 2.4.1 gibi bir numaranın ilk hanesi uyumu bozan büyük değişiklikleri, ikincisi yeni özellikleri, üçüncüsü hata düzeltmelerini gösterir.

Nasıl yönetilir?

Bağımlılıkları paket yöneticisi ile ekleyin ve kilit dosyasını sürüm kontrolüne dahil edin. Kullanmadığınız paketleri kaldırın, çünkü her bağımlılık güvenlik açığı riskini artırır. GitHub'ın Dependabot gibi araçları, güncellenmesi gereken paketleri otomatik olarak bildirir.

Sıkça Sorulan Sorular

Dependency ne demek?

Dependency, İngilizcede bağımlılık anlamına gelir. Yazılımda, kodunuzun düzgün çalışması için var olması gereken başka bir yazılım parçasını ifade eder.

Dolaylı bağımlılık nedir?

Doğrudan eklemediğiniz, ama eklediğiniz bir kütüphanenin ihtiyaç duyduğu paketlerdir. Bir projede birkaç doğrudan bağımlılık, yüzlerce dolaylı bağımlılık anlamına gelebilir.

İlgili terimler

Paket Yöneticisi(Package Manager)Paket yöneticisi, yazılım paketlerini ve kütüphaneleri tek komutla kurmayı, güncellemeyi ve kaldırmayı sağlayan araçtır. Bir paketin ihtiyaç duyduğu diğer paketleri de otomatik olarak bulup yükler.Kütüphane(Library)Yazılımda kütüphane (library), belirli işleri yapmak için önceden yazılmış ve tekrar kullanılabilir kod koleksiyonudur. Geliştirici, aynı işi sıfırdan yazmak yerine kütüphanenin fonksiyonlarını çağırarak zaman kazanır.Yazılım(Software)Yazılım, bir bilgisayarın ya da akıllı cihazın ne yapacağını adım adım tarif eden programların, verilerin ve talimatların bütünüdür. Donanım fiziksel parçaları, yazılım ise bu parçaları çalıştıran mantığı ifade eder.FrameworkFramework, bir uygulamanın temel yapısını ve çalışma kurallarını hazır olarak sunan yazılım iskeletidir. Geliştirici bu iskeletin içine kendi kodunu yerleştirir; yönlendirme, veritabanı ve güvenlik gibi ortak işler framework tarafından karşılanır.MySQLMySQL, verileri tablolarda saklayan ve SQL diliyle yönetilen açık kaynak kodlu bir ilişkisel veritabanı yönetim sistemidir. Web sitelerinde, özellikle WordPress gibi PHP tabanlı sistemlerde çok yaygın kullanılır.NoSQLNoSQL, verileri sabit tablolar yerine doküman, anahtar-değer, sütun ailesi ya da graf gibi esnek yapılarda saklayan veritabanlarının genel adıdır. Adı "Not only SQL" (yalnızca SQL değil) olarak yorumlanır.

İlgili yazılar

E-Ticaret

Trendyol'da Satış Yapmak: Gerekli Belgeler, Başvuru ve Maliyetler

Trendyol'da satış yapmak için şahıs, limited ya da anonim şirketinin, aktif vergi kaydının, fatura kesme altyapının ve şirket adına banka hesabının olması gerekir. Başvuruyu çevrim içi yapar, onay sonrası ürün yüklersin; kârlılık komisyon ve maliyet hesabına bağlıdır.

· 8 dk okuma
Yapay Zeka ile Kazanç

Kendi Bilgisayarında Ücretsiz Yapay Zekâ Sistemi Kur: Ekran Kartı, İşlemci ve RAM ile Adım Adım

Kendi bilgisayarında ücretsiz ve limitsiz bir yapay zekâ sistemi kurmak mümkün: Ollama ya da LM Studio ile dil modeli, Continue ile kod asistanı, ComfyUI ya da Forge ile görsel üretim. Belirleyici olan ekran kartının belleğidir (VRAM); 8 GB'lık kartta 7-8B modeller rahat çalışır, kart yoksa işlemci ve RAM ile daha yavaş çalışır.

· 30 dk okuma