Inżynieria oprogramowania

15
Jak doszło do std :: vector <bool>?

Obecnie praktycznie wszyscy programiści C ++ zgadzają się, że std::vector<bool>to pomyłka, ponieważ nie jest to pojemnik, a jego przypadki użycia w dużej mierze pokrywają się z przypadkami tego std::bitset. Jak zagłosowano na standard? Czy wówczas było to kontrowersyjne? Jakie były główne...

15
Jak działa spanie w wątku?

Kiedy śpisz na wątku, co się właściwie dzieje? Widzę, że uśpienie wątku „wstrzymuje bieżący wątek na określony czas” . Ale jak to działa? Zgodnie z tym, jak Thread.sleep () działa wewnętrznie i jak naprawdę działa Thread.sleep? : czas trwania snu będzie podlegał pewnej szczegółowości...

15
Udostępnianie obiektów DTO między mikrousługami

TL; DR - Czy można współdzielić bibliotekę POJO między usługami? Zasadniczo chcemy, aby dzielenie między usługami było ściśle ograniczone do żadnego, jeśli to możliwe. Odbyła się dyskusja, czy usługa udostępniająca dane powinna zapewniać bibliotekę klienta do użytku przez klientów. Klient-lib jest...

15
Czy Redux używa wzorca oczyszczonego obiektu Boga?

Podczas uczenia się o Redux, przyszedł mi do głowy wzorzec Bóg-obiekt (lub anty-wzór) - oba mają jeden duży obiekt zawierający wszystkie dane aplikacji i metody ich manipulowania. Ale Redux wprowadził pewne ograniczenia, takie jak uczynienie Object niezmiennym i zdarzeń czystymi funkcjami...

15
size_t lub int dla wymiarów, indeksu itp

W C ++ size_t(lub, bardziej poprawnie, T::size_typektóry jest „zwykle” size_t; tj. unsignedTyp) jest używany jako wartość zwracana dla size()argumentu argumentu operator[]itd. (Patrz std::vector, i in.) Z drugiej strony języki .NET używają int(i opcjonalnie long) do tego samego celu; w...

15
Jak zastosować zasadę segregacji interfejsów w C?

Mam moduł, powiedz „M”, który ma kilku klientów, powiedz „C1”, „C2”, „C3”. Chcę podzielić przestrzeń nazw modułu M, tj. Deklaracje interfejsów API i danych, które udostępnia, do plików nagłówkowych w taki sposób, aby - dla każdego klienta widoczne są tylko wymagane przez niego dane i interfejsy...

15
Pobieranie wartości bez konieczności zerowania w Javie

Wiele razy sprawdzam, czy sprawdzam wartość zerową podczas pobierania wartości z jakiejś hierarchii danych, aby uniknąć wyjątków NullPointerExcept, które uważam za podatne na błędy i wymagają dużo dodatkowej analizy. Napisałem bardzo prostą procedurę, która pozwala mi pominąć sprawdzanie wartości...

15
RESTful API i i18n: jak zaprojektować odpowiedź?

Projektujemy interfejs API RESTful przeznaczony głównie do zaspokojenia potrzeb jednego klienta. Ze względu na bardzo szczególne okoliczności ten klient musi składać jak najmniej zapytań. Interfejs API obsługuje i18n za pomocą nagłówka Accept-Language w żądaniach. Działa to dla wszystkich rzeczy,...