Best of General ProgrammingDecember 2024

  1. 1
    Article
    Avatar of javarevisitedJavarevisited·1y

    S.O.L.I.D Principle Part 1

    An introduction to the S.O.L.I.D principles which are fundamental for software design patterns. This part covers the Single Responsibility Principle, Open Closed Principle, and Liskov Substitution Principle, explaining how these principles enhance flexibility, maintainability, and modularity in code. Examples and practical use cases are provided to illustrate these principles.

  2. 2
    Video
    Avatar of youtubeYouTube·1y

    7 Design Patterns EVERY Developer Should Know

    Forest explains seven key software design patterns, categorized into creational, structural, and behavioral types. He provides practical examples and analogies for Singleton, Builder, Factory, Facade, Adapter, Strategy, and Observer patterns, highlighting their uses, benefits, and drawbacks. The patterns are presented as solutions to common programming problems, with a focus on when and how to use them effectively.

  3. 3
    Article
    Avatar of devtoDEV·1y

    Tracking down high memory usage in Node.js

    The post discusses a developer's approach to tracking and fixing high memory usage in Node.js applications. It covers understanding the code, replicating the issue, capturing memory profiles from staging services, and verifying the fix. The result was a significant reduction in memory usage and better service reliability.

  4. 4
    Video
    Avatar of awesome-codingAwesome·1y

    SOLID Principles The Right Way

    The post explains the SOLID principles in software development and discusses their practical application. It covers each principle—Single Responsibility, Open/Close, Liskov Substitution, Interface Segregation, and Dependency Inversion—highlighting common pitfalls and offering tips for real-world usage. The author emphasizes balancing theory with practical implementation to avoid over-engineering and maintain clean, maintainable code.

  5. 5
    Article
    Avatar of fluttersquadFlutter Developers·1y

    Flutter Team recommended App Architecture

    The Flutter team has released a recommended app architecture that follows the MVVM pattern. This architecture provides a standardized approach for developers to follow when building Flutter applications.

  6. 6
    Article
    Avatar of hnHacker News·1y

    Building AI Products—Part I: Back-end Architecture

    In 2023, an AI-powered Chief of Staff tool for engineering leaders reached 10,000 users within a year. Insights gathered during its development led to the creation of Outropy, a developer platform to build AI products, focusing on sustainable and reliable AI systems. The journey involved navigating challenges with generative AI, understanding the role of agents versus microservices, and optimizing performance and scalability. The transition to using Temporal for stateful workflows and the evolution of AI product development is a highlight, offering valuable lessons in structuring AI applications.

  7. 7
    Article
    Avatar of communityCommunity Picks·1y

    State of JavaScript 2024

    In 2024, the top three front end frameworks are over a decade old but have seen substantial evolution. Leading the charge in tooling are Vite and Vitest, known for their simplicity and performance. A new Metadata appendix provides insights into survey respondents, and the Query Builder allows for applying new variables to charts, offering a deeper dive into JavaScript's current state.

  8. 8
    Video
    Avatar of TechWithTimTech With Tim·1y

    10 Important Python Concepts In 20 Minutes

    Learn the essential Python concepts including dynamic typing, mutability, f-strings, slicing, the 'if __name__ == '__main__'' statement, for-else loops, star args and kwargs, list comprehensions, context managers, and multiple assignment and unpacking. These concepts are crucial for efficient Python programming and can help avoid common pitfalls. Additionally, a free guide detailing how to land a developer role in AI is available.

  9. 9
    Article
    Avatar of ghblogGitHub Blog·1y

    The top 10 gifts for the developer in your life

    Discover the top 10 gifts for the developer in your life, from quirky sweaters and glow-in-the-dark hoodies to practical tumblers and unique keycaps. Whether you're shopping for a holiday present or a fun stocking stuffer, this guide offers a variety of items that any developer would appreciate. Don't miss out on the new markdowns and popular items available at The GitHub Shop this season.

  10. 10
    Article
    Avatar of lobstersLobsters·1y

    Software Design is Knowledge Building

    A company relies on an integration service but decides to build an in-house system to cut costs. Despite successful initial development, the system becomes hard to maintain when transferred to a new team. This is attributed to the lack of a shared mental model among the new developers, making it difficult to understand and modify the software. The post highlights the importance of knowledge building and proper documentation in software design to ensure long-term maintainability.

  11. 11
    Article
    Avatar of bytebytegoByteByteGo·1y

    EP142: The Fundamental Pillars of Object-Oriented Programming

    Object-oriented programming (OOP) is built on four pillars: abstraction, encapsulation, inheritance, and polymorphism. Abstraction hides the complexity by only showcasing the essential features, encapsulation wraps data and methods in a class with restricted access, inheritance allows new classes to inherit attributes and methods from existing classes to promote code reuse, and polymorphism enables methods to behave differently based on the object they are invoked on.

  12. 12
    Article
    Avatar of newstackThe New Stack·1y

    The Best MacOS Terminal Emulation Programs for Developers

    macOS offers powerful development tools, including the built-in Terminal app. However, third-party terminal emulators like iTerm2, WezTerm, Warp, Commander One, and Hyper provide more features and customization options. These applications enhance productivity with advanced capabilities like split panes, GPU acceleration, AI integration, file management, and SSH optimization. Users can also alter the default shell with frameworks like Oh My Zsh or replace it with shells like Fish or Bash to further improve their command-line experience.

  13. 13
    Article
    Avatar of lpythonLearn Python·1y

    Decoration !! 💖

  14. 14
    Article
    Avatar of ddcDaily Dose of Code·1y

    Java competitive programming setup !!!

    The post provides a simple setup for Java competitive programming, designed to handle multiple test cases efficiently. It includes instructions on creating an input.txt file and output.txt file, and a Java class to manage input and output streams, allowing for streamlined testing of different scenarios without retyping. An example implementation shows how to check for unique characters in a string by reading from the input file and writing results to the output file.

  15. 15
    Video
    Avatar of TechWithTimTech With Tim·1y

    Please Master This __Magic__ Python Feature...

    This post explains the concept of Dunder or double underscore methods in Python, also known as magic methods. These methods are special and reserved in Python and map to specific behaviors such as object creation, addition operations, and string representations. The post includes examples of implementing these methods, covering various operations like arithmetic and comparisons, and also delves into context managers and iterators. The objective is to make readers understand how these methods enable different functionalities in Python objects.

  16. 16
    Article
    Avatar of watercoolerWatercooler·1y

    Calm down im going to use the variable

  17. 17
    Article
    Avatar of communityCommunity Picks·1y

    Errors, Errors Everywhere: How We Centralized and Structured Error Handling

    Error handling in Go, initially simple, often becomes chaotic as a codebase grows. This post details the journey of creating a centralized, structured error framework using namespace codes for meaningful and traceable error logs. The new approach addresses inconsistent logs, improper error handling, and lack of categorization, promoting better organization and monitoring. Key design decisions include centralizing error declarations, standardizing error handling, and categorizing errors for effective monitoring. Practical examples illustrate the implementation and benefits of the updated error handling strategy.

  18. 18
    Article
    Avatar of htmxhtmx·1y

    > htmx ~ Prefer If Statements To Polymorphism...

    The post emphasizes favoring if statements over polymorphism, suggesting a practical approach to programming by minimizing abstractions. Key principles include avoiding unnecessary classes, trying out implementations and making necessary substitutions, and ensuring dependencies are useful. It advises limiting abstractions, promoting copy-paste driven development for minor reuse, and prioritizing functionality-rich objects. The post also introduces macroservice architecture to reduce deployment complexity.

  19. 19
    Article
    Avatar of communityCommunity Picks·1y

    Build Tool Calling Agents with LangGraph and watsonx.ai Flows Engine

    Generative AI allows for creating applications by connecting tools, models, and APIs. This tutorial shows you how to set up and run an AI agent using watsonx.ai Flows Engine and LangGraph, with models powered by IBM's watsonx.ai platform. The guide covers installation, tool setup, and running a chat application. Learn to convert your own data sources into tools and build AI-powered apps with real-time data retrieval.

  20. 20
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·1y

    The mistakes keeping you stuck in their Low Level Game Dev Journey!

    This post discusses common mistakes in low-level game development and offers insights on how to avoid getting stuck. It highlights the importance of balancing learning and practicing, and cautions against over-reliance on OOP and premature optimization. The author recommends focusing on challenging projects to facilitate growth and refining code based on practical experience.

  21. 21
    Article
    Avatar of gcgitconnected·1y

    🚀 Unlocking the Power of Solution Architecture: A Guide to Methodologies for Modern Systems

    Solution Architecture is essential for building scalable and efficient software systems. It involves defining system interactions, choosing appropriate technologies, and ensuring integration, scalability, and security. Key methodologies include Monolithic Architecture, Microservices, Event-Driven Architecture, Serverless Architecture, and Domain-Driven Design, each with unique benefits. Netflix exemplifies effective modern solution architecture through its use of Microservices and Event-Driven Design.

  22. 22
    Article
    Avatar of medium_jsMedium·1y

    Dunder Methods: The Hidden Gems of Python

    Dunder methods, or double underscore methods, are special functions in Python that simplify coding and improve readability by leveraging standard interfaces. Every Python object inherits these methods, which are triggered automatically through interactions with native Python features. By understanding and using these methods, programmers can customize object behavior efficiently, making their code more concise and readable. The post provides practical examples, such as overriding __init__, __repr__, and __call__, to demonstrate the power of dunder methods in real-world coding scenarios.