13 Temmuz 2012 Cuma

Mühendis(lik) hakkında...


Bir mühendisin kıymeti her yaşta bilgisi ile tecrübesinin toplamı ile ölçülür. (Fevzi Akkaya)


İncelediğimiz mühendis 25 yaşında diploma almıştır. Dağarcığında birçok bilgi ile sektöre ayak basmıştır. Fakat bu bilgisini kullanma tecrübesine sahip bulunmuyor, heyecanlı ve ürkektir. İlk görevi kendisine teslim edilir edilmez bu bilgiler, kafasında, sıra gözetmeden birbirini itip öndekinin yerini almaya başlar, hepsi kifayetsiz gözükür, sarıldığı mektep kitapları bile derdine çare olamaz. (Aslında bu bilgilerini kullanma tecrübesine henüz sahip değildir.)

İlk günlerin heyecanı geçtikten sonra, yavaş yavaş bilgisini kullanma tecrübesini edinmeye başlar. 8 ile 10 senelik bir devreden sonra, 35 yaşlarında, tecrübe eğrisi, bilgi eğrisi ile çakışır, mühendis artık bilgisini kullanma tecrübesini edinmiştir. Artık bir sektör nosyonuna sahip olmuştur.

Bu devre yürür geçer, mühendis mektep kitaplarından gayri kitaplar edinmeye ve kütüphanesini teşkil etmeye başlar. Tecrübesi arttıkça, kafasında bilgileri tasnifli olarak yerleşir, bunlara yenileri eklenir ve mühendisin bilgi dağarcığı 65 yaş civarına kadar artmakta devam eder...

65 yaşına gelen mühendis, o zamana kadar edindiği tecrübe ve bilgiye sahiptir, ama yenilerini edinme kabiliyeti artık kalmamıştır.

Yaşı ilerledikçe hafızası da gerilemeye başlar, 70'e kadar kendini idare eder, 75'de artık eskimiştir, ama kendisi farkında değildir. 75'den sonra ise hafızası süratle gerilemeye başlar, yenilerinden eskilere doğru gerek bilgi gerekse tecrübe dağarcığı hızlanarak boşalır. Boşaldıkça mühendis eski günlerin tatlı hikayelerini anlatmakla yetinir, taki Emrihak vakti olup nalları dike...(takriben yaş 80 !)

2 Mart 2012 Cuma

C# diline giriş aşamasında faydasını olacağını düşündüğüm bir dökümanı paylaşmak istedim.

C# dilinde uygulama geliştirirken mutlaka bilmemiz gereken ve sürekli kullandığımız değişkenlerin tipleri hakkında açıklamalar ve kullanımı ile ilgili örnek kodlar dökümanda mevcuttur.

 Dökümana buradan ulaşabilirsiniz...

1 Mart 2012 Perşembe


Merhaba, bu paylaşımımda elimden gelebildiğince VeriTabanı giriş ile ilgili birşeyler yazdım.

SQL(Structered Query Language) adı verilen veri tabanı yönetim sistemleri  çok geniş bir kapsama sahip olduğu için sadece belli konular ile ilgili bir giriş yapacağım. Sizlerin SQL ile ilgili sormak istediği konular olursa onlar ile ilgili yeni yazılarda ekleyebilirim. Bilgi almak istediğiniz konu ya da sorularınızı yorum kısmına veya paylaşımın alt kısmında yer alan mail kısmından mail olarak bana iletebilirsiniz. Bu yazımda teknik SQL konuları ile ilgili değil de, daha çok SQL’inhayatımızda ne gibi kolaylıklar sunduğu ve uygulamalarımızda nasıl bir yol izlememiz gerektiği ile ilgili bir yazı yazacağım. Umarım buradaki paylaşımlarım faydalı olur.

