Kayıtlar

Şubat, 2022 tarihine ait yayınlar gösteriliyor

Encoding / Decoding

Resim
Atalarin encoding'i Programlar genelde veriyi 2 sekilde kullanir: 1. In-memory : bilgisayar hafizasinda list, dictionary, ya da custom class olarak tutulut. Bu veri yapilari direk olarak CPU tarafindan erisilmek ve manipule edilbilmek uzere optimize edilmis olurlar.  2. Byte array : Datayi diske yazmak istedigimizde ya da network uzerinden transfer etmek istedigimizde, bir sekilde byte dizesi haline getirmemiz gerekir.  Iste hafizada duran verilen byte dizisi haline getirilmesi islemine encoding (marshalling ya da seializasyon da denilir) adi veilir. Byte arayindan tekrar hafiza tiplerine donustumek de decoding olarak adlandirilir. (benze sekilde Unmarshalling veya deseializasyon da denilebili). Peki hafizada tutulan verilei ne sekilde serialize edebiliriz? 1. Dil destekli encoding Mesela python icin pickle, Java icin java.io.Serializable, Ruby icin marshall formatlarinda dil tarafindan desteklenen encoding olanaklari vardir. Bir python class'ini ya da arrayini kolayca pickle&#

Play, Scala, sbt, Shading

Resim
Buyuk resmi gor yigenim. Gelin birlikte sifirdan bir scala ve sbt kullarak, multi project bir yapida Play projesi olusturalim. 1. Play  Play, JVM'de kabul gormus bir web application framework'u. Ilk baslangicta, kendi basina calisacak cok basit bir Play projesi olsutralim. IntelliJ kullaniyorum, yeni bir sbt projesi  olustuyorum. Daha sonra build.sbt uzerinde su sekilde eklemeler yapacagiz:      name := "play-standalone"      version := "0.1"      scalaVersion := "2.13.8"    lazy val root = (project in file ( "." ))      .enablePlugins( PlayScala )      .settings(      name := """cok sukseli api projesi""" ,      organization := "com.lombak" ,      version := "1.0-SNAPSHOT" ,      scalaVersion := "2.13.6" ,      libraryDependencies ++= Seq (      guice ,      "org.scalatestplus.play" %% "scalatestplus-play" % "5.0.0&qu