Inżynieria oprogramowania

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

2
Apollo-11: Używanie włączenia zamiast linkera
Niedawno zdigitalizowany i przekształcony w repozytorium udostępniono oryginalny kod źródłowy komputerowego przewodnika Apollo 11 do przeglądania na Github . W MAIN.agc autor repozytorium komentuje, że tak podzielić olbrzymi monolityczny kod źródłowy na mniejsze, łatwiejsze do zarządzania fragmenty - tj. na poszczególne pliki źródłowe #. Nieco później autor stwierdza Można zasadnie …


4
Czy przedwcześnie optymalizuję?
Obecnie jestem na etapie projektowania architektury opartej na komponentach w C ++. Mój obecny projekt obejmuje wykorzystanie takich funkcji, jak: std::vectors std::shared_ptrdo trzymania komponentów std::dynamic_pointer_cast std::unordered_map<std::string,[yada]> Komponenty będą reprezentować dane i logikę różnych elementów potrzebnych w oprogramowaniu podobnym do gry, takim jak grafika, fizyka, sztuczna inteligencja, audio itp. Wszędzie czytałem, …

1
Czy ma sens zastosowanie zasad w Redux do języków OO?
Redux jest zasadniczo programowaniem funkcjonalnym i ma wiele sensu. Kiedy wracam do języka OOP bez javascript w innym projekcie, chciałbym zastosować te same zasady, takie jak obiekt pojedynczego stanu, reduktory działające na części tego stanu, warstwa biznesowa działań semantycznych w celu modyfikacji stanu. Mój projekt jest w C ++ i …

2
Struktura danych dla dwuwymiarowych gier planszowych w językach funkcjonalnych
Tworzę prostą implementację MiniMax w funkcjonalnym języku programowania Elixir. Ponieważ istnieje wiele gier o doskonałej wiedzy (kółko i krzyżyk, connect-four, warcaby, szachy itp.), Ta implementacja może stanowić podstawę do tworzenia gier AI dla każdej z tych gier. Jednym z problemów, przed którymi stoję, jest jednak prawidłowe przechowywanie stanu gry w …

3
Jaką metodologię oprogramowania powinienem stosować podczas badań?
Zwykle analizuję dane z eksperymentów i chociaż mam ogólny schemat kroków, które muszę wykonać, być może będę musiał dostosować go do specyfiki eksperymentów lub stojących za nimi pytań. Zazwyczaj jestem jedynym, który koduje. Patrzyłem na wikipedię, ale nie jestem pewien, której metodologii mogę użyć, częściowo dlatego, że nigdy jej nie …

6
Kryteria akceptacji dla przypadków krawędziowych
Jestem właścicielem produktu w zwinnym zespole. Kiedy robię testy akceptacji PO, zwykle robię notatki, aby wypróbować niektóre przypadki krawędzi. Często zdarza się, że coś odkrywam, a potem oddaję to twórcom. Dostaję odpowiedź od jednego z programistów, gdy odrzucam jego historie. Mówi, że to niesprawiedliwe, ponieważ nie określam przypadków skrajnych i …

3
W języku REST jaka jest różnica między zasobem a reprezentacją?
Moje rozumienie REST, które umożliwia modelowanie operacji usługi jako reprezentacji stanu i przechodzenia z jednego stanu do drugiego z wykorzystaniem HTTP. Do niedawna zawsze rozumiałem zasoby jako reprezentacje stanu usługowego, kiedy czytałem ten artykuł Jimmy'ego Bogarda, o którym wiem, że jest inteligentnym programistą / architektem, którego społeczność bardzo szanuje. Cytując …
9 rest  api  api-design 

6
W jaki sposób pisanie statyczne jest naprawdę pomocne w większych projektach?
Podczas ciekawości na głównej stronie witryny języka programowania skryptowego napotkałem ten fragment: Kiedy system staje się zbyt duży, aby utrzymać go w głowie, możesz dodać typy statyczne. Dzięki temu pamiętam, że w wielu wojnach religijnych między statycznymi, skompilowanymi językami (jak Java) a dynamicznymi, interpretowanymi językami (głównie Python, ponieważ jest częściej …

1
Idiomatyczne zawijanie interfejsu API typu C ++ w C
Pracuję nad opakowaniem interfejsu API języka C ++, który zapewnia dostęp do magazynu danych (Hazelcast) w funkcjach C, aby dostęp do magazynu danych był również możliwy z kodu tylko w języku C. Interfejs API Hazelcast C ++ dla struktury danych mapy wygląda następująco: auto map = hazelcastClient->client->getMap<int, string>(mapName); map.put(key, value); …
9 c++  c  api-design 

4
Jak jasno zdefiniować granice ograniczonego kontekstu
Po około miesiącu czytania i poszukiwania DDD postanowiłem rozpocząć własny projekt i stworzyłem DDD z tymi ograniczonymi kontekstami> Klienci Produkty Zamówienia Dane do faktury Każdy ograniczony kontekst ma spoczynkowy interfejs API jako warstwę prezentacji, warstwę domeny, warstwę trwałą. Jak na razie kod działa płynnie, ale pochodząc ze świata monolitycznego, wciąż …


1
Modelowanie złożonego harmonogramu pracy
Mam rzeczywisty problem, który próbuję reprezentować i automatyzować. Uprościłem i streściłem to w następujący sposób: Jest n miejsc pracy (P1, P2, ..., Pn). W każdym miejscu Pn ma klucz Kn. Istnieje m Pracownicy, (W1, W2, ..., Wm). Aby pracować w Pn, pracownik musi trzymać Kn. Każdy klucz może być w …

2
Najlepszy algorytm kompresji dla zdjęć poklatkowych
Mam folder zawierający około 9 000 zdjęć JPEG (około 30 GB), które chcę zarchiwizować za pomocą pewnego rodzaju kompresji. Rozumiem, że kompresja plików JPEG zwykle nie jest bardzo skuteczna, ale te zdjęcia są klatkami poklatkowymi, więc istnieje ogromna podobieństwo między większością zdjęć. Czy w takim przypadku prawdopodobnie uda mi się …

4
Mikrousługi i biblioteki współdzielone
Projektujemy system oparty na niezależnych mikrousługach (połączonych przez magistralę RabbitMq). Kod (przynajmniej dla pierwszych składników) zostanie napisany w python (zarówno python2, jak i python3). Mamy już aplikację monolitową implementującą logikę biznesową, którą chcemy refaktoryzować i rozszerzyć. Jedno pytanie, które mnie martwi, to: Jaki jest najlepszy sposób udostępniania kodu między różnymi …

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.