<?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-5559039573505380741</id><updated>2012-02-16T17:00:30.162+02:00</updated><title type='text'>Serkan Berksoy</title><subtitle type='html'>Teknik blog sayfama hoşgeldiniz. 

Karşılaştığım günlük problemleri, incelediğim yazılımları, kodlama ile ilgili püf noktalarını burada paylaşıyorum.

Sevgiler,
Serkan Berksoy</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5559039573505380741.post-2655293981329830471</id><published>2011-10-06T18:09:00.001+03:00</published><updated>2011-10-07T14:19:37.589+03:00</updated><title type='text'>C# Tam Hakimiyet Yayında</title><content type='html'>Hepsi Burada Linki:&lt;br /&gt;&lt;a href="http://www.hepsiburada.com/Liste/c-tam-hakimiyet/ProductDetails.aspx?productId=kdikeyeksen58834&amp;amp;categoryId=211651%20"&gt;http://www.hepsiburada.com/Liste/c-tam-hakimiyet/ProductDetails.aspx?productId=kdikeyeksen58834&amp;amp;categoryId=211651&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;D&amp;amp;R Linki:&lt;br /&gt;&lt;a href="http://www.dr.com.tr/0000000350708,0000000374912/Eser/Kitap/Egitim-Basvuru/Bilgisayar/C#-Tam-Hakimiyet"&gt;http://www.dr.com.tr/0000000350708,0000000374912/Eser/Kitap/Egitim-Basvuru/Bilgisayar/C#-Tam-Hakimiyet&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;İdefix linki&lt;br /&gt;&lt;a href="http://www.idefix.com/kitap/c-tam-hakimiyet/tanim.asp?sid=SP1JVCITPT2HBLSSY3JH"&gt;http://www.idefix.com/kitap/c-tam-hakimiyet/tanim.asp?sid=SP1JVCITPT2HBLSSY3JH&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kitap Yurdu linki&lt;br /&gt;&lt;a href="http://www.kitapyurdu.com/kitap/default.asp?id=588665&amp;amp;sa=91736957"&gt;http://www.kitapyurdu.com/kitap/default.asp?id=588665&amp;amp;sa=91736957&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/5559039573505380741-2655293981329830471?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/2655293981329830471/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2011/10/c-tam-hakimiyet-yaynda.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/2655293981329830471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/2655293981329830471'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2011/10/c-tam-hakimiyet-yaynda.html' title='C# Tam Hakimiyet Yayında'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-5373299323445119129</id><published>2011-09-30T11:19:00.002+03:00</published><updated>2011-10-05T10:09:55.340+03:00</updated><title type='text'>C# Tam Hakimiyet kitabım yakında yayında</title><content type='html'>Merhaba,&lt;br /&gt;&lt;br /&gt;Sizler için hazırladığım, &lt;b&gt;C# Tam Hakimiyet&lt;/b&gt;, isimli kitabım çok yakında yayımlanacaktır.&lt;br /&gt;Bu ilk kitabımda C# ile yazılım geliştirmeyi öğretirken bir&amp;nbsp; yandan gerçek hayat senaryolarında nelere dikkat etmeniz gerektiğini profesyonel ipuçları ile anlatıyorum. &lt;br /&gt;&lt;br /&gt;Şimdilik yayıncı Dikey Eksen'in web sitesinden detaylarına ulaşabilirsiniz.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dikeyeksen.com/programlama/csharp-tam-hakimiyet.html"&gt;http://www.dikeyeksen.com/programlama/csharp-tam-hakimiyet.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ayrıca facebook paylaşım sayfası da yayında;&lt;br /&gt;&lt;iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Fpages%2FC-Tam-Hakimiyet%2F279015412123353&amp;amp;width=292&amp;amp;colorscheme=light&amp;amp;show_faces=true&amp;amp;border_color&amp;amp;stream=true&amp;amp;header=true&amp;amp;height=590" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:590px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Daha sonra satın alabileceğiniz linkleri de ekleyeceğim.&lt;br /&gt;&lt;br /&gt;Serkan Berksoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-5373299323445119129?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/5373299323445119129/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2011/09/c-tam-hakimiyet-kitabm-yaknda-yaynda.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/5373299323445119129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/5373299323445119129'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2011/09/c-tam-hakimiyet-kitabm-yaknda-yaynda.html' title='C# Tam Hakimiyet kitabım yakında yayında'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-2077099341614283034</id><published>2011-06-27T15:36:00.002+03:00</published><updated>2011-06-28T08:33:19.878+03:00</updated><title type='text'>TDD ve BDD üzerine</title><content type='html'>3 yıldır TDD uyguluyoruz ve yakın zamanda BDD ile proje yapma fırsatı bulduk. TDD'yi J.B. Rainsberger'dan (kendisini çok sevdiğimiz Joe'dan) öğrendim, BDD'yi de daha sonra kendi çabamla öğrenip, deneyip ekibime anlattım.&lt;br /&gt;&lt;br /&gt;İşe alım görüşmelerimde ve etrafımdaki yazılımcı arkadaşlarda gördüğüm fikir karmaşasına biraz daha açıklık getirmek üzere bu yazıyı hem yazılımcı hem yönetici penceresinden bakan bir açıyla yazma ihtiyacı hissettim.&lt;br /&gt;&lt;br /&gt;Öncelikle şunu söylemeliyim ki; TDD, BDD, RDD, DDD ve yakın zamanda MDD ortaya çıkmadan da ekibimle gayet güzel iş yapıp teslim ediyorduk. Bug da çıkıyordu, requirement eksikleri de sonradan ortaya çıktığında dizayn bozukluğuna sebep oluyor ve patchy kod yazmamızı gerektiriyordu. Yazdığımız projeler yine 3 yıl sonra düzgün yönetilse bile (projesine göre değişir) ek yapıldıkça yavaş yavaş tekrar yazılma ihtiyacı gerektiren yöne doğru gidiyordu.&lt;br /&gt;&lt;br /&gt;Yukarıdakileri kötü kod yazılıyor şeklinde yorumlamayın sakın, standartlarımıza bağlı, üzerinden düzenli codewalk yapılan, "temiz" kodlar yazdığımızdan emindik. Etrafımda çalışan arkadaşlar çok iyi yazılım mühendisleriydi.&lt;br /&gt;&lt;br /&gt;TDD ile yazmaya başladığımızda hayatımızda ne değişti? Öncelike öğrenme sürecinde ciddi vakit kaybı yaşadık. Kafasında modeller tasarlayıp hemen uygulamaya geçen yazılımcıları dizginleyip, onlara işin nereye gideceğini bildikleri halde kafalarındaki bütünü bir yere not alıp, sonra tek tek, parça parça, ufaktan başlayıp test ederek o bütüne, testler başka yöne götürürse de o düzgün çalışan başka bütüne ulaşmayı öğrettik. Özellikle red-green-refactor yaparken refactor kısmında ne kadar iyi mühendislik, uzmanlık ve pattern bilgisi işin içine girerse o kadar düzgün bir yapıya ulaşılabileceğini gördük.&lt;br /&gt;&lt;br /&gt;Öncelikle bize ters gelen bu yapı daha sonra alışkanlık haline geldi. Bu vaktin ve proje sürelerinin uzamasının bize nasıl bir dönüşü oldu derseniz en önemlileri;&lt;br /&gt;&lt;br /&gt;- Artık kodun hiçbir parçasını değiştirmekten üşenmiyor, korkmuyoruz&lt;br /&gt;- Deployment yapmaktan korkmuyoruz&lt;br /&gt;- Proje bittiği noktadan itibaren yeni eklemeleri çok rahat yapabiliyoruz&lt;br /&gt;&lt;br /&gt;Tabi yan getirileri de her şirketin (özellikle turnover yüksek olan şirketlerin) korktuğu, "bu kodun sahibi giderse ne yaparız", "kod dokümanımız yeterli mi" sorularının cevabı olmuştu TDD. Testler, eğer düzgün isim verilirse kodun ne için yazıldığının dokümanı oluyor. Pair programming mantığı ise her adamın sürekli o koda ve yapıya alışık dublörüne şirket içinde acil durumlarda ulaşılabilir olmasını sağlıyor.&lt;br /&gt;&lt;br /&gt;Fakat TDD'nin çözmediği, daha doğrusu çözmeyi hedeflemediği şeyler var. Koda aceleyle yeni gelen istekleri ekleyip mimari tasarımı hala bozabiliyorsunuz. Bu durumda projeleriniz yine değişme hızına göre 3-4 yıl içinde içine kod yazılmaz hale gelebilir. Yine requirement eksikleri oluşturduğunuz mimari tasarımdan başka birine kaymanızı gerektirebilir.&lt;br /&gt;&lt;br /&gt;TDD'nin hedeflemediği asıl şey şirket ve yazılımcı kültürü, prensipleri. Eğer bu ikisinin prensipleri ve yaklaşımları yazılımın bakım ve ek istek uygulandığı aşamaları da düzgün yönetecek, bu aşamalarda da sadece ek yapılmayıp arada ciddi projeler çıkabileceği yönünde ise o zaman projeleriniz daha ayakları yere basar, olgun ilerleyebiliyor. Mimari tasarımaların değişmesi gerektiği noktada TDD'den sapmamayı kurum kültürü olarak benimseyebiliyorsanız o zaman başarılı olabiliyorsunuz.&lt;br /&gt;&lt;br /&gt;Bu başarının tek yolu düzgün iç eğitimden ve yazılımcıların kendini ve projeyi rahat geliştirebilecekleri bir ortamdan geçiyor. Projelerde zaman-maliyet-kalite üçgeni dahilinde en optimumu yakalamak ve piyasa şartlarını kaçırmadan yazılımı teslim etmek için yazılımcılarınızın 10 kaplan gücünde olup altyapınızın ormandan daha düzenli olması gerekiyor.&lt;br /&gt;&lt;br /&gt;Artık TDD yaptığımız ve yapmadığımız projelerin her dönem oluşan issue sayısını karşılaştırıp, başta harcadığımız vaktin kurumun itibarına nasıl yansıdığını görebiliyoruz.&lt;br /&gt;&lt;br /&gt;BDD ise TDD'deki standardizasyondan türemiş daha sonuç odaklı bir yöntemdir. TDD yapan abilerimiz bir süre sonra sürekli AAA (Arrange-Act-Assert) veya Context-When-Then yaptıklarını görüp daha üst düzeyde bunu refactor ettiklerinde ve üzerine düzgün bir yapı yerleştirdiklerinde yaptıkları testlerin sistem davranışlarını test etmek olduğunu görmüşler. İşin içine iş ve ürün ekiplerini de katmanın ne kadar avantajlı olduğunu ve bunun üzerinden direkt unit-testlere geçilmesinin hız kazandıracağını görünce BDD, TDD gibi kuvvetli bir alternatif haline gelmiş.&lt;br /&gt;&lt;br /&gt;BDD'de kullandığımız dil, en azından iş ekipleri açısından biraz ön çalışma gerektirir. Malesef her iş ekibi bu şekilde requirement yazmaya alışkın değildir. Bu yapının içinde olan analistler iş ekipleri ile yazılım ekipleri arasındaki köprüyü oluşturmaktadır. Eğer şirketinizde analist çalıştırmıyorsanız o zaman Behavior testlerini yazılımcıya (hani analyst-developer yazıyor ya kartvizitlerinizde) yazdırıp iş ekiplerine onaylatır, onları da bu yöntemle iş istemeye alıştırabilirsiniz.&lt;br /&gt;&lt;br /&gt;BDD testleri yazılımcı tarafından yazıldığında TDD testlerine daha yakın, daha low level bir dil içerir. Sistemin daha alt birimlerini, unit'leri test etmeye daha yatkındır. StoryQ sitesinden alıntı yaptığım alttaki test iş birimi testlerine örnektir.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Story is Data Safety&lt;br /&gt;In order to Keep my data safe&lt;br /&gt;As a User&lt;br /&gt;I want All credit card numbers to be encrypted&lt;br /&gt;With scenario submitting shopping cart&lt;br /&gt;Given I have typed my credit card number into the checkout page&lt;br /&gt;When I click the Buy button                                     &lt;br /&gt;And the browser posts my credit card number over the internet&lt;br /&gt;Then the form should be posted over https &lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;Aşağıdaki testler de bizim projemizden yazılımcının BDD testine örnek;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Story Add Customer To Advertisement Group Display&lt;/pre&gt;&lt;pre&gt;In order to Display&lt;/pre&gt;&lt;pre&gt;As an Admin User&lt;/pre&gt;&lt;pre&gt;I want To Display Customer Advertisment Group&lt;/pre&gt;&lt;pre&gt;With scenario Display Customer Advertisement Group befora add&lt;/pre&gt;&lt;pre&gt;Given Admin user loggedin&lt;/pre&gt;&lt;pre&gt;When AddCustomerToAdvertisementGroup called&lt;/pre&gt;&lt;pre&gt;And Querystring has CustomerID&lt;/pre&gt;&lt;pre&gt;And Method is get &lt;/pre&gt;&lt;pre&gt;Then ViewName Should Be "Display"&lt;/pre&gt;&lt;pre&gt;And CustomerDisplayModel should be loaded&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Farkındaysanız daha fazla teknik detay teste girmiş durumda. Eğer TDD ile geliştirme yapıyorsanız ve yöntemi doğru uyguluyorsanız, kodunuzun Test Coverage'ı hep 100% olacaktır. Hiç kontrol etmenize gerek yok. Fakat BDD ile test yazmak çok iyi ürün ve yazılım bilgisi gerektirir. Müşterinin hangi ekranda hangi model ile görüntüleceğini teknik olarak bilmeniz (veya test yazım aşamasında aşağı yukarı tahmin etmeniz) gerektiği gibi hangi bilgileri göstermeniz gerektiğini iş mantığı açısından bilmeniz gerekmektedir.&lt;br /&gt;&lt;br /&gt;TDD ve BDD'de ortak olarak proje üzerinde karşınıza çıkan bug ve issue'ları da bunlarla ilgili yeni testler yazarak çözmelisiniz. Öncelikle eklemeyi yapıp sonra testleri tamamlamak yanlış olacaktır. Bu şekilde yöntemden uzaklaşmadan devam edebilirsiniz.&lt;br /&gt;&lt;br /&gt;Başlarken farkında değildim fakat TDD ve BDD'nin avantajları, hangi kurumlar ve hangi tip ekip profilleri için olduğunu anlatmaya çalıştım. Bu yöntemlerden birine geçmek istiyorsanız ilgili testleri yazacak ve işin genelini yönetecek arkadaşları dikkatli seçmelisiniz.&lt;br /&gt;&lt;br /&gt;Gelen soru ve isteklere göre yazının ikinci bölümünü yazmayı düşünebilirim.&lt;br /&gt;Sevgiler, saygılar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-2077099341614283034?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/2077099341614283034/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2011/06/tdd-ve-bdd-uzerine.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/2077099341614283034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/2077099341614283034'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2011/06/tdd-ve-bdd-uzerine.html' title='TDD ve BDD üzerine'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-8900175770006532677</id><published>2011-06-25T14:33:00.000+03:00</published><updated>2011-06-25T14:33:45.894+03:00</updated><title type='text'>.NET Assembly'lerini tek dosya içine gömmek</title><content type='html'>Merhaba,&lt;br /&gt;&lt;br /&gt;Uzun zamandır blog'uma ek yapmaya vaktim olmamış...&lt;br /&gt;&lt;br /&gt;Bugün bir ihtiyaç doğdu ve bir çok .dll dosyasına referans veren bir projeyi tek bir .exe dosyası kullanarak çalıştırmam/paylaşmam gerekti. Biraz araştırma yaptım ve aşağıdaki örneği buldum. Benim projemde düzgün çalıştı.&lt;br /&gt;&lt;br /&gt;Siz de Windows Forms uygulamalarınızı veya kütüphane projelerinizi tek bir assembly veya tek bir .exe dosyası ile deploy etmek istiyorsanız aşağıdaki adımları izleyebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Projemize bir resource dosyası ekliyoruz.&lt;/li&gt;&lt;li&gt;Resource dosyasının özelliklerine girip Build Action:Embedded Resource olarak kullanıldığından emin oluyoruz.&lt;/li&gt;&lt;li&gt;Resource dosyamızın içine istediğimiz dll'leri ekliyoruz.&lt;/li&gt;&lt;li&gt;Aşağıdaki örnekteki gibi programın girişine ResourceAssembly ile ilgili yeşil renk ile yazdığım&amp;nbsp;iki satır&amp;nbsp;kodu ekliyoruz. Burada DefaultNamespaceAdi ve ResourceAdi kısımlarınızı kendi projenizdeki isimlerle değiştirmeyi unutmayın.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [STAThread]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static void Main()&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ResourceAssemblyLoader.ResourceName = "DefaultNamespaceAdi.ResourceAdi";&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ResourceAssemblyLoader.LoadAssemblies();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application.EnableVisualStyles();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application.SetCompatibleTextRenderingDefault(false);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application.Run(new frmMain());&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;5. Alltaki sınıfı projenize ekleyin.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; public class ResourceAssemblyLoader&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static Dictionary&lt;string, assembly=""&gt; libs = new Dictionary&lt;string, assembly=""&gt;();&lt;/string,&gt;&lt;/string,&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string ResourceName;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void LoadAssemblies()&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AppDomain.CurrentDomain.AssemblyResolve += FindAssem;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static Assembly FindAssem(object sender, ResolveEventArgs args)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assembly result;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string dllName = args.Name.Contains(',') ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", "");&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (libs.ContainsKey(dllName))&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = libs[dllName];&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dllName = dllName.Replace(".", "_");&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (dllName.EndsWith("_resources")) return null;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ResourceManager rm = new ResourceManager(ResourceName, Assembly.GetExecutingAssembly());&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte[] bytes = (byte[])rm.GetObject(dllName);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = Assembly.Load(bytes);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; libs[dllName] = result; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return result;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;6. Artık bin dizini altında debug ve ya release bölümündeki kodunuzu referans verdiğiniz dll'leri silip deneyebilirsiniz.&lt;br /&gt;&lt;br /&gt;Herkese sevgiler saygılar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-8900175770006532677?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/8900175770006532677/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2011/06/net-assemblylerini-tek-dosya-icine.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/8900175770006532677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/8900175770006532677'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2011/06/net-assemblylerini-tek-dosya-icine.html' title='.NET Assembly&apos;lerini tek dosya içine gömmek'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-8875387659152097344</id><published>2010-04-14T11:48:00.001+03:00</published><updated>2010-04-14T11:48:59.064+03:00</updated><title type='text'>Nasıl Yazılımcı Olunur? Programcılık Eğitimi Üzerine…</title><content type='html'>&lt;p&gt;Herkese merhaba,&lt;/p&gt;  &lt;p&gt;Uzun süredir yazılım sektöründe çalışan, bu sektörün problemlerini içinden bilen, çevresindeki problemleri gözlemleyen biri olarak bu yazıyı öyle çok standart cümleler kurmadan farklı bir bakış açısıyla bir yere karalama ihtiyacı hissettim. Aslında bu yazıyı bir kitap yazacak olsam önsözü olarak kullanmak isteyebilirim.&lt;/p&gt;  &lt;p&gt;Türkiye’de mevcut eğitim altyapısının çok kötü olması, eğitim veren özel kurumların verdiği boş hayallerle piyasaya çıkan, kandırılan zavallı gençliğin durumu beni bu yazıyı çok ağır bir dille yazmaya itiyor fakat konu bu olmadığı için kendimi tutacağım. İş görüşmelerimde yaşadığım hüsran, artık bu firmaların sokağından geçmiş adamları görüşmelere çağırmamaya başlamama sebep olmuş durumda. Kendimize, memleketimize, etrafımıza nasıl oluyor da bu kadar zarar veriyoruz, herkesin düşünmesi gerekiyor.&lt;/p&gt;  &lt;p&gt;Benim hikayem '95 yılında başladı. Öncesinde bilgisayarda çok oyun oynuyor, gerek amigados, gerek msdos ile kimsenin yapamadığı kurnazlıkları yapabiliyor ufak tefek batch, script'ler yazıyordum. Bilgisayarla aram çok iyi olduğu için bu tip bir iş aradım ve html/photoshop kullanacağım bir işe girdim. O vakitler, İnternet hizmeti, Türkiye'de pek yaygın değil, okuyabilecek online kaynak bulmak, şimdiki gibi pek kolay değil. Çok iyi hatırlıyorum Wrox'un ASP kitabını Amazon'dan sipariş edişimizi, 1-1.5 ay bekleyip kavuşmamı ve kitaba resmen yumulup içini dışını okumamı. 15 yıl olmuş diye düşünürken bu yazının gidişatını da; öğrenmek, bilgiye açlık şeklinde yönlendirmek istediğimi farkediyorum.&lt;/p&gt;  &lt;p&gt;Öncelikle etrafıma göre farkettiğim, bilgiye olan açlığım. Bana hep önce bilgi geldi daha sonra bundan para kazandım. Şuna özellikle inanıyorum, insan olarak diğer hayvanlardan farkımız, bu kadar sürede zor doğa şartlarına karşı hayatta kalabilmemiz, öğrenebilme ve adaptasyon yeteneğimize bağlı. Bence insanın öğrenme süreci ömür boyu bitmemeli. Bu yüzden bir ofiste oturup sürekli onu sat, bunu al şeklinde ticaret yapan insan ile yazılımcı farkı çok büyük. O zevki aldıktan sonra daha çok istiyor insan, onu da yapayım bunu da bileyim…&lt;/p&gt;  &lt;p&gt;Bir işle sadece uğraşmak için uğraşmamak gerekiyor. Eğer uğraştığın, uğraşmaktan zevk aldığın için uğraştığın şey işinse, o zaman bu süreçte yaptığın deneme yanılmalar, fanteziler, o oyuncaklarla oynamalar, ayar çekmeler, kurcalamalar sana bilgi, tecrübe olarak geri dönüyor. Bu dönüş, eğer alabiliyorsan, sürekli surette bakış açını değiştiryor. Bir süre sonra başka bir “oyuncakla” oynamaya başladığında beklentilerin, o oyuncağın sana verebildikleri, karşılaştırmaların, ulaştığın sonuçların detaylarındaki farkındalığın sana tecrübeni katlayarak katkı sağlıyor. Bu süreçteki bakış açısı değişiklikleri ise daha sonraki süreçlerde teknoloji seçimi, proje seçimi, pattern seçimi, dil seçimi gibi konularda yolunu aydınlatıyor. Örneğin ASP yazıyorken eğer boş durmayıp, Eifell, ADA, Fortran, Pascal, Delphi, C++, Java okuduysan, kısıtlı imkanlarınla bunları bilgisayarına kurup evde sağını solunu kurcaladıysan, ufak tefek programcıklar yazıp problemleriyle uğraştıysan veya ASP yazıyorken bu sana yetmeyip VB ile DLL derleyip onları kullanmaya başladıysan, daha sonra bunu Delphi’de nasıl yaparım da daha performanslı OOP ile daha komplex işleri ASP ile birleştiririm diye düşünüp, işinin gereği bu olmasa da, senden beklenen bu olmasa da zevk için uğraştıysan o zaman bir sonraki süreçte Microsoft, C# diye birşey çıkarttığı zaman şaşırmıyor, “Bu gavur icadı da nerden geldi şimdi, ne güzel yazıyorduk ASP ile” demiyor, onu o kadar hızlı benimsiyorsun ki gelir gelmez Beta’sı ile çalışmaya başlıyor hatta hatalarına sinirlenip “Artık 2001 yılındayız, bunu da düşünmeleri lazımdı” diye Microsoft’a saydırabiliyorsun. &lt;/p&gt;  &lt;p&gt;Kısaca merak etmek; araştırmayı, araştırmak; tecrübeyi, tecrübe; bakış açısını, bakış açısı; seçimleri getiriyor. Seçimlerin sonucunda güzel işler çıkartabilince veya iyi tecrübeye sahip olunca bu da para getiriyor. Bu başta yanlış yöne de sapsan sonunda doğru yönü bulabilmeni sağlıyor. Baştan çok yanlış girersen sadece yol uzuyor ama sonuç aynı.&lt;/p&gt;  &lt;p&gt;Gelelim seçimlere giden yolda kısa yolları, ara sokakları nasıl seçeceğimize. Eh bu kadar paragrafı boşuna neden yazalım? Kelime oyunu yapmak, zaten bariz olan şeyleri çevirip çevirip satmak pek keyifli değil. Yazılımcının birkaç özelliği olmazsa olmaz. Yıllardır yaptığım iş görüşmelerinde, incelediğim özgeçmişlerde karşılaştığım eksiklerle ilgili ayrı bir yazı daha yazacağım.&lt;/p&gt;  &lt;p&gt;Bunlardan ilki İngilizce bilgisi;    &lt;br /&gt;Teknolojiyi hep yabancıların ürettiğini öncelikle kabul ediyoruz. Bunu kabul etmek zor gelse de kendi zekamızı herkesin üzerinde tutsak da bu sefer rakibini takip etmiyorsan nelerle karşılaşacağını bilemeyeceğin için mutlaka yine teknolojinin ortak dili İngilizce’yi bilmemiz gerekiyor (sadece SAP üzerine çalışacaksak Almanca da olabilir). İngilizce’yi özellikle çok iyi bilmek gerekiyor. Sadece “I Go, You Go, We Go” şeklinde kursun 3. kurundan terk İngilizce yeterli olmuyor. Özellikle sürekli yabancı dizileri, filmleri altyazıları kapatıp izlemek, yabancı şarkı sözü çıkartıp sözlükten anlamlarına bakmak bunu da hobi haline getirmek süreci hızlandırıyor. Sandwich yöntemi ile dil öğreten kurumlar var İstanbul’da. Bunları da etrafımda eğitim alanlar arkadaşlar başarılı buluyor, fakat çok çalıştırıyorlar baştan söyleyeyim. Eğer benim gibi, ilkokul, ortaokulda sağlam bir İngilizce eğitimi ile başlayıp yabancı dilde okuduysanız çok avantajlısınız.&lt;/p&gt;  &lt;p&gt;Web üzerinde birçok kaynak var, kurnazsan Türkçe’ye çevirip çevirip yazıp, o nedir bu nedir gibi sitelerde piyasada yer edinmeye çalışıyorsun. Yayıncılar satmayacak korkusuyla hazırladığın her kitaba “Buna bir de genel Ofis bilgisi eklesek o zaman satar” şeklinde yaklaşıyor. Siz hiç gördünüz mü “C# ile Web Kontrolü Yazmak” başlıklı orijinal Türk malı kitap? Neden bütün gördüğünüz Türkçe kitaplar “Herşeyiyle C#”, “Herkes için Java”? Sizce yabancı dili yetersiz programcı ne kadar ilerleyebilir? Teknolojiyi ne kadar yakından takip edebilir?&lt;/p&gt;  &lt;p&gt;İkincisi Mühendislik Eğitimi;    &lt;br /&gt;Üniversite; benim bakış açımla, Türkiye’deki duruşu ile çok sabit, çok yavaş, çok durağan. Aynı devlet daireleri gibi dinamizmden uzak. Hele iş hayatına daha okurken girince, Üniversite’ye devam hevesini kaybediyor insan. Sanki orası duruyor, hayat dışarda 10x hızla devam ediyormuş, kapıdan içeri girince sen hızlı-bulanık hareketler yapıyorsun da insanlar ağır hareket ediyormuş gibi geliyor. Fakat hiçbir zaman çalışma hayatına erken başlamanın avantajını anlatacak tam cümleleri bulamam. Arkadaşlarım üniversiteyi 4 yılda bitirip sağa sola çaresizce bakındıklarında benim oturmuş düzenim, hayatla ilgili çoktan kurulmuş bir planım, 3 yıllık iş tecrübem vardı. Mühendislik eğitimi ise “kurnaz” ile “sistematik” yazılımcı arasındaki farkı belirliyor. Birçok yazılımcı ile çalıştım. Yönetici olunca iki adama da ihtiyacınız var ama bakış açısı şu şekilde; birinciye günlük işleri çabuk şekilde yaptırmak istiyorsunuz, ikinciye altyapı işlerini, daha büyük, daha geniş vizyon gerektiren, keyifli projeleri yaptırıp, beraber çalışmak istiyorsunuz. Siz hangi yazılımcının yerinde olmak istersiniz? Herhangi bir mühendislik eğitimini sindirerek almak bu sektörde yolunuzu açacaktır. Herşeyden önce iyi bir mühendis olmak hayatınızı kolaylaştıracaktır, size vizyon katacaktır.&lt;/p&gt;  &lt;p&gt;Sakın bir kısım eğitim kurumlarının size faydalı olacağını düşünüp, başka bir kariyeri bırakıp yazılımcılık işine bu şekilde girmeye çalışmayın. Özellikle İstanbul’da sadece C ve Sistemciler Derneği benim bildiğim kadarıyla iyi eğitim veriyor. Burası bildiğim kadarıyla bir dernek. Yani kar amacı gütmüyor. Diğer firmalara gittiğinizde verdiğiniz para, harcadığınız vakit, onların size verdikleri umutlar, hepsi boş. Özellikle bu konuda isim yapmış büyük eğitim firmalarından bahsediyorum. Sürükle bırak yapmayı öğrenerek yazılımcı olunsaydı herkes olurdu. Bu kurumlar size sadece bunu öğretiyor. Biz gerçek hayatta bunları işimizde kullanmıyoruz malesef. Buraya kadar okuduysanız, üstteki özelliklere sahip değilseniz, ders/kurs almayı hiç düşünmeyin. Başaramazsınız demiyorum, riskiniz çok artıyor.&lt;/p&gt;  &lt;p&gt;Okumak;    &lt;br /&gt;”Okumadan geçirdiğim, öğrenmeden geçirdiğim her gün hayatımdan kayıp. Bugün de araştırıp bunu öğrendim.” diyebiliyor ve bundan zevk alıyorsanız bu işler size göre. Doğru kaynağı okumak önemli. Genelde Türkçe kaynaklar eksik, ortalama 1 yıl geriden takip eder oluyor. Biz pek paylaşımcı bir millet değiliz, bunun yanısıra herkesin işi gücü var, çeviri yapanlar veya yazmak isteyenler önce kendileri tecrübe kazanıp arkasından yazıyorlar. Ayrıca okumaya da pek önem vermiyoruz o yüzden yazarın da değeri yok, okuyan da pek değer kazanmıyor. Yabancı kaynakları tavsiye ediyorum.&lt;/p&gt;  &lt;p&gt;Usta - Çırak ilişkisi;    &lt;br /&gt;Hangi üniversiteden mezun olursa olsun kimse patron çıkmıyor. Özellikle Türkiye’de belli 2-3 üniversite bu gazı veriyor. Hatta bu gazı alıp senelerce bunun doğruluğuna inanmaya devam eden, hasbel kader bir yere gelip kendisinin o üniversite mezunu olduğu için o pozisyona geldiğini düşünen insanlar sektörde karşınıza çıkacak. Evet eğitim önemli. Evet o üniversitelere de girmek için çok çalışmak gerekiyor. Fakat iyi bir mühendis olduktan sonra ilk 2-3 sene junior developer olarak harçlığına bile çalışsanız, usta-çırak ilişkiniz, Master-Padawan ilişkiniz, size işinizle ilgili asıl ivmeyi verecektir. Bu noktada “Ben şuradan, buradan mezunum” diye hava atmamak ustanızın dediklerini iyi dinlemek gerekiyor. Ben ilk 5.5 sene yanlız çalıştım. O 5.5 yılda kendi araştırıp öğrendiklerimin üzerine neredeyse bir o kadar sadece 1 yılda iyi bir ekibin içinde eklendi. Tabi burada gavurun “snowball effect” dediği sürekli öğrenerek bir yere geldiğinizde o noktada öğrenmenin daha da hızlandığı gerçeğini gözardı etmemek gerekiyor. Ha sadece bir yerde işe girip, “Ustamdan öğrendiğim kadarı bana yeter” diyenler orada, o pozisyonda çakılı kalırlar.&lt;/p&gt;  &lt;p&gt;Kendini bilmek, Kalite ve Sertifikasyon;    &lt;br /&gt;Kişi kendini bilmek gibi irfan olamaz. Kim denetliyor bu yazılımcıları? Kim söyleyebiliyor, sen iyisin, sen kötüsün, böyle iş olur veya böyle iş yapılmaz diye? Malesef söylüyorum hiç kimse. Microsoft sertifikasyon sınavı yapıyor, braindump indirip, ezberleyip girip sertifikaları alıyorsun. Kim önemsiyor? Kim bakmıyor bile? Birçok kitap yazarı, birçok blog yazarı olan, paylaşım yapan programcı, ne yazdığını bilmiyor, çeviri yapıyor yalan yanlış. İşin doğru altyapısını yeni başlayana kim verecek? Ben kendimi neye göre kime göre konumlandıracağım? Piyasada maaşlar neye göre belirleniyor? Benim bunların arasında yerim neresi?&lt;/p&gt;  &lt;p&gt;Öncelikle sertifikasyon, sadece yurtdışında çalışacak arkadaşlara önerdiğim birşey. Yurtdışı firma sizi aradığında sertifika numaralarınızı soruyor (özgeçmişinizde yazmıyorsa). Neden? Çünkü zaten İngilizceniz havadan sudan konuşmaya, karşı firmanın sizin bilginizi veya kişiliğinizi yeterince ölçmeye yeterli olmuyor veya telefonda zor oluyor. Neden? Çünkü gavur bizim kadar sınavlarda hile yapmıyor, bir kısım insan gerçekten o sınavlarda kendini deniyor. Ben Türkiye’de iş görüşmelerinde bakmıyorum sertifiklara. Kendi aldığım sertifikalar da sadece Yurtdışı görüşmelerimde yaradı. Ha çalışıyorken şirketiniz destekliyorsa alın bir zararı yok.&lt;/p&gt;  &lt;p&gt;Biraz tecrübeli arkadaşlar için yazıyorum, şöyle bir düşünün, ortadan girdiğiniz projelerde yazılan koda küfrettiğiniz çok oldu değil mi? Kim peki o kodu yazan? Yazdıran? Yazılım kalite standartları ile ilgili kalitesiz eğitim alan yazılımcıların eğitim almadığı ortada. Bir projeyi yetiştirmek adına yazılan “çakma” kodun bedelini ne daha sonradan projeye dahil olan yazılımcı, ne o işin öyle yapılacağını düşünerek o projede işi öğrenen junior, ne kodu yazan firma ne de projeyi satın alıp daha sonra kötü kod ve tasarımdan oluşan hata veya engelleri aşarak bakım yapmak için bir sürü para döken firma ödüyor. Asıl bedeli ödeyen Türkiye ekonomisi. Hepimiz bu bedeli ödüyoruz. &lt;/p&gt;  &lt;p&gt;Neden hepimiz ödüyoruz anlatayım; Bir projedesiniz, başında usta olmadan junior programcılarla iş yapıyorsunuz ve projeyi düzensiz, altyapısı olabildiğince planlı, tecrübesizlikleri örtmek için mesailere kalarak yetiştiriyorsunuz. İşi zamanında teslim alan firma o an için memnun. Şirketiniz, projeyi yetiştirdiğiniz, ucuza çalıştırdığınız adamları, gece gündüz kırbaçlayıp suyunu çıkarttığınız için yönetim kabiliyetinizi sorgulamıyor. Gece gündüz çalışıp sonunda “Vay be ne kastık, artık kesin şirkette yerim sağlam, tecrübem de arttı” diyen yazılımcı da iş bitirmenin verdiği tatmine sahip. Peki kim bu durumdan muzdarip, kaybeden? Arka arkaya yamalar yaparak proje geliştirmeye alışan yazılımcıların, o projede tecrübe kazansalar da birçok hata ve problemle uğraşıp dile, platforma hakim olsalar da iş yapış şekilleri ve kalite anlayışları oturmuyor. Daha sonra bu insanlar yazılım yöneticisi oluyor ve şimdi bu yazıyı okuyan işe yeni başlayacak arkadaşları onlar yönlendirecek. &lt;/p&gt;  &lt;p&gt;Devam ediyorum; Bu şekilde iş yapmaya yazılımcıları sömürmeye alışan firmanın piyasada iş bitirerek isim yaptığı için güvenilirliği sürekli artıyor. Piyasa algısı bu şekilde değiştiğinde diğer bir firma da yazılımı bu “çakma iş yapan” firmadan ısmarlıyor çünkü referanslar web sitesinde iyi gözüküyor. Aynı şekilde ucuza iş bitirilebildiğini gördükleri için tecrübeli programcılardan fiyat kırıyorlar sürekli. Bu da yazılımcı sirkülasyonunu getiriyor. Tecrübelenen yazılımcıları kaçıran firmanın kalite standartlarını ayakta tutması iyice zorlaşıyor. Bu şekilde yazılım projesi ısmarlayıp iş teslim almaya alışan firmalarda da bir Q.A. &amp;quot;Quality Assurance” yani kalite kontrol uzmanı, bir yazılım test uzmanı bulunmuyor, bulunma ihtiyacı hissedilmiyor. (Yazılım test uzmanlığı, Türkiye’de pek bilmediğimiz çok ciddi başka bir mühendislik işi. Gelen yazılımın orasını burasını kurcalayıp çalışıyor mu diye bakmaktan bahsetmiyorum) Neden bu tip insanlar iş bulamıyor? Çünkü projeyi teslim alan taraf bilgisiz. Bir proje şampiyonu (PMI terimi) bile tutmaya çalışmıyorlar o dönem için. Üniversitesinde bilim yapılmaya çalışılmayan bir ülkenin şirketlerinden ne bekliyoruz?&lt;/p&gt;  &lt;p&gt;Aman ne ala memleket. Neden tecrübenin, sistematiğin, bilimin, mühendisliğin önemi bilinmiyor? Kimse yazılımcının, yazılım süreçleri yönetiminin nasıl olması gerektiğini bilmezken biz piyasada farkımızı nasıl anlatıp da hakettiğimiz işe sahip olacağız? İleride şirket kurduğumuz zaman biz de mi böyle olacağız? &lt;/p&gt;  &lt;p&gt;Çok moralinizi bozmayın. Negatif bir tablo çıkarttım karşınıza, moralinizi bozdum fakat burası Türkiye. Bu kadar kaosun içinden böyle bir düzen çıkıyor olması çok enteresan olduğu kadar bazen heyecan verici, bazen üzücü. Kendisi pesimist bir insan olarak bunları yazmak, benim biraz da sizi hazırlamaya çalışma şeklim. Bu işlerin pozitif tarafları yok mu? Var tabi, o da başka bir başlık&lt;/p&gt;  &lt;p&gt;Toparlayacak olursam; Üstteki şartları yerine getirirken nelere dikkat etmeniz gerektiğini yazmaya çalıştım. Konunun dışına çıktım, sektörün problemlerine daldım, birçok kişiye de laf attım, aslında biraz da içimi döktüm. Hala değinmediğim birçok eksik nokta da var. Yazılımcı olmak yolunda bunlarla karşılaşırsanız “Serkan Berksoy” yazmıştı bir yerlerde dersiniz. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-8875387659152097344?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/8875387659152097344/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2010/04/nasl-yazlmc-olunur-programclk-egitimi.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/8875387659152097344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/8875387659152097344'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2010/04/nasl-yazlmc-olunur-programclk-egitimi.html' title='Nasıl Yazılımcı Olunur? Programcılık Eğitimi Üzerine…'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-939998002320451089</id><published>2010-02-17T08:43:00.000+02:00</published><updated>2010-02-17T08:43:34.875+02:00</updated><title type='text'>Evden çalışmanın sırrı</title><content type='html'>1.5 yıl İstanbul-Connecticut ve 6 Ay bir Avusturalya yazılım firmasına home-office çalıştıktan sonra insan hangi collobration software'leri kullanacağını hangisinden uzak duracağını bir görüşte anlıyor. :) İşte birkaç tavsiye;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ses:&lt;/strong&gt;&lt;br /&gt;Kesinlikle &lt;a href="http://www.skype.com/"&gt;skype&lt;/a&gt; kullanın, eğer herhangi bir şekilde olduğunuz network'ün firewall'u ile ilgili sıkıntılar varsa bunu aşmanın yolu da &lt;a href="http://www.google.com/talk/about.html"&gt;google talk&lt;/a&gt; olacaktır. Bu iki yazılımın da sistem kaynaklarını gayet idareli kullandığını söyleyebilirim. Şimdiye kadar ne benim kullandığım diğer programları etkilediler ne de (çoğunlukla) kendileri diğer programlardan etkilenip ses kalitesi problemi yaşattılar. Ayrıca Skype addon'larında da profesyonel olmayan bir desktop sharing uygulaması var. Bu program da sadece demo amaçlı kullanılabilir. Karşı tarafın müdahalesine izin vermiyor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Desktop Sharing&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Webex&lt;/strong&gt;&lt;br /&gt;Eğer şirketiniz adına iş yapıyorsanız veya şirketiniz var, müşterilerinize online desktek vermek istiyorsanız mutlaka bir &lt;a href="http://www.webex.com/"&gt;Webex&lt;/a&gt; hesabı alın. Şimdiye kadar kullandığım diğer ürünlerde hep bir eksik var fakat Webex+Skype yurtdışı demo'larınız için kesin çözümdür. Hatta eğer bunu bir şekilde düzgün çalıştıramıyorsanız IT'cinizi değiştirin :)&lt;br /&gt;&lt;br /&gt;Eğer daha amatör işler yapıyor, daha günlük çözümler arıyorsanız, ben aşağıdakilerden verim aldım;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;showmypc&lt;/strong&gt;&lt;br /&gt;Bu yazılım bilgisayarınıza çok ufak bir exe indirerek çalışıyor, bu exe hem client hem server görevi görüyor ve hatırladığım kadarıyla kurulum gerektirmiyor. Arkada kullandığı teknoloji VNC teknolojisi. Security için exe'yi çalıştırıp showmypc düğmesine tıkladığınızda size bir key üretiyor, bu key'i karşı tarafa verirseniz aynı exe'yi çalıştırıp o key'i kullandığında sizin desktop'unuza bağlanıyor. Genel olarak hızı Webex'ten kötü fakat tamamen bedava ve kullanımı kolay.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;logmein&lt;/strong&gt;&lt;br /&gt;Eğer yine birebir çalışacaksanız ve şifrenizi vermekten korkmuyorsanız bu da bir alternatif olabilir.&lt;br /&gt;&lt;br /&gt;Bu listenin devamında şimdiye kadar test edip de vazgeçtiğim yazılımları bir sonraki güncellemede ekleyeceğim.&lt;br /&gt;&lt;a href="http://www.missiontolearn.com/2009/08/free-online-collaboration/"&gt;&lt;/a&gt;&lt;strong&gt;Diğer&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.missiontolearn.com/2009/08/free-online-collaboration/"&gt;&lt;/a&gt;Yukarıda yazdıklarımın dışında masaüstü paylaşmadan da beraber çalışabileceğiniz ortamlar var. Microsoft Groove bunlardan biri. Eğer ms office son versiyonu kullanıyorsanız zaten yanında geliyor.&lt;br /&gt;&lt;br /&gt;Bir sonraki güncellemede bunları da listeleyeyim&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-939998002320451089?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/939998002320451089/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2010/02/evden-calsmann-srr.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/939998002320451089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/939998002320451089'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2010/02/evden-calsmann-srr.html' title='Evden çalışmanın sırrı'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-6179426360303261608</id><published>2009-10-02T16:35:00.004+03:00</published><updated>2009-10-03T09:16:59.302+03:00</updated><title type='text'>Web sitesine genel bakım sayfası / maintenance page koymak</title><content type='html'>Merhaba,&lt;br /&gt;&lt;br /&gt;Bugün uzun zamandır IIS'le uğraşmadığımı farkettim.&lt;br /&gt;IIS, Microsoft'un SQL Server'dan sonra en çok sevdiğim tool'u.&lt;br /&gt;&lt;br /&gt;IT'ci olmadığım için doğru çözümden emin değilim fakat yine de yazdım. Başka yol bilen varsa doğrusunu merak ediyorum.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Problem: &lt;br /&gt;&lt;/b&gt;Bir bakım sayfası koyalım fakat sitenin sub folder'larına ve file'larına da eriştiğinde aynı hata sayfası gözüksün.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Çözüm:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; IIS üzerinde yeni bir Web sitesi yaratıp aynı IP'yi verdim.&lt;/li&gt;&lt;li&gt;Root folder'a bakim.html diye bir dosya koydum.&lt;/li&gt;&lt;li&gt;Site ayarını değiştirip, a redirect to a url yaptım ve bu sayfanın http://site/bakim.htm şeklinde bütün url'ini yazdım.&lt;/li&gt;&lt;li&gt;bakim.html'e sağ tıkladım, asıl numara burada;&lt;br /&gt;File tab'inde site ayarlarında yazdığım url gözüküyordu bunu *;! ile değiştirdim.&lt;/li&gt;&lt;/ul&gt;Artık sitenin altında ne sayfaya hangi querystring ile girersem gireyim root'taki hata sayfası çıkıyor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-6179426360303261608?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/6179426360303261608/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2009/10/dotnet-sitelerine-bakm-sayfas-koymak.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/6179426360303261608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/6179426360303261608'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2009/10/dotnet-sitelerine-bakm-sayfas-koymak.html' title='Web sitesine genel bakım sayfası / maintenance page koymak'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-1693597652929846984</id><published>2009-10-01T13:33:00.001+03:00</published><updated>2009-10-04T01:13:00.775+03:00</updated><title type='text'>Total Commander ile kullandığım iki güzel plugin</title><content type='html'>Merhaba,&lt;br /&gt;&lt;br /&gt;Önceki blogumu okuyup Total Commander kurduğunuzu varsayarak iki işinize yarayabilecek addon yazayım istedim.&lt;br /&gt;&lt;br /&gt;Bunlardan birincisi&amp;nbsp;&lt;a href="http://www.totalcmd.net/plugring/RamCopy.html"&gt;RamCopy&lt;/a&gt;. Mevcut memory'i kullanarak büyük dosyaların kopyalanma hızını arttırıyor.&lt;br /&gt;&lt;br /&gt;İkincisi ise&amp;nbsp; sürekli kullandığım 7z addonu; &lt;a href="http://www.totalcmd.net/plugring/7Zip.html"&gt;7Zip Plugin 0.6.4&lt;/a&gt;. Bu plugin de Alt-F5 ile TC'den çıkmadan zip yapabilmenizi sağlıyor.&lt;br /&gt;&lt;br /&gt;Şimdilik sadece bu ikisini yükledim. Daha buldukça buraya ekleyeceğim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-1693597652929846984?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/1693597652929846984/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2009/10/total-commander-ile-kullandgm-iki-guzel.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/1693597652929846984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/1693597652929846984'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2009/10/total-commander-ile-kullandgm-iki-guzel.html' title='Total Commander ile kullandığım iki güzel plugin'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-2767275702436793842</id><published>2009-10-01T04:56:00.002+03:00</published><updated>2011-07-08T10:30:17.048+03:00</updated><title type='text'>Windows Explorer ile Total Commander'ı değiştirmek</title><content type='html'>Merhaba,&lt;br /&gt;&lt;br /&gt;Bir süredir Windows Explorer'ın beni ne kadar yavaşlattığını farketim. Daha önce dos zamanlarında uzun süre NC veya MC isminde bir tool kullanarak işleri yapıyorduk. Sürekli bu fonksiyonaliteye ihtiyacım oluyor. Explorer ile iki tane açıp yanyana dizip uğraşana kadar zaten bunu sağlayan bir program neden kullanmıyorum diye düşündüm. Şirkette bir arkadaşın her işini TotalCommander ile yapıyor olması geçişimi hızlandırdı.&lt;br /&gt;&lt;br /&gt;Piyasada Windows Explorer'ınızı değiştirmek için iki güzel alternatif var. Birisi &lt;a href="http://www.zabkat.com/x2lite.htm"&gt;XPlorer &lt;/a&gt;diğeri &lt;a href="http://www.ghisler.com/"&gt;Total Commander&lt;/a&gt;...&lt;br /&gt;Bunlar ücretli diyorsanız &lt;a href="http://www.freecommander.com/"&gt;Free Commander&lt;/a&gt;'ı da deneyebilirsiniz.&lt;br /&gt;&lt;br /&gt;Bu programları bir süre kullandıktan sonra alışırsanız eğer ve Windows Explorer yeterli gelmemeye başlarsa o zaman iki hareketle bu programlardan birini default program olarak Windows Explorer yerine kullanabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Win+E kısayolunu değiştirmek&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Bunun için malesef sadece bir 3rd party kullanma yolunu bulabildim. Ufak tefek ama başarılı bir program; &lt;a href="http://www.snapfiles.com/get/hotkeyp.html"&gt;HotKeyP.&lt;/a&gt; Çok basit kullanımı olduğu için burada anlatmaya gerek görmüyorum.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Shell Extention'ı değiştirmek&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Bu da düşündüğümden kolaymış. Alttaki adımları uygularsanız halledebilirsiniz.&lt;br /&gt;2.1. Registery Editor'ü açıp HKEY_Classes_Root\Folder\Shell'i buluyoruz&lt;br /&gt;2.2. Bunun altına "TC" isimli bir key ekliyor ve TC'nin altına da "command" isimli bir key ekliyoruz&lt;br /&gt;2.3. command key'i yanındaki default değeri "C:\TotalCommander\Totalcmd.exe %1" yapıyoruz. Siz nereye kurduysanız o şekilde ayarlayın. Eğer Windows XP veya 2003 kullanıyorsanız&amp;nbsp;C:\TotalCommander\Totalcmd.exe "%L" deneyebilirsiniz. Bu kısım Windows 7 ile aynı çalışmıyor.&lt;br /&gt;2.4. HKEY_Classes_Root\Folder\Shell'in default değeri boş olmalı, bunu da TC olarak değiştiriyoruz.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bundan sonra bütün explorer kullanılan yerlerde Total Commander devreye girecektir (örneğin: control panel)&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/_hsG2wn2sh0I/SsQLVTdZpBI/AAAAAAAAAAM/dwaRm5LWdRQ/s1600-h/sc2.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_hsG2wn2sh0I/SsQLVTdZpBI/AAAAAAAAAAM/dwaRm5LWdRQ/s320/sc2.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bu değişikliklerle diğer programları Explorer yerine kullanabilirsiniz. &lt;br /&gt;Not: Registry Editor kullanarak Windows'unuzu çökertirseniz sorumluluk kabul etmiyorum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-2767275702436793842?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/2767275702436793842/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2009/10/windows-explorer-ile-total-commander.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/2767275702436793842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/2767275702436793842'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2009/10/windows-explorer-ile-total-commander.html' title='Windows Explorer ile Total Commander&apos;ı değiştirmek'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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/_hsG2wn2sh0I/SsQLVTdZpBI/AAAAAAAAAAM/dwaRm5LWdRQ/s72-c/sc2.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5559039573505380741.post-4738331514860361739</id><published>2009-09-09T11:12:00.003+03:00</published><updated>2009-12-10T13:17:22.087+02:00</updated><title type='text'>Mind Mapper Software</title><content type='html'>Bugün, bir projemde düşüncelerimi toparlayıp paylaşabilmek için kolay kullanımı olan Mind Mapper software’leri inceledim.&lt;br /&gt;Mind Mapper software’leri düşüncelerinizi yazıya/şekile daha kolay hiyerarşik bir yapıda aktarabilmenizi sağlar.&lt;br /&gt;Birkaç kullanılabilir alternatif’e düştüm, bunlar;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mindjet.com/"&gt;MindJet&lt;/a&gt;&lt;br /&gt;MindJet aslında en son incelediğim ürün fakat ilk yazıyorum çünkü bu blog'u yazdıktan bir süre sonra buldum. MindJet ücretli bir ürün, diğerleri arasında en kolay kullanıma ve güzel özelliklere sahip olan bir tool. Print yardımı güzel fakat bazen sayfanın üstünde ve altınaki header / footer'ı güzel çıkartmıyor. Burada diğer mindmap tool'larından farklı olarak mindmap'iniz üzerinde task management yapabiliyorsunuz.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page" target="_blank"&gt;FreeMind&lt;/a&gt;&amp;nbsp; &lt;br /&gt;Bir ara FreeMind’ın eski bir versiyonunu kullanmıştım zaten fakat yeterince geliştirememişler.       &lt;br /&gt;Özellikle print fonksiyonalitesi, yaptığım ayarları saklamayıp her değiştirdiğim parametrede gereksiz bir sürü sayfa çıkartarak beni çok üzdü.      &lt;br /&gt;Yine de yazdıklarınızı basmayacaksanız kullanması kolay. Özellikle Insert tuşu ile yeni child node eklemek gayet rahat.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xmind.net/" target="_blank"&gt;XMind&lt;/a&gt;      &lt;br /&gt;Bu, şu anda kullanmaya karar verdiğim yazılım. Kullanımı kolay, özellilkle print’i güzel ve export ile text dokümanına hiyerarşik aktarım yapabiliyorsunuz. Böylece görüntüsel durumdan dokümana da geçiş hızlanıyor.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.thebrain.com/" target="_blank"&gt;Personal Brain&lt;/a&gt;      &lt;br /&gt;Bunun şekli çok güzel olduğu halde 30 gün Pro versiyonunu deneme süresi bittikten sonra ne bana free versiyonunda kullanabileceğim ne özellikler kalacak belli değil.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.imindmap.com/" target="_blank"&gt;iMindMap&lt;/a&gt;      &lt;br /&gt;Bunu ücretli olduğu için tercih etmedim. XMind’dan da güzel bir interface’e sahip gözüküyor. Fakat kurup denemedim, feature’ları çok olsa bile kullanım kolaylığı hakkında birşey yazamayacağım.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.smartdraw.com/" target="_blank"&gt;SmartDraw&lt;/a&gt;      &lt;br /&gt;Bu yazılım, birçok özellik sunan, özellikle çeşitli flowchart şablonları bulunan bir yazılım. Malesef flowchart’ların ve mind mapper’larının kullanımını kolay bulmadım. Grafik özellikleri yeterli değil. Eklenen şekilleri kendisi genişletmiyor, toplu seçip genişletmeye çalışıldığında tekini genişletiyor, üstteki menüden hepsini aynı boy yap’ı seçmeden çalışmıyor. Bunun dışında print’i güzel. Fakat para vermeğe değer bulmadım.&lt;/li&gt;&lt;/ul&gt;Sonuç olarak, MindJet ve XMind yazılımlarını kullanmaya değer buldum. Özellikle düşündüklerinizi ilişkilendirip bilgisayara aktarabiliyor olmak, bu yazılımlarla kağıda yazmaktan daha kolay. Bir süre sonra karalama kağıtlarından kurtulup fikirlerinizi toplantılarda vs. daha düzgün paylaşabildiğinizi, Powerpoint'e eklediğiniz mindmap imajlarıyla derdinizi daha iyi anlatabildiğinizi farkediyorsunuz.&lt;br /&gt;&lt;br /&gt;Bu yazıyı yazdıktan yaklaşık bir ay sonra ek yapıyorum;&lt;br /&gt;Şirket genelinde XMind'ı kullanma kararı aldık, arkadaşlar bunu daha çok beğendiler. Eclipse üzerine geliştirilmiş ve benim gördüğüm Java ile yazılmış en iyi software'lerden biri. Eclipse'in üzerinde yapılan herşey güzel oluyor diye genelleyebiliyoruz zaten. Tavsiye ediyorum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-4738331514860361739?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/4738331514860361739/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2009/09/mind-mapper-software.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/4738331514860361739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/4738331514860361739'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2009/09/mind-mapper-software.html' title='Mind Mapper Software'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-930236390084362192</id><published>2009-09-04T23:12:00.002+03:00</published><updated>2009-09-05T00:54:44.579+03:00</updated><title type='text'>Target Process</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Bugün bir ihtiyaçtan dolayı Agile Software Management Tool'ları arasında bir inceleme yaptım.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;a href="http://agilemanifesto.org/"&gt;Agile Manifesto&lt;/a&gt; herhangi bir software kullanmaya karşı olsa da (ben de karşıyım), çok uluslu proje takımlarının çalışabileceği ortamlar malesef sınırlı. Şirketimizde agile board (Japonlar yine "kanban" diyerek olaya girdiler) adı verilen uygulamadan gayet memnunuz. Bunun faydaları ile ilgili bir ara yazmayı hatırlamam lazım.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Konuya dönersek&amp;nbsp;&lt;a href="http://www.targetprocess.com/"&gt;Target Process&lt;/a&gt;, videolarını izlemeyi unutmayın, web üzerinde bence bu işi görsel olarak uygulamaya en yakın aday. Diğer örnekleri formlar vs. ile çalışırken bu yazılım daha güzel bir interface ile task'leri kutu-kutu göstermeyi hedeflemiş. Karışık projelerde ne olur henüz bilmiyorum, kurup denemedim fakat genel olarak Agile'ı sprint/iterasyon planlaması, günlük kullanım, &lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;bilgisayar &lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;karşısında scrum yapmak gibi noktalarda başarılı uyguluyor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Webex veya başka bir desktop sharing uygulaması ile birlikte günlük scrum'ları rahat yapabilir, projeyi takip edebiliriz. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-930236390084362192?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/930236390084362192/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2009/09/target-process.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/930236390084362192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/930236390084362192'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2009/09/target-process.html' title='Target Process'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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-5559039573505380741.post-2891204390010413118</id><published>2009-09-04T22:59:00.000+03:00</published><updated>2009-09-09T10:46:03.388+03:00</updated><title type='text'>Yeni blog'um</title><content type='html'>&lt;div style="font-family: arial,helvetica,sans-serif"&gt;Herkese merhaba.&lt;/div&gt;  &lt;div style="font-family: arial,helvetica,sans-serif"&gt;&lt;/div&gt;  &lt;div style="font-family: arial,helvetica,sans-serif"&gt;&lt;/div&gt;  &lt;div style="font-family: arial,helvetica,sans-serif"&gt;Bu yeni açtığım blog sayfam için ilk kayıt. &lt;/div&gt;  &lt;div style="font-family: arial,helvetica,sans-serif"&gt;Bundan sonra burayı özellikle Microsoft.NET ve C# konularında teknik bloglarımı ve ürün incemelerimi yayınlamak için    &lt;br /&gt;kullanacağım.&lt;/div&gt;  &lt;div style="font-family: arial,helvetica,sans-serif"&gt;&lt;/div&gt;  &lt;div style="font-family: arial,helvetica,sans-serif"&gt;Sevgiler... &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5559039573505380741-2891204390010413118?l=www.serkanberksoy.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.serkanberksoy.com/feeds/2891204390010413118/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.serkanberksoy.com/2009/09/yeni-blogum.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/2891204390010413118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5559039573505380741/posts/default/2891204390010413118'/><link rel='alternate' type='text/html' href='http://www.serkanberksoy.com/2009/09/yeni-blogum.html' title='Yeni blog&amp;#39;um'/><author><name>Serkan Berksoy</name><uri>http://www.blogger.com/profile/17886962911961756600</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>
