Açık Kaynak Proje hk. fikirleriniz.

414 views
Skip to first unread message

Emre Eren

unread,
Jan 20, 2016, 11:59:12 AM1/20/16
to istanbul-coders
Selam arkadaşlar. Restoranlar için yapılan SambaPOS isimli projeyi geliştiriyorum. Proje 5 yıl kadar önce açık kaynak c# + wpf projesi olarak başladı. Uzun süre açık kaynak devam ettikten sonra 4-5 ay önce pro sürüm yayınladım. Projenin son halinin neye benzediğini şuradan görebilirsiniz. https://www.youtube.com/watch?v=IwWbWfOONjM. Ayrıca http://forum.sambapos.com/ adresinden de topluluğumuzda neler olup bittiği hakkında fikir alabilirsiniz. Daha uzunca bir süre bu projeyi geliştirmeye devam edeceğim ancak bir taraftan da aynı işi yine açık kaynak olarak ve Javascript tabanlı teknolojiler kullanarak sıfırdan geliştirmeyi düşünüyorum.

Merak ettiğim iki konu var. Development ortamı için Node, mongo, express, typescript, angular, electron gibi projeler inceledim. Yıllardır C# + WPF üzerinde geliştirme yaptığım için biraz şaşırdım çünkü normalde MS ortamında bir şeyin bu kadar çok alternatifi olmaz. Şimdi hemen her popüler projenin süper özelliklere sahip popüler alternatiflerinin olduğu bir ortama geldim. SambaPOS ağırlıklı olarak client tarafında hatta internet olmasa da çalışması gereken bir proje. Mesela en basit haliyle bir hesap makinesi uygulaması gibi düşünebiliriz. Siz olsanız framework / development stack konusunda nasıl bir tercih yaparsınız? Ya da birden fazla alternatifiniz olduğunda seçiminizi neye göre yapıyorsunuz? 

İkinci olarak projeye ilk başladığımda Türkiye'de açık kaynak geliştirme yapmak pek tercih edilmiyordu. Proje ilk başladığında iletişim dili olarak Türkçe kullanıyordum. Sonra kendiliğinden hızlıca İngilizce oldu. Yeni projede de iletişim dili İngilizce olacak ama Türkiyede dikkate değer bir pazar payımız olduğu için development ortamında Türkçe'ye de ağırlık verip vermeme konusunda kararsızım. Açık kaynak projelere katkıda bulunuyor musunuz? Beğendiğiniz Türkiye kaynaklı ya da Türkçe konuşan developer'ların geliştirdiği aktif açık kaynak projeler var mı?

Saygılar, Sevgiler
Emre Eren.

Zeki Ünal

unread,
Jan 20, 2016, 12:06:42 PM1/20/16
to istanbu...@googlegroups.com
https://github.com/acikkaynak/acikkaynak faydası olabilir. Issue bölümüne tartışma açabilirsiniz. 

20 Ocak 2016 18:59 tarihinde Emre Eren <emre...@gmail.com> yazdı:
--
* Grubun nihayi hedefi; grup üyelerinin kendini geliştirebileceği, yanlışlarını görebileceği, bilmediklerini ögrenebileceği, yeni bakış açıları kazanabileceği paylaşımlara ev sahipliği yapmaktır.
* İyi niyetle öğretmeye ve öğrenmeye açık olduğunuzu kabul ettiğiniz için bu grupta olduğunuzu unutmayın.
* Mesajlaşmalarda her türlü hakaret ve sataşma *uyarı olmaksızın* üyeliğin bitirilmesiyle son bulur.
* Saygı sınırlarından dolayı birbirinizin yüzüne karşı söylemeyeceğiniz sözleri lütfen mail'lerinizde kullanmayın.
 
* Slack grubumuz: https://istanbulcoders.slack.com/ davetiye için: http://goo.gl/forms/qc6Z78wpsL
* Kişilere cevap yazacağınız zaman, lütfen ilgili kişiyi alıcı (to) kısmına koyun.
* Mesaj alım frekansınızı grup üyelik ayarlarınızdan değiştirebilirsiniz.
* İş arama veya ilan verme ile ilgili mailler için konu kısmına [IS_ILANI] tag'i eklemeniz gerekmektedir.
* İş ilanlarında grubu Ek Alıcı (cc) kısmına koyun ki cevap dönenler tüm gruba dönmesinler.
---
You received this message because you are subscribed to the Google Groups "istanbul-coders" group.
To unsubscribe from this group and stop receiving emails from it, send an email to istanbul-code...@googlegroups.com.
To post to this group, send email to istanbu...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Burak Arslan

unread,
Jan 20, 2016, 12:20:18 PM1/20/16
to istanbu...@googlegroups.com
selam

