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...
Strona głównaUżytkownik
krystiankolad | użytkownik
Sztuka programowania 2336 dni, 8 godzin, 9 minut temu 60 źrodło rozwiń
Posted on by krystiankolad Ostatnimi czasy popełniłem mały, dosyć prosty tool o nazwie DotnetThx. Służy on do wylistowania paczek, których używamy w naszej aplikacji, wraz z informacjami o ich autorach oraz linkach do ich projektów. Tool jest wzorowany na thanks, jednak jest w całości napisany w C# oraz działa tylko na .Net Core w wersji co najmniej 2.0. Jak go używać? Najpierw należy zainstalować nasz tool: dotnet tool install -g DotnetThx a następnie, będąc w folderze projektu, którego paczki chcemy...
Posted on by krystiankolad Dzisiaj będzie krótko. W jednym z wpisów o dockerze opowiadałem o plikach Dockerfile. Pokazałem wtedy, jak można za pomocą takiego pliku zbudować aplikację podczas tworzenia obrazu. Dziś chciałbym zademonstrować, jak za pomocą wielokrotnych FROM możemy zbudować nasz projekt w jednym obrazie oraz wystawić go w innym. Jako przykład posłuży nam prosta aplikacja MVC o nazwie Sample. Jej struktura przedstawia się tak: Kilka słów wyjaśnienia: -src – folder, w którym znajduje ...
Architektura 2356 dni, 8 godzin, 41 minut temu 62 źrodło rozwiń
We wpisie pokazuję przykład walidacji po stronie serwera z wykorzystaniem pakietu FluentValidation. Na początek pokazuję proste użycie pakietu, w kolejnych wpisach - refactoring i testy.
Sztuka programowania 2362 dni, 8 godzin, 52 minuty temu 58 ź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 2361 dni, 8 godzin, 33 minuty temu 55 źrodło rozwiń
Posted on by krystiankolad Wiemy już, jak posługiwać się kontenerami dockerowyi, wiemy także, jak tworzyć pliki Dockerfile, które pozwalają nam w łatwy sposób opakować naszą aplikację w kontener i wystawić na świat. Co jednak w przypadku, gdy nasz system składa się z kilku mniejszych aplikacji opakowanych w kontenery? Jak zarządzać takim systemem? Z pomocą przychodzi nam właścnie docker-compose. Czym jest docker-compose? Jest to narzędzie, które pozwala na tworzenie systemów złożonych z kilku konteneró...
Posted on by krystiankolad Dziś będzie krótko. Ostatnio podczas pracy nad aplikacją webową na studia mieliśmy mały problem z odpytywaniem naszego api, mianowicie nie udało nam się zmapować obiektu zwracanego z naszego api na obiekt po stronie Angulara. Powód ten okazał się bardzo prosty: mimo, iż properties naszego modelu powinno zostać zserializowane na nazwy rozpoczynające się z dużej litery, zostały zserializowane na małe. Po mały researchu okazało się, iż w ASP.Net Core serializacja domyślnie tworzy...
Sztuka programowania 2551 dni, 2 godziny, 42 minuty temu 134 źrodło rozwiń
A few days ago I faced an interesting problem. In a nutshell, I had one interface implemented by three classes...
Dawno, dawno temu, za górami, za lasami, gdzie kakałko trzeba było na palenisku robić odganiając się patykiem od niedźwiedzi (a przynajmniej ja tak pamiętam te czasy) a aplikacje webowe tworzyło się w jednej technologii, życie było o wiele prostsze. Obecnie są to kombajny złożone z wielu technologii. Szczególnie to widać na przykładzie front-endu, który rozrósł się niesamowicie od czasu stworzenia pierwszych wersji Node.js. Jesteśmy wprost bombardowani nowymi frameworkami SPA, które coraz prześcigają się...
Posted on by krystiankolad W dzisiejszym poście przedstawię czym są klasy abstrakcyjne oraz interfejsy. Post ten jest swego rodzaju pilotażowym postem w moim nowym cyklu “Od zera do .Net Juniora”. Będę w nim opisywał oraz pokazywał zagadnienia, z którymi powinna być zaznajomiona osoba starająca się o swoją pierwszą pracę jako Junior .Net Developer. Mam nadzieję że cykl się przyjmie, jeśli chcecie poczytać o jakiś zagadnieniach piszcie, z chęcią o nich napiszę, jeśli je znam, lub się ich nauczę, a potem ...
Sztuka programowania 2648 dni, 9 godzin, 29 minut temu 114 źrodło rozwiń
Posted on by krystiankolad Przyszedł czas na post nieco bardziej zahaczający o .Net Core. Spojrzymy dziś na przetwarzanie asynchroniczne w C#. Pozwoli nam to na wykonywanie pewnych procesów w tle, bez konieczności blokowania wątku naszej aplikacji. Przetwarzanie takie przydaje się między innymi w pracy nad plikami – na przykład odczytem i zapisem plików, które wykonywane są w osobnym wątku, dzięki czemu użytkownik korzystający z naszej aplikacji może wykonywać w niej inne czynności. Używane są one równi...
Sztuka programowania 2652 dni, 11 godzin, 8 minut temu 326 źrodło rozwiń
Dziś zajmiemy się tematem logów w Dokerze. Czym one są? Informacją o tym, co dzieje się w naszym programie, systemie. Dają nam informacje między innymi o tym, jakie wydarzenia miały miejsce oraz jakie błędy wystąpiły w naszym programie. Do sprawdzania logów służy komenda: docker logs [args] [containerId] Może ona zostać wywołana z argumentami takimi jak: -f – dzięki niemu mamy ciągły podgląd na nasze logi; –details – pozwala nam wyświetlić dodatkowe informacje o naszych l...
Architektura 2656 dni, 9 godzin, 12 minut temu 69 źrodło rozwiń
W minionym tygodniu miałem przyjemność migracji z .NET Core’a 1.1 do mającego kilka dni wcześniej finalny release .NET Core’a 2.0. Po krótkim obeznaniu się z tematem miałem mieszane uczucia, połowa wpisów opisywała to zadanie jako mission impossible, druga jako przysłowiową bułkę z masłem..
Posted on by krystiankolad Po wszystkich naszych zmaganiach przyszedł czas na poznanie Docker Hub. Jest on tym samym dla dockerowych obrazów czym Github dla naszych repozytoriów – miejscem ich przechowywania, udostępniania oraz miejscem, z którego możemy je pobrać. Dziś pokażę, jak wysłać stworzony przez nas obraz z lokalnego zbioru na Docker Hub, a następnie zautomatyzuję ten proces przy pomocy Bitbucket Pipelines. Skorzystamy z tego samego projektu, którego używaliśmy w części trzeciej, dotyczącej Doc...
Architektura 2661 dni, 9 godzin, 16 minut temu 57 źrodło rozwiń
Pracując nad aplikacjami często niezbędna będzie nam lokalna baza danych. Jako programiści .Net z pewnością regularnie, choć nie zawsze, będziemy korzystać z MSSQL. Powoduje to jednak bałagan w naszym systemie, który trzeba będzie później uporządkować. Tu z pomocą przychodzi nam Docker. Pozwala on nam na stawianie baz danych (w tym MSSQL) w kontenerach, które możemy w późniejszym czasie po prostu usunąć, nie martwiąc się o zaśmiecanie naszego komputera. Jak uruchomić taką bazę...
Bazy danych i XML 2663 dni, 9 godzin, 45 minut temu 117 źrodło rozwiń
Dzisiaj omówię pokrótce, czym jest i jak używa się Bitbucket Pipelines. Jest to narzędzie do Continous Integration wbudowane w Bitbucket dostępne dla każdego, choć darmowa wersja daje nam jedynie 50 minut na budowanie naszych aplikacji. Pipelines jest oparte o obrazy dockerowe, których używa do budowania aplikacji. Jedyne czego tak naprawdę potrzebujemy to plik .yaml, który zawiera zestaw instrukcji, które Pipelines ma wykonać – takich jak wybranie odpowiedniego obrazu dockero...
Architektura 2667 dni, 9 godzin, 46 minut temu 99 źrodło rozwiń
Ostatnie dwa posty wyszły nieco dłuższe niż zakładałem, więc dzisiaj będzie krócej. Stworzymy Azure Web App, na który następnie wrzucimy kod naszej aplikacji ASP.Net Core. Pominę część teoretyczną, ponieważ można ją znaleźć choćby tutaj i przejdę od razu to przykładu:Azure Web App Na potrzeby artykułu zakładam, że każdy posiada już konto na Azure oraz co najmniej subskrypcję Microsoft Imagine dla studentów, która pozwala na tworzenie Azure Web App. Aby utworzyć naszą aplikac...
Some guidance how you can introduce CQRS to your project, step by step.
Sztuka programowania 2671 dni, 9 godzin, 54 minuty temu 271 źrodło rozwiń
/ mkurpinski Ostatnio w projekcie tworzonym podczas praktyk spotkaliśmy się z wymaganiem, aby po trzech nieudanych próbach logowania pojawiała się reCaptcha, której poprawne wypełnienie umożliwia przeprowadzenie kolejnej próby. Po krótkim research’u na temat sposobu rozpoznawania użytkownika wybór padł na przypisywaniu do IP ilości niepoprawnych prób logowania. Z kilku możliwych sposobów przechowywania takiej informacji, postanowiliśmy wybrać in-memory caching. In-memory caching jest najprostszą we...
Posted on by krystiankolad W poprzednich dwóch postach poznaliśmy podstawy poruszania się w dockerowym świecie. Były to jednak dosyć proste przykłady, a my, przy własnych lub firmowych projektach, będziemy używali bardziej rozbudowanego kodu. Ale nie każdy jest w stanie albo chciałby, korzystać z nano lub vima przy pisaniu aplikacji ASP.Net Core. Jednak jak przenieść kod naszej aplikacji z naszego komputera do dockerowego kontenera? Oczywiście można pushować kod na repozytorium git(np github) oraz pobie...
Architektura 2680 dni, 39 minut temu 67 źrodło rozwiń