15 Ocak 2009 Perşembe

NHibernate’e Başlama Klavuzu

Temeller

NHibernate kurumsal yazılım geliştirmede sıkça kullanılan açık kaynak kodlu bir Object-Relational Mapping(ORM) aracıdır.
ORM Nedir?
İlişkisel verileri, nesne tanımlarına dönüştürerek onlar üzerinde Nesneye Dayalı uygulama geliştirebilmemizi sağlayan araçlardır.
Bir ORM’in Üstlendiği Görevler Nelerdir?
· Temel Create-Read-Update-Delete fonksiyonlarını gerçekleştirebilmek için bir API
· Nesneler üzerinde sorgular oluşturabilmemiz için sağlanmış bir sorgu dili ya da bir API
· Mapping(Eşleme) tanımlarını yapabilmek için bir araç
· ORM gerçekleştirimi yapacak Transactional veri kalıcılığı, lazy-load ilişkilerin getirilmesi vb. işlemleri gerçekleştirecek bir framework…
Avantaj ve Dezavantajları
Avantajları:
  • Daha yüksek üretkenlik

    • Konsantrenizi CRUD işlemlerinden İş Mantığına yöneltebilmenizi sağlar.

6 Ocak 2009 Salı

Bir tutam staj; Bir tutam öğrencilik hayatı; Bir tutam vizyon

A Look to the Future by me®ve
Bugün sizlerle; değer verdiğim kardeşimlerimden biri; Cemile Arıkan ile, bir staj sorusuyla başlayan bir mail trafiğini paylaşacağım..
Yine gevezeliğim tututtu :) Telefonla başını şişiremediğim için; uzun uzadıya yazıp, gözlerini yormuş oldum :)
Sizin de kendinize dair bir şeyler bulabileceğinizi umut ettik. Cemile'nin de izniyle, bu mail trafiğini sizinle paylaşıyorum..
Not: Yazıda ismi geçen XYZ Firması Türkiye'de iyi tanınan; kurumsal bir holdingin, uluslarası bir firması.. Henüz toplum olarak; eleştiriyi kabul edebilecek kadar gelişmediğimiz için; firma ismini veremiyorum. Diğer yanda da elbette şu var: Ben daha iyisini yapmadan; birilerine taş atamam. Hele ki kamusal alanda :)

From: Cemile Arikan
To: Mustafa Çakmak
Subject: Merhabalar Hocam

Nasılsınız Hocam?
Neler yapıyorsunuz?
Inş herşey yolundadır, psikolojik fizyolojik:)

