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

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

1. 1  
[](https://daily.dev/posts/sharing-a-state-between-windows-without-a-serve-nrutfuxaj "Sharing a state between windows without a serve")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Sharing a state between windows without a serve  
Learn how to share a state between multiple windows without a server by using Local Storage and Shared Workers. Understand the concept of Shared Workers and their role in communication between instances of the same script.

1.3K  
41
2. 2  
[](https://daily.dev/posts/resources-i-wish-i-knew-when-i-started-my-career-jgcjd4klu "Resources I wish I knew when I started my career")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Resources I wish I knew when I started my career  
Useful resources and tips for new software industry professionals.  
682  
27
3. 3  
[](https://daily.dev/posts/uiverse-io-2-0---3500-ui-elements-copy-the-code-or-use-in-figma--lee07viva "Uiverse.io 2.0 - +3500 UI Elements, copy the code or use in Figma!")  
Article  
![Avatar of ph](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ph)Product Hunt · 3y  
Uiverse.io 2.0 - +3500 UI Elements, copy the code or use in Figma!  
Uiverse.io 2.0 offers over 3,500 open-source UI elements, Figma Copy & Paste, new categories like Forms and Tooltips, a sleek UI, and a GitHub repository.  
471  
7
4. 4  
[](https://daily.dev/posts/js-design-patterns-a-comprehensive-guide-dpzxwdek4 "JS Design Patterns: A Comprehensive Guide")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
JS Design Patterns: A Comprehensive Guide  
This post explores a range of essential design patterns in JavaScript, encompassing creational, structural, and behavioral patterns. By leveraging these design patterns, JavaScript developers can improve code reusability, maintainability, and overall system performance.  
464  
8
5. 5  
[](https://daily.dev/posts/html-can-do-this-part-1-bboctxbfd "HTML can do this? Part 1")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
HTML can do this? Part 1  
Discover some cool things that HTML can do, including creating open/close widgets, linking to email addresses and telephone numbers, using autocomplete in a list, and modifying text directly.  
451  
14
6. 6  
[](https://daily.dev/posts/fetch-api-do-you-really-know-how-to-handle-errors--4o6kwel5d "Fetch API, do you really know how to handle errors?")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Fetch API, do you really know how to handle errors?  
Learn how to handle errors when using the Fetch API and understand the best practices for error handling. Discover different approaches, such as using try/catch and checking the response status, and how to combine them for better error handling.  
415  
18
7. 7  
[](https://daily.dev/posts/daisyui-tailwind-css-components-version-4-update-is-here--2inwzemtw "daisyUI — Tailwind CSS Components ( version 4 update is here )")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
daisyUI — Tailwind CSS Components ( version 4 update is here )  
daisyUI is a plugin for Tailwind CSS that adds component class names for common UI elements, reducing the need for writing utility class names. It also offers customizable color names and a theme generator. With daisyUI, developers can create beautiful websites faster and with less code.  
408  
19
8. 8  
[](https://daily.dev/posts/svg-tutorial-6zkocwjmr "SVG Tutorial")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
SVG Tutorial  
Learn to code SVG images step by step. Topics include drawing basic shapes, using clip-path, and creating background patterns with SVG and CSS.  
370  
17
9. 9  
[](https://daily.dev/posts/modern-css-for-2024-nesting-layers-and-container-queries-kcdbwmmu5 "Modern CSS for 2024: Nesting, Layers, and Container Queries")  
Article  
![Avatar of builderio](https://media.daily.dev/image/upload/s--jap1dv3o--/f_auto/v1721914613/squads/builderio)builder.io · 3y  
Modern CSS for 2024: Nesting, Layers, and Container Queries  
Explore the latest CSS features including native CSS nesting, layers, and container queries. Discover how these features can improve your CSS code and make responsive design easier.  
346  
15
10. 10  
[](https://daily.dev/posts/4-simple-software-engineering-habits-that-transformed-my-productivity-ntzhiaycj "4 simple software engineering habits that transformed my productivity")  
Article  
![Avatar of substack](https://media.daily.dev/image/upload/s--KFqxX_OL--/f_auto,t_logo/v1698154293/logos/substack.jpg)Substack · 3y  
4 simple software engineering habits that transformed my productivity  
Discover key habits that can transform productivity in software engineering, including leaving work slightly unfinished, improving keyboard and mouse shortcuts, keeping a list of searchable commands and links, and learning to say 'no'.  
342  
6
11. 11  
[](https://daily.dev/posts/in-2024-please-switch-to-firefox-tercqwvko "In 2024, please switch to Firefox")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
In 2024, please switch to Firefox  
Switching to Firefox in 2024 is important for privacy reasons and to avoid a browser engine monopoly. Firefox is a fast and modern browser that can be used on multiple platforms.  
318  
63
12. 12  
[](https://daily.dev/posts/15-ai-tools-for-developers-december-2023--usmc6kbtu "15+ AI Tools For Developers (December 2023)")  
Article  
![Avatar of mlnews](https://media.daily.dev/image/upload/s--0PoEtdkd--/f_auto/v1750409401/squads/marktechpost?_a=BAMClqZW0)Machine Learning News · 3y  
15+ AI Tools For Developers (December 2023)  
Discover AI tools for developers that can enhance code quality, improve productivity, generate code documentation, and automate writing tasks.  
313  
8
13. 13  
[](https://daily.dev/posts/make-your-linux-terminal-enjoyable-to-use-zsyn2d0nl "Make Your Linux Terminal Enjoyable to Use")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Make Your Linux Terminal Enjoyable to Use  
Learn how to make your Linux terminal more enjoyable by using ZSH, Oh-My-Zsh, custom plugins, and custom themes. Also, discover popular Git aliases.  
310  
17
14. 14  
[](https://daily.dev/posts/rust-why-js-devs-are-switching-to-it--ostc8jnox "Rust 🦀: Why JS devs are switching to it?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Rust 🦀: Why JS devs are switching to it?  
Rust is gaining popularity among JavaScript and TypeScript developers. It offers a distinct memory management system, strict rules for borrowing, explicit mutability, and is a compiled language. Rust also has static and strong typing, with a focus on robust error handling.  
291  
48
15. 15  
[](https://daily.dev/posts/create-a-virtual-world-with-javascript-5gtzoschy "Create a Virtual World with JavaScript")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
Create a Virtual World with JavaScript  
Learn how to create a virtual world using JavaScript, HTML, and CSS. The course covers building a spatial graph, user-friendly interfaces, generating road borders and buildings, loading real-world data, and more.  
291  
8
16. 16  
[](https://daily.dev/posts/you-don-t-need-javascript-for-that-ghdrvlg6e "You don't need JavaScript for that")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
You don't need JavaScript for that  
The article discusses the rule of least power in web development, which advocates for choosing the least powerful language suitable for a given purpose. It highlights examples of using native HTML and CSS instead of JavaScript, such as creating custom switches, using the datalist element for autosuggest, utilizing the native color picker, implementing accordions, and using dialog modals. The article also mentions future features that will further reduce the need for JavaScript.  
285  
14
17. 17  
[](https://daily.dev/posts/2024-s-tech-trend-frontend-for-backend-30xjamaah "2024’s Tech Trend: Frontend for Backend")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
2024’s Tech Trend: Frontend for Backend  
Frontend for Backend (FFB) is a development approach that integrates admin panels into web applications to make backend management more efficient and user-friendly. It simplifies the development process for frontend developers and allows for quick and easy adjustments through the frontend.  
281  
19
18. 18  
[](https://daily.dev/posts/tips-to-use-github-as-your-portfolio-u9bxao1ji "Tips to use GitHub as your Portfolio")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
Tips to use GitHub as your Portfolio  
Tips on how to use GitHub as your portfolio, including creating a README, filling in the left column, and pinning projects.  
274  
10
19. 19  
[](https://daily.dev/posts/best-practices-for-api-authorization-scn66fitb "Best-Practices for API Authorization")  
Article  
![Avatar of permitio](https://media.daily.dev/image/upload/s--f7Qc9FEp--/f_auto/v1709632968/squads/permitio)Permit.io · 3y  
Best-Practices for API Authorization  
Learn about API authorization actors, models, and layers. Explore best practices for managing API authorization and discover advanced tools like OPAL and Permit.io.  
261  
1
20. 20  
[](https://daily.dev/posts/next-js-14-layouts-vs-templates-msqo4eh1r "Next.js 14: Layouts vs Templates")  
Article  
![Avatar of builderio](https://media.daily.dev/image/upload/s--jap1dv3o--/f_auto/v1721914613/squads/builderio)builder.io · 3y  
Next.js 14: Layouts vs Templates  
Next.js 14 introduced layouts and templates for building UI in web applications. Layouts act as persistent UI shells that wrap around pages, while templates remount with each page transition. Layouts ensure consistency, maintain state, and boost performance, while templates provide isolation, behavioral flexibility, and the ability to alter default behaviors. Choosing between layouts and templates depends on the specific needs of each page and the desired balance between user experience and performance.  
248  
5
21. 21  
[](https://daily.dev/posts/linkedin-but-better-lxslplfgk "LinkedIn, But Better")  
Article  
![Avatar of bootcampuxdesign](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/783d406409974af0b6d330edc3d09048)Bootcamp · 3y  
LinkedIn, But Better  
The article discusses the need for a redesign of LinkedIn due to UX frustrations, such as a lack of a 'Saved' option and limited article discoverability. The redesign aims to make the platform more accessible, less cluttered, and personalized. It introduces features like a 'Saved' option, improved networking functions, a home screen for 'Stories,' and a separate tab for articles. The design also focuses on dark mode, consistent icons and components, and a standardized notification format.  
247  
8
22. 22  
[](https://daily.dev/posts/collections--m0nioahkd "Collections 🗞️")  
Article  
![Avatar of daily_updates](https://media.daily.dev/image/upload/s--COeiQtov--/f_auto/v1704465510/squads/daily_updates)daily.dev Changelog · 3y  
Collections 🗞️  
Collections, powered by AI, compile a summary of tech news from multiple sources into a single post. You can save time by quickly grasping the full scope of a story, and they have the option to subscribe to a collection for ongoing updates.  
244  
29
23. 23  
[](https://daily.dev/posts/ui-ux-design-trends-for-2024-yn5idzfd6 "UI/UX Design Trends For 2024")  
Article  
![Avatar of uxplanet](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/45df2b4bdc604c15aa75bc4e9c5f493c)UX Planet · 3y  
UI/UX Design Trends For 2024  
The post discusses various UI/UX design trends for 2024, including generative design, bold typography, complex and animated gradients, glassmorphism, augmented reality, parallax effect, brutalism, and hyperrealism.  
238  
9
24. 24  
[](https://daily.dev/posts/learn-javascript-by-building-21-projects-a-major-freecodecamp-curriculum-update-lgzgghtqr "Learn JavaScript by Building 21 Projects – a Major freeCodeCamp Curriculum Update")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 3y  
Learn JavaScript by Building 21 Projects – a Major freeCodeCamp Curriculum Update  
freeCodeCamp has launched a major update to the JavaScript Algorithms and Data Structures Certification. Readers can now learn JavaScript by building 21 projects, including certification projects. The projects cover a wide range of topics and concepts, such as form validation, string and array methods, recursion, functional programming, regular expressions, object-oriented programming, and more.  
217  
3
25. 25  
[](https://daily.dev/posts/a-modern-approach-to-react-development-aouoowkvv "A Modern Approach to React Development")  
Article  
![Avatar of bit](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/bit)Bits and Pieces · 3y  
A Modern Approach to React Development  
Learn about a modern and efficient solution for React development called Bit. It allows for component isolation, code sharing, specialization, collaboration, and better testability. See how to install Bit in a React project and explore the benefits of using it for React development.  
207  
8

[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/12#page","url":"https://daily.dev/posts/best-of/2023/12","name":"Best Developer Posts — December 2023","description":"The most upvoted daily.dev posts from December 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/posts/best-of/2023/12#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/sharing-a-state-between-windows-without-a-serve-nrutfuxaj","name":"Sharing a state between windows without a serve"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/resources-i-wish-i-knew-when-i-started-my-career-jgcjd4klu","name":"Resources I wish I knew when I started my career"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/uiverse-io-2-0---3500-ui-elements-copy-the-code-or-use-in-figma--lee07viva","name":"Uiverse.io 2.0 - +3500 UI Elements, copy the code or use in Figma!"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/js-design-patterns-a-comprehensive-guide-dpzxwdek4","name":"JS Design Patterns: A Comprehensive Guide"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/html-can-do-this-part-1-bboctxbfd","name":"HTML can do this? Part 1"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/fetch-api-do-you-really-know-how-to-handle-errors--4o6kwel5d","name":"Fetch API, do you really know how to handle errors?"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/daisyui-tailwind-css-components-version-4-update-is-here--2inwzemtw","name":"daisyUI — Tailwind CSS Components ( version 4 update is here )"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/svg-tutorial-6zkocwjmr","name":"SVG Tutorial"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/modern-css-for-2024-nesting-layers-and-container-queries-kcdbwmmu5","name":"Modern CSS for 2024: Nesting, Layers, and Container Queries"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/4-simple-software-engineering-habits-that-transformed-my-productivity-ntzhiaycj","name":"4 simple software engineering habits that transformed my productivity"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/in-2024-please-switch-to-firefox-tercqwvko","name":"In 2024, please switch to Firefox"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/15-ai-tools-for-developers-december-2023--usmc6kbtu","name":"15+ AI Tools For Developers (December 2023)"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/make-your-linux-terminal-enjoyable-to-use-zsyn2d0nl","name":"Make Your Linux Terminal Enjoyable to Use"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/rust-why-js-devs-are-switching-to-it--ostc8jnox","name":"Rust 🦀: Why JS devs are switching to it?"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/create-a-virtual-world-with-javascript-5gtzoschy","name":"Create a Virtual World with JavaScript"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/you-don-t-need-javascript-for-that-ghdrvlg6e","name":"You don't need JavaScript for that"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/2024-s-tech-trend-frontend-for-backend-30xjamaah","name":"2024’s Tech Trend: Frontend for Backend"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/tips-to-use-github-as-your-portfolio-u9bxao1ji","name":"Tips to use GitHub as your Portfolio"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/best-practices-for-api-authorization-scn66fitb","name":"Best-Practices for API Authorization"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/next-js-14-layouts-vs-templates-msqo4eh1r","name":"Next.js 14: Layouts vs Templates"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/linkedin-but-better-lxslplfgk","name":"LinkedIn, But Better"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/collections--m0nioahkd","name":"Collections 🗞️"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/ui-ux-design-trends-for-2024-yn5idzfd6","name":"UI/UX Design Trends For 2024"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/learn-javascript-by-building-21-projects-a-major-freecodecamp-curriculum-update-lgzgghtqr","name":"Learn JavaScript by Building 21 Projects – a Major freeCodeCamp Curriculum Update"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/a-modern-approach-to-react-development-aouoowkvv","name":"A Modern Approach to React Development"}]},{"@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":"December 2023"}]}]}
```

