Nie tak dawno temu zacząłem używać Scali zamiast Javy. Częścią procesu „konwersji” między językami była dla mnie nauka używania Eithers zamiast (zaznaczonych) Exceptions. Kodowałem w ten sposób od jakiegoś czasu, ale ostatnio zacząłem się zastanawiać, czy to naprawdę lepszy sposób. Jedną z głównych korzyści Eitherjest przez Exceptionto lepsze wyniki; Exceptionmusi …
MongoDB to baza danych NoSQL, którą uważam za dość łatwą w użyciu. Niedawno musiałem opracować prostą aplikację, która musiała zbierać niektóre dane za pomocą żądań HTTP i przechowywać niektóre wyniki po przetworzeniu danych, i próbowałem użyć MongoDB. Z tego doświadczenia wynika, że korzystanie z niego jest dużo przyjemniejsze niż tradycyjnych …
Obecnie pracuję dla firmy, która używa VSTS do zarządzania kodem git. „Zalecanym” sposobem scalania oddziału przez Microsoft jest „scalenie squasha”, co oznacza, że wszystkie zatwierdzenia dla tego oddziału zostają zgniecione w jednym nowym zatwierdzeniu zawierającym wszystkie zmiany. Problem polega na tym, że jeśli zrobię jakieś zmiany w jednej gałęzi dla …
Zasada jednolitej odpowiedzialności stwierdza, że „klasa powinna mieć jeden powód zmiany”. We wzorze MVC zadaniem kontrolera jest mediacja między widokiem a modelem. Oferuje interfejs dla widoku do raportowania działań wykonanych przez użytkownika w GUI (np. Zezwalanie na widok do wywołania controller.specificButtonPressed()) i jest w stanie wywoływać odpowiednie metody w modelu …
Nie rozumiem dobrze koncepcji makro. Co to jest makro? Nie rozumiem, czym różni się od funkcji? Zarówno funkcja, jak i makro zawierają blok kodu. Czym różni się makro i funkcja?
Obecnie mam dwie klasy pochodzące, Ai B, że obaj mają równe wspólnego i próbuję ustalić, czy należy przejść do klasy podstawowej. Nigdy nie jest przywoływany z klasy podstawowej i powiedzmy, że jeśli w pewnym momencie drogi zostanie wyprowadzona inna klasa C, która nie ma _field1, to nie naruszono by zasady …
Jak zapewne wiesz, możemy użyć GDB i ustawić punkty przerwania w naszym kodzie, aby wstrzymać wykonywanie w celu debugowania. Moje pytania dotyczą tego, w jaki sposób GDB wstrzymuje proces i pozwala na przeglądanie zawartości rejestrów, i rna przykład przy użyciu . Czy te rejestry nie są stale używane przez inne …
Używam C ++ na ESP-32. Przy rejestracji timera muszę to zrobić: timer_args.callback = reinterpret_cast<esp_timer_cb_t>(&SoundMixer::soundCallback); timer_args.arg = this; Tutaj dzwoni zegar soundCallback. I to samo podczas rejestracji zadania: xTaskCreate(reinterpret_cast<TaskFunction_t>(&SoundProviderTask::taskProviderCode), "SProvTask", stackSize, this, 10, &taskHandle); Tak więc metoda jest uruchamiana w oddzielnym zadaniu. GCC zawsze ostrzega mnie przed tymi konwersjami, ale działa …
Niedawno mieliśmy wizytę kontrahenta, który zakwestionował naszą metodologię strukturyzacji projektów. Pamiętaj, że mam na myśli zwłaszcza strukturę katalogów. Zasugerował użycie wytycznych Microsoft. Myślałem, że będę w stanie znaleźć w Google „strukturę katalogów projektu .NET dla wytycznych Microsoft” i znaleźć coś pomocnego, ale okazało się, że tak nie jest. W tej …
Staram się zrozumieć za kulisami JavaScript i trochę utknąłem w zrozumieniu tworzenia wbudowanych obiektów, zwłaszcza Obiektów i Funkcji oraz relacji między nimi. Kiedy przeczytałem, że wszystkie wbudowane obiekty, takie jak Array, String itp., Są rozszerzeniem (dziedziczonym) z Object, założyłem, że Object jest pierwszym wbudowanym obiektem, który zostaje utworzony, a reszta …
Obecnie pracuję nad większym projektem solo i mam kilka klas, w których nie widzę powodu, aby tworzyć instancję. Na przykład moja klasa kości przechowuje teraz statycznie wszystkie dane, a wszystkie metody są również statyczne. Nie muszę go inicjować, ponieważ kiedy chcę rzucić kostką i uzyskać nową wartość, po prostu używam …
Moje biuro używa Git i SourceTree do kontroli wersji. Stało się tak, ponieważ kiedy dołączyłem, kontrola wersji była zerowa, a SourceTree był jedynym systemem, z którego kiedykolwiek korzystałem. W żadnym wypadku nie jestem ekspertem, ale jestem najbardziej doświadczonym z moich współpracowników, więc jestem de facto ekspertem odpowiedzialnym za uczenie wszystkich …
Korzystam z biblioteki wewnętrznej, która została zaprojektowana tak, aby naśladować proponowaną bibliotekę C ++ , a czasami w ciągu ostatnich kilku lat widzę, że jej interfejs zmienił się z używania std::stringna string_view. Dlatego sumiennie zmieniam kod, aby dostosować się do nowego interfejsu. Niestety, muszę przekazać parametr std :: string i …
Dla wielu informatyków, w tym dla mnie kilka lat temu, idealny proces tworzenia oprogramowania wymagałby stworzenia szczegółowych dokumentów projektowych z dużą ilością diagramów UML, zanim zostanie napisany wiersz kodu. (Wygląda to jak opis modelu wodospadu, ale jest taki sam w przypadku zwinnego, z tym wyjątkiem, że iteracje są mniejsze). W …
Jedyną prawdziwą logiką jest składnia zapytania dla zewnętrznego interfejsu API. Nie chcę testować, czy wysyła zapytanie do interfejsu API, chcę przetestować, czy wysyła zapytanie w taki sposób, aby zwrócone zostały prawidłowe dane. Na przykład jakiś pseudo-kod: function retrieve_related_data(id) { query = "[potentially long, syntactically complex query that uses param id …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.