Inżynieria oprogramowania

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

4
Jak wizualizować projekt silnika fizyki?
Tworzę silnik fizyki, a śledzenie tego wszystkiego staje się coraz trudniejsze. Często po powrocie do kodu po przerwie po prostu nie pamiętam, dlaczego to nie działa. Większość problemów nie jest prostymi błędami programistycznymi, ale wadami projektowymi mojego silnika fizyki. Dlatego właśnie powinienem skończyć projektowanie przed programowaniem. Potrzebuję jednak sposobu na …

2
Dlaczego zamiast plików cookie nie można używać gniazd?
Zadano kolejne pytanie dotyczące wykorzystania adresów IP do identyfikacji poszczególnych klientów. Myślę, że rozumiem, dlaczego adres IP jest niewystarczający. Ale co z gniazdem, które ma więcej informacji iz tego, co rozumiem, jest stanowe? Czy nie można tego potencjalnie wykorzystać zamiast pliku cookie?
17 sockets  cookies 


3
Wywoływanie wielu usług asynchronicznych jednocześnie
Mam kilka asynchronicznych usług REST, które nie są od siebie zależne. To znaczy, „czekając” na odpowiedź Service1, mogę zadzwonić do Service2, Service3 i tak dalej. Na przykład zapoznaj się z poniższym kodem: var service1Response = await HttpService1Async(); var service2Response = await HttpService2Async(); // Use service1Response and service2Response Teraz service2Responsenie zależy …

9
Czy przy szacowaniu biletów należy uwzględnić czas testera?
Czy przy tworzeniu oszacowań czasu dla biletów należy uwzględnić szacunek czasu dla testerów (QA)? Wcześniej zawsze szacowaliśmy czas bez testerów, ale mówimy o tym, aby zawsze go uwzględniać. Ma to sens w naszym bieżącym sprincie, ostatnim przed premierą, ponieważ musimy wiedzieć, że całkowity czas biletów zajmie tydzień. Zawsze rozumiałem, że …
17 agile  scrum  estimation  qa 

3
Obsługa odnowienia tokena / wygaśnięcia sesji w interfejsie API RESTful
Buduję interfejs API RESTful, który korzysta z tokenów JWT do uwierzytelniania użytkowników (wydawanych przez loginpunkt końcowy i wysyłanych we wszystkich nagłówkach później), a tokeny należy odświeżyć po ustalonym czasie (wywoływanie renewpunktu końcowego, który zwraca odnowiony token ). Możliwe jest, że sesja API użytkownika utraci ważność przed wygaśnięciem tokena, dlatego wszystkie …

6
Czy poświęcam krótsze nazwy zmiennych dla dłuższego kodu „z kolumnami”?
Jestem programistą amatorem na zajęciach CS, próbującym nauczyć się odpowiednich umiejętności programistycznych. Tak wygląda mój kod, jego krawędzie rozciągają się na 103 kolumny. int extractMessage(char keyWord[25], char cipherText[17424], int rowSize, char message[388]) { int keyColumn = 0; int cipherColumn = 0; int offset = 1; int nextWord = 1; int …
17 c  coding-style 

1
Czy funkcje generatora są prawidłowe w programowaniu funkcjonalnym?
Pytania są następujące: Czy generatory łamią paradygmat programowania funkcjonalnego? Dlaczego lub dlaczego nie? Jeśli tak, czy generatory mogą być używane w programowaniu funkcjonalnym i jak? Rozważ następujące: function * downCounter(maxValue) { yield maxValue; yield * downCounter(maxValue > 0 ? maxValue - 1 : 0); } let counter = downCounter(26); counter.next().value; …

2
Jak zaprojektować ciężką w czasie rzeczywistym aplikację internetową opartą na gniazdach sieciowych?
W trakcie opracowywania aplikacji jednostronicowej w czasie rzeczywistym stopniowo wprowadzałem websockets, aby umożliwić moim użytkownikom dostęp do aktualnych danych. Podczas tej fazy ze smutkiem zauważyłem, że niszczę zbyt wiele struktury mojej aplikacji i nie udało mi się znaleźć rozwiązania tego problemu. Zanim przejdę do szczegółów, wystarczy trochę kontekstu: Aplikacja internetowa …

2
Komponowanie dużej aplikacji Angular 2 z wieloma małymi aplikacjami
Po długich 3 miesiącach debat i badań dotyczących wyboru między React (z Redux) a Angular 2, zespół front-end w mojej firmie zdecydował się na Angular 2 (biorąc pod uwagę, że jest on bardziej odpowiedni dla naszego problemu). Zajmujemy się biznesem aplikacji korporacyjnych, który obecnie składa się z wielu różnych technologii …

4
Jak przechowywać dane tylko do odczytu, aby wdrożyć je w mojej aplikacji?
Zajmuję się tworzeniem aplikacji komputerowej i ta aplikacja wymaga pewnych informacji do uruchomienia, ale nie zmienia żadnej z tych informacji (dane muszą być ładowane przy każdym uruchomieniu aplikacji, ale dane nigdy się nie zmieniają). Dane muszą być przechowywane na tym samym komputerze, na którym działa aplikacja (pamięć po stronie klienta?). …
17 c#  design  data  wpf 

1
RESTful HTTP i websocket w tej samej aplikacji?
Jeśli aplikacja ma już otwarty kanał WebSocketna żywo, czy powinienem go użyć AJAXdo innej komunikacji z serwerem? Ponieważ połączenie jest już otwarte, czy powinniśmy go używać do żądań, które nie są realizowane w Request/Responseczasie rzeczywistym? Wolę RESTful HTTPżądania, ponieważ łatwiej mi je debugować. Możesz użyć przeglądarki z adresami URL lub …
17 rest  ajax  websockets 

1
Co zasysa pompę? Czasami nazywany czytaniem gruntowania
Nauczono mnie tego wyrażania i wzorców już dawno temu. Jasne, nazwa pochodzi od starych pomp, które musiały zostać napełnione wodą, zanim będą mogły pompować wodę, ale kogo to obchodzi? Mówimy tutaj o kodzie. Mile widziane są niektóre naprawdę dobre przykłady i wyjaśnienie tego, co osiąga wzór. Jak dziś postrzegany jest …

1
Dlaczego Math.min działa z tablicą z jednym elementem
Według MDN Math.min akceptuje tylko liczby, a jeśli jeden z argumentów nie jest liczbą, zostanie zwrócony NaN. To prawda, że jeśli mijamy tablicę z wielu numerów otrzymujemy NaNcoś takiego: Math.min([1,2]), ale jeśli używamy tablicę z jednym numerem, Math.minzwróci liczbę w tablicy, jak w poniższym przykładzie: Math.min([5]). Czy ktoś ma pojęcie, …
17 javascript  math 

2
Zasada najmniejszego zdziwienia (POLA) i interfejsy
Dobra ćwierć wieku temu, kiedy uczyłem się C ++, nauczono mnie, że interfejsy powinny wybaczać i, w miarę możliwości, nie przejmować się kolejnością wywoływania metod, ponieważ konsument może nie mieć dostępu do źródła lub dokumentacji zamiast to. Jednak za każdym razem, gdy mentorowałem młodszych programistów i starszych deweloperów, słyszeli mnie, …

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.