Posted on by krystiankolad Wypuszczona niedawno nowa wersja .Net Core ( w moim przypadku jest to wersja 2.1.302) wprowadziła kilka zmian, przez które migracja naszych projektów z wersji 2.0 do 2.1 jest dosyć ciężka, zwłaszcza, jeśli mamy wiele projektów w wersji 2.0. Jednak od zainstalowania nowszej wersji, dotnet cli korzysta domyślnie z najnowszej, przez co niektóre komendy mogą wyrzucać błędy lub niepotrzebne ostrzeżenia. Jak sobie z tym poradzić? Z pomocą przychodzą nam pliki global.json. Są to pli...
Sztuka programowania 986 dni, 12 godzin temu 60 źrodło rozwiń
O popularności technologii blockchain nie trzeba nikogo przekonywać. Do końca czerwca br. termin ten został użyty w ponad 86 mln publikacji w sieci czy ponad 27 tys. repozytoriów na githubie. Rośnie liczba wyszukiwań zawierających tę frazę, kryptowalut, startup’ów oraz opartych na tej technologii projektów inicjowanych przez liderów branży IT oraz instytucje finansowe. Czy zjawisko to jest sygnałem zbliżają...
Sztuka programowania 989 dni, 11 godzin, 49 minut temu 144 źrodło rozwiń
First, introductory post to my new ".NET Internals" series. Next posts will be published each Wednesday from today, so I invite you all to follow the series :) First post is the introduction to basic concepts of memory structure.
Sztuka programowania 990 dni, 12 godzin, 28 minut temu 115 źrodło rozwiń
Czyli jak nasze krótkofalowe zyski mogą zostać wyparte przez długofalowe straty.
Sztuka programowania 992 dni, 12 godzin, 32 minuty temu 157 źrodło rozwiń
Rozpoczynam kolejny cykl - tym razem o Bounded Contextach. Zobacz czym są konteksty i jak mogą pomóc twojej aplikacji.
Sztuka programowania 997 dni, 12 godzin, 20 minut temu 132 źrodło rozwiń
Kod nigdy nie kłamie, komentarze czasami. Są jednak dobre komentarze które warto stosować ze względu na swoją wartość.
Sztuka programowania 999 dni, 12 godzin, 37 minut temu 117 źrodło rozwiń
Witaj w trzeciej odsłonie cyklu poświęconego programowaniu funkcyjnemu! W części pierwszej omówiłem najważniejsze podstawy. Część druga skupiała się na kluczowym aspekcie tego paradygmatu programowania – tworzeniu programu poprzez komponowanie funkcji. Dzięki temu artykułowi dowiesz się, czym są monady oraz jakie są ich praktyczne zastosowania.
Sztuka programowania 999 dni, 12 godzin, 37 minut temu 145 źrodło rozwiń
Kończąc zbiór wpisów dotyczących FluentValidation czas na napisanie testów.
Sztuka programowania 1000 dni, 13 godzin, 40 minut temu 50 źrodło rozwiń
W poprzednim wpisie pokazałam prosty (i przy okazji brzydki) sposób na użycie pakietu FluentValidation do walidacji danych po stronie serwera. Czas na refactoring.
Sztuka programowania 1006 dni, 12 godzin, 32 minuty temu 68 źrodło rozwiń
Programowanie to nie tylko pizza raz w tygodniu, granie na konsoli w pracy i zabawa przez cały dzień, a często tak przedstawiają nas zawód media. Coraz głośniej jest o tym zawodzie, którego można się nauczyć nawet korespondencyjnie przez Facebooka...
Sztuka programowania 1006 dni, 12 godzin, 32 minuty temu 97 źrodło rozwiń
Posted on : By Grzegorz KotfisCode Druga „recepta na” będzie związana z warunkami if i skracaniem ich zapisu a zarazem poprawy ich czytelności. Na początek przykład nad którym popracujemy:public class MyBusinessClass { AuthorizationService authorizationService = new AuthorizationService(); public void AddOrderToInvoice(Order order, Invoice invoice, UserInfo user) { if (authorizationService.HasAuthorization(order, user, AuthorizationLevel.Read) &...
Sztuka programowania 1010 dni, 11 godzin, 35 minut temu 155 źrodło rozwiń
W 10-tym odcinku podcastu przedstawiamy swoje 10 dobrych praktyk tworzenia oprogramowania. Nie mówimy o SOLID, DRY, KISS i reszcie "popularesów". O tym poczytasz już u wszystkich specjalistów. My przygotowaliśmy swoje własne zestawienie. TOP 10 Dobrych Praktyk Tworzenia Oprogramowania.
Sztuka programowania 1010 dni, 11 godzin, 35 minut temu 94 źrodło rozwiń
Artykuł oryginalnie w języku francuskim, ale nawet po auto-tłumaczeniu na polski jest warty przeczytania: Można sobie wyobrazić, że przechowywanie hasła w łańcuchu podczas wykonywania procesu, oferuje bezpieczne rozwiązanie i że trudno jest odczytać zawartość tego ciągu. W rzeczywistości ten typ pamięci nie jest bezpieczny. W aplikacjach .NET hasła przechowywane w stanie wyczyszczonym można znaleźć w obiekcie typu System.String . Jednak za pomocą bardzo małych środków można szybko odczytać zawartość do...
Sztuka programowania 1011 dni, 12 godzin, 24 minuty temu 55 źrodło rozwiń
About two years ago I blogged about an upcoming experimental IO API in the .NET world - at the time provisionally called "Channels"; at the end of May 2018, this finally shipped - under the name System.IO.Pipelines. I am hugely interested in the API, and over the last few weeks I'm been consumed with converting StackExchange.Redis to use "pipelines", as part of our 2.0 library update. My hope in this series, then, is to discuss:what "pipelines" arehow to use them in terms of codewhen you might want to u...
Sztuka programowania 1011 dni, 12 godzin, 24 minuty temu 23 źrodło rozwiń
In the previous post in this series, I introduced the concept of outgoing middleware using DelegatingHandlers registered with named and typed clients. While that approach is available, the ASP.NET team hope that for most scenarios, we won’t need to resort to manually building our own handlers. In some cases, the built-in features of the library may provide the functionality we need. For example, it is sometimes useful to wrap requests ...
Sztuka programowania 1011 dni, 12 godzin, 24 minuty temu 31 źrodło rozwiń
In the first article of machine learning in ML.NET saga, we explored basics of machine learning and we got our first look at Microsoft’s framework for this purpose. There we mentioned that machine learning addresses two kinds of problems: regression and classification. We used Iris classification dataset, which is sort of a Hello World! example in the machine learning world, in order to get familiar with the concepts...
Sztuka programowania 1011 dni, 12 godzin, 24 minuty temu 23 źrodło rozwiń
Ćwiczenia czynią mistrza, ale jak zacząć? Wczuj się w sytuacje, mamy końcówkę Czerwca, masz wiele lat komercyjnego doświadczenia, szef mianował Cię na mentorkę/mentora grupy praktykantów/stażystów. Przychodzisz do Pracy w pierwszy dzień roboczy Lipca, na końcu korytarza widzisz nowe twarze, czeka już na Ciebie grupa ambitnych praktykantów/praktykantek kierunku Informatyka, lub pokrewnego. Po wstępnej rozmowie z grupą studentów/studentek 2-3 roku studiów dowiadujesz się od nich, że o testach jednostkowyc...
Sztuka programowania 1011 dni, 12 godzin, 24 minuty temu 124 źrodło rozwiń
In part 1, we discussed some of the problems that exist in the familiar Stream API, and we had an introduction to the Pipe, PipeWriter and PipeReader APIs, looking at how to write to a single Pipe and then consume the data from that Pipe; we also discussed how FlushAsync() and ReadAsync() work together to keep both sides of the machinery working, dealing with "empty" and "full" scenarios - suspending the reader when there is nothing to do, and resuming it when data arrives; and suspending the writer when...
Sztuka programowania 1011 dni, 12 godzin, 24 minuty temu 17 źrodło rozwiń
In the previous article, we started analyzing asynchronous programming in .NET world. There we made concerns about how this concept is somewhat misunderstood even though it has been around for more than six years, ie. since .NET 4.5. Using this programming style it is easier to write responsive applications that do asynchronous, non-blocking I/O operations. This is done by using async/await operators. However, this concept is often misused. In this article, we will go through s...
Sztuka programowania 1011 dni, 12 godzin, 24 minuty temu 114 źrodło rozwiń
Posted on by krystiankolad W trakcie pracy nad naszymi aplikacjami często musimy sprawdzić, czy na przykład dane wysłane do nas w formularzu lub do naszego api spełniają pewne kryteria. Kryteriami tymi mogą być długość numeru pesel, prawidłowy adres email oraz wiele, wiele więcej. Dziś pokażę, jak skonfigurować taką walidację przy użyciu biblioteki FluentValidation w ASP.Net Core Web Api. Zapraszam. Aby zainstalować bibliotekę w naszym projekcie używamy dwóch komend:dotnet add package FluentValidation ...
Sztuka programowania 1011 dni, 12 godzin, 24 minuty temu 52 źrodło rozwiń