Fikirlerinizin bende önemli bir mahiyette olduğunu bildiğim için bir konuda fikrinizi rica edecektim. Kısaca genel bir malumat yapmak istiyorum; Aiesec’le(Yurtdışı Staj Hareketliliği) cebelleştiğimi hatırlıyorsun sanırım, geçen yaz olmadı, Erasmus sebebiyle işler çakıştı vs. Öyle olunca geçen yazım staj anlamında boş geçti.Bu yaz benim 3.5 ay staj yapmam lazimki (insss) dönem uzamasın, Bu yaz stajlarım bitmezse dönem uzar gibi birşeyler öğrendim ama tam emin değilim. Benimde düşüncem şimdiden Aiesec'le 3.5 aylık bir yer ayarlayayım, zaman uzun olduğu içinde 2 staj yerinede saydırayım(donanım-yazılım).Bu fikirle yola çıktım..Baya bir şirkete yazdım ,cevap gelenler arasında bir hazin sorun cıktı nasıl ki dersen; ilk gelen cevaplardan biri olan Nero’ydu, siteye baktım link felan vermemiş aiesec dedim, bu bizim bildiğimiz Nero heralde hemen olsun bitsin diye acele ettim, anlasmayı gönderdim ama ne oldu, sonra link verdiler bana bi baktım http://www.nero.pl/ bu adres çıktı, günlerce gözümün önünden o ana sayfadaki et resimleri gitmedi...ve istedikleri sey IT departmanındakilerle şirkete bir e-ticaret sitesi yapılması ve kulllandıkları teknoloji php5, OOP ve mysql vs…..zaten yazılımı mecburiyetten öğreniyorum gibi bir his var içimde….
Bu dönem hiç yazılım dersim yok ,öyle olunca iyice soğudum sanırım.Yani dedim artk mecburiyetten de olsa calışmayı bıraktığım yerden devam ettirmem gerekiyor diye düşündüm. Birşeyi çok içten yapmıyorsam; amaç işe yarar olmasıdır diye düşünüyorum.Yani eğer gerçek Nero olsaydı boyun büküp php ile uğraşıcaktım…Önceden de biraz bilgim vardı ,öyle gider diye düşünüyordum. Ama şimdi beklenen şirket olmadığı için php ile hiç uğraşmak istemiyorum. Sonra cevap gelen şirketlere tekrar bakmam gerekti. Kriter olarak kullanıkları teknolojı, şehir, ortam ,millet , benim görmek istediğim ülke vs vs ‘yi baz alarak iki şirket kafama takıldı. Birisi buydu; http://www.intersoftkk.com/english/index.html..%20sonraBuna ev halkı çok uzak dedi, bu sebebiyetle elendi.. Sonra o arada bir ukrayna şirketi vardı ; http://www.teaminternational.com/..Bak%C3%BC Bakü deneyiminden sonra burasıda biraz soğuk geldi ama hem dili tazelemek hemde kullandıkları teknoloji alanında ilerlemek istediğim için sıcak bakıyor gibiydim ama sadece mantıksal açıdan(ya duygularım :) .. Diğer bağlantı içinde olduklarımda askıda bekliyordu, aramızda duygusal bir bağ oluşmadığı için :( .. O arada bende Polonya'nın üzüntüsünü, Ukrayna ya hızlı cevap vererek atmak istedim ama simdi yine mutlu hissetmiyorum :( Şöyle ki; hani denir ya içim atmıyor diye, önemsediğim insanların fikirlerini duysam, fikirleri kıyas,olumlu olumsuz tabloları vs derken, bende daha net karar vereceğim deee çıkmazda kaldım şu sıralar sanırım...


İşin sorunu şuan illegal birşeyde yaptım. Polanya da anlaşmam varken Ukrayna'ya da mail attım :S ... Polonya'ya bir şekilde sorun bulup çıkmaya çalışacağım işin içinden… Bu arada Ukrayna için; bir iki ay Ukrayna da kalan arkadaşım vardı; o ortamı pek iyi anlatmadı, Gökalp te, sen bilirsin dedi, bende son olarak sana sormak istedim, senden sonra netten son bir araştırma yapıp onlara da ya kaçıyorum diyeceğim :) ya da şirketin cevabını bekleyeceğim, kabul edicekler mi diye.. Çünkü ben anlaşmamı göndersem bile onların hayır deme hakkı var: neden dersen ; onlar bana görev felan veriyor ,başarıyı görürlerse Skype'te mülakat yapıyorlar sonra alıyorlar. Şimdi bu Ukrayna'ya karşıda Bakü'den gelen bir millet soğukluğu hissediyorum, tek tatmin eden yanı CMMI Level 3 dereceleri var, istediğim teknolojiyi kullanıyorlar ve Microsoft teknolojileri için developer alacaklar. Senden ricam bir dost çerçevesinden iyi kötü tüm yorumlarını duymak istiorum.Umarım yeterince açık bilgi vermişimdir..Zamanının dar olduğunu biliyorum ama inan zaman veripte bu konuyla ilgili fikirlerini sunarsan beni çok müteşekkir edeceksin. Öte yandan bir konu daha var; uzaklık ,yakınlık, bilindik şirket, bilinmedik şirket, kullandığı teknoloji, veyaaaa boşver sen bunu gel Türkiyede iyi bir yer bul mu dersin… Bu açıları ve aklıma gelemeyenleri de düşünürsen çok çok mutlu olucam. Türkiyede de bu arada bir yakınımın ayarlarım dediği XYZ Firmasında şansım var şimdilik.. Durumlar böyle... Allah razı olsun hocam...


Sağlık, başarı, mutluluk ve bütün bunlar için farkındalık dolu günler diliyorum...



Simurg'a Doğru... / To the Eternal Life by me®ve
From: M. Tahir Çakmak
To: Cemile Arıkan
Subject: Re: Merhabalar Hocam


Merhabalar Cemile;

