Strona głównaUżytkownik

danielplawgo | użytkownik

danielplawgo
danielplawgo
8 926,31
1000 dni, 5 godzin, 50 minut temu
15 kwietnia, 2009
dotnetomaniak.pl

Kilka miesięcy temu miała swoją premierę kolejna wersja .NET, a wraz z nią również kolejna wersja Entity Framework Core. W tym wpisie chciałbym się skupić na jednej z nowości, która została dodana do Entity Framework Core, a jest nią obsługa mechanizmu Temporal Tables z SQL Server. O mechanizmie tym pisałem już kiedyś w kontekście zwykłego Entity Framework, który nie miał dla niego wsparcia. Od wersji 6 Entity Framework Core mamy oficjalne wsparcie dla Temporal...

Źródło: plawgo.pl
Dziel się z innymi:
EF Core 6 Temporal Tables - PROGRAMUJE .NET - Daniel Plawgo

Bazy danych i XML 997 dni, 2 godziny, 10 minut temu danielplawgo 167 źrodło rozwiń

Podstawy Terraforma i konfiguracji środowiska mamy już za sobą, więc możemy przejść do bardziej rozbudowanego przykładu. W tym wpisie zobaczysz, w jaki sposób przygotować infrastrukturę pod prostą aplikację webową działającą w Azure. Z wykorzystaniem Terraforma utworzymy takie zasoby jak App Service Plan, czy bazę danych.Zmienne Terraform W poprzednim wpisie pokazałem, w jaki sposób zacząć przygodę z Terraform i Azure. Jeśli nie czytałeś/czytałaś to zachęcam d...

Źródło: plawgo.pl
Dziel się z innymi:
Terraform i Azure - przykład - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1109 dni, 3 godziny, 44 minuty temu danielplawgo 62 źrodło rozwiń

