kakkoyun

kakkoyun

Kemal Akkoyun

https://kakkoyun.me

Türkiye

-.-


0 takip ediyor | 3 takip ediliyor



Rehber: ActiveRecord modellerini projeler arası paylaştırmak ( 3)

Sayin @murat,

Acikcasi bu oruntunun yarardan cok zarar getirecegine inaniyorum. ActiveRecord oruntusu veri tabanina cok bagli, eger veri tabani coklanmayacaksa model katmaninin ayri bir gem olarak ayrimasinin yarardan cok zarari olacagina inaniyorum.

Buradaki aklima gelen bir kac sorun soyle:

1) Gem'i kullanan servisler "Schema migration"'lari hangi hangi sirada ve ne sekilde uygulacaklar? Servisler arasinda senkronizasyon problemleri cikmasi cok olasi. Boyle degisimler soz konusu oldugunda, ayni veritabanini paylasan birden fazla servis var ise hepsinin ayni anda guncellenmesi gerekecek, bunun yaratacagi operasyon yuku cok fazla.

2) Ayni baglamda, sadece kisa sureli bile olsa farkli semaya sahip versiyonlar ayni anda nasil calisacaklar? Olasi hatalar nasil onlenecek? "Zero downtime" guncellemeler nasil yapilacak?

Tabi buradaki tum problemler "tek veri tabani ve birden fazla 'model' katmani" oldugunu varsayiyor. Her servisin kendi veri tabani olacak ve davranislara paylasmak icin boyle bir gem kullanilacaksa bir sorun teskil etmeyecektir.

Fakat senin kullanimin daha cok "tek veritabani ve birden fazla servis" modeline giriyor sanki. Dikkat olmani oneririm.

KAISER, Meltdown, Spectre... Neler oluyor? ( 16)

@murat AWS bu durumu Intel'e fatura etmeli bence 😂

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

Su an calistigim sirkette ana dil olarak kullaniyoruz. Basite indirgemek gerekirse, Erlang, "distributed", "fault-tolerant", "real-time" sistemler tasarlamak icin "functional programming" kavramlarini kullanan bir dil. Elixir'de, Erlang'a birkac eklenti yazilmis, bir dil gibi. En buyuk getirdigi yenilir LISP'e benzer makrolari. Ayrica Erlang Syntax'ini biraz daha sempatik hale getiriyor, "Pipe operator" gibi ufak guzellikler ekliyor.

Cok seveceginizi dusunuyorum. Fonsiyonel programlama ile gercek hayatta web uygulamalari yazmayi inanilmaz kolay hale getirdigi icin pedogojik olarak da isinize yarayacagina inaniyorum.

Benim acimdan program yazmasi gercekten eglenceli ve sayenizde bana sezgisel geliyor.

Sagliniza duaciyim :D

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

Hocam, Elixir hakkinda goruslerinizi bilmek isterim, zamaniniz varsa.

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

Erlang/Elixir, dinamik "runtime"'lar, Ruby/Python/Node'dan, yerine gore ve isine gore hizli gelecektir. Yine yerine gore ve isine gore "garbage collection"'da zaman harcamadagi icin, hafiza yonetimini "garbage collection" ile yapan "runtime"'lardan -mesela JVM tabanli dillerden bile- hizli olacaktir. Ve fakat unutmamak gerekir ki, Erlang Runtime System (ERTS)'de tum veri yapilar "immutable"'dir! Ne kadar senelerdir optimize edilmis bir "runtime"'da olsa, ne kadar da "immutable" yapisi belirli optimizasyonlar icin harika imkanlar saglasa da, dogasi geregi JVM, Go, Rust gibi "runtime"'lardan istatistiksel olarak genelleme yapildiginda daha yavas olacaktir.

Cok guzel orta actigin icin sunu buraya ilistirmek istedim. Ozcesi performans takintili olmamak lazim.

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

Al dursun istersen, ama hali hazirda varolan global elixir-lang.slack.com'da kanal sahibi olmak daha mantikli geliyor :)

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

Slack'te bir #Turkey kanali var ama henuz cevap alamadim :)

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

Gel gel tabi, gaza gelip soyle birsey baslattim, beraber yardiririz :)

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

Platform cok genis bir tanim. Mevzu "her platformda" (mobile, desktop, browser, embedded etc.) kolayca gelistirmek ise, sanirim JavaScript yazman gerekiyor. Son donemde Java'nin baslattigi, "Write once, run everywhere!" felsefesini hayata en guzel geciren JavaScript oldu.

Ama Alan Perlis'in cok guzel bir lafi var;

A language that doesn't affect the way you think about programming, is not worth knowing.

Buradan yola cikarsak Ruby bilen birinin Pyhon ogrenerek hayatina bir katki saglayabilecegini dusunmuyorum.

