Sekiz Saatlik Sonsuz Döngü

Uygulama geliştirme yaşam döngümüzün otuzuncu sprintinin ilk günlerinden birisiydi. İki haftalık koşu görevlerini Sprint Planning toplantısında zaten belirlemiştik. Takım olarak 13 Story Point’e sahip Production Support Buffer mecburen her sprint içerisine dahil ettiğimiz bir maliyet. 17 yaşındaki Microsoft .Net tabanlı devasa ERP(Enterprise Resource Planning) ürünümüz ek geliştirmeler veya önceki yıllardan kalan teknik borçlar sebebiyle bazen üretim ortamı sorunları ile karşımıza gelmekte. Büyüklüğüne nazaran Code Coverage oranının düşük olması yeni ilavelerin var olan yapılara olan etkisini anlamamızı zorlaştırıyor. Ben, Mali İşler ve Ortak Modüller(Kimsenin bilmediği bir modül varsa böyle gelin) ekibindeyim. Lakin ERP’nin diğer modüllerinde de benzer sorunlar olabiliyor. [Daha fazla]

Bir Python Uygulamasını git Tekniği ile Azure Platformuna Taşımak

Çok sık kullanılan Azure öğretilerinden birisi bu. Amaç git yardımıyla Azure üzerinde deployment işlemi başlatmak. Ben bunu python ile denemek istedim. Bu sefer işim biraz daha zorlu. Nitekim WestWorld(Ubuntu 18.04, 64bit) topraklarını bir süreliğine terk ettim. Artık ahch-to(Mac Mini, High Sierra) adasındayım. Bu nedenle sistemde bazı şeyler eksik gibi görünüyor. [Daha fazla]

Kimdir Bu Travis?

Continuous Integration kaliteli ve sorunsuz kod çıkartmanın önemli safhalarından birisi. DevOps kültürü için değerli olan, Continuous Deployment/Delivery ile bir anılan CI'ın uygulanmasında en temel noktalar kodun sürekli test edilebilir olması ve ne kadarının kontrol altına alındığının bilinmesi. Başarılı bir Build için bu kriterlerin metrik olarak gerekli değerlerin üzerine çıkması şart. Ancak bu metriklere uyan bir Build, dağıtıma gönderilebilir bir aday sürüm haline gelebilir. [Daha fazla]

Code Coverage

Bu yazımızda .Net Core tarafında geliştireceğimiz kod parçaları için Code Coverage değerlerine nasıl bakabileceğimizi inceleme çalışıyoruz. Bunu yaparken Coverlet kütüphanesi ve SonarQube'ün docker üzerinde çalıştıracağımız versiyonundan yararlanıyoruz. Sonarscanner aracını da işin içerisine katarak test değerlerini SonarQube'e göndermeyi deniyoruz. [Daha fazla]

Teknik Borçları(Technical Debt) Azaltmak

Teknik borçlar pek çoğumuzun bilmeden de olsa gelecek programcılara bıraktığı sorunlar. Bu sorunlar sebebiyle zamanla kalitesi bozulan ürünler ortaya çıkıyor. Teknik borçların temizlenmesi mi, müşterinin yeni isteklerinin karşılanması mı derken ürün üzerinde çalışan programcıları eskitmeye devam edebiliyor. Sonunda legacy olarak tanımlanan, kimsenin ellemek istemediği ama yaşamını devam ettirmek zorunda olan devasa projeler oluşuyor. Bunun önüne geçmek sanıldığı kadar zor değil aslında. En başından test odaklı yaklaşımlarla ilerlemek sadece bir başlangıç. [Daha fazla]