Teşekkür ederim, iyi olmaya çalışıyorum :)
Pek her şey yolunda değil; ama şimdilik mutluyum. Kendi düşen ağlamaz misali: psikolojik ve fizyolojik olarak kendimi güçlendirmeye çalışıyorum :)

Öncelik bana değer verip fikrimi sorduğun için çok teşekkür ederim. Gerçekten beni onurlandırdın...

Mailinin uzunluğundan; zor bir kararın önünde olduğunu anlayabiliyorum.
Her yönüyle tüm ayrıntılarıyla düşünülmesi gereken bir karar...

Konuya oldukça önemseyerek bakıyorum ben de.. Ancak düşünmem gerekiyor. Ciddi ve ayrıntılı biçimde.. Şu bir kaç gün bir miktar yoğun olacağım.
Bundan dolayı; bana kısa bir mühlet vermeni istiyorum.

Yine de şunu bilmeni istiyorum: Ben sana çözüm üretemem; hatta seçenek bile üretemem.
Sadece doğru soruları kendine sormana yardımcı olabilirim.

Ve bence ilk sorman gereken soru şu: "5 yıl sonra kim olmayı istiyorum? Hayallerim neler?"

Önümüzdeki 5 yıl boyunca; aldığın her bir nefes seni farklılaştıracak.
Ve muhtemelen; 5 yıl sonra bugün olmak istediğin kişi olmayı, istemeyeceksin. Çok farklı bir insan; hayallerinin dışında bir birey olacaksın. Ama olmayı isteyeceğin kişi olacaksın. Olmayı seveceğin Cemile..

Burada anahtar nokta şu ki: Hayat yeni Cemile'yi şekillendiririrken; hedeflerini günlük değiştiremezsin.
Evet mükemmel hayallere bir günde ulaşamazsın; ama sürekli değişen bir planla da her hangi bir yere gidemezsin.
"Hayal Eylem Planları"nı adım adım uygulayacaksın. "En kötü karar; karasızlıkdan iyidir", karasız kalırsan harekete geçemezsin.

Yaşamı ve kendini anlamaya çalıştığın; "İlim kendin bilmektir"i uygulamaya geçtiğin her nefeste, koşmaktan vazgeçmemelisin.
Korkudan uzak, cesur hayaller kurup; -yeni bir hayal ile bu hayallerini değiştirene dek- onlara doğru koşmalısın.

Koşmaktan vazgeçersen; "İlim öğrenmek"den koparsın.
Çünkü yaşam; kitaplara sırlarını aktaramaz. En fazla sırların yerlerini gösterebilir.

Yaşamın sırlarını öğrenmek için; bizzat yaşaman gerekli..

Tekrar görüşünceye kadar şimdilik benden bu kadar :)

Kendine çok iyi bak :)
Allah'a emanet ol..
Dua ile..

Küçük bir ip ucu daha: bütün yemeklerden tadımlık almak yerine bazılarını gerçekten ye.. Bir çok yemek gerçek tadını tabağındaki son lokmada verir.
Yaşam ayrıntılarda saklı - klişe ama çok doğru bir söz :)

Mustafa Tahir Çakmak


From: Cemile Arıkan
To: M. Tahir Çakmak
Subject: RE: Merhabalar Hocam

Merhabalar Tahir,

Gerçekten çok anlamlı bir maildi,gerek ihtiyaca binaen gerekse genel hayata binaen..

Hayata geçirmem gereken bir çok cümleyle yüzleşmek gerçeğin biraz zorlayan ta kendisi olmakla birlikte beni güzel bir ruh haline soktu,teşekkür ediyorum..

Kendini sıkıştırma müsait olabildiğin anı beklerim ben..

Allah'a emanet ol...



From: M. Tahir Çakmak
To: Cemile Arıkan
Subject: Re: Merhabalar Hocam


Merhabalar Cemile;

Mail geciktiği için kusura bakma.. Vakit bulamadım. Bu hafta zorunlu iznimiz var. Evde yeni işler yüklediler :)
Sabah kahvaltıdan sonra; mutfakta bulaşıklarla uğraşıyordum desem :)

Şimdi biraz evden 'kaçtım' :) Starbucks'tayım; elimde kahve, hafif bir müzik ve belki kafedeki 2-3 kişiden biriyim :)

