Inżynieria oprogramowania

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

2
Algorytm kolonii mrówek
Jestem studentem pracującym nad symulatorem kolonii mrówek dla projektu kursu. Algorytm do tego jest (oczywiście) algorytmem kolonii mrówek. Wiem, że istnieją różne formy algorytmu, ale wszystkie były dla nas zbyt matematyczne, więc przyjęliśmy podejście, w którym: Mrówka rodzi się w kolonii i musi zbierać żywność ze źródła, aby utrzymać kolonię. …

3
Czy można przypisać GPL pracy pochodnej?
Istnieją trzy projekty oprogramowania: A, B i C. A jest publikowane każdemu i jest licencjonowane na licencji GPL. B rozszerza A, jest również publikowane, ale nie ma informacji o licencji lub jest błędnie licencjonowane na licencji LGPL. Zasadniczo narusza licencję A, ponieważ nie jest GPL. Kod źródłowy B jest nadal …


1
Dlaczego potrzebujesz wyższych rodzajów?
Niektóre języki dopuszczają klasy i funkcje z parametrami typu (np. List<T>Gdzie Tmoże być dowolnym typem). Na przykład możesz mieć funkcję: List<S> Function<S, T>(List<T> list) Niektóre języki umożliwiają jednak rozszerzenie tej koncepcji o jeden poziom wyżej, co pozwala na posiadanie funkcji z podpisem: K<S> Function<K<_>, S, T>(K<T> arg) Gdzie K<_>sam jest …

3
Kiedy używać bazy danych nosql, takiej jak mongodb over mysql?
Jestem nowy w koncepcji baz danych nosql i nigdy go nie użyłem. Na podstawie tego, co przeczytałem i tego, co zrozumiałem, wciąż nie widzę, w jaki sposób mogą być one szczególnie przydatne, jeśli nie można odwoływać się między danymi, jeśli nie istnieje koncepcja klucza obcego. Jak na przykład zapytam o …
13 mysql  nosql 

5
Jak uzależnić jeden test od wyników innego testu?
Załóżmy, że istnieje klasa narzędziowa, która udostępnia niektóre typowe metody statyczne używane wszędzie w kodzie przez wiele innych klas. Jak zaprojektowałbyś swoje testy jednostkowe dla konsumentów narzędzia, aby ich testy zakończyły się niepowodzeniem, jeśli którykolwiek z testów narzędzia nie przejdzie pomyślnie? Czy możesz to zrobić, czy musisz sam sprawdzić, czy …




4
W ten sposób piszę ten kod, który można przetestować, ale czy coś jest z nim nie tak?
Mam interfejs o nazwie IContext. W tym celu tak naprawdę nie ma znaczenia, co robi, oprócz następujących czynności: T GetService<T>(); Metoda ta polega na sprawdzeniu bieżącego kontenera DI aplikacji i próbie rozwiązania zależności. Myślę, że dość standardowy. W mojej aplikacji ASP.NET MVC mój konstruktor wygląda tak. protected MyControllerBase(IContext ctx) { …

2
Aby dołączyć identyfikator zasobu do ładunku lub wyprowadzić z URI
Projektując interfejs API, postawiliśmy pytanie, czy ładunek PUT powinien zawierać identyfikator aktualizowanego zasobu. Oto, co obecnie mamy: PUT /users/123 Payload: {name: "Adrian"} Nasz kod trasy wyodrębnia identyfikator z identyfikatora URI i kontynuuje aktualizację. Pierwsi użytkownicy naszego API pytają, dlaczego nie pozwalamy na identyfikatory w ładunku: PUT /users/123 Payload: {id: 123, …
13 rest  resources 

2
Jak efektywnie obliczyć obrót figury?
Mam figurę reprezentowaną przez macierz bajtów (macierz bitmapowa). Przykładowy rysunek pokazano na Picture 1. Celem jest znalezienie najlepszego kąta obrotu danej figury . Kiedy rysunek jest obracany o najlepszy kąt, prostokąt, który jest równoległy do ​​osi X i Y i wpisuje rysunek, ma najmniejsze pole. Prostokąty opisujące figurę są pokazane …


2
Czy optymistyczna współbieżność na obiekt sugeruje możliwość szeregowania, jeśli transakcja nigdy nie obejmuje wielu obiektów?
Biorąc pod uwagę system, który zapewnia: Optymistyczna kontrola / kontrola współbieżności dla każdego obiektu (przy użyciu CAS - Check-and-Set) Transakcje, które nigdy nie muszą obejmować więcej niż jednego obiektu. Izolacja migawki Czy ten system jest uznawany za możliwy do serializacji ? Od izolacji migawki W anomalii skosu zapisu dwie transakcje …


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.