22 Haziran 2014 Pazar

IDE ve Sürüm Takip Sistemi Tecrübelerim Üzerine

Yazmadım uzun bir süredir,
Yazma fırsatı bul(a)madım.
Hayat çok kısa be azizim.
Kuşlar uçuyor,
Londra düşüyor,
Falan.
Biraz da kalpazanlık.

Akıp giden bu zamanda, yaklaşık 3-4 ay gibi bir süreyle iki ayrı proje geliştirdik. Bunlardan biri C# diğeri ise Java EE projesiydi. Edindiğim bazı tecrübeleri sizinle de paylaşmak istiyorum. Olur ya belki birinin işine yarar.

İlk tavsiyem tek başına birşeyler geliştiriyor bile olsanız mutlaka sürüm takip sisteminin nimetlerinden yararlanın.

C# projesini VS2013 ile geliştirdik. IDE olarak Visual Studio'yu hep çok beğenmişimdir. VS2013'de ise Microsoft, bulut entegrasyonunu mükemmel bir şekilde tamamlamış. Geliştirici oldukça kolay bir şekilde bütün kaynaklarına erişebiliyor. Sürüm takibi için ise yine Azure üzerinden Team Foundation Server (TFS) kullandık. Visual Studio Online'ın (VSO) sitesinden azami beş kişiye kadar ücretsiz TFS kullanabiliyorsunuz. Bu gerçekten çok iyi olmuş. Zira bizim ekip de beş kişiydi.

Projenin başlarında elimizde bulunan bir hediye kuponu vasıtasıyla iki ay bütün özellikleri ücretsiz kullandık. O zaman hayat güzeldi. Sonra "zalım" Microsoft hesabımızın özelliklerini düşürdü. Ancak dediğim gibi beş kişilik bir ekip bazı özellikler haricinde genel özelikler ile Azure üzerinde TFS kullanabiliyor. Grup sohbeti ve kodların bulutta derlenmesi gibi özellikler kapatılıyor galiba. Yamuluyorsam düzeltin.

Azure konusunda genel izlenimim gerçekten çok iyi bir altyapı sağladığıdır. Özellikle Microsoft teknolojilerine aşina iseniz. Tabi Microsoft, Azure'da beklenenin aksine Python, bazı Linux dağıtımları, Git vs. desteği de veriyor.

Bizim için VS2013 + TFS birleşimi adeta bir şifa niteliğindeydi. Adettendir, bir grup ortak şekilde kod geliştiriyorsa mutlaka çakışma olur. Ancak bunu sorun etmiyorsunuz. Çünkü çakışmaları çözmek VS ile gerçekten çok kolay. Genel olarak bu süreçte hiçbir problem yaşamadım. Birçok artısı vardı. Ama eksilerini söylemeden de olmaz. Grup sohbeti ancak VSO'nın sitesinden yapılıyor. Bu gerçekten kötü olmuş. Çünkü VS'den tarayıcı ekranına dönmek gereksiz zaman kaybı oluyor. Codeplex'de bu sohbeti VS içine yerleştiren bir eklenti vardı. Maalesef ben denediğimde sorunluydu. Bir daha da kontrol etmedim. Kısacası bu geliştirme süreci gerçekten keyifli geçti.

Gelelim diğer projeye. Diğeri bir Java EE projesi olduğu için Eclipse + Git birleşimini kullanmayı tercih ettik. Git sunucusu olarak yine Azure'u kullandık. VSO üzerinden yine dediğim özelliklerde Git sunucusu oluşturabiliyorsunuz.

Microsoft'un diğer teknolojilere bakışını değiştirmesi doğru bir düşünce olmuş. Günümüzde size bulut hizmeti sağlayan birçok firma var. En başlarında da -bence- Amazon Web Services (AWS) gelir. AWS, elbette çok profesyonel ve belki biraz da pahalı görünüyor. Ücreti mukabilinde size sunmadığı hizmet yok. İlk başlarda AWS altyapıyı hizmet olarak sağlıyor (Infrastructure as a Service - IaaS) gibi görünse de şu an platform olarak servis sunma (Platform as a Service - PaaS) modeline doğru evrilmiş durumda. Artık size yük dengeleyici (load balancer), güvenlik duvarı (firewall) vs. gibi şeyleri de sunabiliyor olması gerçekten mükemmel. Bu sebeple bence AWS'yi IaaS ile PaaS arasında bir yerde görmek daha doğru olur. Bir süredir ufaktan onunla da haşır neşir olmaya başladım.

Bizim "e-ticaret" sitelerimiz daha ticaret yapmayı bilmiyorken, müşteriye gerekli değeri vermeyip kendilerine zaten mecbur olduklarını düşünüyorken; ilk başlarda kitap satan, dünya çapında sorunsuz ticaret yapabilen, bugün kendi e-kitap okuyucusunu, tabletini ve hatta telefonunu yapan adamların 2006 yılında herkes buluttan bir haberken AWS'nin kurdelesini kesmesinin tesadüf olmadığı yadsınamaz bir gerçek. Bizimkiler de hala doksanlardan kalma, birçoğunun doğru düzgün güvenliğini bile sağladığını düşünmediğim sitelerle bir günde bilmem kaç ürüne indirim yapacağız gibi "parlak" bir fikre sahip olsunlar. Her ne kadar kullanıcı görüşlerini önemseyerek iş yapıyor olmasalar da ticarette sınırların kalktığı bir dünyada birçoğu kendilerine rekabet bile edecek alanı bulamayacaklardır diye düşünüyorum. Ancak bizi sömürmek için biraz daha zamanları var.

