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

---
title: Best Hashnode posts — May 2022 | daily.dev
description: The most upvoted Hashnode posts from May 2022, curated by the daily.dev community.
canonical: https://daily.dev/sources/hashnode/best-of/2022/05
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/hashnode/best-of/2022/05
og:type: website
og:site_name: daily.dev
og:title: Best Hashnode posts — May 2022 | daily.dev
og:description: The most upvoted Hashnode posts from May 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 Hashnode — May 2022

1. 1  
[](https://daily.dev/posts/the-complete-modern-react-developer-2022-sf0bdvinq "The Complete Modern React Developer 2022")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
The Complete Modern React Developer 2022  
This course will give you the skills and knowledge to become a Software Developer across the full stack. We will be building a super basic Twitter clone that has CRUD functionality for posting, reading and deleting tweets. In this section you will learn how to setup a Node backend using both Express.js and Nestjs. And as a bonus you will also learn some DevOps when we put a MongoDB and Postgres database inside of a Docker container.  
586  
35
2. 2  
[](https://daily.dev/posts/learn-go-the-complete-course-k-foibcyw "Learn Go: The complete course")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Learn Go: The complete course  
Go (also known as Golang ) is a programming language developed at Google in 2007 and open-sourced in 2009\. It was designed to combine the efficacy, speed, and safety of a statically typed and compiled language with the ease of programming of a dynamic language. Go has just 25 keywords which makes it easy to read, write and maintain.  
302  
6
3. 3  
[](https://daily.dev/posts/don-t-lose-your-github-contributions-when-you-leave-an-organization-27wm4ww-s "Don't lose your Github contributions when you leave an organization")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Don't lose your Github contributions when you leave an organization  
A Github profile for software engineers is like their resume or at least I treat it like one, hence it's important to keep it up-to-date, authentic and relevant. Having a consistent contributions graph on your Github profile helps you get noticed by possible future recruiters and in general, it shows your consistency.  
293  
25
4. 4  
[](https://daily.dev/posts/sessions-vs-jwts---a-complete-guide-to-authentication-rvqyjbqib "Sessions vs JWTs - A Complete Guide to Authentication")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Sessions vs JWTs - A Complete Guide to Authentication  
Authentication or auth for short is the process where a server recognizes the identity of a user. Authorization is then done, to allocate a role to the authenticated user and allocate the required services to that particular user. There are 2 ways you can implement auth:Server-side sessions and JWTs.  
168  
12
5. 5  
[](https://daily.dev/posts/why-you-should-ditch-create-react-app-for-vite-jx5aocuap "Why You Should Ditch Create-React-App for Vite")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Why You Should Ditch Create-React-App for Vite  
Vite is a build tool similar to Webpack. It can be used for React, Preact, Svelte, Vue, Vanilla JS, and LitElements. Vite uses route-based code-splitting to figure out what parts of the code actually need to be loaded, and doesn't have to pre-bundle everything.  
153  
17
6. 6  
[](https://daily.dev/posts/traits-of-a-senior-software-engineer-uodrl0sfa "Traits of a senior software engineer")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Traits of a senior software engineer  
Senior engineers are already expected to be technically deep and to deliver on time. Being a “technically deep” engineer is merely a tiny drop in the ocean for a promotion. Being reliable is particularly significant when collaborating with your manager. You should ensure that your work is visible to everyone on your team.  
118  
5
7. 7  
[](https://daily.dev/posts/get-good-at-git-2aegze3lq "Get good at Git")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Get good at Git  
Git was created by Linus Torvalds, a guy much smarter than us. He knew if he made it too easy, it would make us weak. In this blog, we will look at a bunch of different tips and tricks to make you more productive.  
114  
12
8. 8  
[](https://daily.dev/posts/pure-vs-impure-functions-gw0zpnofp "Pure vs Impure Functions")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Pure vs Impure Functions  
Pure and Impure functions are the two terms that you always hear in a programming language. Pure Function is always dependent on arguments and there should not be any side effects. Side Effects are when you try to use external code in the function or if you are mutating a variable then it creates a Side Effect.  
108  
5
9. 9  
[](https://daily.dev/posts/12-awesome-shape-generators-for-your-web-projects--tkdmxt2qm "12 Awesome Shape Generators for Your Web Projects 😍🚀")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
12 Awesome Shape Generators for Your Web Projects 😍🚀  
In this article, I have compiled some of my favorite shape generators. I have further sorted them across the categories like blogs, waves, separators, and miscellaneous. I will provide a direct link, a short description, and a preview image, so you can get the initial impression of each generator and its features.  
103  
10
10. 10  
[](https://daily.dev/posts/how-to-improve-coding-skills-by-doing-100-days-of-code-here-are-the-16-benefits-that-i-got-from-it--30vollobl "How to Improve Coding skills by doing 100 Days Of Code? Here are the 16 benefits that I got from it.")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
How to Improve Coding skills by doing 100 Days Of Code? Here are the 16 benefits that I got from it.  
On 26 May 2022, I completed the 100 Days of code series on Twitter. I was consistent for the first 48 days but after that, due to my family problem I broke that consistency. By doing code daily and sharing projects on Twitter I grew my Audience from 0 to 3200+.That's all about this article.  
94  
2
11. 11  
[](https://daily.dev/posts/the-top-12-node-js-frameworks-on-github--n8k-o9pik "The Top 12 Node.js Frameworks on GitHub️")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
The Top 12 Node.js Frameworks on GitHub️  
These are the top 12 Node.js frameworks on GitHub️ at the time of writing. I have no doubt that these numbers are going to increase but at least then you can see how much they have grown.Express.js is the most popular Node.JS backend framework.  
92  
8
12. 12  
[](https://daily.dev/posts/7-free-terminal-tools-and-emulators-to-boost-development-productivity-vc6lixsmn "7 Free Terminal Tools and Emulators to Boost Development Productivity")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
7 Free Terminal Tools and Emulators to Boost Development Productivity  
The terminal has been around for decades and is an essential part of a developer's toolbox. I've noticed that there have been a ton of new tools and emulators popping up into the terminal ecosystem. It has been exciting to see that the terminal is still getting some love even after all these years. This list will contain the top terminal tools andEmulators ranging from battle-tested veterans to the new kids on the block.  
90  
7
13. 13  
[](https://daily.dev/posts/hoisting-in-javascript-explained-visually--6mv4ikrxi "Hoisting in JavaScript explained visually 🔥 😍")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Hoisting in JavaScript explained visually 🔥 😍  
This blog post aims to explain one such peculiarity, i.e. hoisting using animated gifs. Let’s learn hoisting in let, const keywords and functions. To keep this article concise we would be learning more about the scope in let and const.  
81  
6
14. 14  
[](https://daily.dev/posts/react-js-deep-dive-as-a-beginner-8r1oz1wsz "React.js Deep Dive as a beginner")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
React.js Deep Dive as a beginner  
React is an Open Source project created by Facebook. It is one of the most popular JavaScript library with over 187k stars on GitHub. It's used to build user interfaces on the font end. Let's see why you should use react over vanilla JavaScript or any other library/frameworks.  
80  
5
15. 15  
[](https://daily.dev/posts/react-optimization-zcwn7szih "react optimization")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
react optimization  
React is a JavaScript library for building user interfaces. It ships with several ways to minimize the number of costly DOM operations required to update the UI. Using React will lead to a fast user interface for many applications without doing much work to specifically optimize for performance. Re-rendering a component only happens when necessary. Lazy for Lazy Loading Components.  
62  
7
16. 16  
[](https://daily.dev/posts/5-rules-to-master-this-in-javascript-bt8srln9 "5 Rules to master ‘this’ in Javascript")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
5 Rules to master ‘this’ in Javascript  
The value of this will be determined by the block from where it gets called, but in an order of precedence that we'll discuss here. Invoking Function with a new keyword, the this inside function will refer to a new empty object. Free Function Invocation means calling the function without any of the conditions discussed above (without using new operator, or as a method belonging to an object)  
58  
2
17. 17  
[](https://daily.dev/posts/5-amazing-react-component-libraries-to-consider-for-your-next-project-aejddy1ou "5 Amazing React Component Libraries to Consider for your Next Project")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
5 Amazing React Component Libraries to Consider for your Next Project  
As web developers, it is often hard and time-consuming to make accessible UIs. This gets even worse when we have to make special components like Modals or Popovers from scratch. Today, we are going to focus on React component libraries that are accessible, have a decent base style, have good docs, and come with components like Popovers, Tooltips, etc.  
58  
8
18. 18  
[](https://daily.dev/posts/infinite-scrolling-nknexlhxu "Infinite scrolling")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Infinite scrolling  
In this guide, I will create a movie listing react app with infinite scroll using tmdb which allow us to fetch paginated data. We will use the IntersectionObserver API to implement an infinite scroll. We also need to use useRef Hooks to get the DOM node to observe.  
57  
3
19. 19  
[](https://daily.dev/posts/designing-scalable-frontend-systems-e9gm0kf3m "Designing Scalable Frontend Systems")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Designing Scalable Frontend Systems  
In this article, we will discuss the rest of the items in our frontend system design framework. We will talk about API design, managing the data store, accessibility, performance optimization techniques, and more. Let's get it started. The first point we need to discuss is the API and network design and how we will manage the communication with the BE.  
54  
2
20. 20  
[](https://daily.dev/posts/as-a-software-engineer-it-s-important-to-build-good-habits-51nhdfwkm "As a software engineer, it’s important to build good habits")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
As a software engineer, it’s important to build good habits  
As a software engineer or developer, it’s important to build good habits. Good habits speed you and your team up and help you write maintainable code. Don’t treat your IDEA as a simple text editor; use it as the powerful tool it is.  
45  
2
21. 21  
[](https://daily.dev/posts/can-you-resolve-merge-conflicts-before-they-happen--etml4jlyd "Can You Resolve Merge Conflicts Before They Happen?")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Can You Resolve Merge Conflicts Before They Happen?  
Merging conflicts are an event that occurs when Git is unable to automatically resolve differences in code between two commits. They can happen as a result of merging branches, during a rebase or when you’re cherry-picking in Git. We can either solve them manually or use a Git GUI such as the ones built into VS Code or Jetbrains IDEs.  
44  
3
22. 22  
[](https://daily.dev/posts/introducing-reactplay---learn-create-share-reactjs-projects-tyunofa0t "Introducing ReactPlay - Learn, Create, Share ReactJS projects")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Introducing ReactPlay - Learn, Create, Share ReactJS projects  
ReactPlay is an Opensource platform to learn, create and share ReactJS projects with the developer community. It allows you to learn from the code, explanation, articles, and videos related to a project and inspire you to create one. When you create a play with a few simple guided steps, it goes through some serious code reviews by experienced ReactJS developers.  
42  
6
23. 23  
[](https://daily.dev/posts/git-and-github-for-beginners-90lbw4loh "Git And GitHub For Beginners")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Git And GitHub For Beginners  
Git and GitHub are very important tools for a developer and it doesn't matter at what stage of your career you are, you can learn them. In the first part we are going to learn what is Git and GitHub and how can we use them? And then in the second article i.e., Getting Started With Open Source (coming soon!), we will discuss what is open source and how you can contribute.  
42  
6
24. 24  
[](https://daily.dev/posts/machine-learning-creating-an-animated-avatar-that-reacts-to-your-voice-hv2egbkqt "Machine Learning: Creating an animated avatar that reacts to your voice")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Machine Learning: Creating an animated avatar that reacts to your voice  
This week I created an animated avatar based on my photo that was turned into an digital avatar with an amazing Python tool. How can we use a Python Machine Learning Tool to create an animated PNG-Tuber avatar. V-Tubing originated in Japan in 2010 but grew popularity in the western world in 2020.  
36  
6
25. 25  
[](https://daily.dev/posts/web-performance-vagqdluwu "Web Performance")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 4y  
Web Performance  
Rendering is the process of turning a web page's assets ( HTML, CSS, JS, and other static assets) into interactive content on the browser. A typical request travels through the internet before it reaches a server that sends back a response to the client. The response manifests different entities such as Styles , Markup , Scripts , and other files. They represent the different life forms on Renderland.  
35  
13

[See all Hashnode archives](/sources/hashnode/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/hashnode/best-of/2022/05#page","url":"https://daily.dev/sources/hashnode/best-of/2022/05","name":"Best Hashnode Posts — May 2022","description":"The most upvoted Hashnode posts from May 2022, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/hashnode/best-of/2022/05#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/the-complete-modern-react-developer-2022-sf0bdvinq","name":"The Complete Modern React Developer 2022"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/learn-go-the-complete-course-k-foibcyw","name":"Learn Go: The complete course"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/don-t-lose-your-github-contributions-when-you-leave-an-organization-27wm4ww-s","name":"Don't lose your Github contributions when you leave an organization"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/sessions-vs-jwts---a-complete-guide-to-authentication-rvqyjbqib","name":"Sessions vs JWTs - A Complete Guide to Authentication"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/why-you-should-ditch-create-react-app-for-vite-jx5aocuap","name":"Why You Should Ditch Create-React-App for Vite"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/traits-of-a-senior-software-engineer-uodrl0sfa","name":"Traits of a senior software engineer"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/get-good-at-git-2aegze3lq","name":"Get good at Git"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/pure-vs-impure-functions-gw0zpnofp","name":"Pure vs Impure Functions"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/12-awesome-shape-generators-for-your-web-projects--tkdmxt2qm","name":"12 Awesome Shape Generators for Your Web Projects 😍🚀"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/how-to-improve-coding-skills-by-doing-100-days-of-code-here-are-the-16-benefits-that-i-got-from-it--30vollobl","name":"How to Improve Coding skills by doing 100 Days Of Code? Here are the 16 benefits that I got from it."},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/the-top-12-node-js-frameworks-on-github--n8k-o9pik","name":"The Top 12 Node.js Frameworks on GitHub️"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/7-free-terminal-tools-and-emulators-to-boost-development-productivity-vc6lixsmn","name":"7 Free Terminal Tools and Emulators to Boost Development Productivity"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/hoisting-in-javascript-explained-visually--6mv4ikrxi","name":"Hoisting in JavaScript explained visually 🔥 😍"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/react-js-deep-dive-as-a-beginner-8r1oz1wsz","name":"React.js Deep Dive as a beginner"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/react-optimization-zcwn7szih","name":"react optimization"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/5-rules-to-master-this-in-javascript-bt8srln9","name":"5 Rules to master ‘this’ in Javascript"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/5-amazing-react-component-libraries-to-consider-for-your-next-project-aejddy1ou","name":"5 Amazing React Component Libraries to Consider for your Next Project"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/infinite-scrolling-nknexlhxu","name":"Infinite scrolling"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/designing-scalable-frontend-systems-e9gm0kf3m","name":"Designing Scalable Frontend Systems"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/as-a-software-engineer-it-s-important-to-build-good-habits-51nhdfwkm","name":"As a software engineer, it’s important to build good habits"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/can-you-resolve-merge-conflicts-before-they-happen--etml4jlyd","name":"Can You Resolve Merge Conflicts Before They Happen?"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/introducing-reactplay---learn-create-share-reactjs-projects-tyunofa0t","name":"Introducing ReactPlay - Learn, Create, Share ReactJS projects"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/git-and-github-for-beginners-90lbw4loh","name":"Git And GitHub For Beginners"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/machine-learning-creating-an-animated-avatar-that-reacts-to-your-voice-hv2egbkqt","name":"Machine Learning: Creating an animated avatar that reacts to your voice"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/web-performance-vagqdluwu","name":"Web Performance"}]},{"@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":"Hashnode","item":"https://daily.dev/sources/hashnode"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/hashnode/best-of"},{"@type":"ListItem","position":5,"name":"May 2022"}]}]}
```