Başlangıç olarak MS-SQL ile yapabileceklerimizin aslında düşündüğümüzden çok daha ileri seviyede olduğundan bahsetmek istiyorum. Yazılım alanına ilk girişte bizlere sadece  adı gibi Veritabanı(Database) verinin tabanı, veriyi tutan yer gibi gelir hep. Ama MS-SQL -  MySQL – Oracle vb. geliştirilmiş veri tabanı yönetim sistemleri  ile bu veritabanı dediğimiz şey aslında çok çok ileri bir teknoloji haline gelmiştir. Kendine has yazılım dili ve desteklediği özellikleriyle bizlere uygulamalarımızı geliştirme kısmında çok az iş yükü bırakır. Veritabanı kullandığımız projelerde hep şu mantık vardır, veriyi hazırladıktan sonra sorguyu hazırla ve sorgunu gönder. Uygulamamızı birden fazla kullanıcının kullandığını düşünürsek bu uygulamamızın kullanımında  yavaşlamalara yol açar. Ufak uygulamalarda bu farkı anlamak pek mümkün değildir, ama verinin çok olduğu aynı zamanda buna paralel kullanıcının da çok olduğu bir ortamı düşündüğümüzde kullanıcıların deyimi ile “donmalar” başlar. Biz yazılımcı adayları ve yazılımcılar bunlardan kaçınmak zorundayız. Geliştirdiğimiz uygulamalarda ilk düşünmemiz gereken kullanıcıya en az işi yaptıracak ve en hızlı şekilde çalışacak uygulamalar geliştirmektir. Bunun için veri işlemeye yönelik uygulamalarımızda SQL komutlarımızı proje kodu içinde yazmak yerine mümkün oldukça SQL-Server içerisinde yazmamız gerekir. Bu bize en başta ciddi anlamda hız kazancı sağlar. Bir diğer kolaylığı da sürekli gelişen, güncellenen bir uygulama yazdığımızda, her güncelleme yada veritabanı sorguları ile ilgili değişiklikler yada eklentiler yaptığımızda kod kargaşasının içinde bir şeyler düzeltmeye çalışırız. Bu yüzden SQL işlemlerimizi ne kadar SQL-Server kısmında çalıştırırsak o kadar hızlı ve daha az karmaşık bir yapı ile çalışırız.

Bu konu ile ilgili bir örnek verelim. Örneğin Veri tabanımızda aşağıdaki gibi tablolarımız olsun.




PROJE İÇİNDEKİ KOD KISMI




SQL-Server tarafından Stored Procedure ile sorgulama yöntemi

               PROJE İÇERİSİNDEN TETİKLEME METODU        SQL-SERVER İÇERİSİNDEKİ STORED PROCEDURE





İlk bakışta proje içinden daha kolay gibi görünüyor değil mi? Ama bu sadece bir ön görünüm maalesef. Projemiz git gide büyüdükçe, onlarca tablo ile çalışmaya başladığımız zaman bu iş göründüğü kadar da kolay olmamaya başlıyor. İşte bu yüzden SQL kullanımını arttırmayı tavsiye ediyorum. Dediğim gibi hepsinden önce bu yöntem uygulamamıza ciddi bir hız kazandırıyor. Nasıl mı? Proje içinden T-SQL-Query dediğimiz bu yöntem ile sorgularımızı yazdığımızda SQL o sorguyu kendi içinde kendi formatına göre derlemeye çalışıyor. Yani bizim stored procedure ile yazdığımız formata getirmeye çalışıyor. Bu yüzden işlem süremiz uzuyor. SQL’in sorgulama tekniği hakkında profesyonel olarak bilgiye sahip olmadığım için çok fazla detayını giremiyorum. Ama daha önce yaptığım işlerde bunun farkını gördüm. Özellikle Insert veya Update metodlarında çok fazla parametre kullanıyoruz. Bir süre sonra bu iş içinden çıkmaz bir hal alıyor. Ama SQL-Server üzerinde sorgumuzu yazdığımızda uygulama kısmında sadece stored procedure’umuzun adını ve gerekli parametreleri göndermemiz yeterli oluyor. Geri kalanını SQL kendisi hallediyor diyebilirim. Tabi SQL sadece bunlarla sınırlı değil. View’ler Trigger’lar ve kendi yazılım diline ait Function’larada sahip.  Özellikle Function’ları ile projemizde kod yazmaktan bile kurtarıyor bizi. Örneğin;


Tablomuz aşağıdaki gibi;




Bu daha SQL in sadece  başlangıcı arkadaşlar. Başlarda da dediğim gibi SQL çok büyük bir deniz ve bizlerde bu denizin nimetlerinden olabildiğince faydalanmalıyız. Bu yazımda böyle bir girişin yeterli olduğunu düşünüyorum. Bundan sonraki yazılarımda SQL ile ilgili diğer uygulamalara da örnek vermeye çalışacağım. Bilgi paylaşımı bizim sektörümüzde çok önemlidir. Ne kadar çok paylaşırsak o kadar çok hızlı ilerler ve büyürüz. Umarım bir nebzede olsa birilerine fayda sağlamış olurum bu paylaşımımla.


Hepinize iyi çalışmalar...




Öncelikle blog sayfamı ziyaret ettiğiniz için teşekkür ediyor ve hoşgeldiniz diyorum.

Profil bilgilerimden de anlaşılabileceği gibi bilgisayar alanında eğitim-öğretim hayatıma devam ediyorum. Bunun dışında freelance çalışıyorum. Bu blog sayfamda da kendi alanım ve hayattan güncel konular ile ilgili paylaşımlar yayınlamaya çalışacağım.
Özellikle yazılım alanında da bilgi sahibi olduğum kadarıyla paylaşımlarda bulunacağım. Umarım siz ziyaretçilerime bir fayda sağlamış olurum.

 Herkese güzel ve sağlıklı günler dilerim...