Kategoriler


SON YORUMLAR
işsiz
bilgisayar mühendisi şu amk asp.net te şu get ile id i almayı bi öğrenemedim sikim böle işi php en iyisi better then
Ali yıldırım
Merhaba arkadaşlar c,c++,java,c#,php ödevlerinize uygun ücret ile yardim edebilirim iletisim=ali.yildirim.94@hotmail.com
Zekeriya
Microsoft ne iş yaparak bu kadar parayı kazanıyor?Sadece işletim sistemi ve ofisten bu kadar para gelir mi?118 bin çalışanı olupta neden bu kadar az yazılım yapıyor?Örnek grafik,animasyon,veri kurtarma,oyun vesaire.Bana kalırsa bir işletim sistemi bir çok işi kendi yapar.Dışarıdan herhengi uygulamaya ihtiyaç duymaz.Biz hala dışardan winrar yüklüyoruz.Neden işletim sitemini ve ofisi geliştirmiyor?Neden telefon piyasasına girmiyor?Ama kendi orjinelliğiyle,kendi anlayışıyla.Android veya ios.a yazılım yazmak zorlarına gitmiyor mu?Kendileri yazılmcı iken başkalarının yazdığı yazılımı kullanmaktan rahatsız olmuyorlar mı?Mesala o öyle mi yapılır?Şöyle bir özellikte olsaydı demiyorlar mı?Bahsettikleri çalışanların çoğu (72 bini) dışarda insan kaynaklarıyla uğraşıyorlar anladığım kadarıyla.Merkezdeki çalışan sayısı az.Güzel yazılımlar bekliyoruz.
Tutku
Teşekkürler sayende hayallerim yıkılmadı herkes diyordu meslek yok şu yok bu yok diye gerçeği söylediğin için teşekkürler b///k
Kaan
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP ödevlerinizde yardımcı olabilirim. Geçmişte yaptığım projelerden birkaç tanesini https://github.com/kaan8792 adresinden inceleyebilirsiniz.Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: kaan8792@gmail.com | Whatsapp: 05428339141
Ercan Sezdi
Elektrik elektronik mühendisliği okuyorum. Python ve C++ ödevlerinizi, python bitirme projelerinizi makul ücretler karşılığında yapabilirim. İletişim:ercansezdizero@gmail.com
Tatar Ramazan
Bırakın bu saçmalıkları ahirete çalışın. Özel sektörde namaz bile kılamazsınız. 3 günlük dünya için uğraş dur. Boş işler. Ben 22 yıl eve kapandım çalıştım 11 yaşından beri. İş dünyası ve kızlar yüzüme bile bakmadı. Mezunlar yoğun rekabet içinde kıvranıyor. Maaşlı eleman olmak için çırpınıyorlar. En zor işi yaptıracaklar size. Diğer taraftan bir sürü kişi kolay iş yaparak mercedese biniyor. Adam din kültürü öğretmeni oldu. Verdiğim emeğin çok daha azını verdi. Manken gibi de karı aldı. Biz ortada kaldık. Kemalizm boş vaadler sunuyor size. Laik kapitalist firmalar çoğunuza köpek gibi davranacak. Atatürkçü anne babalarınız ve öğretmenleriniz ahiretinizi düşünmüyor. Gaflet ve dalalet içinde yaşıyorsunuz. Ölünce çarpılırsınız. Bir sabah namazı özelde 20 bin maaş almaktan daha hayırlıdır. Çünkü ahiret sonsuzdur.
ismet
10. madde ne zamana gelir bekliyorum.
Tatar Ramazan
Bu iş zordur. Yüksek kapasite gerekir. Bazı firmalar ALES 85 olsa iyi olur diye ilanda yazar (would be an asset). İyi para kazanan, iyi kariyer yapanların çoğu ilk 5 bine girmiş adamlardır. Ben 16500.üncü olmuştum. Bizim bölümün birincisi bile öyle havada kapılmadı. Benimle aynı yerde sayılır konum ve para olarak. Çoğunuz en fazla bir kurumsal firmada vasat bir maaşa çalışırsınız. O da iyiyseniz. Ne Devlet ne de özel size iyi para vermek istemeyecek. Yoğun rekabet var. KPSS lisans çok zorlaştı. 2006-2008 arası sorularda 85-90 yapardım. Şimdi 75 puanı geçemiyoruz. Bu durumda çoğu özel firma tabii ki yüksek maaş vermez muhtaçsınız onlara diye. Mesleğin ve sektörün sıkıntılı taraflarını yazdım 20 madde çıktı. Yazılımcı olacaksanız bari javacı olun. Microsoft devamlı yeni teknoloji çıkarıyor. 3 senede eskirsiniz. Javada rakip daha az. 10 yıl deneyimliyim. 8 bin maaşa bile devlete giremiyorum bilişim uzmanı olarak. Site sahibi yazmış "Ayrıca 10 yıllık tecrübelere sahipseniz genellikle şirketler size çok yüksek maaşlar yerine hisse yada kar payı önermeye başlayacaklardır." He he öyledir(!..) Ben Ankarada özelden bizim kuruma kaçan 5-10 yıl deneyimli 10 kişi gördüm. 10 yıl deneyimli bilişim uzmanı aldık. Zavallı adama 3 kat maaş vermeleri gerekirken 2 kat olarak aldılar (5 yıl ve üstü deneyimde 3 kat brüt ücret veriliyor normalde). Her yer en iyi adama en az para vermeye çalışıyor. Hayattan adalet beklemeyin. Ben 10 yıldır milyar dolarlık zenginler gibi çalıştım yer yer. 10 tane teknolojiyi A dan Z ye öğrendim. Binlerce sorun çözdüm kod yazdım. Sonra MVC-Core modası çıktı. İş dünyası beni anında deliğe süpürdü. Memurluktan istifamı versem aç kalırım aç. Daha yükselmem gerekirken, çok iyi paralar kazanmam gerekirken düştüğümüz hale bak. Verdiğim emeğin onda birini vermeyenler benden çok daha iyi hayat yaşadılar ve de yaşamaya devam ediyorlar. Mesela adam mesleki ve İngilizce bilgisi olarak boş tenekeydi. Yurtdışına gidiyor devamlı. 1 sene kalıyor. Her gidişinde 10 tane ülke dolaşıyor. Ticaret yapıp yolunu buluyor. Ben size çalışmayın demiyorum. Hiçbiriniz başarılı, mutlu olamazsınız demiyorum. Umudunuzu koruyun. Bir kısmınız iyi yerlere gelecektir tabii ki. Ama önemli bir bölümünüz aradığını bulamayacak. Belediyeye bile almayacaklar. Çalışmazsanız toplum sizi suçlar. Çalışın ki en azından ben çalıştım ne yapayım meslek fos çıktı dersiniz. İnsanlar zalimdir. Cahildirler. Halden anlamazlar. Kıytırık harita mühendisi torpille Belediyeye girer. Onu adam görürler görüntüsü boyu da varsa. Sen çok daha kalitelisindir ama işsiz kalsan sana saldırılar. Düz mantıkla hareket ederler. İnce düşünemezler. Site sahibi para kazanamamaktan değil saygı kazanamamaktan korkun diyor. Şunu belirteyim ki: İş dünyası size köpek gibi davranacak. Toplum size saygı bile duymayacak. Kız da vermeyecekler. Verecek kızları yok zaten. Hepsinin sevgilisi var. Mezun olunca az sövün lan. Yazıktır. Milletin anası, karısı, bacısı var. Sizdeki de iyi cesaret haa! Derece yapanlar mühendislikten kaçıp Tıbbı yazıyor. Siz cesur davrandınız bu hengameye soktunuz kendinizi. %10-15 iniz yolunu bulur. Diğerleriniz için El-Faaaaaatiha!...Bilişim çağı, geleceğin mesleği de iyi keklemişler sizi. Doğrudur her şey yazılımla oluyor. Yapılacak daha çok yazılım var. Çok yazılım talebi var. Ama iyi para kazanıp bi bok olamıyorsun ki. Sen bir bankaya başvuruyorsun senin gibi 3000 kişi de saldırıyor. Benim gibi memur (kariyer uzmanız biz mühendisin bir üstü) olan arkadaş 7600 TL maaş alıyor. İstanbulda 6000 TL ye 6 yıl deneyimli adam çalıştırıyorlar. 2 çocuklu aile ancak geçinir. Sadece araba masrafları bir ton tutuyor. Hayat zor. Bu maaşları yüksek zannetmeyin. Mesleğin ve sektörün sıkıntılarını yazayım mı? Yok boooluum bunalıma girmeyin şimdi. Sonra yazarız. Realist olun. Kendinizi kandırmayın. Genetik-yaratılış olarak kime benzediğinizi tespit edin. Kaderiniz, eşiniz ve hayattaki başarınız ona benzeyecektir. Sistem okullarda insanlara boş hayaller sunuyor. Çoğunluk avucunu yalıyor. Kendilerini kandırıp 35-40 yaşına kadar iyi iş, iyi eş arıyorlar. Bulacak olan hemen bulur iyisini. 1 yılda olmuyorsa 10 senede de olmaz. Karşınıza çıkan işi ve eş adayını reddetmeyin. Daha iyisini beklemek sadece zaman kaybı. Daha kötüsü gelir. Zaman geçtikten sonra değil şimdi akıllanın. Tecrübe konuşuyor burda. İyi kıvranmalar...
cöp
robot yazmis bak authorize yapmamissin patlatmis
İsmet
Ödev yaptırarak derslerinde öne geçenler şerefsizdir.
İsmet
Ödev yaptırarak derslerinde öne geçenler şerefsizdir.
İsmet
Ödev yaptırarak derslerinde öne geçenler şerefsizdir.
İsmet
Ödev yaptırarak derslerinde öne geçenler şerefsizdir.

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
NHibernate için Veri Erişim Katmanını Otomatik Oluşturma
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Newsweek - Top 500 Universities
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisi olmanın 10 iyi yönü.
Bilgisayar Mühendisi olmanın 10 iyi yönü.
Kulak asmayın.
Bilgisayar Mühendisleri Kaç Para Alır?
Kulak asmayın.
Bilgisayar Mühendisleri Kaç Para Alır?
Kulak asmayın.
Bilgisayar Mühendisleri Kaç Para Alır?
Differences between ASP and ASP.NET
Bilgisayar Mühendisleri Kaç Para Alır?
Patlaklar ordusuna katılacaklara 12 altın öğüt.
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?

