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

9
Bağımlılık enjeksiyonunu anlama
Bağımlılık enjeksiyonunu (DI) okuyorum . Bana göre, bunu yapmak çok karmaşık bir şeydi, okuduğum için kontrolün tersine çevrilmesi (IoC) de vardı ve böyle bir seyahate çıkacağımı hissettim. Bu benim anlayışım: Sınıfta onu tüketen bir model oluşturmak yerine, modeli (zaten ilginç özelliklerle dolu olan) ihtiyaç duyulan yere (onu parametre olarak alabilecek …

7
Güvenlik yoğun bir site için küçük bir hatayı düzeltmek için işe alındınız. Şifreye bakıldığında, güvenlik delikleriyle dolu. Ne yaparsın? [kapalı]
Bir sitede küçük işler yapmak için birileri tarafından işe alındım. Büyük bir şirket için bir site. Çok hassas veriler içeriyor, bu yüzden güvenlik çok önemli. Kodu analiz ettikten sonra, güvenlik delikleriyle dolu olduğunu fark ettim - okudum, bir çok PHP dosyasını doğrudan / mysql isteklerine ve sistem komutlarına girdi / …

6
Bir GET isteği neden sunucudaki verileri değiştirmemeli?
İnternet üzerinden aşağıdaki önerileri görüyorum: Bir GET hiçbir zaman sunucudaki verileri değiştirmemelidir; bunun için bir POST isteği kullanın. Bu fikrin temeli nedir? Veritabanına veri ekleyen bir php servisi yaparsam ve onu GET sorgu dizgisine geçirirsem, neden bu yanlış? (SQL Injection ile ilgilenmek için hazırlanmış ifadeleri kullanıyorum). POST isteği bir şekilde …
109 http  http-request 

5
Kalıtım yerine neden kompozisyonu tercih etmeliyim?
Her zaman kompozisyonun kalıtım yerine tercih edileceğini okudum. Türlerin aksine bir blog yazısı, örneğin, kalıtım üzerine kompozisyon kullanmayı savunuyor, ancak polimorfizmin nasıl elde edildiğini göremiyorum. Ancak insanlar kompozisyonu tercih ettiklerini söylediğinde, kompozisyon ve arayüz uygulamasının bir kombinasyonunu tercih ettikleri anlamına geliyor. Kalıtım olmadan polimorfizmi nasıl elde edersiniz? Miras kullandığım somut …

20
Açık Kaynak kodlu bir geliştirici olarak para kazanmak?
Şu anda öğrenciyim (Uygulamalı Bilgi Teknolojisi) ve programlamamızın çoğunu C # ve Java ile yapıyoruz. Nasıl geliştirici olarak açık kaynaklı para kazanabileceğimi merak ediyordum. Destek verme ya da hizmet sağlama hikayesi olduğunu biliyorum, ancak bir sysadmin değilim ve sysadmin çalışmasını sevmiyorum. Aslında gelecekteki bazı C ve C ++ 'larımı ele …

1
Git'teki şifreli imzalama işlemlerinin ve etiketlerinin avantajları ve dezavantajları nelerdir?
Böylece bir meslektaşım işimi gözden geçirdi ve bana taahhütlerimi ve etiketlerimi her zaman şifreli olarak imzalamam gerektiğini söyledi. Neden diye sorulduğunda, bana açıklamayı bilmiyordu ve “Bu sadece yapılması gereken iyi bir şey” dedi. Açıkça bir şempanze senaryosundan kaçınmaya çalışıyorum , neden gerçekten yapayım? Gerçekten çok fazla belirgin avantaj ve dezavantaj …
109 git  cryptography 

10
C # “Static” kullanmayın mu?
Kod incelemesi için diğer bazı mimarlara yazdığım bir başvuruyu gönderdim. Onlardan biri neredeyse hemen bana geri döndü ve "statik kullanma" dedi. Statik sınıf ve yöntemlerle otomatikleştirilmiş testler yazamazsınız. "Statik" önlenmeli. " Kontrol ettim ve derslerin 1 / 4'ü "statik" olarak işaretlendi. Sınıfın bir örneğini oluşturamayacağım zaman statik kullanırım çünkü sınıf …

12
(Küçük) bir geliştirici, geliştirme / BT ekibinde daha iyi süreçler ve uygulamalar için zorlanmalı mıdır?
Değişimi haklı çıkarabilirsem ve ekibin çalışmasını sağlamasına yardımcı olursa, ekibimin süreçlerini şekillendirmeye yardımcı olma yeteneğine sahip bir genç geliştiriciyim. Bu benim için yeni, çünkü eski şirketlerim yönetimden gelen süreçleri katı bir şekilde tanımladılar. Ekibim oldukça küçük ve biraz yeni (<3 yaşında). Onlar eksikliği: iyi tanımlanmış bir yazılım geliştirme / iş …

13
İstisnalar - girişler teknik olarak geçerli, ancak karşılanamaz olduğunda belirlenen boş sonuç
Kamuya açıklanması amaçlanan bir kütüphane geliştiriyorum. Nesnelerin kümeleri üzerinde çalışmak için çeşitli yöntemler içerir - kümeleri oluşturmak, incelemek, bölümlemek ve kümeleri yeni biçimlere yansıtmak. İlgili olması durumunda, IEnumerableNuGet paketi olarak piyasaya sürülecek LINQ tarzı uzantıları içeren bir C # sınıfı kütüphanedir . Bu kütüphanedeki yöntemlerden bazıları tatmin edici olmayan giriş …



8
Web programlamasında neden oylama kabul edilir?
Şu anda görüntülerin listesini gösteren bir Ruby on Rails projesi üzerinde çalışıyorum . Bu proje için sahip olması gereken, web sayfasını yenilemeye gerek kalmadan gerçek zamanlı olarak yeni gönderileri göstermesidir. Bir süre aradıktan sonra, PubNub gibi bazı JavaScript çözümlerine ve servislerine rastladım; Ancak, sağlanan çözümlerin hiçbiri hiçbir anlam ifade etmedi. …
108 loops  logic  polling 

29
Bilgi tabanınızı nasıl yönetiyorsunuz? [kapalı]
Programcılar olarak birçok girişimiz var: ebooks Kod parçacıkları İlginç e-postalar evraklar Web makaleleri Blog gönderileri StackOverflow soruları İnternette bir bilgisayara veya taşınabilir bir ortam yürütücüsüne indirmek için internette sunulan ve genellikle bir seri kod olarak sunulan dijital ses dosyası ... Tüm bunları saklamak, düzenlemek, aramak ve onlara danışmak için hangi …

20
Statik yazım, takaslara değer mi?
Python’da kodlamaya başladım, öncelikle güvenlik türü olmadığı yerde, sonra C # ve Java’ya olduğu yere taşındım. Python'da biraz daha hızlı ve daha az baş ağrısı ile çalışabileceğimi öğrendim, ancak daha sonra yine C # ve Java uygulamalarım çok daha karmaşık bir seviyededir, bu yüzden Python'a asla gerçek bir stres testi …


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.