Chciałbym Was przeprowadzić przez proces skompilowania, uruchomienia i debuggowania .NET Core - czyli wersji open source środowiska .NET. Bez zbędnych wstępów przejdźmy do odpowiedzi na proste pytanie... Po co?
Strona głównaUżytkownik
KonradKokosa | użytkownik
Dosyć często w rozmowach z innymi ludźmi przewija mi się temat bloga i zawsze polecam tą formę dodatkowej aktywności. Znaczna większość moich rozmówców nie chce jednak nawet spróbować postawić pierwszego kroku na tej ścieżce. Co jest bardzo interesujące to fakt, że ich argumentacja jest bardzo podobna i moim zdaniem błędna.
Czy znacie narzędzie NDepend? Służy do statycznej analizy jakości kodu. Istnieje w świecie .NET już od wielu lat i zyskał zasłużoną renomę. I mi nadarzyła się okazja by przyjrzeć się temu narzędziu bliżej. Kilka lat temu bawiłem się nim na potrzeby analizy projektów w pracy. A teraz zapragnąłem nim przebadać coś nieswojego, coś dużego - .NET Core.
Czas naprawdę "szybko leci". Prawie jak wczoraj pamiętam udział w konferencji .NET Developer Days 2015, a tutaj już na poważnie rozkręciła się organizacja tegorocznego wydarzenia. Było ciekawie, więc z dużym zainteresowaniem śledziłem doniesienia organizatorów na temat tego, co szykują w tym roku.
Nie wiem czy macie prawo jazdy, ale nawet jeśli nie, to pewnie zrozumiecie wysublimowaną analogię, którą zaraz przeczytacie. Otóż jeżdżąc samochodem i mniej więcej kojarząc przepis drogowe, możemy jeździć z powodzeniem całe życie. (...)
A właściwe o tym, że właśnie Ty masz talent! I nie ważne co Ci mówią inni, co Ci mówi świat, ani tym bardziej - co sam o tym myślisz. Skąd taka pewność? Bo tak. Stary bardzo nie jestem, ale coś tam już wiem (...).
Microsoft wprowadził ideę "nie przyszedł dev do Builda, przyjdzie Build do deva" - tournée mini-konferencji Build po całym świecie. Nowością jest to, że w tym roku Build zawitał do Polski, a konkretnie do Warszawy. Jest to niewątpliwie dość zacne wyróżnienie.
Nie będę oryginalny pisząc, że nie jestem oryginalny i zbliżający się koniec konkursu "Daj się poznać" odnotuję krótkim podsumowaniem. A zatem oto i podsumowanie. Celem mojego udziału nie było skończenie projektu, bo realnie patrząc, wiedziałem, że się z tym...
Daj się poznać 2016 3113 dni, 12 godzin temu 87 źrodło rozwiń
Trochę sporo ostatnio czasu w ramach projektu poświęciłem na naprawianie biblioteki ClrMd i pisania poradników o GitHubie. W ramach rdzennego rozwoju projektu skupiłem się na neo4j, teraz pora najwyższa wrócić do interfejsu i zastanowić się nad ważnym pytaniem - czego użyję jako biblioteki rysującej grafy.
Daj się poznać 2016 3127 dni, 4 godziny, 45 minut temu 94 źrodło rozwiń
W poprzednich częściach znęcałem się nad biblioteką ClrMd i zawartym w niej niedopatrzeniu – poważnym problemie z deadlockiem. Korzystając, że jest to Open Source dostępny na GitHubie, czuję się w obowiązku spróbować dostarczyć oficjalną poprawkę. A to świetna okazja do napisania artykuliku o tym, jak to formalnie przeprowadzić.
Daj się poznać 2016 3128 dni, 4 godziny, 53 minuty temu 83 źrodło rozwiń
W poprzednim wpisie zmieniłem system zarządzania zależnościami z Nugeta na Paket. Ściąganie paczek Nugetowych skonwertowało się automatycznie za pomocą dołączonego narzędzia, teraz pora dodać główny cel tych zabiegów - archiwum z przenośną wersją Neo4j.
Daj się poznać 2016 3138 dni, 9 godzin, 45 minut temu 35 źrodło rozwiń
Tak jak pisałem w jednym z poprzednich postów, zdecydowałem się użyć Paket do zarządzania zależnościami w projekcie. Dlaczego? Ponieważ poza zależnościami NuGetowymi, mam jedną dużą, niestandardową - standalone binarki bazy neo4j. Tak jak pisałem, Paket poza źródłami z serwerów NuGetowych potrafi korzystać ze źródeł Gita oraz po prostu zasobów dostępnych przez HTTP.
Daj się poznać 2016 3139 dni, 9 godzin, 28 minut temu 79 źrodło rozwiń
Przygody z deadlockiem (czy jak kto woli – zakleszczeniem) w bibliotece ClrMd ciąg dalszy. W poprzedniej części obszedłem problem po stronie aplikacji, jednak chciałbym przyczynić się do poprawy życia ludzkości i naprawić ten problem w samej bibliotece. Widzę tu trzy wyjścia.
Daj się poznać 2016 3145 dni, 9 godzin, 11 minut temu 28 źrodło rozwiń
W poprzednim poście posłużyłem się następującym kodem, mającym wczytać plik ze zrzutem pamięci i następnie załadować odpowiednią wersję pliku mscordacwks.dll. Niestety, jak już wspomniałem, ten kod umieszczony w aplikacji WPF powoduje jej zawieszenie - na wywołaniu CreateRuntime() interfejs przestaje odpowiadać i możemy czekać tak w nieskończoność.
Daj się poznać 2016 3149 dni, 3 godziny, 57 minut temu 44 źrodło rozwiń
Wyjaśniam, dlaczego wyrażenia są bezpieczniejsze od twierdzeń oraz jak zwiększyć czytelność wyrażeń w F#.
Sztuka programowania 3152 dni, 8 godzin, 2 minuty temu 86 źrodło rozwiń
W rozwoju każdego oprogramowania przychodzi ten moment, że zdarza się pierwszy bug. Potem są już kolejne. No i ja mam za sobą ten etap – aż z wrażenia założyłem Issue we własnym projekcie...
Daj się poznać 2016 3156 dni, 7 godzin, 27 minut temu 37 źrodło rozwiń
Projekt MemoryVisualizera toczy się w kilku wątkach, ale jak na razie dość mało poświęciłem jednemu z najważniejszych - analizy pamięci. Planuję bardziej rozbudowany post o tym jak można się do pamięci dobrać i co tak naprawdę siedzi pod spodem. Na razie jednak jako "zajawkę...
Daj się poznać 2016 3156 dni, 7 godzin, 27 minut temu 35 źrodło rozwiń
Jest kwiecień. Plecień, przeplata, zaraz matury. W mailach od Was również przeplatają się różne tematy, ale kilka pojawia się bardzo często. Jeden z nich to: studia. Po co one programiście? Studiować czy… olać? Ja studia skończyłem około dekadę temu, a dzisiaj wreszcie, po prawie trzech latach pisania, udało się skomponować tekst na ten temat. Zapraszam do lektury i dyskusji. Czas jest odpowiedni.
Jak już nie raz wspominałem, chciałbym by sercem MemoryVisualizera był język zapytań oparty o Cypher, a właściwie leżąca pod spodem baza grafowa Neo4j. Ma mi to zapewnić dużą ekspresyjność zapytań oraz (mam nadzieję) dużą szybkość działania. Tutaj pojawia się pewien drobny temat do przemy...
Daj się poznać 2016 3159 dni, 10 godzin, 17 minut temu 96 źrodło rozwiń
W poprzedniej części wątku WPFowego projektu MemoryVisualizer skupiłem się na przypomnieniu, czym jest i jak implementować komendę (interfejs ICommand) w C#. Dla przypomnienia, napisałem ogólne rozwiązanie, któremu podaje się odpowiednie metody, dzięki czemu jest ca...
Daj się poznać 2016 3165 dni, 9 godzin, 47 minut temu 198 źrodło rozwiń