On 01/20/16 18:59, Emre Eren wrote:
>
> İkinci olarak projeye ilk başladığımda Türkiye'de açık kaynak
> geliştirme yapmak pek tercih edilmiyordu. Proje ilk başladığında
> iletişim dili olarak Türkçe kullanıyordum. Sonra kendiliğinden hızlıca
> İngilizce oldu. Yeni projede de iletişim dili İngilizce olacak ama
> Türkiyede dikkate değer bir pazar payımız olduğu için development
> ortamında Türkçe'ye de ağırlık verip vermeme konusunda kararsızım.
> Açık kaynak projelere katkıda bulunuyor musunuz? Beğendiğiniz Türkiye
> kaynaklı ya da Türkçe konuşan developer'ların geliştirdiği aktif açık
> kaynak projeler var mı?

spyne'in gelistiricisiyim. http://spyne.io proje 2007'de baslamis ben de
2010 sonlarindan beri aktif olarak kod yaziyorum. senede ~2000 commit
yapiyordum, simdilerde ~1000 civarinda seyrediyor.

projeyi ben baslatmadim, devraldim, dolayisiyla birinci gunden itibaren
ingilizce gelistiriliyor. tum dokumanlar ingilizce, issue tracker'da
herkes ingilizce konusuyor, kaynak kodda tek bir turkce satir yok vb.

bunu ruslar da boyle yapiyor, cinliler de, almanlar da, japonlar da.

libreoffice'in kodundaki almanca kalintilarindan kurtulmak icin
zamaninda bir inisiyatif baslatilmisti, ilginizi cekerse bir arastirin
bunun ne tur sorunlara neden oldugunu gormek icin :)

cok cok spesifik bir sey olursa (atiyorum, bordro programi) belki turkce
yapilabilir. onun disinda turkce kullanmanin alemi yok.

teknoloji konusuna gelirsek, spyne (ve ekurisi neurons) ayni zamanda bu
tarz veritabani kullanan web uygulamalari icin tasarlanmis bir backend
framework. bir zamanlar linkpos.com u yapan arkadas kullaniyordu. simdi
ne alemdedir bilmiyorum. eger kullanmak isterseniz yardimci olabilirim.

kolay gelsin
burak

roy simkes

unread,
Jan 22, 2016, 6:34:43 AM1/22/16
to istanbul-coders


On Wednesday, 20 January 2016 18:59:12 UTC+2, Emre Eren wrote:

Merak ettiğim iki konu var. Development ortamı için Node, mongo, express, typescript, angular, electron gibi projeler inceledim. Yıllardır C# + WPF üzerinde geliştirme yaptığım için biraz şaşırdım çünkü normalde MS ortamında bir şeyin bu kadar çok alternatifi olmaz. Şimdi hemen her popüler projenin süper özelliklere sahip popüler alternatiflerinin olduğu bir ortama geldim. SambaPOS ağırlıklı olarak client tarafında hatta internet olmasa da çalışması gereken bir proje. Mesela en basit haliyle bir hesap makinesi uygulaması gibi düşünebiliriz. Siz olsanız framework / development stack konusunda nasıl bir tercih yaparsınız? Ya da birden fazla alternatifiniz olduğunda seçiminizi neye göre yapıyorsunuz? 


ihtiyaclarin neler oldugunu belirleyip, buna gore karar veriyorsun (misal offline destegi ve aslinda desktop client ihtiyaci onerilebilecek projelerin yarisini yok ediyor olabilir). Bu sebeple JS mesela dogru bir tercih olmayabilir, hypelarda kendini kaybetmemek lazim :) Meteor diye bir stack var. Nodejs uzerine kurulmus, cordova kullanarak ios ve android de yapiyor, electron icinde extension lari mevcut boylece desktop uygulamasi da oluyor. En buyuk ozelligi her seyi once client da yapip, sonra server a gondermesi (ddp kullaniyor). React ile falan da yapabiliyorsun. Lakin her sey cilent da oldugu icin veri setleri biraz buyudugunde, render ettigin seylerin cokluguna gore biraz yavaslama olabiliyor (yuzler mertebesinde, hic sikinti yok, bir-iki binler mertebesinde kabul edilebilir duzeyde, 10k uzerine cikmadim ama yuzbinlerde calistirdigin client in CPU gucune gore yavaslayacaktir. Ne kadarlik veri oldugunu bilmedigim icin metric vermek istedim).

Bu kismi bir kenara birakirsak, komple bir stack oldugu icin gelistirmeyi epey kolay, compiling uzun suruyor bazen onun icin can sikabiliyor. Ornek alabilecegin acik kaynak projelerde mevcut (Rocket.Chat).

roy

Emre Eren

unread,
Jan 22, 2016, 9:18:39 AM1/22/16
to istanbul-coders
Selamlar Roy.

Aslında haklısın kendimi hypelara mı kaptırıyorum acaba diye ben de zaman zaman düşünüyorum. Son SambaPOS sürümünde bir sebeple JScript desteği eklemiştim. JScript ecma3 uyumlu bir Microsoft implementasyonu. Bu desteği açtığım andan itibaren virüs gibi projenin her yerine yayıldı. JS konusu biraz buradan geliyor aslında. Projenin tamamında tek dil kullanmak da cazip geliyor bir taraftan.

