Codeminer42 Dev Weekly #22

HELLO EVERYONE!!! It’s August 2th 2024 and you are reading the 22th edition of the Codeminer42’s tech news report. Let’s check out what the tech world showed us this week!

Essential Refactoring Techniques for Clean and Maintainable Code – by Suraj Vishwakarma

The article talks about the refactoring techniques to improve code quality and maintainability. These techniques help reduce technical debt, enhance code quality, increase development speed, and foster better team collaboration. Regular refactoring is crucial for maintaining a clean codebase and managing technical debt. Check it out to discover what those very useful techniques are!

Don’t Ask Permission To Do Your Job Correctly: Avoiding The Technical Debt Trap – by Mario Bittencourt

Mario Bittencourt’s article highlights the issue of technical debt in software development. He discusses the difference between intentional technical debt and "cruft," which accumulates when code is poorly managed or lacks a clear plan for improvement. Bittencourt advocates for a "boy scout" approach, focusing on improving code quality and avoiding the trap of cruft.

AWS Discontinues Various Services, Raising Concerns in the Community – by Renato Losio

AWS has discontinued managed services like AWS CodeCommit, AWS Cloud9, and Amazon Forecast, causing confusion among developers. This marks the first time AWS has retired multiple services in a short period. Existing features will remain secure, but new customers will not be onboarded. Some experts view the discontinuation as a necessary service cleanup.

What’s New in macOS? How to Install the Sequoia Beta – by Daniel Kehoe

🚨 Public beta for macOS Sequoia (macOS 15) is here! Try it out before the official release in late Sept/early Oct 2024. 🖥️✨

🔑 Key features:

  1. Passwords App
  2. Window Tiling
  3. iPhone Mirroring
  4. Seamless Drag & Drop
  5. Apple Intelligence

To install, register with the Apple Beta Software Program. Backup your data first! 🛡️ Installation may take over an hour. Check it out!!!

Count(*) vs Count(1) in SQL

The article discusses the differences between COUNT(*) and COUNT(1) in SQL, both of which are used to count rows in a table. The key points discussed are: Functionality, Performance, Readability, Practical Considerations and Compatibility.

Garbage collection and closures – by Jake Archibald

Jake Archibald addresses memory leaks in JavaScript caused by closures. He explains that while JavaScript engines are generally good at garbage collection, they may retain memory if inner functions remain callable, regardless of direct references to large objects. This well-recommended post underscores the need to understand how closures impact memory management in JavaScript.

Monorepo VS Polyrepo – by Eden Ella

The debate between monorepo and polyrepo for codebase management has grown due to micro-architecture patterns. Monorepos offers code sharing, dependency management, and consistency, while polyrepos offers flexibility and team autonomy. Bit, a proposed solution, merges the advantages of both approaches, allowing developers to manage code components as standalone entities. Check it out and learn more about Bit.

How the Adidas Platform Team Reduced the Cost of Running Kubernetes Clusters – by Claudio Masolo

The adidas platform team reduced Kubernetes cluster costs in AWS by up to 50% using a multi-faceted approach. These measures led to significant cost savings in non-production clusters and an opt-in model for production environments. Check it out this article to know more about the strategies used.

Use CSS’ ‘only-child’ instead of ‘if/else’ logic – by Rails Designer

The article discusses about the only-child pseudo-class, to simplify logic in web development, particularly for handling empty states in user interfaces. Instead of using traditional if/else statements to display messages in an inbox, developers can use CSS to conditionally show a message when there are no items. This approach also allows for automatic updates when messages are removed, enhancing efficiency in code management.

The Power of (Neo)vim AutoCommands – by Piotr

Piotr’s article highlights the importance of AutoCommands in Neovim for automating repetitive tasks and improving editing workflows. It provides examples of using AutoCommands, such as highlighting yanked text and running Go tests, and encourages users to explore and utilize them for improved efficiency.

Thinking Like an Architect – by Gregor Hohpe

Gregor Hohpe’s article talks about the role of software architects as "IQ amplifiers" who help teams make better decisions by examining problems from various perspectives. Architects bridge organizational levels, using metaphors to make complex concepts relatable, simplifying complexity with models, and seeing multiple dimensions. They balance options, creating flexible interfaces while maintaining coherence.

What we got wrong about HTTP imports – by Ryan Dahl

Deno’s module system, initially using HTTP imports for JavaScript development, faced challenges like long URLs, dependency management, duplicate dependencies, and reliability issues. To address these, Deno introduced Import Maps and JSR (JavaScript Registry), which allow shorter import specifiers and better version management. JSR enforces semantic versioning, reduces duplicate dependencies, and hides long URLs, while still functioning with existing scripts. These changes aim to enhance the JavaScript ecosystem. Check it out!

Real-Time Streaming Architectures: A Technical Deep Dive Into Kafka, Flink, and Pinot – by Abhishek Gupta

The article talks about real-time streaming architectures, focusing on the integration of tools like Apache Kafka, Flink, and Pinot. These technologies are crucial for ingesting, processing, and analyzing data in real-time, enabling quick decision-making. However, managing them at scale can be complex. Common use cases include real-time advertising systems, user-facing analytics, and fraud detection. Check it out to know more about it!

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!