<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/dz/best-of/2022/04" -->

---
title: Best DZone posts — April 2022 | daily.dev
description: The most upvoted DZone posts from April 2022, curated by the daily.dev community.
canonical: https://daily.dev/sources/dz/best-of/2022/04
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/dz/best-of/2022/04
og:type: website
og:site_name: daily.dev
og:title: Best DZone posts — April 2022 | daily.dev
og:description: The most upvoted DZone posts from April 2022, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of DZone — April 2022

1. 1  
[](https://daily.dev/posts/6-best-platforms-to-learn-blockchain-in-depth-bfbqsmh68 "6 Best Platforms to learn Blockchain in Depth")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
6 Best Platforms to learn Blockchain in Depth  
Blockchain is a technology that was created and appeared in the real world back in 1991 to facilitate the way users interact or transfer their money in a secure manner and without any third parties such as banks. In this article, you will see some online courses and documentation that will teach you how this blockchain technology works and help you become a blockchain developer.  
52  
1
2. 2  
[](https://daily.dev/posts/the-complete-react-developer-salary-guide-for-2022-ifaiwdsbq "The Complete React Developer Salary Guide for 2022")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
The Complete React Developer Salary Guide for 2022  
React JS is the most in-demand web framework in 2022, with 40.41% of software developers globally indicating they use it to develop web applications. The more skilled you are as a React Developer, the higher the salary employers are willing to pay. The top earners in this profession in the U.S. earn an average annual salary of $146,000.  
47  
1
3. 3  
[](https://daily.dev/posts/modern-rest-api-design-principles-and-rules-ixu1jaq6o "Modern REST API Design Principles and Rules")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
Modern REST API Design Principles and Rules  
REST is an abbreviation for Application Programming Interface. It is a software interface that allows two applications to communicate with one another without user intervention. A RestFul web service is any web service that adheres to the REST principles. REST is the most common API architecture in today’s world.  
28  
1
4. 4  
[](https://daily.dev/posts/10-must-know-patterns-for-writing-clean-code-with-python-v5c-wxchb "10 Must-know Patterns for Writing Clean Code With Python")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
10 Must-know Patterns for Writing Clean Code With Python  
Clean code is focused. Each function, class, or module should do one thing and do it well. Clean code is easy to read and reason about. Bad code can lead to technical debt which can have severe consequences on the company. We will look at some design patterns that help us to write clean code in Python.  
21
5. 5  
[](https://daily.dev/posts/how-the-ai-behind-tiktok-works-keun4drma "How the AI Behind TikTok Works")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
How the AI Behind TikTok Works  
TikTok is a video-sharing app that let users create and share short videos. It impresses users with its personalized "just for you’ recommendations precisely. Behind it, it is powered by artificial intelligence technologies. A range of machine learning and deep learning algorithms and techniques are applied to build models and generate recommendations.  
19  
1
6. 6  
[](https://daily.dev/posts/diagrams-as-code-the-complete-how-to-use-guide-a1vs3nqpp "Diagrams as Code: The Complete How-to-Use Guide")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
Diagrams as Code: The Complete How-to-Use Guide  
Diagrams allows you to draw cloud system architecture in Python code. It supports major providers such as AWS, Azure, GCP, Kubernetes, OpenStack, Oracle Cloud, etc. The main benefit of using this concept is that majority of the Diagrams as Code tools can be scripted.  
18  
1
7. 7  
[](https://daily.dev/posts/how-javascript-generator-functions-work-nrtz6f0te "How Javascript Generator Functions Work")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
How Javascript Generator Functions Work  
Generators are functions that can stop halfway through execution, and then continue from where they stopped when you call them again. Even though they act differently from regular functions, they are still callable. Let's look at how they work in Javascript.How Generator Functions Work in Javascript  
18  
1
8. 8  
[](https://daily.dev/posts/makefiles-for-modern-development-g5fzozemj "Makefiles For Modern Development")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
Makefiles For Modern Development  
Make is an abstraction above language-specific tooling. It allows for easy upgrading of that tooling without having to teach your team how to use a new CLI. Makefiles have been in use since 1976, so they’re as battle-tested as can be. Using Make as the project workflows allows for quick onboarding of new developers.  
17  
1
9. 9  
[](https://daily.dev/posts/what-is-dynamic-programming---e-7onsvm "What Is Dynamic Programming?")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
What Is Dynamic Programming?  
Dynamic programming is the process of breaking down a larger problem into smaller problems. By using the answers to those smaller problems, we can find the overall solution more efficiently. We'll also learn about the term "memoization," and how it relates to dynamic programming. The Fibonacci Sequence is a good example of dynamic programming, so we'll use it too.  
16
10. 10  
[](https://daily.dev/posts/choosing-between-rest-and-graphql-ev1bljtwg "Choosing Between REST and GraphQL")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
Choosing Between REST and GraphQL  
The dominant architecture for APIs in modern app development is REST. While REST is widely known, it has some downsides including overfetching and inefficiencies concerning nested data. GraphQL is a new type of API architecture that is designed to be more flexible and efficient than REST with features like declarative data fetching.  
14  
2
11. 11  
[](https://daily.dev/posts/the-complete-guide-to-sdlc-ezf-urary "The Complete Guide to SDLC")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
The Complete Guide to SDLC  
Software Development Life Cycle (SDLC) defines a methodology for improving the quality of software developed. SDLC is all about the delivery of high-quality software with minimized resources. The Six Phases Involved in the Software Development Cycle are: Requirement Gathering, Design, Testing, Quality Assurance, Deployment and Maintenance.  
13  
1
12. 12  
[](https://daily.dev/posts/27-product-backlog-anti-patterns-ym-mentqu "27 Product Backlog Anti-Patterns")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
27 Product Backlog Anti-Patterns  
Scrum is a tactical framework to build products, provided you identify what is worth making in advance. But even after a successful product discovery phase, you may struggle to create the right thing in the right way if your Product Backlog is not up to the job. Scrum teams perform below their capabilities when they do not strictly adhere to maintaining two different artifacts.  
11
13. 13  
[](https://daily.dev/posts/what-is-sharding--dojknbsh9 "What Is Sharding?")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
What Is Sharding?  
Sharding is a technique for splitting data into smaller parts known as shards. Sharding can be viewed as a very specific type of partitioning, namely — horizontal partitioning. The biggest pros of sharding are that it can isolate contention to a single level of the system and decrease the amount of distributed operations. Despite its significance, sharding also has some cons, and there are certain problems you may encounter if you use it.  
10  
1
14. 14  
[](https://daily.dev/posts/golang-and-event-driven-architecture-rlxjfsda0 "Golang and Event-Driven Architecture")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 4y  
Golang and Event-Driven Architecture  
Use the Paho MQTT library for Golang. The PubSub+ Messaging API for Go. The source code can be found in this open-source Github repo. We will be using the Eclipse PahoMQTT Go client. The code is written in Go and is available on GitHub.  
10  
1

[See all DZone archives](/sources/dz/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/dz/best-of/2022/04#page","url":"https://daily.dev/sources/dz/best-of/2022/04","name":"Best DZone Posts — April 2022","description":"The most upvoted DZone posts from April 2022, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/dz/best-of/2022/04#items","numberOfItems":14,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/6-best-platforms-to-learn-blockchain-in-depth-bfbqsmh68","name":"6 Best Platforms to learn Blockchain in Depth"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/the-complete-react-developer-salary-guide-for-2022-ifaiwdsbq","name":"The Complete React Developer Salary Guide for 2022"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/modern-rest-api-design-principles-and-rules-ixu1jaq6o","name":"Modern REST API Design Principles and Rules"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/10-must-know-patterns-for-writing-clean-code-with-python-v5c-wxchb","name":"10 Must-know Patterns for Writing Clean Code With Python"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/how-the-ai-behind-tiktok-works-keun4drma","name":"How the AI Behind TikTok Works"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/diagrams-as-code-the-complete-how-to-use-guide-a1vs3nqpp","name":"Diagrams as Code: The Complete How-to-Use Guide"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/how-javascript-generator-functions-work-nrtz6f0te","name":"How Javascript Generator Functions Work"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/makefiles-for-modern-development-g5fzozemj","name":"Makefiles For Modern Development"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/what-is-dynamic-programming---e-7onsvm","name":"What Is Dynamic Programming?"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/choosing-between-rest-and-graphql-ev1bljtwg","name":"Choosing Between REST and GraphQL"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/the-complete-guide-to-sdlc-ezf-urary","name":"The Complete Guide to SDLC"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/27-product-backlog-anti-patterns-ym-mentqu","name":"27 Product Backlog Anti-Patterns"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/what-is-sharding--dojknbsh9","name":"What Is Sharding?"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/golang-and-event-driven-architecture-rlxjfsda0","name":"Golang and Event-Driven Architecture"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"DZone","item":"https://daily.dev/sources/dz"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/dz/best-of"},{"@type":"ListItem","position":5,"name":"April 2022"}]}]}
```