Senin bahsettigin seceneklerden, o yuzden Elixir ve Go daha degerli bence. Ruby'den sonra derlenen bir dilde gelistirme yapmak inanilmaz bir rahatlik.

Go'yu basitlik felsefesi ve yapisi, kararinda tip sistemi ve "concurreny" modeli icin oneririm. Makineye yakinligi ve hafiza takintisi benim pek asina olmadigim konseptler, bu yuzden ben ogrenmek istedim mesela.

Elixir'i yine basitligi, "parallelism" modeli, tamamen "immutable" hafiza modeli, fonksiyonel programlama paradigmasi ve zarif, mukemmel alt yapisi icin oneririm. Zamaninda @tongucyumruk'un bana Haskell icin soyledigini; (yamulmuyorsam)

Haskell ogrenmek seni daha iyi bir Java programcisi yapar.

Senin icin soyle degistirip soyleyeyim:

Elixir/Erlang ogrenmek seni daha iyi Ruby programcisi yapar.

Son olarak Elixir'de en cok sevdigim sey, dokumantasyon destegi. Elixir dokumantasyon yazimini cok zevkli ve guzel hala getiriyor ve bir nevi dilin karakterine gomuyor. Ozellikle Doctest'ler mukemmel seyler. (Bu Python'da, Rust'ta da var)

Sozun ozu gel seni Elixir'e alalim. Benden sana tam destek garantisi :)

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

"her yerde işe yararlık"

Ne demek tam olarak acabilir misin?

Fazlamesai'ye soralım: 2018'de ne öğrenmeli? ( 48)

Gecen sene demisim ki;

Elixir, CQRS ve GraphQL, daha da zaman olursa Rust, Go, Docker.

Suan tam zamanli olarak Elixir, GraphQL, Docker kullandigim bir iste calisiyorum. Bu listeden CQRS, Rust -elimi kirletmis olmama ragmen, ogrendim saymiyorum- acikta kaldi, bayagi basarili gecmis.

Bu sene, gecen seneden eksik kalanlarin yaninda, Kubernetes, OTP ve Terraform ogrenmeyi planliyorum.

Ogrenecek programlama dili olarakta Elixir (siddetle, baya siddetle yani, hatta hemen tikla) ve Go oneriyorum.

KAISER, Meltdown, Spectre... Neler oluyor? ( 16)

21 . yuzyil basinda cikan bir mikro islemci mimari hatasi bilinen dunyanin sonunu getirmisti...

Yavaşlamaya hazırlanın ( 6)

Bu "ware" bug'lari "soft" olunca iyi de "hard" olunca, hic olmamis!

Gource: Projelerinizin git macerasını video ile görselleştirin ( 1)

Ortamlarda efsane videolarim donuyormus diye duydum sayin @butch ;)

Rails ekibinin ellerinden leziz bir JavaScript framework ( 4)

"Leziz" iyiymis gercekten :) Yeterince JS framework'umuz yoktu gercekten iyi oldu

Ruby mi? Elixir mi? ( 7)

Ben de cok isterim, ilk firsatta yapacagim

Ruby mi? Elixir mi? ( 7)

Aslinda Crystal'da kotu bir alternatif degil, onu da yakinen takip ediyorum. LLVM'i kullanmalari dolayisiyla hizli olmasi ve cok az hafiza kullaniyor olmasi, "typed" olmasi ve fazla Ruby'e benzemesi artilari. Ayrica standard kutuphanesi tamamen Crystal ile yazilmis, o yuzden cok da ogretici. Fakat bir makro sistemine sahip olmasina ragmen, Elixir'deki gibi (Lisp'ten gelen) AST maniplasyonuna dayanmiyor, bence yeterince sade ve yetkin degil. Diger bir kotu tarafi ise henuz eszamanli hafiza garantisi vermemis, eszamanli calisma prensiplerini Go'dan araklamaya calisiyorlar (CSP), bircok seyi Go'dan araklamaya calisiyorlar. Bildigim kadariylada 1.0 icin bunu duzeltmeyi planlamiyorlar (yamuluyor olma ihtimalim fazlaca yuksek). Gunumuzde en kucuk bilgisayar diyebilecegimiz cihazlarda bile en az 2 cekirdek varken bu sekilde bir cikis yapmak cok sacma geliyor. Tam bu noktada Elixir sirtini, Erlang Sanal makinesine (EVM/BEAM) dayiyor ve one geciyor :)

Ruby mi? Elixir mi? ( 7)

Cok desteksiz olmasin, gercekten yuksek calisma zamani performasi ve mukemmel paralelizm oruntulerinin (Erlang/OTP sagolsun) yaninda benim icin asil nedenler daha cok sunlara benzer https://fazlamesai.net/posts/neden-elixir!

Ruby mi? Elixir mi? ( 7)

Tabi ki Elixir, bu da soru mu?