milkcoke Documentation

website·Indexed 30 days ago

https://milkcoke.github.io/docusaurus

A collection of technical guides and references covering TypeScript (type guards, union types, .d.ts, and tsconfig), Kotlin (delegates, type casting, and file I/O), and software design patterns including Builder, Decorator, State, and Abstract Factory patterns.

Tokens
54.9K
Snippets
219
Records
386
Agent score
72%

What's inside milkcoke

  1. Overview of Toolbox Dev

    v1.1.0
    Toolbox Dev is a tool designed to simplify the setup of development environments by providing a centralized installation interface. It is particularly useful in scenarios where the file system is initialized or when setting up new hardware, such as in PC rooms, university classrooms, new desktops, or after formatting a disk drive. It eliminates the need to manually search for OS-specific and architecture-specific installation files on websites.
  2. Overview of Toolbox Dev installer tool

    Toolbox Dev is an installer tool designed to simplify the process of setting up a development environment. It allows users to install a suite of common development tools quickly without manually searching for OS-specific or architecture-specific installers on various websites. It is particularly useful in scenarios where the file system has been initialized, such as on a new desktop, after formatting a disk drive, or in shared environments like PC rooms and university classrooms.
  3. Overview of the Decorator Pattern

    The Decorator pattern is a structural design pattern that allows behavior to be added to an individual object, either statically or dynamically, without affecting the behavior of other objects from the same class. It is primarily used to provide flexible alternatives to subclassing for extending functionality, enabling the addition of features at runtime.
  4. Overview of Toolbox Dev

    Toolbox Dev is a tool designed to simplify the setup of development environments by providing a streamlined installation process. It is particularly useful in scenarios where the file system is initialized or needs a fresh setup, such as in PC rooms, university/college classrooms, new desktops, or after formatting a disk drive.
  5. Overview of Toolbox Dev

    Toolbox Dev is an installer tool designed to simplify the process of setting up a development environment. It is particularly useful in scenarios where the file system has been initialized or when setting up new hardware, such as in PC rooms, university classrooms, or after formatting a disk drive. It eliminates the need to manually search for OS-specific and architecture-specific installation files.
  6. Overview of Toolbox Dev

    v1.0.0
    Toolbox Dev is a tool designed to simplify the process of setting up a development environment. It is particularly useful in scenarios where the file system is frequently initialized or when setting up a new machine, such as in PC rooms, university classrooms, or after formatting a disk drive. It removes the need to manually search for OS-specific and architecture-specific installation files.
  7. Overview of Toolbox Dev installation tool

    Toolbox Dev is an installer tool designed to simplify the setup of a development environment. It allows users to quickly install a suite of common development tools—including Python, Node.js, Go, Docker, Postman, Notion, Visual Studio Code, and Slack—without having to manually find and download files specific to their operating system and architecture. It is particularly useful for setting up new desktops, after disk formatting, or in shared environments like PC rooms and university classrooms.
  8. Overview of Toolbox Dev

    v1.0.0
    Toolbox Dev is an installer tool designed to simplify the process of setting up a development environment. It is particularly useful in scenarios where the file system has been initialized or when setting up a new machine, such as in PC rooms, university classrooms, or after formatting a disk drive. It removes the need to manually search for OS-specific and architecture-specific installation files.
  9. Understand the Go M:N Scheduler architecture

    The Go scheduler is a user-space M:N scheduler integrated into the Go runtime. It maps N goroutines onto M OS threads, which are executed on at most GOMAXPROCS processors. The runtime creates a number of worker OS threads equal to the GOMAXPROCS value, which defaults to the number of processors available on the machine.
  10. Understand Database Pages and I/O Operations

    A database page is the smallest logical unit used to store and read data. The size of a page varies by DBMS; for example, PostgreSQL uses 8KB pages while MySQL uses 16KB. Databases typically handle data in increments of one or more pages per I/O operation.

    There are two primary types of I/O:

    1. Physical I/O: A direct request to the disk. This is the most expensive operation in terms of performance and should be minimized.
    2. Logical I/O: A request to memory-based caches, such as shared_buffers or the OS cache, which is significantly faster than physical disk access.
  11. Understand Database Partitioning concepts

    Database partitioning is the process of splitting a large table into multiple logical tables within the same database server. This is primarily used to improve query performance by reducing the size of indexes that need to be scanned.

    Horizontal vs. Vertical Partitioning:

    • Horizontal Partitioning: Splits a table by rows based on a specific criteria (Range, List, or Hash). This is the standard approach for scaling large datasets.
    • Vertical Partitioning: Splits a table by columns. This is generally not recommended.

    Partitioning Types:

    • Range: Based on a range of values, such as dates or IDs (e.g., partitioning logs by year). Useful for archiving old data to cheaper storage.
    • List: Based on discrete values, such as zip codes.
    • Hash: Uses a hash function to distribute data. This is the default strategy for databases like Cassandra and DynamoDB.

    Partitioning vs. Sharding:

    • Partitioning: Multiple logical tables residing on the same server.
    • Sharding: Splitting a table into multiple physical tables distributed across multiple database servers.
  12. Understand Goroutines and Go Concurrency

    A Goroutine is a lightweight, user-space thread managed by the Go runtime. Unlike OS threads, many goroutines can be multiplexed onto a single OS thread. They start with a small stack (approximately 2KB) that grows and shrinks dynamically, allowing a single address space to support hundreds of thousands of concurrent goroutines. Go follows the Communicating Sequential Process (CSP) model, which emphasizes communicating data between processes rather than sharing memory, thereby reducing the risk of race conditions and deadlocks.