CS Notes

Recent Updates

  • CS2040S Data Structures and Algorithms

    Feb 07, 2025

  • Datadog Real User Monitoring

    Feb 07, 2025

  • Kubernetes

    Feb 01, 2025

See 611 more →

        • Combinatorial Optimisation
        • Dijkstra's Algorithm
        • Dynamic Programming
        • Greedy Algorithm
        • Memoization
        • Backtracking
        • DFS
        • Recursion
        • Sorting
        • Interval
        • Sub-Sequence
      • Algorithm
      • Algorithm Complexity Analysis
      • Algorithm Content Page
      • Banker's Algorithm
      • BFS
      • Binary Search
      • Binary Search in Rotated Sorted Array
      • Genetic Algorithms
      • Kadane's algorithm
      • Kahn's Algorithm
      • Prefix Sum (前缀和)
      • Pseudo-Random Number Generation
      • Quick Select
      • Two Pointers (双指针)
          • ECS
          • ECS Exec
          • AWS ALB
          • AWS NLB
          • Target Group
        • ASG
        • AWS Lambda
        • EC2
        • AWS Database
        • AWS Backup
        • AWS Subnet
        • AWS Transit Gateway
        • AWS VPC Endpoint
        • AWS ACL
        • KMS
        • Security Group
        • AWS Parameter Store
        • DataSync
        • EFS
      • AWS EventBridge
      • AWS Nuke
      • Manage Your AWS from Code Editor without Console Hassles
        • curl
        • jq
        • netstat
        • scp
        • shebang
      • Atuin
      • Bash Scripting
      • Cron Jobs and Enhanced Monitoring Tools
      • Linux Namespace
        • AND
        • Complete Set of Logic
        • Logic Gates
        • NOR
        • NOT
        • OR
        • Transistors (晶体管)
        • XOR
      • Bit Shifting
      • Bitmasking
      • Boolean Algebra
      • Boolean Function
      • Boolean Standard Form
      • Maxterm
      • Minterm
      • C
      • C Array
      • C Datatype
      • C Function
      • C Keywords
      • C Program Compilation
      • C String
      • C Structure
      • CPP Notes
      • Macro Expansion
      • Cloudflare
        • Circuit Design
        • FPGA
        • Gray Code
        • Karnaugh Map
        • Programming Logic Array
        • Adder
        • Combination Circuit
        • Decoder
        • Multiplexer
          • MIPS
          • MIPS Control Flow
          • MIPS Data Memory
          • MIPS I-Type Instruction
          • MIPS Instruction
          • MIPS J-Type Instruction
          • MIPS Memory Access
          • MIPS R-Type Instruction
          • MIPS Register
          • RISCV CLINT
          • RISCV Instructure
          • RISCV Kernel Deep Dive
        • Assembly language
        • Atomic Instruction
        • CISC
        • Instruction
        • Instruction Execution
        • Instruction Set Architecture (ISA)
        • ISA Addressing Mode
        • ISA Instruction Format
        • ISA Storage Architecture
        • RISC
        • Base 64 Encoding
        • Character Encoding (字符编码)
        • Computer Data Representation
        • Endianness
        • Floating-Point Encoding (浮点数编码)
        • Integer Encoding (数字编码)
        • Number System
        • Instruction Stages
        • Instruction-Level Parallelism
        • Pipelining
        • Branch Prediction
        • Branch Prediction Strategies (Heuristics)
        • Pipeline Branching
        • Pipeline Flush
        • Operand Forwarding
        • Out-of-Order Execution
        • Pipeline Hazard
        • Pipeline Stall
        • Read-After-Write(RAW) Hazard
        • ALU
        • Clock Oscillator
        • Control Unit
        • CPU
        • CPU Datapath
        • GPU
        • MIPS ALU
        • MIPS Control Unit
        • Register
        • Specialised Processor
        • Data Latch
        • Flip-flop
        • Latch
        • Sequential Circuit
        • Sequential Circuit Analysis
        • Set Reset Latch
        • Pasha and Stick
        • LRU
        • Valid Sudoku
        • YetnotherrokenKeoard
        • (CodeForces) Almost Ternary Matrix
        • Leetcode - House Robber
        • Word Break
        • (CodeForces) Equalize
        • (CodeForces) Minimize Inversions
        • Container With Most Water
        • Next Permutation
        • (CodeForces) All The Same
        • (CodeForces) Divisibility
        • (CodeForces) Non-coprime Split
        • (CodeForces) Rectangle Cutting
        • (CodeForces) Rectangular Game
        • Closest Cities
        • Leetcode - Product of Array Except Self
        • Romantic Glasses
      • Competitive Programming Code Templates
      • CP Tips
      • Pending CP Questions
        • Hash Collision
        • Hash Function
        • Hash Map
        • AVL Tree
        • Binary Search Tree (二叉搜索树)
        • Binary Tree
        • Complete Binary Tree (完全二叉树)
        • Full Binary Tree (完满二叉树)
        • Perfect Binary Tree (完美二叉树)
        • Tree
      • Abstract Data Type (ADT)
      • Array
      • Data Structure
      • Data Structure Content Page
      • Deque
      • Graph Data Structure
      • Heap
      • Linked List
      • Priority Queue
      • Queue
      • Stack
      • ACID Transactions
      • Database
      • Database Collation
      • Database Indexing
      • Database Paradigms
      • Database Partitioning
      • Database Search
      • MySQL
      • Postgres
      • SQL
      • SQL Batch Processing
      • Monitoring
      • Observability
      • Prometheus
      • Prometheus On Macos
      • PromQL
        • Existential Statement
        • Predicate
        • Quantified Rule of Inference
        • Quantifier
        • Universal Statement
        • Cartesian Product
        • Empty Set
        • Mutually Disjoin Set
        • Ordered Pair
        • Power Set
        • Set
        • Set Equality
        • Set Notation
        • Set Partition
        • Set Theorem
        • Subset
        • Conditional Statement
        • Fallacy
        • Mathematical Argument
        • Mathematical Statement
        • Properties of Integer
        • Propositional Logic
        • Rule of Inference (推理规则)
        • Binomial Coefficient
        • Combination
        • Combinatorics
        • Counting
        • Permutation
      • Deductive Reasoning (演繹推理)
      • Direct Proof
      • Discrete Geometry
      • Discrete Math
      • Equivalence Relation
      • Indirect Proof
      • Mathematical Function
      • Mathematical Proof
      • Partial Order
      • Relation
      • Relation Composition
      • Relation Property
        • Distributed Consensus
        • Raft Consensus Algorithm
        • Replicated State Machine
      • Multipart Upload
      • GPIO Pins
      • Affiliate Business
      • Card Strategy as a Student
      • Credit Card
      • Income Tax Relief
      • Market Liquidity
      • Market Maker
      • Closure
      • Currying
      • Function
      • Lazy Evaluation
      • Pure Function
        • Boxing
        • Wrapper Class
      • Access Modifier
      • Handling Data Absence and Operational Errors with Java Optional
      • Java
      • Java Comparison
      • Java Constructor
      • Java Keywords
      • Java Lambda
      • Java Sorting
      • Java Standard Library
      • Sequence
      • Series
      • Computer Network
      • Dynamic Port Forwarding
      • Email Routing: Mechanisms, Security, and Cloudflare Solutions
      • File Sharing
      • ICMP
      • Local Port Forwarding
      • MAC Address
      • Multicast 多播
      • NAT
      • Network Relay
      • OSI Model
      • Remote Port Forwarding
      • Secure Tunneling
      • SEO 101
      • Server Mirroring
      • Subnet
      • TCP Tunneling
      • Communication Links
      • Digital Subscriber Line (DSL)
      • Link-layer switches
      • Network Router
      • Network Switch
      • Access Network
      • Bandwidth
      • Exponential Backoff
      • Host
      • Internet
      • ISP
      • Kubernetes Networking
      • Netfilter
      • Network Firewall
      • Network Object
      • Network Operations
      • Network Packet
      • Network Port
      • OpenWRT
      • REST API
      • Tethering
      • Transmission rate
      • TTL
      • URL
        • DNS
        • DNS Record
        • DNS Server
        • Hostname
        • IP Address
          • HTTP 1.2
          • HTTP 1.2 Server Push
          • HTTP Frame
          • HTTP Multiplexing (多路复用)
          • HTTP Stream
          • HTTP 1.3
          • QUIC
        • Head-of-Line Blocking (队头堵塞)
        • HTTP
        • HTTP 1.0
        • HTTP 1.1
        • HTTP Headers
        • HTTP Request
        • HTTP Request Methods
        • HTTP Response
        • HTTP Status Code
        • TCP
        • TCP Connection
        • TCP Handshake
        • TLS
        • TLS 1.2
        • X.509 Certificate
      • Address Resolution Protocol
      • AS
      • CSMA
      • DHCP
      • Ethernet
      • Internet Protocol (IP)
      • IPFS
      • Network Protocol
      • SOCKS
      • SSH
      • UDP
      • VPN
        • Divisibility (可除性)
        • Factor
        • GCD
        • Modulo
        • Prime Number (质数)
      • Integer (整数)
      • Rational Number
      • Real Number
      • cs1231s nus notes
      • CS2030S Programming Methodology II
      • CS2040S Data Structures and Algorithms
      • cs2100 nus notes
      • cs2106 nus notes
      • Dynamic Binding
      • Encapsulation
      • Generics
      • Inheritance
      • Method Overloading
      • Method Overriding
      • OOP
      • OOP Compatibility
      • OOP Method
      • Polymorphism
      • Subtyping
      • Variance
        • Cache Locality
        • Cache Miss
        • Cache Strategy
        • CPU Cache
        • CPU Load
        • CPU Scheduling Techniques
        • Direct Mapped Cache
        • Fully Associative Cache
        • MMU
        • Multi-core Chip
        • Multi-processing
        • Multi-Programming
        • Multi-threading
        • Privilege Level
        • Set Associative Cache
        • TLB
        • File
        • File Compression
        • File System
        • File System Hierarchy
        • File System Link
        • FUSE
        • Inode
        • Pipe (管道)
        • Interrupt Handler
        • Interrupt Vector Table
        • Interrupts (中断)
        • Timer Chip
        • Trap Interrupt (陷入)
        • Async IO
        • Buffer
        • Device Controller
        • Direct Memory Access (DMA)
        • IO Bus
        • IO Device
        • Serial Communication
        • Ensuring Null Safety in Code: Strategies and Tools
        • Flash Memory
        • Garbage Collector
        • Main Memory
        • Memory Address
        • Memory Fragmentation
        • Memory Page
        • Memory Safety
        • Page Fault
        • Page Table
        • ROM
        • Segmentation Fault
        • Swap Space
        • Virtual Memory
        • Address Space
        • Context Switch
        • Inter-Process Communication
        • Linux Address Space
        • Process (进程)
        • Process Control Block (PCB)
        • Process Creation and Termination in POSIX Systems
        • Process Hierarchy
        • Process Scheduling
        • Socket
        • Time Slice
        • Barrier (屏障)
        • Busy Waiting
        • Concurrency vs. Parallelism vs. Multitasking vs. Time-Sharing
        • Condition Variable (条件变量)
        • Deadlock (死锁)
        • Mutex (互斥体)
        • Race Condition (竞态条件)
        • Semaphore (信号量)
        • Synchronisation (同步)
        • Library Call
        • System Call (系统调用)
        • User
        • Asynchronous Thread
        • Hybrid Thread
        • Kernel Thread
        • Producer Consumer Problem
        • Thread
        • Thread Pool
        • User Thread
        • Init System
        • Launchd
        • Linux Kernel
        • POSIX
        • Systemd
        • Unix
      • Computer Booting
      • Containerisation
      • Kernel
      • Kernel Space
      • OS
      • OS System Program
      • User Space
      • Probability Problems
      • Problem Solving
      • Problem Solving Sample Problem
      • Argument Pointer
      • Clean Code
      • Common Data Structure Manipulation
      • Common Programming Operations
      • Common String Manipulation
      • Datatype
      • Exception
      • Expression
      • Immutability
      • Pointer
      • Pointer Arithmetic
      • Python Notes
      • Statement
      • String Interpolation
      • Syntactic Scope
      • Type Casting
      • Type Erasure
      • Type Safety
      • Type System
      • Web Scraping
      • Important Rust Syntax
      • Rust
      • Rust Borrowing
      • Rust Ownership
      • Rust Pending Items
      • Rust Toolset
          • Authentication
          • Cloudflare Access
          • Cookie
          • HTTP Basic Authentication
          • JWT
          • OIDC Authentication
          • Session-Cookie Authentication
          • Single Sign-On (SSO)
          • Token-Based Authentication
          • User Principle Name
          • Authorisation
          • OAuth 2.0
          • Asymmetric Cryptography
          • Digital Signature
          • Hash Digest
          • HMAC (Hash-Based Message Authentication Code)
          • Salting
          • Symmetric Encryption
          • Ciphertext (密文)
          • Key's Randomart Image
          • Shift-left Security
        • Common Security Attacks
        • DevSecOps
        • Dynamic Secrets
        • Email Security
        • Encryption
        • PEM (Privacy Enhanced Mail)
            • Mono Repos
            • Monorepo Build System
            • nx
          • Code for Change
          • Coding Convention
          • Software Development Practices
            • Alert
            • Sampling
            • Span
            • Trace
          • Application Performance Monitoring (APM)
          • Real User Monitoring
          • Liskov Substitution Principle (LSP)
          • Code Bundling
          • Middleware (中间件)
          • Shim (垫片)
          • Type Inference (类型推断)
        • Abstraction
        • Code Editor Setup
        • Code Quality Assurance Tools
        • Language Processors
        • Package Manager
        • Terminal
        • Understanding Data Layer Abstraction: DO, DAO, VO, and DTO Explained
          • Event-Driven Architecture
          • Hub and Spoke Architecture
          • Micro-servercies Architecture
          • Cache Eviction
          • Cache Server
          • CDN
          • Compute Server
          • Message Queue (消息队列)
          • Multi Data Center Setup
          • Database Replication (数据库复制)
          • Database Scaling
          • Application Load Balancer
          • Load Balancer
          • Network Load Balancer
          • Forward Proxy (正向代理)
          • Reverse Proxy (反向代理)
        • Deployment Strategies
        • Latency Number
        • System Design
        • Aggregation
        • Data
        • Idempotent
        • Memory Alignment
        • Null-terminated
        • Operation
        • Parity Bit (奇偶校验码)
        • Timezone
          • Datadog
          • Datadog APM in ECS Fargate
          • Datadog Lambda Monitoring
          • Datadog Real User Monitoring
            • Docker Container
            • Docker Image
            • Dockerfile
            • Docker EXEC Command Flags
            • Docker RUN Command Flags
          • Docker
          • Docker Build
          • Docker Compose
          • Docker Filesytem
          • Docker Network
          • Docker Volume
          • Git
          • Git Hook
          • Git Rebase
          • JS Toolset
          • JS Weird Syntax
          • Node.js
        • API Notes
        • Fly.io
        • Go
        • Java Sprintboot
        • Kubernetes
        • Unleash the Python Kraken Pyenv and Poetry - The Holy Grail of Python Project Setups
        • WeChat API
      • A collection of useful tools for developers who use MacOS
      • About Me
      • Python Snippets for Markdown Processing
      • Virtualisation

    Quote

    循序渐进, 负重前行. 砥砺前进, 天道酬勤.

    Step by step, embrace great challenges. Advance with determination, diligence brings rewards.

    Please feel free to provide feedback regarding the accuracy of the notes, etc.

    🎓 NUS Computer Science


    • CS2106 Introduction to Operating Systems
    • CS1231S Discrete Structures
    • CS2100 Computer Organisation
    • CS2030S Programming Methodology II

    🏭 System Design


    • Basis
    • Proxy
    • Load Balancer
    • Database
    • Cache
    • Compute
    • Monitoring
    • Architecture

    💻 Operating System


    • Intro


    • CPU

    • File System

    • IO

    • Memory


    • Process (进程)

    • Thread (线程)

    • Synchronization (同步)


    • Interrupt (中断)

    • System-Calls (系统调用)


    • UNIX vs Linux

    • MISC

    🖥️ Computer Organisation


    • Number System

    • Processor


    • Instruction Set Architecture (ISA)

    • MIPS

    • RISCV


    • Pipeline

    • Pipeline Branching

    • Pipeline Hazard


    • Logic Gates

    • Combination Circuit

    • Sequential Circuit

    • Circuit Design


    🧠 Data Structure & Algorithm


    • Problem Solving Tricks
    • Data Structure Content Page
    • Algorithm Content Page

    👩‍💻 Competitive Programming


    • Code Template
    • Data Structure
    • Prefix Sum
    • Dynamic Programming
    • Greedy
    • Number Theory
    • Combinatorics

    ➕ Math


    • Number Theory Basis

    • Divisibility & Primes


    • Discrete Math

    • Boolean Algebra

    🔤 Programming Language


    • C
    • Python
    • Rust
    • Java
    • Javascript

    🛠️ Software Engineering


    • Software Engineering Theories
    • Amazon Web Services
    • Datadog - Application Monitoring
    • Security
    • Docker (Under heavy revision)
    • Object Oriented Programming

    🕸️ Networking


    • Networking Basis (Under heavy revision)
    • 🎓 NUS Computer Science
    • 🏭 System Design
    • 💻 Operating System
    • 🖥️ Computer Organisation
    • 🧠 Data Structure & Algorithm
    • 👩‍💻 Competitive Programming
    • ➕ Math
    • 🔤 Programming Language
    • 🛠️ Software Engineering
    • 🕸️ Networking

    Backlinks

    • About Me

    Graph View


    Created by Xinyang YU | © 2023, 2025 | Licensed under CC BY-NC 4.0

    • GitHub