Mesut KOSUCU
Developer Mesut = new Developer(); RSS 2.0   
İletişim
mkosucu@gmail.com
 Wednesday, May 21, 2008
Gtalk Sohbet Açıklaması

Büyük bir hevesle sayfama eklediğim Gtalk servisini malesef bir kaç  kendini bilmez embesil insan türevi yüzünden sayfamdan kaldırdım. Demekki insanımız meydanı boş bulduğunda çapsızca küfürler etmeyi kendine amaç ediniyor ve bundan gurur duyuyor. Tabiki buda üzücü bir durum. Bu şekilde davranan her kim olursa olsun kınıyorum.

Saygılar

Wednesday, May 21, 2008 10:09:20 AM (GMT Standard Time, UTC+00:00)  #    Comments [1] -


Genel
 Monday, March 17, 2008
Yazgaç
Değerli dostum Hasan Ayaz'ın geliştirip ücretsiz olarak kullanıma sunduğu, Yazgaç isimli yazılımdan bahsetmek istiyorum. Yazgaç, bilgisayarının klavyesi ingilizce olan, ve bu klavleyle Türkçe karakterleri yazmakta zorluk çeken kişiler için geliştirilmiş bir program. Bunun yanında Yazgaç'ın eğitme imkanınızda var, olası kelimeleri program hazinesine ekleyip sonradan kullanma şansına sahipsiniz.

Prorgamı indirmek ve detaylı bilgi almak için tıklayınız

Bu paydalı paylaşım için Hasan Ayaza teşekkür eder başarılarının devamını dilerim.



Monday, March 17, 2008 8:32:53 AM (GMT Standard Time, UTC+00:00)  #    Comments [0] -


Genel
 Sunday, February 24, 2008
Microsoft DreamPark

Geçtiğimiz günlerde Microsoft, DreamPark isimli öğrenci paketini duyurdu. Bu paketin amacı, bilgisayar teknolojileri alanında eğitim gören üniversite öğrencilerine, Microsoft ürünlerini ücretsiz olarak vermek ve kullanımını yaygınlaştırmak.

Paketin içinde, Visual Studio 2008 Professional, SQL SERVER 2005 Developer Edition, Windows 2003 Server Standard, Microsoft Epression ve XNA Game Developer Studio var.

Ürünleri indirebilmek için doğrulama yapmanız gerekiyor, ama kötü olan tarafı, listede Türkiye üniversiteleri yok! Ben kişisel olarak Microsofta mail attım, bu iletiyi okuyan arkadaşlarda Türkiye üniversitelerinin sisteme dahil edilmesi konusunda şikayetlerini yazarlarsa sanırım bizim üniversitelerimizide eklerler. En azından benim temennim bu.

Kayıt ve Yükleme için tıklayınız.

İyi Çalışmalar
Sunday, February 24, 2008 3:31:59 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -


Visual Studio
Visual Studio 2008 Hotfix (KB946581)

Visual Studio 2008 ile web sayfası geliştirirken, editör yavaşlığı ve perfomans problemini ortadan kaldıran "hotfix" yayınlandı. Eğer VS 2008 ile web sayfası geliştiriorsanız, yaklaşık 2.6 Mb boyutunda olan dosyayı indirip kurmanızı tavsiye ediyorum.

Dosyayı indirmek için tıklayınız.

Kolay Gelsin
Sunday, February 24, 2008 3:23:55 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -


Visual Studio
 Wednesday, January 23, 2008
StarUML

Çok kullanışlı bir UML aracından bahsetmek istiyorum. StarUML! Ücretsiz UML yazılımları içinde en iyilerinden birisi, tamamen "open source" ve Java tabanlı olan StarUML, yaptığınız tasarımları  Java, C++, C# gibi dillere çevirebilme özelliğine sahip. Tam olarak kontrol etmesede(IBM'in Rational Rose ürünü gibi) yaptığınız tasarımların, doğruluğunu kontol edebiliyor. Bunun yanında, yazılım mimarları, mühendisleri, geliştiricileri ve database mimarları içinde birçok özelliği StarUML de bulabilirsiniz.(UseCases, Entity Relationship Model,4+1 View Model, UML Component gibi)

