Kategoriler


SON YORUMLAR
Tatar Ramazan
Bilgisayar mühendisliğinden şikayet etmeyeyim diyorum ama bütün veriler beni haklı çıkarıyor. Aşağıda yazdık okuyun: Yazılım uzmanı pozisyonu için; 1-) Kariyernette 2000-3000 TL arası maaş veren 100 ilan var. 2-) 3000-6000 arası maş veren 100 ilan 3-) 6000 ve üzeri veren sadece 5 ilan var Bu mu iyi para kazandıran meslek?! Memurluğu iyi ki bırakmamışım. Bir de adamın canını çıkarıyorlar. Her çıkan teknolojiyi öğrenmeni bekliyorlar. İstanbulda kiralar 2000.den başlıyor. 6000 TL bile yüksek maaş falan değil. 2008.de mezun oldum. O zaman da aynı paralar veriliyordu. Zaman geçtikçe aday sayısı artıp rekabet kızıştıkça maaşlar düşüyor, vasatlaşıyor. 2010 yılında 5000 TL kazanan grafikerler duyuyordum. Mesleğimiz yerlerde sürünüyor. Memur olmak ta zorlaşınca uyanık iş veren size iyi para verir mi sanıyorsunuz? Nasıl olsa kaçamazsınız Devlet.e...KPSS zor artık.