Şimdi gelelim 'gerçek dünyaya'... Umarım bu mail çok gecikmemiştir...

Bu yaz staj yapmazsan okulun uzar. Bu konuda yapabileceğin şey; gerekiyorsa naylon staj yapmak. Ama ümidim o ki; lazım olmayacak ;)

Elindeki seçeneklere göz attığımızda
  • "Aisec ile" Ukrayna ya da -uzak olsa bile- Japonya..
  • Türkiye'de XYZ Firması gibi kaliteli -sanılan- bir yerde staj yapmak..
Başka seçenekler kısmına gelmeden şunlar hakkındaki soruları soralım mı?

Neden yurt dışı? Peki bu sebebi Ukrayna mı daha çok karşılıyor, Japonya mı?
Eğer yurt dışı sebeplerini engelleyen bişeyse uzaklık, Japonya'ya "Uzak" diyebilirsin; ama 'Yurt dışı amaçlarına' daha uygunsa, biraz daha uzağa gitmenin zararı olur mu?
Diğer taraftan; Ukrayna hakkındaki korkuların 'amaçlarına' zarar verir mi? Amaçlarını elde edememe ihtimalin olur mu?
İp ucu: Firmalar hakkında bilgi için sosyal platformları denedin mi? LinkedIn,Facebook, ya da Xing.. Dene, gerekiyorsa öz geçmişi hoşuna giden bir çalışanına da mesaj at.. Hatta bir kaç kişiye at; birisi döner her halde :)

Neden Türkiye? Neden XYZ Firması?
Bu soruya çok dikkatli cevap vermen gerekeceğini baştan söylemeliyim. Çünkü herkesin hayali olan -bu seni tatmin etmiyor olabilir; çünkü sen herkes değilsin- 'yurt dışı stajı'nı elinin tersiyle itmek olacak yaptığın..
Bu soru hakkında daha geniş düşünebilmen için bir kaç bilgi vermek zorunda kalacağım. Bunlar sadece kendi fikirlerim olacak.. Farklı düşünüyor olabilirsin.

Staj ya da yarı zamanlı çalışmak denilince aklıma 2 avantaj geliyor.
  1. Vizyon geliştirmek;
  2. Prestijli bir CV
Vizyon geliştirmek derken: İnsan ne kadar internetde dolaşıp tüm bilgilere ulaşabileceğini iddaa etse de; internet, bulabildiğimiz ölçüde bize vizyon verir. Yani Google'da arattığımız kelimeleri bir yerlerde görmeliyiz. 'Yazılım mühendisliği' kelimesini arattırdığımızda çıkacak milyonlarca web sayfasından, blogdan, istediğimiz kelimeyi bulmakta zorlanırız. Birilerinin bize -arada da olsa- kapıları göstermesi gerekir. 3. sınıfın sonlarındayken Özgür Altuntaş bize bir kaç dakika dahi olsa Netron Framework'u anlatmamış olsaydı; staja gelip de bazı şeyleri görmemiş olsaydık; LINQ'yu anlayamazdık. Hatta Entity Framework'u.. The Beer House projesinin kitabında NHibernate diye bir kelime gördüm. Ama üzerine yoğunlaşıp; ne işe yaradığını anlamam için; stajda bize 1 saat Netron Framework'ün anlatılması gerekiyordu. Hatta haftasonuna kadar her sabah ve akşam toplam 2 saat süren yollarda zeki bir insanla(Harun) tartışmam gerekiyordu.
Martin Fowler benim için 'gerçek bir üstad' olarak gözükmesi için; bize Netron'daki yazılım mimarı Mutlu Kaya'nın üzerimizdeki çabalarına ihtiyaç vardı. Çok katmanlı mimariyi 2 saat anlatmasıyla gelen bakış açısından oluşan "anahtar kelimeler"i Google ile birleştirerek ulaştığım bir adam Martin Fowler..

