AngularJS'de template'in gücü

Sahibinden‘de 1 yıldan fazla zamandır kullanmaya başladığımız AngularJS‘nin en etkili özelliklerinden biri şüphesiz başarılı şablon motoru(template engine). Deklaratif programlamanın güzel bir örneği olan Angular templateleri, kod okunabilirliği, görsellik ve işlevsel kodların ayrımı konularında güzel imkanlar veriyor. Şimdi bu imkanları nasıl kullanabildiğimize bir göz atalım.

AngularJS kullanmak için 10 neden

5 ay kadar önce Sahibinden‘de AngularJS ile başlayan flörtleşmemiz şu ara nişan aşamasında ve birlikteliğimizi duyuracağımız nikahımızı heyecanla beklemekteyiz. AngularJS de bu arada müthiş bir ivmeyle popülerleşiyor. Ülkemizde henüz pek yaygın kullanılmadığını gördüğüm bu güzel kütüphanenin tercih edilmesinde en etkili olduğunu düşündüğüm 10 yönünü listeleyerek AngularJS’ye mesafeli duranları bu tarafa doğru çağırmak istedim.

HTML attribute'larında tek tırnak - çift tırnak kullanımı

Son zamanlarda haricen aldığımız javascript hizmetlerinin örnek kodlarında HTML attribute’larının çift tırnak yerine tek tırnakla yazıldığını sıklıkla görüyorum.

jQuery'de ilk çalışma zamanını kısaltmak: lazyHandler

Javascript frameworkleri arasında neredeyse alternatifsiz kalan jQuery frameworkünü kullanmayan-bilmeyen web geliştirici yoktur sanırım. jQuery’i bu kadar popüler yapan şey sanırım herşeyden önce çok başarılı olan CSS seçicisi(Sizzle). Ancak oldukça eğlenceli olan CSS seçicisi kullanmak, fazla bonkör davranınca pek hoş sonuçlar doğurmuyor. Çok fazla etkileşim barındıran günümüz web sayfalarında, sayfa yüklenirken bir çok elemanın tıklama olayına Javascript metodları bağlıyoruz(event handling). İşte bu durumlarda dikkatli olunmazsa, sayfamızın yüklenme süreleri uzayabiliyor, kullanıcıların sabrı zorlanabiliyor.

Disqus yorumlarının görünür olduklarında yüklenmesi

Disqus, artık bir çok blogda kullanılan çok başarılı bir yorumlama hizmeti. Özellikle statik blogların yaygınlaştığı günümüzde, dinamik üretilmeyen sayfalarda bile yorum yazılabilmesi imkanı verdiği için hayat kurtarıcı bir çözüm.

Django'da Haystack ve Elasticsearch ile arama

Django, verilere hızlıca erişim ve düzenleme için çok güzel bir model katmanına sahip. Her ne kadar bu modellerde filtreleme imkanları oldukça kullanışlı görünse de, büyük veri ve yoğun kullanımlarda veritabanından sorgular yaparak arama yapma devri geçmişte kaldı. Çünkü artık küçük verilere çok daha hızlı erişebilen ve arama konusu üzerine uzmanlaşmış bir çok başarılı uygulama var. Bunlara en bilinen örnekler olarak Solr, Sphinx ve henüz bunlara göre toy olmasına rağmen performansı ve kullanım kolaylığıyla bir çok yazılımcıyı büyüleyen Elasticsearch uygulamalarını verebiliriz. Ben bu yazımda yakın zamanda kullanmaya başladığım Elasticsearch’den ve Elasticsearch’ü Django’da nasıl kullanabileceğimizden bahsedeceğim.

Python ile TC Kimlik Numarası doğrulama

Merak edip TC Kimlik no algoritmasını araştırdığımda aşağıdaki kurallara ulaştım:

Django geliştirme ortamı için basit statik sunucu

Django‘da web uygulamaları geliştirirken, geliştirme ortamında her seferinde beni en çok sıkıntıya sokan mevzu css ve js dosyaları gibi statik dosyaların sunulması işiydi. Böyle bir iş için bilgisayarıma http sunucusu kurmaktan ve bunu konfigüre etmekten hep kaçtım. Ancak bugün tam da aradığım basitlikte bir çözüme ulaştım. Python’un imdadımıza yetişen SimpleHTTPServer modülü ile yazdığımız aşağıdaki tek satırlık komut, bulunduğum klasörü http üzerinden sunma imkanı veriyor:

Mac OSX Lion'da SSHFS kullanımı

Mac OS Snow Leopard sürümünde Macports yardımıyla kolayca kurup kullandığımız(port install sshfs) sshfs uygulamasını Lion’da kullanmakta sıkıntılar yaşıyoruz zira sshfs’in kullandığı MacFUSE uygulamasının Lion uyumlu bir versiyonu çıkmadı. Lion’da sshfs ile uzak bir noktayı bilgisayarınıza mount etmek istediğinizde aşağıdaki hatayı alıyorsanız, az sonra ileteceğim çözüm sizin de işinizi görecektir:

Dropbox'ı FTP gibi kullanmak

Dropbox birden fazla bilgisayar, telefon veya tablet üzerinde senkronize bir klasör sahibi olmanızı sağlayan, bu klasörden istediklerinizi başkalarıyla paylaşarak, üzerinde ortak çalışma şansı sunan, son zamanların en güzel yazılım çözümlerinden biri. Biraz daha açmak gerekirse; Dropbox’a ücretsiz üye olup, bilgisayarınıza kurduğunuzda, Belgelerim altında bir klasörünüz artık devamlı Dropbox sunucularına yedeklenmeye başlanıyor. Aynı üyelikle başka bir bilgisayara daha(mesela iş bilgisayarınıza) Dropbox kurduğunuzda, aynı dosyalar otomatik olarak buraya da kopyalanıyor. Herhangi bir bilgisayarda bu dosyalarda bir değişiklik yapıldığında, diğer bağlantılı bilgisayarlara da otomatik yansıtılıyor.

Yerimizi bilelim

Blog yazmaya başladığım yaklaşık 6 yıl öncesinden itibaren, blogumun kişisel ve teknik içeriğinin bir arada sunuluyor olmasından rahatsızlık duymuşumdur. Zira websayfamda yazdıklarımı takip etmek isteyenlerin bir kısmı çalışma arkadaşlarım veya ilgilendiğim teknik mevzularla ilgisi olan yazılımcı topluluğu iken, diğer bir kısmı ise, ailem, okul arkadaşlarım, değişik hobiler vesilesiyle tanıştığım kişiler veya bir şekilde internet ortamında beni tanıyanlardan oluşuyor. Hal böyle olunca, siteye teknik bir yazı eklediğimde teknik mevzulara uzak bir çok takipçi için gereksiz ve manasız bir içerik önlerine düşüyor. Tam tersi şekilde, sanatla veya gündem mevzularıyla ilgili düşüncelerimi yazdığımda ise, bir çok teknik takipçim “hep böyle şeyler yazacaksan beni yorma” diye düşünüyorlardır muhakkak.

About me

Me!

I'm Principal Front-end developer at sahibinden.com. I love Javascript, AngularJS and Python.

profile for Murat Çorlu at Stack Overflow, Q&A for professional and enthusiast programmers

You can contact me by emailing muratcorlu@gmail.com.

Follow me on Twitter and fork me on GitHub !