logycoconut Resource Library
website·Indexed 30 days ago
https://logycoconut.github.io/A collection of technical notes and development resources covering MySQL (Explain, indexing, and performance), Redis (persistence strategies and locking), Docker and Docker Compose, AWS Lambda, ElasticSearch, and RocketMQ. The library also includes system design discussions on e-commerce flash sales and order timeouts, as well as guides on iOS ad-blocking and general software development practices.
What's inside logycoconut
- Toggl Track is a time-tracking tool used to monitor how time is spent on various tasks. Unlike the Pomodoro technique, which uses fixed intervals (e.g., 25 minutes of work and 5 minutes of rest), Toggl Track allows users to track the actual duration of tasks. This approach is particularly useful for complex tasks that require deep focus and are difficult to estimate accurately, as it avoids the frustration of unfinished tasks when a timer expires and prevents the loss of momentum caused by forced breaks.Official Website: https://track.toggl.com/
Overview of FN OS (飞牛 OS) Core Features
FN OS is a home NAS operating system providing the following key capabilities:
- Media (影视): Supports diverse file sources including internal storage, external storage (USB/Mobile HDDs), and remote mounts (e.g., using Alist via WebDAV). Includes a fast media metadata scraper and a dedicated TV app.
- Photos (相册): Provides backup and sharing via the '飞牛私有云' (FN Private Cloud) app for iOS and Android. Features an AI-powered album for face recognition, smart search, and classification (requires at least 2GB RAM and 20GB storage).
- Remote Access: Includes 'FN Connect', a free remote access service that allows managing the NAS from external networks without requiring a public IP or complex tunnel setup.
Overview of Augment Code AI tool
Augment Code is an AI coding assistant available at augmentcode.com. Based on user experience, it is noted for being more intuitive and requiring less manual guidance to produce correct code compared to Gemini.https://www.augmentcode.comOverview of Redis Sentinel Mode
Redis Sentinel is a specialized Redis process that runs alongside master and slave instances to provide high availability. It solves the problem of service interruption when a master node fails by automating three primary tasks: monitoring, leader election (failover), and notification.Overview of fnNAS (飞牛私有云) for Home NAS
fnNAS (飞牛 OS) is a private cloud NAS operating system. It provides built-in features for photo management (相册), media/movie libraries (影视), and file management. The system includes an Application Center with support for common tools such as Docker and Alist, simplifying the installation process for third-party services.Website: https://www.fnnas.com/Use Google Remote Desktop for remote access
Google Remote Desktop is a free and stable tool available via the Chrome Web Store that allows for remote desktop access and management.Understand how Redis Sentinel nodes discover each other
Redis Sentinel instances form a cluster using a pub/sub (publish/subscribe) mechanism. When a Sentinel connects to the master, it publishes its own connection information (IP and port) to a specific channel namedsentinel:hello. Simultaneously, it subscribes to this same channel to discover the connection details of other Sentinel instances. This allows Sentinels to establish network connections with each other without needing a predefined list of peer addresses in their configuration.Core Technical Domains for Java System Design and Architecture
To master Java system design and high-performance architecture, focus on the following domains:
- System Design: Real-time web message pushing, delayed messages, scheduled tasks, and security (Tokens, sensitive word filtering, database masking).
- Distributed Systems: Theoretical foundations, API Gateways, Distributed IDs, and RPC.
- High Performance: Message Queues, database read/write splitting, and caching strategies.
- High Availability: Rate limiting and fault tolerance.
Understand Redis data models and value types
Redis uses a Key-Value (K-V) data model where the Key is typically a String. Unlike simpler key-value stores like Memcached (which only supports String values), Redis supports multiple Value types including Strings, Hashes, Lists, and Sets. The choice of Value type impacts business requirements, performance, and space efficiency.Understand redo log for crash recovery and persistence
The
redo logis a physical log implemented by the InnoDB engine to ensure the Durability of transactions. Instead of flushing entire data pages to disk on every commit (which is slow due to random IO), InnoDB writes the changes to theredo logusing sequential IO (Write-Ahead Logging or WAL).Structure:
redo log buffer: Memory buffer for immediate writes.redo log file: Disk file where logs are persisted via the OS buffer andfsync().
Mechanism: It uses a circular writing method. The
write postracks the current LSN (Log Sequence Number), and thecheckpointtracks the point up to which data pages have been flushed to disk. During recovery, InnoDB compares the LSN of data pages with the LSN in the redo log to replay missing changes.Understand Redis RDB (Memory Snapshot) Persistence
RDB (Redis DataBase) is a persistence method that creates a point-in-time snapshot of all data in memory and writes it to a disk file. Unlike AOF (Append Only File), which logs every operation, RDB stores the actual data state. This makes recovery significantly faster because Redis can directly load the RDB file into memory without re-executing a sequence of commands.Understand MVCC in MySQL InnoDB
Multi-Version Concurrency Control (MVCC) allows concurrent read-write and write-read operations in MySQL's InnoDB engine under Read Committed (RC) and Repeatable Read (RR) isolation levels. It achieves this by maintaining multiple versions of records, allowing a transaction to read a consistent snapshot of data without locking, thereby improving system performance.