Evet Meteor iki gündür Hacker News'in de gündeminde. Düşünüyorum açık kaynak bir proje yapacağım. Elimde stabil bir çözüm zaten var. Bu biraz daha nereye çekilirse gidebilecek, fantazilere, denemelere açık olsun. Farklı şeyler deneyip öğrenebileyim. Sanırım bu alternatifler içinde yolumu bulmayı başarabilsem full stack framework / platform tercih etmeyeceğim. 

Offline, desktop gibi gereksinimleri belki yanlış ifade ettim. Genel anlamda wireless kopması, internet gitmesi gibi problemlere güzel bir çözüm bulmam gerekiyor. Browser içinde kalmamak istememin nedeni de terazi, barkod okuyucu, yazıcı vs gibi donanımları yönetmem gerekmesi. Yazıcı için IP bazlı bir protokol var ve node.js paketi de var sanırım. Barkodu da klavye emulasyonu ile halledebiliriz. Terazi, caller id vb gibi donanımlarla veri alış verişi işini de çözersem desktop uygulma olmasa da olur.

Bir iki gündür Seneca projesini inceliyorum. Çok ilginç çok enteresan birşey.  Çok hoşuma gitti. Kullanan deneyen var mı?

-----

@Burak aktif SambaPOS topluluğunun büyük kısmı tahmin edilebileceği gibi teknik bilgisi olan ve restoranlara POS kurulumları yapan kişiler. Türkiyede de bu şekilde çalışan bir çok arkadaşımız var. Dolayısıyla da bu arkadaşlar bize ulaşmak istedikleri için Issue'lar Türkçe, İngilizce karma karışık açılıyor. Bazen aynı konuyu Türkçe ayrı İngilizce ayrı tartıştığımız oluyor. İş benim tek başıma başedemediğim noktaya gelince ayırdım. Türkçe konuları farklı siteye aldım. Dolayısıyla da biraz geri planda kalmış oldu. Yani "yok biz Türkçe ya da başka dil kabul etmiyoruz" demek işin kolay kısmı. Halbuki bir iki tane developer arkadaşımız sırf boş zamanlarında destek verse daha güzel bir topluluk oluşabilir ve iyi işler çıkabilirdi. Toplulukta görüyorum Maaş konuları aktif olarak tartışılıyor. Gerçek şu ki 4 bin 5 bin TL maaş yeni başlayan arkadaşlarımız için yeterli olabilir ama 4K maaş 4 kişilik aile için fakirlik sınırının bile altında. Şirket için süper işler yapan ve üretken bir developer mantıken aylık 10K altına asla düşmemeli ama bunu verebilecek şirket sayısı çok az. Sonuçta patronlarımız da bizim gibiler. Satış yapmak zorundalar ve bu devirde uluslar arası çapta iş yapmıyorsanız lokal pazarlarda yer edinmek ve hatta belli bir çizginin üzerine çıkabilmek çok zor. Bu nedenle çoğunluk açısından bir çözüm yok ve bu gerçekten üzücü bir durum. SambaPOS 120 ülkede kullanılan ve 40 binden fazla kullanıcısı olan bir proje. Restoranlar para kazanan, iş yapan yerler. Bir çok istekleri var istedikleri çözümler için para ödemek gibi bir sorunları yok. Bir tarafta istekleri yapılsın diye para ödemeye hazır kişiler, diğer tarafta haklı olarak daha çok hakettiğini düşünen developer'lar var. SambaPOS tek bir örnek sadece İnternet developerlar için sınırsız iş potansiyeli ile dolu ama dil çok büyük bir engel. @Zeki arkadaşımızın yönlendirdiği repoda açık kaynakla ilgili bilgilendirme gibi bir amaç var sanırım. Konu muhakkak ekonomik olarak da ele alınmalı çünkü genel anlamda potansiyel cidden görünenden daha büyük. Proje açık kaynak diye her şeyi açık kaynak yapmak zorunda değilsiniz. Yani freelance olarak yaptığınız işi bir kişiye değil projeyi kullanan herkese satma şansınız var. Wordpress teması satmak gibi düşünülebilir mesela. Neyse biraz konuyu dağıttım ama sıfırdan açık kaynak yapmak istememin sebeplerinden biri de bu olduğu için bahsetmek istedim. Bireysel çalışmak da bir yere kadar ama bir şirket olarak uluslar arası bazda çözümler sunmak daha kompleks bir konu. Ben tek başıma yapabileceklerimden ziyade biraz daha işin bu tarafını düşünüyorum. Tabii lafla peynir gemisi yürümüyor. Umarım tecrübe ettiğim konuları daha doğru paylaşabilme fırsatım olur.


22 Ocak 2016 Cuma 13:34:43 UTC+2 tarihinde roy simkes yazdı:

joonate cucu

unread,
Jan 28, 2016, 10:21:02 AM1/28/16
to istanbul-coders
Selamlar, 

Node.js tercihi icin su yazi bence onemli;

Yeni fantazi ve hype olan su aralar Go dili revacta gozukuyor. 

Armagan Amcalar

unread,
Jan 28, 2016, 10:22:31 AM1/28/16
to istanbu...@googlegroups.com, joonate cucu
Bu yazi tamamen Koding ekibinin konuyla ilgili hakimiyet(sizlig)inden kaynaklaniyor.