StarUML'i indirmek için tıklayınız.

Wednesday, January 23, 2008 3:26:24 AM (GMT Standard Time, UTC+00:00)  #    Comments [0] -


Genel
 Tuesday, January 22, 2008
Hashtable Kullanımı

Bu kısa yazıda System.Collection.Hashtable sınıfını kullanarak iki boyutlu veriyi nasıl saklayacağımız, veriye nasıl erişeceğimizden  bahsedeceğim.

Öncelikle, genelde yazılım içinde veri saklayacağım zaman çok boyutlu veya tek boyutlu dizileri kullanarak, yapmak istediklerimi yapabiliyordum. Ama bazen dizilerin ihtiyaçlarımızı karşılamadığı zamanlar oluyor. Bu durumda Hashtable denen sınıfa başvurarak, daha esnek veri saklayabiliyoruz.

Nedir bu Hashtable? Hashtable, iki boyutlu veri saklayıp, bu verilere KEY ve VALUE özellikleri ile ulaşabileceğimzi bir yapıdır. Örneğin bir kurumsal uygulamada, Müşteri Temsilcisinin SicilNo ve Aldığı Primi tutup işlem yapmanız gerekiyor(bu örnek gerçek olduğu için veriyorum, aynı durumu yaşadım). Bu durumda oluşturacağınız bir Hashtable a KEY değerine SicilNo'yu, VALUE değerine ise Primi kaydedip işlemlerinizi yapabilir ve bu tabloda SicilNo vererek, Prim'e ulaşabilirsiniz.Yani;

SicilNO Prim
1000 1000
1001 5000
1002 4550
1003 7899


İyide ben bunu Array kullanarak yaparım derseniz, işte Array ile Hashtable arasındaki bir kaç temel fark;

1) Array'a değere ulaşmak için index belirtmek durumundasınız, burda KEY özelliğini vererek değere ulaşabilirsiniz. Böylece değerin hangi indexte tutulduğunu bilmek durumda kalmazsınız.

2) Array tanımlarken, array üzerinde tutacağınız element sayısını başta belirtmek durumundasınız. Hashtable de buna gerek yoktur. İsterseniz belirtebilirsiniz, belirtmezseniz Hashtable 'ın boyutu sizin eklediğiniz element sayısı kadar olur.

3) Array de tek tip veri tutabilirsiniz, INT, STRING veya herhangi bir tip, buna karşılık Hashtable da tuttuğunuz verinin tipi önemli değildir. İstediniz her tip veriyi saklayabilirsiniz.

Not: Hashtable tablosu, değerleri "hash code" olarak sakladığından, sıralama(sorting) özelliğini desteklememektedir.

Şimdi C# Kullanarak nasıl bir Hashtable oluşturup ve bu tabloya nasıl değer ekleyeceğimize ve eklediğimiz değerleri nasıl alacağımıza bakalım.

Öncelikle Hashtable sınıfının bi örneğini oluşturalım;

System.Collections.Hashtable _table = new System.Collections.Hashtable();

Hashtable onbeş tane yapılandırıcıya(constructor) sahiptir. Bunlardan önemli bir kaçından bahsetmek gerekirse;

Örneğin tablonuzun kapasitesini belirtmek istiyorsunuz bunu yapmak için aşağıdaki kodu kullanabilirsiniz

 System.Collections.Hashtable _table = new System.Collections.Hashtable(4);

Veya, tablonuzda fazla veri ile çalışıyorsanız ve perfomans sizin için önemli ise, tablonuzda loadfactor ekleyebilirsiniz.

 System.Collections.Hashtable _table = new System.Collections.Hashtable(4,float(.6));

Peki bu loadfactor nedir? Load factor, temel olarak tablonuzun hangi doluluk oranına ulaştığında yeniden yaratılıp mevcut verileri yerlerine koyup, yeni veriyi tabloya ekleyeceğini gösterir. Örneğin, siz loadfactor' u 0.6 verdiğinizde, bu tablonuzun %60 doluluk oranına ulaştığında tablo yeniden yaratılıp eklemeye devam edeceğini gösterir. Kaynaklarda, önerilen loadfactor %60 olarak belirtilmektedir.

