F# jest językiem głównie funkcyjnym, ale działa w oparciu o platformę .NET, która jest zorientowana obiektowo. Jeśli piszemy kod w F# do użycia w F# to nie potrzebujemy zbytnio klas i interfejsów, ale jeśli chcemy wykorzystać fsharpową bibliotekę w C# to musi ona udostępnić klasy. Więc powiemy dziś sobie o klasach...
Strona głównaUżytkownik
manio143 | użytkownik
Sztuka programowania 2914 dni, 17 godzin, 1 minutę temu 55 źrodło rozwiń
W tym roku postanowiłem zacząć spotkania Grupy .NET MIMUW od wprowadzenia do języka F#. Poniżej znajdziecie krótki wstęp, link do prezentacji oraz nagranie ze spotkania.
Sztuka programowania 2926 dni, 15 godzin, 47 minut temu 157 źrodło rozwiń
20 października odbył się IT Academic Day na wydziale MIM UW. Była to konferencja informatyczna objęta patronatem przez Microsoft i organizowana przez Grupę .NET MIMUW. Ponieważ objąłem w tym roku pozycję Microsoft Student Partner i lidera Grupy .NET, efektywnie to ja zajmowałem się większością organizacji ITADu. Postanowiłem przedstawić w tym blogpoście kilka wyzwań i błędów.
Architektura 2947 dni, 9 godzin, 58 minut temu 277 źrodło rozwiń
Zaczął się nowy rok akademicki i dostałem zastrzyk informacji. Za nim podążył strzał ze strzelby zadaniami domowymi. Takie życie studenta. W każdym razie, wspomiany w tytule wyścig o dostęp to problem, który opiewa przedmiot Programowanie Współbieżne. O co tu chodzi? Na początku komputery były proste i wykonywały wszystkie zadania liniowo...
Sztuka programowania 2963 dni, 9 godzin, 38 minut temu 110 źrodło rozwiń
Istnieje mnóstwo blogów, artykułów, filmów instruktarzowych, ale nie zawsze jesteśmy w stanie znaleźć czas, aby usiąść i poczytać. Już dłuższy czas temu zacząłem słuchać podcastów o tematyce informatycznej i uważam, że jest to świetne źródło wiedzy i rozrywki.
Kiedy budujemy naszą bibliotekę, w końcu nadejdzie czas aby ją nazwać. Ponieważ siedzę po uszy w dotnecie, zacząłem przyglądać się niektórym nazwom bibliotej dotnetowych i zauważyłem m.in. wzorzec “n”. Podobnie dużo bibliotek w Javie ma w nazwie “j”. Zebrałem więc kilka ciekawych n-bibliotek...
Niedawno zacząłem praktyki, gdzie biorę udział w eksperymencie porównania 3 metodyk pisania oprogramowania: TDD, ITL i NUT. TDD spodobało mi się szczególnie, więc postanowiłem napisać tego posta i pokazać przykładowy workflow w TDD.
Sztuka programowania 3030 dni, 13 godzin, 3 minuty temu 288 źrodło rozwiń
Spotkałem się ostatnio z następującym problemem: Mam bibliotekę z modelami, oraz drugą opisującą Dto (Data Transfer Object), w której typy danych są bardzo zbliżone do modeli, ale są to mimo wszystko inne typy. Szukając rozwiązania, trafiłem na Mapster, bibliotekę do mapowania typów.
Zaczęły się wakacje i musiałem na razie przerwać spotkania Grupy .NET. Ale nie chciałem całkowicie usypiać grupy, więc postanowiłem nagrać dla nich prezentację o wzorcu Model View ViewModel, ponieważ zaczęliśmy pod koniec semestru robić projekt oparty o Windows Presentation Foundation, a tam MVVM świetnie pasuje. Zacząłem od zrobienia prezentacji, takiej jaką bym wyświetlał mówiąc do nich na żywo...
Architektura 3050 dni, 17 godzin, 33 minuty temu 164 źrodło rozwiń
Na chwilę obecną SportsTacticsBoard używa plików .resx aby przechowywać zasoby w celu internacjonalizacji. Celem jest zapewnienie właściwego tłumaczenia aplikacji użytkownikom. Jednak moim zdaniem używanie tłumaczeń w plikach .resx jest trochę niepraktyczne. Po pierwsze, głównym powodem na posiadanie oddzielnych plików na tłumaczenie jest to, aby tłumacz nie musiał wiedzieć nic o programowaniu...
Trochę o moim nowym projekcie SportTacticsBoard (C#), motywacji oraz o importowaniu projektu z SVN do Git i jaka jest sytuacja z licencją...
Wśród narzędzi do hostowania własnego repozytorium przodują GitLab i Go Git Service. Ostatnio opisałem jak działa Docker, a w tym poście dowiesz się jak zainstalować gogs za pomocą kontenerów.
Postanowiłem wdrożyć Go Git Service. Gogs ma kilka metod instalacji, a jedna z nich to użycie kontenerów Dockera. Od pewnego czasu słyszałem o tej technologii, ale nie wiedziałem jak działa, ani do czego dokładnie służy. Teraz kiedy udało mi się opanować ją w wystarczającym stopniu, stwierdziłem, że podzielę się nową wiedzą.
Maj dobiega końca, a wraz z nim kończy się Daj Się Poznać. Ten konkurs wniósł bardzo dużo do mojego życia, przede wszystkim zacząłem regularnie prowadzić bloga. Była to też okazja do poznania wielu osób z polskiej informatycznej blogosfery oraz innych uczestników konkursu. No i ja sam dałem się poznać.
Daj się poznać 2016 3097 dni, 4 godziny, 19 minut temu 109 źrodło rozwiń
Czasem warto przeglądać kod innych, podobnych projektów. W moim przypadku przyglądam się LibreOffice, MonoDevelop i RoslynPad.
Daj się poznać 2016 3094 dni, 8 godzin, 58 minut temu 136 źrodło rozwiń
Już od jakiegoś czasu miałem oko na spróbowanie F#. Połączenie szybkiego programowania funkcyjnego wraz z potężną biblioteką .NET brzmi bardzo fajnie i takie jest w rzeczywistości. Zobaczyłem, że NUnit ma w swoich przykładach projekt w F#, więc postanowiłem przepisać moje obecne testy na F#. Nie przewidziałem jednak trudności wynikających z nieznajomości tego języka…
Daj się poznać 2016 3102 dni, 17 godzin, 16 minut temu 57 źrodło rozwiń
Dotychczas nie pisałem testów (jakoś kod testowałem ręcznie) i odkrywam jak bardzo są pożyteczne. Po pierwsze i najważniejsze, umożliwiają wykrycie błędów w implementacji klas zanim zaczniemy ich używać. Tworząc nowy projekt testów w Visual Studio dostajemy MSTest, który nie działa pod Linuxem. W związku z tym sięgnąłem po NUnit.
Daj się poznać 2016 3105 dni, 16 godzin, 50 minut temu 164 źrodło rozwiń
Jest wiele sposobów na znajdowanie błędów w aplikacji: dowody matematyczne, testy jednostkowe, ręczne testowanie i debugowanie. Niestety debugowanie może być bardzo czasochłonne jeśli nie wiemy, w którym miejscu znajduje się problem. Tworzenie logów może nam pomóc zlokalizować ten problem.
Daj się poznać 2016 3109 dni, 14 godzin, 31 minut temu 171 źrodło rozwiń
Piszemy kod, commitujemy, pushujemy. I jesteśmy potem zajęci, zapominamy o kodzie. W tym czasie ktoś stwierdza, że ściągnie sobie nasze repo. Więc klonuje, pobiera paczki, odpala build i … nie działa. Powyższe spowodowane jest tym, że programista nie zawsze pamięta by skompilować, uruchomić, przetestować kod po wprowadzeniu zmian. Powinien pamiętać, ale zdarza się, trudno. To jest jeden ze scenariuszy gdzie CI, czyli Continuous Integration, może pomóc...
Daj się poznać 2016 3109 dni, 14 godzin, 31 minut temu 234 źrodło rozwiń