Skip to content

Instantly share code, notes, and snippets.

View MangaD's full-sized avatar
📚
studying

David Gonçalves MangaD

📚
studying
View GitHub Profile
@MangaD
MangaD / Qt_QML_vs_UI.md
Created September 7, 2025 00:34
Qt: QML vs UI

Qt: QML vs UI

CC0

Disclaimer: Grok generated document.

In Qt, QML and UI (often referring to .ui files) are two distinct approaches for designing user interfaces, each with different purposes, workflows, and use cases. Here's a clear breakdown of the differences:

1. QML (Qt Modeling Language)

  • Definition: QML is a declarative, JavaScript-based language specifically designed for creating fluid, dynamic, and modern user interfaces in Qt applications. It is part of the Qt Quick module.
@MangaD
MangaD / cpp_profilers.md
Created September 6, 2025 21:46
C++: Profilers

C++: Profilers

CC0

Disclaimer: Grok generated document.

Introduction to Profilers for C++

Profilers are essential tools for developers working with C++ to analyze and optimize application performance. They help identify bottlenecks in code execution, such as high CPU usage, memory leaks, cache misses, thread contention, or inefficient algorithms. C++ applications, often used in high-performance domains like games, simulations, embedded systems, and scientific computing, benefit greatly from profiling due to the language's low-level control over resources.

@MangaD
MangaD / real_time_apps_languages.md
Created September 6, 2025 14:48
Understanding Real-Time Applications and the Programming Languages That Power Them

Understanding Real-Time Applications and the Programming Languages That Power Them

CC0

Disclaimer: Grok generated document.

In the fast-paced world of technology, real-time applications play a critical role in systems where timing is everything. From life-saving medical devices to seamless video streaming, these applications demand precision, speed, and reliability. But what exactly are real-time applications, which programming languages are used to build them, and why aren’t other languages suitable? Let’s dive in.

What Are Real-Time Applications?

@MangaD
MangaD / sdk_framework_and_qt.md
Created September 6, 2025 10:09
The Ultimate Guide to SDKs and Qt: A C++ Powerhouse with Cross-Language Reach

The Ultimate Guide to SDKs and Qt: A C++ Powerhouse with Cross-Language Reach

CC0

Disclaimer: Grok generated document.

In the vast landscape of software development, Software Development Kits (SDKs) are essential tools that empower developers to create applications efficiently for specific platforms, frameworks, or hardware. Among these, Qt stands out as a versatile, cross-platform SDK, particularly renowned for its C++-based capabilities in building graphical user interfaces (GUIs) and beyond. This comprehensive guide explores Qt’s role as an SDK, its deep integration with C++, and its connections to other languages like Python and JavaScript. Additionally, we’ll clarify the distinctions and overlaps between SDKs and frameworks, addressing a common point of confusion in the development community. Whether you’re a C++ developer, a Python enthusiast, or a UI designer, this article provides the i

@MangaD
MangaD / making_a_compiler.md
Last active September 5, 2025 08:53
Making a compiler

Making a compiler

CC0

Disclaimer: Grok generated document.

Introduction to Compilers

Compilers are sophisticated software tools that translate human-readable source code written in high-level programming languages (like C, Java, or Python) into low-level machine code that a computer's processor can execute directly. This translation process involves multiple stages of analysis, transformation, and generation. Without compilers, programmers would have to write code in binary or assembly language, which is tedious and error-prone.

@MangaD
MangaD / ddd_domain-driven-design.md
Created September 4, 2025 22:24
Domain-Driven Design (DDD)

Domain-Driven Design (DDD)

CC0

Disclaimer: Grok generated document.

Domain-Driven Design (DDD) is a software development approach focused on creating software that reflects the complexity of the business domain it serves. Introduced by Eric Evans in his 2003 book Domain-Driven Design: Tackling Complexity in the Software, DDD emphasizes collaboration between technical and domain experts to build a model that captures the core business logic and processes. It’s particularly useful for complex systems where the business rules and workflows are intricate.

Core Concepts of DDD

  1. Domain: The problem space or business area the software addresses (e.g., e-commerce, banking, logistics).
@MangaD
MangaD / coupling_cohesion.md
Created September 4, 2025 22:14
Coupling & Cohesion

Coupling & Cohesion

CC0

Disclaimer: Grok generated document.

Introduction to Coupling and Cohesion

In software engineering, coupling and cohesion are fundamental concepts used to evaluate the quality of a system's design, particularly in terms of modularity, maintainability, and scalability. Cohesion refers to how closely related and focused the elements within a single module (such as a class, function, or component) are on performing a specific task. High cohesion means the module is unified and does one thing well. Coupling, on the other hand, measures the degree of interdependence between different modules. Low coupling indicates that modules can operate independently, making the system easier to modify without widespread ripple effects. These principles originated from structured design in the 1970s but remain relevant in modern paradigms like object-oriented programming (OOP), microservi

@MangaD
MangaD / software_design.md
Created September 3, 2025 14:00
Software Design

Software Design

CC0

Disclaimer: Grok generated document.

Introduction to Software Design

Software design is the process of envisioning and defining the structure, components, interfaces, and behaviors of a software system before it is built or modified. It bridges the gap between software requirements (what the system should do) and implementation (how it is coded). This phase focuses on creating a blueprint that ensures the software is efficient, maintainable, and scalable. In traditional models like the waterfall approach, design follows requirements analysis and precedes coding, allowing collaboration among developers, designers, and stakeholders. For complex systems, prototypes or simulations may be used to validate designs early.

@MangaD
MangaD / sdks.md
Created August 30, 2025 23:02
The Ultimate Guide to SDKs: Unraveling Their Power with C++ and Beyond

The Ultimate Guide to SDKs: Unraveling Their Power with C++ and Beyond

CC0

Disclaimer: Grok generated document.

In the dynamic world of software development, Software Development Kits (SDKs) are the unsung heroes that empower developers to create robust, efficient applications for diverse platforms and services. From crafting high-performance games to building scalable cloud solutions, SDKs provide the tools, libraries, and documentation needed to streamline complex tasks. This comprehensive guide explores SDKs in depth, with a primary focus on their integration with C++, a language celebrated for its speed and control, while also examining their relationships with other languages like Python, Java, and JavaScript. We’ll cover their history, technical details, real-world applications, challenges, best practices, and future trends, ensuring you have everything needed to master SDKs for your next pro

@MangaD
MangaD / rfc.md
Created August 26, 2025 19:36
Everything You Need to Know About RFCs in Computer Science

Everything You Need to Know About RFCs in Computer Science

CC0

Disclaimer: Grok generated document.

In the vast world of computer science, few things are as foundational yet often overlooked as RFCs—Request for Comments. These documents form the backbone of the Internet as we know it, defining protocols, standards, and best practices that enable global connectivity. Whether you're a networking enthusiast, a software developer, or just curious about how the digital world ticks, understanding RFCs is essential. In this blog post, we'll dive deep into what RFCs are, their history, how they're created, different types, key examples, and their enduring importance in computer science. Let's get started!

What Are RFCs?