Yukarıdaki gibi bir Hashtable oluşturduktan sonra, tablomuza eklemeleri aşağıdaki gibi yapabilriz.

_table.Add(1000, 1000);
_table.Add(1001, 5000);
_table.Add(1002, 4550);
_table.Add(1003 7899);

Bu işlemin sonucunda, yukarıdaki SicilNO-Prim tablosu yapısını oluşturmuş olduk. Şimdi bu tablodan istediğimiz sicil numarasını vererek bu kişinin prim bilgisine ulaşabiliriz. Örneğin 1000 sicil numaralı kişinin prim bilgisini mesaj kutusunda göstermek istiyorsak, aşağıdaki kodu yazmamız yeterlidir.

MessageBox.Show(_table[1001].ToString());

Bunun yanında, Hashtable'a kaydedilen her değer element bir DictionartEnrty(System.Collection.DictionaryEntry)' dir. Eğer tablomuz içindeki elementleri ve değerleri bir döngü yardımı ile almak istiyorsak, bunun için iki yol kullanabiliriz.

1) foreach (DictionaryEntry _dic in _table)
    {
         MessageBox.Show(_dic.Key.ToString());
         MessageBox.Show(_dic.Value.ToString());
    }

2) IDictionaryEnumerator _enum = _table.GetEnumerator();                                                       

     while (_enum.MoveNext())
     {
            MessageBox.Show(_enum.Key.ToString());
            MessageBox.Show(_enum.Value.ToString());
      }

Bu iki yöntemi kullanarak tablonuzdaki değerlere ulaşmanız mümkün.

Bu yazıda kısaca Hashtable kullanımını anlatmaya çalıştım. Umarım  faydalı olur. Herhangi bir sorunuz olduğunda cevaplamaktan mutluluk duyarım.

İyi Çalışmalar.

 

Tuesday, January 22, 2008 2:44:37 AM (GMT Standard Time, UTC+00:00)  #    Comments [1] -


Visual Studio
Microsoft'u Seven Az mı?

Dün master tezlerinin seçimi konusunda Yazılım Mühendisliği Bölüm Başkanı bir konferans verdi. Sıra bana gelince tez projemi Microsoft .NET teknolojisini kullanarak yapmak istediğimi belirttim. Bir arkadaş çıkıp aynı "bende .NET ile yapmak istiyorum" deyince, hoca Microsoft'un nasıl bu hale geldiğini, aslında Microsoft'un yazılım geliştirmede çok başarısız olduğunu, Microsoft ürünlerinin dandik olduğunu, Apple'dan nasıl kopyaladığını falan anlattı. Bunu anlatırken tahtaya yazdığı yazının resmini çektim:) Microsoft'a dikkat!

 

Tuesday, January 22, 2008 12:20:06 AM (GMT Standard Time, UTC+00:00)  #    Comments [1] -


Genel
 Sunday, January 20, 2008
Nedir bu GUID(Global Unique Identifier)?

Bi çalışma için yaptığım araştırmada gözüme çarpan birkaç bilgiyi paylaşmak istedim. Bildiğimiz üzere, GUID bilgisayar tarafından bilgisayarın özellikleri, saat gibi değerlerinde katılması ile  random olarak üretilen hexadeximal bir değerdir ve %100 garanti verilmesede bir GUID ile bir kez daha karşılaşmanız pek mümkün değildir. Deneme için yaptığım bir örnekte, kendi bilgisayarımdan, bilgisayarımda bulunan SQL Server 2005 database sunucumdaki bir tabloya, 10.000.000(On milyon) GUID kaydettim, ve aynı GUID ile ikinci kez karşılaşmadım. Internette bulunan bazı kaynaklarda çok küçük bir ihtimal olsada iki aynı GUID nin aynı olabileceği bulunmaktadır.

