BAŞA DÖN

Google maps IP engeline web sunucusu tabanlı reverse proxy çözümü

Ocak 2009'da yayına alınan Google Maps altyapısını kullanan "Cumhurbaşkanımız Nerede?" uygulaması Google servislerine ait bazı IP adreslerine mahkeme kararı ile erişim yasağı koyulmasının ardından hizmet veremez hale gelmişti. Aradan geçen bunca zamana rağmen Google tarafından çözüm üretilmemesi üzerine sorunu kendi yöntemlerimiz ile ortadan kaldırmak üzere durumu incelemeye koyulduk.

Google yoğun ziyaretçi trafiğini sunucular arasında dengelemek için çeşitli yöntemlere başvuruyor. Ülkemizden gelen bağlantılarda Google DNS sunucuları engellenmiş olan IP adresini içeren bir çözümleme yapıyor ve sorunda burada başlıyor. Kullanıcıların kendi bilgisayarlarında yapacakları bazı ayarlar ile bu problemi gidermek mümkün. Ziyaretçilere "Cumhurbaşkanımız Nerede?" uygulamasını kullanabilmek için bu ayarları yapmaları gerektiğini söylemek hiç mantıklı olmayacağı gibi birçok kullanıcının üstesinden gelemeyeceği teknik detayları içeren bir konu olmasıda işin cabası. Öyleyse bu işi kullanıcıların yerine uygulama sunucusunun kendisi yapmalıydı "Reverse Proxy" fikri bu gerekçe ile ortaya çıktı.

http://khm.google.com, http://khm1.google.com, http://mt0.google.com, http://mt1.google.com sunucularının IP adreslerindeki engelden dolayı haritaların yüklenemediğini tespit ettik. Öncelikle uygulama sunucusunda DNS çözümleme ayarlarında bazı değişiklikler yaparak bu servislere erişimi engel bulunmayan IP'ler üzerinden yapmasını sağladık böylece sunucu üzerinde Google Maps servisi çalışır hale geldi. Uygulamada kullandığımız "Google Map Javascript API" yi hazırladığımız Reverse Proxy üzerinden çağırdık.

<script type="text/javascript" src="webproxy.ashx?Url=http://maps.google.com/maps/api/js"></script>