-- 
Armagan Amcalar

Cuneyt Ozen

unread,
Jan 28, 2016, 11:21:27 AM1/28/16
to Armagan Amcalar, istanbu...@googlegroups.com
Merhaba,

O cevabi ben de okudum. Savunmaci bir tonda yazilmis olmasi ragmen Armaganin dedigi gibi konuya hakimiyetsizlik kismina katiliyorum. 

Bununla birlikte cevaplar savasi olucak biraz ama Zaky Katalan Ezra'nin cevabi; bu baslikta belirtildigi 
gibi yeni teknolojiler kullanilarak scalable ve saglam bir uygulama yazilacak ise Go'nun Node.js'e nazaran daha rahat olabilecegini belirtiyor.   

Burada benim dikkat cekmek istedigim nokta koding ekibi gibi deneyimli bir ekibin node.js ile ilgili yasadigi tecrubeler ve zorluklar.
Bunlar ile basedemeyip, hatta nefret seviyesine gelip tamamen terk etmeleri. 

 

Norm

unread,
Jan 28, 2016, 2:45:00 PM1/28/16
to istanbu...@googlegroups.com
Merhaba,

Meteor opinionated bir platform. Kullanma kararını vermeden önce bunu göz önünde bulundurmak gerektiğini düşünüyorum.

İnsanlar bir sonraki JQuery'i bulmaya çalışıyorlar. Bir tarafta bundan bir ürün çıkarmak isteyenler, diğer tarafta da isomorphic (ya da universal, aman bunu tartışmayalım) web app'in gelecek olduğuna bahse giren ve "magic wand" arayan developerlar.

Meatier'ı bir inceleyin derim. Meteor yapısının bleeding edge'de takılanı şeklinde tanımlanabilir. README'deki tablo, kullanılan component'ları teker teker listelediği için güzel bir referans.

Ben opinionated olursam;

* GUI (desktop) için Virtual DOM kullanarak webview (Electron, NW.js)

* Client/Server AJAX (fetch?) ile GraphQL (şu anda REST daha hızlı ayaklanır ama future-proof olması için GraphQL kasmak lazım)

* Auth için JWT (benim için şu anda hala kara kutu ama API auth bu yönde ilerliyor gibi görünüyor)

* Offline için de LocalStorage ya da IndexedDB

Yani Meteor vb. platformlar arasında hala oturan (JQuery olan) yok, zira altındaki JS ekosistemi gün aşırı değişiyor. Üstteki 4 madde, bence bunların arasından ayrılıp de-facto olacak isomorphic JS platformun gereksinimleri arasında "olmuş" olanlar.

Bu konudaki fikirlerinizi dinlemek şukela olur..

-d

p.s. honorable mention: Este

Harun Yaşar

unread,
Jan 28, 2016, 3:37:44 PM1/28/16
to istanbu...@googlegroups.com

Özgür Aydın

unread,
Jan 28, 2016, 4:17:12 PM1/28/16
to istanbu...@googlegroups.com
Bu yazının 1.5 yıl önce, yani Node.js'in en kısır zamanında yazıldığını da unutmamak lazım.
0.12 betada ve hala geliştirilmiyorken, harmony/es6 ya geçiş için inat edip community'ye sırtını dönmüşken, io.js hit yaparken yazılmıştı.

