Wednesday, April 23, 2014

[JavaScript][CoffeeScript] Degisken/Fonksiyon Etki Alanlari

JavaScript'te alisilmisin disinda -PHP'nin disinda!- bir etki alani prensibi mevcut. Ust seviyede tanimlamis oldudugunuz bir degisken ya da fonksiyona asagi seviyelerden ulasabilirsiniz. Alt seviyeden ust seviyeye ise hayir. (Yani bunun yontemleri var ancak konuyla alakali olmadigindan dolayi pas geciyorum.)

Beni bu arastirmaya iten "CoffeeScript'teki -> ile => arasindaki farkin nedenir nedir?" sorusuydu. Sorunun cevabi yukaridaki bilginin varligindan haberi olan kisiler icin gayet net olarak dokumante edilmis CoffeeScript tarafindan. Durumu aciklamaya calisalim:

Peki ya yukaridaki gibi bir kodlamada ust seviyedeki elementi secmek istersek? Ki buyuk ihtimalle oyle bir seye ihtiyaciiz olacaktir. Oyleyse asagidaki gibi yapip baska bir degiskene atamak gerekli, referans gosterip elbette.

Islem bu kadar. Simdi gelelim bunun CoffeeScript ile olan iliskisine:

CoffeeScript ile calisiyorken nesne tabanli calismak zorunda hissediyorsunuz kendinizi, "class" etiketini gordukten sonra, ehehe. Elbette boyle bir durumda this kelimesi sizin icin gerekli oluyor, gerci bu ornekte sinif tanimlanmiyor ancak yine de ilintili. Lafi da  fazla uzatmadan CoffeeScript'in kendi ornegi uzerinden olayi aciklamak istiyorum:

Sorun kendini bellli ettigine gore cozumune de asagidan ulasabilirsiniz:

Bu kadar... :)

Monday, April 21, 2014

[NodeJS][Ipucu] npm Paketlerini Global Olarak Yuklemek

CoffeeScript, underscore gibi bazi paketler her projede (daha dogrusu bir projeden de bagimsiz her yerde) gerekli olarbilir. Boylesi durumlarda "Yok mu bu paketleri her yerde kullanabilmenin bir yolu?!" diyebilirsiniz. Elbette var! Paketleri yuklerken tek yapmaniz gereken npm install <pkg> -g
 seklinde -gparametresinden faydalanmak.

Kaynaklar
http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

Thursday, April 17, 2014

[Facebook API] Bir Gorusmedeki Tum Mesajlari Almak

Eger bir arkadasinila uzun sureli Facebook'tan iletisim kuruyorsaniz, ve o kisi  ile suan iletisimde degilsiniz ancak iletisime gecmek icin hos bir seyler yapmak istiyorsaniz, Facebook'ta olan guzel konusmalarinizi ona iletmek isteyebilirsiniz.

Kodlama kisisel olduguu icin, ne sintaks, ne testler hic bir sey yoktur. Sadece isinizi gorsun yeterli. :)

Oncelikle mesajlari Facebook API'si ile 30'arli gruplar halinde cekiyoruz. Sonrasinda onlari PHP tarafinda birlestiriyoruz.


Saturday, April 12, 2014

[CoffeeScript] Watcher Shell/Command

Appends seperated .coffee files into one file, and compiles as application.js. So cool, hah?

Example structure:
-- 10_controllers
---- home.coffee
---- show.coffee
---- admin.coffee
-- 90_ui
---- home.coffee
---- show.coffee
---- admin.coffee

Example output:
Imagine all of above Coffee files in one compiled file as well as every hitting CTRL+S!

Saturday, April 5, 2014

AngularJS Ogreniyorum!

Uzunca zmandir kendimi pratik anlamda bir seylerde gelistirmedigimi fark ettim. Teorik bilgimin oldugu Single-Page Application'lar da zaten ne zamandir aklimda iken AngularJS'yeogrenmek uzere kollanrimi sivadim. Umuyorum ki Onumuzdeki birkac yazimda AngularJS hakinda goruslerimi yazacagim. "Neden AngularJS?" sorusuna simdilik tek cevabim "Cunku arkasinda Google var!" olacaktir. Bakalim ilerleyen asamalarda neler olacak...

Yazilar (yazilmasi plananan yazilar)

  • Single-Page Applicationlarda SEO Uzerine
  • AngluarJS vs. Backbone
  • Ucmaya Hazirlik: AngularJS, jQuery ve CoffeeScript!