Scala for Backend Engineering & Functional Programming · Ders

Bağımlılık Yönetimi ve Eklentiler

Harici kitaplıkları yönetin, bağımlılıkları bildirin ve derleme işlevlerini genişletmek için SBT eklentilerinden yararlanın.

2. ders / 311 adım

Bağımlılık Yönetimi ve Eklentiler, CoddyKit'te ücretsiz bir Scala for Backend Engineering & Functional Programming dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Scala for Backend Engineering & Functional Programming öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Scala for Backend Engineering & Functional Programming kursu toplamda 3 dersten oluşur.

Harici Kütüphaneler Neden Kullanılır?

Scala projeleri oluştururken genellikle temel dilin parçası olmayan işlevlere ihtiyaç duyarsınız. Günlükleme, veritabanı erişimi veya web çatılarının kullanımı yaygın örneklerdir.

Tüm bu kodu kendiniz yazmak yerine harici kütüphaneleri (bağımlılıklar olarak da adlandırılır) kullanabilirsiniz. Bunlar, diğer geliştiricilerin oluşturup paylaştığı, önceden yazılmış kod paketleridir.

build.sbt'ye Kütüphane Ekleme

SBT, bu harici kütüphaneleri eklemeyi kolaylaştırır. Bunları libraryDependencies ayarını kullanarak build.sbt dosyanızda bildirirsiniz.

Temel sözdizimi şöyledir:

  • "org.group": Kuruluş veya grup kimliği.
  • % "artifact": Yapıt kimliği (kütüphane adı). Scala kütüphanelerinde, Scala sürümünüzle otomatik olarak eşleşmesi için %% kullanın.
  • % "version": İstediğiniz kütüphanenin belirli sürümü.

Örnek:

libraryDependencies += "org.slf4j" % "slf4j-simple" % "1.7.32"

Bağımlılık Kapsamları: Derleme ve Sınama

Kütüphaneler projenizin yalnızca belirli bölümleri için gerekli olabilir. SBT bunu yönetmek için kapsamları kullanır.

  • compile (varsayılan): Ana kodunuzu derlemek ve çalıştırmak için gereklidir.
  • test: Yalnızca sınama kodunuzu derlemek ve çalıştırmak için gereklidir (örneğin ScalaTest gibi bir sınama çatısı).
  • runtime: Derleme için gerekli değildir ancak uygulama çalışırken gerekir.

Kapsamı şu şekilde belirtirsiniz:

libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.16" % "test"

Bağımlılıkları Otomatik Getirme

Kullandığınız bir kütüphanenin, örneğin bir web çatısının, kendisinin de başka kütüphaneleri kullandığını düşünün. Bunlara geçişli bağımlılıklar adı verilir.

SBT, tüm bu dolaylı bağımlılıkları sizin için otomatik olarak getirir. Bir kütüphane eklediğinizde SBT, kütüphanenin kendi bağımlılıklarını bulur ve bunları da indirerek projenizin ihtiyaç duyduğu her şeye sahip olmasını sağlar.

Bu sayede onlarca kütüphaneyi elle takip etmek zorunda kalmazsınız!

SLF4J ile Günlükleme

Yaygın bir günlükleme kütüphanesi olan SLF4J'yi (Java için Basit Günlükleme Arayüzü) basit uygulamasıyla kullanalım. Önce onu build.sbt dosyanıza ekleyin:

libraryDependencies += "org.slf4j" % "slf4j-simple" % "1.7.32"

Şimdi, çalışmasını görmek için aşağıdaki Scala kodunu çalıştırın. Yeni bağımlılığımızdan gelen org.slf4j.LoggerFactory öğesini içe aktardığımıza dikkat edin.

import org.slf4j.LoggerFactory

object Main {
  private val logger = LoggerFactory.getLogger(getClass.getName)

  def main(args: Array[String]): Unit = {
    logger.info("Hello from a logged message!")
    println("This is a standard print output.")
  }
}

SBT'yi Eklentilerle Genişletme

Kütüphaneleri yönetmenin yanı sıra SBT'nin kendisi de eklentiler kullanılarak genişletilebilir. Eklentiler, SBT'ye yeni komutlar veya ayarlar ekleyen özel JAR dosyalarıdır.

Örneğin uygulamaları paketlemek, sunuculara dağıtmak veya kod biçimlendiriciler gibi belirli araçlarla tümleştirmek için eklentiler vardır.