Peki sonra ne oldu?
- Io.js ile Node.js birleşti
- Node.js nin arkasına Linux Foundation geldi
- Node.js Node Foundation u kurdu. Bu vakıf(?) ın platin üyeleri (https://nodejs.org/en/foundation/members/) ve yöneticileri (https://nodejs.org/en/foundation/board/) arasında Microsoft, IBM, Intel, Paypal, Godaddy vb vardı. Yıllık birkaç milyon dolar sadece sponsorlardan gelmeye başladı.
- 4x ve 5x sürümü çıkardılar, LTS çıkardılar, roadmap yayınladılar
- Şirketim beni göndermediği için, davet edildiğim halde katılamasam da, uluslarası ilk Node.js konferansını (Node Interactive, Aralık'15, Portland) gerçekleştirdiler
- Arm v6, v7 ve 64-bit sürümleri çıkardılar

Ayrıca hala en fazla modül NPM'de var: http://www.modulecounts.com/

Node iyidir. Node'u ve Javascript'i iyi bilmek lazım sadece.
Go ile de kıyaslayamıyorum, Go her seferinde çok sistem seviyesi kalıyor. C'nin halefi gibi.


Norm

unread,
Jan 28, 2016, 4:19:31 PM1/28/16
to istanbu...@googlegroups.com
Ayrıca M$ Chakra atağını yaptı. Bill amca bile JS'e sırtını dayadıysa, benim için good enough..

Mesut Vatansever

unread,
Jan 29, 2016, 3:41:09 AM1/29/16
to istanbu...@googlegroups.com
Bu konuda bir çok şey yazılmış fakat konuyla ilgilenmiş birisi olarak bende cevap yazmak istedim. NodeJS 'e henüz giriş aşamasında iken NodeJS 'i nginx ile kullanmadan bir şey ifade etmediğini fark etmiş birisi olarak Devrim Yaşar'ın bunu videoya alıp "bakın file serve ederken nginx bu şekilde Nodejs bu şekilde CPU/Ram harcıyor" demesi çok amatörce olmuş. NodeJS bir kere server olarak kullanılacak bir şey değil sunucu yönetimi için ayrı bir yapı olmalı. Bu da en iyi çalıştığı sunuculardan birisi olarak nginx gayet iş gören bir yapı. Bir de callback hell meselesi var ki bu functional programming paradigmasına hakim olmayan -ben gibi- kişilerin düşebileceği bir hatadır. ​OOP yazmaya aşinaysanız Functional programming 'e geçiş için öncelikle bunun teorik olarak nasıl ele alındığını bilmeniz katkı sağlayacaktır. Verilen cevaplardan da anlaşıldığı kadarıyla NodeJS hakim olmadıkları için nefret etme seviyesine gelmiş olmalılar yoksa NodeJS'in berbat bir dil olmasından ötürü değil :)

Özgür Aydın

unread,
Jan 29, 2016, 3:55:02 AM1/29/16
to istanbu...@googlegroups.com
İzninizle düzelteyim, Node.js bir dil değil, runtime (env.) dir :)

2016-01-29 10:41 GMT+02:00 Mesut Vatansever <mesu...@gmail.com>:
Bu konuda bir çok şey yazılmış fakat konuyla ilgilenmiş birisi olarak bende cevap yazmak istedim. NodeJS 'e henüz giriş aşamasında iken NodeJS 'i nginx ile kullanmadan bir şey ifade etmediğini fark etmiş birisi olarak Devrim Yaşar'ın bunu videoya alıp "bakın file serve ederken nginx bu şekilde Nodejs bu şekilde CPU/Ram harcıyor" demesi çok amatörce olmuş. NodeJS bir kere server olarak kullanılacak bir şey değil sunucu yönetimi için ayrı bir yapı olmalı. Bu da en iyi çalıştığı sunuculardan birisi olarak nginx gayet iş gören bir yapı. Bir de callback hell meselesi var ki bu functional programming paradigmasına hakim olmayan -ben gibi- kişilerin düşebileceği bir hatadır. ​OOP yazmaya aşinaysanız Functional programming 'e geçiş için öncelikle bunun teorik olarak nasıl ele alındığını bilmeniz katkı sağlayacaktır. Verilen cevaplardan da anlaşıldığı kadarıyla NodeJS hakim olmadıkları için nefret etme seviyesine gelmiş olmalılar yoksa NodeJS'in berbat bir dil olmasından ötürü değil :)

--

Mesut Vatansever

unread,
Jan 29, 2016, 4:06:23 AM1/29/16
to istanbu...@googlegroups.com
Bir şey daha doğru öğrenmiş olduk teşekkürler :)

29 Ocak 2016 10:54 tarihinde Özgür Aydın <ozgur...@gmail.com> yazdı:

Armagan Amcalar

unread,
Jan 29, 2016, 5:01:01 AM1/29/16
to istanbu...@googlegroups.com
Evet. Node.js'ten vazgecmeyin. Node scalability ve stability konusunda herhangi bir sorun yasamiyor.

Node.js ile mikroservislerle nasil scalable uygulama gelistirilecegini ogrenmek isterseniz onumuzdeki Sali aksami ucretsiz bir webinar veriyorum. http://furl.at/nodemicroserviceswebinar adresinden kayit olabilirsiniz.


On 29 Oca 2016, at 09:41, Mesut Vatansever <mesu...@gmail.com> wrote:

Bu konuda bir çok şey yazılmış fakat konuyla ilgilenmiş birisi olarak bende cevap yazmak istedim. NodeJS 'e henüz giriş aşamasında iken NodeJS 'i nginx ile kullanmadan bir şey ifade etmediğini fark etmiş birisi olarak Devrim Yaşar'ın bunu videoya alıp "bakın file serve ederken nginx bu şekilde Nodejs bu şekilde CPU/Ram harcıyor" demesi çok amatörce olmuş. NodeJS bir kere server olarak kullanılacak bir şey değil sunucu yönetimi için ayrı bir yapı olmalı. Bu da en iyi çalıştığı sunuculardan birisi olarak nginx gayet iş gören bir yapı. Bir de callback hell meselesi var ki bu functional programming paradigmasına hakim olmayan -ben gibi- kişilerin düşebileceği bir hatadır. ​OOP yazmaya aşinaysanız Functional programming 'e geçiş için öncelikle bunun teorik olarak nasıl ele alındığını bilmeniz katkı sağlayacaktır. Verilen cevaplardan da anlaşıldığı kadarıyla NodeJS hakim olmadıkları için nefret etme seviyesine gelmiş olmalılar yoksa NodeJS'in berbat bir dil olmasından ötürü değil :)

--

Cuneyt Ozen