C# ta yeni bir GUID oluşturmak için Guid MyGUID = Guid.NewGuid(); kodunu kullanmanız yeterlidir.

Aşağıdaki matematiksel değerler ise GUID oluşturma sayısı ve olasılık arasındaki bağlantıyı anlatmaktadır. Tabloya göre, 70 Trilyon 368 Milyar, 744 milyon 177 bin 664 tane GUID içinde iki GUID nin aynı olma olasılığı, 0,0000000004  ihtimal olarak görülmektedir.

                      Oluşturma Sayısı Olasılık
68,719,476,736 = 236          0.0000000000000004 (4 x 10-16)
2,199,023,255,552 = 241          0.0000000000004 (4 x 10-13)
70,368,744,177,664 = 246          0.0000000004 (4 x 10-10)

 

İyi Çalışmalar

Sunday, January 20, 2008 2:24:26 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -


Genel
Microsoft .NET Framework Kaynak Kodlarını Yayınladı

Geçtiğimiz günlerde Microsoft aşağıda isimlerini yazığım namespace'lerin Visual Studio 2008 için kaynak kodlarını yayınladı. IDE üzerinde yaptığınız bir kaç ayar ile bu namespace'lerin karnak kodlarını görebilirsiniz. Bu namespace'ler

  • .NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc).
  • ASP.NET (System.Web, System.Web.Extensions)
  • Windows Forms (System.Windows.Forms)
  • Windows Presentation Foundation (System.Windows)
  • ADO.NET and XML (System.Data and System.Xml)

Gerekli ayarlamaları anlatan güzel bir makale ise Shawn Burke' nin blogunda. Makaleyi okumak için tıklayınız.

 

Kolay Gelsin

Sunday, January 20, 2008 1:46:51 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -


Visual Studio
 Thursday, January 17, 2008
Unutmadık... Unutmayacağız...

Bildiğimiz üzere 24 Ocak 1993 tarihinde, değerli aydın, düşünür, gazeteci Uğur Mumcu yobazların, gericilerin hain saldırısında hayatını kaybetti. Aşağıdaki yazı 25.08.1975'te Uğur Mumcu tarafından Cumhuriyet gazetesinde yayınlanan yazı... Kendinisini saygıyla sevgiyle anıyoruz..

Sesleniş...

Dağ gibi karayağız birer delikanlıydık. Babamız, sırtında yük taşıyarak getirirdi aşımızı, ekmeğimizi.

Arabalar şırıl şırıl ışıklarıyla caddelerden geçerken bizler bir mumun ışığında bitirdik kitaplarımızı. Kendimiz gibi yaşayan binlerce yoksulun yüreğini yüreğimizde yaşayarak katıldık o büyük kavgaya. Ecelsiz öldürüldük. Dövüldük, vurulduk, asıldık.

Vurulduk ey halkım, unutma bizi...

Yoksulluğun bükemediği bileklerimize çelik kelepçeler takıldı. İşkence hücrelerinde sabahladık kaç kez. İsteseydik, diplomalarımızı, mor binlikler getiren birer senet gibi kullanırdık. Mimardık, mühendistik, doktorduk, avukattık. Yazlık kışlık katlarımız, arabalarımız olurdu. Yüreğimiz, işçiyle birlikte attı. Yaşamımızın en güzel yıllarını, birer taze çiçek gibi verdik topluma. Bizleri yok etmek istediler hep. Öldürüldük ey halkım, unutma bizi...

Fidan gibi genç kızlardık. Hayat, şakırdayan bir şelale gibi akardı gözbebeklerimizden. Yirmi yaşında, yirmi bir yaşında, yirmi iki yaşında, işkencecilerin acımasız ellerine terk edildik. Direndik küçücük yüreğimizle, direndik genç kızlık gururumuzla. Tükürülesi suratlarına karşı bahar çiçekleri gibi, taptaze inançlarımızı fırlattık boş birer eldiven gibi. Utanmadılar insanlıklarından, utanmadılar erkekliklerinden. Hücrelere atıldık ey halkım, unutma bizi...