yeşekkür ederiz beğendim
Dilara
Merhaba, ben bilgisayar mühendisliği öğrencisiyim yabancı dilimde var ama sitelerden okuduğum yorumlardan dolayı gelecek kaygısı yaşıyorum,nasıl bir yol izlemem gerek lütfen yorumlarınızla bana yardımcı olur musunuz?
sultan b.
makaleniz gerçekten yardımcı ve aydınlatıcı fakat örnekler verirken sürekli .abi, adam. vs özneler kullanmanız beni rahatsız etti. bilgisayar mühendisi olmak isteyen bir kadın olarak açıkçası bu durum beni biraz umutsuzluğa sürüklemedi de değil.
irfan
https://www.udemy.com/linux-and-bash-shell-scripting-from-beginner-to-intermediate/learn/v4/overview
Tatar Ramazan
İlerde düzelecek inşaallahu Teala her şey. Herkes hakkını eninde sonunda alır. Son gülen iyi güler. Başlangıçta bütün mühendisler aynı alır ama kendini geliştiren ilerleyen dönemlerde farkı açar.
tatar ramazan-a
tatar ramazan ağlamayı bırak. kendi şirketini kurma vaktin gelmiş. devletten ayrıl. işveren ol artık. herkesi eleştirmeyi bırak. eleştirilmeyecek bir şirket kur.
bir zamanlar anadoluda
zamanında iyi sürünmüş, iyi aşağılanmış ve itlerin çakalların arasında yaşamış, onlarla savaşmış itliği çakallığı halen öğrenen birisi olarak tavsiyeler: 1- kendini geliştirmek tam bir saçmalıktır (Google vb. mülakatlara falan girmek gibi durumlar hariç) 2- herşey çevrenle başlar çevrenle biter, iş bulma da karı da kız da çevrene bakar. başta suratıma bile bakmayan kızlar, popülerlğimi (milletçe akıllı, çalışkan, başarılı, zengin, cool diye nitelenmek gibi) görünce köpeğim oldu selam dahi vermiyorum yine rahat vermiyorlar. 3- nasıl populer oldum? çalışarak mı? en az çalışanlardandım. 4- algıyı yöneteceksiniz. kendinizi satmayı bileceksiniz. reklamınızı yapacaksınız. kendini satamazsanız ne kız gelir ne iş verirler. 5- o beğenmediğin 3 birimlik erkek veya işe giren eleman, potansiyeli 1 ise 3 gösterir sen 10 ken bişr gösteremezsen, ne karı gelir ne birşey. yarın karın da sygı duymaz gözünün önünde başkasıyla sikişir.
Tatar Ramazan
Site sahibine 2008 de mail atmıştım danışmıştım. O günden beri siteyi takip ederim. Ateşli yazıları kendimi geliştirmemde etkili olmuştur. İstanbul üniversitesi iyi eğitim veriyor diye yorum yazan da bendim. Çok uyanığımdır. Zekam keskindir. Keşke üniversitem de biraz yol gösterseydi. Dersler, kitaplar belli sen niye hocalardan rehberlik bekledin diyecek olursanız: Tamam da bir sürü programlama dili var. Hangisinden başlayacağım, ne bileyim? C dilini öğrenin sonra C# veya java dan devam edersiniz diyebilirlerdi. Bunu bile yapamadılar. Bölüm başkanı da değişmişti. İyi şeyler yapayım derken daha kötü batırdı. Nesne tabanlı programlama dersinde for döngüsü gördük C sharpta. En azından takip programı yaptırdı bize işte. ADO.NET, SQL Server öğrendik. Ama sınıf nesne tabanlı programlamayı bir türlü sökemedi. Çünkü C dilinde struct konusunu öğrenmeyince sınıfları da özümsemek zor oldu. Debelendik durduk. İTÜ, Yıldız Teknik, İstanbul gibi üniversitelerin farkı burda. Bu kadar basit! C, C++ dilini iyi veriyor adamlar. Yahu C dilinin konularını tahtaya yazsaydı araştırma görevlisi bana yeterdi bile. Mıy mıy mıy yapıp durdular 4 sene boyunca. Ben ilk yarıyıl tatilinde (5 haftaydı) evde İntegraldan 200 soru çözüp vize finalden 100-100 almış adamım. Görün işte ben bile geri kalıyorsam programcılıkta öğretimde sorun var demek ki. Site sahibine kalsa üniversite önemli değil. Tabi kendisi İstanbul üniversitesinde iyi eğitim aldı. Kötü öğretimi, ilgisizliği tatmadı.
Tatar Ramazan
Eve şanssızdım her açıdan bundan sonra mutlu olur muyum bilmiyorum. Biz imanlıyız umudumuzu kesmeyiz. Yazdıklarımda doğruluk payı da var ama. Meslek ve sektörde bir sürü sıkıntı var. Sektör yöneticileri ve Üniv. hocaları niye bir araya gelip sorunları çözemiyor. Bilişim sektörü daha verimli büyük olabilirdi. Yazılım çağı diyorsak bu işe bir el atmalıyız. Mesleğimden şikayet ederim ama aynı zamanda ateşli gayretli adamımdır. Üniversitede gene hasta takip programı, satranç oyunu, E-Ticaret sitesi ve irili ufaklı 30 tane program yapmıştım. Çok boş mezun olmadım. Sınıfın ineklerindendim. Marmara bölgesinde 92 den sonra kurulan bir üniversitede okudum. Hocalar ilgisiz ve bilgisizdi. Sınıfın % 70 i C dilini öğrenemeden mezun oldu. Şunu şöyle yapın demekten aciz adamları hoca diye başımıza niye koyuyorlar? Sistemde de saçmalık var. Derslerin çoğu işe yaramıyor. Lise 1 den itibaren programlama çalışsaydım şimdi çok farklı olurdu. Boş yere zaman kaybı okumak. İnsanlara da zulmetmeyin gayrı. Bilim adamı olmak isteyen üniversitede kalsın. Bana Java, .NET, Oracle lazım kardeşim. Okumayanların eşi, arabası var. Ben sürünüp duruyorum. Memur maaşıyla bi şey yapamıyorsun ki. 2 ay önce 5000 tl oldu işte. Harita mühendisine de veriyorlar o kadar zaten. Benim sadece SQL bilgim onları ezmeye yeter.
HARUN AYDIN
YAZI BENİ DE ETKİLEDİ.BENDE BİLGİSAYAR ALANINDA İLERLEMEK İSTİYORUM.İLGİM DE VAR AMA YETERLİ BİLGİM YOK.BU YAZIDA ANLADIM Kİ GEREK DE YOKMUŞ İYİ BİR OKULDAYIM İYİ BİR ÜNİVERSİTE DE KAZANMAK İÇİN ELİMDEN GELENİ YAPICAM. BU YAZI İÇİN ÇOK TEŞEKKÜR EDERİM..
Mehmet Cemil Bayhan
Çok harika bir makale yazmışsınız.Ellerinize sağlık. Beni bayağı gaza getirdi gerçekten. Ben şuan lise 3 öğrencisiyim. Şimdiden bilgisayar hakkında bilgi sahibi olmaya çalışıyordum ama sizin bu yazınızı okuduktan sonra fikrim değişti. Artık şuan düşüneceğim tek şey YGS-LYS. SİZE NE KADAR TEŞEKKÜR ETSEM AZDIR. ÇOOOOOK TEŞEKKÜR EDİYORUM.........😆😉😊
Mehmet Cemil Bayhan
Çok harika bir makale yazmışsın ızgara.Ellerinize sağlık. Beni bayağı gaza getirdi gerçekten. Ben şuan lise 3 öğrencisiyim. Şimdiden bilgisayar hakkında bilgi sahibi olmaya çalışıyordum ama sizin bu yazınızı okuduktan sonra fikrim değişti. Artık şuan düşüneceğim tek şey YGS-LYS. SİZE NE KADAR TEŞEKKÜR ETSEM AZDIR. ÇOOOOOK TEŞEKKÜR EDİYORUM.........😆😉😊
eskidevir-yenidevir
sizin şanssızlığınız olmuş. işler yolunda gitmemiş diye anlıyorum.

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ühendisliği ÖSS Taban Puanları 2009
Neden yazılım uzmanı olamayacağınızın 10 kanıtı?
Microsoftda Çalışan Bir Türk ile Yapılmış Röportaj
Online Java Dersleri - İstisnalar - Exceptions
2008 CPU TURKEY YARIŞMASI SONUÇLANDI!
Kendini Geliştirmek Ne Demek?
Askerlik ve Bilgisayar Mühendisliği
IP SINIFLARI
Mezunları en kolay iş bulan üniversiteler
NHibernate için Veri Erişim Katmanını Otomatik Oluşturma
Yeni mezun bilgisayar mühendisleri için 10 büyük günah!
Bilgisayar Mühendsileri için CV hazırlama rehberi - 1
VERİ İLETİM TİPLERİ - Half Duplex - Full Duplex - Simplex
DOKTOR GİBİ BİLGİSAYAR MÜHENDİSİ OLMAK
Dizin (Directory) ve LDAP (Lightweight Directory Access Protocol) Kavramları
Online Java Dersleri - Polimorfizm
Neden yazılım uzmanı olamayacağınızın 10 kanıtı?
7 adımda patlak mühendisi tanıma rehberi?
Online Java Dersleri - Java NEDİ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.07.2011 09:01:19)
Güzel bi makale sağol
%0 %0 %0
Katılıyorum Çekimserim Katılmıyorum



Serdar(25.06.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-2017. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.