C# 8 Interfaces: Dangerous Assumptions in Default Implementation β οΈ
One of the features that is being promoted about C# 8 interfaces is that we can add members to an interface without breaking existing implementers. β
But we can cause a lot of pain if we aren't careful. π€·π»ββοΈ
Let's look at some code that makes bad assumptions so that we can understand the importance of avoiding these problems. βοΈ
[ Article ] : kutt.it/csdif
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#CSharp #Interfaces
@ProgrammingTip
One of the features that is being promoted about C# 8 interfaces is that we can add members to an interface without breaking existing implementers. β
But we can cause a lot of pain if we aren't careful. π€·π»ββοΈ
Let's look at some code that makes bad assumptions so that we can understand the importance of avoiding these problems. βοΈ
[ Article ] : kutt.it/csdif
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#CSharp #Interfaces
@ProgrammingTip
Telegram
Programming Tips Resources
Using the ReferenceAssemblies NuGet package to build .NET Framework libraries on Linux, without installing Mono π
In this post I show how you can build .NET projects that target .NET Framework versions on Linux, without using Mono! π€·π»ββοΈ
By using the new Microsoft.NETFramework.ReferenceAssemblies NuGet packages from Microsoft you don't need to install anything more than the .NET Core SDK! π₯
[ Article ] : kutt.it/coremono
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#CSharp #DotNet #AspCore #NetCore
@ProgrammingTip
In this post I show how you can build .NET projects that target .NET Framework versions on Linux, without using Mono! π€·π»ββοΈ
By using the new Microsoft.NETFramework.ReferenceAssemblies NuGet packages from Microsoft you don't need to install anything more than the .NET Core SDK! π₯
[ Article ] : kutt.it/coremono
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#CSharp #DotNet #AspCore #NetCore
@ProgrammingTip
Telegram
Programming Tips Resources
EasyCompressor π¦
EasyCompressor is an open-source compression abstraction library that supports and implements many compression algorithms such as Zstd, LZMA, LZ4, Snappy, Brotli, GZip and Deflate. π
It is very useful for using along with Distributed Caching or storing files in database. β
[ GitHub ] : github.com/mjebrahimi/EasyCompressor
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#Compression #CSharp #DotNet
@ProgrammingTip
EasyCompressor is an open-source compression abstraction library that supports and implements many compression algorithms such as Zstd, LZMA, LZ4, Snappy, Brotli, GZip and Deflate. π
It is very useful for using along with Distributed Caching or storing files in database. β
[ GitHub ] : github.com/mjebrahimi/EasyCompressor
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#Compression #CSharp #DotNet
@ProgrammingTip
Telegram
Programming Tips Resources
What is .NETβ
What's C# and F#β
What's the .NET Ecosystemβ
What can .NET buildβ
Learn what is .NET from Scott Hanselman! β
[ Youtube ] : https://www.youtube.com/watch?v=bEfBfBQq7EE
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#DotNet #CSharp
@ProgrammingTip
What's C# and F#β
What's the .NET Ecosystemβ
What can .NET buildβ
Learn what is .NET from Scott Hanselman! β
[ Youtube ] : https://www.youtube.com/watch?v=bEfBfBQq7EE
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#DotNet #CSharp
@ProgrammingTip
YouTube
What is .NET? What's C# and F#? What's the .NET Ecosystem? .NET Core Explained, what can .NET build?
What is .NET? What is C# and F#? What is .NET Core? What's the .NET Ecosystem? What can you build? You have questions and we have answers. More videos at http://dot.net/videos
Working with Expression Trees in C# π
Expression trees is an obscure, although very interesting feature in .NET. Most people probably think of it as something synonymous with object-relational mapping frameworks, but despite being its most common use case, itβs not the only one. There are a lot of creative things you can do with expression trees, including code generation, transpilation, metaprogramming, and more.
In this article I will give an overview of what expression trees are and how to work with them, as well as show some interesting scenarios where Iβve seen them used to great effect. β
[ Article ] : kutt.it/exptree
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#CSharp #Expressions
@ProgrammingTip
Expression trees is an obscure, although very interesting feature in .NET. Most people probably think of it as something synonymous with object-relational mapping frameworks, but despite being its most common use case, itβs not the only one. There are a lot of creative things you can do with expression trees, including code generation, transpilation, metaprogramming, and more.
In this article I will give an overview of what expression trees are and how to work with them, as well as show some interesting scenarios where Iβve seen them used to great effect. β
[ Article ] : kutt.it/exptree
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#CSharp #Expressions
@ProgrammingTip
Telegram
Programming Tips Resources
Proto.Actor π
Cross-platform actors for .NET, Go, Java and Kotlin. β‘οΈ
The Actor Model provides a higher level of abstraction for writing concurrent and distributed systems. It alleviates the developer from having to deal with explicit locking and thread management, making it easier to write correct concurrent and parallel systems. β¨
Features β :
β’ Simple Concurrency & Distribution
β’ Extreme Performance
β’ Resilient by Design
β’ Built on standards
β’ Virtual Actors
β’ Distributed by Default
β’ Supervision & monitoring
β’ Communications on gRPC
[ Website ] : https://proto.actor
[ Github ] : https://github.com/AsynkronIT/protoactor-dotnet
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#Actor #ActorModel #CSharp #Go #Kotlin
@ProgrammingTip
Cross-platform actors for .NET, Go, Java and Kotlin. β‘οΈ
The Actor Model provides a higher level of abstraction for writing concurrent and distributed systems. It alleviates the developer from having to deal with explicit locking and thread management, making it easier to write correct concurrent and parallel systems. β¨
Features β :
β’ Simple Concurrency & Distribution
β’ Extreme Performance
β’ Resilient by Design
β’ Built on standards
β’ Virtual Actors
β’ Distributed by Default
β’ Supervision & monitoring
β’ Communications on gRPC
[ Website ] : https://proto.actor
[ Github ] : https://github.com/AsynkronIT/protoactor-dotnet
γ°οΈγ°οΈγ°οΈγ°οΈγ°οΈγ°οΈ
#Actor #ActorModel #CSharp #Go #Kotlin
@ProgrammingTip
Telegram
Programming Tips Resources