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

4
Amazon gibi bir şirket, veritabanı katmanına erişen darboğazları nasıl önler?
Amazon gibi bir şirket (veya başka herhangi bir büyük e-ticaret web uygulaması), büyük ölçekli bir çevrimiçi mağaza işletiyor ve yalnızca depolarında sınırlı miktarda fiziksel ürün bulunduğunu hayal ediyorsanız, tek tıkanıklık? Tabii ki, çoğaltılmış bir dizi veritabanına ve yükü bağımsız olarak ele alan birçok sunucuya sahip olmaları gerekir. Bununla birlikte, birden …


7
Bir C ++ programı tüm istisnaları yakalamalı ve istisnaların main () bölümünden köpürmesini engellemeli midir?
Bir keresinde bir C ++ programının sonunda tüm istisnaları yakalaması gerektiği konusunda bilgilendirildim. O zaman verilen akıl yürütme, esasen istisnaların dışına taşmasına izin veren programların main()garip bir zombi durumuna girmesiydi. Bunu birkaç yıl önce söylemiştim ve geçmişe bakıldığında gözlemlenen olgunun, söz konusu projeden elde edilen istisnai olarak büyük çekirdek döküntülerinin …
29 c++  exceptions 

8
Bunları bir sınıfa veya işleve sarmak yerine uzun ancak anlaşılır kodu kopyalayıp yapıştırmak kabul edilebilir mi?
İnternete bağlanmak ve bunun gibi bağlantı sonuçlarını göstermek için bir kod parçam olduğunu varsayalım: HttpRequest* httpRequest=new HttpRequest(); httpRequest->setUrl("(some domain .com)"); httpRequest->setRequestType(HttpRequest::Type::POST); httpRequest->setRequestData("(something like name=?&age=30&...)"); httpRequest->setResponseCallback([=](HttpClient* client, HttpResponse* response){ string responseString=response->getResponseDataString(); if(response->getErrorCode()!=200){ if(response->getErrorCode()==404){ Alert* alert=new Alert(); alert->setFontSize(30); alert->setFontColor(255,255,255); alert->setPosition(Screen.MIDDLE); alert->show("Connection Error","Not Found"); }else if((some other different cases)){ (some other alert) }else …

1
Hemen adlandırılan adsız bir JavaScript işlevi için kullanılan terim nedir?
Ekibim için bir JavaScript stil rehberi yazıyorum, böylece belgelerimizi daha kolay organize edebilir ve katkıda bulunabiliriz. Ama sorumun uygulandığı küçük bir çarpma noktasına geldim ... Hemen adı verilen isimsiz bir JavaScript işlevini çağırmam gerekiyor. Basitçe "isimsiz bir işlev" diyebileceğimi biliyorum, ama derhal çağrıldığını vurgulamak istiyorum. İşte bir örnek: var MyVariable …

3
Yeniden Yazım için sürüm kontrol uygulaması
X dilinde bir ürün (prototip) P_OLD geliştirdik ve şimdi Y dilinde P_NEW olarak sıfırdan yazıyoruz. P_NEW ve P_OLD aynı ürün olduğundan: P_NEW P_OLD'un eski bir grubu mu yoksa kendi deposu mu olmalı? Bu kadar büyük değişikliklerle başa çıkmanın genel yolu nedir, sürüm kontrolü bakış açısı oluşturur?

2
C string değişmezleri neden salt okunur?
Dize değişmezlerin salt okunur olmasının avantajları: (-ies / -ied): Kendini ayağından vurmanın başka bir yolu char *foo = "bar"; foo[0] = 'd'; /* SEGFAULT */ Okuma-yazma sözcük dizisini tek bir satırda zarif bir şekilde başlatamamak: char *foo[] = { "bar", "baz", "running out of traditional placeholder names" }; foo[1][2] = …
29 c  memory  strings 

8
Büyük ölçekli web uygulamaları için gerçek dünyada “güçlü” bir tür sistemi kullanmak mı?
Bunun çok geniş, belirsiz ve muhtemelen felsefi bir soru olduğunu biliyorum. Bir dereceye kadar, "güçlü" tip sistem - sorudaki en önemli anahtar kelimenin kendisinin kötü tanımlanmış olduğu bir ölçüde . Öyleyse ne demek istediğimi açıklamaya çalışayım. Sorunun genel içeriği Ruby on Rails'de çok büyük ölçekli bir web uygulaması oluşturduk ve …

4
C # 6.0'ın yeni boş koşullu operatörü Demeter Yasasına aykırı mı?
Demeter Kanunu şöyle der: Her ünite diğer üniteler hakkında sadece sınırlı bilgiye sahip olmalıdır: sadece mevcut ünite ile ilgili "yakından" olan üniteler. Her birim sadece arkadaşlarıyla konuşmalıdır; yabancılarla konuşma. Sadece yakın arkadaşlarınızla konuşun. C # 6.0 boş koşullu işleç adı verilen yeni bir işleç başlattı . IMHO, kodlamayı kolaylaştırır ve …


2
Bir programın 64 bit sürümünü yapmak neden zor olabilir?
Kısa süreli programlamamda, programın tam kaynağına sahip olduğum sürece 32 veya 64 bit bir makinede C ++, Java vb. Ancak bir çok yazılım 64bit piyasaya sürülmedi. En can sıkıcı biçimde, Unity motorunun henüz 64 bit sürümü yok. 64 bit makineler için bazı programların derlenmesini zorlaştıran şey nedir?

3
UML neden çoğu özgür yazılımda kullanılmıyor (örneğin Linux'ta)?
UML'nin çoğu ücretsiz yazılım projesinde neden kullanılmadığını anlamaya çalışıyorum . Örneğin, Debian / Linux sistemim muhtemelen on binden fazla ücretsiz yazılım paketine sahip ve açık UML çerçevesi ve metodolojisi kullanılarak geliştirilen birini bile adlandıramıyorum . Örneğin, Qt , GCC , Linux çekirdeği , bash , GNU make , Ocaml , …


6
Class anahtar kelimesi olmadan “nesne yönelimli” programlamayı uygulayabilir misiniz?
Diyelim ki bir bankada "hesap" soyutlama yapmak istiyoruz. İşte functionPython'da bir nesne kullanarak bir yaklaşım : def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def withdraw(amount): if amount > dispatch['balance']: …

11
Kaç tasarım deseni ve soyutlama seviyesi gereklidir? [kapalı]
Yazılımımın çok fazla soyutlama ve çok fazla tasarım desenine sahip olduğunu nasıl söyleyebilirim, ya da tam tersi, daha fazlasına sahip olup olmadığını nasıl bilebilirim? Çalıştığım geliştiriciler bu konularla ilgili farklı programlama yapıyorlar. Bazıları her küçük işlevi soyutlar, mümkün olan yerlerde tasarım kalıplarını kullanır ve herhangi bir maliyette fazlalıktan kaçınır. Ben …

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.