W poprzednim artykule wprowadziłem Cię w tematykę Infrastructure as Code. Pokazałem Ci, czym jest ten proces, jakie są jego plusy oraz minusy. Natomiast w tym wpisie skupimy się już na czymś bardziej praktycznym. Pokażę Ci, jak zacząć pracę z Terraform (Azure) i utworzymy pierwszy prosty zasób z wykorzystaniem kodu. W kolejnym wpisie natomiast stworzymy bardziej rozbudowany przykład.Terraform Terraform (https://www.terraform.io/) jest jednym z rozwiązań Infras...

Źródło: plawgo.pl
Dziel się z innymi:
Terraform i Azure - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1141 dni, 4 godziny, 59 minut temu danielplawgo 90 źrodło rozwiń

Posted on przez Daniel PlawgoWprowadzenie Od wielu lat złożoność systemów systematycznie rośnie. Gdy zaczynałem swoją zawodową przygodę z programowaniem w .NET w okolicach 2007, większość systemów była bardzo prosta. Był to na ogół Windows Server z IIS oraz baza danych MS SQL Server. Aktualnie, w szczególności w rozwiązaniach chmurowych, ilość używanych komponentów jest dość spora, nawet przy prostej aplikacji. Dlatego coraz większą popularność zdobywają rozwiązania Infrastructure as Code (IaC), któryc...

Źródło: plawgo.pl
Dziel się z innymi:
Infrastructure as Code - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1155 dni, 5 godzin, 10 minut temu danielplawgo 141 źrodło rozwiń

Posted on przez Daniel PlawgoWprowadzenie W poprzednim wpisie z mini serii o tworzeniu aplikacji multi tenant pokazałem Ci, w jaki sposób można określić, z jaką organizacją aktualnie pracujemy. Kolejnym problemem, jakim się zajmiemy, jest sposób przechowywania danych. Dwa najczęściej używane podejście to dedykowana baza danych dla każdej organizacji oraz trzymanie wszystkiego w jednej bazie. W tym wpisie zajmę się pierwszym podejściem, natomiast w innym omówię drugie podejście.Plusy dedykowanych baz da...

Tagi: multitenant
Źródło: plawgo.pl
Dziel się z innymi:
Multi Tenant - jedna baza danych per tenant - PROGRAMUJE .NET - Daniel Plawgo

Architektura 1282 dni, 4 godziny, 1 minutę temu danielplawgo 92 źrodło rozwiń

Jednym ze standardowych elementów prawie każdej aplikacji jest walidacja danych. Również Blazor ma wbudowane mechanizmy do walidacji danych, na przykład z wykorzystaniem atrybutów DataAnnotation. W tym wpisie będę chciał pokazać Ci, w jaki sposób wyświetlić w Blazor błędy walidacji pochodzące z Web API.Gdzie walidować dane? Na początku chciałbym się zastanowić nad tym, gdzie powinniśmy zrealizować walidację danych. W przypadku Blazora (czy innej dowolnej techn...

Tagi: Blazor, web api
Źródło: plawgo.pl
Dziel się z innymi:
Blazor - walidacja - Web API - PROGRAMUJE .NET - Daniel Plawgo

Web 1289 dni, 4 godziny, 18 minut temu danielplawgo 82 źrodło rozwiń

Trzy tygodnie temu opublikowałem pierwszy wpis z mini serii poświęconej tworzeniu aplikacji multi tenant. Tamten wpis dotyczył wprowadzenie w temat, gdzie głównie skupiłem się na plusach i minusach tego rozwiązania. W tym natomiast zajmiemy się pierwszym problemem, który musimy rozwiązać, a jest nim sposób określenia, z jakim tenantem aktualnie mamy do czynienia.Jak określić tenanta? Jednym z pierwszych problemów, jaki musimy rozwiązać, jest sposób określenia ...

Tagi: multitenant
Źródło: plawgo.pl
Dziel się z innymi:
Multi tenant - określenie tenanta - PROGRAMUJE .NET - Daniel Plawgo

Architektura 1301 dni, 5 godzin, 4 minuty temu danielplawgo 143 źrodło rozwiń

Praktycznie w każdej aplikacji webowej, wcześniej czy później, będziemy potrzebowali obsłużyć uwierzytelnianie użytkowników. Dlatego fajnie, że tworząc nowy projekt w Visual Studio, możemy dodać do niego obsługę uwierzytelniania oraz widoki, które to realizują. Na ogół z czasem chcemy je zmodyfikować, aby były spójne z projektem graficznym samej aplikacji. Czasami również chcemy je rozszerzyć o jakieś dodatkowe funkcjonalności. Wcześniej tej proces był trochę ...

Źródło: plawgo.pl
Dziel się z innymi:
Modyfikowanie widoków identity w ASP.NET Core - PROGRAMUJE .NET - Daniel Plawgo

Web 1309 dni, 4 godziny, 57 minut temu danielplawgo 90 źrodło rozwiń

Na blogu pojawiło się już kilka wpisów poświęconych Postmanowi, który jest genialnym narzędziem do testowania Web API. Używam go praktycznie każdego dnia. Natomiast w dzisiejszym wpisie chciałbym Ci pokazać alternatywę (a tak naprawdę fajne uzupełnienie) Postmana. Jest nim dodatek REST Client do Visual Studio Code. Podobnie jak Postman, REST Client umożliwia wykonywanie żądań HTTP do serwera. A największą różnicą jest to, że zamiast graficznego interfejsu użytk...

Źródło: plawgo.pl
Dziel się z innymi:
Visual Studio Code REST Client - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1316 dni, 3 godziny, 10 minut temu danielplawgo 130 źrodło rozwiń

Większość aplikacji, jakie tworzymy, to tak zwane aplikacje single tenant. Czyli mamy jedną instancję aplikacji dla pojedynczego klienta/firmy/organizacji, lub w ogóle nie myślimy o takich rzeczach na poziomie samej aplikacji. Gdy pojawia się druga firma, to po prostu stawiamy dla niej nową instancję i wszyscy są zadowoleni. Są natomiast sytuacje, w których taki model działania aplikacji nie sprawdzi się. Na przykład w aplikacjach SaaS (software as a service) ...

Tagi: multitenat
Źródło: plawgo.pl
Dziel się z innymi:
Aplikacja multi tenant - PROGRAMUJE .NET - Daniel Plawgo

Architektura 1322 dni, 4 godziny, 52 minuty temu danielplawgo 73 źrodło rozwiń

Używanie kontenerów bardzo ułatwia lokalne programowanie. W szczególności gdy nasz projekt jest rozbudowany i wykorzystuje różne elementy infrastrukturalne, takie jak baza danych, storage, kolejki i tym podobne rzeczy. Dzięki dockerowi możemy w kilka chwil postawić lokalne środowisko do pracy bez konieczności spędzania długich godzin na instalowaniu niezbędnych komponentów. W tym wpisie pokażę Ci, w jaki sposób postawić w dockerze SQL Server, jak go skonfigurow...

Źródło: plawgo.pl
Dziel się z innymi:
SQL Server i Docker - PROGRAMUJE .NET - Daniel Plawgo

Bazy danych i XML 1330 dni, 4 godziny, 52 minuty temu danielplawgo 145 źrodło rozwiń

W poprzednim wpisie pokazałem, w jaki sposób za pomocą biblioteki Scrutor dodać do wbudowanego kontenera dependency incjection w .NET Core/.NET 5 automatyczną rejestrację typów. Scrutor poza skanowaniem udostępnia również możliwość rejestrowania dekoratorów, za pomocą których możemy nawet w sposób dynamiczny konfigurować zachowanie typów w naszej aplikacji. A to wszystko bez zmiany kodu typu, do którego będziemy dodawali zachowanie.Wzorzec dekorator Dekorator ...

Źródło: plawgo.pl
Dziel się z innymi:
Scrutor użycie dekoratora - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1344 dni, 4 godziny, 28 minut temu danielplawgo 122 źrodło rozwiń

Od wielu lat wykorzystuję kontener Autofac do wstrzykiwania zależności. Najbardziej przypadła mi do gustu możliwość automatycznej rejestracji typów, dzięki czemu jedną linijką w kodzie można zarejestrować i skonfigurować całą rodzinę typów (implementującą na przykład jakiś interfejs). Gdy zaczynałem pracę z .NET Core, automatyczna rejestracja typów była jedną z rzeczy, której brakowało mi w domyślnym kontenerze. Na szczęście biblioteka Scrutor uzupełnia ten bra...

Źródło: plawgo.pl
Dziel się z innymi:
Scrutor automatyczna rejestracja typów - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1350 dni, 4 godziny, 35 minut temu danielplawgo 90 źrodło rozwiń

Możemy spotkać różne sposoby organizacji projektów w repozytoriach. Niektórzy preferują podejście monorepo, w którym wiele różnych projektów/aplikacji znajduje się w tym samym wspólnym repozytorium. Innym podejściem jest multirepo, gdzie dla każdego projektu/aplikacji tworzymy dedykowane repozytorium. Jednym z problemów pierwszego podejścia jest optymalizacja budowania aplikacji w procesie CI/CD, bo nie chcemy budować wszystkich projektów w repozytorium, w mom...

Tagi: Azure DevOps
Źródło: plawgo.pl
Dziel się z innymi:
Azure DevOps path filters - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1358 dni, 4 godziny, 57 minut temu danielplawgo 44 źrodło rozwiń

Posted on przez Daniel PlawgoWprowadzenie W jednym z wcześniejszych wpisów pokazałem, w jaki sposób wysłać wiadomość email z wykorzystaniem SendGrida. Wspomniałem również, że umożliwia on otrzymywanie zdarzeń o zmianie statusu wysłanej wiadomości. Możemy otrzymać takie informacje jak dostarczenie wiadomości, otworzenie przez użytkownika, kliknięcie w link. W tym wpisie pokażę Ci, jak otrzymywać te zdarzenia w C#.SendGrid Webhook W panelu konfiguracyjnym SendGrida możemy skonfigurować webhooka, za pomo...

Źródło: plawgo.pl
Dziel się z innymi:
SendGrid - Webhook - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1365 dni, 4 godziny, 43 minuty temu danielplawgo 76 źrodło rozwiń

Zdarza się, że potrzebujemy dostać się do jakiejś usługi działającej na komputerze lokalnym z sieci zewnętrznej – na przykład podczas testowania integracji z webhookami wysyłanymi między innymi przez takiego SendGrida. O ile mamy publiczne IP i możemy skonfigurować przekierowanie portów, to nie jest to jakoś mocno problematyczne. Gorzej jak pracujemy w biurze i doproszenie się o to administratorów graniczy z cudem. W takiej sytuacji z pomocą przychodzi tytułowy...

Tagi: HTTP, HTTPS, WebHooks
Źródło: plawgo.pl
Dziel się z innymi:
ngrok - tunelowanie ruchu - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1372 dni, 4 godziny, 12 minut temu danielplawgo 98 źrodło rozwiń

Tworząc systemy, staram się jak najwięcej korzystać z gotowych rozwiązań. Szczególnie w przypadku elementów, które są poboczne w rozwiązaniu, które tworzę, a jednak są wymagane do poprawnego działania aplikacji. Przykładem takiego elementu systemu jest wysyłka wiadomości email. Prawie każda aplikacja wysyła wiadomości email, a twórcy takich systemów jak SendGrid za drobną opłatą zrobią to dużo lepiej niż my.SendGrid SendGrid jest popularną usługą, która służy ...

Tagi: email, SendGrid
Źródło: plawgo.pl
Dziel się z innymi:
SendGrid - wysyłka email - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1379 dni, 22 godziny, 41 minut temu danielplawgo 100 źrodło rozwiń

Jedną z nowości, jaka pojawiła się w Entity Framework Core 5 jest obsługa relacji wiele do wielu bez konieczności dodawania klasy dla tabeli łączącej. Trochę to zajęło, szczególnie, że było to dostępne w zwykłym Entity Framework. Jednak, co istotne, systematycznie są dodawane kolejne rzeczy do Entity Framework Core. Bardzo fajne jest to, że z relacji możemy korzystać na dwa sposoby, o czym w tym wpisie 🙂Relacja wiele do wielu Relacje wiele do wielu realizuje ...

Źródło: plawgo.pl
Dziel się z innymi:
EF Core 5 relacja wiele do wielu - PROGRAMUJE .NET - Daniel Plawgo

Bazy danych i XML 1387 dni, 1 godzinę temu danielplawgo 123 źrodło rozwiń

Tworząc aplikację, na ogół zależy nam na tym, aby działała jak najszybciej. Spędzamy często wiele godzin na tym, aby zoptymalizować jej działanie. Ale sporadycznie pojawiają się sytuacje, kiedy musimy sztucznie ograniczyć ilość operacji. Na przykład API, z którego korzystamy, umożliwia wykonanie tylko ograniczonej ilości żądań w jednostce czasu. Biblioteka RateLimiter, o której mowa w tym wpisie, właśnie umożliwia zrealizowanie czegoś takiego w aplikacji .NET....

Tagi: HTTP, ratelimiter
Źródło: plawgo.pl
Dziel się z innymi:
RateLimiter limitowanie ilości żądań - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1393 dni, 3 godziny, 52 minuty temu danielplawgo 126 źrodło rozwiń

W poprzednim wpisie pokazałem, w jaki sposób tworzyć automatyczne testy API w karate. Uruchamiałem je lokalnie z poziomu Visual Studio oraz wiersza poleceń. Ale największą ich zaletą jest automatyczne uruchamianie podczas procesu CI/CD. Zobacz, w jaki sposób to zrobić na przykładzie Azure DevOps.Karate i Azure DevOps Automatyczne wykonywanie testów karate w Azure DevOps nie jest skomplikowane. Jest nawet prostsze niż w przypadku wykonywania testów Postmana. Ni...

Źródło: plawgo.pl
Dziel się z innymi:
Karate - uruchamianie testów w Azure DevOps - PROGRAMUJE .NET - Daniel Plawgo

Narzędzia 1398 dni, 18 godzin, 4 minuty temu danielplawgo 65 źrodło rozwiń

1 2 3 4 5... 10 11