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

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

1. 1  
[](https://daily.dev/posts/react-js-best-practices-waoh0crtk "React JS Best Practices")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
React JS Best Practices  
The React style guide is a set of recommendations for writing clean, maintainable code with React. Hooks are a new feature in React that allow you to use state and other React features without writing a class. The React memo higher-order component is a way to optimize the performance of your functional components.  
188  
14
2. 2  
[](https://daily.dev/posts/handling-errors-like-a-pro-in-typescript-koib2rsy3 "Handling errors like a pro in TypeScript")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
Handling errors like a pro in TypeScript  
The correct answer is to narrow the type of error, and we’ll look at how to do that, but why is this even necessary? In JavaScript, just about anything can be thrown: The error that is caught truly is unknown. When the error is caught we can narrow the error type by using Once narrowed, gives us intellisense.  
92  
6
3. 3  
[](https://daily.dev/posts/why-you-should-use-islands-architecture-ozg6nbevu "Why You Should Use Islands Architecture")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
Why You Should Use Islands Architecture  
In 2013, the Facebook-backed React barreled onto the web development scene offering a completely new way of rendering web applications. Instead of rendering pages on the server and shipping them to the client, developers could use React to create Single Page Applications (SPAs) that were rendered on the client side.  
74  
5
4. 4  
[](https://daily.dev/posts/data-fetching-fetch-api-approach-vs-swr-approach-th6uxkeip "Data Fetching: FETCH API Approach vs SWR Approach")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
Data Fetching: FETCH API Approach vs SWR Approach  
Fetching is a method of receiving and sending data provided to us by JavaScript. The Fetch API method has an asynchronous nature. It is not a method that can be used alone as a substitute for FETCH API. In the Single Page Application method, there is usually no need to load a web page from scratch.  
73  
4
5. 5  
[](https://daily.dev/posts/how-webpack-works--nrgzbdycy "How Webpack works?")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
How Webpack works?  
Webpack is a commonly used library among modern frontend-based applications. It is a decade-old and battle-tested library. Many of the full-fledged frontend frameworks like NextJS, and Gatsby use webpack for bundling and compilation purposes by default.  
64  
1
6. 6  
[](https://daily.dev/posts/optimizing-react-components-with-the-reconciliation-mechanism-tips-and-best-practices-a5vao3a6b "Optimizing React Components with the Reconciliation Mechanism: Tips and Best Practices")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
Optimizing React Components with the Reconciliation Mechanism: Tips and Best Practices  
Reconciliation is the process by which React updates the UI in response to changes in data. It is a key feature of React that enables developers to build applications that are fast, responsive, and maintainable. By understanding and optimizing the reconciliation process, developers can build efficient and performant applications with React.  
45  
12
7. 7  
[](https://daily.dev/posts/battle-of-the-giants-github-copilot-vs-chatgpt--rx6gz-pqi "Battle of the Giants: GitHub Copilot vs ChatGPT ⚔️⚔️")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
Battle of the Giants: GitHub Copilot vs ChatGPT ⚔️⚔️  
GitHub Copilot is a tool to help developers write code faster. The release of ChatGPT sent ripples through the programming community as it could come up with incredible code snippets. The first time it generated incorrect code, and the next attempt was better Weirdly it works without the API key.  
35  
3
8. 8  
[](https://daily.dev/posts/docklight-a-gui-that-visualizes-your-docker-container-metrics-sqsgqzewg "Docklight: a GUI that visualizes your Docker container metrics")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
Docklight: a GUI that visualizes your Docker container metrics  
Docklight is a GUI that visualizes your Docker container metrics. It is an open-source tool that communicates directly with your Docker Daemon. Docklight runs on the localhost of your machine, and once clicked on, our metric pages immediately pull streams of information from your Daemon and display them in clean, beautiful, readable charts.  
33
9. 9  
[](https://daily.dev/posts/deployment-is-harder-than-coding-vlqmryn2n "Deployment is harder than coding")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
Deployment is harder than coding  
The work that goes into deployment is just as hard, if not harder, than writing the code. The pipelines, integration checks, and failover mechanisms are a huge part of the application. DevOps engineers are the kindest, calmest, and most easy-going among all of us.  
28  
2
10. 10  
[](https://daily.dev/posts/the-power-of-typescript-decorators-real-cases-decorating-class-methods--rg5zulvrn "The power of TypeScript decorators: real cases. Decorating class methods.")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 4y  
The power of TypeScript decorators: real cases. Decorating class methods.  
The power of TypeScript decorators: real cases. Decorating class methods. The technology itself can be classified as metaprogramming or declarative programming. Using decorators, we can avoid code duplication by encapsulating a cross-cutting concern in a standalone module.  
28  
2

[See all Medium archives](/sources/medium%5Fjs/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/medium_js/best-of/2022/12#page","url":"https://daily.dev/sources/medium_js/best-of/2022/12","name":"Best Medium Posts — December 2022","description":"The most upvoted Medium posts from December 2022, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/medium_js/best-of/2022/12#items","numberOfItems":10,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/react-js-best-practices-waoh0crtk","name":"React JS Best Practices"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/handling-errors-like-a-pro-in-typescript-koib2rsy3","name":"Handling errors like a pro in TypeScript"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/why-you-should-use-islands-architecture-ozg6nbevu","name":"Why You Should Use Islands Architecture"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/data-fetching-fetch-api-approach-vs-swr-approach-th6uxkeip","name":"Data Fetching: FETCH API Approach vs SWR Approach"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/how-webpack-works--nrgzbdycy","name":"How Webpack works?"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/optimizing-react-components-with-the-reconciliation-mechanism-tips-and-best-practices-a5vao3a6b","name":"Optimizing React Components with the Reconciliation Mechanism: Tips and Best Practices"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/battle-of-the-giants-github-copilot-vs-chatgpt--rx6gz-pqi","name":"Battle of the Giants: GitHub Copilot vs ChatGPT ⚔️⚔️"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/docklight-a-gui-that-visualizes-your-docker-container-metrics-sqsgqzewg","name":"Docklight: a GUI that visualizes your Docker container metrics"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/deployment-is-harder-than-coding-vlqmryn2n","name":"Deployment is harder than coding"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/the-power-of-typescript-decorators-real-cases-decorating-class-methods--rg5zulvrn","name":"The power of TypeScript decorators: real cases. Decorating class methods."}]},{"@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":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/medium_js/best-of"},{"@type":"ListItem","position":5,"name":"December 2022"}]}]}
```