webproxy.ashx dosyası "Url" parametresi ile kendisine gönderilen adrese ziyaretçinin gönderdiği bazı temel üstbilgileri ekleyerek sunucu tarafında bir istekte bulunur (http://msdn.microsoft.com/en-us/library/debx8sh9.aspx). Google sunucusundan alınan yanıt "text/javascript" tipinde ise kullanıcıya bu dosya transfer edilmeden (http://msdn.microsoft.com/en-us/library/system.net.webresponse.aspx) önce IP adreslerine erişim engeli bulunan sunucu adreslerine müdahale edilir. Yerleşik String.Replace metodu kullanılarak örneğin "http://khm.google.com/" adresi "webproxy.ashx?Url=http://khm.google.com/" şeklinde değiştirilir. Böylece kullanıcının internet tarayıcısına ulaşan "Google Map Javascript API" dosyasında erişim engeli bulunan diğer sunuculara yapılacak isteklerin "Reverse Proxy" üzerinden geçmesi gerektiği belirtilmiş olur. Ayrıca Google tarafından kullanıcı oturumunu takip etmek için gönderilen çerez bilgileri kullanıcıya özel bir "Session" değişkeninde saklanır (http://msdn.microsoft.com/tr-tr/library/system.net.httpwebrequest.cookiecontainer.aspx) aksi taktirde daha sonra yapılacak bir dizi isteği Google Map sunucusu ilişkilendiremeyerek yanıt vermeyi kesecektir.

O anda ekranda görülen bölgenin harita fotoğrafları "Google Map Javascript API" dosyasında dinamik olarak yaptığımız değişiklik sayesinde "webproxy.ashx?Url=...." adresi üzerinden talep edilir. Yeni hedefi "Url" parametresinden alan "webproxy.ashx" dosyası kullanıcıya özel olarak saklanan çerez bilgilerini ve kullanıcının tarayıcısından gönderilen bazı temel üstbilgileri ekleyerek sunucu tarafında yeni bir istekte bulunur. Google Maps sunucusu tarafından gönderilen içerik tipinin (MIME) "image/png" olduğu teyit edildiği taktirde istemciye aktarılırken sunucu performansı için istemci tarafı önbellekleme komutları eklenir (http://msdn.microsoft.com/en-us/library/system.web.httpresponse.cache(v=VS.90).aspx). Tüm bu işlemler ziyaretçi farketmeden ve kullandığı internet tarayıcısında yada işletim sisteminde hiçbir ayar değiştirmeyi gerekli kılmadan arka planda kendiliğinden gerçekleşmiş olur.

Yeterli teknik ve kodlama bilgisine sahip değilseniz kendi "Reverse Proxy" uygulamanızı baştan yazmak yerine http://www.codeproject.com/KB/IP/reverseproxy.aspx ve http://www.codeproject.com/KB/web-security/HTTPReverseProxy.aspx adresindeki gibi açık kaynak kodlu projelerden yararlanmayı tercih edebilirsiniz. Eğer PHP tabanlı bir sistem kullanıyorsanız http://www.glype.com/ adresindeki açık kaynak kodlu uygulamaya eklenti yazmayı deneyebilirsiniz.


"Cumhurbaşkanı Nerede?" projemiz 7. eTR Ödülleri'nde "Özel Ödül"'e layık görüldü.

TÜSİAD ve TBV tarafından düzenlenen eTR ödülleri, proje yaptıran kurumları onure etmek amacıyla her sene düzenleniyor. Bu sene Cumhurbaşkanımız sayın Abdullah Gül'ün evsahipliğinde Köşk'te yapıldı.

Cumhurbaşkanımız Sayın Abdullah Gül'ün konuşması.

Köşk'te ödül töreni resepsiyonu için gönderilen davetiye elime ulaştığında gerçekten içimi güzel bir sevinç kaplamıştı.

Biz bilişimciler hep bilginin öneminden ve yaptığımız işin insan ve toplum hayatında ne denli yenilikler getirdiğinden bahsederiz, birazda kendimiz söyler kendimiz oynarız, oynardık. Bu ödül töreninin devletin en önemli kurumunda yapılması bilişim dünyası için ayrı bir anlam taşıdığını düşünüyorum.

Gelelim ödüle, "aslında ödül almak önemli değil, önemli olan çalışmak" desem de ödül almak insanın kendi kendine verdiği değeri arttırdığı gibi etrafında değer artışı meydana getiriyor.

eTR kapsamında verilen ödüller, projeye ve projeyi yaptıran kamu kurumuna veriliyor. "Cumhurbaşkanı Nerede?" uygulaması ile ilgili ödülü proje adına Cumhurbaşkanlığı Genel Sekreteri Mustafa İsen aldı.

Cumhurbaşkanlığı Genel Sekreteri Mustafa İsen, ödülü alırken.

Proje fikrini üreten ve projeyi hazırlayan firmam adına projede çalışan bütün arkadaşlarımı tebrik ediyorum.

Ayrıca bize bu projeyi uygulama fırsatı veren Cumhurbaşkanlığı Genel Sekreteri Mustafa İsen, Cumhurbaşkanlığı Elektronik ve Bilgi Sistemleri Başkanı Ömer Arıkan beye (unutmadım :) güleryüzüyle içimizi ısıtan Cumhurbaşkanlığı Yazılım Müdürü Yavuz Emir Beyribey'e) teşekkür ediyorum.

Bu arada bilişime verdiği önemi yerinde vurgulayan, nazik ve mütevazi kişiliğiyle ön plana çıkan ve projelerimizi anlattığımda ilgiyle dinleyip fikirlerini paylaşan Cumhurbaşkanımız Sayın Abdullah Gül'e ayrıca müteşekkir olduğumu, bizlerle fotoğraf çektirdiği için de gurur duyduğumu ifade etmek isterim.

Cumhurbaşkanımız Sayın Abdullah Gül ile fotoğrafımız

(Yeni yılda T.C. Cumhurbaşkanlığı sitesinde sosyal medya ve özellikle Web 2.0 projelerine ağırlık vereceğimizi şimdiden duyurmuş olayım.)

Daha detaylı bilgi için T.C. Cumhurbaşkanlığı resmi web sitesini ziyaret edebilirsiniz.  http://www.tccb.gov.tr/sayfa/haber/detay/?d=haber1191


e-Ticaret üzerine yorumlar - 3

Daha önce başladığımız E-ticaret üzerine yorumlar (1.yazı - 2.yazı) serimizin 3.sünde 2008 yılının 2. yarısı ile başlayan küresel kriz ve sonrasında e-ticaret sektörü üzerine istatistiksel olarak bir bakış yapalım istedik.

Malum 2008 yılı hemen her sektör için daralma ile geçti, bu kurala uymayanlar elbet oldular ki onlardan birisi bize göre e-ticaret ve internet üzerinden satış sektörü. Buna çok çeşitli ürün satışı, açık arttırma siteleri, küçük-orta ölçekli satış,kiralama siteleri dahil.

Ocak ayı başında sevgili Ahmet Kirtok, bloğunda "2008 Yılbaşı Sezonu Eticaret İstatistikleri"  isimli bir yazı yayınlamış, ABD'de yılbaşı sezonunun 2007'ye göre %3 düştüğünü, aynı dönemde ise Hepsiburada.com'un %30 artış yaptığını anlatmıştı.

Bildiğiniz gibi BKM (Bankalar arası kart merkezi) belirli aralıklarla, kart kullanım oranlarını ve sanalpos kullanım istatistiklerini sitesinde yayınlıyor. Oradaki değerlere bir göz atarsak, ülkemizde e-ticaretin önünün açık olduğunu rahatlıkla söyleyebiliriz. Küçük bir hatırlatma: sanalposlar sadece son kullanıcı değil, firmalar arasındaki B2B dediğimiz ticarette'de sıklıkla kullanılıyor.

Grafiklere şöyle bir göz gezdirdiğimizde şunları görebiliyoruz:

  1. 2008 yılındaki e-ticaret hacmimiz 9 Milyar YTL (~6 Milyar USD)
  2. Ülkemizde e-ticaret işlemlerinin kriz dinlemeden artmaya devam ediyor
  3. Yurtdışından, ülkemizdeki e-ticaret sitelerine ilgi (2007'ye göre %448 oranında) git gide artıyor.
  4. 2007 yılı patlama yapsa da krize rağmen yerli kullanıcı internetten alışverişi bırakamıyor (2007'ye göre artış %50)
  5. Logaritmik olmasa bile önceden beri söyleye geldiğimiz gibi e-ticaret kullanımı 2009'da da artmaya devam edecektir. Buna belki de küresel krizin Türkiye'deki yansımaları da sebep oluyor olabilir. Dışarı çıkmayan kitle, alışverişini internete kaydırıyor diyebiliriz.

Buraya tablo olarak koymadık ama BKM'nin sanalpos rakamlarından 2007 ve 2008 Aralık dönemine bakarsak:

  • 2007 Aralık ,yurtiçi kart kullanımı : 539,16 Milyon YTL ,
  • 2008 Aralık ,yurtiçi kart kullanımı : 664,46 Milyon YTL ,
  • Artış  %23
  • Kaan Dönmez'in Hepsiburada.com için söylediği %30 luk büyüme rakamıda bu şekilde aslında doğrulanmış oluyor.

Usta olabilmek

Bir süredir arabam yolda giderken birden bire gazı kesiyor ve "usta tabiri ile" yığılma yapıyordu. Şöyle düşünebilirsiniz; 120 ile giderken birden ayağınızı gazdan çekiyorsunuz ve araç anında 80'e iniyor. Arkadan gelen araçlar ise birden dibinizde bitiveriyorlar. Özellikle otoyol ve ışık sonrası kalkışlarda oldukça sıkıntılı anlar yaşanmasına sebep oluyor. Demedi demeyin.

Yakıt almadaki bu problemi karbüratörlü araçlarda pislik gelmesi gibi birşey diye yorumlayıp geçer belki diye boşuna ümit etmişim. Geçen gün Mustafa ile sanayiye gittik, aklımdaki ilk şey LPG sistemi ile alakalı olduğu idi, 2 yere sorunca 3. yerde bizim marka LPG ustasını bulduk. Bilgisayarda kontrol etti, beraber tur attık, "abi" dedi, "bunun sorunu elektrik ile alakalı, LPG sistemi iyi çalışyıor. Endüksiyon bobininden olabilir, sen bunu şuradaki Toyota'cı Adil ustaya göster"

Kalktık, Adil ustaya gittik, beraber bir tur attık, "bunun sorunu bobinden" dedi. Elektrik sisteminde kesinti olduğu için araba yığılıyor ama bunu gidip serviste yaptırırsan bobini garantili takarlar daha iyi olur dedi. Tahmini rakam ise yalan olmasın 300 civarı olurmuş.

İyi dedik, ayrıldık. Mustafa "abi servisten önce başka bir ustaya da göstermekde fayda var, benim ustalara bir gidelim mi?" diye teklif edince, kabul ettim. Tek başıma olsam sormam ama söz dinleyesim geldi.

Ustaya uğradık, beraber tur attık, "bu Endüksiyon bobinden olabilir" dedi :)  Bir ihtimal buji kablolarından da olabilirmiş. Toyota parçacısına uğradık, parçacı "ben hiç görmedim bu modellerde bobin arızası" diyerek ortaya yeni bir tez koyuverdi. Onu biraz kınasa da denemek için bir set kablo aldık. Usta araçla biz yayan dükkana döndüğümüzde, ileri geri manevra yapıyorlardı. "Bu" dedi, "geri giderken kesilme yapmıyor, sadece ileri giderken yapıyor, kesin LPG takılırken bir kablo açık kalmıştır, öne gidince kablo sıkışıyor ve şase yapıyor, bak gör!"

Aracı aldılar dükkana, abi kardeş kabloları çekip bırakmaya başladılar, 1-2 dk geçti geçmedi "bak işte!" sesi geldi. Hakikaten bir kablo sıyrılmış, onu bantladılar ve tüm sorun düzeldi.

Diğer ustalar da usta idi ama geri gitmeyi hiç düşünmemiş yahut geri gitseler de farkedememişlerdi. Yaşadıkları bu tür sorunlarda genel problem bobindi ve onu öne çıkarmışlar, gerisini  öngörememişlerdi.  Son usta ise, sorunun genel tespitini yapmış, elektrik kesintisi olduğundan hareketle, ihtimalleri değerlendirmiş, sonrasında tecrübesini konuşturarak hedefi 12'den vurmuştu.  Aklıma "çekici nereye vuracağını bilen usta hikayesi" geldi. Neyseki bizim çekiç bedeli 20 TL imiş.

Profesyonel olmak kolay, lakin bizler işimize ne kadar hakimiz? Ve ne kadar ustayız? Zor olan ise bu sorulardaki olması gereken cevabı verip, çekici yerine vuran usta olabilmek.

Not : Bu yazı, aynı zamanda kişisel bloğum olan http://www.kendimenotlar.com'da da yayınlanmıştır.


Çalışkan bir çiftçiye çelik üretmeyi öğretebilirsiniz

1973 yılından beri dünyada yaşıyorum, önceki ve sonraki hayatımla ilgili bilgim yok denecek kadar az ama öğrenmeye çalışıyorum.

Günün hayat koşullarında öğrenmeye açık birisi olarak etrafı gözlemliyor ve kendime yakın gördüğüm şeyleri almaya çalışıyorum.

Hayatımı farklı evrelere bölmek gerekirse, Üniversite öncesi, Üniversite hayatı, Çalışma hayatı, 1.Girişimcilik hayatı, 2.Girişimcilik hayatı ve sonrası diye ayırabilirim.

Yazımın konusu daha çok 1. ve 2. Girişimcilik hayatı üzerine olacak.

Çalışma hayatında insan etrafı ne kadar gözlemlese de elindeki bilgi tabanların uygulama sahaları kısıtlı olduğu için ne kadarının doğru olduğu ile ilgili tam bir tecrübeye sahip olamıyor. Tabi tecrübe güzel bir kelime, hep yanılanlara göre "kazıkların bileşkesi", bilgeliğe önem verenler için "bilgi balı", ayran gönüllüler için "deneme-yanılma". Kendim için hepsinden bir parça diyeyim. Yanılmaktan korktuğum için daha çok diğer ikisi ağırlıkta :)

1. Girişimcilik hayatım diyebileceğim dönemde daha çok "deneme-yanılma" yoluyla tecrübe elde etmiş oldum, tabiki kazıkların olmaması mümkün değil. Bu dönemde "bilgi bal"larına ulaşmam yani değer verdiğim birilerin dinlemekten veya az vakit ayırdığım bazı kitapları okumaktan ibaretti.

Şimdilerde Amerika'nın ünlü fikir adamlarından JIM COLLINS 'in "İYİ'DEN MÜKEMMEL ŞİRKETE" kalıcı başarıya ulaşmanın yolları adlı kitabı okuyorum. Gerçektende çok başarılı (yani ben söylemesemde başarılı ama içimden geldi).

Özellikle kendime, hayat felsefeme ve kişisel öz değerlerime yakın olduğu için kitabı yudumlayarak okumaya çalışıyorum. Fırsat buldukça erkyazılım blogundan internet dünyasındaki sizlerle paylaşacağım.

Açıkçası bu kitap bende 2.Girişimcilik evresini başlattı diyebilirim. Kitaptan çıkardığım bazı başlıkları buraya sıralayayım

- İnsanların sizin en önemli varlığınız olduğunu söyleyen o eski atasözü yerine İyiden Mükemmele en önemli varlığınız Doğru insanlardır.
- Çalışkan bir çiftçiye çelik üretmeyi öğretebilirsiniz ama iş ahlakına sahip olmayan birine, çiftçiliğin iş ahlakını öğretemezsiniz.
- Mükemmel insanlara kapımız her zaman açıktır.
- En iyileri yönetmeye gerek yoktur, yönlendirmek, öğretmek, yol göstermek evet.
- Otobüse doğru insanları almak, yanlış insanları ya hemen indirmek veya önemsizleştirmek. Otobüste yanlış birisi var ve onun kim/ler olduğunu biliyoruz. Biraz bekleriz, yapmamız gereken şeyi erteleriz, başka alternatifleri deneriz, bir üçüncü sonra dördüncü şans veririz, durumun değişeceğini umar, o kişiyi gereğince yönetmek için zamanımızı ve enerjimizi harcar, onun yetersizliklerini telafi etmek için küçük mekanizmalar oluştururuz. Ama durum iyiye gitmez. O kişi kendi kendine karar verip gidene kadar debelenip dururuz. Bu arada iyi insanlar, "Niye bu iş bu kadar uzun sürdü acaba?" diye sorarlar. Yanlış insanların ortalıkta dolanmasına izin vermek, doğru insanlara yapılmış bir haksızlıktır.

Bu arada THY Dijital Konkurunu kazanmış olan Digital Mccann ajansından Çağlar Çokçetin'i izledim. Egosu yüksek ajans dünyasından böylesine mütevazi ve egoyu ön plana çıkarmayan birisini görmek açıkcası çok sevindirdi. Kendilerini öncelikle çalışkanlıkları ile kazandıkları işlerinden ayrıca buna karşın gösterdikleri içten tevazularından dolayı tebrik ederim. Televidyon'da yayınlanan video'yu izlemek için tıklayınız.