Yaygın görevleri otomatikleştirmeye ve geliştirme iş akışınızı kolaylaştırmaya yardımcı olurlar.

Eklentileri plugins.sbt'de Bildirme

build.sbt dosyasına eklenen normal bağımlılıkların aksine SBT eklentileri özel bir dosyada, project/plugins.sbt içinde bildirilir. Bu dosya, SBT projenizin kök dizinindeki project dizininin içinde bulunur.

Sözdizimi bağımlılıklara benzer, ancak addSbtPlugin kullanırsınız:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.1.1")

Bu, SBT'ye belirtilen eklentiyi projeniz için indirip etkinleştirmesini söyler.

sbt-assembly ile Şişman JAR Oluşturma

Yaygın kullanılan eklentilerden biri sbt-assembly'dir. Uygulamanızın kodunu ve tüm bağımlılıklarını içeren, çalıştırılabilir tek bir "şişman JAR" oluşturur.

Önce eklentiyi project/plugins.sbt dosyasına ekleyin:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.1.1")

Ekledikten sonra JAR'ı oluşturmak için terminalinizden sbt assembly komutunu çalıştırabilirsiniz. Aşağıdaki Scala kodu, sbt-assembly'nin paketleyeceği koddur.

object Main {
  def main(args: Array[String]): Unit = {
    println("This is a simple application.")
    println("sbt-assembly would package this along with its dependencies into a single JAR.")
  }
}

Sürüm Yönetimi ve Çözümleyiciler

Projeniz büyüdükçe çok sayıda bağımlılığı yönetmek zorlaşabilir. İşte bazı ipuçları:

  • Tutarlı Sürümler: Çakışmaları önlemek için tüm modüllerde bir kütüphanenin aynı sürümünü kullanın.
  • Çözümleyiciler: SBT kütüphaneleri depolardan (örneğin Maven Central) getirir. Bir kütüphane varsayılan depolarda yoksa özel çözümleyiciler ekleyebilirsiniz.

SBT, varsayılan olarak standart herkese açık depoları kullanır. Özel kütüphaneler için build.sbt içinde özel bir çözümleyici belirtirsiniz.

Adımları Sıralayın

Scala projenize yeni bir harici kütüphane eklemek ve onu kullanmak istiyorsunuz. Aşağıdaki adımları doğru sıraya koyun.

Ders Özeti

Tebrikler! Scala projelerinizde harici kodu nasıl yöneteceğinizi öğrendiniz.

  • Bağımlılıklar (kütüphaneler), libraryDependencies kullanılarak build.sbt dosyasına eklenir.
  • SBT, geçişli bağımlılıkları yönetir ve farklı kapsamları (örneğin compile ve test) destekler.
  • Eklentiler, SBT'nin işlevlerini genişletir ve addSbtPlugin kullanılarak project/plugins.sbt içinde tanımlanır.

Bağımlılıkları ve eklentileri yönetme konusunda uzmanlaşmak, karmaşık ve sağlam Scala uygulamalarını verimli bir şekilde oluşturmanın anahtarıdır!

Başlamak ücretsiz

Yapay zeka eğitmeniyle Scala öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
39
Dersler
143

Sıkça Sorulan Sorular

“Bağımlılık Yönetimi ve Eklentiler” dersi ücretsiz mi?

Evet — “Bağımlılık Yönetimi ve Eklentiler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Scala for Backend Engineering & Functional Programming kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Scala for Backend Engineering & Functional Programming kursu toplamda 3 dersten oluşur.

“Bağımlılık Yönetimi ve Eklentiler” dersinde ne öğreneceğim?

Harici kitaplıkları yönetin, bağımlılıkları bildirin ve derleme işlevlerini genişletmek için SBT eklentilerinden yararlanın. Scala for Backend Engineering & Functional Programming ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Scala for Backend Engineering & Functional Programming öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Scala for Backend Engineering & Functional Programming, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.

“Bağımlılık Yönetimi ve Eklentiler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Scala for Backend Engineering & Functional Programming dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Scala for Backend Engineering & Functional Programming dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. SBT Projesi Kurulumu ve Temelleri
  2. Bağımlılık Yönetimi ve Eklentiler
  3. Çok Projeli Derlemeler ve Dağıtım
← Scala for Backend Engineering & Functional Programming Sayfasına Dön