Haftalık Videolar 7 – “Modular Monoliths” + “Know your hardware!”

Evet arkadaşlar, bir video paylaşımı ile birlikteyiz. Uygulama izleme yazılımına ilişkin güncellemeleri tamamlamaya çalışırken arada bir video paylaşımı iyi olur diye düşündüm 😀

Açıkçası uzun bir süredir, uygulama izleme yazılımına ilişkin kabiliyetleri belirli bir ölçüye getirip, sizlerle paylaşmak istiyorum fakat henüz tamamlayamadım. Bu son güncelleme ile sizlere referans olabilecek, alıp üzerinde oynayabileceğiniz bir uygulama (lar) ortaya koymayı hedefliyorum. Neyse konumuza, daha doğrusu bu yazımızın konuklarına bir göz atalım. İki konuğumuz olacak 🙂

İlki daha önce de çeşitli vesileler ile oluşturduğu C4 yazılımı mimarisi yaklaşımı ile tanıdığımız Simon Brown’un bir konuşması olacak.

Özetle Simon bu konuşmasında, bizim de köşemizi meşgul eden ve son zamanlarda oldukça popüler olan mikroservislere ilişkin kendi görüşlerini, bu teknoloji etrafında oluşan popülerliği ve bunun dayandığı noktaları, oluşan yanlış algılar ile aktarıyor.  Temelde, monolitik yazılımları doğru bir şekilde tasarlamak için izlenmesi gereken yaklaşımın aslında mikroservisler için de izlenmesi gerektiğini,  bu yaklaşımın da, tek başına “silver bullet” olmadığını, C4 yaklaşımını da kullanarak güzel bir şekilde aktarıyor. Video’nun da bence en güzel notu şu ifade olabilir:

Choose microservices for the benefits not because your monolithic code base is a mess.

Mealen,

Mikroservisleri, faydaları için tercih edin, monolitik kodunuz karman çorman olmasından ötürü seçmeyin.

Konuşmanın yansılarına buradan ulaşabilirsiniz. Videoyu da aşağıdan izleyebilirsiniz.

 

İkinci videomuz biraz daha “hard-core” C++ takipçilerim için Timur Doumler’den geliyor.

Kendisinin, çeşitli C++ konferanslarında yaptığı konuşmalarını youtube üzerinde izleyebilirsiniz, tavsiye ederim. Bu konuşmasında, her ne kadar yazılımınızda kullandığınız C++ ile yaptığınız taklalar ile yüksek performansı hedefleseniz de, altta yatan donanımınızı göz önünde bulundurmazsanız çok beklenmedik sonuçlar görebilirsiniz. Bu sonuçlara sebebiyet veren ve aşağıda sıraladığım sıkıntıları, sade ve açıklayıcı örnekler ile bizler ile paylaşıyor. Bunu yaparken de, modern C++ ve çeşitli araçları da kullanıyor.

  • Cache locality
  • Cache associativity
  • True/false sharing
  • Memory alignment
  • Branch prediction
  • Instruction pipeline
  • SIMD, vs.

Özetle, gerçek anlamda bir performans artışı yakalayabilmek için, donanıma ilişkin hususlara vakıf olmanız, sizlerin faydasına olacaktır.

Bütün C++ geliştiricileri yanında özellikle, gömülü yazılımcıların da, bu videoyu izlemelerini tavsiye ederim. Videoya ilişkin yansılara buradan ulaşabilirsiniz. Videoyu da aşağıya bırakıyorum, iyi seyirler.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.