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

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

1. 1  
[](https://daily.dev/posts/ux-ui-design-trends-going-into-2024-qotsxi19e "UX/UI Design Trends Going Into 2024")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
UX/UI Design Trends Going Into 2024  
The article discusses various design trends that are expected to continue into 2024, including Bento boxes in UI design, spatial design and leaps in technology, the accessibility and personalization trends in UX design, and the rise of AI-powered design tools.  
134  
6
2. 2  
[](https://daily.dev/posts/the-art-of-crafting-dockerfile-9voq9aelm "The Art of Crafting Dockerfile")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
The Art of Crafting Dockerfile  
Learn about Dockerfile, its format, and key commands for building Docker images and containers.  
121  
5
3. 3  
[](https://daily.dev/posts/9-ways-to-loop-arrays-in-javascript-kxzi72ljz "9 Ways to Loop Arrays in JavaScript")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
9 Ways to Loop Arrays in JavaScript  
Learn 9 effective ways to loop through arrays in JavaScript, including the classic for loop, forEach method, for...of loop, map method, while loop, do...while loop, for...in loop, reduce method, and filter method.  
77  
4
4. 4  
[](https://daily.dev/posts/top-ui-ux-design-tips-how-to-design-a-great-bottom-mobile-navigation-bar-part-6-h6dwg5xp1 "Top UI/UX Design Tips: How to Design a Great Bottom Mobile Navigation Bar, part 6")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Top UI/UX Design Tips: How to Design a Great Bottom Mobile Navigation Bar, part 6  
The article provides tips for designing a great bottom mobile navigation bar. It covers topics such as choosing the right sizes, limiting the number of tabs, designing thumb-friendly tap areas, differentiating active and inactive states, choosing simple and familiar icons, keeping navigation labels short, and more.  
73
5. 5  
[](https://daily.dev/posts/introducing-kubik-7kc3eftsz "Introducing kubik")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Introducing kubik  
Kubernetes is an open-source platform for automating the deployment, scaling, and operation of application containers. Kubik is an open-source application that simplifies monitoring Kubernetes clusters by providing an easy-to-navigate interface and highlighting key metrics and potential issues. It offers features such as Google Authentication, cluster integration, monitoring dashboard, and cluster visualization.  
64  
1
6. 6  
[](https://daily.dev/posts/introducing-wave-js-accessible-video-live-streaming-for-node-based-dev-environments-hkdpmoq6l "Introducing wave.js: Accessible Video Live Streaming for Node-Based Dev Environments")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Introducing wave.js: Accessible Video Live Streaming for Node-Based Dev Environments  
wave.js is a Node-based server framework for video live streaming that allows dev teams to integrate live streams into their applications without needing to understand the complexities of video codecs and streaming protocols. It supports ingesting multiple synchronous streams of real-time RTMP, live encoding to HLS and MPEG-DASH, and delivering low-latency live streams. Future plans for wave.js include expanding support for video codecs and streaming protocols, adding customization options for workflows, and enhancing performance and usability.  
60
7. 7  
[](https://daily.dev/posts/php-design-patterns-tr88kgvem "PHP Design patterns")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
PHP Design patterns  
This post discusses design patterns in PHP, their definition, benefits, and different types. It highlights how design patterns can improve communication, flexibility, maintainability, and scalability in software systems.  
58
8. 8  
[](https://daily.dev/posts/bento-style-compartmentalisation-in-ui-design-qgmvhgxoz "Bento Style & Compartmentalisation in UI Design")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Bento Style & Compartmentalisation in UI Design  
Compartmentalization in UI design is about organizing elements to optimize user interaction. The Bento design style, inspired by Japanese Bento boxes, uses card-based or grid layouts for clarity and ease of use. It offers visual clarity, organizational elegance, and enhances user experience with intuitive layouts. Pros of the Bento design style include enhanced user experience, aesthetic appeal, and flexibility, while cons include space limitations, complexity in design, and potential over-segmentation.  
57
9. 9  
[](https://daily.dev/posts/knowledge-is-cheap-skills-are-all-you-need-ubwj8qjdc "Knowledge is cheap — Skills are all you need")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Knowledge is cheap — Skills are all you need  
The rise of large language models has made knowledge cheap and readily available. The focus now shifts to skills and the ability to apply knowledge creatively. The future of AI and coding remains uncertain.  
49  
2
10. 10  
[](https://daily.dev/posts/writing-code-like-a-senior-developer-in-laravel-ir7ngvvb9 "Writing Code like a Senior Developer in Laravel")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Writing Code like a Senior Developer in Laravel  
Learn how to write clean and efficient code in Laravel by following best practices, utilizing Eloquent ORM effectively, leveraging relationships, applying the DRY principle, and handling business logic in services.  
36  
1
11. 11  
[](https://daily.dev/posts/test-and-cover-your-code-today--ghfnsr3hw "Test and Cover Your Code Today!")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Test and Cover Your Code Today!  
Learn how to improve code test coverage and generate a report using a new GitHub Action.  
21
12. 12  
[](https://daily.dev/posts/navigation-patterns-in-mobile-applications-how-to-make-the-right-choice--icwncdfsr "Navigation patterns in mobile applications. How to make the right choice?")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Navigation patterns in mobile applications. How to make the right choice?  
Navigation is a crucial component in any mobile application, and the choice of navigation patterns significantly impacts the user experience. This article explores the main types of navigation, such as the tab bar, sidebar, search-based navigation, and top bar. It discusses the pros and cons of each pattern and provides examples of their implementation. Additionally, the article highlights platform-specific considerations and discrepancies between iOS and Android. The importance of selecting the right navigation mechanics based on the goals and needs of the application is emphasized.  
20
13. 13  
[](https://daily.dev/posts/essential-python-packages-every-django-developer-should-know-g4nl8qzv3 "Essential Python Packages Every Django Developer Should Know")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Essential Python Packages Every Django Developer Should Know  
A curated list of essential Python packages for Django developers, including Django Debug Toolbar, Django Allauth, Haystack, Celery, Wagtail CMS, Django Storages, Django Rest Swagger, and more.  
18
14. 14  
[](https://daily.dev/posts/git-the-version-control-system-complete-guide-vwa17nvb6 "Git : The version control system, Complete guide")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Git : The version control system, Complete guide  
Git is a widely used version control system that allows for collaboration, track changes, backup and restore, branch and merge, and audit trail. It is a distributed version control system designed for efficient management of projects. It offers features such as repositories, commits, branches, merges, and remotes. Popular Git commands include git init, git add, git commit, git branch, and git merge.  
15
15. 15  
[](https://daily.dev/posts/mlops-roadmap-2024-j0a8p3mvb "MLOps roadmap 2024")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
MLOps roadmap 2024  
The MLOps roadmap for 2024 covers the essential skills, tools, and principles that an MLOps engineer should know, including programming skills, containerization with Docker, Kubernetes, machine learning fundamentals, MLOps principles, and MLOps components. The post emphasizes the importance of Python, Docker, and Kubernetes in MLOps engineering.  
14
16. 16  
[](https://daily.dev/posts/a-comprehensive-survey-of-large-language-models-llms--qi81knbda "A Comprehensive Survey of Large Language Models (LLMs)")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
A Comprehensive Survey of Large Language Models (LLMs)  
The article discusses the growth of large language models (LLMs), the key practices related to LLMs, the three emergent abilities of LLMs (In-Context Learning, Instruction Following, and Step-by-Step Reasoning), the development of the LLM landscape, training data sources for LLMs, and the continuous refinement and integration of LLMs into existing technological landscapes.  
14
17. 17  
[](https://daily.dev/posts/frontend-weekly-digest-339-27-november-3-december-2023--tktkphjev "Frontend Weekly Digest #339 (27 November — 3 December 2023)")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Frontend Weekly Digest #339 (27 November — 3 December 2023)  
The article covers various topics including web development advent calendars for 2023, the potential dominance of AVIF as an image format on the web, and an explanation of how JavaScript promises work.  
14
18. 18  
[](https://daily.dev/posts/laravel-easy-two-factor-authentication-with-email-and-sms-kltf2fwrd "Laravel: Easy Two-Factor Authentication with Email and SMS")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Laravel: Easy Two-Factor Authentication with Email and SMS  
Learn how to enable two-factor authentication (2FA) in Laravel using email and SMS. Boost your app's security and protect your users' accounts with this easy step-by-step guide.  
13
19. 19  
[](https://daily.dev/posts/master-chatgpt-prompts-using-all-new-prompting-frameworks-yqikpdfgh "Master ChatGPT Prompts Using All New Prompting Frameworks")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Master ChatGPT Prompts Using All New Prompting Frameworks  
Learn about four amazing prompting frameworks that can improve your prompting skills and upgrade your productivity.  
13
20. 20  
[](https://daily.dev/posts/7-new-apps-websites-to-explore-as-ux-ui-designer-feiwg7dlc "7 New Apps/Websites to explore as UX/UI designer")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
7 New Apps/Websites to explore as UX/UI designer  
Discover new tools and websites that can enhance the design process of UX/UI designers. Explore Visily for brainstorming and prototyping, Mingcute and Lottielab for micro animations, Rebrand, FreeFaces, and Theessential.design for inspiration, ls.graphics and Mr.mockups for mockups, and Wave for website accessibility checking. Additionally, ScienceDirect can provide research insights for designers.  
13
21. 21  
[](https://daily.dev/posts/firebase-cloud-messaging-in-react-a-comprehensive-guide-bunodzc5r "Firebase Cloud Messaging in React: A Comprehensive Guide")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Firebase Cloud Messaging in React: A Comprehensive Guide  
Learn how to easily add push notifications to a React App using Firebase. This article provides a comprehensive guide on Firebase Cloud Messaging in React, including its benefits, setup instructions, notification permissions, registration token generation, configuring notification listeners, and testing push notifications.  
13  
1
22. 22  
[](https://daily.dev/posts/is-the-flat-design-trend-finally-over--lnxdeazp7 "Is the flat design trend finally over?")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Is the flat design trend finally over?  
Flat design trends are evolving to incorporate more detailed and three-dimensional elements, as seen in recent examples like the redesigns of Reddit, MacOS Big Sur, Airbnb, and Shopify. This shift in design approach originated from Apple's introduction of iOS 7 in 2013, which simplified and flattened interface designs. While flat design still offers benefits, modern designs are embracing more complexity and depth.  
13  
1
23. 23  
[](https://daily.dev/posts/databases-101-0ngo0t3fl "Databases 101")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Databases 101  
Choosing the right database is crucial for the success of a project. Different databases excel at different tasks and it is important to consider factors such as data type and usage. There are three main types of databases - user-facing databases, databases for analytics, and databases for operations. User-facing databases include relational databases and NoSQL databases. Analytical databases are used for analyzing data and include data warehouses and data lakes. Operational databases are used for internal operations and include key-value stores, time series databases, and logs/search databases.  
11
24. 24  
[](https://daily.dev/posts/devops-lab-8---deploying-an-application-to-kubernetes-c4hpqzmln "DevOps (Lab-8)- Deploying an application to Kubernetes")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
DevOps (Lab-8)- Deploying an application to Kubernetes  
Learn about Kubernetes, its key aspects, and how to install and deploy applications using Kubernetes and Jenkins.  
10
25. 25  
[](https://daily.dev/posts/semantic-search-with-mongodb-and-fastapi-comprehensive-guide-comocof8x "Semantic Search with MongoDB and FastAPI: Comprehensive Guide")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Semantic Search with MongoDB and FastAPI: Comprehensive Guide  
This comprehensive guide demonstrates how to elevate your application’s standard CRUD operations with Semantic Search functionality, leveraging new Vector Search feature of the MongoDB Atlas.  
10

[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/2023/12#page","url":"https://daily.dev/sources/medium_js/best-of/2023/12","name":"Best Medium Posts — December 2023","description":"The most upvoted Medium posts from December 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/medium_js/best-of/2023/12#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/ux-ui-design-trends-going-into-2024-qotsxi19e","name":"UX/UI Design Trends Going Into 2024"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/the-art-of-crafting-dockerfile-9voq9aelm","name":"The Art of Crafting Dockerfile"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/9-ways-to-loop-arrays-in-javascript-kxzi72ljz","name":"9 Ways to Loop Arrays in JavaScript"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/top-ui-ux-design-tips-how-to-design-a-great-bottom-mobile-navigation-bar-part-6-h6dwg5xp1","name":"Top UI/UX Design Tips: How to Design a Great Bottom Mobile Navigation Bar, part 6"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/introducing-kubik-7kc3eftsz","name":"Introducing kubik"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/introducing-wave-js-accessible-video-live-streaming-for-node-based-dev-environments-hkdpmoq6l","name":"Introducing wave.js: Accessible Video Live Streaming for Node-Based Dev Environments"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/php-design-patterns-tr88kgvem","name":"PHP Design patterns"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/bento-style-compartmentalisation-in-ui-design-qgmvhgxoz","name":"Bento Style & Compartmentalisation in UI Design"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/knowledge-is-cheap-skills-are-all-you-need-ubwj8qjdc","name":"Knowledge is cheap — Skills are all you need"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/writing-code-like-a-senior-developer-in-laravel-ir7ngvvb9","name":"Writing Code like a Senior Developer in Laravel"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/test-and-cover-your-code-today--ghfnsr3hw","name":"Test and Cover Your Code Today!"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/navigation-patterns-in-mobile-applications-how-to-make-the-right-choice--icwncdfsr","name":"Navigation patterns in mobile applications. How to make the right choice?"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/essential-python-packages-every-django-developer-should-know-g4nl8qzv3","name":"Essential Python Packages Every Django Developer Should Know"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/git-the-version-control-system-complete-guide-vwa17nvb6","name":"Git : The version control system, Complete guide"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/mlops-roadmap-2024-j0a8p3mvb","name":"MLOps roadmap 2024"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/a-comprehensive-survey-of-large-language-models-llms--qi81knbda","name":"A Comprehensive Survey of Large Language Models (LLMs)"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/frontend-weekly-digest-339-27-november-3-december-2023--tktkphjev","name":"Frontend Weekly Digest #339 (27 November — 3 December 2023)"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/laravel-easy-two-factor-authentication-with-email-and-sms-kltf2fwrd","name":"Laravel: Easy Two-Factor Authentication with Email and SMS"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/master-chatgpt-prompts-using-all-new-prompting-frameworks-yqikpdfgh","name":"Master ChatGPT Prompts Using All New Prompting Frameworks"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/7-new-apps-websites-to-explore-as-ux-ui-designer-feiwg7dlc","name":"7 New Apps/Websites to explore as UX/UI designer"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/firebase-cloud-messaging-in-react-a-comprehensive-guide-bunodzc5r","name":"Firebase Cloud Messaging in React: A Comprehensive Guide"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/is-the-flat-design-trend-finally-over--lnxdeazp7","name":"Is the flat design trend finally over?"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/databases-101-0ngo0t3fl","name":"Databases 101"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/devops-lab-8---deploying-an-application-to-kubernetes-c4hpqzmln","name":"DevOps (Lab-8)- Deploying an application to Kubernetes"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/semantic-search-with-mongodb-and-fastapi-comprehensive-guide-comocof8x","name":"Semantic Search with MongoDB and FastAPI: Comprehensive Guide"}]},{"@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 2023"}]}]}
```

