Inżynieria oprogramowania

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

3
github strategia utrzymywania prywatności jednej wersji pliku
Jestem wykładowcą piszącym problemy z kodowaniem dla studentów. To, co chcę zrobić, to dać uczniom kod z kodami zastępczymi dla funkcji, które studenci mają wykonać. Dam studentom dostęp do prywatnego repozytorium github, aby to sklonować. Jednak chcę też wersję bazy kodu wraz z przykładowymi rozwiązaniami. Oczywiście nie chcę, aby uczniowie …
11 git  github 

5
Jak zapobiec rejestracji dwóch użytkowników w tym samym momencie przy użyciu tej samej nazwy użytkownika?
Nie możemy serializować rejestracji, ponieważ miliony użytkowników rejestrują się jednocześnie. Konieczne są równoległe rejestracje. Załóżmy, że baza danych nie zawiera nazwy użytkownika „użytkownik1”. Gdy dwóch użytkowników spróbuje zarejestrować się w tym samym momencie jako „użytkownik1”, zaakceptuje to. Ale później spowoduje problemy. To nie powinno się zdarzyć. Szukam logicznego rozwiązania. Nic …


7
Implementacja stanu obiektu w języku OO?
Dostałem trochę kodu Java do obejrzenia, który symuluje wyścig samochodowy, w tym implementację podstawowej maszyny stanu. To nie jest klasyczna machina stanów komputerowych, lecz jedynie obiekt, który może mieć wiele stanów i może przełączać się między tymi stanami na podstawie serii obliczeń. Aby opisać tylko problem, mam klasę samochodów z …

3
Jakie są zalety XML-a w porównaniu z notacją wyrażeń S (-ish)?
Chciałbym zadać pytanie dotyczące zapisu XML i S-wyrażeń (-ish). Wyrażenia S są dość stare; są również bardzo proste. Możemy rozważyć dwie formy, które są równe w znaczeniu, różne pod względem składni: (kod xml pochodzi z polskiej wikipedii ) <?xml version="1.0" encoding="UTF-8"?> <ksiazka-telefoniczna kategoria="bohaterowie książek"> <!-- komentarz --> <osoba charakter="dobry"> <imie>Ambroży</imie> …
11 xml 

6
Czy potęga dwóch bitów na słowo jest „wygodna”? Jeśli tak, to dlaczego?
Znajduję kilka źródeł, które twierdzą, że potęga dwóch bitów w słowie binarnym (np. 8 bitów na bajt) jest „dobrą rzeczą” lub „wygodą”. Nie znalazłem źródła, które wskazywałoby dlaczego. Z Jaka jest historia, dlaczego bajty mają osiem bitów? czytamy w zatwierdzonej odpowiedzi: Komputery binarne motywują projektantów do tworzenia rozmiarów potęgi dwóch. …
11 hardware  byte  bit 


1
Architektura cebuli vs architektura trójwarstwowa
Widzę tylko zalety architektury cebulowej w porównaniu z architekturą 3-warstwową, w której BL miał obowiązek wywoływać metody na DAL (lub interfejs DAL) w celu wykonania CRUD. Cebula ma lepszą separację problemów, testowalność, łatwość konserwacji i jest czystsza. Czy architektura cebuli jest rzeczywiście lepsza pod każdym względem, a architektura trójwarstwowa to …

3
Jak zaprojektować interfejs API REST do obsługi operacji innych niż CRUD?
Próbuję przekonwertować zestaw usług opartych na SOAP na interfejs API RESTful. Zacząłem od identyfikacji zasobów, analizując nazwy operacji i dostałem zasób Subscription. Kiedy muszę zaktualizować stan subskrypcji, nie mogę po prostu wysłać POSTżądania do serwera, ponieważ nie mam bezpośredniego dostępu do zasobów, ale muszę wywołać niektóre operacje w stylu RPC, …

2
Czy lepiej polegać na zależnościach przechodnich lub jawnie je deklarować?
Mam taką strukturę projektu: My Project - Other Team's Project -Third Party Dependency My ProjectWymaga Other Team's Projectdo funkcji, a zarówno My Projecti Other Team's Projectwymagają Third Party Dependencydo funkcji. Do zarządzania nimi używamy systemu zarządzania zależnościami. Czy z punktu widzenia projektowania lepiej My Projectpolegać na transporcie Third Party Dependency? …

3
Jak należy zaprojektować klasę „Pracownik”?
Próbuję stworzyć program do zarządzania pracownikami. Nie mogę jednak wymyślić, jak zaprojektować Employeeklasę. Moim celem jest możliwość tworzenia i manipulowania danymi pracowników w bazie danych za pomocą Employeeobiektu. Podstawowa implementacja, o której myślałem, była prosta: class Employee { // Employee data (let's say, dozens of properties). Employee() {} Create() {} …



2
Czy błędem jest odgrywanie gałęzi siły pchającej?
Kiedy pracuję nad gałęzią funkcji, zwykle chcę wyczyścić zatwierdzenia w gałęzi za pomocą interaktywnego bazy, zanim moja praca zostanie przejrzana i zintegrowana z gałęzią główną. Podczas opracowywania funkcji chcę przekazać moją pracę pośrednią do zdalnego repozytorium jako środek zapasowy. To znaczy, kiedy mój dysk twardy ulega awarii, nie chcę, aby …
11 git 


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.