Bilgisayar Mühendisleri Portalı

NHibernate için Veri Erişim Katmanını Otomatik Oluşturma

NHibernate için Veri Erişim Katmanını Otomatik Oluşturma

Enterprise yazılım geliştirme projelerinde rol alan yazılımcıların sık karşılaştığı sorunlardan biri, birden fazla veritabanı destekli kod geliştirmekdir. Neden veritabanı bağımsızlığı; Sql Server 2000 tabanlı yazılım geliştirirseniz, müşterileriniz "Bende Oracle varken neden Sql Server kullanayım" der ya da tersi, siz Oracle'da geliştirirsiniz, müşterileriniz "Ben Oracle lisansına para veremem, maliyeti yüksek" tepkisi verebilir.

Bu durum .Net'den önce Java zamanında farkedilmiş ve çeşitli çözümlerle aşılmıştır. Bu çözümlerden en yaygın ve kullanışlı olanı ana amacı bizi relational yapıdan kurtarmak olan ORM (Object Relation Mapping) yazılımları kullanmaktır.

ORM detaylı bir konu olduğu için girmeden yüzeysel bu çeşit toolların temel birkaç getirisini inceleyelim:

  • Tek kodla, kodu değiştirmeden kullandığınız ORM tool'unun desteklediği tüm veritabanlarını otomatik siz de desteklemiş olursunuz. Tabi bundan böyle stored procedure olayını unutup VIEW kullanmaya ağırlık vermeniz gerekmektedir. Sorgu cümlelerinizi zaten ORM toolu otomatik kendisi oluşturur.
  • Kodlama aşamanızda Tablo/Row yapılı DataSet gibi relational sistemler yerine tablonun içerdiği mantıksal nesnelerle işlemlerinizi yaparsınız, yani kodlama felsefeniz relational yapı yerine nesneye yönelik bir yapıya döner. Örneğin; relational yapıdaki KULLANICI ismindeki tabloya KULLANICI_ADI "ali" olan yeni bir satır INSERT etme olayı nesnel yapıda KULLANICI nesne kolleksiyonuna ismi "ali" olan yeni bir KULLANICI nesnesi ekleyip değişiklikleri kaydetmek şeklinde yorumlanabilir.
  • Dinamik değişken parametreli sorgularda geliştirme hızınız çok artar. Örneğin ana ekranınızda 10 farklı parametreli bir filtre olsun. Kullanıcı bu filtrelerden istediklerini seçebilir olsun ve her seçtiği filtre sorguya dahil edilmeli olsun. Bunun için ya kendiniz kod tarafında select sqllerinizi oluşturursunuz ki zahmetlidir ve birden fazla veritabanı desteliyorsanız işiniz çok daha zorlaşır, yada dolu olsun olmasın tüm parametreleri stored procedure'e yollarsınız tüm kombinasyonlarla o başa çıkar ki bu daha da zordur, sproc'da SELECT stringi oluşturup çalıştırmanız gerekir. ORM toollarında ise Where'den sonra şunları ekle demek yeterlidir, hedef veritabanına uygun sql'i kendisi oluşturur.
  • Veri erişim katmanınız çoğu ORM toolu tarafından otomatik oluşturulur, çok daha az kodla veritabanı işlemlerinizi gerçekleştirirsiniz ve okunurluğu daha yüksekdir.