Ölümcül hastaydık. Bağırsaklarımız düğümlenmişti. Hipokrat yemini etmiş doktor kimlikli işkencecilerin elinde öldürüldük acınmaksızın. Gelinliklerimizin ütüsü bozulmamıştı daha. Cezaevlerine kilitlenmiş kocalarımızın taptaze duygularına, birer mezar taşı gibi savrulduk. Vicdan sustu. Hukuk sustu. İnsanlık sustu.

Göz göre göre öldürüldük ey halkım, unutma bizi...

Kanserdik. Ölüm, her gün bir sinsi yılan gibi dolaşıyordu derilerimizde. Uydurma davalarla kapattılar hücrelere. Hastaydık. Yurtdışına gitseydik kurtulurduk belki. Bir buçuk yaşındaki kızlarımızı öksüz bırakmazdık. Önce kolumuzu, omuz başından keserek yurtseverlik borcumuzun diyeti olarak fırlattık attık önlerine. Sonra da otuz iki yaşında bırakıp gittik bu dünyayı, ecelsiz.

Öldürüldük ey halkım, unutma bizi...

Giresun'daki yoksul köylüler, sizin için öldük. Ege'deki tütün işçileri, sizin için öldük. Doğu'daki topraksız köylüler, sizin için öldük. İstanbul'daki, Ankara'daki işçiler, sizin için öldük. Adana'da, paramparça elleriyle, ak pamuk toplayan işçiler, sizin için öldük.

Vurulduk, asıldık, öldürüldük ey halkım, unutma bizi...

Bağımsızlık, Mustafa Kemal' den armağandı bize. Emperyalizmin ahtapot kollarına teslim edilen ülkemizin bağımsızlığı için kan döktük sokaklara. Mezar taşlarımıza basa basa, devleti yönetenler, gizli emirlerle başlarımızı ezmek, kanlarımızı emmek istediler. Amerikan üsleri kaldırılsın dedik, sokak ortasında sorgusuz sualsiz vurdular.

Yirmi iki yaşlarındaydık öldürüldüğümüzde ey halkım, unutma bizi...

Yabancı petrol şirketlerine karşı devletimizi savunduk; komünist dediler. Ülkemiz bağımsız değil dedik; kelepçeyle geldiler üstümüze. Kurtuluş Savaşı'nda emperyalizme karşı dalgalandırdığımız bayrağımızı daha da dik tutabilmekti bütün çabamız. Bir kez dinlemediler bizi. Bir kez anlamak istemediler. Vurulduk ey halkım, unutma bizi...

Henüz çocukluğumuzu bile yaşamamıştık. Bir kadın eline değmemişti ellerimiz. Bir sevgiliden mektup bile alamamıştık daha. Bir gece sabaha karşı, pranga vurulmuş ellerimiz ve ayaklarımızla çıkarıldık idam sehpalarına. Herkes tanıktır ki korkmadık. İçimiz titremedi hiç. Mezar toprağı gibi taptaze, mezar taşı gibi dimdik boynumuzu uzattık yağlı kementlere.

Asıldık ey halkım, unutma bizi...

Bizi öldürenler, bizi asanlar, bizi sokak ortasında vuranlar, ağabeyimiz, babamız yaşlarındaydılar. Ya bu düzenin kirli çarklarına ortak olmuşlardı ya da susmuşlardı bütün olup bitenlere. Öfkelerini bir gün bile karşısındakilere bağırmamış insanların gözleri önünde öldürüldük. Hukuk adına, özgürlük adına, demokrasi adına, Batı uygarlığı adına, bizleri, bir şafak vakti ipe çektiler.

Korkmadan öldük ey halkım, unutma bizi...

Bir gün mezarlarımızda güller açacak ey halkım, unutma bizi... Bir gün sesimiz, hepinizin kulaklarında yankılanacak ey halkım, unutma bizi.

Özgürlüğe adanmış bir top çiçek gibiyiz şimdi, hep birlikteyiz ey halkım, unutma bizi, unutma bizi, unutma bizi...

Uğur Mumcu - Cumhuriyet 25.8.1975

