ML: kategorie nominalne – Dummy Variable Trap

Tak jak obiecałem wcześniej w poście mówiącym o danych kategoryzujących, napiszę kilka słów o problemie związanym z przetwarzaniem danych nominalnych, zwanym Dummy Variable Trap. Dummy variable jest to kolumna przechowująca wartość binarną (oznaczającą przynależność próbki do danej kategorii), utworzona w procesie kodowania jeden do wielu, o którym pisałem we wspomnianym poście. Spójrzmy zresztą na poniższy […]

EF: Konwencje nazewnicze w podejściu Code First

Ten wpis jest odpowiedzią (na tyle na ile pozwala moja skromna wiedza) na komentarz do EF:Relacje między tabelami – Code First.  Dla porządku pozwoliłem sobie podzielić ów komentarz na części, na które będę bezpośrednio odpowiadał. Zaczynajmy 🙂 mógłbyś mi wyjaśnić parę rzeczy z EntityFramework i podejścia CodeFirst w C#?. Jak to wygląda z relacjami?? z […]

.Net: Wykorzystanie System.Speech w celu transkrypcji nagrania do tekstu

DotNet wraz z przestrzenią nazw System.Speech dostarcza łatwą w wykorzystaniu bibliotekę pozwalającą na zaimplementowanie systemu rozpoznawania mowy – niestety nie w języku polskim. Możemy przy pomocy tego narzędzia szybko napisać program przygotowujący transkrypcję tekst -> audio, oraz audio -> tekst. Dzisiaj pokażę tą drugą opcję. Pierwszą rzeczą jaką należy zrobić to w swoim projekcie dodać […]

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

W pierwszej części pisałem o podstawach wątków. Były tam poruszane takie tematy jak tworzenie wątków, ich blokowanie, a także współdzielenie stanu. Dzisiaj postaram się pogłębić ten temat i zwrócić uwagę na bezpieczeństwo wątków. Stan współdzielony vs. stan lokalny W ostatnim przykładzie części pierwszej pisałem o stanie współdzielonym wątków. Wrzuciłem tam taki przykład:

Jak w […]

.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ł […]

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 […]

Wzorce złożone: MVP

Ostatnim wzorcem złożonym, w rodzinie Model-View, jest MVP, czyli Model-View-Presenter. Efektywnie wykorzystany może być choćby w znanym i lubianym(;)) WindowsForms – generalnie sprawdza się tam, gdzie w podobny sposób(jak w WinForms) jest budowany interfejs użytkownika. Spójrzmy na warstwy w MVP. Dzięki temu łatwiej zrozumiemy różnicę między nim, a MVC, oraz MVVM do którego jest bardzo podobny: […]

TDD Dla początkujących. Cz. 3: Zasada FIRST i kilka słów o testowaniu

W dzisiejszym “odcinku”, chciałbym skupić się może nie tyle na samym TDD ale na testach jednostkowych. Co prawda ta seria wpisów, jak pisałem na początku, nie będzie się w jako takie testy się zbytnio zagłębiała, to jednak są pewne nierozłączne elementy o których należy powiedzieć w kontekście TDD. Te elementy to dobre praktyki pisania testów,o których […]

TDD dla początkujących. Cz. 2: Prosty przykład

Jako pierwszy przykład zastosowania TDD, postanowiłem zaimplementować aplikację zwracającą wartość ciągu Fibonacciego, gdzie daną wejściową jest pozycja szukanej w ciągu. Pomysł nie jest mój- został zaczerpnięty z książki, autorstwa Kent’a Beck’a, pod tytułem “TDD Sztuka tworzenia dobrego kodu”, wydawnictwa Helion. Mimo, że zadanie przed którym stoimy jest trywialne, to jednak wydaje mi się bardzo wartościowe […]