unread,
Jan 29, 2016, 6:18:12 AM1/29/16
to istanbu...@googlegroups.com
Yeri gelmisken 500'den fazla npm modulu yazan bu arkadasin Farewell Node.js  yazisi hakkinda ne dusunuyorsunuz?
Platforma hakim olamamasi bence pek soz konusu degil.

Kod buyudugunde ve production'a cikildiginda refactoring, profiling, optimizasyon konulari ve tooling Node.js'te sıkıntı olarak göze çarpıyor.

Armagan Amcalar

unread,
Jan 29, 2016, 6:56:30 AM1/29/16
to istanbu...@googlegroups.com, Cuneyt Ozen
Kendi deneyimi, kendi fikridir. Oldukca sacma buldugumu soylemeliyim. Ozgur Aydin'in bu konudaki goruslerine katiliyorum. Node.js ile 2011'den beri milyonlarca kullaniciya hizmet veren sistemler gelistiriyorum. Henuz kayda deger bir sikintiyla karsilasmamis olmam sans eseri olamaz. JavaScript'i iyi biliyor ve uyguluyorum, dilden ve ortamdan bagimsiz mimari ve kod gelistirme standartlari uyguluyorum. Bunlarin sorunlarin %90'ini cozdugune inaniyorum; yoksa gercekten buyuk bir problem yasamis olurdum ben de.

Emre Eren

unread,
Jan 29, 2016, 1:05:17 PM1/29/16
to istanbul-coders
Doruk selamlar. İki günümü Meatier'in readme dosyasında geçen projeleri inceleyerek geçirdim. Verdiğin linklerin hepsini de inceledim. Çok faydalı oldu öncelikle teşekkür ederim. Tabii henüz konuya yeni başladığım için tecrübeye dayalı bir fikrim yok ama projeler arasında rekabet olması ve bazı alanlarda öne bir tane çözümün çıkmıyor olmasını olumlu karşılıyorum. Belki react bir adım önde gibi geliyor bana ama tek bir programcılık kültüründen bahsedemeyeceğimiz için muhakkak birden fazla çözüm olacaktır. React benim programlama sitilime daha uygun bir çözüm gibi duruyor diyelim.

GraphQL hiç radarımda yoktu ama verdiğin linkleri inceler incelemez konuyu anladım çünkü REST konusunda kafama hiç yatmayan konular vardı. Direk tercih edebilirim. Bir önceki yazımda bahsetmiştim ama uzun bir yazı olduğu için arada kaynamış olabilir. Anladığım kadarıyla pek popüler değil ama SenecaJS projesine tesadüfen denk geldim ve getirdiği çözüm çok hoşuma gitti. Aramızda hiç deneyen / kullanan var mı? 

28 Ocak 2016 Perşembe 21:45:00 UTC+2 tarihinde Doruk Kutlu yazdı:

Norm

unread,
Jan 29, 2016, 3:57:07 PM1/29/16
to istanbu...@googlegroups.com
Merhaba,

Öncelikle, büyük ihtimalle bilgi tarama disiplininizden sizin de bildiğiniz gibi, dogmalarda kendimizi kaybetmemek adına; GraphQL'in en ciddi alternatifi şu anda Falcor. Bunu hemen hemen hiç incelemedim, bir iki talk'da özet dinledim sadece, ama öyle görünüyor ki, bu iki çekicin sunduğu çözümler;

* GQL: Düşük bandwith'lerde verimli data-fetch. Zaten FB'nin de amacı, şuradaki podcast'te yaratıcısının dediği gibi, mobilde servislerini consume eden kullanıcılar için minimal datayla view render() edebilmek. Amaç, tek bir query'de, view için gereken her data'yı "tek" request'de çekmek.

