Archive for September 2011


Bu Kısalatmaları Biliyor Musunuz?

September 27th, 2011 — 1:37am

“RTFM, DRY, GTD, TDD, JFGI”
Yukardaki kısaltmaları bir kaç ay önce bir iş ilanında görmüştüm.
Ne olduklarını merak ettim ve google’a sordum.

Bazıları şaka gibi gözüksede,
verimli bir ekip oluşturmak için ekip üyelerinin karakterlerinde olması gereken
çok önemli temel özellikler olduklarına eminim.

RTFM – Read the Fucking Manual (Kahrolası * klavuz kitapçığını oku)
DRY – Don’t Repeat Yourself (Kendini Tekrar Etme)
GTD – Getting Things Done (Elindeki işleri bitiren)
TDD – Test Driven Development (Test odaklı geliştirme)
JFGI – Just Fucking Google It (Kahrolası * şeyi google’la :) )

* Sinema alt yazılarından alıntılanmıştır

Comments Off on Bu Kısalatmaları Biliyor Musunuz? | Something

What is Map Reduce in Plain English?

September 23rd, 2011 — 4:23am

First of all it is not a new thing.
It is a design pattern from 60s.
It is a little surprising me that another popular talk of nowadays, MVC is from 70s…
What is going on? :)

Nearly every company’s data is increasing speedy.
Doing aggregations, sorts, searches on big data needs some specialized algorithms and platforms.
Certanly you need paralel processing for quicker results.

Map/Reduce is an efficent way of doing paralel calculations
and it is a developer friendly functional programming approach.

You have just two functions.
One snipet to map, one snipet to reduce…

Google has the most famous distributed implementation of mapreduce.
And after that obvious success, others would also like to implement similar platforms… (Hbase, Hypertable … )

These solutions can make a difference when you need scalability,
if you are just playing at home (like me :) ) or with your small community,
probably you will not see the big difference…
but you must understand the passion behind learning big things :)

I want to show it with this easy schema…

map reduce example schema

Map finds what you are looking for…
Reduce consolidates the data at the end.
Removes duplicates, sorts and aggreagates (sums, gets average etc..)
You can have multiple reduces for more scalibility.

Please read these artciles for more detail information;
ayende.com/blog/4436/what-is-map-reduce-for-anyway
ayende.com/blog/4435/map-reduce-a-visual-explanation
nosqltapes.com/video/understanding-mapreduce-with-mike-miller
mongodb.org/display/DOCS/MapReduce
cookbook.mongodb.org/patterns/unique_items_map_reduce/

Comments Off on What is Map Reduce in Plain English? | NoSql

Map Reduce Nedir?

September 22nd, 2011 — 5:59am

Herşeyden öne yeni bir şey olmadığını söyleyelim.
60’lı yıllardan kalma bir tasarım kalıbı.
Bugünlerde çokça popüler diğer bir konu olan
MVC’nin de 70’lerden kalma bir tasarım kalıbı olması
beni biraz şaşırtmakta, Nereye gidiyoruz acaba? :)

Son yıllarda neredeyse tüm şirketlerin verileri oldukça fazla arttı.
Bu büyük veritabanları üzerinde hesaplamalar, sıralamalar ve aramalar yapmak
bazı özel algoritmalar belkide özel plaatformlar istiyor.
Büyük boyutlu datalarla çalıştığımız durumlarda
işlemleri paralelleştirmek bariz bir şekilde istediğimiz bir durum.

Map/Reduce paralel hesaplamalar yapmak için ideal yollardan biri.
Geliştirici için nispeten basit bir fonksiyonel programlama uygulaması.

Sadece 2 fonksiyon var…
Bir “map” fonksiyon betiği, bir “reduce” fonksiyon betiği…

Google uygulamaları, en popüler dağıtık mapreduce uygulaması örneği.
Bu bariz başarı, herkesi buna benzer yapılar implemente etmeye teşvik ediyor… (Hbase, Hypertable … )

Bu tarz çözümler “scalability” söz konusu olduğunda fark yaratıyor.
sadece evde oynuyorsak :)
ya da fazla yüklü olmayan bir sistemden bahsediyorsak, faydasını göremeyebiliriz.

Ama yeni şeyler (biz daha doğmadan önce konuşuluyor olsa bile) öğrenmek her zaman güzeldir.

Şu şemaya bakarak basitçe yorumlayabiliriz…

map reduce

Map anahtar kelimemizle aradığımız verilere ulaşıyor.
Reduce veriyi consolide ediyor,
tekrar edenleri siliyor, sıralıyor ve hesaplıyor (sums, average etc..)
“Scalibility” sebebiyle birden çok reduce uygulamamız gereken durumlarımız olabilir.

Daha fazlası için şu yazıları okumanızı tavsiye ederim;
ayende.com/blog/4436/what-is-map-reduce-for-anyway
ayende.com/blog/4435/map-reduce-a-visual-explanation
nosqltapes.com/video/understanding-mapreduce-with-mike-miller
mongodb.org/display/DOCS/MapReduce
cookbook.mongodb.org/patterns/unique_items_map_reduce/

