Service boundaries identification example in e-commerce ✅
The code residing in system services might be perfect, but it doesn’t really matter if service boundaries are identified incorrectly, since there is no Business-IT alignment, that both DDD and SOA are striving for. And it means inevitable project failure ... ❌
[ Article ] : kutt.it/BContext
〰️〰️〰️〰️〰️〰️
#DDD #BoundedContext #Architecture
@ProgrammingTip
The code residing in system services might be perfect, but it doesn’t really matter if service boundaries are identified incorrectly, since there is no Business-IT alignment, that both DDD and SOA are striving for. And it means inevitable project failure ... ❌
[ Article ] : kutt.it/BContext
〰️〰️〰️〰️〰️〰️
#DDD #BoundedContext #Architecture
@ProgrammingTip
Telegram
Programming Tips Resources
Event Modeling: What is it❓
Story telling is something that enables humans to pass knowledge on to subsequent generations and relies heavily on how we store memories - whether logical, visual, auditory or other. This is important because there is a parallel with how information systems were constructed. There is a “memory” of all your visits to the doctor. It’s the ledger of the forms that are filled in with each visit. 🧠
Specifications by example are a way to show how something is supposed to work. This can be seen in successful practices in software such as Behaviour Driven Development. This works well because we communicate by stories more effectively. It ties back to story telling as a way to keep information in society. Our brains are built for it more than they are built for flow-charts and other formats. ✅
[ Article ] : kutt.it/EventModel
〰️〰️〰️〰️〰️〰️
#EventModeling #EventStorming
@ProgrammingTip
Story telling is something that enables humans to pass knowledge on to subsequent generations and relies heavily on how we store memories - whether logical, visual, auditory or other. This is important because there is a parallel with how information systems were constructed. There is a “memory” of all your visits to the doctor. It’s the ledger of the forms that are filled in with each visit. 🧠
Specifications by example are a way to show how something is supposed to work. This can be seen in successful practices in software such as Behaviour Driven Development. This works well because we communicate by stories more effectively. It ties back to story telling as a way to keep information in society. Our brains are built for it more than they are built for flow-charts and other formats. ✅
[ Article ] : kutt.it/EventModel
〰️〰️〰️〰️〰️〰️
#EventModeling #EventStorming
@ProgrammingTip
Telegram
Programming Tips Resources
Understanding The Mindset of Event Sourcing 🧠
As Event Sourcing (ES) becomes more and more mainstream, usually bundled with DDD and CQRS, it's important for domain modellers, application architects and etc to understand the paradigm behind the recipe. ✅
In the 'classical' approach, the domain state is seen as a data structure or a collection of data structures (entities data). 🗂
In ES we see the domain state as a collection of changes. ♻️
You may wonder how we've got here and why this is the preferred way of working for many DDD practitioners ⁉️
[ Article ] : kutt.it/Es
〰️〰️〰️〰️〰️〰️
#EventSourcing
@ProgrammingTip
As Event Sourcing (ES) becomes more and more mainstream, usually bundled with DDD and CQRS, it's important for domain modellers, application architects and etc to understand the paradigm behind the recipe. ✅
In the 'classical' approach, the domain state is seen as a data structure or a collection of data structures (entities data). 🗂
In ES we see the domain state as a collection of changes. ♻️
You may wonder how we've got here and why this is the preferred way of working for many DDD practitioners ⁉️
[ Article ] : kutt.it/Es
〰️〰️〰️〰️〰️〰️
#EventSourcing
@ProgrammingTip
Telegram
Programming Tips Resources
Never Serve Raw Chicken! 🍗
The issue with raw chicken is that you might get sick from eating it. Chefs serving raw chicken are generally considered unprofessional. 🤷🏻♂️
That’s why professional chefs don’t deliver raw chicken. Professional chefs don’t want to harm their customers and their business. Professional chefs take pride in what they do! ✅
If the restaurant was a Scrum Team, the owner would be the Product Owner, the chefs would be the Development Team and the businesswoman would be their user.
The raw chicken burger would be an Increment of a product that isn’t done. Development Teams delivering Increments that aren’t “Done” are generally considered unprofessional.
[ Read More ] : kutt.it/raw-chicken
〰️〰️〰️〰️〰️〰️
#Scrum #Agile #DoD
@ProgrammingTip
The issue with raw chicken is that you might get sick from eating it. Chefs serving raw chicken are generally considered unprofessional. 🤷🏻♂️
That’s why professional chefs don’t deliver raw chicken. Professional chefs don’t want to harm their customers and their business. Professional chefs take pride in what they do! ✅
If the restaurant was a Scrum Team, the owner would be the Product Owner, the chefs would be the Development Team and the businesswoman would be their user.
The raw chicken burger would be an Increment of a product that isn’t done. Development Teams delivering Increments that aren’t “Done” are generally considered unprofessional.
[ Read More ] : kutt.it/raw-chicken
〰️〰️〰️〰️〰️〰️
#Scrum #Agile #DoD
@ProgrammingTip
Telegram
Programming Tips Resources
Bounded Context Canvas V3: Simplifications and Additions ✅
How do we break a large system into smaller, more manageable modular components? This article describing a workshop recipe you can use. 🗂
In Domain-Driven Design, a large system is decomposed into bounded contexts, which become natural boundaries in code as microservices and as teams in the organisation. 🏢
There is no shortcut to identifying good boundaries. Both a wide and deep knowledge of the business and domain is essential.
[ Article ] : kutt.it/bc-canvas
〰️〰️〰️〰️〰️〰️
#DDD #BoundedContext
@ProgrammingTip
How do we break a large system into smaller, more manageable modular components? This article describing a workshop recipe you can use. 🗂
In Domain-Driven Design, a large system is decomposed into bounded contexts, which become natural boundaries in code as microservices and as teams in the organisation. 🏢
There is no shortcut to identifying good boundaries. Both a wide and deep knowledge of the business and domain is essential.
[ Article ] : kutt.it/bc-canvas
〰️〰️〰️〰️〰️〰️
#DDD #BoundedContext
@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
Domain-Driven Design: A Recipe for a Pragmatist 🦒
Why are DDDs usually approached from the wrong side? And which side do you want? What do giraffes and platypuses have to do with all this?
In this article, I will tell you what Domain-Driven Design is and what is its essence.
[ Article ] : kutt.it/ddd-recipe
〰️〰️〰️〰️〰️〰️
#DDD
@ProgrammingTip
Why are DDDs usually approached from the wrong side? And which side do you want? What do giraffes and platypuses have to do with all this?
In this article, I will tell you what Domain-Driven Design is and what is its essence.
[ Article ] : kutt.it/ddd-recipe
〰️〰️〰️〰️〰️〰️
#DDD
@ProgrammingTip
Telegram
Programming Tips Resources
Blazor WebAssembly 3.2.0 now available 🚀
I’m thrilled to announce that Blazor WebAssembly is now officially released.
This is a fully-featured and supported release of Blazor WebAssembly that is ready for production use. ✅
Full stack web development with .NET is now here! ⚡️
[ Article ]: https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-now-available/
〰️〰️〰️〰️〰️〰️
#Blazor #DotNet #Core
@ProgrammingTip
I’m thrilled to announce that Blazor WebAssembly is now officially released.
This is a fully-featured and supported release of Blazor WebAssembly that is ready for production use. ✅
Full stack web development with .NET is now here! ⚡️
[ Article ]: https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-now-available/
〰️〰️〰️〰️〰️〰️
#Blazor #DotNet #Core
@ProgrammingTip
Bootstrap 5 alpha! 🎉
Bootstrap is one of the open source that many developers love, including me. So what do we expect of the new changes when Bootstrap 5 is released?
Features ✨:
• jQuery removed
• Updated forms
• Enhanced grid system
• CSS custom properties by dropping support for Internet Explorer
Comming soon: RTL, offcanvas, and more 💎
Head to https://v5.getbootstrap.com to explore the new release. 🔥
〰️〰️〰️〰️〰️〰️
#Bootstrap #CSS
@ProgrammingTip
Bootstrap is one of the open source that many developers love, including me. So what do we expect of the new changes when Bootstrap 5 is released?
Features ✨:
• jQuery removed
• Updated forms
• Enhanced grid system
• CSS custom properties by dropping support for Internet Explorer
Comming soon: RTL, offcanvas, and more 💎
Head to https://v5.getbootstrap.com to explore the new release. 🔥
〰️〰️〰️〰️〰️〰️
#Bootstrap #CSS
@ProgrammingTip
Getbootstrap
Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins.
The S.O.L.I.D Principles in Pictures 🤖
There are so many great articles online about SOLID but I rarely see any examples with pictures. This makes it a bit difficult for visual learners like me to learn while staying engaged.
So the main aim of this article is to get a better understanding of these principles using illustrations and emphasizing the goal for each principle. 🌈
[ Article ] : kutt.it/solid
〰️〰️〰️〰️〰️〰️
#SOLID #Principles
@ProgrammingTip
There are so many great articles online about SOLID but I rarely see any examples with pictures. This makes it a bit difficult for visual learners like me to learn while staying engaged.
So the main aim of this article is to get a better understanding of these principles using illustrations and emphasizing the goal for each principle. 🌈
[ Article ] : kutt.it/solid
〰️〰️〰️〰️〰️〰️
#SOLID #Principles
@ProgrammingTip
Telegram
Programming Tips Resources
Why I created another React component library 🌈
[ Article ] : https://kutt.it/ARC
[ Github ] : https://github.com/sha-el/sha-el-design
〰️〰️〰️〰️〰️〰️
#React #JavaScript
@ProgrammingTip
[ Article ] : https://kutt.it/ARC
[ Github ] : https://github.com/sha-el/sha-el-design
〰️〰️〰️〰️〰️〰️
#React #JavaScript
@ProgrammingTip
Telegram
Programming Tips Resources
Secrets of a .NET Professional 👾
In this post, we’ll go through technical and non-technical ideas that have helped me through some of my toughest projects.
[ Article ] : https://kutt.it/DotSec
〰️〰️〰️〰️〰️〰️
#DotNet
@ProgrammingTip
In this post, we’ll go through technical and non-technical ideas that have helped me through some of my toughest projects.
[ Article ] : https://kutt.it/DotSec
〰️〰️〰️〰️〰️〰️
#DotNet
@ProgrammingTip
Telegram
Programming Tips Resources
Awesome Microservices .NET Core Resources 😎
The best resources for Microservices in .NET Core 👾
[ Github ] : kutt.it/dotnet-aws
〰️〰️〰️〰️〰️〰️
#DotNet #DotNetCore #AspNetCore #Microservice
@ProgrammingTip
The best resources for Microservices in .NET Core 👾
[ Github ] : kutt.it/dotnet-aws
〰️〰️〰️〰️〰️〰️
#DotNet #DotNetCore #AspNetCore #Microservice
@ProgrammingTip
Telegram
Programming Tips Resources
PLURALSIGHT FREE WEEK IS HERE! 💎
In honor of our annual technology skills conference Pluralsight LIVE, we’re making our full library of video courses on machine learning, IT Ops, software development, security, cloud and more free for the week.
Sign up now to create your free Pluralsight account and get ready for your week of unlimited upskilling. 🔥
Your free Pluralsight access will expire Sunday, October 18th at 11.59 p.m. MT.
https://www.pluralsight.com/free
〰️〰️〰️〰️〰️〰️
#Pluralsight #Course
@ProgrammingTip
In honor of our annual technology skills conference Pluralsight LIVE, we’re making our full library of video courses on machine learning, IT Ops, software development, security, cloud and more free for the week.
Sign up now to create your free Pluralsight account and get ready for your week of unlimited upskilling. 🔥
Your free Pluralsight access will expire Sunday, October 18th at 11.59 p.m. MT.
https://www.pluralsight.com/free
〰️〰️〰️〰️〰️〰️
#Pluralsight #Course
@ProgrammingTip
Telegram
Programming Tips Resources
aspnetcore-developer-roadmap-printable.png
2.1 MB
ASP.NET Core Developer Roadmap in 2021 🚀
Github Repository:
https://github.com/MoienTajik/AspNetCore-Developer-Roadmap
Github Repository:
https://github.com/MoienTajik/AspNetCore-Developer-Roadmap
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
Why You Shouldn’t Use OFFSET and LIMIT For Your Pagination ❌
[ Article ] : kutt.it/paginate
〰️〰️〰️〰️〰️〰️
#SQL #Pagination
@ProgrammingTip
[ Article ] : kutt.it/paginate
〰️〰️〰️〰️〰️〰️
#SQL #Pagination
@ProgrammingTip
Telegram
Programming Tips Resources
DDD, Hexagonal, Onion, Clean, CQRS, … How I Put It All Together 🚀
I start by recalling EBI and Ports & Adapters architectures. Both of them make an explicit separation of what code is internal to the application, what is external, and what is used for connecting internal and external code.
Furthermore, Ports & Adapters architecture explicitly identifies three fundamental blocks of code in a system:
What makes it possible to run a user interface, whatever type of user interface it might be.
- The system business logic, or application core, which is used by the user interface to actually make things happen.
- Infrastructure code, that connects our application core to tools like a database, a search engine or 3rd party APIs.
[ Article ] : kutt.it/Archs
〰️〰️〰️〰️〰️〰️
#Architecture #Design
@ProgrammingTip
I start by recalling EBI and Ports & Adapters architectures. Both of them make an explicit separation of what code is internal to the application, what is external, and what is used for connecting internal and external code.
Furthermore, Ports & Adapters architecture explicitly identifies three fundamental blocks of code in a system:
What makes it possible to run a user interface, whatever type of user interface it might be.
- The system business logic, or application core, which is used by the user interface to actually make things happen.
- Infrastructure code, that connects our application core to tools like a database, a search engine or 3rd party APIs.
[ Article ] : kutt.it/Archs
〰️〰️〰️〰️〰️〰️
#Architecture #Design
@ProgrammingTip
Telegram
Programming Tips Resources
How to roll your own VPN | WireGuard Tutorial 🔐
WireGuard® is a fast, free, and open-source VPN connection protocol. By hosting your own VPN with Wireguard and Linode, you have total control over your security and privacy. ✅
[ YouTube ] : youtube.com/watch?v=Q1I6-clkQmQ
〰️〰️〰️〰️〰️〰️
#VPN #WireGuard
@ProgrammingTip
WireGuard® is a fast, free, and open-source VPN connection protocol. By hosting your own VPN with Wireguard and Linode, you have total control over your security and privacy. ✅
[ YouTube ] : youtube.com/watch?v=Q1I6-clkQmQ
〰️〰️〰️〰️〰️〰️
#VPN #WireGuard
@ProgrammingTip
YouTube
Here's how to roll your own VPN | WireGuard Tutorial
WireGuard® is a fast, free, and open-source VPN connection protocol. By hosting your own VPN with Wireguard and Linode, you have total control over your security and privacy.
New to Cloud Computing? Get started here with a $100 credit → https://www.lin…
New to Cloud Computing? Get started here with a $100 credit → https://www.lin…
Implementing Domain Driven Design ✅
This is a practical guide for implementing the Domain Driven Design (DDD). While the implementation details rely on the ABP Framework infrastructure, core concepts, principles and patterns are applicable in any kind of solution, even if it is not a .NET solution. 💎
[ Article ] : kutt.it/ddd-impl
〰️〰️〰️〰️〰️〰️
#DDD #DomainDrivenDesign
@ProgrammingTip
This is a practical guide for implementing the Domain Driven Design (DDD). While the implementation details rely on the ABP Framework infrastructure, core concepts, principles and patterns are applicable in any kind of solution, even if it is not a .NET solution. 💎
[ Article ] : kutt.it/ddd-impl
〰️〰️〰️〰️〰️〰️
#DDD #DomainDrivenDesign
@ProgrammingTip
Telegram
Programming Tips Resources