Best of General ProgrammingNovember 2024

  1. 1
    Article
    Avatar of communityCommunity Picks·2y

    Ultimate Cheat for Developers

    The post provides an extensive list of programming languages, tools, and platforms beneficial for developers such as Python, JavaScript, Docker, Terraform, and more. It includes a variety of software, from code editors and IDEs to productivity tools and game development applications.

  2. 2
    Video
    Avatar of wdsWeb Dev Simplified·2y

    How To Use Libraries Like A Senior Dev

    Learn how to structure your code effectively using adapter and facade patterns to simplify database queries and improve maintainability in large projects. Kyle from Web Dev Simplified compares two project structures, showing the pros and cons of each approach, and highlights the importance of centralizing code and creating abstractions to make refactoring and library changes easier.

  3. 3
    Article
    Avatar of communityCommunity Picks·1y

    Moving From IDE to LazyVim

    Transitioning from traditional IDEs to LazyVim can initially be challenging due to Vim's complexity. However, LazyVim, a pre-configured Neovim setup, simplifies this process by offering essential features like syntax highlighting, linter, auto-completion, and Git integration. It also includes the which-key plugin to assist in learning keybindings. LazyVim is powered by lazy.nvim, making it easier to extend configurations with plugins like Avante for AI capabilities and LazyGit for an enhanced Git experience. Installation steps for both LazyVim and useful plugins are provided, along with key configuration and keybindings.

  4. 4
    Article
    Avatar of milanjovanovicMilan Jovanović·2y

    Clean Architecture: The Missing Chapter

    Clean Architecture is about dependencies, not folders. Many developers mistakenly turn the Clean Architecture diagram into a project structure, but the focus should be on managing dependencies. Traditional layer-based organization scatters related components and creates maintenance challenges. Organizing code by feature or component helps achieve better dependency management and business focus. The post provides practical examples and best practices for implementing these principles in .NET, highlighting the importance of managing dependencies and keeping related code together.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    JavaScript's ??= Operator: Default Values Made Simple

    The nullish coalescing assignment operator `??=` in JavaScript, added in ECMAScript 2021, assigns a default value to a variable only if it is `null` or `undefined`. This operator helps in preserving falsy values like 0 or an empty string that might be valid and prevents unintentional bugs in applications.

  6. 6
    Article
    Avatar of engineeringleadershipEngineering Leadership·1y

    How to master React software design and architecture. Read these 10 articles:

    Discover essential practices and tools to master React software design and architecture. From organizing applications and managing state to performance optimization and testing best practices, this post compiles ten articles to help improve your React projects.

  7. 7
    Article
    Avatar of watercoolerWatercooler·2y

    Client (noun): The expert who knows your job better than you.

  8. 8
    Article
    Avatar of rn_squadReact Native Devs·2y

    VS Code Tips and Tricks

    Comprehensive guide covering essential VS Code features including keyboard shortcuts for both Windows and Mac, popular productivity-boosting extensions, useful workspace settings, and tips for debugging and git integration.

  9. 9
    Article
    Avatar of devleaderDev Leader·2y

    I knew being a programmer would pay off 😎

  10. 10
    Article
    Avatar of communityCommunity Picks·2y

    Scheduling Tasks with CRON Jobs in Node.js

    Learn how to set up and manage CRON jobs in Node.js to schedule tasks at specific intervals, such as backups, logging, notifications, and cleanups. The guide covers installing the 'node-cron' and 'express' packages, writing and running CRON jobs, understanding the syntax, and implementing best practices and potential pitfalls.

  11. 11
    Article
    Avatar of collectionsCollections·2y

    Flutter Full Stack Tutorial – Spotify Clone with MVVM Architecture, Python, FastAPI, and Riverpod

    Learn to build a fully functional Spotify clone using Flutter for the front end and FastAPI for the backend, following the MVVM architecture. The tutorial covers advanced topics including user authentication, background music playback, and data persistence with PostgreSQL, along with efficient state management using Riverpod.

  12. 12
    Article
    Avatar of microservicesioMicroservices.io·2y

    Reducing insider trading in a microservice architecture

    Reducing insider trading in microservice architectures involves ensuring loose design-time coupling by avoiding direct database queries between services and using APIs instead. However, APIs alone don't guarantee loose coupling. Encapsulation is crucial, where each service hides its internal data and logic, resembling icebergs. This approach, applied in examples like takeout burritos, helps manage dependencies and improve the maintainability of the system.

  13. 13
    Video
    Avatar of joshtriedcodingJosh tried coding·2y

    What Large-Scale Software Looks Like

    Discover what distinguishes enterprise-scale software from regular applications through an exploration of a viral Next.js monorepo template. This comprehensive template includes features like authentication, billing via Stripe, analytics, SEO, and more, all geared towards rapidly building a SaaS application. Key highlights include the use of a microservice architecture for the API, reusable packages for scalability, and a focus on extendability and reusability to maintain large codebases efficiently.

  14. 14
    Article
    Avatar of hnHacker News·2y

    Monorepo - Our experience

    Nine months after switching to a monorepo, our experience has been largely positive. The move decreased grunt work, reduced the use of submodules, improved marketing visibility by consolidating stars, and streamlined development processes without major impacts on our productivity. This enhanced connectedness within the team and simplified long-term refactoring efforts.

  15. 15
    Article
    Avatar of cerbosCerbos·2y

    Determining service boundaries and decomposing your monolith

    Transitioning from a monolithic architecture to microservices is a complex task that requires careful planning and execution. This series provides guidance on decomposing monoliths and defining service boundaries, emphasizing the importance of Domain-Driven Design and the Single Responsibility Principle. Practical insights and examples, such as Netflix's migration, highlight the benefits and challenges of this process. Continuous refactoring and alignment with business domains are essential for successful microservices migration.

  16. 16
    Article
    Avatar of watercoolerWatercooler·1y

    I mean ...

  17. 17
    Article
    Avatar of phpdevPHP Dev·2y

    Understanding SOLID Principles in PHP

  18. 18
    Article
    Avatar of communityCommunity Picks·2y

    How to find production memory leaks in Node.js applications?

    The post details the process of identifying and fixing a memory leak issue in a Node.js API deployed on Kubernetes. It discusses the investigation approach, including attempts to reproduce the issue locally, load testing in staging environments, and taking memory snapshots from production. The post highlights the use of tools like Clinic.js, Jenkins, and Chrome DevTools, and emphasizes the importance of proper debugging and risk mitigation strategies in production. Ultimately, the issue was traced to the improper handling of grpc connections in the Google reCAPTCHA enterprise library.

  19. 19
    Article
    Avatar of dotnetsquad.NET·1y

    Why the Confusion Between N-Tier and N-Layer Frustrates Me (and Why It Should Matter to You)

    Confusing N-Tier architecture with N-Layer design leads to significant misunderstandings in software development. N-Layer refers to a logical code organization pattern within an application, separating concerns into layers like presentation, business logic, and data access. In contrast, N-Tier describes a physical deployment model distributing application components across different servers or environments. Clear and consistent use of these terms can prevent miscommunication and improve collaboration among teams.

  20. 20
    Article
    Avatar of watercoolerWatercooler·1y

    How to lie smoothly

  21. 21
    Article
    Avatar of justjavaJust Java·1y

    Simplify Object Creation with the Builder Pattern in Java

    The Builder Pattern is a design pattern in Java that helps simplify object creation, especially when dealing with constructors that have many parameters. It promotes clean and organized code by allowing objects to be built step by step.

  22. 22
    Video
    Avatar of dotnet.NET Blog·2y

    Building AI Applications from Scratch: A Hands-On Guide for .NET Developers

    Jeremy and Lise from the intelligent apps team for .NET discuss building AI applications from scratch for .NET developers. They cover various aspects such as integrating AI-enhanced samples, Microsoft extensions, and community collaboration for a vibrant ecosystem. The discussion includes practical scenarios using AI for summarization, semantic search, classification, localization, and sentiment analysis. The post also touches upon advanced topics like retrieval augmented generation (RAG) for contextual data enhancement and responsible AI practices. Furthermore, it highlights the importance of evaluations in ensuring reliable AI outputs and demonstrates how to use built-in evaluators for AI applications.

  23. 23
    Article
    Avatar of medium_jsMedium·2y

    Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns

    Poorly designed presentation models can complicate ViewModel classes, leading to bloated, error-prone code. This post explores different approaches to modeling ViewModel state in Android, starting with plain data classes and enums, moving to sealed interfaces, and ultimately proposing a method that combines data classes and sealed interfaces. This hybrid approach aims to offer simplicity, readability, and scalability, while ensuring data consistency across different UI states. The post also includes code examples to illustrate each approach and highlights the pros and cons, recommending unit tests to catch errors.

  24. 24
    Article
    Avatar of lnLaravel News·2y

    Laravel Roundup

    The November edition of the Laravel Roundup includes highlights such as the new PHP and Laravel installer, Laravel MongoDB integration version 5.0, WireSpy for Laravel Livewire, and the beta release of Inertia.js v2. It also features a new PHP package called Pan and discusses the API Platform for Laravel. The post lists various job openings for Laravel developers and shares upcoming Laravel events along with tutorials for rendering API exceptions as JSON, splitting log levels in Laravel, and enhancing PhpStorm with Laravel Idea.