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

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

1. 1  
[](https://daily.dev/posts/creating-an-api-with-bun-vfti4k8np "Creating an API with Bun")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
Creating an API with Bun  
Learn how to use Bun, a new JavaScript runtime, to create a full API. Explore the features of Bun, set up your development environment, create a database, implement services and controllers, and set up a Bun-Elysia server.  
145  
8
2. 2  
[](https://daily.dev/posts/the-art-of-scrollbar-styling-with-css-jgegkxcm0 "The Art of Scrollbar Styling with CSS")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
The Art of Scrollbar Styling with CSS  
Customizing scrollbars with CSS allows for uniformity and coherence across a website, improves usability, and provides visual feedback for users. Basic CSS properties related to scrollbars include scrollbar-width, scrollbar-track-color, and scrollbar-thumb-color. CSS animations can be applied to scrollbars using pseudo-elements.  
115  
3
3. 3  
[](https://daily.dev/posts/10-css-techniques-for-hiding-elements-oxeavbiar "10 CSS Techniques for Hiding Elements")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
10 CSS Techniques for Hiding Elements  
This article explores ten different methods for hiding content using CSS, including using the display property, visibility property, and opacity property. The techniques discussed can improve the user experience and create more dynamic and interactive web pages.  
95  
4
4. 4  
[](https://daily.dev/posts/improving-form-performance-in-react-hm6f1n11c "Improving Form Performance in React")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
Improving Form Performance in React  
Learn techniques to optimize form performance in React websites  
40  
2
5. 5  
[](https://daily.dev/posts/react-development-made-easy-working-with-the-useref-hook-nhkjrcj4r "React Development Made Easy: Working with the useRef Hook")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
React Development Made Easy: Working with the useRef Hook  
This article explores the usage of the useRef hook in React, its ability to manage DOM elements, and how to pass and control references between parent and child components using forwardRef and useImperativeHandle.  
34  
1
6. 6  
[](https://daily.dev/posts/personal-growth-for-developers-strategies-to-advance-your-career-meeuyejol "Personal Growth for Developers: Strategies to Advance your Career")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
Personal Growth for Developers: Strategies to Advance your Career  
Explore strategies for improving coding skills, staying up to date with technology, and effective networking in order to advance your career as a developer.  
26
7. 7  
[](https://daily.dev/posts/forever-functional-maximize-javascript-s-performance-without-transducers-kroivnfmg "Forever Functional: Maximize JavaScript's Performance WITHOUT Transducers")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
Forever Functional: Maximize JavaScript's Performance WITHOUT Transducers  
The article discusses different solutions for optimizing long sequences of operations on JavaScript arrays without using transducers. It starts with a basic solution and gradually introduces more general and simplified methods. The final solution allows for any sequence of mapping and filtering operations, with optional reducing steps.  
26
8. 8  
[](https://daily.dev/posts/maximizing-your-website-s-seo-potential-with-the-next-js-metadata-api-yxh6h5n8r "Maximizing Your Website's SEO Potential with the Next.js Metadata API")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
Maximizing Your Website's SEO Potential with the Next.js Metadata API  
Learn how to maximize your website's SEO potential with the Next.js Metadata API. This API provides a way to add metadata to your website and improve its search engine rankings and visibility on the web. It offers static and dynamic metadata options, simplifies metadata management, and allows for file-based metadata customization. However, migration to the Metadata API may require effort, and it's limited to Next.js 13.2 and above.  
26
9. 9  
[](https://daily.dev/posts/mastering-next-js-authentication-with-auth0-a-practical-guide-gtuestgx2 "Mastering Next.js Authentication with Auth0: A Practical Guide")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
Mastering Next.js Authentication with Auth0: A Practical Guide  
This article discusses how to add authentication to a Next.js application using Auth0\. It covers setting up an Auth0 account, integrating Auth0 with Next.js, implementing authentication, handling authentication callbacks, and adding authorization.  
25  
2
10. 10  
[](https://daily.dev/posts/error-handling-in-react-a-guide-to-error-boundaries-hjywkdf17 "Error handling in React: a Guide to Error Boundaries")  
Article  
![Avatar of asayer](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/be8d9d38650943c8a1718ba79f23e9ac)asayer · 3y  
Error handling in React: a Guide to Error Boundaries  
Error Boundaries in React are components that catch errors within their child components, preventing the entire application from crashing. They improve user experience by displaying a fallback UI and help developers isolate and debug errors. To create an Error Boundary component, you need to implement the static getDerivedStateFromError and componentDidCatch lifecycle methods. Wrapping components with Error Boundaries provides a more resilient and user-friendly web experience in React applications.  
23

[See all asayer archives](/sources/asayer/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/asayer/best-of/2023/12#page","url":"https://daily.dev/sources/asayer/best-of/2023/12","name":"Best asayer Posts — December 2023","description":"The most upvoted asayer posts from December 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/asayer/best-of/2023/12#items","numberOfItems":10,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/creating-an-api-with-bun-vfti4k8np","name":"Creating an API with Bun"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/the-art-of-scrollbar-styling-with-css-jgegkxcm0","name":"The Art of Scrollbar Styling with CSS"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/10-css-techniques-for-hiding-elements-oxeavbiar","name":"10 CSS Techniques for Hiding Elements"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/improving-form-performance-in-react-hm6f1n11c","name":"Improving Form Performance in React"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/react-development-made-easy-working-with-the-useref-hook-nhkjrcj4r","name":"React Development Made Easy: Working with the useRef Hook"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/personal-growth-for-developers-strategies-to-advance-your-career-meeuyejol","name":"Personal Growth for Developers: Strategies to Advance your Career"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/forever-functional-maximize-javascript-s-performance-without-transducers-kroivnfmg","name":"Forever Functional: Maximize JavaScript's Performance WITHOUT Transducers"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/maximizing-your-website-s-seo-potential-with-the-next-js-metadata-api-yxh6h5n8r","name":"Maximizing Your Website's SEO Potential with the Next.js Metadata API"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/mastering-next-js-authentication-with-auth0-a-practical-guide-gtuestgx2","name":"Mastering Next.js Authentication with Auth0: A Practical Guide"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/error-handling-in-react-a-guide-to-error-boundaries-hjywkdf17","name":"Error handling in React: a Guide to Error Boundaries"}]},{"@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":"asayer","item":"https://daily.dev/sources/asayer"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/asayer/best-of"},{"@type":"ListItem","position":5,"name":"December 2023"}]}]}
```

