.Net: Wątki w C# cz.1

Jak przystało na część pierwszą – będą podstawy. A skoro będą podstawy o wątkach to warto zadać pytanie: Co to takiego wątek? Otóż jest to ścieżka wykonywania programu. Program może być jednowątkowy, czyli mieć jedną ścieżkę wykonywania, lub wielowątkowy – mieć kilka, niezależnych od siebie lub wręcz przeciwnie, ścieżek wykonywania. W przypadku programów wielowątkowych, zasoby takie jak […]

.Net: Różnice między IEnumerable i IQueryable

W przepastnych czeluściach linijek kodu, które mam przyjemność (lub obowiązek ;)) oglądać w pracy bardzo często widzę interfejs IEnumerable. Przedstawiać go zresztą dotNetowcom nie trzeba bo przecież jest znany i lubiany – jeżeli ktoś nigdy nie korzystał z pętli foreach ten, piszę to z dużą dozą pewności aczkolwiek margines błędu zawsze istnieje, nigdy nie korzystał […]

Code Smells: Błędnie rozumiana odpowiedzialność klas

Dzisiejszy wpis będzie wyjątkowo o dwóch code smellsach, które łączy wspólny mianownik – źle rozumiany zakres odpowiedzialności klasy. Rozbieżna zmiana Pierwszy – Rozbieżna zmiana – objawia się niezgodnością klasy z pierwszą zasadą SOLID czyli zasadą pojedynczej odpowiedzialności, którą można przedstawić tak: “Wszystkie zmiany w danej klasie powinny wynikać tylko z jednego powodu”. W kodzie, w […]

Code Smells: Nieużywany kod

Niepotrzebny kod Dzisiejszy wpis nie będzie długi, ani nie będzie zawierał żadnych przykładów – wszystko to z racji małej złożoności poruszanego problemu. Nie mniej nieużywany kod jest jednym z bardziej powszechnych code smells’ów zwłaszcza w długo utrzymywanych, bądź rozwijanych projektach. Dlaczego tak się dzieje? Kiedyś, gdy nie było tak rozbudowanych IDE jak dziś, programiści musieli poświęcać […]

ASP.NET Core : Konfiguracja MVC

Jak wiadomo .NET Core stawia na szybkość i lekkość co udaje mu się osiągnąć dzięki swojej modułowej budowie. Mimo znacznych zmian w architekturze, API pozostało w dużej mierze takie samo lub nieznacznie zmodyfikowane. Dzięki temu znając wcześniej i chcąc wykorzystać np. WPF, czy ASP.NET MVC w najnowszej wersji, nie jesteśmy skazani na naukę wszystkiego od […]

Machine Learning Workflow cz 3 – testowanie modelu

Jak zwykle zacznę od przypomnienia poszczególnych kroków w przepływie pracy w uczeniu maszynowym: Przygotowanie modelu. Trenowanie modelu. Testowanie modelu. Dzisiaj będę pisał o ostatnim kroku – testowaniu modelu – kluczowym by właściwie ocenić nasz model i na tej podstawie podjąć decyzję o kierunku zmian w kolejnej iteracji pracy. Testowanie jakie takie składa się z dwóch […]

Scikit-learn i podstawy korzystania z algorytmów uczących

Biblioteka scikit-learn zawiera implementację wszystkiego co potrzebne do pracy z uczeniem maszynowym w Pythonie. Dodatkowo jest dostępna całkowicie za darmo jako projekt open source. Dzięki temu, że twórcy ściśle podążają za ustalonymi konwencjami, korzystanie z niej i rozpoczęcie trenowania swojego modelu to kwestia kilku minut. Kluczowe są zawsze dwie metody, które opisuję poniżej. Na początek warto wiedzieć, […]

DSP2017: Trenowanie modelu- raport 3

Po dłuższej przerwie od raportów, w końcu piszę kolejny – dzisiaj o przebiegu procesu trenowania modelu w moim projekcie, który jak całość dziedziny uczenia maszynowego został przeprowadzony z wykorzystaniem Pythona, i bibliotek Pandas oraz scikit-learn. Rodzaj uczenia… Przed przystąpieniem do wyboru algorytmu uczącego trzeba określić pewne ramy dla swojego projektu. Tak jak pisałem wcześniej, na […]

DSP2017: Wprowadzenie do biblioteki Pandas w kontekście przygotowania modelu

Biblioteka Pandas jest open-source’owym narzędziem do analizy danych przeznaczonym dla Pythona. Udostępnia wszystkie niezbędne operacje potrzebne do pracy z modelem w uczeniu maszynowym. Poniżej opiszę kilka podstawowych funkcji i struktur danych, które można wykorzystać w kontekście przygotowania modelu. Wczytywanie danych: Pandas posiada mnóstwo metod służących do wczytywania danych z różnych źródeł. Nazwy tych metod zwykle wyglądają […]

Relacja z konferencji 4developers 2017

4developers częściej jest przedstawiane jako festiwal programistyczny niż konferencja. Dlaczego? Wszystko się wyjaśni gdy spojrzymy sobie na ten event w liczbach. 13 ścieżek tematycznych plus warsztaty, ponad 100 wykładów no i ~1500 uczestników. Może przytłaczać rozmachem.  Na stronie konferencji możemy przeczytać, że na róży wiatrów organizatorów widnieją cztery kierunki: Idea, interdyscyplinarność, aktywność i społeczność (być może […]