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

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

1. 1  
[](https://daily.dev/posts/the-complete-guide-to-full-stack-web3-development-wcaeztdpx "The Complete Guide to Full Stack Web3 Development")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
The Complete Guide to Full Stack Web3 Development  
This is the third guide in my "Full Stack" web3 series. Building a full stack web3 app with Next.js, Polygon, Solidity, The Graph, IPFS, and Hardhat. The app we'll be building is a full Stack blog as well as a content management system (CMS)  
233  
12
2. 2  
[](https://daily.dev/posts/this-is-why-your-node-js-application-is-slow-v3umojdzi "This is why your Node.js application is slow")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
This is why your Node.js application is slow  
Many performance-related issues in Node.js applications have to do with how promises are implemented. Async/await blocks the event loop when not correctly used. blocking it means that other parts of the application will suffer because they will not get executed on time and that affects the overall performance.  
95  
6
3. 3  
[](https://daily.dev/posts/how-i-setup-my-development-environment-on-macos-2022-edition-g-oaeb6ig "How I setup my Development Environment on macOS 2022 Edition")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
How I setup my Development Environment on macOS 2022 Edition  
I always prefer to do a clean install when setting up a new computer. Either use a cloud backup solution to restore your data or use an external storage device to transfer your files. I would install all of the apps that I use this includes personal and developer related apps.  
85  
3
4. 4  
[](https://daily.dev/posts/am-i-smart-enough--gn--7xwvq "Am I Smart Enough?")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Am I Smart Enough?  
Before deciding to be a software engineer, I was a fashion designer, grocery store cash office clerk, etc etc. I was never good at math or problem solving, and I certainly do not think rationally or logically in the way "engineers" do. The bootcamp does a well enough job of introducing us to the basics needed to get a job. I often find myself looking to outside resources over and over again on Youtube, Google, Github forums... and I feel like I still don't understand what is going of half of the time.  
77  
4
5. 5  
[](https://daily.dev/posts/moving-from-javascript-to-typescript-rmqfzvi-i "Moving from JavaScript to TypeScript")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Moving from JavaScript to TypeScript  
JavaScript is still one of the most popular programming languages in the world. TypeScript aims to solve a lot of the problems that JavaScript has which makes the language a lot closer to other modern programming languages. In my opinion anyone who hates JavaScript is likely to fall in love with TypeScript.  
67  
2
6. 6  
[](https://daily.dev/posts/learn-nginx-and-its-basics-in-2022-wopj8vvtf "Learn Nginx and its basics in 2022")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Learn Nginx and its basics in 2022  
In this article, I’ll walk through the basics of nginx , installation, and set up locally, setting up logs, and a few others. Nginx is a short form of engine x is an HTTP and reverse proxy server. It is heavily used as a load balancer and serves static files, sometimes even complete static websites.  
66  
1
7. 7  
[](https://daily.dev/posts/fix-your-express-error-handling-now-el1r0wrlh "Fix your Express error handling now")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Fix your Express error handling now  
Express is one of the most influential packages in the Node.js world. It gave us an extremely easy-to-use interface for building REST APIs. It’s so popular that whatever can be put into middleware has probably one made for express already. Express is not actively developed, which is understandable - in the end, it was meant to be unopinionated.  
40  
1
8. 8  
[](https://daily.dev/posts/screaming-architecture---evolution-of-a-react-folder-structure-napt96fer "Screaming Architecture - Evolution of a React folder structure")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Screaming Architecture - Evolution of a React folder structure  
React’s unopinionated approach frequently raises questions: “Where should I put my files? How should I organize my code?” This write-up reflects my observations of these folder structures evolving in a growing codebase. It also includes a short list of best practices and a challenge to turn a design from my upcoming course into a feature-based folder structure.  
32  
1
9. 9  
[](https://daily.dev/posts/why-is-dynamically-adding-properties-slow-in-javascript--foxgxla0h "Why is dynamically adding properties slow in JavaScript?")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Why is dynamically adding properties slow in JavaScript?  
JS gives a lot of freedom but has a performance cost at the same time. Preact developers add all properties in advance and assign undefined/null to yet unknown nodes. JavaScript’s object model defines all objects as dictionaries with string keys mapping to property attributes. Shapes store the "Offset" of the value inside JSObject, instead of the "Value" itself.  
13
10. 10  
[](https://daily.dev/posts/upload-files-with-react-hook-form-uggrwiba2 "Upload files with React Hook Form")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Upload files with React Hook Form  
React Hook Form can be used to handle file upload and file validation (with yup) The file input field will be registered with React Hook Form. The uploaded image will be converted to a Base64 string and shown on form submit. See how we can use this in action here.  
10
11. 11  
[](https://daily.dev/posts/how-to-build-an-html-only-accordion-no-javascript-required--t2vyqar4r "How to build an HTML-only accordion — no JavaScript required!")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
How to build an HTML-only accordion — no JavaScript required!  
Using the details element, we can build an HTML accordion in just four lines of code. By default, the <details> element loads in a closed state. We can load the accordion open by default by adding the open attribute to the < details> element.  
10  
2

[See all DEV archives](/sources/devto/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/devto/best-of/2022/02#page","url":"https://daily.dev/sources/devto/best-of/2022/02","name":"Best DEV Posts — February 2022","description":"The most upvoted DEV posts from February 2022, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/devto/best-of/2022/02#items","numberOfItems":11,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/the-complete-guide-to-full-stack-web3-development-wcaeztdpx","name":"The Complete Guide to Full Stack Web3 Development"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/this-is-why-your-node-js-application-is-slow-v3umojdzi","name":"This is why your Node.js application is slow"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/how-i-setup-my-development-environment-on-macos-2022-edition-g-oaeb6ig","name":"How I setup my Development Environment on macOS 2022 Edition"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/am-i-smart-enough--gn--7xwvq","name":"Am I Smart Enough?"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/moving-from-javascript-to-typescript-rmqfzvi-i","name":"Moving from JavaScript to TypeScript"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/learn-nginx-and-its-basics-in-2022-wopj8vvtf","name":"Learn Nginx and its basics in 2022"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/fix-your-express-error-handling-now-el1r0wrlh","name":"Fix your Express error handling now"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/screaming-architecture---evolution-of-a-react-folder-structure-napt96fer","name":"Screaming Architecture - Evolution of a React folder structure"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/why-is-dynamically-adding-properties-slow-in-javascript--foxgxla0h","name":"Why is dynamically adding properties slow in JavaScript?"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/upload-files-with-react-hook-form-uggrwiba2","name":"Upload files with React Hook Form"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/how-to-build-an-html-only-accordion-no-javascript-required--t2vyqar4r","name":"How to build an HTML-only accordion — no JavaScript required!"}]},{"@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":"DEV","item":"https://daily.dev/sources/devto"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/devto/best-of"},{"@type":"ListItem","position":5,"name":"February 2022"}]}]}
```

