Smart Enum Gdyby enumy miały metody Typy wyliczeniowe w C# są przydatne i przeważnie z jeden czy dwa przewijają się w każdym projekcie. Niestety prawie zawsze idą w parze z instrukcją switch, a to z kolei może wiązać się z łamaniem zasady otwarte-zamknięte z SOLID. Pomocny może być tu samoopisujący się enum, ale do tego musielibyśmy mieć możliwość definiowania w nim metod. Jest to możliwe w Javie, a w C# jeszcze nie, chyba że użyjemy biblioteki Smart Enum. Załóżmy, że istnieją u nas w k...
In this video, we're going look at how JIT folds constants and optimizes functions buy inlining and then folding them. We shall also see a couple of examples where the compiler will refuse to fold code that would seem to be easy to fold. Note: At (8:30) I've made an editing error and the music gets very loud for ~10s and then it goes back down to normal volume, sorry about that. ♦ link to shift trick video: https://youtu.be/VxiZ7tV-XkM
Sztuka programowania 871 dni, 22 godziny, 32 minuty temu 10 źrodło rozwiń
Omówienie ogólnych zasad jak powinno używać się wyjątków w C#.
Sztuka programowania 876 dni, 22 godziny, 50 minut temu 211 źrodło rozwiń
This video is the start of a brand-new video series about JIT compilation in C# called: "What the JIT". This time we're going to look at simple integer arithmetic like division and multiplication and how JIT is able to optimize that.
Sztuka programowania 877 dni, 22 godziny, 54 minuty temu 25 źrodło rozwiń
LukaszPosted on This is a short interview with Vladimir Khorikov. Vlad is the Author of Unit Testing Principles, Practices, and Patterns book. He’s running https://enterprisecraftsmanship.com/ blog since 2014 The blog is focused on Domain-Driven Design, functional programming, enterprise software development patterns, and best practices. Vlad is also the author of Pluralsight courses, such as CQRS in Practice, Domain-Driven Design in Legacy Projects, Functional Programming in C#, and many more. In t...
Sztuka programowania 879 dni, 26 minut temu 28 źrodło rozwiń
This video talks about a very cool concept called "value delegates." We will learn what they are, how to apply it to LINQ to decrease allocations to zero, and inline the delegate itself.
Sztuka programowania 884 dni, 22 godziny, 41 minut temu 31 źrodło rozwiń
This video talks about the "Skip" method, and differences in implementation between dotnet frameworks. Also, we will try to implement a less flexible but faster version of the "Skip" method. Enjoy. 🙂
Sztuka programowania 885 dni, 23 godziny, 1 minutę temu 30 źrodło rozwiń
Sztuka programowania 889 dni, 22 godziny, 49 minut temu 51 źrodło rozwiń
We are already in the second half of 2020 and a lot of books related to .NET technology have been published. I decided to collect these positions in one place for you. I will mention here some of them that get the best reviews and seem worth reading in my opinion.
This video corrects a couple of mistakes that were made in my previous video called "C# LINQ Performance Tips #1". We're talking about structs vs classes in LINQ and why losing concrete type information is bad, there's also a bit of VSD but it's very vague and generic so the more specific video is needed, I just wanted to tell you that it exists :) and it's important. Enjoy.
Sztuka programowania 892 dni, 20 godzin, 56 minut temu 34 źrodło rozwiń
This video will show you some of the performance and allocation problems that you might encounter when writing LINQ expressions and offer a couple of solutions on how to solve them. LINQ Links: ♦ https://github.com/NetFabric/LinqBenchmarks ♦ https://github.com/NetFabric/NetFabric.Hyperlinq
Sztuka programowania 899 dni, 22 godziny, 31 minut temu 55 źrodło rozwiń
[EN] This video will show you some of the hidden keywords and undocumented features in dotnet C#, like the mysterious "__makeref" keyword as well as other features that are less known like array initializers, etc. [PL] Film pokazujący ukryte słowa kluczowe, które znajdują się z języku C# oraz kilka innych mało znanych funkcjonalności takich jak inicjalizatory kolekcji etc.
Sztuka programowania 899 dni, 17 godzin, 18 minut temu 86 źrodło rozwiń
Asynchroniczny C# : ThreadPool, IAsyncResult, Task API i Async
Sztuka programowania 911 dni, 22 godziny, 48 minut temu 188 źrodło rozwiń
Creating music app using azure functions
This video is an introduction to bit hacks; we're going to visualize bit hack expressions and learn how to construct and apply them. This video is a direct response to a previous video about bit hacks (https://youtu.be/OPFJUpdCq0I) that was too complicated to an introduction, so this video is here to fill this need. I also have an article about the same topic that goes into more detail about the examples presented here, plus it contains a more bit hacks. https://leveluppp.ghost.io/bit-hacks-in-c/ Enj...
Sztuka programowania 941 dni, 23 godziny, 2 minuty temu 22 źrodło rozwiń
Bit hacks are an incredibly powerful tool in every developer's toolbox. When used correctly, they can bring simplicity, performance, scalability, and even be used for compact data representation in probabilistic Data Structures. The downside is that they are hard to understand, need a lot of testing, and in a lot of cases, they aren't portable since these operations will have different outcomes on different hardware architectures. Don't worry. I'm here to help. In this article, we will be discussing t...
Sztuka programowania 946 dni, 22 godziny, 43 minuty temu 128 źrodło rozwiń
This is a lecture about data and instruction level dependencies in high level languages like C#, Java etc. There's a lot of knowledge on the internet about this very topic but this is mostly reserved for ASM, C/C++ and hidden in CPU manuals.This is my attempt to introduce this subject to a broader audience. Sources: https://github.com/badamczewski/DataOrientedDesign/blob/master/DoDSamples/Samples/InstructionLevelDependency.cs Link to Branch Prediction lecture that's mentioned in the video: https://www....
Sztuka programowania 947 dni, 22 godziny, 31 minut temu 21 źrodło rozwiń
How to keep two different types in synchronization using roslyn analyzers.
Our teams, at Altkom Software & Consulting, are using the Camunda BPM platform successfully in many projects for over 5 years. We designed, built, and deployed solutions based on Camunda in the financial and insurance industries allowing our customers to digitize their business and deliver business value faster, directly to their customers. Five years ago Camunda was a novelty, now it is well known and established platforms, one of the leaders in the workflow automation area, but most of the projects...
Architektura 962 dni, 23 godziny, 5 minut temu 67 źrodło rozwiń
NET 5 jeszcze się piecze, ale pobawić się już można. Jednym z włączalnych feature'ów jest cache związany z obiektami wspierającymi ValueTaski. Jak to działa pod spodem, czyli krótka historia głębokiego przeglądu kodu związanego z tym featurem. Zapraszam.
Sztuka programowania 968 dni, 20 godzin, 52 minuty temu 91 źrodło rozwiń