Sayfalar

16 Mayıs 2013 Perşembe

Web Uygulamalarınız Farklı Ekran Çözünürlüklerinde Nasıl Görünüyor?

0 yorum

Geliştirdiğiniz web uygulamalarınızın(lokalinizde çalışanlar dahil) farklı ekran çözünürlüklerinde nasıl göründüklerini merak ediyorsanız, aşağıdaki uygulamadan faydalanabilirsiniz:

http://quirktools.com/screenfly/
























ali kemal taşçı

5 Kasım 2012 Pazartesi

SLR Fotoğraf Makinesi Nasıl Çalışır?

0 yorum
Bir SLR fotoğraf makinesinin nasıl çalıştığını merak ediyorsanız, buradaki simülatöre göz atmanızı öneririm.

Simulatöre göz atmadan önce aşağıdaki kavramlarla ilgili bazı özet bilgileri paylaşmak isterim:

Aperture(Diyafram) : Objektiflerin içinden geçecek olan ışığın miktarını ayarlayan mekanizmaya diyafram denir. Yüksek f değeri daha çok şeyin odaklanmasını sağlarken, kameraya giren ışığın miktarını azaltır. Düşük f- değeri ise, daha flu bir arkaplan oluşmasına neden olurken, kameraya giren ışığın miktarını arttırır.


Shutter( Enstantane): Obtüratör hızı ya da perde hızı olarak da geçebilen enstantane, deklanşör düğmesine (fotoğraf çekmek için bastığımız düğme) bastığımızda optik algılayıcıya ne kadar süre ile ışık düşürüleceğini belirtir. Yüksek enstantane fotoğraftaki hareketi dondurmaya yararken, objektife giren ışğın miktarını azaltır. Düşük enstantane objektife giren ışığın miktrarını arttırırken, fotoğraftaki hareketin bulanıklaşmasına neden olur.



ISO: ISO ile kastedilmek istenen aslında ‘ISO hızı’dır. ISO, optik algılayıcının ışığa duyarlılığını belirtir yani ISO arttıkça optik algılayıcı ışığa karşı daha hassas olur. Yüksek ISO hızı daha az ışığa gereksinim duyarken, daha grenli(kumlu) fotoğrafların oluşmasına neden olur. Düşük ISO hızı ile daha temiz(kumsuz) fotoğraflar oluşturulabilir fakat bunun için daha çok ışığa ihtiyaç duyulur.


Aşağıda farklı beyaz ayarlarındaki denemelerimi görebilir, siz de deneyebilirsiniz:








ali kemal taşçı

19 Eylül 2012 Çarşamba

Aynı Eclipse'de DB ve Java Geliştirmesi Yapmak İster misiniz?

0 yorum
Bu yazımda ClearCase Remote Client(CCRC)’in kullanmakta olduğumuz Eclipse’e bir plugin olarak kurulmasını ve karşılaştığım bazı durumları sizlerle paylaşmak istiyorum.

Faydalı olması dileğiyle...


Neden CCRC Kullanayım? 
  • CCRC daha önceden kullanmaya çalıştığımız, ClearCase SCM Adapter’ından oldukça hızlı çalışıyor. Bu hız farkını özellikle evden VPN ile bağlandığınızda daha iyi hissedeceksiniz.
  • Tekli veya Toplu “Add to Source”, “Apply Label”, “CheckIn”, “Checkout”, “Show Version Tree”, “Compare..”,  vs. işlemlerine imkan sağlıyor. Hem de alışık olduğumuz Clearcase SCM Adapter’ından daha hızlı bir şekilde.
  • Eskiden beri kullanmakta olduğumuz, SCM Adapter için, saatler sürebilen, full ClearCase Client’ın makinemize kurulması gereksinimi bulunuyor. CCRC için böyle bir gereksinim bulunmamakta.
  • SCM adapter dinamik ve snapshot view’lerin kullanımını destekliyor. CCRC ise WAN tabanlı bir plugin ve sadece web viewları için kullanılıyor.
  • CCRC plugini sayesinde DB kodlarımızı da, aynı eclipse’de java, jsp kodlarımızı yazdığımız gibi yazabiliriz. Bunun için “Perspective”’i değiştirmek yeterli.
  • CCRC de SCM Adapter gibi hızlı erişim butonları sunuyor.

