Pierwszy raz kiedy spotkałem się z ‘flagami funkcjonalności’… Powiem szczerze – wyglądało to jak czarna magia. Jednoczesna możliwość dynamicznego zmieniania zachowań systemu napawała mnie obawą o zawodność rozwiązania. Przecież nie wiadomo, co się wydarzy kiedy konfiguracja funkcjonalności nie zostanie zaciągnięta. Istnieje możliwość przypadkowej zmiany flagi, co wpłynie na użyteczność systemu. Jak widać wiele może zawieść. Warto jednak zaryzykować, ponieważ korzyści jakie dają Feature Toggles są ogromn...
Różnica Pomiędzy ViewData, ViewBag oraz TempData
Sztuka programowania 1447 dni, 20 godzin, 6 minut temu 96 źrodło rozwiń
Teraz każdy chce być DevOps, pisać mikroserwisy, mieć autonomiczne zespoły. Tylko mam wrażenie, że prawo Conwaya i obciążenie poznawcze dużo częściej dobija projekty niż technologie. Regularnie zastanawiam się czy architekci oprogramowania w dzisiejszych czasach są potrzebni. Sam przez dłuższy czas wahałem się mocno nad tytułowaniem siebie tak. Naskrobałem nieśmiało wpis, który zatytułowałem przekornie "Architect Manifesto". https://event-driven.io/en/architect_manifesto/ Jest to mój pierwszy wpis po ...
Architektura 1450 dni, 19 godzin, 58 minut temu 132 źrodło rozwiń
W poprzednim artykule pokazałem w jaki sposób możemy użyć szablonów ARM do tworzenia infrastruktury w Azure, jako część podejścia Infrastructure as Code (IaC). W tym artykule chcę przedstawić kolejne narzędzie, które możemy w tym celu wykorzystać – Azure CLI.
Pierwszy wpis na temat Blazora na blogu pojawił się mniej więcej półtora roku temu. Po serii wpisów zostawiłem temat, ale bacznie się przyglądałem, jak Blazor się rozwija. A rozwija się bardzo fajnie. Myślę, że teraz przy okazji wydania .NET 5 warto wrócić do tematu i podsumować zmiany, które pojawiły się w ostatnim czasie.Blazor .NET 5 Stan Blazora w czasie pisania tamtych wpisów był taki, że wersja Serwer Side (kod wykonuje się po stronie serwera z komunikac...
Z reguły naszą logikę biznesową umieszczamy w klasach serwisowych. Czasem są one większe, a czasem mniejsze. Zastanówmy się, jak mógłby wyglądać nasz kod, gdybyśmy dla każdej metody z serwisu tworzyli osobną klasę. Wykorzystamy do tego bibliotekę MediatR. Jeśli ktoś się zastanawia po co, odpowiedź jest prosta: aby zwiększyć spójność i zmniejszyć sprzężenie. Na razie nie będziemy się zagłębiać w takie pojęcia jak CQRS czy CQS. Naszym celem jest rozbicie klas na mniejsze i zmiana tego, jak je wołamy. Po ty...
Sztuka programowania 1452 dni, 19 godzin, 58 minut temu 138 źrodło rozwiń
What are Probabilistic Data Structures: Bloom This video will introduce you to Probabilistic Data Structures, and we shall cover a data structure called a Bloom Filter that's used to do efficient membership testing (if X is present in set S)
Sztuka programowania 1452 dni, 19 godzin, 58 minut temu 18 źrodło rozwiń
Zbliża się oficjalnie okres przygotowania do świąt. Czas wyciągnąć za duże, czerwone swetry, kupić skrzynkę mandarynek i odbierać od kurierów paczki dla rodziny. Nie znaczy jednak, że można przestać się rozwijać – nauka zawsze się przyda, konkurencja nie śpi. Nie chcąc być całkowicie Grinchem to dziś prezentuje artykuł o trochę innych paczkach 😉 Czym byłoby pisanie aplikacji bez paczek? NPM, Gradle, Composer, Cargo – każdy szanujący się ekosystem posiada oprogramowanie do zarządzania paczkami, wersjami...
This article contains information about using Azure Active Directory credentials for login to Angular client-side with .Net core backend. This solution is based on JWT tokens (frontend and backend solutions can be on different hosts, so cookies auth methods by CORS policy is not the best choice in that case).
Sztuka programowania 1454 dni, 20 godzin, 10 minut temu 65 źrodło rozwiń
Testing shows the presence of errors in a product, but “cannot prove that there are no defects” – you probably know that quote. I remember so many hours spent on debugging those little, mean bugs hidding deeply in the code edge cases. But what’s worse, I remember even more hours trying to understand and reproduce an error that happens only in production environment. Here’s the first top 5 most popular issues I’ve met during last years...
W ubiegłym tygodniu przygotowałem ogólne podsumowanie zmian w .NET 5. Natomiast w tym wpisie przyszedł czas na bardziej szczegółowe zmiany w najnowszej wersji języka C# 9.0. Jest ich kilka, a największą jest wprowadzenie rekordów. Dla każdej zmiany przygotowałem interaktywny przykład, który możesz uruchomić bezpośrednio z poziomu bloga. Dzięki czemu szybko sprawdzisz, jak zachowa się kod aplikacji. Gorąco zachęcam do zmian w kodzie i własnych eksperymentów!Top...
Zapraszam do historii 3 PRów, które optymalizują jednego z klientów Ethereum, Nethermind. Zaczęło się niewinnie, od profilowania, a skończyło na przepisaniu implementacji cache'a.
Sztuka programowania 1460 dni, 20 godzin, 5 minut temu 59 źrodło rozwiń
Utrzymując w miarę równe tempo pisania (podkreślając “w miarę”), postanowiłem kontynuować tematy dotyczące Entity Framework. Jeśli komuś się wydaje, że sporo już o tym napisałem, to ucieszę (albo zmartwię) Was – jeszcze mnóstwo wiedzy do przekazania, więc zapnijcie pasy bo kontynuujemy naszą podróż. Większość aplikacji jest używana przez więcej niż jedną osobę. Zdarza się co prawda napisać szybką apke dla Pani Krysi z księgowości do przeliczania funduszy potrzebnych na owocowe czwartki. Jeśli to jest tw...
W ubiegłym tygodniu (10-12 listopada) odbyła się wirtualna konferencja .NET Conf, podczas której swoją oficjalną premierę miał nowy .NET 5. Odbyło się bardzo dużo różnych prezentacji, w których myślę, że każdy znajdzie coś ciekawego dla siebie. Natomiast w tym wpisie chciałem zebrać ciekawsze rzeczy związane z premierą .NET 5, C# 9.0, ale również z samą konferencją..NET 5 Głównym elementem konferencji oczywiście była premiera nowego .NET. Nowa wersja jest o ty...
Nowy artykuł, w którym chciałem pokazać nie tylko zalety pracy programisty, ale również wady - o których często zapominają osoby, które chcą pójść tą ścieżką. Zapraszam.
Sztuka programowania 1466 dni, 19 godzin, 46 minut temu 129 źrodło rozwiń
Witamy w 65. odcinku podcastu Ostra Piła. W tym odcinku poruszymy tematy Low Code oraz no code. Porozmawiamy o tym czy Low/No code to przyszłość i czy jest w stanie zastąpić tradycyjny sposób pisania oprogramowania. Omówimy też kilka dostępnych platform Low/No code i zobaczymy jakie możliwości dają dla programistów. Miłego słuchania.
Bardzo interesujący tydzień za nami! W końcu pojawił się .NET 5, a wraz z nim 3-dniowa konferencja pełna interesujących prelekcji! Kilka z nich było poświęcone projektowi Tye. Temat ten bardzo mnie zainteresował, więc postanowiłem samodzielnie spróbować użyć tego narzędzie. Efektem mojego eksperymentu jest wpis, który właśnie czytasz w Cesarstwie-Dev! Nie będę wchodził w techniczne szczegóły tego projektu, lecz pokażę kolejne efekty pierwszych kilku godzin pracy z Tye. Mam nadzieję, że jesteście równie z...
Sztuka programowania 1467 dni, 20 godzin, 37 minut temu 149 źrodło rozwiń
it was a very long run but finally, I got it. I am Microsoft 365 Certified: Enterprise Administrator Expert. Yesterday I passed the last missing exam 🙂 . In Microsoft world, you can earn certifications that show you are keeping pace with today’s technical roles and requirements. Microsoft has certification paths for many technical job roles.
This video will introduce you to a Data Structure called a Bit Set. While this is not a specific dotnet / C# topic it's a computer science topic and all of the animations were coded in C# :)
Sztuka programowania 1471 dni, 20 godzin, 38 minut temu 34 źrodło rozwiń
W tym wpisie zajmę się tematem, który mam wrażenie bardzo często jest pomijany. To może niestety prowadzić do poważnych konsekwencji (utraty danych lub ich niepoprawności), które ciężko będzie namierzyć. Zobaczysz, w jaki sposób można rozwiązać ten problem dzięki optymistycznej współbieżności w .NET Core.Problem? Wcześniej czy później natrafimy na problem, w którym dwóch użytkowników/dwa procesy, czy jakieś inne elementy, będą próbowały zmienić w tym samym cza...
Bazy danych i XML 1472 dni, 20 godzin, 44 minuty temu 161 źrodło rozwiń