Konumuza dönersek; çoğunuzun bildiği gibi Java tarafında bir numaralı ORM toolu Hibernate'dir, .Net tarafında ise 50'den fazla ORM toolu piyasaya sürülse de Hibernate kadar büyük çaplı olan bir tane şu an için yok. Ama benim kişisel tercihim piyasada da en yaygın olanları NHibernate ve Llblgen 'dir (Lblgen çok kolay kullanımlı, pratik ve templatelerini kendisi hazırlayan hoş bir program olsa da lisans ücreti var).

Şu an mevcut olan NHibernate 1.0.2, Java'daki Hibernate 2.1'in .Net uyarlaması olmasına karşın Hibernate'in 3.2 sürümüne kadar gelmiş olması bu konuda Java'cıları geriden takip ettiğimizin göstergesi. NHibernate'in malesef kendisine ait bir otomatik kod oluşturma mekanizması yok. Yani normalde veri erişim katmanını NHibernate için kendimizin hazırlaması gerek ve bunun için de her sınıf (object/relational birebir yapıda bir sınıf bir tabloya karşılık gelir) için bir XML mapping dosyası bir de .Net sınıfına ihtiyacınız var (sınıfları ayrı dosyalara böldüğümüzü farzedersek kullanıdğınız dile bağlı olarak örneğin c# için .cs uzantılı ayrı bir dosya gerek).

