Neredeyse Çalışmayan Sistem Fikirleri
(hardcoresoftware.learningbyshipping.com)Neredeyse Çalışmayan Sistem Fikirleri
-
"Sadece eklenti yapılabilir hale getirelim"
- Bir uygulama çalışmadığında, geliştiricilerin yeni bir uygulamayı kolayca ekleyebilmesini amaçlayan bir fikirdir. Ancak çoğu durumda API'nin sunduğu işlevler beklenildiği kadar sorunsuz çalışmaz. Gerçek anlamda eklenti esnekliği için ikinci uygulama en baştan birlikte tasarlanmalıdır.
-
"Sadece API ekleyelim"
- Geliştiricileri çekmek için platform kurarken API ekleme eğilimi sıktır. Ancak API sağlamak, uyumluluk ve birlikte çalışabilirlik için sürekli bir çaba gerektirir; API sunmak tek başına kullanıcı kazandırmaz. Platform oluşturmak ciddi bir iştir ve yalnızca API eklemek, ekonomik bir temel oluşturmak için yeterli değildir.
-
"Bir katman daha soyutlayalım"
- Bilgisayar biliminin “başka bir dolaylı referans düzeyiyle” bir sorunu çözebileceği söylenir. Ancak çok erken yapılan soyutlama, bakım, güvenlik ve performans optimizasyonunda sorunlar yaratabilir. Plan yapmadan eklenen soyutlama, kodun bakımını zorlaştırır.
-
"Asenkron hale getirelim"
- Asenkronluk bilgisayar biliminde uzun zamandır araştırılan bir konudur. Web frameworkleri bunu iyi soyutlar; ancak framework dışından asenkronluğu doğrudan yönetmeye çalışıldığında tahmin edilemeyen hata riski artar.
-
"Erişim kontrolünü sonradan ekleyelim"
- Sistem güvenliği baştan tasarlanmalıdır, ancak genelde pazara hızlı çıkma baskısıyla sonradan eklenir. Müşteri ve saldırgan bakış açısından erişim kontrolünü baştan düşünmezseniz, ürünü sonradan yeniden tasarlama ihtimaliniz artar.
-
"Veri senkronizasyonu yapalım"
- Veri senkronizasyonu çok zor bir problem olup, ancak deneyimle çözülebilecek pek çok zorluğu barındırır. Çözümleri veri senkronizasyonuna dayandırmak neredeyse tercih edilmez.
-
"Çapraz platform geliştirelim"
- Çapraz platform geliştirme, işletim sistemi, bulut sağlayıcısı veya tarayıcı geliştirmeye benzer. Platform yeni olduğu veya uygulama basit olduğu durumlarda çalışabilir ama zaman içinde giderek zorlaşır.
-
"Yerel özelliklere kaçış imkanı bırakalım"
- Çapraz platform sınırlı olduğunda, yerel işlevlere kaçış sağlayacak şekilde tasarlamak yaygındır. Ancak bu yöntem, çerçevenin tutarlı tuttuğu durumla çakışabileceğinden 10'da 9 kez başarısız olur.
-
Sonuç
- Bu yöntemlerin her zaman başarısız olması söz konusu değildir, ancak çoğu durumda daha iyi bir yol vardır. Temel prensiplere bağlı kalarak sorunu çözmek ve başarısızlık olasılığı yüksek yazılım kalıplarından kaçınmak önemlidir.
2 yorum
Plug söz konusu olduğunda, yalnızca gerekli davranışları olabildiğince ayıklayarak arayüz tasarlamak en önemli şey.60; Arayüzü sadece mevcut koddaki yapıyı kabaca alıp yaparsanız, doğal olarak bu, o uygulamaya hapsolan gereksiz bir arayüz olur ama gerçekten çok sık karşılaşılıyor...
Hacker News Yorumu
DSL'ler ve API'ler çoğu zaman başarılı olur. TensorFlow gibi çıkarım motorları da bir DSL ya da bir DSL'i saran bir API olarak görülebilir
DSL'ler bazen gerçekten iyi çalışır. jOOQ.org'a bakılabilir
Elastic Load Balancer, iş yüküne tepki veren bir kontrol döngüsüdür. Bu bir bakıma üründür
Çoğu endüstride kaynak kıtlığı yaygındır. İlgili referanslar olarak erikbern.com ve "Goal: Process of Ongoing Improvement"ya bakılabilir
Anomali tespiti dağıtık sistemlerin bir sorunu değildir. Ancak sorunu yaşayanların bu alana ihtiyaç duyduğunu düşünebileceği olur
"Neredeyse" ifadesi burada uygun değildir. Bu sadece basit bir kötümserlik ve alaycılıktır
Birçok kişi, istisnalar için ince bir karar fonksiyonu bulmaya çalışır. Ama pratikte durum basittir. Ben yaptığımda iyi oluyor, bir önceki kişi yaptığında olmuyor
"Domain Driven Design", uygulamayı iş yapısına göre tasarlamak bir felaket tarifidir
Yük tepkisi kontrol döngüsü temel ve vazgeçilmez bir bileşendir. Birçok sistemde kullanılır
Birçok DSL, P2P önbellek ve hibrit paralellik kullanan projede çalıştım ve çoğu başarılı oldu
"Sadece veriyi senkronize edelim" yaklaşımı sorun yaratabilir
Birçok fikri başarıyla uyguladım. Bu yüzden biraz tuhaf görünüyor