Yazılım Mühendisliği

Sistem geliştirme yaşam döngüsü içinde çalışan profesyoneller, akademisyenler ve öğrenciler için soru-cevap

2
Bir kullanıcı tarafından düzenlenirken bulut DB'mdeki satırları kilitlemeli miyim
Buluttaki verilere devam eden bir masaüstü uygulaması oluşturuyorum. Bir endişem var uygulamada bir öğeyi düzenlemek ve bir süre veri bayat neden bırakarak bir başlangıçtır. Bu, 2 kişinin aynı öğeyi aynı anda düzenlemeye çalışması durumunda da görülebilir. Düzenlemelerini tamamladıklarında ve verileri kaydetmek istediklerinde, veritabanında şu anda mevcut olanların üzerine yazmam veya …



1
'Sözdizimi sirkesi' ne anlama geliyor?
Groovy in Action, Second Edition'ı okuyordum ve dipnotta aşağıdaki metni buldum Java, programcıların onu kullanmasını engellemek için böyle bir yapı üzerine “sözdizimi sirkesi” döküyor. Terim syntax vinegarburada ne anlama geliyor? Bu terimi daha önce hiç duymamıştım ve DuckDuckGo ve Google'da arama yaptım ama bir anlam bulamadım. Ancak birden fazla yerde …
12 java  syntax  groovy 

1
Semafor neden semafor olarak adlandırılır?
Bana göre bir demiryolu semaforu bir semaforu bir bayrak veya trafik ışığı gibi diğer jenerik sinyal nesnelerinden daha iyi tanımlar. Bir anahtarlık gibi bir şey bile (insanlar kilitli kaynaklara erişmek için anahtarları halkadan alır, daha sonra bittiklerinde geri verir) daha açıklayıcıdır. Öyleyse semafor neden semafor olarak adlandırılıyor?
12 semaphore 

5
Harici koddaki rasgele işlevlere / sınıflara çağrıları yasakla
Sistemdeki olumsuz sonuçları önlemek için harici kütüphanelerin ve çerçevelerin API'sine erişimi kısıtlamanın değerli olacağı durumlar yaşadım. Örneğin, bir SharePoint uygulamasında spList.Items.GetItemById, liste döngüsünde, hatta bir döngüde bile, bunun büyük performans sorunlarına yol açabileceğini fark etmeden aramak doğal görünebilir . Ayrıca, test ortamındaki tüm e-postaları düzgün bir şekilde proxy ve alay …

5
Kaliteyi iyileştirme umuduyla mini-refactor kodunu faydalı mıdır, yoksa çok fazla faydası olmadan sadece “kodu hareket ettirmek” midir?
Misal Tek bir yerde "her şeyi" yapan monolitik kodla karşılaştım - veritabanından veri yükleme, HTML işaretlemesi gösterme, yönlendirici / denetleyici / eylem gibi davranma. SRP hareketli veritabanı kodunu kendi dosyasına uygulamaya başladım, işler için daha iyi adlandırma sağladım ve hepsi iyi görünüyordu, ama sonra neden bunu yaptığım konusunda şüphelerim var. …


2
Javac gibi derleyiciler saf işlevleri otomatik olarak algılar ve paralel hale getirir mi?
Saf fonksiyonların parellelleştirmeyi kolaylaştırdığı bilinmektedir. Doğrusal olarak paralel yürütmeye uyum sağlayan işlevsel programlama hakkında ne var? Javac gibi derleyiciler, bir yöntemin saf bir işlev olduğunu algılayacak kadar akıllı mıdır? Her zaman Fonksiyon gibi fonksiyonel arayüzler uygulayan ancak yan etkileri olan sınıflar uygulanabilir .


2
Bir dosya sistemi depolama aygıtını (çok büyük) bir bayt dizisi olarak "görür" mü?
Bir dosya sisteminin bir depolama aygıtına nasıl yazdığını ve bir aygıttan nasıl okuduğunu bilmek istiyorum. Bence şu şekilde çalışır: Bir dosya sistemi depolama aygıtına doğrudan erişmez, bunun yerine depolama aygıtı (depolama aygıtının aygıt sürücüsü tarafından) dosya sistemine (çok büyük) bir bayt dizisi olarak sunulur. Örneğin, dosya sistemi bir sabit diske …

2
Muteks uygulamalarını test etme ve karşılaştırma
Başlığın dediği gibi: c ++ 'daki mutekslerin farklı uygulamalarını düzgün bir şekilde nasıl test edersiniz ve karşılaştırırsınız? Esasen, 2 çekirdekli bir armv7 üzerinde çalışan bir proje için kendi std :: mutex benzeri sınıfımı yazdım, tartışmasız durumda ek yükü en aza indirgemek için. Şimdi söz konusu muteksi daha fazla yerde ve …
12 c++  testing  mutex 

4
Fonksiyonel tarzda programlama yaparken, uygulama mantığından geçtiğiniz tek bir uygulama durumunuz var mı?
Aşağıdakilerin tümüne sahip bir sistemi nasıl kurarım : Değişmez nesnelerle saf fonksiyonların kullanılması. Sadece ihtiyaç duyduğu işlevin bir işlev verilerine aktarın, daha fazla değil (yani büyük uygulama durumu nesnesi yok) İşlevler için çok fazla argüman bulundurmaktan kaçının. Fonksiyonlara çok fazla parametrenin aktarılmasını önlemek için, sadece işlevlere parametrelerin paketlenmesi ve paketlerinin …

5
Agile, karmaşık işleme içeren uygulamalara nasıl uygulanabilir?
Çevik ile ilgili literatürün çoğu, kullanıcının sahne arkasında neler olduğunun oldukça farkında olduğu CRUD tipi iş uygulamalarına karşı önyargılı görünüyor. (Bu iyi çünkü yazılan kodun çoğu muhtemelen bu sınıfa ait.) Bu tür bir uygulama için kullanıcı hikayeleri (gereksinimler) ve geliştirme görevleri arasındaki ilişki çoğunlukla basittir: Kullanıcı hikayesini birkaç göreve ayırın. …

3
Hiyerarşik veriler için düz veya iç içe JSON?
Zaten ~ 5 kez ileri geri döndüm. Bu REST bitiş noktası /api/tags/dahili kullanım için olacak (3. taraf istemciler yok), onunla çalışan tek kişi benim. Bu iki temsil arasında karar veriyorum: Düz { "types":[ { "id":1, "text":"Utility" }, { "id":7, "text":"Lease Terms" }, ], "tags":[ { "id":8, "text":"Water", "type":1 }, { …
12 rest  api-design  json 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.