Hiç mi olumsuz tarafı yok?
Aşağıdaki gibi olumsuz olduğunu düşündüğüm kısımları bulunmakta. Tabi çözümleriyle birlikte...
  • Version tree’de son versiyondan önceki versiyonlar chekout edilemiyor. Her zaman son versiyon checkout ediliyor.
Amacımız, önceki versiyonları görmekse, önceki versiyonu “Open” ile açıp içindeki kodu chekout ettiğimiz son versiyon üzerine yapıştırırsak, amacımıza ulaşabiliriz.
  • PROD branch chekout ve chekin yapılamıyor.
Bunun için, İlgili view’ımızın “Config Spec” ini değiştirebiliriz. Ama bu iş zahmetli olacaktır. Bunun yerine hızlıca yeni bir view yaratarak onun “Config Spec”’ini önce PROD’ları görecek şekilde ayarlayabiliriz(detaylar aşağıda).
Yani PROD branchları diğer view’den chekout/checkin yapabiliriz. Pek hoş değil ama idare edilebilir sanırım...
Nasıl Kurulur?
  • Öncelikle, proxy ayarımızı yapalım. Hostname pattern: *braveheartrc* gibi..
  • ClearCase SCM Adapter plugini  mevcut Eclipse’imizde varsa kaldıralım:
  • Daha sonra, http://braveheartrc/ccrc/update adresinden(clearcase server'ın adresi) CCRC plugini mevcut Eclipse’imize  kuralım:
  • Kurulum sonrası Eclipse’e eklenen ClearCase Explorer Perspective’ini açarak, viewlarımızı oluşturmaya başlayabiliriz.
  • CCRC’ye yeni view eklemek için aşağıdaki adımlar takip edilir:
  • Eklediğimiz yeni view’ımızın konfigürasyonunu yapalım:
  • Edit Configuration penceresindeki Version Selection Rule tabına aşağıdaki config spec’i yazabiliriz:
element * CHECKEDOUT
element * TO_UCCSTEST
element * /main/uccs/LATEST
element * /main/LATEST
  • Prod Branch’ ile çalışabilmek için ise, yeni bir view oluşturup, bu view için de aşağıdaki config speci  yazabiliriz:
element * CHECKEDOUT
element * TO_UCCSPROD
element * /main/PROD/LATEST
element * /main/LATEST -mkbranch PROD
  • Clearcase  aşağıdaki gibi bağlanarak çalışmaya başlayabiliriz:
  • Clearcase  view’larımızda checkout işlemi yapabilmek için aşağıdaki tanımı yapmamız gerekmektedir.
ali kemal taşçı

4 Ağustos 2012 Cumartesi

Oyunlaştırma ( Gamification )

0 yorum
İnsanlar, yapması gerekip de yapmak istemedikleri şeylere biraz oyun, eğlence katılınca, bu şeyleri zevkle yapabilmektedirler. Bunun en basit örneklerini çocuklarda görmemiz mümkündür. Çocuklara yaptırmak istediğimiz şeyleri birer oyuna çevirdiğimizde onların da bu oyuna katıldıklarını görebilmekteyiz.




Benzer şekilde yetişkinler için de yaptırılmak istenen şeyler "oyunlaştırıldığında" istenilen amaca ulaşıldığını aşağıdaki örneklerde görebilmekteyiz:

Piyano Merdiven
Yürüyen merdiven dururken, normal merdivenden böyle yürütülür:


Dünya'nın En Derin Çöp Kutusu
Parktaki çöpler çöp kutusuna böyle attırılır:




Hız Kamerası Piyangosu
Sürücülerin trafik kurallarına uyması böyle sağlanır:




