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

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

1. 1  
[](https://daily.dev/posts/react-visualized-react-gg-bisspev15 "React, visualized – react.gg")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
React, visualized – react.gg  
Learn about lifting state up to the nearest parent component and using the Context API in React to bypass the limitation of passing props through intermediate components.  
549  
28
2. 2  
[](https://daily.dev/posts/6-advanced-typescript-tricks-for-clean-code-zv0zkinsw "6 Advanced TypeScript tricks for Clean Code")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
6 Advanced TypeScript tricks for Clean Code  
Explore advanced TypeScript topics such as advanced types, decorators, namespaces, mixins, type guards, and utility types to write cleaner, more organized, and maintainable code that takes advantage of TypeScript's powerful features.  
456  
16
3. 3  
[](https://daily.dev/posts/javascript-solid-principles-how-to-write-maintainable-code-knkof7hxm "JavaScript SOLID Principles: How to Write Maintainable Code")  
Article  
![Avatar of syncfusion](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/064efc4834bd43b987bcda02e8ad6709)Syncfusion · 3y  
JavaScript SOLID Principles: How to Write Maintainable Code  
Learn how to apply SOLID principles to write maintainable code in JavaScript. Explore the single responsibility principle, open-closed principle, Liskov substitution principle, interface segregation principle, and dependency inversion principle.  
441  
13
4. 4  
[](https://daily.dev/posts/8-best-opensource-projects-you-should-try-out-jwsnbjul7 "8 best opensource projects you should try out")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
8 best opensource projects you should try out  
Discover 8 amazing open-source projects that can replace paid software, including Chatwoot, Amplication, Docz, Partytown, Typesense, BackdropCMS, Hoppscotch, and NocoDB.  
392  
27
5. 5  
[](https://daily.dev/posts/patterns-dev-resources-wrjzj5ycd "Patterns.dev ⏐ Resources")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Patterns.dev ⏐ Resources  
Learn more about the next book on building large-scale JavaScript web apps with React. Explore community resources on patterns for React, Angular, Vue, and TypeScript, including curated lists of recommended talks and courses.  
376  
11
6. 6  
[](https://daily.dev/posts/introducing-the-tern-stack-and-how-to-migrate-from-mern-to-tern-ifbeeqy4k "Introducing the TERN stack and how to migrate from MERN to TERN")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Introducing the TERN stack and how to migrate from MERN to TERN  
Introducing the TERN stack and how to migrate from MERN to TERN. MERN is a web technology stack consisting of MongoDB, Express.js, React, and Node.js. This tutorial will assume you're using Tigris Cloud or a self-hosted instance of Tigris.  
300  
40
7. 7  
[](https://daily.dev/posts/best-way-to-learn-linux--xjlflq93k "Best Way to Learn Linux 🎮")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Best Way to Learn Linux 🎮  
Learn Linux through games with resources like Linux Journey and games like OverTheWire, Linux Survival, Vim-adventures, HackerRank, Terminus, Bashcrawl, and Command Line Mystery.  
299  
21
8. 8  
[](https://daily.dev/posts/5-code-refactoring-techniques-to-improve-your-code-1wniqsnuh "5 Code Refactoring Techniques to Improve Your Code")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
5 Code Refactoring Techniques to Improve Your Code  
Learn about code refactoring techniques to improve code readability, maintainability, and scalability. Techniques include extracting methods, replacing magic numbers, merging duplicated code, simplifying methods, and using lazy loading.  
286  
27
9. 9  
[](https://daily.dev/posts/folder-structure-for-modern-web-applications-ehl7wbbek "Folder Structure for Modern Web Applications")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Folder Structure for Modern Web Applications  
Maintaining a well-organized folder structure is crucial when developing web applications. The post provides tips for designing a folder structure, and includes explanations of different folders commonly used in modern web applications.  
280  
23
10. 10  
[](https://daily.dev/posts/vite-4-3-is-out--w2ocz0jd1 "Vite 4.3 is out!")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Vite 4.3 is out!  
Vite 4.3 has been released with performance improvements, including faster dev server startup time and improved hot module replacement (HMR) times. A benchmark was conducted to measure the performance improvements. Vite now has a profiling feature and an official benchmark tool is being developed. A Vite 5 Discussion has been started to gather early feedback.  
278  
26
11. 11  
[](https://daily.dev/posts/10-advanced-git-commands-p4kyadmly "10 Advanced Git Commands")  
Article  
![Avatar of earthly](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/139a6e6902684ea1aa97ca01c0c8c92e)Earthly · 3y  
10 Advanced Git Commands  
Git has emerged as the standard tool for version control because of how powerful it is. It takes all of your commits from a featured branch and moves them on top of the main commit. It can also make it easier to revert changes since you can simply revert a single commit rather than dealing with the complexity of merging branches.  
251  
11
12. 12  
[](https://daily.dev/posts/how-to-find-open-source-projects--unr2j3f7h "How to find Open Source projects?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
How to find Open Source projects?  
Learn the importance of contributing to Open Source projects, how to find Open Source projects on GitHub, and explore Open Source communities. Discover the benefits of contributing and how it can help advance your career.  
246  
27
13. 13  
[](https://daily.dev/posts/understanding-database-types-iyyyurcpc "Understanding Database Types")  
Article  
![Avatar of bytebytego](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/35be29234ee14d01a9cd049c52e12753)ByteByteGo · 3y  
Understanding Database Types  
A complex application usually uses several different databases, each catering to a specific aspect of the application’s needs. In this comprehensive three-part series, we’ll explore the art of database selection. To make the best decision for our projects, it is essential to understand the various types of databases available in the market.  
240  
9
14. 14  
[](https://daily.dev/posts/password-session-cookie-token-jwt-sso-oauth---authentication-explained---part-1-713xf4khd "Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 1")  
Article  
![Avatar of bytebytego](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/35be29234ee14d01a9cd049c52e12753)ByteByteGo · 3y  
Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 1  
Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 1\. We discuss the problems each method solves and how to choose the right authentication method for our needs. The diagram below shows where these methods apply in a typical website architecture and their meanings.  
227  
6
15. 15  
[](https://daily.dev/posts/generate-figma-designs-with-ai-8gumaifzu "Generate Figma Designs with AI")  
Article  
![Avatar of builderio](https://media.daily.dev/image/upload/s--jap1dv3o--/f_auto/v1721914613/squads/builderio)builder.io · 3y  
Generate Figma Designs with AI  
You can now generate designs inside of Figma with AI, with the latest version of the Builder.io Figma plugin. You can be as detailed and specific with prompts as you like. For example, in this prompt, I just said “I want a product page that looks like it's on everlane.com.  
226  
18
16. 16  
[](https://daily.dev/posts/junior-to-senior-an-action-plan-for-engineering-career-success-bku7ijcvp "Junior to senior: An action plan for engineering career success")  
Article  
![Avatar of readme](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/cba36c015edf4fdfb00ab2baaa87c397)The ReadMe Project · 3y  
Junior to senior: An action plan for engineering career success  
Tips for junior software engineers to prepare for a role as a senior software engineer, including honing technical chops, understanding the business domain, effective communication, and continuous learning.  
226  
15
17. 17  
[](https://daily.dev/posts/don-t-learn-a-programming-language-learn-software-engineering-amo2i129e "Don’t Learn a Programming Language. Learn Software Engineering")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Don’t Learn a Programming Language. Learn Software Engineering  
Instead of focusing on a specific programming language, aspiring programmers should strive to become software engineers with a strong foundation in programming. Learning the fundamentals of software engineering allows for flexibility in using any language or tool to achieve goals.  
221  
25
18. 18  
[](https://daily.dev/posts/advanced-javascript-concepts-to-write-high-quality-code-that-scales-mkripw8s3 "Advanced JavaScript Concepts To Write High-Quality Code That Scales")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Advanced JavaScript Concepts To Write High-Quality Code That Scales  
Learn about advanced JavaScript concepts including closures, \`this\`, prototypal inheritance, asynchronous programming, hoisting, type coercion, and destructuring. Master these concepts to build robust and high-quality JavaScript applications.  
186  
33
19. 19  
[](https://daily.dev/posts/devgpt---the-essential-ai-assistant-for-developers-g7yoaeddw "DevGPT - The Essential AI assistant for Developers")  
Article  
![Avatar of ph](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ph)Product Hunt · 3y  
DevGPT - The Essential AI assistant for Developers  
DevGPT combines ChatGPT and 30+ mini-devtools to solve all of the above problems and a lot more to help you save 10s of hours every week. The Essential AI assistant for Developers is the first of its kind.  
172  
15
20. 20  
[](https://daily.dev/posts/the-most-common-react-design-patterns-3uxjuf2yk "The Most Common React Design Patterns")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
The Most Common React Design Patterns  
This post discusses the concept of layout components in React and provides examples of split-screens, lists, and modals as common layout components.  
170  
11
21. 21  
[](https://daily.dev/posts/web-development-stacks-in-2023-software-trends-qextnj3wc "Web development stacks in 2023 – software trends")  
Article  
![Avatar of tsh](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/db4741926fbd4427bd9c2150af9f5597)The Software House · 3y  
Web development stacks in 2023 – software trends  
Web development stack is a set of tools typically used in tandem to develop web apps. A highly specialized web stack can exist within the constraints of frontend or backend development. The most important choice is the one concerning your full development stack. Full web development stacks are abbreviated based on the technologies that comprise them.  
168  
11
22. 22  
[](https://daily.dev/posts/introducing-the-space-git-flow-ujcki3rno "Introducing the Space Git Flow")  
Article  
![Avatar of jetbrains](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/53ecf0c676f34b3896ee109609d91efa)JetBrains · 3y  
Introducing the Space Git Flow  
Introducing the Space Git Flow, a complete process that helps you achieve better code quality and keep your main branch green. Using it, you can focus on development while ensuring your main stays stable as you implement changes. In JetBrains, we use this flow for many of our products, including Space itself.  
160  
15
23. 23  
[](https://daily.dev/posts/40-cool-ai-tools-you-should-check-out-april-2023--mccrngoyp "40+ Cool AI Tools You Should Check Out (April 2023)")  
Article  
![Avatar of mlnews](https://media.daily.dev/image/upload/s--0PoEtdkd--/f_auto/v1750409401/squads/marktechpost?_a=BAMClqZW0)Machine Learning News · 3y  
40+ Cool AI Tools You Should Check Out (April 2023)  
Quinvio AI Quinvio is an AI video creation tool that enables quick video presentations with an intuitive editor, AI assistance for writing, and an option to choose an AI spokesperson. Ask your PDF AskYourPdf is anAI chatbot that helps users interact with PDF documents easily and extract insights.  
156  
12
24. 24  
[](https://daily.dev/posts/4-vscode-extensions-i-use-when-developing-with-tailwind-ubut2uffr "4 VSCode extensions I use when developing with Tailwind")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
4 VSCode extensions I use when developing with Tailwind  
A post discussing four VSCode extensions that are useful when developing with Tailwind CSS. The extensions include Tailwind CSS IntelliSense, Tailwind Fold, Tailwind Documentation, and Tailwind Config Viewer.  
155  
9
25. 25  
[](https://daily.dev/posts/software-deployment-best-practices-3lozrx5uz "Software Deployment Best Practices")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 3y  
Software Deployment Best Practices  
DZone Software Deployment Best Practices in 2023 Explore the best software development practices that are the proven catalysts for innovation and growth. Join the DZone community and get the full member experience. Join For Free Deployment is the day when the software is finally released to the world.  
152  
4

[See all daily.dev archives](/posts/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/posts/best-of/2023/04#page","url":"https://daily.dev/posts/best-of/2023/04","name":"Best Developer Posts — April 2023","description":"The most upvoted daily.dev posts from April 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/posts/best-of/2023/04#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/react-visualized-react-gg-bisspev15","name":"React, visualized – react.gg"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/6-advanced-typescript-tricks-for-clean-code-zv0zkinsw","name":"6 Advanced TypeScript tricks for Clean Code"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/javascript-solid-principles-how-to-write-maintainable-code-knkof7hxm","name":"JavaScript SOLID Principles: How to Write Maintainable Code"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/8-best-opensource-projects-you-should-try-out-jwsnbjul7","name":"8 best opensource projects you should try out"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/patterns-dev-resources-wrjzj5ycd","name":"Patterns.dev ⏐ Resources"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/introducing-the-tern-stack-and-how-to-migrate-from-mern-to-tern-ifbeeqy4k","name":"Introducing the TERN stack and how to migrate from MERN to TERN"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/best-way-to-learn-linux--xjlflq93k","name":"Best Way to Learn Linux 🎮"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/5-code-refactoring-techniques-to-improve-your-code-1wniqsnuh","name":"5 Code Refactoring Techniques to Improve Your Code"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/folder-structure-for-modern-web-applications-ehl7wbbek","name":"Folder Structure for Modern Web Applications"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/vite-4-3-is-out--w2ocz0jd1","name":"Vite 4.3 is out!"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/10-advanced-git-commands-p4kyadmly","name":"10 Advanced Git Commands"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/how-to-find-open-source-projects--unr2j3f7h","name":"How to find Open Source projects?"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/understanding-database-types-iyyyurcpc","name":"Understanding Database Types"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/password-session-cookie-token-jwt-sso-oauth---authentication-explained---part-1-713xf4khd","name":"Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 1"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/generate-figma-designs-with-ai-8gumaifzu","name":"Generate Figma Designs with AI"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/junior-to-senior-an-action-plan-for-engineering-career-success-bku7ijcvp","name":"Junior to senior: An action plan for engineering career success"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/don-t-learn-a-programming-language-learn-software-engineering-amo2i129e","name":"Don’t Learn a Programming Language. Learn Software Engineering"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/advanced-javascript-concepts-to-write-high-quality-code-that-scales-mkripw8s3","name":"Advanced JavaScript Concepts To Write High-Quality Code That Scales"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/devgpt---the-essential-ai-assistant-for-developers-g7yoaeddw","name":"DevGPT - The Essential AI assistant for Developers"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/the-most-common-react-design-patterns-3uxjuf2yk","name":"The Most Common React Design Patterns"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/web-development-stacks-in-2023-software-trends-qextnj3wc","name":"Web development stacks in 2023 – software trends"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/introducing-the-space-git-flow-ujcki3rno","name":"Introducing the Space Git Flow"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/40-cool-ai-tools-you-should-check-out-april-2023--mccrngoyp","name":"40+ Cool AI Tools You Should Check Out (April 2023)"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/4-vscode-extensions-i-use-when-developing-with-tailwind-ubut2uffr","name":"4 VSCode extensions I use when developing with Tailwind"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/software-deployment-best-practices-3lozrx5uz","name":"Software Deployment Best Practices"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Explore","item":"https://daily.dev/posts"},{"@type":"ListItem","position":3,"name":"Best of","item":"https://daily.dev/posts/best-of"},{"@type":"ListItem","position":4,"name":"April 2023"}]}]}
```

