Interesuję się projektowaniem języka i ogólnie mogę łatwo zrozumieć powszechnie znane cechy (np. Dziedziczenie, polimorfizm, delegaci, lambdy, przechwytywanie, wyrzucanie elementów bezużytecznych, wyjątki, generyczne, wariancje, refleksje itd.), Ich interakcje w konkretny język, sposoby ich ewentualnej implementacji, ich ograniczenia itp. W ciągu ostatnich kilku miesięcy zacząłem czytać o Rustie, który ma system …
Uczę się Haskell i szukałem narzędzia do automatycznego wcięcia. Nie wyglądałem dużo i nauczyłem się, że w Haskell (jak w Pythonie) wcięcie oznacza blok. W rezultacie zgaduję, że niemożliwe jest stworzenie narzędzia do automatycznego formatowania, tak silnego jak w innych językach z rodziny C, które używają wyraźnych znaczników, takich jak …
Czy istnieje programowania (lub skrypty) język (lub jakiś specyficzny język domeny) o dwóch operatorów binarnych opli oprod samego pierwszeństwa przy oplczym lewy asocjacyjne i oprbycia prawym asocjacyjne? (Nie mogę znaleźć takiego przykładu, ale próbuję napisać parser na tyle ogólny, aby poradził sobie z tym dziwnym przypadkiem) Jak parsowane byłyby wyrażenia …
Słyszałem, że makra Clojure są łatwiejsze do pisania, ale nie tak niezawodne jak makra higieniczne Racket. Moje pytanie składa się z 2 części: Czym gensymróżnią się od makr higienicznych? Co zapewniają makra Racket, których nie ma Clojure? (czy to bezpieczeństwo, kompozycja, czy cokolwiek innego)
Obecnie pracuję nad aplikacją internetową, w której często musimy uwarunkować logikę serwera na podstawie strony, która zostanie zwrócona użytkownikowi. Każda strona otrzymuje 4-literowy kod strony, a te kody stron są obecnie wymienione w klasie jako ciągi statyczne: public class PageCodes { public static final String FOFP = "FOFP"; public static …
Tworzę grę 2D na stronę internetową, na której wszechświat może stać się bardzo duży (w zasadzie nieskończenie duży). Początkowo wszechświat składa się z 6 gwiazd, które są w równej odległości od początku (0, 0). Moim zadaniem jest generowanie większej liczby gwiazd, które będą miały „ścieżki” (krawędzie), które się ze sobą …
P: Jaki jest najlepszy sposób na przeniesienie dużej firmy do firmy Cucumber z co najmniej 15-letnimi wymaganiami dotyczącymi oprogramowania starszego typu przechowywanymi w bazie danych wymagań? Obecnie rozważa: 1) Migruj wszystko Wada: nie mamy nieograniczonego czasu / budżetu, musimy iść naprzód, aby przetrwać, nie możemy zatrzymać wszystkiego i GC 100% …
Jak rozumiem, w DDD właściwe jest użycie wzorca repozytorium z zagregowanym katalogiem głównym. Moje pytanie brzmi: czy powinienem zwrócić dane jako obiekt lub domenę / DTO? Może jakiś kod wyjaśni moje pytanie dalej: Jednostka public class Customer { public Guid Id { get; set; } public string FirstName { get; …
Wiem, że javascript używa pisania kaczego i na początku myślałem, że to ułatwi polimorfizm w porównaniu do silnie pisanych języków, takich jak C #. Ale teraz moje funkcje pobierające argumenty są zaśmiecone takimi rzeczami: if(myObj.hasSomeProperty()) lub if(myObj.hasSomeMethod()) lub if(isNumber(myParam)) itp. To jest dla mnie naprawdę brzydkie. Pochodzę z tła C …
Czasami użytkownik rozpoczyna rozszerzoną operację techniczną, której wykonanie zajmuje trochę czasu. W takich przypadkach zazwyczaj miło jest wyświetlić pasek postępu wraz z informacją o tym, które zadanie jest aktualnie wykonywane. Aby uniknąć ścisłego powiązania interfejsu użytkownika i warstw logicznych, zwykle najlepiej jest, aby komunikacja odbywała się za pośrednictwem pewnego rodzaju …
Jestem nowy w Ruby i byłem zaskoczony, gdy dowiedziałem się, że wszystkie przedmioty są prawdziwe oprócz zera i fałszu. Nawet 0 jest prawdą. Zaletą tej właściwości języka jest to, że możesz pisać: if !variable # do stuff when variable is nil end Moi koledzy, którzy są bardziej doświadczonymi programistami Ruby, …
Rozumiem, co określają, ale czy naprawdę warto przypisać je do znalezionych problemów? To znaczy albo trzeba to naprawić szybko, albo nie. Wiem, jak je ustawiać, kategoryzować itp. Wiem, że IEEE / ISO tego wymaga. Po prostu nie rozumiem dlaczego.
Moje zrozumienie... Zalety: Wstawianie na końcu to O (1) zamiast O (N). Jeśli lista jest listą podwójnie połączoną, usunięcie z końca również oznacza O (1) zamiast O (N). Niekorzyść: Zajmuje trywialną ilość dodatkowej pamięci: 4-8 bajtów . Osoba wdrażająca musi śledzić ogon. Patrząc na te zalety i wady, nie rozumiem, …
Mam pewne interfejsy, które zamierzam wdrożyć w przyszłości przez strony trzecie, i sam zapewniam podstawowe wdrożenie. Będę używał tylko kilku, aby pokazać przykład. Obecnie są one zdefiniowane jako Pozycja: public interface Item { String getId(); String getName(); } ItemStack: public interface ItemStackFactory { ItemStack createItemStack(Item item, int quantity); } ItemStackContainer: …
Czy istnieje różnica między tymi dwiema wersjami kodu? foreach (var thing in things) { int i = thing.number; // code using 'i' // pay no attention to the uselessness of 'i' } int i; foreach (var thing in things) { i = thing.number; // code using 'i' } Czy to …
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.