W poprzednim poście pisałem o bibliotece FluentValidation i jak ją dodać do naszego projektu. W tym poście skupimy się na bardziej zaawansowanych funkcjonalnościach, jakie nam ta biblioteka udostępnia: - Walidacja złożonych właściwości (manualna i automatyczna) - Wspólny walidator właściwości - Walidacja listy - Własny komunikat błędu walidacji - Wspólne walidatory - Warunki walidacji - Reguły zależne od siebie - Wywołanie zwrotne - Asynchroniczna walidacja
Odcinek 2 podsumowania świata .NET w 2020. Dziś wyjątkowo krótki, bo niektórzy mają ferie i myślą o śniegu, a nie o programowaniu :D
Czy zrozumienie przepisu kuchennego jest trudne? Czy jest trudniejsze od napisania go? Czy zrozumienie przepisu kuchennego sprzed trzydziestu lat jest trudniejsze od zrozumienia przepisu sprzed tygodnia? Czytanie kodu źródłowego jest trudniejsze, niż jego pisanie. Dlaczego?
Sztuka programowania 1748 dni, 10 godzin, 58 minut temu 121 źrodło rozwiń
Delta Lake zdobywa ostatnio coraz większa popularność. Słychać o nim na konferencjach na całym świecie. W tym artykule przyjrzymy się jakie problemy rozwiązuje.Spis treścihide1Co to Delta Lake?2Jupyter + Delta Lake3Przygotowanie danych4Bez Delta Lake5Z Delta LakeHistoria i podróże w czasieZarządzanie schematemVacuumDelta Lake APIDeleteUpdateMergeStreaming Sink6Co jest pod maską?7RepoCo to Delta Lake? Delta Lake to nakładka na Apache Spark. Pełni rolę warstwy persystencji i gwarantuje ACID na HDFS, S3, A...
Bazy danych i XML 1748 dni, 10 godzin, 58 minut temu 52 źrodło rozwiń
W nowym wpisie czas na kolejny etap: Pipelines (wcześniej nazywane Builds), czyli budowanie aplikacji. Zaczynamy!
Po długiej przerwie wracamy do nowości ze świata .NET. Przepraszam, że przez pół roku nic się nie działo, ale sprawy osobiste i zawodowe przeważyły i nie wyrabiałem się z czasem. Mam nadzieję, że to już za mną i regularnie będę mógł dostarczać Ci ciekawostek :)
W prawie każdym projekcie jest potrzebna jakaś walidacja danych. Klasy służące do walidacji można napisać samemu, ale można również skorzystać z gotowych bibliotek. Najbardziej lubię FluentValidation. Jest to biblioteka, która ułatwia tworzenie „walidatorów” – klas zawierających reguły walidacji.
Dzisiejszy odcinek o jednej z fajnieszych funkcjonalności usługi Azure Monitor do monitorowania wydajności oraz logowania w waszych aplikacjach. Jeśli tworzyliście aplikacje które korzystają z wielu serwisów to na pewno już sami zauważyliście, że stworzenie spojnego logu jest pewnym wyzwaniem. Dzięki usłudze Azure Application Insights to wyzwanie staje się o wiele mniej skomplikowane.
Boilerplate to kawałek kodu, który w szybki sposób pomaga wystartować pisanie kodu. Pewnego rodzaju szablon. Zamiast startować z pustym projektem i dodawać za każdym razem od nowa te same cegiełki, możemy posłużyć się boilerplatem, który te cegiełki już zawiera. Ostatnimi czasy kilka razy tworzyłem od początku aplikację w .NET Core, a w ramach tej aplikacji odpowiedni zestaw projektów oraz komponentów. Za każdym razem schemat postępowania był bardzo podobny – w jednym projekcie API, w kolejnym projekcie...
Architektura 1755 dni, 12 godzin, 10 minut temu 247 źrodło rozwiń
Ngrok to mała aplikacja, która umożliwia tunelowanie ruchu. Przydatne wtedy, kiedy istnieje potrzeba wystawienia “czegoś” publicznie na świat. Tym “czymś” może być strona www, aplikacja, serwer. Działa to w następujący sposób: uruchomiona aplikacja ngrok.exe łączy się z chmurą ngrok, która akceptuje ruch na publicznym adresie. Otrzymany ruch z publicznego adresu przekazuje do procesu ngrok.exe uruchomionego na naszym komputerze, który dalej przekazuje owy ruch do lokalnej aplikacji/serwera.
Przemysław Walkowski Na początku stycznia napisałem taki zaczepny tekst o tym co zrobić jak nie można dostać podwyżki. Był to taki mój autorski pomysł, dość kontrowersyjny. W czasie wymyślania tamtego pomysłu, wymyśliłem też inny pomysł na to jak można bardziej zmotywować programistów do szybszej pracy a jednocześnie też jak lepiej wyceniać czas pracy nad danym zadaniem i nie doprowadzać do sytuacji wyciskania ostatnich potów z ludzi. Zapraszam na mój kolejny p...
Architektura 1755 dni, 12 godzin, 10 minut temu 145 źrodło rozwiń
I oto nastał 56. odcinek podcastu w którym to rozmawiamy o tym co ciekawego można znaleźć w projekcie. Czy nowa/stara technologia to jedyne co daje projekt? Czy może jest może coś jeszcze? 📨 Nasze poczynania możesz także śledzić innych stronach: ostrapila.pl/subskrybuj 📖 Plan na podcasty dostępny jest na trello: trello.com/b/yXGeD0Ud/tematy-podcastów. 💌 Możesz tam śmiało komentować przyszłe odcinki. Jeśli chcesz usłyszeć o czymś czego nie ma na liście zo...
Ostatnio było szybkie wprowadzenie, dzisiaj już jedziemy z koksem! Zaczniemy od utworzenia repozytorium w Azure DevOps.
Pimp your repo with GitHub Actions! Do you have a GitHub account with a repository? Improve it with GitHub Actions! GitHub Actions lets you build your own workflows triggered by all kinds of events from your repositories. If you go and check this website, it looks very promising. Let’s start with a build To start working with GitHub Actions, just go to Actions tab in your repository page. As my repo is built in .Net Core, I can choose this template that GitHub suggests me. After that, we will be ab...
Sztuka programowania 1759 dni, 10 godzin, 55 minut temu 82 źrodło rozwiń
Opinions, thoughts, solutions by Paweł Pindel on Azure Functions v2 stopped working after release of Azure Functions v3 Did you experience that problem? Because me and my team did. We spent a lot of time looking for solution which appears to be actually really simple. However, I couldn’t find Microsoft information about that in recent changelogs, blog posts etc. But let me explain what the reason was. It seems like before deployme...
Może się zdarzyć tak, że nasza aplikacja rzuci wyjątek, którego się nie spodziewaliśmy. Nie wygląda to dobrze, jeśli taki nieobsłużony wyjątek trafi do użytkownika. Dodatkowo, jeśli nie otrzymamy informacji o tym, że taki wyjątek wystąpił, trudno będzie nam go poprawić i nie dopuścić do jego powtórzenia. W związku z tym warto w naszej aplikacji dodać globalną obsługę wyjątków i ich logowanie. O tym, jak skonfigurować logowanie, pisałem tutaj i tutaj. W tym poście pokażę kilka sposobów na złapanie takich...
Sztuka programowania 1761 dni, 10 godzin, 53 minuty temu 279 źrodło rozwiń
Tym razem kolejna usługa czyli Azure Table Storage. Mała ale skalowalna usługa NoSQL, która idealnie sprawdza się do małych aplikacji oraz serverless. Jako, część usługi Storage Account otrzymujemy wszystkie dodatkowe korzyści takie jak geo-replikacja, bezpieczeństwo, skalowalność oraz wysoka dostępnosc oraz niskie koszty.
Elasticsearch można lubić lub nie. Fakty są takie, że robi robotę. Razem z Kibana, Logstash i Beats pozwalają w prosty sposób zbierać logi, metryki i przeprowadzać analizy w czasie rzeczywistym. Gdy potrzebujemy więcej, możemy chwycić za inne narzędzia. W tym wpisie przyjrzymy się jak połączyć Apache Spark i Elasticsearch. Psst! Repo z kodem na dole wpisu!😎Czemu Spark? Ostatnio zwrócił moją uwagę HELK, czyli rozwiązanie do analizy cyber oparte na Elastic Stack. Patrząc na jego architekturę, widzimy wy...
Bazy danych i XML 1761 dni, 10 godzin, 53 minuty temu 53 źrodło rozwiń
Czym jest refaktoring penetracyjny? Kiedy potrzebujesz naprawić buga lub zapoznajesz się z aplikacją, ale jeszcze nie wiesz jak ona dokładnie działa. Widzisz, że łatwiej Ci będzie zrefaktorować kawałek kodu, aby zrozumieć cały system. I jak już dojdziesz do etapu: “Aha, o to chodziło💡” masz 3 opcje co zrobić z tym refactorem. Odpowiedź i szczegółowe wyjaśnienie znajdziesz w 56 odcinku vloga “Refaktoring Penetracyjny”.
Sztuka programowania 1761 dni, 10 godzin, 53 minuty temu 121 źrodło rozwiń
Zgodnie z wyborem części z Was, która wzięła udział w ankiecie na twitterze, czas na nowe wpisy dotyczące Azure DevOps! Zacznijmy od szybkiego wprowadzenia!