aboutblogpodcastyoutubespeaking browse by category or datedotnet replComment on this post [6]Posted in Learning .NET Sponsored By Go get .NET 5 for Windows, Mac, or Linux, over at https://dotnet.microsoft.com/ Then install Jon Sequeria's "dotnet repl" with this one line global tool install:dotnet tool install --global dotnet-repl Then just type dotnet repl at the command line. Use the Windows Terminal ideally. That will drop you here! With .NET Interactive/.NE...
TL;DR: Everything you need to know about formatting plain text with Serilog.Expressions, by example. There are endless ways to format log output. With Serilog’s built-in “output templates”, you can choose the fields and text to include in log output, and use .NET format string-style alignment and width syntax, but that’s about it. Serilog.Expressions is a fairly new library that plugs in to enable everything else. This post collects the plain text formatting questions I’ve fielded over the years, and t...
The story behind creating my first general use, performance-first library.
Mika June 8th, 2021 The .NET Productivity team (aka. Roslyn) continues to enhance your developer productivity with the latest tooling updates in Visual Studio 2019. In the last release, we listened to your feedback and have been hard at work improving the .NET developer experience. To try out the latest .NET productivity enhancements download the latest Visual Studio release. Download Visual Studio 2019Tooling improvements The feature that I’m most excited about is Inheritance margin. Inheritance mar...
Rendering PDFs with Razor Templates and PuppeteerSharp in Azure Functions A couple of weeks ago, we looked at how to use Puppeteer with Node.js Azure Functions to take screenshots of web pages. Today, we'll look at how to render PDFs in Azure Functions using Razor and the C# port of Puppeteer, PuppeteerSharp. A common usage of this is generating something like an invoice. We'll create PDF invoices for our favorite fictitious online store, Tailwind Traders. Overview We'll run ASP.NET Core Razor Pages ...
Alexey GolubHomeBlogProjectsTalksMonadic Comprehension Syntax via LINQ in C#17 minutes to readdotnet, csharp, tricks If you ask a C# developer to list the reasons why they enjoy working with the language, they will most likely put LINQ somewhere at the top. LINQ is an extremely convenient set of language tools that provide ways to query and transform data sequences of arbitrary shapes and origins, in a fluent, lazy, and efficient manner. LINQ itself is made up of multiple pieces, but from the consumer ...
In this article, I'll show you some of the tricks I use to pimp up my Windows Terminal and PowerShell.
So, like me, you're using Windows. WSL isn't always reliable (e.g. VPN problems), yet you're working with Kubernetes and require autocomplete tools. I'm the same way :)
Coyote is .NET library and tool designed to help ensure that your code is free of concurrency bugs. Concurrency bugs are hard to find and reproduce as they often depends on non-deterministics things such as timeout or message ordering. For instance, if multiple threads are waiting for a locked object, which one will acquired it first?
HomeWorkshopsSpeakingMediaAboutContactSponsor Sponsored by: I've got 2 massive things to announce today that have been a long time in the works and by pure coincidence, have aligned such that I can share them together here today. One you would have been waiting for and one totally out of left field. Both these announcements are being made at a time where Pwned Passwords is seeing unprecedented growth: Getting closer and closer to the 1B requests a month mark for @haveibeenpwned's Pwned Passwords. 99.6...
Demitrius May 26th, 2021 We started a journey to build a native package manager for Windows 10 when we announced the Windows Package Manager preview at Microsoft Build 2020. We released the project on GitHub as an open-source collaborative effort and the community engagement has been wonderful to experience! Here we are today at Microsoft Build 2021… We are excited to announce the release of Windows Package Manager 1.0!Windows Package Manager 1.0Client The winget client is the main tool you will use ...
This week I'm continuing the documentation topic. I'm giving insight on how we're using Algolia in Event Store for advanced search in our docs. I explained the whole flow with samples scraping the data and automating it with Github Actions.
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...
Dziś będzie trochę o bazach danych. To nie tylko tabelki i operację CRUD, potrafią zrobić zdecydowanie więcej. Chciałbym dzisiaj przybliżyć możliwości biblioteki Entity Framework Core związaną z obsługą widoków.Czym jest widok? Zacznijmy od początku, czyli zdefiniowania czym jest widok. Zaglądając do wikipedi otrzymamy bardzo ładną definicję: Widok (perspektywa) to logiczny byt (obiekt), osadzony na serwerze baz danych. Umożliwia dostęp do podzbioru kolumn i wierszy tabel lub tabeli na podstawie zapyta...
ProgramowanieNapisz komentarz Dziś wstępnie przyjrzymy się tematowi, który nieśmiało zyskuje ostatnio popularność. Są to testy mutacyjne. W jaki sposób możemy testować nasze testy? Co nam to daje? Dlaczego testy mutacyjne są świetnym uzupełnieniem code coverage? Jak „za darmo” wygenerować nowe przypadki testowe dla naszego kodu? Jeśli zainteresowały Cię te pytania, zapraszam do lektury 😉 Spis treściCo to są testy mutacyjne?Code coverage vs testy mutacyjneNarzędzia do testów mutacyjnychCo nam dają test...
Tym razem już na pewno 71. odcinek podcastu a w nim temat, który wyniknął z rozmowy odnośnie architektur sterowanych zdarzeniami. Rozmawiamy o tym jak to się programowało dawno temu i czy było prościej. Zastanawiamy się czy R# lub też inne „pomagajki” sprawiają, że piszemy kod niechlujnie czy jednak jest to niezależne od tego w czym piszemy nasz kod. Miłego słuchania.
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 ...
In this blog post I’m going to share my experience on testing ASP.NET Core applications with applying unconventional method called snapshot assertions. In comparison to the classical approach this method should save you a lot of time and improve assertions maintainability.
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...