chiichen's Technical Blog and Notes

website·Indexed 30 days ago

https://chiichen.github.io/

A collection of technical posts and study notes covering systems programming, including Linux kernel debugging, eBPF, DragonOS, and Rust. The site also features content on compiler principles (rcc), C++ type deduction, gRPC with Go, computer networking, and software project management.

Tokens
202.1K
Snippets
202
Records
1.3K
Agent score
74%

What's inside chiichen

  1. Overview of Project Quality Management Processes

    Project Quality Management ensures that a project satisfies the needs for which it was undertaken. It consists of three primary processes:

    1. Plan Quality Management: Identifying quality requirements and standards for the project and determining how to satisfy them. Key outputs include the quality management plan, quality metrics (e.g., failure rates, availability, customer satisfaction), and updates to project documents.
    2. Manage Quality: Translating the quality management plan into executable quality activities aligned with organizational policies. Key outputs include quality reports, test and evaluation documents, and change requests.
    3. Control Quality: Monitoring specific project results to ensure they are complete, correct, and meet customer expectations. This process focuses on acceptance decisions, rework, and process adjustments. Key outputs include quality control measurements and validated deliverables.
  2. Overview of the Project Scope Management Process

    Project Scope Management involves the processes required to ensure the project includes all the work required, and only the work required, to complete the project successfully. It consists of six primary processes:

    1. Plan Scope Management: Determining how the project scope and requirements will be defined and managed.
    2. Collect Requirements: Defining and documenting the product characteristics and functions.
    3. Define Scope: Developing a detailed project scope statement based on the scope management plan, project charter, and requirements documentation.
    4. Create WBS (Work Breakdown Structure): Breaking down major project deliverables into smaller, more manageable components.
    5. Validate Scope: The formal acceptance of completed project deliverables by key stakeholders (e.g., customers or sponsors).
    6. Control Scope: Monitoring the status of the project and product scope and managing changes to the scope baseline to prevent scope creep.
  3. Overview of Project Procurement Management processes

    Project Procurement Management involves acquiring products or services from external sources. It consists of three primary processes:

    1. Plan Procurement Management: Determining what to procure, when to procure it, and how to do so. This includes making make-or-buy decisions, selecting contract types, and describing the work to potential sellers. Key outputs include the procurement management plan, procurement strategy, bid documents, and source selection criteria.
    2. Conduct Procurements: Obtaining seller responses, selecting sellers, and awarding contracts.
    3. Control Procurements: Managing relationships with sellers, monitoring contract performance, implementing changes, and closing out contracts.
  4. Overview of Architecture Patterns

    An architecture pattern is a collection of design decisions that recur in practice, possessing known reusability properties and describing a class of architectures. They are categorized into:

    • Module Patterns: e.g., Layer Pattern.
    • Component and Connector Patterns: e.g., Broker, Model-View-Controller (MVC), Pipe and Filter, Client-Server, Peer-to-Peer (P2P), Service Oriented Architecture (SOA), Publish-Subscribe, and Shared Data patterns.
    • Allocation Patterns: e.g., Map-Reduce, Multi-tier patterns.
  5. Overview of Linux NUMA Balancing Principles

    NUMA balancing aims to ensure tasks access memory on their local node to minimize latency. It achieves this through two primary mechanisms: migrating a task to the node where most of its accessed memory resides, or migrating memory pages to the node where the task is currently running. The process involves: 1. Periodically scanning a task's address space and marking page table entries as PAGE_NONE to trigger page faults. 2. Tracking which nodes and tasks access specific pages during these faults. 3. Using historical fault data to decide whether to migrate the page or the task.
  6. Overview of Semantic Analysis in Compilers

    Semantic analysis is the phase of compilation focused on ensuring the program is logically consistent. Its core responsibilities are Type Checking (verifying that operands match operator requirements) and Scope Checking (ensuring variables are declared before use and are accessible in the current context). Semantics are characterized by attributes, which are calculated using a series of attribute equations in a specific order.
  7. Overview of Cost-Based Query Optimization

    Cost-based query optimization aims to find the most efficient execution plan for a given query. The process involves three primary steps: generating logically equivalent expressions using equivalence rules, annotating these expressions to create alternative query plans, and selecting the plan with the lowest estimated cost. Cost estimation is based on relation statistics (e.g., tuple counts, number of distinct attribute values), estimates of intermediate results, and cost formulas for specific algorithms.
  8. Overview of Project Stakeholder Management processes

    Project Stakeholder Management aims to identify all individuals and organizations affected by a project, analyze their expectations, and ensure their effective participation in decision-making throughout the project lifecycle. It consists of four primary processes:

    1. Identify Stakeholders: Identifying all people involved in or affected by the project and determining the best way to manage relationships. Primary output: Stakeholder Register.
    2. Plan Stakeholder Engagement: Developing strategies to effectively engage stakeholders based on their needs, interests, and potential influence. Primary output: Stakeholder Engagement Plan.
    3. Manage Stakeholder Engagement: Communicating and working with stakeholders to meet their needs/expectations, resolve issues, and foster participation. Primary outputs: Change requests, updates to the project management plan and project documents.
    4. Monitor Stakeholder Engagement: Monitoring stakeholder relationships and adjusting plans/strategies to maintain engagement. Primary outputs: Work performance information, change requests, updates to the project management plan and project documents.
  9. Overview of Project Communication Management processes

    Project Communication Management ensures that project information is generated, collected, distributed, stored, and disposed of timely and appropriately. It consists of three primary processes:

    1. Plan Communications Management: Identifying stakeholder information and communication needs (who needs what, when, and how). Outputs include the communications management plan, project management plan updates, and project document updates.
    2. Manage Communications: Creating, distributing, storing, retrieving, and disposing of project communication. Outputs include project communications, project management plan updates, project document updates, and organizational process asset updates.
    3. Monitor/Control Communications: Ensuring that the information needs of the stakeholders are met and optimizing information flow throughout the project lifecycle.
  10. Overview of Project Quality Management processes

    Project Quality Management ensures a project satisfies its requirements through three primary processes:

    1. Plan Quality Management: Identifying relevant quality requirements and standards and determining how to meet them. Key outputs include the quality management plan and quality metrics (e.g., failure rates, availability, customer satisfaction).
    2. Manage Quality: Translating the quality management plan into executable activities aligned with organizational quality policies. Key outputs include quality reports, test and evaluation documentation, and change requests.
    3. Control Quality: Monitoring specific project results to ensure they are complete, correct, and meet customer expectations. Key outputs include quality control measurements, validated deliverables, and work performance information.
  11. Overview of Relational Query Languages

    Relational query languages are categorized as either procedural or non-procedural (declarative).

    Pure relational languages include:

    • Relational Algebra: A procedural language using operators.
    • Tuple Relational Calculus: A non-procedural language.
    • Domain Relational Calculus: A non-procedural language.

    Common relational operators include Selection (filtering tuples), Projection (selecting columns), Cartesian Product, Union, Set Difference, and Set Intersection.

  12. Overview of Project Scope Management Processes

    Project Scope Management consists of six primary processes used to ensure the project team and stakeholders reach a consensus on deliverables and the work required to produce them:

    1. Plan Scope Management: Determining how the project scope and requirements will be managed.
    2. Collect Requirements: Defining and documenting product characteristics, functions, and the processes to develop them.
    3. Define Scope: Reviewing the scope management plan, project charter, and requirements to create a detailed project scope statement.
    4. Create WBS: Decomposing major project deliverables into smaller, more manageable components.
    5. Validate Scope: Formal acceptance of project deliverables by key stakeholders (e.g., customers or sponsors).
    6. Control Scope: Monitoring and controlling changes to the project scope to prevent scope creep and manage impacts on time and cost.