Atık Şişe Toplama Kutusu Oyunu
Atık şişeler toplama kutusuna böyle attırılır:



Genel olarak oyunlaştırma ( gamification ) kavramı; “oyun dışı uygulamalarda oyun öğelerini kullanmak” şeklinde özetlenebilmektedir. Kullanım amacı ise aslında oyunlara ait olduğu kabul edilen farklı unsurları kullanarak, normalde yeterince çekici olmayan süreçleri daha eğlenceli hale getirmek ve kullanıcılara ekstra motivasyon sağlayabilmek. Oyunlaştırma normal şartlarda sadece mantıkla değerlendirilen işlemlerin içine duygusal motivasyonlar katmayı sağlıyor. Bir anlamda kullanıcılardan beklenen işlemleri gerçekleştirmeleri için karşılığında onlara duygusal bir ödül vererek ikna etmeyi hedefliyor.

Oyunlaştırmayı ürün veya hizmetlerinde kullanan firmalar tüketicileri için ek motivasyon sağlayabilmektedirler. Ama motivasyon oyunlaştırmanın tek faydası değil. Oyunlaştırmanın oluşturacağı duygusal etkiler arasında en önemlilerinden biri oyuncunun ürün veya hizmet ile arasında bir duygusal bağ kuruyor olması. Yani oyunlaştırma marka ile kullanıcıların uzun vadeli duygusal bir bağ (örneğin marka sadakati) kurmasını sağlamak için çok faydalı bir araç olabilmektedir.




Yararlanılan Kaynaklar:
Oyunu Yeniden Keşfetmek: Oyunlaştırma
Pixelplus başkanı Giray Kavazoğlu ile ‘oyunlaştırma’ üzerine
Oyunlaştırma (Gamification)
Oyunlaştırma ve yeni fırsatlar
Gamification Wiki


ali kemal taşçı

27 Temmuz 2012 Cuma

PL / SQL Notları: dbms_utility.format_error_backtrace ile geriye dönük hata ayıklama

0 yorum

PL / SQL 'de kod çalıştırırken alınan exceptionları aşağıdaki şekilde handle edebiliriz:

declare v1 tparams.tvalue1%type; v2 tparams.tvalue1%type; v3 tparams.tvalue1%type; begin select tvalue1 into v1 from tparams t where t.tparamname = 'ABC'; select tvalue1 into v2 from tparams t where t.tparamname = 'PRS'; select tvalue1 into v3 from tparams t where t.tparamname = 'XYZ'; exception when no_data_found then dbms_output.put_line(SQLERRM); end;


Program Çıktısı:
ORA-01403: no data found


Oracle 10g ile birlikte gelen "dbms_utility.format_error_backtrace" fonksiyonunu kullanarak da exception'ın geriye dönük olarak hangi satırlarda alındığını görebiliriz:

declare x number; begin x := 1 / 0; dbms_output.put_line(x); exception when others then dbms_output.put_line(SQLERRM); dbms_output.put_line(dbms_utility.format_error_backtrace); end;

Program Çıktısı:
ORA-01476: divisor is equal to zero
ORA-06512: at line 4


Konu ile ilgili faydalı linkler:
PL/SQL Exception
Exception Handling
Using DBMS_UTILITY
tracking exceptions in oracle 10g

ali kemal taşçı

11 Temmuz 2012 Çarşamba

Mehtap TV - Kadraj Programı

0 yorum
Mehtap TV'de yayınlanan, fotoğraf eğitimi, röportajlar, atölye ve karanlık oda gibi fotoğrafçılıkla ilgili birçok konunun işlendiği "Kadraj" programının videolarına buradan ulaşabilirsiniz...




ali kemal taşçı

Zaytung - Kadraj Dergisi( Kapağı)

0 yorum
Aşağıdaki dergi kapağını paylaşmak isterim :)


Not: Dergi sadece kapaktan ibarettir...








































ali kemal taşçı