* Falcor: Netflix. Sanırım core işleri için çok önemli bir parça. Belki data fetch sırasında GQL kadar expressive değildir (doğrusunu isterseniz query syntax'i hakkında bir fikrim yok) ancak yaratıcısının tanımlaması şöyle; "Kullanıcılar bütün cloud'un lokallerinde olduğunu düşünmek isterler. Tabi ki böyle bir şey mümkün değil. Ama artık bu hissiyatı verecek bir ilüzyon mümkün." Front-end de, cloud'daki DB'sinin bir alt-kümesini tutarak ileri seviye caching yapıyor anladığım kadarıyla.. Ön yüzde çok hızlı değişen datanız varsa (GPS ile track ettiğiniz aparatın her saniye frontend'inize ~200KB JSON pompalaması mesela) öne çıkar.

2016 senesinin kanlı tartışması olacak React vs. Angular2 konusunda ise; Virtual DOM kazandı. İkisi de onu kullanıyor. Pure JS yazarak mı view yapmak istiyorsunuz (React) yoksa markup'ınıza DSL (spesifik bir iş için tasarlanmış custom-made hammer) yazarak mı? Ancak ikisi de evrimleşecek, gözünüzü açık tutun.

SenecaJS kullanmadım o yüzden ahkâm kesemeyeceğim. JS microservice dünyası (python'la birlikte back-end'i domine edecek* paradigma) konusunda bilgi almak için Armağan ve cote'si var.

-d

* off, kavgada söylenmez..

Armagan Amcalar

unread,
Jan 30, 2016, 7:21:15 AM1/30/16
to istanbu...@googlegroups.com
Seneca piril piril ciltlenmis, basit bir CRUD altyapisi sunan, bir HTTP/TCP veri iletisimi yapisi. Teorik olarak, express.js ile de ayni olcude mikroservis gelistirilebiliyor. Fakat problem uzayi bu kutuphanelerin cozduklerinden cok daha baska problemler iceriyor.

Cote, bu mikroservis problemleri uzayindaki problemlerin cogunu birkac yuz satirda cozen bir cati. Turkiye'de son uc bucuk yilda yuzlerce milyon kullanicinin milyarlarca istegine cevap verdi. Ne yazik ki contributor'i yok, parlak kapagi yok, pazarlamasi sifir.

Seneca gibi olun. Cote'a yatirim yapin :)

Eralp Erat / Pragmalinq (PRG Yazılım & Bilgi Teknolojileri)

unread,
Jan 30, 2016, 7:53:32 AM1/30/16
to istanbu...@googlegroups.com
Selam, 

@Armagan , güzel bir noktaya parmak bastin. 

Bence şöyle bir sıkıntı var. İnsanlar contribute etmenin ne demek olduğunu , sürecin nasil drive edilmesi gerektiği vb. noktalarda bilgi ve dolayısıyla kültür eksikliğine sahipler. 

OS bir proje nasil incube edilir , contributor'lerin olmazsa olmaz ( başlangıcta 1-2  kişi olduğunu ve uzun süre öyle devam ettiğini düşünelim..) davranışları ne olmalıdır ( per commit for per day ( min ratio)) ne sıklıkla ve ne şekilde bir araya gelmeliler , ne zaman public bir event'de yaptıklarını share etmeliler , video vb ufak tefek casting işlerini hangi aralıklarla yapıp çeşitli ortamlardan broadcast etmeliler  vs gibi bir takim konularda yönlendirmenin gerektiğini düşünüyorum.

Bu konuda 1 belki 2 session yapmak faydalı olabilir. 

Üniversitelerde ki ataletin önüne geçme noktasında olumlu bir katkısı olabileceği gibi self motivation konusunda ki sıkıntıları bir nebze olsun gidermeye katkısı olur. 

Zeki Ünal

unread,
Jan 30, 2016, 10:07:55 AM1/30/16
to istanbu...@googlegroups.com
Benim gözlemlediğim yerli kaliteli contribution'ların başında is.js gelir. Zaten doğal sonucu olarak hakkı teslim edilmiş gibi gözüküyor. Github sayfasından daha detaylı inceleyebilirsiniz.

https://arasatasaygin.github.io/is.js/ bu adresten ulaşabilirsiniz. 




30 Ocak 2016 14:52 tarihinde Eralp Erat / Pragmalinq (PRG Yazılım & Bilgi Teknolojileri) <er...@pragmalinq.com> yazdı:

Eralp Erat / Pragmalinq (PRG Yazılım & Bilgi Teknolojileri)

unread,
Feb 2, 2016, 10:26:55 AM2/2/16
to istanbu...@googlegroups.com
Merhaba , 

Bahsettiğim konuya dair Fosdem 2016'da bir session vardi.

Linkten indirebilirsiniz.

Attila Alkoc

unread,
Feb 3, 2016, 5:44:37 PM2/3/16
to istanbu...@googlegroups.com
Merhabalar,

Armağan'ın WeAreEsynergy tarafından dün kaydedilen Webinar'ı

Scaling and Managing Node js Applications with Microservices


In this talk, Armagan briefly talks about microservices architecture and the state-of-the-art implementation using nginx. Then he will explore a method for implementing microservices via a Node.js framework, cote.js. You will learn how to implement an optimized, zero-conf, fault-tolerant, distributed scaling solution that plays extremely well with the microservices architecture. Finally, he presents a monitoring solution to help you manage your microservices in production.





Emre Eren

unread,
Feb 15, 2016, 11:53:01 AM2/15/16
to istanbul-coders
Selamlar Arkadaşlar. Armağan; cote.js çok etkileyici bir proje. Paylaştığın için çok teşekkürler. Webinar'ın tamamını izledim. Benim için ufuk açıcı bir deneyimdi, hiç sıkılmadan tamamını izledim. 

Yıllarca OOP yaptım neredeyse içime işledi. Typescript süper ancak Javascript üzerinde OOP pratiklerini devam ettirmeye çalışmak bana pek doğal gelmiyor. Ancak bu tür bir projede ipin ucunu kaçırmamak için bir metodoloji takip etmek de şart. Mikroservisler bu anlamda ilgimi çekti. Load balancing gibi benefitlerden önce projeyi yapılandırmak anlamında faydalı bir mimari olarak algıladım. Ta ki redux karşıma çıkana kadar. Redux tabii backend için düşünülmüş bir çözüm değil ancak http://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html adresindeki tutorial'ı inceleyince Redux ile gelen fikirlerin backend'de nasıl uygulanabileceği hakkında biraz fikir sahibi oldum. Tabii bunların fonksiyonel programlama pratikleri olduğunun farkındayım. Dilin doğal kısıtlamaları olmadan Immutable.js gibi kütüphanelerle ne kadar olur net bir fikrim yok ama ES6 ve ES7 ile gelen bazı yenilikler (object rest / spread gibi mesela) bu yaklaşımın giderek daha çok hakim olacağına dair bir fikir veriyor. Sonuç olarak proje belli bir noktaya geldikten sonra tekrar geri dönmek üzere mikroservis konusuna biraz ara vermem gerekiyor sanırım. 

React / Redux tarafında dikkatimi çeken çeşitli işler yapan ufak tefek bir sürü kütüphane olması. Meatier güzel bir kombinasyon oluşturmuş aslında ama ne kadar güncellenir ve topluluk desteği alır orası biraz muamma. Açıkçası testlerin falan nerede nasıl yazıldığını da bulamadığım için development sürecini de pek kestiremedim. Reducer'ların Ducks dizini altında olduğunu son anda farkettim meğer o da başka bir convention'mış :) Belki hazır kullanmak yerine bir yerden başlayıp ilerledikçe bu tür projelerdeki çözümleri referans alarak ekleme yapmak neyin ne olduğunu anlamak açısından daha doğru.

