Codeminer42 Dev Weekly #12

HELLO EVERYONE!!! It’s May 24, 2024, and you are reading the 12th Codeminer42’s tech news report. Let’s check out what the tech world showed us this week!

Next.js 15 RC – by Delba de Oliveira & Zack Tanner

Breaking News on the CM42 Dev Weekly! The Next.js 15 Release Candidate (RC) is now available for testing with new features such as support for React 19 RC, caching updates, next/after API, create-next-app updates, and more. The well-awaited React Compiler is also introduced as an experimental feature. This release was made possible by contributions from over 3,000 developers and industry partners. So check out this new Next.js version!

10 more bad programming habits we secretly love – by Peter Wayner

The author discusses 10 bad programming habits that developers secretly love. These habits include coding without comments, slow code and more. He explores the reasons why developers may engage in these habits and how they can sometimes be beneficial despite being considered bad practices.

Auto Generate Open Graph Images in NextJS – by Paulund

This useful article present us how to auto-generate Open Graph images in Next.js using code. How to generating images using code, creating an image route, and using the approach to generate images for blog posts. The technical details are also included.

Unraveling Currying in JavaScript: A Beginner’s Guide with Real-World Examples – by Elizabeth Sobiya

This article is a beginner’s guide to currying in JavaScript, explaining what currying is, why it’s useful, and providing real-world examples. It breaks down how to implement currying with easy-to-follow examples, showcasing how it can make functions more flexible, reusable, and readable. The guide includes examples of basic currying with volume calculation and a real-world example with a logger function. It concludes by highlighting the benefits of using currying in JavaScript and encourages readers to try it in their projects.

Difference between GraphQL, REST, and gRPC – by Soma

This interesting post show us the differences between the popular communication protocols used for building web APIs: REST, GraphQL, and gRPC. It explains the core concepts, strengths, and weaknesses of each protocol, along with scenarios for when to use them. The post also provides resources for preparing for system design interviews and highlights that these protocols can be used together for efficient communication in web applications.

Graceful Shutdown: Why It Matters and How to Implement It – by Jarek Orzel

The article talks about the importance of graceful shutdown in modern software development and how to implement it. Graceful shutdown allows ongoing operations to complete before a service terminates, minimizing disruption and data loss. The text explains the concept, why it matters, and provides an example of implementing graceful shutdown in a Filesystem Listener Service written in Go.

I built a free, open-source project manager that helps teams keep costs under $15/month – by hudy9x

The author, Hudy, has developed an open-source project manager to help small teams on a limited budget. The project manager includes essential features such as list view, board view, goal view, calendar view, and custom view. The operational costs have been kept low by leveraging free platforms like Vercel, Resend, Cloudflare, and Github Action. The app is still under development, and contributions are welcome. Our friend hopes that this open-source project manager will help teams reduce costs and learn new skills.

How to Become an Open Source Project Maintainer – by BekahHW

Becoming an open source project maintainer can be a rewarding experience that allows you to learn, grow your network, and collaborate with others. It is important to support your contributors, provide them with opportunities to contribute, and engage with the community to build relationships. Setting up your project involves creating documentation, guidelines, and a welcoming environment. Check it out this post can

Using Dependency Injection in Elixir – by Allan MacGregor

This recommend post talks about the concept of dependency injection in Elixir, covering its basic concepts, types, advantages, and practical applications for testing. It explains how dependency injection works, provides examples of injecting mocks and configuring dependencies in Elixir, and offers best practices and common pitfalls to avoid.

These new computers are getting creepy… Copilot+ PC first look – by Fireship

Our friend Jeff Delaney, comments about the Microsoft company’s new laptops. These machines are 58% faster than M3 and mark the start of the AI era in computing. Redmond’s company unveiled the Co-pilot Plus PC, a new device running Windows on ARM CPU architecture and featuring a 40 TOPS neural processing unit. The device, designed to compete with the MacBook Air, has raised concerns due to its advanced "recall" feature, which takes snapshots of user activity and stores them on the device. Some find this feature intriguing, while others see it as a data privacy issue. Check it out the full video!

Why you should use SQLite – by Serdar Yegulalp

This useful post talks about the benefits of using SQLite as an embedded relational database for desktop, mobile, and edge computing applications. It is cross-platform, compatible with most programming languages, self-contained, and open source. The post text also compares SQLite to MySQL and other embedded databases, highlighting its limitations in scenarios.

The WHAT, WHY And HOW Of HTTP Connection: Keep-Alive – by Do Tran

The post explains the concept of HTTP connection keep-alive, which allows servers to maintain open TCP connections for a specific duration, improving performance. It delves into the mechanics of how it works, the OSI model, the cost of TCP re-connection, and the benefits of using the keep-alive header. It also provides examples of code in Rust for a server and client, showing how to enable and disable keep-alive functionality.

Introduction to @let in Angular 18 – by Rodrigo Oler

Angular 18 introduces the @let directive, which allows developers to create variables directly in HTML code. This feature simplifies operations like calculations, formatting dates, and displaying messages based on conditions. @let is particularly useful for handling asynchronous data and can make code cleaner and easier to understand. This feature promises to be a powerful tool that enhances the Angular development experience.

Cypress vs. Playwright for Node: A Head-to-Head Comparison – Antonello Zanini

The article’s author compares the two popular end-to-end testing frameworks for web applications: Cypress and Playwright for Node. He talks about their features, strengths, weaknesses, and differences, providing insights into which tool may be best suited for different project requirements.

Five Things to Avoid in Ruby – by Martin Streicher

The article’s author talks about five things to avoid in Ruby, including verbosity, long expressions to detect nil, filtering in memory and more. He emphasizes the importance of minimizing variance in Ruby code through tools like Rubocop, following idioms, and using best practices. The author provides examples and explanations for each of the five things to avoid.

And that’s all for this week! Wish you all a great weekend and happy coding!

We want to work with you. Check out our "What We Do" section!