Inżynieria oprogramowania

Pytania i odpowiedzi dla profesjonalistów, nauczycieli akademickich i studentów pracujących w cyklu życia systemów

4
Opcjonalne zależności w npm?
Mam pytanie podobne do tego , ale nie całkiem to samo. Chciałbym, aby użytkownik mojej aplikacji zainstalował ją bez względu na zależności potrzebne do sposobu, w jaki chciałby z niej korzystać. Na przykład, jeśli chcą pozostać w MongoDB, wówczas zostaną zainstalowane tylko biblioteki związane z Mongo, ale jeśli chcą pozostać …

4
Czy ta prosta, szyfrowana komunikacja XOR jest absolutnie bezpieczna?
Powiedzmy, że Alice i Peter mają 4 GB pamięci flash USB. Spotykają i zapisują na obu patykach dwa pliki o nazwach alice_to_peter.key(2 GB) i peter_to_alice.key(2 GB), które zawierają losowo wygenerowane bity. Nigdy więcej się nie spotykają, ale komunikują się elektronicznie. Alice utrzymuje również wywoływaną zmienną, alice_pointera Peter utrzymuje wywoływaną zmienną …

4
Projektowanie zorientowane na dane - niepraktyczne z ponad 1-2 „członkami” struktury?
Typowym przykładem projektowania zorientowanego na dane jest struktura Ball: struct Ball { float Radius; float XYZ[3]; }; a następnie tworzą algorytm, który iteruje std::vector<Ball>wektor. Następnie dają ci to samo, ale zaimplementowane w projektowaniu zorientowanym na dane: struct Balls { std::vector<float> Radiuses; std::vector<XYZ[3]> XYZs; }; Co jest dobre i wszystko, jeśli …

2
Witryny do użytku wewnętrznego: Czy istnieje przekonujący argument przeciwko SQLite?
Wiele frameworków internetowych, takich jak Flask lub Django, używa SQLite jako domyślnej bazy danych. SQLite jest atrakcyjny, ponieważ jest zawarty w Pythonie, a obciążenie administracyjne jest dość niskie. Jednak większość publicznych witryn produkcyjnych o dużym natężeniu ruchu korzysta z cięższej bazy danych: mySQL, Oracle lub postgresql. Pytania : Założyć: Ruch …


6
Projekt do synchronizacji danych w Androidzie
Widziałem dwie implementacje do synchronizacji danych między serwerem a klientem w większości aplikacji. Zakłada się, że nie skonfigurowano GCM: - Okresowe uruchamianie usługi celowej, która pobiera dane z sieci i przechowuje w bazie danych. Implementowanie adaptera synchronizacji, który działa okresowo. Które z powyższych poleciłbyś mieć w swojej aplikacji i dlaczego?

4
Jaka jest potrzeba Odata, gdy mam JSON?
Staram się zrozumieć sens Odaty i kiedy ma to sens. W tej chwili działam za pomocą kontrolera ASP.NET i MVC / WebApi do serializacji / deserializacji obiektów do JSON i mam do tego javascript. Z tego, co mogę powiedzieć, zaletą OData jest możliwość zapytania bezpośrednio z adresu URL ... Ale …
23 javascript  rest  json 

4
Wolę przykłady niż dokumentację. Czy to problem behawioralny?
Ilekroć spotykam nowy interfejs API lub język programowania, a nawet proste strony podręcznika systemu Linux , zawsze (odkąd pamiętam) unikałem ich i zamiast tego leniwie polegałem na przykładach pozwalających na zrozumienie nowych koncepcji. Podświadomie unikam dokumentacji / API, gdy nie jest to proste, tajemnicze lub zwykłe nudne. Minęły lata, odkąd …

2
SQL IN () a OR
Pracowałem z zapytaniem, które napisałem dzisiaj, musiałem zmienić kod z WHEREklauzuli, aby użyć filtra IN (lista rzeczy) zamiast używać czegoś w rodzaju item_desc = 'item 1' OR item_desc = 'item 2' OR item_desc = 'item 3' OR item_desc = 'item 4' Powyższe działało przez 15 minut i nic nie zwróciło, …
23 sql  speed 

4
Jak radzić sobie z połączeniami z bazą danych w module biblioteki Python
W Pythonie utworzyłem bibliotekę, która zawiera funkcje dostępu do bazy danych. Jest to biblioteka otoki wokół bazy danych aplikacji innych firm, napisana z powodu faktu, że aplikacja innej firmy nie oferuje przyzwoitego interfejsu API. Teraz początkowo pozwalałem każdej funkcji otwierać połączenie z bazą danych na czas trwania wywołania funkcji, co …
23 python 

6
Jak rozwiązać problem zagnieżdżonych komentarzy
Pojawia się w nie tylko jednym języku, że komentarzy nie można zagnieździć. Czy masz dobre rozwiązanie tego problemu? Jednym z obejść w C / C ++ i Javie jest używanie tylko komentarza jednowierszowego, ale niemożliwe staje się wówczas komentowanie większego bloku. Mam do czynienia z czymś takim: </li><!-- <li><!-- Save …
23 java  c++  python  c  comments 

7
Unikaj zbyt skomplikowanej metody - złożoności cyklicznej
Nie wiem, jak postępować zgodnie z tą metodą, aby zmniejszyć złożoność cyklomatyczną. Sonar donosi 13, podczas gdy spodziewane jest 10. Jestem pewien, że nie ma nic złego w pozostawieniu tej metody, ponieważ stanowi ona jedynie wyzwanie dla mnie, jak postępować zgodnie z zasadą Sonaru. Jakiekolwiek propozycje będą mile widziane. public …

4
Dlaczego wiele projektów ignoruje normalizację w RDBMS?
Chcesz poprawić ten post? Podaj szczegółowe odpowiedzi na to pytanie, w tym cytaty i wyjaśnienie, dlaczego Twoja odpowiedź jest poprawna. Odpowiedzi bez wystarczającej ilości szczegółów mogą być edytowane lub usuwane. Widziałem wiele projektów, w których normalizacja nie była pierwszym czynnikiem branym pod uwagę na etapie podejmowania decyzji. W wielu przypadkach …

2
Poziomy uprawnień użytkownika w interfejsie API RESTful
Załóżmy, że mam firmę, która klasyfikuje najładniejsze koty w Internecie. Oferuję źródło, w/cats/ którym zapewnia użytkownikom najnowsze, najładniejsze urocze koty. Użytkownicy mogą dostać tylko 3 najlepsze koty, jeśli w ogóle nie zapłacili lub się zarejestrowali. 10 najlepszych kotów, jeśli zapłaciło 337 dolarów i jest zalogowanych, a 100 najlepszych kotów, jeśli …
23 rest  http  url  http-response 

7
Bezpieczne ustalanie danych produkcyjnych bazy danych
Występują błędy i czasami dane muszą zostać naprawione podczas produkcji. Jak najbezpieczniej to zrobić z punktu widzenia dużej firmy? Czy istnieją narzędzia, które mogą pomóc? Oto kilka uwag dotyczących tego wymogu ... Musimy się zalogować, kto uruchomił zapytanie i co uruchomili Idealnie powinniśmy dać tej osobie dostęp do uruchamiania zapytań …
23 database  risk 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.