Programming: Tips 💡 Articles 📕 Resources 👾 Design Patterns 💎 Software Principles ✅ 🇳🇱 Contact & Ads: @MoienTajik
Demand for blockchain developers is on the rise all over the world.
Blockchain developers create new tools to interact with WEB 3.0. This includes deployment of smart contracts and all ways of interacting with them.
▶️ 1 500 Jobs for Solidity Developers (web3career)
▶️ 180 000$ Salary of mid-level Blockchain Developer
▶️ 60% per year Blockchain market growth (YahooFinance)
Kickstart your Web3 journey with “Profession Blockchain Developer” course.
What you get on the course:
✅ Self-paced learning to study at your own speed
✅ World-class portfolio based on real-life web 3 projects
✅ CV enhancement and job interview preparation
✅ NFT Certificate from Web3 Campus powered by Cointelegraph
After completing the course, you will be able to build a career in such companies as Revolut, Google, Binance, OpenSea, Electronic Arts.
Follow the link to sign up for the course
Diagrams - Diagram as Code for prototyping cloud system architectures 🎨
Diagrams lets you draw the cloud system architecture in Python code. It was born for prototyping a new system architecture design without any design tools. ✅
You can also describe or visualize the existing system architecture as well. Diagrams currently supports main major providers including: AWS, Azure, GCP, Kubernetes, Alibaba Cloud, Oracle Cloud etc ...
It also supports On-Premise nodes, SaaS and major Programming frameworks and languages. 🌀
[ GitHub ] : github.com/mingrammer/diagrams
〰️〰️〰️〰️〰️〰️
#Diagram #Architecture #DiagramAsCode
@ProgrammingTip
Source Link 🐞
Source Link is a language- and source-control agnostic system for providing first-class source debugging experiences for binaries.
The goal of the project is to enable anyone building NuGet libraries to provide source debugging for their users with almost no effort.
Microsoft libraries, such as .NET Core and Roslyn have enabled Source Link.
Source Link is supported by Microsoft. ✅
〰️〰️〰️〰️〰️〰️
#DotNet #CSharp #Debugging
@ProgrammingTip
Functional architecture - The pits of success ✅
Object-oriented architects and developers have, over the years, learned many hard lessons about successfully designing systems with object-oriented programming. This has led to a plethora of ‘best practices’ that are painfully passed on from older to younger generations via books, lectures, consulting, blog posts, etc.
Many of these ‘best practices’ must be explicitly taught, because they don’t evolve naturally from object-oriented programming. Surprisingly, many of these hard-won ‘best practices’ fall naturally into place when applying functional programming.
Instead of deliberate design, functional programming forms pits of success where you naturally fall into the same ‘best practices’ that you have to deliberately work for in object-oriented programming.
In this session, you’ll learn about a handful of such ‘best practices’, and how functional programming automatically leads you there, without your explicit effort.
[ YouTube ]: youtu.be/US8QG9I1XW0
〰️〰️〰️〰️〰️〰️
#Architecture #Functional #Paradigms
@ProgrammingTip
Lowering in C#: What's really going on in your code? 👾
If you're attending NDC you probably think you know what a foreach loop does - it iterates over a collection, right? ✅
BUT do you know how? Do you know what the C# compiler does when you write a foreach loop? What about a lambda expression? Or the re-entrant magic that is a yield return statement❓
In this session we'll dive into Roslyn, the C# compiler, and learn about lowering and how it helps the compiler do its job, and what it does to your code. In the process you'll gain the skills to identify some of the common performance pitfalls of .NET, as well as just get a deeper understanding of what the code you write really does. 💎
[ YouTube ] : https://youtu.be/gc1AxbNybvw
〰️〰️〰️〰️〰️〰️
#CSharp #LowLevel #Compiler #Roslyn
@ProgrammingTip
Vuestic UI - Free and Open Source UI components library for Vue 3 🌈
Vuestic UI is a components library for Vue 3. 💎
It features more than 50 highly customisable components, forever free and Open Source. Vuestic Admin (https://github.com/epicmaxco/vuestic-admin) is a great example of a real-world web application based on Vuestic UI and is used to quicly bootstrap frontends of web applications.
[ Github ] : https://github.com/epicmaxco/vuestic-ui
〰️〰️〰️〰️〰️〰️
#FrontEnd #Vue #UiKit
@ProgrammingTip
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
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
Why You Shouldn’t Use OFFSET and LIMIT For Your Pagination ❌
[ Article ] : kutt.it/paginate
〰️〰️〰️〰️〰️〰️
#SQL #Pagination
@ProgrammingTip
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
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
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
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
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
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
ChilliCream GraphQL Platform 🌶
The ChilliCream GraphQL Platform, at its core, is a new way to create powerful Backends. HotChocolate, .NET GraphQL server, connects any service or data source and creates a cohesive service to offer your consumers a unified API. 💎
Hot Chocolate: GraphQL server to create GraphQL endpoints and merge schemas. ✅
Banana Cake Pop: GraphQL IDE to explore, request and analyze any GraphQL endpoint. 🌐
Strawberry Shake: GraphQL client to fetch data from any GraphQL endpoint. 🔁
Green Donut: DataLoader to solve the N+1 problem. 🔂
[ GitHub ] : github.com/ChilliCream/hotchocolate
〰️〰️〰️〰️〰️〰️
#GraphQL #DotNet #AspNetCore
@ProgrammingTip
Newsletter 🗞
In this newsletter, we will talk about the following:
• Retry patterns ♻️
• Evolution of the Netflix API architecture 🔝
• How does stop loss work❓
• Chaos Engineering 🤯
[ Article ] : https://kutt.it/newsletter1
〰️〰️〰️〰️〰️〰️
#Newsletter #Retry #Chaos_Engineering #API_Gateway
@ProgrammingTip
Nuke Build 🗂
As C# developers, we are spoiled with a great language and awesome IDEs.
Why do most automation systems never really match the level of convenience and integration that we're used to?
NUKE is different. 💎
It is fully based on C# console applications and uses the type system to its full extent.
You want your auto-completion, package management, debugging, refactorings, formatting, and navigation back? It’s available right there❗️
[ Website ] : https://nuke.build/
[ GitHub ] : github.com/nuke-build/nuke
〰️〰️〰️〰️〰️〰️
#CSharp #Dotnet #BuildSystem
@ProgrammingTip
Looking inside ConfigurationManager in .NET 6 ✅ConfigurationManager
was added to support ASP.NET Core's new WebApplication model, used for simplifying the ASP.NET Core startup code. 🧹
However ConfigurationManager is very much an implementation detail. It was introduced to optimise a specific scenario (which I'll describe shortly), but for the most part, you don't need to (and won't) know you're using it.
In this post, We take a look at the ConfigurationManager class, why it was added, and some of the code used to implement it.
[ Article ] : https://kutt.it/cfg-mgr
〰️〰️〰️〰️〰️〰️
#DotNet #AspNetCore
@ProgrammingTip
The Soul of Erlang and Elixir • Saša Jurić • GOTO 2019 ✨
Whether you're developing a small web site or a large-scale distributed system, Erlang and Elixir are great tools for building server-side systems. Both languages can help you start quickly and deal with highly complex problems at a large scale. 💨
This talk aims to explain what makes Erlang and Elixir suitable for such tasks. We'll look past the syntax and the ecosystem, focusing instead on the concurrency model of these languages.
Combining a bit of high-level theory and a couple of demos, we'll examine some important properties of Erlang/Elixir concurrency, with a special emphasis on why these properties are very relevant when building highly available systems.
The talk targets experienced backend developers, but no knowledge of Erlang or Elixir is required. ✅
[ YouTube ] : youtu.be/JvBT4XBdoUE
〰️〰️〰️〰️〰️〰️
#Concurrency #Erland #Elixir
@ProgrammingTip
Awesome Software Architecture 🕶
Curated list of awesome articles and resources to learn and practice about software architecture, patterns and principles. this repository will be updated continuously, keep yourself up to date. ✨
[ Github ] : kutt.it/awsArch
〰️〰️〰️〰️〰️〰️
#Architecture #Awesome
@ProgrammingTip
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
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
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
ASP.NET Core Developer Roadmap in 2021 🚀
Github Repository:
https://github.com/MoienTajik/AspNetCore-Developer-Roadmap
Awesome Microservices .NET Core Resources 😎
The best resources for Microservices in .NET Core 👾
[ Github ] : kutt.it/dotnet-aws
〰️〰️〰️〰️〰️〰️
#DotNet #DotNetCore #AspNetCore #Microservice
@ProgrammingTip
Why I created another React component library 🌈
[ Article ] : https://kutt.it/ARC
[ Github ] : https://github.com/sha-el/sha-el-design
〰️〰️〰️〰️〰️〰️
#React #JavaScript
@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
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
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