callback etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
callback etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
9 Nisan 2015 Perşembe
Async İle Asenkron Çalışma
Hiç yorum yok:
Gönderen
Veysel Şahin
at
Perşembe, Nisan 09, 2015
Etiketler
async
,
callback
,
nodeasync
,
parallel
,
promises
,
series
,
waterfall
Async asenkron işlemler için güzel özellikleri bulunan bir javascript kütüphanesidir.Tarayıcıda kullanılabildiği gibi NodeJS ile de npm vasıtasıyla da kullanılabilir.
Async'in üç farklı konuda fonksiyonları mevcut bunlar collection dediğimiz dizilere uygulanan kolaylaştırıcı fonksiyonlar,control flow diye adlandırdıkları asenkron akışın kontrolü için işe yarayacak fonksiyonlar ki bunlar en çok kullanacağımız fonksiyonlar ve bir diğer fonksiyonlar da util dedikleri çeşitli diyebileceğimiz fonksiyon türleridir.
Bizim üzerinde duracağımız fonksiyonlar control flow kategorisindeki fonksiyonlar olacak.Çünkü kütüphanenin asıl amacı asenkron işlerin yönetiminin kolaylaştırılması.
Hangi fonksiyonun ne işe yaradığını anlatmakla birlikte örnek kodlar da aktarmaya çalışacağım.
İlk olarak async.series kullanımından başlayalım.Bu kullanım fonksiyonlarınızı sıraya dizer ve her bir fonksiyon çalıştıktan sonra callback fonksiyonu çağırılır.Callback fonksiyonuna iki parametre geçilir.Bunlardan ilki varsa bir hata diğeri de fonksiyonun sonucudur.Eğer işlem yapılırken bir hata meydana gelirse onu callback fonksiyonunun ilk parametresi olarak geçmeniz gerekmekte.Örnek kod aşağıdadır.
İkinci önemli kullanım şekli async.parallel.Bu kullanım tüm belirttiğiniz fonksiyonların paralel çalışmasını sağlar.Yani belirli bir sıra gözetmeksizin sistem hepsini başlatır hepsinin sonucunu yine series'de olduğu gibi callback fonksiyonuna bildirir.Örnek kullanım aşağıda mevcuttur.
Bir diğer önemli kullanımımız async.waterfall.Bu kullanım yöntemi adından da anlaşılacağı gibi bir akıntıya veya çağlayana benzer.Fonksiyonlar birbirini takip eder ve bir fonksiyonun çalışması önceki fonksiyondan gelen değerle sağlanır.Aşağıdaki ne demek istediğimi anlatabileceğim bir örnek mevcut.
Şimdilik async kütüphanesine ait siz NodeJS geliştiricilerinin canını en çok sıkacağını düşündüğüm callback hellleriyle baş etmeniz için yeterli miktarda fonksiyonu açıklamaya çalıştım.Yararlı olması dileğiyle.
Async'in üç farklı konuda fonksiyonları mevcut bunlar collection dediğimiz dizilere uygulanan kolaylaştırıcı fonksiyonlar,control flow diye adlandırdıkları asenkron akışın kontrolü için işe yarayacak fonksiyonlar ki bunlar en çok kullanacağımız fonksiyonlar ve bir diğer fonksiyonlar da util dedikleri çeşitli diyebileceğimiz fonksiyon türleridir.
Bizim üzerinde duracağımız fonksiyonlar control flow kategorisindeki fonksiyonlar olacak.Çünkü kütüphanenin asıl amacı asenkron işlerin yönetiminin kolaylaştırılması.
Hangi fonksiyonun ne işe yaradığını anlatmakla birlikte örnek kodlar da aktarmaya çalışacağım.
İlk olarak async.series kullanımından başlayalım.Bu kullanım fonksiyonlarınızı sıraya dizer ve her bir fonksiyon çalıştıktan sonra callback fonksiyonu çağırılır.Callback fonksiyonuna iki parametre geçilir.Bunlardan ilki varsa bir hata diğeri de fonksiyonun sonucudur.Eğer işlem yapılırken bir hata meydana gelirse onu callback fonksiyonunun ilk parametresi olarak geçmeniz gerekmekte.Örnek kod aşağıdadır.
İkinci önemli kullanım şekli async.parallel.Bu kullanım tüm belirttiğiniz fonksiyonların paralel çalışmasını sağlar.Yani belirli bir sıra gözetmeksizin sistem hepsini başlatır hepsinin sonucunu yine series'de olduğu gibi callback fonksiyonuna bildirir.Örnek kullanım aşağıda mevcuttur.
Bir diğer önemli kullanımımız async.waterfall.Bu kullanım yöntemi adından da anlaşılacağı gibi bir akıntıya veya çağlayana benzer.Fonksiyonlar birbirini takip eder ve bir fonksiyonun çalışması önceki fonksiyondan gelen değerle sağlanır.Aşağıdaki ne demek istediğimi anlatabileceğim bir örnek mevcut.
Şimdilik async kütüphanesine ait siz NodeJS geliştiricilerinin canını en çok sıkacağını düşündüğüm callback hellleriyle baş etmeniz için yeterli miktarda fonksiyonu açıklamaya çalıştım.Yararlı olması dileğiyle.
25 Ağustos 2013 Pazar
NodeLab: çok dedikodulu etkinlik
Hiç yorum yok:
Gönderen
Unknown
at
Pazar, Ağustos 25, 2013
Etiketler
broadcast
,
callback
,
custom middleware
,
etkinlik
,
events
,
express
,
gdgistanbul
,
github
,
google v8
,
hangitakim
,
hello world
,
jade
,
knockout js
,
lab
,
middleware
,
mongoDB
,
node js
,
twitter stream
*fotoğraf çekimi için ev verimsiz anı bulup salonun en boş anını yakalamışım tebrik ettim kendimi :)
Sıcak bir cumartesi gününde yoğun bir ilgi ve katılım ile tamamladık etkinliğimizi. Katılan tüm misafirlerimize teşekkür ederiz. Etkinlikten yarım saat önce kimse gelmeyecek sanırım diyenleri şaşırtıp, salona dolup taştık.
Başka bir salonda devam etmek zorunda kaldığımız etkinlikte;
Öncelikle Node nedir, neden NodeJS gibi soruların üzerinde konuşuldu.
İki Farklı web uygulaması örneği üzerinde konuştuk.
İdeal proje yapısından, yaşanabilecek problemlerden bahsettik.
Bir sonraki etkinlik için notlar aldık.
Etkinlikler hakkında dönüşleriniz için hello@nodejstr.com ve hello@gdgistanbul.com adreslerinden
@gdgistanbul, @nodejstr hesaplarından bir de +GDG Istanbul ve NodeJS Türkiye üzerinden iletişime geçebilirsiniz
Örnek Kodlar
https://github.com/nodejstr/HangiTakim
https://github.com/nodejstr/GDGIstOcak13NodeJS
https://github.com/IkiMuhendis/GDGIstOcak13Android
Bir sonraki etkinliğimizde görüşmek üzere
28 Mayıs 2013 Salı
NodeJS ve Non-Blocking I/O
Hiç yorum yok:
Gönderen
Unknown
at
Salı, Mayıs 28, 2013
Etiketler
callback
,
node js
,
non-blocking I/O
NodeJS ile birlikte sık sık duyduğumuz kavramramlardan biri, Non-Blocking I/O...
Bu kavramı sizlere örnek vererek anlatmaya çalışacağım. Diyelim ki, yazdığınız programın bir yerlerinde ilk önce kullanıcı bilgilerini sonra da bu kullanıcıların yorumlarını veritabanından çekip ekranda bilgisini basıyorsunuz. Bu işi aşağıdaki gibi iki yolla yapabiliriz.
Kaydol:
Kayıtlar
(Atom)


