Otomatik Mühendis

Joel Testi

Joel testi, 2000 yılında Joel Spolsky tarafından bilişim literatürüne kazandırılmış 12 soruluk bir testtir. Bu test yazılım ekiplerinin kalitesini belirlemek amacıyla kullanılır. Ben, stackoverflow kariyer sayfasında öğrendim ve bir kaç senelik tecrübemle bu soruların günümüzde geçerliliği bir yana, bir yazılım ekibi ne yapmalıdır konusunda yol gösterici olduğunu söyleyebilirim.

Joel Test

stackoverflow kariyer sayfasında kullanımı

Soruları ele almadan önce Joel Spolsky kimdir sorusunu cevaplayalım. Joel, 2000 yılında internet dünyasına adım atan, eski bir Microsoft çalışanı. 2008 yılında ortağı Jeff Atwood ile birlikte stackoverflow‘u kuruyorlar. Stackoverflow her yazılımcının uğrak noktası olan bir soru&cevap sitesidir. Daha sonrasında Stack Exchange adında bir soru&cevap siteleri ağına dönüşüyor. Kısaca günümüz programcılığını hızlandıran bir etkisi olmuştur.

Şimdi sorular: Toplam 12 sorudan oluşmaktadır ve her biri de bir diğeri kadar önemlidir.

  1. Kaynak kodu kontrol sistemi kullanıyor musunuz?
  2. Tek bir adımda sistemi oluşturabiliyor musunuz?
  3. Derleme (build) işlemi günlük yapılıyor mu?
  4. Hata veritabanınız var mı?
  5. Yeni bir kod yazmadan önce hataları düzeltiyor musunuz?
  6. Güncel iş takviminiz var mı?
  7. İş tanımlamalarınız var mı?
  8. Programcıların sakin bir çalışma ortamı var mı?
  9. Paranın alabileceği en iyi araçları kullanıyor musunuz?
  10. Test elemanınız var mı?
  11. İş görüşmelerinde adaylara kod yazdırılıyor mu?
  12. Koridor kullanım testi yapıyor musunuz?
Okumaya devam »


AppFabric Üzerinde Cache Oluşturma ve Erişimi

Daha önceki yazıda AppFabric kurulumunu ve ayarlarını görmüştük. İşlemleri başarıyla gerçekleştirdiyseniz şu an çalışır vaziyette bir AppFabric sunucunuz olmalı. Sunucularımızı görebilmek için Caching Administration Windows PowerShell aracını Administator olarak çalıştırıyoruz ve aşağıdaki komutu giriyoruz.

Get-CacheHost

Eğer Powershell aracı açılırken hata aldıysanız. Daha önceki yazıda da bahsettiğimiz Remote Registry servisinin çalışmamasından dolayı hata vermiş olabilir. Bu servisi çalıştırmak için yine aşağıdaki komutu girebiliriz.

net start RemoteRegistry

Bu işlem sonrasında PowerShell aracını tekrar çalıştırmanız gerekir. Kısayol ayarlarından bakarsanız aslında modül ekleme komutu barından bir PowerShell kısayolu olduğunu görebilirsiniz. Sıklıkla PowerShell kullanan biriyseniz bu komutu buradan kopyalarak kullanabilirsiniz.

Okumaya devam »


AppFabric Kurulumu, Ayarları ve Kullanımı

Microsoft Windows Server AppFabric, Windows Server’ın web uygulamaları ve orta katman servisler için hosting, yönetim ve cache’leme yeteneklerini arttıran bir sunucu uygulamasıdır.

Bu adresten indirerek başlayabiliriz; Microsoft AppFabric 1.1 for Windows Server Install

Eğer Windows 7 kullanıyorsanız IIS 7 Manager for Remote Administration kurmanız faydalı olabilir. Bu sayade uzaktan IIS sunucularınızı kontrol edebilirsiniz.

Aşağıdaki gibi tüm özelliklerin kurulumunu istiyoruz.

Birinci adım

Okumaya devam »


Güvensiz Rastgelelik

Yağmurlu bir İstanbul gününde, yağmur damlalarının rastgele yağışını izlerken aklıma geldi. Acaba kodlarımızın içerisinde ürettiğimiz sayılarla, bu damlaların düştüğü noktalar arasında bir bağlantı kurulabilir mi? Yağış formülize edilebilir mi?
Bunun üzerine rastgele sayılar üzerine bir araştırma yaptım ve ne kadar güvensiz olduklarını öğrendim. Testlerde yeterince çeşitli olduğunu düşündüğümüz ama bir yerden sonra tekrar eden sayılar kümesi ile güvenliği sağlamaya çalışıyoruz. Farklılık yaratmak için kullanıldığında sorun olmayabilir ama güvenlik amaçlı kullanıldığında dayanaksız bir araçtır rastgelelik. Güvensizliğinin sebebi tahmin edilebilirliğidir.

Normalden biraz daha güvenli olması için tohumunda zaman faktörünü de kullanıyorlar ama bu da tavsiye edilmiyor. Henüz .NET kütüphanesinde güzel bir örnek bulamadım ama Java’da güvenli rastgelelik için ayrı bir class mevcut.

1
2
3
4
public static int generateRandom(int maximumValue) {
	SecureRandom ranGen = new SecureRandom();
	return ranGen.nextInt(maximumValue);
}
Okumaya devam »