Nereden nerelere geldim. Mevzuya geri dönecek olursak; Eclipse, çok ciddi bir topluluk desteğini arkasına alıyor. Ancak açıkçası ben Git ile bütünleşik olarak kullanırken o kadar çok sorun yaşadım ki, bunlar özellikle de çakışmalardı, sorunları çözmem kodlamadan daha uzun sürmüştür. VS'den alıştığım rahatlığı Eclipse'de bulamadım. Eclipse topluluğuna saygı duyuyorum beni şimdi afaroz etmesinler ancak gerçekten berbat tecrübelerim oldu. Çoğu zaman son zamanların gözde firması Jetbrains'in IntelliJ IDEA'sına kaçtım. Eclipse ile ömür geçirenlere Allah kolaylık versin diyor, bazılarının neden IntelliJ IDEA'ya yöneldiklerini gayet iyi anlıyorum. Eclipse kullanmamın ana sebebi de bazı zorunluluklar olmasıydı. Ortamlarda Eclipse'de yazdım dersin kim bilecek.

Kısaca tecrübelerimi aktarmaya çalıştım. Umarım birilerine faydası olur.
"Mükemmel şeyler yapamıyorsanız, küçük şeyleri mükemmel bir şekilde yapın."

6 Kasım 2013 Çarşamba

Obama, Bubble Sort ve NSA

Malum, bir süredir gündemde NSA ve elektronik izleme var. 

Bazılarımız için yaşananlar hiç şaşılacak bir durum olmamasına rağmen eminim ki çoğumuz ilk duyduğunda epey şaşırmışdır. Özellikle elektronik dünyanın nereden gelip nereye gittiği hakkında kafa yormayanlarımız.

17 Mayıs 2013 Cuma

Ödül Avcılığı Üzerine

Yazımın başında belirtmek isterim ki önce ödül avcılığı (bug bounty) programları hakkında biraz genel bilgi verip biraz da naçizane eleştirilerimi yapacağım ardından kendi bulduğum önemli bir zafiyet ile ilgili bilgi vereceğim. Açık söylemem gerekirse ödül avcılığı programları hakkındaki görüşlerim daha öncesinde de aynıydı. Sadece tekrar gözlemlemiş olduğum için mutluyum.

Ödül Avcılığı Nedir?


Benim "ödül avcılığı" dediğim İngilizcesi "bug bounty" olan kavram; güvenliğe önem veren (verdiğini söyleyen) ve kendi ekipleri dışında başka kişilerin sistemlerinde buldukları zafiyetleri kendilerine bildirmelerini ve hatta kullanıcılar ile sitenin en az zarar görmesini sağlamak için çoğu zaman parayla teşvik edilen bir organizasyondur.

14 Şubat 2013 Perşembe

Zemana Antilogger Free

      Türk menşeili olmasına rağmen Türkiye'de pek az bilinen ama başarıları dünya çapında kanıtlanmış ender firmalardan biridir herhalde Zemana. Zaten Antilogger yazılımlarıyla çokça kez gerçek "bağımsız" kuruluşlar tarafından başarıları ispatlanmıştı.

23 Aralık 2012 Pazar

Beyaz Yakalı Hackerlar


Hackerları, şapkalarını ve renklerini eminim ki artık herkes duydu. Ancak bu biraz daha farklı.

Daha önce Türkçe'de böyle tanım yapan biri oldu mu bilmiyorum. Fakat tanımlamak istediğim "Beyaz Yakalı Hacker" kavramı.

23 Kasım 2012 Cuma

Sakallar ve Dedeler


Memleketimin güzel laflarından biridir; "Her sakallıyı deden sanma".

Peki niye böyle dedim? Aslında bununla alakalı bir yazı planlıyordum hatta ötesine de geçip telefona not almaya başlamıştım. Ancak içimde bunun için daha erken hissi uyanması sebebiyle bir anda vazgeçmiştim.

28 Ekim 2012 Pazar

Mutluluklar Üzerine


Eğer her yeni mutluluğu eski mutluluklarımızla karşılaştırırsak, tabii ki eski mutluluklar daha güzel gelir. Çünkü onlara duyulan özlem vardır işin içinde. Halbuki tüm bunlara ne gerek var? Bırakalım eski mutluluklarımız eskide kalsın. Özlemler yeni mutluluklara olsun. Eski mutluluklar güzel gelir, gelirken de yeni mutluluğu gölgede bırakır, eskitir. Artık ne yeni mutluluk bize eski hazzı verir ne de eski mutluluklar geri gelir. 
Kahraman Tazeoğlu
Bambaşka Syf 34