Bu açıdan güzel bir staj sana bunu verebilir.
Güzel bir staj kelimesini XYZ Firması asla karşılamayacaktır.
Bunların çeşitli sebepleri var. Öncelikli sebeplerden birincisi; sana ve senin değerlerine kesinlikle itimadı olmayan bir kurum. Baş örtünle işe gidemeyeceğin, namaz kılamayacağın -kılsan dahi, bir kaçak gibi merdiven boşlukların kılabileceğin- bir ortam. "İnsana vermediği değer"i anlatmayacağım bile... Çalışmak için kesin saatleri olan bir firmanın; zaten yaratıcılık denilen kavrama bakışı olmadığını bilmelisin.
Gelişim dediğimiz şey ise; mümkün olamayacaktır. Bu yüzden daha küçük bir firma sana iyi bişeyler verebilir. Ama en iyi seçenek şu; gir facebook'a; staj yapmak istediğin firmayı bul, bu firmada aktif olan bir kişiye mesaj at. Verdiği cevaptan nasıl bir insan olduğunu anlayacaksın zaten...
İnsan(staj sorumlun) herşeyden önemli bir kavram stajda. Ibm'de bile sana stajı zehir edebilir. Ya da devlet kurumunda mükemmel bir staj yapmanı sağlayabilir. Bu yüzden vizyonu olan bir adam bul, ve yanında staj yapmaya çalış derim.. Dünyanın neresi olursa olsun bu yer: ister, sizin sokağın 2 altındaki bir yazılımcı ofisi.. İsterse de, dünyanın en yüksek binsaındaki yazılımcı ofisi..

Şunu da söylemeliyim; Vizyonun yeterince genişlediğinde ama hala o vizyonu hayata geçirmediğinde; sana yeni vizyonun hiç bir yararı olmayacaktır.

Mesela yarı zamanlı çalışmaya başlamak yerine; -vizyonumun emrettiği- Java'yı daha sağlam öğrenseydim, bitirmeyi güzel bir şekilde bitirebilseydim, şu an çok daha farklı bir yerde olabilirdim. Bunu bugün daha net görebiliyorum.

Prestijli CV: Önemini sen benden daha iyi biliyorsun. Ama şunu söylemeliyim: Netron stajımın, Microsoft stajımdan katlarca daha iyi geçtiğini, çook daha fazla şey öğrendiğimi söylemeliyim. Yine de; beni işe alanların Microsoft stajıyla daha çok ilgilendiğini söylemek zorundayım :( Yurt dışı stajı muhtemelen prestijli bir CV kazandıracaktır. Ya da XYZ Firması stajı..

İpUcu:
Yerinde olsam; geçen sene bize "Ekip olmak ve Liderlik" konusunda seminer veren Reha Yurdakul'a mail atardım.(http://rehayurdakul.com/)

Başka bir konu da; " birşeyi çok içten yapmıyorsam amaç işe yarar olmasıdır" sözün..

Bana sorarsan "Bir işi içten yapmıyorsan yapmamalısın.." İllaki yapman gerekiyorsan; 'onu içselleştirmelisin'. "Sevmelisin. Hala içten değilsen, o zorunluluktan kurtulmak için ne gerekiyorsa yapmalısın..."

Eğer yazılım geliştirmeyi sevmiyorsan; yazılım geliştirmemelisin. Ama yazılım geliştirmenin 'sana uygun olduğu' olduğunu düşünüyor ama henüz sevmenin bir yolunu bulamadıysan; öncelikli olarak bu sorunu halletmelisin.

Sana mail yazmayı sevmeseydim; kesinlikle mail atmazdım. İnsanlara yardım etmeyi sevmeseydim; bana şu an sadece "Tahir Bey" diyor olurdun. Hatta cevap bile alamazdın muhtemelen...

Önce sevmelisin.. Ama şunu kesinlikle bil: "Sevmek bir duygu değil; bir eylemdir !"

Topkapı Sarayı - uzun ince bir yoldur hayat...
Etkili İnsanların 7 Alışkanlığından bir alıntı:

Bir gün Stephen R. Covey; bir seminer arasında; bir adam yanına yaklaşmış. Adam eşiyle ilişkisinden yakınmış. "Artık birbirimizi sevmiyoruz. Kavga falan ettiğimiz yok; sadece sevgimiz kalmadı.." diyor. Evlilik koçlarına falan gittiklerini ama hiç bir işe yaramadığını söylemiş. "Ne yapalım?" diye sormuş.

Covey; "Sevin onu !" demiş. Adam "ama o duygu öldü" diye cevaplayınca Bay Covey tekrarlamış; "Tamam o zaman; sevin onu. Sevmek bir duygu değil; bir eylemdir. İnsan, emek verdiği, zaman ayrıdığı, kendinden feragat ettiği şeyleri sever. Sevin onu !"...

Yani kodlamayı sevmek istiyorsan; yazılım geliştirmelisin. Vakit ayırmalısın, emek vermelisin..
İstediğin şey "yazılım geliştirmeyi sevmek ise"; onu "sevmelisin", "sevmek için harekete geçmelisin" :)
İstediğin başka bişeyse de onu "sevmelisin"..

