<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/community/best-of/2024/06" -->

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

1. 1  
[](https://daily.dev/posts/say-no-to-console-log--okwfr7j3m "Say no to console.log!")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Say no to console.log!  
Explore alternatives to \`console.log\` such as \`console.dir\` for hierarchical listings, \`console.table\` for tabular data, \`console.group\` for grouping messages, \`console.time\` & \`console.timeEnd\` for timing tasks, and \`console.clear\` to clear the console, making your development process more productive and enjoyable.

7.9K  
322
2. 2  
[](https://daily.dev/posts/top-10-clean-code-rules-nbxbqtq1o "Top 10 Clean Code Rules")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Top 10 Clean Code Rules  
Guidance for writing clean code includes no code comments, deleting dead code, unit testing boundaries, using positive conditionals, adhering to standard guidelines, consistent naming, avoiding complexity, using exceptions instead of return codes, keeping methods small, and applying the Boy Scout rule to always leave the code cleaner than you found it.

2.7K  
124
3. 3  
[](https://daily.dev/posts/your-career-in-web-development-starts-here-flmxw50dl "Your Career in Web Development Starts Here")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Your Career in Web Development Starts Here  
The Odin Project is a free full stack curriculum with curated online tutorials, blogs, and courses. It offers a supportive community and helps you build portfolio-worthy projects.

1.6K  
88
4. 4  
[](https://daily.dev/posts/if-programming-languages-were-games-comic--xnddlcwlb "If Programming Languages Were Games [Comic]")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
If Programming Languages Were Games \[Comic\]  
A humorous comparison of programming languages to games, with each language being compared to a specific game and its characteristics.  
938  
64
5. 5  
[](https://daily.dev/posts/javascript-interview-can-you-stop-or-break-a-foreach-loop--tbr92ex6x "JavaScript Interview: Can You Stop or Break a forEach Loop? 🛑")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
JavaScript Interview: Can You Stop or Break a forEach Loop? 🛑  
Exploring the limitations of the forEach method in JavaScript and alternative solutions for breaking out of loops.  
938  
63
6. 6  
[](https://daily.dev/posts/programming-languages-explained-with-music-comic--x63fwnyr7 "Programming Languages Explained With Music [Comic]")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Programming Languages Explained With Music \[Comic\]  
Explore the connection between programming languages and music genres. Also discover other comics and guides on time tracking and lifehacking.  
696  
52
7. 7  
[](https://daily.dev/posts/data-table-design-patterns-geiy1ghtt "Data Table Design Patterns")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Data Table Design Patterns  
This post provides best practices for designing data tables, including alignment for text and numeric columns, column separators, row division styles, subtext usage, contrast, visual indications, common table interactions, and table actions.  
680  
19
8. 8  
[](https://daily.dev/posts/ux-ui-trends-in-2024-7bgplnt4u "UX/UI-trends in 2024")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
UX/UI-trends in 2024  
2024 will see trends in UX/UI design such as 3D graphics, complex gradients, glassmorphism, minimalism, and more. These trends add realism, interactivity, and user engagement to websites and applications.  
608  
14
9. 9  
[](https://daily.dev/posts/a-fully-featured-web-framework-for-node-js-p4xlfopw8 "A fully featured web framework for Node.js")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
A fully featured web framework for Node.js  
AdonisJS is a fully-featured web framework for Node.js that provides type-safety, ESM support, a feature-rich core, a collection of officially maintained packages, an IoC container, a powerful CLI, and security primitives. It has received praise from developers around the world and is sponsored by fantastic companies and individuals.  
597  
20
10. 10  
[](https://daily.dev/posts/get-the-best-performance-on-your-next-js-app-fx7t4hrba "Get the Best Performance on Your Next.js App")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Get the Best Performance on Your Next.js App  
Learn how to optimize performance on your Next.js app with tips like loading only the necessary JavaScript and CSS, lazy loading dependencies, using the Next.js Image component for image optimization, preferring CSS over JavaScript, avoiding loaders at the beginning, utilizing font optimization, optimizing scripts, removing unused packages, checking bundle size, and using server components for improved rendering and caching.  
572  
18
11. 11  
[](https://daily.dev/posts/reviewing-zed-an-ide-of-the-future-hyza7pbbo "Reviewing Zed: An IDE of the Future")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Reviewing Zed: An IDE of the Future  
Zed is a new, open-source IDE that is faster than Sublime Text and provides powerful features out of the box. It is currently in beta and supports Mac devices, with support for Windows and Linux coming soon. Zed aims to compete with VSCode as the king of code editors.  
554  
50
12. 12  
[](https://daily.dev/posts/free-image-optimization-toolkit-wrrl7s0vi "Free Image Optimization Toolkit")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Free Image Optimization Toolkit  
Easily optimize and compress up to 20 images (up to 10 MB each) for free to improve performance using imgto.xyz, leveraging Cloudinary's Image API. Convert images to modern, efficient formats for reduced file sizes.  
544  
35
13. 13  
[](https://daily.dev/posts/the-dark-side-of-foreach-why-you-should-think-twice-before-using-it-slhsbmoyn "The Dark Side of 'Foreach()' : Why You Should Think Twice Before Using It")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
The Dark Side of 'Foreach()' : Why You Should Think Twice Before Using It  
Learn about the limitations of forEach() function in JavaScript, including performance issues, inability to escape the loop, and incompatibility with async functions. Discover better options for working with arrays, such as map(), reduce(), and filter().  
454  
44
14. 14  
[](https://daily.dev/posts/what-is-this-weird-css-syntax--83cgdsrhl "What is this weird CSS Syntax?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
What is this weird CSS Syntax?  
Learn about an interesting CSS syntax involving the adjacent sibling combinator (+) and the asterisk (\*) to select non-immediate adjacent elements of the same class. This allows styles to be applied to specific siblings a few elements away when hovering over a targeted element.  
448  
35
15. 15  
[](https://daily.dev/posts/compound-components-pattern-in-react-7ckw5adrj "Compound Components Pattern in React")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Compound Components Pattern in React  
Learn about the compound component pattern in React, which helps in building flexible and scalable components by using a suite of reusable components that work together to accomplish a task.  
427  
9
16. 16  
[](https://daily.dev/posts/awesome-cheatsheets-2lt12dxye "Awesome Cheatsheets")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Awesome Cheatsheets  
Collection of cheatsheets for popular programming languages, frameworks, and development tools, containing everything you need to know in one file.  
419  
18
17. 17  
[](https://daily.dev/posts/difference-between-number-and-parseint-in-converting-strings--cj2nrarnr "Difference Between Number() and parseInt() in Converting Strings?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Difference Between Number() and parseInt() in Converting Strings?  
Number() searches the entire string for numbers, returning NaN if any non-numeric characters are found. parseInt() and parseFloat() return the first number found in the string, ignoring the rest. If there are no numbers at the beginning, they return NaN.  
408  
11
18. 18  
[](https://daily.dev/posts/the-most-important-skill-in-tech-learning-how-to-learn--biyuah49e "The most important skill in tech... Learning how to Learn.")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
The most important skill in tech... Learning how to Learn.  
The post discusses the importance of learning how to learn in the tech industry and highlights the difference between a growth mindset and a fixed mindset.  
405  
22
19. 19  
[](https://daily.dev/posts/how-to-reduce-unused-javascript-in-your-code--cmvs0kvyd "How to reduce unused JavaScript in your code?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
How to reduce unused JavaScript in your code?  
Reducing unused JavaScript is crucial for optimizing modern websites. This guide covers techniques like code splitting, tree shaking, minifying JavaScript, loading scripts asynchronously, dynamic imports, and lazy loading to help improve web performance by cutting down on unnecessary code.  
366  
15
20. 20  
[](https://daily.dev/posts/writing-a-microservice-using-node-js-fcubz1wft "Writing A Microservice Using Node.js")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Writing A Microservice Using Node.js  
The post discusses the benefits of using Node.js for web services development and explains how to build a microservice using Node.js. It covers topics such as the tech stack, database choice, web framework, validation, configuration, static analysis, testing, logging, metrics, monitoring stack, local infrastructure with Docker, and continuous integration. The code examples and explanations provide valuable insights for Node.js web developers.  
360  
15
21. 21  
[](https://daily.dev/posts/jwt-vs-paseto-new-era-of-token-based-authentication-to2objxxo "JWT vs PASETO: New Era of Token-Based Authentication")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
JWT vs PASETO: New Era of Token-Based Authentication  
The post offers a detailed comparison between JWT (JSON Web Token) and PASETO (Platform-Agnostic Security Tokens), examining their core functionalities, security features, and potential vulnerabilities. While JWT is popular for its simplicity, PASETO addresses many of its security issues by enforcing safer defaults and mitigating algorithm confusion. The post covers the workflows of both token types, their structures, and key differences in their approach to security, making it a valuable read for developers looking to implement secure token-based authentication.  
360  
4
22. 22  
[](https://daily.dev/posts/5-small-tips-i-recently-learned-in-go-rwarto8lk "5 small tips I recently learned in Go")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
5 small tips I recently learned in Go  
Discover 5 small tips in Go that you may not have known about, including how to make the compiler count array elements, using \`go run .\`, making numbers more readable with underscores, having a different test package in the same package, and passing the same argument multiple times in string formatting.  
338  
4
23. 23  
[](https://daily.dev/posts/node-js-is-single-threaded-but-still-concurrent-how--h6adjwxzb "Node.js is Single-Threaded But Still Concurrent. How?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Node.js is Single-Threaded But Still Concurrent. How?  
Node.js is able to handle concurrent requests through its event-driven, non-blocking I/O model. This allows it to efficiently manage numerous connections simultaneously without the need for a dedicated thread per connection. The non-blocking I/O operations contribute to improved performance, making Node.js suitable for high I/O requirements. Additionally, the event-driven nature of Node.js simplifies code by eliminating the need for complex threading mechanisms.  
339  
9
24. 24  
[](https://daily.dev/posts/how-to-use-socket-io-and-build-your-first-multiplayer-game--6jf4u7000 "How to use Socket.IO and build your first multiplayer game!")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
How to use Socket.IO and build your first multiplayer game!  
Learn how to use Socket.IO to build a multiplayer game where a button moves to a random location when clicked. The tutorial guides you through setting up your environment, writing server code, and creating the real-time functionality using Socket.IO for seamless client-server communication. By the end, you'll understand how to pass data, emit, and listen for messages in a real-time web application.  
330  
18
25. 25  
[](https://daily.dev/posts/regex-the-good-bits--bqkjusb3z "Regex, the good bits.")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Regex, the good bits.  
Regex, though powerful, can be difficult to manage and read due to its concise syntax and numerous exceptions. This blog aims to provide insights into using regex effectively for tasks like searching, matching, and extracting information from text, while also highlighting the potential pitfalls of overusing it. It covers basic patterns, meta characters, repeating patterns, and capture groups, with practical JavaScript examples demonstrating each concept.  
318  
13

[See all Community Picks archives](/sources/community/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/community/best-of/2024/06#page","url":"https://daily.dev/sources/community/best-of/2024/06","name":"Best Community Picks Posts — June 2024","description":"The most upvoted Community Picks posts from June 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/community/best-of/2024/06#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/say-no-to-console-log--okwfr7j3m","name":"Say no to console.log!"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/top-10-clean-code-rules-nbxbqtq1o","name":"Top 10 Clean Code Rules"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/your-career-in-web-development-starts-here-flmxw50dl","name":"Your Career in Web Development Starts Here"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/if-programming-languages-were-games-comic--xnddlcwlb","name":"If Programming Languages Were Games [Comic]"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/javascript-interview-can-you-stop-or-break-a-foreach-loop--tbr92ex6x","name":"JavaScript Interview: Can You Stop or Break a forEach Loop? 🛑"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/programming-languages-explained-with-music-comic--x63fwnyr7","name":"Programming Languages Explained With Music [Comic]"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/data-table-design-patterns-geiy1ghtt","name":"Data Table Design Patterns"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/ux-ui-trends-in-2024-7bgplnt4u","name":"UX/UI-trends in 2024"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/a-fully-featured-web-framework-for-node-js-p4xlfopw8","name":"A fully featured web framework for Node.js"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/get-the-best-performance-on-your-next-js-app-fx7t4hrba","name":"Get the Best Performance on Your Next.js App"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/reviewing-zed-an-ide-of-the-future-hyza7pbbo","name":"Reviewing Zed: An IDE of the Future"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/free-image-optimization-toolkit-wrrl7s0vi","name":"Free Image Optimization Toolkit"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/the-dark-side-of-foreach-why-you-should-think-twice-before-using-it-slhsbmoyn","name":"The Dark Side of 'Foreach()' : Why You Should Think Twice Before Using It"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/what-is-this-weird-css-syntax--83cgdsrhl","name":"What is this weird CSS Syntax?"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/compound-components-pattern-in-react-7ckw5adrj","name":"Compound Components Pattern in React"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/awesome-cheatsheets-2lt12dxye","name":"Awesome Cheatsheets"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/difference-between-number-and-parseint-in-converting-strings--cj2nrarnr","name":"Difference Between Number() and parseInt() in Converting Strings?"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/the-most-important-skill-in-tech-learning-how-to-learn--biyuah49e","name":"The most important skill in tech... Learning how to Learn."},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/how-to-reduce-unused-javascript-in-your-code--cmvs0kvyd","name":"How to reduce unused JavaScript in your code?"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/writing-a-microservice-using-node-js-fcubz1wft","name":"Writing A Microservice Using Node.js"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/jwt-vs-paseto-new-era-of-token-based-authentication-to2objxxo","name":"JWT vs PASETO: New Era of Token-Based Authentication"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/5-small-tips-i-recently-learned-in-go-rwarto8lk","name":"5 small tips I recently learned in Go"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/node-js-is-single-threaded-but-still-concurrent-how--h6adjwxzb","name":"Node.js is Single-Threaded But Still Concurrent. How?"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/how-to-use-socket-io-and-build-your-first-multiplayer-game--6jf4u7000","name":"How to use Socket.IO and build your first multiplayer game!"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/regex-the-good-bits--bqkjusb3z","name":"Regex, the good bits."}]},{"@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":"Community Picks","item":"https://daily.dev/sources/community"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/community/best-of"},{"@type":"ListItem","position":5,"name":"June 2024"}]}]}
```