Eğer veritabanını tablo yapısından nesnel bir yapıya çevirmek istemiyorum, tablolarla nesnelerin birebir eşleştirildiği bir yapıyı yazılım otomatik oluştursun diyorsanız, piyasada bu işi yapan pek çok yazılım var. Bunlardan bazıları kendi başına bağımsız yazılımlar şekline yapılmış bazıları da CodeSmith (ücretli) ve MyGeneration (ücretsiz) gibi yazılımlar için template şeklinde hazırlanmıştır.

 

 

Sonuç; benim ekte verdiğim kod da MyGeneration için bir templatedir. Yaptığı iş de veri erişim katmanını Visual Studio 2003 yada 2005 için ayrı bir c# projesi olarak otomatik oluşturmaktır (relational yapıyla birebir eşleşen nesne yapısı oluşturur). Yazdığım template k-dub, Gustavo ve spunlogic'in templateleri üzerine yazılmıştır. Yaptığım değişiklikler:

  • Visual Studio 2003 ve 2005 için proje dosyalarını otomatik oluşturma özelliği eklendi
  • Lisans mesajı kutusu eklendi
  • Binary kolon desteği eklendi
  • View'lar için sahte primary key atama özelliği eklendi
  • NHibernate ile bir select işlemi yaptıktan sonra IsChanged flagının bozulmasına önlem olarak nhibernate kullanımı için ayrı property tanımlama özelliği eklendi
  • MarkAsDeleted, IsChanged ve IsDeleted fonksiyonları lazy loading modunda virtuala dönüştürldü (NHibernate 1.2.0 Alpha 1 uyumluluğu için)
  • Birkısım eksik double atamaları eklendi.
  • Spunlogic'in kaydetindeki bir hata giderildi
  • Türkçe i/ı karakter sorunu çözüldü
  • Viewlardaki çift kolon tanımı hatası giderildi
  • Viewler salt-okunur yapıldı
  • Varolan bir proje dosyasının üzerine yazım yaptığınızda Source Safe gibi kod kontrol yazılımlarının kullandığı tagların eski proje dosyasından yeni proje dosyasına taşınması gerçekleştirildi

Dosyayı MyGeneration'ın sitesine de "Serdar's NHibernate Object Mapping 1.2" tanımı ile gönderdim: http://www.mygenerationsoftware.com/TemplateLibrary/Template/?id=158a7d34-a15e-40f9-8399-255f8f85f76c

Burada en büyük artı tabiki artık proje dosyalarını da otomatik oluşturabilmesi, düzeltilen en önemli hata da Türkçe sistemlerde bu tamplateleri kullanırken karşılaştığımız en ciddi sorun olan isimlendirmelerdeki Türkçe büyük "I" harfinin küçük "i" yerine küçük "ı"ya dönüşmesiydi.

Yapmanız gereken işlem kabaca; MyGeneration'ı indirip kurup bu template'i kullanarak veri erişim projesini oluşturup solution'ınıza eklemek ve NHibernate'i indirip bin dizinindekileri kendi bin dizinizine kopyalayarak dökümanına göre gerekli ayarlamaları yapmakdır.

 serdar_nhibernate.zip (14K)

.


   ©2006-2007 Serdar Irmak serdar@argelab.net
http://www.argelab.net

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

Maho(22.7.2011 09:01:19)
Güzel bi makale sağol
%0 %0 %0
Katılıyorum Çekimserim Katılmıyorum



Serdar(25.6.2009 12:37:46)
2 sene öncesinin makalesi olduğu için yeni gelişmelerle yazılanların bir kısmı geçerliliğini yitirdi.
%67 %17 %17
Katılıyorum Çekimserim Katılmıyorum






Copyright© 2001-2019. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.