Sevdiğin şeyi yap.
Hayat böyle anlamlı oluyor.

İyiliği dahi severek isteyerek yapmazsan; mutlu etmiyor insanı.. (Bizzat yaşadığım zamanlar oldu; kulübe yeni başladığım zamanlarda :)

O zaman sen de kendine sor:
Ne istiyorum? Neyi sevmek istiyorum?


Sevgi ve Saygılarımla;

Not: Bu yazdıklarım işine yaradığını düşünüyorsan; başkalarının da işine yarayacağını düşünüyorsan senin de izninle; blogumda yayınlamayı düşünürüm. İster isminle, ister isimsiz.. Ne dersin?
Not 2: Çok uzun yazdığım için atladığım bişeyler olabilir. Ya da imla hataları, hatta anlatım bozukluklukarı; kusuruma bakma :)

Mustafa Tahir Çakmak



From: Cemile Arıkan
To: M. Tahir Çakmak
Subject: RE: Merhabalar Hocam


'Merhaba'dan önce o güzel ve hür yüreğini tebrik etmek istiyorum. Ve ardından en içten sevgi ve saygımla ' Merhaba ' diyorum.

Öncelikle gecikme için estg. hiç sorun değildi , tahmin etmiştim yoğun olduğunu.. Ama bulaşık felan diye düşünmemiştim :D Şaka bir yana hayat mı yoksa insanlar mı orası tartışılır ama insan yeri geliyor her işi yapıyor cidden :)

Blogunda yayınlama kısmı içinde; inan benim işime çok yaradığını düşünüyorum, açıklamaları ilerleyen satırlarda yapacağım ne ve nasıl şekilde olduğuna dair.. Ve bende isterim ki diğer insanlarada birşeyler katsın, istediğin şekilde yayınlayabilirsin(insiyatif senin), benim için mahsuru olan bir mahremiyeti yok, daha ziyade diyalogta etkin bir psikoloji hazinesi var :)

Karar aşamasına gelince; düşündümde kararsızlık ve sorun , doğru sorular üretememekten dolayıymış... Sorularına biraz daha derinden odaklanmaya çalışıp cevaplarını çıkarınca, biraz daha sevdim ve yapmak istedim. Yurtdışında gerçekten sevebileceğim bir yer beni çok mutlu edecek diye düşünüyorum; sebeplerse çoook gerçekten;
Türkiyedeki düşüncesel baskı ortamı ,insanlar - işler - koşuşturmalar(beraberinde gelen sıkıcı stresli ortamlar)(Türkiye nin dezavantajları benim için..), öte yandan beni her zaman mutlu eden yenilik merakım(gerek insanlar gerekse kültürler ,tabiki her adımı bikaç kez düşünerek..)(buda benim için yurtışının sakin ortamı ve güzel bir avantajı) ,yurtdışının sakinliği bir nevi insanın kendisini nadasa bırakması gibi ve en önemlisi insanın kendisini uzaylı gibi hissetmemesi(şeklim şemalim …) , saygı görmesi (bugüne kadar çok şükür böyle gelebildik inş hep doğru insanlarla karşılaşırız..)...Birkaç aydır Erasmus'la Malta'da bulunmaktayım, herşeyden uzak sakin bir yaşantı,özlemişim gerçekten... İşte sebepler bu şekilde... Sanırım yazını bir kaç kez daha okuyacağım :) Değişen düşünceler ve gelişmelerle arada durumuma dair mailleri paylaşabilirim umarım ??

Benden de şimdilik bu kadar, tekrardan çok teşekkür ediyorum… Parmaklarına :) ve yüreğine sağlık..

Görüşmek üzere

Cemile