Articles

Clojure ile JVM ve Lisp dünyasına 'Merhaba Dünya'

Lisp ve JVM’in buluştuğu Clojure ile ne zamandan beri tanışmak istiyordum. Clojure, söylenenlere göre Lisp fanatiklerinin Lisp’de en sevdiği özelliklerin tutulduğu ve nefret edenlerinin en nefret ettiği parçaların çıkarıldığı bir programlama dili. Java sanal makinesi üzerinde çalıştığı için bütün Java kütüphanelerini kullanabiliyor, Java ve diğer JVM dilleriyle ortak kullanabileceği kod tabanları oluşturabiliyor. Kod yapısına baktığınızda direkt Lisp gibi görünse de parantez kullanımı biraz daha azaltılmış. Lisp yapısının haricinde dilin harika özellikleri var. Fonksiyonel programlama son...

Continue Reading

Masaüstü Linux Dünyası

GNU/Linux hepimizin çok sevdiği, öve öve bitiremediği ama çoğunlukla sanal makinada ya da dual bot ile kullanmayı layık gördüğümüz bir işletim sistemi. Ancak bugün burada Linux’un sunucu bazında pazar payındaki tartışılmaz aslan payından, Android olarak ceplerde edindiği yerinden, mikro ölçekli milyonlarca cihazla dünyayı ele geçirmesinden bahsetmeyeceğim. Benim burada konuşacağım tek konu GNU/Linux dağıtımlarının masaüstü bilgisayarlarındaki durumu olacak. Linux ile ilk tanışmam 2000 li yılların başında, ilk bilgisayara sahip olduğum zamanlarda, bir derginin yanında hediye verilen...

Continue Reading

İpucu : Konsol ile angular.js scope'unda gezinti

Angular.js ile geliştirdiğimiz uygulamalarda bazen controller üzerinden gelen veriye view’ın nasıl tepki vereceğini kestiremediğimiz oluyor. Live edit özellikli bir geliştirme ortamınız yoksa controller koduna girip $scope değişkenlerini düzenleyerek uygulamamızın nasıl tepki gösterdiği gözlemlemeniz gerekebilir. Örneğin sayfanızın bir bölümü ng-show ve/veya ng-hide direktifleriyle controller‘daki bir veri kaynağına veya bir fonksiyonun sonucuna bağlı olsun. Bu değer değiştiğinde sayfanızdaki ilgili kısmın gösterildiğinde ya da gizlendiğinde ne olacağını gözlemlemek istiyorsunuz. Ya da en iyisi örneği boş verin burada hayatta...

Continue Reading

JavaScript ile Call, Apply ve Bind Kullanımı

Merhaba, sizlere JavaScript’te kullanılan call(), apply() ve bind() fonksiyonlarından ve hayatımızı nasıl kolaylaştırdıklarından bahsetmek istiyorum. JavaScript, her ne kadar çok çok iyi bildiğim bir dil olmasa da benim ilgilendiğim programlama dilleri içinde en zevkli bulduğum dil. Zaten bundan daha önceki yazılarımdan birinde bu sevgimden bahsettim sanıyorum. Yazıya başlamadan önce ayrıca belirtmek isterim ki JavaScript dünyadaki en yanlış anlaşılmış programlama dili olabilir. Ülkemizde bu konuda başarılı yazılımcılar olmasına rağmen yine de JavaScript deyince malesef hala çoğu...

Continue Reading

Ajax.BeginForm ve Require.js

###Arka Plan Geçenlerde ASP.NET MVC ile geliştirdiğim projemin çok büyüdüğünü ve javascript kodlarının artık kontrol edilemez bir hale geldiğini farkettim. Modüller ve bağlılıklar içinden çıkılmaz hale geldiğinde artık projenin Require.js ile söz kesmesinin zamanı geldiğine karar verdim. RequireJS gerçekten harika! Kullandıkça sizi düzene alıştırıyor ve gerçekten kod yazma alışkanlıklarınızı değiştiriyor. Aslında beklentim EcmaScript6 standart olarak tüm tarayıcılarda yerini aldığında çok daha iyi AMD ler görebilmek. Proje backend olarak WebApi 2.0 ve frontend framework olarak da...