1 comment » | NoSql

Intermec CN3 ile GPS Uygulaması Geliştirmek

September 19th, 2011 — 5:04am

Bu yazı Intermec CN3 Windows Mobile 6.1 yüklü bir cihaza,
GPS koordinatlarını loglayan bir uygulama geliştiririrken
süreçte oluşan duygu ve düşüncelerdir.

İşin en başında şunu söylemek lazım,
Windows Mobile gelişitiriyorsanız Emülatör’e güvenmeden geliştirin.
Cihaz üzerinde test etmek daha sağlıklı olacak.
Biraz zaman kaybettirecek ama bu kayba değer… Hatta belki de zaman kazandıracak diye düşünebiliriz.

Eğer Windows Mobile geliştirmede daha önce tecrübemiz yoksa,
StackOverflow’daki şu soru cevap mutlaka okunmalı…

Mobile Geliştirmek için kurmamız gereken, Windows Mobile SDK
ile gelen örneklerde güzel bir GPS uygulaması örneğin de var.
Muhtemelen şu klasörde olacak. “C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS”

Kullanacağınız cihazın üreticisinin web sayfasını mutlaka inceleyin.
Mesela güzel bir intermec geliştirici forumu varmış …

Üretici sayfasında doğrudan bu derde derman bir, CN3 ile GPS uygulaması geliştirmek dökümanı da mevcut.
Döküman GPS nedir?’e kadar iniyor. Ve oldukça güzel hazırlanmış.

Gene aynı dökümanda GPS’e erişim için
Microsoft GPS Intermediate Driver (GPSID)” kullanımı öneriliyor.
Bunun dışındaki yollar desteklenmiyor ve önerilmiyor.
Windows Mobile SDK ile gelen örnekdeki DLL’i
gönül rahatlığı ile kullanmamız gerektiğini söylüyor yani.
DLL adında Samples! geçirse bile…
using Microsoft.WindowsMobile.Samples.Location;

CN3’ü açıp açık havada biraz beklettikten sonra GPS anca kendine geliyor.
(A-GPS) Asisted GPS’i de olmadığı için uyduları bulması açıldıktan 10-15 dakika sonrayı bulabiliyor.
Kapalı alanlarda da uydulara ulaşmada genel olarak başarısız diye biliriz.

Bu yazıyı tavsiye yazısı olarak hazırladım.
Yaptığım bu uygulamanın açık kaynak hale getirilmiş olan halini,
github profilimden inceleyebilirsiniz.

Ayrıca şu yazılarda ilginizi çekebilir.

Windows Mobile’da Basitçe GPS koordinatlarını almak
Windows Mobile’da WCF Servis çağırmak
Windows Mobile’da Arka Planda Çalışan Uygulama Geliştirmek

Comments Off on Intermec CN3 ile GPS Uygulaması Geliştirmek | Csharp - C#, GIS

Windows Mobile’da WCF Servis Çağırmak

September 19th, 2011 — 5:03am

Çalıştığım projede kaydettiğim konum bilgisini servis ile veritabanına yazmam gerekiyordu.

Mobil projelerde varsayılan olarak WCF Servisi referans olarak gösteremiyoruz.
Neyseki basit web servisi eklerken bir sorun yok :)

Sadece konum bilgilerini göndermek için
WCF taklaları atmamak istedim
ve basit bir asmx metod ile yaptım.

Gerçi Agile Manifesto‘yu imzaladıktan sonra
ve kolaya kaçmak hoşuma gitmese de, inanın haklı sebeplerim vardı :)

Eğer WCF’de diretmek istersek,
Codeplex’de wcf guidance for mobile isimli projede
downloads sayfası hem örnek kodlara hemde 72 sayfalık bir dökümana sahip…

Comments Off on Windows Mobile’da WCF Servis Çağırmak | Csharp - C#

Windows Mobile’da Arka Planda Çalışan Uygulama Geliştirmek

September 19th, 2011 — 5:02am

Windows Mobile’da arka planda çalışmasını istediğiniz bir uygulama geliştirmek için
“SmartDeviceProject” proje tipinden “Console Application” template’ini seçerek geliştirmelisiniz.

Bu şekilde çalışan uygulama sadece Task Manager’da “Process” listesinde görüntülenmektedir.

Mobile Form uygulaması yapıp formu gizleme yolunda gitmek
kullandığınız cihaza göre istediğiniz sonucu alamamanıza sebep verebilir.

Ben CN3 üzerinde form gizlemek ile baya bir zaman kaybettim.
StackOverflow’daki cevap gelmemiş olan sorumu da burada paylaşayım.
Windows Mobile Form Hiding Problem

Gözümden kaçan bildiğiniz bir yol varsa benimle paylaşırsanız sevinirim.

Comments Off on Windows Mobile’da Arka Planda Çalışan Uygulama Geliştirmek | Csharp - C#

Page 1 of 212

Back to top