Inżynieria oprogramowania

20
Wydajny algorytm grupowania grafów

Szukam wydajnego algorytmu do znajdowania klastrów na dużym wykresie (ma około 5000 wierzchołków i 10000 krawędzi). Do tej pory korzystam z algorytmu Girvan – Newman zaimplementowanego w bibliotece JUNG Javy, ale próbuję usunąć wiele krawędzi. Czy możesz zasugerować mi lepszą alternatywę dla...

20
Problem ze zrozumieniem słowa „szew”

Czytam „Dependency Injection in .NET” Mark Seemann (jest fantastyczny i musi mieć), a autor często używa słowa „szew”. Ale nie rozumiem, co to znaczy. Oto przykład użycia tego słowa: Rozdział 7 wyjaśnia, jak komponować obiekty w różnych konkretnych ramach, takich jak ASP.NET MVC, WPF, WCF i tak...

20
Jak powinienem zaplanować i rozpocząć projekt?

Za każdym razem, gdy rozpoczynam projekt, w kluczowych momentach decyduję się całkowicie zmienić podstawowe klasy i dać się wciągnąć w niejasne błędy. Staram się planować z wyprzedzeniem i zwykle zaczynam na dobrej stopie, ale potem idę do niego następnego dnia i postanawiam, że chcę to zrobić „w...

20
Proste objaśnienie gniazd uniksowych

Mogę wyszukiwać i przeglądałem już wpis w Wikipedii oraz w niektórych innych miejscach, ale chociaż mam pewne doświadczenie w programowaniu, tak naprawdę nie rozumiem tego pojęcia. Czy możesz potraktować mnie jak 10-latka i podać jasne wyjaśnienie dotyczące komunikacji przez...

20
Kto rozszerza interfejsy? I dlaczego?

AFAIK, moje klasy klasy extendsnadrzędne i implementsinterfejsy. Ale natrafiam na sytuację, w której nie mogę użyć implements SomeInterface. Jest to deklaracja typów ogólnych. Na przykład: public interface CallsForGrow {...} public class GrowingArrayList <T implements CallsForGrow> // BAD,...

20
Jak wygenerować UUID „bezpieczny dla języka”?

Zawsze chciałem używać losowo generowanych ciągów dla identyfikatorów moich zasobów, więc mogłem mieć krótsze adresy URL takie: / user / 4jz0k1 Ale nigdy tego nie zrobiłem, ponieważ martwiłem się, że losowe generowanie ciągów tworzy rzeczywiste słowa, np .: / user / f * cker. Powoduje to dwa...

20
Zasada 5 - z niej korzystać czy nie?

Zasada 3 ( zasada 5 w nowym standardzie c ++) stanowi: Jeśli musisz samodzielnie zadeklarować niszczyciel, konstruktor kopii lub operator przypisania kopii, prawdopodobnie musisz jawnie zadeklarować wszystkie trzy z nich. Ale z drugiej strony „ Czysty kod ” Martina zaleca usunięcie wszystkich...