Thursday, January 17, 2008 1:27:12 AM (GMT Standard Time, UTC+00:00)  #    Comments [1] -


Genel
 Wednesday, January 09, 2008
Online Yaşam Platformu

İnternet komşum olsana...

Bosch tarafından geliştirilen online yaşam platformunda artık internet üzerinde ev sahibi olup online olarak yaşayabiliyorsunuz:) http://www.boschworld.com/Default.aspx  adresine girerek güzel bir yarımadada birkaç işlemden sonra evinizi ve tapunuzu alın. Şu an site tamamen aktif değil çok yakında online yaşam hizmetine başlayacak:) Tavsiyem; evler tükenmeden hemen evinizi alın. Bana komşu olmak isteyenler için ev adresimi veriyorum:)

1. Bölge 3. Etap 48. Mahalle 14 Numaraı daire:) komşu olarak beklerim:)

 

İyi eğlenceler

 

Wednesday, January 09, 2008 5:28:24 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -


Genel
eXppress Application Framework

Uzun süredir üçüncü parti bileşen(component) firmalarındaki gelişmeleri yakından takip ediyorum. Yazılım platformları geliştikçe, büyük bileşen firmaları kendilerini daha çok aşıyorlar. Ürünlerini yakından takip ettiğim Developer Express Inc ve Infragistics Inc, ulu orta yapmasalarda kapalı kapılar ardında büyük bir rekabet içindeler. .NET Framework 3.0 ile WPF bileşenlerinde hızlı adım adım atan Infragistics Inc. WPF alanında rakiplerine göre büyük yol kat etti. Benimde kurumsal olarak bileşenlerini beğenerek kullandığım Developer Express Inc.  ise buna karşı bir atak olarak, kurumsal uygulama geliştirme çatısı olan eXpress Application Framework ürününü piyasaya sürdü.

Uzun bir süredir incelediğim ve çok beğendiğim XAF(eXpress Application Framework)'te yazılımcıların nefret ettiği bir çok yorucu kodlamayı profesyonel bir şekilde ortadan kaldırılmış. Yine Developer Express e ait olan XPO(eXpress Persistent Object) isimli ORM(Object Relational Map) aracı ile entegre çalışan bu framework ile, yazılımcıların günlerini alan uygulamalar saatler içinde yapılabilir durumda. Basit bir örnek verecek olursak, mesela bir adres defteri yapmak istiyorsunuz(tabiki bu kurumsal bir uygulama değil ama, ürünün işlerimizi nasıl kolaylaştırdığına örnek için). Sizin yapmanız gereken sadece, veritabanı tablolarınızı sınıflar olarak tasarlamak ve uygulamaya eklemek. Bundan sonra, ekle, sil güncelle, listele, güvenlik ayarları, yetkilendirme, çıktı alma, excel'e word'e çevirme gibi işlemler framework tarafından sizin adınıza tasarlanıyor. Yapmanız gereken uygulamayı derlemek ve çalıştırmak. Şunuda eklemek gerekirki, yazılımcılar hala kod yazmak durumundalar, ama zaman alan rutin kodlar değil.

Ürün hakkında merak ettikleriniz varsa www.devexpress.com adresinden daha detayı bilgi alabilirsiniz. Denem sürümünü indirip kullanabilirsiniz.

Kolay Gelsin

 

Wednesday, January 09, 2008 4:56:22 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -


Visual Studio
Kategoriler
 Genel
 Politika
 Teknoloji
 Visual Studio
Navigasyon
The Code Project
Developer Express Inc.
ASP.NET
Martin Fowler
WindowsClient.net
Takip Ettiklerim
 Engineering Windows 7
 Hasan Ayaz
 Hasan Ayaz / Technojection
 Kıvanç Özüölmez
 Martin Fowler
 Mehmet Nuri Çankaya
 Murat Yılmaz
 Tamer Öz
Arşiv
<May 2008>
SunMonTueWedThuFriSat
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
İstatistikler
Total Posts: 38
This Year: 17
This Month: 0
This Week: 0
Comments: 7