Inżynieria oprogramowania

16
Czy ładunki danych UDP powinny zawierać CRC?

W firmie, w której kiedyś pracowałem, musiałem zaimplementować odbiornik gniazdowy, który przeważnie pobierał dane w postaci UDP przez połączenie lokalne z jakiegoś specjalistycznego sprzętu czujnikowego. Dane, o których mowa, były dobrze uformowanym pakietem UDP, ale co ciekawe, ładunek danych...

16
W takim przypadku mikrousług REST lub AMQP

Przeczytałem wiele artykułów dotyczących architektury mikrousług i zastanawiałem się, kiedy użyć AMQP lub REST. Czytałem, że luźne łączenie usług jest dobrą rzeczą, a AMQP wydaje się w tym przypadku dobrym wyborem. Ale jeśli użyjemy AMQP, oznacza to, że nie potrzebujemy już punktów końcowych REST...

16
Dlaczego ES6 nie ma funkcji cienkich strzałek?

ES6 dodał funkcje Fat-Arrow ( =>), które mają dwie główne różnice w stosunku do normalnych funkcji: krótsza składnia (w tym niejawny zwrot, jeśli używasz treści pojedynczego wyrażenia) dziedzicz thisz otaczającego zakresu Obie są bardzo przydatnymi funkcjami, ale wydają mi się całkowicie...

16
Metody debugowania kodu (sytuacja koszmaru)

Często mam zadanie debugowania aplikacji w mojej pracy. Jest to aplikacja BI, którą wdrażamy w firmach, która obejmuje środowisko testowe i środowisko produkcyjne. Zastanawiam się, czy istnieją jakieś aplikacje / narzędzia / metody, które ludzie mogą sugerować na podstawie tych...

16
Jakie są wady mapowania integralnych identyfikatorów na wyliczenia?

Zastanawiałem się nad stworzeniem niestandardowych typów identyfikatorów takich jak ten: public enum CustomerId : int { /* intentionally empty */ } public enum OrderId : int { } public enum ProductId : int { } Moją podstawową motywacją do tego jest zapobieganie rodzajowi błędu, w którym...

16
Dlaczego C # pozwala na asynchronizację zastępowania?

W języku C #, gdy przesłonisz metodę, dozwolone jest, aby zastąpienie było asynchroniczne, gdy oryginalna metoda nie była. To wygląda na kiepską formę. Przykładem, który mnie do tego przywiódł, był ten: zostałem sprowadzony, aby pomóc z problemem testu obciążenia. Przy około 500 jednoczesnych...

16
Co to jest Comonad i jak są one przydatne?

Ostatnio odkurza moją wiedzę na temat działania Monad. Ja również zostały wprowadzone do pojęcia „Comonad” , który jest opisany jako odwrotny podwójny z monady . Nie mogę jednak owinąć głowy wokół tego. Aby zrozumieć Monady, stworzyłem dla siebie własną analogię: Monady można postrzegać jako...

16
Idiomatyczne użycie wyjątków w C ++

Wyjątkiem isocpp.org FAQ Zjednoczone Nie używaj rzutu, aby wskazać błąd kodowania podczas używania funkcji. Użyj aser lub innego mechanizmu, aby albo wysłać proces do debugera, albo zawiesić proces i zebrać zrzut awaryjny dla programisty do debugowania. Z drugiej strony standardowa biblioteka...

16
Nie rozumiem wzorców projektowych programowania

Pracuję z javascript przez ostatnie 4 lata. Jestem bardzo pewny swoich umiejętności rozwiązywania problemów i widzę, że poprawia się jakość mojego kodu. Staram się być na bieżąco ze społecznością i obecnie pracuję z ES2015 i React.js. Wydaje mi się jednak, że nie jestem w stanie pojąć wzorców...