Continue Reading

Ruby ile TC Kimlik Doğrulama

Bir süredir elimde olan bir kodu sizinle paylaşmak istiyorum. TC vatandaşlık numaralarının doğrulaması için Ruby ile yazdım. Aslında kodun orijinalini bu sayfada bulabilirsiniz. TC Kimlik numarasının doğrulamasının nasıl yapıldığının algoritması ve Phyton kodu paylaşılmış. Benim tek yaptığım buradan fikri almak ve Ruby dili ile biraz da deney maksatlı uyarlama yapmak oldu. Bilindiği üzere TCKN kimlik numaraları belirli algoritmalar üzerine kurulu. Daha eski gazete haberlerinden hatırlar mısınız bilmiyorum ama bazı kişilerin sizin kimlik numaranızı elegeçirdikten sonra...

Continue Reading

Newtonsoft.Json için Custom DateTime Converter

Newtonsoft.Json en .NET içerinde artık standart Json kütüphanesi sayılabilir. Çoğu zaman Json ile AJAX işlemleri yürüttüğümüzde tarih formatları başımızı ağrıtır. Bunun farklı kültürleri var, UTC’si haticesi uzayıp gider. Mantıklı ve uygulaması kolay olan iki ayaklı bir çözümüm var : Sunucudan veri okurken her zaman UTC olarak veri çek, formatlama işini JavaScript halletsin. Sunucuya veri yollamadan önce uygulama çapında DateTime girişi yapacak tüm kontroller standart bir format kullansın (örn : ‘dd-mm-yyyy’) Sunucu ile yapılacak bilgi alışverişini...

Continue Reading

Blog'umun Yeni Yeri ve Tasarımı

Bilgisayar programlamaya olan ilk hevesimin ne zaman başladığını hatırlamaya çalışıyorum da sanırım bu heves ilk bilgisayarımın alındığı 2001 yılının da öncesine giden bir heves. Bir tanıdığımın MyNet üzerindeki online yardımcıları kullanarak bir site oluşturduğunu hatırlıyorum. Aynı yolu izleyerek ben de kendime bir internet sitesi oluşturmuştum. Sonra lisede öğrendiğimiz QBasic, Pascal daha sonra C++ derken aradan geçen bütün bu yıllarda popüler programlama dillerinin hemen hemen hepsiyle en az bir kez işim oldu. İlk profesyonel web uygulamalarını...

Continue Reading

Protein Bar Tarifi

Yazılımdan, işten güçten vakit ayırabildikçe sağlıklı yaşamak adına elimden geldiğince spor yapıyorum. Spor hem zihnimi açık tutuyor hem de bilgisayar karşısında geçen yoğun saatlerden kaynaklanan postür bozukluklarının oluşmasını engelliyor. Kilo kontrolünün en önemli faktörlerinden bir diğeri ise diyet. Diyetten kastım yediğimize içtiğimize dikkat etmek ya da aldığımız kalori ile yaktığımız kalori arasında denge kurmak. Bunu dengelemenin en kolay yolu gün içine ara öğünler koymak. Ara öğünler ile kan şekerinizi dengede tutabilir ve asıl öğünlerinize çok...

Continue Reading

Mac OS X GCC Compiler ile C++ Derlemeye Giriş

Bir programcı olarak yeni bir ortamı ve yeni bir işletim sistemini keşfe çıkmak gerçekten çok heyecan verici. Keşfedilecek o kadar çok şey var ki insan neresinden başlayacağını şaşırıyor. Unix tabanlı sistemler genelde görsellikle arası pek iyi olmaması ile ünlü iken, OS X hem Unix tabanlı bir işletim sistemi hem de Windows’tan da daha görsel ve kolay bir sistem. Unix tabanlı olmasının en güzel yanlarından birisi de güvenli ve sağlam olmasının yanı sıra hepimizin çok sevdiği...

Continue Reading