<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/general-programming/best-of/2022/01" -->

---
title: Best General Programming posts — January 2022 | daily.dev
description: The most upvoted General Programming posts from January 2022, curated by the daily.dev community.
canonical: https://daily.dev/tags/general-programming/best-of/2022/01
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/general-programming/best-of/2022/01
og:type: website
og:site_name: daily.dev
og:title: Best General Programming posts — January 2022 | daily.dev
og:description: The most upvoted General Programming posts from January 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 General Programming — January 2022

1. 1  
[](/posts/how-to-write-better-git-commit-messages-a-step-by-step-guide--kofjpyn "How to Write Better Git Commit Messages – A Step-By-Step Guide")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 5y  
How to Write Better Git Commit Messages – A Step-By-Step Guide  
This guide outlines steps to elevate your commit messages that you can start implementing today. When first introduced to Git, it's typical for developers to feel uncomfortable with the process. You could save yourself and/or coworkers hours of digging around while troubleshooting by providing that helpful description.  
464  
46
2. 2  
[](/posts/a-swiss-army-knife-for-developers-ipc3yh-r0 "A Swiss Army knife for developers")  
Article  
![Avatar of pointer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/65d4168582f14e0cb2b46693356e66f1)Pointer · 5y  
A Swiss Army knife for developers  
DevToys works entirely offline! No need to use many untruthful websites to do simple tasks with your data. Free, open source and offline. 14+ tools are available, including: JWT decoder, Hash generator and Json to Yaml converter.  
352  
37
3. 3  
[](/posts/how-we-handle-80tb-and-5m-page-views-a-month-for-under-400-1-nzfbgsn "How we handle 80TB and 5M page views a month for under $400")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 5y  
How we handle 80TB and 5M page views a month for under $400  
Poly Haven has 5 million pageviews and 80 terabytes of traffic every month for under $400\. Cloudflare All the Way is the reason we can do what we do so easily and so affordably. Nextjs is a framework created by Vercel which improves performance for users around the world.  
213  
16
4. 4  
[](/posts/time-to-say-goodbye-to-webpack--enrnnxxhl "Time to Say Goodbye to Webpack?")  
Article  
![Avatar of jsPlainEnglish](https://media.daily.dev/image/upload/s--Dg5QTRuI--/f_auto,q_auto/v1686665538/logos/pe)JavaScript in Plain English · 5y  
Time to Say Goodbye to Webpack?  
Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects. Vite is opinionated and comes with sensible defaults out of the box, but is also highly extensible via its plugin API and JavaScript API with full typing support.  
191  
9
5. 5  
[](/posts/how-not-to-learn-typescript-jz3ywx6ze "How not to learn TypeScript")  
Article  
![Avatar of fettblog](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/7ed17b042af344c58e5cfebd1680b30f)fettblog.eu · 5y  
How not to learn TypeScript  
TypeScript is a superset of JavaScript and has been advertised like this ever since. Choosing TypeScript does not give you a free card to ditch JavaScript and its erratic behavior. Understanding JavaScript is key to understanding TypeScript. A type annotation is a way to explicitly tell which types to expect. The opposite is type inference, where TypeScript tries to figure out the type for you.  
168  
7
6. 6  
[](/posts/8-ways-to-drastically-boost-your-developer-productivity-a8ewpjvu7 "8 Ways To Drastically Boost Your Developer Productivity")  
Article  
![Avatar of devgenius](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a79144d7517043e7803ed562e45a99df)Dev Genius · 5y  
8 Ways To Drastically Boost Your Developer Productivity  
8 ways to boost your developer productivity with these 8 tips. Automate repetitive tasks with scripts. Use a real debugger instead of printing variables. Back up your local database with Bash Scripts. Use the right tool for the job and don't forget the possibility that you might accidentally commit your work to memory.  
166  
4
7. 7  
[](/posts/8-techniques-to-write-cleaner-javascript-code-rc0vlsf-u "8 techniques to write cleaner JavaScript code")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
8 techniques to write cleaner JavaScript code  
In this article, we're going to look at 8 different techniques to help you write cleaner JavaScript code. Pure Functions are a function that always returns the same output, given the same input(s) Fewer or Named parameters are a good way to make your code cleaner.  
162  
8
8. 8  
[](/posts/productivity-tips-from-developers-to-developers-ri2d0egom "Productivity Tips From Developers to Developers")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Productivity Tips From Developers to Developers  
Avoid coding first, most likely what you are solving has already been solved. Abstraction is at the core of programming. Caching is a performance optimization and cause of many subtle bugs. There is no one way to do something and learn early on to formulate your options, pros and cons.  
135  
4
9. 9  
[](/posts/the-baseline-for-web-development-in-2022-2l4cghrwh "The baseline for web development in 2022")  
Article  
![Avatar of pointer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/65d4168582f14e0cb2b46693356e66f1)Pointer · 5y  
The baseline for web development in 2022  
Alan Dávalos is a front-end engineer at LINE. He analyzed the changes in the web between 2021 and 2022\. The biggest change that happened in 2021 was the retirement of Internet Explorer (IE) The new baseline for web development in 2022 is: low-spec Android devices in terms of performance, Safari from two years before in Terms of Web Standards, and 4G.  
126  
8
10. 10  
[](/posts/modern-tools-for-php-developers-rnzpjes6v "Modern tools for PHP developers")  
Article  
![Avatar of logrocket](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/logrocket)LogRocket · 5y  
Modern tools for PHP developers  
PHP used to be a mediocre tool, and that’s probably an understatement. Since being rewritten in v5.0, the evolution of the language and its tools has been impressive. With the complexities involved in web development nowadays, you can’t judge the language in isolation. You need to be aware of all the satellite technologies that help you create high-quality software.  
97  
5
11. 11  
[](/posts/vision-ui-dashboard---open-source-chakra-ui-material-ui-dashboard-ovfkz8tbl "Vision UI Dashboard - Open Source Chakra UI / Material UI Dashboard")  
Article  
![Avatar of ph](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ph)Product Hunt · 5y  
Vision UI Dashboard - Open Source Chakra UI / Material UI Dashboard  
94  
3
12. 12  
[](/posts/figma-for-developers-snpijy-j7 "Figma for Developers")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
Figma for Developers  
Figma is a free and widely-used UI design tool. It lets developers and designers understand each other's tools and priorities. Figma files are organized by Pages (think screens of your application), which each contain Frames. Prototype allows the designer to hook all the Frames together into a clickable prototype.  
88  
5
13. 13  
[](/posts/devtoys---swiss-army-knife-for-developers-7ntdumdys "DevToys - Swiss army knife for developers")  
Article  
![Avatar of ph](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ph)Product Hunt · 5y  
DevToys - Swiss army knife for developers  
A collection of converters, formaters, encoders, generators and other tools for your Windows desktop. Needs no internet connection to work and currently contains more than 14 tools. Makes me want to go back to Windows. Back to Mail Online home. Back To the page you came from.  
81  
6
14. 14  
[](/posts/php-in-2022-62y8rykkx "PHP in 2022")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 5y  
PHP in 2022  
PHP 8.1 was released just a little more than one month ago. New features include enums, promoted properties and fibers. PhpStorm is now supporting generics when writing code. The PHP Foundation is stepping down to make core development sustainable. There's also a new initiative backed by several big companies to make PHP sustainable.  
81  
3
15. 15  
[](/posts/vs-code-extension-that-generates-documentation-using-ai-dfywh-kbi "VS Code Extension that Generates Documentation Using AI")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
VS Code Extension that Generates Documentation Using AI  
There's a fairly new extension on the VS Code marketplace called AI Doc Writer for JavaScript, TypeScript, and Python. I put it to the test to see how good it really is. Here's how it fared on some JS code:. The function is used to collect the data from the repository. :return: A matrix of the dataset. ''' response = get( "https://raw.github.com/yashLadha/" + "The\_Math\_of\_Intelligence/master/Week1/ADRvs" + "Rating.csv" ) lines = \[\] for item in lines: item = item.split(",") data.pop(0  
75  
6
16. 16  
[](/posts/how-streaming-video-on-the-internet-works-hbntwctap "How Streaming Video on the Internet Works")  
Article  
![Avatar of quastor](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/073e935e4893445ba562bf9e1ca38ec1)Quastor Daily · 5y  
How Streaming Video on the Internet Works  
How Notion sharded their Postgres databases into a horizontally-partitioned database fleet. What is HLS and how does it work The MP4 and WebM formats How video files are delivered and the origin server vs. the CDNPlus, a couple awesome tech snippets on How a Single Line of Code Made a 24-core Server Slower Than a Laptop.  
64  
3
17. 17  
[](/posts/obsidian-is-a-notion-alternative-for-hardcore-markdown-users-for-creating-knowledge-graph-of-notes-pliqpgw-j "Obsidian is a Notion Alternative for Hardcore Markdown Users for Creating Knowledge Graph of Notes")  
Article  
![Avatar of itsfoss](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/582e3faed71842bfb9d3840a787d6700)It's Foss · 5y  
Obsidian is a Notion Alternative for Hardcore Markdown Users for Creating Knowledge Graph of Notes  
Obsidian Markdown Editor is a free-to-use Markdown editor for Linux. You can use it to interlink your documents and display them in a graphical view. It also has a command palette (located in the left sidebar of the editor) that allows you to control various aspects of theeditor.  
60  
3
18. 18  
[](/posts/top-front-end-development-trends-in-2022-nbonzxzcs "Top Front End Development Trends in 2022")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 5y  
Top Front End Development Trends in 2022  
Front-end development is the creation of a web portal user interface using coding and other applications such as HTML, CSS, and JavaScript. Front-end developers need to make sure that the interface is attractive, user-friendly, and navigable. In this article, we are going to learn about some of the most preferred front- end development trends to be adopted in 2022.  
58  
3
19. 19  
[](/posts/production-code-top-5-best-practices-wag5hvhjh "Production code: Top 5 Best practices")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected · 5y  
Production code: Top 5 Best practices  
Make your objects immutable. Enums for well-defined values should be used. Choose the correct logging level. Never sensitive data like passwords or other personal information. Use standard loggers in any language, but this should be taken care of. Try to ensure that messages are in top-parsable format.  
57  
1
20. 20  
[](/posts/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps-0xfjrwak8 "Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 5y  
Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps  
Users of popular open-source libraries 'colors' and 'faker' were left stunned after they saw their applications, using these libraries, printing gibberish data and breaking. The developer of these libraries intentionally introduced an infinite loop that bricked thousands of projects that depend on them. The reason behind this mischief on the developer's part appears to be retaliation against mega-corporations and commercial consumers who rely on cost-free and community-powered software.  
57  
7
21. 21  
[](/posts/30-seconds-of-code-6ztve671 "30 seconds of code")  
Article  
![Avatar of 30seconds](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/197d6538eea141d7a2fb4177234e9d89)30 seconds of code · 5y  
30 seconds of code  
Knowing what DNS stands for and the types of DNS records are pretty useful. Most web developers go about their day-to-day without having to deal with DNS records. A DNS is made up of multiple records of different types, each one with its own purpose. Here's a breakdown of the most commonly-used ones.  
57  
4
22. 22  
[](/posts/solid-principles-with-almost-real-life-examples-in-java-s-jedy6ag "SOLID Principles With (almost) Real-Life Examples in Java")  
Article  
![Avatar of btrprog](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/d957a1c828884dbb9543ba3e0beb6bc7)Better Programming · 5y  
SOLID Principles With (almost) Real-Life Examples in Java  
Each class should have only one sole purpose, and not be filled with excessive functionality. Open-Closed Principle Classes should be open for extension, closed for modification. Interface Segregation Principle Interfaces should not force classes to implement what they can’t do. Dependency Inversion Principle Components should depend on abstractions, not on concretions.  
54  
2
23. 23  
[](/posts/creating-dashboards-in-react-with-react-dashboard-y2aac32xp "Creating dashboards in React with React Dashboard")  
Article  
![Avatar of logrocket](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/logrocket)LogRocket · 5y  
Creating dashboards in React with React Dashboard  
The Flatologic dashboard template is built with React, Bootstrap, React Router, Redux, and GraphQL. It comes with a React frontend and a Node.js backend. This tutorial will cover how to create a dashboard in three easy steps. We will connect it to an SQL database with MAMP so you have some local data.  
54  
2
24. 24  
[](/posts/i-ve-read-the-pragmatic-programmer-wxypjqozf "I've read... The Pragmatic Programmer")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 5y  
I've read... The Pragmatic Programmer  
The Pragmatic Programmer is a book about becoming a true professional in their craft. It was published twenty years ago, but it's fascinating to see the struggles we still face day in and day out discussed even then. It's definitely a must-read book for programmers and even people managing programmers.  
48  
4
25. 25  
[](/posts/learn-reactjs-complete-roadmap-dlwz-bbsc "Learn ReactJS – Complete Roadmap")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 5y  
Learn ReactJS – Complete Roadmap  
ReactJS (aka React) is an open-source JavaScript-based user interface library. It is insanely popular in web development communities today. In this article, we will look at a complete roadmap to learn ReactJS. We will break the entire roadmap into four phases: What to learn before React, How to move from beginner to intermediate, and How to go from intermediate to advanced.  
46  
1

[See all General Programming archives](/tags/general-programming/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/tags/general-programming/best-of/2022/01#page","url":"https://daily.dev/tags/general-programming/best-of/2022/01","name":"Best General Programming Posts — January 2022","description":"The most upvoted General Programming posts from January 2022, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/general-programming/best-of/2022/01#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/how-to-write-better-git-commit-messages-a-step-by-step-guide--kofjpyn","name":"How to Write Better Git Commit Messages – A Step-By-Step Guide"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/a-swiss-army-knife-for-developers-ipc3yh-r0","name":"A Swiss Army knife for developers"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/how-we-handle-80tb-and-5m-page-views-a-month-for-under-400-1-nzfbgsn","name":"How we handle 80TB and 5M page views a month for under $400"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/time-to-say-goodbye-to-webpack--enrnnxxhl","name":"Time to Say Goodbye to Webpack?"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/how-not-to-learn-typescript-jz3ywx6ze","name":"How not to learn TypeScript"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/8-ways-to-drastically-boost-your-developer-productivity-a8ewpjvu7","name":"8 Ways To Drastically Boost Your Developer Productivity"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/8-techniques-to-write-cleaner-javascript-code-rc0vlsf-u","name":"8 techniques to write cleaner JavaScript code"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/productivity-tips-from-developers-to-developers-ri2d0egom","name":"Productivity Tips From Developers to Developers"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/the-baseline-for-web-development-in-2022-2l4cghrwh","name":"The baseline for web development in 2022"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/modern-tools-for-php-developers-rnzpjes6v","name":"Modern tools for PHP developers"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/vision-ui-dashboard---open-source-chakra-ui-material-ui-dashboard-ovfkz8tbl","name":"Vision UI Dashboard - Open Source Chakra UI / Material UI Dashboard"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/figma-for-developers-snpijy-j7","name":"Figma for Developers"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/devtoys---swiss-army-knife-for-developers-7ntdumdys","name":"DevToys - Swiss army knife for developers"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/php-in-2022-62y8rykkx","name":"PHP in 2022"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/vs-code-extension-that-generates-documentation-using-ai-dfywh-kbi","name":"VS Code Extension that Generates Documentation Using AI"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/how-streaming-video-on-the-internet-works-hbntwctap","name":"How Streaming Video on the Internet Works"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/obsidian-is-a-notion-alternative-for-hardcore-markdown-users-for-creating-knowledge-graph-of-notes-pliqpgw-j","name":"Obsidian is a Notion Alternative for Hardcore Markdown Users for Creating Knowledge Graph of Notes"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/top-front-end-development-trends-in-2022-nbonzxzcs","name":"Top Front End Development Trends in 2022"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/production-code-top-5-best-practices-wag5hvhjh","name":"Production code: Top 5 Best practices"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps-0xfjrwak8","name":"Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/30-seconds-of-code-6ztve671","name":"30 seconds of code"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/solid-principles-with-almost-real-life-examples-in-java-s-jedy6ag","name":"SOLID Principles With (almost) Real-Life Examples in Java"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/creating-dashboards-in-react-with-react-dashboard-y2aac32xp","name":"Creating dashboards in React with React Dashboard"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/i-ve-read-the-pragmatic-programmer-wxypjqozf","name":"I've read... The Pragmatic Programmer"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/learn-reactjs-complete-roadmap-dlwz-bbsc","name":"Learn ReactJS – Complete Roadmap"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"General Programming","item":"https://daily.dev/tags/general-programming"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/general-programming/best-of"},{"@type":"ListItem","position":5,"name":"January 2022"}]}]}
```

