middleware etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
middleware etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

25 Ağustos 2013 Pazar

NodeLab: çok dedikodulu etkinlik

Hiç yorum yok:
*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

12 Ağustos 2013 Pazartesi

NodeLab - NodeJS ile kod geliştirme

Hiç yorum yok:


Temmuz ayındaki etkinliğin devamı niteliğinde,


Yarım kalan konulara devam edip,
Node nedir diyenler için kısa kısa özetlerle 
Nodejs ile uçtan uca bir web sitesi geliştirme,
Daha fazla örnek kod, biraz daha fazla sohbet...

-katılım sayısı yeterli koltuk ve priz ile sınırlı olduğu için, kayıttan sonra katılamayacak arkadaşların dönüş yapmaları rica olunur.



10 Ağustos 2013 Cumartesi

Express Middleware

Hiç yorum yok:

Express ile request'ler üzerinde aspect oriented(AOP) bir yapı geliştirmek çok kolay.Express tarafından tanımlanmış Middleware'ler kullanılabileceği gibi dilersek kendi işlemlerimiz için özelleşmiş middleware'lerde yazabiliriz.

Express tarafında tanımlı middleware'lerin tam listesi ve kullanımı için Express Middleware linkini takip edebilirsiniz.

Express tarafında tanımlanmış middleware'ler genel kullanıma yönelik ihtiyaçları karşılasa da bazen özelleştirilmiş middleware'lere ihtiyaç duyabiliyoruz. Özelleştirilmiş middleware'ler yazmakta oldukça basit.
Yapıyı anlamak adına basit bir örnekle başlayalım.

Yükleniyor...


yukarıda yer alan middleware her request için "Hello!" cevabı dönmektedir.

Daha detaylı, kompleks metodlara ihtiyacımız varsa ne yapacağız. Eğer middleware'in tüm requestlerde çalışmasını istiyorsak yazdığımız middleware'için yukarıda olduğu gibi "app.use" metodunu kullanmamız yeterli.
 Aşağıda yer alan örneğimiz gelen her request için request'den gelen ip'nin yasaklı listesinde olup olmadığını kontrol eden bir middleware.

Yükleniyor...



Tanımladığımız middleware'i tıpkı yukarı da olduğu gibi kullanıyoruz.

Yükleniyor...


Peki tüm requestlerde uygulanmasını istemediğimiz bir yapı gerekirse ne yapmalıyız. Örneğin uygulamamız üzerindeki bazı linkler user authentication gerektirirken bazılarının gerektirmediği bir durumu ele alalım. Bu durumda authentication gerektiren url'lere gelen requestler kontrol edilip giriş yapan kullanıcının yetkisi varsa veya girişi yapılmışsa görüntülenmeli aksi takdirde sayfa yönlendirmesi yaparak kullanıcıdan giriş yapmasını istemelidir.

Bu durumda her bir request içinde tekrar tekrar kontrol yapmaktansa express için bir middleware yazıp ilgili requestlerde çalışmasını sağlayabiliriz.

İlgili request'in routingi tanımlarken çalışması gereken middleware metodlarıda parametre olarak geçmemiz yeterli olacaktır.Yukarıda anlatılan senaryo için hazırladığımız authorization middleware'i aşağıda görülmektedir.

Yükleniyor...


Peki tanımladığımız bu middleware'i nasıl kullanacağız.Tanımladığımız authorization dosyasının require edildiğinden yada parametre olarak geçildiğinden emin olduktan sonra;

Yükleniyor...


Tanımladığımız her url için ihtiyacımıza yönelik metodları kullanarak gerekli kontrollerin yapılmasını sağlayabiliriz.

Middleware'ler özellikle büyük projelerde hayat kurtaran, kod kalitesini yükselten, tekrar kullanılabilir yapıları destekleyen verimli bir çözüm yöntemi sunuyor.