<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5895961542671466085</id><updated>2011-10-12T00:40:53.443+02:00</updated><category term='LCD TV'/><category term='Tuğrul Helvacı'/><category term='Visual Studio'/><category term='Hata Yakamak'/><category term='Event Nedir'/><category term='CHIP Dergisi'/><category term='Stored Procedure'/><category term='Yazarlık Dersleri'/><category term='HttpSessionState'/><category term='DragEnter'/><category term='Visual Basic 2008'/><category term='C# 2008'/><category term='ClickOnce'/><category term='DataTable'/><category term='Programcılık Kitapları'/><category term='Fatih Tolga Ata'/><category term='PC net'/><category term='İlker TABAK'/><category term='Abstract Sınıflar'/><category term='Windows 2000 Server Kurmm'/><category term='MD5CryptoServiceProvider'/><category term='Görsel Dersler'/><category term='Dispose İşlemi'/><category term='Makaleler'/><category term='ASP.NET'/><category term='e-book'/><category term='#define'/><category term='pdf dergi'/><category term='IntPtr'/><category term='DLL Dosyaları'/><category term='Bilirkişilik'/><category term='Eğitim Videoları'/><category term='Delphi Prism 2010'/><category term='IContainer'/><category term='Programcılık Kursları'/><category term='Mamik Yanık'/><category term='LCD Monitör'/><category term='ICryptoTransform'/><category term='Delphi'/><category term='Sürükle-Bırak'/><category term='.NET Dilleri'/><category term='C# 3.0 Kitabı'/><category term='Yazarlık Önerileri'/><category term='VCL.NET'/><category term='MD5 Algoritması'/><category term='Windows 2000 Server'/><category term='Bilişim Sözlüğü'/><category term='VB 9.0'/><category term='ceviz.net'/><category term='Kriptografi'/><category term='foreach'/><category term='Nesneye Yönelik Programcılık'/><category term='Cookie&apos;ler'/><category term='Borland C++'/><category term='GridView'/><category term='DragDrop'/><category term='Delphi.NET'/><category term='Delphi 2006 for .NET'/><category term='Pointer'/><category term='OleDbDataAdapter'/><category term='GetAllNetworkInterfaces'/><category term='Bilişim A.Ş.'/><category term='.NET Framework'/><category term='Session'/><category term='Yayınevi Editörleri'/><category term='ToolStripMenuItem'/><category term='Sub'/><category term='#undef'/><category term='Ankara'/><category term='Oyungezer'/><category term='Fatih Durgut'/><category term='C# 3.0'/><category term='Namespace'/><category term='Clipper 5.2'/><category term='FoxPro'/><category term='Rad Studio 2007'/><category term='C# Kitapları'/><category term='Controls Koleksiyonu'/><category term='Setup Wizard'/><category term='Dersler'/><category term='Selection Sort'/><category term='Buzzword'/><category term='Fatih Altaylı'/><category term='oyyla.com'/><category term='Görkem Sezgin'/><category term='Borland'/><category term='SQL Server Kurmak'/><category term='Blog'/><category term='.NET'/><category term='Microsoft Türkiye'/><category term='Excel'/><category term='SqlConnection'/><category term='Aydın KÖKSAL'/><category term='Application Sınıfı'/><category term='tusul.com'/><category term='Blog Dergisi'/><category term='SQL Server 2008 Express'/><category term='Programcılık'/><category term='Prerequisites'/><category term='Bilgisayar Kursu'/><category term='Oxygene'/><category term='Interface'/><category term='Visual Basic Kitabı'/><category term='IDE'/><category term='NetworkInformation Sınıfı'/><category term='Garbage Collector'/><category term='C++'/><category term='Bilişim Derneği'/><category term='Exception'/><category term='Boxing'/><category term='Sefer Algan'/><category term='DataSet'/><category term='Function'/><category term='Memik Yanık'/><category term='Visual Basic'/><category term='Değişkenler'/><category term='Çevirmen'/><category term='Visual C#'/><category term='hepsiburada.com'/><category term='Zirveye Çıkmak'/><category term='SessionState'/><category term='ComputeHash'/><category term='DESCryptoServiceProvider'/><category term='Eleştiri Yapmak'/><category term='PC Magazine'/><category term='Turbo C++'/><category term='BytePlus'/><category term='SqlDataReader'/><category term='Delphi 2007'/><category term='Express Edition'/><category term='OleDbConnection'/><category term='HttpCurrent'/><category term='ListBox'/><category term='Collect() Metodu'/><category term='Visual Basic 9.0'/><category term='VB'/><category term='Yazarlar'/><category term='RichTextBox'/><category term='ADO.NET'/><category term='CodeGear'/><category term='C#'/><category term='SDN'/><category term='Byte Degisi'/><category term='Exception Sınıfları'/><category term='Zirvedeki Beyinler'/><category term='NetworkInterface'/><category term='Split() Metodu'/><category term='Procedure'/><category term='Önişlemci Deyimleri'/><category term='Bedava Kitap'/><category term='BindingSource'/><category term='Borland C++ Builder'/><category term='Hata Yakalamak'/><category term='Bloglar'/><category term='MenuStrip'/><category term='dBASE IV'/><category term='CurrencyManager'/><category term='C++ Builder'/><category term='Programcılık Kitabı Yazarları'/><title type='text'>Memik Yanık'ın Günlüğü</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default?start-index=101&amp;max-results=100'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>269</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-9169257443472413790</id><published>2010-08-17T10:28:00.000+02:00</published><updated>2010-08-17T10:28:08.398+02:00</updated><title type='text'>Visual Basic 10.0 Kitabımın Önsözü(*)</title><content type='html'>&lt;span style="font-family: Verdana, sans-serif;"&gt;Varsayalım ki daha önce hiç kod yazmadınız ve programcılık öğrenmeye karar verdiniz. Başka bir deyişle programcılıkla ilgili temel kavramlara henüz sahip değilsiniz. Bu durumda bu kitap kolay okunma ve hemen anlaşılma konusunda iddialı olsa bile önceleri biraz zorlanabilirsiniz. Bu kitabın ilk 3 bölümünde yazılanları anlamakta zorlanıyorsanız www.memikyanik.net’teki Programcılık Dersleri adı altında bir araya getirilen Visual Basic konulu birkaç makaleyi okuduktan sonra kitaba dönmenizi öneririz. Verilen adresteki Visual Basic konulu makaleleri okuyup kitaba döndüğünüzde yazılanların sizin için daha anlaşılır olduğunu göreceksiniz. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Varsayalım ki öğrencisiniz ve okulunuzda verilen .NET uyumlu Visual Basic derslerini anlamakta zorlandığınız için Visual Basic kitabı almaya karar verdiniz. Başka bir deyişle kod yazmaya yabancı değilsiniz. Bu durumda bu kitabın ilk 3 bölümünü okumakta zorlanmayacaksınız. Bu nedenle size memikyanik.net’teki Visual Basic konulu makaleleri okumayı ihmal etmeyin demeyeceğiz. Kitabın ilk 100 sayfasına şöyle bir göz gezdirip “ben bu konuları zaten biliyorum” deyip geçmenizi istemeyiz. Çünkü bu kitabın ilk 3 bölümünde birçok ayrıntıdan söz edilmektedir. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Varsayalım ki daha önce başka bir programlama dili ile kod yazdınız ve .NET uyumlu Visual Basic ile uygulama geliştirmeye karar verdiniz. Bu kitabın sayfalarını atlamadan okuduğunuzda kısa bir sürede .NET programcılığına adapte olursunuz. Tabii ki bu kitapta .NET programcılığıyla ilgili bazı konuları bulamayabilirsiniz. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Bu kitabı kaleme alırken bizi en çok kitapta yer yerilecek konuları seçmek ve seçilen konulara ayrılacak sayfaların sayısını tespit etmek zorladı. Örneğin Assembly’ler hakkında mutlaka bilgi vermek gerekiyordu. Ötesi Assembly kavramı hakkında bilgi sahibi olmayan birisine mevcut Assembly’lerden söz etmenin zorluğu ortadaydı. Asıl zorluk ise burada başlıyor: Çünkü Assembly çok kapsamlı bir konudur. Kitapta hiç söz edilmemesi sorunlara neden olurken, bütün yönleri ile anlatıldığında ise kitabın sayfa sayısı fazla olmaktadır. Tercihimiz orta yolu bulmak şeklinde oldu. Yani Assembly’leri bütün ayrıntıları ile anlatmak yerine temel özelliklerinden söz etmekle yetindik. Benzer orta yol tercihini Attribute’ler, Generic sınıflar, Windows Mesajları için de yaptık. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Bu kitabı gerçekte bir süre önce yayınlanan C# 3.0 kitabımızdan yola çıkarak kaleme aldık. Bu nedenle C# 3.0 kitabımızı edinmiş okurlar benzer konu sıralaması ve benzer cümlelerle karşılaşacaklardır. Çünkü Visual Basic ve C# programlama dilleri .NET Framework ile gelen aynı sınıfları kullanmaktadır. Tabii ki her iki kitap arasında bazı farklılıklar yok değildir. Örneğin Visual Studio ile hazırlanan Visual Basic projeleri ile C# projelerinin yapıları birbirinden oldukça farklıdır. Bu nedenle bu kitabın Application Sınıfı bölümü C# kitabının aynı adlı bölümünden oldukça farklıdır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Bu kitapta .NET uyumlu Visual Basic programlama dilini bütün ayrıntıları anlatmamış olmamıza rağmen kitabın oldukça kapsamlı olduğunu söyleyebiliriz. Çünkü 860 sayfa boyunca Visual Basic anlattık. Üstelik sayfaların kenar boşluklarını şartları zorlayıp azaltıp sayfa sayısını düşürmeye çalıştık. Nasıl bir anlatım şekli tercih ettik? Birinci önceliğimiz her zaman olduğu gibi kolay okunmak ve hemen anlaşılmak oldu. Yani istedik ki bu kitabın her sayfası ilk okumada hemen anlaşılsın. Tabii daha önce hiç kod yazmamış okurlar kitabı hızlıca okurlarsa ilk okumada anlamayacakları konular ve ayrıntılar mutlaka olacaktır. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Bu kitapta konuları nasıl mı sıraladık? İlk bölümde Visual Studio’dan bağımsız olarak Visual Basic kodu üzerinde durduk. Visual Basic kodumuzu Not Defteri ile hazırlayıp konsolda derledik. Böylece .NET uyumlu Visual Basic programlama dili hakkında ön bilgiye sahip olduk. Devamında kitabın ikinci bölümünde Visual Studio’yu anlatır gibi yapıp programcılıkla ilgili bazı temel kavramlardan söz ettik. Daha önce Visual Studio’yu kullanıp az çok uygulama geliştirmiş olan birisi bu kitabın 20 sayfalık ikinci bölümüne baktığında kitabın düzeyine uymayan sayfaların bulunduğunu veya ikinci bölümdeki sayfaların gereksiz yere Visual Studio ile ilgili ekran görüntüleri ile doldurulduğunu düşünebilir. Böyle bir yorumda bulunan arkadaşlara 2 cümlemiz var: İlk okumada anlaşılmayı hedefliyorsanız okurunuzu bazı kavramlar bağlamında hazırlamanız gerekir. İkinci cümlemiz ise şudur: Bu kitabın görece fazla ekran görüntüsünün kullanıldığı ilk bölümde Release-Debug modlarından söz edilmektedir. Bu 2 moddan söz etmeye neden mi gerek duyduk? Çünkü konu projeleri çalıştırmak ve hata ayıklamak olduğunda debug modu nedir, release sürüm nedir sorularına mutlaka öncelikle cevap verilmelidir. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Devamında yani kitabın 3. bölümünde yaklaşık 50 sayfa boyunca küçük bir Visual Basic kitabı yazar gibi okura programcılıkla ilgili temel kavramları anlatmaya çalıştık. Kitap metni içinde Programcılığa Giriş adını verdiğimiz 3. bölüm için yazdıklarımızın bir kısmını buraya aldık: “Daha önce az çok kod yazmış olanlar bu bölümün sayfalarına şöyle bir baktıklarında bütün yazı¬lanların bildikleri konular oldukla¬rını sanabilirler. Sanabilirler diyoruz çünkü Programcığa Giriş adlı bölümde Visual Basic ile program yazılır¬ken gerek duyulan pek çok kavram hakkında teknik açıkla¬malar yapılmaktadır. Örneğin Olaylar ve Metot Hazırlamak böyle bir konudur.Birçok kişinin nazarında forma bir düğme yerleştirilir, sonra bu düğme çift tıklanır ve istenen kodlar yazılır. Aslında bu yorum yanlış değildir. Ne var ki programcı işin geri planını öğren¬mek zorundadır. Olaylar ve Metot Hazırlamak başlığı altında yazılanlar hem daha önceleri görsel bir araçla kod yazmayanlar için ilk okumada anlaşılacak basitliktedir hem de olaylar hakkında az çok bilgisi olanlara işin geri planı kısaca anlatılmaktadır. Bu nedenle bu kitabı eline alan herkesin 3. bölümü dikkatli okumasını öneriyoruz.”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Bu kitap hakkında net bilgiye sahip olmak isteyenlerin Application Sınıfı adlı bölümü incelemeleri önerilir. Yerli yabancı birçok kaynakta Application sınıfından hiç söz edilmezken veya bu sınıfın birkaç statik metodu birkaç cümle ile geçiştirilirken bu kitapta 32 sayfa boyunca Application, WindowsFormsApplicationBase ve ApplicationContext sınıflarından söz edildi. Gerçekte bu 3 sınıftan bi haber olup iyi programlar yazmak mümkündür. Ne var ki Visual Studio ile hazırlanan Visual Basic uygulamalarının geri planı hakkında bilgi sahibi olmayan programcılar günün birinde sorun yaşarlar. Örneğin birden fazla forma sahip Visual Basic uygulamasındaki 2. veya 3. formun aynı anda birden fazla kopyasının ekrana gelmesini istemiyor olabilirsiniz. Bu sorunun çözümü Visual Studio ile hazırlanan C# uygulamalarında kolay iken Visual Basic uygulamaları hakkında temel bilgiye sahip olmayı gerektirmektedir. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;2004 yılında yayınlanan C# kitabımızı kaleme alırken başka bir Türkçe C# kitabından izinsiz çalıntı yapmakla suçlandık. Suçlamaların dayanak noktası değişken adı benzerliğiydi. Adlarını çalmakla suçlandığımız i, j, sayi, deger gibi değişkenleri sıfıra bölme hatasını, selection sort işlemini ve Word belgeleri üzerinde nasıl işlem yapıldığını anlattığımız sayfalarda tanımlayıp kullanmıştık. Her ne kadar benzer olduğu söylenen değişken adlarının neredeyse tamamını 1994 yılında yayınlanan Clipper 5.2 kitabımızda yıllar önce kullanmış olsak bile “çalıntı” değişkenleri kullandığımız konulara bu kitapta biraz torpil geçip daha ayrıntılı bir şekilde ele aldık. Değişken adı benzerliğinden dolayı tekrar suçlanmamak için değişkenlere bazen Osmanlıca bazen İngilizce bazen de argo adlar verdik. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Visual Basic üzerine yazacaklarımız bu kitapla sınırlı değildir. www.memikyanik.com’dan mail adresimizi alıp her türlü sorununuzu yazabilir veya direk bağlantı kurabilirsiniz. Bu kitabı yazarken yararlandığımız temel kaynak MSDN oldu. Bu nedenle başka yerli programcılık kitaplarıyla olabilecek değişken adı benzerlikleri tesadüften ibarettir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;* Bu kitap basım aşamasındadır. Kısa bir süre içinde yayınlanacaktır.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-9169257443472413790?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/9169257443472413790/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=9169257443472413790' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/9169257443472413790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/9169257443472413790'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2010/08/visual-basic-100-kitabmn-onsozu.html' title='Visual Basic 10.0 Kitabımın Önsözü(*)'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4984459377475382715</id><published>2010-05-04T13:25:00.001+02:00</published><updated>2010-05-04T13:26:24.417+02:00</updated><title type='text'>ASP.NET Kitabının Kapağı..</title><content type='html'>Yakın bir zamanda yazımını tamamladığım ve şu an itibarıyla baskı aşamasında olan ASP.NET 4.0 kitabının kapağı hazırlandı. Yaklaşık 800 sayfa olan bu kitapta ASP.NET'i temelden öğrenmek isteyenlere uygundur. Baştan sona ilk okumada anlaşılacak sadelikte bir dille kaleme alınan bu kitaptan örnek olması için alınan bir bölüme aşağıda verilen linkten ulaşabilirsiniz. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/aspnette-hata-yakalamak-ve-exception-siniflari-makalesi/141.aspx"&gt;http://www.memikyanik.net/aspnette-hata-yakalamak-ve-exception-siniflari-makalesi/141.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_yxH-rYqtVB4/S-AEDRNVhVI/AAAAAAAAAJ8/wuQwN6nhPN0/s1600/asp_net_kitap_on_kapak.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/_yxH-rYqtVB4/S-AEDRNVhVI/AAAAAAAAAJ8/wuQwN6nhPN0/s640/asp_net_kitap_on_kapak.jpg" tt="true" width="454" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4984459377475382715?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4984459377475382715/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4984459377475382715' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4984459377475382715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4984459377475382715'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2010/05/aspnet-kitabnn-kapag.html' title='ASP.NET Kitabının Kapağı..'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yxH-rYqtVB4/S-AEDRNVhVI/AAAAAAAAAJ8/wuQwN6nhPN0/s72-c/asp_net_kitap_on_kapak.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-6346694010869099766</id><published>2010-05-04T12:56:00.000+02:00</published><updated>2010-05-04T12:57:15.291+02:00</updated><title type='text'>ASP.NET'te HATA YAKALAMAK ve EXCEPTION SINIFLARI</title><content type='html'>Birkaç yıldır yazdığım her kitaptan kapsamlı(30 sayfalık) bir bölümü burada sizinle paylaşıyorum. Böylece söz konusu kitapla ilgilenen arkadaşların kitabı satın almadan önce kitap hakkında bilgi sahibi olmalarını, kitapta konuların nasıl işlendiğini görnelerini sağlamış oluyoruz. &lt;br /&gt;&lt;br /&gt;Yeni hazırladığım ASP.NET konulu kitaptan alınma bir bölümü aşağıda verilen linkte görebilirsiniz. Ancak sizden bir isteğim var:ASP.NET konulu yeni kitabımdan aldığım bu bölümü incelemeden önce ellerinde ASP.NET konulu kitap olan arkadaşların kitaplarında bu konunun nasıl anlatıldığına bir bakarlarsa sevinirim. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/aspnette-hata-yakalamak-ve-exception-siniflari-makalesi/141.aspx "&gt;http://www.memikyanik.net/aspnette-hata-yakalamak-ve-exception-siniflari-makalesi/141.aspx &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ASP.NET kitabı hakkında bilgi sahibi olmanızı sağlamak üzere burada yayınlanacak bölümü seçerken Hata Yakalama'yı seçme nedenlerinden birisi bu bölümde 2003 yılında yerli bir yazar tarafından keşfedilen sıfıra bölme hatasını yakalama tekniğinden sizi haberdar etmektir. Konunun meraklısı arkadaşlar aşağıda linkini verdiğim makaleye bakabilirler. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/hata-yakalamak-ve-exception-siniflari-makalesi/39.aspx "&gt;http://www.memikyanik.net/hata-yakalamak-ve-exception-siniflari-makalesi/39.aspx &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-6346694010869099766?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/6346694010869099766/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=6346694010869099766' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6346694010869099766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6346694010869099766'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2010/05/aspnette-hata-yakalamak-ve-exception.html' title='ASP.NET&apos;te HATA YAKALAMAK ve EXCEPTION SINIFLARI'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7694955526852696131</id><published>2010-05-04T12:54:00.001+02:00</published><updated>2010-05-04T12:54:55.033+02:00</updated><title type='text'>ASP.NET Kitabının Önsözü</title><content type='html'>Bugüne kadar kaç kişi ASP.NET öğrenmek istiyorum dediyse her seferinde “önce kendinize bir programlama dili seçin” dedik. Seçilen programlama dili hakkında ortalama düzeyde bilgi edindikten sonra ASP.NET üzerinde çalışmaya başlayın diye öneride bulunduk. Çünkü ASP.NET konulu kaynakların çoğunda okurların ilgili programlama dilini iyi bildikleri varsayılıyor. Bu nedenle programcılığa ASP.NET ile başlamak isteyenlere ASP.NET konulu kitaplar yeterli gelmiyor.   &lt;br /&gt;&lt;br /&gt;Ötesi, ASP.NET konulu birçok kaynak nesneye yönelik programcılık kavramları göz ardı edilerek kaleme alınmaktadır. Bu nedenle ilgili programlama dili hakkında gerektiği kadar bilgi edinip ondan sonra ASP.NET konulu kaynaklara başvuranlar kendilerini kavram kargaşasının içinde buluyorlar. Örneğin ASP.NET konulu bazı kaynaklarda Session nesnesinin elemanlarından değişken diye söz edilmektedir.   &lt;br /&gt;&lt;br /&gt;Bu kitapta programlama dili olarak Visual Basic seçildi ve konular sürekli olarak nesneye yönelik programlama penceresinden bakılarak ele alındı. Web programcılığı hakkında temelden bilgi verirken ayrıca seçtiğimiz programlama dilini anlatmaya çalışmadık. Çünkü ASP.NET konulu bir kitapta ayrıca ilgili programlama dilini anlatmayı seçmiş olsaydık bu kitabın sayfa sayısı iki katına çıkardı. Örneğin bu kitapta zaman zaman .NET Framework ile gelen koleksiyon sınıflarından yararlandık. Eğer bu kitapta koleksiyon sınıfları hakkında bilgi vermeyi tercih etmiş olsaydık kitaba en az 50 sayfa eklemek gerekirdi. &lt;br /&gt;&lt;br /&gt;Bu kitapta ASP.NET’i her şeyi ile anlatmadık ancak ASP.NET ile çalışmaya bu kitaptan başlayanların ilk başta gerek duyacağını sandığımız temel bilgileri yeteri ayrıntıda verdik. Örneğin bu kitabın ilk bölümünde 60 sayfa boyunca IIS’ten söz edildi. Bu kitapta IIS bütün yönleriyle anlatılmamış olsa bile ASP.NET uyumlu web sitesi geliştirmek isteyenlerin IIS’le ilgili olarak öncelikle bilmesi gerektiğine inandığımız bütün ayrıntılardan söz ettik. Bu kitapta .NET Framework 3.5 ve 4.0 ile gelen bazı yeni teknolojilerden söz edilmedi. Çünkü bu kitabın hedef okurları olarak ASP.NET hakkında temel bilgilere sahip olmak isteyenler tercih edildi. Örneğin bu kitapta AJAX hakkında bilgi yoktur. ASP.NET ile çalışmaya bu kitabı okuyarak başlayanlar temel kavramlara sahip olacakları için bu kitapta sözü edilmeyen konuları kendi başlarına öğrenmeleri kolaylaşacaktır.   &lt;br /&gt;&lt;br /&gt;Bu kitabı hazırlarken öncelikli amacımız kitap metni içinde yazılan her satırın ilk okumada anlaşılacak yalınlıkta olmasını sağlamak oldu. İlk okumada anlaşılmayı hedefleyince ASP.NET’le ilgili konuları adım adım anlatmak gerekti. Örneğin veritabanı işlemleri hakkında bilgi verilirken önceliği programcının işini kolaylaştıran kontrol ve wizard’lara vermedik. Bu nedenle bu kitabın bölümlerinin sırayla atlanmadan okunmasını öneriyoruz.   &lt;br /&gt;&lt;br /&gt;ASP.NET üzerine yazacaklarımız bu kitapla sınırlı değildir. Bu kitaba yapılacak ekleri www.memikyanik.net’te izleyebilir ve memiky@superonline.com’a her türlü sorununuzu yazabilirsiniz. Bu kitabı yazarken yararlandığımız temel kaynak MSDN oldu. Bu nedenle başka programcılık kitaplarıyla olabilecek değişken adı benzerlikleri tesadüften ibarettir. Örneğin bu kitapta for veya while döngülerinde “i” ve “j” adı verilmiş değişkenler görürseniz bunun nedeni yani suçlusu Visual Studio’nun kendisidir. Bu kitapta bazı bölümlerin sonuna kısa açıklamalar ekledik. Bu açıklamaları özellikle bölümün son sayfasında boş kalan yerlerde yaptık. Başka bir deyişle bu açıklamalar yapılmamış olsaydı bu bölümlerin son sayfalarında birkaç satırlık yer boş kalacaktı.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7694955526852696131?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7694955526852696131/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7694955526852696131' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7694955526852696131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7694955526852696131'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2010/05/aspnet-kitabnn-onsozu.html' title='ASP.NET Kitabının Önsözü'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-1343810338009932249</id><published>2010-05-04T12:52:00.001+02:00</published><updated>2010-05-04T12:52:59.900+02:00</updated><title type='text'>Visual Basic Uygulamalarında C# Projelerini Taklit Etmek</title><content type='html'>.NET programcılığıyla ilgili olanların bildiği gibi Visual Studio 2003 ile geliştirilen C# uygulamalarında Program.cs dosyası yoktur. Visual Studio 2005 ve sonrası ile geliştirilen C# 2.0, 3.0 veya 4.0 uyumlu C# uygulamalarında ise “Program.cs” adında bir dosya bulunmaktadır. Bu dosyanın önemi Main() metodunu içermesinden kaynaklanmaktadır. Tabi bu dosyaya "zirvedekiler.cs" veya başka bir ad verirseniz C# derleyicisi size "hop bu ad da nereden çıktı?" demez. &lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;C# programlama diliyle ilgilenmeden önce az çok Delphi ile uğraşmış olanların fark etmiş olacağı gibi benzer dosya Delphi uygulamalarında da bulunmaktadır. Daha önce Visual Basic 9.0 kitabımı edinmiş olanların malumu olduğu üzere bu kitabımda “C# Projelerini Taklit Etmek” adında birkaç sayfalık bir konu başlığı bulunmaktadır. memikyanik.net’te sizinle paylaşmak istediğim daha doğrusu Visual Basic 9.0 kitabımı edinmemiş arkadaşlarla paylaşmak istediğim bu makalenin linki aşağıdadır. &lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;a href="http://www.memikyanik.net/csharp-projelerini-taklit-etmek-makalesi/143.aspx "&gt;http://www.memikyanik.net/csharp-projelerini-taklit-etmek-makalesi/143.aspx &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-1343810338009932249?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/1343810338009932249/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=1343810338009932249' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1343810338009932249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1343810338009932249'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2010/05/visual-basic-uygulamalarnda-c.html' title='Visual Basic Uygulamalarında C# Projelerini Taklit Etmek'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4846074568137104393</id><published>2010-05-04T12:47:00.002+02:00</published><updated>2010-05-04T12:51:29.214+02:00</updated><title type='text'>C# ve Visaul Basic’e Başlangıç Kitapları</title><content type='html'>Bir süre önce memikyanik.com’u yeniledim. Eski içeriği ise evden host ettiğim memikyanik.org’a aktardım. Tabii bu durumda eski linkler çalışmıyor. Özellikle C# ve Visual Basic için hazırladığım PDF’lerin nerede olduğundan bazı arkadaşların haberi olmadı. .NET programcılığına başlamak isteyenlerin ilk okumaları gereken kitaplar olmasını önerdiğim bu PDF’leri indirebileceğiniz linkler aşağıdadır.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.org/httpdocs/download/csharp_e_book.rar "&gt;http://www.memikyanik.org/httpdocs/download/csharp_e_book.rar &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.org/httpdocs/download/vb_e_book.rar"&gt;http://www.memikyanik.org/httpdocs/download/vb_e_book.rar&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4846074568137104393?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4846074568137104393/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4846074568137104393' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4846074568137104393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4846074568137104393'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2010/05/c-ve-visaul-basice-baslangc-kitaplar.html' title='C# ve Visaul Basic’e Başlangıç Kitapları'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2861696636361593105</id><published>2009-12-15T10:13:00.002+01:00</published><updated>2009-12-15T10:18:52.421+01:00</updated><title type='text'>C# 3.0 Kitabının 2. Basımı Yayınlandı..</title><content type='html'>Biraz gecikmeyle de olsa C# 3.0 kitabının 2. basımı yayınlandı. Kitap hakkında bilgi edinmek isteyenlere ilk olarak kitabın önsözünü sunmak istiyorum. Kitabı &lt;a href="http://www.hepsiburada.com/visual-studio-2008-ile-microsoft-visual-c-3.0/productDetails.aspx?categoryid=211651&amp;amp;productid=kseckin12070"&gt;hepsiburada.&lt;/a&gt;com ve seçkin yayıncılıktan temin edebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;strong&gt;Önsöz&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;"Bu kitabın ilk baskısı en kapsamlı C# 3.0 kitabı iddiası ile hazırlanıp yayınlandı. Her ne kadar ilk baskının sayfa sayısı 1070 olsa bile kenar boşlukları azaltılıp sayfalar ekonomik kullanılmaya çalışıldığı için normal boyuttaki kitaplara göre sayfa sayısı gerçekte çok daha fazlaydı. Bu nedenledir ki bu kitabın ilk baskısını edinenlerin çok azı başka C# kitabına gerek duydular. Bu baskıda kitapta ileri düzey konuların ağırlığı arttırıldı. Bu nasıl mı yapıldı? Öncelikle her kaynakta bulunma ihtimali yüksek birkaç bölüm kitaptan çıkarıldı, bazı bölümlerin sayfa sayısı ikişer üçer azaltıldı. Örneğin .NET Framework ile gelen bazı kontroller hakkında bilgi içeren sayfalar kitaptan çıkarılırken değişkenler hakkında bilgi verilen bölümün sayfa sayısı 4 azaltıldı. Ardından ileri düzey konuların anlatıldığı 40 yeni sayfa kitaba eklendi. Bu sayede bu kitap en fazla ileri düzey bilgi içeren kitap olma özelliğini korumaya devam etti. &lt;/div&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_yxH-rYqtVB4/SydT07t4erI/AAAAAAAAAJ0/b_fTdEZ9qr4/s1600-h/cs_book_3_2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5415389245784750770" style="WIDTH: 271px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://1.bp.blogspot.com/_yxH-rYqtVB4/SydT07t4erI/AAAAAAAAAJ0/b_fTdEZ9qr4/s400/cs_book_3_2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Her ne kadar bu kitaptaki bütün konular ilk okumada anlaşılacak yalınlıkta kaleme alınmış olsa bile programcılık konusunda henüz yolun başında olanların öncelikle öğrenmek isteyecekleri konular bakımından bu kitabın bazı eksikleri vardır. Örneğin programcılık konusunda henüz yolun başında olanlar sık kullanılan kontroller hakkında bilgi edinmek isterler. Bu kitapta kontrollere yeterince yer verilmediği için C# ve programcılık konusunda yeni olanların bu kitabı okumaya başlamadan önce www.memikyanik.net’te C#’la ilgili programcılık dersleri adı altında bir araya getirilmiş makaleleri okumaları önerilir.&lt;br /&gt;&lt;br /&gt;Bu kitabı kaleme alırken bizi en çok zorlayan çalışma, kitapta hangi konulara yer yerilip, kitap için seçilen konulara ayrılacak sayfaların sayısını tespit etmek oldu. Örneğin assembyl’ler hakkında mutlaka bilgi vermek gerekiyordu. Ötesi Assembly kavramı hakkında bilgi sahibi olmayan birisine mevcut assembly’lerden söz etmenin zorluğu ortadadır. İşte asıl zorluk burada başlıyor: Çünkü assembly çok geniş ve teknik bir konudur. Kitapta hiç söz edilmemesi başka, bütün yönleri ile anlatıldığında ise başka sorunlarla karşılaşılmaktadır. Tercihimiz orta yolu bulmak şeklinde oldu. Yani assembly’leri bütün yönleri ve ayrıntıları ile anlatmak yerine temel özelliklerinden söz etmekle yetindik. Böylece okurların assembly’ler hakkında temel bilgilere sahip olmasını hedefledik. Benzer orta yol tercihini Attribute’ler, Generic sınıflar, Windows Mesajları, Reflection ve LINQ sorgulama tekniği için de yaptık.&lt;br /&gt;&lt;br /&gt;C# üzerine yazacaklarımız bu kitapla sınırlı değildir. &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://www.memikyanik.com/"&gt;www.memikyanik.com&lt;/a&gt;’dan mail ve MSN adresimizi alıp her türlü sorununuzu yazabilir veya direk bağlantı kurabilirsiniz. Bu kitabı yazarken yararlandığımız temel kaynak MSDN oldu. Bu nedenle başka yerli programcılık kitaplarıyla olabilecek değişken adı benzerlikleri tesadüften ibarettir."&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2861696636361593105?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2861696636361593105/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2861696636361593105' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2861696636361593105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2861696636361593105'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/12/c-30-kitabnn-2-basm-yaynland.html' title='C# 3.0 Kitabının 2. Basımı Yayınlandı..'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yxH-rYqtVB4/SydT07t4erI/AAAAAAAAAJ0/b_fTdEZ9qr4/s72-c/cs_book_3_2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3338245164786856308</id><published>2009-11-26T23:03:00.001+01:00</published><updated>2009-11-26T23:03:36.673+01:00</updated><title type='text'>Her Gün Bir Yanlış(9. Yanlış): Gelişmemiş ve Gelişmiş Boxing İşlemleri Nedir?</title><content type='html'>C# veya herhangi .NET uyumlu bir dille 3-5 satır kod yazmış olanlar Boxing ve UnBoxing işlemlerinin ne olduğunu bilirler. Burada Boxing ve UnBoxing işlemlerinden söz etmeyeceğim. Size bu kısacık yazıda diyeceğim tek şey şudur: C# konulu kaynaklarda C# uzmanı edasıyla birileri sizlere Gelişmiş Boxing işlemlerinden söz ediyorsa, onu bu buluşundan dolayı tebrik etmeyi ihmal etmeyiniz. Çünkü, gerçekte ne az gelişmiş ne de çok gelişmiş Boxing diye işlem vardır. Yani Boxing işleminin gelişmişi, az gelişmişi yoktur.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3338245164786856308?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3338245164786856308/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3338245164786856308' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3338245164786856308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3338245164786856308'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls9-yanls-gelismemis-ve.html' title='Her Gün Bir Yanlış(9. Yanlış): Gelişmemiş ve Gelişmiş Boxing İşlemleri Nedir?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2966819721256504230</id><published>2009-11-23T18:25:00.003+01:00</published><updated>2009-11-24T07:20:11.290+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='VB 9.0'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Görsel Dersler'/><title type='text'>Eğitim Setleri Nasıldır?</title><content type='html'>Sanırım bundan 6 yıl önceydi. Visual Basic 6 kitabımı güncellediğim bir sırada VB 6 konulu bir eğitim setinin reklamı dikkatimi çekti. Orta kalınlıkta bir kitabın fiyatına satılıyordu. Hemen telefon edip ücretini teslimde ödemek üzere sipariş ettim. Set fena değildi, ufak tefek cümle bozukluklarına vs zaten aldırmadığım için VB 6.0 konulu bu eğitim seti hakkında fikrim olumsuz değildi. Birkaç gün önce ASP.NET konulu bir eğitim setinin deneme yani birkaç bölümünün izlenebildiği ücretsiz sürümü elime geçti. Arkama yaslanıp izlemeye başladım. Dakka bir gol bir misali anlatıcı dersin hemen başında teknik yönden yanlış bir cümle kurdu. Olabilir deyip eğitim setinin ilk dersini izlemeye devam ettim. Ancak bir noktadan sonra dayanamayıp bu kısa yazıyı yazdım. Bu eğitim setinin hazırlayıcıları daha önceden Memik Yanık'ın &lt;a href="file:///I:/memikyanik.com/download/csharp_e_book.rar"&gt;C#'a Başlangıç&lt;/a&gt; veya &lt;a href="file:///I:/memikyanik.com/download/vb_e_book.rar"&gt;Visual Basic'e Başlanıç&lt;/a&gt; adlı PDF'lerine bakmış olsaydılar ASP.NET, .NET Framawork, Derleyiciler vs gibi konularda teknik yönden yanlış cümleler kurup beni bu yazıyı yazmak durumunda bırakmazdılar. Hayır hayır, bu eğitim setinin Her Gün Bir Yanlış adı altında kaleme aldığım yazılara konu edilen C# kitabıyla bir ilgisi yoktur.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sonradan ek:&lt;/strong&gt; Adı vermediğim eğitim setinin başka bir dersini daha izledim. İkinci bir dersi izleyince bu eğitim setinin burada sözünü ettiğim yanlışı bol C# kitabıyla teknik yanlış içerme yarışında başa baş güreştiğini tespit edince canım sıkıldı.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2966819721256504230?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2966819721256504230/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2966819721256504230' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2966819721256504230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2966819721256504230'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/egitim-setleri-nasldr.html' title='Eğitim Setleri Nasıldır?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7630788023934515272</id><published>2009-11-22T21:41:00.004+01:00</published><updated>2009-11-22T21:57:54.179+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitabı Yazarları'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET Dilleri'/><title type='text'>.NET'i Kavramamışlar Ne Yapar?</title><content type='html'>Bundan yaklaşık 5 yıl öncesi. Genç yazarın birisi programcılık konulu kitaplarını yayınlatmak üzere bir yayınevinin kapısını çalar. Yayınevinin yöneticisi programcılık uzmanı değildir. Yayınevi yöneticisi yazarımızın mevcut metinlerine şöyle bir bakınca yazım hatalarından geçilmediğini fark eder. Buna rağmen sağlıklı değerlendirme yapmak için Microsoft bağlantılı ve o günlerde Türkiye’nin sayılı .NET uzmanlarından birisinden fikir almak ister. .NET uzmanı yayıncıya şöyle der: Bunlar (yani .NET uyumlu programlama dili üzerine kitap yazan yazar) .NET’i henüz kavramış değiller. Bu değerlendirme üzerine yayınevi genç yazara olumsuz cevap verir. Bu yazar arkadaş sonra ne mi yaptı? Gitti, yazılan metinlerin nasıl olduklarına bakmadan yayınlayan bir yayınevi buldu. Sorunun cevabı belli oldu ama yinede yazalım: .NET'i kavramamışlar .NET'le ilgili kitap yazıp Türkiyenin en iyisi iddiası ile yayınlarlar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7630788023934515272?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7630788023934515272/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7630788023934515272' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7630788023934515272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7630788023934515272'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/net-kavramamslar-ne-yapar.html' title='.NET&apos;i Kavramamışlar Ne Yapar?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7703835144658836888</id><published>2009-11-21T23:31:00.000+01:00</published><updated>2009-11-21T23:32:05.884+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event Nedir'/><category scheme='http://www.blogger.com/atom/ns#' term='Görsel Dersler'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Mevcut Event’ları Oluşturmak(!)</title><content type='html'>Bugün nereden elime geçtiğini şimdi hatırlamadığım Olaylar ve Delegate’ler hakkında bilgi verilen bir video geçti. Bu video’yu çeken henüz mezun olmamış meraklı bir arkadaş olmayıp ekmeğini bilişim ve programcılık eğitimleri vererek kazanan tecrübeli birisi. Video’yu biraz inceleyince bu arkadaşın Event’ları anlatırken sürekli kavramları birbirleri ile karıştırdığını fark ettim. Tıpkı Her Gün Bir Yanlış yazı dizisinde değerlendirdiğimiz C# kitabında olduğu gibi mevcut Event’ları oluşturmaktan söz ediyordu bu eğitimci arkadaş. Hal bu ki bu tecrübeli arkadaş bırakın C# 3.0 kitabımı &lt;a href="http://www.memikyanik.com/download/csharp_e_book.rar"&gt;C#’a Başlangıç Kitabı&lt;/a&gt; adlı PDF’yi söyle bir gözden geçirmiş olsaydı Form sınıfının mevcut olaylarını anlatırken ikide bir Event oluşturmaktan söz etmezdi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7703835144658836888?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7703835144658836888/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7703835144658836888' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7703835144658836888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7703835144658836888'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/mevcut-eventlar-olusturmak.html' title='Mevcut Event’ları Oluşturmak(!)'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3814972202760686882</id><published>2009-11-20T22:28:00.001+01:00</published><updated>2009-11-20T22:32:43.786+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bilgisayar Kursu'/><category scheme='http://www.blogger.com/atom/ns#' term='Ankara'/><title type='text'>Sinek Avlamak</title><content type='html'>Varsayalım ki bir tanıdığınızın büyük bir otobüs filosu var. Yolda bir dinlenme tesisi açıyorsunuz. Tanıdığınızın otobüsleri sizin tesiste mola veriyorlar. Yemekleriniz lezzetsiz ve pahalı, hizmetleriniz kalitesiz olsa bile insanlar size mahkûm oldukları için yaptığınız yemekler tüketiliyor, kalitesiz ürünleri istediğiniz fiyata satıyorsunuz. Sonra ne mi oluyor? Tanıdığınız kişi otobüs filosunu başkasına devrediyor. Yeni gelen yönetici “sen bu işi yapamıyorsun” deyip kapıyı gösteriyor.&lt;br /&gt;&lt;br /&gt;Yemekleriniz ne kadar lezzetsiz, hizmetiniz ne kadar özensiz olduğunun farkına varmadan gidip başka yerde benzer tesisi açıyorsunuz. Tabi yeni yer dağ başı olmadığı ve yakınlarda yemek yenilebilecek başka yerler olduğu için insanlar daha iyisini tercih ettiğinden dolayı siz sinek avlıyorsunuz.&lt;br /&gt;&lt;br /&gt;Bunu niye mi anlattım? Ankara’daki bir bilgisayar kursunun durumu tam da buna uyduğu için. Benden söylemesi: Sinek avlanan yerlerden uzak durun...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3814972202760686882?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3814972202760686882/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3814972202760686882' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3814972202760686882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3814972202760686882'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/sinek-avlamak.html' title='Sinek Avlamak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2331498189237180352</id><published>2009-11-20T20:35:00.000+01:00</published><updated>2009-11-20T20:36:46.030+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Her Gün Bir Yanlış(8. Yanlış): Constructor Metotlar Form Sınıfının Load Olayına Ne Kadar Benzer?</title><content type='html'>C#’la ilgili 3-5 satır kod yazmış olanların malumudur: Mevcut sınıfların örnekleri alınırken yani sınıftan yola çıkılıp nesne hazırlanırken new anahtar kelimesi kullanılmaktadır. Bir operatör olan new anahtar kelimesiyle nesne hazırlanırken söz konusu sınıfın yapıcı yani constructor metodu varsa otomatik olarak işletilmektedir.&lt;br /&gt;&lt;br /&gt;Diğer yandan Windows Forms uygulamalarında projedeki Form sınıfının mirasçısı bir sınıfın örneği(nesne) ister Application sınıfının Run() metoduyla, isterse de Show() metoduyla ekrana getirilsin Form sınıfıyla ilgili olarak Load olayı meydana gelmektedir. Programcı daha önceden .NET Framework’le gelen Form sınıfının mirasçısı söz konusu class için Load olayını temsil edecek bir metot hazırladıysa form açılıp ekrana getirildiğinde bu metot işletilmektedir. Benzer şekilde programcı Form sınıfının mirasçısı sınıfta Click olayını temsil eden bir metot hazırladıylsa çalışma anında form tıklandığında Click olayı meydana gelmekte ve bu olayı temsil eden metot işletilmektedir. Başka bir deyişle .NET Framework ile gelen Form sınıfının Click olayı constructor metotlara ne kadar benziyorsa Load olayı da o kadar benziyordur.&lt;br /&gt;&lt;br /&gt;Şimdi gelelim Türkiyenin 1. numaralı C# kitabı iddiası ile hazırlanan kitapta constructor metotlar için neler yazılmış bir bakalım.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Bir class new ile yaratıldığında işletilicek kod blokları varsa contructors hazırlanmalıdır. Örnek vermek gerekirse Windows Forms uygulamalarında form yüklenirken kullanıcı henüz müdahale etmeden “Load” yordamı işlediği gibi Constructor’s da aynen bu yordam...&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Yani yazarımız ne diyor? Açıklayalım: Yazarımız diyor ki controctur metotlar Form sınıfının Load olayına benzer(!). C# programlama dilini bu şekilde öğrenenlere yukarıda verdiğim 2 paragrafı bir kez daha okumalarını öneriyorum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2331498189237180352?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2331498189237180352/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2331498189237180352' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2331498189237180352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2331498189237180352'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls8-yanls-constructor.html' title='Her Gün Bir Yanlış(8. Yanlış): Constructor Metotlar Form Sınıfının Load Olayına Ne Kadar Benzer?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5592219939276102590</id><published>2009-11-20T17:12:00.004+01:00</published><updated>2009-11-20T20:32:45.606+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yazarlar'/><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='Yayınevi Editörleri'/><title type='text'>Yazarlar, Editörler ve Yayınevleri</title><content type='html'>Varsayalım ki genç bir şairsiniz. Çevrenizce beğenilen şiirler yazıyorsunuz. Bu şiirleri kitap olarak yayınlamak üzere bir yayınevinin kapısını çaldığınızda size şuna benzer bir soru yöneltirler: “Hangi şiirleriniz hangi edebiyat dergisinde yayınlandı?”. Şiirlerinizin bir kısmı dergi editörlerinden geçer not alıp yayınlanmadıysa kimse yüzünüze bakmaz.&lt;br /&gt;&lt;br /&gt;Varsayalım ki tıpkı Orhan Pamuk’un Cevdet Bey ve Oğulları romanını yazdığı yaştasınız ve çok iyi olduğuna inandığınız bir roman yazdınız. Bu romanı yayınlamak üzere bir yayınevinin kapısını çaldığınızda size şöyle bir soru yöneltirler: “Yerli romanlara verilen ödüllere bu romanınla daha önce katıldın mı?”. Cevabınız evetse tıpkı Orhan Pamuk gibi romanınızı yayınlatmak için kat etmeniz gereken yolun çoğunu almışsınız demektir. Orhan Pamuk henüz kimse tarafından bilinmez ve yayınlanmış tek yazısı yokken Cevdet Bey ve Oğulları romanıyla Orhan Kemal Roman Ödülüne katılmış ve jüri tarafından ödüle değer bulunmuştu.&lt;br /&gt;&lt;br /&gt;“Daha önce romanlara verilen ödüllere bu romanınla katıldın mı?”sorusuna cevabınız hayırsa dosyanızı alıp incelerler. Bazen verdiğiniz metnin 5-10 sayfası okunup hemen olumsuz cevap verilir. Asıl söylemek istediğim şudur: Konu roman olduğunda kapısı çalınan yayınevinde romandan anlayan birileri mutlaka vardır. Ancak aynı şeyleri programcılık kitapları yayınlayan yayınevleri için söylemek mümkün değildir. Programcılık kitapları yayınlayan bazı yayınevlerinin editörleri olsa bile bir editörün çok farklı konularda önlerine gelen kitap metinlerini iyi değerlendirmeleri güç olmaktadır. Yani konu programcılık kitapları olduğunda henüz yolun başında olan yazar adayının işi zordur.&lt;br /&gt;&lt;br /&gt;Varsayalım ki 25 yaşındasınız ve bir üniversitenin programcılıkla ilgili fakültesinden mezun oldunuz. Oturup bir programlama dili hakkında kitap yazdınız. Peşinen söyleyelim ki programcıların veya programcılık okuyanların edebiyatla, sanatla vs ilgileri çok sınırlıdır. Dolayısıyla kurdukları cümlelerin bazısı keçiboynuzu gibi sizi uğraştırırken bazıları ise yazım yönünden yanlıştır. Bu durumda söz konusu kitabın bir şeye benzemesi şansa kalmıştır.&lt;br /&gt;&lt;br /&gt;Genç arkadaşları direk eleştirmek yerine 1994 yılında yayınlanan ilk kitabımın yazım süreci üzerine kısaca konuşma yapmak istiyorum. Clipper üzerine kitap yazmaya başlamadan o günlerin programcılık dergilerinde Clipper üzerine 40-50 sayfalık metin yazmıştım. Ayrıca o günlerin muhasebe programları üzerine her birisi 7-8 sayfalık ciddi incelemeler yapmıştım. Buna rağmen yazıp bitirdiğim Clipper 5.2 kitabını ikisi programcı üç kişinin incelemesini sağladım. Bununla da yetinmedim kitap metnini defalarca gözden geçirdim. Bütün bu çabalarıma rağmen kitabın 2. baskında birçok değişiklikler yaptım. Özellikler vurgulamak istediğim şudur: Kitabınızı yayıncıya vermeden imkanlarınızı zorlayın ve sıkı bir incelemeden geçirin.&lt;br /&gt;&lt;br /&gt;Gelelim başka bir konuya. Kitabınıza konu ettiğiniz programlama dili hakkındaki bilginizin yeterli olmadığını bilmiyorsanız, Türkçe bilginizin yetersizliğini önemsemiyorsanız, kitaplarınızın baskısını yapan yayınevinde programcılık ve bilgisayar yayınları konusunda bilgi sahibi olan tek kişi yoksa, editör diye kitabınıza önsöz yazan kişi felsefe ve gazeteciliğin nesnel kavramını programcılıktaki nesneye yönelik kavramı ile karıştıracak kadar konunun uzağında ise yazacağınız kitabın iyi olması milli piyangonun yılbaşı çekilişinde büyük ikramiyeyi tutturmak kadar düşük ihtimaldir. Bu şartlarda yazdığınız kitabın eleştirilmesi, yanlışlıklarının orada burada seslendirilmesi kaçınılmaz olur. Yok, benim avukatım var ve kitabımı her kim eleştirirse dava ederim derseniz çekirge bir sıçrar iki sıçrar misali bakarsınız ki boğazından haram lokma geçmemiş kişilere denk gelmişsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5592219939276102590?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5592219939276102590/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5592219939276102590' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5592219939276102590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5592219939276102590'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/yazarlar-editorler-ve-yaynevleri.html' title='Yazarlar, Editörler ve Yayınevleri'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3286816253871960758</id><published>2009-11-20T12:36:00.000+01:00</published><updated>2009-11-20T12:37:39.789+01:00</updated><title type='text'>Her Gün Bir Yanlış(7. Yanlış): Kontrollere Ait Metotlar Properties Olarak Mı İfade Edilir?</title><content type='html'>Nesneye yönelik programcılık hakkında az çok bilgisi olanların malumu olduğu üzere Class’ların içeriği doğrudan değiştirilmesi istenmeyen alanları için özellikler hazırlanır. Alan private yapılarak dışarıdan erişime kapatılır. Sonra söz konusu private alan için Property hazırlanır. Bu sayede söz konusu alanın içeriğine dışarıdan erişim sağlama imkanı elde edilir. Property’ler hakkında bu kısa bilgiyi verdikten sonra bakalım malum C# kitabında Property’ler hakkında ne yazılmış bakalım:&lt;br /&gt;&lt;br /&gt;“Windows forms uygulamalarında bazı kontrollerin bazı metotları properties olarak ifade edilmektedir.”&lt;br /&gt;&lt;br /&gt;Bu cümleden ben bir şey anlamadım. Metotlar nasıl özellik olarak ifade edilir bilen varsa buyursun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3286816253871960758?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3286816253871960758/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3286816253871960758' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3286816253871960758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3286816253871960758'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls7-yanls-kontrollere.html' title='Her Gün Bir Yanlış(7. Yanlış): Kontrollere Ait Metotlar Properties Olarak Mı İfade Edilir?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-8767737406807020666</id><published>2009-11-20T12:34:00.000+01:00</published><updated>2009-11-20T12:35:51.669+01:00</updated><title type='text'>Erdal AKSOY'un ASP.NET Konulu Video Dersleri..</title><content type='html'>Daha önce burada sizinle birkaç kez paylaştığım gibi programcılık öğrenmek isteyen arkadaşların beyin yapılarına ve başarılı oldukları algılama yöntemine göre öğrenme materyali seçmelerini önermekteyim. Benim iddiam şudur: Programcı okuyarak öğrenmeye kendini alıştırmalıdır. Neden mi derseniz? Varsayalım ki 4 yıllık yazılım ve programcılık eğitimi verilen fakültede okuyorsunuz. Her ne kadar hocalarınız birçok konuyu tahtada konuşarak açıklasalar bile öğrenci iken hocalarınızdan öğrendiklerinizi programcılık hayatınızda kullanmanız düşük ihtimaldir. Çünkü mezun olup askerliğinizi yapıp programcılık becerilerinizi koda dökme imkânını bulana kadar öğrenci iken öğrendikleriniz eskimiş olur. Bu durumda yeni konuları öğrenmek üzere programcılık kursuna gitmeyeceğinize göre basılı dokümanlara başvurmak zorunda kalırsınız. Yani diyorum ki programcı, okuyarak öğrenmeye alışkın olmalıdır. &lt;br /&gt;&lt;br /&gt;Buna rağmen son yıllarda birçok arkadaş karşılaştıkları birçok konuyu video derslerden öğrenmeyi tercih etmektedir. Video derslere kayıtsız kalın diyecek değilim ama okuyarak öğrenmeye yatkın değilseniz işiniz zordur. Çünkü her konunun anlatıldığı metni bulmak mümkün iken aynı bolluk video dersler için söz konusu değildir. Diğer yandan bazı konular vardır ki ancak yazılarak anlatılmaya ve okunarak anlaşılmaya uygun iken bazı konular ise görsel olarak ifade edilmeye uygundur.&lt;br /&gt;&lt;br /&gt;Bu girişten sonra sözü Erdal AKSOY’un ASP.NET konulu video derslerine getirmek istiyorum. Erdal Bey &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://www.kariyervideo.com/"&gt;http://www.kariyervideo.com&lt;/a&gt; ‘da yayınlanan video derslerinde bana göre çok başarılı. ASP.NET’le ilgili bütün arkaşlara Erdal beyin videolarına bakmalarını öneriyorum. Bu videoları izlemeniz halinde okurun aptal yerine konulduğu şişirme ASP.NET kitaplarına bakma ihtiyacınız kalmayacaktır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-8767737406807020666?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/8767737406807020666/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=8767737406807020666' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8767737406807020666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8767737406807020666'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/erdal-aksoyun-aspnet-konulu-video.html' title='Erdal AKSOY&apos;un ASP.NET Konulu Video Dersleri..'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4821735413619178860</id><published>2009-11-20T10:28:00.004+01:00</published><updated>2009-11-20T10:51:22.784+01:00</updated><title type='text'>Tam 48 Saat Adana'da Değildim.</title><content type='html'>Arkadaşlar merhaba. Tam 48 saat Adana dışındaydım. Bu 48 saat boyunca buraya birşey yazma imkanım yoktu, 48 saat boyunca memikyanik.net'e bakmadım bile.48 saat boyunca ne mi yaptım? C# derleyicisinin nazarında nesne veya değişken adı olarak tablo'nun sayfa'dan farklı olduğunu anlatmaya çalıştım.. Başarılı oldum mu? Henüz belli değil. Çünkü C# derleyicisinin nazarında sayfa'nın "tablo" ile aynı olduğunu beyan eden Prof. unvamlı öğretim üyeleri, bilgisayar mühendisleri vs var.&lt;br /&gt;&lt;br /&gt;Şimdlik diyeceğim şudur: Memik Yanık topu topu 4 adet olan veritabanı işlemlerini anlatırken kullanılacak konu başlıklarına seçerken başkalarına ait konu başlıklarından ve değişkenlere ad seçerken başkalarına ait mevcut değişken adlarından esinlendiği(örneğin Memik YANIK "Tablo" adında bir değişken tanımlamayı akıl edebilmek için gidip başkalarına ait kaynaklarda &lt;strong&gt;sayfa&lt;/strong&gt; adlı değişkene bakmıştır) için yapılan resmi hesaplamalara göre birilerine 25.3 YTL eski para ile 25.300.000 TL zarar vermiştir. Memik YANIK bu zararı anında karşılamak istedi ama zarara uğrayanlar(!) bu miktarı almayı kabul etmediler.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4821735413619178860?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4821735413619178860/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4821735413619178860' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4821735413619178860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4821735413619178860'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/tam-48-saat-adanada-degildim.html' title='Tam 48 Saat Adana&apos;da Değildim.'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7855553999113563043</id><published>2009-11-17T09:45:00.002+01:00</published><updated>2009-11-21T07:57:51.852+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event Nedir'/><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Her Gün Bir Yanlış(6. Yanlış): Olaylar Metot Mudur?</title><content type='html'>Bugün ki hatayı yazmaya başlamadan önce yanımdaki arkadaşa “şu kitabın bir sayfasını aç” diye rica ettim. Arkadaşın açtığı sayfada Event oluşturmaktan söz ediliyordu. Arkadaşın seçtiği sayfa Event’larla ilgili 3. sayfaydı. 2 sayfa geriye gidince aşağıda veriilen cümle ile benzer anlama sahip bir cümleye rastladım:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;“Çalıştırılan kod blokların genel adının “Event” olduğunu herkes biliyor”&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Az çok program yazmış veya nesneye yönelik programcılık bilgisi olanlar bu cümlenin yanlış olduğunu anında fark ederler. Biz yine de bu metni okuyup ta Event’lar hakkında yeteri bilgisi olmayan arkadaşlar için birkaç cümle yazalım. Olur ya bu cümlenin sahibi bu metni okur da programcılık camiasına artı bir katkı vermiş oluruz.&lt;br /&gt;&lt;br /&gt;Yıllar önce yani C++ gibi nesneye yönelik programlama dilleri yaygın değilken programcılar yapmak istedikleri işlemler için fonksiyon ve procedure hazırlayıp bunları kullanıcının taleplerine göre çağırıp işletirlerdi. Bu tür programcılığa procedurel programlama dinilirdi. Derken biraz da Windows’un zorlamasıyla kısa bir sürede procedurel programcılık yerine nesneye yönelik programcılığa geçildi.&lt;br /&gt;&lt;br /&gt;C++, Java, C# veya .NET uyumlu Visual Basic gibi programlama dillerinde programcılar kodlarını Class olarak düzenlerler. Class’ların içinde metotlar, özellikler, olaylar, arayüzler vs.. olabilir. Örneğin .NET Framework ile gelen Button sınıfının Click diye bir olayı vardır. Programcı .NET ile gelen bu sınıfı kullanmak istediğinde yani çalışma anında formun üzerinde görünmesini sağlayıp Button nesnesini tıkladığında Click olayı meydana gelir ama bunun kullanıcıya yansıyan tarafı olmaz. Çünkü kullanıcı düğmeyi yani Button nesnesini tıkladığında Click olayı meydana gelir ama bu olay meydana geldiğinde ne yapılacağı belli değildir. Bu nedenle programcı kendi sınıfı içinde yer verdiği Button nesnesinin Click olayı için bir metot yazıp bu metodu Button nesnesinin Click olayıyla ilişkilendirir. Uzatmadan söyleyelim nesneye yönelik programlama dilleri üzerine kitap yazan yazarımız metot ile olayı birbirine karıştırmıştır.&lt;br /&gt;&lt;br /&gt;Bazı arkadaşlar itiraz edip söz konusu kitabın yazarı olay ile metotları karıştırmasını dalgınlık sonucu yapılan bir yanlış olduğunu ileri sürebilirler. Keşke yazarımız bu yanlışı dalgınlık sonucu yapmış olsaydı üzerinde durmak gerekmezdi. Yazarımız bu yanlışa bu kitabında daha önceki ve daha sonraki baskılarında aynen devam etmiştir. Üstelik aynı yanlış başka .NET uyumlu dilleri anlatmak kaygısı ile yazılmış kitaplarında da yapmıştır. O zaman sormakta haklısınız "Programcılıkla ilgili en temel kavramlarda bile bu kadar çok yanlış içeren kitabın yazarı tecrübesiz olmadığına göre bu kitap nasıl Türkiye'nin en iyi kitabı iddiası ile yayınlanıyor?" Bu soruya cevabım kısa :Türkiye'de olur.&lt;br /&gt;&lt;br /&gt;Bu kadar çok yanlış içeren kitaba kimler kefil olmuş diye merak ettiğinizde, karşınıza köklü bir üniversitenin mühendislik fakültesinin eski dekanı çıkıyor. Bu eski dekanın nazarında .NET, onlarca kitapta ancak anlatılabilinecek bir teknoloji mi yoksa Internet'in yaygın olarak kullanılan kısaltmasının başına yanlışlıkla nokta konulmuş hali midir bilinmez.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7855553999113563043?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7855553999113563043/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7855553999113563043' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7855553999113563043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7855553999113563043'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls6-yanls-olaylar-metot.html' title='Her Gün Bir Yanlış(6. Yanlış): Olaylar Metot Mudur?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-898726852123613786</id><published>2009-11-17T09:43:00.000+01:00</published><updated>2009-11-17T09:44:18.861+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Görkem Sezgin'/><title type='text'>Her Gün Bir Blog Yazarı: Görkem Sezgin..</title><content type='html'>Bilgisayar dergilerinden ve ekipler tarafından hazırlanan web sitelerinden başka hergün birkaç kişisel siteyi yani bloğu ziyaret ediyorum. Tabi bazen bazı arkadaşların bloglarını ziyaret etmeyi aylarca unuttuğum olur. Burada zaman zaman yararlı bilgiler içerdiğine inandığım, yararlandığım bloglardan kısaca söz edip arkadaşları yüreklendirmeye, sizleri bu bloglardan haberdar etmeye çalışacağım.&lt;br /&gt;&lt;br /&gt;İlk olarak Görkem Sezgin'in blog'undan söz edeceğim. Çünkü Görkem'in bloğu yeni sayılır. Bir süre önce Görkem gönderdiği mail'de blogundan haberdar edip ziyaret etmemi istedi. Blog o günlerde henüz yeniydi. Ancak aradan geçen 1 aylık kısa süre içerisinde Görkem kişisel sitesine kısa zaman aralıklarıyla makaleler ve videolar koymaya başladı. Görkem'in makale ve videoları bana göre çok başarılı.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://muhendisgorkem.blogspot.com/" target="_blank"&gt;http://muhendisgorkem.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://muhendisgorkem.blogspot.com/2009/11/wpf-chart-kontrolu.html" target="_blank"&gt;WPF-Chart Kontrolü&lt;/a&gt;, &lt;a href="http://muhendisgorkem.blogspot.com/2009/11/c-ile-ocr.html" target="_blank"&gt;C# İle OCR&lt;/a&gt; , &lt;a href="http://muhendisgorkem.blogspot.com/2009/10/entity-facade-katmanl-yazlm-mimarisi.html" target="_blank"&gt;Entity-Facade Katmanlı Yazılım Mimarisi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bu vesile ile bloğunu ziyaret etmemi isteyen arkadaşlar mail gönderirlerse sevinirim. Çünkü blog yazarlarını sizlere tanıtıp duyurmaya devam edeceğim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-898726852123613786?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/898726852123613786/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=898726852123613786' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/898726852123613786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/898726852123613786'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-blog-yazar-gorkem-sezgin.html' title='Her Gün Bir Blog Yazarı: Görkem Sezgin..'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2794871764432325372</id><published>2009-11-17T09:19:00.001+01:00</published><updated>2009-11-17T13:55:56.130+01:00</updated><title type='text'>Hocaların Hocası Aydın Köksal'a Sorularım Var : 5</title><content type='html'>Herkesin bildiği gibi konu bilişim olduğunda Aydın Köksal hocaların hocasıdır. Haddim olmayarak hocama buradan birkaç soru yöneltmiştim. Aradan 3 aydan fazla zaman geçmesine rağmen henüz Aydın hocadan bir tepki gelmedi. Hemen akla Aydın hoca henüz bu sorulardan haberinin olmamış olabileceği ihtimali gelebilir. Olabilir. Tam bu noktada memikyanik.com, &lt;a href="http://www.memikyanik.net/"&gt;memikyanik.net&lt;/a&gt; ve &lt;a href="http://memikyanik.blogspot.com/"&gt;blogger&lt;/a&gt;'daki blogun hergün yüzlerce tekil kişi(yakında bu izleyenler sayısını binler ile ifade etmek gerekecek) tarafından izleniyor. Ayrıca Aydın Köksal'ın bilişim mesleğine kazandırdığı binlerce meslektaşı var. Bu ayrıntı üzerinde durmadan Aydın hocama burada daha önce yönelttiğim bir soruyu farklı cümlelerle bir kez daha yönelteceğim.&lt;br /&gt;&lt;br /&gt;Hocam malumunuz olduğu üzere bu ülkenin bilişim alanında gelişmesi için sizin için olmasa bile az çaba harcamadım. Hepsi kolay okunan ve ilk okumada anlaşılan programcılık konulu çok sayıda sayıda kitap yazdım. Anlayacağınız programcılık kitaplarını yazan aktif yazarların(yani yazmayı sürdürenlerin) en eskisiyim. Hocam derken 2004 yılında yayınlanan C# kitabımda bir konuyu anlatmak üzere hazırladığım kısacık örnekte aşağıda adlarını listelediğim 2 değişken tanımladım.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;· Excel_uygulamasi&lt;br /&gt;· Tablo &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Sözünü ettiğim örnek C# kodunda Excel çalışma kitabı üzerinde işlem yapılmaktadır.Excel_uygulamasi adını verdiğim değişkeni .NET Framework ile gelen Excel.Application sınıfından yola çıkılarak hazırlanan nesnenin referansını tutmak için tanımladım. Madem örneğini almak istediğim sınıfın adı Excel.Application bende değişkene Excel_uygulamasi adını vermişim. Tablo adını verdiğim değişken C# uygulaması dahilinde hazırlanacak Excel çalışma kitabındaki bir tablonun referansını tutacaktır. Buraya kadar her şey normal görünüyor.&lt;br /&gt;&lt;br /&gt;Hocam derken gel zaman git zaman sahibi olduğunuz Bilişim A.Ş. çalışanı ve Bilişim Derneğin sizin kontenjandan yönetim kurulu üyesi olan şimdiye kadar boğazından haram lokma geçmemiş olan bir bilgisayar mühendisi benim 2004 yılında yayınlanan C# kitabımı başka bir C# kitabı ile karşılaştırdı. Bu saygıdeğer bilgisayar mühendisinin incelediği diğer kitapta C# uygulaması dahilinde Excel çalışma kitabı üzerinde işlem yapmak amacıyla verilen kodda aşağıda adlarını listelediğim değişkenler tanımlanmıştır.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;uygulama&lt;br /&gt;sayfa&lt;br /&gt;kitap&lt;br /&gt;i&lt;br /&gt;adet&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Hocam Bilişim A.Ş. çalışanı bu saygıdeğer çiğ süt emmemiş bilgisayar mühendisi ayrı olarak listelenen bu değişken adlarının aynı olduğunu rapor etti. Hocam sizce C# derleyicisinin nazarında bu değişken adları aynı mıdır? Yani hocam elin gavurları tarafından hazırlanan C# derleyicisinin nazarında değişken adı olarak "Tablo" ile "sayfa" aynı mıdır? Aynı değilse bu nasıl iştir?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2794871764432325372?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2794871764432325372/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2794871764432325372' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2794871764432325372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2794871764432325372'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/hocalarn-hocas-aydn-koksala-sorularm.html' title='Hocaların Hocası Aydın Köksal&apos;a Sorularım Var : 5'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-6204115278237931115</id><published>2009-11-16T11:57:00.001+01:00</published><updated>2009-11-16T11:58:44.567+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Her Gün Bir Yanlış(5. Yanlış): VS Struct İçinde Struct Tanımlamayı Destekliyor mu?</title><content type='html'>Bir çok yerli ve yabancı yazarın .NET Framework, Visual Studio ve C# derleyicisinin sürüm numaralarını birbirleriyle karıştırdıklarını biliyorduk. Bu nedenle bir çok yerde bu konuda açıklamalar yaptık. Her Gün Bir Yanlış yazı dizisine konu ettiğimiz programcılık kitabının yazarı işi biraz daha ileri götürüp Visual Studio ile C# derleyicisini birbirleriyle karıştırmıştır. Bu tespiti yaptıktan sonra söz konusu C# kitabından bir cümleyi buraya alalım.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;"Visual Studio 2003 sürümünden farklı olarak 2005’de struct içerisinde struct oluşturabiliriz."&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Bu cümleyi yorumlamadan önce biraz bilgi verelim: C# derleyicisinin 1.0 sürümü iç içe struct tanımlamayı desteklemiyor. Bu destek yıllar önce hazırlanan C++ ve Pascal derleyicileri verirken C# 1.0 tarafından verilmiyordu. Bu durumda programcının birisi .NET uyumlu programlama dillerinde uygulama geliştirmeyi kolaylaştırmak üzere kullanıma sunulan ilk Visual Studio sayesinde C++ kodu ve bu kodda iç içe struct hazırlayabilir. Yani anlayacağınız konu C# kodu olduğunda iç içe struct desteğinin Visual Studio ile bir ilgisi yoktur. Yazarımız Visual Studio’nun bir IDE olduğunu unutup ona derleyici yani programlama dili muamelesi yapmıştır. Visual Studio'ya derleyici muamelesi yapılan kitapta her 5-6 sayfada bir teknik hatanın olmasını normal karşılamak gerekir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-6204115278237931115?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/6204115278237931115/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=6204115278237931115' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6204115278237931115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6204115278237931115'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls5-yanls-vs-struct.html' title='Her Gün Bir Yanlış(5. Yanlış): VS Struct İçinde Struct Tanımlamayı Destekliyor mu?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-1032481213947379364</id><published>2009-11-16T11:54:00.001+01:00</published><updated>2009-11-16T11:56:08.648+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zirvedeki Beyinler'/><category scheme='http://www.blogger.com/atom/ns#' term='Sefer Algan'/><title type='text'>Sefer Algan Beraat Etti...</title><content type='html'>Birkaç yıl önce burada size duyurmuştum: Sefer Algan bey 2006 yılında kişisel sitesinde Zirvedeki Beyinler namlı Yüksel İnan ve Nihat Demirli Beylerin C# kitabı hakkında eleştiri yazısı yazmıştı. Zirvedeki Beyinler bu eleştiri yazısı dolayısıyla Sefer Algan beyi dava etmişlerdi. Dava bir süre önce beraatla sonuçlandı. Dava şu anda temiz aşamasında. Dava kesinleştikten sonra Sefer beyin kendisini savunmak üzere Zirvedeki Beyinlerin kitabı hakkında yazdığı metni okuma imkânını bulacağız.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-1032481213947379364?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/1032481213947379364/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=1032481213947379364' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1032481213947379364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1032481213947379364'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/sefer-algan-beraat-etti.html' title='Sefer Algan Beraat Etti...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5346462103737227999</id><published>2009-11-15T09:51:00.008+01:00</published><updated>2009-11-16T00:17:07.378+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='C# Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='Namespace'/><title type='text'>Her Gün Bir Yanlış(4. Yanlış): Namespace Kütüphane midir?</title><content type='html'>Malumunuz olduğu üzere .NET sınıfları Namespace olarak paketlenmektedir. Namespace’ler ise DLL dosyaları olarak gelmektedir. Yararlanmak istenen hangi DLL dosyasında veya referansta yer alıyorsa bu referansın Visual Studio’nun Solution Explorer penceresinde listelenmesi, konsolda derleme yapılıyorsa söz konusu DLL dosyasından yararlanılmak istendiği “/reference” parametresi ile işaret edilmesi gerekir. Tabi bunu 2 istisnası vardır; System.dll ve System.Core.dll dosyaları Visual Studio’nun Solution Explorer penceresinde listelenmese bile bu referanstaki Namespace’lerden dolayısıyla sınıf ve yapılardan yararlanılabilir. Bu nedenle aşağıda konsolda yapılan her 3 derleme işlev bakımından birbirinden farklı değildir.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_yxH-rYqtVB4/Sv_B0E-LpVI/AAAAAAAAAJs/7NNEt69J458/s1600-h/yanlis_4_1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5404251178299794770" style="WIDTH: 284px; CURSOR: hand; HEIGHT: 107px" alt="" src="http://1.bp.blogspot.com/_yxH-rYqtVB4/Sv_B0E-LpVI/AAAAAAAAAJs/7NNEt69J458/s400/yanlis_4_1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_yxH-rYqtVB4/Sv_BvjrGArI/AAAAAAAAAJk/P8_SxX5322c/s1600-h/yanlis_4_2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5404251100641886898" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 104px" alt="" src="http://2.bp.blogspot.com/_yxH-rYqtVB4/Sv_BvjrGArI/AAAAAAAAAJk/P8_SxX5322c/s400/yanlis_4_2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_yxH-rYqtVB4/Sv_Bse7EkaI/AAAAAAAAAJc/IS4f6Ii9Qdc/s1600-h/yanlis_4_3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5404251047827116450" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 101px" alt="" src="http://3.bp.blogspot.com/_yxH-rYqtVB4/Sv_Bse7EkaI/AAAAAAAAAJc/IS4f6Ii9Qdc/s400/yanlis_4_3.jpg" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Tekrar etmek gerekirse System.dll dosyasında çok sayıda Namespace bulunmaktadır. Örneğin IO bunlardan birisidir. Bu demektir ki C# uygulamaları dahilinde IO adlı namespace’teki sınıflardan yararlanmak için herhangi bir hazırlık yapmaya gerek yoktur. Örnek üzerinde konuşmak gerekirse aşağıdaki gibi bir kod yazılıp istenen Text dosyasının içeriği okunup RichTextBox’ta görüntülenebilir. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;private void dosya_sec_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;System.IO.FileStream akis;&lt;br /&gt;openFileDialog1.ShowDialog();&lt;br /&gt;string yol = openFileDialog1.FileName;&lt;br /&gt;akis = new System.IO.FileStream(yol, System.IO.FileMode.Open,&lt;br /&gt;System.IO.FileAccess.Read);&lt;br /&gt;System.IO.StreamReader okuyucu;&lt;br /&gt;okuyucu = new System.IO.StreamReader(akis);&lt;br /&gt;richTextBox1.Text = okuyucu.ReadToEnd();&lt;br /&gt;okuyucu.Close();&lt;br /&gt;akis.Close();&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Bu kodda yararlandığım FileStream ve StreamReader sınıflarıyla FileAccess ve FileMode numaralayıcıları(enum) IO adlı namespace’te, IO adlı Namespace ise System adlı namespace’in içinde yer aldığı için Class ve enum adlarından önce Namespace adını yazdım.&lt;br /&gt;&lt;br /&gt;Kod dosyasının başına using System.IO; yazılırsa IO’daki sınıf, yapı ve enum’ları kullanmak için her seferinde sınıf adından önce namespace adını yazma zorunluluğu kalkar. Yani Stream sınıflarından yararlanmak için yazarımızın dediği gibi using System.IO; yazmak şart değildir ve System.IO bir kütüphane değil bir namespace’tir. Tabi System.IO demekle en son yazılan namespace’in işaret edildiğini ayrıca belirtmeye gerek yoktur.&lt;br /&gt;&lt;br /&gt;Ayrıca kod dosyasının başına using System.IO; yazılsa bile uygulamaya dahil edilen bir şey yoktur ve System.dll dosyası yerinde yani GAC’de olduğu gibi durmaktadır. Türkiye’de Namespace ile kütüphaneyi(kütüphane genellikle DLL dosyası karşılığı kullanılmaktadır) birbirine karıştırmak veya bu konuda yanlış bilgiye sahip olmak “ileri düzey” C#, .NET uyumlu Visual Basic ve ASP.NET kitabı yazmaya engel değildir. Çünkü Türkiye'de teknik yanlışı bol şişirme kitaplara bir miktar talep var. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5346462103737227999?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5346462103737227999/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5346462103737227999' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5346462103737227999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5346462103737227999'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls4-yanls-namespace.html' title='Her Gün Bir Yanlış(4. Yanlış): Namespace Kütüphane midir?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yxH-rYqtVB4/Sv_B0E-LpVI/AAAAAAAAAJs/7NNEt69J458/s72-c/yanlis_4_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5256176660735110225</id><published>2009-11-15T08:58:00.002+01:00</published><updated>2009-11-15T09:01:45.098+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blog Dergisi'/><title type='text'>Blog Dergisi : Beğendim</title><content type='html'>Birkaç gün önce fark ettim: Blog Dergisi adında PDF olarak hazırlanıp dağıtılan dergi 4. sayısına ulaşmış. 60 sayfalık bu PDF derginin sayılarını &lt;a href="http://www.blogdergisi.com"&gt;www.blogdergisi.com'dan&lt;/a&gt; indirip okuyabilirsiniz. Dergide blogcuların işine yarayacak teknik yazılardan başka oyun, sinema ve müzikle ilgili yazılar bulunmaktadır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5256176660735110225?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5256176660735110225/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5256176660735110225' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5256176660735110225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5256176660735110225'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/blog-dergisi-begendim.html' title='Blog Dergisi : Beğendim'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-8584198686065962009</id><published>2009-11-15T00:04:00.006+01:00</published><updated>2009-11-15T00:38:15.294+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi Prism 2010'/><title type='text'>3. Delphi Prism Makalesi Hazır</title><content type='html'>Delphi Prism konulu 3. makalede konsol uygulamalarından söz edilmektedir. Daha önce klasik Delphi ile az çok program yazmış olanlar bu makaleler sayesinde hem Delphi Prism hem de .NET programcılığının ayrıntılarından haberdar alacaklardır.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/delphi-prism-â€“-konsol-uygulamalari-makalesi/135.aspx"&gt;http://www.memikyanik.net/delphi-prism-â€“-konsol-uygulamalari-makalesi/135.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bu makaleler Türkiye'de ilk olduğu için bu makalelerde kullanılan değişken adlarından dolayı dava edilmem düşük ihtimaldir. Yılllar önce ilk Türkçe Delphi kitabını Memik YANIK yazmış ve bu kitaplardan Delphi öğrenenler yıllar sonra Memik YANIK'ı değişkenlerin adını çalmakla suçlayıp dava ettiler.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-8584198686065962009?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/8584198686065962009/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=8584198686065962009' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8584198686065962009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8584198686065962009'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/3-delphi-prism-makalesi-jh.html' title='3. Delphi Prism Makalesi Hazır'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-1386200590031821085</id><published>2009-11-14T12:56:00.001+01:00</published><updated>2009-11-14T12:59:41.600+01:00</updated><title type='text'>Çok Yazmak Suç mu?(*)</title><content type='html'>Bu sayfayı daha önce ziyaret etmiş olanların bileceği gibi 2 saygıdeğer bilgisayar kitabı yazarı C# konulu kitaplarından çalıntı yaptığım savı ile beni dava ettiler. Çok sayıda suçlama maddesi olmasına rağmen “bilirkişi” 3 suçlama maddesindeki değişken adları benzerliğinden dolayı “alıntı iddiasını güçlendirmektedir” şeklinde çok güzel bir hukuksal yorum getirdi. Bu dava devam ettiği için ayrıntılara girmiyorum yorum yapmıyorum.&lt;br /&gt;&lt;br /&gt;Yıllardır çok sayıda sitede bana küfredildiği ve hakaret edildiği için; başka bir deyişle hakaretlere alışık olduğumdan benimle ilgili olarak yazılanları takip etmiyorum. Bundan yaklaşık 2 ay önce Sefer Algan hoca bana gönderdiği mail’de yayın yolu ile hakaretten dolayı aleyhine dava açıldığını bildirmişti. Sefer hocaya hemen karşılık yazıp nerede yayın yolu ile hakaret ettiğini sordum. Sanırım mail’im Sefer beyin eline uygunsuz bir zamanda geçti ki soruma cevap verip davaya neden olan yazıdan söz etmedi.&lt;br /&gt;&lt;br /&gt;2 gün önce bir okurum bana Sefer beyin sitesinden bir link gönderdi. Baktım Sefer bey beni dava eden saygıdeğer yazarların kitapları hakkında bir değerlendirme yazısı yazmış. Yazının içinde adıma yer verilmemiş olsa bile veya belki Sefer bey amaçlamamış olsa bile bana gönderme var. Olsun.. Bence sakıncası yok. Keşke “2000 yılı ve oncesinde bilişim uzmanlığı konusunda fabrikasyon ve kalitesiz kitaplar sayesinde bir çok gencimiz yanlış yönlendirildi ve hatalı bilgilerle donatılarak uyutuldu” cümlesini biraz açıp kimlerden söz ettiğini yazsaydı.&lt;br /&gt;&lt;br /&gt;Sefer beyin mahkemeye verilmesine neden olduğunu sandığım yazısını buraya almıyorum. Merak edenler Sefer beyin sözünü ettiğim yazısını günlüğünden okuyabilirler. Benim asıl üzerinde durmak istediğim Sefer beyin yazısına gelen yorumlar. Çok yorum var ancak buraya benimle ilgili olanları alıp yazanlara cevap vereceğim. Hem de hakaret etmeden, kimseyi dava etmeden.&lt;br /&gt;&lt;br /&gt;Sefer beyin günlüğüne Tuna Topaloğlu görüşlerini şu şekilde açıklamış:&lt;br /&gt;“Hocam siz birde memik yanık zeydin pala ve ihsan karagülle üçlüsünü bi görseniz son zmaanlarda epey uçmuşlar yok yanı türkiyede böyle akıl almaz derecede her konuda bilgi sahibi üç önemli şahıs var ama bizim dünya çapında bir icraatımız yok dime çok yazık diye düşünüyorum bu konuyu es geçmeyelim. Yok yani c++ buılder dan tutunda fotoshop una kadar delp hisine kadar yazmadık kitap bırakmayan bu öğretim gorevlısı sahısların ailelerıne arkadaslarına okulda öğrencılerıne en onemlısı kendınelerıne hanı yemek yemek için fln pek zamanı olmaması cok uzucu yok yanı onun dısında bır ınsan küf mantarı gıbı bu kadar uretken olamaz yaa harbıden oyleysede tapıyorum daha ne dıyım saygılr...”&lt;br /&gt;&lt;br /&gt;Sayın Tuna Topaloğlu benim uçtuğumu söylemiş. Kendisi öyle inanmış öyle görmüş, saygı duymak gerek. Keşke Tuna Topaloğlu 1994 yılında programcı olsaydı da benim Clipper 5.2 kitabımı incelemek zorunda kalsaydı, keşke Türkiye’de ilk Windows uyumlu programcılık kitabı olan FoxPro 2.6 kitabımı inceleseydi. Keşke 1994 yılında kısa sürede bilgisayarı veya DOS’u öğrenmek zorunda kalsaydı da benim “Herkes İçin Bilgisayar” kitabını okumak zorunda kalsaydı, keşke 1992-1993 yıllarında Logo, Link, Eta gibi bir yazılımcı firması olsaydı da “Memik Bey bizim programı da inceleyip görüşlerinizi PC World” dergisine yazsanız deseydi.&lt;br /&gt;&lt;br /&gt;Tuna bey çok yazdığımı söylemiş. Aslında çok yazmadım; çünkü ilk kitabım yayınlanalı 13 yıl oldu. Tam 16 yıldır işim gücüm bilgisayar. Bu yıllar içinde hiçbir zevkimden vazgeçmedim. Eskisi kadar olmasa bile yine kitap okurum, Adana’ya gelen kaliteli filmleri mutlaka sinemada izlerim. Efes Pilsen’in Euroleague maçlarını kaçırmam, çalışırken arada bir NBA maçı izlerim, F1’e zaten aboneyim, bütün bilgisayar dergilerini alırım ve çoğu sayfalarını okurum, çok az sayfalarını okusam bile edebiyat dergilerini almaya devam ederim. Bu arada devlet memurluğumdan dolayı 8-5 mesai yaptığımı, kitapların içindekiler ve dizin tablolarını kendim hazırladığımı, çeviri yapacak kadar İngilizce bilmediğimi Tuna beyin bilgisine sunmak isterim.&lt;br /&gt;&lt;br /&gt;* Bu makale 10 Kasım 2006 tarihinde kaleme alındı.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-1386200590031821085?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/1386200590031821085/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=1386200590031821085' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1386200590031821085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1386200590031821085'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/cok-yazmak-suc-mu.html' title='Çok Yazmak Suç mu?(*)'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5297877837685028060</id><published>2009-11-14T12:52:00.003+01:00</published><updated>2009-11-15T10:05:29.362+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><title type='text'>Programcılık Kitabı Önermek</title><content type='html'>Programcılık sitelerinin forumlarında kitap seçimi ve önerileri sorularına sık rastlanır. İşim gereği yayınlanan kitapların birçoğunu alıp okurum, rakipler neler yazmış, hangi konulara ağırlık vermişler incelerim. Kendi adıma konuşmak gerekirse; bundan sonra programcılık kitaplarını başka bir gözle incelemek zorundayım; çünkü kitaplarımda verdiğim örneklerin işlev ve tanımlanan değişken adları bakımından başka kitaplarda kullanılan örneklere benzememesi gerekiyor. Çünkü başka bir yazarın kullandığı değişken adı(örneğin Sayi1, Sayi2 gibi) ile aynı ada sahip değişkenler tanımlarsam kendinimi yine mahkemede hakim karşısında bulabilirim.&lt;br /&gt;&lt;br /&gt;Neyse gelelim asıl konumuza; programcılık forumlarının üyeleri birbirine kitap önerirler, şu kitap iyidir vs derler. Tabii kimse oturup söz konusu programcılık kitabı üzerinde uzun uzun çalışıp inceleme kaleme almadığı için rasgele öneriler kaçınılmaz olur. Kendim kitap yazdığım için söylenenleri çoğunlukla izlemekle yetinirim. Örneğin forumdaki üyenin birisi diyor ki “C# programlama dilini öğrenmek istiyorum bana hangi kitabı önerirsiniz?” Bu isteğe başka bir üye ileri düzey bilgiler içeren çeviri bir kitabı edinip okumasını önerir. Devreye girip, bu kitap arkadaşa uygun değil, başka kitap önerin desem olmayacak. Sanırım bu konuda tümden susmak yerine en azından burada programcılık kitapları hakkında bir şeyler yazmak daha uygun olacak.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5297877837685028060?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5297877837685028060/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5297877837685028060' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5297877837685028060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5297877837685028060'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/programclk-kitab-onermek.html' title='Programcılık Kitabı Önermek'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5238718014874700816</id><published>2009-11-14T11:53:00.001+01:00</published><updated>2009-11-14T11:53:33.799+01:00</updated><title type='text'>Bir Sorum var...</title><content type='html'>Meraklıların malumu olduğu üzere Memik Yanık’ın yazdığı ilk 3 kitap(1994 yılında) eskiden xBASE adı verilen veritabanı programlama dilleriyle ilgiliydi. Aradan 10 yıl geçtikten sonra birileri tarafından şöyle bir iddia ortaya atıldı: Memik Yanık aşağıda verilen kodu yazamaz(!).&lt;br /&gt;&lt;br /&gt;int alan_sayi;&lt;br /&gt;string Satir = "";&lt;br /&gt;alan_sayi = Okuyucu.FieldCount;&lt;br /&gt;while (Okuyucu.Read())&lt;br /&gt;{&lt;br /&gt;  for(int i=0; i&lt;alan_sayi; i++)&lt;br /&gt;    Satir = Satir + "    " + Okuyucu.GetString(i).Trim();&lt;br /&gt;  listBox1.Items.Add(Satir);&lt;br /&gt;  Satir = "";  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Buradaki “Okuyucu” daha önce hazırlanan bir SqlDataReader nesnesidir. Sizce Memik Yanık’ı bir tarafa bırakın, .NET uyumlu programlama dilleriyle uğraşan lise öğrencileri bu kodu yazabilirler mi?&lt;br /&gt;&lt;br /&gt;İsterseniz 2. bir soru soralım: Elinde birden fazla satır veya kayıt olan bir programcı bu satırları kullanıcıya formun üzerinde göstermek istediğinde ListBox’lardan yararlanmak gerektiğini akıl edebilir mi? Bana sorarsanız Memik Yanık yukarıda verilen kodu yazamaz. Çünkü denizden yüksekliği topu topu 30 Metre olan Adana'da yaşıyor. Bu yüksekliğe 6 metre olan apartman yüksekliğini ve 1.77 olan buyumu eklesem bile Çukurda yani Çukurovada yaşıyorum gerçeği değişmez.&lt;br /&gt; Tabii İstanbul ve İzmir gibi deniz kıyısındaki şehirlerde yaşayanların bu kodu yazabilmeleri bana göre zaten imkansızdır. Arkadaşların birisi itiraz edip "Memik bey ben Bursa'da yaşıyorum ya Notebook bilgisayarımı alıp Uludağa çıkarsam?", bir başka arkadaş "ben Kayseride yaşıyorum Erciyese çıkarsam beynimde şimşekler çakmaz mı?" derlerse cevabım şudur: Bu şartlarda sizin yazamayacağınız kod yoktur.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5238718014874700816?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5238718014874700816/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5238718014874700816' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5238718014874700816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5238718014874700816'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/bir-sorum-var_14.html' title='Bir Sorum var...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3459840886828826537</id><published>2009-11-14T11:37:00.000+01:00</published><updated>2009-11-14T11:38:13.709+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic Kitabı'/><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='VB 9.0'/><title type='text'>Visual Basic 9.0 Kitabımda ADO.NET ve ASP.NET Konuları Neden Yok?</title><content type='html'>Okurun birisi sağolsun Visual Basic 9.0 kitabım için hepsiburada.com’a aşağıda verdim yorumu yapmış.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;“Kitabı özellikle Visual basic öğrenmeye yeni başlamak isteyenlere tavsiye ederim. Memik Yanıkın programlama kitablarını beğeniyorum, kitablarının anlatımı çok güzel. Memik yanık ismini görünce hemen sipariş edip aldım. Kitabın tek eksiği asp.net ve ado.net in konular arasında yer almaması.” &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu yorumu görünce arkadaşı aydınlatmak için buraya birkaç cümle yazmak istiyorum. Bu kitapta şartlar zorlanarak kenar boşlukları azaltılmasına ve bazı ekran görüntüleriyle her kaynakta bulunan bazı konular çıkarılmasına rağmem yaklaşık 1100 sayfadır. Bu şartlarda ADO.NET ve ASP.NET konularını bu kitaba ekleyebilmem için en azından 1500 sayfa olmasna razı olmak gerekirdi ki 1500 sayfalık kitabı yayınlamak Türkiye şartlarında zordur.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3459840886828826537?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3459840886828826537/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3459840886828826537' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3459840886828826537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3459840886828826537'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/visual-basic-90-kitabmda-adonet-ve.html' title='Visual Basic 9.0 Kitabımda ADO.NET ve ASP.NET Konuları Neden Yok?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3533862929252920518</id><published>2009-11-14T11:32:00.000+01:00</published><updated>2009-11-14T11:33:08.097+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic Kitabı'/><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0 Kitabı'/><title type='text'>Programcılık Eğitiminde Standart Koyucu Olmak</title><content type='html'>1990 yılından başlamak üzere 20 yıla yakın bir zamandır  bilgisayar ve programcılık üzerine yazıyorum. İlk kitabım olan Clipper 5.2’den iyi Türkçe kitap yazılamadı. Her ne kadar Clipper 5.2 kitabı çıktıktan 3 yıl sonra Clipper popülerliğini kaybetmiş olsa bile bir programcılık kitabı 3 yılda aşılamıyorsa zaten hiçbir zaman aşılamaz.&lt;br /&gt;&lt;br /&gt;Devamında bilgisayara henüz dokunanları düşerek Herkes İçin Bilgisayar kitabını yazdım. Bu kitap o zaman alanında tekti ve o güne kadar böyle bir kitabı yazmayı kimse akıl etmemişti. 4 yıl içinde baskı üzerine baskı yapan bu kitabı 2000 yılından itibaren güncelleştirmeyi bıraktım. Şu anda piyasada 1995 yılında yazdığım Herkes İçin Bilgisayar kitabının onlarca güncel benzeri var. Hatta Memik Yanık’ı değişkenlerinin adını çalmakla suçlayanların bile aynı anlayışla kaleme alınmış kitapları vardır.&lt;br /&gt;&lt;br /&gt;Derken Memik YANIK 1996 yılında Word kitabı standartlarını ortaya koydu. Aradan yıllar geçmesine rağmen Memik Yanık’ın ilk yazdığı Word kitabında anlatılan bazı konuları içeren  başka kitaplar yazılmadı. Memik Yanık 2000 yılından itibaren Word ve Excel konulu kitapları yazmayı bıraktı. Word kitabını yazdığım yıllarda Word, Excel, PowerPoint ve Access programları ayrı paketler halinde pazarlandığı için bugün ki gibi Office adlı kitaplar ne Türkiye’de ne de yurt dışında vardı. Memik Yanık bir ilke imza atıp DOS, Windows, Word ve Excel hakkında başlangıç düzeyi konuları bir kitapta topladı. Tahmin edeceğiniz gibi benzer anlayışla yazılan kitaplar bir süre sonra patır patır yayınlanmaya başlandı. Devamında Memik Yanık bilgisayar kurslarına giden öğrenciler için Kurs Kitabı yazdı. Şu günlerde bu kurs kitabının çok sayıda güncel benzeri var.&lt;br /&gt;&lt;br /&gt;Uzatmadan günümüze geleceğim: Memik YANIK’ın 2009 yılında yayınlanan &lt;a href="http://www.memikyanik.com/kitaplar/c_sharp_3_kitabimi_anlattim.htm" target="_blank"&gt;C#&lt;/a&gt; ve .NET uyumlu &lt;a href="file:///E:/memikyanik.com/1990%20yılından%20başlamak%20üzere%2020%20yıla%20yakın%20bir%20zamandır%20%20bilgisayar%20ve%20programcılık%20üzerine%20yazıyorum.%20İlk%20kitabım%20olan%20Clipper%205.2’den%20iyi%20Türkçe%20kitap%20yazılamadı.%20Her%20ne%20kadar%20Clipper%205.2%20kitabım%20çıktıktan%203%20yıl%20sonra%20Clipper%20popülerliğini%20kaybetmiş%20olsa" target="_blank"&gt;Visual Basic&lt;/a&gt; kitaplarıyla C# ve Visual Basic kitabı standartlarını belirlediğini biliyorsunuz. Mevcut şartlarda Türkiye’de daha iyi Visual Basic ve C# kitabının yazılması düşük ihtimaldir. İnanmayanlar piyasadaki mevcut Visual Basic kitaplarını 2009 yılından yayınlanan &lt;a href="http://www.hepsiburada.com/visual-studio-2008-ile-microsoft-visual-basic-9.0/productDetails.aspx?categoryid=211651&amp;amp;productid=kseckin0001" target="_blank"&gt;Visual Basic 9.0 &lt;/a&gt;kitabımla karşılaştırabilir. Mevcut C# kitaplarını yakında bir zamanda ikinci baskısını yapan C# kitabımla karşılaştırmak daha kolay çünkü bu kitabın ilk 150 sayfası &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://www.memikyanik.net/"&gt;www.memikyanik.net&lt;/a&gt; ‘te yayınlandı.&lt;br /&gt;&lt;br /&gt;Yakın bir zamanda bu standartlara yenileri eklenecektir. Örneğin Windows Server, SQL Server ve ASP.NET konularında Türkçe Kitap standartların nasıl yükseldiğini ve mevcut Türkçe kitapların nasıl yüzeysel kaldığını tespit edeceksiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3533862929252920518?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3533862929252920518/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3533862929252920518' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3533862929252920518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3533862929252920518'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/programclk-egitiminde-standart-koyucu.html' title='Programcılık Eğitiminde Standart Koyucu Olmak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4099904417619538444</id><published>2009-11-14T11:29:00.001+01:00</published><updated>2009-11-14T11:29:50.617+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='ceviz.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Zirveye Çıkmak'/><title type='text'>Mizah Şırınga Edilmiş Yazıyı Anlamak</title><content type='html'>Son 3 yılda yazdığım programcılık konulu makalelerin bazılarını burada sizinle paylaştıktan sonra talep üzerine başka sitelere verdim. ceviz.net makale verdiğim sitelerden birisidir.  ceviz.net'e son makale ekleme girişimimde sorun yaşadığım için birkaç aydır yeni makale vermedim. Bazı arkdaşlar ceviz.net'e verdiğim makalelere 10 üzerinden 0 puan verirken bazıları olumsuz yorumlar yazdılar. Asıl değinmek istediğim aşağıda adresini verdiğim makalenin mizahi yanının anlaşılmadan, dikkatlice okunmadan yorum yazılmasıdır. Hal bu ki makalenin ilk cümlesi şöyle başlıyordu :"Biraz mizah şırınga edilmiş...". Yorum yazan arkadaşlar makaleyi biraz dikkatli okumuş olsaydılar "Zirveye Çıkmak İsteyenler" başlığı altında yazılanların yanlış, "Çukura İnmek İsteyenler" başlığı altında yazılanların ise doğru olduğunu hemen fark ederlerdi.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ceviz.net/zirveye-cikaran-programcilik-teknikleri-1_a1283.html"&gt;http://www.ceviz.net/zirveye-cikaran-programcilik-teknikleri-1_a1283.html&lt;/a&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4099904417619538444?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4099904417619538444/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4099904417619538444' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4099904417619538444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4099904417619538444'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/mizah-srnga-edilmis-yazy-anlamak.html' title='Mizah Şırınga Edilmiş Yazıyı Anlamak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5153017077099694817</id><published>2009-11-14T11:26:00.000+01:00</published><updated>2009-11-14T11:27:05.998+01:00</updated><title type='text'>Nesnel Uygulamaların Arasındaki Mantık...</title><content type='html'>Az çok TV izleyenlerin bildiği gibi Kadir Çelik'in Objektif adında bir haber programı var. Kadir bey bu program özel televizyonculuğun başladığı ilk yıllardan beri yaptığı için çok kişi tarafından biliniyor. Kadir beyin programına objektif adını vermesinin nedeni olaylar karşısında yansız ve gördüğünü olduğu gibi aktarmak istemesindedir. &lt;br /&gt;&lt;br /&gt;Az çok Türkçe bilenlerin malumu olduğu üzere Objektif kavramına Türkçe karşılık olarak nesnel önerildi ve kısa sürede tutuldu. Yani yıllardır objektif kavramı Türkçede nesnel ile karşılanmaktadır. Hemen soralım: Programcılıkta nesnel kavramı var mıdır? Cevap: Hayır yoktur. O zaman yazının başlığı nereden geliyor? Bu başlığı Türkçe kaleme alınmış bir programcılık kitabını tanıtmak amacıyla yazılan metinden aldım. Programcılık kitabının tanıtımında böyle bir cümleye yer verilmiş olmasını nasıl yorumlamak gerekir bilemem? Haydi diyelim yazarlarımız ne bilsinler felsefeyi gazeteciliği, ama çok sayıda kültür kitabı yayınlayan yayınevinin görevlileri ve editörleri nesnel kavramını nasıl bilmezler?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5153017077099694817?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5153017077099694817/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5153017077099694817' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5153017077099694817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5153017077099694817'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/nesnel-uygulamalarn-arasndaki-mantk.html' title='Nesnel Uygulamaların Arasındaki Mantık...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-266981732205229310</id><published>2009-11-14T11:25:00.000+01:00</published><updated>2009-11-14T11:26:11.167+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Makaleler'/><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık'/><title type='text'>Çok Kitap Yazma Kabahatinden Sonra Sıra Çok Makale Yazma Kabahatine Geldi</title><content type='html'>Programcılık üzerine yazmaya yıllar önce bilgisayar dergilerinde makaleler yazmakla başladığımı birçoklarınız biliyor. Buna rağmen kısa bir özet yapayım. Bilgisayar dergilerinde çok sayıda makale yazdıktan sonra 1994 yılından itibaren kitap yazmaya başladım. Bu kitapların sayısı fazlalaşınca itirazlar yükselmeye başladı. Bazı arkadaşlar çok yazmamın nedeninin çeviri yapmak olduğuna hükmettiler. Hal bu ki çeviri yapacak kadar İngilizcem hiç bir zaman olmadı. Ki doğrusu çeviriyi İngilizcesi iyi olup programcılık bilmeyenler yapar. Bende ise tersi olduğuna göre neden çeviri yapacaktım? Neyse..&lt;br /&gt;&lt;br /&gt;Son 3-4 yıldır çok sayıda makale yazıp kişisel sitemde yayınlamaya başladım. Bu makalelerin sayısının arttığını makaleleri memikyanik.com'dan memikyanik.net'e taşırken fark ettim. Günlerdir bu makaleleri memikyanik.net'e taşımakla uğraşıyorum. &lt;br /&gt;&lt;br /&gt;Sonra gelen teklifler üzerine bu makalelerin bazılarını başka sitelere de vermeye başladım. Dolayısıyla makale verdiğim birkaç sitede yazarının Memik Yanık olduğu makalelerden geçilmez oldu. Bunu gören bazı arkadaşlar itiraz etmeye başladılar. Madem bu makaleler ilgi görüyor bu arkadaşlar kusura bakmasınlar makale yazmaya devam edeceğim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-266981732205229310?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/266981732205229310/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=266981732205229310' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/266981732205229310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/266981732205229310'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/cok-kitap-yazma-kabahatinden-sonra-sra.html' title='Çok Kitap Yazma Kabahatinden Sonra Sıra Çok Makale Yazma Kabahatine Geldi'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-1245498191870739079</id><published>2009-11-14T11:23:00.000+01:00</published><updated>2009-11-14T11:24:02.386+01:00</updated><title type='text'>Bilişim Camiasının Saygıdeğer Üyelerine Sorular</title><content type='html'>Bilişim camiasının saygıdeğer üyelerine birkaç soru soracağım. Bakalım anlı şanlı bilişimciler, dernek yöneticileri, hocaların hocaları 30 yıllık muhterem bilişimciler lütfedip cevap verecekler midir?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Soru 1&lt;br /&gt;&lt;/strong&gt;Selection Sort olarak bilinen sıralama algoritması ilk kez 2003 yılında yerli bir yazar tarafından mı bulunmuştur? Türkiye’de Selection Sort algoritmasını öğrenmeden mezun olan bilgisayar mühendisi var mıdır? Hangi üniversitenin hangi Prof unvanlı saygıdeğer öğretim üyesi Selection Sort algoritmasının 2003 yılında yerli bir yazar tarafından geliştirildiğini rapor etmiştir? Hacettepe kökenli bu prof unvanlı öğretim üyesine Bilişim Derneğinin hangi yönetim kurulu üyesi katılmıştır?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Soru 2&lt;/strong&gt;&lt;br /&gt;“Sayi1”, “Sayi2”, “Sayi3”, “Dosya”, “dizi”, "i" gibi değişken adlarını Memik Yanık 2003 yılından önce yazdığı makale ve kitaplarında kullanmış mıdır kullanmamış mıdır? Haydi Memik Yanık’tan vazgeçtik 2003 yılından önce kimse yazdığı kodlarda bu değişken adlarını kullanmış mıdır kullanmamış mıdır? Yok hayır 3-5 satır kod yazanlar bu değişken adlarını mutlaka kullanmıştır diyorsanız sizce Bilişim Derneğinin yönetim kurulu üyeliğine kadar yükselmiş tecrübeli bilişimci neden Memik Yanık'ı bu değişken adlarını çalmakla suçlamıştır. Sahi neden? Benim aklıma mantılı bir açıklama ve neden gelmiyor?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Soru 3&lt;/strong&gt;&lt;br /&gt;Stored Procedure’ler ile veritabanına kayıt girme 2003 yılında yerli bir yazar tarafından bulunan bir teknik midir? Yani 2003 yılından önce kimse Stored Procedure’ler ile veritabanlarına kayıt girmeyi akıl etmemiş midir? Böyle bir soruyu sormakla dalga mı geçiyorsunuz diye tepki gösterenlere Prof ünvanlı öğretim üyesinin bu konudaki fetvasını size gösterirsem ne tepki verirsiniz? Hiç merak etmeyiniz bu saygıder prof unvanlı öğretim üyesinin marifetlerini ve bilimsel çalışmalarını size sunacağım.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-1245498191870739079?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/1245498191870739079/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=1245498191870739079' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1245498191870739079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1245498191870739079'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/bilisim-camiasnn-saygdeger-uyelerine.html' title='Bilişim Camiasının Saygıdeğer Üyelerine Sorular'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3102536034421305391</id><published>2009-11-14T11:20:00.001+01:00</published><updated>2009-11-14T11:20:56.834+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi 2007'/><title type='text'> Kolay Okunmak, Hemen Anlaşılmak Kolay İş Değildir</title><content type='html'>Bana göre dünyanın en zor işinin bir şeyler okumaktır, yani yeni bir konuyu ve kavramı öğrenmektir. Çünkü beyinsel enerji gerektiren her eylem zordur. Bu düşünce ile programcılık anlatırken kurduğum cümlelere dönüp bakarım ve kendime sorarım: Bu cümleyi okuyan kişi anlamasını istediğimi anlar mı, çıkarmasını istediğim sonucu çıkarır mı? Bu sorulara verdiğim cevap olumsuz ise cümleler gözden geçirilir. Bu bağlamda bugün bir okurdan aldığım mail'in bir kısmını size sunacağım.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;"Bugün delphi de sınıfları çalışıyordum.dedim bu defada Memik Yanık Hocanın kitabından çalışmayayım, diger kitaplara bakayım. İnanın hocam işin içinden çıkamadım, ve tekrar sizin kitabınıza baktım,delphi 2007 sayfa 161, çalıştım öğrenmeye başladım. şöyle bir düşündümde 3-4 kitap karıştırdım sizin kitabınızdan başka, baktım olmuyor, işin içinden çıkılmıyor.&lt;/span&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3102536034421305391?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3102536034421305391/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3102536034421305391' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3102536034421305391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3102536034421305391'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/kolay-okunmak-hemen-anlaslmak-kolay-is.html' title=' Kolay Okunmak, Hemen Anlaşılmak Kolay İş Değildir'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5490607378651943067</id><published>2009-11-13T16:30:00.002+01:00</published><updated>2009-11-13T16:44:03.967+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bilişim Derneği'/><category scheme='http://www.blogger.com/atom/ns#' term='Bilirkişilik'/><category scheme='http://www.blogger.com/atom/ns#' term='Fatih Altaylı'/><title type='text'>Fatih Altaylı'dan Bir Yazı...</title><content type='html'>Bir kaç gün önce Fatih Altaylı bilirkişiler hakkında kısa bir yazı yazdı. Resmen bilirkişilere yani bilmezkişileri azarlıyor, küfrediyor. Önce Fatih beyin yazısını okuyalım sonra kısa bir değerlendirme yapayım:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bilmezkişiler&lt;br /&gt;&lt;br /&gt;2007 yılında bir anne, kızıyla beraber sokakta yürürken, küçük kız üzeri kartonla örtülmüş açık bir rögardan içeri düşmüş ve hayatını kaybetmişti. Büyük bir acıydı ve tabii büyük bir rezaletti. Olayın davası 2 yıl sürdü. Dün olayla ilgili bilirkişi raporu elimize ulaştı. Ben hayatımda böyle "rezil" bir bilirkişi görmedim. Rapora göre Dilara'nın annesi de suçlu. Niye mi?&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Kızının bastığı yeri kontrol etmediği ve elini sıkı tutmadığı için.Rapor, bilirkişi olarak tayin edilen güruhun "medeniyetini" de gösteriyor.Onlara göre bu ülkede insanlar, bastıkları yeri kontrol edecekler ve çocuklarının elini kırarcasına sımsıkı tutacaklar. Acaba o bilirkişiler, sokakta çocuklarıyla dolaşırken çocuklarının elini öyle mi tutuyorlar? Tabii ki değil. Ama raporu öyle yazıyorlar.&lt;br /&gt;Vardır elbet bir nedeni. Bilirkişi öyle kendini bilmez ki, bu çocuğun sokakta tek başına dolaşıyor olabileceğini, annesinin elinden tutmuyor olabileceğini bile düşünmüyor.Belediyenin ve halka açık inşaat yapan kişilerin gerekli güvenlik önlemlerini almakla sorumlu olmaları gerektiğini ve bu sorumluluğun halka aksettirilemeyeceğini düşünemiyorlar bile.&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Geçenlerde bir kızın kafasına cam düştü. Bu bilirkişiye göre o kız da hatalı. Yürürken havaya bakmalı ve kaçmalıydı. Tabii havaya bakarken önündeki çukura düşerse bilirkişimiz o zaman da bir suç bulurdu mağdura. Kime kızmak lazım bilmiyorum. Bilirkişiye mi? Bunları bilirkişi zannedip görevlendiren mahkemeye mi? Kendimize mi? Kime?&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.haberturk.com/yazioku.asp?id=11244"&gt;http://www.haberturk.com/yazioku.asp?id=11244&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Şimdi gelelim bilişim alanında çalışan bir bilirkişi heyetinin raporu hakkında bir cümle etmeye. Birisi Ankara'da bir Üniversitede Prof. ünvanıyla öğretim üyeliği yapan, bir başkası Ankara'nın merkezinde dersane sahibi ve sonuncusu ise Bilişim Derneğinin yönetim kurulu üyesi olan bilgisayar mühendisi aşağıda 2 ayrı liste halinde verilen konu başlıklarının aynı olduğunu rapor ettiler.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Grup Konu Başlıkları&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Sonuçları DataSet’te Görüntülemek&lt;br /&gt;Bilgileri Metin Kutularına Aktarmak&lt;br /&gt;Kayıtların Arasında Dolaşmak&lt;br /&gt;Tabloya Kayıt Eklemek&lt;br /&gt;Kayıt Silmek&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Grup Konu Başlıkları&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Access Veritabanına Bağlanmak&lt;br /&gt;Provider Yaprağı&lt;br /&gt;Connection Yaprağı&lt;br /&gt;Tablo Bilgilerini DataGrid içerisinde Göstermek&lt;br /&gt;TextBox’ların DataSet Sütunlarına Bağlamak&lt;br /&gt;&lt;br /&gt;Madem bilirkişiler bu 2 grup konu başlıklarının aynı olduğunu yazıp altına imza attılar tepki gösterirken Fatih Altaylı'yı örnek mi almalıyım? Bir itirafla yazıyı bitireyim:Yıllar sonra ilk kez gazetecilik yerine memurluk + bilişiim yazarlığını tercih ettiğime pişman oldum. Çünkü Fatih beyin bilirkişiler hakkında bu denli rahat yazabilmesini kıskandım.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5490607378651943067?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5490607378651943067/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5490607378651943067' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5490607378651943067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5490607378651943067'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/fatih-altayldan-bir-yaz.html' title='Fatih Altaylı&apos;dan Bir Yazı...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-695394774238294328</id><published>2009-11-11T21:31:00.002+01:00</published><updated>2009-11-14T14:30:21.489+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Bloglar'/><title type='text'>Hangi Sitede Ne Tür Yazılar Var?</title><content type='html'>Malumunuz olduğu üzere özellikle son 3 yılda irili ufaklı çok sayıda yazı ve makale yazdım. Bu yazıların teknik olanlarını bir süre önce memikyanik.net'te taşıdım. Programcılık konulu makalelerle ilgilenenler memikyanik.net'i ziyaret edebilirler. memikyanik.com ise benim için not defteri ve pano görevi görüyor. Aklıma bir şey geldiğinde hemen memikyanik.com'a yazıp yayınlıyorum. Sonradan beğenmediğim bir cümle olduğunda hemen değiştiriyorum. Tabi memikyanik.com klasik bir HTML kodu olduğu için yazıların sayısı fazla olduğunda pratik olmamaya başlıyor. Bunun çözümünü blogger'daki blog'la çözüyorum. Bu durumda yazdıklarımla ilgilenen arkadaşlar için söyle bir öneride bulanabilirim:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Güncel, kolay okunan ve en son yazdıklarımı merak edenler &lt;a href="http://www.memikyanik.com/" target="_top"&gt;memikyanik.com&lt;/a&gt;'u,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Görece eskimiş, örneğin bir kaç ay önce yazdıklarımı merak edip yorum yazmak isteyenler blogger'daki &lt;a href="http://memikyanik.blogspot.com/" target="_blank"&gt;blog'u&lt;/a&gt;, &lt;/li&gt;&lt;li&gt;&lt;br /&gt;Programcılık konulu makale okumak isteyenler ise &lt;a href="http://www.memikyanik.net/" target="_blank"&gt;memikyanik.net&lt;/a&gt;'i ziyaret edebilirler. &lt;/li&gt;&lt;/ul&gt;İçinde bulunduğum şartlara göre değişmekle birlikte son birkaç aydır yukarıda adlarını verdiğim site ve blogları sık güncellemeye başladım. Şimdiki hedefim bu 3 adresten birisine her gün mutkaka yeni birşeyler eklemektir. &lt;a href="http://friendfeed.com/memikyanik1"&gt;FriendFeed&lt;/a&gt; veya &lt;a href="http://twitter.com/memikyanik"&gt;Twitter&lt;/a&gt;'a abone olup yeni yazı ve makalelerden haberdar olabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-695394774238294328?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/695394774238294328/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=695394774238294328' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/695394774238294328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/695394774238294328'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/hangi-sitede-ne-tur-yazlar-var.html' title='Hangi Sitede Ne Tür Yazılar Var?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-474436878824435417</id><published>2009-11-11T20:48:00.002+01:00</published><updated>2009-11-15T10:03:53.519+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Fatih Tolga Ata'/><category scheme='http://www.blogger.com/atom/ns#' term='Tuğrul Helvacı'/><title type='text'>Delphi Konulu 2 Blog..</title><content type='html'>Malumunuz olduğu üzere teknik konuları yavaş yavaş memikyanik.net'e alıp burada güncel ve kişisel konulardan söz etmeyi tercih edeceğim. Tabii bunu yaparken hep kendimden ve yazdıklarımdan söz etmeyeceğim.&lt;br /&gt;&lt;br /&gt;Bir şekilde rastlayıp tespit ettiğim programcılık konulu blog sitelerini fırsat buldukça veya aklıma geldikçe ziyaret ediyorum. Size ilk olarak yakın bir zamanda aldığım bir mail sayesinde haberdar olduğum Delphi konulu blog'u duyurmak istiyorum:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tugrulhelvaci.com/"&gt;http://www.tugrulhelvaci.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tuğrul yazılım alanında çok eski ve tecrübeli olsa bile blog sitesi yeni sayılır. Delphi programcılarına Tuğrul'un blog'unu zaman zaman ziyaret etmelerini öneriyorum.&lt;br /&gt;&lt;br /&gt;Sözünü etmek istediğim Delphi konulu diğer blog ise Fatih Tolga Ata'nın &lt;a href="http://www.diyezon.com/"&gt;http://www.diyezon.com/&lt;/a&gt;'u. Fatih'in sitesinde Delphi'de uzman olmak isteyenlerin kayıtsız kalamayacağı özenle kaleme alınmış çok sayıda makale var.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-474436878824435417?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/474436878824435417/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=474436878824435417' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/474436878824435417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/474436878824435417'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/delphi-konulu-2-blog.html' title='Delphi Konulu 2 Blog..'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-9222416823234443645</id><published>2009-11-11T20:45:00.000+01:00</published><updated>2009-11-11T20:46:03.520+01:00</updated><title type='text'>Yetkili Kılavuz - Yetkisiz Yazar</title><content type='html'>Yakından izlemesem bile Microsoft ve bazı yazılım firmalarının yetkili eğitim merkezlerinin olduğunu biliyorum. Bu merkezlerde derslerin içeriklerinde belli standartlara uyuluyor. Bu kısa yazıda amacım Türkiye’deki Yetkili Eğitim Merkezlerinin ders programları üzerinde durmak değildir. Bu yazıyı kaleme almamın nedeni bir kitap satış sitesine henüz piyasaya verilen kitap için Yetkili Kılavuz üst başlığının kullanılmış olmasıdır.&lt;br /&gt;&lt;br /&gt;Bu durumda Dünyada söz konusu edilecek program hakkında yazılan bütün kitaplar yetkisiz kılavuz mı oluyor? Biraz tarih: Sanırım 1994 yılıydı ve Visual Basic 3.0 henüz piyasaya verilmişti. Piyasaya Microsoft Press tarafından yayınlanmış sonra Türkçe çevirisi yapılan bir kitap vardı. Bu kitap bana göre yetersizdi. Örneğin Visual Basic’in veritabanı özellikleriyle ilgili olarak kitapta tek satır yoktu. Bunun üzerine oturdum söz konusu kitabın 2 katı sayfaya sahip bir Visual Basic 3.0 kitabı yazdım. İlk Visual Basic 3.0 kitabım o yıllarda çok beğenilmişti. Microsoft Press’ten çıkan Visual Basic 3.0 kitabı raflarda tozlanırken Visual Basic 3.0 kitabım baskı üstüne baskı yapmıştı.&lt;br /&gt;&lt;br /&gt;Asıl demek istediğim şudur: Programcılık veya başka bir konuda yazılan kitabın işlevselliğiyle kitap yazarının söz konusu yazılım üretici firmada çalışması arasında doğrudan bir ilişki yoktur. Örneğin Adobe çalışını yazarın birisi çok iyi kitap yazmışken aynı firmanın başka bir çalışanı kimsenin yüzüne bakmaya değer bulmadığı bir kitaba imza atmış olabilir. Bu nedenle yayınevi editörlerin kitaplarda Yetkili Kılavuz üst başlığına yer vermelerini önermiyorum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-9222416823234443645?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/9222416823234443645/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=9222416823234443645' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/9222416823234443645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/9222416823234443645'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/yetkili-klavuz-yetkisiz-yazar.html' title='Yetkili Kılavuz - Yetkisiz Yazar'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3888054319524460561</id><published>2009-11-11T20:43:00.001+01:00</published><updated>2009-11-15T10:05:02.965+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><title type='text'>Gelin Suç İşleyip C# Uygulamamıza Excel Desteğini Verelim</title><content type='html'>Herkesin malumu olduğu üzere Windows yüklü bilgisayarların büyük bir yüzdesinde Word ve Excel programları yüklüdür. Bu nedenledir son 15 yıldır Türkiye’de geliştirilen birçok uygulamanın Word ve Excel desteği bulunmaktadır. Çünkü kullanıcıların böyle bir talebi var. Başka bir deyişle C# programlama diliyle uygulama geliştirmek isteyenler C# uygulaması dahilinde Word ve Excel’den nasıl yararlanıldığı konusunda mutlaka bilgi ediniyorlar.&lt;br /&gt;&lt;br /&gt;Bu tespitten sonra birisi bilim adamı diğer ikisi programcı olan 3 kişi tarafından kurulan bir cümleyi sizinle paylaşmak istiyorum. Anlamını olduğu gibi bırakıp cümleyi biraz değiştirdiğimi bilmenizi istiyorum:&lt;br /&gt;&lt;br /&gt;“İki kaynakta da Excel uygulamasının seçilmiş olması(başka bir programın çağrılırken aynı programın seçilmiş olması) nedeniyle suç işlenmiştir, çalıntı yapılmıştır.” Yani bu cümlede deniliyor ki C# uygulaması dahilinde Excel’den yararlanmayı düşünmek bir buluştur, kimsenin aklına gelebilecek bir işlem değildir. Çok yakında bu cümleyi resmi kayıtlara geçiren bilişim uzmanlarının adını sizlerle paylaşacağım.&lt;br /&gt;&lt;br /&gt;Şimdi gelin C# uygulaması dahilinde Excel’den yararlanma buluşunu yapan yerli yazara ve bu yerli yazarın buluşunu onaylayan bilim adamı ve programcılara inat C# uygulaması dahilinde Excel’den nasıl yararlanıldığını cümle aleme ifşa edelim. &lt;a href="http://www.memikyanik.net/gelin-suc-isleyip-csharp-uygulamamiza-excel-destegini-verelim-makalesi/100.aspx" target="_blank"&gt;Tamamı burada..&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3888054319524460561?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3888054319524460561/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3888054319524460561' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3888054319524460561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3888054319524460561'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/gelin-suc-isleyip-c-uygulamamza-excel.html' title='Gelin Suç İşleyip C# Uygulamamıza Excel Desteğini Verelim'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4869336810201549012</id><published>2009-11-11T20:40:00.001+01:00</published><updated>2009-11-15T10:05:59.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Yazarlık Dersleri'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesneye Yönelik Programcılık'/><title type='text'>Class’lar ve Memeliler</title><content type='html'>Daha önce birkaç kez ifade ettiğim gibi programcılık derslerini verenler, programcılık üzerine yazanlar ısrarla programcılık kavramlarına günlük hayattan karşılık bulmaya çalışıyorlar. Örneğin Class’lar hakkında bilgi verilirken memelilerden girip araba markalarından çıkıyorlar. Yani kavramı baştan verip altını sonra doldurmaya çalışıyorlar. Konu öğrenme olduğunda en zoru kavramı içselleştirmek olduğu için anlatılanlar havada kalıyor, zor anlaşılıyor.&lt;br /&gt;&lt;br /&gt;Yakın bir zamanda metotlar hakkında bilgi içeren görsel bir derse baktım. Dersi çeken öğretmen arkadaşın dersin yarısını metotlara günlük hayattan karşılık bulmaya çalışmakla harcadığını gördüm. Üstelik günlük hayattan verdiği örneğin metotlarla en ufak bir ilgisi yoktu. Programcılık üzerine yazıp çizenler lütfedip &lt;a href="http://www.memikyanik.com/makeleler/yazarlik_dersleri_1.htm"&gt;Programcılar İçin Yazarlık Derslerine&lt;/a&gt; şöyle bir göz gezdirseler öğrencileri ve okurları tarafından daha kolay izlenecekler, daha anlaşılır olacaklardır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4869336810201549012?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4869336810201549012/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4869336810201549012' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4869336810201549012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4869336810201549012'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/classlar-ve-memeliler.html' title='Class’lar ve Memeliler'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7040217791495442931</id><published>2009-11-11T20:26:00.003+01:00</published><updated>2009-11-11T20:34:08.940+01:00</updated><title type='text'>ZTV ve Ziyahan Albeniz(*)</title><content type='html'>Tahmin edildiği üzere MSN listem oldukça kalabalık olduğu için Online olanların sayısı ortalama 150 kişi kadardır. Yani online olduğumda karşımda bana soru sorma potansiyeli oldukça yüksek ortalama 150 kişi oluyor. Bu arkadaşların hemen hepsi adresimi kişisel sitemden veya programcılıkla ilgili forumlarda bulup listelerine ekleyenlerdir. Ziyahan Albeniz’i yakın bir zamana kadar tanımazdım. Çünkü ZTV’den ve yaptığı bilişim programlarından habersizdim. Ziyahan beni MSN listesine ekleyince zaman zaman laflamaya başladık. 2 gün önce Ziyahan, “Öğrenimde Bilişim Yayınları ve Sorunları” konulu söyleşi için çağıracağı beye yönelteceği sorularla ilgili olarak hazırladığı notları değerlendirmem için bana gönderdi. Hemen sorulara bakıp kendimce birkaç öneride bulundum.&lt;br /&gt;&lt;br /&gt;Ziyahan’nın konuğuna sormayı düşündüğü soruları tam unutmuşken bir de baktım ki posta kutumda Hakkı Öcal hocamdan gelen bir mail var. Meğer Ziyahan yapacağı söyleşide konuğuna yöneltmek üzere hazırladığı soruları aynı zamanda Hakkı hocaya göndermiş. Yani Hakkı hocadan da fikir talebinde bulunmuş. Hakkı hoca ise 2 gün önce Ziyahan’la konuştuklarımızdan habersiz Ziyahan’ın kendisine göndermiş olduğu soruları bana göndermiş. Bunun üzerine Ziyahan’ın konuğuna sormak istediği sorulardan yola çıkarak birkaç cümle yazmak istiyorum.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;“Ünlü Türk düşünürü Cemil Meriç, Edebiyatımızda revaçta olan üç akım olduğunu belirterek, bu akımların İntihal, İktibas ve Tercüme olduğunu söylüyor. Sizce Bilişim Yayıncılığı da aynı dertten muzdarip mi? “&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Ziyahan’ın konuğuna sormayı düşündüğü sorulardan birisi bu. Bu soru bana sorulmuş olsaydı sanırım uzun süre konuşurdum. Baştan alalım: Yani kişisel bilgisayarların yeni yeni kullanılmaya başlandığı 1980’li yılların sonuna gidelim. O günlerde Türkiye’de bir tek Bilgisayar Dergisi yayınlanıyordu ki bu derginin son kullanıcılar yerine kurumlara yönelik bir yayın politikası vardı. Zaten o günlerde evlerde bilgisayar kullanımı oldukça sınırlıydı. Bu nedenledir ki Bilgisayar Dergisi gazete bayilerinde satılmazdı ve abone ücreti oldukça yüksekti. Bana göre Bilgisayar Dergisi o yıllarda işlevini yerine getirdi. Zamanla bilgisayarların kişisel kullanımı yaygınlaşıp bilgisayarlar evlere girip bilişim yayıncılığı gelişmeye başlayınca Bilgisayar Dergisi yayınına son verdi. Bu arada Teleteknik tarafından yayınlanıp çok satan Commodore dergisini unutmamak gerek.&lt;br /&gt;&lt;br /&gt;Tam bu günlerde yani 1989 yılında Ankara merkezli Ekonomist firması Bilgisayar Pazarı adında aylık bir dergi çıkarmaya başladı. Ekonomist firması bence öncü bir firmaydı. Çünkü dergi çıkarmadan önce Türkiye’de bir ilke imza atıp bilişim alanında çok sayıda kitap yayınlamıştı. Örneğin ilk DOS kitabını Türkiye’de Ekonomist Yayınevi yayınlamıştı ki bu kitapta DOS’un 3.0 sürümü anlatılıyordu.&lt;br /&gt;&lt;br /&gt;Gerçekte bu kitaplar telif kitaplar değildi. Zaten o günlerde Türkiye’de bu kitapları yazacak pek kimse de yoktu. Bu nedenle Ekonomist yayınevi istediği kitabı çevirtip yayınlıyordu. Tabii o günlerde yani 1990 yılından itibaren yavaş yavaş telif programcılık ve işletim sistemi kitapları yayınlanmaya başlandı. İlk aklıma gelen yazar Galip Özel’dir. Galip beyin o yıllarda yazdığı programcılık kitapları çok sayıda kişiye rehber oldu.&lt;br /&gt;&lt;br /&gt;1991 yılı başında(sanırım) Mustafa Arslantunalı’nın yönetiminde PCWorld Dergisi Türkiye’de Türkçe olarak yayınlanmaya başlandı. Bana sorarsanız Türkiye’de bilişim yayıncılığı asıl PC World’le başladı. PC World’ün ilk sayılarında çeviri yazılar ağırlıkta olsa bile zamanla telif yazılar çoğalmaya başladı. PC World dergisi bir süre sonra dergi ile birlikte zaman zaman 1.44 Mb’lık disket vermeye başladı. Disket verilen aylarda dergi yok satıyordu. Bir süre sonra Ziya Bahtiyar bey PC World’den bağımsız ayrı bir Disket Dergi yayınlamaya başladı. Abone olanlara her ay 1.44 Mb’lık disket gönderiliyordu. Ziya Bahtiyar’ın yönetiminde çıkan bu disket dergide Clipper üzerinde yazdığım birkaç yazı yayınlanmıştı. Özellikle 1992 yılında PC World’ çok sayıda yazı kaleme aldım.&lt;br /&gt;&lt;br /&gt;Tabi PCWorld’ü çıkaran Ankara merkezli firmanın(şimdi o firma artık yok) sonradan adı ComputerWorld olarak değiştirilen haftalık bilişim gazetesini(adı aklıma gelmedi) unutmamak gerekir. PC World’ün Türkçe yayınlanmasından kısa bir süre sonra çok sayıda bilişim firması bir araya gelip Interpro adında bir yayıncılık firması kurdular. Bu firma aynı zamanda her yıl Eylül ayında yapılan Bilişim Fuarını organize ediyor. 1992 yılı başından itibaren InterPro tarafından çıkarılmaya başlanılan Yazılım&amp;amp;Donanım dergisi ağırlıklı olarak firma haberlerine yer verse bile son kullanıcıya yönelik yazılar ve donanım testleri yok değildi. Aynı firmanın yani InterPro’nun yıllardır yayınlanan BT Haber adında haftalık bir dergisi bulunmaktadır.&lt;br /&gt;&lt;br /&gt;Bir süre sonra PC Magazine dergisi Türkiye’de yayınlanmaya başladı. Büyük iddialarla yayınına başlayan dergi başlangıçta okurlardan ilgi gördü. Bu ilginin bir nedeni dergi ile birlikte disket vermesiydi. Hata PC Magazine ile birlikte verilen diskette virüse rastlanmıştı. Zaten o günlerde virüsler ancak disket vasıtasıyla yayılabiliyordu. Bilişim yayıncılığında PC Magazine rüzgarının estiği günlerde Ankara merkezli Bilgisayar Pazarı dergisinden bir grup ayrılıp PC Günlüğü adında bir dergi çıkarmaya başladılar. Bilgisayar Pazarı dergisinin aksine telif yazılar ağırlıktaydı. Yanlış hatırlamıyorsam PC Günlüğü dergisi 1994 ekonomik krizine dayanamayıp yayına son verdi.&lt;br /&gt;&lt;br /&gt;Bir süre sonra İhlas firması İhlas Bilgi İşlem adında bir dergi çıkarmaya başladı. Bu dergi 5-6 sayı çıktıktan sonra İhlas firması Byte dergisinin Türkiye yayın haklarını satın alıp yoluna Byte olarak devam etti. ABD’de yayınlana Byte dergisinde çıkan dergiden alınıp çevrilen yazıların yanında telif yazılara da yer veriliyordu. Bir süre sonra İhlas firması mali sıkıntıya girince Byte dergisinin lisans hakları başka kişilere geçti. Şu aralar Byte dergisini Dünya grubu yayınlıyor. PC World ve PC Magazine dergilerine nazaran Byte’ın konunun uzmanlarına hitap eden bir havası vardı. Bu nedenledir ki Byte’ın satışı hep PC Magazine ve PC World’e nazaran düşük kaldı. Tabii konu Byte dergisi olunca Hakkı Öcal hocamızı unutmamak gerek. Hakkı hoca dergide edebiyat tadı olan yazılarının yanında çok sayıda kitap hazırlayıp bu kitapların Byte dergisi ile birlikte ücretsiz olarak okurlara ulaşmasına ön ayak oldu.&lt;br /&gt;&lt;br /&gt;Yukarıda bilişim yayıncılığının tarihini özetlemeye çalıştım. Türkçe yayınlanan dergilerin çoğunluğu ABD’de de yayınlanan dergi. İçeriklerinin çoğunluğu çeviriydi. Aslında bu normal bir sonuçtu. Çünkü gerek işletim sistemleri, gerek programlama dilleri ve gerekse de donanım ürünleri yurt dışında üretilip Türkiye’ye belli bir gecikmeyle geliyorlar. Son 2-3 yıldır internet’in ve internet yayıncılığının gelişmesiyle birlikte bilişim alanındaki gelişmeler anında Türkçe olarak ifade edilmeye başlandı. Örneğin yakın bir zamanda Windows 7’nin Beta’ları dağıtıldı. Kısa bir süre sonra dergilerde ve sitelerde Windows 7 ile ilgili çok sayıda Türkçe telif yazı çıktı. Tabii ki zaman zaman yabancı sitelerden ve dergilerden yararlanılarak yazılar kaleme alınmıyor değil. Ne ki konu bilişim yayıncılığı olduğunda yeni bir şey söylemenin şartları kısıtlı olduğu için üzerinde fazla durmak gerekmiyor. Örneğin konu Windows 7 olsun. Windows 7 tabiatıyla Vista’dan yola çıkılarak geliştirilen bir işletim sistemidir. Dolaysıyla Vista hakkında az çok bilgisi olan birisi Windows 7 hakkında rahatlıkla konuşabilir. Bu nedenle Türkiye’de Türkçe olarak bilişimcilerin gerek duyacağı bilişim yayınları rahatlıkla yapılabilir.&lt;br /&gt;&lt;br /&gt;Bu nedenle Türkçe bilişim yayıncılığı 10 öncesi kadar çeviri ve İntihal ağırlıklı değildir. Tabii Ziyahan’ın işaret ettiği üzere bilişim yayınlarında özensiz dil kullanımı önemsiz bir eksiklik değildir. Yani Ziyahan’ın konuğuna yöneltmek istediği soruya cevabım sanıldığı gibi olmayıp İktibas ve İntihal’lerin fazla olduğunu düşünmüyorum. Tabii bu düşünce o kadar yaygındır ki çeviri yapacak kadar İngilizce bilmeyen Memik Yanık’ın çeviri yaptığını düşünenler az değildir. Hal bu ki Memik yanık bugüne kadar yazdığı bütün kitaplarda başka kaynaklardan alınma tek bir cümle yoktur.&lt;br /&gt;&lt;br /&gt;* Bu metni 2009 Yılı Ocak ayında kaleme alıp memikyanik.com'da yayınlamıştım.&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7040217791495442931?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7040217791495442931/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7040217791495442931' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7040217791495442931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7040217791495442931'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/ztv-ve-ziyahan-albeniz.html' title='ZTV ve Ziyahan Albeniz(*)'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3963368456781059668</id><published>2009-11-11T13:34:00.000+01:00</published><updated>2009-11-11T13:35:37.224+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic Kitabı'/><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 9.0'/><title type='text'>En İyi Visual Basic 9.0 Kitabı</title><content type='html'>Birkaç ay önce dikkatli bir arkadaş bazı yayınevlerinin kitap satış sitelerinde kendi kitapları için takma isimle yorumlar yazdığını tespit etmişti. Okurun verdiği bilgilerden yolu çıkarak söz konusu yayınevinin kitapları için yapılan yorumları mercek altına alınca bana bilgi veren arkadaşın yanılmadığını tespit ettim.&lt;br /&gt;&lt;br /&gt;Gelelim asıl konuya: Bir kitap satış sitesinde okurun birisi Visual Basic 9.0 kitabım için "bu güne kadar bir çok VB.Net programla kitabı okudum. Şu ana kadar okuduklarım içinde bu kitap en iyisi" cümlesini kurmuştu. Bu yorumu yapan arkadaş yanılmıyor; Visual Basic 9.0 kitabım bırakın Türkçe Visual Basic kitapları bağlamında değerlendirme yapmayı Dünyanın en iyi Visual Basic kitaplarından birisidir.&lt;br /&gt;&lt;br /&gt;Bu kitabın üçte birisi kadar bile bilgi içermeyen kitapları ucuz oldukları için satın alan arkadaşlara herhangi bir kitapçıya gidip bu kitabımı incelemelerini öneriyorum. Tabi ortalama her 5 sayfada bir teknik yanlış içeren şişirme kitaplardan söz etmeye bile gerek yoktur. Sözüm, yanlışı bol, zor anlaşılan ve şişirme kitaplara meraklı arkadaşlara değildir. Diğer yandan Her Gün Bir Yanlış başlığı altında sıraladığım hataların aynısını bazı Visual Basic kitaplarında bulabilirsiniz. Örneğin Boxing işlemiyle ilgili yanlışla malum .NET uyumlu Visual Basic kitaplarında da rastlanılmaktadır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3963368456781059668?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3963368456781059668/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3963368456781059668' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3963368456781059668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3963368456781059668'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/en-iyi-visual-basic-90-kitab.html' title='En İyi Visual Basic 9.0 Kitabı'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4748194428739819448</id><published>2009-11-10T08:35:00.003+01:00</published><updated>2009-11-10T08:46:11.943+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# Kitapları'/><title type='text'>Her Gün Bir Yanlış(3. Yanlış): Tür Dönüştme İşlemi Nasıl Boxing Oldu?</title><content type='html'>Burada sözünü edip adını açıklamadığım kitapta yapılan bir yanlıştan söz ederken bir okurdan aldığım mail'den yararlanacağım. İşte o mail'in bazı kısımları. Okur mailinden aldığım kısımları mavi renge boyadım.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Elimdeki bi C# kitabında, butonun click olayına;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Byte Degersiz;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;int eksik_sayi;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;eksik_sayi=100;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Degersiz=ekisk_sayi;// Hata meydana gelir.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;satıları yazılmış bunun hatalı oldugunu soyluyor ve calısmıyor.Bunun boxing işlemi ile çalışacağını söylüyorlar.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Byte Degersiz;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;int eksik_sayi;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;eksik_sayi=100;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Degersiz=(Byte) eksik_Sayi; // Boxing işlemi&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;span style="color:#000099;"&gt;Blogunuzdan boxing işlemiyle ile ilgili yazınızı okudum:Stack de bulunan bir değişkenin içeriğinin heap de bulunan bir değişkene aktarılması işlemine Boxing adı verilmektedir.Sanırım kullandığım bu kitapda hata var ve bu bir değil aynı hatayı çok defa yapılmış.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Maili yazan arkadaş yanılmıyor; sözünü ettiği kitabın yazarı Boxing işlemini tür dönüştürmeyle karıştırıyor. Bu kitabı satın alan arkadaşlara önerim şudur: Elinizdeki kitabın Boxing hakkında bilgi verilen sayfalarını dikkate almayın.&lt;br /&gt;&lt;br /&gt;Şimdi bazı arkadaşlar soracaklardır ve diyeceklerdir ki "Boxing işlemi .NET programcılığında önemli değil midir?" Bu soruya verilecek cevap şu olabilir: Evet Boxing ve UnBoxing işlemleri .NET programcılığında önemlidir. Bu 2 kavramın önemi konusunda bir istisna var: Boxing hakkında bilgi sahibi olmamak yerli yazarların kitap yazmalarına engel değildir. Elbette herhangi bir programlama kitabını yazan kişi günümüz şartlarında söz konusu dille ilgili olarak herşeyi bilmesi mümkün değildir. Ancak bir kitapta saymakla bitmeyecek kadar teknik hata varsa durup düşünmek gerekir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4748194428739819448?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4748194428739819448/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4748194428739819448' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4748194428739819448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4748194428739819448'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls3-yanls-tur-donustme.html' title='Her Gün Bir Yanlış(3. Yanlış): Tür Dönüştme İşlemi Nasıl Boxing Oldu?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3576264871119658018</id><published>2009-11-09T18:37:00.000+01:00</published><updated>2009-11-09T18:39:00.757+01:00</updated><title type='text'>Bilinmeyen, Anlaşılmayan Nokta?</title><content type='html'>Birkaç gün önce henüz tanışmadığım, diyalog kurmadığım arkadaşın birisi bana yazdığı mail’de beni eleştirip neden sürekli kendimden söz ettiğimi soruyodu? Sonra ekliyordu: Anlamadığım bir şey var. Doğru, arkadaşın anlamadığı ince bir nokta var. Çünkü bu arkadaş Memik YANIK'ın 1994 yılında yayınlanan ilk kitabında defalarca tanımladığı değişkene ad olarak seçtiği kayit’ı 2004 yılında yani tam 10 yıl sonra başka bir kitaptan çalmakla suçlandığını bilmiyor. Varın gerisini siz hesap edin.&lt;br /&gt;&lt;br /&gt;Yakın bir zamanda bu değişken adı sahipleriyle ilgili gerçekleri açıkladığımda anlaşılmayan noktalar kalmayacak. i, j, sayi1, sayi2, deger, dosya, kayit adlı değişkenlerin sahipleri olduklarını iddia edenler nasıl ayaklarına sıktıklarını anlayacaklardır ve kendilerine yeni mahlaslar bulmak zorunda kalacaklardır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3576264871119658018?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3576264871119658018/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3576264871119658018' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3576264871119658018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3576264871119658018'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/bilinmeyen-anlaslmayan-nokta.html' title='Bilinmeyen, Anlaşılmayan Nokta?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5279893176840286329</id><published>2009-11-09T08:40:00.001+01:00</published><updated>2009-11-09T08:41:44.145+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='DLL Dosyaları'/><title type='text'>Her Gün Bir Yanlış(2. Yanlış): DLL Dosyalarını Çalıştırmak</title><content type='html'>Her gün 1 yanlış yazı dizisine devam ediyoruz. Dün #undef deyimi ile nasıl deklarasyon yapıldığını gördükten sonra bugün DLL dosyalarını çalıştırmaktan söz edeceğiz. Daha doğrusu burada adını anmadığım C# kitabının yazarına göre DLL dosyalarının nasıl çalıştırıldığına bakacağız.&lt;br /&gt;&lt;br /&gt;Her ne kadar yazarımız kitabında DLL dosyalarının çalıştırılmasından söz etse bile şimdiye kadar çalışan DLL dosyasını kimse görmüş değildir.Çünkü DLL dosyaları başka programlar tarafından gerektiğinde belleğe dinamik olarak yüklenilen dosyalardır. Yazarımız kitabında DLL dosyalarını yeniden hazırlamayı yani Visual Studio sayesinde Build etmeyle çalıştırmayı birbirine karıştırmıştır.&lt;br /&gt;&lt;br /&gt;Tabi istenirse .NET Framework ile birlikte gelen C# derleyicisinden yararlanıp konsolda DLL dosyası hazırlamak mümkündür. Diğer yandan DLL dosyalarının C#'a özgü olmadıklarını hatırlamak gerekir. DLL dosyalarının nasıl kullanıldığını aşağıda linki verilen makalede görebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/3-bolum-konsol-uygulamalari-makalesi/121.aspx"&gt;http://www.memikyanik.net/3-bolum-konsol-uygulamalari-makalesi/121.aspx&lt;/a&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5279893176840286329?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5279893176840286329/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5279893176840286329' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5279893176840286329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5279893176840286329'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls2-yanls-dll-dosyalarn.html' title='Her Gün Bir Yanlış(2. Yanlış): DLL Dosyalarını Çalıştırmak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3772839932457724226</id><published>2009-11-07T14:27:00.004+01:00</published><updated>2009-11-13T10:35:43.411+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='#undef'/><category scheme='http://www.blogger.com/atom/ns#' term='Önişlemci Deyimleri'/><category scheme='http://www.blogger.com/atom/ns#' term='#define'/><title type='text'>Her Gün Bir Yanlış(1. Yanlış): #undef Deyimi</title><content type='html'>Daha önce yazmıştım; her kitapta teknik veya dil yanlışları olabilir. Önemli olan bu yanlışların sayısı ve önemidir. Yanlışsız kitap yazmak neredeyse imkânsız olduğu için hedefim hep az yanlışa sahip kitaplar yazmak oldu. Ne zaman okurun birisi kitabımdaki bir yanlışı ilettiğinde kendisine teşekkür edip söz konusu yanlışı ilk fırsatta düzeltme yoluna gittim. Zaten Dünyadaki yazarların neredeyse tamamı böyle davranır. Bu nedenledir ki kitap basıma verildikten kısa bir süre sonra fark edilen hatalar "Düzeltme Listesi" adı altında bir şekilde okura iletilmek istenir.&lt;br /&gt;&lt;br /&gt;C# konulu programcılık kitabının yanlışlarından söz edildiği bu yazı dizisini hazırlarken kendimi yazar Memik Yanık olarak değil okur yerine koydum. Yani adını burada anmadığım yazara diyorum ki “ey yazar arkadaş kitabında şu şu yanlışlar var, bir zahmet yeni baskıda bu yanlışları düzelt, okura saygının gereği olarak kişisel sitende bu yanlışlardan okurlarına söz edin lütfen”. Bakalım yazar arkadaş iyi niyetli bu çalışmaya ne tepki verecek?&lt;br /&gt;&lt;br /&gt;Bu yazı dizisinde yaklaşık 550 sayfalık bir C# kitabının yanlışlarını ortaya koyacağım. Bunu yaparken her gün kitabın bir sayfasını rastgele açıp o sayfadaki hatayı ve doğrusunu yazacağım. Bu hataların sayısı kaç olur şimdiden bilemem. Ancak bu sayının en az 25 olacağını şimdiden söyleyebilirim. Çünkü test amaçlı olarak yaptığım denemelerde her 5-6 sayfada bir yanlışa rastadım. Tabi söz konusu kitabın yanlışlarını ortaya koyarken yanlış yapmam da ihtimal dahilindedir. Bu nedenle olası yanlışlarım için kitabın yazarından simdiden özür dilerim ve yanlışlardan söz ederken yapacağım yanlışlarımı düzeltmek için bir uyarının, bir mail'in yeterli olduğunu bilmenizi isterim. Burada sözünü ettiğim hatanın incelediğim kitabın hangi sayfasında olduğunu yazmayacağım. İşte söz konusu kitaptan alınıp anlamı korunup biraz değiştirilmiş bir cümle.&lt;br /&gt;&lt;br /&gt;"demirspor isimli değişken "#undef" komutu sayesinde deklare edilmiştir."&lt;br /&gt;&lt;br /&gt;Bu cümlede yazarımız undef adlı önişlemci deyimiyle değişken deklare edildiğini yazmış. Gerçekte C# programlama dilinde #define önişlemci deyimi ile kodun başında veya derleme satırında parametreler kullanılarak sembol veya sabit tanımı yapılmaktadır. #undef deyimi ise bu sabitleri tanımsız duruma getirebilmektedir. Yani yazarımız yanılıyor:Çünkü undef deyimi ile deklarasyon yapılmıyor. Belki bazılarınız yazarın bu cümlesine yanlışlıkla define yerine undef'i almış olduğunu düşünecektir. Eğer yazarımız kitabında verdiği kodda define deyimi ile tanımlama yapmış olsaydı derdik ki bu cümledeki hata dalgınlık sonucu yapılmıştır. Ne var ki yazarımız kitabında verdiği kodda undef deyimine yer verip tanımlama yaptığını belirtmiştir.&lt;br /&gt;&lt;br /&gt;Diğer yandan #undef deyimi ile olmayan veya #define deyimi ile tanımlanmayan bir sabiti tanımsız duruma düşürmek istediğinizde C# derleyicisi "dur arkadaş bu sabit tanımlı değil ki tanımsız yapayım, sen olmayan bir şeyi bana yok et diyorsun" demiyor. Yazar arkadaşımız C# derleyicisinin azizliğine uğramış yukarıda verilen cümleyi kitabına almıştır. Başka bir deyişle yazarımız C# derleyicisinin önişlemci deyimleri hakkında yeterince bilgi edinmeden, yeterince araştırma yapmadan kitabında ön işlemci deyimlerinden söz etmiştir. Önişlemciler hakkında bilgi sahibi olmak isteyenler için C# 3.0 kitabımın bir sayfasını aşağıda istifadenize sundum.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;#define Önişlemci Deyimi&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Bu deyimle programın tümü üzerinde etkili olacak sabit tanımlamaları veya adlandırmalar yapmak mümkündür. define önişlemci deyimi ile sabit tanımlanıp veya adlandırma yapıldığı gibi PSEUDO denilen yalancı fonksiyonlar tanımlanabilir. Tabii ki bu şekilde tanımlanan PSEUDO fonksiyonlar basit olacaklardır. define önişlemci deyimi ile gelişmiş fonksiyonlar hazırlamak pratik değildir.&lt;br /&gt;&lt;br /&gt;#define deyiminin başına diğer önişlemci deyimlerinde olduğu gibi # işareti getirilmelidir. define deyimi ile yapılan tanımlamalar programın tümü üzerinde etkili olduğu için kodun en üstüne yazılırlar.&lt;br /&gt;&lt;br /&gt;Aşağıda verilen kısa kodda define deyimi ile değer aktarılmayan bir sabit tanımladık. Bu andan itibaren bu uygulamanın DENEME adında bir sabiti bulunmaktadır. Hemen eklemek gerekirse bu sabit başka kod dosyalarında yaşamaz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;#define DENEME&lt;br /&gt;namespace WindowsApplication1&lt;br /&gt;{&lt;br /&gt;public partial class Form1 : Form&lt;br /&gt;{&lt;br /&gt;public Form1()&lt;br /&gt;{&lt;br /&gt;InitializeComponent();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Derleme işlemi bu sabitin bulunması veya bulunmamasına göre yapılır. Ancak bu sabitin veya önişlemci bildirimin varlığı veya yokluğu bir başka önişlemci deyimi olan #if ile kontrol edilir. #if deyimi ile kontrol işleminin nasıl yapıldığını aşağıda görebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void Form1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;#if DENEME&lt;br /&gt;MessageBox.Show("DENEME adında bir sabit tanımlanmış");&lt;br /&gt;#endif&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#define deyimi ile tanımlanan sabitlerin kontrolü #if-#endif bloğu içinde yapılmakta&amp;shy;dır. Bu kodu yorumlamak gerekirse şunlar söylenebilir: Daha önceden #define deyimi ile DENEME adında bir sabit tanımlandığı için “#if DENEME” satırı doğru değerini verir ve MessageBox sınıfının Show() metodunun kullanıldığı satır EXE koda dahil edilir. DENEME adlı sabit daha önceden tanımlanmadıysa veya tanımlanıp yok edildiyse #if ile #endif satırları arasında kalan satırlar EXE koda dahil edilmez.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3772839932457724226?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3772839932457724226/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3772839932457724226' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3772839932457724226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3772839932457724226'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/her-gun-bir-yanls1-yanls-undef-deyimi.html' title='Her Gün Bir Yanlış(1. Yanlış): #undef Deyimi'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3928551217406308238</id><published>2009-11-04T17:02:00.000+01:00</published><updated>2009-11-04T17:06:41.729+01:00</updated><title type='text'>Dananın Kuyruğu Ne Zaman Kopacak?</title><content type='html'>Kendi adıma konuşmam gerekirse bir programcılık kitabı yazmaya karar vermeden önce potansiyel hedef okur grubunun bilgi düzeyini tahmin edip ona göre bir anlatım biçimini seçmeye çalışırım. Kitabın içeriği ve konuların ele alınış şekli potansiyel okurların beklentilerine uygun değilse o kitap okurlardan ilgi görmüyor.&lt;br /&gt;&lt;br /&gt;2001 krizinde mevcut kitaplarımın satışı birden düşünce yenilerini yazamadım ve 2 yıl sonra düzeyleri okur beklentilerinin altında kalan birkaç kitabım kitapçı raflarında bulunur oldu. Tam bu sırada bazı yazarların organizasyonu ile Memik Yanık aleyhine iftira kampanyaları açıldı. Bu kampanyalar başlangıçta biraz etkili oldu. Ancak son 2 yıldır durum tersine dönmeye başladı. Çünkü Memik YANIK tarafından yazılan kitaplar hem kolay okunduğu hem de daha kapsamlı olduğu için okurlar gerçeği görmeye başladılar. Başka bir deyişle iftiralar etkisini kaybetmeye başladı. Şu an için Memik YANIK’ın Ado.net, Visual Basic 9.0 ve C# 3.0 kitapları rakiplerine fark atacak kalite ve içeriğe sahiptir.&lt;br /&gt;&lt;br /&gt;Sanırım bundan 4 yıl önceydi. Kitap yazma hızımı iyice düşürmüştüm. Çünkü aleyhime yazılanlar moralimi bozmuştu ve bu alandan çekilmeye karar vermiştim. Tam bu günlerde Ankara’da bir yazar arkadaşı ziyaret etmiştim. Bu arkadaşa “kitapların okurlardan ilgi görüyor ve iyi satıyor. Onunla bununla uğraşmak yerine enerjini kitaplarına harcayıp kalitelerini yükseltmeye bak” demiştim. Bu yazar arkadaş beni dinlemedi; hem onu bunu dava etmeye başladı hem de kısa zaman aralıklarıyla kitaplar yayınlamaya başladı. Tabi bu kadar çok kitabı kısa süre içinde yazınca kitaplar hem yazım hem de teknik açıdan kabul edilebilir sınırları zorlayacak kadar fazla sayıda yanlış ve hata içerir oldu.&lt;br /&gt;&lt;br /&gt;Zamanla okurlar bu yazar arkadaşın kitaplarının yüzlerine bakmaz oldular. Örneğin 2005 yılında büyük iddialarla yayınlanan C# kitabının kopyaları aradan yıllar geçmesine rağmen depolardaki yerinde durmaya devam ediyorlar. Umarım yanılırım: Birkaç aya kalmaz bu yazar arkadaşın kitaplarını yayıncılar yayınlamaya son vereceklerdir. Çünkü mevcut kitaplar satmadığı için yeni sürüme güncelleme yapılamıyor. Güncelleme yapılmadığı içindir ki okurlar eski kitaba ilgi göstermiyorlar. Yakın bir zamanda bu yazar arkadaşın kitaplarındaki teknik yanlışlardan söz edilen kitaplar yazıp PDF olarak dağıtacağım. İşte o zaman dananın kuyruğu kapacak. Ayrıca ikisi öğretim üyesi, birisi dershane sahibi, dördü programcı toplam 7 kişi insan içine çıkamaz hale gelecekledir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3928551217406308238?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3928551217406308238/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3928551217406308238' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3928551217406308238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3928551217406308238'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/danann-kuyrugu-ne-zaman-kopacak.html' title='Dananın Kuyruğu Ne Zaman Kopacak?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5144066388487030889</id><published>2009-11-04T10:47:00.004+01:00</published><updated>2009-11-04T10:57:25.241+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2000 Server'/><title type='text'>Windows 2000 Server Yazıları</title><content type='html'>2001 yılında tam krizin patladığı günlerde Windows 2000 Server üzerinde kitap yazıyordum. Kriz döneminde kimse kitap basmak istemediği için Windows 2000 Server kitabım yarım kalmıştı. Aşağıda verilen linkte bu kitabın bazı bölümlerinin birebir içeriği var.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.com/windows_server/windows_server.htm"&gt;http://www.memikyanik.com/windows_server/windows_server.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;İçinde bulunduğumuz günlerde bir çok kişinin Windows 2003 Server kullandığı, yeni yeni Windows 2008 Server'a geçildiği göz önüne alınırsa Windows 2000 Server'la ilgili olarak kişisel sitemde yayınlanan yazıların amacı arşivimi sizinle paylaşmaktır.&lt;br /&gt;..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5144066388487030889?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5144066388487030889/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5144066388487030889' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5144066388487030889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5144066388487030889'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/windows-2000-server-yazlar.html' title='Windows 2000 Server Yazıları'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3663068662077472367</id><published>2009-11-02T21:02:00.002+01:00</published><updated>2009-11-02T21:17:07.034+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 9.0'/><category scheme='http://www.blogger.com/atom/ns#' term='VB 9.0'/><category scheme='http://www.blogger.com/atom/ns#' term='e-book'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 2008'/><title type='text'>Visual Basic 9.0 Kitabı Dururken</title><content type='html'>Bazen arkadaşlar benden kitap önerisi isterler. Eğer ilgilendikleri alanda yazdığım kitap varsa ve kendi yazdığım kitap rakip kitaplara göre çok daha iyi değilse o arkadaşın benim kitabı satın almaması için dolaylı bir şekilde elimden geleni yaparım. Birkaç gün önce kısıtlı paraya sahip öğrenci arkadaşların başlangıç düzeyi .NET uyumlu Visual Basic kitabı almak zorunda kalmamaları için &lt;a href="http://www.memikyanik.com/download/vb_e_book.rar"&gt;Visual Basic’e Başlangıç Kitabı&lt;/a&gt; adında bir PDF hazırlayıp ihtiyacı olanların istifadesine sundum.&lt;br /&gt;&lt;br /&gt;Visual Basic ve .NET programcılığı konusunda daha fazla bilgi edinmek istiyorsanız, ilgilenmeniz gereken kitap bırakın Türkiye’yi Dünyanın en iyi Visual Basic kitaplarından birisi &lt;a href="http://www.hepsiburada.com/visual-studio-2008-ile-microsoft-visual-basic-9.0/productDetails.aspx?categoryid=211651&amp;amp;productid=kseckin0001"&gt;Visual Basic 9.0&lt;/a&gt; kitabımdır. Bu kitabı Kasım 2009 şartlarında rahatlıkla sizlere önerebilirim. Biliyorum, kitabın fiyatı oldukça yüksektir. Bilmenizi isterim ki bu kitabın daha az sayfaya sahip olması için elimden geleni yaptım; kenar boşluklarını azalttım, bazı ekran görüntülerini ve yukarıda sözünü ettiğim PDF’yi istifademize sunduğum için başlangıç düzeyi bazı konuları çıkardım. Buna rağmen kitap yaklaşık 1100 oldu. Bu Visual Basic kitabı dururken gidip başka Türkçe veya İngilizce kitapları alırsanız paranıza yazık etmişsiniz demektir. Hele baştan sona teknik yanlışlarla dolu, adı bile yanlış olan şişirme kitaplar alırsanız kendi ayağınıza sıkmış olursunuz. Diyeceksiniz Visual Basic üzerine kitap yazan birisi kitabına nasıl yanlış ad verir? İşte cevabım: Visual Basic kitaplarına yanlış ad verenler yalnızca yerliler değildir. Visual Studion'nun ve .NET Framerwok'ün sürüm nosunu Visual Basic'in sürümleri ile karıştırıldığı o kadar çok kitap var ki..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3663068662077472367?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3663068662077472367/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3663068662077472367' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3663068662077472367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3663068662077472367'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/11/visual-basic-90-kitab-dururken.html' title='Visual Basic 9.0 Kitabı Dururken'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7401887720252993572</id><published>2009-10-31T21:44:00.008+01:00</published><updated>2009-10-31T21:58:10.813+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0 Kitabı'/><title type='text'>C# 3.0 Kitabının İlk 100 Sayfası Yayınlandı..</title><content type='html'>En kapsamlı ve en kolay okunan C# 3.0 kitabının ilk 100 sayfasının kişisel sitemde yayınlanması tamamlandı. Yakın bir zamanda kimse para ödeyerek Türkçe C# kitabı almayı denemeyecektir. Çünkü en iyisi, en kolay okunanı ellerinin altında. Tabi bazı arkadaşlar diyecekler ki ben Türkçe kitaplar yerine İngilizce olanları tercih ediyorum diyeceklerdir. Bu arkadaşlara söyleyeceğim şudur: Bir kitap kötü kaleme alınmışsa ve zor okunuyorsa hangi dilde yazıldığının ne önemi var?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/csharp-30-kitabi-makaleleri/24.aspx"&gt;http://www.memikyanik.net/csharp-30-kitabi-makaleleri/24.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hele hele 2005 yılında yayınlanıp ve şişirildiği için tuğla kalınlığında olup yanlışlarda dolu olup farkında olmadan C# 2005 adını verdikleri C# 2.0 kitapları depolarda çürümeye devam edeceklerdir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7401887720252993572?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7401887720252993572/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7401887720252993572' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7401887720252993572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7401887720252993572'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/c-30-kitabnn-100-sayfas-yaynland.html' title='C# 3.0 Kitabının İlk 100 Sayfası Yayınlandı..'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4177787994742420849</id><published>2009-10-31T10:33:00.002+01:00</published><updated>2009-10-31T11:01:03.861+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 2000 Server Kurmm'/><title type='text'>Arşivden : Windows 2000 Server Kurmak</title><content type='html'>Bundan tam 12 yıl önceydi, Novell Netware ve Windows NT Server konulu bir kitap yazmıştım. Kitap alanında ilkti. O günün şartlarında kalitesi iyi olmasa bile kurma aşamalarının fotoğraflarını çekmiş ve kitapta kullanmıştım. Okurlardan ilgi gören bu kitap kısa sayılabilinecek bir sürede tükenmişti ki o günlerde Windows 2000 Server piyasaya verilmişti. Ayrıca Novell Netware’nin kullanım alanı daralmıştı. Bunun üzerine kitabı tekrar bastırmak yerine Windows Server 2000 üzerinde çalışmaya başlamıştım. Sonra zamansızlıktan Windows 2000 Server kitabını tamamlayamadım. Geçen günlerde bir web sitesinde Windows 2000 Server’ın kurulmasıyla ilgili bir yazıyı görünce bundan tam 10 yıl önce yazdığım ve Windows 2000 Server’ın nasıl kurulduğunun anlatıldığı bölümü orijinaline bağlı kalarak birkaç küçük yazım değişiklikleriyle size sunmaya karar verdim. Devamı &lt;a href="http://www.memikyanik.com/windows_server/windows_2000_server_kurma.htm"&gt;burada..&lt;/a&gt; Bu sayede 10 yıl önce Windows 2000 Server'ın kurulmasını nasıl anlattığımı merak edecek arkadaşların meraklarını gidermiş oldum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4177787994742420849?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4177787994742420849/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4177787994742420849' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4177787994742420849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4177787994742420849'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/arsivden-windows-2000-server-kurmak.html' title='Arşivden : Windows 2000 Server Kurmak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2664710719962463476</id><published>2009-10-30T12:59:00.001+01:00</published><updated>2009-10-30T13:01:04.939+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 9.0'/><category scheme='http://www.blogger.com/atom/ns#' term='e-book'/><title type='text'>Visual Basic'e Başlangıç E-Book'u Hazır</title><content type='html'>Malumunuz olduğu üzere yakın bir zamanda yayınlanan yeni VB 9.0 kitabımda başlangıç düzeyi konuları azaltma yoluna gitmiştim. Henüz yolun başında olanların zorlanmadan bu kitaptan yararlanabilmelerine imkan sağlamak için programcılık dersleri adı altında çok sayıda makale hazırlayıp burada sizinle paylaşmıştım. Bu makaleleri elden geçirip PDF olarak bir araya getirdim. Bu PDF'yi &lt;a href="http://www.memikyanik.com/download/vb_e_book.rar"&gt;şuradan &lt;/a&gt;indirebilirsiniz. Bu sayede kimsenin başlangıç düzeyi .NET uyumlu Visuall Basic kitabı almasına gerek kalmadı.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2664710719962463476?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2664710719962463476/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2664710719962463476' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2664710719962463476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2664710719962463476'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/visual-basice-baslangc-e-booku-hazr.html' title='Visual Basic&apos;e Başlangıç E-Book&apos;u Hazır'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-564299107200877257</id><published>2009-10-29T13:43:00.003+01:00</published><updated>2009-11-15T10:07:20.743+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kursları'/><category scheme='http://www.blogger.com/atom/ns#' term='Fatih Durgut'/><title type='text'>Yazılımcı Olmak İçin Kursa Gitmeye Gerek Varmı?</title><content type='html'>Varsayalım ki Ankara’da ikamet ediyorsunuz, öğrencisiniz veya bir işte çalışmıyorsunuz. Yazılıma meraklısınız, yazılımcı olmak istiyorsunuz. Madem en iyi C# kitabını &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://www.memikyanik.net/"&gt;http://www.memikyanik.net/&lt;/a&gt; ‘te yayınlamaya başladık temel C# bilgisi edinme derdiniz yok demektir. Sırada işin web ve veritabanı kısmı var. Hiç kaygılanmayan en iyi Türkçe ASP.NET kitabı çok yakında istifadenize sunulacak.&lt;br /&gt;&lt;br /&gt;Tabi bir de işin kurs tarafı var. Üstelik kurslar ucuz da değil. İşte size Türkiye’nin en iyilerinden Fatih Durgut’un zamanında verdiği canlı derslerin video çekimleri. Hemen yanı başınızda: &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://www.durgut.com/"&gt;http://www.durgut.com/&lt;/a&gt;&lt;a style="TEXT-DECORATION: underline; text-underline: single" href="http://www.durgut.com/"&gt;'&lt;/a&gt;u ziyaret edin işin ustasından programcılık dinleyin. Tabi bazı dershane sahipleri “ama biz size kursta kitap veriyoruz” diye sizi ikna etmeye çalışacaklardır. Yani paranızı sokağa atmayın. Yok hayır bana inanmıyorsanız Ankara merkezli eğitimcilerin çektikleri videoları, Fatih beyin videoları ile karşılaştırıp farkı görün.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-564299107200877257?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/564299107200877257/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=564299107200877257' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/564299107200877257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/564299107200877257'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/yazlmc-olmak-icin-kursa-gitmeye-gerek.html' title='Yazılımcı Olmak İçin Kursa Gitmeye Gerek Varmı?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3453719546339969408</id><published>2009-10-29T10:00:00.005+01:00</published><updated>2009-10-29T10:29:48.369+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aydın KÖKSAL'/><category scheme='http://www.blogger.com/atom/ns#' term='Bilişim A.Ş.'/><title type='text'>Aydın Köksal Hocam Sorularıma Henüz Cevap Vermedi</title><content type='html'>Malumunuz olduğu üzere bilgisayar ve programcılık alanında hocaların hocası Aydın Köksal hocaya haddim olmayarak birkaç soru yöneltmiştim. Soruların birisinin linki şuydu:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://memikyanik.blogspot.com/2009/09/hocalarn-hocas-aydn-koksal-hocaya.html"&gt;http://memikyanik.blogspot.com/2009/09/hocalarn-hocas-aydn-koksal-hocaya.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bu kısacık sorumda 2 farklı programcı tarafından yazılmış kısacık kodlarda kullanılan değişken adlarını listelemiştim. Programcının birisi .NET uygulamasına Excel desteği vermek için aşağıda adları listelenen 4 değişkeni tanımlamıştı.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;uygulama&lt;br /&gt;sayfa&lt;br /&gt;kitap&lt;br /&gt;i&lt;br /&gt;adet&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Bir başka programcı ise yazdığı kısacık kodda aynı amaç için sadece 2 değişken tanımlamıştı ve bu değişkenlere aşağıda listelenen adları vermişti.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Excel_uygulamasi&lt;br /&gt;Tablo&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Bir Bilişim A.Ş. çalışanı yani Aydın Köksal hocamızın yanında yetişen uzman bir programcı 2 farklı programcı tarafından yazılan kodlardaki bu değişken adlarının benzer olduğunu iddia etmişti. Bende hocaya sormuştum ve demiştim ki "hocam C# derleyicisinin nazarında bu değişken adları benzer midir?". Aradan 2 ay geçmesine rağmen hocamız (belki buraya yazdıklarımdan haberi yoktur) henüz bir tepki vermedi. Bilmiyorum, belki Aydın hocanın sahibi olduğu Bilişim A. Ş.’nin kullandığı C# derleyicisi özel bir derleyicidir ve burada ayrı olarak listelenen değişken adlarının aynı olduğunu rapor ediyordur. Yoksa koskoca Bilişim A.Ş. çalışanı bilgisayar mühendisliği tahsili yapmış programcı bu değişken adlarının aynı olduğunu rapor eder mi?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3453719546339969408?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3453719546339969408/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3453719546339969408' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3453719546339969408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3453719546339969408'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/aydn-koksal-hocam-sorularma-henuz-cevap.html' title='Aydın Köksal Hocam Sorularıma Henüz Cevap Vermedi'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2304573844156454625</id><published>2009-10-28T11:30:00.001+01:00</published><updated>2009-10-29T09:58:25.663+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Bedava Kitap'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0 Kitabı'/><title type='text'>En Kapsamlı ve En Kolay Okunan C# Kitabı Bedava...</title><content type='html'>2008 yılı sonlarında yayınlanan C# 3.0 kitabım hem az basılıp hem de okurlardan ilgi gördüğü için günümüz şartlarına göre kısa sayılabilecek bir sürede tükendi. Geçtiğimiz günlerde bu kitabın üzerinde çalışıp her kaynakta bulunan birkaç konuyu kitaptan çıkarıp ileri düzey bilgiler içeren 40 yeni sayfa eklemiştim. Kitap alacak kadar parası olmayanları ve kitap alacak kadar parası olanları ise yanlışlıklarla dolu ve daha az bilgi içeren kitaplara mahkûm etmemek için sözünü ettiğim kitabı &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://www.memikyanik.net/"&gt;www.memikyanik.net&lt;/a&gt;’te bölümler halinde arkası yarın şeklinde sizlere sunmaya başladım. Web'de yer sorunu olmayacağı için küçük eklemeler yapabileceğim. Bu sayede en kapsamlı Türkçe C# 3.0 kitabı olan bu kitap dünyanın en kapsamlı ve ençok ileri düzey bilgi içeren kitap olma yolunda ilerlemiş olacaktır.&lt;br /&gt;&lt;br /&gt;Word belgesi olarak düzenlenip öyle basılan kitap metnini &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://www.memikyanik.net/"&gt;www.memikyanik.net&lt;/a&gt;’e aktarmak zaman alacağı için günde ortalama 10 sayfayı sizlerle paylaşmayı düşünüyorum. Çalışmalarıma katkı sağlamak isteyenler veya basılı metni tercih edenler bu kitabın birkaç gün sonra piyasaya çıkacak yeni baskısını &lt;a style="COLOR: blue; TEXT-DECORATION: underline; text-underline: single" href="http://www.seckin.com.tr/"&gt;www.seckin.com.tr&lt;/a&gt;‘den temin edebilirler.&lt;br /&gt;&lt;br /&gt;Olur ya değişik nedenlerden dolayı C# 3.0 kitabının içeriğini burada sizinle paylaşmayı yarım bırakmak zorunda kalırsam kimse bana kızmasın. Diğer yandan şimdiye kadar web’de yayınladığım çok sayıda makaleyi isteyen arkadaşların alıp kendi sitelerinde bloglarında yayınlamalarına bir şey demedim. Ancak C# 3.0 kitabının bütünlüğü açısından arkadaşların kitabın bölümlerini kendi sitelerinde yayınlamalarını istemiyorum. Çevrenizde saç baş yolmadan eksiksiz bir kaynaktan kısa sürede C# öğrenmesini istedikleriniz var lütfen onlara bundan söz edin, bloglarınızda duyurun. Bu kitapla ilgili olarak soru, öneri ve görüşlerinizi &lt;a href="mailto:memikyanik@hotmail.com"&gt;memikyanik@hotmail.com&lt;/a&gt;‘a yazabilirsiniz. Çünkü kitaba küçük eklemeler yapmaktayım.&lt;br /&gt; &lt;br /&gt;Kitabın ilk bölümü aşağıda verilen linktedir.&lt;br /&gt; &lt;br /&gt;&lt;a href="http://www.memikyanik.net/1-bolum-visual-studionun-program-gelistirme-ortami-makalesi/118.aspx"&gt;http://www.memikyanik.net/1-bolum-visual-studionun-program-gelistirme-ortami-makalesi/118.aspx&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;a href="http://www.memikyanik.net/"&gt;www.memikyanik.net&lt;/a&gt;'i her gün izleyip C# kitabının yayınlanan sayfalarını okuyup hem kısa sürede C# uzmanı olun hem de kötü kaleme alınmış ve teknik yanlışlarla dolu kitap almak derdinden kurtulun. Eğer C# ve programcılıkta henüz yolun başında iseniz bu kitabı &lt;a href="http://www.memikyanik.net/"&gt;www.memikyanik.net&lt;/a&gt; 'ten okumadan önce aşağıda linkini verilen PDF'yi indirip okumanız önerilir.&lt;br /&gt; &lt;br /&gt;&lt;a href="http://www.memikyanik.com/download/csharp_e_book.rar"&gt;http://www.memikyanik.com/download/csharp_e_book.rar&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Çünkü bu PDF'yi okuyanların C#'ı ve .NET programcılığını öğrenme hızları artmakta ve C# üzerine çalışmak keyifli hale gelmektedir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2304573844156454625?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2304573844156454625/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2304573844156454625' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2304573844156454625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2304573844156454625'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/en-iyi-en-kapsaml-en-kolay-okunan-c.html' title='En Kapsamlı ve En Kolay Okunan C# Kitabı Bedava...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-126471855362982052</id><published>2009-10-23T12:35:00.001+02:00</published><updated>2009-10-23T12:35:53.488+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0'/><title type='text'>2. Baskı İçin C# 3.0 Kitabının Hazırlığı Tamam...</title><content type='html'>&lt;p&gt;Birkaç gün önce burada sizinle paylaştığım için biliyorsunuz: Baskı sayısı düşük tutulduğu ve okurlardan ilgi gördüğü için C# 3.0 kitabının ilk baskısı kısa sayılabilecek bir sürede tükendi. Seçkin Yayıncılık kitabı tekrar basmak isteyince fırsat bu fırsat deyip kitabı gözden geçirdim. Bu gözden geçirmede kitabın sayfa sayısını düşürmek, dolayısıyla düşük fiyata satılmasını sağlamak için her kaynakta bulunan birkaç bölümü kitaptan çıkardım. bazı bölümlerin sayfa sayılarını ikişer üçer azalttım. Ardından kitabın düzeyini yükseltmek için 40 yeni sayfayı kitaba ekledim. Böylece kitabın düzeyi biraz daha yükseldi. Kitabın yeni halinin &lt;b&gt;içindekiler&lt;/b&gt;'ini &lt;a href="http://www.memikyanik.com/kitaplar/cs_3_2_baski_kitabi_icindekiler.htm"&gt;şurada&lt;/a&gt; görebilirsiniz. Kitabın yeni hali kısa bir süre sonra basılıp dağıtılacaktır.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-126471855362982052?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/126471855362982052/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=126471855362982052' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/126471855362982052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/126471855362982052'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/2-bask-icin-c-30-kitabnn-hazrlg-tamam.html' title='2. Baskı İçin C# 3.0 Kitabının Hazırlığı Tamam...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4371702004767693825</id><published>2009-10-18T20:45:00.007+02:00</published><updated>2009-10-19T07:54:52.521+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cookie&apos;ler'/><category scheme='http://www.blogger.com/atom/ns#' term='SessionState'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Session'/><title type='text'>ASP.NET Kitapları Üzerinde Değerlenme Yapmak İsteyenler...</title><content type='html'>Son yıllarda bir çok arkadaş gidip ASP.NET kitapları satın aldılar. Yerli yazarlar tarafından yazılan bu kitapların hiç birisini beğenmedim. Benden ASP.NET kitabı önerisi isteyenlere Alfa Yayınevinin çeviri kitabını önerdim.&lt;br /&gt;&lt;br /&gt;Şimdi ellerinde ASP.NET konulu kitap olan arkadaşlara bir öneride bulunmak istiyorum: Kitabınızın &lt;strong&gt;Session&lt;/strong&gt;'lar hakkında bilgi içeren bölümünü aşağıda linkini verdiğim yazı ile bir karşılaştırın. Bakalım hangisi kapsamlı, hangisi doğru anlatıyor bir değerlendirme yapın.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/iyi-bilinen-session-hakkinda-makalesi/115.aspx"&gt;http://www.memikyanik.net/iyi-bilinen-session-hakkinda-makalesi/115.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tabi Session koleksiyonundan &lt;strong&gt;değişken&lt;/strong&gt; diye söz edilen kitapları değerlendirmek abesle iştigal olduğunu tartışmaya gerek var mıdır? Bazı arkadaşlar bir tek konuya bakarak sağlıklı değerlendirme yapmak mümkün müdür diye soracaklardır. O zaman elinizdeki ASP.NET kitabının Cookie'ler hakkında bilgi içeren sayfalarına yazılanları bir de aşağıda verilen linkteki makale ile karşılaştırın.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/aspnette-cookieler-makalesi/97.aspx"&gt;http://www.memikyanik.net/aspnette-cookieler-makalesi/97.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4371702004767693825?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4371702004767693825/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4371702004767693825' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4371702004767693825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4371702004767693825'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/aspnet-kitaplar-uzerinde-degerlenme.html' title='ASP.NET Kitapları Üzerinde Değerlenme Yapmak İsteyenler...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-1646627805808523924</id><published>2009-10-18T19:57:00.002+02:00</published><updated>2009-10-18T20:39:28.123+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 2008'/><title type='text'>Çok Uğraştılar, Başaramadılar : C# 3.0 Kitabımın İlk Baskısı Bitti</title><content type='html'>Her ne kadar bilgisayar ve programcılık kitapları üzerine eleştirel yazıları ilk ve son yazan kişi olsam bile kendi kitaplarım üzerinde yazarken dikkatli olmayı tercih ettim. bu nedenle &lt;a href="http://www.memikyanik.com/kitaplar/c_sharp_3_kitabimi_anlattim.htm"&gt;şu yazıyı&lt;/a&gt; yazarken oldukça zorlanmış ve ancak kitabın yarısı hakkında bilgi vermiştim. Kitap yayınlanır yayınlanmaz birçok saygıdeğer arkadaş kitap aleyhine orada burada konuşup az satılması için elinden geleni yaptı. Hal bu ki C# 3.0 kitabım bırakın en kapsamlı yerli kitap(birçok yabancı kitaptan da daha kapsamlıdır) olmasının yanında değerlendirme konu bazında yapıldığında çok sayıda konudaki içeriğiyle rakipsizdi. Örneğin C# uygulamalarında Word ve Excel'den yararlanma konusunda kitabım kadar ayrıntılı bilgi içeren başka kitap yok gibidir. C# 3.0 kitabımın rakipsiz olduğu konulardan birisi Object sınıfının anlatıldığı bölümdür. Şimdiye kadar incelediğim yerli yabancı hiç bir kitapta &lt;strong&gt;Object&lt;/strong&gt; ve &lt;strong&gt;Application&lt;/strong&gt; sınıfı hakkında ayrıntılı bilgi verilmemişti. Tek tek anlatmak yerine C# 3.0 kitabımın içerik olarak açık ara önce olduğu bazı konuları aşağıda sıraladım:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Garbage Collector&lt;br /&gt;Koleksiyonlar&lt;br /&gt;Stream Sınıfları&lt;br /&gt;Api Fonksiyonları&lt;br /&gt;Windows Mesajları&lt;br /&gt;Hata Yakalamak ve Debug İşlemleri&lt;br /&gt;Assembley'ler&lt;br /&gt;Serilizasyon İşlemleri&lt;br /&gt;Stuct ve Enum'lar&lt;br /&gt;Application Domain&lt;br /&gt;İterasyonlar&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Hiç bir yerli kitapta bu konularda C# 3.0 kitabım kadar bilgi yoktur. Tabi konunun ayrıntılarına girip karşılaştırmalı değerlendirmeler için başka yazarların kitaplarında söz etmek istemiyorum. Asıl demek istediğim şudur: Bütün anti propagandalara rağmen C# 3.0 kitabımın ilk baskısı(ki az basılmıştı ve az basıldığı için fiyatı görece yüksekti) bitti. Bu nedenle kitabı yeni baskı için elden geçirdim. Bu elden geçirmede ne mi yaptım? Her kitapta bulunma ihtimali olan bazı konulara ayrılan sayfaların sayısını üçer beşer azalttım ve bazı konuları ise kitaptan tümden çıkardım. Kitaba 2 yeni bölüm ekleyip 2 ileri düzey konuya ayrılan sayfaların sayısını arttırdım. Böylece kitabın düzeyi biraz yükseldi.Yani kitabın sayfa sayısı biraz azaldı. Kitabın yeni baskısı kısa zamanda piyasaya verilecektir. Tabi bazı kitapçılarda eski baskının kopyaları olabilir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-1646627805808523924?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/1646627805808523924/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=1646627805808523924' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1646627805808523924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1646627805808523924'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/cok-ugrastlar-basaramadlar-c-30-kitabnn.html' title='Çok Uğraştılar, Başaramadılar : C# 3.0 Kitabımın İlk Baskısı Bitti'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3184741568393127119</id><published>2009-10-13T07:28:00.002+02:00</published><updated>2009-11-15T10:08:02.099+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# Kitapları'/><title type='text'>Beğendiğiniz C# kitabında…?</title><content type='html'>&lt;h2&gt;&lt;/h2&gt;&lt;h3&gt;&lt;/h3&gt;&lt;h4&gt;&lt;/h4&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Birkaç gün önce bir kitapçıda programcılık kitapları ile ilgilenen bir arkadaşla biraz lafladık. Bana raftaki bir C# kitabını gösterip bunu aldım ve memnun kaldım dedi. Arkadaşın beğendiği kitabı eleştirmek makul bir davranış olmayacağı için kendisine beğendiği kitabıyla ilgili birkaç soru yönelttim. İşte bu sorulardan aklımda kalan birkaç tanesi:&lt;/span&gt;&lt;/h5&gt;&lt;ol&gt;&lt;li&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Okuyup beğendiğin C# kitabı size Garbage Collector hakkında bilgi verdi mi?&lt;/span&gt;&lt;/h5&gt;&lt;/li&gt;&lt;li&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Beğendiğin kitapta API fonksiyonları hakkında bilgi var mıydı?&lt;/span&gt;&lt;/h5&gt;&lt;/li&gt;&lt;li&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Beğendiğin kitapta Application sınıfından söz edilmiş miydi? &lt;/span&gt;&lt;/h5&gt;&lt;/li&gt;&lt;li&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Programcılık öğrenmek üzere edindiğin kitapta serileştirme işleminden söz ediliyor muydu?&lt;/span&gt;&lt;/h5&gt;&lt;/li&gt;&lt;li&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Beğendiğin kitapta Windows mesajları hakkında tek satır var mıydı?&lt;/span&gt;&lt;/h5&gt;&lt;/li&gt;&lt;li&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Beğendiğin kitapta yalnızca Object sınıfı hakkında bilgi içeren bölüm var mıydı?&lt;/span&gt;&lt;/h5&gt;&lt;/li&gt;&lt;li&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Beğendiğin kitapta Clipboard sınıfından söz ediliyor muydu?&lt;/span&gt;&lt;/h5&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h5&gt;&lt;span style="font-family:Verdana;"&gt;Arkadaşa hepsinin cevapları hayır olan birkaç soru daha yöneltmiştim. Neden mi insanlar gidip daha az bilgi içeren, daha çok yanlışa sahip, daha zor anlaşılan kitapları tercih ediyorlar. Çünkü kitapçıda kitapları incelemiyorlar, çünkü Türkiye’de bilgisayar ve programcılık kitapları üzerinde tarafsız ve ciddi incelemeler yapılmıyor. Böyle olunca hangi kitabın reklamı fazla yapıldıysa o kitap fazla satıyor. &lt;/span&gt;&lt;/h5&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3184741568393127119?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3184741568393127119/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3184741568393127119' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3184741568393127119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3184741568393127119'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/begendiginiz-c-kitabnda.html' title='Beğendiğiniz C# kitabında…?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7962581156370596016</id><published>2009-10-10T13:19:00.001+02:00</published><updated>2009-10-10T13:22:36.894+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HttpSessionState'/><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='SessionState'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Session'/><category scheme='http://www.blogger.com/atom/ns#' term='HttpCurrent'/><title type='text'>İyi Bilinen Session Hakkında</title><content type='html'>Windows uygulamaları geliştirenler projedeki bütün form veya sınıflarda yaşamasını istedikleri değişkenlere Static veya Public özelliğini vermektedir. Web uygulamalarında böyle bir imkan olmadığından her kullanıcı için otomatik olarak hazırlanan Session nesnesinden ve her web uygulaması için hazırlanan ve Application nesnesinden yararlanılmaktadır.&lt;br /&gt;&lt;br /&gt;Kullanıcının birisi ilgilendiği web sitesinin ana sayfasını talep etmesiyle birlikte söz konusu kullanıcı için o oturum boyunca yaşayacak HashTable gibi bir yapıya sahip koleksiyon Session nesnesi hazırlanır. Session nesnesi System.Web.SessionState’de bulunan HttpSessionState sınıfının örneğidir. Tahmin edileceği üzere Session nesnesi aynı zamanda Page sınıfının bir özelliğidir. Bu nedenle Session nesnesine sitedeki bütün sayfalardan erişim sağlanabilmektedir.&lt;br /&gt;&lt;br /&gt;Sunucu, her istemci için ayrı hazırladığı Session nesnesini benzersiz içeriğe sahip SessionID özelliği ile ayırd etmektedir. Web sitesinin ana sayfasının Load olayını temsil eden metodu aşağıdaki gibi düzenlenirse geçerli oturumun SessionID özelliğinin içeriği sayfaya yazılır.&lt;br /&gt;&lt;br /&gt;Bu makalenin tamamı aşağıda verilen linktedir.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/iyi-bilinen-session-hakkinda-makalesi/115.aspx"&gt;http://www.memikyanik.net/iyi-bilinen-session-hakkinda-makalesi/115.aspx&lt;/a&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7962581156370596016?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7962581156370596016/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7962581156370596016' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7962581156370596016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7962581156370596016'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/iyi-bilinen-session-hakknda.html' title='İyi Bilinen Session Hakkında'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7807259105849952220</id><published>2009-10-10T13:08:00.002+02:00</published><updated>2009-10-10T13:11:03.320+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MD5CryptoServiceProvider'/><category scheme='http://www.blogger.com/atom/ns#' term='ComputeHash'/><category scheme='http://www.blogger.com/atom/ns#' term='Kriptografi'/><category scheme='http://www.blogger.com/atom/ns#' term='MD5 Algoritması'/><title type='text'>MD5 Algoritması İle Şifreleme Yapmak</title><content type='html'>Güvenliğin öne çıktığı uygulamalarda bazı bilgiler şifrelenip öyle veritabanına kaydedilmek istenir. Bu sayede veritabanı bir şekilde incelendiğinde gerçek bilgi öğrenilmemiş olur. Örneğin bir üyelik sisteminde üyelerin parolalarını şifreleyip öyle veritabanına kaydetmek isteyebilirsiniz. Bu gibi durumlarda nasıl şifreleme yapıldığını anlatmak üzerinde çalıştığım projesinin formunu aşağıdaki gibi düzenledim.&lt;br /&gt;&lt;br /&gt;Bu makalenin tamamı aşağıda verilen linktedir.&lt;br /&gt;.&lt;br /&gt;&lt;a href="http://www.memikyanik.net/md5-algoritmasi-ile-sifreleme-yapmak-makalesi/111.aspx"&gt;http://www.memikyanik.net/md5-algoritmasi-ile-sifreleme-yapmak-makalesi/111.aspx&lt;/a&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7807259105849952220?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7807259105849952220/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7807259105849952220' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7807259105849952220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7807259105849952220'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/md5-algoritmas-ile-sifreleme-yapmak.html' title='MD5 Algoritması İle Şifreleme Yapmak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4296736550883330610</id><published>2009-10-10T13:02:00.001+02:00</published><updated>2009-10-10T13:05:04.068+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GetAllNetworkInterfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='NetworkInformation Sınıfı'/><category scheme='http://www.blogger.com/atom/ns#' term='NetworkInterface'/><title type='text'>NetworkInformation Sınıfı</title><content type='html'>Zaman zaman kullanılan bilgisayarın ağ zellikleri hakkında bilgi edinilmek istenir. .NET Framework ile System.Net.NetworkInformation’de bu amaçla kullanabileceğiniz sınıflar bulunmaktadır. Bu makalede NetworkInterface sınıfı hakkında bilgi verilmektedir. Bu sınıflardan yararlanmak istediğiniz sınıfın hazırlandığı kod dosyasının üst kısmına aşağıda verilen satırları eklerseniz kod satırlarınız kısaltma imkanı elde edersiniz. Bazı programcılık kitaplarının yazılanlara bakmayın siz using deyimi yalnızca kullanılmak istenen söz konusu sınıf ve arayüzlerin aranacağı namespace’leri işaret etmeye yaramaktadır.&lt;br /&gt;&lt;br /&gt;using System.Net;&lt;br /&gt;using System.Net.NetworkInformation;&lt;br /&gt;&lt;br /&gt;System.Net.NetworkInformation’de çok sayıda Interface bulunmaktadır. Sistemin ağ ortamı hakkında bilgi edilirken bu namespace’teki NetworkInterface arayüzünden yararlanılmaktadır. Bu nedenle ilk olarak aşağıdaki gibi kod yazarak NetworkInterface arayüzü için değişken tanımlayıp nesne hazırladım.&lt;br /&gt;&lt;br /&gt;NetworkInterface[] Arayüz;&lt;br /&gt;Arayüz = NetworkInterface.GetAllNetworkInterfaces();&lt;br /&gt;&lt;br /&gt;Bu makalenin tamamı aşağıda verilen linktedir..&lt;br /&gt;..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/networkinformation-sinifi-makalesi/107.aspx"&gt;http://www.memikyanik.net/networkinformation-sinifi-makalesi/107.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4296736550883330610?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4296736550883330610/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4296736550883330610' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4296736550883330610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4296736550883330610'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/networkinformation-snf.html' title='NetworkInformation Sınıfı'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-6271841049363622827</id><published>2009-10-10T12:57:00.001+02:00</published><updated>2009-10-10T13:00:27.077+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Oxygene'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi Prism 2010'/><title type='text'>Delphi Prism ile Çalışmaya Başlamak</title><content type='html'>Bir önceki makalemizde Oxygene’in Delphi Prism olmadan önceki hali hakkında kısaca bilgi verdik. Şimdi sırada Delphi Prism üzerinde konuşmak var. Bu amaçla embarcadero.com’dan Delphi Prism’in en son sürümün deneme kopyasını indirip kurmak üzere Install.exe adlı programı çalıştırdım. Aşağıda verilen ekran görüntüsünden fark edeceğiniz gibi Delphi Prism paketinden ayrıca Interbase veritabanı ve InstallAware adlı setup programı çıkmaktadır.&lt;br /&gt;&lt;br /&gt;Bu makalenin tamamı aşağıda verilen linktedir.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/delphi-prism-ile-calismaya-baslamak-makalesi/116.aspx"&gt;http://www.memikyanik.net/delphi-prism-ile-calismaya-baslamak-makalesi/116.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-6271841049363622827?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/6271841049363622827/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=6271841049363622827' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6271841049363622827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6271841049363622827'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/delphi-prism-ile-calsmaya-baslamak.html' title='Delphi Prism ile Çalışmaya Başlamak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-6613144803361250043</id><published>2009-10-10T12:52:00.004+02:00</published><updated>2009-10-10T13:00:01.474+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server 2008 Express'/><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server Kurmak'/><title type='text'>SQL Server 2008 Express Edition’ı Kurmak</title><content type='html'>Bu makaleyi programcılar için yazdığımıza göre uygulama geliştirme sürecini göz önüne almak gerekiyor. Programcı SQL Server’ı kullandığı bilgisayara kurup veritabanı hazırlayıp herhangi bir programlama diliyle geliştirdiği projesini test edecektir. Bu nedenle konu SQL Server olduğunda programcılar işe SQL Server’ı kurmakla başlarlar. SQL Server’ın 2000 ve 2005 sürümlerinin kurulumu son derece kolay ve sorunsuzdu. 2008 sürümü biraz karmaşıktır. Bu nedenle bu makalede kurulumun ayrıntılarından söz edildi.&lt;br /&gt;&lt;br /&gt;SQL Server’ın Express yerine asıl sürümlerinden yararlanmak istiyorsanız karşınıza birden fazla seçenek çıkıyor. Enterprise ve Standard ilk akla gelen sürümlerdir. Developer sürüm, Enterprise sürümle benzer özelliklere sahip olsa bile lisanslama şartları farklıdır. Bu makalenin potansiyel okurlarının bir kısmı SQL Server’ın ücretsiz Express Edition sürümünü tercih edecekler fazla olduğu için Express sürümü nasıl kurabileceğinizden söz ettik. Bu düşünce ile microsoft.com’da arama yapıp SQL Server’ın Express sürümüyle ilgili aşağıda verilen sayfayı bulduk.&lt;br /&gt;&lt;br /&gt;Bu makalenin tamamı &lt;a href="http://www.memikyanik.net/sql-server-2008-express-editioni-kurmak-makalesi/117.aspx"&gt;şurada...&lt;/a&gt;&lt;br /&gt;..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-6613144803361250043?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/6613144803361250043/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=6613144803361250043' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6613144803361250043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6613144803361250043'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/sql-server-2008-express-edition-kurmak.html' title='SQL Server 2008 Express Edition’ı Kurmak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3183640506581739298</id><published>2009-10-09T00:08:00.001+02:00</published><updated>2009-10-09T00:08:29.884+02:00</updated><title type='text'>DataAdapter DataSet İlişkisi</title><content type='html'>&lt;p&gt;   &lt;p&gt;.NET dilleriyle henüz uğraşanların zor anladıkları konulardan birisi DataAdapter ile DataSet ilişkisidir. Yakın bir zamanda formda sorulan soruya aşağıdaki gibi kısa bir cevap verdim.&lt;/p&gt;    &lt;p&gt;     &lt;p&gt;       &lt;br /&gt;“Klasik yani OleDbConnection, OleDbDataAdapter ve OleDbCommand nesnelerinden söz edeyim. Forma OleDbConnection nesnesini yerleştirip ilgili veritabanına bağlanırsınız. Bunun için OleDbConnection nesnesinin &lt;b&gt;ConnectionString&lt;/b&gt; özelliğini ayarlarsınız. Bu ayarlama Visual Studio’nun yardımıyla kolayca yapılabilmektedir.&lt;/p&gt;      &lt;p&gt;       &lt;p&gt;         &lt;br /&gt;Devamında sıra forma OleDbDataAdapter nesnesi yerleştirmeye gelir. Toolbox’tan yararlanıp forma OleDbDataAdapter yerleştirdiğinizde Wizard otomatik olarak çalışmaya başlar ve OleDbDataAdapter sayesinde veritabanından veri çekilirken, mevcut veriler silinir veya değiştirilirken ve yeni veri eklenirken gereken SQL kodu otomatik olarak oluşturulup OleDbDataAdapter nesnesinin dahili &lt;b&gt;OleDbCommand&lt;/b&gt; tipindeki özelliklerine aktarılır. Tabi seçilen tablonun primary key’i yoksa Data Adapter Wizard sadece tablodan veri çekilirken gereken SQL kodunu hazırlamaktadır.          &lt;br /&gt;&lt;/p&gt;        &lt;p&gt;Sonra OleDbDataAdapter sınıfının Fill() metoduyla verileri çekip DataSet'e aktarırsınız. DataSet'tin son halini veritabanına yazarken ise OleDbDataAdapter sınıfının &lt;b&gt;Uptdate&lt;/b&gt;() metodunu kullanırsınız. Tabi bu sırada OleDbDataAdapter nesnesinin &lt;b&gt;UpdateCommand&lt;/b&gt;, &lt;b&gt;DeleteComamnd&lt;/b&gt; ve &lt;b&gt;InsertComamnd&lt;/b&gt; özelliklerine, içinde DELETE, UPDATE ve INSERT INTO olan SQL kodu aktarılmadıysa sorunlar yaşanır.”          &lt;br /&gt;Bu konuda bilgi edinmek isteyenler aşağıda yeri işaret eden makaleye bakabilirler.          &lt;br /&gt;&lt;a href="http://www.memikyanik.net/memik-yanik-ve-oledbdataadapter-sinifinin-fill-metodu-makalesi/11.aspx"&gt;http://www.memikyanik.net/memik-yanik-ve-oledbdataadapter-sinifinin-fill-metodu-makalesi/11.aspx &lt;/a&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3183640506581739298?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3183640506581739298/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3183640506581739298' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3183640506581739298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3183640506581739298'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/dataadapter-dataset-iliskisi.html' title='DataAdapter DataSet İlişkisi'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4207316719978699261</id><published>2009-10-08T23:58:00.004+02:00</published><updated>2009-10-10T13:01:08.332+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi Prism 2010'/><title type='text'>Delphi Prism İle Tanışmak</title><content type='html'>&lt;p&gt;Varsayalım ki Delphi ile az çok program yazdınız. Şimdi ise konu Web uygulamaları olduğunda Delphi’nin geri kaldığını düşünüyorsanız imdadınıza Prism yetişiyor. Öncelikle 1 yıl önce kişisel sitemde sizinle paylaştığım makaleyi küçük ekleme ve değişikliklerle tekrar size sunacağım. Devamında birkaç makale boyunca size Prism’den söz edeceğim.&lt;br /&gt;&lt;br /&gt;Yakın bir zamanda Delphi Prism adında yeni bir uygulama geliştirme aracı daha doğrusu bir derleyici programcıların istifadesine sunuldu. Bu ürün vesilesi ile bir Delphi tarihi özeti geçeceğim. Microsoft’un ilk .NET Framework sürümünü hazırladığı günlerde Delphi’nin kullanıma sunulmuş en son sürümü Delphi 7’di. Masaüstü uygulamalar geliştirmek için o günlerin en iyi programlama dili ve uygulama geliştirme aracıydı. Derken Microsoft firması .NET Framework teknolojisini ve .NET uyumlu programlama dillerini kullanıma sundu. Bir süre sonra Borland firması Delphi 8 adıyla Delphi'nin .NET uyumlu sürümünü piyasaya vermekle birlikte Microsoft’un Visual Studio’su ve yeni programlama dilleri(Visual Basic .NET ve C#) kadar programcılardan ilgi görmedi. İşin özü konu Web uygulamaları geliştirmek olduğunda programcılar ağırlıklı olarak tercihlerini Microsoft ürünü araçlardan yana yaptılar. Kişisel görüşüme göre asıl sorun Borland’ın .NET Framework desteği konusunda Microsoft’u geriden takip etmesiydi. Örneğin Delphi ile Web uygulaması geliştiren programcılar .NET Framework 2.0 desteği için uzun süre beklemek zorunda kaldılar. Şu günlerde Microsoft firması Visual Studio 2008 ile .NET Framework 3.5 desteğini sunarken Borland(artık CodeGear demek gerek) ürünü Rad Studio 2007 ile gelen .NET uyumlu Delphi 2007 ile ancak .NET Framework 2.0 uyumlu ASP.NET uygulamaları geliştirmek mümkün olabildi. Bir süre önce CodeGear yani Embarcadero firması(Delphi ve C++ Builder’ın yeni sahibi firma) RemObjects firmasının Oxygene adlı Object Pascal derleyicisinin haklarını satın alıp Delphi Prism adıyla piyasaya verdi. &lt;/p&gt;&lt;p&gt;Bu makalenin tamamı aşağıda verilen linkte..&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.memikyanik.net/delphi-prism-ile-tanismak-makalesi/113.aspx"&gt;http://www.memikyanik.net/delphi-prism-ile-tanismak-makalesi/113.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4207316719978699261?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4207316719978699261/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4207316719978699261' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4207316719978699261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4207316719978699261'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/delphi-prism-ile-tansmak.html' title='Delphi Prism İle Tanışmak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-6727563144228370384</id><published>2009-10-01T12:43:00.007+02:00</published><updated>2009-10-01T12:49:35.714+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ICryptoTransform'/><category scheme='http://www.blogger.com/atom/ns#' term='DESCryptoServiceProvider'/><category scheme='http://www.blogger.com/atom/ns#' term='Kriptografi'/><title type='text'>DES Algoritması İle Şifreleme Yapmak</title><content type='html'>Kriptografi çok geniş bir konu olmasına rağmen bu makalede işin teorik tarafıyla ilgilenmeden .NET Framework ile gelen DESCryptoServiceProvider sınıfından yararlanılarak nasıl şifreleme yapıldığından söz edilecektir. Bu amaçla projenin formuna RichTextBox ve Button nesnesi yerleştirdik.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_yxH-rYqtVB4/SsSIyongLCI/AAAAAAAAAIE/ja6pqN3RtFQ/s1600-h/sifreleme_des_1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5387581457719897122" style="WIDTH: 352px; CURSOR: hand; HEIGHT: 185px" alt="" src="http://1.bp.blogspot.com/_yxH-rYqtVB4/SsSIyongLCI/AAAAAAAAAIE/ja6pqN3RtFQ/s400/sifreleme_des_1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kullanıcı şifrelemek istediği metni RichTextBox’a yazıp “Şifrele” başlıklı düğmeyi tıklayacak. Şifrelenmek istenen bilgileri byte dizisine aktarmak gerektiği için string bilgileri byte dizisine aktaran bir metot hazırladık. Bu metot string tipte bir parametreye sahip olup geriye byte dizisi göndermektedir.&lt;br /&gt;&lt;br /&gt;static byte[] byte_yap(string str)&lt;br /&gt;{&lt;br /&gt;byte[] dizi_byte = Encoding.UTF8.GetBytes(str);&lt;br /&gt;return dizi_byte;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Bu metodu hazırladıktan sonra formdaki RichTextBox’ın içeriğini, şifreleme anahtarını ve başlangıç vektörünü byte dizisine aktarmak üzere formdaki düğmenin Click olayını temsil eden metodu aşağıdaki gibi düzenledik. Şifreleme yapılırken anahtara ve başlangıç verktörüne gerek duyulduğu için 8 karakterlik bu 2 bilgiyi ayrı byte dizilerine aktardık. Kod uzamasın ve işlem kolay izlensin diye anahtar ve başlangıç vektörünü direk kodun içine yazdık.&lt;br /&gt;&lt;br /&gt;private void sifrele_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;byte[] dizi = byte_yap(richTextBox1.Text.Trim ());&lt;br /&gt;byte[] baslangic_vektor = byte_yap("12345678");&lt;br /&gt;byte[] anahtar = byte_yap("87654321");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Bu 2 bilgiden anahtara deşifre işlemi yapılırken gerek duyulur. Başlangıç vektörü gizlenmeyebilir ama tahmin edilemez olmalıdır. Aynı anahtar ve başlangıç vektörünü 2 kere kullanmamak gerekir. Başka bir deyişle hem anahtarların hem de başlangıç vektörlerinin rastlantısal olarak seçilmeleri önerilmektedir.&lt;br /&gt;&lt;br /&gt;.NET Framework ile birlikte şifreleme yapılırken kullanılan çok sayıda sınıf gelmektedir. Bu makalde DESCryptoServiceProvider sınıfını tercih ettik. DESCryptoServiceProvider sınıfıyla yapılan şifreleme işlemine kısaca DES(Data Encryption Standard) adı verilmektedir. DES’te veriler 64 bitlik bloklar yani 8’e karakterlik bloklar halinde şifrelenir.&lt;br /&gt;&lt;br /&gt;Şifrelenmiş metni diskte bir dosyaya yazmak istediğimiz için ayrıca bir FileStream nesnesine gerek vardır. DESCryptoServiceProvider ve FileStream nesnesini nasıl hazırladığımızı aşağıda görebilirsiniz. Şifreleme yaparken yararlanmak istediğimiz sınıflar System.Security.Cryptography ve System.IO’da oldukları için using deyimiyle bu namespace’lerdeki sınıflardan yararlanmak istediğimizi kod dosyasının başında belirttik.&lt;br /&gt;&lt;br /&gt;private void sifrele_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;byte[] dizi = byte_yap(richTextBox1.Text.Trim ());&lt;br /&gt;byte[] baslangic_vektor = byte_yap("12345678");&lt;br /&gt;byte[] anahtar = byte_yap("87654321");&lt;br /&gt;FileStream dosya_akis =new FileStream("c:\\sifreli.txt", FileMode.Create, FileAccess.Write);&lt;br /&gt;DESCryptoServiceProvider nesne = new DESCryptoServiceProvider();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Şifreleme işlemi asıl ICryptoTransform ve CryptoStream nesnesi tarafından yapıldığı için bu koda ekleme yapıp ICryptoTransform nesnesi hazırladık. ICryptoTransform nesnesi DESCryptoServiceProvider sınıfının CreateEncryptor() metoduyla hazırlanmaktadır. Bu metot şifreleme anahtarını ve başlangıç vektörünü parametre olarak almaktadır. Devamında CryptoStream nesnesi hazırlayıp byte dizisine aktarmış olduğumuz bilgileri şifreleyip dosyaya yazdık.&lt;br /&gt;&lt;br /&gt;private void sifrele_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;byte[] dizi = byte_yap(richTextBox1.Text.Trim ());&lt;br /&gt;byte[] baslangic_vektor = byte_yap("12345678");&lt;br /&gt;byte[] anahtar = byte_yap("87654321");&lt;br /&gt;FileStream dosya_akis = new FileStream("c:\\sifreli.txt",&lt;br /&gt;FileMode.Create, FileAccess.Write);&lt;br /&gt;DESCryptoServiceProvider nesne = new DESCryptoServiceProvider();&lt;br /&gt;ICryptoTransform kripto_arayuz = nesne.CreateEncryptor(anahtar, baslangic_vektor);&lt;br /&gt;CryptoStream kripto_akis = new CryptoStream(dosya_akis,&lt;br /&gt;kripto_arayuz, CryptoStreamMode.Write);&lt;br /&gt;kripto_akis.Write(dizi, 0, dizi.Length);&lt;br /&gt;kripto_akis.Close();&lt;br /&gt;dosya_akis.Close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Bu kodu hazırladıktan sonra projeyi çalıştırıp formdaki RichTextBox’a bilgi aktarıp “Şifrele” başklıklı düğmeyi tıklayıp şifreleme işlemini tamamladık. Şifreleme işlemi sonucu hazırlanan dosyanın içeriği aşağıda verildi.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_yxH-rYqtVB4/SsSItHOWfOI/AAAAAAAAAH8/5gQ_D8YpZH0/s1600-h/sifreleme_des_2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5387581362856688866" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 170px" alt="" src="http://1.bp.blogspot.com/_yxH-rYqtVB4/SsSItHOWfOI/AAAAAAAAAH8/5gQ_D8YpZH0/s400/sifreleme_des_2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bu şekilde şifreleme yaptıktan sonra şimdi deşifreleme yapacağız. Tahmin edeceğiniz gibi şifreli dosyayı gönderdiğiniz kişiye bir şekilde şifreleme anahtarını da göndermeniz gerekir. Bu örnekte anahtarı ve başlangıç verktörünü direk kodun içine yazdık.&lt;br /&gt;&lt;br /&gt;Deşifreleme yapmak üzere forma 2. bir düğme ve RichTextBox nesnesi yerleştirip 2. düğme için benzer kodu yazdık. Bu kodda yukarıdakinden farklı olarak CryptoStream nesnesinin CryptoStreamMode özelliğini Read olarak ayarladık ve FileStream’den başka ayrıca StreamReader nesnesinden yararlandık.&lt;br /&gt;&lt;br /&gt;private void desifre_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;byte[] baslangic_vektor = byte_yap("12345678");&lt;br /&gt;byte[] anahtar = byte_yap("87654321");&lt;br /&gt;DESCryptoServiceProvider des_nesne = new DESCryptoServiceProvider();&lt;br /&gt;ICryptoTransform arayuz =&lt;br /&gt;des_nesne.CreateDecryptor(anahtar, baslangic_vektor);&lt;br /&gt;FileStream dosya_akis = new FileStream("c:\\sifreli.txt",&lt;br /&gt;FileMode.Open, FileAccess.Read);&lt;br /&gt;CryptoStream kripto_stream = new CryptoStream(dosya_akis,&lt;br /&gt;arayuz, CryptoStreamMode.Read);&lt;br /&gt;StreamReader okuyucu = new StreamReader(kripto_stream);&lt;br /&gt;string str = okuyucu.ReadToEnd();&lt;br /&gt;richTextBox2.Text = str;&lt;br /&gt;okuyucu.Close();&lt;br /&gt;dosya_akis.Close();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Ayrıca bu kodda ICryptoTransform nesnesini hazırlarken DESCryptoServiceProvider sınıfının CreateEncryptor() metodu yerine CreateDecryptor() metodunu kullandık. Aşağıda verilen ekran görüntüsü RichTextBox’a şifrelemek istenen bilgiler yazılıp önce Şifrele, sonra Deşifre başlıklı düğme tıklandıktan sonra alındı.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_yxH-rYqtVB4/SsSIoZtHXOI/AAAAAAAAAH0/zIioBN32CFc/s1600-h/sifreleme_des_3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5387581281918213346" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 282px" alt="" src="http://3.bp.blogspot.com/_yxH-rYqtVB4/SsSIoZtHXOI/AAAAAAAAAH0/zIioBN32CFc/s400/sifreleme_des_3.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-6727563144228370384?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/6727563144228370384/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=6727563144228370384' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6727563144228370384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6727563144228370384'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/10/des-algoritmas-ile-sifreleme-yapmak.html' title='DES Algoritması İle Şifreleme Yapmak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yxH-rYqtVB4/SsSIyongLCI/AAAAAAAAAIE/ja6pqN3RtFQ/s72-c/sifreleme_des_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-1669591015428582577</id><published>2009-09-16T09:49:00.001+02:00</published><updated>2009-09-16T10:12:02.153+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Mamik Yanık'/><title type='text'>Programcılık Kitapları Üzerine Notlar -2</title><content type='html'>&lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h5&gt;&lt;font face="Verdana"&gt;Yaklaşık 1 yıl önce yayınlanan C# 3.0 kitabımın yazı alanı 21x13’tür. Yakın bir zamanda elime geçen başka bir kitabın yazı alanı ise 19x12.5 cm’dir. Kendi yazdığım kitapla sözünü ettiğim kitapta kullanılan punto değeri birbirine çok yakındır. Adını burada anmadığım .NET uyumlu programcılık hakkında ileri düzey bilgi vermek amacıyla hazırlanan bu kitapta 6 sayfa boyunca interface’ler hakkında genel bilgi verilmiş. Bu 6 sayfada kullanılan kodların hem C# hem de Visual Basic sürümleri verilmiştir. Yani anlayacağınız kitapta verilen örneklerin yalnızca C# veya yalnızca Visual Basic kodu olsaydı bu 6 sayfa 4’e inerdi. &lt;/font&gt;&lt;/h5&gt;  &lt;h5&gt;&lt;font face="Verdana"&gt;Bu kitapta 4 sayfa boyunca interface’ler hakkında genel bilgi verildikten sonra .NET Framework ile gelen bazı Interface’ler 18 sayfa boyunca anlatılmış. .NET Framework ile gelen bu interface’ler anlatılırken yine hem C# kodu hem de Visual Basic kodu verildiği için 18 sayfayı yaklaşık olarak 12 sayfa olarak görmek gerekir. Yani bu ileri düzey kitapta Interface’ler hakkında toplam 16 sayfa bilgi bulunmaktadır. &lt;/font&gt;&lt;/h5&gt;  &lt;h5&gt;&lt;font face="Verdana"&gt;Memik Yanık’ın C# 3.0 kitabında ise 8 sayfa boyunca Interface’ler hakkında genel bilgi verildikten sonra 4 sayfa boyunca .NET Framework ile gelen ICloneable interface’i anlatılmaktadır. Hayır hayır Memik Yanık’ın kitabında Interface’ler hakkında daha fazla bilgi bulunmaktadır. Çünkü Memik Yanık kitabında IEnumerable, IEnumerator, IDictionary, IComparable ve IComparer vs. arayüzleri hakkında bilgiyi ilgili oldukları bölümlerde vermektedir. İşte yorumum: Memik Yanık’ın C# 3.0 kitabında interface’ler hakkında ileri düzey olarak düzenlenen kitaplardan daha fazla bilgi bulunmaktadır. Bu bilgiyi neden mi verdim? Memik Yanık’ın C# 3.0 kitabının ileri düzey diye anılan kitaplardan interface bağlamanında geri olmadığını işaret etmek için.&lt;/font&gt;&lt;/h5&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-1669591015428582577?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/1669591015428582577/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=1669591015428582577' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1669591015428582577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1669591015428582577'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/09/programclk-kitaplar-uzerine-notlar-2.html' title='Programcılık Kitapları Üzerine Notlar -2'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2426632073647464658</id><published>2009-09-15T15:46:00.001+02:00</published><updated>2009-09-16T09:59:22.536+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aydın KÖKSAL'/><category scheme='http://www.blogger.com/atom/ns#' term='Bilişim A.Ş.'/><title type='text'>Hocaların Hocası Aydın Köksal Hocaya Sorularım Var - 3</title><content type='html'>Hocam malumunuz olduğu üzere Türkiye’de geliştirilen ticari programların hemen hepsinin Excel desteği bulunmaktadır. Üstelik bu destek yeni değildir, 1994 yılında Excel’in Türkçeleştririlmesiyle birlikte Excel kullanımı yaygınlaştı ve yerli firmalar programlarına Excel desteğini eklediler. Hocam bu tespite rağmen şöyle bir cümleyi nasıl yorumlarsınız:  &lt;br /&gt;  &lt;br /&gt;&lt;strong&gt;“İki programda(veya makalede, veya kitapta, veya doktora tezinde) da Excel uygulamasının seçilmiş olması(başka programların çağrılırken aynı programın seçilmiş olması) suçtur.”   &lt;br /&gt;&lt;/strong&gt;  &lt;br /&gt;Ötesi hocam sahibi olduğunuz Bilişim A.Ş.’nin uzman ve tecrübeli programcılarına göre bir programa Excel desteğini vermek suç mudur değil midir? Hocam bu soruma cevap verirseniz çok sevinirim. Yani hocam hemen her bilgisayara kurulu olan Excel'den yararlanmayı akıl etmek, makale yazarken Excel'den söz etmek suç mudur, fikir hırsızlığı mıdır?     &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2426632073647464658?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2426632073647464658/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2426632073647464658' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2426632073647464658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2426632073647464658'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/09/hocalarn-hocas-aydn-koksal-hocaya_15.html' title='Hocaların Hocası Aydın Köksal Hocaya Sorularım Var - 3'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2762676868063639133</id><published>2009-09-15T15:32:00.001+02:00</published><updated>2009-09-15T15:35:14.765+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0'/><title type='text'>Programcılık Kitapları Üzerine Küçük Notlar -1</title><content type='html'>Programcılık kitaplarının yazarları istedikleri konulara ağırlık verip istemedikleri konulara kayıtsız kalıp kitaplarında o konuya yer vermemeleri en doğal haklarıdır. Örneğin C# 3.0 kitabımda Windows Servislerine yer vermedim. Çünkü 1500 sayfalık kitaplar yazıp Türkiye’de yayınlamanın pratik şartları olmadığı için önceliği başka konulara verdim. Örneğin .NET programcılığı konusunda ileri düzey bilgi vermek amacıyla kaleme alınmış bir kitapta Windows Servisleri hakkında 8 sayfalık bilgi bulunurken Windows Mesajlarından söz edilmemiştir. Hal bu ki C# 3.0 kitabımda Windows mesajları hakkında bilgi içeren sayfaların sayısı tam 22’dir. Başka bir anlatımla yazarın birisi tercihini Windows servislerinden yana yaparken kendim Windows mesajlarını anlatmayı tercih ettim. Yani programcılık kitaplarını değerlendirirken yazarın neyi ne kadar anlattığının yanında nasıl anlattığıyla ilgilenmek gerekir derim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2762676868063639133?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2762676868063639133/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2762676868063639133' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2762676868063639133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2762676868063639133'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/09/programclk-kitaplar-uzerine-kucuk.html' title='Programcılık Kitapları Üzerine Küçük Notlar -1'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-6514459352423770516</id><published>2009-09-12T15:22:00.002+02:00</published><updated>2009-09-16T10:04:31.159+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aydın KÖKSAL'/><title type='text'>Hocaların Hocası Aydın Köksal Hocaya Sorularım Var -2</title><content type='html'>Konu bilgisayar olunca hocaların hocası Aydın KÖKSAL hocama bir soru yöneltmiştim. Bugüne kadar Aydın hoca tepkide bulunmadı. Şimdi Aydın Hocanın engin hoşgörüsüne sığınıp bir soru daha yönelteceğim. Bu amaçla aşağıda 5 değişkenin ismini listeledim.  &lt;br /&gt;  &lt;br /&gt;&lt;strong&gt;uygulama   &lt;br /&gt;sayfa    &lt;br /&gt;kitap    &lt;br /&gt;i    &lt;br /&gt;adet    &lt;br /&gt;&lt;/strong&gt;  &lt;br /&gt;Bu 5 değişkeni sıraladıktan sonra şimdi 2 değişkeni ayrıca listeleyeceğim.  &lt;br /&gt;  &lt;br /&gt;&lt;strong&gt;Excel_uygulamasi   &lt;br /&gt;Tablo&lt;/strong&gt;  &lt;br /&gt;  &lt;br /&gt;İşte sorum: Hocam sizce ayrı ayrı listelenen bu değişkenlerin isimleri benzer midir? Başka bir deyişle C# derleyicisinin nazarında &amp;quot;sayfa&amp;quot; ile &amp;quot;tablo&amp;quot; aynı mıdır? Ayrıca hocam sahibi olduğunuz Bilişim A.Ş, nin uzman programcılarına göre burada 2 ayrı liste halinde verilen değişken adları aynı mıdır? Şimdi bazı arkadaşlar tepki gösterip göz var izan var bu değişkenlerin adlarının aynı olmadığı gün gibi ortada değil mi diye soracaklardır. Valla ben de aynı zaten aynı şeyi soruyorum: C# derleyicisine göre 2 ayrı liste halinde bu değişken adlarının aynı olup olmadığını merak ediyorum. Madem yaşayan en eski bilgisayarcı Aydın Köksal’dır ben de merakımı gidermek için Aydın hocama başvuruyorum. Ne de olsa sahibi olduğu Bilişim A.Ş. programcıları içinde bu soruma cevap verecek uzmanlar kesin vardır.    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-6514459352423770516?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/6514459352423770516/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=6514459352423770516' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6514459352423770516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6514459352423770516'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/09/hocalarn-hocas-aydn-koksal-hocaya.html' title='Hocaların Hocası Aydın Köksal Hocaya Sorularım Var -2'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5736796813894722937</id><published>2009-08-06T14:50:00.002+02:00</published><updated>2009-08-06T14:52:34.298+02:00</updated><title type='text'>C++ 1. Ders - Derleyici Seçmek ve Kurmak</title><content type='html'>Yaklaşık bir yıl kadar önce mevcut C++ Builder kitabımı elden geçirmek üzere çalışmaya başlamıştım. Kitapta bu kez ağırlığı VCL kitaplığına vermeyecektim. Başka bir deyişle C++ kitabının yeni hali standart C++ öğrenmek isteyenlere de cevap verebilecekti. Bu düşünceyle konuyu temelden ele almaya karar vermiştim. Ne yazık ki C++ kitabına yeterince zaman ayıramayınca yazımı yarım kaldı. Yeni C++ Builder kitabım için hazırladığım ilk bölümden yola çıkarak C++ İçin Programcılık Dersleri hazırlamaya karar verdim.&lt;br /&gt;&lt;br /&gt;C++’la ilgili bu ilk birkaç derste fazla ayrıntıya girmeden C++ Builder’dan bağımsız olarak C++ hakkında ön bilgi verilecektir. Daha önce C veya C++ ile az çok kod yazmış olanlara bu makalenin anlatım düzeyi basit gelebilir. Çünkü bu derslerin hedef okur grubu C++ hakkında henüz bilgisi olmayanlardır, henüz yolun başında olanlardır.&lt;br /&gt;&lt;br /&gt;Bu derste C++’ın temel özelliklerini anlatırken Borland ürünü Turbo C++ ve Borland C++ 4.5’i kullandım. Turbo C++ 3.0’ı tercih etmemin nedeni ücretsiz olup embarcadero.com’dan indirilebiliniyor olmasıdır. Borland C++ 4.5 ise Windows uyumlu olduğundan ekran görüntüleri kolay alınabilmektedir. Bu derste hazırladığım küçük örnekleri kodlayıp test ederken Turbo C++ veya Borland C++ 4.5 yerine Microsoft ürünü Visual C++’ı kullanabilirdim. Hata bu derste verilen örnekleri .NET Framework uyumlu Visual Studio ile hazırlayıp çalıştırmak mümkündür.&lt;br /&gt;&lt;br /&gt;C++ Builder’dan bağımsız veya C++ Builder ile gelen VCL sınıf kitaplığını kullanmadan C++ uygulamaları geliştirmek istiyorsanız CodeGear’ın sitesinden indirebilinen Borland C++ Compiler 5.5 adlı komut satırı derleyicisini kullanabilirsiniz. Bu derleyici zaten C++ Builder 2007 ile birlikte gelmektedir. C++ Builder 2007’yi edinmemiş olanlar bu derleyiciyi kullanabilirler.&lt;br /&gt;&lt;br /&gt;Herhangi bir editöre sahip olmayan bu derleyici ile C ve C++ programlarını DOS penceresinde derleyebilirsiniz. Yaklaşık 9 MB olan bu derleyiciyi indirip kurmak istediğinizde ekrana aşağıda verilen diyalog kutusu getirilerek derleyicinin kurulacağı klasörü seçmeniz istenir.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_yxH-rYqtVB4/SnrR02aIN5I/AAAAAAAAAHc/-PgDOsxMfS8/s1600-h/c++_ders_1_resim_1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5366832611853875090" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 304px" alt="" src="http://4.bp.blogspot.com/_yxH-rYqtVB4/SnrR02aIN5I/AAAAAAAAAHc/-PgDOsxMfS8/s400/c%2B%2B_ders_1_resim_1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Varsayılan klasöre bağlı kalıp Son düğmesini tıklayınca derleyici kısa sürede kuruldu. Kurma işlemini tamamladıktan sonra Not Defteri gibi bir editörle BCC32.CGD adında bir dosya hazırlayıp bu dosyayı BCC55 programın kurulduğu klasörün altındaki \BIN klasörüne yerleştirmek gerekiyor. &lt;a href="http://www.memikyanik.net/c-1-ders-derleyici-secmek-ve-kurmak-makalesi/99.aspx"&gt;Devamı burada...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5736796813894722937?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5736796813894722937/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5736796813894722937' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5736796813894722937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5736796813894722937'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/08/c-1-ders-derleyici-secmek-ve-kurmak.html' title='C++ 1. Ders - Derleyici Seçmek ve Kurmak'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yxH-rYqtVB4/SnrR02aIN5I/AAAAAAAAAHc/-PgDOsxMfS8/s72-c/c%2B%2B_ders_1_resim_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5451409233660620557</id><published>2009-08-06T09:31:00.003+02:00</published><updated>2009-09-12T15:30:45.533+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bilişim Sözlüğü'/><category scheme='http://www.blogger.com/atom/ns#' term='Aydın KÖKSAL'/><title type='text'>Hocaların Hocası Aydın Köksal Hocaya Sorularım Var</title><content type='html'>Sanırım 1982 yılının başıydı, Ankara'ya gitmiştim. Henüz bilişim konularıya fazla ilgim olmamasına rağmen Aydın Köksal hocanın hazırlayıp Türk Dil Kurumunun 1981'de yayınladığı Bilişim Terimleri Sözlüğünü görür görmez almıştım. O günlerde 128 sayaflık bu kitaba 120 Lira ödemiştim. Aradan tam 27 yıl geçmesine rağmen Aydın Hocanın kitabı kitaplığımda sapa sağlam duruyor.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_yxH-rYqtVB4/SnqG4LwUG3I/AAAAAAAAAHM/eHvclE4Rh_I/s1600-h/bilisim_terimleri_sozlugu.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5366750205751597938" style="WIDTH: 342px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://1.bp.blogspot.com/_yxH-rYqtVB4/SnqG4LwUG3I/AAAAAAAAAHM/eHvclE4Rh_I/s400/bilisim_terimleri_sozlugu.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Madem Aydın Köksal hocamız konu bilişim olunca Hocaların Hocasıdır, madem neredeyse 20 yıldır bir nevi hocalık yapıp bilgisayar üzerine yazıyorum, Aydın hocanın yüksek hoşgörüsüne sığınıp kendisine tereddüte düştüğüm bazı konularda soralar yönelteceğim. İşte &lt;a href="http://www.memikyanik.com/sorular/aydin_koksala_sorular_1.htm"&gt;ilk sorum..&lt;/a&gt; Bilişim konulu sorularımı bir düzine yazıyla ifade etmeyi düşünmekteyim. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5451409233660620557?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5451409233660620557/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5451409233660620557' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5451409233660620557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5451409233660620557'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/08/hocalarn-hocas-aydn-koksal-hocaya.html' title='Hocaların Hocası Aydın Köksal Hocaya Sorularım Var'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yxH-rYqtVB4/SnqG4LwUG3I/AAAAAAAAAHM/eHvclE4Rh_I/s72-c/bilisim_terimleri_sozlugu.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5069352266099938550</id><published>2009-07-07T09:02:00.001+02:00</published><updated>2009-07-07T09:04:19.614+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C#'a Başlangıç Kitabının Genişletilmiş 2. Edisyonu Hazır</title><content type='html'>Bildiğiniz gibi C# ve programcılığa henüz başlayanlar için şimdiye kadar toplam 7 makale hazırlayıp kişisel sitemde yayınladım. Sonra bu makaleleri bir PFD'de bir araya getirdim. Aradan geçen 6 aylık sürede gelen talepler doğrultusunda PDF'yi elden geçip eklemeler yaptım. Bu PDF'nni yeni halini &lt;a href="http://www.memikyanik.com/download/csharp_e_book.rar"&gt;buradan &lt;/a&gt;indirebilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5069352266099938550?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5069352266099938550/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5069352266099938550' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5069352266099938550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5069352266099938550'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/07/ca-baslangc-kitabnn-genisletilmis-2.html' title='C#&apos;a Başlangıç Kitabının Genişletilmiş 2. Edisyonu Hazır'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5988578693377248219</id><published>2009-07-06T19:40:00.001+02:00</published><updated>2009-07-06T19:42:01.426+02:00</updated><title type='text'>Hangi C# Kitabı Türkiye’nin 1. Numarasıdır?</title><content type='html'>Elinizdeki C# kitabının yazarı; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;DataRow sınıfından dizi değişken diye söz ediyorsa,&lt;/li&gt;&lt;li&gt;Timer sınıfının Tick olayından yordam diye söz ediyorsa,&lt;/li&gt;&lt;li&gt;ArrayList koleksiyon sınıfından dizi değişken diye söz ediyorsa,&lt;/li&gt;&lt;li&gt;Boxing işlemini “Büyük nesneye ait özellikleri küçük nesne ismiyle…” şeklinde anlatıyorsa,&lt;br /&gt;Sınıfların Constructor metotlarını Form sınıfının Load olayına benzetiyorsa,&lt;/li&gt;&lt;li&gt;Sanki .NET’te Garbage  Collector mekanizması yokmuş gibi davranıp atıl duruma düşmüş nesnelerin mutlaka bellekten atılması gerektiğini söylüyorsa,&lt;/li&gt;&lt;li&gt;Programcılık dünyasına Nesnel diye bir kavram hediye ediyorsa,&lt;/li&gt;&lt;li&gt;New anahtar kelimesinden yararlanılarak hazırlanan nesnelere Yavru değişken diyorsa,&lt;/li&gt;&lt;li&gt;C#’ta olmayan Procedure’lerin fonksiyonlardan daha gelişmiş bir yapıya sahip olduğu buluşuna imza atıyorsa, &lt;/li&gt;&lt;li&gt;Out anahtar kelimesine Microsoft’un programcılarının aklına gelmeyen yeni bir işlev kazandırıyorsa,&lt;/li&gt;&lt;li&gt;Görsel dil diye yeni bir kavram geliştirdiyse,&lt;/li&gt;&lt;li&gt;Windows Forms Uygulamalarındaki kullanılan metotların Properties olarak ifade edildiğinden sizi haberdar ediyorsa,&lt;/li&gt;&lt;li&gt;Enum’lardan nesnelerin matematiksel olarak ifade edilmesi diye söz ediyorsa,&lt;br /&gt;Metotlara ek olarak Class’ların da aşırı yüklenebildiğinden sizi haberdar ediyorsa,&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;o kitap en iyi C# kitabıdır ve bencillik yapıp yalnızca kendiniz yararlannmayın. Yakın arkadaşlarınıza birer tane hediye edin ki ülkemizin bilişim alanında gelişmesi için üzerinize düşüne yapmış olasınız. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5988578693377248219?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5988578693377248219/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5988578693377248219' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5988578693377248219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5988578693377248219'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/07/hangi-c-kitab-turkiyenin-1-numarasdr.html' title='Hangi C# Kitabı Türkiye’nin 1. Numarasıdır?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3193062624052183276</id><published>2009-07-06T19:35:00.002+02:00</published><updated>2009-07-06T19:39:42.969+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 9.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0'/><title type='text'>Yeni Programcılık Dersleri Yayınlandı...</title><content type='html'>Bildiğiniz gibi şimdiye kadar C#, Visual Basic ve Delphi programlama dilleri hakkında henüz yolun başında olan programcı adayları için ders şeklinde düzenlediğim makaleler yazıp kişisel sitemde yayınlamaktayım. Bugün itibarıyla C#'la ilgili derslerin sayısı 7'ye ve Visual Basic derslerinin sayısı 6'ya çıktı.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/visual-basic-6-ders-windows-forms-uygulamalari-makalesi/86.aspx"&gt;http://www.memikyanik.net/visual-basic-6-ders-windows-forms-uygulamalari-makalesi/86.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.memikyanik.net/csharp-7-ders-temel-veritabani-islemleri-makalesi/87.aspx"&gt;http://www.memikyanik.net/csharp-7-ders-temel-veritabani-islemleri-makalesi/87.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3193062624052183276?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3193062624052183276/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3193062624052183276' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3193062624052183276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3193062624052183276'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/07/yeni-programclk-dersleri-yaynland.html' title='Yeni Programcılık Dersleri Yayınlandı...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7339967728782923528</id><published>2009-07-04T06:50:00.000+02:00</published><updated>2009-07-04T06:53:54.009+02:00</updated><title type='text'>Programcıların Hayırsever Hocasının Son Fetvasına İtirazımdır(*)</title><content type='html'>Hocam programcılar için elinizden geldiğince hayır işlemeyi adet eylediğinize bütün programcı camiası şahittir. Binlerce programcıya uzaktan algılama teknikleri ile Ankara’nın tepelerinden yaptığınız yardımlar herkesin malumudur. Ama hocam son fetvanızla elimizi kolumuzu bağladınız. Muhterem hocam bir kısmını aşağıda arz ettiğim dertlerimizle ilgilenirseniz bütün programcılar size minnettar kalacaklardır.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dert 1:&lt;/strong&gt; Hocam bu elin gavurları önce Windows diye bir işletim sistemi çıkardılar. Sonra da insanları sürükle bırak tekniği ile bir şeyleri bir yerlerden başka bir yere sürükleyerek taşımaya alıştırdılar. Yani bu gavurlar insanımızı tembel yaptılar. Eskiden yani Windows yokken DOS veya Unix yüklü bilgisayarlarda ne güzel Copy gibi komutlarla dosya kopyalıyorduk, CD komutuyla klasörlerin yani dizinlerin arasında keyfimizce dolaşıyorduk. Hocam tembelliğe meyilli milletimiz muhasebe gibi programlarda bile her şeyi sürükleyip bırakarak yapmaya başladı. Sizden feyz almış programcılar bu mecburiyetten dolayı sürükle bırak tekniğini her yerde kullanmaya başladılar. Hocam son fetvanızda gavurların drag-drop adını verdikleri sürükle-bırak tekniğini kullanmaktan biz programcıları men etmişsiniz. Hocam ne yapacağımızı şaşırdık. Gavurlar bu işi o kadar kolaylaştırmışlar ki sürükle bırak işlemi için 3 satır kod yazmak kolayımıza geldiği için birçok yerde kullanıyoruz. Hocam son fetvanızda sürükle bırak tekniğinden yararlanma hakkını sadece bir programcıya vermişsiniz. Hocam elinizi ayağınızı öperiz ne olur sürükle bırak tekniği olmasa bile bari yalnızca sürükleme işlemini serbest bıraksanız olmaz mı?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dert 2:&lt;/strong&gt; Son fetvanızda Selection Sort algoritması ile sıralama yapılırken kullanılan i ve j gibi değişkenleri kullanmanın caiz olmadığını, suç teşkil ettiğini beyan etmişsiniz. Ama hocam Microsoft ürünü Visual Studio’da kod penceresinde iken for yazıp tab tuşuna basıldığında otomatik olarak hazırlanan for kalıbında döngü değişkenin “i” olduğu varsayılmaktadır. Muhterem hocam bu durumda her seferinde i yerine başka bir harfi kullanmak zaman israfı olmaz mı? Hocam bu konuda lütfen bize bir güzellik yapın. En azından Microsoft’taki dostlarınız vasıtası ile for döngüsündeki i yerine başka bir değişkenin yazılmasını sağlayabilirsiniz. Hiç olmazsa geçerli kullanıcının adı döngü değişkeni adı yapılabilir. Hocam Microsoft’a bir mail göndermeniz yeterli olur. Onlar için yama çıkarmak çocuk oyuncağı gibi bir şeydir.&lt;br /&gt;&lt;br /&gt;Hocam ta FORTRAN IV günlerinden bildiğiniz Selection Sort algoritması ile sıralama yapılırken iç içe 2 for döngüsü kullanılmaktadır. Haydi ilk döngünün kontrol değişkenine “i” dedik ama ikinciye j, üçüncüye k adını verme alışkanlığını insanlara aşılayan sizler değil misiniz? Yoksa bu değişkenleri kullanmak öğrenciler için serbest mi? Hocam hiç olmazsa askerliğini henüz yapmayanlara, 2’den fazla çocuğu olanlara i ve j değişkenlerini kullanmayı serbest bıraksanız.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dert 3:&lt;/strong&gt; Hocam Microsoft’un başımıza bela ettiği .NET Framework ile gelip ADO.NET adı altında gruplanan OleDbDataadapter ve SqlDataAdapter sınıflarının Fill() adında bir metodu vardır. Bu metot, söz konusu xxxDataAdapter nesnesinin SelectCommand özelliğine adı aktarılan Command nesnesinin SQL kodunu işletip çektiği verileri kendisine parametre olarak verilen Dataset veya Datatable nesnesine aktarmaktadır. Hocam fetvanıza göre Fill() metodunu kullanmak caiz olmadığı için kara kara düşünmeye başladık. Kendim xxxDataAdapter benzeri bir sınıf hazırlamak istedim ama Microsoft’un programcılarının hazırlayıp .NET Framework ile birlikte ücretsiz verdikleri sınıf kadar sağlam olmadı. Bu durumda ne yapmamı önerirsiniz? Bir taraftan fetvanıza uymak istiyorum bir taraftan da veritabanlarından Dataset’lere zahmetsiz veri çekmek istiyorum. Hocam lütfen bu derdimize bir çare.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dert 4:&lt;/strong&gt; Hocam biliyorsunuz Visual Studio ve Delphi gibi programcıları tembelliğe alıştıran IDE’ler programcıların sık kullandıkları düğmeler, Metin Kutuları ve Liste Kutuları için metot hazırlamayı kolaylaştırmaktadır. Her ne kadar sizler derslerinizde IDE kullanmayın kodunuzu kendiniz yazın diye bizlere akıl vermiş olsanız bile bazılarımız gösterdiğiniz doğru yoldan sapıp Toolbox denilen araçtan yararlanıp Button’ları, Textbox’ları bana mısın demeden formlara, sayfalara yerleştirdik. Keşke program yazmak eskiden Cobol ile Pascal ile kod yazdığımız günlerdeki gibi olsa. Neyse hocam başınızı daha fazla ağrıtmayayım son fetvanızda Microsoft ürünü Visual Studio kullananları kınamışsınız ve demişsiniz ki tembellik edip forma Button nesnesi yerleştiriyorsunuz sonra da bu nesnelere ad seçerken bile tembellik yapıp basit isimler veriyorsunuz. Hocam Button, ListBox gibi nesnelere ad seçmeyi şairane bir faaliyet olarak görme temenninizi bütün programcılar takdir ediyor. Macar notasyonu gibi gavur icadı yerine Hayırsever Hocanın kodlama prensiplerini kendimize rehber etmeliyiz. Ama hocam ne olur fetvanızdaki bu emri hemen uygulamaya koymasanız. Bilakis Button nesnelerine Button1, Button2; TextBox’lara TextBox1, TextBox2 gibi adlar vermeye alışmış biz programcıların nesnelere hemen şairane isimler bulmaları kolay değildir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dert 5:&lt;/strong&gt; Hocam malumunuz olduğu üzere SQL Server gibi veritabanlarında SQL kodlarını Stored Procedure olarak saklamak adeti bulunmaktadır. Tabii bu Stored Procedure’lerin çoğu veritabanından veri çekmek amacıyla kullanılıyor olsa bile bazı kendini bilmez programcılar veritabanındaki tablolara kayıt girerken kullandıkları SQL kodu içinde INSERT INTO deyimine yer verip sonra da bu SQL kodunu Stored Procedure olarak veritabanına kaydediyorlar. Hocam fetvanıza göre Stored Procedure’ler sayesinde tablolara kayıt girmeyi yasakladığınız için ne yapacağımızı şaşırdık. Hocam hiç olmazsa bu fetvaya geçici madde koysanız.. Hani sürücüler trafik suçu işlediklerinde ceza puanı alırlar ve puanları 100 olduğunda ehliyetlerine bir süreliğine el konulur ya; fetvanızın Stored Procedure’ler ilgili bendine böyle bir ekleme yapsanız olmaz mı? En azından Stored Procedure kullanıp tablolara kayıt girme illetinden kurtulana kadar arada sırada kullanabilsek daha iyi olmaz mı?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dert 6:&lt;/strong&gt; Hocam bilirsiniz Microsoft ne yapıp edip neredeyse her bilgisayara Word ve Excel programlarının kurulmasına muvaffak oldu. Bu nedenledir ki kullanıcılar bazen verilerini Excel tablosuna aktarmak, bazen de Excel tablosundaki bilgileri uygulama programları içinde kullanmak istiyorlar. Her ne kadar bu işlemi programcılar ODBC sürücüleri ile yıllardır yapabiliyor olsalar bile Microsoft’a ait Microsoft.Office.Interop.Excel adlı namespace’teki Application sınıfı ile yapmak zahmetsizdir. Ne var ki hocam bu Class programcıları tembelliğe gark eylediği tarafınızdan fark edilmiştir. Hocam programcılara hitabeden verdiğiniz son fetvanızda .NET uyumlu programlar dahilinde Microsoft.Office.Interop.Excel’deki Application sınıfının örneğini alıp Excel’i başlatıp çalışma kitabı hazırlamanın memleketin hayrına olmayacağını düşünerek yasaklamışsınız. Hocam hiç olmazsa fetvanızın bu maddesi daha önce yazılmış programları kapsamasın ve 2009 yılının 3.çeyreğinden itibaren geçerli olsun.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dert 7: &lt;/strong&gt;Hocam biz programcılarda dert çok. Başınızı fazla ağrıtmamak işin son bir derdimi arz etmek istiyorum. Hocam malumunuz olduğu üzere Japon mali hesap makinelerinde önce 5 sonra bölü(/) devamında 0 tuşuna basıldığında hesap makinesi Casio olsa bile ekranına Error yazıyor. Yani kısa boylu Japonların yaptığı hesap makinesi tek haneli bile olsa bir sayıyı sıfıra bölemiyor. Hocam elin gavurunun yaptığı hesap makinesi bir yana bilgisayar programlarının güçleri sayıları sıfıra bölmeye yetmiyor ve benden bu kadar deyip çalışmasını sona erdiriyorlar. Bu durumda hocam sizin taktiklerinize sarılıp kullanıcının sayıları sıfıra bölmesinin önüne geçmeye çalışıyoruz. Ama hocam son fetvanızda programcıların sıfıra bölme hatasının önüne geçmek için hata yakalama bloğu hazırlamalarına icazet vermemişsiniz. Hocam bu fetvanız elimizi kolumuzu bağladı. Bir süre önce Microsoft ve Intel firmalarına mailler gönderip bu derdimize çare bulmalarını talep ettim ama henüz bir netice alamadım. Elinizi öpüp ayağınıza kapıldığım hayırsever hocam insafa gelip fetvanızı azıcık gevşetseniz de sayıları sıfıra olmasa bile en azından 00’a bölmemize izin verseniz?&lt;br /&gt;&lt;br /&gt;* Bu metinde geçen herşey hayalidir, gerçek kişi ve kurumlarla bir ilgisi yoktur.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7339967728782923528?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7339967728782923528/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7339967728782923528' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7339967728782923528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7339967728782923528'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/07/programclarn-hayrsever-hocasnn-son.html' title='Programcıların Hayırsever Hocasının Son Fetvasına İtirazımdır(*)'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-1923452886660382339</id><published>2009-06-27T18:34:00.002+02:00</published><updated>2009-06-27T18:36:30.826+02:00</updated><title type='text'>Visual Basic'le İlgili Programcılık Derslerinin 5.'si Yayınlandı</title><content type='html'>Uzun bir aradan sonra Viisual Basic konulu 5. dersi tamamlayıp &lt;a href="http://www.memikyanik.com/dersler/vb/vb_ders_5_.htm"&gt;burada&lt;/a&gt; yayınladım. Kısa bir süre sonra 6. dersi okuma imkanını bulacaksınız. 6. ders yayınlandıktan sonra 200-250 sayfalık kitaplarda verildiği kadar bilgiyi bu derslerde bulmuş olacaksınız.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-1923452886660382339?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/1923452886660382339/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=1923452886660382339' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1923452886660382339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1923452886660382339'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/06/visual-basicle-ilgili-programclk.html' title='Visual Basic&apos;le İlgili Programcılık Derslerinin 5.&apos;si Yayınlandı'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4526884346846585291</id><published>2009-06-14T19:42:00.002+02:00</published><updated>2009-06-26T07:09:55.630+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi 2007'/><title type='text'>Delphi 2007 Kitabıyla İlgili Okur Maili</title><content type='html'>Her gün birçok arkadaştan bazen teknik konularda sorular gelir. Bazen de danışmak kendilerine yol çizmek isteyen arkadaşlardan mail şeklinde sorular gelir. Zamansızlıktan, dalgınlıktan vs.. bazı arkadaşların maillerine cevap veremediğim oluyor. Ancak tek tük öneride bulunan, kitaplardan dolayı teşekkür eden arkadaşlar olmuyor değil. İşte bugün bir okurdan aldığım mailin bir kısmını cümlelerine hiç dokunmadan sizinle paylaşmak istiyorum.&lt;br /&gt;&lt;br /&gt;“Delphi 2007 kitabını elime aldığım zaman bazı konuları atladım, işte biliyorum diye. Ama yanıldığımı da söylemek istiyorum, Eger hocam sizin bir kitabınız tam olarak anlaşılmak isteniyorsa Okuyucu o kitabı baştan başlayacak, eger konu atlarsa çok büyük hata yapar,&lt;br /&gt;&lt;br /&gt;Şimdi classlardayım, classlarda baktım Consol uygulaması var, bende tekrar başa dönüp konsol uygulamasına baktım, ve şimdi sınıfları dahi iyi anlıyorum, 54. sayfadan sonra konular geliyor, sayfa 74 kontrolleri serbest bırakmak silmek yani, hocam işte bu önemli free metodu, bakın sayın hocam akılları 5 karış havada olan adamların kitabında classlara bakın orada işte free metodunu kullanmıyorlar, hem free hemde create metodunu, onun için uygulama hata veriyor.&lt;br /&gt;&lt;br /&gt;işte burası Türkiye bir ünvan sahibi olan çok kişi eline alıyor kalemi yazıyor, tamam yazsında bizim bişey dediğimiz yok, birde bu adamlar ancak boş boş konuşurlar, sanırım delphi kitabı idi, Bu akılları 5 karış havada adamlar demiş: işte bazı öğrencilerimiz koltuklarının altına başka yazarların kitaplarını koyup geliyorlar. Diğer yazarları eleştiriyorlar, sanki kendileri çok iyi biliyorlarya birde milleti eleştriyorlar, benim bu adamlara lafım şu olur: En başta adam gibi kitap yazın, Programlamayı dogru düzgün anlatın sonra gerekirse bazı kişileri eleştrirsiniz, hadi neyse bilememiş yada unutmuş olduklarını varsaydık, Önemli olan bence saygıdır. Adamlar bişeyi anlatırken nerdeyse adamı dövecek gibi anlatıyorlar. Sanki karşlarında 5 yaşında çocuk varya... Sayın Hocam bu kim olursa olsun, Okuyucuya saygısızlık yapamaz.”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4526884346846585291?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4526884346846585291/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4526884346846585291' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4526884346846585291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4526884346846585291'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/06/delphi-2007-kitabyla-okur-maili.html' title='Delphi 2007 Kitabıyla İlgili Okur Maili'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-8934613979229713599</id><published>2009-06-13T22:50:00.002+02:00</published><updated>2009-06-26T07:10:46.388+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eğitim Videoları'/><category scheme='http://www.blogger.com/atom/ns#' term='Görsel Dersler'/><title type='text'>Video Mu Makale Mi?</title><content type='html'>Bazı arkadaşlar programcılıkla ilgili konuyu konuşarak anlatmayı tercih ederken bazıları yazarak anlatmayı tercih ediyorlar. Son yıllarda birçok arkadaş programcılıkla ilgili bilgilerini konuşarak, video çekerek başkalarına aktarmayı tercih ediyor. Yakın bir zamana kadar “video derslerle” pek ilgilenmezdim. Çünkü konu programcılık olduğunda asıl öğrenmenin izleyerek değil okuyarak başarılacağına inanmaktayım. Madem henüz yolun başında birçok arkadaş programcılıkla ilgili ilk bilgilerini video izleyerek ediniyor, video çekip yayınlayan arkadaşlara birkaç öneride bulunacağım.&lt;br /&gt;&lt;br /&gt;Varsayalım ki ASP.NET’in Repeater veya DataList kontrolünü anlatmak istiyorsunuz. Bu durumda hedef kitlenizin SqlDataSource, AccessDataSource, SqlConnection, SqlDataSource, SqlCommand, DataSet gibi sınıflar hakkında bilgi sahibi olduğunu varsaymak zorundasınız. Repeater veya DataList kontrolünü anlatmak istediğiniz kişinin bu sınıflar hakkında bilgisi yoktur diye işe yani anlatmaya bu sınıflardan başlarsanız konu uzar ve bazı izleyicileriniz için zaman kaybına neden olursunuz. Benzer soruna makale ve kitaplarda daha az rastlanıyor. Çünkü makale ve kitapta ilgili sayfa veya paragrafı atlamak kolaydır.&lt;br /&gt;&lt;br /&gt;Bazı arkadaşlar DataSet veya Repeater nesnesinin nasıl kullanıldığını anlatırken kullanacakları veritabanı ve tabloyu aynı yani DataList veya Repeater hakkında bilgi verdikleri video dersinde hazırlıyorlar. Bence bu zaman kaybıdır. Hedef kitlenizin içinde veritabanı ve tablo nasıl hazırlanır bilmeyenlerin olduğunu düşünüyorsanız veritabanı ve tablo hazırlamayı ayrı bir videoda anlatın diye öneride bulunmak isterim.&lt;br /&gt;&lt;br /&gt;Mutlaka deneme çekim yapın. Yani ilk çekim yayınladığınız çekim olmasın. İlk çekimi izleyip hatalarınızı eksiklerinizi not edip ikinci çekimde bu hataları gidermeye çalışın. İkinci çekiminizde de eksiklikler veya beğenmediğiniz noktalar görürseniz 3. bir çekim yapmaktan imtina etmemelisiniz. Elbette çok hakim olduğunuz bir konuda ilk çekimde yeterli kaliteye ulaşmanız ihtimal dışı değildir.&lt;br /&gt;&lt;br /&gt;Video dersinizde kullanacağınız kodları önceden yazıp test etmelisiniz. Videonuzda kullanacağız kodları hazır olarak bulundurarak çekim sırasında Copy-Paste yaparak çekim süresini kısaltabilirsiniz. Çektiğiniz video ne kadar kısa olursa o kadar kolay izlenir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-8934613979229713599?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/8934613979229713599/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=8934613979229713599' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8934613979229713599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8934613979229713599'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/06/video-mu-makale-mi.html' title='Video Mu Makale Mi?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7215019017413216881</id><published>2009-06-12T15:29:00.002+02:00</published><updated>2009-06-26T07:11:31.528+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='Makaleler'/><category scheme='http://www.blogger.com/atom/ns#' term='Bloglar'/><category scheme='http://www.blogger.com/atom/ns#' term='GridView'/><title type='text'>Blog mu Kitap mı?</title><content type='html'>Şu aralar yılan hikâyesine dönen ASP.NET kitabı üzerinde çalışıyorum. Birkaç gün önce Repeater kontrolünün anlatıldığı bölümü yazıyordum. Konu ASP.NET ‘in GridView, DataList, Repeater, ListView gibi kontrolleri olduğunda karşıma bir anlatım sorunu çıkmıştı. Elbette web sayfasına bir GridView yerleştirip birkaç özelliğinden söz edip şu şudur diyecek değildim. Amacım işin özünün yani geri planını ortaya koymak olduğu için neyi nasıl hangi düzeyde anlatacağım sorusuna cevap ararken öncelliği zaman zaman ziyaret ettiğim blog sitelerine verdim.&lt;br /&gt;Bırakın programcılık sitelerini Bloglarda bile GridView, DataList ve Repeater kontrolü hakkında hemen her türlü bilgiyi bulmanın mümkün olduğunu tespit ettim. Örneğin blogun birisinde Repeater kontrolünün şablonlarından söz edilirken bir başkasında nasıl sayfalama yapılacağı anlatılmış. Bu durumda günlerce blogları gezip değişik arkadaşlar tarafından kaleme alınmış metinleri bir araya getirmek gerekiyor.&lt;br /&gt;&lt;br /&gt;Madem bloglarda Repeater kontrolü hakkında verilen bilgiler parça parçadır bir de kitaplara bakmak gerekiyordu. Değişken adı çalmakla suçlandığımdan bu yana mümkün mertebe yerli yazarların kitaplarından uzak durmaya çalışsam bile baktım kitaplığımda ASP.NET konulu 4 kitap var. İşte karşılaştığım gerçek: Bendeki kitaplarda bloglarda bulabileceğiniz bilgilerin yarısını bile bulmak mümkün değildi. Tabii ki bazı arkadaşlar itiraz edip Repeater kontrolü fazla kullanılan bir kontrol olmadığı için kitaplarda fazla verilmemiş olabilir diyeceklerdir. Bu arkadaşlara cevabım şudur: Keşke haklı olsanız; çünkü aynı yorumu DataList kontrolü için de yapmak mümkündür. İşte size birkaç blog..Bu durumda her kim programcılık kitabı yazmak isterse rakip olarak mevcut kitapları değil blogcuları almalıdır derim.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ademaktepe.blogspot.com/"&gt;http://ademaktepe.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://erdem.tuzen.net/Default.aspx"&gt;http://erdem.tuzen.net/Default.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.uzmanyazilimci.com/Default.aspx"&gt;http://www.uzmanyazilimci.com/Default.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nazimdemir.com/"&gt;http://www.nazimdemir.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.emreeren.com/"&gt;http://www.emreeren.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ceviktavsan.com/"&gt;http://www.ceviktavsan.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.erkanyuksel.com/"&gt;http://www.erkanyuksel.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.alatas.info/blog/"&gt;http://blog.alatas.info/blog/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.recepselli.com/"&gt;http://www.recepselli.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://aydinunlu.blogspot.com/"&gt;http://aydinunlu.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7215019017413216881?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7215019017413216881/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7215019017413216881' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7215019017413216881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7215019017413216881'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/06/blog-mu-kitap-m.html' title='Blog mu Kitap mı?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4687214979086488649</id><published>2009-06-11T22:39:00.002+02:00</published><updated>2009-06-12T11:12:42.022+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='İlker TABAK'/><title type='text'>Hocalarımdan Öğrendiklerim :1</title><content type='html'>İlk programcılık derslerini 1983 yılında Ziraat Fakültesinde okurken almıştım. Sonra askerlik dönüşü 1990 yılından itibaren programcılıkla yoğun bir şekilde ilgilendiğim günlerde Bahattin Bayburan hocanın kitaplarını beğenerek okudum. Yani anlayacağınız programcılıkta ilk hocam Bahattin beydir. Ne zaman ki kendim programcılık kitapları yazmaya başladım kendi kendimin hocası oldum ve kendi anlatım tarzımı geliştirmeye çalıştım. Anlatım tarzımın ayırt edici özelliği ilk okumada anlaşılmayı hedeflemekti. Hedefi ilk okumada anlaşılmak, dolayısıyla kolay okunmak olarak seçilince bu hedefe uygun metinler yazmaya çalıştım. Bunda biraz başarılı oldum ki yıllardır yazdıklarımın zor anlaşıldığına dair itiraz eden pek olmadı.&lt;br /&gt;&lt;br /&gt;Programcılıkta ilgilenmede çeyrek yüzyılı geride bıraktığım bu yılda kendime yeni hocalar buldum. Bu kadar yıldan sonra madem birileri gözümde hoca oldular ve bana katkı sağladılar burada nazarınızda bu saygıdeğer hocalara teşekkür edip onlardan neleri öğrendiğimi tek tek yazmak gibi bir görevim ve borcum olduğuna inanıyorum. Bana katkı sağlayan ve hocalık yapan ilk saygıdeğer kişi: İlker TABAK. Kendisi Hacettepe’de bilgisayar mühendisliği tahsili yapmıştır ve Türkiye’nin bilişimle ilgili en eski ve etkili derneğin yönetim kurulu üyesi olacak kadar mesleğinde ilerlemiştir. Ayrıca İlker TABAK hocam Türkiye’nin bilişimle ilgili köklü bir firmasında etkili bir görevi vardır.&lt;br /&gt;&lt;br /&gt;.NET uyumlu programlama dilleriyle ilk kez 2002 yılında ilgilenmeye başlamama ve 2 yıllık bir çalışmanın ertesinde 2004 yılında C# konulu bir kitap yazmış olmama rağmen Boxing işleminin ne olduğunu C# kitabım yayınlandıktan tam 5 yıl sonra 2009 yılının ilk çeyreğinde İlker TABAK hocamdan öğrendim. Meğer Boxing işlemini yanlış biliyormuşum ve Boxing işlemini yanlış bilen tek ben değilmişim. Örneğin 2002 ve 2003 yılında yayınlanan C# konulu yerli yabancı kitaplarda ve web sitelerinde yayınlanan yüzlerce makalede Boxing işlemi bize hep yanlış anlatılmış.&lt;br /&gt;&lt;br /&gt;Boxing işlemini yakın bir zamanda kadar yanlış bildiğimi itiraf etmek ve nazarınızda İlker TABAK hocama hürmetlerimi arz etme fırsatı elde etmek için daha önce yayınlanan C# kitabımda bulunan son derece teknik bir işlemle ilgili bir C# kodunu istifadenize sunacağım.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;byte Sayi_yek;&lt;br /&gt;byte Sayi_du;&lt;br /&gt;int Sayi_se;&lt;br /&gt;Sayi_yek = Convert.ToByte(textBox1.Text);&lt;br /&gt;Sayi_du = Convert.ToByte(textBox2.Text);&lt;br /&gt;Sayi_se = (int) Sayi_yek/Sayi_du;&lt;br /&gt;textBox3.Text = Sayi_se.ToString();&lt;br /&gt;}&lt;br /&gt;catch&lt;br /&gt;{&lt;br /&gt;MessageBox.Show("Kardeş hata meydana geldi");&lt;br /&gt;textBox1.Focus();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;2009 yılının başına kadar yani saygıdeğer hocam İlker TABAK beyin Boxing işlemiyle ilgili olarak yazdıklarını okuyana kadar bu koddaki&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Sayi_se = (int) Sayi_yek/Sayi_du; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;satırda Boxing işleminin olmadığını sanıyordum. Meğer yanılıyormuşum. Bu satırda bal gibi Boxing işlemi varmış. Hem de bu Boxing öyle sıradan bir Boxing değilmiş. Buradaki Boxing; Byte Boxing imiş. Tabi daha önce C# üzerine kitap yazmış, uygulamalar geliştirmiş, programcılık dersleri vermiş bazı arkadaşlar burada Boxing işlemi yoktur diye itiraz edebilirler. Hatta bazıları Google’dan “Byte Boxing” hakkında bilgi edinmek isteyebilirler.&lt;br /&gt;&lt;br /&gt;Bu arkadaşlara cevabım şudur: Bu satırda bal gibi Boxing işlemi vardır hem de Byte Boxing vardır. Yoksa sizler İlker TABAK hocamdan daha mı iyi bileceksiniz? İlker TABAK Hoca Boxing nedir bilmiyor olsaydı Bilişim Derneğinin yönetim kurulu üyeliğine kadar yükselir miydi, her şeyi bilen kişi unvanını alabilir miydi, programcılık mesleğini icra ettiği Bilşim A.Ş. firması Türkiye’nin sayılı bir yazılım firması olur muydu, Türkiye'nin yaşayan en eski bilgisayarcının sağ kolu olur muydu? İlker Hocamı tanıyanlar ve diyalog kurabilen arkadaşlar Byte Boxing işlemi konusunda beni aydınlattığı için teşekkürlerimi iletirlerse kendilerine minnettar kalırım. ayrıca İlker TABAK hocam Byte Boxing işlemi hakkındaki bu buluşunu bu yılki Bilişim Kurultayında bildiri olarak sunarsa ülkemizin Bilişim Alanında gelişmesine artı bir katkısı olur.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4687214979086488649?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4687214979086488649/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4687214979086488649' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4687214979086488649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4687214979086488649'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/06/hocalarmdan-ogrendiklerim-1.html' title='Hocalarımdan Öğrendiklerim :1'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-9163155415411669086</id><published>2009-05-29T13:54:00.005+02:00</published><updated>2009-06-26T10:36:24.995+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Controls Koleksiyonu'/><category scheme='http://www.blogger.com/atom/ns#' term='Dispose İşlemi'/><category scheme='http://www.blogger.com/atom/ns#' term='Collect() Metodu'/><category scheme='http://www.blogger.com/atom/ns#' term='IContainer'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Form Sınıfının Dispose() Metodu</title><content type='html'>Visual Studio ile hazırladığınız projeye yeni bir form eklediğinizde forma ait Designer.cs dosyasında aşağıdaki gibi bir Dispose() metodu hazırlanmaktadır. Başka bir deyişle Form sınıfı kaynaklı Dispose() metodu override edilmektedir. Aşağıda verilen kodu incelerseniz “Form1” için Visual Studio tarafından override edilen Dispose() metodunun geriye değer göndermediğini ve bool bir parametreye sahip olduğunu görürsünüz. Metotta ilk olarak “disposing” adlı bool parametrenin true olup olmadığı araştırılmaktadır. disposing adı verilen parametre true ise bu kez IContainer tipindeki components değişkenin null olup olmadığına bakılmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_yxH-rYqtVB4/Sh_NYXzrqFI/AAAAAAAAAGI/xBwAM0t3FHw/s1600-h/dispose_metodu_1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5341213501676038226" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 256px" alt="" src="http://2.bp.blogspot.com/_yxH-rYqtVB4/Sh_NYXzrqFI/AAAAAAAAAGI/xBwAM0t3FHw/s400/dispose_metodu_1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;Hem Dispose() metodunun parametresi true hem de IContainer tipindeki değişkenin içeriği null’dan farklı ise Dispose() metodunun parametresiz versiyonu components adlı IContainer tipindeki değişkene uygulanmaktadır. Tam bu noktada bazılarınızın aklına bu components adındaki ve IContainer tipindeki değişkenin işlevi nedir sorusu gelmiş olabilir.&lt;br /&gt;&lt;br /&gt;Hatta Visual Studio ile hazırlanan projeleri (Timer gibi bazı kontrolleri forma yerleştirmediyseniz) didik didik etseniz bile bu components adındaki değişkenin hiç kullanılmadığını ve null olarak kaldığını görürsünüz. Bu nedenle birçok kaynakta “components” adlı bu değişkenden hiç söz edilmez. Aslında sizler de bu değişkenle ilgilenmeyebilirsiniz. Madem Microsoft’un programcıları Override ettikleri Dispose() metodu içinde bu değişkenin null olup olmadığını araştırıyorlar biraz üzerinde duralım. Bu amaçla üzerinde çalıştığım projenin formunun Load olayını temsil eden metodu aşağıdaki gibi düzenledim.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void Form1_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;   TextBox Text1 = new TextBox();&lt;br /&gt;   Button Dugme1 = new Button();&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;.NET Framework ile gelen 2 sınıfın örneğinin alındığı bu metotta hazırlanıp formun Controls koleksiyonuna eklenmeyen bu 2 nesne Form1_Load() metodunun sonuna gelindiğinde her ikisi de gereksiz nesne durumuna düşerler. Bu şartlarda GC mekanizması uygun gördüğü bir zamanda bu 2 nesneyi bellekten temizler. Bu 2 nesne formun Controls koleksiyonuna eklenseydiler form kapatıldığında ikisi de otomatik olarak dispose edilirdi. Madem bu 2 nesneyi Controls koleksiyonuna eklemedik o halde form kapatıldığında bu nesnelerin otomatik olarak dispose edilmesini sağlayacak başka bir teknik olmalıdır.&lt;br /&gt;&lt;br /&gt;Bu teknik GC sınıfının Collect() metodunu çağırmak olmadığına göre ve Controls koleksiyonuna eklenmeyen(tabi eklenemeyen nesneler de olabilir) çok sayıda nesne söz konusu ise hepsine tek tek Dispose() metodunu uygulamak mümkündür. Microsoft’un bu konudaki önerisi bütün bu nesneleri(yani Controls koleksiyonuna eklenmeyen..) bir Container’a eklemek ve hepsini birden formun override edilmiş Dispose() metodu içinde dispose etmektir.&lt;br /&gt;&lt;br /&gt;Burada Container’lar hakkında ayrıntılı bilgi vermesem bile Controls koleksiyonuna eklenmeyen nesnelerin nasıl toptan dispose edildiğini örnekleyeceğim. Madem Form1.Designer.cs dosyasında Container tipinde ve components adında bir değişken tanımlanmış yeni bir değişken tanımlamak yerine formun Load olayını temsil eden metotta Container nesnesi hazırlayıp components adı verilen bu değişkene aktaracağım. Bu amaçla yukarıda verdiğim Form1_Load() metodunu aşağıdaki gibi düzenledim.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void Form1_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;TextBox Text1 = new TextBox();&lt;br /&gt;Button Dugme1 = new Button();&lt;br /&gt;components = new Container();&lt;br /&gt;components.Add(Text1);&lt;br /&gt;components.Add(Dugme1);&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu andan itibaren bu 2 nesne components adı verilen Container’ın üyesidir. Eğer bu Container nesnesine Dispose() metodu uygulanırsa bütün üyeleri dispose edilmiş olur ki bu işlem formun override edilmiş Dispose() metodunda yapılmaktadır. Aşağıda Form1.Designer.cs dosyasındaki Dispose() metodunu tekrar verdim.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private System.ComponentModel.IContainer components = null;&lt;br /&gt;protected override void Dispose(bool disposing)&lt;br /&gt;{&lt;br /&gt;if (disposing &amp;amp;&amp;amp; (components != null))&lt;br /&gt;{&lt;br /&gt;components.Dispose();&lt;br /&gt;}&lt;br /&gt;base.Dispose(disposing);&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Madem bu formun Load olayını temsil eden metodunda Container nesnesi hazırlanıp components adında ve IContainer tipindeki değişkene aktarıldı, artık if (disposing &amp;amp;&amp;amp; (components != null)) karşılaştırması doğru değerini verir. Bu karşılaştırma true iken components adlı container nesnesi Dispose() metodu ile dispose edildiğine göre formun Controls koleksiyonuna eklenmeyen nesneler böyle bir yöntemle topluca dispose edilmiş olunuyor.&lt;br /&gt;&lt;br /&gt;Bu şekilde formun Override edilmiş Dispose() metodundaki components adlı değişkenin sırrını çözdükten sonra artık Form sınıfı kaynaklı(aslında IComponent arabirimi kaynaklı) Dispose() metodu üzerinde biraz durabiliriz. Bu amaçla daha önce değişik kez kaynaklarda kullanılan bir cümleyi buraya yazacağım: Show() metodu ile ekrana getirilen formlar herhangi bir şekilde kapatıldıklarında Dispose edilmekte veya bellekten silinmektedir. Tabii form kapatılmadan önce FormClosed ve FormClosing olaylarının meydana geldiğini biliyorsunuz. Bu nedenle formun FormClosed ve FormClosing olayları için aşağıdaki gibi 2 metot hazırlayıp sonra da çalışma anında formu ekrana getirip kapatmak isterseniz önce FormClosing olayıyla ilgili metot işletilir. Devamında FormClosed olayını temsil eden metot işletilir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void Form1_FormClosing(object sender, FormClosingEventArgs e)&lt;br /&gt;{&lt;br /&gt;MessageBox.Show("Form1'le ilgili FormClosing olayı meydana geldi");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void Form1_FormClosed(object sender, FormClosedEventArgs e)&lt;br /&gt;{&lt;br /&gt;MessageBox.Show("Form1'le ilgili FormClosed olayı meydana geldi");&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Kapatılmak istenen formla ilgili olarak bu 2 olay meydana geldikten sonra sıra formun Dispose metodunun işletilmesine gelir. Bu 2 olaydan sonra sıranın Dispose() metodunun işletilmesine geldiğini görmek istiyorsanız Form1.Designer.cs dosyasında override edilen Dispose() metodunu aşağıdaki gibi düzenleyebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;protected override void Dispose(bool disposing)&lt;br /&gt;{&lt;br /&gt;System.Windows.Forms.MessageBox.Show("Form1'in Dispose metodu işletildi");&lt;br /&gt;if (disposing &amp;amp;&amp;amp; (components != null))&lt;br /&gt;{&lt;br /&gt;components.Dispose();&lt;br /&gt;}&lt;br /&gt;base.Dispose(disposing);&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Sanırım çalışma anında bir form kapatılmak istendiğinde geri planda meydana gelen olayların ve yapılan işlemlerin sıralaması anlaşıldı. Şimdi gelin Form1.Designer.cs dosyasındaki yani Visual Studio tarafından override edilmiş Dispose() metodunu silelim. Tabi üzerinde çalıştığımız proje deneysel amaçlı ve yukarıda sözü edilen “components” adlı IContainer tipindeki nesneye henüz herhangi bir nesne üye yapılmadığı için Visual Studio tarafından hazırlanan override edilmiş Dispose() metodunu silmek bir soruna neden olmaz. Çünkü form kapatılmak istendiğinde Form sınıfının Dispose() metodunun orijinal hali zaten işletilir. Bu tespitleri yaptıktan sonra Form1.cs dosyasında Form1’in Form sınıfı kaynaklı Dispose() metodunu kendim override ettim. Aslında orijinal haline MessageBox sınıfının Show() metodu ile mesaj veren bir satır eklemekle yetindim.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;protected override void Dispose(bool disposing)&lt;br /&gt;{&lt;br /&gt;MessageBox.Show("Form1'in Dispose metodu işletildi");&lt;br /&gt;base.Dispose(disposing);&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;MessageBox.Show() satırı hariç bu hali ile Dispose() metodunu override etmenin herhangi bir işlevi yoktur. Çünkü orijinali ile aynıdır. Şimdi bu metottaki base.Dispose(disposing); satırını silip ondan sonra projeyi çalıştırıp formu kapatmayı bir deneyin. Tahmin edeceğiniz gibi bu satır silindikten sonra formu bilinen yöntemlerle kapatmak mümkün olmaz. Çünkü Windows’tan gelen Kapat mesajını engellemiş oldum. Bu şartlarda forma bir düğme yerleştirip Dispose() metodunu aşağıdaki gibi kendiniz işletirseniz formu kapatmış olursunuz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void Kapat_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;base.Dispose(true);&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Tabi bu şartlarda formun FormClosing ve FormClosed olaylarını temsil eden metotlar işletilme şansı bulamazlar. Sanırım konu biraz aydınlandı. Tekrar etmek gerekirse; Show() metodu ile ekrana getirilen ve formların Controls koleksiyonlarına eklenen nesneler otomatik olarak Dispose edildikleri için bunları sorun yapmayabiliriz.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-9163155415411669086?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/9163155415411669086/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=9163155415411669086' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/9163155415411669086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/9163155415411669086'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/form-snfnn-dispose-metodu.html' title='Form Sınıfının Dispose() Metodu'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yxH-rYqtVB4/Sh_NYXzrqFI/AAAAAAAAAGI/xBwAM0t3FHw/s72-c/dispose_metodu_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-8410707461550116327</id><published>2009-05-26T10:40:00.004+02:00</published><updated>2009-06-26T07:14:07.365+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><category scheme='http://www.blogger.com/atom/ns#' term='Yayınevi Editörleri'/><title type='text'>Nesnel Uygulamaların Arasındaki Mantık</title><content type='html'>Az çok TV izleyenlerin bildiği gibi Kadir Çelik'in Objektif adında bir haber programı var. Kadir bey bu program özel televizyonculuğun başladığı ilk yıllardan beri yaptığı için çok kişi tarafından biliniyor. Kadir beyin programına objektif adını vermesinin nedeni olaylar karşısında yansız ve gördüğünü olduğu gibi aktarmak istemesindedir.&lt;br /&gt;&lt;br /&gt;Az çok Türkçe bilenlerin malumu olduğu üzere &lt;strong&gt;Objektif&lt;/strong&gt; kavramına Türkçe karşılık olarak &lt;strong&gt;nesnel&lt;/strong&gt; önerildi ve kısa sürede tutuldu. Yani yıllardır objektif kavramı Türkçede nesnel ile karşılanmaktadır. Hemen soralım: Programcılıkta nesnel kavramı var mıdır? Cevap: Hayır yoktur. O zaman yazının başlığı nereden geliyor? Bu başlığı Türkçe kaleme alınmış bir programcılık kitabını tantmak amacıyla yazılan metinden aldım. Programcılık kitabının tanıtımında böyle bir cümleye yer verilmiş olmasını nasıl yorumlamak gerekir bilemem? Haydi diyelim yazarlarımız ne bilsinler felsefeyi gazeteciliği, ama çok sayıda kültür kitabı yayınlayan yayınevinin görevlileri ve editörleri nesnel kavramını nasıl bilmezler?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-8410707461550116327?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/8410707461550116327/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=8410707461550116327' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8410707461550116327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8410707461550116327'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/nesnel-uygulamalarn-arasndaki-mantk.html' title='Nesnel Uygulamaların Arasındaki Mantık'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4069509844036588059</id><published>2009-05-25T22:47:00.003+02:00</published><updated>2009-05-25T22:56:43.882+02:00</updated><title type='text'>Şeytan Dürtünce Küçük Bir Araştırma Yaptım...</title><content type='html'>Bugün Google ile arama yaparken yolum birden son birkaç yılda yaklaşık 50 kadar bilgisayar konulu kitap yayınlamış bir yayınevinin sayfasına düştü. Dedim ya şeytan dürttü ve birkaç dakikalık araştırma yaptım: Baktım söz konusu yayınevi 6 aydır hiç bilgisayar konulu kitap yayınlamamış. Bu demektir ki ellerindeki kitaplar iyi satmıyor. Kitapların iyi satmadığını nasıl mı anladım? İşte cevabı: Yaklaşık 2.5 yıl önce yayınlanan C# 2.0 kitabı bitmeyince küçük eklemelerle tekrar yayınlanacak C# 3.0 kitabı basılamıyor. Neden mi böyle oldu? Bu sorunun cevabını çok iyi bilmeme rağmen buraya yazmıyorum. Çünkü objektif olmamakla suçlanabilirim.&lt;br /&gt;&lt;br /&gt;Kitapların satmadığının bir başka işareti söz konusu yayınevinin yazarlarının başka yazarları taklit etmeleridir. Yakın bir zamana kadar kitaplarını yazmakla yetinen yazarlarımız çok sayıda makale ve görsel dersin olduğu web sitesi hazırladılar. Çok geçmeden yazarlarımız web sitesi hazırlayıp makale ve görsel dersler çekip yayınlamanın çare olmadığını göreceklerdir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4069509844036588059?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4069509844036588059/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4069509844036588059' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4069509844036588059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4069509844036588059'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/seytan-durtunce-kucuk-bir-arastrma.html' title='Şeytan Dürtünce Küçük Bir Araştırma Yaptım...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-8165961510658860441</id><published>2009-05-17T08:25:00.004+02:00</published><updated>2009-05-18T08:49:05.600+02:00</updated><title type='text'>Zirveye Çıkaran Programcılık Teknikleri 1</title><content type='html'>Bu yazıda çok işinize yarayacağını sandığım bazı programcılık tekniklerinden söz edeceğim. Fırsat buldukça tekniklere yenilerini ekleyeceğim. Bu programcılık tekniklerinin bazılarını yazarken hedef okurları 2 ayrı guruba ayırdım:&lt;br /&gt;&lt;br /&gt;1- Zirveye Çıkmak İsteyenler&lt;br /&gt;2 -Çukura İnmek İsteyenler&lt;br /&gt;&lt;br /&gt;Siz zirveye çıkmaya çalışan bir programcı iseniz Zirveye Çıkmak İsteyenler için yazılan metne bakmalısınız. Yok hayır ben çukura inmek istiyorum veya zaten çukurda olan bir programcıyım diyorsanız çukura inmek isteyenler için hazırlanan metne bakmalısınız. Her ikisini de okuyup kafası karşınlar için yapabileceğimiz bir şey yoktur.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sınıfları Temizlemek, Belleği Pirüpak Yapmak - Zirveye Çıkmak İsteyenler İçin&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Bu programcılık tekniğini bir süre önce C# konulu süper bir programcılık kitabında gördüm. Bu süper programcılık tekniğinin anlatıldığı kitabı alma imkanını bulamamış olanlar bundan mahrum kalmasın diye tekniği özetleyip sizinle paylaşacağım. Püf noktamızın konusu sınıfları temizlemek yani sınıfları bellekten temizlemek.&lt;br /&gt;&lt;br /&gt;Şimdi bazılarınız diyecekler ki, bizim bildiğimiz nesneler bellekten temizlenirdi şimdi bellekten bir de sınıfları mı temizleyeceğiz? Sınıflarınız kirli ise bunları bellekten mutlaka temizlemeniz gerek. Yoksa bellek berbat olur. Bu işlem için yani sınıf temizleme işlemini GC sınıfının SuppressFinalize() metodu ile aşağıdaki gibi yapabilirsiniz.&lt;br /&gt;&lt;br /&gt;System.GC.SuppressFinalize(this); // Bu sınıfı ter temiz yap&lt;br /&gt;&lt;br /&gt;Sınıfınızda bu satırı içeren bir metot hazırlayıp kullanabilirsiniz. Sınıfınızda böyle bir metot hazırlayıp kullanmış olmanıza rağmen sınıf bir türlü bellekten temizlenmiyorsa bilgisayarınızı kapatıp tekrar açıp temizleyip bu metodu ikinci kez kullanmanız önerilir(!).&lt;br /&gt;&lt;br /&gt;class kirli_sinif&lt;br /&gt;{&lt;br /&gt;   public void sinifi_cilala()&lt;br /&gt;    {&lt;br /&gt;      System.GC.SuppressFinalize(this); // Bu sınıfı bellekten uçur&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Programın ileri aşamalarında bu sınıfın örneğini alıp bu metodu işletirseniz bellek temizleme dertlerinizden kurtulursunuz. Bu tekniği bulan mesleğinin zirvesindeki bilim adamlarının, programcılık kitapları yazarlarının yalancısıyım. Sorumluluk kabul edilmez. Bu metot kullanoldıktan sonra belleğin temizlik kokması iyiye işarettir.&lt;br /&gt;&lt;br /&gt;Bu arada C#'tan anlamayan bazıları çıkıp burada sözünü ettiğimiz SuppressFinalize() metodunun burada anlatıldığı gibi değil derslerse onlara inanmayınız. Tabi sizin programcılıkta zirveye çıkma yerine çukura inme gibi bir amacınız varsa bir şey diyemeyiz. Özetlemek gerekirse SuppressFinalize() metodunu bal gibi sınıfları temizlemektedir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sınıfları Temizlememek - Çukura İnmek İsteyenler İçin&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Gereksiz nesne durumuna düşmüş nesneleri GC mekanizması uygun gördüğü bir zamanda bellekten silmektedir. Kullanılan kaynakların iadesi ve belleğin gereksiz nesnelerden temizlenmesi konusunda bazen GC yeterli olamamaktadır. Bu gibi durumlarda programcı Dispose() metodundan yararlanılır. GC sınıfının SuppressFinalize() metodu ise, Dispose() metodu ile yok edilmiş nesnelerin için yok edici metotlarının boş yere işletilmesi önlenmektedir. Bu metodun işlevi hakkında bilgi vermek için aşağıdaki gibi kısıtlı özelliklere sahip bir sınıf hazırladım.&lt;br /&gt;&lt;br /&gt; public class Test : Component&lt;br /&gt; {&lt;br /&gt;  ~Test()&lt;br /&gt;   {&lt;br /&gt;     MessageBox.Show("Test sınıfının yok edici metodu işletildi"); &lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;Bu sınıfın yok edici metodu olduğu için Garbage Collector mekanizması tarafından uygun bir zamanda bellekten yok edildiğinde işletilir. Bunu test etmek için projenin formuna bir düğme yerleştirip sınıfın örneğini aldım. Tabi bu metodun sonuna gelindiğinde “Test” sınıfının örneği gereksiz nesne durumuna düşeceği için bir süre sonra bu nesne GC mekanizması tarafından bellekten silinir ve bu sırada yok edici metot işletilir.&lt;br /&gt;&lt;br /&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt; {&lt;br /&gt;   Test nesne = new Test();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;Burada “Test” adını verdiğim sınıfın örneğini aşağıda yapıldığı gibi SuppressFinalize() metoduna parametre olarak verseydim söz konusu nesne bellekten temizlenirken yok edici metodu işletilmezdi.&lt;br /&gt;&lt;br /&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt; {&lt;br /&gt;   Test nesne = new Test();&lt;br /&gt;   GC.SuppressFinalize(nesne);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;Bu metot asıl söz konusu nesne daha önce Dispose() edildiyse kullanılmaktadır. Böylece performans kazanılmış olunuyor. Her ne kadar burada SuppressFinalize() metoduyla ilgili her şeyi anlatmamış olsak bile en azından zirveye çıkanla için yazılan metinde bu metodu yanlış anlatıldığını öğrenmiş olduk.&lt;br /&gt;&lt;br /&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt; {&lt;br /&gt;   Test nesne = new Test();&lt;br /&gt;   Nesne.Dispose();&lt;br /&gt;   GC.SuppressFinalize(nesne);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Procedure Kullan Gerisini Merak Etme Sen - Zirveye Çıkmak İsteyenler İçin&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Programcılar yazdıkları programı  överken bazen kullandıkları veritabanın sağlam olduğunu söylerler. Örneğin Access veritabanı SQL Server kadar sağlam ve güvenli değildir. Programlarını pazarlamaya çalışanlara bir önerim var: C# ile geliştirdiğiniz projelerde mümkün mertebe fonksiyon yerine Procedure kullanın ve programın özellikleri içinde bundan mutlaka söz edin. Çünkü Procedure'ler fonksiyonlara göre daha gelişmiş bir yapıya sahiptirler.&lt;br /&gt;&lt;br /&gt;Madem Procedureler daha gelişmiş bir yapıya sahiptir Procedure kullanarak programınızın gücüne güç katabilirsiniz. Ama hocam C#’ta procedure’ler yok gibi itirazları kabul etmem yoksa siz zirveye çıkmak istemiyor musunuz?. C# ile geliştirdiğiniz programlarınızı kalitesini artırmak istiyorsanız Procedure kullanmalısın. Sonra program paketinin üzerine "bu programda fonksiyon yerine procedure kullanılmıştır" diye yazmayı unutmayınız.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Olmayan Procedure Kullanmayın - Çukura İnmek İsteyenler İçin&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Az çok kod yazmış olanların bildiği nesneye yönelik programcılık önce programlama dillerine yordamsal diller denilirdi. Çünkü programlar yordam yani procedure yani sub rutin denilen kod parçalarından meydana gelirdi. Basic ve Pascal'da geriye değer gönderen kod parçalarına Function denilirken geriye değer göndermeyenlere ise Sub veya Procedure denilirdi. C'de ise Procedure ile Function ayrımı yoktu; bütün kod parçalarından Function diye söz edilirdi. Sonraları nesneye yönelik programcılık yaygınlaşınca kod parçalarına Metot denilmeye başlandı. Bu durumda Pascal veya Basic geleneğinden gelen programcıların C# kodu içinde hazırlanan metotların geriye değer gönderenlerden Function, değer göndermeyenlerden Procedure diye söz edilmesi bir bakıma normaldir. Ötesi Visual Basic'in .NET sürümünde geriye değer gönderen metotlar eskisi gibi Function anahtar kelimesi ile hazırlanırken değer göndermeyenler yine Sub anahtar kelimesiyle başlatılmaktadır. Özetlemek gerekirse C# kodu içinde olmayan Procedure'lerin daha gelişmiş yapıya sahip olduklarını ileri sürünler için yorum yapmak kolay değildir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dizi Değişken Tanımlama Tekniğinizi Değiştirin - Zirveye Çıkmak İsteyenler İçin&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Programcılıkta güncelin uzağında kalmış bazı programcılar C# gibi görece yeni bir programlama dilini kullansalar bile bütün uyarılara rağmen bildiklerini okuyorlar ve dizi değişkenleri aşağıdaki gibi tanımlıyorlar:&lt;br /&gt;&lt;br /&gt;private void senin_degil_benim_buton_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  int[] dizini_dovmeyen_dizi = new int[4];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Ne yapıyor programcımız burada? Eski ve modası geçmiş usulde 4 elemanlı integer tipinde bir dizi değişken tanımlıyor. Hal bu ki bu dizi değişkeni aşağıdaki gibi tanımlasa programının değeri en az 2 kat artacak, program daha hızlı çalışacak ve programcının başı göklere erecek, zirvelere çıkılmış olunacaktır. Benden uyarması; akıllı programcılar, zirveye çıkmayı kafalarına koymuş olanlar dizi değişkenleri aşağıdaki gibi tanımlıyorlar. Bu arada kodunuza using System.Collections yazmayı unutmayınız.&lt;br /&gt;&lt;br /&gt;ArrayList dizini_doven_dizici = new ArrayList()&lt;br /&gt;&lt;br /&gt;Tabi tanımladığınız dizi değişkenlere ad seçerken bir nebze yaratıcı olun. Başkasına ait değişken adlarını kullanmanın alemi yoktur. Programcıların biraz roman biraz şiir okumaları yani edebiyatla aralarını düzeltmeleri gerekir. Yoksa her program ve her kaynakta rastlanan değişken adlarına mahkum olurlar ki bu hoş bir durum değildir. Baktıklar ki olmuyor kendilerine birer "değişken adı bulma yardımcısı" bulsunlar. Çünkü son yıllarda program satın almak isteyen bazı firmalar ilgilendikleri programları incelerken "değişkenlerinizi görelim" deyip program içinde tanımlanan değişkenlerin kalitesini kontrol ediyorlar. Kodun içinde size ait olmayan değişkenler varsa programınızı oracıkta satın almaktan vazgeçiyorlar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Button Nesnelerinin Text Özelliği - Zirveye Çıkmak İsteyenler İçin&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Varsayalım ki C# veya başka bir programlama diliyle bir uygulama geliştirdiniz. Doğal olarak formlarda Button nesnelerine yer verdiniz. Button nesnelerinin etiketlerine yani başlık metinlerine yani Text özelliğine dikkat etmelisiniz. Çünkü Button nesnelerine uygun veya motive edici başlık metni seçmezseniz Button nesnelerinin eventları verimli bir şekilde çalışmıyorlar. Örneğin Button nesnesine “Aktar” bir başlık metni yerine “Gözünü Seveyim Güzel Aktar” gibi bir başlık metni seçmeniz halinde programınız daha hızlı çalışacaktır.&lt;br /&gt;&lt;br /&gt;Madem Button nesnelerinin başlık metinleri bu kadar önemlidir dikkatli olup başka programcılara ait başlık metinlerini kullanmamak gerekmektedir. Rivayetlere göre bu teknik Ankara'da bir üniversitenin Prof unvanlı bir öğretim üyesi bulmuş ve Hacettepe mezunu tecrübeli bir bilgisayar mühendisi geliştirmiştir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-8165961510658860441?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/8165961510658860441/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=8165961510658860441' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8165961510658860441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/8165961510658860441'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/zirveye-ckaran-programclk-teknikleri.html' title='Zirveye Çıkaran Programcılık Teknikleri 1'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4326319146727040156</id><published>2009-05-16T16:01:00.002+02:00</published><updated>2009-05-16T16:05:57.570+02:00</updated><title type='text'>Zirveye Çıkaran Programcılık Teknikleri : 2</title><content type='html'>Bir süre önce sizlere birkaç programcılık tekniğinden söz etmiştim. Bu yazıda ise sizleri zirveye çıkarması garantili bu tekniklere kaldığımız yerden devam ediyoruz. Zirve yolunda 1 numaralı yardımcınız olacak bu tekniklerin devamı gelecektir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hakiki Dizi Değişken İşlemleri – Zirveye Çıkmak İsteyenler İçin&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;C# uzmanı olduklarını ileri süren yerli yabancı bütün C# bilmezler ListBox nesnesinin elemanlarının dizi değişkenlere nasıl aktarıldığı konusunda sizleri kandırıyorlar. C# uzmanı olduklarını beyan edenler orada burada şöyle bir açıklamalar yapıyorlar: ListBox’ın Items koleksiyonu object tipinde bilgi içermektedir. Bu durumda ListBox’ın içeriğinin aktarılması gereken dizi değişkenin tipinin object olması gerekmektedir.&lt;br /&gt;&lt;br /&gt;Tabi bu C# uzmanı diye ortaya çıkanlar dizi değişkenlerin nasıl tanımlandığını yanlış bildikleri için sizleri de yanıltıyorlar. Bu konuda yanlış bildiklerinizi düzeltmek için adım adım bilgi vereceğim. Bu amaçla forma bir ListBox yerleştirip birkaç futbol takımının adını aktardım. Sizler Süper Lig takımları yerine 2. lig takımlarının adını tercih edebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_yxH-rYqtVB4/Sg7HiTq_6gI/AAAAAAAAAGA/DQ6lI9pxQoQ/s1600-h/programcilik_teknikleri_2_1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5336422000690719234" style="WIDTH: 205px; CURSOR: hand; HEIGHT: 203px" alt="" src="http://1.bp.blogspot.com/_yxH-rYqtVB4/Sg7HiTq_6gI/AAAAAAAAAGA/DQ6lI9pxQoQ/s400/programcilik_teknikleri_2_1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Şimdi sırada bu ListBox’ın içeriğini dizi değişkene aktarmak var. Bu işlemi yaparken yararlanmak üzere forma bir buton yerleştirdim. Ardından aşağıdaki gibi bir event hazırladım. Bazı C#’ı bilmeyenler burada hazırlanan event değildir diyeceklerdir ama onlara kulak asmayın. Bu eventta bir dizi değişken tanımladım.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  ArrayList hakiki_dizi_degisken = new ArrayList();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Sonra bu event’a ekleme yapıp ListBox’taki bütün takımların adını dizi değişkene aktardım. Bununla da yetinmedim yazdığım kodun garanti çalıştığını kanıtlamak için dizi değişkenin ikinci elemanını formun başlığına yazdım. Tabi burada işi asıl yapan AddRange adlı ArrayList Class Fonksiyonu’dur.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  ArrayList hakiki_dizi_degisken = new ArrayList();&lt;br /&gt;  hakiki_dizi_degisken.AddRange(listBox1.Items);&lt;br /&gt;  this.Text = hakiki_dizi_degisken[1].ToString();&lt;br /&gt;} &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu ArrayList Class fonksiyonu görevini hakkıyla yapmaktadır. İsterseniz bu kodu aşağıdaki gibi yazıp C# uzmanı diye ortalıkta gezinenlerin bir yanlışını daha ortaya koyabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt; string[] sahte_dizi = new string[] { "fener", "galata", "beşiktaş" };&lt;br /&gt; ArrayList hakiki_dizi_degisken = new ArrayList(); //dizi değişken tanımlandı&lt;br /&gt; hakiki_dizi_degisken.AddRange(sahte_dizi);&lt;br /&gt; this.Text = hakiki_dizi_degisken[1].ToString();&lt;br /&gt;} &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Uydurma Dizi Değişken İşlemleri – Çukura İnmek İsteyenler İçin&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;C# ve diğer birçok programlama dillerinde dizi değişkenler mevcut tiplerden yararlanılarak tanımlanır. Örneğin C#’ta string bilgileri saklamak üzere 5 elemanlı bir dizi değişken tanımlamak istiyorsanız aşağıdaki gibi bir kod satırı yazmanız yeterlidir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  string[] hayirsiz_dizi = new string[5];&lt;br /&gt;} &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu şekilde tanımlanan dizi değişkene string bilgileri aşağıdaki gibi aktarabilirsiniz. Dizi değişkenlere bilgi aktarılırken indeksleyiciden yararlanılmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  string[] hayirsiz_dizi = new string[5];&lt;br /&gt;  hayirsiz_dizi[0] = "Fenerbahçe";&lt;br /&gt;  hayirsiz_dizi[1] = "Tranzonspor";&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Başka kaynaklarda ArrayList adlı koleksiyon sınıfının örneğini almaktan dizi değişken tanımlama diye söz edilse bile kulak asmayınız. Aşağıda verilen satırda ArrayList nesnesi hazırlanmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  ArrayList hakiki_liste = new ArrayList();&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Gerçekte bir koleksiyon sınıfı olan ArrayList nesnesinin Items adlı koleksiyonun elemanları Object tipindedir. .NET Framework ile gelen koleksiyon sınıflarının bazılarına eleman ekleme işleminin Add() metodu ile yapıldığını tahmin edebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  ArrayList hakiki_liste = new ArrayList();&lt;br /&gt;  hakiki_liste.Add("Fenerbahçe");&lt;br /&gt;  hakiki_liste.Add("1907");  &lt;br /&gt;  hakiki_liste.Add("Cemil Turan");&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Dizi değişken ile ArrayList adlı koleksiyon sınıfı ile dizi değişkenleri birbirine karıştırıp sonra da Türkiye’nin en iyi C# kitabını yazıp okurlarını zirveye çıkaran birisini taktir etmek gerekir. Eğer ArrayList nesnesine mevcut bir dizi değişkeni veya koleksiyon nesnesini bir seferde aktarmak istiyorsanız AddRange() metodunu kullanabilirsiniz. Bu metodun nasıl kullanıldığını anlatmak için önce object tipinde bir değişken tanımladım. Ardından bu dizi değişkenin bütün elemanlarını AddRange() metodu ile ArrayList nesnesine aktardım.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  object[] dizi_dizi = new object[] { "Fenerbahçe", 1907, "Aziz Yıldırım" };&lt;br /&gt;  ArrayList hakiki_liste = new ArrayList();&lt;br /&gt;  hakiki_liste.AddRange(dizi_dizi) ;&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4326319146727040156?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4326319146727040156/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4326319146727040156' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4326319146727040156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4326319146727040156'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/zirveye-ckaran-programclk-teknikleri-2.html' title='Zirveye Çıkaran Programcılık Teknikleri : 2'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yxH-rYqtVB4/Sg7HiTq_6gI/AAAAAAAAAGA/DQ6lI9pxQoQ/s72-c/programcilik_teknikleri_2_1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-1004628316716260310</id><published>2009-05-15T15:47:00.000+02:00</published><updated>2009-05-15T15:48:18.420+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Selection Sort'/><title type='text'>En İyi Buluş Sonradan Tekrar Yapılan Buluştur</title><content type='html'>Yıllar önce öğrenciyken yani Fortran IV zamanında hocamız sıralama işlemleri üzerinde durmuştu. Yani günümüzde sıkça kullanılan sıralama algoritmaları bundan 25 yıl önce bile biliniyordu kullanılıyordu. Kısa sürede mesleğinin zirvesine çıkmış yerli bir yazar sıralama algoritmalarını yeniden keşfedip programcılık dünyasına sundu. Bunu yaparken yani yeniden keşfettiği sıralama algoritmalarının kullanımını serbest bıraktı ama programcılık kitabı yazarlarının kitaplarında bu algoritmalardan söz etmelerini yasakladı. Yani anlayacağınız bu yazarımız yeniden keşfettiği bu algoritmalar konusunda insaflı davrandı. Şimdi gelin 2003 yılı içinde keşfedilen bu algoritmalardan Selection Sort adlı olanı 2004 yılında yayınlanan kitabında Memik Yanık nasıl anlatmış bakalım. Tamamı &lt;a href="http://www.memikyanik.com/mizah/en_iyi_bulus_sonradan.htm"&gt;burada...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-1004628316716260310?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/1004628316716260310/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=1004628316716260310' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1004628316716260310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/1004628316716260310'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/en-iyi-bulus-sonradan-tekrar-yaplan.html' title='En İyi Buluş Sonradan Tekrar Yapılan Buluştur'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2030993353772037699</id><published>2009-05-15T09:11:00.003+02:00</published><updated>2009-05-15T09:13:48.218+02:00</updated><title type='text'>Kitaplarına Yorum Yazan Yayınevleri</title><content type='html'>Günlüğümde daha önce yazdığım gibi bir dikkatli bir okurum bazı yayınevlerinin yayınladıkları kitaplar için kitap satış sitelerine kitaplarını öven yorumlar yazdıklarını tespit etmişti. Okurun verdiği bilgilerin ışığında söz konusu yorumları bulup inceleyince söylediklerinin doğru olduğunu gördüm. Gelelim bugün tesadüfen yaptığım tespite: Henüz &lt;strong&gt;mürekkebi kurumamış&lt;/strong&gt; sözünü bile hak etmeyen yani henüz dağıtılmayan bir kitap hakkında okur olduğunu ima eden birisi yazdığı yorumda kitabı yere göğe sığdıramıyordu. Yayıncı arkadaşlara önerim şudur: Kitabınızı övmek için lütfen acele etmeyiniz. Bırakın kitap piyasaya çıksın, okurların bazıları kitabı sipariş etsin, kitap ellerine geçsin.. Onlara birkaç gün de okuma ve inceleme şansı verin. Ondan sonra yorumlarınızı yazın, kitabınızı yere göğe sığdırmayın. Yoksa inandırıcılığınızı toptan yitirirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2030993353772037699?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2030993353772037699/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2030993353772037699' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2030993353772037699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2030993353772037699'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/kitaplarna-yorum-yazan-yaynevleri.html' title='Kitaplarına Yorum Yazan Yayınevleri'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4655218260389541472</id><published>2009-05-15T08:56:00.005+02:00</published><updated>2009-06-26T07:31:03.677+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='foreach'/><category scheme='http://www.blogger.com/atom/ns#' term='RichTextBox'/><category scheme='http://www.blogger.com/atom/ns#' term='ListBox'/><title type='text'>Dünyanın Sanat Değeri En Yüksek Windows Formu</title><content type='html'>Herkesin bildiği gibi yerli ve yabancı programcılık kitaplarında verilen örneklerle ilgili olarak hazırlanan formlarda tasarıma pek önem verilmez. Çünkü yazarın amacı sözünü ettiği işlemi anlatmaktır, kullandığı sınıf veya kontrol hakkında bilgi vermektir. Örneğin 2004 yılında yayınlanan C# kitabımda foreach döngülerinden söz etmek için forma bir RichTextBox, ListBox ve bir düğme yerleştirdim.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_yxH-rYqtVB4/Sg0THYI9IXI/AAAAAAAAAF4/6_LG4qeFJXk/s1600-h/sanat_eseri_form_1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5335942150963929458" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 220px" alt="" src="http://2.bp.blogspot.com/_yxH-rYqtVB4/Sg0THYI9IXI/AAAAAAAAAF4/6_LG4qeFJXk/s400/sanat_eseri_form_1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kitabımda bu örneği vermemdeki amaç foreach döngüsünü anlatmak olduğu için birer koleksiyona sahip RichTextBox ve ListBox nesnelerini tercih ettim. Çünkü foreach deyimi koleksiyonların elemanları elde edilirken kullanılmaktadır. Kullanıcı çalışma anında RichTextBox'a girdiği metni RichTextBox'a aktarmak istediğinde adı ve başlığını "Aktar" olarak ayarladığım düğmeyi tıklayacak. Buraya kadar her şey normal ve ilginizi çekecek orijinal bir durum yoktur.&lt;br /&gt;&lt;br /&gt;Gelelim asıl konumuza: Memik Yanık kitabında yukarıdaki gibi orijinal bir tarafı ve sanat değeri(!) olmayan bir form tasarlarken mesleğinin zirvesine çıkmış başka bir yerli yazar yazılım dünyasına yine öncülük edip kitabında sürekli sanat değeri yüksek form tasarımlarına yer vermektedir. Mesleğinin zirvesine çıkmış bu yerli yazarın kitabında kullandığı bir form var ki dünyanın 8. ci harikası olmaya adaydır. Olağanüstü güzellikteki bu formu küçük değişikliklerle aşağıda verdim.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_yxH-rYqtVB4/Sg0TBhvHfKI/AAAAAAAAAFw/Fs50kOt8p8Y/s1600-h/sanat_eseri_form_2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5335942050460695714" style="WIDTH: 292px; CURSOR: hand; HEIGHT: 190px" alt="" src="http://1.bp.blogspot.com/_yxH-rYqtVB4/Sg0TBhvHfKI/AAAAAAAAAFw/Fs50kOt8p8Y/s400/sanat_eseri_form_2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Yerli yazarımız bu güzellikte form tasarlayınca ister istemez bundan etkilenen yazarlar olacaktır. Bu olağanüstü güzellikteki form tasarımdan etkilenenlerden birisi Memik Yanık’tır. Memik Yanık yukarıda verilen formu tasarlarken sanat değeri çok yüksek bu formdan esinlenip &lt;strong&gt;her şeyi ile aynı olan&lt;/strong&gt; bir form hazırlayıp kitabında kullanmıştır. Üstelik Memik Yanık’ın üstünkörü tasarladığı formun sol üst köşesinde tıpkı yukarıda verilen sanat değeriyle fark yaratan form gibi &lt;strong&gt;Kontrol Menüsü&lt;/strong&gt; var. İşin garip tarafı kitapta gösterilmese bile bu menülerin açılmış hali verilmiş olunsaydı görülürdü ki her form iki tasarımında bu menüsünde aynı komutlar vardır. Memik Yanık özensizce tasarlayıp kitabında kullandığı formun Kontrol Menüsünde yerleştirdiği komutların adları ve işlevlerini seçerken yaratıcı olmamıştır ve sanat değeri yüksek form tasarımına yer veren rakip yazarın kitabından esinlenmiştir.&lt;br /&gt;&lt;br /&gt;Şimdi bazıları çıkıp diyecekler “ki bu iki ekran görüntüsünün yani formun nesi benzerdir, mesleğinin zirvesindeki yazarın tasarlayıp kitabında kullandığı bu formun neresi dünyanın 8. harikasına adaydır diye soracaklardır.&lt;br /&gt;&lt;br /&gt;Bu itirazcılara cevabım hazır. Bu 2 form arasındaki benzerlikler saymakla bitmez. İşte birkaç benzerlik: Her iki ekran görüntüsünün sağ üst köşesinde Simge Durumuna Küçült, Ekranı Kapla ve Kapat düğmeleri bulunmaktadır. Memik Yanık bu sanat değeri yüksek formdan esinlenmemiş olsaydı formun sağ üst köşesine bu düğme yerine başka düğmeler yerleştirirdi. Örneğin Memik Yanık kitabında kullandığı formun sağ üst köşesindeki Ekran Kapla düğmesi yerine neden “Penaltı Çek”, “Smaç Yap”, “Yemek Ye” gibi adlara sahip düğmeler yerleştirmemiştir?&lt;br /&gt;&lt;br /&gt;Bazı programcı ustaları çıkıp form tasarımlarının sol üst köşesine yerleştirilen denetim düğmesiyle açılan menüde yer alacak komutları programcı değil Windows belirliyor diye itiraz edeceklerdir. Bu itirazcılara cevabım şudur: Gidin bu olağanüstü güzellikte tasarıma sahip formlarla dolu kitaplardan üçer beşer tane alın da programcılık öğrenin, gerçekleri görün(!).&lt;/p&gt;&lt;p&gt;Bu 2 ekran görüntüsünün bir birisinin tıpkısı olduğuna itiraz edenlere ikinci söyleyeceğim şudur: Sizler Ankara’da köklü bir üniversitede Prof unvanına sahip öğretim üyesinden iyi mi bileceksiniz? Sizler 10 yıldır Ankara’nın merkezinde on binlerce kişiye programcılık öğretmiş bilgisayar kursu sahibi bilgisayar mühendisinden iyi mi bileceksiniz? Sizler Türkiye’nin en eski derneğinde yönetim kurulu üyeliğine kadar yükselip milyonlarca dolarlık projelere imza atan tecrübeli bilgisayar mühendisinden iyi mi bileceksiniz?&lt;br /&gt;&lt;br /&gt;Bana sorulursa bu ekran 2 görüntüsünün benzer olduğunu rapor eden bilgisayar mühendisinin sahibi olduğu kurs Ankara'nın 1 numaralı bilgisayar kursu ilan edilmelidirler. Bu 2 ekran görüntüsünün benzer olduğunu ileri süren Bilişim Derneğinin saygın yönetim kurulu üyesi hiç zaman geçirilmeden dernek başkanı yapılmalıdır. Ayrıca bu 2 ekran görüntüsünün benzer olduğunu rapor eden Hacettepe kökenli Prof unvanlı öğretim üyesi hemen görev yaptığı üniversitede derhal rektör yapılmalıdır. Ayrıca Nobel bilim ödülüne aday gösterilmelidir. Nobel edebiyat ödülünden sonra bir Türkün Nobel Bilim Ödülü alması fena mı olur?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4655218260389541472?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4655218260389541472/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4655218260389541472' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4655218260389541472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4655218260389541472'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/dunyann-sanat-degeri-en-yuksek-windows.html' title='Dünyanın Sanat Değeri En Yüksek Windows Formu'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yxH-rYqtVB4/Sg0THYI9IXI/AAAAAAAAAF4/6_LG4qeFJXk/s72-c/sanat_eseri_form_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-4388615997578680153</id><published>2009-05-13T10:11:00.002+02:00</published><updated>2009-05-13T10:16:56.053+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 9.0'/><title type='text'>Visual Basic 9.0 Kitabım Hakkında</title><content type='html'>Bu yazının amacı bu kitabın satışını arttırmak değildir. Bu yazının amacı olsa olsa böyle bir kitaba ihtiyacı olmayanların bu kitabı satın alıp para ve zaman kaybetmelerinin önüne geçmek olabilir. Her ne kadar bu kitap .NET 3.5 destekli Visual Basic 9.0’ı anlatmak kaygısı ile kaleme alınmış olsa bile Visual Basic 9.0 piyasaya verileli az olmadı. Bu bilgiyi şunun için yazdım: Mevcut bir işletim sisteminin veya bir programlama dilinin yeni sürümü çıktığında özellikle yurt dışında sıcağı sıcağında yeni sürümle gelen yeniliklere odaklanan kitaplar yazılıp yayınlanmaktadır. Böyle kitaplar eski sürüm hakkında bilgisi olup yeni sürümle gelen yeni özellikler hakkında hemen bilgi edinmek isteyenlere uygundur. En başta söylemeliyim ki bu kitap Visual Basic 9.0 ve .NET 3.5’la gelen yenilikleri anlatmak kaygısı ile kaleme alınan bir kitap değildir. Başka bir deyişle bu kitabın hedef okuru programcılık nedir az çok bilip Visual Basic ve nesneye yönelik programcılıkta uzman olmayı kafasına koyanlardır. Bu nedenledir ki bu kitapta konular temelden ele alınarak 1100 sayfa boyunca Visual Basic anlatıldı. Visual Basic anlatılırken .NET Framework 3.5 ile gelen Visual Basic 9.0 derleyicisi ve Visual Studio 2008 kullanıldı. Bu yazıda asıl bu kitapta Visual Basic’ı nasıl anlattım sorusuna cevap aramaya çalışacağım.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_yxH-rYqtVB4/SgqBEcWUZEI/AAAAAAAAAFQ/UNExQjKNdUY/s1600-h/vb_book_9.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5335218621903037506" style="WIDTH: 271px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://2.bp.blogspot.com/_yxH-rYqtVB4/SgqBEcWUZEI/AAAAAAAAAFQ/UNExQjKNdUY/s400/vb_book_9.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Elbette Visual Basic uygulamaları geliştirmek için kullanılan bilgisayara .NET Framework kurulup Not Defteri programı ile istenen programları yazmak mümkün olsa bile bu zahmetlidir. Bu nedenle Visual Basic veya .NET uyumlu başka bir programla diliyle uygulama geliştirmek isteyenler Visual Studio’yu veya Visual Basic için hazırlanmış Express Edition’ı kullanmayı tercih ediyorlar. Bu nedenledir ki bu kitabın başında 18 sayfa boyunca Visual Studio ile hazırlanan Visual Basic uygulamalarının temel özellikleri ve bu uygulamaların nasıl derlenip çalıştırıldığı ve nasıl debug edildiğinden kısaca söz edildi. İşte bu kitabın ilk bölümüyle ilgili olarak kitaptan alınmış bir paragraf : “Bu bölümde ileride işlenecek bazı konulara temel oluşturan birkaç ayrıntıdan söz edilmektedir. Aslında Visual Basic programlama dilinden bağımsız olarak Visual Studio hakkında yüzlerce sayfa yazılabilir. Ne var ki bu kitabın böyle amacı yoktur.” Kitabın içindekiler sayfasına bakıp “bu kitabın 18 sayfası ekran görüntüleriyle doldurulmuş” diye eleştireceklere şunu söylemek isterim: İlk bölümde Visual Studio’nun yardımıyla uygulama geliştirilirken karşılaşılan en önemli kavramlardan birisi olan Debug ve Release modlarından söz edilmektedir.&lt;br /&gt;&lt;br /&gt;Bu kitabın Visual Basic ile Programcılığa Giriş adlı 2. bölümünde Visual Basic ve nesneye yönelik programcılık hakkında kuşbakışı bilgi verilmektedir. Bu sayede okurun Visual Basic ve nesneye yönelik programcılık hakkında temel bilgilere sahip olması hedeflendi. Bu kitabı incelemeden eleştirmeyi kafalarına koymuş olanlara şunu söylemek isterim:Memik Yanık’ın Visual Basic 9.0 kitabının 36 sayfadan meydana gelen Programcılığa Giriş adlı 2. bölümünü okuyanlar metotlarla olayları karıştırmazlar, Application sınıfının işlevinden bi haber olmazlar, formların nasıl hazırlanıp ekrana getirildiğini bilirler. Aşağıda verdiğim paragrafı kitaptan olduğu gibi buraya aldım: &lt;strong&gt;“Daha önce az çok kod yazmış olanlar bir sonraki bölüme şöyle bir baktıklarında bütün yazılanların bildikleri konular olduklarını sanabilirler. Sanabilirler diyorum çünkü bir sonraki bölümde Visual Basic ile program yazılırken gerek duyulan pek çok kavram hakkında teknik açıklamalar yapılmaktadır. Bu nedenle bu kitabı eline alan herkesin bir sonraki yani 2. bölümü dikkatlice okumasını öneriyorum. Tabii bu öneri kitapçıda veya herhangi bir yerde bu kitabı satın almayacakları önceden belli olup ta meraktan bu kitabı şöyle bir gözden geçirenleri veya Visual Basic hakkında yeterince bilgisi olanları kapsamıyor. Böyle bir kitaba ihtiyaçları olmayanların bir sonraki bölümde yazılanlara yabancı olmamaları normaldir. Bir sonraki bölümün gerek içerik gerekse de konuların işleyişi bakımından bütün yerli yabancı kaynaklardan ayrıldığını söyleyebilirim.”&lt;/strong&gt; Elbette bu kitabın 2. bölümünde yazılanların bir kısmının başka kaynaklarda bulunma ihtimali yüksektir. Programcılık kitaplarında bilim yapmadığımıza göre bu kitapta anlatılan hemen her konunun başka kaynaklarda bulunması son derece normaldir. Programcılık kitaplarının arasındaki en önemli fark konuların anlatım biçimi ve hikâye edilme tarzıdır.&lt;br /&gt;&lt;br /&gt;Gelelim bu kitabın Konsol Uygulamaları adlı 2. bölümüne. Bir sonraki bölüm bir bakıma Programcılığa Giriş adlı 2. bölümün devamı gibidir. Çünkü Konsol Uygulamaları adını verdiğim 3. bölümde Visual Basic kodu yazılmak istendiği zaman “ilk” gerek duyulacak kavramlar ve en çok kullanılan .NET sınıflarını anlatmaya çalıştım. Her ne kadar konsol uygulaması geliştirip başkasına verme ihtimaliniz düşük olsa bile bir sonraki bölümde Visual Basic ile program yazmanın geri planı üzerinde biraz durulmaktadır. Tabii bununla da yetinilmeyip Konsol Uygulamaları dahilinde Windows Formlarının nasıl ekrana getirilebileceği anlatılarak referans ve namespace kavramları hakkında ön bilgi verilmeye çalışılmaktadır. Yine bazı arkadaşlar “madem Windows formuna gerek duyuyorsun da neden konsol uygulaması hazırladın” diye sorabilirler. Bu soruyu soran arkadaşlara aşağıda verilen 2 Main() metodunu incelemelerini önermek isterim.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Sub Main()&lt;br /&gt;  Dim F1 As Form1&lt;br /&gt;  F1 = New Form1()&lt;br /&gt;  F1.Show()&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub Main()&lt;br /&gt;   Dim F1 As Form1&lt;br /&gt;   F1 = New Form1()&lt;br /&gt;   Windows.Forms.Application.Run(F1)&lt;br /&gt;End Sub&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Sizce Memik Yanık konsol uygulamasının Main() metodunu bu şekilde düzenlemekle neyi hedeflemektedir? Sizce hangi kaynakta(yerli yabancı fark etmez) Form nesnesi Application sınıfından yararlanılmadan Show() metodu ile ekrana getirilmeye çalışılmıştır? Hayır hayır Memik Yanık Amerika’yı yeniden keşfetmiyor; Memik Yanık’ın burada yaptığı okurun dikkatini Application sınıfının işlevine çekmektir. Sizce Application sınıfı hakkında yeterince bilgi edinmemiş birisi Windows mesajlarını hakkıyla anlayabilir mi?&lt;br /&gt;&lt;br /&gt;Gelelim bu kitabın 4. bölümde anlatılan şu Namespace kavramına. Her ne kadar bu kitabın 2. ve 3. bölümlerinde referans ve namespace’lerden söz edilmiş olsa bile .NET programcılığında henüz yolun başında olan birisi için namespace mutlaka öğrenmesi gereken kavramlardan birisidir. Tabi henüz yolun başında olan birisine namespace kavramını en başta anlatacağım deyip kafasını karıştırmamak gerekir. Bu düşünce ile namespace’ler hakkında bilgi vermeye kısıtlı bir konsol uygulaması hazırlayarak başladım. Çünkü Visual Basic derleyicisinin derleme yaparken neyin sınıf neyin namespace olduğuna karar verirken nasıl bir yöntem izlendiğinin bilinmesi gerekiyor. Bu nedenle Memik Yanık’ın kitabında derleme hakkında bilgi verirken “System.dll” ve “System.core.dll” adlı referanslardan söz etti. Namespace adlı bölümün ileri ki sayfalarında .NET Framework ile gelen namespace’lerdeki sınıfları kullanmaktan öte programcıların kendi sınıflarını nasıl namespace olarak düzenleyebileceklerinden söz edildi. Tabii ki Visual Basic konulu kitapların hemen hepsinde nasıl namespace hazırlandığından söz edilmektedir.&lt;br /&gt;&lt;br /&gt;Memik Yanık’ın Visual Basic kitabının 5. bölümünde 36 sayfa boyunca değişkenler hakkında bilgi verilmektedir. Bazı okurlar 'değişkenlere bu kadar sayfa ayırmanın gerekçesi nedir?' diye sorabilirler. Elbette daha önce Visual Basic hakkında az çok bilgi edinmiş olanları göz önüne alırsak değişkenlere daha az sayfa ayırmak gerekirdi. Örneğin daha önce Visual Basic konulu kaynakları okumuş olanlar değişkenlerin nasıl tanımlanıp nasıl ilk değer aktarıldığını bilirler. Her ne kadar bu bölümde Nullable tiplerden, Parse() metodundan, Convert sınıfından söz edilse bile bu kitabı bu bölüm bağlamında değerlendirecek olursam şunları söyleyebilirim:Visual Basic 9.0 kitabımın bu bölüm bağlamında bir artısı varsa değişkenlerin bütün yönleri ile ele alınmış olmasıdır. Bu nedenle değişkenler konusunu bu kitaptan okuyan birisi değişkenlerle ilgili olarak başka kaynaklara bakma gereğini duymaz. Benzer şeyler bu kitabın 6. bölümü için de söylenebilir. Çünkü kitabın 6. bölümünde 18 sayfa boyunca dizi değişkenler ve Array sınıfı her yönüyle en ince ayrıntısına kadar anlatılmaktadır. Belki bu kitap Değişkenler adlı bölüm bağlamında şöyle eleştirilebilir: Bu metni biraz kesip, bazı metot ve işlemlerden söz etmeyip birkaç sayfa tasarruf edebilirdiniz. Ancak ben tercihimi dizi değişkenleri her yönüyle anlatmak yönünde yaptım. Yani istedim ki bu kitabı edinenler Visual Basic’la ilgili temel konuları öğrenirken başka kaynaklara başvurma gereğini duymasın.&lt;br /&gt;&lt;br /&gt;Şimdi sırada bu kitapta toplam 8 sayfa yer tutan Operatörler adlı bölüm var. Tabi hemen bazı arkadaşlar 8 sayfa boyunca artı(+), eksi(-), bölme(/) vs.. operatörlerinden söz etmiş olduğumu düşünebilirler. Bu bölümde bu operatörlere kısaca değinilmiş olsa bile asıl ağırlık Kaydırma Operatörleri ile Is, IsNot ve TryCast operatörlerine verildi. Çünkü Is ve IsNot operatörleri çok sık kullanılmaktadır. Devamında 3 sayfa boyunca bit düzeyinde işlem yapılırken kullanılan operatörlerden söz edildi. Matematiksel işlemlerde kullanılan operatörler hakkında bu kitapta yazılanlar çıkarılsa bile sayfa sayısı değişmiyordu. Bit düzeyinde işlem yapılırken kullanılan operatörlerden yararlanmak son derece teknik bir işlem olmasına rağmen konular öyle hikaye edildi ki ilk okumada mutlaka anlaşılacak yalınlıktadır.&lt;br /&gt;&lt;br /&gt;Bu kitabın Blok Kontrol adlı bölümünde 10 sayfa boyunca if, while, for, for each’ten söz edildi. Bu kitabın bu bölüm bağlamında diğer kitaplara bir artısı pek yoktur. Ancak başlangıçta zor anlaşılan for each döngüsünü daha önce duymamış kullanmamış olanlar bile ilgili sayfaları okuduklarında hemen konuya hakim olabilirler.&lt;br /&gt;&lt;br /&gt;Bu kitabın 9. bölümünde 26 sayfa boyunca String işlemlerinden ve Math sınıfındaki metotlardan söz edilmektedir. Neden mi bu konuyu önemsedim? Çünkü kod yazılırken en çok yapılan işlemlerin başında string işlemleri gelmektedir. Elbette String ve Math sınıflarının bazı metotlarını göz ardı edip bu bölümün sayfa sayısını 22’ye düşürmek mümkündü. Bu durumda Visual Basic ile programcılıkta yeni olan okurların başka kaynaklara başvurma ihtiyacı olurdu. Açıkçası istedim ki bu kitabı her kim edinirse String ve Math sınıfının metotları konusunda eksiksiz bilgiye sahip olsun. Örneğin String sınıfının Split metodunu ayrıntılı bir şekilde anlattım. Bu kitabın 14 sayfalık 10. bölümü bir bakıma String İşlemleri adlı 9. bölümün devamı gibidir. Çünkü 10. bölümde StringBuilder sınıfından ve Düzenli İfadelerden söz edilmektedir. Tam bu noktada bu kitabın boyutlarından kısaca söz etmek istiyorum. Bu kitabın yazı alanın genişliği tam tamına 13 cm’dir. İsim vermeye gerek yok aynı genişliğe sahip(16 cm) birçok kitapta yazı alanı genişliği en fazla 11.5 cm’dir. Asıl demek istediğim şudur: Toplam 1074 sayfa olan bu kitap başka yayınevlerinin ölçüleri ile basılsaydı sayfa sayısı en az 1200 olurdu. Yani anlayacağınız bu kitabın sayfa sayısını azaltmak sürekli çaba harcadım.&lt;br /&gt;&lt;br /&gt;11. bölümde 16 sayfa boyunca tarih ve zaman bilgileri bütün ayrıntıları ile anlatılmaktadır. Başka bir deyişle bu kitabı okuyan birisi için tarih ve zaman bilgileri üzerinde yapılan işlemler bağlamında bilmediği hiçbir ayrıntı kalmaz. Ayrıca bu bölümü okuyanlar Ticks özelliği ve TimeSpan yapısı hakkında bilgi sahibi olurlar. Bazı arkadaşlar yine itiraz edip Tarih ve zaman bilgileri üzerinde yapılan işlemleri anlatmak için 16 sayfa fazla değil mi? Bir görüşe göre evet. Şartları zorlayıp bu bölümün sayfa sayısını 12 veya 14’e indirmek mümkündü. Ötesi birçok kitapta bu konuya ayrılan sayfa sayısı üç beştir. Buna rağmen neden mi bu konuyu bütün ayrıntıları ile anlattım. Çünkü izlediğim forumlarda zaman ve tarihsel bilgiler üzerinde yapılan işlemlerle ilgili çok sayıda soru sorulduğunu gördüm. Başka bir deyişle her Visual Basic programcısının bu işlemlere ihtiyacı olduğundan herkesin bu işlemler hakkında bilgi sahibi olması gerekiyor.&lt;br /&gt;&lt;br /&gt;Her ne kadar bu kitabın Programcılığa Giriş ve Konsol Uygulamaları adlı 2. ve 3. bölümlerinde Class kavramından az çok söz edilmiş olsa bile konunun ayrıntıları 12. bölümden itibaren anlatılmaktadır. Birçok yerli yabancı kitapta Class’lardan söz edilirken memeli hayvanlardan, arabalardan vs. söz edilir. Başka bir deyişle Class kavramının zor anlaşılması için herkes görüş birliğine varmış gibidir. Memik Yanık nesneye yönelik programcılık şudur, şu ilkeleri vardır vs demeden direk kod üzerinde Class kavramından söz eder. Örneğin Memik Yanık bu kitabın ta ilk sayfalarında şöyle bir cümle kurdu: “Visual Basic programlarını Class olarak düzenlemek zorunlu olmasa bile Class olarak düzenlenmesi önerilmektedir. Bu nedenle aşağıdaki gibi bir Class bloğu hazırladım”. Bu kadar basit. Henüz yolun başında olan ve programcılıkla ilgili temel kavramlardan bi haber olan birisine memelilerden, arabalardan vs söz etmek kafaları karıştırmaktan öte bir işe yaramaz. Ötesi Visual Basic’la ilgili kaynaklarda değişken-alan ayrımından hiç söz edilmez. Tamam kitabın başında eski alışkanlıklara uyup alanlara değişken denilmesi belki anlatım kolaylığı sağlıyor ama Class’lar ve nesneye yönelik programcılık anlatılırken değişkenlerin gerçekte alan olduğundan hiç söz edilmez.&lt;br /&gt;&lt;br /&gt;Daha önce az çok program yazmış ve nesne nedir Class nedir sorularına verecek cevabı olan birisi Memik Yanık’ın kitabındaki “Class’lar ve Nesneye Yönelik Programcılık” adlı 30 sayfalık bölüme şöyle baktığına kesin burun kıvıracaktır. Sanki Memik Yanık bu bölümü Visual Basic uzmanları için yazmış ta uzmanların bu metinden öğreneceği yeni bir şey yokmuş. Sanki Memik Yanık bu bölümü herkesin işine yarayacak Class örnekleri hazırlamak için kaleme almış. Bu bölümün amacı Class’lar ve Class’ların üyelerinden söz etmektir, yapıcı ve yok edici metotların nasıl hazırlandığını okura göstermektir, statik yapıcı metotların işlevinden söz etmektir. Eğer okurun birisi bu bölümü okuyup Class’lar hakkında genel bilgiye sahip oluyorsa bu bölüm işlevini yerine getirmiştir. Her ne kadar bu kitabın “Class’lar ve Nesneye Yönelik Programcılık” adlı bölümde Class’ların en önemli üyesi metotlardan söz edilmiş olsa bile metotlar ayrı bir bölümde ayrıntılı bir şekilde incelendi. Başka bir deyişle Memik Yanık’ın Visual Basic 9.0 kitabının 14 sayfalık 13. bölümünü okuyanlar metotlarla ilgili her tür bilgiye sahip olurlar.&lt;br /&gt;&lt;br /&gt;Bu kitabın 14. ve 15. bölümlerinde İndeksleyiciler ve Interface’lerden söz edildi. Nesneye yönelik programcılıkta indeksleyiciler zor anlaşılan konulardan birisidir. Memik Yanık 8 sayfalık bu bölümü öyle bir kaleme aldı ki hayatında daha önce indeksleyici kavramını hiç duymamış olanlar bile ilk okumada yazılan her şeyi anlayabilirler. Benzer şeyler 14 sayfa boyunca Interface’ler hakkında bilgi verilen bölüm için de söylenebilir. Gelelim nesneye yönelik programcılığın hem önemli hem de zor anlaşılan 2 konusuna: Delegate ve Olaylar. Sizce Delegate’ler ve Olaylar neden zor ve genellikle yanlış anlaşılan 2 konudur. Tabi bazı arkadaşlar şöyle bir yorum getirecekler: Forma bir Button nesnesi yerleştirirsin sonra tasarım anında bu button nesnesini çift tıklarsın vs.. Zaten Delegate ve Olayların zor ve yanlış anlaşılmasının temelleri Button nesnesinden ve tasarım anında Button nesnesi çift tıklandığında hazırlanan kodun anlatılış şeklinde yapılmaktadır. Hal bu ki gerçek başkadır: Tasarım anında formdaki Button nesnesi çift tıklandığında Visual Studio programcının söz konusu Button nesnesinin Click olayını temsil edecek bir metot hazırlamak istediğini varsayıp Click olayının yapısına uygun bir metodu hazırlayıp Click olayıyla ilişkilendirmektedir. Kullanıcı çalışma anında button nesnesini tıkladığında Button nesnesiyle ilgili olarak Click olayının nasıl tetiklendiğinden söz edilmediği için konu havada kalıyor. Memik Yanık bu düşünceyle 20 sayfa boyunca delegate ve olaylardan söz etti.&lt;br /&gt;&lt;br /&gt;Bu kitabın 18 sayfalık Module, Stucture ve Enum Tipleri adlı bölümünü okuyanlar Structure’ların ne olduğu, hangi amaçlarla kullanıldığı, sınıflarla structure’ler arasında ne gibi farkların olduğunu kısa sürede öğrenirler. Devamında Enum tipleri hakkında ayrıntılı bilgiye sahip olduğu gibi Enum’larla ilgili olarak başka kaynaklara başvurma ihtiyacı kalmaz. Gelelim bu kitabın 12 sayfalık Object Sınıfı adlı bölümüne. Bütün Visual Basic kitaplarında dakka 1 gol 1 misali daha ilk sayfadan Object sınıfından söz edilir. Okur kitabın sonuna kadar gelir ama hala Object sınıfı hakkında derli toplu bilgiye rastlamaz. Object sınıfı hakkında yeterli bilgiye sahip olmayan okur ToString() metoduyla ilgili olarak anlatılanları kavramakta zorlanır. Memik Yanık ne mi yaptı? Kitabının ortalarına bile gelmeden Object sınıfının önemli gördüğü özelliklerini ve metotlarını anlaşılır bir dille anlattı.&lt;br /&gt;&lt;br /&gt;Bu kitabın mevcut yerli yabancı Visual Basic kitaplarına fark atılan bölümlerden bir diğeri Koleksiyon Sınıfları adlı 19. bölümdür. Bu bölümde 50 sayfa boyunca .NET Framework ile gelen koleksiyon sınıfları ve bu sınıflarla ilgili bütün Interface’ler ayrıntılı bir şekilde anlatılmaktadır. Bu bölümün tümünü okuyan birisi kendisini koleksiyon uzmanı olarak ilan edebilir. Koleksiyonlar konusu oldukça kapsamlı olduğu için BitArray, BitConverter, Buffer, StringCollection ve StringDictionary sınıflarını ayrı bir bölüm olarak düzenledim. Tabi hemen aklınıza Generic koleksiyonları ne yaptınız Sorusu gelmiş olabilir. Bu kitabın 21. bölümünde 24 sayfa boyunca önce .NET Framework ile gelen Generic koleksiyon sınıflarından, devamında Generic sınıflarından söz ettim. Yurt dışında yalnızca Generic sınıflardan söz edilen bağımsız kitaplar yazıldığına göre bu kitabımda Generic koleksiyonları ve sınıfları bütün yönleriyle anlatmadığımı tahmin etmiş olmalısınız.&lt;br /&gt;&lt;br /&gt;Şimdi sözünü edeceğim 3 bölüm gerek içerik gerekse de anlatım şekli bakımından mevcut(tabi bu değerlendirme benim görebildiğim kitaplarla sınırlıdır) kitaplara fark atmaktadır. Her ne kadar Hata Ayıklamak ve Debug İşlemleri adlı 16 sayfalık bölümün ilk 7 sayfasında anlatılan konuları hemen her kaynakta bulmak mümkün olsa bile bu bölümün diğer sayfalarında Debug, Trace, TextWriterTraceListener ve EventLogTraceListener sınıfları hakkında ayrıntılı bilgi verilmektedir. 24. bölümde ise hata yakalanırken kullanılan Exception sınıfları anlatılmaktadır. Tabii ki başka kaynaklarda da Exception sınıfları hakkında bilgi bulabilirsiniz. Gelelim şu Application sınıfına. Diğer kaynaklarda Application sınıfının bazı özellikleri ve metotları hakkında bilgi veriliyor olsa bile hiçbir kaynakta 32 sayfa boyunca yalnızca Application sınıfından söz edilmemektedir. Application sınıfı hakkında bilgi içeren bu bölümü kitap hakkında ve konuların nasıl işlendiğini merak edenler için &lt;a href="http://www.memikyanik.com/makeleler/application_sinifi_vb.htm"&gt;burada&lt;/a&gt; yayınladım. Tabi bu bölümün kitabın tam ortasında bulunduğunu, başka bir deyişle kitabın daha önceki bölümlerini okumamış olanların ilk okumada anlamayacakları cümleler olabilir.&lt;br /&gt;&lt;br /&gt;Bu kitabın içindekiler sayfasına bakan birisi Form Sınıfının Özellikleri, Olayları ve Metotları adlı bölümde 22 sayfa boyunca klasik olarak formların herkes tarafından bilinen özelliklerinden söz edildiğini sanabilir. İşte size bu bölümden alınma 3 satırlık kod.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Protected Overrides Sub OnCreateControl()&lt;br /&gt;     MyBase.OnCreateControl()&lt;br /&gt;End Sub&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Tabii ki burada bu 3 satırlık kodun işlevinden söz etmeyeceğim, demek istediğim şudur: Bu 3 satırlık koda başka basılı kaynaklarda rastlama ihtimaliniz son derece düşüktür. Başka bir deyişle bölümün adı Form Sınıfının Özellikleri olsa bile son derece teknik bilgiler içermektedir.&lt;br /&gt;&lt;br /&gt;Bu kitabın diğer basılı kaynaklar bağlamında en sıradan bölümü “Sık Kullanılan Kontroller” adlı bölümüdür. Bu bölümde sık kullanılan 20’ye yakın kontrol 38 sayfa boyunca anlatılmaktadır. Bu kontroller anlatılırken daha önce az çok kod yazmış herkesin ilk bakışta tahmin edeceği özellik ve metotlardan söz edilmedi. Yoksa çok sayıda kontrolü 38 sayfada anlatmak mümkün olmazdıç&lt;br /&gt;&lt;br /&gt;Bu kitabın Dosya ve Klasör İşlemleri adlı bölümünde 28 sayfa boyunca Visual Basic kodu yazan birisinin gerek duyması muhtemel bütün bilgiler verilmektedir. Başka bir deyişle bu bölümü okuyanlar dosya ve klasör işlemleri bağlamında başka kaynaklara başvurma ihtiyacını duymazlar. Kapsamı bir yana Memik Yanık’ın kitabının bu bölümünü okuyanlar yorulmazlar, anlatılanları izlemekte zorluk çekmezler.&lt;br /&gt;&lt;br /&gt;Şimdi bu kitabın mevcut basılı kitaplar bağlamında bence açık ara önde olduğu 3 bölümden kısaca söz edeceğim. Birçok kaynakta Visual Basic uygulamaları dahilinde Word ve Excel’den nasıl yararlanıldığı kısaca anlatılırken Memik Yanık’ın kitabında bu konu 30 sayfa boyunca ayrıntılı bir şekilde anlatılmıştır. Ayrıca bu anlatma öyle bir anlatmadır ki ilk okumada anlaşılmayacak bir tek cümle bile yoktur. Benzer şekilde Api Fonksiyonları adlı bölümde Memik Yanık programcıların en çok gerek duyduğunu sandığı çok sayıda API fonksiyonunu 40 sayfa boyunca anlatmıştır. Windows Mesajları adlı bölümde ise Memik Yanık 20 sayfa boyunca son derece teknik bir konuyu ilk okumada anlaşılacak yalınlıkta anlatmıştır. Bu kitabın hepsi ileri düzey diye anılan diğer bölümlerinden söz etmeye gerek duymadım. Çünkü ileri düzey konulara gerek duyanlar zaten neyi aradıklarını biliyorlar.&lt;br /&gt;&lt;br /&gt;Her ne kadar Memik Yanık bu kitabında 30 sayfa boyunca Visual Basic uygulamaları dahilinde Word ve Excel'den nasıl yararlanıldığını anlatmış olmakla birlikte bu amaçla kullanılan sınıfların örneklerini hazırlamak gerektiğini Dünyanda ilk kez akıl eden yerli bir yazardır. Bu yerli yazar 2004 yılında yazdığı kitabında aşağıda verilen 2 satırlık kodu programcılık dünyasına hediye edip programcıların önünü açmamış olsaydı Memik Yanık kitabında 30 sayfa boyunca Word ve Excel'den söz edemezdi. Ötesi bu yerli yazarımız olmasaydı Memik Yanık kitabında Word.Application tipindeki değişkene "Word_uygulamasi" gibi bir ad veremezdi(!). Mümkünü yok Memik Yanık bu değişkene ad kendi imkanlarıyla değişken adı bulamazdı.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Dim Word_uygulamasi As Microsoft.Office.Interop.Word.Application&lt;br /&gt;Word_uygulamasi =New Microsoft.Office.Interop.Word.Application()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Buraya kadar Visual Basic kitabımım yarısından biraz fazlasından söz ettim. Kitabın diğer bölümlerini de anlatıp bu yazının sayfa sayısını iki katına çıkarırsam tamamını okuyanların oranı düşüreceği için bu kitabım üzerine konuşmayı burada kesiyorum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-4388615997578680153?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/4388615997578680153/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=4388615997578680153' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4388615997578680153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/4388615997578680153'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/visual-basic-90-kitabm-hakknda.html' title='Visual Basic 9.0 Kitabım Hakkında'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yxH-rYqtVB4/SgqBEcWUZEI/AAAAAAAAAFQ/UNExQjKNdUY/s72-c/vb_book_9.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-6446245582829541580</id><published>2009-05-12T22:56:00.002+02:00</published><updated>2009-05-13T10:11:41.192+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Application Sınıfı'/><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='VB 9.0'/><title type='text'>Visual Basic 9.0 Kitabımdan Alınma Örnek Bölüm: Application Sınıfı...</title><content type='html'>2008 yılının son aylarında yayınlanan C# 3.0 kitabımın içeriği ve konuların ele ele alınış şekli hakkında potansiyel okurların fikir sahibi olmasını sağlamak için kişisel sitemde yayınlanacak bölümü seçmek zor olmamıştı. Çünkü &lt;a href="http://www.memikyanik.com/download/yazarlik_dersler-e-book.rar"&gt;Programcılar İçin Yazarlık Dersleri&lt;/a&gt; adlı PDF’yi hazırlarken C# 3.0 kitabımdan aldığım “C# Uygulamalarında Word’den Yararlanmak” ve “Exception Sınıfları” adlı 2 bölümden yararlanmaya karar vermiştim. Dolayısıyla bu uzunca 2 bölümü kişisel sitemde yayınlamam gerekiyordu. Ancak konu Visual Basic 9.0 kitabımdan örnek bir bölümü seçip yayınlamak olduğunda seçim yapmak kolay olmadı. &lt;a href="http://www.memikyanik.com/makeleler/application_sinifi_vb.htm"&gt;Tamamı burada...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-6446245582829541580?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/6446245582829541580/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=6446245582829541580' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6446245582829541580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/6446245582829541580'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/visual-basic-90-kitabmdan-alnma-ornek.html' title='Visual Basic 9.0 Kitabımdan Alınma Örnek Bölüm: Application Sınıfı...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2374112852589625068</id><published>2009-05-11T12:15:00.001+02:00</published><updated>2009-05-11T12:17:23.705+02:00</updated><title type='text'>Visual Basic İçin Programcılık Derslerinin 4. sü Güncellendi..</title><content type='html'>2007 yılının son aylarında .NET uyumlu Visual Basic, C# ve Delphi programlama dillerini henüz öğrenenleri düşenerek ders şeklinde düzenlenmiş toplam 10 makale hazırlamıştım. Sonra bu makalelerin C# için olanlarını gözden geçirip sayısını 6'ya çıkarmıştım. Şimdi sırada VB derslerinin sayısını arttırmak var. İlk olarak Visual Basic'le ilgili mevcut &lt;a href="http://www.memikyanik.com/dersler/vb/vb_ders_4.htm"&gt;4. dersi&lt;/a&gt; gözden geçirip genişlettim. Kısa bir süre sonra Visual Basic'le ilgili 5. ve 6. dersi hazırlayacağım.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2374112852589625068?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2374112852589625068/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2374112852589625068' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2374112852589625068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2374112852589625068'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/visual-basic-icin-programclk.html' title='Visual Basic İçin Programcılık Derslerinin 4. sü Güncellendi..'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-3358490781923661688</id><published>2009-05-11T11:56:00.003+02:00</published><updated>2009-05-12T23:07:35.008+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Stored Procedure'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Stored Procedure'ler İle Neleri Yapmak Cazidir? - 2</title><content type='html'>Malumunuz olduğu üzere daha önce yazıp &lt;a href="http://www.memikyanik.com/makeleler/stored_procedure_ile_neleri.htm"&gt;burada&lt;/a&gt; sizinle paylaştığım makalede Stored Procedure’ler ile hangi işlemleri yapmanın serbest, hangilerini yapmanın yasak olduğu sorusuna cevap aramaya çalışmıştım. O yazıda Stored Procedure’ler ile tablolara kayıt ekleme işleminden söz etmiştim. Şimdi benzer araştırmayı Stored Procedure’ler ile veri çekme hakkında yapacağız. Bakalım Stored Procedure'ler ile tablolardan veri çekmek serbest mi yoksa yasak mı? Tamamı &lt;a href="http://www.memikyanik.com/makeleler/stored_procedure_ile_neleri_2.htm"&gt;burada..&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-3358490781923661688?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/3358490781923661688/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=3358490781923661688' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3358490781923661688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/3358490781923661688'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/05/stored-procedureler-ile-neleri-yapmak.html' title='Stored Procedure&apos;ler İle Neleri Yapmak Cazidir? - 2'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-543814330335322656</id><published>2009-04-28T20:16:00.002+02:00</published><updated>2009-11-14T12:05:14.628+01:00</updated><title type='text'>Programcılık Kitapları İçin Yorumları Kimler Yazıyor?</title><content type='html'>Yıllar önce Bahattin Bayburan'ın Standart C kitabını almış ve beğenmiştim. Yakın bir zamana kadar birisi bana C'ye başlamak istiyorum, hangi kitabı önerirsin diye sorduklarında genellikle Bahattin beyin kitabını önerdim. Benzer şekilde okurun birisi kitapçıdan veya kitap satış sitesinden kitap alıyor. Aldığı kitabı beğenen okur kitap satış sitesine veya forumlara kitabı beğendiğini yazıyor. Kitabı beğenmediyse veya kitap beklentilerine uygun çıkmadıysa bu kez okur olumsuz birşeyler yazıyor. Bu anlattığım senaryo her zaman geçerli olmuyor. Çünkü bazı yazarların görevli yorumcuları var. Bu yorumcular bazen rakip yazarların kitabını kararlarken bazen de kendi kitaplarını yere göğe sığdıramıyorlar. Bana sorarsanız forumlarda ve kitap satış sitelerinde programcılık kitaplarıyla ilgili olarak yapılan yorumlara gözü kapalı inanmayın. Programcılık kitapları için yapılan yorumlarla ilgili olarak bugün aldığım bir maili biraz değiştirip(yayınevlerinin ve kitapların adı belli olmasın istedim) sizinle paylaşacağım.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Bu kitap ne zaman çıktı ne zaman satılmaya başladı ve ne zaman bu yorumlar yapıldı merak ediyorum. Bir yayınevine ait kitapların yorumlarına baktım. İlk yorumları yazanlar hep aynı kişiler. Acaba bu yorumları kitap satışlarını yönlendirmek için ilgili yayınevinin elemanları mı yazıyor? Bu yorumlar ne kadar objektif? Ayrıca bu kişiler nasıl oluyor bu kitaplar çıkar çıkmaz hem Flash hem C# hem ASP.NET hem de PHP kitabını almışlar. Keşke piyasadaki programcılık kitaplarının değerlendirilebileceği bir yer olsa. Ben bu şekilde insanların yönlendirilmesinin pazarlama açısından çakallık olsa da çok etik bulmuyorum.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;Ek(04.05.2009):Programcılığa yıllar önce Clipper kitabımla başlayan eski bir okurdan 2 gün önce bir mail aldım. Bana ilk kez mail gönderen bu arkadaş bir kitap satış sitesine C# 3.0 kitabımla ilgili olarak yorum yazdığını ama aradan günler geçmesine rağmen yorumun yayınlanmadığını haber veriyordu. Bu arkadaşın yazdıkları benim için hiç süpriz olmadı. Çünkü aynı şey benim ve başka arkadaşların başına da gelmişti. Siz siz olun kitap satış sitesinden torpilli olan kitaplar hakkında olumsuz, torpilli kitapların rakibi kitaplar hakkında ise olumlu şeyler yazmayın.&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-543814330335322656?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/543814330335322656/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=543814330335322656' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/543814330335322656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/543814330335322656'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/04/programclk-kitaplar-icin-yorumlar.html' title='Programcılık Kitapları İçin Yorumları Kimler Yazıyor?'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-5161192907754184865</id><published>2009-04-25T10:49:00.003+02:00</published><updated>2009-04-26T00:00:03.856+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='C# 3.0'/><title type='text'>Düşman Uyur, Memik Yanık Kitapları Az Satsın Diye Uğraşanlar Uyumaz...</title><content type='html'>&lt;p&gt;Her gün orada burada yazdığım kitapların satışını azaltmak için çok sayıda arkadaş seferber oluyor. Bunu yaparken bazen komik duruma düşüyorlar bazen yalan yazıyorlar. Aşağıda verilen paragraf kitapyurdu.com’da C# 3.0 kitabım için yapılan bir yorumdur.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Kitap MSDN kütüphanesinin türkçeleştirilmiş hali. Kitabı anlamak için bir ingiliz veya &lt;/em&gt;&lt;a style="COLOR: black; TEXT-DECORATION: none; text-underline: none; text-line-through: none" href="http://www.kitapyurdu.com/arama/default.asp?stype=4&amp;amp;LogID=&amp;amp;type=list&amp;amp;anahtar=amerika&amp;amp;populer=0&amp;amp;aramasekli=1&amp;amp;exactly=ON&amp;amp;satis=2&amp;amp;x2=0&amp;amp;populer=1"&gt;&lt;em&gt;amerika&lt;/em&gt;&lt;/a&gt;&lt;em&gt;lı gibi düşünmeniz gerekmektedir. Bize özgü bir türkçe yok. Ve konular bizim anlayış biçimimize uygun dizilmemiş olup. Paramın boşa gittiği kanaatindeyim.&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Nedense bu kitabımı incelemeyenler yorum yazıyorlar. Yorumu yapan arkadaş diyor ki bu kitabım MSDN’nin Türkçeleştirilmiş haliymiş. Peşinen söyleyeyim ki bu yorumu yapan arkadaş şimdiye kadar kitaplar hakkında yazdıklarımın hiç birisini okumamış. Çünkü daha önce onlarca kez yazdığım gibi yıllardır hem araklama kitapları eleştirdim hem de yabancı kitaplardan veya MSDN’den çeviri yapacak kadar akıcı İngilizcem olmadığını yazdım. Yani yorumu yapan arkadaşımız Türkçeleştirme konusunda "atmış" ama tutturamamış.&lt;br /&gt;&lt;br /&gt;Yorumcu arkadaş bu kitabı anlamak için İngiliz veya Amerikalı gibi düşünmek gerektiğini beyan etmiştir. Bu durumda resmi olarak çevirisi yapılan çok sayıda kitabın yabancı yazarları Türkler gibi düşünenler için mi yoksa kendi ülkesinin insanları gibi düşünenler için mi kitap yazdılar? Keşke bu arkadaşımız kitabın satışını engellemek amacıyla yazdığı yorumu yayınlamadan önce okunduğunda ne anlama geleceğini öngörseydi. Bu yorumcu arkadaşımıza göre bu kitapta bize özgü Türkçe yokmuş! Hangi ülkenin insanlarına özgü Türkçe varmış belirtmemiş. Belki de Ruslara, İngilizlere, İrlandalara özgü bir Türkçe kullandığımı ima ediyordur..&lt;br /&gt;&lt;br /&gt;Bu arkadaş C# 3.0 kitabımda ayrıca konuların bizim anlayışımıza göre sıralanmadığını belirtmiş. Keşke konuların hangi milletin anlayışına göre sıralamış olduğumu yazmış olsaydı. İşte bu kitabın ilk 5 bölümün adı:&lt;br /&gt;&lt;br /&gt;Vısual Studıo .Net’in Program Geliştirme Ortamı&lt;br /&gt;Visual C# İle Programcılığa Giriş&lt;br /&gt;Konsol Uygulamaları&lt;br /&gt;Namespace Hazırlamak Ve Kullanmak&lt;br /&gt;Değişken Tanımlamak Ve Kullanmak &lt;/p&gt;&lt;p&gt;kitapyurdu.com'a yorum yazan bu arkadaş hiç merak etmesin; bu kitabın başka bir sonraki basımında bu ilk 5 konuyu kitabın sonuna alırım(!) veya bu 5 bölümü kitabın değişik yerlerine serpiştiririm. Belki o zaman C# 3.0 kitabımın içeriği bizim anlayışımıza göre dizilmiş olur(!).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-5161192907754184865?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/5161192907754184865/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=5161192907754184865' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5161192907754184865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/5161192907754184865'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/04/dusman-uyur-memik-yank-kitaplar-az.html' title='Düşman Uyur, Memik Yanık Kitapları Az Satsın Diye Uğraşanlar Uyumaz...'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-2227386161472507359</id><published>2009-04-21T15:44:00.000+02:00</published><updated>2009-04-21T15:45:10.127+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programcılık Kitapları'/><title type='text'>Programcılık Kitaplarını İndirimli Almak..</title><content type='html'>Kitapların fiyatları hakkında daha önce bir şeyler yazmıştım; tekrar niyetine birkaç cümle daha: Herkesin bildiği gibi elde kalma olasılığı yüksek ürünler yüksek marjla satılır. Yüksek marjla satış yapan mesleklere manavlar, mevsimlik giyim eşyası satan mağazalar ve kitapçılar sayılabilir. Yakın bir zamana kadar yayıncılar yeni bir kitap yayınladıklarında bağlantıda oldukları kitapçılara üçer beşer adet gönderirlerdi. Yayıncılar veya dağıtımcılar kitabın kapak fiyatı üzerinden kitapçılara ortalama %25 indirim yaparlardı. Örneğin bir kitabın kapak fiyatı 20 TL ise kitapçı bu kitabı 15 TL'ye alırdı. Sonra ne mi oldu? Bazı yayıncılar kitapların fiyatlarını şişirip daha yüksek indirimlerle kitapçılara vermeye başladılar. Örneğin sayfa sayısına ve kağıt kalitesine göre kapak fiyatını 20 TL olarak belirledikleri kitabın fiyatını 25 TL olarak tespit edip kitapçılara ve kitap satış sitelerine %40-45 gibi yüksek indirimlerle satmaya başladılar. Birde bakarsınız ki kapak fiyatı 25 TL olan kitabı kitap satış sitesi 17-18 gibi bir fiyatla satıyor. Tabi bu durumda olan kitapçılara oluyor. Çünkü kitapçıda aynı kitap yine 25 TL'ye satılıyor. Bunu fark eden bazı kitapçılar tıpkı kitap satış siteleri gibi indirim yapmaya başladılar. Örneğin Ankara'daki Turhan kitapevinde bilgisayar kitapları %20 indirimle satılmaktadır. Yani gerçekte 20 TL'ye satılması gerekirken kapağına pazarlama taktiği olarak 25 TL yazılan kitabı Turhan kitapevinden 20 TL'ye almak mümkündür. Size önerim kitapçılardan bilgisayar kitabı alıyorsanız mutlaka indirim talep edin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-2227386161472507359?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/2227386161472507359/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=2227386161472507359' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2227386161472507359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/2227386161472507359'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/04/programclk-kitaplarn-indirimli-almak.html' title='Programcılık Kitaplarını İndirimli Almak..'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7800163049101768280</id><published>2009-04-20T02:52:00.001+02:00</published><updated>2009-04-20T02:54:15.620+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic 9.0'/><category scheme='http://www.blogger.com/atom/ns#' term='hepsiburada.com'/><title type='text'>hepsiburada.com'un Çok Satan Kitaplar Sıralaması</title><content type='html'>İlk programcılık kitabımın yayınlanmasının üzerinden 15 yıl geçmesine rağmen kitap satışları ile ilgilendiğim pek söylenemez. Yakın bir zamana kadar kitapyurdu.com'u bile ziyaret etmiş değildim. Çünkü evimin hemen yanında bütün bilgisayar kitaplarını bulunduran bir kitapçı(Kitapsan) var. 2008 yılının son çeyreğinde C# 3.0 kitabım çıkmıştı. Okurun birisi mail gönderip kitabı satın aldığını ve hepsiburada.com'a kitapla ilgili olarak yorum yazdığını söyleyince hepsiburada.com'un bilgisayar kitaplarını sattığından haberdar olmuş oldum. Sanırım hepsiburada.com programcılık kitaplarının satışına henüz başlamıştı. Çünkü o günlerde listelerinde sadece birkaç yayınevinden çıkan kitaplar vardı. C# 3.0 kitabım ilk çıktığı günlerde hepsiburada.com'da uzun süre en çok satan programcılık kitabıydı. Derken geçtiğimiz ay asp.net konulu bir kitap çıkınca C# 3.0 kitabım en çok satan kitap olma ünvanını kaybetti. Tam bu günlerde hepsiburada.com'un çok satan programlama kitapları listesinde henüz çıkan VB 9.0 kitabım görünmeye başladı. Bir ay boyunca bu 2 kitap listede ilk beşte yer aldı. Ayrıca hepsiburada.com'u arada bir ziyaret ettiğim bu günlerde daha önce yayınlanan Delphi 2007 ve Ado.net kitaplarım kitaplarım genellikle ilk 20'de yer aldılar. Sonra birden bütün kitaplarım 2 gün içinde listenin 150'dan sonraki sırasında yer almaya başladılar.&lt;br /&gt;&lt;br /&gt;Elbette yeni çıkan bir kitabın zamanla satışı azabilir ve çok satanlar listesinde gerileyebilir. Bu nedenle kitapyurdu.com'da C# 3.0 kitabımın satışına bakmakta fayda vardı. Toplam 1100 sayfa olan bu kitabın kapak fiyatı 53 TL'dir. Bu kitap kitapyurdu'nda 49 TL'ye satılırken hepsiburada.com'da bu kitabı 44 TL'ye edinmek mümkün olduğu için okurlar daha çok hepsiburada.com'u tercih ettiler. Buna rağmen C# 3.0 kitabım aylardır kitapyurdu.com'da 10. ile 15. sırada bulunmaktadır. Yani anlayacağınız kitabın satışı normal seyrinde devam ediyor. Bu durumda hepsibuarda.com'da Memik Yanık'ın bütün kitaplarının 2 günde ilk 10. sıradan hop 150. sıraya atlamasına nasıl bir açıklama yapılabilir bilmiyorum. 3 gün önce 5. sırada olan VB 9.0 kitabım şu an itibarıyla en az satan programcılık kitabı olarak görülüyor(!). hepsiburada.com'daki hepsi garip başka bir ayrıntı var: Hepsiburada.com gibi kitap satış siteleri satışı az olan kitaplarda stok bulundurmuyorlar. İyi satan bazı kitapları stokta bulundurup Hızlı Gönder diye işaret ediyorlar. Yani satışı en düşük olan kitabı stokta bulunduruyorlar. Çünkü 19.04.2009 tarihi itibarıyla VB 9.0 kitabımı hepsiburada.com'dan talep edenlere kitap beklenmeden kargoya verilecektir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7800163049101768280?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7800163049101768280/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7800163049101768280' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7800163049101768280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7800163049101768280'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/04/hepsiburadacomun-cok-satan-kitaplar.html' title='hepsiburada.com&apos;un Çok Satan Kitaplar Sıralaması'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5895961542671466085.post-7053486564931134309</id><published>2009-04-10T11:53:00.005+02:00</published><updated>2009-04-10T11:57:57.525+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Memik Yanık'/><category scheme='http://www.blogger.com/atom/ns#' term='foreach'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Foreach Deyimini Anlatma Kabahati</title><content type='html'>Az çok kod yazan herkesin malumu olduğu üzere koleksiyon şeklinde düzenlenmiş bilgiler üzerinde işlem yapılırken foreach deyiminden sıkça yararlanmaktadır. Bu nedenden dolayı olsa gerek Memik Yanık 2004 yılında yayınlanan C# kitabında foreach deyiminden söz etme gafletinde bulunmuştur. Çünkü Microsoft firması foreach deyiminden söz etme hakkını Türkiye'de mesleğinin zirvesinde bulunan bir yazara ver&lt;a href="http://4.bp.blogspot.com/_yxH-rYqtVB4/Sd8Xpb0BpBI/AAAAAAAAAFI/WkcxtCcUBnc/s1600-h/foreach_deyimi_1.jpg"&gt;&lt;/a&gt;miştir. Çünkü Microsoft yetkililerine göre foreach deyimini en güzel bu yerli yazar(lar) anlatabilir. Memik Yanık ilk C# kitabını kaleme alırken Microsoft'un bu tasarrufundan habersiz kalkmış foreach deyiminden söz etmiştir. Başka bir deyişle foreach deyiminden söz ederek suç işlemiştir(!). Önce Memik Yanık'ın foreach deyimiyle ilgili olarak kitabına yazdıklarına bakalım. Bu yazının tamamı &lt;a href="http://www.memikyanik.com/gunlukler/foreach_deyimini_anlatma_sucu.htm"&gt;şurada...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5895961542671466085-7053486564931134309?l=memikyanik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://memikyanik.blogspot.com/feeds/7053486564931134309/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5895961542671466085&amp;postID=7053486564931134309' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7053486564931134309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5895961542671466085/posts/default/7053486564931134309'/><link rel='alternate' type='text/html' href='http://memikyanik.blogspot.com/2009/04/foreach-deyimini-anlatma-kabahati.html' title='Foreach Deyimini Anlatma Kabahati'/><author><name>Memik YANIK</name><uri>http://www.blogger.com/profile/10452250685802630155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