Ekosistem gerçekten enteresan. Bazen çok heyecanlanıyorum.. bazen de simitle okyanusta yüzüyorum gibi hissediyorum. Bu aşamada konuyla ilgili genel bir fikir edindim. Kısa süre içinde projeye başlayacağım. Doruk başta olmak üzere yardımcı olan, yol gösteren herkese çok teşekkür ederim. Konuyla ilgili gelişmeler oldukça buradan bilgi veririm ancak konuya ilgi duyan arkadaşlar varsa iletişim halinde olursak harika olur. 


4 Şubat 2016 Perşembe 00:44:37 UTC+2 tarihinde Attila Alkoc yazdı:

Attila Alkoc

unread,
Mar 19, 2016, 11:13:51 AM3/19/16
to istanbu...@googlegroups.com
Merhaba,

Bu akşam online node.js etkinliği var.

Konu: Node.js RESTful API Online Workshop
Konuşmacı: Hüseyin Babal


Bu etkinlikte sizlere Node.js ve ilgili teknolojileri kullanarak nasıl RESTful API yazılır onu gerçek zamanlı kodlama yaparak göstermeye çalışacağız. Bir yandan kod yazarken bir yandan da integrasyon testlerimizi yazıp yazdığımız kodu online çalıştırıp coverage hesaplamaları yapacağız.

• Express.js e Giriş

• Routing

• Middleware

• Node.js ile MongoDB Kullanımı

• JWT ile API Güvenliği

• İntegrasyon Testlerini Yazılması

• Travis CI Entegrasyonu

• Code Coverage Hesaplanması

Etkinlik süresince kod yazarken sorularınızı da cevaplayacağız. Etkinliğe aşağıdaki linkten ulaşabileceksiniz

Attila Alkoc

unread,
Mar 19, 2016, 1:37:53 PM3/19/16
to istanbu...@googlegroups.com
Merhaba,

Youtube'dan şu an canlı yayınlanıyor.



Message has been deleted

Emre Eren

unread,
Mar 21, 2016, 7:39:56 AM3/21/16
to istanbul-coders
https://youtu.be/YMrAdGkdgoo adresinden toplantı kaydı izlenebiliyor. 

19 Mart 2016 Cumartesi 20:48:07 UTC+2 tarihinde Taha Sozgen yazdı:
Atilla Bey Merhabalar,
Çok önemli bir toplantı. Sanırım aceleyle açılmış,  bir dahakine biraz daha erken haber verilebilirse katılım sağlayabiliriz.

Saygılarımla,
Taha Sözgen

Kimden: Attila Alkoc
Gönderme tarihi: ‎19.‎3.‎2016 19:37
Kime: istanbu...@googlegroups.com
Konu: Re: [istanbul-coders] Re: Açık Kaynak Proje hk. fikirleriniz.

[Orijinal iletinin tamamı eklenmemiş.]

Attila Alkoc

unread,
Apr 5, 2016, 3:28:19 PM4/5/16
to istanbu...@googlegroups.com
Twitter'da şu an microservices trending topic olmuş. :-)


--
* Grubun nihai hedefi; grup üyelerinin kendini geliştirebileceği, yanlışlarını görebileceği, bilmediklerini ögrenebileceği, yeni bakış açıları kazanabileceği paylaşımlara ev sahipliği yapmaktır.
* İyi niyetle öğretmeye ve öğrenmeye açık olduğunuzu kabul ettiğiniz için bu grupta olduğunuzu unutmayın.
* Mesajlaşmalarda her türlü hakaret ve sataşma *uyarı olmaksızın* üyeliğin bitirilmesiyle son bulur.
* Saygı sınırlarından dolayı birbirinizin yüzüne karşı söylemeyeceğiniz sözleri lütfen mail'lerinizde kullanmayın.
 
Reply all
Reply to author
Forward
0 new messages