{
  "version": 1,
  "sourceLanguage": "zh-CN",
  "languages": {
    "zh": "简体中文",
    "en": "English",
    "ja": "日本語"
  },
  "strings": {
    "en": {
      "与": "and",
      "佟": "W",
      "和": "and",
      "天": "days",
      "或": "or",
      "比": "That's right.",
      "用": "use",
      "7天": "7 days",
      "中的": "inside",
      "优于": "Better than",
      "先用": "First.",
      "内存": "Memory",
      "再加": "Plus",
      "击穿": "Break through.",
      "分屏": "Splitting Windows",
      "分钟": "minutes",
      "分页": "Pagination",
      "列表": "Lists",
      "删除": "Delete",
      "前端": "Frontend",
      "前言": "Introduction",
      "加密": "Encryption",
      "博客": "Blog",
      "反代": "Reverse proxy",
      "可用": "Available",
      "启动": "Start",
      "周一": "Mon",
      "周三": "Wed",
      "周二": "Tue",
      "周五": "Fri",
      "周六": "Sat",
      "周四": "Thu",
      "周日": "Sun",
      "善用": "Make good use of",
      "复用": "Reuse",
      "学习": "Learning",
      "安全": "Clear.",
      "小时": "hours",
      "已用": "Used",
      "开源": "Open Source",
      "总结": "Summary",
      "总计": "Total",
      "打开": "Open",
      "排序": "Sorting",
      "排除": "Exclude",
      "搜索": "Search",
      "数据": "Data",
      "文件": "File",
      "替换": "Replace",
      "权限": "Permissions",
      "查询": "Query",
      "标题": "Title",
      "核心": "cores",
      "概述": "Overview",
      "注意": "Attention.",
      "测试": "Test",
      "的列": "Columns",
      "监控": "Monitor",
      "看板": "Dashboard",
      "磁盘": "Disk",
      "秒级": "Seconds",
      "穿透": "Through.",
      "签发": "Issued by",
      "结语": "Conclusion",
      "网络": "Network",
      "而非": "rather than",
      "背景": "Background",
      "脚注": "Footnote",
      "行数": "Lines",
      "表格": "Table",
      "认证": "Authentication",
      "设计": "Design",
      "过期": "Expires",
      "过滤": "Filter",
      "运维": "Operations",
      "配合": "In Combination With",
      "问题": "Problems",
      "限流": "Rate Limiting",
      "雪崩": "Avalanche",
      "需求": "requirements",
      "项目": "Projects",
      "预览": "Preview",
      "飞书": "Feishu",
      "首页": "Home",
      "，如": ", such as",
      "1小时": "1 hour",
      "6小时": "Six hours.",
      "一致性": "Coherence",
      "不备份": "Do Not Backup",
      "为主、": "mainly,",
      "二进制": "Binary",
      "代码块": "Code Block",
      "仪表盘": "Dashboard",
      "传感器": "Sensors",
      "佟伟成": "Wei-Cheng Tong",
      "修饰符": "Modifiers",
      "元字符": "Character",
      "光泽层": "Glossy Layer",
      "八进制": "Octal",
      "分屏，": "Subscreen,",
      "十进制": "Decimal",
      "单词数": "Words",
      "参数用": "Parameters",
      "可回退": "Rollback-able",
      "可视化": "Visualise",
      "可追踪": "Traceable",
      "可重建": "Rebuildable",
      "响应式": "Responsive",
      "回放，": "replay,",
      "大字段": "Large Fields",
      "字符数": "Characters",
      "字节数": "Bytes",
      "完整性": "Integrity",
      "宏录制": "Macro Record",
      "定位，": "Positioning,",
      "工具箱": "Toolbox",
      "工具类": "Tool class",
      "已停止": "Stopped",
      "引用块": "Blockquote",
      "录制，": "recording,",
      "成功类": "Success Category",
      "或跳过": "Or skip",
      "找回。": "recover it.",
      "指定。": "specified.",
      "接入层": "Access Layer",
      "推荐用": "Recommended",
      "搜索、": "search,",
      "新文本": "New Text",
      "无状态": "Statelessness",
      "替换、": "replace,",
      "服务名": "Service Name",
      "服务层": "Service layer",
      "次访问": "visits",
      "段落数": "Paragraphs",
      "毫秒级": "Milliseconds",
      "流量包": "Flow pack",
      "热重载": "Hot reload",
      "物联网": "IoT",
      "用户端": "Client Side",
      "看到。": "you will see.",
      "硬件层": "Hardware Layer",
      "移除。": "Remove.",
      "粘贴；": "Paste;",
      "组管理": "Group Management",
      "缓冲区": "Buffers",
      "而不是": "rather than",
      "背景层": "Background Layer",
      "能命中": "can hit",
      "自动化": "Automation",
      "表现层": "Presentation Layer",
      "起始页": "Start Page",
      "边框层": "Border Layer",
      "运行中": "Running",
      "连接池": "Connection Pool",
      "通信层": "Communications layer",
      "飞书群": "Feishu group",
      "：使用": ": Usage",
      "0 停机": "0 Stop",
      "2 核心": "2 Cores",
      "24小时": "24 hours",
      "C 语言": "C Language",
      "g 全局": "g Global",
      "m 多行": "m Multi-line",
      "← 返回": "← Back",
      "→ 转换": "→ Convert",
      "✅ 就绪": "✅ Ready",
      "✅ 校验": "✅ Validate",
      "、大文件": ", large files",
      "一键脚本": "One-click Script",
      "上传限速": "Upload Rate Limit",
      "不可再生": "Non-regenerable",
      "不含空格": "Without Spaces",
      "串口通信": "Serial communications",
      "交互体验": "Interactive experience",
      "交互界面": "Interface",
      "代表作品": "Featured Projects",
      "任务队列": "Task Queue",
      "优化实战": "Optimization in Practice",
      "会话数据": "Session Data",
      "低选择性": "Low Selectivity",
      "使用函数": "Use functions",
      "依赖检查": "Dependency Check",
      "全站应用": "Site-wide application",
      "共享目录": "Shared Directory",
      "关联的列": "Associated Columns",
      "关键工具": "Key tools",
      "关键步骤": "Key steps",
      "关键配置": "Key Configuration",
      "内存模型": "Memory Model",
      "内容工程": "Content Engineering",
      "内容设计": "Content Design",
      "冒充风险": "Impersonation Risk",
      "写作规范": "Writing norms",
      "冲突解决": "Conflict Resolution",
      "函数指针": "Function Pointers",
      "分层架构": "Layered Architecture",
      "分类导航": "Category Navigation",
      "切换主题": "Switch Theme",
      "初始配置": "Initial Configuration",
      "前端实现": "Frontend Implementation",
      "加载中…": "Loading…",
      "动画效果": "Animation Effects",
      "十六进制": "Hexadecimal",
      "单元测试": "Unit Test",
      "博客页面": "Blog Page",
      "即时结果": "Immediate results",
      "原始文本": "Original Text",
      "参数校验": "Parameter Validation",
      "反向代理": "Reverse Proxy",
      "可访问性": "Accessibility",
      "可预测性": "Predictability",
      "合理规格": "Reasonable specifications",
      "合理限流": "Reasonable limit.",
      "告警推送": "Alert Push",
      "告警通知": "Alert notifications",
      "命名规则": "Naming rules",
      "四类信号": "Four-class signals.",
      "图片上传": "Image Upload",
      "在线工具": "Online tool",
      "块，通过": "Block, pass.",
      "基本流程": "Basic processes",
      "基本用法": "Basic use",
      "基础概念": "Basic concepts",
      "基础监控": "Basic monitoring",
      "基础移动": "Basic Movement",
      "备份恢复": "Backup Restore",
      "复制粘贴": "Copy Paste",
      "多级指针": "Multi-level Pointers",
      "大四在读": "Fourth-year undergraduate",
      "大屏展示": "Large-screen Display",
      "天气预报": "Weather forecast",
      "字符匹配": "Character Match",
      "学习建议": "Learning advice",
      "学习路径": "Learning Path",
      "安全优先": "Security first",
      "安全加固": "Secure.",
      "安全基线": "Security baseline",
      "安全考虑": "Security considerations",
      "定时任务": "Scheduled Tasks",
      "定时执行": "Scheduled Execution",
      "定时触发": "Scheduled Trigger",
      "实例规格": "Instance Specification",
      "实战场景": "Field view.",
      "实现方案": "Implementation Approach",
      "实用配置": "Practical Configuration",
      "实际应用": "Real-world Application",
      "审计日志": "Audit log",
      "容器状态": "Container Status",
      "密码套件": "Cipher suites",
      "密钥交换": "Key Exchange",
      "对称加密": "Symmetric encryption",
      "工作原理": "How It Works",
      "工程理念": "Engineering principles",
      "常见场景": "Common scenes",
      "并发执行": "Parallel execution",
      "并行执行": "Parallel implementation",
      "应用配置": "Application Configuration",
      "开源协作": "Open Source Collaboration",
      "引用变量": "Reference Variables",
      "快照策略": "Snapshot Strategy",
      "性能优化": "Performance optimization",
      "性能分析": "Performance Analysis",
      "恢复顺序": "Restore Order",
      "成长轨迹": "Growth Journey",
      "批量生成": "Batch Generation",
      "找引用，": "find the reference,",
      "技术文章": "Technical articles",
      "折叠内容": "Collapsible Content",
      "指针基础": "Pointer Base",
      "指针运算": "Pointer Operations",
      "接口文档": "Interface Document",
      "接口边界": "Interface boundary",
      "推荐使用": "Recommended use",
      "握手过程": "Handshake process",
      "搜索过滤": "Search Filter",
      "效果总结": "Summary of Effects",
      "效率技巧": "Efficiency techniques",
      "教务系统": "Academic Affairs System",
      "数据处理": "Data processing",
      "数据备份": "Data Backup",
      "数据清洗": "Data Cleaning",
      "数据结构": "Data structure",
      "数据量小": "Small Data",
      "数量限定": "Limited Quantity",
      "整体采用": "Overall approach",
      "文件位置": "File Location",
      "文件接收": "File Receiving",
      "文本对象": "Text Object",
      "文本样式": "Text Styles",
      "文章源码": "Article Source",
      "旁路缓存": "Side Cache",
      "日志审计": "Log audit",
      "日志查看": "Log View",
      "日志管理": "Log Management",
      "日志系统": "Log System",
      "日志聚合": "Log Aggregation",
      "日志记录": "Log Record",
      "时序数据": "Time-series Data",
      "普通字符": "Normal Character",
      "暂无数据": "No data",
      "替换前先": "Replace",
      "最佳实践": "Best practices",
      "服务状态": "Service status",
      "服务监控": "Service monitoring",
      "未来目标": "Future goals",
      "条件判断": "Conditional judgement",
      "构建缓存": "Build Cache",
      "架构设计": "Architecture Design",
      "查看项目": "View Project",
      "核心概念": "Core concepts",
      "核心设计": "Core design",
      "核心逻辑": "Core logic",
      "检查清单": "Checklist",
      "模式切换": "Mode Switch",
      "正在使用": "In use",
      "正常运行": "Running normally",
      "没有银弹": "No silver bullets.",
      "测试文本": "Test Text",
      "消息卡片": "Message card",
      "消息推送": "Message Push",
      "消息认证": "Message Authentication",
      "添加注释": "Add Comment",
      "渲染核心": "Rendering Core",
      "游戏逻辑": "Game logic",
      "热点数据": "Hotspot Data",
      "版本控制": "Version Control",
      "特征分析": "Feature Analysis",
      "特殊权限": "Special Permissions",
      "状态展示": "Status Display",
      "状态管理": "Status Management",
      "生产可用": "Production-ready",
      "生产就绪": "Production readiness",
      "画面输出": "Screen Output",
      "监控告警": "Monitoring & Alerts",
      "监控账单": "Billing Monitoring",
      "目标格式": "Target Format",
      "看内存，": "check memory,",
      "移动光标": "Move Cursor",
      "窃听风险": "Eavesdropping Risk",
      "章节管理": "Chapter Management",
      "端口冲突": "Port Conflict",
      "第一层：": "First floor:",
      "第一阶段": "Phase I",
      "第三阶段": "Phase III",
      "第二层：": "Second floor:",
      "第二阶段": "Phase II",
      "第四阶段": "Phase IV",
      "答案就是": "The answer is...",
      "篡改风险": "Distortion risk",
      "系统信息": "System information",
      "系统负载": "System load",
      "索引基础": "Index Basis",
      "索引监控": "Index Monitor",
      "索引类型": "Index Type",
      "组合操作": "Group Operations",
      "统一接口": "Unified interface",
      "续签成功": "Renewal Successful",
      "缓存穿透": "Cache Passes",
      "缓存雪崩": "Cache avalanche",
      "编排调度": "Orchestration & Scheduling",
      "编程语言": "Programming languages",
      "编辑操作": "Edit Operations",
      "网络流量": "Network traffic",
      "网络规划": "Network planning",
      "网络诊断": "Network diagnostics",
      "脚本阶段": "Script stage",
      "自动续期": "Automatic renewal",
      "自动配置": "Auto Configure",
      "解析渲染": "Parsing render",
      "设计灵感": "Design inspiration",
      "设计系统": "Design system",
      "证书签发": "Certificate issuance",
      "请求统计": "Request Statistics",
      "课程提醒": "Course Reminder",
      "课表提醒": "Timetable Reminder",
      "调试工具": "Debug Tool",
      "调试技巧": "Debug techniques",
      "质量保障": "Quality assurance",
      "费用优化": "Cost optimization",
      "资源导向": "Resource orientation",
      "起步依赖": "Starter Dependencies",
      "踩坑总结": "Lessons Learned",
      "踩坑记录": "Pitfalls Log",
      "身份认证": "Authentication",
      "输入校验": "Input Validation",
      "输入验证": "Input Validation",
      "运行时间": "Uptime",
      "进程线程": "Process Thread",
      "进阶技巧": "Advanced skills",
      "选择建议": "Select Recommendations",
      "速率限制": "Rate limit",
      "避免阻塞": "Avoid blocking.",
      "部署服务": "Deployed services",
      "错误响应": "Error Response",
      "错误处理": "Error handling",
      "项目实践": "Project work",
      "项目展示": "Projects",
      "项目经历": "Project experience",
      "频繁更新": "Frequently Updated",
      "题库数据": "Question Bank Data",
      "高效移动": "Efficient Movement",
      "高级技巧": "Advanced skills",
      "高选择性": "High Selectivity",
      "，并优先": "and priority",
      "🐦 飞书": "🐦 Feishu",
      "👆 用户": "👆 User",
      "👤 用户": "👤 User",
      "👤 读者": "👤 Reader",
      "💬 群聊": "💬 Group Chat",
      "📊 数据": "📊 Data",
      "📜 证书": "Certificate",
      "📝 博客": "📝 Blog",
      "📢 飞书": "📢 Feishu",
      "📤 发送": "📤 Sent",
      "📤 输出": "📤 Output",
      "📥 接收": "📥 Received",
      "📦 压缩": "📦 Minify",
      "🔍 检索": "• Search",
      "🔒 加密": "🔒 Encrypt",
      "🔒 编码": "Encoding",
      "🔓 解密": "🔓 Decrypt",
      "🔓 解码": "Decoding",
      "🕹 游戏": "🕹 Game",
      "🚦 限流": "🚦 Rate Limiting",
      "+ 子集化": "+ subsetting",
      "——默认从": "- Default from",
      "⚙️ 内核": "⚙️ Kernel",
      "✨ 格式化": "✨ Format",
      "一样重要：": "Just as important:",
      "三种触发器": "Three triggers.",
      "业务逻辑层": "Business logic layer",
      "临时文件用": "Temporary file",
      "事务与索引": "Transactions & Indexes",
      "传值与传址": "Pass Values and Addresses",
      "借阅状态机": "Borrowing State Machine",
      "全局替换、": "Global replacement,",
      "关键字段：": "Key fields:",
      "关键概念：": "Key concepts:",
      "内嵌服务器": "Embedded Server",
      "分页浏览。": "Browse by pages.",
      "切换窗口；": "Switch windows;",
      "创建实体类": "Create entity class",
      "创建控制器": "Create controller",
      "创建服务层": "Create the service layer",
      "匹配域名。": "Matches domain names.",
      "单双周标识": "Odd/Even Week Marker",
      "单双周过滤": "Biweekly Filter",
      "压缩质量:": "Compression Quality:",
      "双主题映射": "Double Theme Map",
      "发布/订阅": "Publish/Subscribe",
      "变量与参数": "Variables & Parameters",
      "变量加引号": "Variables with quotation marks",
      "可等待对象": "Awaitable Objects",
      "启动与测试": "Start and Test",
      "启动命令：": "Start command:",
      "命令行测试": "Command Line Test",
      "图书馆系统": "Library system",
      "域名所有权": "Domain Name Ownership",
      "基础代码块": "Base code block",
      "多环境配置": "Multi-Environmental Configuration",
      "存档与恢复": "Archive and Restore",
      "实时追踪，": "Real-time tracking,",
      "客户端错误": "Client Error",
      "密码长度:": "Password length:",
      "富文本卡片": "Rich Text Card",
      "幂等与并发": "Idempotency & Concurrency",
      "平台与后端": "Platform & Backend",
      "应用层兜底": "Application-Layer Fallback",
      "开发者工具": "Developer tool",
      "开标签页，": "Open tab,",
      "异步迭代器": "Async Iterators",
      "慢查询分析": "Slow query analysis",
      "手机/电脑": "Cell phones/computers",
      "技术实践者": "IoT Engineer",
      "指标与告警": "Metrics & Alerts",
      "指针与函数": "Pointers and Functions",
      "指针与数组": "Pointers and Arrays",
      "接口字段按": "Map interface fields by",
      "控制比例，": "Control ratio,",
      "搜索与替换": "Search & Replace",
      "撤销与重做": "Undo and Redo",
      "数据卷管理": "Data Volume Management",
      "数据可视化": "Data visualization",
      "数据帧格式": "Data Frame Format",
      "数据库建模": "Database modelling",
      "文件与目录": "Files and directories",
      "方便太多。": "Too easy.",
      "无后端依赖": "No Backend Dependency",
      "显示行号、": "Show line numbers,",
      "服务化阶段": "Service-oriented phase",
      "服务可用率": "Service availability",
      "服务器架构": "Server architecture",
      "服务端错误": "Service Error",
      "未选择文件": "No file selected",
      "权限表示法": "Permission Notation",
      "查看策略，": "to view the policy,",
      "查看进程，": "View the process,",
      "标准库实现": "Standard library realization",
      "校验与权限": "Validation and Permissions",
      "检索与评测": "Search and evaluation",
      "模块化架构": "Modular structure",
      "正则表达式": "Regular Expression",
      "测连通性，": "Surveying connectivity,",
      "然后是编写": "Then write.",
      "状态码使用": "Status Code Usage",
      "用实验验证": "Validate with experiments",
      "用消息里的": "from the message",
      "监控与压测": "Monitoring & Stress Testing",
      "监控与调优": "Monitoring and optimization",
      "监控与运维": "Monitoring & operations",
      "看命中率（": "Watch the hit rate.",
      "禁用旧协议": "Disable old protocol",
      "等待对比…": "Waiting for comparison...",
      "等待生成…": "Generating…",
      "等待计算…": "Calculating…",
      "等待转换…": "Waiting for conversion...",
      "等待输入…": "Waiting for input...",
      "纯前端应用": "Pure Frontend Application",
      "组件化前端": "Component frontend",
      "自动化一切": "Automate everything",
      "自动化备份": "Automated backups",
      "自动化脚本": "Automation scripts",
      "节假日跳过": "Skip on Holidays",
      "覆盖率检查": "Coverage Check",
      "计算机组成": "Computer Composition",
      "认证与安全": "Certification and security",
      "记录位置，": "Record location,",
      "证书链验证": "Certificate-chain validation",
      "超媒体驱动": "Hypermedia-driven",
      "踩坑与总结": "Pitfalls & Lessons",
      "踩坑备忘录": "Memoranda on pits",
      "输入数值…": "Enter Value...",
      "进程与系统": "Processes and Systems",
      "连接稳定性": "Connection stability",
      "逐个处理。": "Deal with one by one.",
      "链接与图片": "Links and Pictures",
      "防火墙配置": "Firewall Configuration",
      "静态文件用": "For Static Files",
      "项目初始化": "Initialization of projects",
      "验证过程：": "Certification process:",
      "（一维）和": "(I-D) and",
      "（保留）、": " (keep),",
      "）、去重（": "), deduplication (",
      "），排序用": "), sorted",
      "，但单独用": ", but alone",
      "，日志限制": "Log Limit",
      "：实际数据": "Actual data",
      "：防止滥用": ": Prevention of abuse",
      "🌐 浏览器": "🌐 Browser",
      "🌳 职业树": "🌳 Skill Tree",
      "🎨 可用性": "🎨 Usability",
      "🎯 下一步": "🎯 Next Step",
      "🎯 游戏化": "🎯 Gamification",
      "🏷️ 系统": "• System",
      "👤 客户端": "Client",
      "👤 群成员": "👤 Group Members",
      "📊 仪表盘": "dashboard",
      "📚 图书员": "📚 Librarian",
      "📝 内容库": "📝 Content Library",
      "📱 响应式": "📱 Responsive",
      "📱 应用层": "Application Layer",
      "🔔 自动化": "Automation",
      "🖥 UI层": "🖥 UI Layer",
      "🗜️ 压缩": "🗜️ Compress",
      "🧩 模块化": "🧩 Modular",
      "🧩 索引层": "Index Layer",
      "🧩 组件库": "Component library",
      "🧭 学习流": "Learning streams",
      "🧭 状态机": "🧭 State Machine",
      "🧰 工具箱": "Toolbox",
      "3 台已验证": "Verified on 3 Servers",
      "90 天有效": "Valid for 90 days",
      "AI 的位置": "Location of AI",
      "API 推送": "API Push",
      "API 文档": "API Document",
      "API 设计": "API Design",
      "API 集成": "API Integration",
      "B+ 树索引": "B+ Tree Index",
      "CDN 加速": "CDN Acceleration",
      "JWT 结构": "JWT Structure",
      "SSH 部署": "SSH deployment",
      "SSL 证书": "SSL Certificate",
      "TXT 记录": "TXT Record",
      "ToC 生成": "ToC Generation",
      "⚙️ 编排器": "⚙️ Orchestrator",
      "⚡ 性能分析": "Performance analysis",
      "⚡ 性能指标": "Performance indicators",
      "⚡ 索引优化": "Index optimization",
      "✍️ 写操作": "✍️ Write Operations",
      "✨ 粒子系统": "Particle systems",
      "不要重复释放": "Do not release again.",
      "个人博客系统": "Personal Blog System",
      "从展示到行动": "From Display to Action",
      "从页面到服务": "From Pages to Services",
      "代码审查清单": "Code review list",
      "何时创建索引": "When to Create Index",
      "使用 DTO": "Use DTO",
      "使用 WSS": "Use WSS",
      "使用严格模式": "Use strict mode",
      "使用包年包月": "Use subscription billing",
      "做备用节点，": "Do the backup node.",
      "全局异常处理": "Global Exception Handling",
      "全文搜索索引": "Full-text Search Index",
      "关键步骤详解": "Detailed key steps",
      "关键配置选择": "Key Configuration Choices",
      "内存模型基础": "Memory Model Basics",
      "内存淘汰策略": "Memory Eviction Policy",
      "务必妥善保管": "Keep it safe.",
      "动态内存分配": "Dynamic Memory Allocation",
      "卡片搭建工具": "Card Builder Tool",
      "可再生但麻烦": "Renewable but Troublesome",
      "命名规范总结": "Summary of naming norms",
      "在线调试工具": "Online debugging tool",
      "基础环境搭建": "Base Environment Setup",
      "基础语法速查": "Basic grammar quick check.",
      "备份对象清单": "Backup Object List",
      "复杂指针声明": "Complex Pointer Declarations",
      "多文件与窗口": "Multiple files and windows",
      "安全加固实践": "Security enhancements",
      "安全头与限流": "Security Headers & Rate Limiting",
      "安全最佳实践": "Best practice in security",
      "定时任务阶段": "Timed Task Phase",
      "定时巡检脚本": "Time check script",
      "定期安全审计": "Periodic security audits",
      "实战替换示例": "Practical Replacement Example",
      "容器之间通过": "Passes between containers",
      "对敏感接口用": "For sensitive interfaces",
      "常用工具推荐": "Common tool recommendations",
      "常见场景速查": "Quick Reference for Common Scenarios",
      "常见安全问题": "Common security issues",
      "开始团队协作": "Start teamwork",
      "归档完成后用": "Use when archive is completed",
      "必须一一对应": "Must Correspond One-to-One",
      "快速部署脚本": "Rapid deployment scripts",
      "性能优化建议": "Performance optimization recommendations",
      "扩展与多项目": "Extension and multi-project",
      "文件差异展示": "Showing File Diffs",
      "文件权限详解": "Detailed File Permissions",
      "方法选择指南": "Guide on method selection",
      "日志记录函数": "Logging Functions",
      "智能运维助手": "Smart operations assistant",
      "暂无容器数据": "No container data",
      "最佳实践总结": "Summary of best practices",
      "权限修改命令": "Permission modified command",
      "格式转换调用": "Format Conversion Call",
      "正则表达式由": "Regular expression by",
      "消息大小限制": "Message Size Limit",
      "消息频率限制": "Message Frequency Limit",
      "游戏引擎核心": "Game engine core",
      "用户信息存储": "User Information Storage",
      "用户管理命令": "User Management Commands",
      "用户管理基础": "User management base",
      "监控事件循环": "Monitor event cycle",
      "看路由路径，": "Watch the route.",
      "算法混淆攻击": "Algorithm Confusion Attacks",
      "索引优化建议": "Index optimization recommendations",
      "统一响应格式": "Unified Response Format",
      "自动化的层次": "Level of automation",
      "自动重连机制": "Automatic reconnection mechanism",
      "让声明可读：": "Let the statement read:",
      "访问类型优劣": "Access Type Ranking",
      "证书与证书链": "Certificates and Certificate Chains",
      "证书密钥保护": "Certificate Key Protection",
      "证书自动续期": "Autorenewal of certificates",
      "请先选择文件": "Please select a file first",
      "请求频率限制": "Request Rate Limiting",
      "输入新文本…": "Enter New Text...",
      "返回引用来源": "Back to Citation Source",
      "配置变更先用": "Change configuration first",
      "间隔重复算法": "Spaced Repetition Algorithm",
      "飞书 API": "Feishu API",
      "飞书开放平台": "Feishu Open Platform",
      "（改内容）、": " (edit content),",
      "（改消息）、": "(changed message)",
      "，开机自启用": "Turn it on.",
      "：明确解释器": ": specify the interpreter explicitly",
      "🌐 用户请求": "• User request",
      "🎨 设计系统": "Design systems",
      "🎲 批量生成": "🎲 Batch Generate",
      "🎲 生成一个": "🎲 Generate One",
      "🎲 生成密码": "🎲 Generate Password",
      "🏠 个人主页": "🏠 Homepage",
      "💥 碰撞检测": "Collision detection",
      "💬 飞书群聊": "💬 Feishu group chat",
      "💻 清灰服务": "💻 Cleanup Service",
      "💾 备份归档": "Backup Archive",
      "💾 定时备份": "💾 Scheduled Backup",
      "📂 选择文件": "📂 Choose File",
      "📄 下载简历": "📄 Download CV",
      "📄 文件转换": "File Conversion",
      "📄 格式转换": "📄 Format Conversion",
      "📅 课程项目": "📅 Course Project",
      "📈 指标历史": "📈 Metrics History",
      "📊 前端图表": "Frontend Charts",
      "📊 功能模块": "Functional module",
      "📊 学习反馈": "📊 Learning Feedback",
      "📊 实时聚合": "📊 Real time aggregation",
      "📊 数据叙事": "📊 Data Storytelling",
      "📊 文本统计": "📊 Text Statistics",
      "📋 复制全部": "📋 Copy All",
      "📋 复制密码": "📋 Copy Password",
      "📋 复制结果": "📋 Copy Result",
      "📋 文本对比": "📋 Text Diff",
      "📑 目录导航": "📑 Table of Contents",
      "📚 文档来源": "📚 Document Sources",
      "📜 审计日志": "Audit log",
      "📜 日志轮转": "📜 Log Rotation",
      "📡 多源事件": "📡 Multi-source Events",
      "📢 告警模块": "📢 Alert Module",
      "📢 飞书告警": "📢 Feishu Alerts",
      "📢 飞书通知": "📢 Feishu notifications",
      "📥 输出文件": "📥 Output File",
      "📦 容器镜像": "📦 Container Images",
      "📦 快照归档": "📦 Snapshot Archive",
      "📦 批量转换": "📦 Batch conversion",
      "📧 发送邮件": "Send mail",
      "📧 邮箱联系": "📧 Email",
      "🔄 开始转换": "🔄 Start Conversion",
      "🔍 健康检查": "🔍 Health Check",
      "🔍 全文搜索": "🔍 Full-text Search",
      "🔍 对比差异": "🔍 Show Differences",
      "🔍 快捷搜索": "🔍 Quick Search",
      "🔍 混合检索": "🔍 Hybrid Retrieval",
      "🔐 哈希计算": "🔐 Hash Calculation",
      "🔐 登录认证": "🔐 Login Authentication",
      "🔒 文本加密": "Text encryption",
      "🔗 全站可看": "🔗 View Full Site",
      "🔗 内部实验": "Internal experiments",
      "🔗 内部服务": "Internal services",
      "🔗 原型规划": "Prototype planning",
      "🔗 原型设计": "🔗 Prototype Design",
      "🔗 在线体验": "Online experience",
      "🔗 在线使用": "Online",
      "🔗 在线博客": "Online Blog",
      "🔗 在线查看": "Check online",
      "🔗 在线试玩": "Let's try it online.",
      "🔗 实验环境": "Experimental environment",
      "🔗 实验规划": "🔗 Experiment Planning",
      "🔗 实验记录": "🔗 Experimental records",
      "🔗 架构规划": "🔗 Architecture Planning",
      "🔗 视觉原型": "Visual prototype",
      "🔗 运维资产": "Operations assets",
      "🔢 进制转换": "🔢 Base Conversion",
      "🛡️ 治理层": "Governance level",
      "🤖 敌人AI": "Enemy AI",
      "🤝 保持联系": "🤝 Stay in Touch",
      "🧭 事件总线": "Event bus",
      "🧭 服务发现": "🧭 Service Discovery",
      "🧭 空间导航": "🧭 Spatial Navigation",
      "🧮 碰撞检测": "Collision detection",
      "🧮 计算哈希": "🧮 Compute Hash",
      "🧹 数据处理": "Data processing",
      "1. 悬空指针": "1. Dangling Pointers",
      "1. 标题层级": "Title level",
      "2. 覆盖索引": "2. Covering Indexes",
      "2. 验证邮箱": "2. Validation mailboxes",
      "3. 内存泄漏": "3. Memory leaks",
      "3. 分页优化": "3. Pagination Optimization",
      "3. 证书验证": "3. Certificate verification",
      "3. 链接文字": "3. Link text",
      "330行零依赖": "330 lines, zero dependencies",
      "3NF 规范化": "3NF Normalization",
      "4. 密钥交换": "Key exchange",
      "5. 加密通信": "5. Encrypted communication",
      "7. 匹配中文": "7. Matching Chinese",
      "Bash 编写": "Written in Bash",
      "CORS 配置": "CORS Configuration",
      "CPU 使用率": "CPU usage",
      "HTML 里在": "HTML in",
      "HTTP 方法": "HTTP methods",
      "JWT 是什么": "What's JWT?",
      "MQTT 采用": "MQTT",
      "Nginx 的": "Nginx",
      "RBAC 权限": "RBAC Permissions",
      "Set（集合）": "Set",
      "i 忽略大小写": "i Ignore Case",
      "main 分支": "main branch",
      "sudo 配置": "Sudo Configuration",
      "♿ 可访问交互": "♿ Accessible Interaction",
      "⚔️ 武器系统": "Weapons systems",
      "⚙️ 服务集合": "⚙️ Service Set",
      "⚙️ 本地处理": "Local processing",
      "⚡ IO 性能": "⚡ I/O Performance",
      "⬇️ 下载文件": "⬇️ Download File",
      "。容器场景下用": "In container scenarios, use",
      "三种常见策略：": "Three common strategies:",
      "下载 / 返回": "Download / Back",
      "不阻塞主线程。": "without blocking the main thread.",
      "与业务系统集成": "Integration with business systems",
      "个性化学习建议": "Personalized Learning Suggestions",
      "中频繁使用的列": "Columns used frequently",
      "书目与库存分离": "Bibliography separated from inventory",
      "了，不保证服务": "There's no guarantee of service.",
      "交互不是装饰层": "Interaction Is Not Decoration",
      "从实验走向可靠": "From experiment to reliability.",
      "何时不创建索引": "When do not create an index",
      "使用 ws 库": "Use ws library",
      "使用强密码套件": "Use strong cipher suites",
      "内存管理铁律：": "The cardinal rules of memory management:",
      "内容质量与隐私": "Quality of content and privacy",
      "函数指针与回调": "Function Pointers & Callbacks",
      "分析慢查询日志": "Analyse slow query logs",
      "列表/聚合数据": "List / Aggregated Data",
      "创建数据访问层": "Create Data Access Layer",
      "创建飞书机器人": "Create a Feishu bot",
      "前端与交互体验": "Frontend and interactive experience",
      "加密与远程存储": "Encryption and Remote Storage",
      "动效应当有理由": "The effect should be justified.",
      "动效的性能底线": "Motion Performance Floor",
      "压测与容量规划": "Load Testing and Capacity Planning",
      "反向搜索历史，": "Inverted search history.",
      "可观测与可恢复": "Observability and Recoverability",
      "可观测性与清理": "Observation and clean-up",
      "同步与异步混合": "Sync & & Move",
      "后端的三步处理": "A three-step process at the back end",
      "启用 HSTS": "Enable HSTS",
      "失败重试与告警": "Retries and Alerts on Failure",
      "存储与传输安全": "Storage and transmission security",
      "安全与可运维性": "Safety and portability",
      "安全接口治理台": "Security interface governance desk",
      "安全边界与成本": "Secure borders and costs",
      "审计 · 文档": "Audit · Docs",
      "容器化注意事项": "Containerization Notes",
      "常见陷阱与调试": "Common traps and debugging",
      "并发与批量处理": "Concurrency and Batch Processing",
      "开启慢查询日志": "Enable slow query log",
      "异步数据库操作": "Step Database Operation",
      "心跳与断线重连": "Heartbeats and Reconnect on Disconnect",
      "性能预算与监控": "Performance budget and monitoring",
      "我的个人技术栈": "My Personal Tech Stack",
      "把部署流程拆成": "Split the deployment process into",
      "报表与容量规划": "Report and volume planning",
      "指标历史的意义": "Why Metric History Matters",
      "排查账号归属。": "Check account number attribution.",
      "提示浏览器合成": "Tip: let the browser handle compositing",
      "支持命名分组和": "Support naming groups and",
      "数据与智能应用": "Data & intelligent applications",
      "暗黑/明亮主题": "Dark/ Bright theme",
      "本地数据持久化": "Local Data Persistence",
      "查看文件详情，": "See details of the documents.",
      "标记，服务端按": "a marker, and the server archives by",
      "每个套件包含：": "Each package contains:",
      "每日 7:30": "Daily at 7:30",
      "测试 API：": "Test API:",
      "测试与调参分离": "Test-partition separation",
      "液态玻璃 UI": "Liquid glass UI",
      "演练与自动巡检": "Recovery Drills & Automated Checks",
      "玻璃质感 UI": "Glassmorphism UI",
      "的列（如性别）": "column (e.g. sex)",
      "看磁盘使用率，": "Look at disk usage.",
      "紧急修复工作流": "Emergency Hotfix Workflow",
      "统计信息与维护": "Statistical information and maintenance",
      "统计出现次数。": "Number of occurrences.",
      "综合实战工作流": "Integrated fieldwork stream",
      "自定义属性驱动": "Custom-property Driven",
      "行内代码与转义": "Inline Code and Escaping",
      "角色授权中间件": "Role Authorization Middleware",
      "证书 + 配置": "Certificate + Configuration",
      "资源限制与弹性": "Resource constraints and resilience",
      "输入原始文本…": "Enter original text...",
      "输入测试文本…": "Enter Test Text...",
      "这套架构的边界": "The boundaries of this architecture.",
      "通透感和层次感": "Perceptions and layers.",
      "重启服务生效：": "Restart service effective:",
      "鉴权与资源保护": "Authentication and Resource Protection",
      "错误处理与超时": "Error processing and timeout",
      "队列与并发控制": "Queue with Control",
      "阿里云 ACR": "Aliyun ACR",
      "需要拆提交时用": "Use when submitting",
      "验证合并结果，": "Validation of the merger results,",
      "）、类型转换（": "), type conversion (",
      "：定义协程函数": ": Define the co-ordinate function",
      "：应用的密钥，": ": the app's secret key,",
      "：是否最后一帧": ": Last frame",
      "：更快、更安全": ": Faster, safer",
      "：检查请求来源": ": Check the source of the request",
      "：运行顶层协程": ": Run top level co-ordination",
      "🌐 6 个页面": "6 pages",
      "🌐 公网 IP": "🌐 Public IP",
      "🌤️ 天气组件": "🌤️ Weather Widget",
      "🌤️ 天气集成": "Weather integration",
      "🎨 颜色值转换": "🎨 Color Conversion",
      "👨‍💼 管理员": "Manager",
      "💾 下载压缩图": "💾 Download Compressed Image",
      "💾 备份管理器": "Backup Manager",
      "📄 课表CSV": "📄 Timetable CSV",
      "📊 交互式图表": "• Interactive charts",
      "📊 统计仪表盘": "Statistical dashboard",
      "📐 数据库设计": "• Database design",
      "📜 日志聚合器": "📜 Log Aggregator",
      "📡 传感器采集": "📡 Sensor Acquisition",
      "📱 响应式适配": "📱 Responsive Design",
      "📱 移动端适配": "📱 Mobile Adaptation",
      "🔎 检索与回答": "🔎 Retrieve & Answer",
      "🔑 密码生成器": "Password Generator",
      "🔗 实时仪表盘": "🔗 Real-time dashboard",
      "🔗 运维仪表盘": "• Operations dashboard",
      "🔢 进制转换器": "🔢 Base Converter",
      "🖥 目标服务器": "Target server",
      "🖼️ 图片压缩": "Image compression",
      "🚀 运维自动化": "🚀 Ops Automation",
      "🚦 限流与封禁": "🚦 Rate Limiting & Banning",
      "🚦 限流与配额": "🚦 Rate Limiting & Quotas",
      "🛡️ 恢复脚本": "🛡️ Restore Script",
      "🤖 AI 辅助": "🤖 AI Assistance",
      "🦾 执行器控制": "🦾 Actuator Control",
      "🧠 内存与指针": "🧠 Memory & Pointers",
      "🧰 工具箱网格": "Toolbox grid",
      "🧱 当前容器栈": "🧱 Current Container Stack",
      "🧵 并发与线程": "🧵 Concurrency & Threads",
      "🪟 玻璃 UI": "🪟 Glass UI",
      "1. 连接服务器": "1. Connecting servers",
      "1. 验证手机号": "1. Validation of mobile phone numbers",
      "2. 中英文混排": "2. Mixed Chinese and English",
      "2. 缓冲区溢出": "2. Buffer Overflow",
      "3. 证书透明化": "Transparency of certificates",
      "30 个实用案例": "30 practical cases",
      "ACL 高级权限": "ACL Advanced Permissions",
      "API 文档模板": "API Document Template",
      "API 版本控制": "API Version Control",
      "CSS 实现拆解": "Deconstructing the CSS Implementation",
      "Hash（哈希）": "Hash",
      "JWT 工作流程": "JWT workflow",
      "Linux 运维": "Linux Operations",
      "List（列表）": "List",
      "Python 的": "Python's",
      "RS256 实现": "RS256 Implementation",
      "Rust（探索）": "Rust (Exploring)",
      "SSH 安全配置": "SSH Security Configuration",
      "TLS 握手过程": "TLS Handshake Process",
      "TTL 设置原则": "TTL Setting Principles",
      "URL 设计规范": "URL design specifications",
      "WHERE 子句": "WHERE Substatement",
      "[ ] 字体设置": "[ ] Font Settings",
      "⏱ 1 分钟阅读": "⏱ 1-min read",
      "⏱ 2 分钟阅读": "Two minutes to read.",
      "⏱ 4 分钟阅读": "4 minutes to read",
      "⏱ 5 分钟阅读": "5 minutes to read",
      "⏱ 6 分钟阅读": "Six minutes to read.",
      "⏱ 7 分钟阅读": "7 minutes to read",
      "⏱ 8 分钟阅读": "8 Minutes of Reading",
      "⏱ 智能阅读时间": "Smart reading time",
      "⏱️ 时间戳转换": "⏱️ Timestamp Conversion",
      "⚡ 异步任务队列": "⚡ Async Task Queue",
      "、缓存目录一旦被": "Cache directory once",
      "个人云服务器集群": "Personal cloud server cluster",
      "个人网站设计系统": "Personal website design system",
      "为什么学数据处理": "Why are you studying data processing?",
      "为什么要保留镜像": "Why Keep Images?",
      "主题设计先于代码": "Theme Design Before Code",
      "事件驱动数据管线": "Event driven data lines",
      "交互式游戏实验室": "Interactive Game Laboratory",
      "什么是 MQTT": "What's MQTT?",
      "从单容器到多服务": "From single container to multi-service",
      "任务幂等与防重入": "Task idempotency and re-entry prevention",
      "做唯一键，重复时": "as the unique key; on duplicates,",
      "全站备份恢复流程": "Full-station backup recovery process",
      "兼容性与降级策略": "Compatibility and downgrading strategies",
      "分页、排序和过滤": "Pagination, Sorting & Filtering",
      "动效的性能与克制": "Motion: Performance and Restraint",
      "博客 · 佟伟成": "Blog · Wei-Cheng Tong",
      "卷与数据生命周期": "Volume and data life cycle",
      "只返回指针大小；": "Only returns the pointer size;",
      "命令行排障的顺序": "Order order for command lines",
      "在项目里练习指针": "Practice the pointers in the project.",
      "增量与全量的取舍": "Incremental vs Full: Trade-offs",
      "多 Job 编排": "Multi-Job Orchestration",
      "多文件与窗口管理": "Multi file and window management",
      "多服务入口的取舍": "Multiple service entrance trade-offs",
      "大写 (A-Z)": "Uppercase (A-Z)",
      "存储与展示的取舍": "Storage vs Display Trade-offs",
      "学习流的最小闭环": "The Minimal Learning Loop",
      "安全与可靠性工程": "Security & reliability engineering",
      "安全接口治理流程": "Security interface governance process",
      "安全组：第一道门": "Security Groups: The First Gate",
      "安装 Nginx": "Install Nginx",
      "小写 (a-z)": "Lowercase (a-z)",
      "属主、属组与协作": "Ownership, affiliation and collaboration",
      "常用运维脚本实战": "Practical Ops Scripts",
      "常见坑与解决方案": "Common pits and solutions",
      "常见证书问题排查": "Check for common certificate issues",
      "库存/借阅/逾期": "Inventory / Borrowing / Overdue",
      "异步上下文管理器": "Step Context Manager",
      "弹性服务交付平台": "Flexible service delivery platform",
      "强制 HTTPS": "Force HTTPS",
      "找回之前的命令，": "recall a previous command,",
      "技术文档写作模式": "Technical document writing mode",
      "把游戏状态分成层": "Split Game Status into Layers",
      "持久化与安全配置": "Sustainability and security configuration",
      "提交到仓库，真实": "commit to the repository; the real",
      "故障排除指南模板": "Template for troubleshooting guide",
      "数字 (0-9)": "Numbers (0-9)",
      "数据 & 运维层": "Data & operations layer",
      "数据库优化的边界": "Database Optimised Boundaries",
      "数据库迁移的纪律": "Discipline in database migration",
      "文件格式转换服务": "File Format Conversion Service",
      "日期 → 时间戳": "Date → Timestamp",
      "时间戳 → 日期": "Timestamp → Date",
      "智慧图书馆 DB": "Smart Library DB",
      "校园二手交易平台": "Secondhand trading platform for campus",
      "核心规则很简单：": "The core rule is simple:",
      "正确的做法是搭配": "It's the right thing to do.",
      "版本控制与兼容性": "Version control and compatibility",
      "环境变量分层管理": "Layer Management of Environmental Variables",
      "生产环境优化清单": "Production Optimization Checklist",
      "生产环境最佳实践": "Production Best Practices",
      "用户/商品/订单": "User/commodity/order",
      "第三步：启用服务": "Step 3: Access to services",
      "系统与嵌入式开发": "System and embedded development",
      "缓存与一致性边界": "Cache and Consistency Boundary",
      "解析 + 格式化": "Parsing + Formatting",
      "让恢复脚本可维护": "Keep Restore Scripts Maintainable",
      "设备感知与控制台": "Device Sensory and Console",
      "读取数据很简单：": "Reading the data is simple:",
      "超时、重试与幂等": "Timeout, Retry, and Idempotency",
      "过期、刷新与注销": "Expiry, updating and write-off",
      "配合 CI/CD": "Cooperate with CI/CD",
      "配置、监控与部署": "Configure, monitor and deploy",
      "颜色/间距/圆角": "Color / Spacing / Radius",
      "飞书课表推送系统": "Feishu class-schedule notifier",
      "：命令失败即退出": ": Exit if the command fails",
      "：定期清理旧快照": ": Regular cleaning of old snapshots",
      "：应用的唯一标识": ": the app's unique identifier",
      "：提高代码复用性": ": Increase code reuse",
      "：防止大消息攻击": ": prevent oversized-message attacks",
      "：限制允许的来源": ": restrict to allowed origins",
      "🌐 DNS 验证": "🌐 DNS Validation",
      "🏥 健康检查引擎": "🏥 Health Check Engine",
      "🏷 标签分类聚合": "🏷 Tag Aggregation",
      "💾 下载 PNG": "💾 Download PNG",
      "💾 全量自动备份": "💾 Full Automatic Backup",
      "💾 证书自动备份": "💾 Automatic Certificate Backup",
      "📅 复杂周次规则": "📅 Complex Week-cycle Rules",
      "📅 智能课表解析": "📅 Smart Timetable Parsing",
      "📅 每日挑战系统": "• Daily challenge system",
      "📋 复制全部结果": "📋 Copy All Results",
      "📝 .md 文件": ".md files",
      "📝 分析报告导出": "📝 Analysis Report Export",
      "📢 飞书 API": "Feishu API",
      "📢 飞书分级告警": "📢 Tiered Feishu Alerts",
      "📢 飞书续签通知": "📢 Feishu Renewal Notifications",
      "📦 命名卷持久化": "📦 Named Volume Persistence",
      "📨 统一事件模型": "Unified event model",
      "📱 QR 码生成": "QR Code Generation",
      "🔁 间隔重复复习": "🔁 Spaced Repetition Review",
      "🔍 实时搜索过滤": "🔍 Real-time Search & Filter",
      "🔍 快捷搜索入口": "Quick search entrance.",
      "🔐 JWT 认证": "JWT authentication",
      "🔒 SSL 证书": "SSL Certificate",
      "🔗 原文引用回链": "🔗 Citation Backlinks",
      "🔗 引用原文段落": "🔗 Quote Source Passages",
      "🖼️ 图片压缩器": "🖼️ Image Compressor",
      "🚀 一键环境部署": "🚀 One-click Environment Setup",
      "🚀 一键部署上线": "🚀 One-click Deploy & Launch",
      "🪟 液态玻璃效果": "Liquid glass effects",
      "1. 日志清理脚本": "1. Log cleaning scripts",
      "1. 避免索引失效": "1. Avoiding index failure",
      "14. 匹配空白行": "14. Match blank rows",
      "2. 服务健康检查": "2. Service Health Checks",
      "2023 · 大一": "2023 · First-year undergraduate",
      "2024 · 大二": "2024 · Second-year undergraduate",
      "2025 · 大三": "2025 · Third-year undergraduate",
      "3. 创建普通用户": "3. Creating common users",
      "3. 验证 URL": "3. Validate URLs",
      "3. 黑名单/撤销": "3. Blacklist/cancellation",
      "8. 去除行尾空格": "8. Remove Trailing Whitespace",
      "Commit 规范": "Commit Conventions",
      "HTTP 的局限性": "Limits of HTTP",
      "HTTP 请求示例": "HTTP Request Example",
      "JWT 认证中间件": "JWT Auth Middleware",
      "Origin 验证": "Origin Verification",
      "QoS（服务质量）": "QoS (Quality of services)",
      "REST 核心原则": "REST Core Principles",
      "Shebang 行": "Shebang.",
      "Web 服务器权限": "Web Server Permissions",
      "✅ 已复制到剪贴板": "✅ Copied to Clipboard",
      "✅ 所有表都有主键": "All tables have primary keys.",
      "一键部署脚本工具集": "One-click Deployment Script Toolkit",
      "三种调度方案怎么选": "What are the three options?",
      "下关闭非必要动画。": "Closes off unnecessary animations.",
      "个人技术实验室门户": "Personal Technical Laboratory Portal",
      "个人知识库检索流程": "Personal Knowledge Bank retrieval process",
      "为什么需要异步编程": "Why Async Programming Is Needed",
      "从清洗到可复现分析": "From Purge to Recoverable Analysis",
      "代码分割与缓存策略": "Code Split and Cache Policy",
      "优先级最高，其次是": "Highest priority, second",
      "会完全重建，日常用": "It'll be completely rebuilt. It'll be used daily.",
      "会阻塞渲染。我只在": "blocks rendering. I only",
      "何时不该用高级命令": "When should we use high-level orders?",
      "保持干净的功能分支": "Keep Feature Branches Clean",
      "健康检查与依赖顺序": "Health Checks and Dependency Order",
      "先把借阅规则说清楚": "Clarify the Borrowing Rules First",
      "全局异常与统一响应": "Global Exceptions & Unified Responses",
      "关闭光晕与滚动动画": "Turn Off Glow & Scroll Animations",
      "前端状态与离线同步": "Frontend State and Offline Sync",
      "加密 / 解密密码": "Encrypt / Decrypt Password",
      "博客/工具箱/关于": "Blog / Toolbox / About",
      "卷、网络与数据安全": "Volumes, Networks and Data Security",
      "可视化要保留上下文": "Visualize to keep context",
      "后端服务与系统设计": "Backend services & system design",
      "后要重新构建验证再": "then rebuild and verify before",
      "基础 .vimrc": "Base .vimrc",
      "安装 Docker": "Install Docker",
      "宏实战：批量格式化": "Macro: Batch format",
      "实战：动态二维数组": "Operational: Dynamic 2-dimensional array",
      "实战：定位性能回归": "Operational: Positioning Performance Return",
      "实战：清理分支历史": "Operational: Cleaning up branch history",
      "实时性要求低的数据": "Data with low real-time requirements",
      "审计与最小权限实践": "Audit and minimum authority practice",
      "寄存器、标记与跳转": "Registers, Marks and Jumps",
      "嵌入式 Linux": "Embedded Linux",
      "常用工具与语言实现": "Common tools and languages",
      "库是最轻便的选择：": "The library is the easiest option:",
      "开发环境覆盖文件：": "Development of environmental coverage documents:",
      "我把网络分了两层：": "I divided the network into two layers:",
      "指针的声明与初始化": "Pointer Declaration and Initialization",
      "指针运算与内存布局": "Pointer Operations and Memory Layout",
      "接口防线与审计实验": "Interface lines and audit experiments",
      "控制失败判定。配合": "to control failure detection. Combined with",
      "数值设计与可复盘性": "Numeric Design and Reviewability",
      "数据解析 + 存储": "Data parsing + storage",
      "文件转换服务的边界": "Boundaries of file conversion services",
      "日志、时区与可复现": "Logs, Timezones, and Reproducibility",
      "是宿主机映射端口，": "It's a host map port.",
      "智慧图书馆管理系统": "Smart Library Management System",
      "智能运维与证书平台": "Smart Ops & Certificate Platform",
      "本地优先与数据迁移": "Local priority and data migration",
      "查询性能与可追溯性": "Query performance and traceability",
      "没有设置任何缓存头": "No cache header set",
      "浏览器战斗系统实验": "Browser combat system experiment",
      "消息模板与幂等推送": "Message template and e-mail",
      "点击\"生成一个\"…": "Click \"Generate One\"…",
      "点击\"生成密码\"…": "Click \"Generate Password\"…",
      "玻璃卡片的三层结构": "Three layers of glass card.",
      "生产环境覆盖文件：": "Production override file:",
      "生成和验证 JWT": "Generate and validate JWT",
      "生成，不要用固定的": "to generate; don't use a fixed",
      "用项目串起学习路线": "Linking learning lines with projects",
      "的列（维护成本高）": "Columns (high maintenance costs)",
      "符号 (!@#…)": "Symbols (!@#…)",
      "缓存模式：该怎么用": "Cache mode: How to use it",
      "自动化与云原生运维": "Automation & cloud operations",
      "表示排序没走索引，": "This means that the sorting is not indexed.",
      "证书安全与发布链路": "Certificate security and release chain",
      "负载均衡与健康检查": "Load balance and health checks",
      "负载均衡与粘性会话": "Load Balance and Sticky Sessions",
      "路径分流的常见陷阱": "A common trap to divert the path.",
      "跳转 tag，配合": "Jump tag, cooperate.",
      "跳转到光标下文件，": "Go to File Under Cursor,",
      "过期策略与内存淘汰": "Expiry Policies & Memory Eviction",
      "返回整个数组大小，": "Returns the full array size,",
      "适合个人项目的范围": "Scope suitable for a personal project",
      "适当使用 Task": "Use Task properly",
      "选择 ECS 配置": "Choosing an ECS Configuration",
      "避免索引失效的写法": "Writing to avoid index failure",
      "镜像构建 + 推送": "Image Build + Push",
      "镜像（Image）": "Image",
      "间隔重复的最小实现": "Minimal realization of interval repetition",
      "零配置，代码即文档": "Zero config — the code is the documentation",
      "静态资源缓存与压缩": "Static Resource Cache and Compression",
      "预约 · 数据应用": "Reservations · Data Apps",
      "首页/项目/仪表盘": "Home page/item/ dashboard",
      "（合并到上一个）、": " (squash into previous),",
      "），滥用会造成提权": "), misuse leads to privilege escalation",
      "，底层实现可替换。": ", the bottom level achieves replacement.",
      "：一站式的依赖管理": "One-stop management",
      "：不直接暴露实体类": ": Not directly exposed to the physical category",
      "：加速证书状态检查": ": Accelerating certificate status check",
      "：复杂逻辑必须注释": ": Complex logic has to be commented upon",
      "：每月查看费用明细": ": monthly cost details",
      "：证书体系防止冒充": ": certificate system prevents impersonation",
      "：避免证书过期事故": ": avoid certificate expiry incidents",
      "：防止消息洪水攻击": ": prevent message flood attacks",
      "🌓 双主题自动切换": "🌓 Dual-theme Auto Switch",
      "🌓 暗黑/明亮主题": "Dark/light theme",
      "🌳 完整职业树系统": "🌳 Full Skill Tree System",
      "🎨 液态玻璃 UI": "🎨 Liquid glass UI",
      "🏷 标签/阅读时间": "🏷 Tags / Reading Time",
      "🐳 容器与镜像治理": "🐳 Container & Image Governance",
      "👥 三角色权限体系": "👥 Three-Role Permission System",
      "💘 章节式互动问答": "💘 Chapter-based Interactive Q&A",
      "📅 视觉与交互实验": "📅 Visual & Interaction Experiments",
      "📈 学习统计与计划": "📈 Learning Stats & Plans",
      "📊 库存统计仪表盘": "Inventory dashboard",
      "📊 服务器实时监控": "• Real-time server monitoring",
      "📊 错题复盘+计分": "📊 Mistake Review + Scoring",
      "📋 课表 JSON": "📋 Timetable JSON",
      "📐 50+ 工具类": "📐 50+ Utility Classes",
      "📐 响应式网格系统": "📐 Responsive Grid System",
      "📐 指标与特征工程": "📐 Metrics & Feature Engineering",
      "📜 审计与应急记录": "📜 Audit & Incident Records",
      "📡 监控与 SLO": "📡 Monitoring & SLO",
      "📢 飞书群聊机器人": "📢 Feishu group bot",
      "📱 QR 码生成器": "📱 QR Code Generator",
      "🔁 滚动发布与回滚": "🔁 Rolling Release & Rollback",
      "🔍 正则表达式测试": "🔍 Regex Testing",
      "🔍 高级搜索与筛选": "🔍 Advanced Search & Filters",
      "🔔 失败重试与告警": "🔔 Retry & Alert on Failure",
      "🔗 URL 编解码": "🔗 URL Encode/Decode",
      "🔗 在线 Demo": "🔗 Online Demo",
      "🔧 系统初始化配置": "🔧 System initialization",
      "🔳 生成 QR 码": "🔳 Generate QR Code",
      "🛡️ 安全指令通道": "🛡️ Secure Command Channel",
      "🛡️ 本地数据优先": "🛡️ Local-first Data",
      "🧩 组件化 CSS": "🧩 Component-based CSS",
      "🧹 数据清洗与校验": "Data cleansing and verification",
      "🧹 清洗与幂等消费": "🧹 Cleaning & Idempotent Consumption",
      "10. 匹配日期格式": "10. Matching date formats",
      "12. 验证密码强度": "12. Validation of password strength",
      "15. 驼峰转下划线": "15. Converting Camel Case to Snake Case",
      "19. 验证身份证号": "19. Validation of identification number",
      "3. 数据库备份脚本": "3. Back-up database scripts",
      "3. 构建时自动压缩": "3. Automatic compression during construction",
      "3. 设置强密码策略": "3. Setting up a strong password policy",
      "4. JOIN 优化": "4. JOIN Optimization",
      "Docker 容器化": "Docker containerization",
      "Extra 关键信息": "Extra Key Information",
      "JWT 签名算法对比": "JWT Signature Algorithm Comparison",
      "Nginx 反向代理": "Nginx Reverse Proxy",
      "PDF/CSV 输出": "PDF/CSV Output",
      "QoS 不是越高越好": "QoS, not as high as possible.",
      "RESTful 接口": "RESTful API",
      "Session 管理": "Session Management",
      "Token 刷新策略": "Token Refresh Policy",
      "X.509 证书结构": "X.509 Certificate Structure",
      "backend 网络": "Backend Network",
      "| | 小写字母 |": "Oh, my God.",
      "一个典型的 JWT：": "A typical JWT:",
      "三个经典问题的解法：": "Three classic solutions:",
      "三种挂载方式的取舍：": "Three options for mount:",
      "个人知识库与语义检索": "Personal knowledge base and semantic search",
      "为什么要用飞书机器人": "Why use a Feishu bot",
      "五种核心数据类型速览": "Summary of five core data types",
      "交互式 Rebase": "InteractiveRebase",
      "交互空间与可视化实验": "Interactive space and visualization experiments",
      "从设备消息到可用数据": "From device message to available data",
      "会导致容器反复重启。": "This will lead to repeated rebooting of the container.",
      "会尽量匹配到最后一个": "I'll try to match the last one.",
      "使用 TLS 1.3": "Use TLS 1.3",
      "使用 aiohttp": "Use aiohttp",
      "依赖、并行与资源控制": "Dependence, parallel and resource control",
      "元数据 · 校验清单": "Metadata · Checksum Manifest",
      "内容层级比动效更重要": "Content Hierarchy Beats Motion",
      "内容模型要能支持变化": "Content models have to support change.",
      "分支策略不是越多越好": "Branch Strategy: More Is Not Better",
      "加固：别只靠密码强度": "Reinforcement: Not just password strength.",
      "动效最后做，验证先做": "Motion Last, Validation First",
      "反馈决定“好不好玩”": "Feedback decides whether it is \"fun\"",
      "叙事问答与状态机实验": "Narrative question and answer and status machine experiments",
      "后必须检查 NULL": "NULL must be checked afterwards",
      "告警：宁可少，但要准": "Alerts: Fewer, but Accurate",
      "响应式不是缩小桌面版": "Responsive Is Not a Shrunken Desktop",
      "在「权限管理」里添加": "Add in Permissions Management",
      "基础、硬件与问题拆解": "Basic, hardware and problem dismantling",
      "备份之后要做恢复演练": "Drill Restores After Every Backup",
      "多语言差异与测试策略": "Multilingual differences and testing strategies",
      "多阶段构建与镜像瘦身": "Multi-stage Builds & Image Slimming",
      "存储过程 + 触发器": "Stored Procedures + Triggers",
      "学习科学先于功能清单": "Learning science before functionality list",
      "实战：服务器监控日报": "Operational: Server monitoring daily",
      "容器化交付与服务治理": "Containerized delivery and service governance",
      "对象池与 GC 抖动": "Object pool and GC vibrating",
      "应用、数据与设备连接": "Applications, data and equipment connections",
      "异步数据库与 ORM": "Step Database and ORM",
      "心跳、遗嘱与断线检测": "Heart beats, wills and cut wires.",
      "或后台任务控制并发：": "or background jobs to control concurrency:",
      "或显式检查，缺参数就": "or check explicitly; missing args trigger",
      "把一次提交拆成几件事": "Splitting One Commit into Several Changes",
      "把整个应用打包成一个": "package the entire application into one",
      "指定聚合窗口与边界：": "Specifies the aggregate window and boundary:",
      "指标应该回答什么问题": "What Questions Should Metrics Answer?",
      "故障案例是最好的文档": "Incident Reports Are the Best Docs",
      "数据观察与决策工作台": "Data Watch and Decision Desk",
      "数量 (1-100)": "Number (1-100)",
      "文档检索与问答工作台": "Document retrieval and question and answer desk",
      "断线缓存与设备状态机": "Offline Cache and the Device State Machine",
      "服务端广播与房间管理": "Server-side broadcasting and room management",
      "校园消息自动化工作流": "School news automated workflow",
      "玻璃卡片由三层构成：": "The glass card consists of three layers:",
      "的列（唯一值多的列）": "Columns (only columns with more than one value)",
      "碰撞检测要先定义边界": "collision detection must define boundaries first",
      "端到端交付与作品迭代": "End-to-end Delivery & Iteration",
      "第一步：编写启动脚本": "Step 1: Prepare a start-up script",
      "系统初始化：装机清单": "Initialization of systems: list of installed units",
      "系统性能与运行时实验": "Systemic performance and running time experiments",
      "自动化 Bisect": "Automation Bisect",
      "读取宿主机指标的边界": "Boundaries for reading host metrics",
      "输入文本或 URL…": "Enter text or URL...",
      "输入要计算哈希的内容": "Enter the content to calculate Hash",
      "还有一个巧妙的设计是": "And there's another clever design:",
      "里。我用了三层配置：": "Lee. I used three layers of configuration:",
      "里先搭好再复制出来。": "set it up there first, then copy it out.",
      "项目展示 · 佟伟成": "Projects · Wei-Cheng Tong",
      "默认按日历边界对齐，": "Default alignment by calendar boundary,",
      "默认的量词是贪婪的：": "The default word is greedy:",
      "（不提交到 Git）": "(do not submit to Git)",
      "）或改用非回溯引擎。": "Or switch to non-retroactive engines.",
      "：健康检查、指标监控": ": health checks and metrics monitoring",
      "：消息认证码防止篡改": "Message authentication code to prevent manipulation",
      "：输出带时间戳的日志": ": Output log with time stamp",
      "🎨 液态玻璃设计语言": "🎨 Liquid Glass Design Language",
      "🎲 UUID 生成器": "UUID Generator",
      "🏆 排行榜+粒子特效": "🏆 Leaderboard + Particle Effects",
      "🏥 健康检查自动重启": "Health check automatically restarts.",
      "📜 Nginx 日志": "Nginx Log",
      "📜 日志统一采集轮转": "📜 Unified Log Collection & Rotation",
      "🔍 正则表达式测试器": "🔍 Regex Tester",
      "🔒 SSL 自动申请": "🔒 SSL Auto Issuance",
      "🔒 SSL 自动续签": "🔒 SSL Auto Renewal",
      "🔗 无在线 Demo": "🔗 No Online Demo",
      "🔧 JSON 格式化": "JSON format",
      "🕐 规划于 2026": "🕐 Planned for 2026",
      "🚀 SSH 远程部署": "🚀 SSH Remote Deployment",
      "🦾 ROS2（方向）": "🦾 ROS2 (Direction)",
      "🧪 提示词与答案评测": "🧪 Prompt & Answer Evaluation",
      "🧰 14 个开发工具": "14 development tools",
      "1. Token 存储": "Token Storage",
      "2. SSL 剥离攻击": "2. SSL stripping attacks",
      "2. 创建普通用户操作": "2. Create common user operations",
      "4. 设置账户锁定策略": "4. Set an account lockout policy",
      "5. 匹配 IP 地址": "Match IP addresses",
      "5. 文件权限审计脚本": "5. Scripts for document authority audit",
      "6. umask 设置": "6. umask Settings",
      "Express 中间件": "Express Middleware",
      "HSTS 与安全响应头": "HSTS security responder",
      "Headless 模式": "Headless Mode",
      "Markdown 输入": "Markdown Input",
      "Nginx 作为接入层": "Nginx as an access layer",
      "OpenAPI 与文档": "OpenAPI and Document",
      "Python 模型调用": "Python Model Call",
      "Rebase 黄金法则": "The Golden Rule of Rebase",
      "String（字符串）": "String (string)",
      "URL、邮箱与配置校验": "URL, Mailbox and Configuration Validation",
      "Workflow 触发": "WorkFlow Trigger",
      "frontend 网络": "Frontend Network",
      "pandas 核心概念": "pandas Core Concepts",
      "umask 与默认权限": "mask and default privileges",
      "| | 使用连字符 |": "Use hyphenation",
      "⚠️ 滑动窗口异常检测": "⚠️ Sliding-window Anomaly Detection",
      "三种类型的可等待对象：": "Three types of awaitable objects:",
      "个人仪表盘 & 导航站": "Personal dashboard & start page",
      "为什么要 Docker": "Why Docker?",
      "为什么需要 HTTPS": "Why do you need HTTPS?",
      "交互设计是产品的一部分": "Interaction Design Is Part of the Product",
      "佟伟成 · 技术实践者": "Wei-Cheng Tong · IoT Engineer",
      "先回答问题，再增加图表": "answer the question first, then add charts",
      "全站快照与一键恢复系统": "Site-wide snapshot and one-key recovery system",
      "内容分层：什么必须备份": "Content Layer: What must be backed up",
      "加 1 跳 4 字节，": "Add 1 jump 4 bytes,",
      "协程要正确响应取消：在": "A coroutine must respond correctly to cancellation: in",
      "可以同时算多个统计量，": "You can compute multiple statistics at once,",
      "后将指针置为 NULL": "Then set the pointer to NULL",
      "图表（Mermaid）": "Charts (Mermaid)",
      "备份前先想清楚恢复目标": "Define the Restore Goal Before Backing Up",
      "实战案例：实时通知系统": "Case Study: A Real-time Notification System",
      "密钥认证 · 端口转发": "Key Authentication · Port Forwarding",
      "悬垂指针与内存生命周期": "Suspend pointer and memory life cycle",
      "把一次脚本变成可靠任务": "Turning a One-off Script into a Reliable Task",
      "拉取最新基础镜像就行。": "just pulling the latest base image would be enough.",
      "持续做项目，持续写记录": "Building projects and documenting the process",
      "指针与数组：不完全相同": "Pointer and array: Not identical",
      "按名称或时间搜索文件，": "Search files by name or time,",
      "提供减少动态效果选项：": "Provide options to reduce dynamic effects:",
      "提取列。看大日志文件时": "Extracts the column. When reading the big log file",
      "数据模型：让统计可计算": "Data model: to make statistics work",
      "日志：从堆文件到可检索": "Log: From stacking to searchable",
      "检查证书是否在有效期内": "check whether the certificate is still valid",
      "测试 HTTPS 配置": "Testing HTTPS Configuration",
      "测试游戏而不是只测函数": "Test Game instead of only Function",
      "消息卡片：让通知更好看": "Message card: Make the notice better",
      "热门路径 Top 10": "Top 10 Popular Paths",
      "玻璃效果背后的工程约束": "Project constraints behind glass effects",
      "索引：先看查询再看索引": "Indexes: inspect the query before choosing the index",
      "缓存命中率 > 95%": "Cache Hit Rate > 95%",
      "联合索引的最左前缀原则": "Common index maximum left prefix principle",
      "营造出磨砂玻璃的质感。": "Create a sense of sandglass.",
      "证书生命周期与自动续签": "Certificate life cycle and automatic renewal",
      "跳到差异处，逐块审查。": "jump to each diff and review block by block.",
      "轮询（Polling）": "Polling",
      "选购：先定用途再定规格": "Selection: use before specification",
      "问题：首页为什么这么慢": "Question: why is the home page so slow?",
      "间隔重复：从规则到算法": "Interval: from rule to algorithm",
      "集中采集 · 自动轮转": "Centralized Collection · Automatic Rotation",
      "（删除）。整理的原则：": " (delete). Principles for tidying up:",
      "（半透明 + 模糊）、": "(semi-transparent + vague),",
      "（合并但不保留消息）、": "(merger without message)",
      "：中间人可以冒充服务器": ": a man-in-the-middle can impersonate the server",
      "：在连接时验证用户身份": ": Authenticate user identity on connection",
      "：无需部署 WAR 包": ": WAR package not required to be deployed",
      "：根据依赖自动配置应用": ": Application based on reliance on automatic configuration",
      "：检查关键命令的返回值": ": check return values for key commands",
      "：私钥文件权限 600": ": Private key file permission 600",
      "；禁止对不可信输入执行": "; never eval untrusted input",
      "🎨 Canvas 引擎": "🎨 Canvas Engine",
      "🐍 Python 脚本": "Python script",
      "🐳 Docker 容器": "Docker container",
      "🐳 Docker 部署": "Docker deployment",
      "📚 图书全生命周期管理": "📚 Full Book Lifecycle Management",
      "🔄 共享网络+健康检查": "🔄 Shared Network + Health Checks",
      "🔍 全文 + 语义搜索": "🔍 Full-text + Semantic Search",
      "🖥️ 技术实验室仪表盘": "Technical laboratory dashboard",
      "🧪 pytest 测试": "Pytest Test",
      "10 万条 < 50ms": "100,000 < 50 ms",
      "16. 匹配所有代码注释": "16. Match all code notes",
      "18. 匹配引号内字符串": "18. Matching Strings Inside Quotes",
      "2. 系统更新与基础工具": "2. System update and basic tools",
      "6 服务 · 3 数据卷": "6 Services · 3 Data Volumes",
      "Compose 重建服务": "Rebuild Services with Compose",
      "Crontab 定时任务": "Crontab scheduled tasks",
      "JOIN 与子查询的取舍": "JOOIN and Sub-Query trade-offs",
      "JWT 结构：三段与签名": "JWT Structure: Three paragraphs and signatures",
      "Restart 策略解析": "Understanding Restart Policies",
      "SLO：给可靠性一个数字": "SLO: A number for reliability",
      "Shell 脚本基础要素": "Shell Base Elements",
      "⚔️ 武器升级+敌人AI": "Weapons upgrade + enemy AI",
      "✅ JOIN 列已建索引": "✅JOIN column indexed",
      "。下次读取时会自动重建。": "It will be rebuilt automatically on the next read.",
      "。过滤参数用语义化名称（": "Use semantic names for filter parameters (",
      "一次部署应该包含哪些检查": "Which checks should be included in a single deployment",
      "不要把密码和密钥硬编码在": "Do not encode passwords and key hard",
      "为什么需要 Rebase": "Rebase",
      "二进制 (Base 2)": "Binary (Base 2)",
      "仓库（Registry）": "Registry (Repository)",
      "会话、保留消息与共享订阅": "Sessions, Save Messages and Share Subscriptions",
      "使用 Socket.IO": "Using Socket.IO",
      "停止 · 解包 · 加载": "Stop · Unpack · Load",
      "先更新数据库，再删除缓存": "Update the database first, then invalidate the cache",
      "八进制 (Base 8)": "Octal (Base 8)",
      "内存优化的小技巧：数值用": "Memory Optimization Small Skills: Value",
      "刷新，重建碎片严重的表（": "Refresh and recreate the heavy debris table.",
      "博客 · 笔记 · 项目": "Blog · Notes · Projects",
      "卡片 JSON 格式严格": "Card JSON",
      "发布应用，等待管理员审批": "Release application pending administrator approval",
      "可以并排 diff，配合": "Diff, cooperate.",
      "可访问性：玻璃背后的文字": "Accessibility: text behind glass",
      "同一个分支内整理历史我用": "To clean up history within the same branch, I use",
      "图书 / 用户 / 借阅": "Books / Users / Borrowing",
      "备份与恢复：要能真的还原": "Backup and Restore: To really restore",
      "始终使用 Shebang": "Always use Shebang",
      "实战：日志解析与数据提取": "Operations: log resolution and data extraction",
      "实验室仪表盘 · 佟伟成": "Lab Dashboard · Wei-Cheng Tong",
      "密码套件与 TLS 版本": "Cipher Suites and TLS Versions",
      "库存 / 罚款 / 预约": "Inventory / Fines / Reservations",
      "引号与命令注入：安全红线": "Injection of quotation marks and commands: secure red line",
      "恢复演练比备份文件更重要": "Restore Drills Beat Backup Files",
      "成本与容量：让账单可预期": "Cost and capacity: make the bill predictable",
      "执行计划 EXPLAIN": "Execution Plans (EXPLAIN)",
      "把当前行存入寄存器 a，": "store the current line into register a,",
      "把玩法拆成可以调试的系统": "break the gameplay into a debuggable system",
      "把经验沉淀成可复用的深度": "Turn experience into reusable depth",
      "持久化任务——重启不丢失": "Persistent Tasks — Survive Restarts",
      "指标：什么才算\"用得好\"": "Metrics: What Counts as \"Using It Well\"?",
      "数据处理的第一步不是调用": "The first step in data processing is not calling.",
      "数据源是最大的不稳定因素": "Data sources are the biggest destabilizing factor.",
      "文档结构：先让读者能扫描": "Document Structure: Let Readers Scan First",
      "时区、周次与节假日的计算": "Calculation of time zones, weeks and holidays",
      "校验 · 聚合 · 规则": "Validation · Aggregation · Rules",
      "校验：备份没验证等于没有": "Verify: An Unverified Backup Is No Backup",
      "消息协议：帧、类型与幂等": "Message Protocol: Frames, Types, and Idempotency",
      "源码 · 镜像 · 数据": "Source · Images · Data",
      "物联网工程 2023 级": "IoT Engineering · Class of 2023",
      "物联网数据采集与监控平台": "Web-based data collection and monitoring platform",
      "的表（< 1000 行）": "Table (< 1000 rows)",
      "等待输入正则和测试文本…": "Waiting for regex and test text…",
      "编目 / 借阅 / 归还": "Cataloging / Borrowing / Returning",
      "网络：按信任级别拆分子网": "Networking: Splitting Subnets by Trust Level",
      "自用工具链 · 持续维护": "Personal Toolchain · Continuously Maintained",
      "自用效率工具 · 纯前端": "Personal Productivity Tools · Pure Frontend",
      "计划 · 练习 · 复习": "Plan · Practice · Review",
      "认证 · 权限 · 限流": "Auth · Permissions · Rate Limiting",
      "让屏幕外的图片延迟加载，": "Load off-screen images lazily,",
      "记录设备声称的采样时间，": "records the sampling time the device claims;",
      "词汇 · 语法 · 例句": "Vocabulary · Grammar · Examples",
      "超时与取消：别让任务挂死": "Timeouts & Cancellation: Don't Let Tasks Hang",
      "输入文本以查看实时统计…": "Enter text to see real-time statistics...",
      "输入要编码/解码的文本…": "Enter text to encode/decode...",
      "采集数据中，请稍候...": "Collecting data, please wait...",
      "重试与幂等：消息不能乱发": "Retry & Idempotency: No Duplicate Messages",
      "队列 · 重试 · 幂等": "Queue · Retry · Idempotency",
      "（Issuer）：签发者": "(Issuer): Issuer",
      "（Subject）：主题": "(Subject): Theme",
      "）和条件筛选。分组聚合（": ") and conditions filter. Group Aggregation",
      "）或基于时间范围的分页。": ") or pagination by time range.",
      "：中间人可以修改通信内容": ": a man-in-the-middle can modify the communication content",
      "：中间人可以获取通信内容": ": a man-in-the-middle can read the communication content",
      "：对所有输入进行严格验证": ": strict validation of all inputs",
      "：等待一个可等待对象完成": ": Waiting for an object to be completed",
      "：通信内容加密，防止窃听": ": Communication content encrypted to prevent wiretapping",
      "：防止空格导致的单词拆分": ": prevent word splits caused by spaces",
      "🌐 Nginx 今日统计": "🌐 Nginx Today's Stats",
      "🎨 2D / 3D 渲染": "🎨 2D / 3D Rendering",
      "🎮 Canvas原生开发": "Primary development of Canvas",
      "🐍 纯Python零依赖": "🐍 Pure Python, Zero Dependencies",
      "🐳 Docker 全家桶": "🐳 Full Docker Toolchain",
      "💾 MySQL 定时备份": "💾 MySQL Scheduled Backup",
      "💾 Redis 旁路缓存": "💾Redis bypass cache",
      "📂 /proc 系统指标": "📂 /proc System Metrics",
      "📖 OpenAPI 文档": "OpenAPI Document",
      "📡 MQTT 多设备并发": "📡 MQTT Multi-device Concurrency",
      "📢 飞书 Webhook": "📢 Feishu Webhook",
      "🔄 Nginx 反向代理": "🔄 Nginx Reverse Proxy",
      "🔍 EXPLAIN 分析": "🔍 EXPLAIN Analysis",
      "🔐 Base64 编解码": "🔐 Base64 Encode/Decode",
      "🔒 SSL 证书自动申请": "🔒SSL certificate application",
      "🔒 SSL/TLS 终止": "🔒 SSL/TLS Termination",
      "🖥️ Vue.js 前端": "Vue.js Frontend",
      "🖥️ 多方向实验室仪表盘": "Multi-direction lab dashboard",
      "🧪 OWASP 测试用例": "🧪 OWASP Test Cases",
      "1. Header（头部）": "Header (head)",
      "13. 提取 URL 域名": "13. Extract URL domain name",
      "CLS：别让页面\"跳\"起来": "CLS: Don't let the page jump.",
      "CPU / 内存 / 磁盘": "CPU/ Memory / Disk",
      "Redis 安装与基础配置": "Redis installation and base configuration",
      "SQLite / 本地存储": "SQLite/ Local Storage",
      "Topic 设计与消息契约": "Topic Design and Message Contracts",
      "Web · 工具 · 设备": "Web • Tools • Equipment",
      "schedule 的优点：": "Pros of schedule:",
      "v8.0 · 关系型数据库": "v8.0 Relationship database",
      "⏰ crontab定时推送": "⏰ crontab Scheduled Push",
      "⚡ B+Tree 联合索引": "⚡ B+Tree Composite Index",
      "✅ 避免 SELECT *": "✅ Avoid SELECT *",
      "个人工具箱 Web App": "Personal Toolbox Web App",
      "代码块：让复制粘贴真正可用": "Code Blocks: Make Copy-Paste Actually Work",
      "会得到错误的\"今天\"；我用": "you get the wrong \"today\"; I use",
      "关键词 · 语义 · 重排": "Keywords · Semantics · Rerank",
      "函数化：一个脚本只干一件事": "Functionalization: One Script, One Job",
      "分段 · 元数据 · 向量": "Chunks · Metadata · Vectors",
      "分页、过滤与排序：统一约定": "Pagination, Filtering & Sorting: Unified Conventions",
      "十进制 (Base 10)": "Decimal (Base 10)",
      "协程（Coroutine）": "Coroutines",
      "博客 · 图书馆 · 文件": "Blog · Library · Files",
      "卡片的基础层是半透明背景和": "The base layers of the cards are translucent background and",
      "只在容器间暴露。内部服务用": "Exposure only between containers. Internal services",
      "可以查看实际下发的证书链。": "to inspect the certificate chain actually issued.",
      "后端实现（Node.js）": "Backend Implementation (Node.js)",
      "场景1：从错误分支转移提交": "Scenario 1: Transfer from the wrong branch",
      "备份与恢复：成本最低的保险": "Backup and restoration: lowest-cost insurance",
      "安全设置要配 IP 白名单": "Security settings need an IP white list",
      "宏：把重复动作录成一次回放": "Macro: Record repeated actions as a playback",
      "实战：数据库备份脚本全链路": "Operational: Database backup scripts all links",
      "容器（Container）": "Container (Container)",
      "寄存器连接系统剪贴板。标记": "The register connects to the system clipboard. Mark",
      "带不带路径，行为完全不同：": "With no path, the behavior is completely different:",
      "慢查询治理：先量化，再优化": "Slow Query Management: Quantify First, Then Optimize",
      "技术实验工具箱 · 佟伟成": "Technical Toolbox · Wei-Cheng Tong",
      "指针也可以指向另一个指针。": "The pointer can also point to another pointer.",
      "数据质量报告：让清洗可审计": "Data Quality Reports: Making Cleaning Auditable",
      "正确率 · 进度 · 统计": "Accuracy · Progress · Stats",
      "监控：让它自己告诉我们坏了": "Monitor: Let it tell us it's broken.",
      "缓存与数据库双写一致性问题": "Cache and Database Dual-Write Consistency",
      "联合索引遵循最左前缀原则：": "Joint index follows the maximum left prefix principle:",
      "自建工具 · 生产环境运行": "Self-built Tools · Running in Production",
      "设备 · 表单 · API": "Devices · Forms · APIs",
      "评估，目标评级 A 以上。": "and aim for a rating of A or better.",
      "配置决定了内存满时的行为：": "The configuration determines the behaviour when the memory is full:",
      "飞书机器人的核心价值在于：": "The core value of a Feishu bot:",
      "验证：用数据和真实用户说话": "Validation: speaking with data and true users",
      "黄金法则：永远初始化指针！": "Golden rule: always initialize your pointers!",
      "（Audience）：受众": "(Audience): Audience",
      "（JWT ID）：唯一标识": "(JWT ID): Unique identifier",
      "（统计报表）：1 小时以上": "(statistics reports): 1 hour or more",
      "，登录后进入「开发者后台」": ", log in and open the Developer Console",
      "：令牌类型，固定为 JWT": ": token type, fixed to JWT",
      "：使用标准 HTTP 方法": ": Use standard HTTP method",
      "：将脚本纳入 Git 管理": ": integration of scripts into Git management",
      "：执行时以属主身份运行（如": ": run as the file owner at execution time (for example,",
      "：每个请求包含所有必要信息": ": Each request contains all necessary information",
      "：生产环境必须使用加密连接": ": production environments must use encrypted connections",
      "🌤 wttr.in天气集成": "🌤 wttr.in Weather Integration",
      "🐳 6容器Docker编排": "🐳 Docker Orchestrating 6 Containers",
      "🐳 Docker 一键部署": "🐳 Docker deployment",
      "📅 课程项目 · 团队协作": "• Teamwork",
      "📅 课程项目 · 独立完成": "📅 Course Project · Independently Built",
      "📐 ER 图 + 范式设计": "📐 ER Diagram + Normalization Design",
      "📝 Markdown 导入": "📝 Markdown Import",
      "📝 Markdown 预览": "Markdown Preview",
      "📝 Markdown 驱动": "📝 Markdown-driven",
      "🔄 Push 触发自动部署": "Push trigger automatic deployment",
      "🧠 词汇 / 语法内容模型": "🧠 Vocabulary / Grammar Content Model",
      "🧪 pytest 自动测试": "Pytest Autotest",
      "1. 中间人攻击（MITM）": "1. Man-in-the-middle attack (MITM)",
      "11. 匹配 16 进制颜色": "11. Matching Hexadecimal Colors",
      "2. Payload（载荷）": "2. Payload",
      "9. 提取 JSON 中的值": "9. Extracting Values from JSON",
      "Cherry-Pick 选项": "Cherry-Pick Options",
      "Fail2ban 防暴力破解": "Fail2ban Against Brute Force",
      "Nginx HTTPS 配置": "Nginx HTTPS Configuration",
      "Reflog：误操作的后悔药": "Reflog: Mishandling regrets",
      "Vim 的核心是多模式编辑：": "Vim's core is multi-module editing:",
      "WebSocket 协议原理": "How the WebSocket Protocol Works",
      "Webhook 地址不能泄露": "Webhook's address cannot be disclosed.",
      "Worktree 与并行开发": "Worktree and Parallel Development",
      "async/await 基础": "Async/await base",
      "rebase 中途想放弃，用": "To abort a rebase midway, use",
      "| | 不使用文件扩展名 |": "No file extensions",
      "二级指针：让函数修改指针本身": "Double Pointers: Let Functions Modify the Pointer Itself",
      "交互回调：按钮点了之后怎么办": "Interactive echo: What happens when the button is pressed?",
      "交互式卡片：不只是看，还能点": "Interactive Cards: Not Just Viewable, Clickable",
      "优化三：代码分割——按需加载": "Optimization III: Division of codes - Load as required",
      "全自动 SSL 证书管理系统": "SSL Certificate Management System",
      "分组聚合与透视：从明细到结论": "Group aggregation and perspective: from detail to conclusion",
      "十六进制 (Base 16)": "Hexadecimal (Base 16)",
      "反馈系统：让玩家\"看懂\"规则": "Feedback system: let the player read the rules",
      "可视化与告警：从大屏到可行动": "Visualization and alarm: from screen to actionable",
      "周期心跳：上报在线状态与电量": "Periodic heartbeat: Report online status and electricity",
      "场景2：热修复应用到多个版本": "Scenario 2: Thermal restoration applied to multiple versions",
      "如果只是想让脚本每天跑一次，": "If you just want the script to run once a day,",
      "学习顺序：项目驱动，五步闭环": "Learning order: project driven, five-step closed loop",
      "实战：异步 HTTP 客户端": "In Practice: An Async HTTP Client",
      "实时监控系统资源。服务管理用": "Monitoring system resources in real time. Service management",
      "循环逐个执行慢任务时，可以用": "When looping through slow tasks one by one, use",
      "提前建立连接；关键 JS 用": "establishing connections in advance;key JS use",
      "数据一致性：缓存不是最终答案": "Data consistency: Cache is not the final answer",
      "文件安全：路径穿越与恶意文件": "Document security: path crossing and malicious documents",
      "文件权限：rwx 的真正含义": "File permission: The true meaning of rwx",
      "权限与审计：每一笔变更都留痕": "Permissions & Auditing: Every Change Leaves a Trace",
      "消息体设计：版本、时间与单位": "Message design: version, time and unit",
      "的类型是\"指向数组的指针\"，": "The type is \"the pointer to the array,\"",
      "监控与告警：别等用户发现挂了": "Monitoring & Alerts: Don't Wait for Users to Notice",
      "确认域名匹配（SAN 扩展）": "Confirm domain name match (SAN extension)",
      "端到端验收：不只是\"能收到\"": "End-to-end acceptance: Not just \"receivable.\"",
      "第三层：服务内部读取环境变量": "Level 3: In-service reading of environmental variables",
      "结构清晰、代码可读、排版美观": "clear structure, readable code, and clean layout",
      "蓝绿与滚动：先让新版本活下来": "Blue-Green & Rolling: Let the New Version Survive First",
      "表单与无障碍：细节决定专业度": "Forms & Accessibility: Details Define Professionalism",
      "要加密的明文，或要解密的密文": "An express message to encrypt, or a secret to decrypt.",
      "课程项目 · 独立完成前后端": "Course project · Independently built the frontend and backend",
      "资源建模：先想名词，再想动词": "Resource Modelling: Think of nouns before verbs",
      "逾期规则：把业务规则做成数据": "Overdue Rules: Encoding Business Rules as Data",
      "防止文件名中的空格被错误分词": "prevent spaces in filenames from being wrongly split",
      "验证发布：健康检查与冒烟测试": "Validation release: health check and smoke test",
      "（负号降序）。深翻页用游标（": "(negative numbers down). Cursor used for deep flippages",
      "），业务需要审计时保留记录。": "); retain the record when the business requires an audit.",
      "：客户端到服务器的帧必须掩码": ": client-to-server frame must be masked",
      "：强制浏览器使用 HTTPS": ": Force browser to use HTTPS",
      "：所有 API 通信必须加密": ": All API communications must be encrypted",
      "：购买共享流量包降低带宽费用": ": Purchase of shared traffic packages to reduce bandwidth costs",
      "💬 WebSocket 聊天": "WebSocket Chat",
      "📅 2024.09 — 至今": "📅 2024.09 — Present",
      "📅 实验原型 · 分阶段实现": "• Prototype of experiments",
      "📅 自用工具链 · 持续维护": "• Continuous maintenance of the self-service tool chain",
      "📅 自用效率工具 · 纯前端": "• Self-efficiency tool — Pure front end",
      "🔄 Nginx 反代统一入口": "🔄 Nginx Reverse Proxy as Unified Entry",
      "🔄 Nginx 热重载无中断": "🔄 Nginx Hot Reload without Interruption",
      "🔐 QR / 密码 / 哈希": "QR/ Password/ Hash",
      "🔒 编码 (→Base64)": "🔒 Encode (→Base64)",
      "🕐 最后更新：2025-06": "Final update: 2025-06",
      "🕐 最后更新：2025-09": "Final update: 2025-09",
      "🕐 最后更新：2025-10": "Final update: 2025-10",
      "🕐 最后更新：2025-11": "Final update: 2025-11",
      "🕐 最后更新：2025-12": "Final update: 2025-12",
      "🕐 最后更新：2026-01": "Final update: 2026-01",
      "🕐 最后更新：2026-03": "Final update: 2026-03",
      "🕐 最后更新：2026-06": "Final update: 2026-06",
      "🕐 最后更新：2026-07": "• Final update: 2026-07",
      "🕐 最后更新：2026-08": "Final update: 2026-08",
      "🕐 每日 7:30 定时推送": "🕐 Daily 7:30 Push",
      "14 工具 Launchpad": "14 Tools Launchpad",
      "17. 提取 Nginx 日志": "17. Extract from Nginx Log",
      "4. 提取 HTML 标签内容": "4. Extract HTML Tag Contents",
      "Bisect：二分定位 bug": "Bisect: Locating Bugs by Binary Search",
      "Git Rebase：改写历史": "Git Rebase: Rewrite History",
      "GitHub 渲染差异与兼容性": "GitHub render differences and compatibility",
      "JWT 实现（Node.js）": "JWT Implementation (Node.js)",
      "LCP 优化：让关键内容先出现": "LCP Optimization: Show Key Content First",
      "Last Will（遗嘱消息）": "Last Will.",
      "LibreOffice 的隔离": "Isolating LibreOffice",
      "Vim 高效编辑：从新手到熟练": "Vim Efficient Editor: From freshman to skilled",
      "name,age 佟伟成,22": "name,age Wei-Cheng Tong,22",
      "↩️ Compose 一键恢复": "↩️ One-click Compose Restore",
      "⏱ 时间戳 / 正则 / 转换": "⏱ Timestamp / Regex / Conversion",
      "✅ SHA-256 完整性校验": "✅ SHA-256 Integrity Verification",
      "✅ WHERE 条件列已建索引": "✅WHERE Condition bar indexed",
      "✅ 慢查询日志已开启并定期分析": "✅ Slow query log enabled and analyzed regularly",
      "✅ 查询缓存命中率 > 90%": "✅ Query cache hit rate > 90%",
      "。需要匹配最短内容时用懒惰量词": "Use lazy quantifiers when matching the shortest content",
      "不修改已经推送到公共分支的历史": "Do not modify the history that has been sent to the public branch.",
      "优化一：图片——最快的见效手段": "Optimization I: Pictures — the fastest effective means",
      "使用\"右左法则\"解析复杂声明：": "Parsing complex statements using \"right left rule\":",
      "使用飞书 Python SDK": "Use the Feishu Python SDK",
      "依赖注入与 Bean 生命周期": "Dependency Injection & the Bean Lifecycle",
      "决定新建文件/目录的默认权限：": "Deciding on default permissions to create new files/dirs:",
      "创建 systemd 服务文件": "Create ssystemd service file",
      "创建常用命令的快捷方式。配置好": "Creates the shortcut for commonly used commands. Set it up.",
      "反馈设计：让用户知道系统听见了": "Feedback design: let users know the system received their action",
      "可观察性比“看起来能用”更重要": "Observability Beats \"Looks Like It Works\"",
      "同一台机器多个项目时，项目名（": "When several projects share one machine, make the project name (",
      "在每次改完配置后必须跑一遍，再": "We have to run it once and for all.",
      "块可以配置多个后端：默认轮询，": "The block can be configured with multiple backends: round-robin by default,",
      "实时统计字符数、单词数、行数等": "Real-time character, word and line counts",
      "平台与后端：存储选型看查询方式": "Platform and backend: Storage selection for query",
      "把代码、设备和数据做成可用作品": "Build useful products from code, devices, and data.",
      "时序建模：原始、聚合、归档三层": "Time series modelling: original, aggregate, archive 3rd floor",
      "时间序列：时区与采样要显式处理": "Time Series: Handling Timezones and Sampling Explicitly",
      "最简单的 Webhook 消息": "The Simplest Webhook Message",
      "消息卡片进阶：从纯文本到可交互": "Message card step: From plain text to interactive",
      "监控与告警：先回答\"它还好吗\"": "Monitoring & Alerts: First Answer \"Is It OK?\"",
      "直写 MySQL + 失效缓存": "Write-through MySQL + Cache Invalidation",
      "统一设置超时，超时后取消协程：": "Set timeouts consistently, then cancel the coroutine when a timeout occurs:",
      "记录所有 HEAD 移动历史，": "records all HEAD movement history;",
      "设置缓存时长，配合指纹文件名（": "Sets the cache time to match the fingerprint file name",
      "设计 Token：让主题不漂移": "Design Token: Keep the theme moving",
      "证书链验证：为什么浏览器信任它": "Certificate-chain validation",
      "野指针是无数 bug 的根源。": "Wild pointers are the source of countless bugs.",
      "链接、图片与表格：管理引用关系": "Links, pictures and tables: managing reference relationships",
      "验证签名链直到受信任的根 CA": "Verify signature chain until trusted root CA",
      "：一切皆资源，用 URL 标识": ": All resources, mark with URL",
      "：不要在协程中调用同步阻塞函数": ": Do not call the sync blocking function in the co-ordinate",
      "：服务器单向推送，但仅限于文本": ": Server one-way push, but only text",
      "：熟练移动和基础编辑（1 周）": ": Skilled mobility and basic editing (1 week)",
      "🎨 Bootstrap 响应式": "🎨 Bootstrap Responsive",
      "🐳 Docker 镜像构建推送": "🐳 Docker Image Build & Push",
      "📅 平台能力实验 · 持续设计": "📅 Platform Capability Experiment · Ongoing Design",
      "📅 底层原理练习 · 持续记录": "📅 Low-level Practice · Continuously Documented",
      "📅 服务安全实验 · 本地靶场": "📅 Service Security Experiment · Local Range",
      "📅 自建工具 · 生产环境运行": "📅 Self-built Tools · Running in Production",
      "📊 CSV / JSON 互转": "📊 CSV / JSON Conversion",
      "📊 ECharts 大屏可视化": "📊 ECharts Large Screen Visualization",
      "📏 基准与 Profiling": "📏 Benchmark & Profiling",
      "📢 飞书 Webhook 告警": "📢 Feishu Webhook Alerts",
      "📦 源码 + 镜像 + 数据卷": "📦 Source + Images + Data Volumes",
      "🔧 JSON 格式化 / 校验": "JSON format/ validate",
      "🛡️ AI 内容校验与安全边界": "🛡️ AI Content Validation & Safety Boundaries",
      "3. Signature（签名）": "3. Signature",
      "Compose 文件如何保持清晰": "How to keep the file clear",
      "HTTP 方法与状态码：用对语义": "HTTP Methods and Status Codes: Using Semantics Correctly",
      "LinguaStep 学习流架构": "LinguaStep Learningstream Structure",
      "MySQL 数据库设计与优化实践": "MySQL database design and optimization practices",
      "Redis 提供了多种淘汰策略，": "Redis provides several eviction policies,",
      "Sorted Set（有序集合）": "Sorted Set",
      "location 匹配规则先理清": "Localization Matching Rules first",
      "v7.x · 缓存 & 会话存储": "v7.x. Cache & Session Storage",
      "与 Session 的对比与取舍": "Comparison and trade-offs with Session",
      "事件循环：协程是怎么\"同时\"跑的": "Event loop: how coroutines run “concurrently”",
      "优化六：关键渲染路径——首屏直出": "Optimization 6: the critical rendering path—render the first screen directly",
      "内存泄漏用 Valgrind 的": "Use Valgrind to find memory leaks",
      "原生 WebSocket API": "WebSocket API",
      "同级目录读取。如果文件在别处，用": "Read from the same directory. If the file is elsewhere, use",
      "字体是最容易拖慢首屏的隐藏因素：": "Fonts are one of the easiest hidden causes of a slow first screen:",
      "安全：IoT 最容易被忽略的层面": "Security: IoT's Most Overlooked Dimension",
      "就够了，别把所有端口都映射出去。": "That's enough. Don't map all ports.",
      "性能：向量化优先，循环是最后手段": "Performance: Vectorization First, Loops as a Last Resort",
      "指针就是一个存储内存地址的变量。": "A pointer is a variable that stores a memory address.",
      "撤销，先在小范围试跑再全量执行。": "Undo, run in small areas before full implementation.",
      "是否补充了测试或至少更新了文档？": "Has the test been supplemented or at least updated?",
      "每个被编辑的提交都可能引入冲突，": "Every edited commit may introduce conflicts.",
      "热加载，避免语法错误把服务搞挂。": "Heat loading to avoid grammatical errors in the suspension of services.",
      "物联网工程专业学习路线与技能图谱": "IoT Engineering Professional Learning Routes and Skills Mapping",
      "第一步，在飞书开放平台创建应用：": "The first step is to create applications on the Feishu Open Platform platform:",
      "缓存模式：旁路、穿透、击穿、雪崩": "Cache Patterns: Aside, Penetration, Breakdown, Avalanche",
      "表格数据与 JSON 双向转换…": "Two-way conversion between tabular data and JSON…",
      "表示产生了临时表，都是性能信号。": "It means that a temporary watch is created, and it's all performance signals.",
      "读懂 EXPLAIN 的关键字段": "Read EXPLAIN Key Fields",
      "贪婪、懒惰与回溯：理解正则的性能": "Greed, Laziness and Backtracking: Understanding Regex Performance",
      "输入要编解码的 URL 或文本…": "Enter a URL or text to decode...",
      "通信层：MQTT 之外还要懂什么": "Communication level: MQTT.",
      "（Issued At）：签发时间": "(Issued At): Time of issue",
      "🌐 LAMP / LNMP 环境": "LAMP / LNMP Environment",
      "🎨 Launchpad 网格布局": "🎨 Launchpad-style Grid Layout",
      "📅 智能应用实验 · 分阶段实现": "📅 Smart App Experiment · Phased Implementation",
      "📅 课程项目 · 独立完成前后端": "📅 Course Project · Independently Built Frontend & Backend",
      "🔍 慢查询 EXPLAIN 分析": "🔍 Slow Query EXPLAIN Analysis",
      "🔐 Root-only 备份目录": "🔐 Root-only Backup Directory",
      "🔓 解码 (Base64→文本)": "🔓 Decode (Base64→Text)",
      "1. 禁用 root SSH 登录": "1. Disable root SSH login",
      "6 容器 · Compose 编排": "6 Containers · Compose Orchestration",
      "6. 提取 Markdown 标题": "6. Extracting Markdown title",
      "Cache Aside（旁路缓存）": "Cache Aside",
      "Compose 编排的正确打开方式": "The correct opening of the Compose configuration",
      "Crontab · 备份 & 告警": "Crontab · Backup & Alerts",
      "Docker Socket 的风险": "Docker Socket risks",
      "JPA 与 MyBatis 的取舍": "Choosing Between JPA and MyBatis",
      "TLS 握手：四次会话里发生了什么": "TLS Handshake: What Happens in the Four-way Session",
      "Topic 最好反映业务层级，例如": "Topics should reflect business hierarchy, e.g.",
      "Vim 有 26+ 个命名寄存器：": "Vim has 26+ named registers:",
      "Vim 的强大之处在于操作的组合：": "Vim's strength is the combination of operations:",
      "pandas 的两个核心数据结构是": "The two core data structures of pandas are",
      "| 淘汰剩余 TTL 最短的键 |": "Shortest key to replace TTL",
      "。这些特性让它天然适合物联网场景。": "These characteristics make it naturally suited to IoT scenarios.",
      "不要用正则解析 HTML/JSON": "Do not parse HTML/JSON with regular expressions",
      "为什么选择 Spring Boot": "Why Spring Boot?",
      "优化二：字体加载——别再阻塞渲染了": "Optimize 2: Load the font -- stop blocking the rendering.",
      "优化四：缓存策略——让回访用户秒开": "Optimization 4: Cache Strategy — Instant Loads for Returning Users",
      "和 Bean Validation": "and Bean Validation",
      "在表格里要转义，代码块里的 ```": "It's to be transposed in the form.",
      "学习平台的核心不是题库，而是学习流": "The core of the learning platform is not a repository, but a learning stream.",
      "对比两段文本的差异，高亮显示增删改": "Compare two texts and highlight additions, deletions and changes",
      "常见坑：阻塞调用与事件循环\"假死\"": "Common pit: Blocking call and event cycle \"false death\"",
      "服务边界：什么该拆、什么该留在一起": "Service boundary: what to dismantle, what to stay together",
      "权限数字：r=4、w=2、x=1，": "Permission Number: r=4, w=2, x=1,",
      "硬件层：从点亮 LED 到读传感器": "Hardware Layer: From Lighting an LED to Reading Sensors",
      "第三方域名（字体、CDN、统计）用": "Third-party domain name (in font, CDN, statistics)",
      "调试 Shell 脚本的几种方法：": "Debug several methods for shell scripts:",
      "适合把设备或日期放到行列上做对比：": "Allows you to compare the device or date with the following:",
      "错误处理——任务失败不影响其他任务": "Error Handling — A Failed Task Does Not Affect Others",
      "长轮询（Long Polling）": "Long Polling",
      "（Expiration）：过期时间": "(Expiration): Expiration time",
      "（Not Before）：生效时间": "(Not Before): Time of entry into force",
      "（文章列表、排行榜）：1-5 分钟": "(list of articles, ranking): 1-5 minutes",
      "，很多\"慢\"其实是内存换页造成的。": "Many “slow” operations are actually caused by memory paging.",
      "，进程数用 ulimits 控制。": ", process numbers are controlled by libits.",
      "：复用 HTTP 连接和数据库连接": "Reuse HTTP connection and database connection",
      "：多窗口、宏、自定义配置（1 月）": "Multi-window, macro, custom configuration (January)",
      "：掌握组合操作和文本对象（2 周）": ": master group operation and text object (2 weeks)",
      "：静态页面产物、构建缓存、依赖目录": ": static page artifacts, build caches, dependency directories",
      "📅 AI 辅助实验 · 可渐进落地": "📅 AI-assisted Experiment · Incrementally Deployable",
      "📅 设备与控制实验 · 分阶段实现": "📅 Device & Control Experiments · Phased",
      "🕐 最后更新：2026-06-20": "• Final update: 2026-06-20",
      "🕐 最后更新：2026-06-25": "Final update: 2026-06-25",
      "🖼 Markdown / 图片压缩": "🖼 Markdown / Image Compression",
      "2. 短期 Token + 刷新机制": "2. Short-term Token + Refresh Mechanism",
      "20. 提取 Markdown 链接": "20. Extract Markdown links",
      "Access Token：15 分钟": "Access Token: 15 minutes",
      "Cherry-pick：精准移植提交": "Cherry-pick: Precisely Transplanting Commits",
      "Git 工作流：从单人提交到团队协作": "Git Workstream: From single person to teamwork",
      "Service Worker 的取舍": "Service Worker's Choice",
      "depends_on vs 健康检查": "health check",
      "rebase 与 merge 的取舍": "Choosing Between rebase and merge",
      "| 在所有键中淘汰最不常用的 | |": "| Evict the least frequently used key | |",
      "——每个查询都需要根据实际情况分析。": "— Each query requires a situational analysis.",
      "优化五：CDN——把资源推到用户身边": "Optimization 5: CDN - Pushing Resources to Users",
      "分支保持稳定可部署的状态，日常开发在": "Branches remain stable and deployable and develop daily",
      "好的 Markdown 文档应该是：": "A good Markdown document should be:",
      "学会用\"动词+名词\"的思维操作文本。": "Learn to manipulate text with a \"verb + noun\" mindset.",
      "实战示例：Express.js 实现": "Hands-on Example: Express.js Implementation",
      "将脚本加入定时任务，实现完全自动化：": "Fully automated by adding scripts to timed tasks:",
      "或 Cython 加速。读取大文件用": "Or Cython accelerates. Read large files",
      "指令将请求转发到后端地址，同时需要用": "The command forwards the request to the back address and needs to be used",
      "文件定义所有服务，一条命令启动全部。": "The file defines all services, and a single command starts all.",
      "服务器应急编辑：不带插件的纯 Vim": "Server Emergency Editor: Pure Vim without plugins",
      "查找系统里不该有 SUID 的文件：": "Search system should not have SUD files:",
      "正则表达式完全指南：30 个实用案例": "Regular expression complete guide: 30 practical cases",
      "物联网工程专业在读，一名持续做项目的": "An IoT Engineering undergraduate, continuously building and shipping projects as an ",
      "环境隔离：开发、测试、生产各一份配置": "Environmental isolation: developing, testing, producing one configuration each",
      "用 Python 发送一条文本消息：": "Send a text message with Python:",
      "真实场景：Git Push 自动通知": "Real scene: Git Push automatic notification",
      "等待所有后台任务，避免脚本提前退出。": "wait for all background jobs so the script doesn't exit early.",
      "签名算法：HS256 与 RS256": "Signing algorithm: HS256 and RS256",
      "索引为什么有效：B+Tree 与回表": "Why indexes work: B+Tree and table lookups",
      "输入时间戳，如 1700000000": "Enter a timestamp such as 1700000000",
      "退出并返回非零码，方便上层监控捕获：": "Exit and return non-zero code to facilitate upper-level monitoring of capture:",
      "里保留关键 CSS，其余的延迟加载：": ", and the rest of the delay loads:",
      "重复）能一次完成。录制时用相对动作（": "I repeat) can be done once. Use relative action when recording",
      "（用户信息、配置项）：5-15 分钟": "(User information, configuration): 5-15 minutes",
      "）连接，数据库绝不映射到宿主机端口。": ") connection; never map the database to a host port.",
      "）：只有文件属主才能删除，防止互相删": ": Only the owner of the document can delete it and prevent mutual deletions",
      "：Poly1305 或 SHA384": ":Poly 1305 or SHA 384",
      "：管道中任何命令失败都让整条管道失败": ": Any command failure in the pipe makes the whole pipe fail",
      "💬 实时聊天 (WebSocket)": "💬 Live chat (WebSocket)",
      "📅 2025.10 — 自用效率工具": "2025.10 — Self-use efficiency tool",
      "📅 数据应用实验 · 课程与个人数据": "Data application experiments",
      "Apple 近两年的设计语言越来越强调": "Apple, in the last two years, the language of design has become more and more important.",
      "C 语言指针深度解析：从内存模型到实战": "Deep Dive into C Pointers: From Memory Model to Practice",
      "Git Bisect：二分查找 Bug": "Git Bisect: Two-point search Bug",
      "TLS 1.3 的密码套件简化了很多：": "TLS 1.3 greatly simplifies the cipher suites:",
      "Vim 不是编辑器，而是一种编辑语言。": "Vim is not an editor, but an editorial language.",
      "v1.24 · 反向代理 & 静态服务": "v1.24 · Reverse Proxy & Static Service",
      "| 只在设了过期时间的键中淘汰 | |": "| Evict only among keys with an expiry set | |",
      "——少一个逗号就报错。建议在飞书官方的": "— a single missing comma breaks it. Build the card in Feishu's official",
      "✅ 定期 OPTIMIZE TABLE": "Periodic OPTIMIZE TABLE",
      "不一定等于字段字节之和。嵌入式开发里用": "This does not necessarily equal the sum of the bytes of the fields. Use in embedded development",
      "以后做新项目，我会先把这张清单过一遍：": "I'll go through this list later on.",
      "保存退出。服务器编辑遵循\"先看后改\"：": "Save exit. The server editor follows \"see first\":",
      "内置帮助，Vim 自带完整的文档系统。": "Internal help, Vim has a complete document system.",
      "区分环境变量文件，敏感值不进 Git。": "Distinguishing environment variable files, sensitive values not in Git.",
      "回滚是否容易（迁移、依赖、数据结构）？": "Is rollback easy (migration, dependence, data structure)?",
      "在 Nginx 中为每个服务创建独立的": "Create a separate service in Nginx",
      "打开交互编辑器，可以针对每个提交执行：": "opens an interactive editor where you can act on each commit:",
      "按页面实际资源逐项收紧，比一刀切更稳。": "Tightening policy per page based on actual resources is more stable than a one-size-fits-all approach.",
      "检查证书是否被吊销（OCSP/CRL）": "Check for revocation of certificates (OCSP/CRL)",
      "欢迎邮件联系，通常 24 小时内回复。": "Feel free to reach out by email — I usually reply within 24 hours.",
      "给个人技术实验室做一次真正能恢复的备份": "Make a real recovery backup for the personal tech lab.",
      "输入正则表达式和测试文本，查看匹配结果": "Enter a regex and test text to see match results",
      "遇到\"十行数据每行做同样修改\"，用宏（": "When you need to make the same change to ten rows, use a macro (",
      "（前缀匹配且不再继续正则），然后是正则": "(prefix matches and does not continue regular) then regular",
      "（渐变高光，模拟玻璃表面的光线折射）。": "(Gradually high light, simulated light reflection on glass surface).",
      "（白色半透明边框，模拟玻璃边缘反光）、": "(white translucent border, simulated reflection on glass edges)",
      "：使用 Semaphore 控制并发数": ": Consistency control with Semaphore",
      "：客户端定时发送请求，延迟高且浪费带宽": ": the client polls periodically — high latency and wasted bandwidth",
      "：集成 Swagger/OpenAPI": ": Integration Swagger/OpenAPI",
      "📄 Markdown / PDF 导入": "Markdown/ PDF Import",
      "2. 响应式图片——不同屏幕加载不同尺寸": "2. Responsive images—load different sizes for different screens",
      "2024.09 — 至今 · 持续迭代中": "2024.09 — Present · Continuously Iterating",
      "Git Cherry-Pick：精准移植": "Git Cherry-Pick: Precise Porting",
      "JWT 由三部分组成，用点号（.）分隔：": "JWT consists of three parts separated by dot numbers:",
      "Let's Encrypt · 自动续签": "Let's Encrypt · Auto Renewal",
      "MQTT 协议详解：物联网通信的事实标准": "Details of MQTT protocols: de facto standards for the communication of goods online",
      "RESTful API 设计的核心思想是": "RESTful API The core idea of design is",
      "SQL 查询优化：索引、执行计划与慢查询": "SQL query optimization: indexes, execution plans, and slow queries",
      "Vim 的高效不在快捷键数量，而在组合：": "Vim 's efficiency is not in the number of shortcuts, but in combination:",
      "Webhook 安全：密钥、白名单与频率": "Webhook Security: Keys, Whitelists, and Rate",
      "[ ] 图片全部转 WebP + 响应式": "[ ] Pictures all turn WebP + Responsive",
      "| 在所有键中淘汰最近最少使用的 | |": "| Evict the least recently used key | |",
      "。学会组合后，很多\"操作\"可以一句表达：": "Once you learn to combine them, many \"operations\" can be expressed in one line:",
      "一张 2.4MB 的背景图，完全没有压缩": "A 2.4MB background map, completely uncompressed.",
      "中文字体文件 8MB，阻塞了整个页面渲染": "Chinese font file 8MB, blocking entire page rendering",
      "为什么选择 Docker Compose": "Why Docker Compose?",
      "事件时间线：把监控从\"状态\"变成\"故事\"": "Event Timeline: Turning Monitoring from \"Status\" into \"Story\"",
      "从底层实现、数据处理到服务交付与交互表达": "From low-level implementation and data processing to service delivery and interactive expression",
      "函数指针是实现回调机制和策略模式的基础。": "function pointer is the basis for achieving a mode of callback mechanism and strategy.",
      "分支进行，新功能从 develop 拉出": "Branch goes on, new function pulled out of development",
      "前端性能优化：从 3 秒到 300 毫秒": "Front end performance optimization: from 3 seconds to 300 ms",
      "卡片消息的核心就是一个 JSON 结构：": "The core of the card message is a JSON structure:",
      "可读性会好很多。合并别人的代码到主干我用": "Readability is much better. I'll use the code to merge others.",
      "实战：把接口从 2.3 秒降到 8 毫秒": "Operational: Reduction of interface from 2.3 seconds to 8 ms",
      "对齐也很重要：结构体成员按对齐规则填充，": "Alignment matters too: struct members are padded according to the alignment rules,",
      "把 Vim 当语言：操作符 + 动作组合": "Treat Vim as a Language: Operator + Motion Combinations",
      "按 hunk 暂存；如果提交已经产生，用": "Press hunk holdup; if submission is generated, use",
      "时钟与时间语义：谁的时间才是\"真实时间\"": "Clock & Time Semantics: Whose Time Is \"Real Time\"?",
      "查端口占用——这个在端口冲突时特别好用。": "Check port occupancy - this is particularly useful when port conflicts occur.",
      "点击「创建企业自建应用」，填写名称和描述": "Click “Create custom enterprise app”, then enter its name and description",
      "生成高强度随机密码，可自定义长度和字符集": "Generate strong random passwords with customizable length and character set",
      "用 rename 禁用）、监控内存峰值。": "Disable by rename, monitor memory peaks.",
      "直接进入 diff 模式，适合合并冲突；": "Direct access to diff mode, suitable for combining conflicts;",
      "自动化不是一蹴而就的。我经历了三个阶段：": "Automation is not done overnight. I went through three stages:",
      "获取免费证书：Let's Encrypt": "Get a free certificate: Let's Encrypt",
      "装好之后别急着用，先做几个关键配置。编辑": "When you're ready, don't rush, make a few key configurations. Edit",
      "证书文件定时备份至独立目录，支持一键回滚": "Certificate files are backed up regularly to a separate directory, with one-click rollback support",
      "调整；CentOS 用 SELinux，": "adjusting;centOS with SELINux,",
      "资源加载：preconnect 与优先级": "Resource loading: preconnect and priority",
      "迁移前自动备份，迁移失败自动回滚到备份点": "Back up automatically before migration; roll back to the backup point automatically if migration fails",
      "迁移文件只增不改，已上线的迁移永远不编辑": "Migration files are added and the migration that is on line is never edited",
      "这样即使服务重启，所有定时任务都能恢复。": "This lets all scheduled tasks resume even after the service restarts.",
      "（HATEOAS）：响应包含可操作的链接": "(HATEOAS): Response contains actionable links",
      "：使用未定义变量直接报错（拼写错误立现）": ": using an undefined variable errors immediately (typos surface instantly)",
      "：对独立任务使用 create_task": ": use create_task for independent tasks",
      "：系统缓存、临时文件、日志（可压缩短存）": ": system caches, temp files, logs (compressible, short retention)",
      "：资源可以有多种表示（JSON、XML）": ": resources can be expressed in many ways (JSON, XML)",
      "🔐 Let's Encrypt 免费证书": "🔐 Let's Encrypt Free Certificate",
      "I2C、SPI、UART 三种总线的取舍：": "I2C, SPI, UART three bus options:",
      "LinguaStep · 日英阶梯学习平台": "LinguaStep · Japanese-English Step Learning Platform",
      "Linux 用户信息存储在两个关键文件中：": "Linux user information is stored in two key documents:",
      "Markdown 写作指南：技术文档的艺术": "Markdown Writing Guide: Art of Technical Documentation",
      "RESTful API 设计规范与最佳实践": "RESTful API Design Norms and Best Practices",
      "Rebase 交互模式：整理历史的正确姿势": "Rebase Interactive Mode: Collating the right position of history",
      "Redis 缓存实战：从安装到生产环境优化": "Redis in Practice: From Installation to Production Optimization",
      "[ ] 关键 CSS 内联，非关键异步加载": "[ ] Key CSS interconnectivity, non-critical off-load",
      "backdrop-filter 的性能成本": "Performance cost of backdrop-file",
      "proxy_pass 的 URI 传递陷阱": "URI transfer trap for proxy_pass",
      "——更新数据库后忘记删缓存。最简单的做法：": "• Forget to delete cache after updating the database. The simplest approach:",
      "⏰ Crontab 定时备份 + 飞书告警": "⏰ Crontab Scheduled Backup + Feishu Alerts",
      "。但懒惰并不总是更高效，回溯才是性能关键：": "But laziness is not always more efficient — backtracking is the performance key:",
      "。文件路径来自外部时，先规范化并校验前缀：": "When file paths come from outside, normalize them first and validate the prefix:",
      "不是所有东西都值得备份。我按重要性分四层：": "Not everything deserves backup. I have four layers of importance:",
      "主题可以按设备、数据类型和方向分层，例如：": "Subjects can be layered by equipment, data type and direction, such as:",
      "传统 UGO 权限不够精细时使用 ACL：": "Use ACL when traditional UGO permissions aren't fine-grained enough:",
      "列表接口默认分页，返回结构与元数据一起给：": "List endpoints paginate by default and return the structure together with metadata:",
      "包裹玻璃效果，不支持的设备用纯色半透明背景": "Package glass effect, unsupported devices with pure colour and translucent background",
      "多级指针常用于动态二维数组和函数参数传递。": "Multi-level pointers are often used for dynamic two-dimensional arrays and function parameter transfer.",
      "并发控制：Semaphore 防止打爆下游": "Parallel control: Semaphore to prevent blast downstream",
      "每个迁移必须幂等，能重复执行而不产生副作用": "Each migration must wait and repeat without side effects.",
      "消息幂等：QoS 只保证投递，不保证不重复": "Message Idempotency: QoS Guarantees Delivery, Not Deduplication",
      "由服务端写入，两个字段都保留。查询和聚合以": "written by the server; keep both fields. Query and aggregate by",
      "组成。普通字符代表自身，元字符有特殊含义。": "Composition. Normal characters represent themselves, and meta characters have special meanings.",
      "）同样低效，改用\"上一页最后一条的游标\"（": "It's also inefficient.",
      "：学会基本操作，能编辑和保存文件（1 天）": ": learn basics to edit and save documents (1 day)",
      "：手动跑 Python 脚本，想起来才执行": ": run Python scripts manually, only when you remember",
      "：按业务需求，通常 30 分钟到 2 小时": "Based on operational requirements, usually 30 minutes to 2 hours",
      "：文件按属组运行，目录下新文件继承目录属组": ": Files run in groups, new files inheriting directories in directories",
      "📅 2025.09 — 运维工具 · 开源": "📅 2025.09 — Operations tool · Open source",
      "📅 2026.01 — DevOps 实践": "2026.01 — DevOps Practice",
      "📅 2026.01 — 自建 · 持续更新": "📅 2026.01 — Self-built · Continuously Updated",
      "2024.09 — 至今 · 内容与工具平台": "2024.09 — To date — Content and Tools Platform",
      "HTTP 协议以明文传输数据，存在三大风险：": "The HTTP protocol, which explicitly transmits data, has three main risks:",
      "Linux 基础命令：服务器运维的日常工具箱": "Linux Basic Command: Daily toolbox for server operations",
      "Linux 用户与权限管理：从入门到安全加固": "Linux Users and Permissions Management: From Introduction to Security Strengthening",
      "MIME 类型不能只信用户给的后缀：转换前用": "MIME type cannot only trust suffix from user: used before conversion",
      "Nginx 的反向代理基于 HTTP 请求的": "Nginx's reverse proxy is based on HTTP request",
      "Nginx 路由组织：一张路由表管理全部入口": "Nginx Route Organization: One Routing Table Manages All Entries",
      "Python 实现每日课表 + 天气自动推送": "Python: Automated Daily Schedule and Weather Push",
      "SUID、SGID 与 Sticky Bit": "SUID, SGID and the Sticky Bit",
      "Shell 脚本编程：运维效率提升 10 倍": "Shell scripting: 10× more efficient operations",
      "Unix 时间戳与日期时间互转，支持秒/毫秒": "Unix timestamp ↔ datetime conversion, seconds/milliseconds",
      "Web Vitals：把性能变成可测量的指标": "Web Vitals: Turning performance into measurable indicators",
      "| 不淘汰，写入报错（默认，不推荐） | |": "| No eviction, write error (default, not recommended) | |",
      "——有序可重复。适合消息队列、最新动态列表。": "— Order can be repeated. Fits the message queue, the latest dynamic list.",
      "一行搞定。数据清洗的常用操作包括处理缺失值（": "One line. Common operations for data cleansing include the processing of missing values.",
      "不是地址加 n，而是加 n 个\"元素大小\"：": "Not address added n, but n element size:",
      "互访。Backend 连接 MySQL 时用": "Exchange visits. Backend for MySQL connection",
      "从玻璃质感到可用体验：个人全站的交互设计复盘": "Feels available from glass: an interactive, personal, site-wide design disc",
      "会连卷一起删——这条命令在数据目录上要三思。": "It also deletes the volumes—think twice before running this command against a data directory.",
      "使用 OpenAPI（Swagger）规范：": "Use OpenAPI to regulate:",
      "只看增量，但我会顺带看被改函数的完整上下文；": "Only incremental, but I follow the full context of the modified function;",
      "在脚本退出时清理临时文件，避免中断留下垃圾：": "Combine with trap to clean up temp files on script exit, so interruptions don't leave garbage:",
      "客户端验证服务器证书的有效性（证书链验证）。": "Certificate-chain validation",
      "我在阿里云 ECS 上部署全栈服务的完整记录": "I've got a complete record of all the inn services I've deployed on the Ariane ECS.",
      "我按事件中心的方式管理反馈：逻辑层只发事件（": "I manage feedback in an event-centric way: the logic layer only emits events (",
      "或锁文件 + PID 检查，抢不到锁就退出。": "or a lock file + PID check; if the lock can't be acquired, exit.",
      "文件转换服务的工程细节：上传、转换与失败恢复": "Project details for file conversion services: upload, conversion and failure recovery",
      "时间也要统一时区。服务器是 UTC 时区时，": "Timezones must be unified too. When the server is on UTC,",
      "是否改动了接口契约（URL、字段、状态码）？": "Has the interface contract (URL, field, status code) been changed?",
      "服务器选择密码套件，发送证书和密钥交换参数。": "The server selects a cipher suite and sends its certificate and key-exchange parameters.",
      "生产环境一定要监控 Redis 的关键指标：": "In production, monitor Redis metrics such as:",
      "用浏览器做一款能玩的游戏：模块化、反馈与测试": "Play a game with a browser: modularization, feedback and testing",
      "的输出一目了然，定位历史修改的效率高了很多。": "The output is immediately clear, making historical changes much easier to locate.",
      "第二层：APScheduler——企业级调度": "Layer 2: APScheduler — Enterprise Scheduling",
      "第二步：创建 systemd unit 文件": "Step 2: Create systemd unit file",
      "能保证依赖服务完全就绪，结果发现它只保证容器": "It seemed to guarantee that dependencies were fully ready, but in fact it only guarantees that the container",
      "表达的操作，全部走向量化；必须逐行计算时才用": "expression, all go to quantification; only if calculated on a line-by-line basis",
      "配合 Docker Compose 使用时，": "When used together with Docker Compose,",
      "阿里云 ECS · Ubuntu 24.04": "Aliyun ECS Ubuntu 24.04",
      "鼠标悬浮时的光晕跟随效果是点睛之笔。通过监听": "The glowing halo that follows the mouse on hover is the finishing touch. By listening to",
      "），发布版本时整体失效，避免脏缓存长期残留。": "), and invalidate the whole cache when publishing a release so stale entries do not remain.",
      "，JavaScript 的 RegExp 用": ", JavaScript's RegExp",
      "：优先 AES-GCM 和 ChaCha20": "AES-GCM and Chacha20",
      "📅 2025.11 — 纯前端 · 自用效率": "📅 2025.11 — Pure Frontend · Personal Productivity",
      "Hex ↔ RGB ↔ HSL 互转，实时预览": "Hex ↔ RGB ↔ HSL conversion with real-time preview",
      "OTA：服务器分发固件，设备校验哈希后切换分区": "OTA: the server distributes firmware; the device verifies the hash before switching partitions.",
      "Python 自动化脚本：从定时任务到系统守护": "Python Automation Script: From Time Task to System Guardian",
      "WebSocket 实时通信：从握手到消息推送": "WebSocket live communication: from handshake to message",
      "[ ] 路由级代码分割 + vendor 分包": "[ ] Route code split + vendor subcontract",
      "docker-compose.yml 结构设计": "docker-compose.yml Structure Design",
      "——无序不重复。标签系统、共同好友、去重统计。": "— Unordered and repetitive. Label system, mutual friends, heavy counting.",
      "✅ 分页使用游标而非 LIMIT OFFSET": "✅ Pagination uses cursors instead of LIMIT OFFSET",
      "下面是我逐个击破的过程，每个优化都有数据支撑。": "And here's the one-by-one process, where every optimization is supported by data.",
      "从借阅流程到 API：智慧图书馆的数据建模实践": "From borrowing workflows to APIs: data-modeling practice for a smart library.",
      "作答后立即给出对错与解释，错误项进入待复习队列": "Give immediate right/wrong feedback with explanation; wrong answers enter the review queue",
      "刚学 Docker Compose 时，我以为": "When I first learned Docker Compose, I thought",
      "和输出目录，使用子进程超时，捕获标准错误，并在": "and output directories, enforce subprocess timeouts, capture stderr, and",
      "回到开始前的状态；想反悔一次 rebase，用": "returns to the pre-rebase state; to undo a rebase, use",
      "在 Ubuntu 上安装 Redis 很简单：": "Install Redis on Ubuntu simply:",
      "在编辑位置历史里来回跳，比滚动找回位置快得多。": "Jumps back and forth in the editorial position history much faster than rolling back.",
      "定期测试续签链路，而不是等到到期前才发现失败。": "test the renewal pipeline regularly instead of discovering failures right before expiry.",
      "把 Python 脚本封装成服务需要两个文件。": "Loading Python scripts into service requires two files.",
      "握手：从 HTTP 升级到 WebSocket": "Handshake: Upgrade from HTTP to WebSocket",
      "是否处理了异常路径（超时、并发、数据不存在）？": "Are the failure paths—timeouts, concurrency, and missing data—handled?",
      "最典型的坑是\"异步框架里混进了同步阻塞调用\"：": "The classic pitfall is \"a sync blocking call sneaking into an async framework\":",
      "环境变量不要写死在 Compose 文件里，用": "Don't hardcode environment variables in Compose files; use",
      "用 SDK 发送消息比直接调 API 更简洁：": "Sending messages with SDK is simpler than directly adjusting API:",
      "第一层：schedule 库——轻量级定时任务": "Layer 1: schedule library — lightweight scheduled tasks",
      "阿里云 ECS 从零到一：选购、配置与安全加固": "Ariane ECS from zero to one: Selection, configuration and security reinforcement",
      "：服务器挂起请求直到有数据，但仍需重复建立连接": ": the server holds the request until data arrives, but connections must be re-established repeatedly",
      "📄 Word/PPT/Excel 互转 PDF": "📄 Word/PPT/Excel ↔ PDF Conversion",
      "📅 2026.03 — 设计工程 · 持续迭代": "2026.03 — Design engineering, continuous iterative",
      "📅 2026.06 · 互动游戏 · 个人项目": "2026.06 Interactive game Individual projects",
      "📅 服务交付实验 · 从 Compose 进阶": "📅 Service Delivery Experiment · Leveling up from Compose",
      "AES-256-GCM 加密，数据不离开浏览器…": "AES-256-GCM encryption — data never leaves the browser…",
      "Docker Compose 多服务编排最佳实践": "Docker Compose: Best Practices for Multi-service Orchestration",
      "GitHub Actions CI/CD 流水线": "GitHub Actions CI/CD Pipeline",
      "| | 只读挂载 | 配置文件、SSL 证书 |": "| | Read-only mount | Config files, SSL certificates |",
      "——排行榜神器。每个元素关联一个分数，自动排序。": "— a leaderboard powerhouse. Each element is tied to a score and sorted automatically.",
      "一个典型的全栈项目 Compose 文件长这样：": "A typical full-stack Compose file looks like this:",
      "上传图片，通过 Canvas 压缩并对比文件大小": "Upload an image, compress via Canvas and compare file sizes",
      "从传感器到图表：一条可排障的 MQTT 数据链路": "From Sensor to Chart: a Troubleshootable MQTT Data Pipeline",
      "从零开始搭建个人 Docker 技术栈的思维导图": "A mind map for building a personal Docker tech stack from scratch",
      "代码里不出现任何环境相关地址，全部由环境变量注入": "No environment-related addresses appear in the code, all injected by environmental variables",
      "例如: \\\\d{4}-\\\\d{2}-\\\\d{2}": "For example: \\d{4}-\\d{2}-\\d{2}",
      "写校验正则前先想清楚\"要防什么\"。简单的邮箱校验": "Before writing the rules, think clearly of what to guard against. Simple Mailbox Validation",
      "在「安全设置」里配置 IP 白名单（可选但推荐）": "Configure IP white list in Security Settings (optional but recommended)",
      "声明\"指向返回 int、接受 int 的函数\"；": "Declaration \"Remarks function to return int, accept int\";",
      "排查 HTTPS 问题的固定顺序：证书是否过期（": "A fixed order for troubleshooting HTTPS: is the certificate expired (",
      "数组名在大多数表达式中会退化为指向首元素的指针。": "An array name degrades in most expressions to a pointer pointing to the head element.",
      "是\"指向元素的指针\"。区分这三者能避免大量困惑：": "It's \"the pointer to the element.\" The difference between the three can avoid a lot of confusion:",
      "是否有敏感信息（密码、令牌、密钥）被打印或入库？": "Are sensitive information (ciphers, tokens, keys) printed or stored?",
      "是镜像的运行实例，轻量级、隔离但共享宿主机内核。": "is the running instance of an image — lightweight and isolated, but sharing the host kernel.",
      "最小化特权，是 Docker 安全基线的一部分。": "Minimising privileges is part of Docker's security baseline.",
      "标准声明（Registered Claims）：": "Standard claims (Registered Claims):",
      "管理，配合 Watchtower 自动更新镜像。": "management, with Watchtower automatically updating images.",
      "脚本的健壮性：set -euo pipefail": "Script Robustness: set -euo pipefail",
      "认证：每个设备独立用户名 + 密钥，禁用匿名连接": "Authentication: Independent user name for each device + key, disable anonymous connection",
      "输入 JSON 文本，一键格式化、压缩或校验语法": "Enter JSON text to format, minify or validate with one click",
      "飞书机器人开发指南：Webhook + 消息卡片": "Feishu Robot Development Guide: Webhook + Message Card",
      "（fugitive 插件）看 Git 版本对比。": "(fugitive plugin) See the Git version comparison.",
      "）、隐式类型转换（字符串列传数字）、前导通配符（": "), implicit type conversion (string column compared to number), leading wildcard (",
      "：不要过度配置，2C8G 足以支撑日均万级 PV": ": don't over-provision — 2C8G easily handles ~10k PV/day",
      "：用 Cron 或 schedule 库定时执行": ": execute on a schedule via Cron or the schedule library",
      "🐳 Docker Compose 编排 6 容器": "🐳 Docker Compose Orchestrating 6 Containers",
      "1. 格式转换——WebP 替代 PNG/JPEG": "Format conversion - WebP instead of PNG/JPEG",
      "Broker 部署与安全：认证、ACL 和 TLS": "Broker Deployment and Security: Certification, ACL and TLS",
      "Cache-Aside（旁路缓存）——最常用的模式": "Cache-Aside (Cache by Side) - the most common pattern",
      "Capabilities：比 root 更细的授权": "Capabilities: More detailed authorization than root",
      "DataFrame 操作链：把清洗写成可读的流水线": "DataFrame Operation Chains: Writing Cleaning as a Readable Pipeline",
      "SELinux / AppArmor：强制访问控制": "SELinux / AppArmor: Compulsory access control",
      "Socket.IO 提供了更高级的抽象和自动降级：": "Socket.IO provides higher abstraction and automatic downgrading:",
      "WebSocket 连接始于 HTTP 升级请求：": "WebSocket connection starts with HTTP upgrade request:",
      "[ ] Nginx 配置 gzip + 分层缓存头": "[ ] Nginx Configure gzip + Layer Cache Header",
      "item：可练习的条目，关联 lesson 与题型": "Item: Practiceable entries, association lesson and problem type",
      "主题下发，配合 QoS 2 确保关键指令可靠送达。": "Themes are distributed in conjunction with QoS 2 to ensure reliable delivery of key directives.",
      "传数组给函数时，函数拿到的是指针，必须同时传长度；": "When passing an array to a function, the function receives a pointer, so pass its length too;",
      "做映射，字段缺失时留空并记录警告，不让整条消息崩塌": "Map fields; leave blanks and log warnings when fields are missing, so the whole message does not break",
      "分支，完成后合并回去。发布前从 develop 拉": "Branch, merge back after completion. Pull from development before release",
      "卡片与正文之间有足够的分隔（边框、投影或背景色差）": "Leave enough separation between cards and body text (border, shadow, or a background contrast).",
      "图片通常占页面体积的 60% 以上。我做了三件事：": "Images often account for more than 60% of a page’s weight. I did three things:",
      "嵌入式里设备驱动常用函数指针表实现接口层，上层只调": "In embedded systems, device drivers often use function-pointer tables to implement the interface layer; the upper layer only calls",
      "打开 Network 面板分析，罪魁祸首一目了然：": "Open the Network panel analysis and the culprits are clear:",
      "把服务器的 CPU、内存、磁盘状态打包成一张卡片：": "Pack the server's CPU, memory, disk status into a card:",
      "文件转换 API · 图书馆系统 · 博客引擎 →": "File Conversion API · Library System · Blog Engine →",
      "是最强大的 HTTP 客户端，调试 API 必备。": "The strongest HTTP client, debug API will be ready.",
      "查看目录大小（磁盘满了时的救星）。文本处理三剑客：": "View directory size (saviour when disk is full). Text handlers:",
      "永远不要 rebase 已经推送到公共仓库的提交！": "Never rebase commits that have already been pushed to a public repository!",
      "的价值——定位 bug 时无法判断是哪一行引入的。": "The value of locating bugs does not determine which line was introduced.",
      "第三层：systemd 服务——把脚本变成守护进程": "Third floor: systemd service -- transforming scripts into daemons",
      "索引列顺序与 WHERE 条件的过滤顺序一致，能用": "The index column order corresponds to the filtering order of the WERE conditions and is usable",
      "输入文本或 URL，一键生成二维码并下载为 PNG": "Enter text or URL to generate a QR code and download as PNG",
      "首次配网：SoftAP 模式接收 Wi-Fi 凭据": "First-time provisioning: receive Wi-Fi credentials in SoftAP mode",
      "：关闭 SSLv3、TLS 1.0、TLS 1.1": ": Close SSLv3, TLS 1.0, TLS 1.1",
      "：帧类型（文本、二进制、关闭、Ping、Pong）": ": frame type (text, binary, closed, Ping, Pong)",
      "：长期运行选择包年包月（比按量便宜 30-50%）": ": choose subscription billing for long-running workloads (30-50% cheaper than pay-as-you-go)",
      "📅 2025.06 — 至今 · 微服务 · 开源": "2025.06 — To date — Microservices — Open Source",
      "📅 2025.10 — 至今 · 自动化 · 开源": "📅 2025.10 — Present · Automation · Open Source",
      "📅 2026.08 · 可靠性工程 · 服务器实践": "📅 2026.08 · Reliability Engineering · Server Practice",
      "2026 · Canvas / SVG · 持续迭代": "2026 · Canvas / SVG · Continuously Iterating",
      "Python 定时任务有三种主流方案，适用场景不同：": "Python scheduled jobs have three mainstream approaches, each suited to a different scenario:",
      "TLS 1.3 简化了握手流程，只需要 1-RTT：": "TLS 1.3 Simplified handshake process, only 1-RTT:",
      "或显式填 0，但要区分\"没有数据\"和\"测量为 0\"。": "or explicitly enter 0, while distinguishing “no data” from “measured zero”.",
      "正文至少 4.5:1 对比度，大字号标题至少 3:1": "The text is at least 4.5:1 contrast and the header is at least 3:1",
      "浏览器战斗实验 · 交互可视化 · 全站设计系统 →": "Browser Battle Experiment · Interactive Visualization · Site-wide Design System →",
      "物联网数据管线 · 数据分析工作台 · 文档问答 →": "IoT Data Pipeline · Data Analysis Workbench · Document Q&A →",
      "生成 UUID v4 随机标识符，支持单个和批量生成": "Generate UUID v4 random identifiers, single or batch",
      "：https://regexr.com（可视化匹配）": ":https://regexr.com (visual matching)",
      "：数据库、用户数据、私有配置（证书、密钥、环境变量）": ": database, user data, private configuration (certificates, keys, env vars)",
      "+ 压缩日志即可，重点是把\"查日志\"变成一条固定命令：": "+ Compress the logs; the key is to turn “check the logs” into one fixed command:",
      "Docker Compose 就是解决这个问题的。一个": "Docker Compose is the answer to this problem. A",
      "HTTPS 证书链实战：TLS、Nginx 与自动续签": "HTTPS Certificate Chain Realism: TLS, Nginx and Automatic Renew",
      "JSON Web Token (JWT) 认证机制详解": "JSON Web Token (JWT) Certification Mechanism",
      "LocalStorage 持久化主题偏好与常用链接配置": "LocalStorage persists theme preference and common link config",
      "Nginx 反向代理实战：一个 80 端口管理五个服务": "Nginx Reverse proxy combat: an 80 port manages five services",
      "Refresh Token：7 天（存储在后端可撤销）": "Refresh Token: 7 days (storable at backend to undo)",
      "Shell 最容易出安全问题的三个点：未加引号的变量、": "Shell has three of the most security concerns: unquoted variables,",
      "| | 不使用动词 | 用 HTTP 方法表达操作 |": "| | Avoid action verbs | Express operations with HTTP methods |",
      "不要把所有缓存都设成永不过期——内存会爆。我的经验是：": "Don't set up all the caches to never expire — the memory will explode. My experience is:",
      "为辅，时钟偏差超过阈值（如 5 分钟）标记为可疑数据。": "To complement this, clock deviations exceeding the threshold (e.g. 5 minutes) are marked as suspicious data.",
      "仪表盘不只是看 CPU：为个人服务建立最小可用可观测性": "A dashboard is more than CPU graphs: build the minimum viable observability for a personal service.",
      "加唯一索引，是设备网络波动下保证数据干净的最简单办法。": "Adding a unique index is the simplest way to keep data clean when device networks are unstable.",
      "天气 API 实时获取 + SVG 图标，位置自动检测": "Real-time weather via API + SVG icons, auto location detection",
      "客户端发送支持的 TLS 版本、密码套件列表和随机数。": "The client sends supported TLS versions, a cipher-suite list, and a random number.",
      "所有 JavaScript 打包成一个 1.2MB 的": "All JavaScript packed into a 1.2MB",
      "把上面的东西串起来——一个真实的数据库备份自动化方案：": "Putting the pieces together—a real database-backup automation solution:",
      "是最常见的错误。用户访问首页，却下载了所有页面的代码。": "is the most common mistake: users visit the home page but download code for every page.",
      "智能运维助手 · 弹性服务交付 · 全站监控仪表盘 →": "Smart Ops Assistant · Elastic Service Delivery · Site-wide Monitoring Dashboard →",
      "最小权限、密钥认证、敏感信息隔离，定期审计与恢复演练。": "Least privilege, key authentication, sensitive-info isolation, regular audits and recovery drills.",
      "每个阶段解决不同的问题。关键是知道什么场景用什么方案。": "Each stage addresses different issues. The key is to know what scenario to use.",
      "测试：MockMvc 与 Testcontainers": "Test: MarkMvc and Testcontainers",
      "结合 WebSocket 和消息队列实现实时通知推送：": "In conjunction with WebSocket and Message Queue, real time notification is sent:",
      "设备感知与控制台 · 灌溉控制器 · 粮仓预警终端 →": "Device Sensing & Console · Irrigation Controller · Grain Silo Alert Terminal →",
      "退出；可选参数给默认值并输出到日志，让每次执行可复现。": "exit; optional parameters are given to the default value and are exported to the log so that each execution can be repeated.",
      "：https://debuggex.com（图表展示）": ": https://debuggex.com (visual diagram)",
      "📅 2025.12 — 自建工具 · Docker 化": "📅 2025.12 — Self-built Tools · Dockerized",
      "POST 天然不幂等，重试可能重复创建。需要幂等的场景用": "POST is naturally non-idempotent, and retries may create duplicates. For scenarios that need idempotency, use",
      "Python 异步编程：async/await 实战指南": "Python async programming: a practical async/await guide",
      "UART：点对点、最简单，适合 GPS、串口屏和调试输出": "UART: Point-to-point, simplest for GPS, serial screen and debug output",
      "[ ] 静态资源上 CDN + DNS prefetch": "[ ] On static resources CDN + DNS prefetch",
      "| | Bind Mount | 开发时的代码热更新 |": "| Bind Mount | Hot update of code during development",
      "可以追一个文件的历史，判断这次修改是修复、演进还是破坏。": "It is possible to follow the history of a document and to judge whether the modification is repair, evolution or destruction.",
      "团队定了一个简单的 Commit Message 规范：": "The team settled on a simple Commit Message convention:",
      "多个消费者处理同一个 Topic 的队列场景用共享订阅（": "When several consumers share one Topic queue, use MQTT shared subscriptions (",
      "左侧编写 Markdown，右侧实时渲染 HTML 预览": "Write Markdown on the left; live HTML preview on the right",
      "把个人网站当成一座小型平台：TWC LAB 的多服务架构": "Multi-service architecture for a small platform: TWC LAB",
      "文本 ↔ Base64 双向转换，支持中文和 emoji": "Text ↔ Base64 two-way conversion, supporting Chinese and emoji",
      "索引建了不等于会用上。常见失效场景：对索引列做函数运算（": "Indexing does not mean that it will be used. Common lapse scenario: function operation of index columns (",
      "能脚本化的不手动操作：备份、部署、监控、告警全部自动化。": "Anything scriptable is never done manually: backups, deployment, monitoring and alerts are all automated.",
      "连接 Broker：TLS 证书校验，客户端 ID 唯一": "Connect Broker: TLS Certificate Validation, Client ID Unique",
      "里最容易出问题的是启动顺序：数据库没就绪，应用就连不上。": "The most common startup failure is ordering: if the database is not ready, the application cannot connect.",
      "，它能自动淘汰冷数据，保留热数据，对大多数场景都很友好。": "It automatically eliminates cold data and keeps thermal data, which is friendly for most scenarios.",
      "，真正的密钥通过运行环境注入，避免配置文件变成密码仓库。": ", the real keys are injected through the runtime environment to avoid the config file becoming a password vault.",
      "：签名算法（HS256, RS256, ES256 等）": ": Signing algorithm (HS256, RS256, ES256, etc.)",
      "📅 2026.06 · Canvas 实验 · 个人项目": "2026.06 Canvas Experiment — Personal Project",
      "📅 2026.06 — 至今 · 学习产品 · 持续开发": "📅 2026.06 — Present · Learning Product · Ongoing Development",
      "Write-Through（写穿）——缓存和数据库同步更新": "Write-Through—update the cache and database together",
      "lesson：内容单元，包含类型（词汇/语法）、难度、标签": "lesson: Content module, containing type (nouns/grammatics), difficulty, label",
      "| 策略 | 说明 | |------|------| |": "| Strategy | Description | | | | | | |",
      "、把用户输入拼进命令。变量必须双引号包裹；需要按行处理时用": ", and splicing user input into commands. Variables must be double-quoted; for line-by-line processing use",
      "为核心计分、关卡和游戏结构编写测试，持续调节难度与交互节奏": "Prepare tests for core score, level and game structure to continuously reconcile difficulty and interactive rhythm",
      "主题，后端服务订阅后写入数据库并做异常检测。控制指令则通过": "topic; the backend subscribes, stores the data, and runs anomaly detection. Control commands go through",
      "函数参数按值传递，改指针参数本身需要传\"指向指针的指针\"：": "Function parameters are passed by value, changing the pointer parameters itself requires a \"point pointing to the pointer\":",
      "审批通过后，在「凭证与基础信息」页面你会看到两个关键参数：": "After approval, you will see two key parameters on the certificate and basic information page:",
      "操作符（d/y/c/g）+ 动作（w/b/aw/iw/$）": "Operator (d/y/c/g)+action (w/b/aw/iw/$)",
      "极低带宽消耗、极小代码 footprint、支持不可靠网络": "Very low bandwidth consumption, very small code footprint, support for unreliable networks",
      "输入数值并选择进制，实时查看 2/8/10/16 进制结果": "Enter a value and select an evolution to see the 2/8/10/16 digit result in real time",
      "飞书卡片支持按钮交互。比如部署确认卡片，点击按钮执行操作：": "Feishu cards support button interactions. For example, a deployment confirmation card executes an action when a button is clicked:",
      "（A 不含，B 含）。冲突处理与 merge 相同，解决后": " (A excludes it, B includes it). Conflict resolution is the same as merge; after resolving,",
      "：https://regex101.com（支持分解解释）": "https://regex101.com",
      "+ 只加载实际用到的字符集，中文站点尤其要控制字体文件体积。": "+ Loads only the characters actually used, and the Chinese site in particular controls the font file volume.",
      "Compose 文件分层：base / dev / prod": "Layering Compose files: base / dev / prod",
      "attempt：一次作答，记录 item、结果、耗时、时间戳": "Attempt: one answer, recording the item, result, duration, and timestamp",
      "pandas 处理百万行时，循环逐行改值会慢到无法忍受。能用": "When pandas processes millions of rows, changing values row by row in a loop is unbearably slow. Use",
      "review：复习计划，记录上次复习时间、间隔、下次到期时间": "Review: a review plan, recording the time of the last review, the interval, the next due date",
      "中清理工作目录。这样一个坏文件不会把下一次转换的状态污染掉。": "Clean the working directory. In this way, a bad file will not pollute the state of the next conversion.",
      "优化器依赖统计信息决定执行计划，大量增删改后统计会过期。定期": "Optimizers rely on the implementation plan for statistical information decisions, and statistics will expire with significant additions or deletions. Periodic",
      "使用对称加密算法（如 AES-256-GCM）进行数据传输。": "Data transfer using symmetric encryption algorithms (e.g. AES-256-GCM).",
      "到期前 30 天自动续签 + Nginx 热重载，全程无停机": "Automatic renewal 30 days before expiry + Nginx hot reload, with zero downtime throughout.",
      "动画期间先降级模糊半径，动画结束再恢复，减少每一帧的重绘成本": "Decreasing of the vague radius during the animation, ending of the animation and recovery, reducing the cost of redrawing each frame",
      "同时配合 DNS Prefetch，提前解析 CDN 域名：": "Also use DNS Prefetch to resolve the CDN domain in advance:",
      "宏比脚本快的场景：格式转换、批量加前缀、重排字段。宏失控时按": "Macro is faster than script scene: format conversion, batch prefix, reset fields. Press when macros are out of control",
      "每次进入都明确\"今天该做什么\"：待复习卡片、新内容、错题重做": "Each session is explicit about \"what to do today\": review cards, new content, redo wrong answers",
      "液态玻璃 UI 设计体系：从 Apple 官网到个人全站实现": "Liquid Glass UI Design System: From Apple Network to Full Site",
      "用于存储和分发镜像，Docker Hub 是最大的公共仓库。": "Used to store and distribute images, Docker Hub is the largest public registry.",
      "跳回，适合\"先看函数 A，再改函数 B，再回 A\"的编辑流。": "Jump back to the edit stream of function A, then function B, then back to A.",
      "，让终端变得更顺手。这些习惯积累下来，运维效率能提升好几倍。": ", making terminal work smoother. These habits can multiply operations efficiency.",
      "：封装成 systemd 服务，自动重启、日志轮转、开机自启": ": wrap it as a systemd service with auto-restart, log rotation and startup enablement.",
      "：把一串\"fix typo\"\"wip\"压缩成语义完整的提交，": ": Compress a string of \"fix typo\" wip\" into a full-synthetic submission.",
      "API 会演进，破坏性变更要换版本。常见做法：URL 路径版本": "API will evolve, destructive changes will change. Common practice: URL path version",
      "Cache-Aside 和 Write-Through 的选择": "Choosing between Cache-Aside and Write-Through",
      "SSL 证书管理系统 · 安全接口治理台 · 一键恢复系统 →": "SSL Certificate Management System Security interface governance desk One-key recovery system",
      "从索引原理到慢查询分析，系统掌握 SQL 性能优化的核心技巧。": "From index principles to slow query analysis, the system masters the core skills of SQL performance optimization.",
      "先做最小原型，再用日志、测试与真实数据验证，让每次迭代有依据。": "Do the smallest prototype, then verify it with logs, tests, and real data, so that it can be used every time.",
      "可以预取即将用到的模块，但不要过度预取——预取本身也消耗带宽。": "You can prefetch modules that will be needed soon, but don't over-prefetch — prefetching itself consumes bandwidth.",
      "可用性不是视觉效果的反义词，反而是玻璃设计能否长期使用的关键。": "Availability is not the opposite of visual effects, but the key to the long-term use of glass design.",
      "同时改属主与属组。多账号协作场景，把共享目录的属组设为公共组并": "He is also a member. Multi-account collaboration scenario, which sets the group of shared directories as a public group and",
      "复用已编译对象而不是每次编译，循环解析大量日志时性能差异明显。": "Re-use compiled objects instead of each compilation, and re-dialysis of a large number of log-time differences is evident.",
      "异步编程允许在等待 I/O 时切换执行其他任务，大幅提升效率。": "Asynchronous programming switches to other tasks while waiting for I/O, greatly improving throughput.",
      "或动态加载，避免阻塞渲染；CSS 保持在 head 且尽量小。": "or load it dynamically to avoid blocking rendering; keep CSS in the head and as small as possible.",
      "支持 DOC/DOCX/PDF/PNG/JPG/WebP 互转": "Supports conversion between DOC/DOCX/PDF/PNG/JPG/WebP",
      "服务健康检查：心跳检测失败自动重启容器，重启记录与耗时写入日志": "Service health check: restart the container automatically when the heartbeat check fails, and write the restart event and duration to the log",
      "管理多容器应用。用 YAML 文件定义服务、网络和数据卷，一个": "Manage multi-container applications. Define service, network and data volume with YAML file, one",
      "）是分析数据的神器，几行代码就能算出每个设备每小时的温度均值。": ") is a powerful data-analysis tool: a few lines can calculate each device’s hourly temperature average.",
      "，因为它会在 PATH 中查找 bash，具有更好的可移植性。": "because it will search for bash in PATH, which is better portability.",
      "Docker 容器化 · Nginx 统一反代 · 单端口多服务": "Docker Containerization . Nginx Unified Inverse . Single Port Multi-service",
      "Nginx 的 location 匹配顺序经常让人踩坑：精确匹配": "Nginx's location matching order trips people up constantly: exact match has",
      "——最基础的类型。缓存 JSON 数据、计数器、分布式锁都用它。": "- The most basic type. The cache of JSON data, counters, distributed locks.",
      "写入时同时更新缓存和数据库，保证数据一致性。适合读多写少的场景。": "Both caches and databases are updated to ensure consistency of data. It's for reading and writing less.",
      "单机 WebSocket 服务用连接管理器：每个连接一个注册表，": "For a single-server WebSocket service, use a connection manager: a registry per connection, mapping channel → set of connections.",
      "在 Webpack/Vite 里配置图片优化，每次构建自动处理：": "Configure image optimization in Webpack/Vite, and autoprocess each build:",
      "将 HTTPS 降级为 HTTP。HSTS 策略可以防止此攻击：": "Reduces HTTPS to HTTP. The HSTS strategy prevents this attack:",
      "把主页、项目、博客、工具箱和服务状态收拢到一个可持续维护的入口。": "Bring home pages, projects, blogs, toolboxes and service delivery to a sustainable maintenance portal.",
      "拆分地图、碰撞、武器、敌人、升级和章节状态等模块，保持逻辑可测试": "Split modules such as maps, collisions, weapons, enemies, upgrades and chapter status to maintain logic to test",
      "权限分为三组（所有者、组、其他），每组三个权限（读、写、执行）：": "Permissions are divided into three groups (owner, group, others), each with three permissions (read, write, execute):",
      "生产服务器上通常没有配置好的插件环境，必须能用纯 Vim 干活：": "Production servers usually have no configured plugin environment, so Vim alone must be enough:",
      "签名确保 JWT 未被篡改。只有拥有密钥的一方才能生成有效签名。": "The signature ensures that JWT is not tampered with. Only a party with a key can generate a valid signature.",
      "聚合场景下允许多写，展示层按设备 + 时间聚合，重复行不影响结果": "For aggregation workloads, allow multiple writes; aggregate by device and time in the presentation layer, where duplicate rows do not change the result.",
      "进度展示用\"掌握曲线\"而不是只堆累计数量，让用户看到遗忘被拉回来": "Show progress with a \"mastery curve\" instead of stacking cumulative counts, so users can see forgetting being pulled back",
      "静态资源上了 CDN 之后，北京的用户和广州的用户都能就近访问：": "After the static resource went to the CDN, users in Beijing and Guangzhou were able to access it:",
      "默认任务存储在内存里，进程重启就丢了。用 SQLite 持久化：": "By default, jobs live in memory and disappear when the process restarts. Persist them with SQLite:",
      "）、内存、连接数；命中率低于 60% 说明缓存设计有问题。压测用": "), memory and connection counts; a hit rate below 60% indicates a flawed cache design. For stress testing, use",
      "Certbot DNS 验证模式自动申请通配符证书，支持多域名管理": "Certbot DNS Authentication Mode Automatically requests wildcard certificates to support multi-domain name management",
      "SPI：全双工、速度快、占用引脚多，适合屏幕、闪存等需要吞吐的场景": "SPI: full-duplex, fast, uses more pins — suits screens, flash and other throughput-hungry uses.",
      "asyncio 是单线程事件循环：所有协程在同一个线程里调度，遇到": "asyncio uses a single-threaded event loop: all coroutines are scheduled on one thread, and when they encounter",
      "、采样时间、固件版本和序列号，后端才能识别重复消息与设备时钟漂移。": ", sampling time, firmware version, and serial number so the backend can detect duplicate messages and device clock drift.",
      "从基础元字符到高级断言，通过 30 个实用案例彻底掌握正则表达式。": "From the base metachar to the advanced assertion, the regular expression is mastered by 30 practical cases.",
      "分批处理，或先按列读取再挑需要的字段，避免一次把整个文件载入内存。": "Process in batches, or read by column and select only the fields you need, so the entire file is not loaded into memory at once.",
      "响应式布局：桌面端 4 列网格 → 平板 2 列 → 手机单列堆叠": "Responsive layout: desktop end 4 column grid → table 2 column → cell phone stacking",
      "在低峰期执行）。大表归档历史数据，让常用查询的表保持\"热数据小\"。": "At low peaks. Large tables archive historical data so that the tables that are frequently consulted keep \"thermal data small\".",
      "审查不是找茬，而是确认变更没有破坏既有边界。我给自己定的最小清单：": "The review was not an attempt, but a confirmation that the change had not destroyed the existing borders. I gave myself a minimum list:",
      "所有交互状态（悬停/聚焦/按下）不只用颜色表达，配合描边或位置变化": "All interactive states (suspension/focus/press) are expressed in more than colours, along with variations in sides or positions",
      "数组名在表达式中\"退化\"为指向首元素的指针，但数组与指针并不等价：": "In most expressions an array name decays to a pointer to its first element, but an array and a pointer are not the same thing:",
      "每个 Shell 脚本的第一行必须是 Shebang，指定解释器：": "The first line of each Shell script must be Shebang, specifying the interpreter:",
      "版本号让消费者可以兼容旧设备，单位随数据携带避免\"服务端猜单位\"，": "The version numbers allow consumers to fit old equipment, and units carry data to avoid \"service guesses.\"",
      "而不是手写正则，因为协议、端口、IPv6、Query 的边界太多。": "Instead of handwritten proxies, because protocols, ports, IPv6, Query have too many borders.",
      "、真实 IP 和协议头，排查问题时才能把一次请求从入口追到具体容器。": ", real IP and protocol header, and only when a question is checked can a request be traced from the entrance to a specific container.",
      "历史数据支持 CSV 导出，RESTful API 提供分页查询接口": "Historical Data Support CSV Export, ResTful API provides a pageless query interface",
      "合并\"fix typo\"\"wip\"这类过程性提交，保留语义完整的提交": "Merge procedural commits like \"fix typo\" and \"wip\", keeping semantically complete commits",
      "带进构建上下文，镜像会变大、缓存会频繁失效，甚至把本地密钥打包进去。": "if brought into the build context, the image grows, caches invalidate frequently, and local secrets may even get baked in.",
      "没有缓存头的话，用户每次访问都要重新下载所有资源。Nginx 配置：": "Without a cache, users are required to redownload all resources for each visit. Nginx configuration:",
      "设计上允许\"功能降级、内容完整\"，比强制所有设备享受同等效果更专业。": "Designed to allow \"degraded functions, complete content\" is more professional than imposing equal effect on all equipment.",
      "（setgid），新文件自动继承组，避免\"我创建的文件别人改不了\"。": "(setgid), auto-inheritance group for new files, avoid \"I created documents that no one else can change.\"",
      "（用专用解析器），但处理日志、文本清洗、数据验证时，正则是不二之选。": "(use a dedicated parser), but for logs, text cleaning, and data validation, regex is often the right tool.",
      "：博客文章源文件、项目源码、Dockerfile 与 Compose": ": blog article source files, project source code, Dockerfile and Compose",
      "WebSocket 解决了这些痛点，提供全双工、低延迟的实时通信通道。": "WebSocket addresses these limitations by providing a full-duplex, low-latency channel for real-time communication.",
      "——飞书对消息频率有上限，同一机器人每秒最多 5 条。做批量推送时加个": "—Feishu limits each bot to 5 messages per second. Add a",
      "分支做测试和 Bug 修复，确认无误后合并到 main 并打 Tag。": "Use the branch for tests and bug fixes; once verified, merge it into main and create a tag.",
      "功能不是越多越好，砍掉与学习流无关的功能，比增加功能更难但也更有价值。": "More features are not always better. Removing features unrelated to the learning flow is harder than adding them, but more valuable.",
      "在函数内对参数求值得到的是指针大小，这是\"数组参数陷阱\"最常见的原因。": "Inside a function, evaluating the parameter yields the pointer size — the most common cause of the \"array parameter trap\".",
      "大表变更先拆成\"新增列 → 双写 → 校验 → 切换 → 删旧列\"多步": "First, break it down to \"New Zoom Double Zoom Verify Zoom Switch Zoom Delete Old Zone\"",
      "异常检测模块：阈值触发飞书机器人即时告警，含设备 ID、异常值、时间戳": "Anomalous detection module: threshold trigger Feishu bot instant warning, including equipment ID, anomaly, time stamp",
      "抓取函数独立成模块，返回统一的数据结构，解析失败抛异常而不是返回半成品": "Extract fetch functions into standalone modules that return a unified data structure; on parse failure, raise an exception instead of returning partial output.",
      "浏览器起始页，集成导航、天气、资源监控和搜索，支持主题切换与多端适配。": "A browser start page integrating navigation, weather, resource monitoring, and search, with theme switching and multi-device support.",
      "消息直接推送到所有人的手机，而且支持富文本卡片，看起来比纯文本专业得多": "Messages push directly to everyone's phone, and rich-text cards look far more professional than plain text.",
      "用 Canvas / SVG 处理动画、战斗反馈、结果分享与移动端布局": "Processing animation, combat feedback, results sharing and mobile-end layouts with Canvas / SVG",
      "网络请求必须有超时，否则一个连接挂起会拖住整个程序。asyncio 的": "Network requests need timeouts; a hung connection can hold up the entire program. asyncio’s",
      "部署脚本里显式校验必填变量，缺失就直接失败，而不是让应用带着空配置启动": "Validate required variables explicitly in the deployment script; fail fast when one is missing instead of starting the application with an empty configuration.",
      "重建容器。每个阶段都应该有明确输出，不能在中间失败后继续启动半套服务。": "Rebuild the container. Each phase should have a clear output and should not be able to continue to launch half the service package after an intermediate failure.",
      "，避免符号链接攻击；密钥类参数通过环境变量传入而不是命令行参数，防止被": ", avoid a symbolic link attack; key-type parameters are passed in instead of command line parameters through environment variables to prevent being attacked",
      "CSS 和 JS 可以单独 location 设置强缓存；HTML 设置": "CSS and JS can set strong caches in isolation; HTML settings",
      "Git 高级技巧：rebase、cherry-pick 与 bisect": "Git advanced skills: rebase, cherry-pick and bisect",
      "MySQL 每日全量备份 + 7 天滚动保留，备份完成后飞书推送确认消息": "MySQL Full Daily Backup + 7 Days of Rolling Save, Feishu Send confirmation message after backup complete",
      "Python 数据处理入门：pandas + matplotlib 实战": "Python Data Processing: pandas + matplotlib in Practice",
      "。缺点也很明显：单进程阻塞，任务多了不好管理，异常不处理就整个进程挂掉。": ". The drawbacks are obvious: one process blocks, many tasks become hard to manage, and an unhandled exception brings down the whole process.",
      "传递原始请求的 Host 和客户端 IP，否则后端服务获取不到真实来源。": "Forward the original Host and client IP, otherwise the backend cannot see the real source.",
      "应用代码可以秒级回滚，数据库结构一旦变更，回滚成本要高得多。我的原则是：": "Application code can be rolled back in seconds, but database schema changes cost much more to undo. My rule is:",
      "意味着任何原因退出都会自动重启。但有时不想这样——比如正常关机时不重启：": "This means any exit restarts automatically. But sometimes you don't want that — e.g., no restart on a clean shutdown:",
      "按缓冲区跳转。改配置和源码并排看、对比两个版本文件，分屏是最高效的方式。": "Jump between buffers. Viewing configuration and source side by side, or comparing two file versions, is most efficient in a split view.",
      "模糊层只加在需要\"透过玻璃\"的内容上，静态页面可以把模糊结果做成图片贴图": "The fuzzy layer is only added to what needs to be \"through the glass.\" The static page can make a picture of the fuzzy result.",
      "让普通用户进程绑定 80 端口，不需要完整 root。检查系统 cap：": "Let a regular user process bind port 80 without full root. Check the system capabilities:",
      "设备时钟漂移普遍存在，直接用设备时间戳做聚合会产生缺口和乱序。我的约定：": "Device clock drift is common; aggregating by raw device timestamps creates gaps and disorder. My convention:",
      "遥测数据和控制指令分开，后续做权限控制、重放和审计都会更清晰。消息中带上": "Separating telemetry data from control commands makes later access control, replay, and auditing cleaner. Messages carry",
      "）实现\"长缓存 + 即时更新\"。文本类资源开启 gzip，减少传输体积：": ") achieving \"long caching + instant updates\". Enable gzip for text resources to reduce transfer size:",
      "）而不是绝对位置，回放才不会跑偏；宏结束停留在下一行开头，方便连续回放。": ") instead of absolute location, playback does not miss; macro ends at the beginning of the next line and can be played back on a continuous basis.",
      "GitHub 的 Markdown 支持任务列表、表格、删除线、数学公式（": "GitHub Markdown supports task lists, tables, strikethrough, and math (",
      "Java Spring Boot 入门：构建第一个 RESTful API": "Getting started with Java Spring Boot: build your first RESTful API",
      "Spring Data JPA 会根据方法名自动生成查询，无需写 SQL。": "Spring Data JPA generates queries from method names, so you do not need to write SQL.",
      "容器默认没有资源上限，一个失控的进程会拖垮整台机器。生产配置里给每个服务设": "Containers have no resource limits by default, so a runaway process can take down the entire machine. In the production configuration, set each service's",
      "对于复杂的场景（接收事件、上传文件、获取用户信息等），建议用官方 SDK：": "For complex scenarios (receiving events, uploading files, accessing user information, etc.), it is recommended to use official SDK:",
      "用不上。把区分度高的列放前面，等值条件在前、范围条件在后，是两条基本经验。": "I can't. The high-segregation columns are placed ahead of them, and the equivalence conditions are first, last, and two basic lessons.",
      "让故障自动拉起，但无限重启会掩盖问题——配合告警在重启 N 次后通知人工。": "Automatic restarts can bring a failed service back, but unlimited restarts can hide the real problem. Pair them with alerts after N restarts so a person is notified.",
      "证书到期前 7 天 / 3 天 / 1 天分级飞书提醒，到期未续签紧急告警": "7 days / 3 days / 1 day Feishu alert before certificate expires, emergency alarm not renewed",
      "避免在滚动容器内放过多带 backdrop-filter 的卡片，必要时用": "Avoid the use of multiple backdrop-filter cards in a rolling container, if necessary",
      "默认不含非幂等请求，POST 等写操作不会自动重试，避免重复下单这类问题。": "The default does not include requests for non-synthetics, etc., and the POST writing operation does not automatically retry and avoids such problems as the next list.",
      "（二维表格）。日常工作中 90% 的操作都在 DataFrame 上完成。": "(two-dimensional table). 90% of the daily work is done on DataFrame.",
      "）——编译时开 ASan 能立刻抓到越界和 use-after-free：": ")-Asan can immediately catch crossing the border and use-after-free:",
      "| 规则 | 示例 | |------|------| | 使用复数名词 |": "| Rule | Example | |---|---| | Use plural nouns |",
      "使用 Spring Initializr 创建项目，或直接使用 Maven：": "Create the project with Spring Initializr, or use Maven directly:",
      "全面掌握 Linux 用户、组和文件权限管理，从基础命令到安全加固最佳实践。": "Master Linux user, group and file permission management, from basic commands to security-hardening best practices.",
      "函数指针把\"行为\"当作数据传递：注册回调、实现策略切换、驱动事件分发。语法上": "Function pointers pass \"behavior\" around as data: registering callbacks, implementing strategy switching and driving event dispatch. Syntactically,",
      "分层架构：Controller → Service → Repository": "Layered architecture: Controller → Service → Repository",
      "列出所有监听端口。排查\"服务起不来\"问题时，这三个命令的组合通常能快速定位。": "Lists all listening ports. The combination of these three commands is usually fast-tracked when searching for \"service failure\".",
      "同时发 1000 个请求会让下游雪崩，用 Semaphore 限制并发窗口：": "Sending 1,000 requests at once can overwhelm the downstream service; use a Semaphore to limit the concurrency window:",
      "当你不知道哪个提交引入了 bug 时，bisect 能通过二分查找快速定位。": "When you do not know which commit introduced a bug, bisect quickly locates it via binary search.",
      "攻击者在客户端和服务器之间拦截通信。HTTPS 通过证书验证防止 MITM。": "The attackers intercepted communications between clients and servers. HTTPS certifies to prevent miTM.",
      "是应用的只读模板，分层构建，每一层对应 Dockerfile 中的一条指令。": "is the applied read-only template, constructed in layers, each of which corresponds to a command in Dockerfile.",
      "查看状态。生产环境开启强制模式前先在宽松模式收集日志，避免直接把人锁在外面。": "Inspect the status. Before enabling enforcing mode in production, collect logs in permissive mode so you do not lock users out.",
      "消费者记录已处理的消息 id（Redis SETNX + 过期），窗口内去重": "Consumer records processed messages id (Redis SETNX + expired), heavy in the window",
      "用读者、图书、库存、借阅和预约几类核心实体，设计一个可扩展的图书馆管理系统。": "Design an extensible library management system around readers, books, inventory, borrowing and reservations.",
      "：大量 key 同一时间过期。解法：过期时间加随机偏移，多级缓存，限流降级。": ": many keys expire at the same time. Fix it with a random expiry offset, layered caching, and rate limiting with graceful degradation.",
      "Cookie 每次启动先做一次探活请求，失效时提前通知，而不是等到推送时才发现": "At every startup, first send a probe request with the Cookie; if it has expired, notify early instead of discovering it at push time.",
      "——大量缓存同时过期，请求全部打到数据库。解决方案：给过期时间加一个随机偏移。": "— many cache entries expire together and all requests hit the database. Add a random offset to each expiry time.",
      "主题切换、鼠标跟随光晕等增强效果放到 JS 能力检测之后，老环境只显示静态样式": "Theme switching, mouse following, etc., to the JS capability test, only static styles are shown in the old environment",
      "在 CSV 表格数据与 JSON 之间双向转换，支持带引号和逗号的复杂 CSV": "Two-way conversion between CSV table data and JSON to support complex CSV with quotations and commas",
      "审计：记录连接、订阅、发布事件，异常行为（频繁重连、越权 Topic）进入告警": "Audit: Recording of connections, subscriptions, publishing of events, unusual behaviour (frequent reconnections, overstepping of authority) into alarms",
      "掌握 Shell 脚本核心技巧，让日常运维工作自动化，效率提升 10 倍以上。": "Master core Shell scripting skills to automate daily operations and boost efficiency by more than 10x.",
      "背景色与文字色对比度在任何模式下都满足 WCAG AA，不能依赖模糊去弥补对比": "Background and text colour contrasts meet WCAG AA in any mode, and cannot rely on fuzzy to compensate for the contrast",
      "飞书机器人是自动化通知的终点站，花一个下午搞定它，后续所有自动化项目都能受益。": "A Feishu bot is the endpoint for automated notifications. Set it up once and every later automation project benefits.",
      "），但不盲目嵌套三层以上，独立资源就放顶层。动作类需求尽量映射为资源状态变化（": "However, without being blindly embedded on three or more levels, independent resources are placed at the top. Action type requirements are mapped as far as possible to change resource status (",
      "，某台后端短暂 5xx 或超时时，Nginx 会自动重试到下一台，对用户无感。": ", if one backend briefly returns 5xx or times out, Nginx retries the next one transparently.",
      "：使用 Mozilla SSL Configuration Generator": ": use the Mozilla SSL Configuration Generator",
      "Docker 容器的文件系统是临时的，容器删除数据就没了。持久化数据必须挂载卷：": "A Docker container filesystem is temporary; deleting the container deletes its data. Persistent data must be stored in a mounted volume:",
      "仪表盘运行在容器里，但需要观察宿主机。做法是在 Compose 中以只读方式挂载": "The dashboard runs in a container but must observe the host. Mount read-only in Compose:",
      "工具箱覆盖 JSON、编码、时间、正则、二维码、Markdown、图片和文本处理": "The toolbox covers JSON, encoding, time, regular expressions, QR codes, Markdown, image, and text processing",
      "开发环境和生产环境的配置需求完全不同。我用多个 Compose 文件叠加来解决：": "Development and production need different configuration. I use layered Compose files to handle the difference:",
      "或显式位域前，先确认目标平台的 ABI，否则直接解包协议结构体可能读到错位数据。": ", or before the visible domain, confirm the ABI of the target platform, otherwise the directly packaged protocol structure may read the incorrect data.",
      "所有服务配置 Git 版本管理，Dockerfile 源码化，支持一键重建与回滚": "All service configuration Git version management, Dockerfile source code, support one-key reconstruction and rollback",
      "梳理物联网工程专业的知识体系，从硬件到云端，构建一条从入门到实践的完整学习路线。": "A knowledge system for the engineering profession of combing the goods network, from hardware to clouds, to build a complete learning route from the entry point to the practice.",
      "每次备份生成后立刻做三项校验：文件完整性（SHA-256 清单）、数据库可读性（": "Three verifications are performed immediately after each backup generation: file integrity (SHA-256 list), database readability (",
      "深入理解 C 语言指针的本质，从内存模型、指针运算到复杂声明，彻底攻克指针难关。": "Understand the essence of C pointers—from memory models and pointer arithmetic to complex declarations—and master the difficult parts through practice.",
      "生产覆盖项：容器数量与资源限制、健康检查、日志轮转、镜像 tag、环境变量来源。": "Production overrides: container count and resource limits, health checks, log rotation, image tags, environment variable sources.",
      "系统掌握 Vim 编辑器的核心操作，从基础模式到高级技巧，大幅提升文本编辑效率。": "Master Vim’s core operations, from basic modes to advanced techniques, and greatly improve text-editing efficiency.",
      "：比 Cron 多依赖管理、随机延迟、日志隔离，适合系统级任务（备份、日志轮转）": ": unlike Cron, it adds dependency management, random delays and log isolation — suitable for system-level tasks (backups, log rotation).",
      "Redis 虽然简单，但用好了能解决 80% 的性能问题。这玩意儿值得花时间学透。": "Redis, though simple, can solve 80% of the performance problems. It's worth the time to learn.",
      "从选购 ECS 实例到系统初始化、安全加固，手把手教你搭建生产就绪的阿里云服务器。": "From choosing an ECS instance through system initialization and hardening, this guide walks through building a production-ready Aliyun server.",
      "博客以 Markdown 为源文件，后端动态生成文章列表、全文搜索、标签和相关文章": "The blog uses Markdown source files and dynamically generates article lists, full-text search, tags, and related articles",
      "对软件、硬件、数据、云服务或交互创作有想法，欢迎来聊一个具体问题或一起做个小实验。": "There are ideas about software, hardware, data, cloud services or interactive creations, and we would like to talk about a specific issue or do a small experiment together.",
      "并发任务需要收集结果并统计失败数，脚本结尾输出\"成功 N、失败 M\"并返回非零码；": "Concurrent tasks should collect results and count failures; at the end, print “success N, failed M” and return a non-zero code on failure.",
      "深入理解 JWT 的结构、签名原理和最佳实践，安全地在微服务架构中实现无状态认证。": "Understand JWT structure, signing principles, and best practices for implementing secure stateless authentication in a microservice architecture.",
      "用 epoch 秒避免时区歧义。字段缺失时消费者按契约校验并记录，而不是静默猜测。": "Use epoch seconds to avoid temporal ambiguity. When fields are missing, consumers are contractually verified and recorded, not silently speculated.",
      "这个小工具已经在服务器上稳定运行了一个多月，每天早上准时收到消息的感觉，真的很爽。": "This little tool has been running steadily on the server for over a month, and it feels really good to get the message on time every morning.",
      "遇到服务异常时，先确认自己在哪台机器、当前用户和目录，再看进程、端口、磁盘和日志。": "In case of service anomalies, identify the machine, current user and directory, and then look at the process, port, disk and log.",
      "非常重要——MySQL 第一次启动要做数据初始化，30 秒内健康检查必然失败。不加": "is critical — MySQL initializes its data on first start, so a health check within 30 seconds is guaranteed to fail. Without",
      "I2C：线少（SDA/SCL）、可挂多设备、速度较慢，适合温湿度、气压等低速率传感器": "I2C: Low-line (SDA/SCL), mounted multi-equipable, slow, suitable for low-speed sensors such as temperature humidity, air pressure, etc.",
      "Vite 和 Webpack 原生支持动态 import 的自动分割。配置分包策略：": "Automatic separation of Vite and Webpack originals supporting dynamic import. Configure Subcontracting Policy:",
      "——存储对象属性。比 String 存 JSON 更节省内存，可以单独读写某个字段。": "— stores object attributes. More memory-efficient than storing JSON in a String, and individual fields can be read or written alone.",
      "从基础语法到高级技巧，掌握 Markdown 写作的精髓，写出清晰、美观的技术文档。": "From basic grammar to advanced skills, master the essence of Markdown writing, and write clear and beautiful technical documents.",
      "在优化场景下尤其要避免：只取需要的列，能命中覆盖索引就减少回表。limit 深翻页（": "In optimization work, avoid unnecessary columns; a covering-index hit reduces table lookups. For deep pagination with LIMIT (",
      "安全不是\"设置了权限就完事\"，还要能发现异常。auditd 记录文件访问与命令执行，": "Security is not just setting permissions; you also need to detect anomalies. auditd records file access and command execution,",
      "设备离线时把数据缓存在本地，重连后补传。补传和实时数据混在一起会打乱顺序，所以消息带": "While offline, the device caches data locally and re-transmits after reconnecting. Mixed re-transmitted and real-time data would break ordering, so messages carry",
      "里加权重可以做成灰度：先放 10% 流量给新版本，观察错误率和响应时间，再逐步放量。": "add weights for canary releases: send 10% of traffic to the new version, watch error rates and response times, then ramp up gradually.",
      "，因为 merge commit 保留了真实的并行历史，回滚时也能整体还原一次协作。": ", because the merge commit preserves the true parallel history, and a rollback can also restore an entire collaboration at once.",
      "Cherry-pick 可以将一个或多个特定提交应用到当前分支，而不需要合并整个分支。": "Cherry-pick applies one or more specific commits to the current branch without merging the whole branch.",
      "WebSocket 帧有二进制和文本两种，业务消息我用 JSON 文本并带类型与序号：": "WebSocket frame is binary and text. Business message is in JSON text with type and serial number:",
      "{\"name\":\"佟伟成\",\"skills\":[\"Python\",\"Docker\"]}": "\"name\": \"Python\", \"Docker\" )",
      "——查询不存在的数据，缓存和数据库都没有，每次请求都穿透到数据库。解决方案：缓存空值。": "— a query for missing data finds nothing in either cache or database, so every request reaches the database. Cache empty values to stop this.",
      "传统的 Spring 应用需要大量 XML 配置，而 Spring Boot 提供了：": "Traditional Spring applications require extensive XML configuration, while Spring Boot provides:",
      "使用 ECDHE（椭圆曲线 Diffie-Hellman 临时密钥交换）生成共享密钥。": "Generates a shared key using ECDHE (an elliptical curve Diffie-Hellman temporary key exchange).",
      "卡片搭建器生成的 JSON 先在小范围测试再进模板，字段缺失或类型错误会直接发送失败。": "JSON, which is generated by the card builder, is tested on a small scale before entering the template. Missing or type errors in the field fail to send them directly.",
      "参数决定窗口标签取左还是右；跨月、跨年数据要先确认日历对齐是否符合业务语义。缺失时段用": "Parameters determine whether the window label is left or right; cross-month, multi-year data must first confirm whether calendar alignment corresponds to the business syntax. Missing period",
      "应用先查缓存，命中直接返回；未命中则查数据库，把结果写入缓存再返回。这是最经典的用法。": "The application checks the cache first and returns directly on a hit; on a miss it queries the database, writes the result to the cache, then returns. This is the classic usage pattern.",
      "效果：2.4MB 的 PNG 背景图变成 180KB 的 WebP，体积减少 92%。": "Effects: 2.4MB PNG background map becomes 180KB WebP, volume reduction of 92%.",
      "，最后才是普通前缀匹配。规则不是\"按写的位置执行\"，而是\"按优先级选出最终命中的块\"。": "and only then fall back to an ordinary prefix match. Rules are not applied by their written position; the final matching block is selected by priority.",
      "，逐个确认来源。上传/可写目录一律禁止 SUID，Web 服务进程使用低权限用户运行。": ", confirm source by source. All upload/writeable directories prohibit SUID, Web service processes from running with low permission users.",
      "Certificate Transparency（CT）记录所有公开证书，防止恶意签发：": "Certificate Transparency (CT) records all public certificates to prevent malicious issuance:",
      "Shell + Crontab 实现数据库定时备份、日志轮转、服务健康检查与飞书告警推送": "Shell + Crontab for scheduled database backups, log rotation, service health checks and Feishu alert pushes",
      "。MySQL 容器启动后还要几秒才能接受连接，这期间 Backend 连不上就报错退出。": "The MySQL container takes a few seconds after startup before it accepts connections; during that window the Backend fails to connect and exits with an error.",
      "从网页坦克对战和互动问答项目出发，复盘地图、状态、碰撞、计分、章节和移动端交互如何拆分。": "Starting from browser tank battles and interactive Q&A, review how to split maps, state, collisions, scoring, chapters, and mobile interactions.",
      "资源阈值告警：磁盘使用率 > 85%、内存 > 90% 触发飞书告警，含当前值与进程快照": "Resource threshold alert: disk usage > 85% or memory > 90% triggers a Feishu alert with current values and a process snapshot",
      "配合 Service Worker、响应式 CSS、主题切换和 RSS，让内容可持续更新": "Complement Service Worker, Responsive CSS, Theme Switch and RSS for sustainable updates",
      "AES-256-GCM 加密，带密码派生 (PBKDF2 10万次迭代)，数据不离开浏览器": "AES-256-GCM encryption with key derivation from a password (PBKDF2, 100,000 iterations); data never leaves the browser.",
      "Shell 脚本默认不会因为某条命令失败而退出，问题会被悄悄带过去。我所有脚本开头统一加：": "By default, a shell script does not exit when one command fails, so errors can pass silently. I put this at the start of every script:",
      "Topic 表达\"谁在说什么\"，Payload 表达\"具体内容\"。我给消息体定了统一规则：": "Topic says \"who's talking\" and Payload says \"specific.\" I made a uniform rule for the message:",
      "从零整理 Python 数据处理工具链，通过实际案例掌握数据清洗、分析和可视化的基本方法。": "The Python data processing tool chain is organized from zero to capture the basic methods of data cleansing, analysis and visualization through actual cases.",
      "字体优化后，First Contentful Paint 从 2.8 秒降到 1.6 秒。": "After optimizing the fonts, First Contentful Paint dropped from 2.8 seconds to 1.6 seconds.",
      "授权（ACL）：按设备限制可订阅和可发布的 Topic，设备 A 不能订阅设备 B 的数据": "Authorization (ACL): Limit Subscription and Releaseable Topic by Device, Device A cannot subscribe to Device B data",
      "握手完成后，连接从 HTTP 升级到 WebSocket 协议，此后使用二进制帧进行通信。": "After the handshake, the connection upgrades from HTTP to WebSocket and communicates using binary frames.",
      "用 Canvas、SVG 和原生 JavaScript 实验战斗、叙事、计分与移动端交互。": "Fight, narrative, score and move end with Canvas, SVG and native JavaScript experiments.",
      "自动化是一步一步做起来的。先让脚本跑起来，再让它按时跑，最后让它稳稳地跑。每一步都是进步。": "Automation is done step by step. Let the script run, then let it run, and finally let it run smoothly. Every step is progress.",
      "ECharts 动态折线图 + 仪表盘组件，支持 24h / 7d / 30d 时间范围切换": "ECharts line charts and dashboard components with 24h / 7d / 30d range switching",
      "玻璃效果最容易牺牲可读性。半透明背景叠加任意页面内容时，文字对比度会动态变化。我的检查清单：": "The glass effects are the most vulnerable to readability. The text contrast changes dynamically when a semi-transparent background is stacked with any page content. My checklist:",
      "表示去掉组的写权限与其他所有权限（文件 644、目录 755）。服务器上把 umask 设为": "This indicates the removal of group writing privileges and all other privileges (documents 644, table of contents 755). Set umask on the server as",
      "计算文本的 SHA-1 / SHA-256 / SHA-512 哈希值，全部在浏览器本地完成": "Computes SHA-1 / SHA-256 / SHA-512 hashes of your text, all locally in the browser.",
      "转换工具通常不是纯函数，它会读取字体、创建锁文件并写入临时目录。服务端要为每次任务设置独立的": "The converter is usually not a pure function: it reads fonts, creates lock files, and writes to a temp directory. The server must give each task its own",
      "这几类命令覆盖了大多数第一轮排查。每一步先读状态，再决定是否重启或修改配置，避免把症状扩大。": "These types of orders cover most of the first round of screening. Read the state at each step before deciding whether to restart or modify the configuration to avoid widening the symptoms.",
      "都会卡住整个事件循环，表现是\"其他请求全部超时\"。排查方法：看哪个协程长时间不让出控制权，用": "Any of these will block the entire event loop, so “all other requests time out.” To troubleshoot, find the coroutine that holds the event loop too long and use",
      "默认 1M 不够用。每个坑都花了不少时间排查，现在已经成为我配置 Nginx 的条件反射了。": "Default 1M is not enough. It took a lot of time to sort out every pit, and now it's a condition for me to configure Nginx.",
      "）。ORM 的异步模式对连接池和事务语义要求更高，先读文档再改代码，避免\"能跑但连接泄漏\"。": "). ORM async modes demand more from connection pools and transaction semantics — read the docs before changing code, to avoid \"it runs but leaks connections\".",
      "MQTT Broker 中转设备数据，Python 后端订阅 Topic 实时写入 MySQL": "MQTT Broker Transit Device Data, Python backend subscription to Topic write MySQL in real time",
      "type=ALL 时，要么加索引，要么确认这个表确实需要全扫（小表、聚合表）。Extra 里的": "With type=ALL, either add an index or confirm the table genuinely needs a full scan (small tables, aggregate tables). In Extra,",
      "| 场景 | 推荐方案 | |------|----------| | 个人脚本、临时任务 |": "| - | - | - | - | - | personal scripts, temporary assignments",
      "——如果你的服务器 IP 固定，一定加上白名单，防止 App Secret 泄露后被恶意调用。": "— if your server IP is fixed, definitely add a whitelist to prevent malicious calls after an App Secret leak.",
      "从主机指标、容器状态、证书期限和访问日志四个角度，搭建一个不依赖复杂平台的个人服务监控仪表盘。": "Build a personal service monitoring dashboard independent of complex platforms, from four angles: host metrics, container status, certificate expiry and access logs.",
      "从协议握手到实战应用，掌握 WebSocket 实时通信技术，构建即时通讯和实时数据推送系统。": "From the protocol handshake to production use, learn WebSocket real-time communication and build chat and live data-push systems.",
      "在 64 位系统上，地址是 8 字节（64 位）的无符号整数。栈上的变量从高地址向低地址增长。": "On the 64-bit system, the address is an unsigned integer of 8 bytes (64 bit). The variable on the stack increases from a high address to a low address.",
      "如果命中率低于 90%，说明缓存策略需要调整——可能是过期时间太短，也可能是热点数据没覆盖到。": "If the hit rate is less than 90%, it means that the cache strategy needs to be adjusted -- it may be too short for expiry, or it may be hotspot data not covered.",
      "性能优化不难，难的是养成习惯。从现在开始，每次提交前跑一遍 Lighthouse，不绿不发版。": "Performance optimization is not hard; forming the habit is. From now on, run Lighthouse before every commit — no release if it is not green.",
      "恢复时先停止 Compose 服务，再还原源码和命名卷，然后加载镜像，确认外部网络存在，最后用": "To restore: stop the Compose services first, then restore the source code and named volumes, load the images, confirm the external network exists, and finally use",
      "足够拦住大多数笔误，复杂的 RFC 5322 正则反而会产生大量误报；URL 解析建议用标准库": "Enough to stop most of the clerical errors, and complex RFC 5322 will result in a large number of errors; URL solver recommends standard libraries",
      "Redis 不是简单的 key-value 存储，它有五种核心数据类型，每种都有特定的适用场景：": "Redis is not a simple key-value storage. It has five core data types, each with a specific context:",
      "传感器数据天然带时间轴，最容易出错的是时区。统一把时间存成 UTC，展示时再转本地时区；重采样用": "Sensor data naturally carries a time axis, and time zones are the most common source of errors. Store all times in UTC and convert to local time only for display; for resampling use",
      "传输加密：TLS 终结在 Broker 或 Nginx，证书由 Let's Encrypt 签发": "Transfer encryption: TLS terminated at Broker or Nginx, certificate issued by Let's Encrypt",
      "在理解指针之前，必须先理解内存。计算机内存可以看作一个巨大的字节数组，每个字节有一个唯一的地址。": "Before understanding pointers, understand memory first. Think of computer memory as a huge byte array in which every byte has a unique address.",
      "Nginx 配置是重中之重。我设置了 gzip 压缩、静态资源缓存、HTTPS 自动跳转，以及通过": "Nginx configuration is a top priority. I set gzip compression, static resource caches, HTTPS automatic jumps, and through",
      "借阅表最常见的三个查询是：某读者当前借了哪些、某书（库存）当前状态、逾期排行。为它们设计联合索引：": "The three most common queries on the borrowing table are: what a reader currently has, the current status of a book (copy), and the overdue ranking. Design composite indexes for them:",
      "后标记当前 bad、某个历史 good，Git 用二分法缩小到引入问题的提交。配合脚本可以全自动：": "mark the current commit bad and an older one good; Git binary-searches down to the introducing commit. Fully automatic with a script:",
      "或 restore 到临时库）、恢复脚本语法。校验失败要发告警，而不是等灾难发生才发现备份是坏的。": "or restore to a scratch database, and check the restore script's syntax. Failures must raise an alert — don't wait for a disaster to discover the backup is bad.",
      "日志聚合分析：Nginx 访问日志定期解析，统计 PV/UV、响应状态码分布、慢请求 Top 10": "Log Aggregation Analysis: Nginx Access Log Periodic Analysis, Statistics PV/UV, Response Status Code Distribution, Slow Request Top 10",
      "每个正则都应该有测试用例：正常输入、边界输入（空串、超长、特殊字符）、恶意输入（灾难性回溯样本）。": "Every regex should have test cases: normal input, boundary input (empty string, overly long, special characters) and malicious input (catastrophic-backtracking samples).",
      "每条路由配一条验收命令（curl 期望状态码），改配置后自动跑一遍路由测试，比人工点页面可靠得多。": "Each route is equipped with an acceptance order (curl desired state code) and is configured to run the route test automatically, which is much more reliable than the manual point page.",
      "用 Python 与 Shell 处理监控、备份、日志和告警，飞书 Webhook 负责实时通知。": "Use Python and Shell for monitoring, backups, logs, and alerts; a Feishu Webhook handles real-time notifications.",
      "通过宿主 /proc 文件系统读取 CPU / 内存 / 磁盘实时指标，纯前端 Canvas 渲染": "Read real-time CPU / memory / disk metrics from the host /proc filesystem and render them with frontend Canvas.",
      "ACL 的关键是\"最小权限 + 拒绝默认\"：没有显式授权的 Topic 一律拒绝，比逐条放行更安全。": "The key to ACLs is least privilege plus deny-by-default: reject every topic without explicit authorization; this is safer than allowlisting topics one by one.",
      "。一个好的 API 让开发者不看文档也能凭直觉使用。遵循这些规范，你的 API 将更专业、更易维护。": "A good API lets developers use it intuitively without reading the docs. Follow these conventions and your API will be more professional and maintainable.",
      "单线程事件循环天然安全，但多 worker 部署时要改用 Redis Pub/Sub 做跨进程广播。": "A single-threaded event loop is naturally safe, but with multiple workers, switch to Redis Pub/Sub for cross-process broadcast.",
      "定位。C 的规则是\"谁分配谁释放，释放后置 NULL\"，配合代码审查，比事后 debug 高效得多。": "Positioning. C's rule is, \"Who assigns who releases, releases the NULL,\" with code review, is much more efficient than debug afterwards.",
      "就能启动整套环境。对个人开发者来说，Compose 的复杂度刚刚好——Kubernetes 太重了。": "and start the whole environment. For a solo developer, Compose has the right level of complexity; Kubernetes would be overkill.",
      "并行发起多个协程，比串行快一个数量级；但注意 gather 的一个协程抛异常会取消其他协程，需要时用": "Parallel launch of multiple courses, one order of magnitude faster than a string; however, note that one of the co-ordinates abnormally cancels the other and uses it when needed",
      "深入理解 HTTPS 的工作原理，TLS 握手过程，以及证书链的验证机制，构建安全的 Web 应用。": "Understand how HTTPS works, including the TLS handshake and certificate-chain validation, and build secure web applications.",
      "第一次访问后，后续访问几乎全是 304（Not Modified），页面在 200 毫秒内完成加载。": "After the first visit, subsequent requests are almost all 304 (Not Modified), and the page loads within 200 ms.",
      "解析规则用命名分组后，字段增减不影响代码；匹配失败的行单独收集，用于发现日志格式变化而不是静默丢掉。": "Parsing rules after naming groups does not affect code additions or subtractions; failed lines are collected separately to detect changes in log format rather than being lost silently.",
      "：最简单，系统自带，适合\"固定时间执行一次\"的脚本；但只支持分钟级精确，错过执行不补跑，依赖系统时区": ": simplest, built into the OS — good for \"run once at a fixed time\" scripts; minute-level precision only, missed runs are not re-executed, depends on system timezone",
      "：进程内调度，支持 cron 表达式、间隔、日期触发，可以持久化任务并补跑；适合跑在常驻服务里的任务": ": in-process scheduling with cron/interval/date triggers; persists tasks and can backfill missed runs — fits tasks inside long-running services",
      "# 标题 **粗体** *斜体* - 列表项 1 - 列表项 2 `行内代码` ``` 代码块 ```": "# Title ** Bold** * Italic* - List Item 1 - List Item 2 `Line Code ' ```Code Block ' . `",
      "Docker Compose 是多容器部署的事实标准，掌握这些最佳实践，从开发到生产的体验会顺畅很多。": "Docker Compose is the de facto standard for multi-container deployment. Master these best practices to make the journey from development to production much smoother.",
      "HTTPS 通过 TLS（Transport Layer Security）协议解决了这些问题，提供：": "HTTPS solves these problems through TLS (Operations layer Security) agreements, providing:",
      "从 LinguaStep 的词汇、语法、复习和统计模块出发，讨论如何把内容组织成真正可持续的学习体验。": "From LinguaStep ' s vocabulary, grammar, refresher and statistical modules, discussions were held on how content could be organized into a truly sustainable learning experience.",
      "图片优化后，Lighthouse 评分直接从 42 跳到 58，总加载体积从 12MB 降到 3MB。": "The picture optimizes that the Lighthouse rating goes directly from 42 to 58 and the total load is down from 12MB to 3MB.",
      "正则表达式是\"写一次，受益终生\"的技能。通过这 30 个案例，你应该能在日常工作中灵活运用正则。记住：": "Regular expressions are a \"write once, benefit for life\" skill. Through these 30 examples, you should be able to use regex flexibly in daily work. Remember:",
      "第一层加密后存远程，第二层进 Git 仓库，第三层通过脚本重建。分层之后备份体积和恢复时间都大幅下降。": "The first layer is encrypted and stored remotely, the second layer is in the Git warehouse and the third layer is rebuilt through scripts. Backup volumes and recovery times decreased significantly after the stratification.",
      "这条链路把嵌入式、网络协议、后端 API、数据库和数据可视化串了起来，是一个很适合逐步演进的综合项目。": "The link, which links embedded, network protocols, back-end API, database and data visualization, is an integrated project that is well suited to evolution.",
      "——任何人拿到你的 Webhook URL 都能往群里发消息。如果泄露了，立刻在群里移除机器人重新添加。": "— anyone with your Webhook URL can post to the group. If it leaks, remove the bot from the group and re-add it immediately.",
      "传统的 HTTP 协议是请求-响应模式，服务器无法主动向客户端推送数据。为了模拟实时通信，早期方案包括：": "Traditional HTTP uses a request-response model, so the server cannot push data to the client on its own. Early ways to approximate real-time communication included:",
      "刚开始用 Docker 的时候，我的项目结构很简单：一个 Flask 容器，一个 MySQL 容器，手动": "When I first used Docker, my project structure was simple: one Flask container, one MySQL container, manually",
      "只保证容器启动先后，不保证服务可用，所以应用侧要写重试逻辑，或用 healthcheck 门控真正就绪：": "depends_on only controls container start order; it does not mean the service is ready. Add retry logic in the application or gate traffic with a healthcheck:",
      "深入解析 MQTT 协议的设计哲学、核心概念和工作原理，理解为什么它成为物联网领域最广泛使用的通信协议。": "In-depth analysis of the design philosophy, core concepts and working principles of the MQTT protocol and understanding why it has become the most widely used communication protocol in the field of IoT.",
      "用 Certbot 与 Shell 自动完成证书申请、续签、部署和到期提醒，保持 HTTPS 持续可用。": "Keep HTTPS in service with Certbot and Shell automatically completes the certificate application, renews, deploys and expires alarms.",
      "）、OR 连接非索引条件。改写方式：函数运算改成范围查询，类型保持统一，前导通配考虑全文索引或反向匹配。": "), OR conditions on non-indexed fields. Rewrite function expressions as range predicates, keep types consistent, and consider a full-text index or reverse matching for leading wildcards.",
      "：查询不存在的 key 时，缓存和库都查不到，恶意请求直接打库。解法：缓存空值（带短过期）或布隆过滤器。": "When a key does not exist, neither the cache nor the database has a value, so malicious requests hit the database. Fix: cache empty values with a short TTL or use a Bloom filter.",
      "为什么只备份 HTML 不够，以及如何同时保存 Compose、镜像、源码、命名卷、网络元数据和校验清单。": "Why backing up only HTML is not enough, and how to preserve Compose files, images, source code, named volumes, network metadata, and validation manifests.",
      "交互场景的价值是把\"通知\"升级成\"处置\"：收到告警直接在卡片里点\"重启服务\"\"确认修复\"，减少上下文切换。": "The value of the interactive scene is to upgrade \"notification\" to \"disposal\": the caller received directly to the card point \"restart service\" confirming recovery, reducing context switching.",
      "从一个静态主页出发，把博客、仪表盘、工具箱和多个 API 服务组织成可观察、可维护、可恢复的个人技术平台。": "From a static home page, blogs, dashboards, toolboxes and a number of API services are organized into visible, sustainable and recoverable individual technology platforms.",
      "在部分浏览器或低性能设备上不支持或表现异常。降级方案不是\"没有效果就行\"，而是让页面在降级后仍然完整可用：": "Some browsers or low-end devices may not support this or may render it poorly. A fallback is not “let it have no effect”; it keeps the page fully usable when the feature is unavailable:",
      "我在 Git 服务器上配了一个 post-receive Hook，每次有人推送代码，飞书群自动收到通知：": "I configured a post-receive hook on the Git server so the Feishu group receives a notification whenever code is pushed:",
      "整理服务器运维中最常用的 Linux 命令，从文件操作、进程管理到网络诊断，构建一个实用的命令速查工具箱。": "Collapse the Linux commands most commonly used in server traffic, from file handling, process management to web diagnostic, and build a practical command quick check kit.",
      "个人项目不必一开始就拆成几十个服务。边界清晰、启动可复现、数据不随容器丢失，往往比服务数量更能体现工程质量。": "A personal project does not need to be split into dozens of services from day one. Clear boundaries, reproducible startup, and data that survives containers often demonstrate engineering quality better than the service count.",
      "从零开始使用 Spring Boot 构建 RESTful API，涵盖项目初始化、控制器、数据访问和测试。": "Start from scratch with Spring Boot to build RESTful API to cover project initialization, controller, data access and testing.",
      "以思维导图的形式梳理 Docker 生态的核心概念和工具链，从镜像构建到容器编排，构建一套完整的个人技术栈。": "A mind map of the Docker ecosystem and its toolchain—from image builds to container orchestration—forming a complete personal tech stack.",
      "如何利用 Nginx 反向代理在单个服务器上用同一个端口管理多个 Web 服务，包含实际配置和常见踩坑记录。": "How to use Nginx as a reverse proxy to manage multiple Web services on one server through a single port, with practical configuration and common pitfalls.",
      "性能回归同样适用：脚本跑基准并比较阈值，bisect 找到\"哪次提交让接口从 80ms 涨到 300ms\"。": "The same applies to performance regressions: run a benchmark in a script, compare it with the threshold, and use bisect to find which commit raised an endpoint from 80 ms to 300 ms.",
      "深入分析 Apple 设计语言中的玻璃质感美学，拆解其 CSS 实现原理，并将其应用到个人网站的全部页面中。": "In-depth analysis of glass sensory aesthetics in Apple design languages, decompose their CSS realization principles and apply them to all pages of the personal website.",
      "深入理解 Python 异步编程模型，掌握 async/await 语法和 asyncio 框架的实战技巧。": "Understand Python’s asynchronous programming model and gain practical command of async/await and the asyncio framework.",
      "记录 Word、PPT、Excel 与 PDF 转换服务的接口设计、临时文件管理、超时控制和容器化部署思路。": "This article records the API design, temporary-file handling, timeout control, and containerized deployment approach for Word, PPT, Excel, and PDF conversion services.",
      "），表现层决定如何呈现。这样关掉音效、开启弱反馈模式都不会影响核心逻辑，测试也只需要断言事件是否按预期触发。": "), and the presentation layer decides how to render it. This way, turning off sound or enabling the low-feedback mode doesn't affect core logic, and tests only need to assert whether events fired as expected.",
      "LCP 通常是一张图片、一段标题或首屏文本。优化路径按顺序：压缩并给图片设置宽高（避免 CLS）→ 关键图片用": "LCP is usually an image, a heading, or above-the-fold text. Optimize in order: compress images and set width/height (avoid CLS) → preload critical images with",
      "Let's Encrypt + Certbot 实现 SSL 证书自动申请与续签，Nginx 热重载无停机更新": "Let's Encrypt + Certbot automate SSL certificate issuance and renewal; Nginx hot reload enables zero-downtime updates.",
      "做限流：按 IP 或按用户维度限速，超出直接返回 429。日志格式加请求耗时和上游状态，排查慢请求时才有依据。": "Implement rate limiting: throttle by IP or user, return 429 when the limit is exceeded, and include request latency and upstream status in logs to diagnose slow requests.",
      "回到暂存区再重新分块提交。Commit Message 里除了标题，还要写清楚\"为什么\"，而不是重复代码本身：": "Go back to the reserve and re-submit it. In addition to the title, Commit Message writes \"Why\" instead of repeating the code itself:",
      "多人 / 发布节奏明显的项目：保留 develop 与 release 分支，但功能分支合并前必须通过 CI。": "For projects with several contributors or a clear release cadence, keep develop and release branches, but require CI to pass before merging feature branches.",
      "学习记录是产品的核心资产，模型要能回答三类问题：某知识点练了几次、正确率如何、下次该复习什么。我用的最小模型：": "Learning records are the core asset of the product, and models answer three types of questions: how many times a knowledge point has been practiced, what is the correct rate and what should be reviewed next. My smallest model:",
      "实操建议：每种总线各做一个最小实验（读一个设备、打印原始值），记录时序图和踩坑点，之后接新传感器就有套路可循。": "Practical advice: build one minimal experiment for each bus (read one device and print the raw value), record a timing diagram and the pitfalls, and you will have a repeatable pattern when adding a new sensor.",
      "我养成一个习惯：一个提交只做一件事，并且能在标题里说清楚。改需求的同时夹带格式化、重命名和配置变更，会直接毁掉": "I have a habit of submitting only one thing and being able to say it clearly in the title. Changed demand with formatting, renaming and configuration changes, which can be destroyed directly",
      "掌握 RESTful API 设计规范，从 URL 命名、HTTP 方法到版本控制和分页，构建专业的 API。": "Master RESTful API design conventions—from URL naming and HTTP methods to versioning and pagination—to build professional APIs.",
      "服务端不要只信 LWT，还要结合\"最近收到数据的时间\"做二次判断，避免把\"设备静默（数据无变化）\"误判为离线。": "The server should not rely on LWT alone. Also check the time since the last data message, so a silent device with an unchanged value is not mistaken for an offline device.",
      "这样做的好处是：即使 Nginx 被攻破，攻击者也无法直接访问数据库——因为没有连接到 backend 网络。": "The benefit is that even if Nginx is compromised, an attacker cannot access the database directly because Nginx is not connected to the backend network.",
      "：Backend、Redis、MySQL 之间通信。数据库和缓存完全与外部隔离，只有 Backend 能访问。": "Backend, Redis, and MySQL communicate here. The database and cache are completely isolated from the outside; only the backend can access them.",
      "：热点 key 过期瞬间大量请求同时回源。解法：互斥锁重建缓存（只让一个请求查库），或逻辑过期 + 异步刷新。": "When a hot key expires, many requests can fall through to the database at once. Rebuild the cache under a lock so only one request queries the database, or use logical expiry with asynchronous refresh.",
      "Docker Compose 编排 6 个独立服务容器，Nginx 反向代理统一入口，单端口 80 承载全部流量": "Docker Compose orchestrates 6 independent service containers, with Nginx as a unified reverse-proxy entry point; a single port 80 carries all traffic.",
      "SQL 优化是一个持续的过程。从索引设计开始，用 EXPLAIN 验证每个查询，分析慢查询日志，逐步优化。记住：": "SQL optimization is an ongoing process. Start with index design, validate each query with EXPLAIN, analyze the slow-query log, and optimize incrementally. Remember:",
      "配上 systemd 服务文件，这就是一个生产级的备份方案：每天自动备份、自动清理、异常自动重启、日志完整可查。": "With a systemd service file, this becomes a production-grade backup plan: daily backups, automatic cleanup, restart on failure and complete searchable logs.",
      "（把 RS256 换成 HS256 用公钥当密钥）要在解析时显式锁定算法，不能信任 token 头部的算法声明。": "(For example, an attacker may replace RS256 with HS256 and use a public key as the secret.) Lock the accepted algorithm explicitly during parsing; never trust the algorithm named in the token header.",
      "：客户端异常断连时，Broker 自动向指定主题发布遗嘱，通知其他设备\"这家伙掉线了\"。这在设备监控中非常实用。": ": when a client disconnects unexpectedly, the broker publishes a last-will message to a designated topic so other devices know that it went offline. This is very useful for device monitoring.",
      "MQTT 协议本身不包含安全机制，安全全靠 Broker 配置。我给 EMQX/Mosquitto 至少做四件事：": "The MQTT protocol itself does not provide security; security depends on broker configuration. For EMQX/Mosquitto I always do at least four things:",
      "Merge 会产生额外的合并提交，污染提交历史。Rebase 则是将分支的提交\"移植\"到目标分支上，保持线性历史。": "Merge creates extra merge commits and pollutes the commit history. Rebase, on the other hand, transplants the branch's commits",
      "``` 嵌套要小心。用 markdownlint 检查格式一致性，CI 里跑一遍，比人工 review 格式可靠。": "Be careful with nested ``` fences. Run markdownlint locally and in CI to check formatting consistently; it is more reliable than a manual format review.",
      "——半透明背景、柔和的模糊效果、微妙的边框光泽。这种风格被称为\"液态玻璃\"（Glassmorphism），核心是用": "— Translucent background, soft and vague effects, delicate borderlines. It's called \"Glassmorphism.\" The core is used.",
      "从最初只会 git push 到掌握分支策略、代码审查和 CI/CD 集成，记录 Git 工作流的学习和演进过程。": "From the initial guit push to mastering branch strategy, code review and CI/CD integration, documenting the learning and evolution of Git workflow.",
      "外部系统永远不可控，能控制的只有自己的边界。把\"抓取\"和\"格式化\"分开，任何一个环节变更，都只需要改对应的适配层。": "External systems are never fully under your control; you can control only your own boundary. Keep fetching separate from formatting, so a change in either step requires updating only its adapter layer.",
      "学习 Vim 的最好方法就是强制自己使用。开始时可能很慢，但一旦形成肌肉记忆，你的编辑效率将远超传统编辑器。记住：": "The best way to learn Vim is to force yourself to use it. It may be slow at first, but once muscle memory forms, your editing efficiency will far surpass traditional editors. Remember:",
      "将 API 请求转发到 Flask 容器。配合 Certbot 自动续签证书，整个站点的 HTTPS 完全自动化。": "Forward API requests to the Flask container. Together with Certbot auto-renewal, HTTPS is fully automated across the site.",
      "机器人只是消息出口，真正要做的是把入口和出口接起来：备份完成、证书续签、部署成功、异常告警都走同一套通知服务（封装": "The bot is only the message outlet. The real work is connecting inputs and outputs: backup completion, certificate renewal, successful deployments, and incident alerts should all flow through one notification service (wrapping",
      "用 Flask 接收 ESP32 的 MQTT 数据，写入 MySQL，并以 ECharts 展示环境指标与趋势。": "To receive MQTT data from ESP32, write MySQL and display environmental indicators and trends in ECharts.",
      "让多个 worker 不会抢到同一任务。转换完成后删除临时文件并更新状态，任务超时由 worker 守护进程回收。": "SKIP LOCKED keeps multiple workers from grabbing the same task. After conversion, delete temp files and update status; timed-out tasks are reclaimed by the worker daemon.",
      "遇到过几个典型问题：静态资源路径写错导致 CSS 404、WebSocket 连接需要额外配置升级头、上传大文件时": "I ran into several typical issues: a wrong static-resource path caused CSS 404s, WebSocket needed an Upgrade-header configuration, and large uploads exposed another set of limits.",
      "事件计算鼠标在卡片内的相对位置，用 CSS 变量动态设置径向渐变的高光中心点，实现类似 Spotlight 的效果。": "The event computes the mouse's relative position inside the card and dynamically sets the radial-gradient highlight center via CSS variables, achieving a Spotlight-like effect.",
      "加入学校实验室的项目组后，问题接踵而至。多人同时在 main 分支上改代码，冲突频繁，历史记录一团糟。于是我们引入了": "After joining a project team in the university lab, issues surfaced one after another. Several people were editing the main branch at once, conflicts were frequent, and the history became messy. We therefore introduced",
      "同一套代码在三个环境跑，最容易出问题的是配置漂移：本地连本地数据库，生产却连着一台只有运维知道的服务器。我的做法是：": "The same code runs in three environments; configuration drift is the usual failure point: local uses a local database, while production may point to a server known only to operations. My approach is:",
      "。记住这三个原则，你的技术文档就能达到专业水准。Markdown 的简洁性正是它的力量所在——让你专注于内容而非格式。": "Remember these three principles and your technical documentation will reach a professional level. Markdown's simplicity is its strength — letting you focus on content rather than format.",
      "单人 / 双人项目：用主干开发（trunk-based），短生命周期功能分支 + 每日合并，冲突暴露得越早越容易解决。": "Single / Double-person project: Trunk-based, short life-cycle functional branch + combined daily, conflicts become easier to resolve as soon as they become visible.",
      "在我们的物联平台中，MQTT Broker 用 EMQX 搭建，支持百万级并发连接。传感器通过 ESP32 上报数据到": "In our IoT platform, the MQTT broker runs on EMQX and supports up to a million concurrent connections. Sensors report data through ESP32 to",
      "定时任务解决了\"按时执行\"，但没解决\"挂了怎么办\"。systemd 能自动重启崩溃的服务，还能管理日志、设置资源限制。": "Scheduled tasks solve “run on time” but not “what if the process crashes?” systemd can restart failed services automatically, manage their logs, and apply resource limits.",
      "把规则集中在函数里，输入变化时只需要改一处；每次运行前记录原始行数与清洗后行数，任何一步把数据\"洗没了\"都能立刻发现。": "Keep the rules in a function so a change has one place to update. Before each run, record the input row count and the cleaned row count; if a step “cleans away” all the data, you will see it immediately.",
      "的目标地址可以直接写容器名加端口，因为 Docker 的 DNS 会自动解析。这样即使容器重启后 IP 变了也不影响。": "you can write the name of the container with the port because the DNS of Docker will automatically resolve. This doesn't affect even if the IP changes after the container is restarted.",
      "）而不是 offset 深翻，避免大偏移性能问题。所有列表参数服务端校验并设置上限，防止恶意超大 page_size。": ") rather than scanning deeply with offset, avoiding the performance cost of large offsets. Validate every list parameter on the server and cap page_size to prevent maliciously large requests.",
      "Shell 脚本是运维工程师的瑞士军刀。掌握这些技巧，你的运维效率将得到质的飞跃。从今天开始，把重复性工作都写成脚本吧！": "Shell scripts are an operations engineer's Swiss Army knife. These techniques turn repetitive work into reliable automation.",
      "利用 Python 编写定时脚本，每天自动抓取课表数据和天气信息，通过企业微信机器人推送到手机，从此告别每天手动查课表。": "Use Python to schedule a daily script that fetches timetable and weather data and pushes it to your phone through an enterprise messaging bot—no more manual timetable checks.",
      "Docker 不仅解决了部署问题，更重要的是改变了我的开发思维——每个服务都是独立的、可替换的模块，架构也因此变得更清晰。": "Docker didn't just solve deployment — more importantly it changed my development mindset: every service is an independent, replaceable module, and the architecture becomes clearer as a result.",
      "REST（Representational State Transfer）是基于 HTTP 协议的架构风格，核心原则包括：": "REST (Representational State Transfer) is an architectural style based on HTTP. Its core principles include:",
      "WebSocket 是实现实时通信的利器。掌握其原理和使用方法，你就能构建出即时聊天、实时协作、实时监控等各种强大的应用。": "WebSocket is the medium for real-time communication. You can build powerful applications like instant chat, real-time collaboration, real-time monitoring.",
      "。发布消息时按频道推送给在线连接，离线用户的消息用\"最近 N 条\"缓存，重连后补发。连接管理器要处理并发：Python 的": "When publishing, push messages to online connections by channel; offline users' messages are cached as \"last N\" and re-sent on reconnect. The connection manager must handle concurrency: Python's",
      "以 ESP32、MQTT、Python API 和可视化页面为例，拆解物联网数据采集链路中的主题设计、可靠性、存储和告警。": "In the example of the ESP32, MQTT, Python API and visualization pages, the theme design, reliability, storage and alarm in the networked data acquisition links of dismantling objects.",
      "整体流程很简单：Python 脚本 → 抓取课表 API → 调用天气 API → 格式化消息 → 推送到企业微信机器人。": "The flow is simple: Python script → timetable API → weather API → format the message → push it to the enterprise messaging bot.",
      "正则表达式（Regex）是处理文本的瑞士军刀。无论是日志分析、数据验证、爬虫提取还是代码重构，正则表达式都能让你事半功倍。": "Regular expressions (Regex) are a Swiss Army knife for text processing. Whether analyzing logs, validating data, extracting crawler results or refactoring code, Regex makes the work far more efficient.",
      "五段后，既可以手动执行，也可以接入 GitHub Actions。自动化不是为了省几条命令，而是让每次发布都遵循同一套检查。": "five stages, runnable manually or via GitHub Actions. Automation isn't about saving a few commands — it ensures every release follows the same checks.",
      "布局偏移让用户点错按钮、读错行。主要来源：无尺寸图片、动态插入内容、字体加载导致的字形变化。修复方式：图片/视频固定宽高比（": "Layout shift makes users click the wrong button or misread lines. Main causes: unsized images, dynamically inserted content, font-load glyph changes. Fixes: fixed aspect-ratio for images/video (",
      "或事件循环的慢任务回调定位。异步不是银弹，选型标准是\"IO 密集 + 高并发等待\"，CPU 密集和简单脚本用同步反而更清晰。": "or the slow task position of the cycle of events. Step is not a silver bullet, the selection criterion is \"IO-intensity + high and long wait,\" and CPU-intensity and simple scripts are better synchronized.",
      "数据处理的入门门槛不高，但精通需要大量实践。建议从自己的日常数据入手——课表分析、消费记录统计，练手的同时也能解决实际问题。": "The entry threshold for data processing is low, but mastery requires extensive practice. It is recommended that we start with our own daily data — table analysis, consumption record statistics — and practice while also addressing practical problems.",
      "：Nginx 和 Backend 之间通信。用户请求 → Nginx → Backend，外部无法直接访问 Backend。": "Nginx and Backend communicate here. User request → Nginx → Backend; Backend is not directly exposed to the outside.",
      "在阿里云 ECS 上运行个人网站、博客、工具箱和 API 服务，使用 Nginx 与 Docker Compose 统一入口。": "Runs personal websites, blogs, toolboxes and API services on the Aliyun ECS, using the Nginx and Docker Compose common access.",
      "实际项目里我会给每个 location 写一条 curl 验收命令，验证 URL 被路由到预期后端，而不是靠\"感觉应该匹配\"。": "In a real project I write one curl acceptance command for each location to verify that the URL reaches the intended backend, rather than relying on “it should match.”",
      "或运行时注入；敏感值单独管理。镜像固定 tag（不要用 latest 漂移），升级前先备份卷，出问题可以快速回退到上一个镜像。": "or injected at runtime; sensitive values are managed separately. Pin image tags (no latest drift); back up volumes before upgrades so you can quickly roll back to the previous image.",
      "掌握 Git 三大高级武器：rebase 保持历史整洁，cherry-pick 精准移植提交，bisect 快速定位 bug。": "mastery of Git's three high-level weapons: rebase keep history clean, cherry-pick precision transplant submission, bisect rapid positioning bug.",
      "用户点击按钮后，飞书会向你的回调地址发送事件。你需要在后端接收并处理这些事件——这里需要用到飞书 SDK 来做事件订阅和回复。": "After a user clicks a button, Feishu sends an event to your callback URL. Receive and process it on the backend with the Feishu SDK.",
      "记录如何用液态玻璃视觉、主题切换、响应式布局、渐进动画和 Service Worker，把一个技术档案站做成可持续使用的产品。": "This article records how liquid-glass visuals, theme switching, responsive layout, progressive animation, and Service Worker turned a technology archive site into a product that can be used continuously.",
      "里释放资源（关闭连接、清理临时文件），不要吞掉 CancelledError。Web 服务场景，超时和取消是并发正确性的底线。": "It releases resources (closing connections, cleaning temporary files) and does not swallow Canceled Error. Web Service scenes, time out and cancellations are the bottom line for simultaneous correctness.",
      "APScheduler 解决了 schedule 的所有痛点：支持多线程/多进程、持久化任务、灵活的触发器。我现在的项目全用它。": "APScheduler addresses the main shortcomings of a bare schedule loop: it supports threads and processes, persistent jobs, and flexible triggers. I use it across my current projects.",
      "diff 块展示修改前后，比文字描述\"改了什么\"直观得多；配置示例尽量给出\"最小可用 + 生产建议\"两档，避免读者照抄过时参数。": "A diff block showing before/after is far more intuitive than text describing \"what changed\"; config examples should offer two tiers — \"minimal working + production recommendation\" — so readers don't copy outdated parameters verbatim.",
      "做生产者/消费者模式：一个协程生产任务，N 个 worker 消费，天然支持限流与批处理。爬虫、消息推送、批量转换都是这个模式。": "Use a producer/consumer pattern: one coroutine produces tasks and N workers consume them, naturally supporting rate limiting and batching. Crawlers, message delivery and batch conversion all fit this pattern.",
      "有些程序只需要绑定低端口、读日志等单一特权，用 root 运行浪费且危险。Linux capabilities 可以把特权拆细：": "Some programs need only a single privilege, such as binding a low port or reading logs; running them as root is wasteful and dangerous. Linux capabilities let you split privileges into smaller grants:",
      "每帧创建大量新对象（子弹、粒子、伤害数字）会触发频繁 GC，表现就是\"越打越卡\"。对象池预先分配一组可复用的实例，用完放回池中：": "Creating many new objects per frame (bullets, particles, damage numbers) triggers frequent GC, which shows up as \"getting laggier as you fight\". An object pool pre-allocates a set of reusable instances and returns them to the pool when done:",
      "用户关闭非必要动画，对低端设备减少粒子数量。视觉设计最终要服务于内容，让用户更快找到项目、文章和工具，而不是让页面自己成为负担。": "Users can turn off non-essential animations; reduce particle counts on low-end devices. Visual design ultimately serves the content, helping users find projects, articles, and tools faster — the page itself must not become a burden.",
      "组件只引用语义变量，不写死具体值。换主题时只需覆盖一层变量，全站 6 个页面同步变化，不会出现\"首页改了、博客还是旧的\"的漂移。": "Components should reference semantic variables rather than hard-coded values. Changing a theme then means overriding one variable layer, so all six pages update together instead of the homepage changing while the blog remains old.",
      "验证是否命中；索引不是越多越好，写放大和占用空间都要权衡。统计页（按日借阅量、分类排行）可以读按日聚合表，避免每次扫描全部历史。": "Verify whether the index is hit; more indexes aren't always better — write amplification and storage overhead must be weighed. Statistics pages (daily borrowing counts, category rankings) can read daily aggregate tables instead of scanning all history each time.",
      "。Type 包括 feat（新功能）、fix（修复）、docs（文档）、refactor（重构）等。一开始觉得麻烦，养成习惯后发现": "Type includes feat (new feature), fix (bug fix), docs (documentation), refactor, etc. It felt troublesome at first, but once it became a habit I found",
      "但允许 ETag 校验，保证内容更新能及时看到，同时省掉重复下载。缓存与版本号一起用，才不会出现\"改了代码用户还看旧页面\"的尴尬。": "However, Etag is allowed to verify and ensure that updates are visible in a timely manner while avoiding double downloads. Caches are used with version numbers to avoid the awkwardness of changing code users looking at old pages.",
      "启动。随着项目变复杂——加了 Redis、Nginx、Celery Worker、Flower 监控——手动管理六个容器简直噩梦。": "started. As the project grew — adding Redis, Nginx, Celery Worker and Flower monitoring — manually managing six containers became a nightmare.",
      "或小整数类型，字符串列按需转 category，时间列统一 datetime64；处理完的中间 DataFrame 及时释放。观察": "or small integer types; string columns convert to category as needed; time columns uniformly use datetime64; release intermediate DataFrames promptly. Observe",
      "这样\"换环境\"变成了\"换一组环境变量\"，而不是改代码。回滚时也只需要切回旧配置和旧镜像，不会出现\"新代码 + 旧配置\"的混合状态。": "This way \"changing environments\" becomes \"swapping a set of environment variables\" instead of changing code. Rolling back only requires switching back to the old config and old image, avoiding the mixed state of \"new code + old config\".",
      "，边缘用低对比度边框表现厚度，交互层则根据鼠标位置更新径向高光。高光应该是反馈，不应该遮住文字；在低性能设备上也要允许浏览器降级。": ", the edges convey thickness with low-contrast borders, and the interaction layer updates a radial highlight based on mouse position. Highlights are feedback and must not cover text; on low-end devices, allow the browser to degrade gracefully.",
      "对每个候选提交执行测试脚本，返回 0 表示 good、非 0 表示 bad。即使不知道具体改动，也能在几十次提交中定位到精确的一行。": "Run a test script for each candidate commit: exit 0 = good, non-zero = bad. Even without knowing the change, you can pinpoint the exact commit among dozens.",
      "小流量项目的蓝绿部署很简单：新旧两个容器或两套文件目录同时存在，Nginx 上游先指向旧版本验证无误，再切到新版本；出问题立刻切回。": "Blue-green deployment for low-traffic projects is simple: the old and new containers (or two sets of directories) coexist; Nginx upstream points to the old version until verified, then switches to the new one; any problem and it switches back immediately.",
      "练习方法是给自己出题：\"删掉括号里的内容\"\"把两个参数调换\"\"把函数名替换成常量名\"，逼自己用操作符组合解决，而不是按很多次删除键。": "Practice by setting yourself tasks: \"delete the text inside the brackets\", \"swap the two arguments\", \"rename the function to a constant\" — force yourself to solve them with operator combinations rather than pressing delete many times.",
      "中文字体动辄几 MB，默认情况下浏览器在字体下载完成前不渲染文字——这就是 FOIT（Flash of Invisible Text）。": "Chinese fonts are a few MBs, and by default the browser does not render text until the font download is completed - this is FOIT.",
      "在 I/O 密集型应用中，大部分时间花在等待网络响应、文件读取或数据库查询上。传统的同步代码在等待时会阻塞整个线程，浪费 CPU 资源。": "In I/O intensive applications, most of the time is spent waiting for web responses, file reading or database queries. Traditional sync codes block the entire thread while waiting and waste CPU resources.",
      "提前加载 → 首屏字体只加载需要的字重 → 必要内容走服务端渲染而不是等 JS 执行。图片用 WebP/AVIF，懒加载只用于首屏以下。": "preload → load only the font weights needed above the fold → render essential content server-side instead of waiting for JS. Use WebP/AVIF; lazy-load only below the fold.",
      "摸清单机 QPS 上限，生产只用到 30% 以内留余量。缓存是加速手段不是保险：数据库的索引和查询优化仍然要做，缓存失效后系统不能雪崩。": "First measure the QPS ceiling of a single instance and keep production below 30% to leave headroom. Caching accelerates reads but is not a safety net: indexes and query optimization still matter, and cache misses must not trigger a stampede.",
      "正则最常见的用途是从半结构化文本中提取字段。Nginx 访问日志一行包含 IP、时间、请求、状态、耗时，用命名分组解析比按位置切片可靠：": "A common use of regular expressions is extracting fields from semi-structured text. One Nginx access-log line contains the IP, time, request, status, and duration; named groups are more reliable than slicing by position:",
      "先写恢复文档再写备份脚本，顺序反过来最容易出现\"备份了但恢复不了\"：文档按新机器视角写清每一步命令、路径和验证方法，脚本只是把文档自动化。": "Write to restore the document and write back-up scripts, which in turn is the most likely \"back-up but not restored\": The document sets out the command, path and authentication method for each step by the new machine, and the script only automates the document.",
      "当你在一台服务器上同时跑着个人博客、API 服务、仪表盘、文档站和监控面板时，每个服务都想用 80/443 端口。但端口只有一个，怎么办？": "When you run a personal blog, API services, a dashboard, a documentation site and a monitoring panel on one server, every service wants to use port 80/443. But there is only one port — what do you do?",
      "当功能继续增加时，可以把解析、格式化、发送和调度拆成四个纯函数，并为周次规则和节假日写表格驱动测试。小脚本也可以拥有清晰的边界和可维护性。": "As the feature set grows, split parsing, formatting, sending, and scheduling into four pure functions and add table-driven tests for week-number rules and holidays. Even a small script can have clear boundaries and remain maintainable.",
      "或 python-magic 探测真实类型，白名单校验；Office 宏、恶意文档在隔离环境（容器）里转换，网络策略禁止转换进程访问外网。": "Alternatively, use python-magic to detect the real file type and validate it against an allowlist. Convert Office macros and untrusted documents inside an isolated container, with network policy blocking the conversion process from reaching the internet.",
      "数据库查询优化是后端开发的核心技能。一个优化的查询可能比未优化的快数百倍。本文以 MySQL 为例，系统讲解 SQL 查询优化的核心方法。": "Database query optimization is a core backend skill. An optimized query can be hundreds of times faster than an unoptimized one. Using MySQL as the example, this article systematically explains the core methods of SQL query optimization.",
      "物联网是一个跨学科领域，涉及嵌入式硬件、通信协议、后端服务和前端展示四个层面。作为物联网工程专业的学生，我花了很长时间才理清这张知识地图。": "IoT is an interdisciplinary area involving embedded hardware, communication protocols, back-end services and front-end demonstrations at four levels. It took me a long time to sort out this map of knowledge as a student in the engineering field.",
      "）、广告和弹窗预留空间、表格列宽稳定、动画用 transform 而不是 margin/top。CLS 目标低于 0.1，移动端尤其敏感。": "), reserve space for ads and popups, stabilize table column widths, animate with transform instead of margin/top. Keep CLS below 0.1 — especially on mobile.",
      "），但不同平台渲染有差异：换行规则（GFM 硬换行 vs CommonMark）、HTML 嵌入、emoji 支持。写文档前确认目标平台，": "), but rendering differs across platforms: line-break rules (GFM hard breaks vs CommonMark), HTML embedding, emoji support. Confirm the target platform before writing,",
      "。把遥测、状态和控制分开，权限和订阅范围更容易管理。消息体使用明确的 JSON schema，并保留版本号，设备固件升级时可以兼容旧消费者。": "Separating telemetry, status and control makes permissions and subscription scopes easier to manage. Message bodies use an explicit JSON schema with a version number, so firmware upgrades can stay compatible with older consumers.",
      "和根文件系统，并在应用层明确区分“容器路径”和“宿主机路径”。读取失败时返回空值而不是让整个接口崩溃，页面也要把“暂无数据”与“0”区分开。": "and the root filesystem, with the application layer clearly distinguishing \"container path\" from \"host path\". On read failure, return an empty value instead of crashing the whole API, and the page should distinguish \"no data\" from \"0\".",
      "我维护一份\"路由清单\"：路径、后端容器、是否需要鉴权、缓存策略。Nginx 配置与清单一一对应，避免随手加 location 导致路由混乱：": "I maintain a \"routing manifest\": path, backend container, auth required, cache policy. Nginx config mirrors the manifest one-to-one, preventing ad-hoc location blocks from making routing a mess:",
      "纯文本消息能干活，但不够专业。飞书的消息卡片（Message Card）支持标题、多列布局、彩色标记、按钮等，非常适合做监控面板和日报推送。": "Pure text messages work, but they are not professional. The message card for Feishu (Message Card) supports titles, multiple layouts, colour tags, buttons, etc., and is well suited for monitoring panels and daily reports.",
      "罚款流水单独建表：谁、哪次借阅、金额、状态（待缴/已缴）、收款人。对账时按流水汇总，而不是每次现场重算——规则一旦变更，历史流水依然可追溯。": "Fine records get their own table: who, which borrowing, amount, status (unpaid/paid), collector. Reconciliation aggregates from these records instead of recalculating on the spot — even if rules change, historical records stay traceable.",
      "）：Broker 在组内负载均衡分发，适合把设备数据分给多个 worker 消费。共享订阅与普通订阅语义不同，使用前先在文档里确认版本支持。": "): the broker distributes work across the group, which is useful for sending device data to multiple workers. Shared subscriptions have different semantics from normal subscriptions; confirm version support in the documentation before using them.",
      "MQTT 解决的是\"设备与服务器之间的发布订阅\"，但完整链路还需要 DNS、TCP 连接、TLS 加密和固件升级。设备入网流程我一般这样设计：": "MQTT solves publish/subscribe between devices and servers, but the full path also needs DNS, TCP, TLS encryption and firmware updates. I usually design device onboarding like this:",
      "Python 的异步编程随着 async/await 语法的引入变得更加直观和强大。本文将带你从概念到实战，全面掌握 Python 异步编程。": "Python async programming became more intuitive and powerful with async/await. This article takes you from concepts to practice and covers the subject end to end.",
      "一个 Compose 文件跑所有环境，早晚会堆满互相冲突的配置。我用分层：基础文件定义服务、镜像、网络；覆盖文件只改环境差异，部署时按序叠加：": "Running every environment from one Compose file eventually piles up conflicting configs. I use layering: the base file defines services, images and networks; override files only change environment differences and are stacked in order at deploy time:",
      "从购买云服务器到完整部署前端、后端、数据库和 Nginx 反向代理的全流程实战记录，涵盖 Docker Compose、安全加固和自动化部署。": "A complete hands-on record from purchasing a cloud server to deploying the frontend, backend, database and Nginx reverse proxy, including Docker Compose, security hardening and automated deployment.",
      "恢复脚本必须是幂等且面向新机器：拉镜像、恢复卷、重建网络、启动服务、跑健康检查。演练中发现的文档断档（\"当时怎么配的来着\"）会被补进部署手册。": "Restore scripts must be idempotent and portable to a new machine: pull images, restore volumes, recreate networks, start services, and run health checks. Any documentation gaps found during the drill (\"How was this configured again?\") are added to the deployment runbook.",
      "我踩过的坑：一开始买了低配 + 按量计费，跑文件转换时内存被打满触发 OOM，后来改成固定规格 + 监控告警，成本可控且不会半夜自己扩容烧钱。": "Pitfalls I hit: I started with a low-spec + pay-as-you-go instance; running file conversions exhausted memory and triggered OOM. I later switched to a fixed spec + monitoring alerts — costs are controllable and it won't auto-scale at 2 AM and burn money.",
      "课表数据来自学校教务系统的内部 API，通过携带 Cookie 模拟登录后请求。天气数据使用和风天气的免费 API，每天有足够的免费调用额度。": "Timetable data comes from the school's internal academic-affairs API, requested after a simulated login with cookies. Weather data uses QWeather's free API, which provides enough free daily quota.",
      "这个设计解决两个问题：身份可信（证书由 CA 签名）和密钥保密（只有双方能算出会话密钥）。中间人即使看到握手消息，也拿不到私钥，无法解密会话。": "This design solves two problems: trustworthy identity (the certificate is CA-signed) and key confidentiality (only the two endpoints can derive the session key). Even if a man-in-the-middle sees the handshake, they cannot obtain the private key or decrypt the session.",
      "从选购配置到安全加固，一台生产就绪的阿里云 ECS 服务器就此完成。记住：安全的服务器是一个持续维护的过程，定期更新、监控和备份是运维的基本功。": "From choosing the instance configuration to hardening the server, the production-ready Aliyun ECS setup is complete. Remember: server security is an ongoing maintenance process; regular updates, monitoring, and backups are fundamental operations work.",
      "关键不是记住某张分支流程图，而是问清楚三个问题：哪条分支始终可部署？新功能从哪里拉出来？紧急修复走什么路径？只要这三条有明确答案，团队就不会乱。": "The key is not memorizing one branch flowchart, but answering three questions: which branch is always deployable, where new features branch from, and which path an urgent fix takes. If these answers are explicit, the team stays organized.",
      "日志与临时文件不纳入备份：按天压缩保留 7 天即可，节省的空间留给真正的数据。备份目录和线上数据目录分开放，防止\"磁盘写满\"同时干掉数据和备份。": "Exclude logs and temporary files from backups; compress daily and keep them for seven days, leaving the saved space for real data. Keep the backup directory separate from the live-data directory so a full disk cannot destroy both data and backups.",
      "MySQL InnoDB 使用 B+ 树作为索引结构。B+ 树是一种平衡多路搜索树，所有数据存储在叶子节点，叶子节点之间用链表连接，方便范围查询。": "MySQL InnoDB uses the B+ tree as an index structure. The B+ tree is a balanced multi-road search tree, with all data stored at the leaf node, which is linked by a chain table between the leaf nodes to facilitate a range search.",
      "从 3 秒到 300 毫秒，并没有用到什么黑科技——图片压缩、代码分割、缓存策略、CDN，每一项都是基本功。把这六项都做好，你的网站也差不到哪去。": "From 3 seconds to 300 milliseconds, no black technology is used -- graphic compression, code division, cache strategy, CDN, each of which is fundamental. You can't go anywhere near your website.",
      "会让浏览器对元素背后的整块画面做实时高斯模糊，代价是 GPU 合成压力。页面里同时存在多个大面积模糊卡片时，滚动和动画可能明显掉帧。我的优化手段：": "makes the browser apply real-time Gaussian blur to the entire backdrop behind the element, at the cost of GPU compositing pressure. When a page has multiple large blurred cards at once, scrolling and animations may visibly drop frames. My optimization approaches:",
      "在现代 Web 应用中，实时通信已经成为标配功能。无论是在线聊天、股票行情、协同编辑还是游戏对战，WebSocket 都是实现实时通信的核心技术。": "In modern web applications, real-time communication is a standard capability. Whether for online chat, stock quotes, collaborative editing, or games, WebSocket is a core technology for delivering it.",
      "指针是 C 语言中最强大也最令人畏惧的特性。理解指针不仅仅是记住语法，更是理解计算机内存模型的过程。本文将带你从底层原理到实战应用，彻底掌握指针。": "Pointers are the most powerful and most feared feature of C. Understanding pointers is not just memorizing syntax — it's a process of understanding the computer's memory model. This article takes you from fundamentals to practical use, mastering pointers completely.",
      "是 MQTT 的精髓。QoS 0 最多一次，适合传感器高频上报；QoS 1 至少一次，保证送达但可能重复；QoS 2 恰好一次，用于关键指令下发。": "It is the essence of MQTT. QoS 0 at most once, suitable for sensor HF reporting; QoS 1 at least once, guaranteed delivery but possibly repeated; and QoS 2 exactly once, used for the dispatch of key commands.",
      "显式指定 Asia/Shanghai，并且所有与\"今天\"相关的判断都基于同一个基准时间，避免日期边界处出现 23:59 与 00:01 的不一致。": "explicitly set Asia/Shanghai so every \"today\" check uses the same reference time, avoiding 23:59 vs 00:01 mismatches at day boundaries.",
      "阿里云 ECS（Elastic Compute Service）是国内使用最广泛的云服务器。本文将带你从选购到部署，完成一台生产就绪服务器的搭建。": "Alibaba Cloud ECS (Elastic Compute Service) is the most widely used cloud server in China. This article walks you from selection to deployment, building a production-ready server.",
      "| 方式 | 用途 | 示例 | |------|------|------| | Named Volume | 数据库、缓存等需要持久化的数据 |": "| Type | Use case | Example | |------|------|------| | Named Volume | Data that must persist, e.g. databases, caches |",
      "从第一次 SSH 登录服务器时的茫然，到现在能熟练排查问题，Linux 命令行已经成为我日常使用频率最高的工具。本文整理那些几乎每天都会用到的命令。": "From the confusion of my first SSH login to comfortably troubleshooting issues today, the Linux command line has become my most-used daily tool. This article collects the commands I use almost every day.",
      "可用性测试不必正规，找三个目标用户各做五个任务，观察卡在哪里，比自我感觉有价值得多。设计系统的价值在于：好看的设计可以被复制，好用的交互需要被验证。": "Usability testing doesn't need to be formal — having three target users each do five tasks and watching where they get stuck is far more valuable than self-assessment. The value of a design system: good-looking designs can be copied, but usable interactions must be verified.",
      "拿到慢 SQL 后按三步走：看执行计划（EXPLAIN）、确认表数据规模与索引、修改后重新压测。优化前后记录耗时与扫描行数，而不是凭感觉说\"快了\"。": "When you get the slow SQL, you move in three steps: look at the implementation plan (EXPLAIN), confirm the scale and indexing of the table data, and re-press it with modifications. Optimizing pre- and post-record time and scan lines instead of saying \"fast.\"",
      "统计页从 attempt 聚合正确率与次数，从 review 生成今日任务。把\"内容\"和\"行为\"分开建模，之后加题型、加学习模式都不会推翻数据结构。": "The statistics page aggregates accuracy and counts from attempts, while reviews generate today’s tasks. Modeling content and behavior separately means adding question types or learning modes will not overturn the data model.",
      "：大多数场景用 Cache-Aside 就够了，逻辑简单，容错性好。Write-Through 适合对数据实时性要求高的场景，但会稍微拖慢写入速度。": ": Most scenarios use Cache-Aside enough, simple logic and tolerance. Write-Through suits the scenes that require high real-time data, but slows down the writing speed.",
      "REST 的核心是资源（名词）+ HTTP 方法（动词）。设计 API 前先列出业务中的资源与关系：用户、订单、图书、借阅记录。资源嵌套表达从属关系（": "The core of REST is resources (nouns) + HTTP methods (verbs). Before designing an API, list the resources and relationships in the business: users, orders, books, borrowing records. Nesting expresses ownership (",
      "一个好的 API 设计能极大提升开发体验和系统可维护性。本文将深入讲解 RESTful API 的设计规范，涵盖从 URL 设计到安全策略的方方面面。": "A good API design greatly enhances development experience and system maintenance. This paper will provide an in-depth description of the design specifications for RESTful API, covering all aspects from URL design to security strategy.",
      "标题避免空泛（\"使用方法\"不如\"如何配置超时与重试\"）；段落开头一句给结论，后面展开解释。一屏放不下的长文，用目录锚点 + 分节，让浏览器能快速定位。": "Avoid vague titles (“How to use” is weaker than “How to configure timeouts and retries”). Put the conclusion in the first sentence of each paragraph, then explain it. For long articles that do not fit on one screen, use a table of contents with anchors so readers can jump to the right section.",
      "用于乱序与去重：客户端记录已处理序号，重复消息跳过；服务端广播时按频道组织，订阅者只收自己关注的消息。消息格式与版本号一致管理，客户端升级兼容旧字段。": "seq handles out-of-order delivery and deduplication: clients record processed sequence numbers and skip duplicates; the server broadcasts per channel and subscribers receive only relevant messages. Manage message format with version numbers so client upgrades stay compatible with old fields.",
      "继续把容器发布、指标采集、数据处理、模型调用和设备实验沉淀成组件与方法：目标是把每个项目都做成可复现、可度量、可改进的作品，而不是一次性的 Demo。": "Keep turning container releases, metric collection, data processing, model calls, and device experiments into reusable components and methods. The goal is for every project to be reproducible, measurable, and improvable—not a one-off demo.",
      "检查压缩包，再生成 SHA-256 清单。证书私钥、环境变量和备份本身只允许 root 读取；如果要把备份下载到本地或对象存储，还要额外加密并限制访问。": "Verify the archive and regenerate the SHA-256 manifest. Only root may read certificate private keys, environment variables, and the backup itself. If the backup is downloaded locally or to object storage, encrypt it and restrict access as well.",
      "词条至少包含释义、例句、标签、难度和来源；语法点需要规则、例外、对比例句和练习。内容与页面分离后，可以持续补充数据，也可以让不同练习模式复用同一份内容。": "Each entry should include a definition, example sentence, tags, difficulty, and source; grammar points need rules, exceptions, contrastive examples, and exercises. Separating content from the page makes it easy to add data and reuse the same content in different practice modes.",
      "掌握这三个命令，你的 Git 水平将提升一个层次。记住：rebase 用于保持历史整洁，cherry-pick 用于紧急修复，bisect 用于疑难排错。": "Mastering these three commands, your Git level will raise a level. Remember: rebase used to keep history clean, cherry-pick used for emergency repairs, bisect used for difficult scheduling.",
      "管理多服务编排，Nginx 作为唯一流量入口做反向代理。前端是静态页面，后端用 Python Flask，数据库选 MySQL，外加 Redis 做缓存。": "Manage the multi-service stack with Nginx as the single traffic entry point and reverse proxy. Serve static frontend pages, run the backend with Python Flask, use MySQL for the database, and add Redis for caching.",
      "MQTT 的 QoS 1 保证\"至少一次\"，意味着网络抖动时同一消息可能被投递多次。如果消费者直接 INSERT，数据库就会出现重复行。幂等处理有几种方案：": "MQTT QoS 1 guarantees “at least once”, so the same message may be delivered more than once when the network is unstable. If the consumer inserts directly, duplicate rows appear. There are several ways to make the operation idempotent:",
      "异步编程是 Python 性能优化的利器。掌握了 async/await，你就能写出高效、可扩展的异步应用。从 Web 爬虫到 API 服务，异步无处不在。": "Async programming is a powerful way to improve Python performance. With async/await you can write efficient, scalable applications; from web crawlers to API services, asynchronous work is everywhere.",
      "归档而不是按接收顺序覆盖。设备状态机（未激活/在线/离线/固件更新）由心跳 + LWT 驱动，离线超时后自动标记，避免\"设备没电\"被误读成\"测量值为 0\"。": "Archive instead of overwriting by receive order. A device state machine (inactive/online/offline/firmware-updating) driven by heartbeat + LWT marks devices offline after timeout, so \"battery dead\" is never misread as \"value is 0\".",
      "拥有一台云服务器是每个开发者的成人礼。今年六月，我在阿里云购入了一台 ECS 实例，决定把我的个人项目全部迁移上去。本文记录从零开始部署全栈服务的完整过程。": "Owning a cloud server is a rite of passage for every developer. This June, I bought an ECS instance on Aliyun and decided to migrate all my personal projects onto it. This article documents the complete process of deploying full-stack services from scratch.",
      "指针是 C 语言的灵魂。掌握指针，你就掌握了直接操控内存的能力。这需要时间和实践，但一旦理解，一切都变得清晰。记住：指针就是地址，解引用就是访问该地址的值。": "Pointers are the soul of C. Mastering them gives you direct control over memory. It takes time and practice, but once the model clicks, everything becomes clearer. Remember: a pointer is an address, and dereferencing reads the value at that address.",
      "文档与图片格式互转（DOC / DOCX / PDF / PNG / JPG / WebP），由服务器端 LibreOffice 完成，单文件最大 50MB": "Convert document and image formats (DOC / DOCX / PDF / PNG / JPG / WebP) with server-side LibreOffice; single files up to 50 MB.",
      "。 技术路线从 C、数据结构和硬件通信出发，延伸到 Python / Java、Web、数据应用与云端部署。 始终把想法做成可访问、可维护、可继续迭代的作品。": ". My technical path starts with C, data structures, and hardware communication, then extends to Python / Java, Web, data applications, and cloud deployment. I turn ideas into accessible, maintainable work that can keep evolving.",
      "动画尽量使用 transform 和 opacity，避免反复触发布局；IntersectionObserver 负责按需显示内容，减少首屏同时启动的效果。对": "Prefer transform and opacity for animation to avoid repeated layout; use IntersectionObserver to reveal content on demand and reduce work during the first render. For",
      "接入层只做三件事：终止 TLS、按照路径分流、记录访问日志。后端服务不直接暴露公网端口，所有客户端请求都先经过统一的安全响应头、大小限制和日志策略。代理时保留": "The access layer does only three things: terminate TLS, route by path, and log access. Backend services never expose public ports; every client request passes unified security headers, size limits, and logging policies. When proxying, preserve",
      "玻璃效果依赖一堆视觉变量：背景透明度、模糊半径、边框透明度、圆角、阴影、动效时长。我把它们全部收敛为 CSS 自定义属性，按\"基础 → 语义 → 组件\"分层：": "The glass effects depend on a number of visual variables: background transparency, blurred radius, border transparency, round angles, shadows, motion time. I've constricted them all into CSS-defined attributes, layered by \"basic semantics, components\":",
      "）。通知服务统一处理模板、频率限制、重试和审计，业务代码只调接口，不直接拼 Webhook。这样新增通知场景只加模板，不用改发送逻辑——自动化体系才真正成型。": "). The notification service handles templates, rate limits, retries and auditing uniformly; business code only calls the interface instead of assembling Webhooks directly. Adding a new notification scenario just means adding a template without touching the sending logic — that is when the automation system truly takes shape.",
      "= 属主 rwx、属组 r-x、其他无权限。目录权限设计是重点：Web 上传目录只需属主 w，其他账号 r-x；数据目录不要 777，写权限只给需要的用户或组。": "= owner rwx, group r-x, others nothing. Directory permission design matters: web upload dirs need only owner-w, others r-x; never 777 on data directories — give write access only to users or groups that need it.",
      "AI 可以帮助生成例句、给出改写建议和发现内容重复，但不能直接成为事实来源。生成内容需要校验、标注来源和人工抽查；涉及学习评价时，要清楚区分模型建议与确定答案。": "AI can help generate example sentences, suggest rewrites and detect duplicate content, but it must not become a direct source of facts. Generated content needs validation, source annotation and human spot checks; when it comes to learning evaluation, clearly distinguish model suggestions from definitive answers.",
      "MQTT（Message Queuing Telemetry Transport）诞生于 1999 年，最初用于石油管道传感器的数据传输。它的设计目标非常明确：": "MQTT (Message Queuing Telemetry Transport) was created in 1999 for data transmission from oil-pipeline sensors. Its design goals are clear:",
      "确认慢查询，再设计联合索引。常见查询是按读者、状态和时间筛选借阅，索引顺序应与真实过滤条件匹配。统计页面可以使用缓存，但库存和借阅这类关键数据要保证事务一致性。": "Confirm the slow queries first, then design composite indexes. Common queries filter borrowings by reader, status and time, so the index column order should match the real filter conditions. Statistics pages can use caching, but critical data like inventory and borrowings must guarantee transactional consistency.",
      "从 C、数据结构和计算机组成起步，补齐内存、进程、网络与硬件通信基础；大一结束已能用 C 独立完成数据结构和串口通信小项目，建立起“先理解底层，再写上层”的习惯。": "Started with C, data structures, and computer organization, building a foundation in memory, processes, networking, and hardware communication. By the end of freshman year I could independently complete small data-structure and serial-communication projects in C, establishing the habit of \"understanding the low level first, then writing the upper layer.\"",
      "错误信息要可行动：\"请求失败\"是废话，\"网络不可用，请检查后重试\"才有用。空态也要设计：没有数据时告诉用户下一步去哪（\"还没有收藏，去逛逛\"），而不是留一块空白。": "Error messages should tell users what to do: “Request failed” is useless, while “Network unavailable; check your connection and try again” is actionable. Empty states need guidance too: tell users where to go next (“No saved items yet—browse projects”) instead of leaving a blank space.",
      "定时任务最怕\"上次没跑完，这次又触发\"。两个防护：任务级别锁（Redis SETNX 或文件锁）和任务级别幂等（按日期/批次去重）。例如备份脚本只允许同时一个实例：": "Scheduled tasks fear \"previous run not finished, this one fires again\". Two guards: task-level locking (Redis SETNX or a file lock) and task-level idempotency (dedupe by date/batch). For example, a backup script allows only one instance at a time:",
      "效果：首屏 JavaScript 从 1.2MB 降到 180KB（只加载当前路由需要的代码），Largest Contentful Paint 降到 1.1 秒。": "Result: first-screen JavaScript fell from 1.2 MB to 180 KB by loading only the code needed for the current route, and Largest Contentful Paint fell to 1.1 seconds.",
      "是镜像的配方，写得好坏直接影响镜像大小和构建速度。精简技巧包括：合并 RUN 指令减少层数、清理包管理器缓存、使用多阶段构建（multi-stage build）。": "is the recipe for an image — how well it's written directly affects image size and build speed. Slimming techniques include: merging RUN instructions to reduce layers, cleaning package-manager caches and using multi-stage builds.",
      "滚动更新适合服务数多的场景：一次只替换一部分实例，健康检查通过后再继续。无论哪种方式，前提都是新版本能独立启动并自检通过，否则发布策略再漂亮也只是把事故分批放进来。": "Rolling updates suit stacks with many services: replace only part of the instances at a time and continue after health checks pass. The new version must start independently and pass its own checks; otherwise the release process only distributes one outage across several batches.",
      "用 Chrome DevTools 的 Performance 面板录制滚动帧，能直接看到模糊层占了多少合成时间。视觉效果要以流畅为前提，否则玻璃再好看也没有意义。": "Recording scroll frames with Chrome DevTools' Performance panel shows exactly how much compositing time the blur layers consume. Visual effects must assume smoothness as a prerequisite, or glassmorphism loses its meaning no matter how good it looks.",
      "粒子系统同样用池管理，数量封顶并做生命周期回收。性能预算上，我给自己定了一条线：低端手机 60fps 时每帧主线程逻辑不超过 8ms，超出就降级粒子数量或碰撞精度。": "Manage the particle system with an object pool as well, cap the count, and recycle particles at the end of their lifecycle. My performance budget is strict: on a low-end phone at 60 fps, main-thread logic must stay under 8 ms per frame; otherwise reduce particle count or collision precision.",
      "脚本超过 50 行就应该拆函数，每个函数有明确输入输出，主流程只做\"读配置 → 执行 → 校验 → 输出\"。日志函数统一格式（时间 + 级别 + 消息），错误统一走": "Scripts over 50 lines should be split into functions with clear inputs/outputs; the main flow only does \"read config → execute → verify → output\". Logging functions use one format (time + level + message); errors all go through",
      "记录一个博客首页从 3 秒加载优化到 300 毫秒的实战过程，覆盖关键渲染路径、资源懒加载、代码分割、CDN 部署、缓存策略和图片优化，每个优化点都有可量化的效果。": "Records the actual operation of a blog page from 3 seconds to 300 milliseconds, covering key rendering paths, resource latched loads, code splits, CDN deployments, cache strategies and photo optimizations, each of which has quantifiable effects.",
      "JWT 是一个开放标准（RFC 7519），定义了一种紧凑、自包含的方式在各方之间安全地传输信息。JWT 使用 JSON 对象，可以被签名（JWS）或加密（JWE）。": "JWT is an open standard (RFC 7519) that defines a compact, self-contained mode of transmitting information safely between the parties. JWT uses JSON objects, which can be signed (JWS) or encrypted (JWE).",
      "Linux 的权限模型是其安全性的基石。理解用户、组和文件权限不仅是系统管理的基础，更是保障服务器安全的关键。本文将带你从基础到进阶，全面掌握 Linux 权限管理。": "Linux's permission model is the cornerstone of its security. Understanding users, groups and file permissions is not only the foundation of system administration, but also the key to keeping servers safe. This article will take you",
      "从 3 秒到 300 毫秒的优化记录里，真正起作用的不是某一条魔法配置，而是把\"快\"变成可测量、可回归、可持续维护的流程：先量化基线，再逐项优化，最后用监控守住成果。": "In the record of optimizing from 3 seconds to 300 milliseconds, what really worked wasn't a single magic config but turning \"fast\" into a measurable, regression-testable, maintainable process: quantify the baseline first, optimize item by item, and finally hold the gains with monitoring.",
      "无障碍不是\"给盲人用\"，而是提升所有人体验：对比度影响弱视用户，键盘操作影响手部不便者，动效降级影响易眩晕者。把这些写进设计规范，每次迭代都检查，比事后补洞省力得多。": "Accessibility is not \"for blind people\", but for all people: contrast affects weak viewers, keyboard operations affect hand-impaired people, and motion downgrade affects dizziness. These are written into the design specifications, which are checked every time in an iterative manner, and are much less powerful than aftercare.",
      "是个人项目最常见的模式：读时先查缓存，未命中查库并回填；写时先更新数据库，再删除缓存（或更新缓存）。删除而不是更新缓存，是因为并发写时更新容易产生旧值覆盖新值的竞态。": "This is the most common pattern for a personal project: on reads, check the cache first, query the database on a miss, and backfill the cache; on writes, update the database first, then invalidate or refresh the cache. Invalidation is safer because concurrent updates can otherwise let an old value overwrite a new one.",
      "转换失败时要让用户知道原因属于格式不支持、超时还是服务器空间不足；运维侧则需要看到失败率、平均耗时和临时目录大小。定时清理和磁盘阈值告警是文件服务不可缺少的配套能力。": "When conversion fails, tell the user whether the cause is an unsupported format, a timeout, or insufficient disk space. Operations also need the failure rate, average duration, and temporary-directory size. Scheduled cleanup and disk-threshold alerts are essential parts of a file service.",
      "这类\"嵌套量词 + 分支\"结构可能造成灾难性回溯（ReDoS）：一个精心构造的输入让引擎指数级回溯，CPU 被打满。防护手段是避免嵌套量词、用原子组（Python 的": "Such \"nested quantifier + alternation\" structures can cause catastrophic backtracking (ReDoS): a crafted input makes the engine backtrack exponentially and pegs the CPU. The defenses are avoiding nested quantifiers and using atomic groups (Python's",
      "从零开始掌握 Redis 缓存，涵盖安装部署、五种核心数据类型、缓存模式选型、过期淘汰策略、内存优化和 Python 实战示例，帮你把 API 响应速度提升一个数量级。": "Master Redis caching from scratch: installation and deployment, the five core data types, cache pattern selection, expiry/eviction strategies, memory optimization and Python practice.",
      "小规模项目用 CSV、SQLite 和 Pandas 就足够；数据量增大后再考虑分区文件、列式存储和增量处理。工具的选择应由数据规模和查询方式决定，而不是先堆技术名词。": "CSV, SQLite, and pandas are enough for a small project. Consider partitioned files, columnar storage, or incremental processing only when the data grows. Choose tools based on data volume and query patterns, not by collecting technology names.",
      "最关键的环节是消息格式化。我把当天课程按时间排列，每节课标注教室和教师，天气部分显示温度范围、降雨概率和穿衣建议。最后通过企业微信机器人的 Webhook 推送到手机。": "The most critical part is message formatting. I order the day's classes by time, annotate each with room and teacher, and show temperature range, rain probability, and clothing advice in the weather section. Finally, push via the WeCom bot Webhook",
      "间隔计算要有边界：最大间隔封顶（比如 90 天），过期的复习卡按逾期天数排序，避免堆积后一次性淹没用户。所有参数集中配置，调参不需要改代码，算法变更时历史记录仍然可用。": "Intervals are calculated at a boundary: maximum interval caps (e.g. 90 days), expired review cards are sorted by the number of days overdue, avoiding one-time flooding of users after stacking. All parameters are configured centrally, participation does not require code changes, and historical records are still available when algorithms change.",
      "DTO 与 Entity 分离很重要：Entity 对数据库，DTO 对客户端，字段变更互不污染。对象转换用 MapStruct 或手写映射器，避免反射魔法掩盖字段错误。": "DTO separation from Entity is important: Entity against database, DTO against client, field changes without contamination. The object converts to a MapStruct or handwritten mapr to avoid a reflection magic masking field error.",
      "Linux 权限管理看似复杂，但遵循最小权限原则（Least Privilege）就能构建安全的系统。定期审计、合理分组、精细控制权限，是每个 Linux 管理员的必修课。": "Linux permission management looks complex, but following the principle of least privilege lets you build a secure system. Regular audits, sensible grouping and a clear layout",
      "Spring Boot 是 Java 生态中最流行的微服务框架，它简化了 Spring 应用的配置和部署。本文将带你从零开始，构建一个完整的 RESTful API 服务。": "Spring Boot is the most popular microservice framework in the Java ecosystem, simplifying the configuration and deployment of Spring applications. This article walks you through building a complete RESTful API service from scratch.",
      "下一步可以加入设备注册、密钥轮换、离线检测、消息重放和数据归档。无论规模大小，先把一条链路的边界和错误路径想清楚，物联网项目才不会停留在“传感器亮了、图表动了”的演示阶段。": "Next steps could add device registration, key rotation, offline detection, message replay and data archiving. Regardless of scale, only by thinking through the boundaries and error paths of one pipeline first can an IoT project move beyond the demo stage of “sensor lights up, chart moves“.",
      "从创建飞书机器人到发送富文本消息卡片，完整记录 Webhook 配置、消息卡片 JSON 结构、交互式卡片开发和 Python SDK 实战，让你的自动化通知既好用又好看。": "From creating a Feishu bot to sending rich message cards, this guide covers Webhook configuration, card JSON, interactive cards, and the Python SDK.",
      "圆形实体可以用两点距离判断，矩形 UI 则适合 AABB。碰撞函数只返回事实，不直接修改玩家生命值或播放动画；这样伤害、击退和无敌时间由上层规则统一处理，调参时更容易定位。": "Circular entities can use distance checks, while rectangular UI fits AABB. Collision functions only return facts — they don't modify player HP or play animations directly; damage, knockback and invincibility windows are handled uniformly by upper-layer rules, making tuning easier to trace.",
      "数据库、证书、上传文件用命名卷持久化；源码热更新用 bind mount（仅开发环境）。卷要命名而不是依赖自动生成的哈希名，备份和恢复才有确定路径。删除容器前先确认卷归属，": "Persist databases, certificates and uploads with named volumes; use bind mounts for hot source updates (development only). Volumes should be named rather than relying on auto-generated hash names, so backups and restores have deterministic paths. Before deleting a container, confirm volume ownership,",
      "更安全（文件 640、目录 750），默认不让\"其他用户\"可读。注意设置位置（shell 配置 vs 服务启动环境），服务进程的 umask 由 systemd 配置控制。": "Use safer permissions (files 640, directories 750) so “other users” cannot read them by default. Be explicit about where the setting lives (shell configuration versus the service environment); systemd controls the service process umask.",
      "目前我的服务器上跑着这些容器：Nginx（反向代理）、Flask API（后端）、MySQL（数据库）、Redis（缓存）、Portainer（容器管理面板）。全部通过一个": "These containers currently run on my server: Nginx (reverse proxy), Flask API (backend), MySQL (database), Redis (cache) and Portainer (container management panel). All through a single",
      "让函数可以修改调用者的指针（如 realloc 后更新原指针）。链表插入头部、树节点替换都依赖这个模式。判断是否真的需要二级指针，就看\"函数是否要改变调用者持有的指针值\"。": "This lets a function modify the caller’s pointer, such as updating the original pointer after realloc. Inserting at the head of a linked list and replacing a tree node use the same pattern. You need a pointer to a pointer only when the function must change the pointer value held by the caller.",
      "Compose 的服务定义应围绕职责组织：入口层、页面层、API 层和数据层分别命名；共享网络只暴露必要端口；持久化目录使用命名卷或明确的 bind mount。环境变量写入": "Compose service definitions should be organized by responsibility: entry layer, page layer, API layer and data layer named separately; shared networks only expose necessary ports; persistent directories use named volumes or explicit bind mounts. Environment variables go into",
      "JWT 是现代认证的利器，但需要谨慎实现。正确的 Token 存储、合理的过期时间、安全的传输方式，是 JWT 安全的基础。掌握了 JWT，你就能构建安全、可扩展的认证系统。": "JWT is a powerful modern authentication tool, but it must be implemented carefully. Correct token storage, sensible expiry times, and secure transport are the foundation of JWT security. With that foundation, you can build a secure, scalable authentication system.",
      "Spring Boot 让 Java 开发变得愉快高效。从这篇入门开始，你可以逐步探索安全的 Spring Security、微服务的 Spring Cloud 等高级主题。": "Spring Boot makes Java development pleasant and efficient. Starting from this introduction, you can gradually explore advanced topics such as Spring Security and the Spring Cloud microservice suite.",
      "不必一开始就实现复杂算法。先记录每次练习的结果、信心程度和下次复习时间，再根据连续正确或错误调整间隔。重要的是把算法结果解释给用户：为什么今天看到这个词，下一次什么时候回来。": "No need to implement a complex algorithm from day one. First record the result of each practice, confidence level and next review time, then adjust intervals based on consecutive correct or wrong answers. What matters is explaining the algorithm's output to the user: why this word appears today and when it will come back next.",
      "发布脚本里把迁移单独放一个阶段，和代码构建解耦。这样代码可以发布到多台机器，数据库只在一次迁移中完成，不会出现一半节点跑新 schema、一半节点跑旧 schema 的情况。": "In the release script, put migrations in a separate stage, decoupled from the code build. This way the code can be released to multiple machines, and the database runs through only one migration — no half-updated nodes.",
      "可以为计分、章节解锁、升级树和核心碰撞写单元测试，再用一组固定输入做结构测试。测试不需要覆盖所有随机过程，但要保护关键规则：同一个结果应该可重复，非法状态不能悄悄进入下一关。": "Write unit tests for scoring, chapter unlocking, the upgrade tree and core collisions, then run structure tests with a set of fixed inputs. Tests don't need to cover every random process, but they must protect key rules: the same result should be reproducible, and illegal states must not silently advance to the next level.",
      "地图和实体是世界状态，玩家输入是控制状态，分数和升级是进度状态，界面提示和音效是表现状态。它们分开后，核心逻辑可以在没有 DOM 的情况下测试，UI 只负责把状态呈现给用户。": "Maps and entities are world state, player input is control state, scores and upgrades are progress state, and UI hints and sounds are presentation state. Once separated, core logic can be tested without the DOM, and the UI only renders state to the user.",
      "文件转换看起来像调用一个命令，但真正上线后会遇到大文件、格式异常、转换超时、临时文件泄漏和并发占满磁盘等问题。这个项目的重点不是“能转一次”，而是让一次失败不会拖垮整个服务。": "File conversion may look like a single command, but production brings large files, malformed formats, conversion timeouts, temporary-file leaks, and concurrency filling the disk. The goal is not merely to convert one file once, but to ensure one failure cannot take down the whole service.",
      "桌面端可以并排展示统计卡和项目网格，手机端则需要重新安排信息顺序：导航收缩、卡片单列、按钮扩大点击区域、图表允许横向滚动。断点设计应基于内容拥挤程度，而不是照抄某个设备尺寸。": "The desktop can show stat cards and the project grid side by side, but mobile needs a reordered information flow: collapsed navigation, single-column cards, larger tap targets and horizontally scrollable charts. Breakpoints should be based on content density, not copied from some device size.",
      "表单是交互密度最高的区域：label 与控件显式关联、错误提示紧邻字段并带 aria、提交后保留已填内容、键盘 Tab 顺序自然。触控目标至少 44×44px，焦点样式不能被": "Forms are the most interaction-dense area: explicitly associate labels with controls, place error messages next to fields with aria, keep entered values after submit, and keep a natural Tab order. Touch targets at least 44×44px; focus styles must not be",
      "JWT（JSON Web Token）是现代 Web 应用中最流行的认证方案之一。它以无状态、可扩展的特性，成为微服务架构的首选认证方式。本文将深入解析 JWT 的原理与实践。": "JWT (JSON Web Token) is one of the most popular authentication schemes in modern web applications. Its stateless, scalable nature makes it the go-to authentication method for microservice architectures. This article dives deep into JWT principles and practice.",
      "上传接口应该限制文件大小、扩展名和 MIME 类型，并为每次任务生成独立的工作目录。响应可以返回任务 ID，转换完成后提供下载地址；小文件也可以同步返回，但必须设置明确的超时。": "The upload API should limit file size, extension, and MIME type, and create an isolated work directory for each task. The response can return a task ID and expose a download URL after conversion; small files may be returned synchronously, but with an explicit timeout.",
      "交互设计容易陷入\"我觉得好看\"。上线后我测量：点击热区、完成率、错误率、停留时长。改版前后对比同一指标，用数据决定去留；小范围 A/B 测试比\"团队评审谁说服谁\"更能说明问题。": "Interaction design can get stuck at “I think it looks good”. After launch, measure click hotspots, completion rate, error rate, and dwell time. Compare the same metrics before and after a redesign and let the data decide; a small A/B test says more than a team review based on persuasion.",
      "优化 SQL 的第一步不是改语句，而是建立\"慢查询清单\"：开启慢查询日志、设置阈值（500ms）、定期汇总 Top N。没有基线就没有优化后的对比，也无法判断改动是否真的有效：": "The first step in SQL optimization is not rewriting a query but creating a slow-query inventory: enable the slow-query log, set a threshold (500 ms), and summarize the Top N regularly. Without a baseline there is no before/after comparison and no way to tell whether a change really helped:",
      "命中反馈、受伤闪烁、升级提示、按钮状态和结果分享，都是玩家理解规则的语言。动画不应该只是装饰，它要解释发生了什么。移动端还需要更大的触控区域、可跳过的动效和明确的重新开始入口。": "Hit feedback, damage flashes, upgrade prompts, button states, and result sharing help players understand the rules. Animation should explain what happened, not merely decorate the screen. Mobile layouts also need larger touch targets, skippable motion, and a clear way to restart.",
      "小游戏很适合验证工程能力，因为它同时要求状态管理、动画、输入、碰撞、反馈和内容节奏。一个能打开的 Demo 不难，难的是让每个系统都有明确职责，修改一个规则时不会牵一发动全身。": "Small games are excellent engineering exercises because they require state management, animation, input, collision, feedback, and pacing at the same time. Opening a demo is easy; the hard part is giving each system a clear responsibility so changing one rule does not break everything else.",
      "模型而非传统的请求/响应。设备发布消息到某个主题（Topic），其他设备订阅该主题即可接收。这种解耦设计带来了极大的灵活性——发布者不需要知道谁在接收，订阅者也不关心消息来源。": "model rather than traditional request/response. Devices publish messages to a topic; other devices subscribe to receive them. This decoupling brings great flexibility — publishers need not know who is receiving, and subscribers don't care where messages come from.",
      "系统按角色分权：读者只能看自己的记录，图书管理员能处理借还与编目，系统管理员能管理用户与查看日志。权限校验放在后端中间件，按角色 + 资源归属双重判断，不能只信任前端隐藏按钮。": "The system enforces role-based access: readers can view only their own records, librarians handle borrowing, returns and cataloging, and administrators manage users and inspect logs. Authorization belongs in backend middleware and must check both role and resource ownership; never rely only on hidden frontend buttons.",
      "语法接近，但 lookbehind 支持有版本差异；Go 的 regexp 默认 RE2（无回溯、无 lookaround）。跨语言复用正则前，先在目标语言的测试环境验证行为。": "The syntax is similar, but lookbehind support varies by version; Go's regexp uses RE2 by default (no backtracking, no lookaround). Before reusing a regex across languages, verify its behavior in the target language's test environment.",
      "这个项目很适合继续扩展为“文档工作台”：增加预览、批量任务、失败重试、下载过期清理和转换质量抽检。功能看似简单，但它同时练习了 API 设计、进程管理、资源隔离和后台任务治理。": "This project is a good foundation for a document workbench: add previews, batch jobs, failed-task retries, expiry cleanup for downloads, and spot checks of conversion quality. Although the features look simple, they exercise API design, process management, resource isolation, and background-job governance.",
      "graph TD A[用户请求] --> B{Nginx} B --> C[前端] B --> D[API 服务] D --> E[(数据库)] D --> F[(Redis)]": "graph TD A[User Request] --> B{Nginx} B --> C[Frontend] B --> D[API Service] D --> E[(Database)] D --> F[(Redis)]",
      "p95 比 max 更抗噪声，适合描述\"常态上限\"；count 能暴露数据缺失——某天某个设备一条都没有，比数值异常更值得关注。聚合结果再交给图表，是\"从明细到结论\"的关键一跳。": "P95 is less sensitive to outliers than max and is useful for describing the normal upper bound. Count can reveal missing data: a device with no samples for a day deserves more attention than an unusual value. Passing aggregates to the chart is the key step from raw details to conclusions.",
      "“我有一个压缩包”不等于“我能恢复服务”。对于 Docker 化网站，源码、镜像、证书、挂载目录、命名卷和 Compose 配置缺一不可。少了任意一项，恢复时都可能变成重新排查。": "“I have a backup archive“ is not the same as “I can restore the service“. For a Dockerized site, source code, images, certificates, mount directories, named volumes and Compose config are all indispensable. Missing any one of them can break recovery.",
      "最有价值的验证不是看文件大小，而是在一台干净机器或隔离目录执行一次恢复。只有实际启动容器、访问首页、调用 API、读取文章和检查数据卷，才能知道备份是否真的覆盖了“现在的状态”。": "The most valuable validation is not checking file size but performing a restore on a clean machine or in an isolated directory. Only by starting the containers, opening the home page, calling the APIs, reading articles, and checking the data volumes can you confirm that the backup really covers the current state.",
      "移动端还涉及触摸热区、虚拟摇杆、防误触和页面可见性：切后台时暂停计时，恢复时重新计算时间差。游戏实验的价值不只是\"能玩\"，而是把状态机、事件系统、性能分析和用户反馈完整地走一遍。": "On mobile, also handle touch hit areas, a virtual joystick, accidental touches, and page visibility: pause timers in the background and recompute elapsed time on return. The game experiment is valuable not only because it is playable, but because it runs through state machines, event systems, performance analysis, and user feedback end to end.",
      "\"在我电脑上能跑\"是开发中最经典的甩锅语录。Docker 从根本上解决了环境一致性问题——把应用及其所有依赖打包成一个镜像，在任何安装了 Docker 的机器上都能一模一样地运行。": "\"It works on my machine\" is the most classic cop-out in development. Docker fundamentally solves environment consistency — packaging the application and all its dependencies into one image that runs identically on any machine with Docker installed.",
      "不要试图一次学完所有东西。从做一个完整的微型项目开始：ESP32 采集温湿度 → MQTT 上报 → 后端存储 → 前端展示。跑通这个闭环后，你会对整个物联网架构有一个清晰的认识。": "Don't try to finish everything at once. Start with a complete micro project: ESP32 Collect Temperature → MQTT Report → Backend Storage → Frontend Show. After running through this ring, you'll have a clear idea of the entire network structure.",
      "书目保存 ISBN、标题、作者、分类和出版社；库存保存条码、所在位置、当前状态。一本书可以有多份库存，借阅记录指向具体库存而不是抽象书目。这个拆分让损坏、遗失、调拨和盘点都有落点。": "Bibliography: ISBN, title, author, classification and publisher; stock-keeping bar code, location, current status. A book can have multiple inventories, and borrowed records point to specific stocks rather than abstract bibliography. This split brings down damage, loss, redeployment and inventory.",
      "大二下学期的课表排得很散，教学楼也不固定，每天早上都要翻教务系统查教室。再加上天气变化无常，出门带不带伞也成了每日难题。于是决定写一个自动化脚本，每天定时把课表和天气推送到手机上。": "My second-year spring timetable was scattered across different buildings, so every morning I had to check the academic system for the classroom. With the weather changing constantly, deciding whether to carry an umbrella became a daily problem. I decided to write an automation script that sends the timetable and weather to my phone every day.",
      "执行日志分级：INFO 记录正常流程，WARNING 记录可降级的异常，ERROR 记录会导致推送失败的问题。告警消息带上任务名、失败原因和建议动作，而不是只发一句\"脚本出错了\"。": "Execution logs are leveled: INFO records normal flow, WARNING records degradable anomalies, ERROR records issues that would fail the push. Alert messages carry the task name, failure reason and suggested action — not just a bare \"script error\".",
      "把词汇和语法放进网页只是内容展示，学习平台还需要回答：今天学什么、为什么复习、错题如何回来、进步如何被看见。设计学习工具时，我更关心“下一步是否清楚”，而不是一次塞给用户多少内容。": "Putting vocabulary and grammar on a page is just content display; a learning platform must answer: what to study today, why review, how wrong answers come back, and how progress is shown. When designing learning tools, I care more about \"is the next step clear\" than",
      "配置校验场景，正则适合做格式检查（时间戳格式、版本号、颜色值），但真正的业务约束（日期范围、数值大小）应交给代码判断。正则回答\"格式对不对\"，代码回答\"值合不合理\"，两者分工清晰。": "For configuration validation, regex is suitable for format checks such as timestamps, version numbers, and color values. Business constraints such as date ranges and numeric limits belong in code. Regex answers “is the format valid?”; code answers “is the value reasonable?”",
      "HTTPS 不再是可选项，而是现代 Web 应用的基石。理解 TLS 握手、证书链验证和安全配置，是每个后端开发者和运维工程师的必修课。记住：安全不是一次性配置，而是一个持续的过程。": "Certificate-chain validation",
      "下一步可以给仪表盘增加“事件时间线”和“最近变更”两个视图：一次部署、证书续签或容器重启都成为可追踪事件。这样它就不只是状态大屏，而是帮助我理解系统为什么变成现在这个样子的维护工具。": "The next step could be to add to the dashboard both an “incident time line” and a “recent change” view: a deployment, renewal of the certificate or re-launch of the container becomes a traceable event. So it's not just a state screen, but it helps me understand why the system has become a maintenance tool like this.",
      "只保存 Dockerfile，未来重建时可能拉到不同版本的基础镜像，也可能因为上游依赖变化而无法复现。镜像归档让恢复优先使用已经验证过的运行时；源码仍然保留，用于后续修改和重新构建。": "Saving only Dockerfiles risks pulling different base-image versions on future rebuilds, or failing to reproduce because upstream dependencies changed. Archiving images lets recovery prefer already-verified runtimes; source code is still kept for future modifications and rebuilds.",
      "在当今互联网环境中，HTTPS 已经从\"可选项\"变成了\"必选项\"。浏览器标记 HTTP 网站为\"不安全\"，搜索引擎优先收录 HTTPS 站点。本文将深入讲解 HTTPS 的底层原理。": "In today’s web, HTTPS has changed from an option into a requirement. Browsers label HTTP sites as “Not secure”, and search engines prefer HTTPS sites. This article explains the underlying principles of HTTPS.",
      "每个动效都要能回答\"它解释了哪个关系\"：展开菜单解释父子关系，拖拽排序解释位置变化，而单纯的缩放闪烁只是在炫技。动效时长 150-300ms 最自然，超过 400ms 用户会觉得卡。": "Each action has to answer \"what relationship it explains\": expand the menu to explain parent-child relationships, drag and sort of explain position changes, and simply zoom in. The duration of the motion is 150-300 ms, which is most natural, and more than 400 ms will feel the card.",
      "Vim 是每个服务器运维和开发者的必备技能。它无处不在——SSH 到任何 Linux 服务器都能找到它。掌握 Vim 不仅是为了在服务器上编辑文件，更是为了获得一种高效的编辑思维方式。": "Vim is an essential skill for server operators and developers. It is available on every Linux server over SSH, and it teaches an efficient way to edit files.",
      "从简单的 schedule 库到 APScheduler 高级调度，再到 systemd 服务守护进程，完整覆盖 Python 自动化脚本的各级方案，包含日志、错误处理和真实生产案例。": "From the simple schedule library to APScheduler and systemd service supervision, this covers the main levels of Python automation, including logging, error handling, and real production cases.",
      "反向代理是安全头的落点。我统一加上 HSTS、X-Content-Type-Options、X-Frame-Options 和 Referrer-Policy，并关闭服务器版本号泄露：": "The reverse proxy is where security headers land. I uniformly add HSTS, X-Content-Type-Options, X-Frame-Options and Referrer-Policy, and disable server version disclosure:",
      "异步不等于所有 IO 都快：pymysql 是同步库，放到异步事件循环里会阻塞。用 aiomysql / asyncpg / SQLAlchemy async 或把同步调用丢到线程池（": "Asynchronous code does not make every I/O operation fast: pymysql is synchronous and will block an async event loop. Use aiomysql, asyncpg, or SQLAlchemy async, or move the synchronous call to a thread pool (",
      "请求头：服务端按 key 缓存结果，重复请求返回第一次的结果。更新类操作给资源加 version 或 updated_at，PATCH 用乐观锁校验，防止并发覆盖。删除接口考虑软删除（": "Synchronising \"%s\" Update class operations add version to resources or upgraded_at, PATCH locks with optimism to prevent and overwhelm. Delete interfaces for soft deletion",
      "审计表记录操作者、时间、对象类型、对象 id、变更前后摘要。争议发生时能还原\"谁在什么时间改了什么\"；敏感操作（删除用户、批量改库存）强制二次确认并写入审计。审计数据只增不删，按年归档。": "Audit forms record operators, time, type of object, object id, pre- and post-change summaries. \"Who changed what at what time\" could be restored when a dispute arose; sensitive operations (delete users, batch re-inventory) would be mandatory for second confirmation and inclusion in the audit. Audit data are only added or deleted and are archived on an annual basis.",
      "独立完成过多个完整 API 服务的需求拆解、数据库建模、接口设计与测试部署：图书馆借阅系统、文件格式转换服务、博客引擎都是自己从零设计并上线运行，能处理事务、权限、分页、并发与异常恢复。": "Independently completed requirement breakdown, database modeling, API design, testing and deployment for multiple full-stack API services: a library borrowing system, a file-format conversion service, and a blog engine — all designed from scratch and running in production, handling transactions, permissions, pagination, concurrency and exception recovery.",
      "管理系统的难点通常不在页面，而在于现实流程如何被准确表达。图书馆至少包含读者、书目、实体库存、借阅记录、预约记录和操作日志。把“书”与“书的某一本实体”区分开，库存和借阅才不会混在一起。": "The hard part of a management system is usually not the pages but how accurately the real-world process is expressed. A library needs at least readers, bibliographic records, physical copies, borrowing records, reservation records and operation logs. Separating the “book“ from its “physical copies“ is the first step of data modeling.",
      "很多监控页面打开后只有几个百分比：CPU 12%、内存 80%、磁盘 28%。这些数字有用，但还不足以解释服务是否健康。一个真正帮助排障的仪表盘，至少要把资源、服务、网络和时间线放在一起。": "Many of the monitoring pages are open in a few percentages: CPU 12%, memory 80%, disk 28%. These figures are useful but not sufficient to explain whether services are healthy. A really helpful dashboard, at least with resources, services, networks and time lines.",
      "，而是确认字段含义、单位和缺失原因。建议保留原始文件不改动，清洗过程写成可重复运行的函数，并输出每一步的行数、缺失值和异常值统计。这样当结果发生变化时，可以快速定位是输入变了还是规则变了。": ", instead confirm the meaning, unit and cause of the absence of the field. It is recommended that the original file be kept unchanged, that the cleanup process be written as a re-run function and that the number of rows, missing values and abnormal values at each step be exported. So, when the result changes, you can quickly locate whether the input changes or the rules change.",
      "对路径的拼接规则不同，少一个斜杠就可能把请求转到错误位置。静态 SPA 需要同时处理目录、入口文件和刷新子路由；反向代理则要明确是否保留原始 URI，并补上 Host、真实 IP 和协议头。": "Path concatenation rules differ; a missing slash can route a request to the wrong place. Static SPAs must handle directories, entry files and deep-link refresh at the same time; the reverse proxy must explicitly decide whether to preserve the original URI and forward Host, real IP and protocol headers.",
      "拆分的代价是通信与部署复杂度，所以个人项目宁可服务少一点，也要每个服务边界清晰：Nginx 统一入口、静态资源与动态 API 分离、数据层集中。服务之间通过内部网络访问，不开放不必要的端口。": "Splitting services increases communication and deployment complexity. For a personal project, fewer services with clear boundaries are better: Nginx as the single entry point, static assets separated from dynamic APIs, and a centralized data layer. Let services communicate over an internal network and expose no unnecessary ports.",
      "数据库和证书包含敏感信息，备份文件必须加密：本地先加密再传输，远程保存加密包，密钥放在独立的凭据管理里。传输走 SSH/SCP 或对象存储，目的地至少两个（本地盘 + 远端），避免单点故障。": "Databases and certificates contain sensitive information, and backup files must be encrypted: local encryption before transmission, remote preservation of encryption packages, and the key in an independent certificate management. Transfers SSH/SCP or object storage to at least two destinations (local disc + remote) to avoid single point failure.",
      "（最直观）或请求头版本。版本策略定下来：v1 兼容期内只增不改，废弃字段先标记 deprecated 再移除，客户端迁移有明确时间窗。内部服务可以激进演进，公开 API 必须把兼容性当承诺。": "(the most straightforward option) or a version in the request header. Define the policy: during v1 compatibility, add fields but do not change existing ones; mark deprecated fields before removing them, and give clients a clear migration window. Internal services can evolve aggressively, but a public API must treat compatibility as a promise.",
      "Git 的基础命令如 add、commit、push 是日常使用的，但真正让 Git 强大的是它的高级功能。本文将深入讲解 rebase、cherry-pick 和 bisect 这三大利器。": "Basic Git commands such as add, commit and push are used daily, but what really makes Git powerful is its advanced features. This article takes an in-depth look",
      "Markdown 是技术写作的事实标准。从 GitHub README 到技术博客，从 API 文档到内部 Wiki，Markdown 无处不在。本文将分享 Markdown 写作的全面技巧。": "Markdown is the de facto standard of technical writing. From GitHub README to technical blogs, from API documents to inside Wiki, Markdown everywhere. This paper will share the overall skills of Markdown writing.",
      "从 C 语言指针、内存模型和进程线程，到 ESP32 传感器采集、串口协议和 MQTT 设备链路，能独立完成硬件端到云端的联调，理解软硬件如何协作，并持续探索 Rust 与嵌入式 Linux。": "From C pointers, memory models, and processes/threads to ESP32 sensor acquisition, serial protocols, and MQTT device links, I can independently complete hardware-to-cloud integration, understand how software and hardware cooperate, and keep exploring Rust and embedded Linux.",
      "借阅流程可以抽象为：可借 → 已借出 → 已归还，逾期只是根据应还时间计算出的状态，不建议直接覆盖原始记录。预约则有等待中、已通知、已取消、已完成等状态，所有状态变化都写入操作日志，便于审计。": "The borrowing flow can be abstracted as: available → borrowed → returned; overdue is just a status computed from the due date and shouldn't overwrite the original record. Reservations have states such as waiting, notified, cancelled and completed; every state change is written to the operation log for auditability.",
      "先做一个完整的小循环：进入、操作、反馈、结算、重玩。等循环稳定后再扩展内容。这样既能展示 Canvas、SVG 和 JavaScript 的能力，也能保留对产品节奏、可访问性和代码维护的思考。": "Start with one complete small loop: enter, interact, receive feedback, resolve, and replay. Expand the content only after the loop is stable. This demonstrates Canvas, SVG, and JavaScript while preserving thoughtful decisions about product pacing, accessibility, and maintainability.",
      "可视化的选择要看问题类型：趋势用折线，对比用柱状，分布用直方图或箱线图，相关性用散点。matplotlib 打底、seaborn 美化、ECharts 出交互大屏，工具服从场景，而不是反过来。": "Visualized choices depend on the type of problem: trends are folded, contrasted with columns, distributed with histograms or box lines, and relevance is dispersed. Matpllotlib bottom-up, seaborn beautification, ECharts come up with interactive screens, tools follow scenes, not the other way around.",
      "代码块是技术文档的核心资产。写代码块时我会注意：语言标注（语法高亮）、省略号不能影响可复制性、敏感信息用占位符、关键行加注释。完整的可运行示例与\"示意代码\"分开标注，读者不会误以为片段能直接跑。": "Code blocks are the core asset of technical documentation. When writing them I pay attention to: language annotation (syntax highlighting), ellipses that don't break copy-paste, placeholders for sensitive info, and comments on key lines. Fully runnable examples are labeled separately from \"illustrative snippets\", so readers won't mistake a fragment for something that runs as-is.",
      "我会给每个服务保留 Dockerfile 和 requirements 文件，镜像构建过程尽量透明。即使未来换机器，只要恢复源代码、卷和证书，再执行 Compose，就能重新搭起同样的服务边界。": "I keep a Dockerfile and requirements file for every service so image builds stay transparent. Even if the machine changes later, restoring the source code, volumes and certificates and running Compose rebuilds the same service boundaries.",
      "给线上服务建立过完整安全基线：HTTPS/TLS 证书自动续签、JWT + RBAC 权限模型、输入校验、限流与审计日志，还有定时备份和恢复演练，让 6+ 个容器服务保持可观察、可恢复、可回滚。": "Established a complete security baseline for online services: automatic HTTPS/TLS renewal, a JWT + RBAC permission model, input validation, rate limiting and audit logs, plus scheduled backups and recovery drills, keeping 6+ container services observable, recoverable and rollback-ready.",
      "缓存与数据库最终一致即可，但\"最终\"不能是无限期。我的策略：写操作删缓存（下次读重建）；需要强一致的场景不走缓存；读多写少的统计类数据接受 5-10 分钟过期。用版本号或更新时间做缓存 key（": "Cachelines can eventually coincide with databases, but \"finally\" cannot be indefinite. My strategy: writing to delete caches (renewed next reading); scenes that need to be robust and consistent; statistical categories that read less and write less are accepted to expire 5-10 minutes. Cache with version number or update time",
      "读者端需要查询可借数量、自己的借阅和预约；管理员端需要编目、库存调整和统计报表。接口按资源命名，分页参数统一，错误响应包含稳定的错误码。权限判断不能只放在前端，后端要根据角色和资源关系再次校验。": "Readers need to query available copies, their own borrowings and reservations; admins need cataloging, inventory adjustments and statistics reports. APIs are named by resource, pagination parameters are unified, and error responses carry stable error codes. Permission checks can't live only in the frontend — the backend must re-validate against roles and resource relationships.",
      "一个仪表盘不需要把所有数据都堆在首屏。首屏只保留健康状态、CPU、内存、磁盘、运行时间和最近异常，其他信息通过分组或下钻查看。每个数字都应当有单位、采样时间和阈值，否则用户很难判断它是否值得关注。": "A dashboard does not need every datum on the first screen. Keep only health, CPU, memory, disk, uptime, and recent anomalies there; expose the rest through groups or drill-downs. Every number needs a unit, sample time, and threshold, otherwise users cannot tell whether it matters.",
      "在现代运维工作中，Shell 脚本是不可或缺的利器。无论是服务器管理、日志分析、还是自动化部署，Shell 脚本都能极大提升工作效率。本文将从基础到进阶，全面讲解 Shell 脚本编程的核心技巧。": "Shell scripts are indispensable in modern operations. They improve server management, log analysis, and automated deployment; this article covers the core techniques from beginner to advanced.",
      "把重复工作全部脚本化：CI/CD 流水线、Cron 定时任务、服务健康检查、日志聚合与飞书告警，用 Docker Compose + Nginx 管理完整服务栈，并做过容器滚动发布与故障恢复实验。": "Scripted all repetitive work: CI/CD pipelines, scheduled Cron jobs, service health checks, log aggregation and Feishu alerts; managed the full service stack with Docker Compose + Nginx, and ran container rolling-release and failure-recovery experiments.",
      "浏览器收到证书后按链验证：站点证书 → 中间证书 → 根证书。每一级的公钥能验证下一级的签名，根证书来自系统内置的信任库。证书链不完整（缺少中间证书）是常见配置错误，用户会看到\"证书不可信\"——用": "Browsers validate certificates by chain: site cert → intermediate → root. Each level's public key verifies the next level's signature; the root comes from the OS trust store. An incomplete chain (missing intermediate) is a common misconfiguration — users see \"certificate not trusted\". Use",
      "网络方面我按业务拆分：前端 Nginx 暴露到宿主机，后端服务只进内部网络，通过服务名互访。数据库容器不对外开端口，只有应用容器能连它。这样即使一个服务被打穿，横向移动的范围也被限制在内部网络里。": "I split the network by business: front end Nginx is exposed to the host, back end service is only available on the inside network, through service name exchange. The database container is not open and only the application container is connected to it. This limits the extent of lateral movement to an internal network even if a service is punctuated.",
      "为同一个仓库开出多个工作目录，互不干扰：一个目录跑服务，另一个目录改代码测试，不用反复 stash。适合\"同时在主线开发、在发布分支修 bug\"的场景，也是服务器上多项目共用一个裸仓库时的实用技巧。": "git worktree opens multiple working directories from one repo without interference: run a service in one while editing and testing in another — no repeated stashing. Great for \"develop on main while fixing bugs on the release branch\", and handy when multiple projects share one bare repo on a server.",
      "推送脚本里最容易挂的不是代码逻辑，而是外部数据源。教务系统的 Cookie 会过期、接口字段会调整、天气 API 偶尔限流，任何一样都能让\"准时推送\"变成\"安静地失败\"。我给每个外部依赖都做了隔离：": "What breaks most easily in a push script isn't the code logic but the external data sources. The academic-affairs cookie expires, API fields get adjusted, and the weather API occasionally rate-limits — any of these can turn \"punctual push\" into \"silent failure\". I isolated every external dependency:",
      "物联网专业少不了和数据打交道。传感器上报的原始数据往往是脏的、乱的、格式不统一的，直接分析基本不可能。pandas 是 Python 生态中最强大的数据处理库，掌握它能极大提升数据清洗和转换的效率。": "The professionals in the field of IoT are rarely dealing with data. The raw data reported by sensors are often dirty, confusing and not uniform, and direct analysis is largely impossible. Pandas is the most powerful data-processing repository in the Python ecology, and mastering it greatly increases the efficiency of data cleansing and conversion.",
      "订阅者收到消息后先做格式校验，再做单位归一化和范围检查，最后写入存储。异常值不要悄悄丢掉，可以记录到单独的异常表并触发通知。写入成功后再确认消息，避免数据库失败时数据却被 Broker 当成已处理。": "After receiving a message, the subscriber validates its format, normalizes units, checks the range, and then writes it to storage. Do not silently discard outliers; record them in a separate anomaly table and trigger a notification. Acknowledge the message only after the write succeeds, so a database failure does not make the broker treat it as processed.",
      "学习记录适合在本地快速写入，网络恢复后再同步。IndexedDB 可以保存结构化数据，版本号和迁移函数则保证应用升级后旧记录仍可读取。任何本地数据方案都要准备导出和清空入口，让用户拥有自己的学习记录。": "Learning records are well suited to fast local writes and later synchronization when the network returns. IndexedDB stores structured data, while version numbers and migration functions keep old records readable after upgrades. Any local-data design should provide clear export and delete-all actions so users retain control of their records.",
      "我会给实体分配稳定的 id，并把玩家、敌人、子弹和掉落物放进不同集合。碰撞检测先用圆形或轴对齐矩形做粗筛，再对少量候选对象做精确判断。这样既能保持代码直观，也能避免对象数量增加后每一帧都进行全量比较。": "I will assign stable ids to the entity and put players, enemies, bullets and falling objects into different pools. Collision detection first sifts in a circle or axis to the rectangle and then makes an accurate judgement of a small number of candidates. This allows both code visualization and the avoidance of full comparison of each frame after an increase in the number of objects.",
      "我的选择：日常脚本用 Cron（简单可审计），需要补跑和复杂规则用 APScheduler，系统维护任务用 systemd timer。不要用 sleep 循环假装定时——重启、时区、夏令时都会出错。": "My choice is simple: use Cron for routine scripts because it is easy to audit, APScheduler for reruns and complex rules, and systemd timers for system-maintenance jobs. Do not fake scheduling with a sleep loop—restarts, time zones, and daylight saving time will eventually break it.",
      "把网站、博客、API 和交互作品部署到 ECS，用 Compose、Nginx、监控与备份保障持续迭代；同时沉淀了文件转换服务、CI/CD 流水线、数据管道和浏览器交互实验，开始用自动化替代重复劳动。": "Deployed the website, blog, APIs and interactive works to ECS, with Compose, Nginx, monitoring and backups supporting continuous iteration; meanwhile built up a file-conversion service, CI/CD pipelines, data pipelines and browser-interaction experiments, replacing repetitive work with automation.",
      "组件层面可以把卡片、按钮、标签和导航抽成一致的变量：圆角、间距、边框透明度和动效时长由 CSS 自定义属性驱动。这样主页、项目页和工具箱共享同一套视觉语言，修改主题时也不会出现每个页面各自漂移的情况。": "At the component level, you can draw cards, buttons, labels and navigation into consistent variables: round angles, spacing, border transparency and the time of movement are driven by CSS custom attributes. This allows the home page, the project page and the toolbox to share the same set of visual languages, and changes to the theme do not occur when each page moves.",
      "编译型项目最容易出现\"镜像里装着一整套编译工具\"的问题。多阶段构建把编译和运行拆开：第一阶段装编译器与依赖，第二阶段只拷贝编译产物和运行时依赖。最终镜像体积往往能缩小 5-10 倍，攻击面也随之变小。": "Compiled projects most easily fall into \"a full toolchain inside the image\". Multi-stage builds separate compile from runtime: stage one installs the compiler and dependencies; stage two only copies the build artifacts and runtime dependencies. The final image often shrinks 5–10x, and the attack surface shrinks with it.",
      "首页先给一句清晰的自我介绍，再给技术栈和项目证据，最后才是理念与联系信息。项目卡片遵循“是什么、解决什么、如何实现、如何验证”的顺序。博客列表优先显示标题、日期、摘要和标签，不让装饰把阅读入口藏起来。": "The homepage leads with a clear self-introduction, then tech stack and project evidence, and only finally philosophy and contact info. Project cards follow the order “what it is, what problem it solves, how it was built, how it was verified“. The blog list prioritizes articles with high technical content.",
      "，把 Nginx、Flask、MySQL、Redis 四个服务编排在一起。网络配置上，创建一个自定义 bridge 网络让容器间通过服务名通信。数据持久化用 named volume 挂载数据库文件。": ", orchestrating the four services Nginx, Flask, MySQL and Redis together. For networking, create a custom bridge network so containers communicate by service name. Data persistence mounts database files via named volumes.",
      "Git Flow 适合版本节奏固定的团队，但对小团队和个人项目往往过重：长期维护 develop、release、hotfix 多条分支，合并成本会吃掉本来就不多的收益。后来我把项目按规模分成两套策略：": "Git Flow works for teams with a fixed release cadence, but is often too heavy for small teams and personal projects: maintaining develop, release, and hotfix branches long term can cost more than it returns. I eventually split my projects into two strategies by size:",
      "pandas 的威力在于链式表达：一次清洗可以被拆成\"读入 → 类型修正 → 缺失处理 → 去重 → 派生列 → 聚合\"的流水线。每一步都是纯函数，输入输出都是 DataFrame，方便单独测试和复用：": "pandas' power lies in chained expressions: one cleaning pass can be decomposed into a pipeline of \"read → type fixes → missing-value handling → deduplication → derived columns → aggregation\". Every step is a pure function with DataFrames as inputs and outputs, easy to test and reuse individually:",
      "不要忽略电源、网络和设备状态这些非代码因素。为设备增加心跳、重连和本地缓存，服务端记录最后在线时间，系统才不会把\"设备没电\"误判成\"数据为零\"。从小项目开始积累日志和测试，后面接入更多设备时会轻松很多。": "Do not overlook non-code factors such as power, networking, and device state. Add heartbeats, reconnects, and a local cache to the device, and have the server record the last-seen time; then the system will not mistake a powered-off device for a valid zero reading. Build up logs and tests on small projects first, and adding more devices later becomes much easier.",
      "不要忽略电源、网络和设备状态这些非代码因素。为设备增加心跳、重连和本地缓存，服务端记录最后在线时间，系统才不会把“设备没电”误判成“数据为零”。从小项目开始积累日志和测试，后面接入更多设备时会轻松很多。": "Do not overlook non-code factors such as power, networking, and device state. Add heartbeats, reconnects, and a local cache to the device, and have the server record the last-seen time; then the system will not mistake a powered-off device for a valid zero reading. Build up logs and tests on small projects first, and adding more devices later becomes much easier.",
      "传统权限是 DAC（自主访问控制），root 几乎无所不能；SELinux/AppArmor 是 MAC（强制访问控制），即使进程被攻破，也无法越权访问标记外的资源。Ubuntu 用 AppArmor，": "Traditional permissions use DAC (discretionary access control), where root can do almost anything. SELinux/AppArmor provide MAC (mandatory access control): even if a process is compromised, it cannot access resources outside its labels. Ubuntu uses AppArmor,",
      "悬垂指针（指向已释放内存）是最隐蔽的 bug 来源：释放后置 NULL、用智能指针或 RAII、避免\"指针传给多个函数后悄悄 free\"。检测工具有 Valgrind、AddressSanitizer（": "Dangling pointers (pointing to freed memory) are among the most elusive sources of bugs: set pointers to NULL after freeing, use smart pointers or RAII, and avoid silently freeing a pointer after passing it to several functions. Tools include Valgrind and AddressSanitizer (",
      "我们实验室用飞书做日常沟通，之前告警都是通过邮件发送——说实话，没人看邮件。后来把监控告警、部署通知、每日报表全部接入了飞书机器人，手机弹出通知的那一刻，信息触达率直接从 20% 飙升到接近 100%。": "Our lab uses Feishu for day-to-day communication. Alerts used to go by email—and honestly, nobody read them. After we routed monitoring alerts, deployment notices, and daily reports through a Feishu bot, the moment a notification appeared on a phone, the reach rate jumped from 20% to nearly 100%.",
      "深入掌握 Docker Compose 多服务编排，涵盖 docker-compose.yml 结构设计、网络规划、数据卷管理、健康检查、环境变量分层配置和开发/生产多环境切换，让你的容器化部署更专业。": "A deep dive into multi-service orchestration with Docker Compose, covering docker-compose.yml structure, network planning, volume management, health checks, layered environment configuration, and switching between development and production.",
      "物联网项目最容易被低估的部分不是“把数据发上来”，而是数据丢失、设备离线、重复上报和时间错乱发生时，系统能不能解释发生了什么。一条可用的链路要从设备身份、主题命名、消息质量、存储模型和告警策略一起设计。": "The most underestimated part of an IoT project is not sending data, but explaining data loss, device offline states, duplicate reports and timestamp errors. A reliable pipeline must design device identity, topic naming, message quality, storage and alerting together.",
      "脚本写好后在服务器上用 Cron 定时执行：每天早上 7 点触发，赶在出门前送到。为了应对 API 偶尔抽风的情况，还加了重试机制和失败告警——如果连续三次推送失败，会发一条单独的告警消息提醒手动检查。": "Run the script on the server with Cron at 7:00 every morning so the message is ready before you leave. Because the API may fail occasionally, add retries and failure alerts; after three consecutive failures, send a separate alert for manual inspection.",
      "镜像中只安装必要的运行时和字体，容器不暴露公网端口，只由 Nginx 通过内部网络访问。上传大小限制在代理层和应用层各做一次，日志记录任务 ID、耗时、输入类型和结果状态，但不要把用户文件内容写入日志。": "Only the necessary runtimes and fonts are installed in the image; containers expose no public ports and are only reachable by Nginx over the internal network. Upload size is limited at both the proxy layer and the application layer; logs record the task ID, duration, input type and result status — but never write user file contents into logs.",
      "做过完整的响应式前端与可视化：组件化页面、Canvas / SVG 动画、ECharts 数据大屏和玻璃质感设计系统，并用 Web Vitals 做性能优化，把复杂数据变成可理解、可操作、愿意探索的界面。": "I've built complete responsive front-ends and visualizations: component-based pages, Canvas / SVG animations, ECharts data dashboards, and a glassmorphism design system, with Web Vitals-driven performance optimization — turning complex data into interfaces that are understandable, actionable, and worth exploring.",
      "动效服务于信息层级：滚动出现控制节奏，悬停高亮提示可交互，页面切换表达层级。CSS 动画优先使用 transform 和 opacity（走合成线程），避免动 width/height/top 引起重排；": "Motion serves the information hierarchy: scroll-reveal controls pacing, hover highlights signal interactivity, page transitions express hierarchy. CSS animations should prefer transform and opacity (compositor thread), avoiding width/height/top changes that cause reflow;",
      "把\"规则\"和\"数值\"分开：计分公式、升级曲线、掉落概率全部来自配置对象，代码只解释配置。测试覆盖规则（升级到 N 级需要多少经验、碰撞是否触发伤害），调参只改数据。这样测试稳定，平衡性调整也不会引入回归。": "Separate \"rules\" and \"values\": the score formula, the upgrade curve, the probability of falling from the configuration object, the code only explains the configuration. Test coverage rules (how much experience is required to upgrade to level N, whether the collision triggers injury) with reference to data only. This test is stable, and balancing adjustments will not introduce regression.",
      "每个容器至少要有健康检查、重启策略和合理的日志限制。健康检查解决“进程还在但服务不可用”的假在线问题；日志轮转则避免长期运行把磁盘写满。更新时先启动新镜像并检查依赖，再切换入口，失败后保留旧镜像用于回退。": "Every container needs at least a health check, a restart policy and reasonable log limits. Health checks solve the fake-online problem of \"process alive but service unavailable\"; log rotation prevents long-running services from filling the disk. When updating, start the new image and verify dependencies first, then switch the entry point; keep the old image for rollback if it fails.",
      "证书必须覆盖访问的域名：单域名证书只匹配 example.com，通配符证书匹配 *.example.com 但不匹配 example.com 本身（部分厂商例外），多域名（SAN）证书可以列出多个域名。": "Certificates must cover the domains being accessed: a single-domain certificate only matches example.com; a wildcard certificate matches *.example.com but not example.com itself (with some vendor exceptions); multi-domain (SAN) certificates can list multiple domains.",
      "加 1 跳 1 字节。遍历时用指针运算与下标等价，但要注意越界是未定义行为，编译器可能\"看似能跑\"但行为不可预测。指针比较只能用在同一数组范围内（或指向数组尾部之后一格的合法比较），跨对象比较是未定义行为。": "Advance one byte per step. Pointer arithmetic and indexing are equivalent during traversal, but going out of bounds is undefined behavior: code may appear to work while remaining unpredictable. Pointer comparison is valid only within the same array (or one-past-the-end); comparing pointers from different objects is undefined.",
      "在修复\"分支从过期基线拉出\"时非常有用：把当前分支的提交整体搬到新基线之上，而不是把所有冲突重放一遍。注意 rebase 只处理本地或自己拥有的分支，公共分支上的历史重写会让所有人的 clone 一起坏掉。": "Rebase is useful when fixing a branch created from a stale baseline: move the current branch’s commits onto the new baseline instead of replaying every conflict. Use rebase only on local or privately owned branches; rewriting a public branch breaks everyone’s clones.",
      "容器是无状态的，数据必须放在卷或外部存储里。命名卷由 Docker 管理，适合数据库和证书这类\"应用数据\"；bind mount 适合开发时热更新源码。不要把数据库文件直接放容器层，否则重建容器等于删数据。": "Containers are stateless; data must live in volumes or external storage. Named volumes are managed by Docker and suit application data such as databases and certificates; bind mounts are useful for hot-reloading source code during development. Never put database files directly in the container layer—rebuilding the container would delete the data.",
      "我会先用无动画版本检查结构、对比度、键盘焦点和手机滚动，再逐步加入 reveal、悬停高光和主题过渡。这样即使用户关闭动画或浏览器不支持模糊，页面依然完整。技术展示的目标不是炫技，而是让访问者更快理解作品。": "I first check structure, contrast, keyboard focus, and mobile scrolling with animations disabled, then add reveal effects, hover highlights, and theme transitions step by step. Even if a user disables motion or a browser lacks blur support, the page remains complete. The goal of a technical showcase is not to show off, but to help visitors understand the work faster.",
      "飞书支持自定义机器人（Incoming Webhook），不需要 App ID 和 App Secret，一个 Webhook 地址就能发消息。在群聊设置里添加自定义机器人即可获得 Webhook URL。": "Feishu supports custom bots (Incoming Webhook). No App ID or App Secret is required; add a custom bot in the group settings to get a Webhook URL.",
      "全量简单可靠但体积大，增量省空间但恢复链条长。个人站点我采用\"每周全量 + 每天增量（binlog 或时间戳差异）+ 30 天保留\"。恢复时按\"最近全量 → 按序重放增量\"进行，脚本自动完成，不依赖人工判断。": "Full backups are simple and reliable but large; incremental backups save space but make the restore chain longer. For a personal site I use weekly full backups, daily incrementals (binlog or timestamp differences), and 30-day retention. Restore from the latest full backup and replay incrementals in order; the script handles it without manual decisions.",
      "就把控制权交回循环，等 IO 完成再回来继续。所以\"并发\"不是\"并行\"——它解决的是等待问题（网络、磁盘、数据库 IO），不是 CPU 密集计算。CPU 密集任务用多进程或交给 C 扩展，否则会阻塞整个循环。": "Just turn control back in the loop and come back when IO's finished. So \"comparment\" is not \"parallel\" -- it solves waiting questions (network, disk, database IO), not CPU intensive calculations. CPU intensive tasks are multi-processed or handed over to C for extension, otherwise they block the entire cycle.",
      "悬停高光用于提示可交互区域，滚动出现用于控制信息节奏，主题切换用于表达状态变化。除此之外的动画都应谨慎加入，并为减少动态效果的用户提供降级方案。设计系统的目标不是让页面更“炫”，而是让内容更容易被理解和使用。": "Hover highlights signal interactive areas, scroll-reveal controls information pacing, and theme switching expresses state changes. Any other animation should be added cautiously, with a reduced-motion fallback for users who want it. The goal of a design system isn't to make pages more “flashy“ — it's to make content easier to understand and use.",
      "或按 reflog 行号恢复，能救回\"reset 错了分支\"\"cherry-pick 完想撤销\"\"rebase 后想回退\"等场景。reflog 只存在本地，克隆/清理后不可用，重要操作前先打 tag 或备份。": "or restore by reflog line number — rescuing \"reset the wrong branch\", \"undo a cherry-pick\", \"back out of a rebase\". Reflog is local-only and lost after clone/cleanup; tag or back up before important operations.",
      "一条折线只展示数值是不够的。图表要能切换时间范围，显示设备 ID、单位和最后更新时间；当设备离线时明确展示“无新数据”，而不是把旧数据画成实时状态。阈值告警里应带上设备、数值、时间和最近几次采样，方便直接定位。": "A line chart showing values alone is not enough. It should switch time ranges and show device ID, units and the last update; when a device is offline, show “no new data” instead of presenting stale data as live. Threshold alerts should include the device, value, time and recent samples for quick diagnosis.",
      "伤害、拾取、升级和失败都需要可感知的反馈，而且反馈应该分层：视觉（闪光/位移/粒子）、数值（飘字）、音效（可选）、状态（图标/血条）。反馈不是装饰，它承担着解释规则的任务——玩家看到\"为什么扣血\"才能学会规避。": "Injuries, pick-ups, upgrades and failures all require perceived feedback, and feedback should be layered: visual (light/position shift/particle), numerical (dissemination), sound (optional), state (image/blood bar). Feedback is not decorative, it's the task of explaining the rules -- the player sees \"why the blood\" to learn circumvention.",
      "查询；定期检查：多余账号、空密码、弱密钥、未授权 SUID、公开可写目录。给每个服务单独的运行用户、目录只给最小权限、密钥文件 600、配置文件 640，把这些写进部署清单，权限管理从\"会命令\"变成\"成体系\"。": "Query; run regular checks for extra accounts, empty passwords, weak keys, unauthorized SUID files, and world-writable directories. Give each service its own runtime user, grant directories only the minimum permissions, use 600 for key files and 640 for configuration files, and record these rules in the deployment checklist—turning permissions management from ad-hoc commands into a system.",
      "用 Python / Java、Web、MySQL、Redis 和 MQTT 完成课程项目与小型服务：独立交付智慧图书馆管理系统、校园二手交易平台和物联网数据采集平台，第一次跑通设备端到 Web 端的完整链路。": "I used Python/Java, web technologies, MySQL, Redis, and MQTT to deliver course projects and small services: a smart-library management system, a campus second-hand marketplace, and an IoT data-collection platform. It was my first complete device-to-web pipeline.",
      "界面只是交互的外壳。真正的交互设计要回答：用户带着什么目标来、下一步是否清楚、失败时是否被原谅、进步是否被看见。把交互当作产品的一部分来设计，而不是页面的一部分来装饰，才是从\"会写前端\"到\"会做产品\"的分水岭。": "The interface is only the shell of an interaction. Good interaction design asks what the user came to achieve, whether the next step is clear, whether failure is recoverable, and whether progress is visible. Treating interaction as part of the product—not decoration on a page—is the difference between merely writing frontend code and building a product.",
      "cherry-pick 把某个提交的改动复制到当前分支，适合\"hotfix 只挑修复提交上主干\"\"多分支同时需要同一个修复\"。注意 cherry-pick 会产生新 commit，与源提交哈希不同；连续多个提交用": "cherry-pick copies a commit's changes onto the current branch — ideal for \"hotfix: pick only the fix commit onto main\" or \"multiple branches need the same fix\". Note it creates a new commit with a different hash than the source; for ranges use",
      "前端状态用单一数据源管理：当前 lesson、当前 item、作答队列、复习计划分开维护，UI 只读状态，操作走 action。这样\"上一题/下一题/返回列表\"的导航逻辑清晰，也方便加键盘快捷键和无障碍焦点管理。": "Manage frontend state through a single source of truth: keep the current lesson, current item, answer queue, and review plan separate; let the UI read state and route changes through actions. This keeps “previous / next / back to list” navigation clear and makes keyboard shortcuts and accessible focus management easier.",
      "原始数据适合按天归档，仪表盘则读取分钟或小时聚合值。实时曲线只保留最近窗口，历史趋势使用降采样结果，既降低查询压力，也让浏览器绘图更流畅。告警规则最好独立于页面：阈值、持续时间、冷却时间和恢复通知都应当可以配置。": "Archive raw data daily while the dashboard reads minute- or hour-level aggregates. Keep only a recent window for real-time charts and use downsampled data for historical trends; this reduces query load and keeps browser rendering smooth. Keep alert rules independent of the page so thresholds, durations, cooldowns, and recovery notices remain configurable.",
      "对文件和目录语义不同：文件上 r 可读内容、w 可写、x 可执行；目录上 r 可列目录、w 可增删改名、x 可进入（搜索路径）。没有 x 的目录，即使 r 也进不去。这些差异解释了\"为什么能看权限但打不开目录\"。": "The semantics differ between files and directories: on files, r reads content, w writes, x executes; on directories, r lists, w adds/deletes/renames, x enters (search path). A directory without x is inaccessible even with r. This explains \"why you can see the permissions but can't open the directory\".",
      "日志统一输出到 stdout，由日志采集器按天归档；数据库慢查询单独记录，配合 EXPLAIN 优化。证书到期前 30/7/3/1 天分级提醒，备份每天校验一次可读性，这两件事做到\"自动巡检\"，比任何大屏都实在。": "Write all logs to stdout and archive them daily with a log collector; record database slow queries separately and use EXPLAIN to optimize them. Send tiered reminders 30/7/3/1 days before certificate expiry, and verify backup readability once a day. These automated checks are more useful than any big-screen dashboard.",
      "Roguelike 类游戏最怕玩到一半丢了进度。存档至少包含：关卡、玩家状态、职业树、已解锁项和时间戳，写入 localStorage 前做版本号标记。恢复时先校验数据完整，再按版本迁移，避免旧存档在新版本里崩溃。": "Roguelikes dread losing progress halfway through. A save must include at least: level, player state, skill tree, unlocked items and a timestamp, with a version marker before writing to localStorage. On restore, validate data integrity first, then migrate by version, so old saves don't crash in new versions.",
      "产品上线后我重点看四类指标：日均练习数、复习完成率、错题回流率（错过的题是否再次正确）、留存。单个指标会骗人：练习数高但错题永远错，说明反馈没起作用。统计页把\"正确率提升\"放在显眼位置，比累计天数更能体现学习价值。": "After launch I focus on four metrics: daily practice volume, review completion rate, wrong-answer return rate (whether missed items are answered correctly later), and retention. A single metric can mislead: high practice volume with the same mistakes means feedback is not working. Put improvement in accuracy where it is prominent; it shows learning value better than a cumulative day count.",
      "性能优化不能只靠\"感觉变快了\"。我用三个核心指标度量：LCP（最大内容绘制，代表加载速度）、CLS（累积布局偏移，代表稳定性）、INP（交互响应，代表可操作性）。优化前先记录基线，每次改动后对比，保证优化方向正确。": "Performance optimization cannot rely on a feeling that the page is faster. I track three core metrics: LCP (Largest Contentful Paint, loading speed), CLS (Cumulative Layout Shift, visual stability), and INP (Interaction to Next Paint, responsiveness). Record a baseline before each change and compare afterward to confirm the direction is right.",
      "游戏难度不是把敌人血量无限调高。速度、刷新间隔、视野范围、奖励曲线和失败后的恢复成本都应该可以配置。把这些参数集中在数据文件中，调参就不必修改核心逻辑；同时记录一局游戏的随机种子，才能复现一个偶发的碰撞或得分异常。": "Game difficulty is not about endlessly increasing enemy HP. Speed, spawn interval, view range, reward curve, and recovery cost after failure should all be configurable. Keep these parameters in a data file so tuning does not touch core logic; also record the random seed for each run so rare collisions or score anomalies can be reproduced.",
      "云厂商自带基础监控（CPU/带宽/磁盘），但应用层的健康要自己补：容器健康检查、证书到期、备份成功与否、磁盘写满。我的组合：云监控做基础设施告警 + 自建脚本做应用告警（飞书推送），覆盖\"机器活着但服务坏了\"的盲区。": "Cloud vendors provide basic monitoring (CPU/bandwidth/disk), but application-level health must be added yourself: container health checks, certificate expiry, backup success, disk full. My combo: cloud monitoring for infrastructure alerts + self-built scripts for application alerts (Feishu push), covering the blind spot of \"machine alive but service broken\".",
      "头做路由分发。客户端请求到达 Nginx 后，Nginx 检查请求的域名或路径，然后透明地将流量转发到对应的后端服务。对客户端来说，看到的是同一个 IP 和端口；对后端服务来说，它们各自监听不同的内部端口，互不干扰。": "Nginx handles route distribution. When a request arrives, it checks the host or path and transparently forwards traffic to the corresponding backend service. The client sees one IP and port; each backend listens on its own internal port without interfering with the others.",
      "每个卡片都应该服务于一个问题：服务是否在线？磁盘是否正在接近阈值？错误率是否突然上升？证书是否需要处理？如果一张图回答不了问题，就先补数据和上下文，而不是继续堆颜色。好的仪表盘不是信息最多，而是让下一步行动足够明确。": "Each card should answer one question: Is the service online? Is disk usage nearing its threshold? Has the error rate suddenly risen? Does a certificate need attention? If a chart cannot answer a question, add data and context instead of more colors. A good dashboard is not the one with the most information; it makes the next action obvious.",
      "点击按钮要有按下反馈，保存要有成功提示，失败要说明原因和下一步。反馈优先级：防止误操作的确认 > 操作成功的确认 > 装饰性动效。异步操作必须区分\"进行中、成功、失败\"三种状态，超过 1 秒的等待给出进度或取消入口。": "A button needs press feedback, a save needs a success message, and a failure needs its cause and next step. Prioritize confirmation that prevents mistakes, then confirmation of success, then decorative motion. Async actions must distinguish running, succeeded, and failed; if a wait exceeds one second, show progress or offer cancellation.",
      "首先是系统初始化：更新软件源、安装 Docker 和 Docker Compose、配置非 root 用户。安全方面绝对不能马虎——修改 SSH 默认端口、禁用密码登录、开启 UFW 防火墙并安装 Fail2Ban。": "Start with system initialization: update package sources, install Docker and Docker Compose, and configure a non-root user. Security is non-negotiable—change the default SSH port, disable password login, enable the UFW firewall, and install Fail2Ban.",
      "学习工具最容易做成\"内容仓库\"：词表、题集、统计都有，用户却不知道怎么开始。可持续学习依赖三个心理学机制：主动回忆（做题而不是重读）、间隔重复（在遗忘临界点复习）、反馈闭环（错误立即被解释）。产品设计应该围绕这三件事：": "Learning tools too easily become \"content warehouses\": word lists, question banks and statistics are all there, but users don't know where to start. Sustainable learning relies on three psychological mechanisms: active recall (answering instead of rereading), spaced repetition (reviewing at the forgetting threshold) and feedback loops (errors explained immediately). Product design should revolve around these three things:",
      "校园推送最隐蔽的坑是\"今天到底是第几周\"。直接用系统日期减去开学日期会踩到补课、调休和法定节假日的坑。我把周次表做成配置文件，每学期人工维护一次：周一至周日为一周，特殊日期标记为\"放假\"或\"补课\"，推送逻辑只认这张表。": "The most hidden pit on campus is \"Today's Week.\" Direct system dates minus school days are used to step on pits for remedial classes, break and official holidays. I'm making the weekly tabulation into a configuration file, manually maintaining it once a semester: a week from Monday to Sunday, with a special date marked \"leave\" or \"compensation\" and the logic only recognizes this form.",
      "设备端应设置心跳、重连退避和本地缓存，服务端则记录连接、订阅、解析失败和消费延迟。排查问题时先确认网络，再确认认证，再确认 Topic 和 payload，最后才看业务代码。把协议问题拆层定位，通常比盲目重启设备更快。": "Devices should set heartbeats, reconnect backoff and local caching; the server should log connections, subscriptions, parse failures and consumption lag. When troubleshooting, check the network first, then auth, then topic and payload, and only then business code. Decomposing protocol problems by layer is usually faster than blindly restarting devices.",
      "Payload 里常见的声明：sub（用户 id）、exp（过期时间）、iat（签发时间）、jti（唯一 id，用于黑名单）。不要放密码等敏感信息，Payload 只是 base64 编码，任何人都能解码，只是无法篡改。": "Common JWT payload claims include sub (user ID), exp (expiry), iat (issued-at time), and jti (a unique ID for a blacklist). Never put passwords or other secrets in the payload: it is only Base64-encoded, so anyone can decode it, even though they cannot alter it without invalidating the signature.",
      "我把几次真实故障（证书续签失败、磁盘写满、容器 OOM）写成了复盘：现象、时间线、根因、修复、预防。每次复盘都补一条自动化检查或告警，系统因此越来越\"懂事\"。架构的价值不在于一次搭得多完美，而在于每次故障后都变得更可靠。": "I documented several real incidents (certificate-renewal failure, a full disk, and container OOM) as postmortems covering symptoms, timeline, root cause, fix, and prevention. Each postmortem adds an automated check or alert, so the system becomes more resilient. An architecture is valuable not because it is perfect on day one, but because every incident makes it more reliable.",
      "时间字段要统一时区，分类字段要处理空格、大小写和别名，数值字段则要区分“没有测量”和“测量结果为零”。对于重复记录，可以依据业务主键去重，而不是简单按整行比较。最终输出同时保存数据字典和处理版本，后续的图表才有解释基础。": "Time fields are to be unified, classification fields are to deal with spaces, case and aliases, and numerical fields are to distinguish between \" no measurements \" and \" zero measurements \" . For duplicate records, weight can be based on the main key, rather than simply row-by-line comparison. The final output saves both the data dictionary and the processing version before the subsequent chart has an explanatory basis.",
      "AI 可以帮助生成例句、检查重复和提示难度，但不应直接决定学习结论。生成内容需要经过格式校验、敏感词过滤和人工抽查；用户的错题和学习记录则应最小化收集，导出与删除都要有明确入口。把这些边界写进设计里，产品才会既好用又可信。": "AI can help generate examples, detect duplicates and suggest difficulty levels, but it should not directly decide learning outcomes. Generated content goes through format validation, sensitive-word filtering and human spot checks; users' wrong answers and learning records should be collected minimally, with clear entry points for export and deletion. Writing these boundaries into the design makes the product both usable and trustworthy.",
      "Redis 默认可能落盘，也可能只跑内存，取决于配置。RDB 适合做快照备份，AOF 适合少丢数据；个人项目我开 AOF（everysec）+ 定期 RDB，重启后数据可恢复。安全上必须：绑定内网、设置密码、禁用危险命令（": "Redis defaults may drop the disc or run only memory, depending on configuration. RDB for snapshot backup, AOF for low drop data; I drive AOF (everysec)+ regular RDB, restartable data. Safety must include: binding of the internal network, setting of passwords, banning of hazard commands.",
      "我把这套设计体系应用到了个人网站的首页、博客、项目展示和仪表盘四个页面。暗色模式下的玻璃效果更加惊艳——深色半透明背景配合微弱的白色边框，科技感拉满。整个站点在视觉上保持了高度统一，访客反馈\"看起来像 Apple 官网\"。": "I applied this design system to four pages of the personal site: homepage, blog, projects and dashboard. The glass effect is even more striking in dark mode — dark translucent backgrounds with faint white borders, full tech vibes. The whole site stays visually cohesive, and visitors say it \"looks like the Apple website\".",
      "液态玻璃通常由半透明背景、边框、高斯模糊和柔和阴影组成，但这些效果叠加后很容易造成文字对比度不足。实现时应先保证内容层级和颜色对比，再逐步添加 blur、渐变和高光；深色主题不能只把背景变黑，还要重新校准边框和阴影的亮度。": "Liquid glass typically combines a translucent background, border, Gaussian blur and soft shadows — but stacking these effects easily kills text contrast. When implementing, first ensure content hierarchy and color contrast, then gradually add blur, gradients and highlights; a dark theme isn't just a black background — border and shadow brightness must be recalibrated too.",
      "视觉风格只是入口，真正决定网站是否耐用的是交互节奏。个人站点同时承担作品集、博客、工具箱和实验项目入口，如果每个页面都像不同项目拼在一起，访问者会失去方向。因此我把导航、玻璃卡片、间距、颜色和动效抽成一套可复用的视觉语言。": "Visual style is only the entry point; interaction rhythm determines whether a site remains usable. A personal site may serve as a portfolio, blog, toolbox, and gateway to experiments. If every page feels like a different project, visitors lose their bearings. I therefore turn navigation, glass cards, spacing, color, and motion into a reusable visual language.",
      "在移动端还要考虑触摸区域、设备性能和页面可见性。切到后台时暂停计时器，恢复时重新计算时间差；高密度粒子效果则根据设备像素比和帧率动态降级。对我来说，游戏实验的价值不只是“能玩”，而是练习状态机、事件系统、性能分析和用户反馈。": "On mobile, also account for touch targets, device performance, and page visibility. Pause timers when the page goes into the background and recompute elapsed time when it returns. Dynamically reduce dense particle effects based on device pixel ratio and frame rate. For me, game experiments are valuable not merely because they are playable, but because they exercise state machines, event systems, performance analysis, and user feedback.",
      "现在我们的仓库配置了 GitHub Actions，每次 Push 到 develop 分支自动运行测试和 Lint，合并到 main 后自动部署。一套完整的工作流让代码质量有了基本保障，也少了很多\"在我电脑上能跑\"的扯皮。": "Our repository now uses GitHub Actions: every push to develop runs tests and linting, and merges to main trigger deployment. A complete workflow provides a basic quality gate and avoids arguments about whether something “only works on my machine.”",
      "借阅量按日、按周、按分类聚合，逾期率与归还准时率是最能反映系统健康度的指标。数据量预估后，把归档历史借阅移到按月分区表，索引与查询都更有针对性。系统设计之初就把\"将来会有多少数据、多久查一次\"想清楚，比上线后被迫重构舒服得多。": "Borrowing volume is aggregated by day, week and category; the overdue rate and on-time return rate are the best health indicators for the system. After estimating data volume, move archived historical borrowings to monthly partitioned tables for more targeted indexes and queries. Thinking through \"how much data there will be and how often it's queried\" at design time is far more comfortable than being forced to refactor after launch.",
      "我的个人博客上线后，用 Chrome DevTools 的 Lighthouse 跑了一次——性能评分只有 42 分，First Contentful Paint 高达 2.8 秒。一个纯静态的博客首页，这个速度完全不能接受。": "After launching my personal blog, I ran Chrome DevTools' Lighthouse once — a performance score of 42 and a 2.8s First Contentful Paint. Completely unacceptable for a purely static blog page.",
      "每个任务记录开始、结束时间和结果，日志带 task_id，跨请求追踪一条链路。定期清理超过保留期的结果文件与数据库记录；磁盘使用率超过阈值时，优先清理最旧的已完成任务。把\"转换失败\"变成可诊断的事件，而不是一个神秘的 500。": "Every task records start time, end time and result; logs carry a task_id so a single chain can be traced across requests. Result files and database records older than the retention period are cleaned up regularly; when disk usage exceeds the threshold, clean the oldest completed tasks first. Turn \"conversion failed\" into a diagnosable event instead of a mysterious 500.",
      "部署过程中遇到不少问题：Docker 容器内时区不对导致日志时间混乱、MySQL 连接数超限、以及 Certbot 验证文件路径配置错误。每次踩坑都是一次学习，现在整个部署流程已经形成了一套可复用的模板，新项目接入只需几分钟。": "Deployment exposed several issues: the wrong timezone inside Docker containers made log timestamps inconsistent, MySQL hit its connection limit, and Certbot pointed to the wrong validation path. Each failure became a lesson; the entire deployment flow is now a reusable template, so a new project can be onboarded in minutes.",
      "个人站点可以把公开页面和 API 都放在 443 入口，后端容器只加入内部网络。服务数量增加后，应将重复的代理头、超时和大小限制抽成统一习惯，并为每条路径写一条最小化的验收命令。配置不是部署结束后的附属品，而是系统边界的一部分。": "Personal sites can put both public pages and APIs behind the 443 entry, with backend containers only joining the internal network. As the service count grows, extract repeated proxy headers, timeouts and size limits into unified conventions, and write one minimal acceptance command per path. Configuration isn't an afterthought to deployment — it's part of the system boundary.",
      "告警分级：P1 服务不可用（立即处理）、P2 部分功能受损（2 小时内）、P3 容量预警（次日）。个人项目 P1 基本只有\"站点挂了\"，把精力花在 P1 的自动恢复（systemd 自启、容器自动重启、健康检查）上，性价比最高。": "Use alert levels: P1 means the service is unavailable and needs immediate action; P2 means a partial feature outage and should be handled within two hours; P3 is a capacity warning for the next day. For a personal project, P1 is usually just “the site is down”, so invest in automatic P1 recovery with systemd startup, container restarts, and health checks.",
      "库 | | 多个定时任务、复杂调度 | APScheduler | | 需要崩溃重启、开机自启 | APScheduler + systemd | | 分布式任务（多机器） | Celery + Redis/RabbitMQ |": "Library | | Multiple scheduled tasks, complex scheduling | APScheduler | | Crash restart, auto-start on boot | APScheduler + systemd | | Distributed tasks (multiple machines) | Celery + Redis/RabbitMQ |",
      "消息内容最好有稳定结构：日期、天气、课程时间、地点和备注分组展示，空数据明确写“暂无安排”。Webhook 地址等敏感配置放在环境变量中，日志只记录状态和任务 id，不输出完整密钥。脚本退出码要反映成功或失败，方便外层监控捕获。": "Messages should have a stable structure: date, weather, course times, locations and notes grouped for display, with empty data explicitly showing “No schedule“. Sensitive config like the Webhook URL lives in environment variables, and logs never output full values.",
      "matplotlib 是 Python 可视化的基石。折线图看趋势、柱状图做对比、散点图找关联。配合 seaborn 可以让图表更美观。在实际项目中，我用它绘制了传感器数据的日变化曲线和异常检测结果，把枯燥的数字变成了直观的图形。": "Matplotlib is a foundation of Python visualization: line charts show trends, bar charts compare values, and scatter plots reveal relationships. Seaborn can improve the presentation. In a real project I used them to plot daily sensor patterns and anomaly-detection results, turning dry numbers into readable visuals.",
      "从设备数据采集、清洗、聚合到可视化和模型调用都跑过完整链路：ESP32 传感器数据进 MySQL、pandas 做可复现分析、ECharts 出大屏，并基于 LLM / RAG 做过文档问答与提示词评测，能设计数据字典和校验规则。": "I've run the full pipeline from device data collection, cleaning, and aggregation to visualization and model calls: ESP32 sensor data into MySQL, reproducible analysis with pandas, dashboards with ECharts, plus document Q&A and prompt evaluation with LLM / RAG — and can design data dictionaries and validation rules.",
      "仪表盘加一条事件时间线：部署、重启、证书续签、备份完成、告警触发都成为带时间戳的事件。故障排查时先看时间线（今天发生了什么变更），再看指标异常，通常几秒就能定位根因。这套做法是我从\"数字对不对\"到\"系统为什么变成这样\"的关键一步。": "Add an event timeline to the dashboard: deployments, restarts, certificate renewals, completed backups, and alert triggers become timestamped events. During troubleshooting, check the timeline first—what changed today—then inspect anomalous metrics; the root cause is often clear within seconds. This is the key step from asking “are the numbers right?” to asking “why did the system become this way?”",
      "我的站点经历了\"单文件 → 单服务 → 多服务\"的演进。拆分的标准不是代码行数，而是三个问题：独立扩容需求、独立故障域、独立生命周期。博客和工具箱的访问模式不同，拆分后互不影响；仪表盘要读宿主指标，单独一个容器更容易控制挂载权限。": "My site evolved through \"single file → single service → multiple services\". The split criteria aren't lines of code but three questions: does it scale independently, is it an independent failure domain, does it have an independent lifecycle? Blog and toolbox have different access patterns, so splitting keeps them isolated; the dashboard must read host metrics, so its own container makes mount permissions easier to control.",
      "新机器到手按清单初始化：更新系统、创建低权限用户、SSH 改端口 + 密钥登录 + 禁用密码、安装 fail2ban、配置时区、开防火墙（UFW）、关闭不必要的服务。每一步记录到部署手册，之后每次重装都走同一套清单，而不是靠记忆。": "Initialize every new machine from a checklist: update the system, create a low-privilege user, change the SSH port, use key authentication, disable passwords, install fail2ban, configure the time zone, enable UFW, and disable unnecessary services. Record every step in the runbook and reuse the same checklist after each reinstall instead of relying on memory.",
      "转换服务的核心不是调用 LibreOffice，而是把不可靠的外部进程封装成可控的任务。请求进入后先校验扩展名和大小，再生成唯一任务目录；转换进程使用超时、独立临时目录和最小权限运行，完成后只返回结果文件，不让用户接触服务器路径。": "The core of a conversion service is not calling LibreOffice; it is wrapping an unreliable external process in a controllable task. Validate the extension and size first, then create a unique task directory. Run the converter with a timeout, an isolated temporary directory, and least privilege; after completion, return only the result file and never expose the server path.",
      "HS256 用共享密钥，简单但所有验证方共享同一个密钥，泄漏等于全线失守；RS256 用非对称，服务 A 用私钥签发，服务 B/C 用公钥验证，适合微服务。选择要点：单服务小项目 HS256 够用，多服务或第三方验证用 RS256。": "HS256 A shared key, simple but shared by all certifying parties, is equivalent to a full line failure; RS256 Asymmetrical, Service A is issued as a private key, Service B/C is certified as a public key and suitable for micro-services. Selection point: Single service small item HS256 sufficient, multi-service or third-party certification RS256.",
      "LibreOffice 对超大文件可能卡死，转换进程必须设超时（比如 120 秒），超时后 kill 子进程并清理半成品。失败重试有次数上限，重试前检查输入文件是否仍存在；下载接口幂等——同一任务多次下载返回同一文件，不重复扣配额。": "LibreOffice can hang on very large files, so the conversion process must have a timeout (e.g. 120 seconds); after it fires, kill the child process and clean up partial output. Retries are capped and first check that the input file still exists; the download endpoint is idempotent — downloading the same task multiple times returns the same file without double-charging quota.",
      "传感器数据的特点是\"写多、按时间查多\"。小规模项目 MySQL 完全够用：按设备 + 时间建复合索引，分钟级聚合表满足仪表盘查询。数据量上来后再换时序数据库，或者用分区表归档历史数据。不要一上来就引入复杂组件，先让最简单的方案跑通。": "Sensor data is write-heavy and commonly queried by time. MySQL is enough for a small project: add a composite index on device and time, and use minute-level aggregates for dashboard queries. Move to a time-series database or partitioned archival tables only when the data grows. Do not introduce complex components before the simplest solution works.",
      "纯文本消息只能通知，卡片才能承载交互。飞书卡片支持文本、图片、按钮、链接、进度条等元素，JSON 结构清晰。我把卡片按场景分成模板：告警卡片（红条 + 指标 + 操作按钮）、日报卡片（表格 + 跳转链接）、确认卡片（按钮触发回调）。": "Plain-text messages can only notify; cards can carry interaction. Feishu cards support text, images, buttons, links, progress bars and more, with a clear JSON structure. I organize cards by scenario",
      "部署前先校验环境变量、磁盘空间、端口占用和镜像版本；部署中记录每个服务的拉取、启动和健康检查结果；部署后访问首页、API 和静态资源，并保留最近一次成功版本。出现异常时，脚本应该能够停止后续步骤并给出回滚命令，而不是继续执行到一半。": "Before deploying, validate environment variables, disk space, port usage and image versions; during deployment, record each service's pull, startup and health-check results; after deploying, visit the homepage, API and static assets, and keep the last successful version. On anomalies, the script should stop subsequent steps and provide a rollback command rather than running halfway through.",
      "阿里云安全组是独立于系统的防火墙。原则是\"只放必要的入站\"：80/443 给 Web，22 只允许自己的 IP（或改端口），数据库、Redis 端口一律不放公网。安全组规则修改立即生效，先最小开放再按需加白名单，比事后补救安全得多。": "Aliyun security groups are a firewall independent of the operating system. Allow only necessary inbound traffic: 80/443 for the web service and SSH only from your IP (or on a changed port); never expose database or Redis ports. Changes take effect immediately, so start with the smallest allowlist and expand only when needed.",
      "MQTT 的 QoS 只解决传输确认，不代表业务数据一定不会重复。消费者应使用消息 id 或设备时间戳做幂等处理；断线重连时从持久化会话继续消费，并把解析失败的原文放进隔离队列，方便人工检查。这样设备网络波动不会直接变成数据库脏数据。": "MQTT QoS confirms delivery at the transport level; it does not guarantee that business data will never be duplicated. Consumers should use a message ID or device timestamp for idempotency, resume from a persistent session after reconnecting, and put unparseable payloads in a quarantine queue for inspection. This prevents network jitter from becoming dirty database data.",
      "先实现可解释的简化版本：连续答对 → 间隔翻倍（1/3/7/14 天）；答错 → 间隔归 1 天并进入\"近期复习\"池；跳过 → 视为弱答，稍后重现。等积累了上千条 attempt 数据，再引入 SM-2 或 FSRS 之类的成熟算法。": "A simplified version that can be explained first: consecutive answers double the interval (1/3/7/14 days); wrong answers divide by 1 day and enter the `near term' pool; skipping the `near term' is considered weak, then repeats. When thousands of attempt data are accumulated and mature algorithms like SM-2 or FSRS are introduced.",
      "同一份数据按生命周期存三层：原始明细（保留 30 天，按设备 + 时间索引）、小时/天聚合（保留 1 年，供仪表盘查询）、月度归档（压缩存储）。查询先打聚合表，需要下钻再查明细。这样既保证告警能看秒级数据，又不会让历史数据把查询拖垮。": "Store the data in three lifecycle layers: raw details (keep 30 days, indexed by device and time), hourly/daily aggregates (keep one year for dashboard queries), and compressed monthly archives. Query the aggregate table first and drill into raw details only when needed. This keeps second-level alert data available without letting history slow down queries.",
      "开通\"到期/欠费提醒\"，设置按量资源的额度告警；镜像和快照按需清理，日志按天压缩短存。容量规划看增长趋势：带宽、磁盘、内存的月均使用率，超过 70% 提前扩容或优化，而不是等故障发生。服务器是从零到一的路，运维是把这条路走稳的长期工作。": "Enable expiry/arrears reminders and set quota alerts for pay-as-you-go resources; clean up images and snapshots on demand, and compress logs daily for short retention. Capacity planning follows growth trends: if the monthly average utilization of bandwidth, disk or memory exceeds 70%, scale up or optimize in advance instead of waiting for an outage. A server is the road from zero to one; operations is the long-term work of keeping that road stable.",
      "把博客、课程笔记、项目文档和故障记录统一索引：先以全文搜索建立基础，再为文档切片生成向量索引，检索时混合召回并做重排，结果带原文引用回链，方便直接回到出处。索引构建、切片策略与查询评测都有脚本记录，是 RAG 应用与知识管理结合的实践。": "Indexes blogs, course notes, project docs, and incident records in one place: full-text search as the base, then chunked documents get vector indexes, retrieval mixes both with reranking, and results carry citation backlinks to the original source. Index construction, chunking strategy, and query evaluation are all scripted — a practice combining RAG applications with knowledge management.",
      "数据备份不是可选项。数据库每日全量 + 远程加密存储，网站源码进 Git，证书与配置定期归档。每月做一次恢复演练：从空机器按文档恢复，验证数据完整、服务可用。发现文档缺步骤就补上——恢复演练的产出不是\"成功了\"，而是\"每一步都可执行\"。": "Data backup is not optional. Daily full database backups + remote encrypted storage, website source in Git, certificates and config archived regularly. Once a month, run a recovery drill: restore from a bare machine following the docs, verifying data integrity and service availability. If the docs miss a step, add it — the output of a recovery drill isn't \"it worked\" but \"every step is executable\".",
      "温湿度这种高频数据可以接受少量丢失，QoS 0 或 QoS 1 通常已经足够；门锁指令、升级命令等关键消息则要考虑更高可靠性，同时处理重复投递。选择 QoS 时要结合带宽、电量、Broker 能力和业务后果，而不是把“2”当成默认答案。": "High-frequency temperature and humidity data can tolerate a small amount of loss, so QoS 0 or QoS 1 is usually enough. Door-lock commands and firmware updates need stronger delivery guarantees plus duplicate handling. Choose QoS based on bandwidth, battery, broker capacity, and business impact—not by treating “2” as the default.",
      "Let's Encrypt 证书有效期 90 天，手工续签注定会忘。Certbot 的流程：HTTP-01 验证（在站点路径放挑战文件）或 DNS-01 验证（改 TXT 记录，支持通配符）。续签后 Nginx 重载，证书文件按日期归档，": "Let's Encrypt certs are valid 90 days; manual renewal will definitely be forgotten. Certbot flow: HTTP-01 (drop a challenge file at the site path) or DNS-01 (change TXT records, supports wildcards). Reload Nginx after renewal, archive cert files by date, and",
      "前后端分离项目尤其要注意配置来源：浏览器可见的地址写在构建配置里，数据库密码和 Webhook 只放在运行时环境变量中。镜像使用固定标签或摘要，避免“latest”在不同时间指向不同内容。日志和构建产物保留短周期即可，但版本号必须可追溯。": "Frontend/backend separation projects must pay special attention to config sources: browser-visible URLs go in build config; database passwords and Webhooks only live in runtime environment variables. Images use fixed tags or digests to avoid “one version at build time, another at runtime“.",
      "我给个人站点定了一个简单 SLO：30 天可用性 ≥ 99%，P95 响应 < 500ms，备份成功率 100%。SLO 的意义不是\"目标必须 100%\"，而是让\"要不要半夜起来处理\"有依据：低于 99% 就进入人工检查，高于则保持告警。": "I set a simple SLO for the personal site: at least 99% availability over 30 days, P95 latency below 500 ms, and a 100% backup success rate. The point is not to demand 100% everywhere, but to make the decision to wake up at night evidence-based: below 99% triggers manual investigation; above it, keep monitoring and alerting.",
      "日志不是越多越好，而是每行都有用：请求日志带方法、路径、状态、耗时、来源 IP；应用日志区分 INFO/WARNING/ERROR。按天归档 + 压缩，保留 30 天；搜索按时间范围过滤，先缩小范围再查关键字。个人项目不需要上 ELK，用": "Logs are not \"more is better\" — every line should earn its place: request logs carry method, path, status, latency, and source IP; app logs distinguish INFO/WARNING/ERROR. Archive daily + compress, keep 30 days; filter searches by time range first, then keyword. A personal project doesn't need ELK; use",
      "逾期罚款涉及读者类型（学生/教职工）、节假日顺延和封顶金额。把这些规则写成数据表而不是散落在代码里：读者类型表定义最大借阅数与借期，罚款规则表定义每日金额与封顶，节假日表标记顺延日期。计算逾期时传入规则版本，改规则不影响历史记录的正确性。": "Overdue fines depend on reader type (student or staff), holiday extensions, and a cap. Store these rules in data tables instead of scattering them through code: a reader-type table defines the borrowing limit and loan period, a fine-rules table defines the daily amount and cap, and a holiday table marks extension dates. Pass the rule version when calculating fines so changes do not alter historical records.",
      "| 权限 | 文件 | 目录 | |------|------|------| | r (4) | 读取文件内容 | 列出目录内容 | | w (2) | 修改文件内容 | 创建/删除文件 | | x (1) | 执行文件 | 进入目录 |": "| Permission | File | Directory | |---|---|---| | r (4) | Read file contents | List directory contents | | w (2) | Modify file contents | Create/delete files | | x (1) | Execute file | Enter directory |",
      "个人网站最容易陷入一种状态：页面越做越多，部署却仍然靠手动复制文件。每次改动都可能影响其他页面，出了问题也很难知道到底是前端、代理还是后端出了问题。我的做法是把网站当成一座小型平台来建设，让每项能力有自己的边界，再用统一入口把它们连接起来。": "The trap personal websites fall into most: pages keep growing while deployment still relies on manually copying files. Every change risks affecting other pages, and when something breaks it's hard to tell whether the frontend, proxy, or backend is at fault. My approach is to build the site as a small platform — each capability has its own boundary, and a unified entry point connects them.",
      "同步接口适合小文件，超过阈值就应该进入异步队列。任务状态至少包含 queued、running、succeeded、failed 四种状态，并记录耗时、输入大小、输出大小和错误摘要。即使转换失败，也要清理临时文件，避免磁盘被半成品慢慢占满。": "Synchronous APIs suit small files; above a threshold, enqueue the job asynchronously. A task should have at least four states—queued, running, succeeded, and failed—and record duration, input size, output size, and an error summary. Clean up temporary files even on failure so unfinished artifacts do not slowly fill the disk.",
      "我把备份分成三类：源码和配置用于重建服务，镜像用于缩短恢复时间，命名卷用于保留业务数据。证书和日志属于敏感或高增长内容，需要单独设置权限与保留周期。SHA-256 清单用于确认传输过程中没有损坏，恢复脚本则要求输入明确的确认词，避免误操作。": "I split backups into three categories: source and config for rebuilding services, images for shortening recovery time, and named volumes for preserving business data. Certificates and logs are sensitive or high-growth content that need their own permissions and retention periods. The SHA-256 manifest confirms nothing was corrupted in transit, and the restore script requires an explicit confirmation word to prevent accidental operations.",
      "把 CSV、日志和传感器数据整理成可复现的分析流程：清洗阶段记录缺失值与类型转换，探索阶段生成指标与特征，最后输出交互式图表和分析报告。分析步骤全部写成可重复执行的函数，输入与结果带版本号；既能做一次性分析，也能沉淀成团队可复用的分析模板。": "Turns CSV, logs and sensor data into a reproducible analysis workflow: the cleaning stage records missing values and type conversions; the exploration stage generates metrics and features; finally interactive charts and an analysis report are produced. Every analysis step is a re-runnable function with versioned inputs and results — usable both for one-off analyses and as reusable team templates.",
      "推送必须幂等：发送前先查\"今天是否已推送\"，成功后记录到状态文件或数据库。Cron 重复触发、脚本重启、手动补跑都不会重复刷屏。发送失败则进入有限重试队列，重试之间指数退避，最后仍然失败才发告警——直接发失败告警会在大面积故障时把群聊刷爆。": "Pushes must be idempotent: check whether today’s message has already been sent before sending, then record success in a status file or database. Repeated Cron triggers, script restarts, and manual reruns must not create duplicate notifications. On failure, enqueue a bounded retry with exponential backoff; alert only after the final attempt, otherwise a widespread outage can flood the group chat.",
      "每次分析前先生成一份数据质量报告：字段清单、缺失率、重复率、取值分布、异常值数量。这份报告让\"数据能不能用\"有据可依，也让别人能复现你的判断。清洗后把中间结果落盘（CSV/Parquet）并带版本号，分析结论和原始数据之间保持可追溯的路径。": "Each analysis was preceded by a report on data quality: list of fields, missing rates, repetition rates, distribution of values taken, number of abnormal values. This report gives us evidence of whether the data can be used, and it allows others to repeat your judgment. After cleaning, the intermediate result is dropped (CSV/Parquet) with a version number, with a traceable path between the conclusions and the raw data.",
      "浏览器游戏最容易失控的地方，是输入、物理、渲染和数值逻辑全部写在同一个循环里。更稳妥的做法是把一帧拆成几个明确阶段：先读取输入，再更新世界状态，接着处理碰撞和事件，最后渲染当前状态。渲染层只负责“画什么”，不直接修改生命值、经验或关卡进度。": "Browser games become hardest to control when input, physics, rendering, and numeric logic all live in one loop. Split each frame into clear stages: read input, update world state, process collisions and events, then render the current state. The rendering layer should only draw; it should not directly change health, experience, or level progress.",
      "用 Canvas、SVG 与 WebGL 研究空间布局、动画、数据叙事与可访问交互：把复杂数据组织成可探索的视觉界面，支持缩放、筛选与详情下钻。动画遵循信息层级，提供减少动态效果的降级方案；所有图形都带可读的文本替代，兼顾视觉表达与无障碍。": "Researches spatial layout, animation, data storytelling, and accessible interaction with Canvas, SVG, and WebGL: complex data is organized into explorable visual interfaces with zoom, filtering, and drill-down. Animation follows information hierarchy, with a reduced-motion fallback; every graphic carries readable alt text, balancing visual expression with accessibility.",
      "脚本稳定运行一个月之后，我给它加了三类监控：日志记录每次执行的任务 id、耗时与结果；状态文件记录最近成功时间；外层定时任务每 10 分钟检查一次\"今天是否已推送\"，超时未推送就告警。这样即使脚本静默崩溃，也会有人在 10 分钟内被叫起来。": "After the script ran stably for a month, I added three kinds of monitoring: logs record each run's task id, duration and result; a status file records the last successful time; an outer scheduled task checks every 10 minutes whether \"today's push happened\", alerting if it's overdue. Even if the script crashes silently, someone gets woken up within 10 minutes.",
      "认证（JWT）与授权（RBAC）在中间件统一处理；输入校验白名单优先；限流按 IP 与用户两个维度；所有写操作审计；CORS 只放行可信来源；敏感字段（密码、令牌）永不进响应与日志。API 设计的一半是业务语义，另一半是\"如何被安全地调用\"。": "Authentication (JWT) and authorization (RBAC) are handled uniformly in middleware; input validation prefers whitelisting; rate limiting covers both IP and user dimensions; all write operations are audited; CORS only allows trusted origins; sensitive fields (passwords, tokens) never enter responses or logs. Half of API design is business semantics; the other half is \"how it can be called safely\".",
      "def fibonacci(n): \"\"\"生成斐波那契数列\"\"\" a, b = 0, 1 result = [] for _ in range(n): result.append(a) a, b = b, a + b return result": "Def fibonacci (n): \"\"\"a, b = 0, 1 result =[ ] for _ inrange: result.append(a) a, b = b, a + b return result",
      "定时推送脚本至少要处理四件事：输入文件缺失、网络请求超时、重复执行和消息发送失败。先解析并校验数据，再生成当天消息；请求使用超时和有限重试，成功后写入执行记录，下一次运行时跳过已发送日期。这样即使 Cron 重复触发，也不会给群聊刷出重复通知。": "A scheduled notification script must handle at least four cases: missing input files, network timeouts, duplicate runs, and message-send failures. Parse and validate the data before generating the day's message; use timeouts and bounded retries, record successful runs, and skip dates already sent on the next run. Even if Cron fires twice, the group will not receive duplicate notifications.",
      "检查语法，再执行平滑 reload。验证时不要只打开首页，还要分别请求静态资源、博客 API、带参数的接口和不存在的路径，确认缓存头、错误页和安全响应头都符合预期。日志中记录 upstream 状态码和响应时间，才能判断问题发生在入口还是后端。": "Check the configuration, then perform a graceful reload. Do not test only the homepage: request static assets, the blog API, parameterized endpoints, and a missing path to verify cache headers, error pages, and security headers. Log the upstream status and response time so you can tell whether a problem is at the edge or in the backend.",
      "需要理解 TCP/IP 协议栈的基础，重点是 MQTT 协议——它是物联网通信的事实标准。此外，CoAP 适用于资源受限设备，HTTP/2 和 WebSocket 在某些场景也有应用。LoRa 和 NB-IoT 是远距离低功耗通信的代表性技术。": "You need the TCP/IP stack basics, with MQTT as the focus — it's the de facto standard for IoT communication. CoAP fits resource-constrained devices; HTTP/2 and WebSocket apply in some scenarios. LoRa and NB-IoT are the representative long-range, low-power technologies.",
      "Compose 的价值不只是“方便启动”。它把镜像、网络、卷、端口和重启策略放在同一份声明里。服务之间使用容器名通信，不依赖经常变化的内部 IP；数据写入命名卷，容器更新时不会把用户数据一起删除；配置变更可以先在备份和测试环境中验证，再执行重建。": "The value of Compose goes beyond “easy startup“. It puts images, networks, volumes, ports and restart policies in a single declaration. Services communicate by container name instead of relying on frequently changing internal IPs.",
      "LibreOffice 这类转换进程吃内存，同时跑几十个会把服务器拖垮。做法是固定大小的工作池：任务先进入队列，worker 按并发上限逐个领取；超出上限的任务排队等待。队列可以用 Redis 列表或数据库表 + 轮询，个人项目用数据库表最省事：": "Conversion processes such as LibreOffice are memory-hungry; running dozens at once can take down the server. Use a fixed-size worker pool: enqueue tasks, let workers claim them up to the concurrency limit, and leave excess tasks waiting. The queue can be a Redis list or a database table with polling; for a personal project, the table is simplest:",
      "个人实验室不需要一开始就上 Kubernetes。先把服务拆分、配置版本化、数据独立、入口统一、备份可恢复做好，再根据实际的部署频率和规模决定是否引入更复杂的平台。架构不是越大越专业，而是能够在当前约束下稳定交付，并且给下一次迭代留下清晰的接口。": "A personal lab doesn't need Kubernetes from day one. First get service splitting, versioned config, independent data, a unified entry point and recoverable backups right, then decide whether to introduce a more complex platform based on actual deployment frequency and scale. Architecture isn't \"bigger is more professional\" — it delivers stably under current constraints and leaves clear interfaces for the next iteration.",
      "卡片按钮可以配置回调（callback）：用户点击后飞书 POST 一个事件到你的服务，服务校验后返回更新后的卡片。回调要处理：事件验签（加密密钥校验）、幂等（同一 callback_id 只处理一次）、超时（3 秒内必须响应，否则走异步确认）。": "Card buttons can use callbacks: after a click, Feishu POSTs an event to your service, which validates it and returns an updated card. Handle event signature verification, idempotency (process each callback_id only once), and timeouts (respond within 3 seconds or fall back to asynchronous confirmation).",
      "把所有服务放同一个默认网络，等于\"一台机器上的安全边界\"被打平。我按信任级别拆：frontend（Nginx，暴露端口）、backend（API 与内部服务）、data（MySQL、Redis，只被 backend 访问）。跨网服务通过附加网络（": "Putting every service on the default network flattens the security boundary. Split by trust level: frontend (Nginx, exposed ports), backend (API and internal services), and data (MySQL and Redis, accessible only from backend). Open cross-network connections only when necessary (",
      "热门书目和统计类数据适合 Redis 缓存，但借阅状态这种强一致数据不要走缓存旁路。我的取舍是：书目列表缓存 5 分钟，统计报表缓存 10 分钟；借阅、预约、库存状态永远直查数据库并走事务。缓存只加速\"可以容忍旧一点点\"的读，写路径保持严格一致。": "Popular bibliographies and statistical data suit Redis caching, but strongly consistent data like borrowing status must not go through a cache-aside path. My trade-off: book lists cached for 5 minutes, statistics reports for 10 minutes; borrowing, reservation and inventory status always query the database directly inside transactions. Caching only accelerates reads that can tolerate slight staleness; the write path stays strictly consistent.",
      "玻璃质感、渐变和动画只能决定第一眼的风格，真正影响使用感的是信息层级和反馈速度。一个按钮需要有默认、悬停、按下、禁用和完成状态；一个异步操作需要告诉用户正在做什么、还要等多久、失败后怎么办。把这些状态画成小型状态机，往往比继续堆 CSS 更有效。": "Glass effects, gradients, and animation shape the first impression, but information hierarchy and feedback speed determine usability. A button needs default, hover, pressed, disabled, and completed states; an async action needs to tell the user what it is doing, how long it may take, and what happens on failure. Modeling these as a small state machine is often more effective than piling on CSS.",
      "借阅操作最好放在事务中完成：检查副本状态、写入 loan、更新 copy 状态，任何一步失败都回滚。归还时根据 due_at 和 returned_at 计算逾期天数，再写入审计日志。预约队列则按创建时间排序，取书后设置过期时间，防止长期占用库存。": "Borrowing should happen in a transaction: check the copy status, insert the loan record, update the copy status — any failed step rolls everything back. On return, overdue days are computed from due_at and returned_at and written to the audit log. The reservation queue sorts by creation time, and a pickup deadline prevents indefinite inventory holding.",
      "我会先用低保真结构确定导航和内容顺序，再补颜色、阴影和动效。页面中的标题、正文、标签和辅助信息应当有稳定的字号比例，移动端则优先保证触摸目标和滚动节奏。对于数据较多的项目卡片，摘要只回答“解决什么问题”，技术细节放在亮点和标签中，阅读压力会小很多。": "I first use a low-fidelity structure to settle navigation and content order, then add color, shadows, and motion. Headings, body text, labels, and supporting information should follow a stable type scale; on mobile, prioritize touch targets and scrolling rhythm. For data-heavy project cards, the summary should answer only “what problem does this solve?”, while technical details go in highlights and tags to reduce reading load.",
      "技术文档的读者一半时间在\"找答案\"，不是从头读到尾。结构上要保证：标题传达结论、每节一个主题、列表和代码块让关键信息跳出来。我把每篇技术文章的骨架固定为\"背景 → 方案 → 代码/配置 → 踩坑 → 验证 → 总结\"，读者跳到自己关心的部分就能用。": "Readers of technical docs spend half their time \"searching for answers\", not reading top to bottom. Structure must guarantee: headings state conclusions, each section covers one topic, lists and code blocks make key info pop. I fix every technical article's skeleton as \"background, ",
      "用章节、选项、计分与复盘组成可配置的互动叙事：把章节结构写成数据驱动 JSON，前端状态机管理分支、回溯与结果结算，适配移动端触控与横屏。页面通过隐藏 / 显示与动画控制信息节奏，章节解锁与评分逻辑可测试，是交互设计、状态管理与内容编排的综合实验。": "A configurable interactive narrative built from chapters, choices, scoring and review: chapter structures are written as data-driven JSON, with a frontend state machine managing branches, backtracking and result settlement; adapted for mobile touch and landscape mode. The page controls information pacing with show/hide and animations; chapter-unlock and scoring logic are testable — a comprehensive experiment in interaction design, state management and content orchestration.",
      "WebSocket 长连接跨多台服务器时，负载均衡要支持\"粘性会话\"或统一接入层转发，否则重连会被分发到另一台、丢失本地状态。个人项目一台服务就够，但架构上预留：状态尽量放 Redis（房间、在线用户、最近消息），服务无状态化，将来水平扩展只加节点。": "When WebSocket long connections span multiple servers, the load balancer must support \"sticky sessions\" or unified ingress forwarding; otherwise reconnects get distributed to another server and local state is lost.",
      "备份策略由\"能接受丢多少、多久恢复\"决定。个人站点的恢复目标我定为：最多丢 24 小时数据，4 小时内能从空机器恢复到可用状态。目标清晰后，备份内容、频率和演练方式都变得具体：数据库每天全量 + 实时 binlog 保留、文件每天增量、镜像每周重建。": "The backup strategy is decided by \"how much loss is acceptable and how fast recovery must be\". My recovery goal for the personal site: lose at most 24 hours of data, and restore from a bare machine to usable state within 4 hours. With clear goals, backup content, frequency and drill methods become concrete: daily full database backups + real-time binlog retention, daily incremental file backups, weekly image rebuilds.",
      "实时值只能告诉你“现在”，历史曲线才能告诉你趋势。我的仪表盘用轻量 SQLite 保存采样结果，只保留有限天数，避免一个个人项目把数据库做成无限增长。查询时按时间范围返回采样点，前端 Canvas 绘制 CPU、内存和磁盘三条曲线，足够支持日常排查。": "A real-time value tells you only “now”; a historical curve shows the trend. My dashboard stores samples in lightweight SQLite and keeps only a limited number of days so a personal project does not grow without bound. Queries return points for a time range, and Canvas draws CPU, memory, and disk curves—enough for day-to-day troubleshooting.",
      "在可控实验环境里演练 Web 安全闭环：身份认证、越权边界、输入校验、SQL 注入与 XSS 防护、限流、日志审计与应急响应。每个漏洞先写复现用例再写修复方案，最后用自动化测试回归；修复完成后沉淀成 OWASP 清单式的检查项，直接应用到个人线上服务。": "Exercises a closed-loop web security workflow in a controlled lab environment: authentication, privilege-boundary checks, input validation, SQL injection and XSS defenses, rate limiting, log auditing, and incident response. Every vulnerability gets a reproduction case first, then a fix, then automated regression tests; finished fixes are distilled into OWASP-checklist-style items applied directly to my live services.",
      "消息设计成三段式：标题（日期 + 天气摘要）、课程清单（按时间排序）、备注（明天提醒 / 异常说明）。纯文本容易排版错乱，企业微信和飞书都支持 Markdown 与卡片，我用 JSON 卡片模板组装，空数据项显式显示\"暂无安排\"，比拼接字符串清晰得多。": "Messages are designed in three paragraphs: title (date + weather summary), list of courses (ordered in chronological order), comment (alarm/ anomaly description tomorrow). Pure text is easily mistook, corporate micro-intelligence and Feishu support Markdown and cards, and I assemble them with JSON card templates, and empty data item displays \"no arrangements\" in graphic form, much clearer than a spell string.",
      "SQL 优化到极限后，热点读交给 Redis 缓存，报表类查询走聚合表，实时性要求不高的页面接受 5-10 分钟延迟。数据库负责一致性与事务，应用层负责高频读的扩展——两者配合，才能支撑高并发下的稳定响应。最终目标是：慢查询日志里没有需要人工处理的条目。": "Once SQL is reasonably optimized, put hot reads behind Redis, use aggregate tables for reports, and let pages with low freshness requirements accept a 5–10 minute delay. The database owns consistency and transactions; the application layer scales high-frequency reads. Together they provide stable responses under load. The goal is to leave no manually actionable entries in the slow-query log.",
      "Spring Boot 项目我坚持四层：Controller 只做参数接收与响应组装，Service 承载业务规则与事务边界，Repository 访问数据，Entity/DTO 表达数据。分层让每一层职责清晰、可独立测试，也避免业务逻辑散落在控制器里。": "For Spring Boot projects I insist on four layers: Controller only receives parameters and assembles responses, Service carries business rules and transaction boundaries, Repository accesses data, Entity/DTO express data. Layering keeps each layer's responsibility clear and independently testable, and keeps business logic out of controllers.",
      "为了显示容器列表，仪表盘通过 Docker Socket 获取容器元数据。这是一个很强的权限入口，不能把它当成普通文件挂载。实际部署时应限制仪表盘为只读展示，不提供任意命令执行接口；访问日志、认证和网络隔离同样重要。监控方便和安全边界之间必须有明确取舍。": "To display the container list, the dashboard reads container metadata through the Docker Socket. This is a powerful permission entry point and must not be mounted like an ordinary file. In production, restrict the dashboard to read-only display with no arbitrary command-execution interface; access logs, authentication and network isolation matter just as much. There must be an explicit trade-off between monitoring convenience and the security boundary.",
      "在现有 Compose 服务栈上推进容器编排能力：服务发现、滚动发布与回滚、配置管理和故障恢复。灰度发布通过健康检查门控流量，失败自动回滚；故障演练（杀掉容器 / 拔掉网络）验证自愈与恢复脚本，为迁移 Kubernetes 建立清晰的服务边界与监控基线。": "Pushed container-orchestration capability on the existing Compose stack: service discovery, rolling releases & rollback, config management and failure recovery. Canary releases gate traffic through health checks with automatic rollback on failure; chaos drills (killing containers / cutting the network) validate self-healing and recovery scripts, establishing clear service boundaries and monitoring baselines ahead of a Kubernetes migration.",
      "我把指标分成三层：系统资源用于判断容量，服务健康用于判断可用性，日志统计用于定位原因。比如 CPU 上升本身不是故障，只有当 CPU 上升同时伴随响应变慢、5xx 增加或容器重启时，才值得触发告警。把多个信号放在同一时间轴上，比单独看一个百分比更有意义。": "I divide metrics into three layers: system resources for capacity, service health for availability, and log statistics for root-cause diagnosis. Rising CPU alone is not an incident — only when it's accompanied by slower responses, more 5xx errors or container restarts does it warrant an alert. Putting multiple signals on the same timeline is far more meaningful than watching a single percentage.",
      "InnoDB 主键索引的叶子节点存整行数据，二级索引的叶子节点存主键值。走二级索引查到主键后再回表取行，叫\"回表\"；覆盖索引（查询列都在索引里）可以避免回表。设计索引时先看查询的 WHERE、ORDER BY、GROUP BY 列，再决定单列还是联合索引。": "InnoDB's primary index stores full rows at leaf nodes; secondary indexes store primary key values. Looking up the PK via a secondary index and then fetching the row is \"table lookup\"; covering indexes (all query columns in the index) avoid it. When designing indexes, first look at the query's WHERE, ORDER BY and GROUP BY columns, then decide single vs. composite.",
      "多个任务之间有关联时，显式表达依赖而不是猜执行顺序：调度框架支持依赖链，或按\"任务队列 + 完成标记\"推进。并行的任务控制并发数（线程池/进程池上限），避免同时跑 10 个备份把磁盘打满。任务内部也要控制资源：大文件分块、数据库连接用完释放、临时文件清理。": "When tasks relate to each other, express dependencies explicitly instead of guessing execution order: use a scheduler with dependency chains, or advance via \"task queue + completion markers\". Parallel tasks limit concurrency (thread/process pool caps) so 10 simultaneous backups don't fill the disk. Resources are controlled inside tasks too: chunk large files, release database connections when done, clean up temp files.",
      "学习 IoT 可以按“能读数据、能传数据、能存数据、能解释数据、能维护系统”五个阶段推进。先用串口读取传感器，再用 MQTT 发送到本地 Broker；之后写一个最小 API 存储数据，最后加上可视化和阈值告警。每一步都有可见结果，遇到问题也容易缩小范围。": "Learn IoT in five stages: read data, transmit it, store it, interpret it, and maintain the system. Start by reading a sensor over serial, send the data to a local broker with MQTT, build a minimal API to store it, then add visualization and threshold alerts. Each step produces a visible result and keeps troubleshooting scoped.",
      "握手时校验 token（查询参数或子协议头），鉴权失败直接拒绝升级；连接建立后仍要校验每次消息的权限（用户可能被降权/踢下线）。服务端限制：每用户连接数上限、消息频率限制、消息大小上限，防止恶意连接刷资源。心跳超时主动清理僵尸连接，避免连接泄漏拖垮服务器。": "Verify the token during the handshake (from a query parameter or subprotocol header) and reject the upgrade on failure. After the connection is established, authorize every message because a user may be downgraded or logged out. Limit connections per user, message rate, and message size to prevent abuse. Close zombie connections after heartbeat timeouts so they do not leak resources.",
      "不要试图一次学完所有东西。从做一个完整的微型项目开始：ESP32 采集温湿度 → MQTT 上报 → 后端存储 → 前端展示。跑通这个闭环后，再往两端延伸：硬件端加 OTA 与低功耗，服务端加告警、归档和自动扩缩。每一步都有可见结果，遇到问题也容易缩小范围。": "Do not try to learn everything at once. Start with one complete micro-project: ESP32 collects temperature and humidity → MQTT reports it → the backend stores it → the frontend displays it. Once the loop works, extend both ends: add OTA and low power on the hardware side, and alerts, archiving, and autoscaling on the service side. Each step has a visible result and keeps troubleshooting focused.",
      "间隔重复算法不必一开始就追求复杂。先根据答题结果把下一次复习安排在 1 天、3 天、7 天和 14 天等几个阶段，等积累了真实数据后再调整间隔。离线优先时，所有操作先写入 IndexedDB，再用版本号和时间戳与服务端同步，冲突时保留用户记录而不是静默覆盖。": "A spaced-repetition algorithm does not need to be complex at first. Schedule the next review at intervals such as 1, 3, 7, and 14 days based on the answer, then tune the intervals after collecting real data. In offline-first mode, write every operation to IndexedDB and sync with the server using a version and timestamp; on conflict, keep the user record instead of silently overwriting it.",
      "部署成功不等于发布成功。verify 阶段我会跑三类检查：容器 healthcheck（进程活着、依赖连通）、HTTP 冒烟（首页与核心 API 返回预期状态码）、日志扫描（没有新增的 Exception 和 5xx 暴增）。这三项都通过，才把发布标记为成功。": "A successful deployment does not amount to a successful release. I run three types of checks during the Verify phase: container healthcheck (process alive, depend on connectivity), HTTP smoke (head page and core API return expected status code), log scan (no new Exception and 5x surge). All three were passed, and the release was marked as successful.",
      "MQTT 的 QoS 0/1/2 对应不同可靠性要求：遥测用 QoS 0 可以容忍丢失；状态和控制指令用 QoS 1 并做幂等处理；真正严格一次交付的场景很少，QoS 2 的开销通常不值得。遗嘱消息（LWT）用于设备异常掉线时通知服务端，比\"超时没心跳\"更及时。": "MQTT QoS 0/1/2 match different reliability requirements: telemetry can use QoS 0 and tolerate loss; state and control commands use QoS 1 with idempotent handling; truly exactly-once delivery is rare, so QoS 2 is usually not worth the overhead. Use the last-will message (LWT) to notify the server when a device drops unexpectedly; it is more timely than waiting for a heartbeat timeout.",
      "QoS 0 适合高频、允许丢失的环境采样；QoS 1 适合需要至少送达一次的告警，但消费者必须幂等；QoS 2 成本更高，只有在确实需要严格一次交付时才使用。保留消息、遗嘱消息和持久会话分别解决\"新订阅者拿到最近状态\"\"设备异常离线\"和\"短暂断线续传\"三个问题。": "QoS 0 suits high-frequency environmental sampling where loss is acceptable; QoS 1 suits alerts that must be delivered at least once, but consumers must be idempotent; QoS 2",
      "QoS 0 适合高频、允许丢失的环境采样；QoS 1 适合需要至少送达一次的告警，但消费者必须幂等；QoS 2 成本更高，只有在确实需要严格一次交付时才使用。保留消息、遗嘱消息和持久会话分别解决“新订阅者拿到最近状态”“设备异常离线”和“短暂断线续传”三个问题。": "QoS 0 suits high-frequency environmental sampling where loss is acceptable; QoS 1 suits alerts that must be delivered at least once, but consumers must be idempotent; QoS 2",
      "TLS 1.2 之后主推 ECDHE 前向保密：即使长期密钥泄漏，已记录的会话也无法解密（因为每次会话临时密钥不同）。配置时优先 ECDHE + AES-GCM + SHA-256，禁用已不安全的 RC4、3DES、TLS 1.0/1.1。用 ssllabs 或": "Since TLS 1.2, ECDHE forward secrecy is the norm: even if a long-term key leaks, recorded sessions cannot be decrypted (each session uses a unique ephemeral key). Prefer ECDHE + AES-GCM + SHA-256; disable insecure RC4, 3DES, TLS 1.0/1.1. Evaluate with ssllabs or",
      "从内存分配、线程调度、文件读写与网络 IO 四个方向对比 C、C++ 与 Rust 实现：用基准测试量化开销，用火焰图与 Profiling 定位瓶颈，并针对 CPU 缓存、系统调用与锁竞争做优化实验。结论沉淀为性能清单，帮助在选型时根据场景选择语言与数据结构。": "Compares C, C++ and Rust implementations across four dimensions — memory allocation, thread scheduling, file I/O and network I/O: benchmarks quantify overhead; flame graphs and profiling pinpoint bottlenecks; optimization experiments target CPU cache, syscalls and lock contention. The conclusions are distilled into a performance checklist to guide language and data-structure choices per scenario.",
      "备份完成只能说明文件被写出来，不能证明它真的能用。恢复演练至少要验证压缩包可读取、镜像能加载、数据卷能挂载、Compose 配置能解析，以及首页、博客 API 和关键业务接口都能返回 200。每一步都输出清晰日志，失败时立即停止，不要在半恢复状态继续覆盖原目录。": "A completed backup only proves files were written, not that they actually work. Recovery drills should at least verify the archive is readable, images load, volumes mount, Compose config parses, and the homepage, blog API and key business endpoints all return 200. Every step outputs clear logs; on failure, stop immediately rather than continuing to overwrite the original directory in a half-restored state.",
      "面向个人博客、课程笔记和项目文档的本地知识工作台：Markdown / PDF 导入后切片入库，全文检索与向量检索混合召回，模型调用生成带引用回链的答案。回答质量用命中率与引用一致性做评测，提示词模板可调；数据默认本地处理，是 RAG、检索评测与文档工程的实践。": "A local knowledge workbench for personal blogs, course notes and project docs: Markdown/PDF imports are chunked and stored, hybrid retrieval combines full-text and vector search, and model calls generate answers with citation backlinks. Answer quality is evaluated by hit rate and citation consistency; prompt templates are adjustable. Data stays local by default — a practice in RAG, retrieval evaluation and document engineering.",
      "任务失败不能只靠\"下次成功\"。策略：失败指数退避重试（如 3 次：1s、10s、60s），重试仍失败则写失败记录并告警。告警消息带任务名、失败原因、最近成功时间，避免\"静默失败 N 天后才被发现\"。每次执行写状态：开始、结束、耗时、结果，后续排查和统计都有据可查。": "Task failure can't rely on \"it'll succeed next time\". Strategy: exponential backoff retries (e.g. 3 tries: 1s, 10s, 60s); if retries still fail, write a failure record and alert. Alert messages carry the task name, failure reason and last successful time, avoiding \"silent failure discovered N days later\". Every run writes its status — start, end, duration, result — so later troubleshooting and statistics have evidence.",
      "每月从空目录执行一次恢复脚本（可以用测试数据库和测试域名），验证恢复后的站点能正常访问、数据是最新的。备份任务本身纳入监控：今天是否生成、文件大小是否异常、校验是否通过，任何一项异常都触发告警。把\"备份\"从一次性动作变成有 SLO 的持续服务，才是真正的一键恢复。": "Once a month, run the restore script from an empty directory (a test database and domain are fine) and verify that the recovered site is reachable and the data is current. Monitor the backup job itself: was it generated today, is the file size plausible, and did verification pass? Any anomaly should alert. Turning backup from a one-off action into an SLO-backed service is what makes one-click recovery real.",
      "healthcheck 是 Compose 的\"就绪信号\"，配合 depends_on 的 condition 控制启动顺序。数据库先健康、应用再启动，比 sleep 硬等可靠得多。健康检查命令要轻量（ping 或简单查询），间隔和重试按服务启动时间调整，避免误判。": "healthcheck is Compose's \"ready signal\"; combined with depends_on conditions it controls startup order. A healthy database before the app starts is far more reliable than hard-coded sleeps. Keep healthcheck commands lightweight (ping or a simple query), and tune interval and retries to the service's startup time to avoid false negatives.",
      "常见查询包括“某读者当前借了什么”“某本书有哪些可借副本”和“近一月逾期排行”。为这些查询建立组合索引，并用 EXPLAIN 检查执行计划；统计类页面可读取按日聚合表，避免每次扫描全部历史记录。管理员操作保留操作者、时间、对象和变更前后摘要，出现争议时才能还原过程。": "Common queries include “what is a reader currently borrowing?”, “which copies of a book are available?”, and “who tops the overdue list this month?”. Create composite indexes for these queries and use EXPLAIN to inspect the plan. The statistics page can read a daily aggregate table instead of scanning all history. For admin actions, retain the operator, time, object, and before/after summary so disputes can be reconstructed.",
      "文件名不能直接拼接到 shell 命令里，MIME 类型也不能只相信用户上传的后缀。生产环境需要限制并发数，避免多个 Office 进程同时占满内存；还可以通过哈希去重相同文件，减少重复计算。日志中保留任务 id 而不是文件内容，既方便排障，也降低敏感信息泄露风险。": "Never concatenate a filename directly into a shell command, and do not trust only the extension supplied by the user for MIME detection. Limit concurrency in production so multiple Office processes cannot exhaust memory; hash files to deduplicate identical inputs and avoid repeated work. Keep the task ID—not file contents—in logs, which aids troubleshooting while reducing the risk of sensitive-data leaks.",
      "文件名永远不能直接拼进 shell 命令，也不能让用户控制服务器路径。上传的文件存入按任务 ID 生成的独立目录，转换结果用 UUID 命名，下载接口按任务 ID 解析存储路径，禁止用户传路径参数。转换进程以最小权限运行，工作目录在临时盘，系统盘写满也不影响主服务。": "Never interpolate a filename into a shell command or let users control a server path. Store each upload in a task-ID directory, name outputs with a UUID, and resolve downloads from the task ID rather than a user-supplied path. Run the converter with least privilege in a temporary work directory, so a full system disk does not affect the main service.",
      "链接用语义化文字而不是\"点击这里\"，外部链接标注来源；内部文档互相引用时用相对路径，仓库移动后不会失效。图片要压缩并带 alt 文本，流程图用代码生成（mermaid）而不是截图，便于版本对比。表格适合字段映射、参数对照，列少行多时考虑拆成列表，防止移动端横向滚动。": "Links use semantic text instead of \"click here\", and external links note their source; internal docs reference each other with relative paths so they survive repo moves. Images are compressed with alt text; flowcharts are generated from code (mermaid) rather than screenshots for easy version diffing. Tables suit field mappings and parameter comparisons; with few columns and many rows, consider splitting into lists to prevent horizontal scrolling on mobile.",
      "仪表盘上每个指标都要能回答\"所以呢\"。温度曲线不是终点，需要配合阈值线、设备状态和告警事件一起看。告警规则独立于页面配置：触发阈值、持续时长、冷却时间、升级策略（先群消息，持续异常再电话/短信）。告警消息带上设备 ID、当前值、阈值和首次出现时间，收到的人才能直接行动。": "Every metric on the dashboard must answer \"so what?\". A temperature curve is not the end point; it must be viewed together with threshold lines, device status and alert events. Alert rules are configured independently of the page",
      "仪表盘会展示 CPU、内存、磁盘、运行时间、网络流量、Docker 容器、SSL 到期时间和 Nginx 请求统计。指标不是为了做一张漂亮的图，而是为了回答三个问题：现在是否正常、什么时候开始异常、异常是否已经恢复。日志与历史指标配合起来，才构成一套最小可用的可观测性。": "The dashboard shows CPU, memory, disk, uptime, network traffic, Docker containers, SSL expiry and Nginx request statistics. The metrics",
      "作为运维平台的安全子模块，把证书申请、DNS 验证、Nginx 热加载、到期提醒与归档纳入标准发布流程。支持通配符证书多域名管理，续签全程无停机；证书文件定时备份至独立目录，出现异常可一键回滚到上一版本。每次续签与部署都写审计日志，便于回溯证书链路发生过什么、由谁触发。": "As a security submodule of the ops platform, it folds certificate issuance, DNS validation, Nginx hot reload, expiry reminders, and archiving into the standard release flow. Wildcard certificates support multiple domains with zero-downtime renewal; certificate files are backed up to a separate directory, and any anomaly can be rolled back one click to the previous version. Every renewal and deployment writes an audit log, so you can trace what happened on the certificate chain and who triggered it.",
      "指标采集任务应当与页面请求解耦，历史数据写入轻量 SQLite 或时序存储，页面只读取聚合结果。对于个人服务器，分钟级采样已经足够；对于突发事件，则需要保留最近几分钟的高频数据。告警内容要带上服务名、当前值、阈值、首次出现时间和最近一次恢复时间，收到消息后才能直接行动。": "Metric collection should be decoupled from page requests. Write historical data to lightweight SQLite or a time-series store, and let pages read only aggregated results. Minute-level sampling is enough for a personal server; retain higher-frequency data for the latest few minutes during incidents. Alerts should include the service name, current value, threshold, first-seen time, and most recent recovery time so the recipient can act immediately.",
      "JOIN 前先想清楚关联基数：一对多时结果行数会膨胀，先过滤再关联通常更快。MySQL 优化器会把小表作为驱动表，但复杂查询下优化器不一定选对，必要时用 STRAIGHT_JOIN 或调整 WHERE 顺序。相关子查询（每行执行一次）性能差，优先改成 JOIN 或派生表。": "JOIN starts by thinking about the association base: a pair of multiple-time result lines expands, filters first and then links more quickly. MySQL optimizers use small tables as drive tables, but the optimizers under complex queries are not always selected correctly, using STRAIGHT_JOIN or reordering WHERE as necessary. The relevant sub-Query (executed on each line) has poor performance and is changed to JOIN or derivative table.",
      "发送失败要重试，但重试不能导致重复消息：给消息加唯一 request_id，服务端或发送层去重。告警类消息还要考虑合并：同一告警 5 分钟内的重复触发合并成一条\"持续中\"更新，而不是刷屏。推送系统的可靠性靠\"at-least-once + 幂等\"，而不是假设网络永远正常。": "Failed sends should retry, but retries must not produce duplicate messages: give every message a unique request_id and dedupe at the server or sending layer. Alert-type messages also need coalescing: repeated triggers of the same alert within 5 minutes merge into one \"ongoing\" update instead of spamming. Push-system reliability rests on \"at-least-once + idempotency\", not on assuming the network is always fine.",
      "回到开头那个场景：列表接口做两步优化——查询只取必要字段（不 SELECT *）、结果缓存 60 秒。QPS 高时再上互斥锁防击穿。优化后跑压测确认 P95 达标，并监控缓存命中率稳定在 90% 以上。缓存不是魔法，但配合正确的索引与查询，能把热点读的延迟降低一个数量级。": "Back to the opening scenario: optimize the list endpoint in two steps — fetch only needed columns (no SELECT *), cache results for 60s. When QPS gets high, add a mutex against breakdown. After optimizing, stress-test to confirm P95 meets the target and monitor that the cache hit rate stays above 90%. Cache isn't magic, but paired with proper indexes and queries it cuts hot-read latency by an order of magnitude.",
      "JWT 由三部分组成：Header（算法与类型）、Payload（声明）、Signature（签名）。签名 = HMAC(header + \".\" + payload, secret)，服务端用同一个密钥验证；RSA/ECDSA 则是私钥签名、公钥验证，适合多服务共享验证。": "A JWT has three parts: Header (algorithm and type), Payload (claims), and Signature. The signature can be computed with HMAC(header + \".\" + payload, secret), and the server verifies it with the same secret. With RSA/ECDSA, a private key signs and a public key verifies, which suits shared verification across services.",
      "Service Worker 能让静态页面在网络不稳定时继续打开，但缓存优先策略也会带来“页面明明更新了，用户却看到旧版本”的问题。更新站点时要变更缓存名称、保留必要的离线资源，并在发布说明中提示用户刷新。对于 API 和文章详情，优先使用网络请求，避免把动态内容永久冻结。": "A Service Worker keeps static pages available when the network is unstable, but a cache-first strategy can also show users an old version after an update. Change the cache name on release, keep only the offline resources that are needed, and tell users to refresh in the release notes. Prefer network requests for APIs and article details so dynamic content does not become permanently stale.",
      "学习过程要流畅，本地优先是最实用的方案：作答先写 IndexedDB，网络恢复后增量同步。同步冲突以\"用户操作时间戳 + 设备 id\"排序，同一 item 的 attempt 采用追加而非覆盖，避免丢记录。IndexedDB 版本号变化时写迁移函数，保证老用户升级不丢数据。": "Keep the learning flow smooth with an offline-first design: write attempts to IndexedDB first, then sync incrementally when the network returns. Order conflicts by user-operation timestamp and device ID; append attempts for the same item instead of overwriting them. When the IndexedDB version changes, run a migration so upgrades do not lose existing data.",
      "第一类是主机资源：CPU 使用率、内存可用量、磁盘占用和系统负载。第二类是服务状态：容器是否运行、最近一次重启时间、健康检查返回什么。第三类是入口流量：PV、UV、2xx/3xx/4xx/5xx 分布和热门路径。第四类是风险提示：SSL 证书还有几天到期，备份是否按计划生成。": "The first category is host resources: CPU usage, available memory, disk usage, and system load. The second is service status: whether containers are running, when they last restarted, and what health checks return. The third is ingress traffic: PV, UV, the 2xx/3xx/4xx/5xx distribution, and popular paths. The fourth is risk: days until SSL expiry and whether backups were generated on schedule.",
      "| 命令 | 用途 | 最佳场景 | |------|------|---------| | rebase | 重写提交历史 | 清理本地分支 | | cherry-pick | 移植提交 | 跨分支应用修复 | | bisect | 二分查找 | 定位引入 bug 的提交 |": "| Command | Purpose | Best use case | |---|---|---| | rebase | Rewrite commit history | Clean up a local branch | | cherry-pick | Apply a commit elsewhere | Apply a fix across branches | | bisect | Binary search | Locate the commit that introduced a bug |",
      "从课表与天气数据生成结构化消息，按周次、单双周与节假日规则定时推送到飞书：消息先按模板组装 JSON 卡片，再通过 Webhook 发送，失败自动重试并保留错误记录。后续扩展为校园提醒工作流（作业截止、考试提醒、活动通知），所有规则集中在配置文件中，无需改代码即可调整推送策略。": "Generate structured messages from timetable and weather data and push them to Feishu by week, odd/even-week and holiday rules. Assemble JSON cards from templates and send them through Webhook; failed deliveries retry automatically and keep error records. The workflow can later cover assignment deadlines, exam reminders and event notices, with all rules centralized in configuration.",
      "图书馆系统的难点不是增删改查，而是规则之间的关系：一本书可以有多个副本，一位读者可能同时借阅多本书，逾期罚款还与归还时间、节假日和读者类型有关。建模时应区分 book、copy、reader、loan 和 reservation，避免把“书”和“库存中的一本实体”混成一个字段。": "The difficulty of a library system is not CRUD but the relationships between rules: one book can have multiple copies, one reader may borrow several books at once, and overdue fines depend on return time, holidays and reader type. When modeling, distinguish book, copy, reader, loan and reservation — don't merge “the book“ and “a physical copy in inventory“ into one field.",
      "打包工具支持按路由和组件拆分：首屏只加载首屏代码，滚动到某区块再加载对应 chunk。公共依赖提取到 vendor，配合文件名指纹实现\"长缓存 + 精准失效\"。Service Worker 缓存策略：HTML 网络优先，静态资源缓存优先 + 后台更新，API 永不缓存或短缓存。": "Bundlers support splitting by route and component: the first screen loads only its own code, and scrolling to a section loads the corresponding chunk. Shared dependencies are extracted into vendor, and filename hashing enables \"long caching + precise invalidation\". Service Worker caching strategy: HTML network-first, static assets cache-first with background updates, API never cached or short-cached.",
      "纯语法练习很难内化。建议做三个小项目：手写动态数组（内存管理 + realloc）、链表（节点操作 + 指针指向）、简易内存池（分配与释放）。嵌入式场景再叠加寄存器操作与缓冲区解析，指针从\"语法难点\"变成\"理解内存的直觉\"。先把指针的\"内存模型\"想清楚，其余都是表达方式的差异。": "Pure syntax drills are hard to internalize. Try three small projects: a hand-written dynamic array (memory management + realloc), a linked list (node operations + pointer references) and a simple memory pool (allocation and free). Add register manipulation and buffer parsing in embedded contexts, and pointers go from \"syntax pain\" to \"intuition about memory\". Clarify the pointer's \"memory model\" first; everything else is just notation.",
      "从 Arduino 入门是最佳选择——语法简单、生态丰富、上手快。掌握 GPIO 控制、ADC 采样、PWM 输出等基本概念后，进阶到 ESP32，它自带 Wi-Fi 和蓝牙，成本低、性能强，是物联网原型开发的首选。了解 I2C、SPI、UART 三种通信总线是连接传感器的前提。": "The best option from the Arduino portal is simple, ecologically rich and quick. After mastering basic concepts such as GPIO control, ADC sampling, PWM output, progress to ESP32, with its own Wi-Fi and Bluetooth, low cost and high performance, is the first option for the development of a prototype of a network. Understanding I2C, SPI, UART are prerequisites for connecting sensors.",
      "）→ 域名是否匹配 → 证书链是否完整 → 端口是否真的走 443 → 防火墙/安全组是否放行。访问报\"证书错误\"时先看浏览器详情里的具体原因（不是\"不安全\"三个字），多数是链不完整或域名不匹配，少数是系统时间错误。监控证书剩余天数并提前告警，比\"今天突然打不开\"再查要舒服得多。": ") → does the domain match → is the certificate chain complete → is the port really 443 → is the firewall/security group open. When a \"certificate error\" appears, first read the specific reason in the browser details (not just the word \"unsafe\") — most cases are an incomplete chain or domain mismatch, a few are wrong system time. Monitoring remaining days and alerting early is far more comfortable than investigating after \"it suddenly stopped working today\".",
      "| 工具 | 用途 | |------|------| | Typora | WYSIWYG 编辑器 | | VS Code + 插件 | 代码与文档一体 | | Obsidian | 知识管理 | | markdownlint | 格式检查 | | Pandoc | 格式转换 |": "| Tools Tool Use | | | | Typola | WYSIWYG Editor | | VS Code+ Plugin | code integrated with document | Obsidian | Knowledge Management | markdownlint | format check | Pandoc| format conversion",
      "对外只暴露 80/443，SSH 改端口 + 密钥认证，数据库和 Redis 不绑定公网。容器以非 root 运行，敏感配置走环境变量，备份文件加密后存远程。成本方面，1 台轻量 ECS 足够个人全站：镜像在本地保留、依赖固定版本、日志按天压缩，把\"能用\"和\"用得起\"同时考虑进去。": "Only 80/443 are exposed; SSH uses a custom port with key authentication; the database and Redis are not bound to the public network. Containers run as non-root, sensitive config goes through environment variables, and backup files are encrypted and stored remotely. On cost: one lightweight ECS is enough for the whole personal site — images kept locally, dependencies pinned, logs compressed daily — balancing \"it works\" with \"it's affordable\".",
      "监控分四层：入口（可用性、响应时间、5xx）、服务（容器健康、重启次数）、资源（CPU/内存/磁盘）、安全（证书到期、异常登录）。告警要能区分\"通知\"和\"需要行动\"：磁盘 80% 是通知，磁盘 90% 且持续 10 分钟才是告警。所有告警走飞书，消息带服务名、当前值、阈值和建议动作。": "Monitor four layers: entry points (availability, latency, 5xx), services (container health and restart count), resources (CPU, memory, disk), and security (certificate expiry and anomalous logins). Alerts must distinguish notifications from required actions: 80% disk usage is a notice; 90% sustained for 10 minutes is an alert. Send all alerts through Feishu with the service name, current value, threshold, and suggested action.",
      "脚本不应依赖当前机器的临时容器 id，而应使用 Compose 服务名和固定目录。执行前先检查磁盘空间、Docker 是否可用、备份文件是否完整；执行后再做健康检查，并保留恢复时间、版本号和结果摘要。下一步还可以增加“只恢复博客”“只恢复数据卷”的选择，让小范围回滚不必影响整个站点。": "The script should not depend on temporary container IDs from the current machine; use Compose service names and fixed directories instead. Before running, check disk space, Docker availability, and backup integrity; afterwards, run health checks and record the restore time, version, and result summary. You can also add options to restore only the blog or only the data volumes, so a small rollback does not affect the whole site.",
      "Clean Session 决定断线后 Broker 是否保留订阅与离线消息：需要断线续传的设备用持久会话，但每个持久会话都会占用 Broker 内存，不能所有设备都开。保留消息（Retained）让新订阅者立刻拿到最新状态（如\"当前温度 25.3\"），适合状态类数据，不适合高频遥测。": "Clean Session decides whether Broker will keep subscriptions and offline messages after disconnection: a device that needs to be passed off-line is used for a long-term session, but each persistent session will occupy the Broker memory and not all devices will be opened. Retain (Retained) gives the new subscriber an immediate state-of-the-art status (e.g. \"Current temperature 25.3) suitable for status class data and not for high frequency telemetry.",
      "数据上云后需要存储和处理。时序数据库（如 InfluxDB）专为传感器数据设计，比 MySQL 更适合这种场景。后端服务可以用 Python Flask 或 Node.js 搭建，配合 MQTT Broker 接收设备数据。数据可视化推荐 Grafana，拖拽配置就能生成漂亮的仪表盘。": "Once data is sent to the cloud, it needs to be stored and processed. Time-series databases such as InfluxDB are designed for sensor data and fit this scenario better than MySQL. Build the backend with Python Flask or Node.js and use an MQTT broker to receive device data. Grafana is a good choice for visualization: drag-and-drop configuration can produce a useful dashboard.",
      "高级命令解决特定问题，也会制造新问题。公共分支禁止 rebase、禁止 force push；cherry-pick 只用于\"明确需要移植\"而不是代替正常合并；bisect 需要可复现的测试。先理解每个命令改变的是什么（历史、工作区、引用），再决定用不用——工具能力越大，使用越要克制。": "High-level orders address specific issues and create new ones. The public branch prohibits rebase, prohibition force push; cherry-pick is used only for \"an express need for transplant\" rather than for normal consolidation; bisect requires replicable testing. First understand what each command changes (history, workspace, quotation) and then decide whether to use it — the greater the tools, the more restraint in its use.",
      "WebSocket 连接可能在网络波动时\"看起来连着实际已断\"。客户端与服务端都要有心跳：客户端定时发 ping，服务端超时未收到就关闭并通知；客户端收到 close 或心跳超时后指数退避重连。重连要带会话信息（用户 id、订阅频道），服务端恢复订阅，避免重连后\"连接成功但收不到数据\"。": "A WebSocket can look connected even after the network has dropped. Both client and server should use heartbeats: the client sends ping periodically, and the server closes and reports a connection that times out. After close or heartbeat timeout, the client reconnects with exponential backoff. Include session data such as the user ID and subscribed channels so the server can restore subscriptions and avoid a “connected but no data” state.",
      "不带尾部斜杠时，请求 URI 原样传给后端；带斜杠时，location 中匹配的前缀会被替换。接口迁移或前后端路径约定改变时，这个细节最容易造成\"本地正常、线上 404\"。我还会显式传递 Host、X-Real-IP、X-Forwarded-For，保证后端拿到真实客户端地址和原始域名：": "Without a trailing slash, the request URI is passed to the backend verbatim; with a slash, the matched location prefix is replaced. When APIs move or path conventions change, this detail most often causes \"works locally, 404 in production\". I also explicitly forward Host, X-Real-IP and X-Forwarded-For so the backend sees the real client address and original domain:",
      "或目录名）隔离网络与卷，避免冲突。Compose 不适合编排跨主机集群，到那个规模再上 Kubernetes/Swarm；现在把\"镜像固定 tag、配置环境化、卷有名字、健康检查齐全\"做扎实，迁移时只是换一个编排层。Compose 的价值是把服务边界画清楚，让整台机器像一个可复现的系统。": "Use distinct network and volume names to avoid conflicts. Compose is not intended for cross-host clusters; move to Kubernetes or Swarm at that scale. For now, make pinned image tags, environment-based configuration, named volumes and complete health checks reliable—the migration then only changes the orchestration layer. Compose clarifies service boundaries and makes the whole machine reproducible.",
      "从 ESP32 传感器与串口通信起步，逐步加入姿态、距离与电机状态采集：设备端用 C / C++ 完成协议解析与状态上报，服务端通过 MQTT 接收并持久化，Web 控制台实时观察设备并发送可审计的控制指令。控制指令带会话令牌与操作日志，设备状态机处理异常与重连，形成软硬件协同的完整链路。": "Starts from ESP32 sensors and serial communication, gradually adding posture, distance, and motor-state collection: device-side C / C++ handles protocol parsing and status reporting, the server receives and persists via MQTT, and a web console monitors devices in real time and sends auditable control commands. Commands carry session tokens and operation logs; a device state machine handles anomalies and reconnects — a complete software-hardware collaboration pipeline.",
      "Python 定时服务，每天 7:30 把当日课程和天气推送到飞书群聊：解析教务系统课表 JSON，按单双周与节假日规则动态生成消息卡片，Docker 容器化部署并由健康检查保证长期运行。消息模板与推送时间可配置，推送失败自动重试并在 3 次后告警，是个人自动化通知体系里运行最久的一个服务。": "A Python scheduled service pushes each day's courses and weather to a Feishu group chat at 7:30 AM: it parses the academic-affairs timetable JSON and dynamically generates message cards according to odd/even-week and holiday rules; deployed via Docker with health checks ensuring long-term operation. Message templates and push times are configurable; failed pushes auto-retry and alert after 3 attempts — the longest-running service in my personal automation notification system.",
      "个人站点选轻量应用服务器或 ECS 都行，关键是按用途算资源：静态页面 + 小 API，2C2G 足够；要跑 MySQL + Redis + 文件转换这类吃内存的服务，升到 2C4G 更从容。带宽按\"同时在线人数 × 单页体积\"估算，图片多的站点预留上行。地域选离用户近的，备案政策也要考虑。": "For a personal site, a lightweight application server or ECS is enough; size resources by workload. Static pages plus a small API fit 2C2G, while MySQL, Redis, and file conversion are more comfortable on 2C4G. Estimate bandwidth as concurrent users × page size, reserve upload capacity for image-heavy sites, and choose a region close to users while checking filing requirements.",
      "自建的液态玻璃（Glass Morphism）设计系统：50+ 工具类、CSS 自定义属性驱动主题、暗黑 / 明亮双主题、响应式断点，以及卡片 / 按钮 / 导航 / 表单等组件库。已应用到全站 6 个页面，颜色、圆角、阴影与动效统一从变量取值；组件支持无障碍语义与键盘操作，主题切换无闪烁。": "A self-built glassmorphism design system: 50+ utility classes, CSS custom-property-driven theming, dark / light dual themes, responsive breakpoints, and component libraries for cards, buttons, navigation, and forms. Applied across all 6 pages, with colors, radii, shadows, and motion all sourced from variables; components support accessible semantics and keyboard operation, and theme switching is flicker-free.",
      "告警设计遵循\"持续 + 冷却\"：磁盘 85% 是信息，90% 持续 10 分钟才是告警；告警后进入冷却窗口，避免每轮采样都刷屏。告警消息带服务名、当前值、阈值、持续时间和建议动作。真正的故障是多项指标同时异常，所以告警规则尽量多信号组合，比如\"5xx 升高 且 P95 变慢 且 CPU 正常\"。": "Design alerts around persistence and cooldown: 85% disk usage is informational; 90% sustained for 10 minutes is an alert. After an alert, enter a cooldown window instead of notifying on every sample. Include service name, current value, threshold, duration, and recommended action. Real incidents usually involve several signals, so combine conditions such as “5xx rising, P95 slowing, and CPU normal.”",
      "用 OpenAPI 描述接口：路径、参数、请求/响应 schema、错误码。生成文档和客户端 SDK，让前后端按契约并行开发；CI 里校验 schema 变更，破坏性变更提前发现。接口文档写清楚每个字段的格式与示例，比\"看代码\"高效得多。文档不是 API 的附属品，而是 API 的接口契约本身。": "Describe APIs with OpenAPI: paths, parameters, request/response schemas, error codes. Generate docs and client SDKs so frontend and backend develop in parallel against the contract; CI validates schema changes, surfacing breaking changes early. Documenting every field's format and examples is far more efficient than \"read the code\". Documentation isn't an API accessory — it is the API's contract.",
      "设备正常断网时 TCP 可能没有 FIN，Broker 靠心跳（Keep Alive）检测失联：超过 1.5 倍心跳周期未收到报文就判定离线。心跳周期要按设备电量与网络质量权衡——太短频繁唤醒，太长故障发现慢。遗嘱消息（LWT）在 Broker 判定离线时自动发布，我把它设计为\"设备状态\"主题：": "When a device loses the network, TCP may not send FIN. The broker detects the loss with Keep Alive: if no packet arrives for 1.5 heartbeat intervals, it marks the device offline. Choose the interval based on battery and network quality—too short wakes the device too often, too long delays detection. The broker publishes the last-will message (LWT) when it marks the device offline; I use a “device state” topic for it:",
      "为个人服务补齐 API 安全能力：JWT 登录 + RBAC 权限模型、基于中间件的接口鉴权、Redis 限流与配额、请求日志与错误追踪，以及 OpenAPI 规范文档。权限配置以最小权限为原则，越权访问与异常输入都有审计记录；所有安全策略先在可控实验环境验证再上线，形成一套可复用的接口防护模板。": "Completed API security capabilities for personal services: JWT login + RBAC permission model, middleware-based endpoint authorization, Redis rate limiting and quotas, request logs and error tracking, plus OpenAPI spec docs. Permissions follow the principle of least privilege; unauthorized access and abnormal input are all audited. Every security policy is validated in a controlled lab environment before going live, forming a reusable API protection template.",
      "备份不是\"把文件拷走\"，而是能回答：恢复到哪一天、需要几步、如何验证。我的备份分三层：静态站点与源码（Git + 压缩包）、数据库（mysqldump + 二进制日志位点）、Docker 卷（镜像 + 命名卷导出）。每天全量 + 每周保留，恢复演练每季度做一次，从空机器开始执行恢复脚本到服务可用。": "Backup is not just copying files; it must answer which day you can restore to, how many steps it takes, and how you will verify it. My backup has three layers: static site/source (Git + archive), database (mysqldump + binary-log position), and Docker volumes (images + named-volume export). I run full backups daily, keep weekly copies, and rehearse recovery quarterly from a blank machine until the service is available.",
      "用 Canvas 原生实现坦克战斗原型：玩家移动与瞄准、敌人 AI、碰撞检测、职业树、武器升级、排行榜和粒子反馈全部模块化拆分。每帧按输入 → 状态更新 → 碰撞 → 渲染分阶段执行，碰撞先用包围盒粗筛再做精确判断；核心计分与升级逻辑编写了单元测试，参数集中配置便于调平衡，移动端做了触摸与降级处理。": "A tank-combat prototype implemented with native Canvas: player movement and aiming, enemy AI, collision detection, skill tree, weapon upgrades, leaderboard and particle feedback are all modularized. Each frame runs in stages — input → state update → collision → render; collisions are first coarse-filtered with bounding boxes, then precisely judged. Unit tests cover core scoring and upgrade logic; parameters are centrally configured for easy balancing; mobile gets touch and degradation handling.",
      "设备上报的数据很少一开始就适合展示。消息需要经过身份校验、时间戳补全、单位统一、异常值过滤和设备状态更新，最后才进入存储层。建议为每条消息保留 device_id、topic、received_at、measured_at、value 和 schema_version，未来修改字段时仍能读取旧数据。": "Device-reported data is rarely display-ready at the source. Messages must pass through identity validation, timestamp completion, unit normalization, outlier filtering and device-status updates before entering the storage layer. Keep device_id, topic, received_at, measured_at, value and schema_version for every message, so old data stays readable when fields change later.",
      "GPIO 只是入口。真正理解硬件，要把数据手册和实测结合起来：先看 datasheet 的电气参数（工作电压、功耗、通信时序），再用逻辑分析仪或串口打印验证实际波形。ESP32 的 ADC 不是万能胶，参考电压、采样位数和噪声都会影响读数，传感器标定（offset 与斜率）往往比\"能读出来\"更花时间。": "GPIO is only the entry point. To understand hardware, combine the datasheet with measurements: check electrical parameters such as operating voltage, power consumption, and communication timing, then verify the waveform with a logic analyzer or serial output. The ESP32 ADC is not magic—reference voltage, resolution, and noise affect readings, and sensor calibration (offset and slope) often takes longer than making the sensor produce a value.",
      "目前这套实验室由几类服务组成：静态站点负责主页、项目和工具箱；仪表盘读取宿主机指标和 Docker 状态；博客后端扫描 Markdown 文章并提供搜索、相关文章和结构化数据；图书馆 API、文件转换和预约服务各自独立运行。它们不需要共享全部代码，只需要通过稳定的 HTTP API 或反向代理路径协作。": "The lab today consists of several services: a static site for the homepage, projects, and toolbox; a dashboard reading host metrics and Docker status; a blog backend scanning Markdown articles and providing search, related posts, and structured data; and independently running library API, file conversion, and booking services. They don't share all code — they only cooperate over stable HTTP APIs or reverse-proxy paths.",
      "WebSocket 连接从 HTTP 握手开始：客户端发 Upgrade 请求，服务端返回 101，之后同一 TCP 连接上双向传输帧。握手时的 key 用于校验，服务端计算 Sec-WebSocket-Accept。浏览器同源策略会阻止跨域连接，服务端用 CORS 或明确允许的 Origin 白名单控制。": "A WebSocket connection starts with an HTTP handshake: the client sends an Upgrade request, the server returns 101, and frames then travel in both directions over the same TCP connection. The handshake key is used to compute Sec-WebSocket-Accept. Browser same-origin rules block cross-origin connections, so the server must control them with CORS or an explicit Origin allowlist.",
      "设备固件里不能硬编码云端密钥，Wi-Fi 凭据和 Broker 密码应加密存储或首次配网注入。TLS 证书要能轮换，设备端校验服务器证书防中间人。对外开放的 MQTT 端口必须有认证和 ACL，按设备维度限制可订阅/可发布的 Topic。个人项目可以从小处做起：至少做到\"密钥不入库、默认拒绝、最小权限\"三条。": "Never hardcode cloud keys in device firmware. Store Wi-Fi credentials and broker passwords encrypted, or inject them during first-time provisioning. TLS certificates must be rotatable, and the device must validate the server certificate to prevent man-in-the-middle attacks. Any public MQTT port needs authentication and ACLs, limiting topics by device. A personal project can start small: keep secrets out of the repository, deny by default, and grant least privilege.",
      "| 特性 | JWT | Session | |------|-----|---------| | 扩展性 | 优秀（无状态） | 需要共享 Session | | 性能 | 客户端存储，不查 DB | 每次查 Session | | 安全性 | 需额外处理 | 成熟方案 | | 复杂度 | 较低 | 简单 |": "| Property | JWT | Session | |---|---|---| | Scalability | Excellent (stateless) | Requires shared session state | | Performance | Client-side storage; no DB lookup | Session lookup on each request | | Security | Requires additional handling | Mature server-side controls | | Complexity | Lower | Simple |",
      "链路跑通后，我做了三组验收：正常路径（设备每秒上报，页面实时更新）、异常路径（断网重连、消息重复、时钟漂移、异常值）、恢复路径（Broker 重启、数据库迁移、后端滚动更新）。每组都有对应脚本或测试用例，把\"应该能工作\"变成\"每次发布都能验证\"。设备从入网到数据可视化的全生命周期，才算一条完整可维护的数据管道。": "After the pipeline was running, I ran three acceptance groups: normal path (device reporting every second, page updating in real time), abnormal path (reconnect after outage, duplicate messages, clock drift, outliers), and recovery path (Broker restart, database migration, backend rolling update). Each group has matching scripts or test cases, turning \"it should work\" into \"verifiable at every release\". Only when a device's full lifecycle from onboarding to data visualization is covered does it become a complete, maintainable data pipeline.",
      "以智慧图书馆为例做完整数据库工程：ER 建模与第三范式规范化，针对高频查询设计 B+Tree 联合索引，用 EXPLAIN 与慢查询日志验证执行计划；存储过程与触发器处理借阅状态流转，Redis 缓存旁路加速热门查询。在 10 万条模拟数据下把核心查询压到 50ms 以内，并整理了索引失效与参数化查询的避坑清单。": "A complete database-engineering exercise using a smart library as the example: ER modeling and third-normal-form normalization; B+Tree composite indexes for high-frequency queries; execution plans verified with EXPLAIN and slow-query logs; stored procedures and triggers for borrowing-state transitions; and Redis cache-aside for hot queries. With 100,000 simulated rows, core queries stayed under 50 ms, and I compiled a checklist of index and parameterized-query pitfalls.",
      "服务器被扫是常态。加固优先级：SSH 密钥认证 + 禁 root 远程登录 > fail2ban 防爆破 > 最小权限（服务各自独立用户）> 系统与软件定期更新 > 日志与审计。Web 服务进程不要用 root 跑，Nginx 反代 + Docker 容器天然隔离一部分风险；敏感环境变量放单独文件且权限 600。": "Internet scanning is normal. Harden in this order: SSH key authentication and no root remote login; fail2ban against brute force; least privilege with a separate user per service; regular OS and software updates; logging and auditing. Never run web processes as root. Nginx reverse proxying and Docker isolation reduce some risk; keep sensitive environment variables in a separate file with mode 600.",
      "HTTPS 安全的核心是 TLS 握手。简化流程：客户端发 ClientHello（支持的 TLS 版本、密码套件、随机数）→ 服务端回 ServerHello + 证书 + 密钥交换参数 → 客户端验证证书、生成预主密钥 → 双方派生会话密钥并发送 Finished。之后应用数据用对称加密传输，性能远高于非对称。": "The core of HTTPS security is the TLS handshake. Simplified flow: the client sends ClientHello (supported TLS versions, cipher suites, random",
      "POST 创建、GET 查询、PUT 整体替换、PATCH 部分更新、DELETE 删除。状态码表达结果类别：200/201/204 成功，400 参数错误，401 未认证，403 无权限，404 不存在，409 冲突，422 校验失败，429 限流，500/503 服务异常。错误响应统一结构，客户端才能稳定解析：": "POST Creates, GET Query, PUT Whole Replaces, PATCH Partial Updates, DELETE Deletes. Status code expression category: 200/201/204 succeeded, 400 parameter errors, 401 uncertified, 403 unauthorized, 404 non-existent, 409 conflict, 422 verification failure, 429 restricted flow, 500/503 service abnormalities. Error response unified structure to stabilize the client:",
      "后端至少要有三件事：设备认证（每台设备一个唯一密钥）、数据校验（时间戳、单位、取值范围）、状态管理（在线/离线、固件版本、最后上报时间）。数据入库前统一 schema：device_id、topic、received_at、measured_at、value、schema_version，未来加字段不影响旧数据读取。": "The backend needs at least three things: device authentication with a unique key per device, data validation for timestamps, units and ranges, and state management for online/offline status, firmware version and last-report time. Normalize the schema before storage: device_id, topic, received_at, measured_at, value and schema_version, so future fields do not break older readers.",
      "把设备、表单与服务事件统一成可追踪的数据流：事件先写入 Redis Streams / 轻量队列，消费者按主题完成接收、清洗、聚合与告警，消费进度由消费者组管理，失败消息进入隔离队列重放。为每条事件保留 id、来源、时间戳与 schema_version，支持回放与审计，可同时服务 IoT 数据与 Web 业务日志。": "Unifies device, form, and service events into a traceable data stream: events are written to Redis Streams / a lightweight queue, consumers handle receive, clean, aggregate, and alert per topic, consumer groups manage progress, and failed messages are replayed from a quarantine queue. Every event keeps id, source, timestamp, and schema_version for replay and auditing, serving both IoT data and web business logs.",
      "为个人技术实验室建立可审计的恢复基线：同时保存 Compose 源码、静态站点、博客文章、Docker 镜像、命名卷、网络与容器元数据，并生成 SHA-256 校验清单。恢复脚本按“确认 → 拉取镜像 → 恢复卷 → 重建网络 → 启动服务 → 校验”顺序执行，全部幂等；每个快照带时间戳与版本号，可回退到任意历史状态。": "Established an auditable recovery baseline for the personal tech lab: Compose sources, static sites, blog articles, Docker images, named volumes, network and container metadata are all saved, along with a SHA-256 checksum manifest. The restore script runs in the order “confirm → pull images → restore volumes → rebuild networks → start services → verify“, fully idempotent; every snapshot carries a timestamp and version number, allowing rollback to any historical state.",
      "| 算法 | 密钥类型 | 安全性 | 适用场景 | |------|---------|--------|---------| | HS256 | 对称密钥 | 中 | 单服务/内部服务 | | RS256 | 公私钥对 | 高 | 微服务/第三方验证 | | ES256 | 椭圆曲线 | 最高 | 移动端/高性能 |": "Algorithmic Algorithmic Key Type | Security | Applicable scene | | | | | | | | | HS256 | Symmetric Key | Single/Internal Services | RS256 | Public and private key pairs | High Microservice/ Third Party Validation | ES256 | Ellipse Curve | Highest | Mobile End/High Performance |",
      "把测试、构建、推送与部署全流程自动化：代码推送到 develop 自动运行 pytest 与 lint，通过后构建 Docker 镜像并推送到阿里云容器镜像服务，再通过 SSH 在 ECS 上执行滚动更新；失败时在 PR 中直接标记。流水线中配置了构建缓存、镜像版本化与回滚按钮，让发布从手动操作变成可重复、可追溯的流程。": "Automated the entire test-build-push-deploy flow: pushing code to develop triggers pytest and lint automatically; on success, a Docker image is built and pushed to Aliyun Container Registry, then a rolling update is executed on ECS over SSH; failures are flagged directly in the PR. The pipeline includes build caching, image versioning and a rollback button, turning releases from manual operations into a repeatable, traceable process.",
      "第一类是可读源码：Compose 文件、Dockerfile、静态站点、博客 Markdown 和脚本。第二类是运行时资产：当前使用的镜像、证书目录和环境变量。第三类是状态数据：预约数据、图书馆数据和日志卷。第四类是拓扑信息：容器 inspect、网络 inspect、卷 inspect 和渲染后的 Compose 配置。": "Category one is readable source: Compose files, Dockerfiles, static sites, blog Markdown and scripts. Category two is runtime assets: currently used images, certificate directories and environment variables. Category three is state data: reservation data, library data and log volumes. Category four is topology info: container inspect, network inspect, volume inspect and the rendered Compose config.",
      "定时任务在凌晨跑，日志尤其重要：每条日志带时间戳（UTC 存储、本地展示）、任务名、执行环境；日志按天轮转压缩。时区统一配置，Cron 的 TZ 与 Python 的 zoneinfo 都显式设置，避免\"看起来跑了其实是昨天\"。所有任务纳入版本管理（脚本 + 调度配置），机器重建后一键恢复——自动化任务本身也要能自动化部署。": "Scheduled jobs often run overnight, so logs are critical: record a timestamp (UTC storage, local display), task name and execution environment for every entry; rotate and compress logs daily. Configure the timezone consistently and set Cron TZ and Python zoneinfo explicitly to avoid jobs appearing to run on the wrong day. Version-control every script and schedule, so a rebuilt machine can restore them in one click.",
      "异常不散落在每个 Controller。用 @RestControllerAdvice 统一处理：业务异常返回 4xx + 错误码，参数校验异常返回 422 + 字段错误，未知异常记日志并返回 500（不暴露堆栈给客户端）。响应结构统一：data、error（code/message）、request_id，方便前端与排障。": "Exceptions should not be scattered across every Controller. Handle them uniformly with @RestControllerAdvice: business exceptions return 4xx + error code, validation failures return 422 + field errors, unknown exceptions are logged and return 500 (without exposing the stack). Unify the response shape: data, error (code/message), request_id — for frontend and troubleshooting.",
      "JWT 适合无状态、跨服务共享身份，但\"无法主动注销\"\"负载体积\"是代价；Session 有服务端状态，注销容易、可控性强，但要维护会话存储。个人项目我的取舍：短会话用 JWT + 刷新轮换，敏感管理接口再加 RBAC 与审计；session 适合需要立即踢人的后台管理。安全不是选一个技术，而是明确\"谁在什么条件下能做什么\"。": "JWT suits stateless, cross-service shared identity, but \"no active revocation\" and \"payload size\" are the costs; Session keeps server-side state — easy revocation and strong control, but you must maintain session storage. My trade-off for personal projects: JWT + refresh rotation for short sessions, plus RBAC and auditing for sensitive admin endpoints; session suits admin panels that need instant kick-out. Security isn't picking one technology — it's defining \"who can do what under what conditions\".",
      "自定义机器人用 Webhook 地址发消息，Webhook 本身就是密钥：泄露后任何人都能往群里发消息。安全措施：Webhook 不写进代码和日志；服务器 IP 白名单（机器人设置里开启）；敏感内容走加密字段或卡片加密；密钥轮换有流程。飞书对消息频率有限制（同机器人每秒 5 条），批量推送时本地限速 + 批处理，避免触发限流。": "A custom bot sends messages via a Webhook URL, and the Webhook itself is the secret: once leaked, anyone can post to the group. Security measures: never write the Webhook into code or logs. Server IP whitelist (bot",
      "上线前用工具模拟设备连接：先测单设备长连接稳定性（连接 24 小时观察断线），再逐步加设备看 Broker CPU 与连接数。订阅者消费能力决定 QPS 上限：消费者处理慢，Broker 的消息堆积会增长，需要监控消费延迟。个人项目做到\"Broker 无异常日志、消费延迟 < 5 秒\"即可，不必追求百万并发——先把可靠性做扎实。": "Before going live, simulate device connections with tools: first test single-device long-connection stability (connect for 24 hours, watch for drops), then gradually add devices and observe Broker CPU and connection counts. Subscriber consumption capacity sets the QPS ceiling: slow consumers grow the Broker's message backlog, so consumption latency must be monitored. For personal projects, \"no anomalous Broker logs, consumption latency < 5s\" is enough — no need to chase millions of concurrent connections; make reliability solid first.",
      "自研博客引擎：Markdown 文件即文章源，后端渲染为 HTML、自动生成目录与阅读时间，支持标签聚合、全文搜索、相关文章与 JSON-LD 结构化数据。文章发布只需新增 Markdown 并执行渲染脚本，配合 RSS 与 Service Worker 实现离线阅读；标签与搜索索引自动重建，是内容工程与静态站点构建结合的实践。": "A self-developed blog engine: Markdown files are the article source; the backend renders them to HTML with auto-generated table of contents and reading time, supporting tag aggregation, full-text search, related articles and JSON-LD structured data. Publishing an article just means adding a Markdown file and running the render script; RSS and a Service Worker enable offline reading. Tags and the search index rebuild automatically — a practice combining content engineering with static-site building.",
      "HSTS 告诉浏览器\"未来一段时间只走 HTTPS\"，防 SSL Strip 攻击；首次通过 HTTPS 访问后生效，所以要先确保 HTTPS 完全可用再开启。配合安全头：X-Content-Type-Options（防 MIME 嗅探）、X-Frame-Options（防点击劫持）、Referrer-Policy（控制来源泄露）。": "HSTS tells the browser to use HTTPS only for a period of time, protecting against SSL-stripping attacks. It takes effect after the first HTTPS visit, so make HTTPS fully reliable before enabling it. Combine it with security headers: X-Content-Type-Options (MIME sniffing protection), X-Frame-Options (clickjacking protection), and Referrer-Policy (control referrer leakage).",
      "以 Docker Compose 统一管理 Nginx、页面、博客、仪表盘与多个 API 服务：网络按业务拆分子网、服务间通过服务名互访，健康检查与 depends_on 控制启动顺序，数据卷持久化 MySQL 与证书，配置通过环境变量分层注入。镜像固定版本号、保留回滚基线，是向 Kubernetes 迁移前的一次完整服务治理练习。": "Unified management of Nginx, pages, blog, dashboard and multiple API services with Docker Compose: networks are split into per-business subnets, services communicate via service names, health checks and depends_on control startup order, data volumes persist MySQL data and certificates, and config is injected in layers through environment variables. Images are pinned to version numbers with rollback baselines kept — a complete service-governance exercise before migrating to Kubernetes.",
      "Flask + MySQL 完整业务系统：读者 / 图书管理员 / 系统管理员三种角色，覆盖图书编目、借阅归还、库存管理、逾期罚款、预约队列与操作日志审计。借阅与归还放在数据库事务中执行，避免并发下的库存错乱；预约按创建时间排队并设置取书期限。Bootstrap 响应式界面，权限中间件统一控制路由访问，是一个从需求到上线完整的课程设计。": "A complete business system with Flask + MySQL: three roles — reader / librarian / system administrator — covering book cataloging, borrowing & returning, inventory management, overdue fines, reservation queues and operation-log auditing. Borrowing and returning run in database transactions to prevent inventory inconsistency under concurrency; reservations queue by creation time with a pickup deadline. Bootstrap responsive UI, route access controlled uniformly by a permission middleware — a complete course project from requirements to production.",
      "纯前端实现的浏览器起始页与导航站：内联 SVG 绘制 CPU / 内存 / 磁盘实时图表，Canvas 粒子背景，JSON 配置驱动常用链接。完整实现暗黑 / 明亮双主题切换与 LocalStorage 持久化，天气模块自动检测位置并展示 SVG 图标；桌面 4 列、平板 2 列、手机单列的响应式布局，不依赖任何后端与第三方 UI 框架。": "A pure front-end browser start page and navigation site: inline SVG draws real-time CPU / memory / disk charts, a Canvas particle background, and JSON config drives the common links. Full dark / light theme switching with LocalStorage persistence, a weather module that auto-detects location and shows SVG icons, and a responsive layout of 4 columns on desktop, 2 on tablet, 1 on mobile — with no backend or third-party UI framework.",
      "性能优化是一次性的还是持续的，取决于有没有\"预算\"：给每个页面定 LCP < 2.5s、CLS < 0.1、总资源 < 500KB 的预算，CI 里对每次构建跑 Lighthouse 并比对预算，超了就阻止合并。线上用 RUM（真实用户监控）收集分位数，而不是只看本机 DevTools 的分数。性能不是上线前的一轮优化，而是工程流程的一部分。": "Whether performance optimization is one-off or continuous depends on having a \"budget\": give every page a budget of LCP < 2.5s, CLS < 0.1 and total resources < 500KB; run Lighthouse on every build in CI and compare against the budget, blocking merges that exceed it. In production, collect percentiles via RUM (real user monitoring) instead of only trusting local DevTools scores. Performance is not a one-off optimization round before launch — it's part of the engineering process.",
      "Service 层用单元测试 + Mockito 隔离依赖；接口层用 MockMvc 验证路由、参数、响应结构与状态码；数据库集成测试用 Testcontainers 起真实 MySQL，避免 H2 与生产行为不一致。CI 里跑全量测试，覆盖率作为趋势参考而不是指标绑架。关键业务（借阅、转账、库存）写事务与并发测试，防止\"单测全绿、上线出事\"。": "The Service layer isolates dependencies with unit tests + Mockito; the API layer uses MockMvc to verify routes, params, response shape and status codes; DB integration tests use Testcontainers with real MySQL to avoid H2 behaving differently from production. CI runs the full suite, treating coverage as a trend reference rather than a metric hostage. For critical business (borrowing, transfers, inventory), write transaction and concurrency tests to prevent \"all unit tests green, production on fire\".",
      "Vue.js + Flask + MySQL 全栈项目：前后端分离，JWT 登录鉴权，商品发布 / 搜索 / 收藏 / 订单，WebSocket 实时聊天，图片上传走对象存储。API 按 RESTful 规范设计（资源命名、状态码、分页、错误结构统一），后端按业务拆分模块并做权限隔离；前端组件化开发并做移动端适配，完整走了一遍真实业务系统的交付流程。": "A Vue.js + Flask + MySQL full-stack project: frontend/backend separation, JWT authentication, product publishing / search / favorites / orders, WebSocket real-time chat, and image uploads via object storage. The API follows RESTful conventions (resource naming, status codes, pagination, unified error structure); the backend is split into business modules with permission isolation; the frontend uses component-based development with mobile adaptation — a complete delivery flow for a real business system.",
      "纯前端实现 14 个开发工具：JSON 格式化 / 压缩、Base64 编解码、时间戳转换、URL 编解码、正则测试、QR 码生成、密码生成器、Markdown 预览、图片压缩、文本对比、进制转换、UUID 等。所有计算在浏览器本地完成，不上传任何数据；Launchpad 风格网格布局，工具按场景分组，支持暗黑主题，是个人站点里使用频率最高的页面之一。": "14 development tools implemented purely in the frontend: JSON formatting/minification, Base64 encode/decode, timestamp conversion, URL encode/decode, regex testing, QR code generation, password generator, Markdown preview, image compression, text diff, base conversion, UUID, and more. All computation happens locally in the browser — no data is uploaded; Launchpad-style grid layout with tools grouped by scenario and dark theme support. One of the most-used pages on the personal site.",
      "覆盖 LAMP / LNMP 环境部署、Docker 全家桶安装、SSL 证书一键申请、MySQL 自动备份和系统初始化配置的 Shell 脚本集，已在 3 台 Ubuntu 20.04 / 22.04 / 24.04 服务器上验证。脚本全部幂等可重入，关键步骤带彩色日志与退出码判断，出错自动回滚已修改配置；参数通过环境变量注入，方便在不同机器上复用。": "A collection of Shell scripts covering LAMP/LNMP environment deployment, full Docker toolchain installation, one-click SSL certificate issuance, MySQL automatic backup and system initialization; verified on 3 Ubuntu 20.04 / 22.04 / 24.04 servers. All scripts are idempotent and re-runnable, with colored logs and exit-code checks at key steps; modified configs are automatically rolled back on errors. Parameters are injected via environment variables for easy reuse across machines.",
      "配置走 profile（dev/prod）+ 环境变量，敏感值不提交；Actuator 暴露健康端点，配合 Nginx 和 Docker 做容器化部署。慢查询、日志、指标在发布前就配好，而不是等出问题再加。Spring Boot 的工程价值在于：约定优于配置，把常见问题（依赖、事务、测试、部署）变成有标准答案的常规操作，让开发者把精力留给真正的业务逻辑。": "Configuration runs through profiles (dev/prod) plus environment variables, with sensitive values never committed; Actuator exposes health endpoints, and Nginx and Docker handle containerized deployment. Slow queries, logs and metrics are set up before release, not added after problems appear. Spring Boot's engineering value lies in convention over configuration — turning common concerns (dependencies, transactions, testing, deployment) into routine operations with standard answers, so developers can focus on the real business logic.",
      "日英双语的阶梯式练习平台：内容模型区分 lesson / item / attempt / review 四类实体，前端用 Vue + TypeScript 管理词汇、语法、复习计划与统计，IndexedDB 做离线存储与增量同步。AI 参与例句生成与难度校验，但学习结论由规则引擎决定；统计页按学习流展示正确率与复习曲线，是从产品结构到工程交付的综合实践。": "A step-by-step practice platform for Japanese-English bilingual learning: the content model distinguishes four entity types — lesson / item / attempt / review; the frontend uses Vue + TypeScript to manage vocabulary, grammar, review plans and statistics, with IndexedDB for offline storage and incremental sync. AI assists with example-sentence generation and difficulty validation, but learning conclusions are decided by a rule engine; the statistics page shows accuracy and review curves per learning stream — a comprehensive practice from product structure to engineering delivery.",
      "把服务健康检查、资源阈值告警、日志聚合、MySQL 备份和 SSL 证书续签串成一套可复用的运维工具链。健康检查失败自动重启容器并记录耗时；日志定期解析出 PV/UV、状态码分布与慢请求 Top 10；磁盘与内存超过阈值时由飞书推送含进程快照的告警。证书在到期前 30 天自动续签、Nginx 热加载，另有 7/3/1 天分级提醒和归档回滚，替代了全部人工巡检。": "Chained service health checks, resource-threshold alerts, log aggregation, MySQL backups and SSL certificate renewal into a reusable ops toolchain. Failed health checks auto-restart containers and log the time taken; logs are parsed periodically for PV/UV, status-code distribution and the slowest Top 10 requests; when disk or memory exceeds thresholds, Feishu pushes alerts with process snapshots. Certificates auto-renew 30 days before expiry with Nginx hot reload, plus 7/3/1-day tiered reminders and archived rollback — replacing all manual inspections.",
      "访问令牌过期时间短（15-60 分钟），刷新令牌长（7-30 天）。刷新流程：客户端用 refresh token 换新 access token；刷新令牌轮换（每次刷新发新 refresh、旧 refresh 立即作废），被盗后只能短暂使用。注销场景：短期访问令牌很难真正作废，方案是维护 jti 黑名单（Redis 带过期），或缩短令牌有效期配合刷新令牌撤销。": "Access tokens expire quickly (15–60 minutes), refresh tokens last longer (7–30 days). Refresh flow: the client exchanges a refresh token for a new access token; refresh token rotation (each refresh issues a new refresh and invalidates the old one immediately) means a stolen token is only usable briefly. Logout scenario: short-lived access tokens are hard to truly revoke — options are a jti blacklist (Redis with expiry) or shorter token lifetimes paired with refresh-token revocation.",
      "EXPLAIN 输出的核心字段：type（访问类型）、key（命中索引）、rows（预估扫描行数）、Extra（是否 filesort、临时表、Using index）。访问类型从好到差大致是 system → const → eq_ref → ref → range → index → ALL（全表扫描）。看到 ALL 且 rows 很大，就是优化的第一个目标。": "Key fields in EXPLAIN output: type (access type), key (index hit), rows (estimated scanned rows), Extra (filesort, temp table, Using index). Access types from best to worst: system → const → eq_ref → ref → range → index → ALL (full table scan). Seeing ALL with large rows is your first optimization target.",
      "JPA/Hibernate 适合领域模型复杂、对象关系映射完整的项目，自动生成 SQL 但容易产生 N+1 查询；MyBatis 手写 SQL、控制力强，适合复杂查询与优化。个人项目我的选择：CRUD 与关系建模用 JPA（@EntityGraph 解决 N+1），报表与复杂联查用 MyBatis 或 JdbcTemplate。没有银弹，按查询复杂度和团队习惯选。": "JPA/Hibernate suits projects with complex domain models and complete object-relational mapping — it auto-generates SQL but easily produces N+1 queries; MyBatis uses handwritten SQL with strong control, suited for complex queries and optimization. My choice for personal projects: JPA for CRUD and relationship modeling (@EntityGraph solves N+1), MyBatis or JdbcTemplate for reports and complex joins. There is no silver bullet — choose by query complexity and team habits.",
      "Flask + LibreOffice 的转换 API：支持 Word ↔ PDF、PPT ↔ PDF、Excel → CSV，单文件最大 50MB，批量任务走队列并在完成后回调。工程上重点处理了进程超时、临时目录隔离、并发限制与失败清理；文件名与 MIME 都做校验，日志按任务 ID 追踪，方便定位是哪一步转换失败。Docker 一键部署，接口设计与错误码统一，可直接接入业务。": "A conversion API built with Flask + LibreOffice: supports Word ↔ PDF, PPT ↔ PDF, Excel → CSV, with a 50MB per-file limit; batch jobs go through a queue and call back on completion. The engineering focuses on process timeouts, temp-directory isolation, concurrency limits and failure cleanup; filenames and MIME types are validated, and logs are tracked by task ID to pinpoint which step failed. One-click Docker deployment, unified API design and error codes — ready to integrate into business systems.",
      "Access token 放 localStorage 会被 XSS 读到；更稳的是放内存（刷新后由 JS 持有），刷新令牌放 HttpOnly + Secure + SameSite Cookie。CSRF 防护对 Cookie 场景必须（SameSite + CSRF token）；纯 Bearer 头场景避免 token 出现在 URL 和日志里。所有传输走 HTTPS，禁止把 token 打到第三方请求头。": "Storing the access token in localStorage lets XSS read it; safer is keeping it in memory (held by JS after refresh), while the refresh token goes in an HttpOnly + Secure + SameSite cookie. CSRF protection is mandatory in cookie scenarios (SameSite + CSRF token); in pure Bearer-header scenarios, keep tokens out of URLs and logs. All traffic goes over HTTPS, and tokens must never be attached to third-party request headers.",
      "Spring 容器管理 Bean 的创建、依赖与销毁。接口注入优于实现注入（可替换、易测试）；构造器注入优于字段注入（依赖明确、可空性检查）。理解 Bean 作用域：默认 singleton（容器内单例）、request/session 按需。@Transactional 默认只回滚 RuntimeException，checked 异常要显式 rollbackFor，事务边界放在 Service 层而不是 Controller。": "The Spring container manages Bean creation, dependencies and destruction. Interface injection beats implementation injection (replaceable, testable); constructor injection beats field injection (explicit dependencies, nullability checks). Understand Bean scopes: singleton by default (one instance per container), request/session as needed. @Transactional rolls back RuntimeException by default; checked exceptions need explicit rollbackFor. Transaction boundaries belong in the Service layer, not the Controller.",
      "| 优化项 | 优化前 | 优化后 | 提升 | |--------|--------|--------|------| | 总加载体积 | 12.3 MB | 1.1 MB | -91% | | First Contentful Paint | 2.8 s | 0.4 s | -86% | | Largest Contentful Paint | 3.2 s | 0.9 s | -72% | | Lighthouse 评分 | 42 | 96 | +54 |": "| Optimization Before Optimisation | Upgrade | | | | | | | | | | | | | | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +",
      "独立完成从硬件到前端的数据闭环：ESP32 以 MQTT QoS 1 上报温湿度、光照等环境数据，Python 后端订阅 Topic、校验时间戳与单位后写入 MySQL；ECharts 实现 24h / 7d / 30d 可切换的实时曲线与仪表盘，支持 CSV 导出与 RESTful 分页查询。异常检测使用滑动窗口阈值，命中后携带设备 ID、异常值与时间戳推送飞书，做到秒级告警。链路中覆盖了消息幂等、断线重连、字段版本兼容与数据归档，形成一条可排障的数据管道。": "Independently built a complete data loop from hardware to frontend: ESP32 reports temperature, humidity, light and other environmental data over MQTT QoS 1; a Python backend subscribes to topics, validates timestamps and units, then writes to MySQL; ECharts renders switchable 24h/7d/30d real-time charts and dashboards, with CSV export and RESTful paginated queries. Anomaly detection uses a sliding-window threshold — when triggered, a Feishu alert with device ID, anomalous value and timestamp is pushed within seconds. The pipeline covers message idempotency, reconnection, field-version compatibility and data archiving, forming a diagnosable data pipeline.",
      "在阿里云 ECS（Ubuntu 24.04）上从零搭建个人技术平台：Nginx 统一反向代理 + Docker Compose 编排 6 个容器化服务（主页、博客、仪表盘、工具箱、文件转换、清灰 API），单端口 80 承载全部流量。SSL 证书通过 Certbot 全自动申请与续签，Crontab + Shell 完成数据库定时备份、日志轮转与健康检查，异常由飞书机器人实时告警。所有 Dockerfile 与配置纳入 Git 版本管理，支持一键重建与回滚，生产环境持续稳定运行一年以上。": "Built a personal tech platform from scratch on Aliyun ECS (Ubuntu 24.04): Nginx as the unified reverse proxy + Docker Compose orchestrating 6 containerized services (homepage, blog, dashboard, toolbox, file conversion, cleanup API), with a single port 80 carrying all traffic. SSL certificates are fully auto-issued and renewed via Certbot; Crontab + Shell handle scheduled database backups, log rotation and health checks, with anomalies alerted in real time by a Feishu bot. All Dockerfiles and configs are under Git version control, supporting one-click rebuild and rollback; the production environment has run stably for over a year.",
      "返回": "Back",
      "返回文章列表": "Back to article list",
      "返回全部文章": "Back to all articles",
      "选择语言": "Language",
      "指标历史": "Metrics history",
      "发送": "Sent",
      "接收": "Received",
      "系统": "System",
      "内核": "Kernel",
      "公网 IP": "Public IP",
      "Docker 容器": "Docker containers",
      "镜像": "Image",
      "端口": "Ports",
      "输入关键词开始搜索…": "Type to search…",
      "↑↓ 导航": "↑↓ Navigate",
      "⏎ 打开": "⏎ Open",
      "Esc 关闭": "Esc Close",
      "主页": "Home",
      "图书馆 API": "Library API",
      "文件转换": "File conversion",
      "预约服务": "Booking service",
      "本地预览": "Local preview",
      "本地界面预览": "Local interface preview",
      "线上部署后读取": "Read after deployment",
      "本地不连接证书": "No certificate connection in local preview",
      "物联网工程": "IoT Engineering",
      "大一": "First-year undergraduate",
      "大二": "Second-year undergraduate",
      "大三": "Third-year undergraduate",
      "2026 · 大四": "2026 · Fourth-year undergraduate",
      "飞书 Webhook": "Feishu Webhook",
      "飞书告警": "Feishu alerts",
      "飞书通知": "Feishu notifications",
      "飞书群聊": "Feishu group chat",
      "技术博客": "Technical blog",
      "记录学习过程中的思考与实践 · 共 39 篇文章": "Notes on learning and practice · 39 articles",
      "全部": "All",
      "个人主页": "Home",
      "保持联系": "Contact",
      "发送邮件": "Email me",
      "邮箱联系": "Email",
      "下载简历": "Download CV"
    },
    "ja": {
      "与": "そして、",
      "佟": "W",
      "和": "と",
      "天": "日",
      "或": "または",
      "比": "です。",
      "用": "使う",
      "7天": "7日間",
      "中的": "内の",
      "优于": "よりよく",
      "先用": "まずは。",
      "内存": "メモリ",
      "再加": "プラス",
      "击穿": "ブレイクアウト。",
      "分屏": "画面分割",
      "分钟": "分",
      "分页": "ページネーション",
      "列表": "リスト",
      "删除": "削除",
      "前端": "フロントエンド",
      "前言": "はじめに",
      "加密": "暗号化",
      "博客": "ブログ",
      "反代": "リバースプロキシ",
      "可用": "利用できる",
      "启动": "スタート",
      "周一": "月",
      "周三": "水",
      "周二": "火",
      "周五": "金",
      "周六": "土",
      "周四": "木",
      "周日": "日",
      "善用": "活用する",
      "复用": "リユース",
      "学习": "トレーニング",
      "安全": "クリア。",
      "小时": "時間",
      "已用": "使用済み",
      "开源": "オープンソース",
      "总结": "まとめ",
      "总计": "合計",
      "打开": "オープン",
      "排序": "ソート",
      "排除": "エクスクルード",
      "搜索": "検索",
      "数据": "データデータ",
      "文件": "ファイル",
      "替换": "リプレース",
      "权限": "権限",
      "查询": "クエリ",
      "标题": "タイトル",
      "核心": "コア",
      "概述": "プロフィール",
      "注意": "注意。",
      "测试": "テスト",
      "的列": "コラム",
      "监控": "モニター",
      "看板": "ダッシュボード",
      "磁盘": "ディスク",
      "秒级": "秒",
      "穿透": "スルー。",
      "签发": "発行者",
      "结语": "おわりに",
      "网络": "ネットワーク",
      "而非": "ではなく",
      "背景": "背景",
      "脚注": "フットノート",
      "行数": "行数",
      "表格": "テーブル",
      "认证": "認証",
      "设计": "デザイン",
      "过期": "有効期限",
      "过滤": "フィルター",
      "运维": "運用",
      "配合": "と組み合わせて",
      "问题": "問題",
      "限流": "レート制限",
      "雪崩": "アヴァランチェ",
      "需求": "要件",
      "项目": "プロジェクト",
      "预览": "プレビュー",
      "飞书": "Feishu",
      "首页": "ホーム",
      "，如": "、例えば",
      "1小时": "1時間",
      "6小时": "6時間",
      "一致性": "コヒーレンス",
      "不备份": "バックアップしない",
      "为主、": "を中心に、",
      "二进制": "2進数",
      "代码块": "コードブロック",
      "仪表盘": "ダッシュボード",
      "传感器": "センサー",
      "佟伟成": "Wei-Cheng Tong",
      "修饰符": "修飾子",
      "元字符": "キャラクター",
      "光泽层": "光沢レイヤー",
      "八进制": "8進数",
      "分屏，": "サブスクリーン,",
      "十进制": "10進数",
      "单词数": "単語数",
      "参数用": "パラメーター",
      "可回退": "ロールバック可能",
      "可视化": "ビジュアル",
      "可追踪": "追跡可能",
      "可重建": "再構築可能",
      "响应式": "レスポンシブ",
      "回放，": "再生、",
      "大字段": "大きいフィールド",
      "字符数": "文字数",
      "字节数": "バイト数",
      "完整性": "インテグリティ",
      "宏录制": "マクロレコード",
      "定位，": "ポジション,",
      "工具箱": "ツールボックス",
      "工具类": "ツールクラス",
      "已停止": "停止",
      "引用块": "引用ブロック",
      "录制，": "記録、",
      "成功类": "成功カテゴリ",
      "或跳过": "またはスキップ",
      "找回。": "取り戻せます。",
      "指定。": "指定します。",
      "接入层": "アクセス層",
      "推荐用": "おすすめ",
      "搜索、": "検索、",
      "新文本": "新しいテキスト",
      "无状态": "ステートレス",
      "替换、": "置換、",
      "服务名": "サービス名",
      "服务层": "Service層",
      "次访问": "回のアクセス",
      "段落数": "段落数",
      "毫秒级": "ミリ秒",
      "流量包": "フローパック",
      "热重载": "ホットリロード",
      "物联网": "IoT",
      "用户端": "クライアント側",
      "看到。": "確認できます。",
      "硬件层": "ハードウェア層",
      "移除。": "削除します。",
      "粘贴；": "ペースト",
      "组管理": "グループ管理",
      "缓冲区": "バッファ",
      "而不是": "ではなく",
      "背景层": "背景層",
      "能命中": "ヒットできる",
      "自动化": "オートメーション",
      "表现层": "プレゼンテーション層",
      "起始页": "スタートページ",
      "边框层": "ボーダー層",
      "运行中": "実行中",
      "连接池": "コネクションプール",
      "通信层": "コミュニケーションレイヤー",
      "飞书群": "Feishuグループ",
      "：使用": ": 使用法",
      "0 停机": "0 停止",
      "2 核心": "2コア",
      "24小时": "24時間",
      "C 语言": "C言語",
      "g 全局": "g グローバル",
      "m 多行": "m 複数行",
      "← 返回": "← 戻る",
      "→ 转换": "→ 変換",
      "✅ 就绪": "✅ 準備完了",
      "✅ 校验": "✅ 検証",
      "、大文件": "、大きなファイル",
      "一键脚本": "ワンクリックスクリプト",
      "上传限速": "アップロード速度制限",
      "不可再生": "再生成不可",
      "不含空格": "スペースなし",
      "串口通信": "シリアル通信",
      "交互体验": "インタラクティブな体験",
      "交互界面": "インターフェース",
      "代表作品": "代表作品",
      "任务队列": "タスクキュー",
      "优化实战": "最適化の実践",
      "会话数据": "セッションデータ",
      "低选择性": "選択性が低い",
      "使用函数": "関数を使う",
      "依赖检查": "依存関係チェック",
      "全站应用": "サイト全体への適用",
      "共享目录": "共有ディレクトリ",
      "关联的列": "関連するコラム",
      "关键工具": "主なツール",
      "关键步骤": "主なステップ",
      "关键配置": "重要な設定",
      "内存模型": "メモリモデル",
      "内容工程": "コンテンツエンジニアリング",
      "内容设计": "コンテンツデザイン",
      "冒充风险": "なりすましリスク",
      "写作规范": "執筆規範",
      "冲突解决": "コンフリクト解決",
      "函数指针": "関数ポインタ",
      "分层架构": "レイヤードアーキテクチャ",
      "分类导航": "カテゴリーナビゲーション",
      "切换主题": "スイッチテーマ",
      "初始配置": "初期設定",
      "前端实现": "フロントエンド実装",
      "加载中…": "読み込み中…",
      "动画效果": "アニメーション効果",
      "十六进制": "16進数",
      "单元测试": "ユニットテスト",
      "博客页面": "ブログページ",
      "即时结果": "即時結果",
      "原始文本": "元のテキスト",
      "参数校验": "パラメータ検証",
      "反向代理": "リバースプロキシ",
      "可访问性": "アクセシビリティ",
      "可预测性": "予測可能性",
      "合理规格": "合理的な仕様",
      "合理限流": "合理的な制限。",
      "告警推送": "アラート通知",
      "告警通知": "アラート通知",
      "命名规则": "ネーミングルール",
      "四类信号": "4 クラスの信号。",
      "图片上传": "イメージのアップロード",
      "在线工具": "オンラインツール",
      "块，通过": "ブロック、パス。",
      "基本流程": "基本的なプロセス",
      "基本用法": "基本使用",
      "基础概念": "基本コンセプト",
      "基础监控": "基本的な監視",
      "基础移动": "基本移動",
      "备份恢复": "バックアップ復元",
      "复制粘贴": "コピーペースト",
      "多级指针": "多段ポインタ",
      "大四在读": "大学4年生",
      "大屏展示": "大画面表示",
      "天气预报": "天気予報",
      "字符匹配": "キャラクターマッチ",
      "学习建议": "学習アドバイス",
      "学习路径": "学習パス",
      "安全优先": "セキュリティ優先",
      "安全加固": "セキュア。",
      "安全基线": "セキュリティベースライン",
      "安全考虑": "セキュリティの考慮事項",
      "定时任务": "定期タスク",
      "定时执行": "定期実行",
      "定时触发": "定期トリガー",
      "实例规格": "インスタンス仕様",
      "实战场景": "フィールドビュー。",
      "实现方案": "実装アプローチ",
      "实用配置": "実用的な構成",
      "实际应用": "実際の応用",
      "审计日志": "監査ログ",
      "容器状态": "コンテナのステータス",
      "密码套件": "暗号スイート",
      "密钥交换": "キー交換",
      "对称加密": "Symmetric 暗号化",
      "工作原理": "動作原理",
      "工程理念": "エンジニアリングの原則",
      "常见场景": "共通シーン",
      "并发执行": "並列実行",
      "并行执行": "並列実装",
      "应用配置": "アプリケーション設定",
      "开源协作": "オープンソースのコラボレーション",
      "引用变量": "参照変数",
      "快照策略": "スナップショット戦略",
      "性能优化": "パフォーマンスの最適化",
      "性能分析": "パフォーマンス分析",
      "恢复顺序": "復元順序",
      "成长轨迹": "成長の軌跡",
      "批量生成": "一括生成",
      "找引用，": "引用を探し、",
      "技术文章": "技術記事",
      "折叠内容": "折りたたみコンテンツ",
      "指针基础": "ポインターベース",
      "指针运算": "ポインターオペレーション",
      "接口文档": "インターフェイス文書",
      "接口边界": "インターフェイス境界",
      "推荐使用": "推奨用途",
      "握手过程": "ハンドシェイクプロセス",
      "搜索过滤": "フィルター検索",
      "效果总结": "効果の概要",
      "效率技巧": "効率の技術",
      "教务系统": "教務システム",
      "数据处理": "データ処理",
      "数据备份": "データバックアップ",
      "数据清洗": "データクリーニング",
      "数据结构": "データ構造",
      "数据量小": "小さなデータ",
      "数量限定": "数量限定",
      "整体采用": "全体として採用",
      "文件位置": "ファイルの場所",
      "文件接收": "ファイル受信",
      "文本对象": "テキストオブジェクト",
      "文本样式": "テキストスタイル",
      "文章源码": "記事のソース",
      "旁路缓存": "サイドキャッシュ",
      "日志审计": "ログ監査",
      "日志查看": "ログ表示",
      "日志管理": "ログ管理",
      "日志系统": "ログシステム",
      "日志聚合": "ログ集約",
      "日志记录": "ログ記録",
      "时序数据": "時系列データ",
      "普通字符": "ノーマルキャラクター",
      "暂无数据": "データなし",
      "替换前先": "リプレース",
      "最佳实践": "ベストプラクティス",
      "服务状态": "サービス状態",
      "服务监控": "サービス監視",
      "未来目标": "今後の目標",
      "条件判断": "条件付き判断",
      "构建缓存": "ビルドキャッシュ",
      "架构设计": "アーキテクチャ設計",
      "查看项目": "プロジェクトを見る",
      "核心概念": "コアコンセプト",
      "核心设计": "コア設計",
      "核心逻辑": "コアロジック",
      "检查清单": "チェックリスト",
      "模式切换": "モード スイッチ",
      "正在使用": "使用中",
      "正常运行": "正常稼働",
      "没有银弹": "銀の弾丸無し。",
      "测试文本": "テストテキスト",
      "消息卡片": "メッセージカード",
      "消息推送": "メッセージ配信",
      "消息认证": "メッセージ認証",
      "添加注释": "コメントを追加",
      "渲染核心": "レンダリングコア",
      "游戏逻辑": "ゲームロジック",
      "热点数据": "ホットスポットデータ",
      "版本控制": "バージョン管理",
      "特征分析": "特徴分析",
      "特殊权限": "特別許可",
      "状态展示": "状態表示",
      "状态管理": "ステータス管理",
      "生产可用": "本番利用可能",
      "生产就绪": "本番利用可能",
      "画面输出": "画面出力",
      "监控告警": "監視・アラート",
      "监控账单": "請求監視",
      "目标格式": "対象フォーマット",
      "看内存，": "メモリを見て、",
      "移动光标": "カーソル移動",
      "窃听风险": "盗聴リスク",
      "章节管理": "チャプターマネジメント",
      "端口冲突": "ポートコンフリクト",
      "第一层：": "1階:",
      "第一阶段": "フェーズI",
      "第三阶段": "フェーズIII",
      "第二层：": "2階:",
      "第二阶段": "フェーズII",
      "第四阶段": "フェーズIV",
      "答案就是": "答えは...",
      "篡改风险": "歪みリスク",
      "系统信息": "システム情報",
      "系统负载": "システム負荷",
      "索引基础": "インデックスベース",
      "索引监控": "インデックスモニター",
      "索引类型": "インデックスタイプ",
      "组合操作": "グループオペレーション",
      "统一接口": "統一されたインターフェイス",
      "续签成功": "更新成功",
      "缓存穿透": "キャッシュパス",
      "缓存雪崩": "キャッシュ・アバランチェ",
      "编排调度": "オーケストレーションとスケジューリング",
      "编程语言": "プログラミング言語",
      "编辑操作": "編集操作",
      "网络流量": "ネットワーク通信量",
      "网络规划": "ネットワークプランニング",
      "网络诊断": "ネットワーク診断",
      "脚本阶段": "スクリプト段階",
      "自动续期": "自動更新",
      "自动配置": "自動構成",
      "解析渲染": "レンダリング",
      "设计灵感": "デザインインスピレーション",
      "设计系统": "デザインシステム",
      "证书签发": "証明書発行",
      "请求统计": "リクエスト統計",
      "课程提醒": "授業リマインダー",
      "课表提醒": "時間割リマインダー",
      "调试工具": "デバッグツール",
      "调试技巧": "デバッグ技術",
      "质量保障": "品質保証",
      "费用优化": "コスト最適化",
      "资源导向": "資源のオリエンテーション",
      "起步依赖": "スターター依存関係",
      "踩坑总结": "つまずきのまとめ",
      "踩坑记录": "ハマりどころの記録",
      "身份认证": "本人認証",
      "输入校验": "入力検証",
      "输入验证": "入力検証",
      "运行时间": "稼働時間",
      "进程线程": "プロセス スレッド",
      "进阶技巧": "高度なスキル",
      "选择建议": "推薦の選択",
      "速率限制": "レート制限",
      "避免阻塞": "ブロックを避ける。",
      "部署服务": "デプロイ済みサービス",
      "错误响应": "エラー応答",
      "错误处理": "エラー処理",
      "项目实践": "プロジェクト実績",
      "项目展示": "プロジェクト紹介",
      "项目经历": "プロジェクト経験",
      "频繁更新": "更新が頻繁",
      "题库数据": "問題集データ",
      "高效移动": "効率的な運動",
      "高级技巧": "高度なスキル",
      "高选择性": "選択性が高い",
      "，并优先": "優先順位",
      "🐦 飞书": "🐦 Feishu",
      "👆 用户": "👆 ユーザー",
      "👤 用户": "👤 ユーザー",
      "👤 读者": "👤 読者",
      "💬 群聊": "💬 グループチャット",
      "📊 数据": "📊 データ",
      "📜 证书": "証明書",
      "📝 博客": "📝 ブログ",
      "📢 飞书": "📢 Feishu",
      "📤 发送": "📤 送信",
      "📤 输出": "📤 出力",
      "📥 接收": "📥 受信",
      "📦 压缩": "📦 圧縮",
      "🔍 检索": "🔍 検索",
      "🔒 加密": "🔒 暗号化",
      "🔒 编码": "エンコーディング",
      "🔓 解密": "🔓 復号",
      "🔓 解码": "デコード",
      "🕹 游戏": "🕹 ゲーム",
      "🚦 限流": "🚦 レート制限",
      "+ 子集化": "+ サブセット化",
      "——默认从": "- デフォルトから",
      "⚙️ 内核": "⚙️ カーネル",
      "✨ 格式化": "✨ 整形",
      "一样重要：": "重要なだけ:",
      "三种触发器": "3つのトリガー。",
      "业务逻辑层": "ビジネスロジックレイヤー",
      "临时文件用": "仮ファイル",
      "事务与索引": "トランザクションとインデックス",
      "传值与传址": "値とアドレスを渡す",
      "借阅状态机": "貸出状態機械",
      "全局替换、": "グローバル置換,",
      "关键字段：": "主な分野:",
      "关键概念：": "主なコンセプト:",
      "内嵌服务器": "組込みサーバー",
      "分页浏览。": "ページをめくって閲覧。",
      "切换窗口；": "スイッチ窓;",
      "创建实体类": "実体クラスを作成する",
      "创建控制器": "コントローラーの作成",
      "创建服务层": "Service層を作成",
      "匹配域名。": "ドメイン名を一致させます。",
      "单双周标识": "単双週の識別",
      "单双周过滤": "隔週フィルター",
      "压缩质量:": "圧縮品質:",
      "双主题映射": "ダブルテーママップ",
      "发布/订阅": "パブリッシュ/サブスクライブ",
      "变量与参数": "変数とパラメータ",
      "变量加引号": "引用符で変数",
      "可等待对象": "待機可能オブジェクト",
      "启动与测试": "開始およびテスト",
      "启动命令：": "コマンドの開始:",
      "命令行测试": "コマンドライン テスト",
      "图书馆系统": "図書館システム",
      "域名所有权": "ドメイン名の所有権",
      "基础代码块": "ベースコードブロック",
      "多环境配置": "マルチ環境 コンテンツ",
      "存档与恢复": "アーカイブと復元",
      "实时追踪，": "リアルタイム追跡、",
      "客户端错误": "クライアントエラー",
      "密码长度:": "パスワードの長さ:",
      "富文本卡片": "リッチテキストカード",
      "幂等与并发": "冪等性と並行性",
      "平台与后端": "プラットフォームとバックエンド",
      "应用层兜底": "アプリケーション層でのフォールバック",
      "开发者工具": "開発者ツール",
      "开标签页，": "タブを開く,",
      "异步迭代器": "非同期イテレータ",
      "慢查询分析": "スロークエリ解析",
      "手机/电脑": "携帯電話/コンピュータ",
      "技术实践者": "IoTエンジニア",
      "指标与告警": "メトリクスとアラート",
      "指针与函数": "ポインタと関数",
      "指针与数组": "ポインタと配列",
      "接口字段按": "インターフェースのフィールドは",
      "控制比例，": "制御比率,",
      "搜索与替换": "検索と置換",
      "撤销与重做": "UndoとRedo",
      "数据卷管理": "データボリューム管理",
      "数据可视化": "データ可視化",
      "数据帧格式": "データ フレームのフォーマット",
      "数据库建模": "データベースモデリング",
      "文件与目录": "ファイルとディレクトリ",
      "方便太多。": "簡単に。",
      "无后端依赖": "バックエンド非依存",
      "显示行号、": "行番号を表示,",
      "服务化阶段": "サービス分割フェーズ",
      "服务可用率": "サービス稼働率",
      "服务器架构": "サーバーアーキテクチャ",
      "服务端错误": "サービスエラー",
      "未选择文件": "ファイル未選択",
      "权限表示法": "権限の表記法",
      "查看策略，": "ポリシーを確認し、",
      "查看进程，": "プロセスを見る",
      "标准库实现": "標準ライブラリ実現",
      "校验与权限": "検証と権限",
      "检索与评测": "検索と評価",
      "模块化架构": "モジュラー構造",
      "正则表达式": "正規表現",
      "测连通性，": "接続の調査、",
      "然后是编写": "それから書きます。",
      "状态码使用": "ステータスコードの使用",
      "用实验验证": "実験で検証",
      "用消息里的": "メッセージ内の",
      "监控与压测": "監視と負荷テスト",
      "监控与调优": "モニタリングと最適化",
      "监控与运维": "監視と運用",
      "看命中率（": "ヒット率を見る",
      "禁用旧协议": "古いプロトコルを無効にする",
      "等待对比…": "比較を待つ...",
      "等待生成…": "生成中...",
      "等待计算…": "計算中...",
      "等待转换…": "変換待ち...",
      "等待输入…": "入力待ち...",
      "纯前端应用": "純フロントエンドアプリ",
      "组件化前端": "コンポーネント フロントエンド",
      "自动化一切": "すべてを自動化",
      "自动化备份": "自動バックアップ",
      "自动化脚本": "オートメーションスクリプト",
      "节假日跳过": "祝日はスキップ",
      "覆盖率检查": "カバレッジチェック",
      "计算机组成": "コンピュータ構成",
      "认证与安全": "認証とセキュリティ",
      "记录位置，": "記録の場所,",
      "证书链验证": "証明書チェーン検証",
      "超媒体驱动": "ハイパーメディア駆動",
      "踩坑与总结": "つまずきとまとめ",
      "踩坑备忘录": "ピット上のメモランダ",
      "输入数值…": "値を入力してください...",
      "进程与系统": "プロセスとシステム",
      "连接稳定性": "接続安定性",
      "逐个处理。": "ひとつひとつひとつひとつずつ引き出す。",
      "链接与图片": "リンクと写真",
      "防火墙配置": "防火壁構成",
      "静态文件用": "静的ファイル用",
      "项目初始化": "プロジェクトの初期化",
      "验证过程：": "証明プロセス:",
      "（一维）和": "(I-D)と",
      "（保留）、": "（保持）、",
      "）、去重（": ")、重複排除(",
      "），排序用": ")、分類される",
      "，但单独用": ", しかし、一人で",
      "，日志限制": "ログ制限",
      "：实际数据": "実際のデータ",
      "：防止滥用": ": 虐待の防止",
      "🌐 浏览器": "🌐 ブラウザ",
      "🌳 职业树": "🌳 スキルツリー",
      "🎨 可用性": "🎨 ユーザビリティ",
      "🎯 下一步": "🎯 次のステップ",
      "🎯 游戏化": "🎯 ゲーミフィケーション",
      "🏷️ 系统": "🏷️ システム",
      "👤 客户端": "クライアント",
      "👤 群成员": "👤 グループメンバー",
      "📊 仪表盘": "ダッシュボード",
      "📚 图书员": "📚 司書",
      "📝 内容库": "📝 コンテンツライブラリ",
      "📱 响应式": "📱 レスポンシブ",
      "📱 应用层": "アプリケーションレイヤー",
      "🔔 自动化": "オートメーション",
      "🖥 UI层": "🖥 UIレイヤー",
      "🗜️ 压缩": "🗜️ 圧縮",
      "🧩 模块化": "🧩 モジュール化",
      "🧩 索引层": "インデックスレイヤー",
      "🧩 组件库": "コンポーネントライブラリ",
      "🧭 学习流": "学習ストリーム",
      "🧭 状态机": "🧭 ステートマシン",
      "🧰 工具箱": "ツールボックス",
      "3 台已验证": "3台で検証済み",
      "90 天有效": "90日間有効",
      "AI 的位置": "AIの位置",
      "API 推送": "APIプッシュ",
      "API 文档": "APIドキュメント",
      "API 设计": "APIの設計",
      "API 集成": "APIの統合",
      "B+ 树索引": "B+ツリーインデックス",
      "CDN 加速": "CDNアクセラレーション",
      "JWT 结构": "JWTの構造",
      "SSH 部署": "SSH展開",
      "SSL 证书": "SSL証明書",
      "TXT 记录": "TXTレコード",
      "ToC 生成": "ToCの生成",
      "⚙️ 编排器": "⚙️ オーケストレーター",
      "⚡ 性能分析": "性能分析",
      "⚡ 性能指标": "⚡ パフォーマンス指標",
      "⚡ 索引优化": "インデックスの最適化",
      "✍️ 写操作": "✍️ 書き込み操作",
      "✨ 粒子系统": "パーティクルシステム",
      "不要重复释放": "再びリリースしないでください。",
      "个人博客系统": "パーソナルブログシステム",
      "从展示到行动": "表示からアクションへ",
      "从页面到服务": "ページからサービスへ",
      "代码审查清单": "コードレビューリスト",
      "何时创建索引": "インデックスを作成するとき",
      "使用 DTO": "DTOの使用",
      "使用 WSS": "WSSの使用",
      "使用严格模式": "厳密なモードを使用して下さい",
      "使用包年包月": "年額・月額プラン（サブスクリプション）を利用",
      "做备用节点，": "バックアップノードを実行します。",
      "全局异常处理": "グローバル例外処理",
      "全文搜索索引": "全文検索インデックス",
      "关键步骤详解": "詳細なキーステップ",
      "关键配置选择": "重要な設定の選択",
      "内存模型基础": "メモリモデルの基礎",
      "内存淘汰策略": "メモリ退避ポリシー",
      "务必妥善保管": "安全に保管してください。",
      "动态内存分配": "動的メモリ割り当て",
      "卡片搭建工具": "カードビルダーツール",
      "可再生但麻烦": "再生成可能だが面倒",
      "命名规范总结": "命名規範の概要",
      "在线调试工具": "オンラインデバッグツール",
      "基础环境搭建": "基本環境の構築",
      "基础语法速查": "基本的な文法クイックチェック。",
      "备份对象清单": "バックアップオブジェクトリスト",
      "复杂指针声明": "複雑なポインタ宣言",
      "多文件与窗口": "複数のファイルとウィンドウ",
      "安全加固实践": "セキュリティの強化",
      "安全头与限流": "セキュリティヘッダーとレート制限",
      "安全最佳实践": "セキュリティのベストプラクティス",
      "定时任务阶段": "タイムタスクフェーズ",
      "定时巡检脚本": "タイムチェックスクリプト",
      "定期安全审计": "定期的なセキュリティ監査",
      "实战替换示例": "実戦での置換例",
      "容器之间通过": "コンテナ間のパス",
      "对敏感接口用": "敏感なインターフェイスのため",
      "常用工具推荐": "一般的なツールの推奨事項",
      "常见场景速查": "よくあるシーンのクイックリファレンス",
      "常见安全问题": "共通のセキュリティ問題",
      "开始团队协作": "チームワークの開始",
      "归档完成后用": "アーカイブが完了したときに使用",
      "必须一一对应": "一対一で対応させる必要がある",
      "快速部署脚本": "迅速な展開スクリプト",
      "性能优化建议": "パフォーマンス最適化の推奨事項",
      "扩展与多项目": "エクステンションとマルチプロジェクト",
      "文件差异展示": "ファイル差分の表示",
      "文件权限详解": "詳細なファイル権限",
      "方法选择指南": "方法選択ガイド",
      "日志记录函数": "ログ記録関数",
      "智能运维助手": "スマート運用アシスタント",
      "暂无容器数据": "コンテナデータなし",
      "最佳实践总结": "ベストプラクティスの概要",
      "权限修改命令": "権限変更コマンド",
      "格式转换调用": "フォーマット変換コール",
      "正则表达式由": "正規表現による",
      "消息大小限制": "メッセージサイズ制限",
      "消息频率限制": "メッセージ頻度制限",
      "游戏引擎核心": "ゲームエンジンコア",
      "用户信息存储": "ユーザー情報ストレージ",
      "用户管理命令": "ユーザー管理コマンド",
      "用户管理基础": "ユーザー管理ベース",
      "监控事件循环": "モニターイベントサイクル",
      "看路由路径，": "ルートを見る",
      "算法混淆攻击": "アルゴリズム混乱攻撃",
      "索引优化建议": "インデックス最適化の推奨事項",
      "统一响应格式": "ユニファイド応答フォーマット",
      "自动化的层次": "オートメーションのレベル",
      "自动重连机制": "自動再接続機構",
      "让声明可读：": "文を読みましょう:",
      "访问类型优劣": "アクセスタイプの良し悪し",
      "证书与证书链": "証明書と証明書チェーン",
      "证书密钥保护": "証明書のキーの保護",
      "证书自动续期": "証明書の更新",
      "请先选择文件": "先にファイルを選択してください",
      "请求频率限制": "リクエスト頻度制限",
      "输入新文本…": "新しいテキストを入力してください...",
      "返回引用来源": "引用元に戻る",
      "配置变更先用": "設定を最初に変更する",
      "间隔重复算法": "間隔反復アルゴリズム",
      "飞书 API": "Feishu API",
      "飞书开放平台": "Feishu Open Platform",
      "（改内容）、": "（内容変更）、",
      "（改消息）、": "(変更されたメッセージ)",
      "，开机自启用": "それをオンにします。",
      "：明确解释器": "：インタプリタを明示",
      "🌐 用户请求": "🌐 ユーザーリクエスト",
      "🎨 设计系统": "デザインシステム",
      "🎲 批量生成": "🎲 一括生成",
      "🎲 生成一个": "🎲 1つ生成",
      "🎲 生成密码": "🎲 パスワードを生成",
      "🏠 个人主页": "🏠 ホームページ",
      "💥 碰撞检测": "衝突検出",
      "💬 飞书群聊": "💬 Feishuグループチャット",
      "💻 清灰服务": "💻 クリーンアップサービス",
      "💾 备份归档": "バックアップアーカイブ",
      "💾 定时备份": "💾 定期バックアップ",
      "📂 选择文件": "📂 ファイルを選択",
      "📄 下载简历": "📄 履歴書をダウンロード",
      "📄 文件转换": "ファイル変換",
      "📄 格式转换": "フォーマット変換",
      "📅 课程项目": "📅 授業プロジェクト",
      "📈 指标历史": "📈 メトリクス履歴",
      "📊 前端图表": "フロントエンドチャート",
      "📊 功能模块": "機能モジュール",
      "📊 学习反馈": "📊 学習フィードバック",
      "📊 实时聚合": "📊   リアルタイム集計",
      "📊 数据叙事": "📊 データストーリーテリング",
      "📊 文本统计": "📊 テキスト統計",
      "📋 复制全部": "📋 すべてコピー",
      "📋 复制密码": "📋 パスワードをコピー",
      "📋 复制结果": "📋 結果をコピー",
      "📋 文本对比": "📋 テキスト比較",
      "📑 目录导航": "📑 目次ナビゲーション",
      "📚 文档来源": "📚 ドキュメントソース",
      "📜 审计日志": "監査ログ",
      "📜 日志轮转": "📜 ログローテーション",
      "📡 多源事件": "📡 マルチソースイベント",
      "📢 告警模块": "📢 アラートモジュール",
      "📢 飞书告警": "📢 Feishuアラート",
      "📢 飞书通知": "📢 Feishu通知",
      "📥 输出文件": "ファイルの出力",
      "📦 容器镜像": "📦 コンテナイメージ",
      "📦 快照归档": "📦 スナップショットアーカイブ",
      "📦 批量转换": "バッチ変換",
      "📧 发送邮件": "メール送信",
      "📧 邮箱联系": "📧 メールでの連絡",
      "🔄 开始转换": "🔄 変換開始",
      "🔍 健康检查": "🔍 ヘルスチェック",
      "🔍 全文搜索": "🔍 全文検索",
      "🔍 对比差异": "🔍 差分を表示",
      "🔍 快捷搜索": "🔍 クイック検索",
      "🔍 混合检索": "🔍 ハイブリッド検索",
      "🔐 哈希计算": "🔐 ハッシュ計算",
      "🔐 登录认证": "🔐 ログイン認証",
      "🔒 文本加密": "テキスト暗号化",
      "🔗 全站可看": "🔗 サイト全体を見る",
      "🔗 内部实验": "内部実験",
      "🔗 内部服务": "内部サービス",
      "🔗 原型规划": "試作計画",
      "🔗 原型设计": "🔗 プロトタイプ設計",
      "🔗 在线体验": "オンライン体験",
      "🔗 在线使用": "オンラインで使う",
      "🔗 在线博客": "オンラインブログ",
      "🔗 在线查看": "オンラインで見る",
      "🔗 在线试玩": "🔗 オンラインで試す",
      "🔗 实验环境": "実験環境",
      "🔗 实验规划": "🔗 実験計画",
      "🔗 实验记录": "実験記録",
      "🔗 架构规划": "🔗 アーキテクチャ設計",
      "🔗 视觉原型": "ビジュアルプロトタイプ",
      "🔗 运维资产": "運用資産",
      "🔢 进制转换": "🔢 基数変換",
      "🛡️ 治理层": "ガバナンスレベル",
      "🤖 敌人AI": "エネミーAI",
      "🤝 保持联系": "🤝 連絡先",
      "🧭 事件总线": "イベントバス",
      "🧭 服务发现": "🧭 サービスディスカバリ",
      "🧭 空间导航": "🧭 空間ナビゲーション",
      "🧮 碰撞检测": "衝突検出",
      "🧮 计算哈希": "🧮 ハッシュを計算",
      "🧹 数据处理": "データ処理",
      "1. 悬空指针": "1. ダングリングポインタ",
      "1. 标题层级": "タイトルレベル",
      "2. 覆盖索引": "2. カバリングインデックス",
      "2. 验证邮箱": "2. 検証メールボックス",
      "3. 内存泄漏": "3. メモリリーク",
      "3. 分页优化": "3. ページネーション最適化",
      "3. 证书验证": "3. 証明書の検証",
      "3. 链接文字": "3。 リンクテキスト",
      "330行零依赖": "330行・依存ゼロ",
      "3NF 规范化": "3NF正規化",
      "4. 密钥交换": "キー交換",
      "5. 加密通信": "5. 暗号化通信",
      "7. 匹配中文": "7。 マッチング中国",
      "Bash 编写": "Bashで記述",
      "CORS 配置": "コーズ コンテンツ",
      "CPU 使用率": "CPU 使用率",
      "HTML 里在": "HTMLで",
      "HTTP 方法": "HTTPメソッド",
      "JWT 是什么": "JWTとは?",
      "MQTT 采用": "MQTTの特長",
      "Nginx 的": "ジンクス",
      "RBAC 权限": "RBAC権限",
      "Set（集合）": "セット",
      "i 忽略大小写": "i 大文字小文字を無視",
      "main 分支": "mainブランチ",
      "sudo 配置": "Sudoの構成",
      "♿ 可访问交互": "♿ アクセシブルなインタラクション",
      "⚔️ 武器系统": "武器システム",
      "⚙️ 服务集合": "⚙️ サービス群",
      "⚙️ 本地处理": "ローカル処理",
      "⚡ IO 性能": "⚡ I/Oパフォーマンス",
      "⬇️ 下载文件": "⬇️ ファイルをダウンロード",
      "。容器场景下用": "コンテナ環境では次を使う：",
      "三种常见策略：": "3つの一般的な戦略:",
      "下载 / 返回": "ダウンロード / 戻る",
      "不阻塞主线程。": "メインスレッドをブロックしません。",
      "与业务系统集成": "業務システムとの統合",
      "个性化学习建议": "個別化学習アドバイス",
      "中频繁使用的列": "頻繁に使用されるコラム",
      "书目与库存分离": "在庫から分離されたBibliography",
      "了，不保证服务": "サービスの保証はありません。",
      "交互不是装饰层": "インタラクションは装飾ではない",
      "从实验走向可靠": "実験から信頼性まで。",
      "何时不创建索引": "インデックスを作成しないとき",
      "使用 ws 库": "ws ライブラリを使用する",
      "使用强密码套件": "強力な暗号スイートを使用する",
      "内存管理铁律：": "メモリ管理の鉄則：",
      "内容质量与隐私": "コンテンツの品質とプライバシー",
      "函数指针与回调": "関数ポインタとコールバック",
      "分析慢查询日志": "遅いクエリログを分析する",
      "列表/聚合数据": "リスト/集計データ",
      "创建数据访问层": "データアクセスレイヤーを作成する",
      "创建飞书机器人": "Feishuボットを作成",
      "前端与交互体验": "フロントエンドとインタラクティブな体験",
      "加密与远程存储": "暗号化とリモートストレージ",
      "动效应当有理由": "効果は正当化されるべきです。",
      "动效的性能底线": "モーションの性能下限",
      "压测与容量规划": "負荷テストと容量計画",
      "反向搜索历史，": "変換された検索履歴。",
      "可观测与可恢复": "観測可能性と復元可能性",
      "可观测性与清理": "観察とクリーンアップ",
      "同步与异步混合": "同期&移動",
      "后端的三步处理": "バックエンドの3段階プロセス",
      "启用 HSTS": "HSTSを有効にする",
      "失败重试与告警": "失敗時のリトライとアラート",
      "存储与传输安全": "貯蔵および伝達保証",
      "安全与可运维性": "安全および可搬性",
      "安全接口治理台": "APIセキュリティ統制コンソール",
      "安全边界与成本": "安全な境界とコスト",
      "审计 · 文档": "監査 · ドキュメント",
      "容器化注意事项": "コンテナ化の注意点",
      "常见陷阱与调试": "一般的なトラップとデバッグ",
      "并发与批量处理": "並列処理とバッチ処理",
      "开启慢查询日志": "遅いクエリログを有効にする",
      "异步数据库操作": "ステップデータベース操作",
      "心跳与断线重连": "ハートビートと切断時の再接続",
      "性能预算与监控": "パフォーマンス予算と監視",
      "我的个人技术栈": "私の技術スタック",
      "把部署流程拆成": "デプロイプロセスを",
      "报表与容量规划": "レポートとボリューム計画",
      "指标历史的意义": "メトリクス履歴の意味",
      "排查账号归属。": "アカウント番号のアトリビューションを確認します。",
      "提示浏览器合成": "ヒント：ブラウザの合成処理を活用する",
      "支持命名分组和": "ネーミンググループとサポート",
      "数据与智能应用": "データとインテリジェントアプリケーション",
      "暗黑/明亮主题": "ダーク/明るいテーマ",
      "本地数据持久化": "ローカルデータ永続化",
      "查看文件详情，": "ドキュメントの詳細をご覧ください。",
      "标记，服务端按": "マーカーを付け、サーバー側は",
      "每个套件包含：": "各パッケージに含まれるもの:",
      "每日 7:30": "毎日7:30",
      "测试 API：": "テスト API:",
      "测试与调参分离": "テスト分割",
      "液态玻璃 UI": "液体ガラスUI",
      "演练与自动巡检": "復元演習と自動点検",
      "玻璃质感 UI": "グラスモーフィズムUI",
      "的列（如性别）": "コラム(例:性別)",
      "看磁盘使用率，": "ディスクの使用状況を見てください。",
      "紧急修复工作流": "緊急修正のワークフロー",
      "统计信息与维护": "統計情報とメンテナンス",
      "统计出现次数。": "発生件数",
      "综合实战工作流": "統合されたフィールドワークストリーム",
      "自定义属性驱动": "カスタムプロパティ駆動",
      "行内代码与转义": "インラインコードとエスケープ",
      "角色授权中间件": "ロール認可ミドルウェア",
      "证书 + 配置": "証明書+構成",
      "资源限制与弹性": "資源の制約とレジリエンス",
      "输入原始文本…": "オリジナルのテキストを入力する...",
      "输入测试文本…": "テストテキストを入力する...",
      "这套架构的边界": "このアーキテクチャの境界線。",
      "通透感和层次感": "認識とレイヤー。",
      "重启服务生效：": "有効なサービスを始めて下さい:",
      "鉴权与资源保护": "認証とリソース保護",
      "错误处理与超时": "エラー処理とタイムアウト",
      "队列与并发控制": "コントロールでキュー",
      "阿里云 ACR": "Aliyun ACR",
      "需要拆提交时用": "提出時に使用",
      "验证合并结果，": "合併結果の検証、",
      "）、类型转换（": ")、タイプ転換()",
      "：定义协程函数": ": : : 座標関数を定義する",
      "：应用的密钥，": "：アプリのシークレットキー。",
      "：是否最后一帧": ": : : 最後のフレーム",
      "：更快、更安全": ": より速く、より安全",
      "：检查请求来源": ": : : リクエストのソースを確認する",
      "：运行顶层协程": ": 上位レベルの協調を実行",
      "🌐 6 个页面": "6 ページ",
      "🌐 公网 IP": "🌐 パブリックIP",
      "🌤️ 天气组件": "🌤️ 天気ウィジェット",
      "🌤️ 天气集成": "天気の統合",
      "🎨 颜色值转换": "🎨 カラー変換",
      "👨‍💼 管理员": "👨💼 管理者",
      "💾 下载压缩图": "💾 圧縮画像をダウンロード",
      "💾 备份管理器": "バックアップマネージャ",
      "📄 课表CSV": "📄 時間割CSV",
      "📊 交互式图表": "📊 インタラクティブチャート",
      "📊 统计仪表盘": "統計ダッシュボード",
      "📐 数据库设计": "📐 データベース設計",
      "📜 日志聚合器": "📜ログアグリゲーター",
      "📡 传感器采集": "📡 センサー収集",
      "📱 响应式适配": "📱 レスポンシブ対応",
      "📱 移动端适配": "📱 モバイル対応",
      "🔎 检索与回答": "🔎 検索と回答",
      "🔑 密码生成器": "パスワードジェネレータ",
      "🔗 实时仪表盘": "リアルタイムダッシュボード",
      "🔗 运维仪表盘": "🔗 運用ダッシュボード",
      "🔢 进制转换器": "🔢 基数変換ツール",
      "🖥 目标服务器": "ターゲットサーバ",
      "🖼️ 图片压缩": "画像圧縮",
      "🚀 运维自动化": "🚀 運用自動化",
      "🚦 限流与封禁": "🚦 レート制限とBAN",
      "🚦 限流与配额": "🚦 レート制限とクォータ",
      "🛡️ 恢复脚本": "🛡️ 復元スクリプト",
      "🤖 AI 辅助": "🤖 AI支援",
      "🦾 执行器控制": "🦾 アクチュエータ制御",
      "🧠 内存与指针": "🧠 メモリとポインタ",
      "🧰 工具箱网格": "ツールボックスグリッド",
      "🧱 当前容器栈": "🧱 現在のコンテナスタック",
      "🧵 并发与线程": "🧵 並行処理とスレッド",
      "🪟 玻璃 UI": "🪟 グラスUI",
      "1. 连接服务器": "1。 サーバーの接続",
      "1. 验证手机号": "1。 携帯電話番号の検証",
      "2. 中英文混排": "2. 混合された中国および英語",
      "2. 缓冲区溢出": "2. バッファオーバーフロー",
      "3. 证书透明化": "証明書の透明性",
      "30 个实用案例": "30の実用的な場合",
      "ACL 高级权限": "ACLの高度の権限",
      "API 文档模板": "APIドキュメントテンプレート",
      "API 版本控制": "API のバージョン管理",
      "CSS 实现拆解": "CSS実装の分解",
      "Hash（哈希）": "ハッシュ（Hash）",
      "JWT 工作流程": "JWTワークフロー",
      "Linux 运维": "Linuxオペレーション",
      "List（列表）": "リスト（List）",
      "Python 的": "Pythonの",
      "RS256 实现": "RS256実装",
      "Rust（探索）": "Rust（探求中）",
      "SSH 安全配置": "SSHのセキュリティ設定",
      "TLS 握手过程": "TLSハンドシェイクプロセス",
      "TTL 设置原则": "TTL設定原則",
      "URL 设计规范": "URL設計仕様",
      "WHERE 子句": "ウィール サブステート",
      "[ ] 字体设置": "[ ] フォント設定",
      "⏱ 1 分钟阅读": "⏱ 1分で読める",
      "⏱ 2 分钟阅读": "読む2分。",
      "⏱ 4 分钟阅读": "読む4分",
      "⏱ 5 分钟阅读": "読む5分",
      "⏱ 6 分钟阅读": "6分読みます。",
      "⏱ 7 分钟阅读": "7を読む分",
      "⏱ 8 分钟阅读": "読書の8分",
      "⏱ 智能阅读时间": "スマートな読書時間",
      "⏱️ 时间戳转换": "⏱️ タイムスタンプ変換",
      "⚡ 异步任务队列": "⚡ 非同期タスクキュー",
      "、缓存目录一旦被": "一度にキャッシュディレクトリ",
      "个人云服务器集群": "パーソナルクラウドサーバークラスター",
      "个人网站设计系统": "個人的なウェブサイトの設計システム",
      "为什么学数据处理": "データ処理を勉強する理由",
      "为什么要保留镜像": "なぜイメージを保持するのか",
      "主题设计先于代码": "コード前のテーマデザイン",
      "事件驱动数据管线": "イベント駆動データライン",
      "交互式游戏实验室": "インタラクティブゲーム研究室",
      "什么是 MQTT": "MQTTとは?",
      "从单容器到多服务": "単一コンテナからマルチサービスへ",
      "任务幂等与防重入": "タスクの冪等性と再入防止",
      "做唯一键，重复时": "を一意キーとして使い、重複時は",
      "全站备份恢复流程": "フルステーションバックアップ回復プロセス",
      "兼容性与降级策略": "互換性とダウングレード戦略",
      "分页、排序和过滤": "ページネーション、ソート、フィルタリング",
      "动效的性能与克制": "モーションの性能と抑制",
      "博客 · 佟伟成": "Blog · Wei-Cheng Tong",
      "卷与数据生命周期": "ボリュームとデータライフサイクル",
      "只返回指针大小；": "ポインタサイズのみを返します。",
      "命令行排障的顺序": "コマンドラインの注文",
      "在项目里练习指针": "プロジェクト内のポインタを練習します。",
      "增量与全量的取舍": "増分とフルバックアップのトレードオフ",
      "多 Job 编排": "マルチジョブのオーケストレーション",
      "多文件与窗口管理": "複数のファイルとウィンドウ管理",
      "多服务入口的取舍": "複数のサービス入口のトレードオフ",
      "大写 (A-Z)": "大文字 (A-Z)",
      "存储与展示的取舍": "ストレージと表示のトレードオフ",
      "学习流的最小闭环": "学習フローの最小ループ",
      "安全与可靠性工程": "セキュリティと信頼性エンジニアリング",
      "安全接口治理流程": "セキュリティインターフェイスのガバナンスプロセス",
      "安全组：第一道门": "セキュリティグループ：最初の関門",
      "安装 Nginx": "Nginxをインストールする",
      "小写 (a-z)": "小文字 (a-z)",
      "属主、属组与协作": "所有権、所属、コラボレーション",
      "常用运维脚本实战": "よく使う運用スクリプトの実践",
      "常见坑与解决方案": "一般的なピットとソリューション",
      "常见证书问题排查": "共通証明書の問題の確認",
      "库存/借阅/逾期": "在庫 / 貸出 / 延滞",
      "异步上下文管理器": "ステップコンテキストマネージャ",
      "弹性服务交付平台": "エラスティックなサービスデリバリープラットフォーム",
      "强制 HTTPS": "強制 HTTPS",
      "找回之前的命令，": "以前のコマンドを呼び出す、",
      "技术文档写作模式": "技術的な文書の執筆モード",
      "把游戏状态分成层": "ゲームの状態をレイヤーに分割",
      "持久化与安全配置": "サステナビリティとセキュリティ設定",
      "提交到仓库，真实": "リポジトリにコミットし、本番の",
      "故障排除指南模板": "トラブルシューティングガイドのテンプレート",
      "数字 (0-9)": "数字 (0-9)",
      "数据 & 运维层": "データと運用レイヤー",
      "数据库优化的边界": "データベースの最適化された境界",
      "数据库迁移的纪律": "データベースのマイグレーションのDiscipline",
      "文件格式转换服务": "ファイル形式変換サービス",
      "日期 → 时间戳": "日時 → タイムスタンプ",
      "时间戳 → 日期": "タイムスタンプ → 日時",
      "智慧图书馆 DB": "スマートライブラリDB",
      "校园二手交易平台": "キャンパス向け中古取引プラットフォーム",
      "核心规则很简单：": "コアルールは簡単です。",
      "正确的做法是搭配": "それは正しいことです。",
      "版本控制与兼容性": "バージョン管理と互換性",
      "环境变量分层管理": "環境変数の層管理",
      "生产环境优化清单": "本番環境の最適化チェックリスト",
      "生产环境最佳实践": "本番環境のベストプラクティス",
      "用户/商品/订单": "ユーザー/商品/注文",
      "第三步：启用服务": "ステップ3:サービスへのアクセス",
      "系统与嵌入式开发": "システム・組込み開発",
      "缓存与一致性边界": "キャッシュと一貫性境界",
      "解析 + 格式化": "パーシング + フォーマット",
      "让恢复脚本可维护": "復元スクリプトを保守可能に",
      "设备感知与控制台": "デバイスセンシングとコンソール",
      "读取数据很简单：": "データの読み込みは簡単です。",
      "超时、重试与幂等": "タイムアウト、リトライと冪等性",
      "过期、刷新与注销": "有効期限、更新および書き込みオフ",
      "配合 CI/CD": "CI/CDと連携",
      "配置、监控与部署": "設定、モニター、デプロイ",
      "颜色/间距/圆角": "色 / 間隔 / 角丸",
      "飞书课表推送系统": "Feishu授業スケジュール通知システム",
      "：命令失败即退出": ": : : コマンドが失敗した場合は終了",
      "：定期清理旧快照": ": 古いスナップショットの定期的な清掃",
      "：应用的唯一标识": "：アプリの一意な識別子",
      "：提高代码复用性": ": : : コード再利用の増加",
      "：防止大消息攻击": "：巨大メッセージ攻撃の防止",
      "：限制允许的来源": "：許可されたオリジンのみに制限する",
      "🌐 DNS 验证": "🌐 DNS検証",
      "🏥 健康检查引擎": "🏥 ヘルスチェックエンジン",
      "🏷 标签分类聚合": "🏷 タグ集約",
      "💾 下载 PNG": "💾 PNGをダウンロード",
      "💾 全量自动备份": "💾 全量自動バックアップ",
      "💾 证书自动备份": "💾 証明書の自動バックアップ",
      "📅 复杂周次规则": "📅 複雑な週次ルール",
      "📅 智能课表解析": "📅 スマート時間割解析",
      "📅 每日挑战系统": "📅 毎日のチャレンジシステム",
      "📋 复制全部结果": "📋 全結果をコピー",
      "📝 .md 文件": ".md ファイル",
      "📝 分析报告导出": "📝 分析レポートのエクスポート",
      "📢 飞书 API": "Feishu API",
      "📢 飞书分级告警": "📢 Feishu段階別アラート",
      "📢 飞书续签通知": "📢 Feishu更新通知",
      "📦 命名卷持久化": "📦 名前付きボリューム永続化",
      "📨 统一事件模型": "ユニファイドイベントモデル",
      "📱 QR 码生成": "QRコード生成",
      "🔁 间隔重复复习": "🔁 間隔反復レビュー",
      "🔍 实时搜索过滤": "🔍 リアルタイム検索・フィルタ",
      "🔍 快捷搜索入口": "🔍 クイック検索入口",
      "🔐 JWT 认证": "JWT認証",
      "🔒 SSL 证书": "SSL証明書",
      "🔗 原文引用回链": "🔗 引用元へのバックリンク",
      "🔗 引用原文段落": "🔗 原文段落を引用",
      "🖼️ 图片压缩器": "🖼️ 画像圧縮ツール",
      "🚀 一键环境部署": "🚀 ワンクリック環境構築",
      "🚀 一键部署上线": "🚀 ワンクリックデプロイ・リリース",
      "🪟 液态玻璃效果": "🪟 グラスモーフィズム効果",
      "1. 日志清理脚本": "1。 ログクリーニングスクリプト",
      "1. 避免索引失效": "1。 インデックス故障の回避",
      "14. 匹配空白行": "14。 マッチブランク行",
      "2. 服务健康检查": "2. サービスヘルスチェック",
      "2023 · 大一": "2023 · 大学1年生",
      "2024 · 大二": "2024 · 大学2年生",
      "2025 · 大三": "2025 · 大学3年生",
      "3. 创建普通用户": "3。 一般的なユーザーを作成する",
      "3. 验证 URL": "3. URL の検証",
      "3. 黑名单/撤销": "3. ブラックリスト/キャンセル",
      "8. 去除行尾空格": "8. 行末の空白を削除",
      "Commit 规范": "コミット規約",
      "HTTP 的局限性": "HTTPの制限",
      "HTTP 请求示例": "HTTPリクエスト例",
      "JWT 认证中间件": "JWT認証ミドルウェア",
      "Origin 验证": "オリジン検証",
      "QoS（服务质量）": "QoS(サービスの品質)",
      "REST 核心原则": "RESTの核心原則",
      "Shebang 行": "シェバン。",
      "Web 服务器权限": "ウェブサーバ権限",
      "✅ 已复制到剪贴板": "✅ クリップボードにコピーしました",
      "✅ 所有表都有主键": "すべてのテーブルは主キーを持っています。",
      "一键部署脚本工具集": "ワンクリックデプロイスクリプトツールキット",
      "三种调度方案怎么选": "3つのオプションは何ですか?",
      "下关闭非必要动画。": "不要なアニメーションを閉じます。",
      "个人技术实验室门户": "パーソナルテクニカルラボポータル",
      "个人知识库检索流程": "個人的な知識 銀行検索プロセス",
      "为什么需要异步编程": "なぜ非同期プログラミングが必要か",
      "从清洗到可复现分析": "パージから回復可能な分析まで",
      "代码分割与缓存策略": "コード分割とキャッシュポリシー",
      "优先级最高，其次是": "最優先順位、第2位",
      "会完全重建，日常用": "完全に再構築されます。 日々利用されます。",
      "会阻塞渲染。我只在": "レンダリングをブロックします。私は",
      "何时不该用高级命令": "高レベルの注文を使用するには?",
      "保持干净的功能分支": "フィーチャーブランチをきれいに保つ",
      "健康检查与依赖顺序": "ヘルスチェックと依存関係の順序",
      "先把借阅规则说清楚": "まず貸出ルールを明確に",
      "全局异常与统一响应": "グローバル例外と統一レスポンス",
      "关闭光晕与滚动动画": "グローとスクロールアニメーションをオフにする",
      "前端状态与离线同步": "フロントエンド状態とオフライン同期",
      "加密 / 解密密码": "パスワードの暗号化/復号化",
      "博客/工具箱/关于": "ブログ / ツールボックス / 概要",
      "卷、网络与数据安全": "ボリューム、ネットワーク、データセキュリティ",
      "可视化要保留上下文": "コンテキストを維持するために視覚化",
      "后端服务与系统设计": "バックエンドサービスとシステム設計",
      "后要重新构建验证再": "後は再ビルドして検証してから",
      "基础 .vimrc": "ベース .vimrc",
      "安装 Docker": "Dockerをインストールする",
      "宏实战：批量格式化": "マクロ: バッチ形式",
      "实战：动态二维数组": "操作:動的2次元配列",
      "实战：定位性能回归": "操作: 位置 性能 リターン",
      "实战：清理分支历史": "操作: ブランチ履歴のクリーニング",
      "实时性要求低的数据": "リアルタイム要件が低いデータ",
      "审计与最小权限实践": "監査と最低権限の練習",
      "寄存器、标记与跳转": "レジスタ、マーク、ジャンプ",
      "嵌入式 Linux": "組込みLinux",
      "常用工具与语言实现": "一般的なツールと言語",
      "库是最轻便的选择：": "ライブラリは最も簡単なオプションです。",
      "开发环境覆盖文件：": "環境カバレッジ文書の開発:",
      "我把网络分了两层：": "2つのレイヤーにネットワークを分割しました。",
      "指针的声明与初始化": "ポインター宣言と初期化",
      "指针运算与内存布局": "ポインター操作とメモリレイアウト",
      "接口防线与审计实验": "インターフェースラインと監査実験",
      "控制失败判定。配合": "失敗判定を制御します。と組み合わせて",
      "数值设计与可复盘性": "数値設計と振り返りやすさ",
      "数据解析 + 存储": "データ解析 + ストレージ",
      "文件转换服务的边界": "ファイル変換サービスの境界",
      "日志、时区与可复现": "ログ、タイムゾーンと再現性",
      "是宿主机映射端口，": "ホストマップポートです。",
      "智慧图书馆管理系统": "スマートライブラリ管理システム",
      "智能运维与证书平台": "スマート運用と証明書プラットフォーム",
      "本地优先与数据迁移": "ローカル優先度とデータ移行",
      "查询性能与可追溯性": "パフォーマンスとトレーサビリティのクエリ",
      "没有设置任何缓存头": "キャッシュヘッダセットなし",
      "浏览器战斗系统实验": "ブラウザの戦闘システム実験",
      "消息模板与幂等推送": "メッセージテンプレートとメール",
      "点击\"生成一个\"…": "「1つ生成」をクリック…",
      "点击\"生成密码\"…": "「パスワードを生成」をクリック…",
      "玻璃卡片的三层结构": "ガラスカードの3つの層。",
      "生产环境覆盖文件：": "本番環境用オーバーライドファイル：",
      "生成和验证 JWT": "JWTの生成と検証",
      "生成，不要用固定的": "で生成し、固定の",
      "用项目串起学习路线": "プロジェクトによる学習ラインのリンク",
      "的列（维护成本高）": "コラム(メンテナンスコストが高い)",
      "符号 (!@#…)": "記号 (!@#…)",
      "缓存模式：该怎么用": "キャッシュモード: 使い方",
      "自动化与云原生运维": "自動化とクラウド運用",
      "表示排序没走索引，": "これはソートがインデックス化されていないことを意味します。",
      "证书安全与发布链路": "証明書のセキュリティとリリースチェーン",
      "负载均衡与健康检查": "負荷バランスと健康チェック",
      "负载均衡与粘性会话": "ロードバランスと粘着セッション",
      "路径分流的常见陷阱": "パスを変換するための一般的なトラップ。",
      "跳转 tag，配合": "ジャンプタグ、協力。",
      "跳转到光标下文件，": "Cursor でファイルに移動します。",
      "过期策略与内存淘汰": "有効期限ポリシーとメモリ追い出し",
      "返回整个数组大小，": "フル配列のサイズを返します。",
      "适合个人项目的范围": "個人プロジェクトに適した範囲",
      "适当使用 Task": "タスクを適切に使う",
      "选择 ECS 配置": "ECSの構成を選ぶ",
      "避免索引失效的写法": "インデックスの失敗を避けるために書く",
      "镜像构建 + 推送": "イメージのビルド+プッシュ",
      "镜像（Image）": "イメージ",
      "间隔重复的最小实现": "間隔の繰り返しの最小実現",
      "零配置，代码即文档": "ゼロ設定で、コードはドキュメントそのもの",
      "静态资源缓存与压缩": "静的リソースキャッシュと圧縮",
      "预约 · 数据应用": "予約 · データアプリ",
      "首页/项目/仪表盘": "ホーム ページ/項目/ダッシュボード",
      "（合并到上一个）、": "（前のコミットにマージ）、",
      "），滥用会造成提权": "）、悪用すると権限昇格につながります",
      "，底层实现可替换。": "、最下のレベルは取り替えを達成します。",
      "：一站式的依赖管理": "ワンストップ管理",
      "：不直接暴露实体类": ": : : 物理的なカテゴリに直接露出していない",
      "：加速证书状态检查": ": : : 証明書のステータスチェックを加速",
      "：复杂逻辑必须注释": ": 複雑なロジックはコメントする必要があります",
      "：每月查看费用明细": ": 月額料金の詳細",
      "：证书体系防止冒充": ": 証明書システムは偽装を防ぎます",
      "：避免证书过期事故": "：証明書の期限切れ事故を防ぐ",
      "：防止消息洪水攻击": "：メッセージフラッド攻撃の防止",
      "🌓 双主题自动切换": "🌓 デュアルテーマ自動切替",
      "🌓 暗黑/明亮主题": "ダーク/ライトテーマ",
      "🌳 完整职业树系统": "🌳 完全なスキルツリーシステム",
      "🎨 液态玻璃 UI": "🎨 グラスモーフィズムUI",
      "🏷 标签/阅读时间": "🏷 タグ / 読了時間",
      "🐳 容器与镜像治理": "🐳 コンテナとイメージの管理",
      "👥 三角色权限体系": "👥 3役割の権限体系",
      "💘 章节式互动问答": "💘 章ごとのインタラクティブQA",
      "📅 视觉与交互实验": "📅 ビジュアルとインタラクション実験",
      "📈 学习统计与计划": "📈 学習統計と計画",
      "📊 库存统计仪表盘": "在庫ダッシュボード",
      "📊 服务器实时监控": "📊 リアルタイムサーバー監視",
      "📊 错题复盘+计分": "📊 誤答の振り返り + 採点",
      "📋 课表 JSON": "📋 時間割JSON",
      "📐 50+ 工具类": "📐 50+ ユーティリティクラス",
      "📐 响应式网格系统": "📐 レスポンシブグリッドシステム",
      "📐 指标与特征工程": "📐 指標と特徴量エンジニアリング",
      "📜 审计与应急记录": "📜 監査とインシデント記録",
      "📡 监控与 SLO": "📡 監視とSLO",
      "📢 飞书群聊机器人": "📢 Feishuグループチャットボット",
      "📱 QR 码生成器": "📱 QRコードジェネレーター",
      "🔁 滚动发布与回滚": "🔁 ローリングリリースとロールバック",
      "🔍 正则表达式测试": "🔍 正規表現テスト",
      "🔍 高级搜索与筛选": "🔍 高度な検索とフィルタ",
      "🔔 失败重试与告警": "🔔 失敗時のリトライとアラート",
      "🔗 URL 编解码": "🔗 URLエンコード/デコード",
      "🔗 在线 Demo": "オンラインデモ",
      "🔧 系统初始化配置": "🔧 システム初期設定",
      "🔳 生成 QR 码": "🔳 QRコードを生成",
      "🛡️ 安全指令通道": "🛡️ 安全なコマンドチャネル",
      "🛡️ 本地数据优先": "🛡️ ローカルデータ優先",
      "🧩 组件化 CSS": "🧩 コンポーネント化CSS",
      "🧹 数据清洗与校验": "データの洗浄と検証",
      "🧹 清洗与幂等消费": "🧹 クリーニングと冪等消費",
      "10. 匹配日期格式": "10. 日付形式のマッチング",
      "12. 验证密码强度": "12月12日 パスワード強度の検証",
      "15. 驼峰转下划线": "15. キャメルケースからスネークケースへ",
      "19. 验证身份证号": "19. 19.(日) 識別番号の検証",
      "3. 数据库备份脚本": "3。 バックアップデータベーススクリプト",
      "3. 构建时自动压缩": "3。 構造中の自動圧縮",
      "3. 设置强密码策略": "3。 強力なパスワードポリシーを設定する",
      "4. JOIN 优化": "4。 JOINの最適化",
      "Docker 容器化": "Dockerコンテナ化",
      "Extra 关键信息": "余分なキー情報",
      "JWT 签名算法对比": "JWTについて 署名アルゴリズムの比較",
      "Nginx 反向代理": "Nginxリバースプロキシ",
      "PDF/CSV 输出": "PDF/CSV出力",
      "QoS 不是越高越好": "QoSはできるだけ高くない。",
      "RESTful 接口": "RESTful API",
      "Session 管理": "セッション管理",
      "Token 刷新策略": "トークンはポリシーをリフレッシュ",
      "X.509 证书结构": "X.509証明書の構造",
      "backend 网络": "バックエンドネットワーク",
      "| | 小写字母 |": "わたしの神様。",
      "一个典型的 JWT：": "典型的なJWT:",
      "三个经典问题的解法：": "3つの古典的な解決:",
      "三种挂载方式的取舍：": "マウントのための3つのオプション:",
      "个人知识库与语义检索": "個人的な知識ベースとセマンティック検索",
      "为什么要用飞书机器人": "なぜFeishuボットを使うのか",
      "五种核心数据类型速览": "5つのコアデータ型の概要",
      "交互式 Rebase": "インタラクティブリベース",
      "交互空间与可视化实验": "インタラクティブな空間と視覚化実験",
      "从设备消息到可用数据": "デバイスメッセージから利用可能なデータまで",
      "会导致容器反复重启。": "これは、コンテナの繰り返し再起動につながる.",
      "会尽量匹配到最后一个": "最後の1つにマッチしてみます。",
      "使用 TLS 1.3": "TLS 1.3を使う",
      "使用 aiohttp": "aiohttp を使う",
      "依赖、并行与资源控制": "依存性、並列およびリソース制御",
      "元数据 · 校验清单": "メタデータ · チェックサムマニフェスト",
      "内容层级比动效更重要": "コンテンツの階層はモーションより重要",
      "内容模型要能支持变化": "コンテンツモデルは変更をサポートする必要があります。",
      "分支策略不是越多越好": "ブランチ戦略は多ければよいというものではない",
      "加固：别只靠密码强度": "補強: パスワードの強度だけではありません。",
      "动效最后做，验证先做": "モーションは最後、検証が先",
      "反馈决定“好不好玩”": "フィードバックが「面白さ」を決める",
      "叙事问答与状态机实验": "物語型Q&Aとステートマシンの実験",
      "后必须检查 NULL": "NULL は、その後にチェックする必要があります。",
      "告警：宁可少，但要准": "アラート：少なくても正確に",
      "响应式不是缩小桌面版": "レスポンシブはデスクトップ版の縮小ではない",
      "在「权限管理」里添加": "許可管理に追加",
      "基础、硬件与问题拆解": "基礎・ハードウェア・問題分解",
      "备份之后要做恢复演练": "バックアップ後は復旧訓練を",
      "多语言差异与测试策略": "多言語の違いとテスト戦略",
      "多阶段构建与镜像瘦身": "マルチステージビルドとイメージのスリム化",
      "存储过程 + 触发器": "ストアドプロシージャ + トリガー",
      "学习科学先于功能清单": "機能性リストの前に科学を学ぶ",
      "实战：服务器监控日报": "操作: 毎日のサーバー監視",
      "容器化交付与服务治理": "コンテナデリバリーとサービスガバナンス",
      "对象池与 GC 抖动": "オブジェクトプールとGC振動",
      "应用、数据与设备连接": "アプリケーション、データおよび機器の接続",
      "异步数据库与 ORM": "ステップデータベースとORM",
      "心跳、遗嘱与断线检测": "ハートビート、意志、カットワイヤ。",
      "或后台任务控制并发：": "またはバックグラウンドタスクで並行性を制御：",
      "或显式检查，缺参数就": "または明示的にチェックし、パラメータがなければ",
      "把一次提交拆成几件事": "1つのコミットを複数の事項に分割する",
      "把整个应用打包成一个": "アプリ全体を1つにパッケージ化する",
      "指定聚合窗口与边界：": "集計ウィンドウと境界を指定します。",
      "指标应该回答什么问题": "メトリクスは何に答えるべきか",
      "故障案例是最好的文档": "障害事例は最高のドキュメント",
      "数据观察与决策工作台": "データ監視と意思決定デスク",
      "数量 (1-100)": "番号(1-100)",
      "文档检索与问答工作台": "ドキュメント検索とQ&Aワークベンチ",
      "断线缓存与设备状态机": "オフラインキャッシュとデバイス状態機械",
      "服务端广播与房间管理": "サーバー側ブロードキャストとルーム管理",
      "校园消息自动化工作流": "学内メッセージ自動化ワークフロー",
      "玻璃卡片由三层构成：": "ガラスカードは3つの層から成っています:",
      "的列（唯一值多的列）": "列(複数の値を持つ列のみ)",
      "碰撞检测要先定义边界": "衝突検出は先に境界を定義する",
      "端到端交付与作品迭代": "エンドツーエンドのデリバリーと作品の反復",
      "第一步：编写启动脚本": "ステップ1:スタートアップスクリプトを用意する",
      "系统初始化：装机清单": "システムの初期化:インストール単位のリスト",
      "系统性能与运行时实验": "システムパフォーマンスとランタイム実験",
      "自动化 Bisect": "オートメーションのBisect",
      "读取宿主机指标的边界": "ホストメトリクスを読み取る境界",
      "输入文本或 URL…": "テキストまたはURLを入力してください。",
      "输入要计算哈希的内容": "Hashを計算するコンテンツを入力してください",
      "还有一个巧妙的设计是": "そして別の巧妙な設計があります:",
      "里。我用了三层配置：": "イ.. 構成の3つの層を使用しました:",
      "里先搭好再复制出来。": "先にそこで組み立ててからコピーする。",
      "项目展示 · 佟伟成": "プロジェクト紹介 · Wei-Cheng Tong",
      "默认按日历边界对齐，": "カレンダー境界によるデフォルト整列,",
      "默认的量词是贪婪的：": "デフォルトの単語は貪欲です:",
      "（不提交到 Git）": "(Gitに提出しない)",
      "）或改用非回溯引擎。": "または非レトロなエンジンに転換して下さい。",
      "：健康检查、指标监控": "：ヘルスチェック、メトリクス監視",
      "：消息认证码防止篡改": "操作を防ぐメッセージ認証コード",
      "：输出带时间戳的日志": ": : : 時間のスタンプが付いている出力ログ",
      "🎨 液态玻璃设计语言": "🎨 グラスモーフィズムのデザイン言語",
      "🎲 UUID 生成器": "UUIDジェネレータ",
      "🏆 排行榜+粒子特效": "🏆 ランキング + パーティクル演出",
      "🏥 健康检查自动重启": "🏥 ヘルスチェック自動再起動",
      "📜 Nginx 日志": "Nginx ログ",
      "📜 日志统一采集轮转": "📜 ログの一元収集とローテーション",
      "🔍 正则表达式测试器": "🔍 正規表現テスター",
      "🔒 SSL 自动申请": "🔒 SSL自動取得",
      "🔒 SSL 自动续签": "🔒 SSL自動更新",
      "🔗 无在线 Demo": "オンラインデモなし",
      "🔧 JSON 格式化": "JSONフォーマット",
      "🕐 规划于 2026": "🕐 2026年計画",
      "🚀 SSH 远程部署": "🚀 SSHリモートデプロイ",
      "🦾 ROS2（方向）": "🦾 ROS2（方向性）",
      "🧪 提示词与答案评测": "🧪 プロンプトと回答の評価",
      "🧰 14 个开发工具": "14 開発ツール",
      "1. Token 存储": "トークンストレージ",
      "2. SSL 剥离攻击": "2. SSLストリッピング攻撃",
      "2. 创建普通用户操作": "2。 一般的なユーザー操作を作成する",
      "4. 设置账户锁定策略": "4. アカウントロックアウトポリシーを設定",
      "5. 匹配 IP 地址": "マッチIPアドレス",
      "5. 文件权限审计脚本": "5。 5。 ドキュメント権限監査のためのスクリプト",
      "6. umask 设置": "6. umaskの設定",
      "Express 中间件": "Expressミドルウェア",
      "HSTS 与安全响应头": "HSTSセキュリティ対応",
      "Headless 模式": "ヘッドレスモード",
      "Markdown 输入": "Markdown入力",
      "Nginx 作为接入层": "アクセス層としてのNginx",
      "OpenAPI 与文档": "OpenAPIとドキュメント",
      "Python 模型调用": "Pythonモデルコール",
      "Rebase 黄金法则": "Rebaseの黄金律",
      "String（字符串）": "文字列 (string)",
      "URL、邮箱与配置校验": "URL、メールボックス、設定検証",
      "Workflow 触发": "WorkFlowトリガー",
      "frontend 网络": "フロントエンドネットワーク",
      "pandas 核心概念": "pandasの核心概念",
      "umask 与默认权限": "マスクとデフォルト権限",
      "| | 使用连字符 |": "催眠の使用",
      "⚠️ 滑动窗口异常检测": "⚠️ スライディングウィンドウ異常検知",
      "三种类型的可等待对象：": "3種類の待機可能オブジェクト:",
      "个人仪表盘 & 导航站": "パーソナルダッシュボード & スタートページ",
      "为什么要 Docker": "なぜDockerを使うのか",
      "为什么需要 HTTPS": "なぜHTTPSが必要なのですか?",
      "交互设计是产品的一部分": "インタラクションデザインは製品の一部",
      "佟伟成 · 技术实践者": "Wei-Cheng Tong · IoTエンジニア",
      "先回答问题，再增加图表": "先に質問に答え、その後にグラフを追加する",
      "全站快照与一键恢复系统": "サイト全体のスナップショット＆ワンクリック復元",
      "内容分层：什么必须备份": "コンテンツ層: バックアップしなければならないもの",
      "加 1 跳 4 字节，": "追加 1 ジャンプ 4 バイト,",
      "协程要正确响应取消：在": "コルーチンはキャンセルに正しく応答させる：",
      "可以同时算多个统计量，": "複数の統計量を同時に計算でき、",
      "后将指针置为 NULL": "それから NULL にポインタを置いて下さい",
      "图表（Mermaid）": "チャート(マーメイド)",
      "备份前先想清楚恢复目标": "バックアップ前に復旧目標を明確に",
      "实战案例：实时通知系统": "実践例：リアルタイム通知システム",
      "密钥认证 · 端口转发": "鍵認証 · ポートフォワーディング",
      "悬垂指针与内存生命周期": "サスペンドポインタとメモリ寿命サイクル",
      "把一次脚本变成可靠任务": "一回きりのスクリプトを信頼できるタスクに変える",
      "拉取最新基础镜像就行。": "最新のベースイメージをプルするだけで十分だと。",
      "持续做项目，持续写记录": "プロジェクトを作り、過程を記録し続けています",
      "指针与数组：不完全相同": "ポインタと配列: 同一でない",
      "按名称或时间搜索文件，": "名前または時刻でファイルを検索し、",
      "提供减少动态效果选项：": "動的効果を減らすためのオプションを提供:",
      "提取列。看大日志文件时": "カラムを抽出します。 大きいログファイルを読むとき",
      "数据模型：让统计可计算": "データモデル:統計的な仕事を作るため",
      "日志：从堆文件到可检索": "ログ:積み重ねから検索可能",
      "检查证书是否在有效期内": "証明書が有効期限内かどうかを確認する",
      "测试 HTTPS 配置": "HTTPS設定のテスト",
      "测试游戏而不是只测函数": "機能の代わりにゲームをテストする",
      "消息卡片：让通知更好看": "メッセージカード: 通知をより良くする",
      "热门路径 Top 10": "人気パス Top 10",
      "玻璃效果背后的工程约束": "ガラス効果の背後にあるプロジェクト制約",
      "索引：先看查询再看索引": "インデックス：クエリを確認してからインデックスを選ぶ",
      "缓存命中率 > 95%": "キャッシュヒット率 > 95%",
      "联合索引的最左前缀原则": "共通の索引の最高左の接頭辞の主義",
      "营造出磨砂玻璃的质感。": "サンドグラスの感覚を作る。",
      "证书生命周期与自动续签": "証明書のライフサイクルと自動更新",
      "跳到差异处，逐块审查。": "差分へジャンプし、ブロックごとにレビューする。",
      "轮询（Polling）": "ポーリング",
      "选购：先定用途再定规格": "選択:指定の前に使用して下さい",
      "问题：首页为什么这么慢": "問い：ホームページがなぜ遅いのか",
      "间隔重复：从规则到算法": "インターバル:ルールからアルゴリズムまで",
      "集中采集 · 自动轮转": "集中収集・自動ローテーション",
      "（删除）。整理的原则：": "（削除）。整理の原則：",
      "（半透明 + 模糊）、": "(半透明+漠然とした)、",
      "（合并但不保留消息）、": "(メッセージなしのマージ)",
      "：中间人可以冒充服务器": "：中間者はサーバーになりすますことができる",
      "：在连接时验证用户身份": ": 接続時にユーザー ID を認証",
      "：无需部署 WAR 包": ": 展開するWARパッケージは必要ありません",
      "：根据依赖自动配置应用": ": 自動構成の信頼性に基づく適用",
      "：检查关键命令的返回值": ": キーコマンドの戻り値をチェック",
      "：私钥文件权限 600": ": 秘密鍵ファイル許可 600",
      "；禁止对不可信输入执行": "；信頼できない入力に対する実行を禁止",
      "🎨 Canvas 引擎": "🎨 Canvasエンジン",
      "🐍 Python 脚本": "Pythonスクリプト",
      "🐳 Docker 容器": "🐳 Docker コンテナ",
      "🐳 Docker 部署": "Docker デプロイメント",
      "📚 图书全生命周期管理": "📚 図書のライフサイクル管理",
      "🔄 共享网络+健康检查": "🔄 共有ネットワーク + ヘルスチェック",
      "🔍 全文 + 语义搜索": "🔍 全文 + セマンティック検索",
      "🖥️ 技术实验室仪表盘": "🖥️ 技術ラボダッシュボード",
      "🧪 pytest 测试": "Pytestテスト",
      "10 万条 < 50ms": "100,000 < 50 ms",
      "16. 匹配所有代码注释": "16。 すべてのコードのメモにマッチする",
      "18. 匹配引号内字符串": "18. 引用符内の文字列のマッチング",
      "2. 系统更新与基础工具": "2.システムアップデートと基本ツール",
      "6 服务 · 3 数据卷": "6サービス · 3データボリューム",
      "Compose 重建服务": "Composeでサービス再構築",
      "Crontab 定时任务": "Crontab定期タスク",
      "JOIN 与子查询的取舍": "JOOINとサブクエリ取引オフ",
      "JWT 结构：三段与签名": "JWTについて 構造: 3つの段落と署名",
      "Restart 策略解析": "Restartポリシーの解説",
      "SLO：给可靠性一个数字": "SLO: 信頼性のための数",
      "Shell 脚本基础要素": "シェルベース要素",
      "⚔️ 武器升级+敌人AI": "武器のアップグレード+敵のAI",
      "✅ JOIN 列已建索引": "✅JOINカラムインデックス",
      "。下次读取时会自动重建。": "次回読み込み時に自動的に再構築されます。",
      "。过滤参数用语义化名称（": "フィルタパラメータには意味のある名前を使う（",
      "一次部署应该包含哪些检查": "単一のデプロイメントに含まれているべきチェック",
      "不要把密码和密钥硬编码在": "パスワードとキーのハードをエンコードしないでください",
      "为什么需要 Rebase": "リベース",
      "二进制 (Base 2)": "2進数 (Base 2)",
      "仓库（Registry）": "レジストリ（Registry）",
      "会话、保留消息与共享订阅": "セッション、メッセージの保存、サブスクリプション共有",
      "使用 Socket.IO": "Socket.IOを使う",
      "停止 · 解包 · 加载": "停止 · 解凍 · ロード",
      "先更新数据库，再删除缓存": "まずDBを更新し、その後キャッシュを無効化する",
      "八进制 (Base 8)": "8進数 (Base 8)",
      "内存优化的小技巧：数值用": "メモリの最適化 小さなスキル: 値",
      "刷新，重建碎片严重的表（": "重い破片のテーブルを新たにそして再作成して下さい。",
      "博客 · 笔记 · 项目": "ブログ・ノート・プロジェクト",
      "卡片 JSON 格式严格": "カードJSON",
      "发布应用，等待管理员审批": "管理者承認申請書の公開",
      "可以并排 diff，配合": "困難、協力して下さい。",
      "可访问性：玻璃背后的文字": "アクセシビリティ: ガラスの背後にあるテキスト",
      "同一个分支内整理历史我用": "同じブランチ内で履歴を整理するには",
      "图书 / 用户 / 借阅": "書籍 / ユーザー / 貸出",
      "备份与恢复：要能真的还原": "バックアップと復元: 本当に復元する",
      "始终使用 Shebang": "Shebangを常に使用",
      "实战：日志解析与数据提取": "操作: ログの決断およびデータ抽出",
      "实验室仪表盘 · 佟伟成": "技術ラボダッシュボード · Wei-Cheng Tong",
      "密码套件与 TLS 版本": "暗号スイートとTLSバージョン",
      "库存 / 罚款 / 预约": "在庫 / 罰金 / 予約",
      "引号与命令注入：安全红线": "引用符および命令の注入: 安全な赤いライン",
      "恢复演练比备份文件更重要": "復旧訓練はバックアップファイルより重要",
      "成本与容量：让账单可预期": "費用および容量: 請求書を予測可能にする",
      "执行计划 EXPLAIN": "実行計画 EXPLAIN",
      "把当前行存入寄存器 a，": "現在の行をレジスタaに保存し、",
      "把玩法拆成可以调试的系统": "ゲーム性をデバッグ可能なシステムに分解する",
      "把经验沉淀成可复用的深度": "経験を再利用可能な深みへと昇華する",
      "持久化任务——重启不丢失": "永続タスク——再起動しても失われない",
      "指标：什么才算\"用得好\"": "メトリクス：何をもって「よく使えている」とするか",
      "数据处理的第一步不是调用": "データ処理の最初のステップは呼び出しません。",
      "数据源是最大的不稳定因素": "データソースは、最大のデスタシライゼーション要因です。",
      "文档结构：先让读者能扫描": "ドキュメント構造：まず読者がスキャンできるように",
      "时区、周次与节假日的计算": "タイムゾーン、週、祝日の計算",
      "校验 · 聚合 · 规则": "検証 · 集計 · ルール",
      "校验：备份没验证等于没有": "検証：検証していないバックアップはないに等しい",
      "消息协议：帧、类型与幂等": "メッセージプロトコル：フレーム、タイプと冪等性",
      "源码 · 镜像 · 数据": "ソース · イメージ · データ",
      "物联网工程 2023 级": "IoT Engineering · 2023年入学",
      "物联网数据采集与监控平台": "IoTデータ収集・監視プラットフォーム",
      "的表（< 1000 行）": "テーブル(<1000行)",
      "等待输入正则和测试文本…": "正規表現とテストテキストの入力を待っています…",
      "编目 / 借阅 / 归还": "目録作成 / 貸出 / 返却",
      "网络：按信任级别拆分子网": "ネットワーク：信頼レベルでサブネットを分割する",
      "自用工具链 · 持续维护": "自作ツールチェーン · 継続メンテナンス",
      "自用效率工具 · 纯前端": "自作の効率ツール · 純フロントエンド",
      "计划 · 练习 · 复习": "計画 · 練習 · 復習",
      "认证 · 权限 · 限流": "認証 · 権限 · レート制限",
      "让屏幕外的图片延迟加载，": "画面外の画像は遅延読み込みにし、",
      "记录设备声称的采样时间，": "measured_atにはデバイスが主張するサンプリング時刻を記録し、",
      "词汇 · 语法 · 例句": "語彙・文法・例文",
      "超时与取消：别让任务挂死": "タイムアウトとキャンセル:タスクを固まらせない",
      "输入文本以查看实时统计…": "リアルタイムの統計情報を見るためにテキストを入力する...",
      "输入要编码/解码的文本…": "テキストを入力すると、エンコード/デコード...",
      "采集数据中，请稍候...": "データを収集中です。しばらくお待ちください…",
      "重试与幂等：消息不能乱发": "リトライと冪等性：メッセージを重複送信しない",
      "队列 · 重试 · 幂等": "キュー・リトライ・冪等性",
      "（Issuer）：签发者": "(発行者): 発行者",
      "（Subject）：主题": "(注入): テーマ:",
      "）和条件筛选。分组聚合（": ")および条件フィルター。 グループ集計",
      "）或基于时间范围的分页。": "）または時刻範囲によるページングを使う。",
      "：中间人可以修改通信内容": "：中間者は通信内容を改ざんできる",
      "：中间人可以获取通信内容": "：中間者は通信内容を取得できる",
      "：对所有输入进行严格验证": ": すべての入力の厳密な検証",
      "：等待一个可等待对象完成": ": 完了するオブジェクトを待つ",
      "：通信内容加密，防止窃听": ": ワイヤータッピング防止のために暗号化された通信コンテンツ",
      "：防止空格导致的单词拆分": ": スペースによる単語分割を防ぐ",
      "🌐 Nginx 今日统计": "🌐 Nginx 本日の統計",
      "🎨 2D / 3D 渲染": "🎨 2D / 3Dレンダリング",
      "🎮 Canvas原生开发": "🎮 Canvasネイティブ開発",
      "🐍 纯Python零依赖": "🐍 純Python・依存ゼロ",
      "🐳 Docker 全家桶": "🐳 Docker一式",
      "💾 MySQL 定时备份": "💾 MySQL定期バックアップ",
      "💾 Redis 旁路缓存": "💾Redisバイパスキャッシュ",
      "📂 /proc 系统指标": "📂 /proc システムメトリクス",
      "📖 OpenAPI 文档": "OpenAPI ドキュメント",
      "📡 MQTT 多设备并发": "📡 MQTTマルチデバイス並行処理",
      "📢 飞书 Webhook": "📢 Feishu Webhook",
      "🔄 Nginx 反向代理": "🔄 Nginxリバースプロキシ",
      "🔍 EXPLAIN 分析": "🔍 EXPLAIN分析",
      "🔐 Base64 编解码": "🔐 Base64エンコード/デコード",
      "🔒 SSL 证书自动申请": "SSL証明書申請",
      "🔒 SSL/TLS 终止": "SSL/TLSの終了",
      "🖥️ Vue.js 前端": "Vue.js フロントエンド",
      "🖥️ 多方向实验室仪表盘": "多方向ラボダッシュボード",
      "🧪 OWASP 测试用例": "🧪 OWASPテストケース",
      "1. Header（头部）": "ヘッダー(ヘッド)",
      "13. 提取 URL 域名": "13。 URLドメイン名の抽出",
      "CLS：别让页面\"跳\"起来": "CLS: ページのジャンプを許可しないでください。",
      "CPU / 内存 / 磁盘": "CPU/メモリ/ディスク",
      "Redis 安装与基础配置": "Redisインストールとベース設定",
      "SQLite / 本地存储": "SQLite/ローカルストレージ",
      "Topic 设计与消息契约": "トピック設計とメッセージ契約",
      "Web · 工具 · 设备": "ウェブ • ツール • 機器",
      "schedule 的优点：": "scheduleの利点：",
      "v8.0 · 关系型数据库": "v8.0 関係データベース",
      "⏰ crontab定时推送": "⏰ crontab定期配信",
      "⚡ B+Tree 联合索引": "⚡ B+Tree複合インデックス",
      "✅ 避免 SELECT *": "✅ SELECT * を避ける",
      "个人工具箱 Web App": "パーソナルツールボックスWebアプリ",
      "代码块：让复制粘贴真正可用": "コードブロック：コピーペーストを本当に使えるように",
      "会得到错误的\"今天\"；我用": "誤った「今日」を取得してしまいます。私は",
      "关键词 · 语义 · 重排": "キーワード · セマンティクス · リランク",
      "函数化：一个脚本只干一件事": "関数化：1つのスクリプトは1つの仕事だけ",
      "分段 · 元数据 · 向量": "チャンク · メタデータ · ベクトル",
      "分页、过滤与排序：统一约定": "ページネーション、フィルタリング、ソート:統一された約束事",
      "十进制 (Base 10)": "10進数 (Base 10)",
      "协程（Coroutine）": "コルーチン（Coroutine）",
      "博客 · 图书馆 · 文件": "ブログ · 図書館 · ファイル",
      "卡片的基础层是半透明背景和": "カードのベースレイヤーは半透明の背景であり、",
      "只在容器间暴露。内部服务用": "コンテナ間でのみ露光します。 内部サービス",
      "可以查看实际下发的证书链。": "実際に配信された証明書チェーンを確認できます。",
      "后端实现（Node.js）": "バックエンド実装 (Node.js)",
      "场景1：从错误分支转移提交": "スケナリオ 1: 間違ったブランチからの転送",
      "备份与恢复：成本最低的保险": "バックアップと修復:低コストの保険",
      "安全设置要配 IP 白名单": "セキュリティ設定はIPホワイトリストが必要です",
      "宏：把重复动作录成一次回放": "マクロ: 再生として繰り返された行為を記録して下さい",
      "实战：数据库备份脚本全链路": "操作: データベースのバックアップスクリプト すべてのリンク",
      "容器（Container）": "コンテナ(コンテナ)",
      "寄存器连接系统剪贴板。标记": "レジスタはシステムクリップボードに接続する。マーク",
      "带不带路径，行为完全不同：": "パスがないと、動作は完全に異なる:",
      "慢查询治理：先量化，再优化": "スロークエリ対策:まず定量化、それから最適化",
      "技术实验工具箱 · 佟伟成": "技術実験ツールボックス · Wei-Cheng Tong",
      "指针也可以指向另一个指针。": "ポインタは別のポインタを指すこともできます。",
      "数据质量报告：让清洗可审计": "データ品質レポート：クリーニングを監査可能にする",
      "正确率 · 进度 · 统计": "正答率 · 進捗 · 統計",
      "监控：让它自己告诉我们坏了": "モニター: 壊れたことを教えて下さい。",
      "缓存与数据库双写一致性问题": "キャッシュとデータベースの二重書き込み整合性",
      "联合索引遵循最左前缀原则：": "ジョイントインデックスは、最大左プレフィックスの原則に従います。",
      "自建工具 · 生产环境运行": "自作ツール・本番環境で稼働中",
      "设备 · 表单 · API": "デバイス · フォーム · API",
      "评估，目标评级 A 以上。": "で評価し、目標はA以上にします。",
      "配置决定了内存满时的行为：": "設定は、メモリが満たしたときに動作を決定します。",
      "飞书机器人的核心价值在于：": "Feishuボットの主な価値は次のとおりです。",
      "验证：用数据和真实用户说话": "検証:データと真のユーザーと話す",
      "黄金法则：永远初始化指针！": "黄金律：ポインタは必ず初期化する！",
      "（Audience）：受众": "(聴衆):聴衆",
      "（JWT ID）：唯一标识": "(JWT ID): 独自の識別子",
      "（统计报表）：1 小时以上": "（統計レポート）：1時間以上",
      "，登录后进入「开发者后台」": "、ログインして「開発者コンソール」に入る",
      "：令牌类型，固定为 JWT": ": トークンタイプ、JWTに固定",
      "：使用标准 HTTP 方法": ": : : 標準の HTTP メソッドを使用する",
      "：将脚本纳入 Git 管理": ": スクリプトをGit管理に統合",
      "：执行时以属主身份运行（如": "：実行時は所有者の権限で実行する（例：",
      "：每个请求包含所有必要信息": ": 各リクエストには必要な情報が含まれています",
      "：生产环境必须使用加密连接": "：本番環境では暗号化接続が必須です",
      "🌤 wttr.in天气集成": "🌤 wttr.in天気連携",
      "🐳 6容器Docker编排": "🐳 6コンテナのDockerオーケストレーション",
      "🐳 Docker 一键部署": "🐳 Dockerワンクリックデプロイ",
      "📅 课程项目 · 团队协作": "📅 授業プロジェクト · チーム開発",
      "📅 课程项目 · 独立完成": "📅 授業プロジェクト · 独力で完成",
      "📐 ER 图 + 范式设计": "📐 ER図 + 正規化設計",
      "📝 Markdown 导入": "📝 Markdownインポート",
      "📝 Markdown 预览": "マークダウンプレビュー",
      "📝 Markdown 驱动": "📝 Markdown駆動",
      "🔄 Push 触发自动部署": "プッシュトリガー自動展開",
      "🧠 词汇 / 语法内容模型": "🧠 語彙 / 文法コンテンツモデル",
      "🧪 pytest 自动测试": "Pytestオートテスト",
      "1. 中间人攻击（MITM）": "1. 中間者攻撃（MITM）",
      "11. 匹配 16 进制颜色": "11. 16進数カラーのマッチング",
      "2. Payload（载荷）": "2. Payload（ペイロード）",
      "9. 提取 JSON 中的值": "9. JSON値の抽出",
      "Cherry-Pick 选项": "チェリーピックオプション",
      "Fail2ban 防暴力破解": "Fail2banでブルートフォース対策",
      "Nginx HTTPS 配置": "Nginx HTTPS の設定",
      "Reflog：误操作的后悔药": "Reflog: ミスハンドリング後悔",
      "Vim 的核心是多模式编辑：": "Vimのコアはマルチモジュールの編集です。",
      "WebSocket 协议原理": "WebSocketプロトコルの原理",
      "Webhook 地址不能泄露": "Webhookのアドレスは公開できません。",
      "Worktree 与并行开发": "ワークツリーと並列開発",
      "async/await 基础": "Async/awaitベース",
      "rebase 中途想放弃，用": "rebaseを途中でやめたいときは、次を使う:",
      "| | 不使用文件扩展名 |": "ファイル拡張子なし",
      "二级指针：让函数修改指针本身": "二重ポインタ：関数にポインタ自体を変更させる",
      "交互回调：按钮点了之后怎么办": "相互エコー: ボタンを押下するとどうなりますか?",
      "交互式卡片：不只是看，还能点": "インタラクティブカード：見るだけでなく操作できる",
      "优化三：代码分割——按需加载": "最適化III:コードの分割 - 必要に応じてロード",
      "全自动 SSL 证书管理系统": "SSL証明書管理システム",
      "分组聚合与透视：从明细到结论": "グループ集計と視点:詳細から結論まで",
      "十六进制 (Base 16)": "16進数 (Base 16)",
      "反馈系统：让玩家\"看懂\"规则": "フィードバックシステム:プレーヤーは規則を読みました",
      "可视化与告警：从大屏到可行动": "視覚化および警報:スクリーンから実用的なまで",
      "周期心跳：上报在线状态与电量": "定期的な心拍: オンラインの状態と電気をレポートする",
      "场景2：热修复应用到多个版本": "スケナリオ 2:複数のバージョンに適用される熱回復",
      "如果只是想让脚本每天跑一次，": "スクリプトが1日1回実行したい場合、",
      "学习顺序：项目驱动，五步闭环": "学習順序: 運転されるプロジェクト、5ステップ閉鎖したループ",
      "实战：异步 HTTP 客户端": "実践：非同期HTTPクライアント",
      "实时监控系统资源。服务管理用": "リアルタイムでシステムリソースを監視します。 サービス管理",
      "循环逐个执行慢任务时，可以用": "ループで遅いタスクを順に実行する場合は、",
      "提前建立连接；关键 JS 用": "事前に接続を確立する;key JS の使用",
      "数据一致性：缓存不是最终答案": "データ一貫性: キャッシュは最終的な回答ではありません",
      "文件安全：路径穿越与恶意文件": "文書のセキュリティ:交差するパスと悪意のある文書",
      "文件权限：rwx 的真正含义": "ファイル権限: rwxの真の意味",
      "权限与审计：每一笔变更都留痕": "権限と監査：すべての変更に痕跡を残す",
      "消息体设计：版本、时间与单位": "メッセージの設計:版、時間および単位",
      "的类型是\"指向数组的指针\"，": "型は「配列へのポインタ」です。",
      "监控与告警：别等用户发现挂了": "監視とアラート：ユーザーに気づかれる前に",
      "确认域名匹配（SAN 扩展）": "ドメイン名の一致(SAN拡張子)を確認する",
      "端到端验收：不只是\"能收到\"": "エンドツーエンドの受入: 「受取可能」ではありません。",
      "第三层：服务内部读取环境变量": "レベル3:環境変数のサービスの読み込み",
      "结构清晰、代码可读、排版美观": "構造が明確で、コードが読みやすく、レイアウトが美しいこと",
      "蓝绿与滚动：先让新版本活下来": "ブルーグリーンとローリング：まず新バージョンを生かす",
      "表单与无障碍：细节决定专业度": "フォームとアクセシビリティ：細部が専門性を決める",
      "要加密的明文，或要解密的密文": "暗号化する、または復号化するための秘密を表現するメッセージ。",
      "课程项目 · 独立完成前后端": "授業プロジェクト · フロントエンドとバックエンドを独立開発",
      "资源建模：先想名词，再想动词": "資源のモデリング: 動詞の前に名詞を考える",
      "逾期规则：把业务规则做成数据": "延滞ルール：業務ルールをデータ化する",
      "防止文件名中的空格被错误分词": "ファイル名のスペースが誤って分割されないようにする",
      "验证发布：健康检查与冒烟测试": "検証リリース:健康チェックと煙テスト",
      "（负号降序）。深翻页用游标（": "(必須数値ダウン) 深いフリップページに使用するカーソル",
      "），业务需要审计时保留记录。": "）、監査が必要な業務では記録を残す。",
      "：客户端到服务器的帧必须掩码": ": クライアント・ツー・サーバー・フレームはマスクされなければなりません",
      "：强制浏览器使用 HTTPS": ": HTTPS を使用する強制ブラウザ",
      "：所有 API 通信必须加密": ": : : すべての API 通信は暗号化されなければなりません",
      "：购买共享流量包降低带宽费用": ": 共有トラフィックパッケージを購入し、帯域幅コストを削減",
      "💬 WebSocket 聊天": "WebSocketチャット",
      "📅 2024.09 — 至今": "📅 2024.09 — 現在",
      "📅 实验原型 · 分阶段实现": "📅 実験プロトタイプ · 段階的実装",
      "📅 自用工具链 · 持续维护": "📅 自作ツールチェーン · 継続メンテナンス",
      "📅 自用效率工具 · 纯前端": "📅 自作の効率ツール · 純フロントエンド",
      "🔄 Nginx 反代统一入口": "🔄 Nginxリバースプロキシによる統一入口",
      "🔄 Nginx 热重载无中断": "🔄 Nginxホットリロード・無停止",
      "🔐 QR / 密码 / 哈希": "QR/パスワード/ハッシュ",
      "🔒 编码 (→Base64)": "🔒 エンコード (→Base64)",
      "🕐 最后更新：2025-06": "最終更新: 2025-06",
      "🕐 最后更新：2025-09": "最終更新:2025-09",
      "🕐 最后更新：2025-10": "最終更新:2025-10",
      "🕐 最后更新：2025-11": "最終更新:2025-11",
      "🕐 最后更新：2025-12": "最終更新:2025-12",
      "🕐 最后更新：2026-01": "最終更新:2026-01",
      "🕐 最后更新：2026-03": "最終更新:2026-03",
      "🕐 最后更新：2026-06": "最終更新:2026-06",
      "🕐 最后更新：2026-07": "🕐 最終更新：2026-07",
      "🕐 最后更新：2026-08": "最終更新:2026-08",
      "🕐 每日 7:30 定时推送": "🕐 毎日7:30に自動配信",
      "14 工具 Launchpad": "14ツールランチャーパッド",
      "17. 提取 Nginx 日志": "17 .. Nginxログからの抽出",
      "4. 提取 HTML 标签内容": "4. HTMLタグの内容を抽出する",
      "Bisect：二分定位 bug": "Bisect:二分探索でバグを特定",
      "Git Rebase：改写历史": "Git Rebase:履歴を書き換える",
      "GitHub 渲染差异与兼容性": "GitHub のレンダーの違いと互換性",
      "JWT 实现（Node.js）": "JWT実装 (Node.js)",
      "LCP 优化：让关键内容先出现": "LCP最適化：重要なコンテンツを先に表示",
      "Last Will（遗嘱消息）": "最後の意志。",
      "LibreOffice 的隔离": "LibreOfficeの隔離",
      "Vim 高效编辑：从新手到熟练": "Vimの効率的なエディタ:新鮮な人から熟練した人まで",
      "name,age 佟伟成,22": "name,age Wei-Cheng Tong,22",
      "↩️ Compose 一键恢复": "↩️ Composeワンクリック復元",
      "⏱ 时间戳 / 正则 / 转换": "⏱ タイムスタンプ / 正規表現 / 変換",
      "✅ SHA-256 完整性校验": "✅ SHA-256完全性検証",
      "✅ WHERE 条件列已建索引": "✅WHERE 条件バーインデックス",
      "✅ 慢查询日志已开启并定期分析": "✅ スロークエリログを有効化し定期分析中",
      "✅ 查询缓存命中率 > 90%": "✅ クエリキャッシュのヒット率 > 90%",
      "。需要匹配最短内容时用懒惰量词": "最短の内容にマッチさせる必要があるときは、控えめな量指定子（lazy quantifier）を使う",
      "不修改已经推送到公共分支的历史": "公開ブランチに送信された履歴を変更しないでください。",
      "优化一：图片——最快的见效手段": "最適化I:写真 — 最速の効果的な手段",
      "使用\"右左法则\"解析复杂声明：": "\"右左ルール\" を使用して複雑なステートメントをパースします。",
      "使用飞书 Python SDK": "Feishu Python SDKを使う",
      "依赖注入与 Bean 生命周期": "依存性注入とBeanライフサイクル",
      "决定新建文件/目录的默认权限：": "既定の権限で新しいファイル/ダイアーを作成することを決定:",
      "创建 systemd 服务文件": "ssystemdサービスファイルを作成する",
      "创建常用命令的快捷方式。配置好": "一般的に使用されるコマンドのショートカットを作成します。 設定します。",
      "反馈设计：让用户知道系统听见了": "フィードバック設計：操作を受け付けたことをユーザーに伝える",
      "可观察性比“看起来能用”更重要": "「見た目は動いている」より可観測性が重要",
      "同一台机器多个项目时，项目名（": "同じマシンで複数のプロジェクトを動かす場合は、プロジェクト名を（",
      "在每次改完配置后必须跑一遍，再": "一度に実行しなければいけません。",
      "块可以配置多个后端：默认轮询，": "ブロックは複数のバックエンドを設定可能：デフォルトはラウンドロビン、",
      "实时统计字符数、单词数、行数等": "文字数・単語数・行数をリアルタイム集計",
      "平台与后端：存储选型看查询方式": "プラットホームおよびバックエンド: クエリのストレージ選択",
      "把代码、设备和数据做成可用作品": "コード・デバイス・データから、実用的なプロダクトを作る。",
      "时序建模：原始、聚合、归档三层": "時間シリーズモデリング:オリジナル、集計、アーカイブ3階",
      "时间序列：时区与采样要显式处理": "時系列：タイムゾーンとサンプリングを明示的に扱う",
      "最简单的 Webhook 消息": "最もシンプルなWebhookメッセージ",
      "消息卡片进阶：从纯文本到可交互": "メッセージ カード ステップ: プレーンテキストからインタラクティブ",
      "监控与告警：先回答\"它还好吗\"": "監視とアラート:まず「大丈夫か」に答える",
      "直写 MySQL + 失效缓存": "MySQL直書き + キャッシュ無効化",
      "统一设置超时，超时后取消协程：": "タイムアウトを統一的に設定し、期限を超えたらコルーチンをキャンセルする：",
      "记录所有 HEAD 移动历史，": "HEADの移動履歴をすべて記録し、",
      "设置缓存时长，配合指纹文件名（": "指紋ファイル名に一致するキャッシュ時間を設定します",
      "设计 Token：让主题不漂移": "設計トークン: テーマの移動を維持する",
      "证书链验证：为什么浏览器信任它": "証明書チェーン検証",
      "野指针是无数 bug 的根源。": "未初期化ポインタは数え切れないバグの原因です。",
      "链接、图片与表格：管理引用关系": "リンク、写真、表:参照関係の管理",
      "验证签名链直到受信任的根 CA": "信頼できるルートCAまでシグネチャチェーンを検証",
      "：一切皆资源，用 URL 标识": ": : : すべてのリソース、URLでマーク",
      "：不要在协程中调用同步阻塞函数": ": : : 座標の同期ブロック関数を呼び出しない",
      "：服务器单向推送，但仅限于文本": ": サーバ片道プッシュ、テキストのみ",
      "：熟练移动和基础编辑（1 周）": ": スキルアップされたモビリティと基本的な編集(1週間)",
      "🎨 Bootstrap 响应式": "🎨 Bootstrapレスポンシブ",
      "🐳 Docker 镜像构建推送": "🐳 Dockerイメージのビルドとプッシュ",
      "📅 平台能力实验 · 持续设计": "📅 プラットフォーム能力実験 · 設計継続中",
      "📅 底层原理练习 · 持续记录": "📅 低レイヤー原理の練習 · 継続記録中",
      "📅 服务安全实验 · 本地靶场": "📅 サービスセキュリティ実験 · ローカル演習環境",
      "📅 自建工具 · 生产环境运行": "📅 自作ツール・本番環境で稼働中",
      "📊 CSV / JSON 互转": "📊 CSV / JSON相互変換",
      "📊 ECharts 大屏可视化": "ECharts 大型スクリーン可視化",
      "📏 基准与 Profiling": "📏 ベンチマークとプロファイリング",
      "📢 飞书 Webhook 告警": "📢 Feishu Webhookアラート",
      "📦 源码 + 镜像 + 数据卷": "📦 ソース+イメージ+データボリューム",
      "🔧 JSON 格式化 / 校验": "JSON フォーマット/検証",
      "🛡️ AI 内容校验与安全边界": "🛡️ AIコンテンツ検証と安全境界",
      "3. Signature（签名）": "3. シグネチャ（署名）",
      "Compose 文件如何保持清晰": "ファイルのクリアを維持する方法",
      "HTTP 方法与状态码：用对语义": "HTTPメソッドとステータスコード：正しい意味論を使う",
      "LinguaStep 学习流架构": "LinguaStep 学習ストリーム構造",
      "MySQL 数据库设计与优化实践": "MySQLデータベースの設計と最適化の実践",
      "Redis 提供了多种淘汰策略，": "Redisには複数の追い出しポリシーがあり、",
      "Sorted Set（有序集合）": "ソートセット",
      "location 匹配规则先理清": "ローカリゼーションマッチルール 最初に",
      "v7.x · 缓存 & 会话存储": "v7.x. キャッシュ&セッションストレージ",
      "与 Session 的对比与取舍": "セッションとの比較とトレードオフ",
      "事件循环：协程是怎么\"同时\"跑的": "イベントループ：コルーチンが「同時に」動く仕組み",
      "优化六：关键渲染路径——首屏直出": "最適化6：クリティカルレンダリングパス――ファーストビューを直接描画する",
      "内存泄漏用 Valgrind 的": "Valgrindでメモリリークを検出する",
      "原生 WebSocket API": "ウェブソケット API",
      "同级目录读取。如果文件在别处，用": "同じディレクトリから読み込む。別の場所にある場合は",
      "字体是最容易拖慢首屏的隐藏因素：": "フォントはファーストビューを遅くしやすい隠れた要因だ：",
      "安全：IoT 最容易被忽略的层面": "セキュリティ：IoTで最も見落とされがちな側面",
      "就够了，别把所有端口都映射出去。": "それは十分です。 すべてのポートをマップしないでください。",
      "性能：向量化优先，循环是最后手段": "性能:ベクトル化を優先、ループは最後の手段",
      "指针就是一个存储内存地址的变量。": "ポインタはメモリアドレスを格納する変数だ。",
      "撤销，先在小范围试跑再全量执行。": "undo は、実装前の小さな領域で実行します。",
      "是否补充了测试或至少更新了文档？": "試験を補うか、少なくとも更新されたか?",
      "每个被编辑的提交都可能引入冲突，": "編集する各コミットはコンフリクトを引き起こす可能性があります。",
      "热加载，避免语法错误把服务搞挂。": "サービスの中断の文法的な間違いを避ける熱ローディング。",
      "物联网工程专业学习路线与技能图谱": "IoTエンジニアリングプロフェッショナル学習ルートとスキルマッピング",
      "第一步，在飞书开放平台创建应用：": "最初のステップは、Open Feishuプラットフォームでアプリケーションを作成することです。",
      "缓存模式：旁路、穿透、击穿、雪崩": "キャッシュモード：旁路、貫通、破壊、雪崩",
      "表格数据与 JSON 双向转换…": "表データとJSONの相互変換…",
      "表示产生了临时表，都是性能信号。": "それは一時的な時計が作成され、それはすべての性能信号です。",
      "读懂 EXPLAIN 的关键字段": "EXPLAINを読む キーフィールド",
      "贪婪、懒惰与回溯：理解正则的性能": "貪欲、怠惰、バックトラッキング：正規表現の性能を理解する",
      "输入要编解码的 URL 或文本…": "URL やテキストをデコードする",
      "通信层：MQTT 之外还要懂什么": "コミュニケーションレベル:MQTT。",
      "（Issued At）：签发时间": "(発行時): 発行時間",
      "🌐 LAMP / LNMP 环境": "LAMP/LNMP 環境",
      "🎨 Launchpad 网格布局": "🎨 Launchpad風グリッドレイアウト",
      "📅 智能应用实验 · 分阶段实现": "📅 スマートアプリ実験 · 段階的実装",
      "📅 课程项目 · 独立完成前后端": "📅 授業プロジェクト · フロントエンド・バックエンドを独力で開発",
      "🔍 慢查询 EXPLAIN 分析": "🔍 スロークエリEXPLAIN分析",
      "🔐 Root-only 备份目录": "🔐 rootのみのバックアップディレクトリ",
      "🔓 解码 (Base64→文本)": "🔓 デコード (Base64→テキスト)",
      "1. 禁用 root SSH 登录": "1. rootでのSSHログインを無効化",
      "6 容器 · Compose 编排": "6コンテナ · Composeオーケストレーション",
      "6. 提取 Markdown 标题": "6。 マークダウンタイトルの抽出",
      "Cache Aside（旁路缓存）": "キャッシュ・アサイド",
      "Compose 编排的正确打开方式": "Compose の設定の正しい開口部",
      "Crontab · 备份 & 告警": "Crontab · バックアップ & アラート",
      "Docker Socket 的风险": "Docker Socketのリスク",
      "JPA 与 MyBatis 的取舍": "JPAとMyBatisの使い分け",
      "TLS 握手：四次会话里发生了什么": "TLSハンドシェイク:4回のセッションで何が起きるのか",
      "Topic 最好反映业务层级，例如": "Topicはビジネス階層を反映するのが良い。例えば",
      "Vim 有 26+ 个命名寄存器：": "Vimには26+個の名前付きレジスタがあります。",
      "Vim 的强大之处在于操作的组合：": "Vimの強さは操作の組合せです:",
      "pandas 的两个核心数据结构是": "pandasの2つのコアデータ構造は",
      "| 淘汰剩余 TTL 最短的键 |": "TTLを交換するための最短キー",
      "。这些特性让它天然适合物联网场景。": "これらの特性により、IoTシーンに自然に適しています。",
      "不要用正则解析 HTML/JSON": "正規表現でHTML/JSONを解析しないでください",
      "为什么选择 Spring Boot": "なぜSpring Bootなのか",
      "优化二：字体加载——别再阻塞渲染了": "最適化 2: フォントをロード -- レンダリングをブロックを停止します。",
      "优化四：缓存策略——让回访用户秒开": "最適化4：キャッシュ戦略——再訪ユーザーを即時表示",
      "和 Bean Validation": "とBean Validation",
      "在表格里要转义，代码块里的 ```": "フォームにご記入ください。",
      "学习平台的核心不是题库，而是学习流": "学習プラットフォームのコアはリポジトリではなく、学習ストリームです。",
      "对比两段文本的差异，高亮显示增删改": "2つのテキストの差分を比較し、追加・削除・変更をハイライト",
      "常见坑：阻塞调用与事件循环\"假死\"": "共通のピット: 呼出しおよびでき事周期「偽の死」を妨げること",
      "服务边界：什么该拆、什么该留在一起": "サービスの境界: 解体するもの, 一緒に滞在するもの",
      "权限数字：r=4、w=2、x=1，": "許可番号: r=4、w=2、x=1、",
      "硬件层：从点亮 LED 到读传感器": "ハードウェア層：LED点灯からセンサー読み取りまで",
      "第三方域名（字体、CDN、统计）用": "サードパーティのドメイン名(フォント、CDN、統計)",
      "调试 Shell 脚本的几种方法：": "シェルスクリプトの複数のメソッドをデバッグします。",
      "适合把设备或日期放到行列上做对比：": "デバイスまたは日付を以下と比較することができます。",
      "错误处理——任务失败不影响其他任务": "エラー処理——タスクの失敗が他のタスクに影響しない",
      "长轮询（Long Polling）": "ロングポーリング",
      "（Expiration）：过期时间": "(有効期限): 有効期限",
      "（Not Before）：生效时间": "(前の) 参加時間",
      "（文章列表、排行榜）：1-5 分钟": "(記事一覧、ランキング) 1-5分",
      "，很多\"慢\"其实是内存换页造成的。": "多くの「遅さ」は実はメモリページングが原因だ。",
      "，进程数用 ulimits 控制。": "、プロセス番号はlibitsによって制御されます。",
      "：复用 HTTP 连接和数据库连接": "HTTP接続とデータベース接続の再利用",
      "：多窗口、宏、自定义配置（1 月）": "マルチウィンドウ、マクロ、カスタム設定(1月)",
      "：掌握组合操作和文本对象（2 周）": ": マスターグループ操作とテキストオブジェクト(2週間)",
      "：静态页面产物、构建缓存、依赖目录": "：静的ページの成果物、ビルドキャッシュ、依存ディレクトリ",
      "📅 AI 辅助实验 · 可渐进落地": "📅 AI支援実験 · 段階的に実装可能",
      "📅 设备与控制实验 · 分阶段实现": "📅 デバイスと制御実験 · 段階的実装",
      "🕐 最后更新：2026-06-20": "🕐 最終更新：2026-06-20",
      "🕐 最后更新：2026-06-25": "最終更新:2026-06-25",
      "🖼 Markdown / 图片压缩": "🖼 Markdown / 画像圧縮",
      "2. 短期 Token + 刷新机制": "2. 短期トークン+メカニズムをリフレッシュ",
      "20. 提取 Markdown 链接": "20 . . エキス マークダウン リンク",
      "Access Token：15 分钟": "アクセストークン:15分",
      "Cherry-pick：精准移植提交": "チェリーピック：コミットを正確に移植",
      "Git 工作流：从单人提交到团队协作": "ジットワークストリーム: 一人からチームワークまで",
      "Service Worker 的取舍": "サービスワーカーの選択肢",
      "depends_on vs 健康检查": "健康チェック",
      "rebase 与 merge 的取舍": "rebaseとmergeの使い分け",
      "| 在所有键中淘汰最不常用的 | |": "| 最も使用頻度の低いキーを追い出す | |",
      "——每个查询都需要根据实际情况分析。": "— 各クエリは、状況分析が必要です。",
      "优化五：CDN——把资源推到用户身边": "最適化5:CDN - リソースをユーザーにプッシュする",
      "分支保持稳定可部署的状态，日常开发在": "ブランチは安定し、配置可能であり、毎日開発します",
      "好的 Markdown 文档应该是：": "優れたMarkdownドキュメントとは：",
      "学会用\"动词+名词\"的思维操作文本。": "「動詞＋名詞」の発想でテキストを操作することを学びましょう。",
      "实战示例：Express.js 实现": "実践例:Express.jsによる実装",
      "将脚本加入定时任务，实现完全自动化：": "スクリプトをタイムされたタスクに追加することで完全に自動化:",
      "或 Cython 加速。读取大文件用": "または Cython は加速します。 大きいファイルを読む",
      "指令将请求转发到后端地址，同时需要用": "コマンドは、バックアドレスへのリクエストを転送し、使用する必要があります。",
      "文件定义所有服务，一条命令启动全部。": "ファイルがすべてのサービスを定義し、単一のコマンドがすべて始まります。",
      "服务器应急编辑：不带插件的纯 Vim": "サーバー緊急エディタ: 純粋 プラグインなしのVim",
      "查找系统里不该有 SUID 的文件：": "検索システムにはSUDファイルがありません。",
      "正则表达式完全指南：30 个实用案例": "正規表現の完全なガイド:30の実用的な場合",
      "物联网工程专业在读，一名持续做项目的": "IoT Engineeringを専攻する大学4年生で、継続的にプロジェクトに取り組む",
      "环境隔离：开发、测试、生产各一份配置": "環境の分離: 1 つの構成をそれぞれ作り出す開発、テスト",
      "用 Python 发送一条文本消息：": "Pythonでテキストメッセージを送信する:",
      "真实场景：Git Push 自动通知": "実際のシーン: Git プッシュ自動通知",
      "等待所有后台任务，避免脚本提前退出。": "すべてのバックグラウンドタスクを待ち、スクリプトの早期終了を防ぎます。",
      "签名算法：HS256 与 RS256": "署名アルゴリズム:HS256およびRS256",
      "索引为什么有效：B+Tree 与回表": "インデックスが有効な理由：B+Treeとテーブル参照",
      "输入时间戳，如 1700000000": "1700000000のようなタイムスタンプを入力",
      "退出并返回非零码，方便上层监控捕获：": "キャプチャの上位レベルの監視を容易にするために、非ゼロコードを終了して返します。",
      "里保留关键 CSS，其余的延迟加载：": "遅延負荷の残りの部分:",
      "重复）能一次完成。录制时用相对动作（": "繰り返します。 録音時に相対的なアクションを使用する",
      "（用户信息、配置项）：5-15 分钟": "(ユーザー情報、構成): 5～15分",
      "）连接，数据库绝不映射到宿主机端口。": "）接続にし、DBはホスト側のポートへ公開しない。",
      "）：只有文件属主才能删除，防止互相删": ": : : 文書の所有者だけが削除し、相互削除を防ぐことができます",
      "：Poly1305 或 SHA384": ":ポリ 1305 または SHA 384",
      "：管道中任何命令失败都让整条管道失败": ": : : パイプ内の任意のコマンドの失敗は、パイプ全体が失敗します",
      "💬 实时聊天 (WebSocket)": "ライブチャット(WebSocket)",
      "📅 2025.10 — 自用效率工具": "2025.10 — 自己使用効率ツール",
      "📅 数据应用实验 · 课程与个人数据": "📅 データ活用実験 · 授業データと個人データ",
      "Apple 近两年的设计语言越来越强调": "アップルは、最後の2年間で、デザインの言語はますます重要になっています。",
      "C 语言指针深度解析：从内存模型到实战": "C言語ポインタ徹底解析：メモリモデルから実践まで",
      "Git Bisect：二分查找 Bug": "Git Bisect:ツーポイント検索バグ",
      "TLS 1.3 的密码套件简化了很多：": "TLS 1.3の暗号スイートは大幅に簡素化されました：",
      "Vim 不是编辑器，而是一种编辑语言。": "Vimはエディタではなく、編集言語です。",
      "v1.24 · 反向代理 & 静态服务": "v1.24・リバースプロキシ & 静的サービス",
      "| 只在设了过期时间的键中淘汰 | |": "| 有効期限が設定されたキーの中でのみ追い出し | |",
      "——少一个逗号就报错。建议在飞书官方的": "——カンマが1つ足りないだけでエラーになります。Feishu公式の",
      "✅ 定期 OPTIMIZE TABLE": "周期的な光学テーブル",
      "不一定等于字段字节之和。嵌入式开发里用": "これは必ずしもフィールドのバイトの合計を等しくしません。 組込み開発での利用",
      "以后做新项目，我会先把这张清单过一遍：": "あとでこのリストを経由します。",
      "保存退出。服务器编辑遵循\"先看后改\"：": "出口を保存します。 サーバエディタは「最初に参照」に従います。",
      "内置帮助，Vim 自带完整的文档系统。": "内部ヘルプ、Vimは完全な文書システムを持っています。",
      "区分环境变量文件，敏感值不进 Git。": "環境変数ファイルを区別し、Gitにない機密値。",
      "回滚是否容易（迁移、依赖、数据结构）？": "ロールバックは簡単です(移行、依存、データ構造)?",
      "在 Nginx 中为每个服务创建独立的": "Nginxで別のサービスを作成する",
      "打开交互编辑器，可以针对每个提交执行：": "インタラクティブエディタが開き、各コミットに対して実行できます：",
      "按页面实际资源逐项收紧，比一刀切更稳。": "ページの実リソースごとに個別に引き締める方が、一律適用より安定します。",
      "检查证书是否被吊销（OCSP/CRL）": "証明書の受領確認(OCSP/CRL)",
      "欢迎邮件联系，通常 24 小时内回复。": "メールでのご連絡を歓迎します。通常24時間以内に返信いたします。",
      "给个人技术实验室做一次真正能恢复的备份": "パーソナルテクノロジーラボの本当の回復バックアップを作成します。",
      "输入正则表达式和测试文本，查看匹配结果": "正規表現とテストテキストを入力し、マッチ結果を確認",
      "遇到\"十行数据每行做同样修改\"，用宏（": "「10行に同じ変更を加える」ならマクロを使う（",
      "（前缀匹配且不再继续正则），然后是正则": "(プレフィックスマッチとレギュラーを継続しない)",
      "（渐变高光，模拟玻璃表面的光线折射）。": "(Gradually高いライト、ガラス表面上の模倣された軽い反射)。",
      "（白色半透明边框，模拟玻璃边缘反光）、": "(白い半透明のボーダー、ガラス端の模擬反射)",
      "：使用 Semaphore 控制并发数": ":Semaphoreの一貫性制御",
      "：客户端定时发送请求，延迟高且浪费带宽": "：クライアントが定期的にリクエストを送る方式で、遅延が大きく帯域幅を浪費する",
      "：集成 Swagger/OpenAPI": ": 統合Swagger/OpenAPI",
      "📄 Markdown / PDF 导入": "マークダウン/PDF インポート",
      "2. 响应式图片——不同屏幕加载不同尺寸": "2. レスポンシブ画像——画面に応じて異なるサイズを読み込む",
      "2024.09 — 至今 · 持续迭代中": "2024.09 — 現在 · 継続的に開発中",
      "Git Cherry-Pick：精准移植": "Git Cherry-Pick：ピンポイント移植",
      "JWT 由三部分组成，用点号（.）分隔：": "JWTは点数によって分けられる3つの部品から成っています:",
      "Let's Encrypt · 自动续签": "Let's Encrypt · 自動更新",
      "MQTT 协议详解：物联网通信的事实标准": "MQTTプロトコルの詳細: オンライン商品の通信のためのデファクト規格",
      "RESTful API 设计的核心思想是": "RESTful API は、 設計の中心の考えはあります",
      "SQL 查询优化：索引、执行计划与慢查询": "SQLクエリ最適化：インデックス、実行計画、スロークエリ",
      "Vim 的高效不在快捷键数量，而在组合：": "Vimの効率はショートカットの数ではなく、組み合わせて:",
      "Webhook 安全：密钥、白名单与频率": "Webhookのセキュリティ：キー、ホワイトリストと頻度",
      "[ ] 图片全部转 WebP + 响应式": "[ ] 写真はすべてWebP +応答を回します",
      "| 在所有键中淘汰最近最少使用的 | |": "| 最も長く使用されていないキーを追い出す | |",
      "。学会组合后，很多\"操作\"可以一句表达：": "組み合わせを覚えると、多くの「操作」が一文で表現できます：",
      "一张 2.4MB 的背景图，完全没有压缩": "2.4MBの背景マップ、完全に非圧縮。",
      "中文字体文件 8MB，阻塞了整个页面渲染": "中国語フォントファイル 8MB, ページのレンダリング全体をブロック",
      "为什么选择 Docker Compose": "なぜDocker Composeなのか",
      "事件时间线：把监控从\"状态\"变成\"故事\"": "イベントタイムライン:監視を「状態」から「ストーリー」へ",
      "从底层实现、数据处理到服务交付与交互表达": "低レイヤーの実装、データ処理からサービスデリバリー、インタラクティブな表現まで",
      "函数指针是实现回调机制和策略模式的基础。": "関数ポインタはコールバック機構と戦略のモードを達成するために基礎です。",
      "分支进行，新功能从 develop 拉出": "ブランチは、開発を引っ張る新しい機能に行きます",
      "前端性能优化：从 3 秒到 300 毫秒": "フロントエンド性能の最適化:3秒から300msまで",
      "卡片消息的核心就是一个 JSON 结构：": "カードメッセージのコアはJSON構造です。",
      "可读性会好很多。合并别人的代码到主干我用": "読みやすくなります。 他の人をマージするためにコードを使用します。",
      "实战：把接口从 2.3 秒降到 8 毫秒": "操作: 2.3秒から8msまでのインターフェイスの縮小",
      "对齐也很重要：结构体成员按对齐规则填充，": "アラインメントも重要だ。構造体のメンバーは規則に従ってパディングされ、",
      "把 Vim 当语言：操作符 + 动作组合": "Vimを言語として使う：オペレータ＋動作の組み合わせ",
      "按 hunk 暂存；如果提交已经产生，用": "出版物 hunk のホールドアップ; 送信が発生したら、使用して下さい",
      "时钟与时间语义：谁的时间才是\"真实时间\"": "クロックと時間の意味論：「リアルタイム」とは誰の時間か",
      "查端口占用——这个在端口冲突时特别好用。": "ポートの占有率をチェック - これは、ポートの競合が発生した場合に特に便利です。",
      "点击「创建企业自建应用」，填写名称和描述": "「企業向けカスタムアプリを作成」をクリックし、名前と説明を入力する",
      "生成高强度随机密码，可自定义长度和字符集": "高強度のランダムパスワードを生成、長さと文字セットをカスタマイズ可能",
      "用 rename 禁用）、监控内存峰值。": "名前を変更し、メモリピークを監視します。",
      "直接进入 diff 模式，适合合并冲突；": "差分モードに直接アクセスし、競合を組み合わせるのに適しています。",
      "自动化不是一蹴而就的。我经历了三个阶段：": "自動化は一晩に行われません。 3つのステージを通過しました。",
      "获取免费证书：Let's Encrypt": "無料証明書の取得：Let's Encrypt",
      "装好之后别急着用，先做几个关键配置。编辑": "準備ができたら、急いでいません。いくつかのキー設定を行います。 編集",
      "证书文件定时备份至独立目录，支持一键回滚": "証明書ファイルは独立ディレクトリに定期的にバックアップされ、ワンクリックでロールバックできます",
      "调整；CentOS 用 SELinux，": "調整;SELINux と CentOS,",
      "资源加载：preconnect 与优先级": "リソースの読み込み: プレコネクトと優先順位",
      "迁移前自动备份，迁移失败自动回滚到备份点": "移行前に自動バックアップし、移行失敗時は自動的にバックアップ地点へロールバック",
      "迁移文件只增不改，已上线的迁移永远不编辑": "移行ファイルが追加され、行上にあるマイグレーションは編集されません",
      "这样即使服务重启，所有定时任务都能恢复。": "これにより、サービスが再起動してもすべての定期タスクを再開できる。",
      "（HATEOAS）：响应包含可操作的链接": "(HATEOAS): 応答には、アクション可能なリンクが含まれています",
      "：使用未定义变量直接报错（拼写错误立现）": "：未定義変数を使うと即エラー（タイポがすぐわかる）",
      "：对独立任务使用 create_task": "：独立したタスクにはcreate_taskを使う",
      "：系统缓存、临时文件、日志（可压缩短存）": "：システムキャッシュ、一時ファイル、ログ（圧縮して短期保存）",
      "：资源可以有多种表示（JSON、XML）": ": リソースは多くの方法で表現できます(JSON、XML)",
      "🔐 Let's Encrypt 免费证书": "🔐 Let's Encrypt無料証明書",
      "I2C、SPI、UART 三种总线的取舍：": "I2C、SPI、UART 3バスオプション:",
      "LinguaStep · 日英阶梯学习平台": "LinguaStep · 日英ステップ学習プラットフォーム",
      "Linux 用户信息存储在两个关键文件中：": "Linux ユーザーの情報は 2 つの主要な文書に格納されます。",
      "Markdown 写作指南：技术文档的艺术": "Markdownの執筆ガイド:技術文書の芸術",
      "RESTful API 设计规范与最佳实践": "RESTful API デザイン ノームとベストプラクティス",
      "Rebase 交互模式：整理历史的正确姿势": "リベースインタラクティブ モード:歴史の正しい位置を照らすこと",
      "Redis 缓存实战：从安装到生产环境优化": "Redis実践：インストールから本番環境の最適化まで",
      "[ ] 关键 CSS 内联，非关键异步加载": "[ ] キーCSS相互接続性、非クリティカルオフロード",
      "backdrop-filter 的性能成本": "バックドロップファイルの性能コスト",
      "proxy_pass 的 URI 传递陷阱": "proxy_pass 用の URI 転送トラップ",
      "——更新数据库后忘记删缓存。最简单的做法：": "• データベースを更新した後にキャッシュを削除するを忘れないでください。 最も単純なアプローチ:",
      "⏰ Crontab 定时备份 + 飞书告警": "⏰ Crontab定期バックアップ + Feishuアラート",
      "。但懒惰并不总是更高效，回溯才是性能关键：": "しかし、控えめなマッチングが常に効率的とは限りません。バックトラッキングこそが性能の鍵です：",
      "。文件路径来自外部时，先规范化并校验前缀：": "ファイルパスが外部から来る場合は、まず正規化してプレフィックスを検証します：",
      "不是所有东西都值得备份。我按重要性分四层：": "バックアップに値するわけではありません。 私は重要な4つの層を持っています:",
      "主题可以按设备、数据类型和方向分层，例如：": "対象は、以下のような機器、データ型、方向でレイヤーすることができます。",
      "传统 UGO 权限不够精细时使用 ACL：": "従来のUGO権限では細かすぎる場合にACLを使います：",
      "列表接口默认分页，返回结构与元数据一起给：": "リストAPIはデフォルトでページネーションされ、メタデータとともに構造を返します:",
      "包裹玻璃效果，不支持的设备用纯色半透明背景": "パッケージ ガラスの効果、純粋な色および半透明の背景の支えがない装置",
      "多级指针常用于动态二维数组和函数参数传递。": "マルチレベルのポインタは、動的2次元配列と関数パラメータ転送に使用されます。",
      "并发控制：Semaphore 防止打爆下游": "並列制御: ブラストダウンストリームを防止するSemaphore",
      "每个迁移必须幂等，能重复执行而不产生副作用": "各マイグレーションは、副作用なしで待機し、繰り返す必要があります。",
      "消息幂等：QoS 只保证投递，不保证不重复": "メッセージの冪等性：QoSは配信を保証するが、重複しないことは保証しない",
      "由服务端写入，两个字段都保留。查询和聚合以": "サーバー側で書き込み、両方のフィールドを保持する。検索と集計は",
      "组成。普通字符代表自身，元字符有特殊含义。": "構成。 通常の文字は自分自身を表し、メタ文字は特別な意味を持っています。",
      "）同样低效，改用\"上一页最后一条的游标\"（": "それはまた非効率です。",
      "：学会基本操作，能编辑和保存文件（1 天）": ": 文書の編集と保存の基礎を学びます(1日)",
      "：手动跑 Python 脚本，想起来才执行": "：Pythonスクリプトを手動で実行し、思い出したときだけ動かす",
      "：按业务需求，通常 30 分钟到 2 小时": "運用要件に基づいて、通常30分から2時間",
      "：文件按属组运行，目录下新文件继承目录属组": ": グループで実行するファイル、ディレクトリ内のディレクトリを継承する新しいファイル",
      "📅 2025.09 — 运维工具 · 开源": "📅 2025.09 — 運用ツール · オープンソース",
      "📅 2026.01 — DevOps 实践": "2026.01 — DevOps 練習",
      "📅 2026.01 — 自建 · 持续更新": "📅 2026.01 — 自作・継続更新",
      "2024.09 — 至今 · 内容与工具平台": "2024.09 — コンテンツとツールのプラットフォーム",
      "HTTP 协议以明文传输数据，存在三大风险：": "データを明示的に送信する HTTP プロトコルには、次の 3 つの主要なリスクがあります。",
      "Linux 基础命令：服务器运维的日常工具箱": "Linux の基本的なコマンド: サーバー操作のための毎日のツールボックス",
      "Linux 用户与权限管理：从入门到安全加固": "Linuxユーザーと権限管理:導入からセキュリティ強化まで",
      "MIME 类型不能只信用户给的后缀：转换前用": "MIME 型はユーザからサフィックスを信頼できません: 変換前に使用",
      "Nginx 的反向代理基于 HTTP 请求的": "NginxのリバースプロキシはHTTPリクエストの",
      "Nginx 路由组织：一张路由表管理全部入口": "Nginxルート構成:1つのルーティングテーブルで全エントリを管理",
      "Python 实现每日课表 + 天气自动推送": "Pythonで毎日の時間割と天気を自動配信",
      "SUID、SGID 与 Sticky Bit": "SUID、SGIDとスティッキービット",
      "Shell 脚本编程：运维效率提升 10 倍": "Shellスクリプト：運用効率を10倍に",
      "Unix 时间戳与日期时间互转，支持秒/毫秒": "Unixタイムスタンプと日時の相互変換、秒/ミリ秒対応",
      "Web Vitals：把性能变成可测量的指标": "ウェブバイタル:パフォーマンスを測定可能な指標に変える",
      "| 不淘汰，写入报错（默认，不推荐） | |": "| 追い出さず、書き込みエラー（デフォルト、非推奨） | |",
      "——有序可重复。适合消息队列、最新动态列表。": "— 注文は繰り返すことができます。 メッセージキュー、最新の動的リストに適合します。",
      "一行搞定。数据清洗的常用操作包括处理缺失值（": "1つのライン。 データの洗浄のための一般的な操作には、欠損値の処理が含まれます。",
      "不是地址加 n，而是加 n 个\"元素大小\"：": "アドレスが n ではなく n 要素サイズを追加:",
      "互访。Backend 连接 MySQL 时用": "交換訪問。 MySQL接続のバックエンド",
      "从玻璃质感到可用体验：个人全站的交互设计复盘": "ガラスから利用できる感じ:相互、個人的、場所全体の設計ディスク",
      "会连卷一起删——这条命令在数据目录上要三思。": "ボリュームまで一緒に削除されるため、データディレクトリに対してこのコマンドを実行する前によく考える。",
      "使用 OpenAPI（Swagger）规范：": "OpenAPI を調節するために使用して下さい:",
      "只看增量，但我会顺带看被改函数的完整上下文；": "増分のみですが、変更された関数の完全コンテキストを追っていきます。",
      "在脚本退出时清理临时文件，避免中断留下垃圾：": "trapと組み合わせてスクリプト終了時に一時ファイルを掃除し、中断時にゴミを残さないようにします：",
      "客户端验证服务器证书的有效性（证书链验证）。": "証明書チェーン検証",
      "我在阿里云 ECS 上部署全栈服务的完整记录": "Ariane ECS にデプロイしたすべてのインサービスの完全なレコードを持っています。",
      "我按事件中心的方式管理反馈：逻辑层只发事件（": "フィードバックはイベント中心で管理します：ロジック層はイベント（",
      "或锁文件 + PID 检查，抢不到锁就退出。": "またはロックファイル+PIDチェックで、ロックを取得できなければ終了します。",
      "文件转换服务的工程细节：上传、转换与失败恢复": "ファイル変換サービスのプロジェクトの詳細:アップロード、変換、および故障回復",
      "时间也要统一时区。服务器是 UTC 时区时，": "時間もタイムゾーンを統一します。サーバーがUTCの場合、",
      "是否改动了接口契约（URL、字段、状态码）？": "インターフェイス契約(URL、フィールド、ステータスコード)は変更されましたか?",
      "服务器选择密码套件，发送证书和密钥交换参数。": "サーバーは暗号スイートを選択し、証明書と鍵交換パラメータを送信します。",
      "生产环境一定要监控 Redis 的关键指标：": "本番環境では、次のRedisメトリクスを監視する：",
      "用浏览器做一款能玩的游戏：模块化、反馈与测试": "ブラウザでゲームを再生:モジュール化、フィードバック、テスト",
      "的输出一目了然，定位历史修改的效率高了很多。": "出力が一目で分かり、過去の変更を追いやすくなる。",
      "第二层：APScheduler——企业级调度": "第2層：APScheduler——エンタープライズ級のスケジューリング",
      "第二步：创建 systemd unit 文件": "ステップ2:システム単位ファイルを作成する",
      "能保证依赖服务完全就绪，结果发现它只保证容器": "依存サービスが完全に準備できると思っていたが、実際にはコンテナの",
      "表达的操作，全部走向量化；必须逐行计算时才用": "式は、すべて量子化に移動します。 行ごとに計算された場合のみ",
      "配合 Docker Compose 使用时，": "Docker Composeと組み合わせて使う場合、",
      "阿里云 ECS · Ubuntu 24.04": "Alibaba Cloud ECS · Ubuntu 24.04",
      "鼠标悬浮时的光晕跟随效果是点睛之笔。通过监听": "マウスホバー時の光暈フォロー効果が仕上げの一手です。",
      "），发布版本时整体失效，避免脏缓存长期残留。": "）とし、リリース時にキャッシュ全体を無効化して古い内容を残さない。",
      "，JavaScript 的 RegExp 用": ", JavaScriptのRegExp",
      "：优先 AES-GCM 和 ChaCha20": "AES-GCMとChacha20",
      "📅 2025.11 — 纯前端 · 自用效率": "📅 2025.11 — 純フロントエンド · 自作の効率ツール",
      "Hex ↔ RGB ↔ HSL 互转，实时预览": "Hex ↔ RGB ↔ HSL 相互変換、リアルタイムプレビュー",
      "OTA：服务器分发固件，设备校验哈希后切换分区": "OTA：サーバーがファームウェアを配布し、デバイスがハッシュを検証してからパーティションを切り替える。",
      "Python 自动化脚本：从定时任务到系统守护": "Python オートメーションスクリプト: 時間タスクからシステム ガーディアンまで",
      "WebSocket 实时通信：从握手到消息推送": "WebSocket ライブコミュニケーション: ハンドシェイクからメッセージまで",
      "[ ] 路由级代码分割 + vendor 分包": "[ ] ルートコード分割+ベンダーサブコントラクト",
      "docker-compose.yml 结构设计": "docker-compose.ymlの構造設計",
      "——无序不重复。标签系统、共同好友、去重统计。": "— 無秩序と反復。 ラベル システム、相互友人、重く計算。",
      "✅ 分页使用游标而非 LIMIT OFFSET": "✅ ページネーションはLIMIT OFFSETではなくカーソルを使用",
      "下面是我逐个击破的过程，每个优化都有数据支撑。": "そして、データによってすべての最適化がサポートされています。",
      "从借阅流程到 API：智慧图书馆的数据建模实践": "貸出フローからAPIまで：スマート図書館のデータモデリング実践。",
      "作答后立即给出对错与解释，错误项进入待复习队列": "回答直後に正誤と解説を提示し、誤答は復習キューに入る",
      "刚学 Docker Compose 时，我以为": "Docker Composeを学び始めた頃、私は思っていました",
      "和输出目录，使用子进程超时，捕获标准错误，并在": "と出力ディレクトリを用意し、サブプロセスにタイムアウトを設定して標準エラーを取得し、",
      "回到开始前的状态；想反悔一次 rebase，用": "開始前の状態に戻せます。rebaseをやり直したい場合は、",
      "在 Ubuntu 上安装 Redis 很简单：": "UbuntuにRedisをインストールするだけです:",
      "在编辑位置历史里来回跳，比滚动找回位置快得多。": "ロールバックよりもはるかに高速な編集位置履歴で前後にジャンプします。",
      "定期测试续签链路，而不是等到到期前才发现失败。": "更新パイプラインを定期的にテストし、期限切れ間際に失敗が発覚するのを避けます。",
      "把 Python 脚本封装成服务需要两个文件。": "Pythonスクリプトをサービスにロードするには、2つのファイルが必要です。",
      "握手：从 HTTP 升级到 WebSocket": "Handshake:HTTPからWebSocketへのアップグレード",
      "是否处理了异常路径（超时、并发、数据不存在）？": "タイムアウト、同時実行、データ欠落といった異常系を処理できているか？",
      "最典型的坑是\"异步框架里混进了同步阻塞调用\"：": "最も典型的な落とし穴は「非同期フレームワークに同期ブロッキング呼び出しが混ざる」ことです：",
      "环境变量不要写死在 Compose 文件里，用": "環境変数はComposeファイルにハードコードせず、次を使う:",
      "用 SDK 发送消息比直接调 API 更简洁：": "SDKでメッセージを送信するのは、APIを直接調整するよりも簡単です。",
      "第一层：schedule 库——轻量级定时任务": "第1層：scheduleライブラリ――軽量な定期タスク",
      "阿里云 ECS 从零到一：选购、配置与安全加固": "ゼロから1までのアリスンECS:選択、構成、セキュリティ強化",
      "：服务器挂起请求直到有数据，但仍需重复建立连接": "：サーバーがデータが届くまでリクエストを保留するが、接続を何度も張り直す必要がある",
      "📄 Word/PPT/Excel 互转 PDF": "📄 Word/PPT/Excel ⇄ PDF変換",
      "📅 2026.03 — 设计工程 · 持续迭代": "2026.03 — デザインエンジニアリング、継続的反復",
      "📅 2026.06 · 互动游戏 · 个人项目": "📅 2026年6月 · インタラクティブゲーム · 個人プロジェクト",
      "📅 服务交付实验 · 从 Compose 进阶": "📅 サービスデリバリー実験 · Composeから発展",
      "AES-256-GCM 加密，数据不离开浏览器…": "AES-256-GCM暗号化、データはブラウザ外に出ません…",
      "Docker Compose 多服务编排最佳实践": "Docker Composeによるマルチサービス構成のベストプラクティス",
      "GitHub Actions CI/CD 流水线": "GitHub Actions CI/CDパイプライン",
      "| | 只读挂载 | 配置文件、SSL 证书 |": "| | 読み取り専用マウント | 設定ファイル、SSL証明書 |",
      "——排行榜神器。每个元素关联一个分数，自动排序。": "——ランキングの定番。各要素にスコアを紐づけ、自動ソート。",
      "一个典型的全栈项目 Compose 文件长这样：": "典型的なフルスタックプロジェクトのComposeファイルは次のようになります：",
      "上传图片，通过 Canvas 压缩并对比文件大小": "画像をアップロードし、Canvasで圧縮してファイルサイズを比較",
      "从传感器到图表：一条可排障的 MQTT 数据链路": "センサーからグラフまで：障害を追跡できるMQTTデータパイプライン",
      "从零开始搭建个人 Docker 技术栈的思维导图": "ゼロから個人のDocker技術スタックを構築するマインドマップ",
      "代码里不出现任何环境相关地址，全部由环境变量注入": "環境関連のアドレスはコードに表示されず、環境変数によって注入される",
      "例如: \\\\d{4}-\\\\d{2}-\\\\d{2}": "例：\\d{4}-\\d{2}-\\d{2}",
      "写校验正则前先想清楚\"要防什么\"。简单的邮箱校验": "ルールを書く前に、守るべきことを明確に考えてみてください。 シンプルなメールボックス検証",
      "在「安全设置」里配置 IP 白名单（可选但推荐）": "セキュリティ設定でIPホワイトリストを設定(オプションが推奨)",
      "声明\"指向返回 int、接受 int 的函数\"；": "宣言「イントを返す関数を備考し、イントを受け入れる」;",
      "排查 HTTPS 问题的固定顺序：证书是否过期（": "HTTPS問題を切り分ける定番の手順：証明書が期限切れか（",
      "数组名在大多数表达式中会退化为指向首元素的指针。": "ヘッド要素を指すポインタにほとんどの式で配列名が劣化します。",
      "是\"指向元素的指针\"。区分这三者能避免大量困惑：": "「要素へのポインタ」です。 3つの違いは、多くの混乱を避けることができます。",
      "是否有敏感信息（密码、令牌、密钥）被打印或入库？": "機密情報(暗号、トークン、キー)は印刷または保存されますか?",
      "是镜像的运行实例，轻量级、隔离但共享宿主机内核。": "イメージの実行インスタンスであり、軽量で分離されているが、ホストカーネルを共有する。",
      "最小化特权，是 Docker 安全基线的一部分。": "特典の最小化は、Dockerのセキュリティベースラインの一部です。",
      "标准声明（Registered Claims）：": "標準クレーム（Registered Claims）：",
      "管理，配合 Watchtower 自动更新镜像。": "管理し、Watchtowerと連携してイメージを自動更新。",
      "脚本的健壮性：set -euo pipefail": "スクリプトの堅牢性：set -euo pipefail",
      "认证：每个设备独立用户名 + 密钥，禁用匿名连接": "認証: 各デバイス+キーの独立したユーザー名、匿名接続を無効にします",
      "输入 JSON 文本，一键格式化、压缩或校验语法": "JSONテキストを入力し、ワンクリックで整形・圧縮・構文検証",
      "飞书机器人开发指南：Webhook + 消息卡片": "Feishuロボット開発 ガイド:Webhook+メッセージカード",
      "（fugitive 插件）看 Git 版本对比。": "(fugitiveプラグイン) Gitバージョンの比較を参照してください。",
      "）、隐式类型转换（字符串列传数字）、前导通配符（": ")、暗黙の型変換(文字列カラムと数値の比較)、前方ワイルドカード(",
      "：不要过度配置，2C8G 足以支撑日均万级 PV": "：過剰構成は不要。2C8Gで日間1万PV級を十分支えられます",
      "：用 Cron 或 schedule 库定时执行": "：Cronまたはscheduleライブラリで定期的に実行",
      "🐳 Docker Compose 编排 6 容器": "🐳 Docker Composeによる6コンテナのオーケストレーション",
      "1. 格式转换——WebP 替代 PNG/JPEG": "フォーマット変換 - PNG/JPEGではなくWebP",
      "Broker 部署与安全：认证、ACL 和 TLS": "ブローカーの展開とセキュリティ:認証、ACLおよびTLS",
      "Cache-Aside（旁路缓存）——最常用的模式": "キャッシュ・アサイド(サイドキャッシュ) - 最も一般的なパターン",
      "Capabilities：比 root 更细的授权": "能力: ルートよりもより詳細な認証",
      "DataFrame 操作链：把清洗写成可读的流水线": "DataFrame操作チェーン:クリーニングを読みやすいパイプラインに",
      "SELinux / AppArmor：强制访问控制": "SELinux / AppArmor: 強制アクセス制御",
      "Socket.IO 提供了更高级的抽象和自动降级：": "ソケット。 IOはより高い抽象化および自動低下を提供します:",
      "WebSocket 连接始于 HTTP 升级请求：": "WebSocket 接続は HTTP アップグレードリクエストから始まります。",
      "[ ] Nginx 配置 gzip + 分层缓存头": "[ ] Nginx 設定 gzip + レイヤーキャッシュヘッダ",
      "item：可练习的条目，关联 lesson 与题型": "項目: 練習可能な記入項目、協会のレッスンおよび問題のタイプ",
      "主题下发，配合 QoS 2 确保关键指令可靠送达。": "テーマは、QoS 2と組み合わせて配布され、キーディレクティブの信頼性のある配信を保証します。",
      "传数组给函数时，函数拿到的是指针，必须同时传长度；": "配列を関数へ渡すと関数が受け取るのはポインタなので、長さも一緒に渡す。",
      "做映射，字段缺失时留空并记录警告，不让整条消息崩塌": "マッピングし、フィールド欠落時は空欄にして警告を記録し、メッセージ全体が壊れないようにする",
      "分支，完成后合并回去。发布前从 develop 拉": "ブランチ、完了後にマージします。 リリース前の開発から撤退",
      "卡片与正文之间有足够的分隔（边框、投影或背景色差）": "カードと本文の間に十分な区切り（枠線、影、背景色の差）を設ける。",
      "图片通常占页面体积的 60% 以上。我做了三件事：": "画像はページ容量の60%以上を占めることが多い。そこで3つの対策を行った：",
      "嵌入式里设备驱动常用函数指针表实现接口层，上层只调": "組込みではデバイスドライバが関数ポインタテーブルでインターフェイス層を実装し、上位層は呼び出すだけ",
      "打开 Network 面板分析，罪魁祸首一目了然：": "ネットワークパネルの分析を開き、犯人はクリアです。",
      "把服务器的 CPU、内存、磁盘状态打包成一张卡片：": "サーバのCPU、メモリ、ディスクステータスをカードにパックします。",
      "文件转换 API · 图书馆系统 · 博客引擎 →": "ファイル変換API · 図書館システム · ブログエンジン →",
      "是最强大的 HTTP 客户端，调试 API 必备。": "最も強力なHTTPクライアント、デバッグAPIが準備されます。",
      "查看目录大小（磁盘满了时的救星）。文本处理三剑客：": "ディレクトリサイズ(ディスクがいっぱいのとき)を表示します。 テキストハンドラ:",
      "永远不要 rebase 已经推送到公共仓库的提交！": "すでに公開リポジトリにプッシュしたコミットは、絶対にリベースしないでください！",
      "的价值——定位 bug 时无法判断是哪一行引入的。": "バグの配置の値は、どの行が導入されたのかを判断しません。",
      "第三层：systemd 服务——把脚本变成守护进程": "3階:システム化されたサービス -- スクリプトをデーモンに変換する",
      "索引列顺序与 WHERE 条件的过滤顺序一致，能用": "インデックスカラムの注文はWERE条件のフィルタリング順に対応し、使用可能",
      "输入文本或 URL，一键生成二维码并下载为 PNG": "テキストまたはURLを入力し、QRコードを生成してPNGでダウンロード",
      "首次配网：SoftAP 模式接收 Wi-Fi 凭据": "初回ネットワーク設定：SoftAPモードでWi-Fi認証情報を受信",
      "：关闭 SSLv3、TLS 1.0、TLS 1.1": ": 閉じる SSLv3, TLS 1.0, TLS 1.1",
      "：帧类型（文本、二进制、关闭、Ping、Pong）": ": フレームタイプ(テキスト、バイナリ、クローズド、ピン、ポン)",
      "：长期运行选择包年包月（比按量便宜 30-50%）": "：長期運用なら年額・月額プラン（従量課金より30〜50%安い）",
      "📅 2025.06 — 至今 · 微服务 · 开源": "2025.06 — マイクロサービス — オープンソース",
      "📅 2025.10 — 至今 · 自动化 · 开源": "📅 2025.10 — 現在 · 自動化 · オープンソース",
      "📅 2026.08 · 可靠性工程 · 服务器实践": "📅 2026.08 · 信頼性エンジニアリング · サーバー実践",
      "2026 · Canvas / SVG · 持续迭代": "2026 · Canvas / SVG · 継続開発中",
      "Python 定时任务有三种主流方案，适用场景不同：": "Pythonの定期タスクには主に3つの方式があり、用途が異なる：",
      "TLS 1.3 简化了握手流程，只需要 1-RTT：": "TLS 1.3 簡体化ハンドシェイク処理、1RTTのみ:",
      "或显式填 0，但要区分\"没有数据\"和\"测量为 0\"。": "または明示的に0を入力する。ただし「データなし」と「測定値が0」を区別する。",
      "正文至少 4.5:1 对比度，大字号标题至少 3:1": "テキストは少なくとも4.5:1のコントラストであり、ヘッダーは少なくとも3:1です",
      "浏览器战斗实验 · 交互可视化 · 全站设计系统 →": "ブラウザ戦闘実験 · インタラクティブ可視化 · 全站デザインシステム →",
      "物联网数据管线 · 数据分析工作台 · 文档问答 →": "IoTデータパイプライン · データ分析ワークベンチ · ドキュメントQA →",
      "生成 UUID v4 随机标识符，支持单个和批量生成": "UUID v4ランダム識別子を生成、単一・一括に対応",
      "：https://regexr.com（可视化匹配）": ":https://regexr.com(ビジュアルマッチング)",
      "：数据库、用户数据、私有配置（证书、密钥、环境变量）": "：データベース、ユーザーデータ、プライベート設定（証明書、鍵、環境変数）",
      "+ 压缩日志即可，重点是把\"查日志\"变成一条固定命令：": "+ ログを圧縮するだけでなく、「ログを確認する」作業を1つの定型コマンドにします：",
      "Docker Compose 就是解决这个问题的。一个": "Docker Composeがこの問題を解決します。1つの",
      "HTTPS 证书链实战：TLS、Nginx 与自动续签": "HTTPS の証明書の鎖の現実主義: TLS、Nginx および自動更新",
      "JSON Web Token (JWT) 认证机制详解": "JSON Webトークン(JWT)認証メカニズム",
      "LocalStorage 持久化主题偏好与常用链接配置": "LocalStorageでテーマ設定とよく使うリンクを永続化",
      "Nginx 反向代理实战：一个 80 端口管理五个服务": "Nginxリバースプロキシ戦闘:80ポートは5つのサービスを管理する",
      "Refresh Token：7 天（存储在后端可撤销）": "トークンをリフレッシュ: 7 日 (バックエンドで保存可能)",
      "Shell 最容易出安全问题的三个点：未加引号的变量、": "Shellには、最もセキュリティ上の懸念の3つがあります。",
      "| | 不使用动词 | 用 HTTP 方法表达操作 |": "| | 動詞を使わない | HTTPメソッドで操作を表現 |",
      "不要把所有缓存都设成永不过期——内存会爆。我的经验是：": "すべてのキャッシュを期限無しに設定しないでください。メモリは爆発します。 私の経験は:",
      "为辅，时钟偏差超过阈值（如 5 分钟）标记为可疑数据。": "これを補完するには、しきい値(例えば5分)を超えるクロックの逸脱が疑わしいデータとしてマークされます。",
      "仪表盘不只是看 CPU：为个人服务建立最小可用可观测性": "ダッシュボードはCPUを見るだけではない。個人サービスに必要な最小限の可観測性を整える。",
      "加唯一索引，是设备网络波动下保证数据干净的最简单办法。": "ユニークインデックスを追加することが、デバイスのネットワークが不安定でもデータを重複させない最も簡単な方法だ。",
      "天气 API 实时获取 + SVG 图标，位置自动检测": "天気APIでリアルタイム取得 + SVGアイコン、位置自動検出",
      "客户端发送支持的 TLS 版本、密码套件列表和随机数。": "クライアントは対応するTLSバージョン、暗号スイートの一覧、乱数を送信します。",
      "所有 JavaScript 打包成一个 1.2MB 的": "すべてのJavaScriptが1.2MBにパック",
      "把上面的东西串起来——一个真实的数据库备份自动化方案：": "ここまでの要素を組み合わせる——実用的なデータベースバックアップ自動化：",
      "是最常见的错误。用户访问首页，却下载了所有页面的代码。": "は最もありがちなミスです。ユーザーはトップページにアクセスしただけなのに、全ページ分のコードをダウンロードすることになります。",
      "智能运维助手 · 弹性服务交付 · 全站监控仪表盘 →": "スマート運用アシスタント・柔軟なサービス提供・サイト全体の監視ダッシュボード →",
      "最小权限、密钥认证、敏感信息隔离，定期审计与恢复演练。": "最小権限、鍵認証、機密情報の分離、定期的な監査と復旧訓練。",
      "每个阶段解决不同的问题。关键是知道什么场景用什么方案。": "各ステージは異なる課題に対応します。 キーは、どのようなシナリオを使用するかを知ることです。",
      "测试：MockMvc 与 Testcontainers": "テスト:MarkMvcおよびTestcontainers",
      "结合 WebSocket 和消息队列实现实时通知推送：": "WebSocketとMessage Queueと連携して、リアルタイム通知が送信されます。",
      "设备感知与控制台 · 灌溉控制器 · 粮仓预警终端 →": "デバイスセンシングとコンソール · 灌漑コントローラー · 穀物倉庫警報端末 →",
      "退出；可选参数给默认值并输出到日志，让每次执行可复现。": "exit; オプションのパラメータはデフォルト値に与えられ、各実行が繰り返すことができるようにログにエクスポートされます。",
      "：https://debuggex.com（图表展示）": ": https://debuggex.com（図解表示）",
      "📅 2025.12 — 自建工具 · Docker 化": "📅 2025.12 — 自作ツール・Docker化",
      "POST 天然不幂等，重试可能重复创建。需要幂等的场景用": "POSTは本質的に冪等ではなく、再試行すると重複作成される可能性があります。冪等性が必要な場面では、",
      "Python 异步编程：async/await 实战指南": "Python非同期プログラミング：async/await実践ガイド",
      "UART：点对点、最简单，适合 GPS、串口屏和调试输出": "UART:GPS、シリアル スクリーンおよびデバッグ出力のためのポイントツーポイント、最も簡単な",
      "[ ] 静态资源上 CDN + DNS prefetch": "[ ] 静的リソースCDN + DNSプレフェッチ",
      "| | Bind Mount | 开发时的代码热更新 |": "| ビンドマウント | 開発中のコードの更新",
      "可以追一个文件的历史，判断这次修改是修复、演进还是破坏。": "修正が修復、進化、破壊であるかどうかを判断するために、文書の歴史に従うことができます。",
      "团队定了一个简单的 Commit Message 规范：": "チームはシンプルなコミットメッセージ規約を決めました：",
      "多个消费者处理同一个 Topic 的队列场景用共享订阅（": "複数のコンシューマーが同じTopicのキューを処理する場合は、共有サブスクリプション（",
      "左侧编写 Markdown，右侧实时渲染 HTML 预览": "左側でMarkdownを書き、右側でリアルタイムにHTMLプレビュー",
      "把个人网站当成一座小型平台：TWC LAB 的多服务架构": "小規模なプラットフォーム用のマルチサービスアーキテクチャ: TWC ラボ",
      "文本 ↔ Base64 双向转换，支持中文和 emoji": "テキスト ⇄ Base64 の双方向変換、中国語と絵文字に対応",
      "索引建了不等于会用上。常见失效场景：对索引列做函数运算（": "インデックスは、それが使用されるという意味ではありません。 一般的なラプスシナリオ:インデックスカラムの機能操作(",
      "能脚本化的不手动操作：备份、部署、监控、告警全部自动化。": "スクリプト化できるものは手動で行わない：バックアップ、デプロイ、監視、アラートをすべて自動化。",
      "连接 Broker：TLS 证书校验，客户端 ID 唯一": "ブローカーを接続して下さい:TLSの証明書の検証、顧客IDの独特",
      "里最容易出问题的是启动顺序：数据库没就绪，应用就连不上。": "起動時に最も問題になりやすいのは順序だ。DBの準備ができていなければアプリケーションは接続できない。",
      "，它能自动淘汰冷数据，保留热数据，对大多数场景都很友好。": "冷間データを自動排除し、熱データを保ち、ほとんどのシナリオに優しい。",
      "，真正的密钥通过运行环境注入，避免配置文件变成密码仓库。": "、実際の鍵は実行環境から注入し、設定ファイルがパスワード置き場にならないようにする。",
      "：签名算法（HS256, RS256, ES256 等）": ": 署名アルゴリズム(HS256、RS256、ES256等)",
      "📅 2026.06 · Canvas 实验 · 个人项目": "📅 2026年6月 · Canvas実験 · 個人プロジェクト",
      "📅 2026.06 — 至今 · 学习产品 · 持续开发": "📅 2026.06 — 現在 · 学習プロダクト · 開発継続中",
      "Write-Through（写穿）——缓存和数据库同步更新": "Write-Through（ライトスルー）——キャッシュとデータベースを同期更新",
      "lesson：内容单元，包含类型（词汇/语法）、难度、标签": "レッスン:タイプ(名詞/文法)、難易度、ラベルを含むコンテンツモジュール",
      "| 策略 | 说明 | |------|------| |": "| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |",
      "、把用户输入拼进命令。变量必须双引号包裹；需要按行处理时用": "、ユーザー入力をコマンドに連結することです。変数は必ずダブルクォートで囲み、行単位で処理する場合は",
      "为核心计分、关卡和游戏结构编写测试，持续调节难度与交互节奏": "コアスコアリング、レベル、ゲーム構造のテストを作成し、難易度とインタラクションのテンポを継続的に調整。",
      "主题，后端服务订阅后写入数据库并做异常检测。控制指令则通过": "トピックをバックエンドが購読してDBへ保存し、異常検知を行う。制御コマンドは",
      "函数参数按值传递，改指针参数本身需要传\"指向指针的指针\"：": "関数パラメータは値で渡され、ポインタパラメータ自体を変更するには「ポインタへのポイント」が必要です。",
      "审批通过后，在「凭证与基础信息」页面你会看到两个关键参数：": "承認後、証明書と基本情報ページの2つの重要なパラメーターが表示されます。",
      "操作符（d/y/c/g）+ 动作（w/b/aw/iw/$）": "オペレータ(d/y/c/g)+action (w/b/aw/$)",
      "极低带宽消耗、极小代码 footprint、支持不可靠网络": "非常に低い帯域幅の消費、非常に小さいコードの足跡、信頼できるネットワークのためのサポート",
      "输入数值并选择进制，实时查看 2/8/10/16 进制结果": "数値を入力して基数を選択すると、2/8/10/16進数の結果をリアルタイムで確認できます。",
      "飞书卡片支持按钮交互。比如部署确认卡片，点击按钮执行操作：": "Feishuカードはボタン操作に対応しています。例えばデプロイ確認カードでは、ボタンを押すと操作を実行します:",
      "（A 不含，B 含）。冲突处理与 merge 相同，解决后": "（Aは含まず、Bは含む）。コンフリクト処理はmergeと同じで、解決後に",
      "：https://regex101.com（支持分解解释）": "https://regex101.com",
      "+ 只加载实际用到的字符集，中文站点尤其要控制字体文件体积。": "+ 実際に使用される文字だけをロードし、特に中国語サイトはフォントファイルボリュームを制御します。",
      "Compose 文件分层：base / dev / prod": "Composeファイルのレイヤー分け：base / dev / prod",
      "attempt：一次作答，记录 item、结果、耗时、时间戳": "Attempt：1回の解答について、item・結果・所要時間・タイムスタンプを記録",
      "pandas 处理百万行时，循环逐行改值会慢到无法忍受。能用": "pandasで数百万行を処理するとき、ループで1行ずつ値を変えると耐えられないほど遅い。使えるなら",
      "review：复习计划，记录上次复习时间、间隔、下次到期时间": "レビュー:レビュープラン、最終レビューの時間を記録、間隔、次の期限",
      "中清理工作目录。这样一个坏文件不会把下一次转换的状态污染掉。": "作業ディレクトリをクリーンアップします。こうして、壊れたファイルが次の変換の状態を汚染することはありません。",
      "优化器依赖统计信息决定执行计划，大量增删改后统计会过期。定期": "オプティマイザは、統計情報決定のための実装計画に依存し、統計は重要な追加または削除で期限が切れます。 定期刊行物",
      "使用对称加密算法（如 AES-256-GCM）进行数据传输。": "対称暗号化アルゴリズムを用いたデータ転送(AES-256-GCMなど)",
      "到期前 30 天自动续签 + Nginx 热重载，全程无停机": "有効期限30日前に自動更新 + Nginxホットリロードで、全工程無停止。",
      "动画期间先降级模糊半径，动画结束再恢复，减少每一帧的重绘成本": "アニメーション中の曖昧な半径の減少、アニメーションと回復の終了、各フレームの引き換えのコストを削減",
      "同时配合 DNS Prefetch，提前解析 CDN 域名：": "DNS Prefetchも併用し、CDNのドメイン名を事前に名前解決する：",
      "宏比脚本快的场景：格式转换、批量加前缀、重排字段。宏失控时按": "マクロはスクリプトシーンよりも高速です:変換、バッチプレフィックス、リセットフィールドをフォーマットします。 マクロが制御不能の場合のプレス",
      "每次进入都明确\"今天该做什么\"：待复习卡片、新内容、错题重做": "入るたびに「今日やること」が明確：復習カード、新規コンテンツ、間違えた問題のやり直し",
      "液态玻璃 UI 设计体系：从 Apple 官网到个人全站实现": "液体ガラスUIの設計システム:Appleネットワークからフルサイトへ",
      "用于存储和分发镜像，Docker Hub 是最大的公共仓库。": "イメージの保存・配布に使われ、Docker Hubは最大のパブリックレジストリです。",
      "跳回，适合\"先看函数 A，再改函数 B，再回 A\"的编辑流。": "関数 A の編集ストリームに戻り、B を関数してから A に戻します。",
      "，让终端变得更顺手。这些习惯积累下来，运维效率能提升好几倍。": "。ターミナル操作が楽になり、習慣を積み重ねることで運用効率が大きく向上します。",
      "：封装成 systemd 服务，自动重启、日志轮转、开机自启": "：systemdサービスとしてカプセル化し、自動再起動、ログローテーション、起動時自動実行。",
      "：把一串\"fix typo\"\"wip\"压缩成语义完整的提交，": ": \"fix typo\" wip\" の文字列を完全合成の送信に圧縮します。",
      "API 会演进，破坏性变更要换版本。常见做法：URL 路径版本": "APIは進化し、破壊的な変化が変化します。 共通練習: URLパスバージョン",
      "Cache-Aside 和 Write-Through 的选择": "Cache-AsideとWrite-Throughの選択",
      "SSL 证书管理系统 · 安全接口治理台 · 一键恢复系统 →": "SSL証明書管理システム · APIセキュリティ統制コンソール · ワンクリック復元システム →",
      "从索引原理到慢查询分析，系统掌握 SQL 性能优化的核心技巧。": "インデックスの原則からクエリ分析を遅らせるまで、システムはSQLのパフォーマンス最適化のコアスキルをマスターします。",
      "先做最小原型，再用日志、测试与真实数据验证，让每次迭代有依据。": "最小のプロトタイプを作り、ログ・テスト・実データで検証し、毎回のイテレーションに根拠を持たせる。",
      "可以预取即将用到的模块，但不要过度预取——预取本身也消耗带宽。": "近く使うモジュールをプリフェッチしてもよいですが、やりすぎは禁物——プリフェッチ自体も帯域幅を消費します。",
      "可用性不是视觉效果的反义词，反而是玻璃设计能否长期使用的关键。": "視覚効果の反対ではなく、ガラス設計の長期使用への鍵です。",
      "同时改属主与属组。多账号协作场景，把共享目录的属组设为公共组并": "会員です。 複数のアカウントコラボレーションシナリオ、共有ディレクトリのグループをパブリックグループとして設定し、",
      "复用已编译对象而不是每次编译，循环解析大量日志时性能差异明显。": "各コンパイルの代わりにコンパイルされたオブジェクトを再使用し、大量のログタイム差の再透析が明らかです。",
      "异步编程允许在等待 I/O 时切换执行其他任务，大幅提升效率。": "非同期プログラミングではI/O待ちの間に別のタスクへ切り替えられるため、スループットが大きく向上する。",
      "或动态加载，避免阻塞渲染；CSS 保持在 head 且尽量小。": "または動的に読み込んでレンダリングをブロックしない。CSSはhead内に置き、できるだけ小さく保つ。",
      "支持 DOC/DOCX/PDF/PNG/JPG/WebP 互转": "DOC/DOCX/PDF/PNG/JPG/WebPの相互変換に対応",
      "服务健康检查：心跳检测失败自动重启容器，重启记录与耗时写入日志": "サービスヘルスチェック：ハートビート検知に失敗したらコンテナを自動再起動し、再起動の記録と所要時間をログに残す",
      "管理多容器应用。用 YAML 文件定义服务、网络和数据卷，一个": "マルチコンテーナーアプリケーションを管理する YAMLファイルでサービス、ネットワーク、データ量を定義する",
      "）是分析数据的神器，几行代码就能算出每个设备每小时的温度均值。": "）はデータ分析に強力なツールで、数行のコードでデバイスごとの時間別平均温度を計算できる。",
      "，因为它会在 PATH 中查找 bash，具有更好的可移植性。": "PATHでバッシュを検索するので、ポータビリティが向上します。",
      "Docker 容器化 · Nginx 统一反代 · 单端口多服务": "Dockerコンテナ化 · Nginx統一リバースプロキシ · シングルポート複数サービス",
      "Nginx 的 location 匹配顺序经常让人踩坑：精确匹配": "Nginxのlocationマッチング順序はよく人をハマらせます：完全一致は",
      "——最基础的类型。缓存 JSON 数据、计数器、分布式锁都用它。": "- 最も基本的なタイプ。 JSONデータのキャッシュ、カウンター、分散ロック。",
      "写入时同时更新缓存和数据库，保证数据一致性。适合读多写少的场景。": "キャッシュとデータベースの両方が更新され、データの一貫性が確保されます。 読み書きが少なくなる。",
      "单机 WebSocket 服务用连接管理器：每个连接一个注册表，": "単一サーバーのWebSocketサービスは接続マネージャーを使います：各接続をレジストリに登録し、channel→接続の集合を管理。",
      "在 Webpack/Vite 里配置图片优化，每次构建自动处理：": "Webpack/Vite でイメージの最適化を構成し、各ビルドを自動処理します。",
      "将 HTTPS 降级为 HTTP。HSTS 策略可以防止此攻击：": "HTTPS を HTTP に減らします。 HSTS戦略は、この攻撃を防止します。",
      "把主页、项目、博客、工具箱和服务状态收拢到一个可持续维护的入口。": "ホームページ、プロジェクト、ブログ、ツールボックス、サービス稼働状況を、継続的に保守可能なひとつの入口にまとめる。",
      "拆分地图、碰撞、武器、敌人、升级和章节状态等模块，保持逻辑可测试": "地図、衝突、武器、敵、アップグレード、チャプター状態などをモジュールに分割し、ロジックをテスト可能に保つ。",
      "权限分为三组（所有者、组、其他），每组三个权限（读、写、执行）：": "権限は3つのグループ（所有者、グループ、その他）に分かれ、各グループに3つの権限（読み、書き、実行）があります：",
      "生产服务器上通常没有配置好的插件环境，必须能用纯 Vim 干活：": "本番サーバーには通常プラグイン環境がないため、Vimだけで作業できる必要があります：",
      "签名确保 JWT 未被篡改。只有拥有密钥的一方才能生成有效签名。": "署名により、JWTが改ざんされていないことを確実にします。 キーを持つパーティーのみが有効な署名を生成することができます。",
      "聚合场景下允许多写，展示层按设备 + 时间聚合，重复行不影响结果": "集計用途では複数書き込みを許容し、表示層でデバイスと時刻ごとに集計する。重複行があっても結果には影響しない。",
      "进度展示用\"掌握曲线\"而不是只堆累计数量，让用户看到遗忘被拉回来": "進捗は累計数の積み上げではなく「習得曲線」で表示し、忘れかけが挽回されるのを見えるようにする",
      "静态资源上了 CDN 之后，北京的用户和广州的用户都能就近访问：": "静的リソースが CDN に入った後、北京と広州のユーザがアクセスできるようにしました。",
      "默认任务存储在内存里，进程重启就丢了。用 SQLite 持久化：": "デフォルトではジョブがメモリ上に保存され、プロセス再起動で失われる。SQLiteで永続化する：",
      "）、内存、连接数；命中率低于 60% 说明缓存设计有问题。压测用": "）、メモリ、接続数。ヒット率が60%未満ならキャッシュ設計に問題があります。負荷テストには",
      "Certbot DNS 验证模式自动申请通配符证书，支持多域名管理": "Certbot DNS認証モード ワイルドカード証明書を自動的にリクエストし、マルチドメインの名前管理をサポート",
      "SPI：全双工、速度快、占用引脚多，适合屏幕、闪存等需要吞吐的场景": "SPI：全二重、高速、ピン消費が多い。画面やフラッシュなどスループットが必要なシーンに適しています。",
      "asyncio 是单线程事件循环：所有协程在同一个线程里调度，遇到": "asyncioは単一スレッドのイベントループで動く。すべてのコルーチンを同じスレッドでスケジュールし、",
      "、采样时间、固件版本和序列号，后端才能识别重复消息与设备时钟漂移。": "、サンプリング時刻、ファームウェアバージョン、シリアル番号を含めることで、バックエンドは重複メッセージとデバイスの時計ドリフトを識別できます。",
      "从基础元字符到高级断言，通过 30 个实用案例彻底掌握正则表达式。": "ベースメタチャーから高度なアサーションまで、正規表現は30個の実用的なケースでマスターされます。",
      "分批处理，或先按列读取再挑需要的字段，避免一次把整个文件载入内存。": "バッチ処理を行うか、列単位で読み込んで必要なフィールドだけを選び、ファイル全体を一度にメモリへ載せない。",
      "响应式布局：桌面端 4 列网格 → 平板 2 列 → 手机单列堆叠": "レスポンシブレイアウト：デスクトップ4列グリッド→タブレット2列→スマホ1列スタック。",
      "在低峰期执行）。大表归档历史数据，让常用查询的表保持\"热数据小\"。": "低いピークで。 頻繁に相談されるテーブルが「熱データ小」を保ち続けるように、大きなテーブルは歴史的データをアーカイブします。",
      "审查不是找茬，而是确认变更没有破坏既有边界。我给自己定的最小清单：": "レビューは試みではなく、変更が既存の境界線を破壊しなかったことの確認でした。 私は自分自身に最小リストを与えました:",
      "所有交互状态（悬停/聚焦/按下）不只用颜色表达，配合描边或位置变化": "すべてのインタラクティブな状態(サスペンション/フォーカス/プレス)は、側面や位置の変化とともに、より多くの色で表現されます",
      "数组名在表达式中\"退化\"为指向首元素的指针，但数组与指针并不等价：": "多くの式では配列名が先頭要素へのポインタに変換されるが、配列とポインタは同じものではない：",
      "每个 Shell 脚本的第一行必须是 Shebang，指定解释器：": "各シェルスクリプトの最初の行は Shebang で、通訳者を指定します。",
      "版本号让消费者可以兼容旧设备，单位随数据携带避免\"服务端猜单位\"，": "バージョン番号は、消費者が古い機器に合うようにし、ユニットは「サービス推測」を避けるためにデータを運びます。",
      "而不是手写正则，因为协议、端口、IPv6、Query 的边界太多。": "プロトコル、ポート、IPv6、クエリはあまりにも多くの境界を持っているので、手書きプロキシの代わりに。",
      "、真实 IP 和协议头，排查问题时才能把一次请求从入口追到具体容器。": ", 実際のIPおよびプロトコルヘッダ, 問題がチェックされたときのみ、特定のコンテナへの入り口から要求を追跡することができます.",
      "历史数据支持 CSV 导出，RESTful API 提供分页查询接口": "履歴データのCSVエクスポートに対応し、RESTful APIがページネーション対応の問い合わせインターフェースを提供。",
      "合并\"fix typo\"\"wip\"这类过程性提交，保留语义完整的提交": "\"fix typo\"「wip」のようなプロセス的なコミットはマージし、意味的に完結したコミットを残す",
      "带进构建上下文，镜像会变大、缓存会频繁失效，甚至把本地密钥打包进去。": "ビルドコンテキストに入れると、イメージが肥大化し、キャッシュが頻繁に無効化され、ローカルキーまでパッケージされる恐れがあります。",
      "没有缓存头的话，用户每次访问都要重新下载所有资源。Nginx 配置：": "キャッシュがなければ、各訪問の全てのリソースを再ダウンロードする必要があります。 Nginx の設定:",
      "设计上允许\"功能降级、内容完整\"，比强制所有设备享受同等效果更专业。": "「機能の劣化、コンテンツの完全化」を可能にするように設計されているのは、すべての機器に等しい効果を示唆するよりも専門的です。",
      "（setgid），新文件自动继承组，避免\"我创建的文件别人改不了\"。": "(setgid)、新しいファイルのための自動継承グループ、 \"私は誰も変更できない文書を作成しました。\"",
      "（用专用解析器），但处理日志、文本清洗、数据验证时，正则是不二之选。": "（専用パーサーを使う）。ただしログ処理、テキスト整形、データ検証では正規表現が適している。",
      "：博客文章源文件、项目源码、Dockerfile 与 Compose": "：ブログ記事のソースファイル、プロジェクトのソースコード、Dockerfile、Compose",
      "WebSocket 解决了这些痛点，提供全双工、低延迟的实时通信通道。": "WebSocketはこれらの課題を解決し、全二重・低遅延のリアルタイム通信チャネルを提供する。",
      "——飞书对消息频率有上限，同一机器人每秒最多 5 条。做批量推送时加个": "—Feishuは1ボットあたり毎秒5件までです。大量送信では",
      "分支做测试和 Bug 修复，确认无误后合并到 main 并打 Tag。": "ブランチでテストとバグ修正を行い、確認後にmainへマージしてタグを付ける。",
      "功能不是越多越好，砍掉与学习流无关的功能，比增加功能更难但也更有价值。": "機能は多ければよいわけではない。学習フローに関係しない機能を削る方が追加より難しいが、価値は高い。",
      "在函数内对参数求值得到的是指针大小，这是\"数组参数陷阱\"最常见的原因。": "関数内でパラメータを評価するとポインタサイズが得られます。これが「配列パラメータトラップ」の最も一般的な原因です。",
      "大表变更先拆成\"新增列 → 双写 → 校验 → 切换 → 删旧列\"多步": "まず、「新しいズームダブルズームレンズVerifyズームスイッチズーム削除古いゾーン」に分割します",
      "异常检测模块：阈值触发飞书机器人即时告警，含设备 ID、异常值、时间戳": "異常検出モジュール：閾値でFeishuボットが即時アラートを送信（デバイスID、異常値、タイムスタンプを含む）。",
      "抓取函数独立成模块，返回统一的数据结构，解析失败抛异常而不是返回半成品": "取得関数は独立モジュールにし、統一されたデータ構造を返す。パース失敗時は中途半端な成果物を返さず例外をスロー。",
      "浏览器起始页，集成导航、天气、资源监控和搜索，支持主题切换与多端适配。": "ナビゲーション・天気・リソース監視・検索を統合したブラウザのスタートページ。テーマ切り替えとマルチデバイス対応を備える。",
      "消息直接推送到所有人的手机，而且支持富文本卡片，看起来比纯文本专业得多": "メッセージを全員のスマホに直接プッシュでき、リッチテキストカードにも対応しているため、プレーンテキストよりずっとプロフェッショナルに見えます。",
      "用 Canvas / SVG 处理动画、战斗反馈、结果分享与移动端布局": "Canvas / SVGでアニメーション、戦闘フィードバック、結果共有、モバイルレイアウトを実装",
      "网络请求必须有超时，否则一个连接挂起会拖住整个程序。asyncio 的": "ネットワークリクエストにはタイムアウトを設定する。接続がハングするとプログラム全体が止まるためだ。asyncioの",
      "部署脚本里显式校验必填变量，缺失就直接失败，而不是让应用带着空配置启动": "デプロイスクリプトで必須変数を明示的に検証し、欠けていれば空の設定で起動せず即座に失敗させる。",
      "重建容器。每个阶段都应该有明确输出，不能在中间失败后继续启动半套服务。": "コンテナを再構築します。 各フェーズは、クリアな出力を持ち、中間故障後、サービスパッケージの半分を引き続き起動することはできません。",
      "，避免符号链接攻击；密钥类参数通过环境变量传入而不是命令行参数，防止被": "、シンボリックリンク攻撃を避けます。キータイプのパラメータは、環境変数を介してコマンドラインパラメータの代わりに渡されます。",
      "CSS 和 JS 可以单独 location 设置强缓存；HTML 设置": "CSS と JS は分離で強力なキャッシュを設定できます。 HTML の設定",
      "Git 高级技巧：rebase、cherry-pick 与 bisect": "Gitの高度なスキル:リベース、チェリーピック、ビスケット",
      "MySQL 每日全量备份 + 7 天滚动保留，备份完成后飞书推送确认消息": "MySQLの毎日フルバックアップ＋7日間のローリング保持。完了後、Feishuに確認メッセージを送信。",
      "Python 数据处理入门：pandas + matplotlib 实战": "Pythonデータ処理入門：pandas + matplotlib実践",
      "。缺点也很明显：单进程阻塞，任务多了不好管理，异常不处理就整个进程挂掉。": "。欠点も明確で、単一プロセスのブロック、タスク増加による管理の難しさ、未処理例外によるプロセス全体の停止が起きる。",
      "传递原始请求的 Host 和客户端 IP，否则后端服务获取不到真实来源。": "元のHostとクライアントIPを転送し、バックエンドが本来の送信元を取得できるようにする。",
      "应用代码可以秒级回滚，数据库结构一旦变更，回滚成本要高得多。我的原则是：": "アプリケーションコードは秒単位でロールバックできるが、DBスキーマの変更は戻すコストが高い。私の原則は次のとおりだ：",
      "意味着任何原因退出都会自动重启。但有时不想这样——比如正常关机时不重启：": "つまり、どんな理由で終了しても自動的に再起動されるということです。でも再起動したくない場合もあります——例えば正常シャットダウン時には再起動しないように：",
      "按缓冲区跳转。改配置和源码并排看、对比两个版本文件，分屏是最高效的方式。": "バッファ間を移動する。設定とソースを並べて見たり、2つのファイルを比較したりするには分割表示が最も効率的だ。",
      "模糊层只加在需要\"透过玻璃\"的内容上，静态页面可以把模糊结果做成图片贴图": "fuzzy レイヤーは「ガラスを通す」というニーズにのみ追加されます。 静的なページは、fuzzy の結果の画像を作ることができます。",
      "让普通用户进程绑定 80 端口，不需要完整 root。检查系统 cap：": "完全なroot権限なしで一般ユーザーのプロセスに80番ポートをバインドさせる。システムのcapabilityを確認する：",
      "设备时钟漂移普遍存在，直接用设备时间戳做聚合会产生缺口和乱序。我的约定：": "デバイスの時計ドリフトはよくある問題で、デバイスのタイムスタンプをそのまま集計に使うと欠落や順序の乱れが生じます。私の取り決め：",
      "遥测数据和控制指令分开，后续做权限控制、重放和审计都会更清晰。消息中带上": "テレメトリデータと制御指令を分離すれば、その後の権限制御、リプレイ、監査がより明確になります。メッセージには",
      "）实现\"长缓存 + 即时更新\"。文本类资源开启 gzip，减少传输体积：": ")「長期キャッシュ+即時更新」を実現。テキスト系リソースはgzipを有効化し、転送量を削減：",
      "）而不是绝对位置，回放才不会跑偏；宏结束停留在下一行开头，方便连续回放。": ") 絶対的な場所ではなく、再生は見逃しません。次の行の先頭にマクロが終了し、連続して再生することができます。",
      "GitHub 的 Markdown 支持任务列表、表格、删除线、数学公式（": "GitHubのMarkdownはタスクリスト、テーブル、取り消し線、数式（",
      "Java Spring Boot 入门：构建第一个 RESTful API": "Java Spring Boot入門：最初のRESTful APIを構築する",
      "Spring Data JPA 会根据方法名自动生成查询，无需写 SQL。": "Spring Data JPAはメソッド名からクエリを自動生成するため、SQLを書く必要がない。",
      "容器默认没有资源上限，一个失控的进程会拖垮整台机器。生产配置里给每个服务设": "コンテナにはデフォルトでリソース上限がないため、暴走したプロセスがマシン全体を落とす可能性があります。本番設定では各サービスに",
      "对于复杂的场景（接收事件、上传文件、获取用户信息等），建议用官方 SDK：": "複雑なシナリオ(イベントの受信、ファイルアップロード、ユーザー情報へのアクセスなど)については、公式SDKを使用することをお勧めします。",
      "用不上。把区分度高的列放前面，等值条件在前、范围条件在后，是两条基本经验。": "できません。 高セグメントの列はそれらの前に配置され、同等条件は最初、最後、そして2つの基本的なレッスンです。",
      "让故障自动拉起，但无限重启会掩盖问题——配合告警在重启 N 次后通知人工。": "自動再起動で障害から復旧できるが、無限再起動は原因を隠す。N回再起動したらアラートを出して人に知らせる。",
      "证书到期前 7 天 / 3 天 / 1 天分级飞书提醒，到期未续签紧急告警": "証明書の期限切れ7日/3日/1日前にFeishuへ段階通知し、期限切れ未更新の場合は緊急アラート。",
      "避免在滚动容器内放过多带 backdrop-filter 的卡片，必要时用": "必要に応じて、複数のバックドロップフィルタカードの使用を避ける",
      "默认不含非幂等请求，POST 等写操作不会自动重试，避免重复下单这类问题。": "デフォルトでは、非シンセティクス等のリクエストは含まれず、POSTライティング操作は自動的に再試行せず、次のリストのような問題を回避します。",
      "（二维表格）。日常工作中 90% 的操作都在 DataFrame 上完成。": "2次元テーブル 毎日の作業の90%はDataFrameで行われます。",
      "）——编译时开 ASan 能立刻抓到越界和 use-after-free：": ")-Asanはすぐにボーダーを横断し、の後で自由につかむことができます:",
      "| 规则 | 示例 | |------|------| | 使用复数名词 |": "| ルール | 例 | |---|---| | 複数形の名詞を使う |",
      "使用 Spring Initializr 创建项目，或直接使用 Maven：": "Spring Initializrでプロジェクトを作成するか、Mavenを直接使用：",
      "全面掌握 Linux 用户、组和文件权限管理，从基础命令到安全加固最佳实践。": "Linuxのユーザー・グループ・ファイル権限管理を基礎コマンドからセキュリティ強化のベストプラクティスまで総合的に習得。",
      "函数指针把\"行为\"当作数据传递：注册回调、实现策略切换、驱动事件分发。语法上": "関数ポインタは「振る舞い」をデータとして渡します：コールバック登録、ストラテジー切替の実装、イベントディスパッチの駆動。構文上、",
      "分层架构：Controller → Service → Repository": "レイヤードアーキテクチャ：Controller → Service → Repository",
      "列出所有监听端口。排查\"服务起不来\"问题时，这三个命令的组合通常能快速定位。": "すべてのリスニングポートをリストします。 「サービス障害」を検索するときに、これらの3つのコマンドの組み合わせは通常高速追跡されます。",
      "同时发 1000 个请求会让下游雪崩，用 Semaphore 限制并发窗口：": "1,000件のリクエストを同時に送ると下流サービスが雪崩を起こすため、Semaphoreで同時実行数を制限する：",
      "当你不知道哪个提交引入了 bug 时，bisect 能通过二分查找快速定位。": "どのコミットがバグを混入させたか分からない場合、bisectは二分探索で素早く特定できます。",
      "攻击者在客户端和服务器之间拦截通信。HTTPS 通过证书验证防止 MITM。": "攻撃者は、クライアントとサーバー間の通信を遮断しました。 miTM を防止するために HTTPS が認証されます。",
      "是应用的只读模板，分层构建，每一层对应 Dockerfile 中的一条指令。": "レイヤーで構築された、適用された読み取り専用テンプレートは、それぞれDockerfileのコマンドに対応しています。",
      "查看状态。生产环境开启强制模式前先在宽松模式收集日志，避免直接把人锁在外面。": "ステータスを確認する。本番環境で強制モードを有効にする前に、まずPermissiveモードでログを収集し、利用者を締め出さないようにする。",
      "消费者记录已处理的消息 id（Redis SETNX + 过期），窗口内去重": "消費者レコード処理されたメッセージ ID (Redis SETNX + 期限切れ), ウィンドウの重い",
      "用读者、图书、库存、借阅和预约几类核心实体，设计一个可扩展的图书馆管理系统。": "読者、書籍、在庫、貸出、予約を主要エンティティとして、拡張可能な図書館管理システムを設計します。",
      "：大量 key 同一时间过期。解法：过期时间加随机偏移，多级缓存，限流降级。": "：大量のkeyが同時に期限切れになる。対策は期限にランダムなずれを加え、階層キャッシュとレート制限・縮退を使うことだ。",
      "Cookie 每次启动先做一次探活请求，失效时提前通知，而不是等到推送时才发现": "起動のたびにCookieでプローブリクエストを1回送り、失効時は事前に通知。配信時に発覚するのを防ぎます。",
      "——大量缓存同时过期，请求全部打到数据库。解决方案：给过期时间加一个随机偏移。": "——大量のキャッシュが同時に期限切れになり、全リクエストがDBへ集中する。期限にランダムなずれを加える。",
      "主题切换、鼠标跟随光晕等增强效果放到 JS 能力检测之后，老环境只显示静态样式": "JS の機能テストへのテーマ スイッチ、マウスの下の等は、静的な様式だけ古い環境で示されます",
      "在 CSV 表格数据与 JSON 之间双向转换，支持带引号和逗号的复杂 CSV": "CSV表データとJSONの双方向変換。引用符やカンマを含む複雑なCSVにも対応。",
      "审计：记录连接、订阅、发布事件，异常行为（频繁重连、越权 Topic）进入告警": "監査: 接続の記録、サブスクリプション、イベントの公開、異常な行動(頻繁な接続、権限のオーバーステップ)をアラームに",
      "掌握 Shell 脚本核心技巧，让日常运维工作自动化，效率提升 10 倍以上。": "Shellスクリプトの核心テクニックを習得し、日常の運用を自動化して効率を10倍以上に高めます。",
      "背景色与文字色对比度在任何模式下都满足 WCAG AA，不能依赖模糊去弥补对比": "背景とテキストカラーのコントラストは、任意のモードでWCAG AAを満たし、コントラストを補正するfuzzyに依存しない",
      "飞书机器人是自动化通知的终点站，花一个下午搞定它，后续所有自动化项目都能受益。": "Feishuボットは自動通知の受け口です。一度整備すれば、その後の自動化プロジェクトすべてで活用できます。",
      "），但不盲目嵌套三层以上，独立资源就放顶层。动作类需求尽量映射为资源状态变化（": "しかし、3つ以上のレベルに埋め込まれることなく、独立したリソースがトップに配置されます。 アクション型の要件は、リソースの状態を変更できる限りマップされます(",
      "，某台后端短暂 5xx 或超时时，Nginx 会自动重试到下一台，对用户无感。": "、あるバックエンドが一時的に5xxを返すかタイムアウトした場合、Nginxが次のバックエンドへ自動的に再試行するため、ユーザーには影響しない。",
      "：使用 Mozilla SSL Configuration Generator": "：Mozilla SSL Configuration Generatorを使用",
      "Docker 容器的文件系统是临时的，容器删除数据就没了。持久化数据必须挂载卷：": "Dockerコンテナのファイルシステムは一時的で、コンテナを削除するとデータも消える。永続データはボリュームへマウントする：",
      "仪表盘运行在容器里，但需要观察宿主机。做法是在 Compose 中以只读方式挂载": "ダッシュボードはコンテナ内で動作しますが、観察対象はホストです。Composeで読み取り専用としてマウントするのは",
      "工具箱覆盖 JSON、编码、时间、正则、二维码、Markdown、图片和文本处理": "ツールボックスはJSON、エンコード、時刻、正規表現、QRコード、Markdown、画像、テキスト処理に対応しています",
      "开发环境和生产环境的配置需求完全不同。我用多个 Compose 文件叠加来解决：": "開発環境と本番環境では設定要件が異なるため、複数のComposeファイルを重ねて管理します：",
      "或显式位域前，先确认目标平台的 ABI，否则直接解包协议结构体可能读到错位数据。": "、または可視領域の前に、ターゲットプラットフォームのABIを確認します。それ以外の場合は、直接パッケージされたプロトコル構造は、誤ったデータを読むことがあります。",
      "所有服务配置 Git 版本管理，Dockerfile 源码化，支持一键重建与回滚": "すべてのサービス設定をGitでバージョン管理し、Dockerfileをソースコード化。ワンクリック再構築とロールバックに対応。",
      "梳理物联网工程专业的知识体系，从硬件到云端，构建一条从入门到实践的完整学习路线。": "ハードウェアからクラウドまで、商品ネットワークを組み込むためのエンジニアリングの職業のための知識システム、エントリーポイントから練習までの完全な学習ルートを構築します。",
      "每次备份生成后立刻做三项校验：文件完整性（SHA-256 清单）、数据库可读性（": "各バックアップ生成直後の3つの検証:ファイルの完全性(SHA-256リスト)、データベースの可読性()",
      "深入理解 C 语言指针的本质，从内存模型、指针运算到复杂声明，彻底攻克指针难关。": "C言語ポインタの本質を理解し、メモリモデル、ポインタ演算、複雑な宣言まで、実践を通して難所を克服する。",
      "生产覆盖项：容器数量与资源限制、健康检查、日志轮转、镜像 tag、环境变量来源。": "本番オーバーライド項目：コンテナ数とリソース制限、ヘルスチェック、ログローテーション、イメージタグ、環境変数の出所。",
      "系统掌握 Vim 编辑器的核心操作，从基础模式到高级技巧，大幅提升文本编辑效率。": "Vimの基本モードから高度なテクニックまで中核操作を体系的に学び、テキスト編集の効率を大きく高める。",
      "：比 Cron 多依赖管理、随机延迟、日志隔离，适合系统级任务（备份、日志轮转）": "：Cronより依存関係管理、ランダム遅延、ログ分離を備え、システムレベルタスク（バックアップ、ログローテーション）に適している。",
      "Redis 虽然简单，但用好了能解决 80% 的性能问题。这玩意儿值得花时间学透。": "シンプルですが、パフォーマンスの問題の80%を解決できます。 学ぶ時間の価値があります。",
      "从选购 ECS 实例到系统初始化、安全加固，手把手教你搭建生产就绪的阿里云服务器。": "ECSインスタンスの選定からシステム初期設定・セキュリティ強化まで、Aliyunで本番利用できるサーバーを構築する手順を解説する。",
      "博客以 Markdown 为源文件，后端动态生成文章列表、全文搜索、标签和相关文章": "ブログはMarkdownを原稿とし、記事一覧、全文検索、タグ、関連記事を動的に生成します",
      "对软件、硬件、数据、云服务或交互创作有想法，欢迎来聊一个具体问题或一起做个小实验。": "ソフトウェア、ハードウェア、データ、クラウドサービス、またはインタラクティブな制作に関するアイデアがあり、特定の問題について話したり、小規模な実験を一緒にやりたい。",
      "并发任务需要收集结果并统计失败数，脚本结尾输出\"成功 N、失败 M\"并返回非零码；": "並行タスクでは結果を集めて失敗数を集計し、最後に「成功N、失敗M」と出力する。失敗時は非ゼロの終了コードを返す。",
      "深入理解 JWT 的结构、签名原理和最佳实践，安全地在微服务架构中实现无状态认证。": "JWTの構造、署名の原理、ベストプラクティスを理解し、マイクロサービスで安全なステートレス認証を実装する。",
      "用 epoch 秒避免时区歧义。字段缺失时消费者按契约校验并记录，而不是静默猜测。": "一時的な包囲を避けるためにepoch秒を使用して下さい。 フィールドが見つからない場合、消費者は契約的に検証され、記録され、黙って指定されていない。",
      "这个小工具已经在服务器上稳定运行了一个多月，每天早上准时收到消息的感觉，真的很爽。": "毎月サーバーで着実に稼働しているツールがほとんどなく、毎晩メッセージが取れるのは本当に良かったです。",
      "遇到服务异常时，先确认自己在哪台机器、当前用户和目录，再看进程、端口、磁盘和日志。": "サービス異常の場合には、機械、現在のユーザーおよびディレクトリを識別し、そしてプロセス、港、ディスクおよびログを見て下さい。",
      "非常重要——MySQL 第一次启动要做数据初始化，30 秒内健康检查必然失败。不加": "非常に重要です——MySQLは初回起動時にデータ初期化を行うため、30秒以内のヘルスチェックは必ず失敗します。",
      "I2C：线少（SDA/SCL）、可挂多设备、速度较慢，适合温湿度、气压等低速率传感器": "I2C:低線(SDA/SCL)、多装備、低速、温度湿度、空気圧などの低速センサーに適しています。",
      "Vite 和 Webpack 原生支持动态 import 的自动分割。配置分包策略：": "動的インポートをサポートするViteとWebpackオリジナルの自動分離。 委託ポリシーの設定:",
      "——存储对象属性。比 String 存 JSON 更节省内存，可以单独读写某个字段。": "——オブジェクトの属性を格納します。StringでJSONを保存するよりメモリを節約でき、フィールドを単独で読み書きできます。",
      "从基础语法到高级技巧，掌握 Markdown 写作的精髓，写出清晰、美观的技术文档。": "基本文法から上級スキルまで、Markdownライティングの本質を習得し、クリアで美しい技術文書を書く。",
      "在优化场景下尤其要避免：只取需要的列，能命中覆盖索引就减少回表。limit 深翻页（": "最適化では不要な列を取得せず、カバリングインデックスを使える場合はテーブルへの戻りを減らす。LIMITによる深いページングでは（",
      "安全不是\"设置了权限就完事\"，还要能发现异常。auditd 记录文件访问与命令执行，": "セキュリティは「権限を設定すれば終わり」ではなく、異常を検知できて初めて成立する。auditdでファイルアクセスとコマンド実行を記録し、",
      "设备离线时把数据缓存在本地，重连后补传。补传和实时数据混在一起会打乱顺序，所以消息带": "デバイスがオフラインの間はデータをローカルにキャッシュし、再接続後に追送します。追送データとリアルタイムデータが混ざると順序が乱れるため、メッセージには",
      "里加权重可以做成灰度：先放 10% 流量给新版本，观察错误率和响应时间，再逐步放量。": "に重み付けをすればカナリアリリースにできます：まず新バージョンへ10%のトラフィックを流し、エラー率と応答時間を確認してから徐々に増やします。",
      "，因为 merge commit 保留了真实的并行历史，回滚时也能整体还原一次协作。": "、マージコミットが真の並列履歴を保持しているため、ロールバック時も協業全体をまとめて復元できます。",
      "Cherry-pick 可以将一个或多个特定提交应用到当前分支，而不需要合并整个分支。": "Cherry-pickは、ブランチ全体をマージせずに、特定の1つ以上のコミットを現在のブランチに適用できます。",
      "WebSocket 帧有二进制和文本两种，业务消息我用 JSON 文本并带类型与序号：": "WebSocketフレームはバイナリとテキストです。 JSON テキストには、種類とシリアル番号が記載されています。",
      "{\"name\":\"佟伟成\",\"skills\":[\"Python\",\"Docker\"]}": "\"name\": \"Python\", \"Docker\" )",
      "——查询不存在的数据，缓存和数据库都没有，每次请求都穿透到数据库。解决方案：缓存空值。": "——存在しないデータを検索するとキャッシュにもDBにもなく、毎回DBへ到達する。空値を短時間キャッシュして防ぐ。",
      "传统的 Spring 应用需要大量 XML 配置，而 Spring Boot 提供了：": "従来のSpringアプリケーションは大量のXML設定が必要でしたが、Spring Bootは以下を提供します：",
      "使用 ECDHE（椭圆曲线 Diffie-Hellman 临时密钥交换）生成共享密钥。": "ECDHE(楕円曲線Diffie-Hellman一時的な鍵交換)を使用して共有キーを生成します。",
      "卡片搭建器生成的 JSON 先在小范围测试再进模板，字段缺失或类型错误会直接发送失败。": "カードビルダーによって生成されるJSONは、テンプレートに入る前に小スケールでテストされます。 フィールドに誤りやタイプミスが直接送信できません。",
      "参数决定窗口标签取左还是右；跨月、跨年数据要先确认日历对齐是否符合业务语义。缺失时段用": "パラメータは、ウィンドウラベルが残っているかどうかを判断します。 毎月、複数の年のデータが最初に、カレンダーアライメントがビジネスの構文に対応するかどうかを確認します。 ミス期間",
      "应用先查缓存，命中直接返回；未命中则查数据库，把结果写入缓存再返回。这是最经典的用法。": "アプリはまずキャッシュを確認し、ヒット時は直接返却。ミス時はデータベースを照会し、結果をキャッシュに書き込んでから返します。最も古典的な使い方です。",
      "效果：2.4MB 的 PNG 背景图变成 180KB 的 WebP，体积减少 92%。": "効果:2.4MB PNG背景マップが180KB WebPになり、92%の容量削減になります。",
      "，最后才是普通前缀匹配。规则不是\"按写的位置执行\"，而是\"按优先级选出最终命中的块\"。": "最後に通常のプレフィックス一致を適用する。ルールは記述順ではなく、優先度で最終的な一致ブロックを選ぶ。",
      "，逐个确认来源。上传/可写目录一律禁止 SUID，Web 服务进程使用低权限用户运行。": "ソースをソースで確認します。 すべてのアップロード/書き込み可能なディレクトリは、SID、Webサービスプロセスを低権限ユーザーで実行することを禁止します。",
      "Certificate Transparency（CT）记录所有公开证书，防止恶意签发：": "証明書の透明性(CT)は、悪意のある発行を防ぐために、すべての公的証明書を記録します。",
      "Shell + Crontab 实现数据库定时备份、日志轮转、服务健康检查与飞书告警推送": "Shell + Crontabでデータベースの定期バックアップ、ログローテーション、サービスヘルスチェック、Feishuアラート配信を実現",
      "。MySQL 容器启动后还要几秒才能接受连接，这期间 Backend 连不上就报错退出。": "MySQLコンテナは起動後、接続を受け付けるまで数秒かかります。その間にBackendが接続できないとエラーで終了します。",
      "从网页坦克对战和互动问答项目出发，复盘地图、状态、碰撞、计分、章节和移动端交互如何拆分。": "ブラウザの戦車対戦とインタラクティブQ&Aを題材に、マップ、状態、衝突、スコア、チャプター、モバイル操作の分割方法を振り返る。",
      "资源阈值告警：磁盘使用率 > 85%、内存 > 90% 触发飞书告警，含当前值与进程快照": "リソースしきい値アラート：ディスク使用率 > 85% またはメモリ > 90%でFeishuにアラートを送り、現在値とプロセススナップショットを含めます",
      "配合 Service Worker、响应式 CSS、主题切换和 RSS，让内容可持续更新": "Service Worker、レスポンシブCSS、テーマ切り替え、RSSを組み合わせ、コンテンツを継続的に更新可能に。",
      "AES-256-GCM 加密，带密码派生 (PBKDF2 10万次迭代)，数据不离开浏览器": "AES-256-GCM暗号化、パスワード由来の鍵導出（PBKDF2・10万回反復）。データはブラウザ外に出ません。",
      "Shell 脚本默认不会因为某条命令失败而退出，问题会被悄悄带过去。我所有脚本开头统一加：": "Shellスクリプトは、コマンドが失敗してもデフォルトでは終了せず、問題を見逃しやすい。そこで全スクリプトの冒頭に次を入れる：",
      "Topic 表达\"谁在说什么\"，Payload 表达\"具体内容\"。我给消息体定了统一规则：": "トピックは「誰が話しているのか」とペイロードは「特異」と言います。 私はメッセージの均一なルールを作りました。",
      "从零整理 Python 数据处理工具链，通过实际案例掌握数据清洗、分析和可视化的基本方法。": "Pythonのデータ処理ツールチェーンはゼロから構成され、実際のケースでデータの洗浄、解析、視覚化の基本的な方法をキャプチャします。",
      "字体优化后，First Contentful Paint 从 2.8 秒降到 1.6 秒。": "フォントを最適化した結果、First Contentful Paintは2.8秒から1.6秒に短縮された。",
      "授权（ACL）：按设备限制可订阅和可发布的 Topic，设备 A 不能订阅设备 B 的数据": "認可(ACL):デバイス、デバイスによるサブスクリプションおよびリリース可能なトピックの制限 デバイスBデータを購読できません",
      "握手完成后，连接从 HTTP 升级到 WebSocket 协议，此后使用二进制帧进行通信。": "ハンドシェイク後、接続はHTTPからWebSocketへアップグレードされ、バイナリフレームで通信する。",
      "用 Canvas、SVG 和原生 JavaScript 实验战斗、叙事、计分与移动端交互。": "Canvas、SVG、ネイティブJavaScriptで、戦闘、ストーリー、スコア、モバイル向けインタラクションを実験。",
      "自动化是一步一步做起来的。先让脚本跑起来，再让它按时跑，最后让它稳稳地跑。每一步都是进步。": "自動化はステップバイステップで行います。 スクリプトが実行し、実行し、最後にスムーズに実行できるようにします。 すべてのステップは進行中です。",
      "ECharts 动态折线图 + 仪表盘组件，支持 24h / 7d / 30d 时间范围切换": "EChartsの折れ線グラフとダッシュボードで、24時間・7日・30日の範囲を切り替えられます",
      "玻璃效果最容易牺牲可读性。半透明背景叠加任意页面内容时，文字对比度会动态变化。我的检查清单：": "ガラスの効果は可読性に最も脆弱です。 テキストのコントラストは、半透明の背景が任意のページコンテンツに積み重ねられたときに動的に変化します。 私のチェックリスト:",
      "表示去掉组的写权限与其他所有权限（文件 644、目录 755）。服务器上把 umask 设为": "これは、グループ書き込み権限やその他のすべての特権(ドキュメント644、コンテンツ755のテーブル)の除去を意味します。 サーバに umask を設定",
      "计算文本的 SHA-1 / SHA-256 / SHA-512 哈希值，全部在浏览器本地完成": "SHA-1 / SHA-256 / SHA-512のハッシュ値をテキストから計算。すべてブラウザ内で完結。",
      "转换工具通常不是纯函数，它会读取字体、创建锁文件并写入临时目录。服务端要为每次任务设置独立的": "変換ツールは通常、純粋関数ではありません。フォントを読み、ロックファイルを作成し、一時ディレクトリに書き込みます。サーバー側はタスクごとに独立した",
      "这几类命令覆盖了大多数第一轮排查。每一步先读状态，再决定是否重启或修改配置，避免把症状扩大。": "これらのタイプの注文は、スクリーニングの最初のラウンドのほとんどをカバーします。 症状の拡大を避けるために、設定を再起動または変更するかどうかを決定する前に、各ステップで状態を読みます。",
      "都会卡住整个事件循环，表现是\"其他请求全部超时\"。排查方法：看哪个协程长时间不让出控制权，用": "これらはイベントループ全体を停止させ、「他のリクエストがすべてタイムアウトする」状態を招く。切り分けでは、制御を長時間手放さないコルーチンを見つけ、",
      "默认 1M 不够用。每个坑都花了不少时间排查，现在已经成为我配置 Nginx 的条件反射了。": "デフォルト1Mは十分ではありません。 すべてのピットを並べ替える時間が多かったので、Nginx を構成するための条件になりました。",
      "）。ORM 的异步模式对连接池和事务语义要求更高，先读文档再改代码，避免\"能跑但连接泄漏\"。": "）。ORMの非同期モードはコネクションプールとトランザクションの意味論に対してより高い要求をします。コードを変更する前にドキュメントを読み、「動くが接続がリークする」状態を避けましょう。",
      "MQTT Broker 中转设备数据，Python 后端订阅 Topic 实时写入 MySQL": "MQTTブローカーがデバイスデータを中継し、PythonバックエンドがTopicを購読してMySQLにリアルタイム書き込み。",
      "type=ALL 时，要么加索引，要么确认这个表确实需要全扫（小表、聚合表）。Extra 里的": "type=ALLの場合は、インデックスを追加するか、そのテーブルが本当に全スキャン必要かを確認（小テーブル、集計テーブル）。Extra内の",
      "| 场景 | 推荐方案 | |------|----------| | 个人脚本、临时任务 |": "| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |",
      "——如果你的服务器 IP 固定，一定加上白名单，防止 App Secret 泄露后被恶意调用。": "——サーバーIPが固定なら、必ずホワイトリストを設定し、App Secret漏えい後に悪意ある呼び出しされるのを防ぎます。",
      "从主机指标、容器状态、证书期限和访问日志四个角度，搭建一个不依赖复杂平台的个人服务监控仪表盘。": "複雑なプラットフォームに依存しない個人サービス監視ダッシュボードを、ホストメトリクス・コンテナ状態・証明書期限・アクセスログの4つの観点から構築。",
      "从协议握手到实战应用，掌握 WebSocket 实时通信技术，构建即时通讯和实时数据推送系统。": "プロトコルのハンドシェイクから実運用まで、WebSocketによるリアルタイム通信を学び、チャットやリアルタイムデータ配信システムを構築する。",
      "在 64 位系统上，地址是 8 字节（64 位）的无符号整数。栈上的变量从高地址向低地址增长。": "64ビットシステムでは、アドレスは8バイト(64ビット)の符号なし整数です。 スタック上の変数は、高アドレスから低アドレスに増加します。",
      "如果命中率低于 90%，说明缓存策略需要调整——可能是过期时间太短，也可能是热点数据没覆盖到。": "ヒット率が90%未満の場合、キャッシュ・ストラテジーが調整する必要があることを意味します。有効期限が短い場合や、ホットスポット・データがカバーされていない可能性があります。",
      "性能优化不难，难的是养成习惯。从现在开始，每次提交前跑一遍 Lighthouse，不绿不发版。": "パフォーマンス最適化は難しくありません。難しいのは習慣化です。今から、コミットのたびにLighthouseを実行し、グリーンでなければリリースしない。",
      "恢复时先停止 Compose 服务，再还原源码和命名卷，然后加载镜像，确认外部网络存在，最后用": "復元時は：まずComposeサービスを停止し、次にソースコードと名前付きボリュームを復元、イメージをロードして外部ネットワークの存在を確認し、最後に次を使う：",
      "足够拦住大多数笔误，复杂的 RFC 5322 正则反而会产生大量误报；URL 解析建议用标准库": "ほとんどの階層的なエラーを止め、複雑なRFC 5322は多数のエラーが発生します。 URLソルバーは標準ライブラリを推奨します。",
      "Redis 不是简单的 key-value 存储，它有五种核心数据类型，每种都有特定的适用场景：": "Redisは単純なキー値ストレージではありません。 特定のコンテキストを持つ5つのコアデータタイプがあります。",
      "传感器数据天然带时间轴，最容易出错的是时区。统一把时间存成 UTC，展示时再转本地时区；重采样用": "センサーデータは当然のように時間軸を持ち、最も間違いやすいのはタイムゾーンです。時間はすべてUTCで保存し、表示時のみローカルタイムゾーンに変換。リサンプリングには次を使う：",
      "传输加密：TLS 终结在 Broker 或 Nginx，证书由 Let's Encrypt 签发": "転送暗号化:ブローカーまたはNginxで終了したTLS、Let's Encryptによって発行された証明書",
      "在理解指针之前，必须先理解内存。计算机内存可以看作一个巨大的字节数组，每个字节有一个唯一的地址。": "ポインタを理解する前に、まずメモリを理解する。コンピュータのメモリは、各バイトに固有のアドレスがある巨大なバイト配列と考えられる。",
      "Nginx 配置是重中之重。我设置了 gzip 压缩、静态资源缓存、HTTPS 自动跳转，以及通过": "Nginx の設定は最優先です。 私はgzip圧縮、静的リソースキャッシュ、HTTPS自動ジャンプを設定し、",
      "借阅表最常见的三个查询是：某读者当前借了哪些、某书（库存）当前状态、逾期排行。为它们设计联合索引：": "貸出テーブルで最も一般的な3つのクエリ：ある読者が現在借りているもの、ある書籍（コピー）の現在の状態、延滞ランキング。これら向けに複合インデックスを設計：",
      "后标记当前 bad、某个历史 good，Git 用二分法缩小到引入问题的提交。配合脚本可以全自动：": "後で現在をbad、ある過去のコミットをgoodとマークすると、Gitが二分探索で問題を導入したコミットに絞り込みます。スクリプトと組み合わせれば全自動に：",
      "或 restore 到临时库）、恢复脚本语法。校验失败要发告警，而不是等灾难发生才发现备份是坏的。": "または一時DBへrestoreし、復元スクリプトの構文をチェックします。検証に失敗したら警告を出すべきで、災害が起きてからバックアップが壊れていたと気づくのを待ってはいけません。",
      "日志聚合分析：Nginx 访问日志定期解析，统计 PV/UV、响应状态码分布、慢请求 Top 10": "ログ集計分析：Nginxアクセスログを定期解析し、PV/UV、レスポンスステータスコードの分布、スローリクエストTop10を集計。",
      "每个正则都应该有测试用例：正常输入、边界输入（空串、超长、特殊字符）、恶意输入（灾难性回溯样本）。": "すべての正規表現にテストケースを：正常入力、境界入力（空文字列、極端に長い、特殊文字）、悪意のある入力（壊滅的バックトラッキングのサンプル）。",
      "每条路由配一条验收命令（curl 期望状态码），改配置后自动跑一遍路由测试，比人工点页面可靠得多。": "各ルートには、受入注文(希望の州コード)が装備されており、自動でルートテストを実行するように設定されており、マニュアルポイントページよりもはるかに信頼性があります。",
      "用 Python 与 Shell 处理监控、备份、日志和告警，飞书 Webhook 负责实时通知。": "PythonとShellで監視、バックアップ、ログ、アラートを処理し、Feishu Webhookでリアルタイム通知を送ります。",
      "通过宿主 /proc 文件系统读取 CPU / 内存 / 磁盘实时指标，纯前端 Canvas 渲染": "ホストの/procファイルシステムからCPU・メモリ・ディスクのリアルタイム指標を読み取り、フロントエンドのCanvasで描画。",
      "ACL 的关键是\"最小权限 + 拒绝默认\"：没有显式授权的 Topic 一律拒绝，比逐条放行更安全。": "ACLの要点は「最小権限とデフォルト拒否」だ。明示的に許可していないTopicはすべて拒否する方が、1件ずつ許可するより安全である。",
      "。一个好的 API 让开发者不看文档也能凭直觉使用。遵循这些规范，你的 API 将更专业、更易维护。": "良いAPIは、開発者がドキュメントを見なくても直感的に使えます。これらの規範に従えば、あなたのAPIはより専門的で保守しやすくなります。",
      "单线程事件循环天然安全，但多 worker 部署时要改用 Redis Pub/Sub 做跨进程广播。": "シングルスレッドのイベントループは自然に安全ですが、複数workerでデプロイする場合はRedis Pub/Subでプロセス間ブロードキャストに切り替えます。",
      "定位。C 的规则是\"谁分配谁释放，释放后置 NULL\"，配合代码审查，比事后 debug 高效得多。": "ポジショニング C のルールは、コードレビューで NULL を解放し、リリースする \"Who は、その後のデバッグよりもはるかに効率的です。",
      "就能启动整套环境。对个人开发者来说，Compose 的复杂度刚刚好——Kubernetes 太重了。": "で環境全体を起動できる。個人開発ではComposeの複雑さがちょうどよく、Kubernetesは重すぎる。",
      "并行发起多个协程，比串行快一个数量级；但注意 gather 的一个协程抛异常会取消其他协程，需要时用": "複数のコースの並列起動、1つの順序は文字列よりも速くなります。ただし、座標の1つが異常に解除され、必要に応じて使用することに注意",
      "深入理解 HTTPS 的工作原理，TLS 握手过程，以及证书链的验证机制，构建安全的 Web 应用。": "HTTPSの仕組み、TLSハンドシェイク、証明書チェーンの検証を深く理解し、安全なWebアプリケーションを構築する。",
      "第一次访问后，后续访问几乎全是 304（Not Modified），页面在 200 毫秒内完成加载。": "初回アクセス後はほとんどが304（Not Modified）となり、ページは200ms以内に読み込まれる。",
      "解析规则用命名分组后，字段增减不影响代码；匹配失败的行单独收集，用于发现日志格式变化而不是静默丢掉。": "ネーミンググループの後のルールをパースすることは、コードの追加や減算に影響を与えません。 失敗した行は、サイレントを失うのではなく、ログ形式で変更を検出するために別々に収集されます。",
      "：最简单，系统自带，适合\"固定时间执行一次\"的脚本；但只支持分钟级精确，错过执行不补跑，依赖系统时区": "：最もシンプルでOS標準搭載、「決まった時刻に一度実行」するスクリプト向き。ただし分単位精度のみで、実行を逃すと補完されず、システムのタイムゾーンに依存",
      "：进程内调度，支持 cron 表达式、间隔、日期触发，可以持久化任务并补跑；适合跑在常驻服务里的任务": "：プロセス内スケジューリング。cron式・間隔・日付トリガーに対応し、タスクを永続化して補完実行も可能；常駐サービス内のタスクに適している",
      "# 标题 **粗体** *斜体* - 列表项 1 - 列表项 2 `行内代码` ``` 代码块 ```": "# タイトル** Bold** * Italic* - リストアイテム1 - リストアイテム2 - ラインコード '``コードブロック ' 。`",
      "Docker Compose 是多容器部署的事实标准，掌握这些最佳实践，从开发到生产的体验会顺畅很多。": "Docker Composeはマルチコンテナデプロイの事実上の標準です。これらのベストプラクティスを習得すれば、開発から本番までの流れが格段にスムーズになります。",
      "HTTPS 通过 TLS（Transport Layer Security）协议解决了这些问题，提供：": "HTTPS は TLS (Transport Layer Security) 協定を通じてこれらの問題を解決します。",
      "从 LinguaStep 的词汇、语法、复习和统计模块出发，讨论如何把内容组织成真正可持续的学习体验。": "LinguaStep の ' s の語彙、文法、更新者および統計的なモジュールから、コンテンツが本当に持続可能な学習経験にどのように編成できるかについて議論が行われました。",
      "图片优化后，Lighthouse 评分直接从 42 跳到 58，总加载体积从 12MB 降到 3MB。": "映像は、Lighthouseの評価が42から58に直進し、合計負荷は12MBから3MBまで下がります。",
      "正则表达式是\"写一次，受益终生\"的技能。通过这 30 个案例，你应该能在日常工作中灵活运用正则。记住：": "正規表現は「一度書けば一生役立つ」スキルです。この30の実例で、日常業務で正規表現を自在に使いこなせるはずです。覚えておいてください：",
      "第一层加密后存远程，第二层进 Git 仓库，第三层通过脚本重建。分层之后备份体积和恢复时间都大幅下降。": "最初のレイヤーは暗号化され、リモートで保存されます。2番目のレイヤーはGit倉庫にあり、3番目のレイヤーはスクリプトによって再構築されます。 バックアップの音量と回復時間は大幅に減少しました。",
      "这条链路把嵌入式、网络协议、后端 API、数据库和数据可视化串了起来，是一个很适合逐步演进的综合项目。": "埋め込まれたネットワークプロトコル、バックエンドAPI、データベース、データ可視化をリンクするリンクは、進化に適した統合プロジェクトです。",
      "——任何人拿到你的 Webhook URL 都能往群里发消息。如果泄露了，立刻在群里移除机器人重新添加。": "——Webhook URLを知っている人なら誰でもグループにメッセージを送れます。漏えいしたら、すぐにグループからボットを削除して追加し直します。",
      "传统的 HTTP 协议是请求-响应模式，服务器无法主动向客户端推送数据。为了模拟实时通信，早期方案包括：": "従来のHTTPはリクエスト・レスポンス方式で、サーバーからクライアントへ能動的にデータを送れない。リアルタイム通信を模倣する初期の方式には次のようなものがある：",
      "刚开始用 Docker 的时候，我的项目结构很简单：一个 Flask 容器，一个 MySQL 容器，手动": "Dockerを使い始めた頃、プロジェクト構成は単純でした：Flaskコンテナ1つ、MySQLコンテナ1つ、手動で",
      "只保证容器启动先后，不保证服务可用，所以应用侧要写重试逻辑，或用 healthcheck 门控真正就绪：": "depends_onが保証するのはコンテナの起動順だけで、サービスの準備完了ではない。アプリ側にリトライを入れるか、healthcheckで実際の準備完了をゲートする：",
      "深入解析 MQTT 协议的设计哲学、核心概念和工作原理，理解为什么它成为物联网领域最广泛使用的通信协议。": "MQTTプロトコルの設計哲学、コアコンセプト、作業原理の詳細な分析と、材料ネットワークの分野で最も広く使用されている通信プロトコルになった理由を理解しています。",
      "用 Certbot 与 Shell 自动完成证书申请、续签、部署和到期提醒，保持 HTTPS 持续可用。": "CertbotとShellで証明書の申請・更新・デプロイ・期限切れ通知を自動化し、HTTPSを継続的に利用可能に保ちます。",
      "）、OR 连接非索引条件。改写方式：函数运算改成范围查询，类型保持统一，前导通配考虑全文索引或反向匹配。": "）、または非インデックス条件をORで結合する。関数計算は範囲検索に書き換え、型を統一し、先頭ワイルドカードには全文検索インデックスまたは逆引きマッチングを検討する。",
      "：查询不存在的 key 时，缓存和库都查不到，恶意请求直接打库。解法：缓存空值（带短过期）或布隆过滤器。": "：存在しないキーを検索すると、キャッシュにもDBにも値がなく、悪意のあるリクエストがDBへ到達する。対策は短いTTLで空値をキャッシュするか、ブルームフィルタを使うこと。",
      "为什么只备份 HTML 不够，以及如何同时保存 Compose、镜像、源码、命名卷、网络元数据和校验清单。": "HTMLだけをバックアップしても不十分な理由と、Composeファイル、イメージ、ソースコード、名前付きボリューム、ネットワークメタデータ、検証マニフェストをまとめて保存する方法。",
      "交互场景的价值是把\"通知\"升级成\"处置\"：收到告警直接在卡片里点\"重启服务\"\"确认修复\"，减少上下文切换。": "インタラクティブなシーンの値は、\"notification\" を \"disposal\" にアップグレードすることです: 発信者は、回復の確認、コンテキスト切り替えの短縮、カードポイントに直接受信されます。",
      "从一个静态主页出发，把博客、仪表盘、工具箱和多个 API 服务组织成可观察、可维护、可恢复的个人技术平台。": "静的なホームページ、ブログ、ダッシュボード、ツールボックス、および複数のAPIサービスから、可視性、持続可能で回復可能な個々の技術プラットフォームに整理されます。",
      "在部分浏览器或低性能设备上不支持或表现异常。降级方案不是\"没有效果就行\"，而是让页面在降级后仍然完整可用：": "一部のブラウザや低性能端末では非対応または表示が崩れることがある。フォールバックは「効果がなくてもよい」ではなく、機能が使えなくてもページを完全に利用できるようにすることだ：",
      "我在 Git 服务器上配了一个 post-receive Hook，每次有人推送代码，飞书群自动收到通知：": "Gitサーバーにpost-receiveフックを設定し、コードがpushされるたびにFeishuグループへ通知します。",
      "整理服务器运维中最常用的 Linux 命令，从文件操作、进程管理到网络诊断，构建一个实用的命令速查工具箱。": "Linux コマンドは、ファイル処理、プロセス管理から Web 診断まで、サーバーのトラフィックで最も一般的に使用され、実用的なコマンドのクイックチェックキットを構築します。",
      "个人项目不必一开始就拆成几十个服务。边界清晰、启动可复现、数据不随容器丢失，往往比服务数量更能体现工程质量。": "個人プロジェクトを最初から数十個のサービスに分割する必要はない。境界が明確で、起動手順を再現でき、コンテナを消してもデータが失われないことの方が、サービス数よりエンジニアリング品質を示す。",
      "从零开始使用 Spring Boot 构建 RESTful API，涵盖项目初始化、控制器、数据访问和测试。": "Spring Boot でゼロからスタートし、RESTful API を構築し、プロジェクトの初期化、コントローラー、データアクセス、テストをカバーします。",
      "以思维导图的形式梳理 Docker 生态的核心概念和工具链，从镜像构建到容器编排，构建一套完整的个人技术栈。": "Dockerエコシステムの主要概念とツールチェーンをマインドマップで整理し、イメージ構築からコンテナオーケストレーションまで、個人の技術スタックを形にする。",
      "如何利用 Nginx 反向代理在单个服务器上用同一个端口管理多个 Web 服务，包含实际配置和常见踩坑记录。": "Nginxリバースプロキシで1台のサーバー上の複数Webサービスを単一ポートで管理する方法を、実際の設定とよくある落とし穴とともに解説します。",
      "性能回归同样适用：脚本跑基准并比较阈值，bisect 找到\"哪次提交让接口从 80ms 涨到 300ms\"。": "性能リグレッションにも同じ考え方が使える。スクリプトでベンチマークを実行してしきい値と比較し、bisectでAPIを80msから300msへ悪化させたコミットを特定する。",
      "深入分析 Apple 设计语言中的玻璃质感美学，拆解其 CSS 实现原理，并将其应用到个人网站的全部页面中。": "Appleデザイン言語のガラス感覚美学の詳細な分析、CSSの実化の原則を分解し、個人的なウェブサイトのすべてのページに適用します。",
      "深入理解 Python 异步编程模型，掌握 async/await 语法和 asyncio 框架的实战技巧。": "Pythonの非同期プログラミングモデルを理解し、async/await構文とasyncioフレームワークを実践的に使いこなす。",
      "记录 Word、PPT、Excel 与 PDF 转换服务的接口设计、临时文件管理、超时控制和容器化部署思路。": "Word・PPT・Excel・PDF変換サービスのAPI設計、一時ファイル管理、タイムアウト制御、コンテナ化デプロイの考え方を記録する。",
      "），表现层决定如何呈现。这样关掉音效、开启弱反馈模式都不会影响核心逻辑，测试也只需要断言事件是否按预期触发。": "）、表現層がどう見せるかを決定します。これにより、効果音をオフにしたり弱フィードバックモードにしてもコアロジックに影響せず、テストもイベントが期待通りに発生したかを検証するだけで済みます。",
      "LCP 通常是一张图片、一段标题或首屏文本。优化路径按顺序：压缩并给图片设置宽高（避免 CLS）→ 关键图片用": "LCPは通常、画像、見出し、またはファーストビューのテキストです。最適化の順序：画像を圧縮して幅・高さを指定（CLS回避）→重要な画像は",
      "Let's Encrypt + Certbot 实现 SSL 证书自动申请与续签，Nginx 热重载无停机更新": "Let's Encrypt + CertbotでSSL証明書の自動取得・更新を実現し、Nginxのホットリロードで無停止更新。",
      "做限流：按 IP 或按用户维度限速，超出直接返回 429。日志格式加请求耗时和上游状态，排查慢请求时才有依据。": "レート制限を実装：IPまたはユーザー単位で速度を制限し、超過時は429を返します。ログにリクエスト所要時間と上流ステータスを記録し、遅いリクエストを調査できるようにします。",
      "回到暂存区再重新分块提交。Commit Message 里除了标题，还要写清楚\"为什么\"，而不是重复代码本身：": "リザーブに戻り、再送信してください。 タイトルに加えて、Commit Messageは、コード自体を繰り返す代わりに「なぜ」を書いています。",
      "多人 / 发布节奏明显的项目：保留 develop 与 release 分支，但功能分支合并前必须通过 CI。": "複数人で開発する、またはリリース周期が明確なプロジェクトではdevelopとreleaseを残す。ただし機能ブランチはCI通過後にマージする。",
      "学习记录是产品的核心资产，模型要能回答三类问题：某知识点练了几次、正确率如何、下次该复习什么。我用的最小模型：": "学習記録は、製品のコア資産であり、モデルは3種類の質問に答えます:知識ポイントが練習された回数、正しい率とは何か、次に検討すべきこと。 私の最小モデル:",
      "实操建议：每种总线各做一个最小实验（读一个设备、打印原始值），记录时序图和踩坑点，之后接新传感器就有套路可循。": "実践では、各バスで最小の実験（デバイスを1台読み取り、生の値を表示する）を行い、タイミング図とつまずいた点を記録する。新しいセンサーを追加するときも、その手順を再利用できる。",
      "我养成一个习惯：一个提交只做一件事，并且能在标题里说清楚。改需求的同时夹带格式化、重命名和配置变更，会直接毁掉": "私は1つだけを提出し、タイトルで明確に言うことができる習慣を持っています。 フォーマット、名前変更および構成の変更の要求は、直接破壊することができます",
      "掌握 RESTful API 设计规范，从 URL 命名、HTTP 方法到版本控制和分页，构建专业的 API。": "URL命名、HTTPメソッド、バージョン管理、ページネーションまでRESTful API設計の規約を学び、実用的なAPIを構築します。",
      "服务端不要只信 LWT，还要结合\"最近收到数据的时间\"做二次判断，避免把\"设备静默（数据无变化）\"误判为离线。": "サーバーはLWTだけを信頼せず、最後にデータを受信した時刻も併せて判断する。値が変わらず静かなデバイスをオフラインと誤認しないためだ。",
      "这样做的好处是：即使 Nginx 被攻破，攻击者也无法直接访问数据库——因为没有连接到 backend 网络。": "この構成なら、Nginxが侵害されてもバックエンドネットワークに接続していないため、攻撃者がデータベースへ直接アクセスすることはできない。",
      "：Backend、Redis、MySQL 之间通信。数据库和缓存完全与外部隔离，只有 Backend 能访问。": "：Backend、Redis、MySQL間の通信。データベースとキャッシュは外部から完全に隔離し、Backendだけがアクセスできる。",
      "：热点 key 过期瞬间大量请求同时回源。解法：互斥锁重建缓存（只让一个请求查库），或逻辑过期 + 异步刷新。": "ホットキーが期限切れになると、多数のリクエストが一斉にDBへ流れ込む。ロック下でキャッシュを再構築してDBへ問い合わせるリクエストを1つにするか、論理的な期限切れと非同期更新を使う。",
      "Docker Compose 编排 6 个独立服务容器，Nginx 反向代理统一入口，单端口 80 承载全部流量": "Docker Composeで6つの独立したサービスコンテナをオーケストレーションし、Nginxリバースプロキシで入口を統一、単一ポート80で全トラフィックを処理。",
      "SQL 优化是一个持续的过程。从索引设计开始，用 EXPLAIN 验证每个查询，分析慢查询日志，逐步优化。记住：": "SQLの最適化は継続的なプロセスだ。インデックス設計から始め、EXPLAINで各クエリを検証し、スロークエリログを分析しながら段階的に改善する。覚えておきたいのは：",
      "配上 systemd 服务文件，这就是一个生产级的备份方案：每天自动备份、自动清理、异常自动重启、日志完整可查。": "systemdのサービスファイルを組み合わせれば、本番品質のバックアップ構成になります。毎日自動バックアップ、不要データの自動削除、異常時の自動再起動、完全なログ検索に対応します。",
      "（把 RS256 换成 HS256 用公钥当密钥）要在解析时显式锁定算法，不能信任 token 头部的算法声明。": "（攻撃者がRS256をHS256に置き換え、公開鍵を秘密鍵として使う攻撃など）を防ぐため、解析時に許可するアルゴリズムを明示的に固定し、トークンヘッダーの宣言を信頼しない。",
      "：客户端异常断连时，Broker 自动向指定主题发布遗嘱，通知其他设备\"这家伙掉线了\"。这在设备监控中非常实用。": "：クライアントが異常切断すると、Brokerが指定Topicへ遺言メッセージを自動公開し、他のデバイスへ「このデバイスがオフラインになった」と通知する。デバイス監視で非常に役立つ。",
      "MQTT 协议本身不包含安全机制，安全全靠 Broker 配置。我给 EMQX/Mosquitto 至少做四件事：": "MQTTプロトコル自体にセキュリティ機能はなく、Brokerの設定に依存する。EMQX/Mosquittoでは少なくとも次の4点を行う：",
      "Merge 会产生额外的合并提交，污染提交历史。Rebase 则是将分支的提交\"移植\"到目标分支上，保持线性历史。": "マージは余分なマージコミットを生み、コミット履歴を汚染します。一方リベースは、ブランチのコミットを「移植」して",
      "``` 嵌套要小心。用 markdownlint 检查格式一致性，CI 里跑一遍，比人工 review 格式可靠。": "```の入れ子には注意する。markdownlintを使って書式の一貫性を確認し、CIでも実行すれば、手作業でのレビューより確実だ。",
      "——半透明背景、柔和的模糊效果、微妙的边框光泽。这种风格被称为\"液态玻璃\"（Glassmorphism），核心是用": "— 透明感のある背景、柔らかく、漠然とした効果、繊細な境界線。 「Glassmorphism」と呼ばれています。 コアが使用されます。",
      "从最初只会 git push 到掌握分支策略、代码审查和 CI/CD 集成，记录 Git 工作流的学习和演进过程。": "初期のguitからブランチ戦略、コードレビュー、CI/CD統合をマスターし、Gitワークフローの学習と進化を文書化します。",
      "外部系统永远不可控，能控制的只有自己的边界。把\"抓取\"和\"格式化\"分开，任何一个环节变更，都只需要改对应的适配层。": "外部システムを完全に制御することはできず、制御できるのは自分側の境界だけだ。「取得」と「整形」を分離すれば、どちらかが変わっても対応するアダプタ層だけを修正すればよい。",
      "学习 Vim 的最好方法就是强制自己使用。开始时可能很慢，但一旦形成肌肉记忆，你的编辑效率将远超传统编辑器。记住：": "Vimを学ぶ最良の方法は、自分に強制的に使わせることです。最初は遅いかもしれませんが、筋肉記憶ができれば、編集効率は従来のエディターをはるかに超えます。覚えておいて：",
      "将 API 请求转发到 Flask 容器。配合 Certbot 自动续签证书，整个站点的 HTTPS 完全自动化。": "APIリクエストをFlaskコンテナへ転送します。Certbotによる証明書の自動更新と組み合わせて、サイト全体のHTTPSが完全に自動化されます。",
      "机器人只是消息出口，真正要做的是把入口和出口接起来：备份完成、证书续签、部署成功、异常告警都走同一套通知服务（封装": "ボットはメッセージの出口にすぎない。重要なのは入口と出口をつなぐことだ。バックアップ完了、証明書更新、デプロイ成功、障害アラートをすべて1つの通知サービス（ラップした",
      "用 Flask 接收 ESP32 的 MQTT 数据，写入 MySQL，并以 ECharts 展示环境指标与趋势。": "FlaskでESP32のMQTTデータを受信し、MySQLに書き込み、EChartsで環境指標とトレンドを表示します。",
      "让多个 worker 不会抢到同一任务。转换完成后删除临时文件并更新状态，任务超时由 worker 守护进程回收。": "SKIP LOCKEDにより複数のワーカーが同じタスクを取得しないようにします。変換完了後は一時ファイルを削除して状態を更新し、タイムアウトしたタスクはワーカーのデーモンが回収します。",
      "遇到过几个典型问题：静态资源路径写错导致 CSS 404、WebSocket 连接需要额外配置升级头、上传大文件时": "いくつか典型的な問題に遭遇した。静的リソースのパスミスでCSSが404になり、WebSocketにはUpgradeヘッダーの追加設定が必要で、大容量アップロードにも別の制限があった。",
      "事件计算鼠标在卡片内的相对位置，用 CSS 变量动态设置径向渐变的高光中心点，实现类似 Spotlight 的效果。": "イベントでカード内のマウス相対位置を計算し、CSS変数で放射状グラデーションのハイライト中心を動的に設定して、Spotlight風の効果を実現。",
      "加入学校实验室的项目组后，问题接踵而至。多人同时在 main 分支上改代码，冲突频繁，历史记录一团糟。于是我们引入了": "大学の研究室でプロジェクトチームに参加すると、問題が次々に起きた。複数人がmainブランチを同時に編集し、衝突が頻発して履歴も乱れた。そこで私たちは",
      "同一套代码在三个环境跑，最容易出问题的是配置漂移：本地连本地数据库，生产却连着一台只有运维知道的服务器。我的做法是：": "同じコードを3つの環境で動かすと、設定のドリフトが最も起きやすい。ローカルはローカルDB、本番は運用担当しか知らないサーバーへ接続、という状態を避けるため、次のように管理する。",
      "。记住这三个原则，你的技术文档就能达到专业水准。Markdown 的简洁性正是它的力量所在——让你专注于内容而非格式。": "この3つの原則を覚えれば、あなたの技術文書はプロフェッショナルな水準に達します。Markdownの簡潔さこそがその強みです——形式ではなく内容に集中させてくれます。",
      "单人 / 双人项目：用主干开发（trunk-based），短生命周期功能分支 + 每日合并，冲突暴露得越早越容易解决。": "シングル/ダブルパープロジェクト:トランクベース、ショートライフサイクル機能ブランチ+毎日組み合わせることで、コンフリクトはすぐに解決しやすくなります。",
      "在我们的物联平台中，MQTT Broker 用 EMQX 搭建，支持百万级并发连接。传感器通过 ESP32 上报数据到": "私たちのIoTプラットフォームではMQTT BrokerをEMQXで構築し、百万規模の同時接続に対応する。センサーはESP32を通じてデータを",
      "定时任务解决了\"按时执行\"，但没解决\"挂了怎么办\"。systemd 能自动重启崩溃的服务，还能管理日志、设置资源限制。": "定期タスクは「時間どおりに実行する」問題を解決するが、「落ちたらどうするか」は解決しない。systemdなら失敗したサービスを自動再起動し、ログ管理とリソース制限も行える。",
      "把规则集中在函数里，输入变化时只需要改一处；每次运行前记录原始行数与清洗后行数，任何一步把数据\"洗没了\"都能立刻发现。": "ルールを関数に集約すれば、変更時に直す場所は1か所で済む。実行前に入力行数とクリーニング後の行数を記録し、途中でデータが「洗い流された」場合もすぐ分かるようにする。",
      "的目标地址可以直接写容器名加端口，因为 Docker 的 DNS 会自动解析。这样即使容器重启后 IP 变了也不影响。": "DockerのDNSが自動的に解決するので、コンテナの名前をポートで記述できます。 コンテナが再起動後にIPが変更された場合でも、これは影響しません。",
      "）而不是 offset 深翻，避免大偏移性能问题。所有列表参数服务端校验并设置上限，防止恶意超大 page_size。": "）offsetで深いページまで走査するのではなく、これで大きなoffsetによる性能低下を避ける。すべてのリストパラメータをサーバーで検証し、page_sizeに上限を設けて悪意のある巨大リクエストを防ぐ。",
      "Shell 脚本是运维工程师的瑞士军刀。掌握这些技巧，你的运维效率将得到质的飞跃。从今天开始，把重复性工作都写成脚本吧！": "Shellスクリプトは運用エンジニアの万能ツールです。これらの技術で反復作業を信頼できる自動化に変えましょう。",
      "利用 Python 编写定时脚本，每天自动抓取课表数据和天气信息，通过企业微信机器人推送到手机，从此告别每天手动查课表。": "Pythonで定期スクリプトを作り、時間割と天気を毎日取得して企業向けメッセージングボットからスマートフォンへ配信。毎日の手動確認が不要になります。",
      "Docker 不仅解决了部署问题，更重要的是改变了我的开发思维——每个服务都是独立的、可替换的模块，架构也因此变得更清晰。": "Dockerはデプロイ問題を解決しただけでなく、より重要なのは開発思考を変えたことです——各サービスは独立した交換可能なモジュールであり、アーキテクチャもより明確になりました。",
      "REST（Representational State Transfer）是基于 HTTP 协议的架构风格，核心原则包括：": "REST（Representational State Transfer）はHTTPに基づくアーキテクチャスタイルで、主な原則は次のとおりです：",
      "WebSocket 是实现实时通信的利器。掌握其原理和使用方法，你就能构建出即时聊天、实时协作、实时监控等各种强大的应用。": "WebSocketはリアルタイム通信の媒体です。 インスタントチャット、リアルタイムコラボレーション、リアルタイム監視などの強力なアプリケーションを構築できます。",
      "。发布消息时按频道推送给在线连接，离线用户的消息用\"最近 N 条\"缓存，重连后补发。连接管理器要处理并发：Python 的": "メッセージ公開時はチャンネル単位でオンライン接続にプッシュし、オフラインユーザーのメッセージは「最新N件」としてキャッシュし、再接続時に再送します。接続マネージャは並行性を処理する必要があります：Pythonの",
      "以 ESP32、MQTT、Python API 和可视化页面为例，拆解物联网数据采集链路中的主题设计、可靠性、存储和告警。": "ESP32、MQTT、Python API、ビジュアライゼーションページ、テーマ設計、信頼性、ストレージ、およびアラームのネットワーク化されたデータ取得リンクにおけるアラーム。",
      "整体流程很简单：Python 脚本 → 抓取课表 API → 调用天气 API → 格式化消息 → 推送到企业微信机器人。": "全体の流れはシンプルです：Pythonスクリプト → 時間割API取得 → 天気API呼び出し → メッセージ整形 → 企業向けメッセージングボットへ配信。",
      "正则表达式（Regex）是处理文本的瑞士军刀。无论是日志分析、数据验证、爬虫提取还是代码重构，正则表达式都能让你事半功倍。": "正規表現（Regex）はテキスト処理の万能ツールです。ログ分析、データ検証、クローラー抽出、コードリファクタリングなどで作業効率を大きく高められます。",
      "五段后，既可以手动执行，也可以接入 GitHub Actions。自动化不是为了省几条命令，而是让每次发布都遵循同一套检查。": "の5段階に分ければ、手動でもGitHub Actionsでも実行できます。自動化はコマンドを数個省略するためではなく、毎回のリリースが同じチェックを通るようにするためです。",
      "布局偏移让用户点错按钮、读错行。主要来源：无尺寸图片、动态插入内容、字体加载导致的字形变化。修复方式：图片/视频固定宽高比（": "レイアウトシフトはユーザーが誤ったボタンをクリックしたり行を読み違えたりする原因になります。主な発生源：サイズ未指定の画像、動的挿入コンテンツ、フォント読み込みによる字形変化。対策：画像/動画のアスペクト比固定（",
      "或事件循环的慢任务回调定位。异步不是银弹，选型标准是\"IO 密集 + 高并发等待\"，CPU 密集和简单脚本用同步反而更清晰。": "またはイベントのサイクルの遅いタスク位置。 ステップはシルバーの弾丸ではなく、選択基準は「IO-intensity + High and long Wait」であり、CPU-intensityとシンプルなスクリプトはより優れた同期です。",
      "数据处理的入门门槛不高，但精通需要大量实践。建议从自己的日常数据入手——课表分析、消费记录统计，练手的同时也能解决实际问题。": "データ処理のためのエントリのしきい値が低くなりますが、マスタリーは広範な練習を必要とします。 日々のデータから始めることをお勧めしています。表分析、消費記録統計、実践的な問題に対処しながら練習します。",
      "：Nginx 和 Backend 之间通信。用户请求 → Nginx → Backend，外部无法直接访问 Backend。": "：NginxとBackend間の通信。ユーザーリクエスト → Nginx → Backendの順に流れ、Backendを外部へ直接公開しない。",
      "在阿里云 ECS 上运行个人网站、博客、工具箱和 API 服务，使用 Nginx 与 Docker Compose 统一入口。": "Alibaba Cloud ECS上で個人サイト、ブログ、ツールボックス、APIサービスを運用し、NginxとDocker Composeで入口を統一しています。",
      "实际项目里我会给每个 location 写一条 curl 验收命令，验证 URL 被路由到预期后端，而不是靠\"感觉应该匹配\"。": "実プロジェクトでは各locationにcurlの受入れ確認コマンドを用意し、URLが想定したバックエンドへ到達することを「一致するはず」という感覚ではなく検証する。",
      "或运行时注入；敏感值单独管理。镜像固定 tag（不要用 latest 漂移），升级前先备份卷，出问题可以快速回退到上一个镜像。": "またはランタイムで注入。機密値は別途管理。イメージタグは固定（latestの漂流は禁止）。アップグレード前にボリュームをバックアップし、問題があれば前のイメージへ素早くロールバック。",
      "掌握 Git 三大高级武器：rebase 保持历史整洁，cherry-pick 精准移植提交，bisect 快速定位 bug。": "Gitの3つの高レベルの武器のマスター:リベースは、歴史を清潔に保ちます, チェリーピック精度トランスプラントの提出, 急激な位置決めバグを隔絶.",
      "用户点击按钮后，飞书会向你的回调地址发送事件。你需要在后端接收并处理这些事件——这里需要用到飞书 SDK 来做事件订阅和回复。": "ユーザーがボタンを押すと、FeishuはコールバックURLへイベントを送信します。バックエンドでFeishu SDKを使って受信・処理します。",
      "记录如何用液态玻璃视觉、主题切换、响应式布局、渐进动画和 Service Worker，把一个技术档案站做成可持续使用的产品。": "液体ガラスのビジュアル、テーマ切り替え、レスポンシブレイアウト、段階的なアニメーション、Service Workerを使い、技術アーカイブサイトを継続利用できるプロダクトに仕上げた方法を記録する。",
      "里释放资源（关闭连接、清理临时文件），不要吞掉 CancelledError。Web 服务场景，超时和取消是并发正确性的底线。": "リソース(接続の閉鎖、一時ファイルのクリーニング)を解放し、キャンセルされたエラーを飲みません。 Webサービスシーン、タイムアウト、キャンセルは、同時是正のためのボトムラインです。",
      "APScheduler 解决了 schedule 的所有痛点：支持多线程/多进程、持久化任务、灵活的触发器。我现在的项目全用它。": "APSchedulerは単純なscheduleループの弱点を補い、マルチスレッド・マルチプロセス、永続化ジョブ、柔軟なトリガーに対応する。現在のプロジェクトでは一貫してこれを使っている。",
      "diff 块展示修改前后，比文字描述\"改了什么\"直观得多；配置示例尽量给出\"最小可用 + 生产建议\"两档，避免读者照抄过时参数。": "diffブロックで変更前後を示す方が、「何が変わったか」を文章で説明するよりはるかに直感的。設定例は「最小動作+本番推奨」の2段階を提示し、読者が古いパラメータをそのままコピーしないように。",
      "做生产者/消费者模式：一个协程生产任务，N 个 worker 消费，天然支持限流与批处理。爬虫、消息推送、批量转换都是这个模式。": "プロデューサー/コンシューマーパターンを使います。1つのコルーチンがタスクを生成し、N個のワーカーが消費するため、レート制限とバッチ処理に自然に対応できます。クローラー、メッセージ配信、バッチ変換に適した構成です。",
      "有些程序只需要绑定低端口、读日志等单一特权，用 root 运行浪费且危险。Linux capabilities 可以把特权拆细：": "低いポートのバインドやログの読み取りなど、単一の権限だけが必要なプログラムもある。rootで実行するのは無駄で危険なので、Linux capabilitiesで権限を細分化する：",
      "每帧创建大量新对象（子弹、粒子、伤害数字）会触发频繁 GC，表现就是\"越打越卡\"。对象池预先分配一组可复用的实例，用完放回池中：": "毎フレーム大量の新オブジェクト（弾丸、パーティクル、ダメージ数字）を生成するとGCが頻発し、「戦うほど重くなる」症状になります。オブジェクトプールは再利用可能なインスタンスを事前確保し、使い終わったらプールに戻します：",
      "用户关闭非必要动画，对低端设备减少粒子数量。视觉设计最终要服务于内容，让用户更快找到项目、文章和工具，而不是让页面自己成为负担。": "不要なアニメーションはオフにし、低スペック端末ではパーティクル数を減らします。ビジュアルデザインは最終的にコンテンツに奉仕し、ユーザーがプロジェクト・記事・ツールを素早く見つけられるようにするものであって、ページ自体が負担になってはいけません。",
      "组件只引用语义变量，不写死具体值。换主题时只需覆盖一层变量，全站 6 个页面同步变化，不会出现\"首页改了、博客还是旧的\"的漂移。": "コンポーネントは具体値をハードコードせず、セマンティック変数だけを参照する。テーマ変更時は変数の層を上書きするだけで6ページすべてが同期して変わり、「ホームだけ変更されブログが古いまま」というズレを防げる。",
      "验证是否命中；索引不是越多越好，写放大和占用空间都要权衡。统计页（按日借阅量、分类排行）可以读按日聚合表，避免每次扫描全部历史。": "インデックスがヒットするか検証。インデックスは多ければ良いわけではなく、書き込み増幅とストレージ消費のトレードオフを考慮。統計ページ（日別貸出数、カテゴリランキング）は日次集計テーブルを読み、毎回全履歴をスキャンしないように。",
      "。Type 包括 feat（新功能）、fix（修复）、docs（文档）、refactor（重构）等。一开始觉得麻烦，养成习惯后发现": "Typeにはfeat（新機能）、fix（修正）、docs（ドキュメント）、refactor（リファクタリング）などがあります。最初は面倒に感じますが、習慣になると",
      "但允许 ETag 校验，保证内容更新能及时看到，同时省掉重复下载。缓存与版本号一起用，才不会出现\"改了代码用户还看旧页面\"的尴尬。": "ただし、Etagは、二重ダウンロードを避けながら、更新がタイムリーに表示されていることを確認することができます。 キャッシュはバージョン番号で使用され、古いページを見ているコードのユーザーを変化させることを避けることができます。",
      "启动。随着项目变复杂——加了 Redis、Nginx、Celery Worker、Flower 监控——手动管理六个容器简直噩梦。": "起動。プロジェクトが複雑になるにつれ（Redis、Nginx、Celery Worker、Flower監視を追加）、6つのコンテナを手動管理するのは悪夢でした。",
      "或小整数类型，字符串列按需转 category，时间列统一 datetime64；处理完的中间 DataFrame 及时释放。观察": "または小さい整数型、文字列列は必要に応じてcategoryに変換、時間列はdatetime64に統一。処理済みの中間DataFrameは速やかに解放。確認：",
      "这样\"换环境\"变成了\"换一组环境变量\"，而不是改代码。回滚时也只需要切回旧配置和旧镜像，不会出现\"新代码 + 旧配置\"的混合状态。": "これにより「環境を変える」は「環境変数のセットを入れ替える」になり、コード変更は不要。ロールバック時も旧設定と旧イメージに切り替えるだけで、「新コード+旧設定」の混在状態を回避できます。",
      "，边缘用低对比度边框表现厚度，交互层则根据鼠标位置更新径向高光。高光应该是反馈，不应该遮住文字；在低性能设备上也要允许浏览器降级。": "、端は低コントラストのボーダーで厚みを表現し、インタラクション層はマウス位置に応じてラジアルハイライトを更新します。ハイライトはフィードバックであり、テキストを覆うべきではありません。低性能デバイスではブラウザによるグレースケール（フォールバック）も許可します。",
      "对每个候选提交执行测试脚本，返回 0 表示 good、非 0 表示 bad。即使不知道具体改动，也能在几十次提交中定位到精确的一行。": "各候補コミットでテストスクリプトを実行し、0を返せばgood、非0ならbadとします。具体的な変更を知らなくても、数十のコミットから問題の1行を特定できます。",
      "小流量项目的蓝绿部署很简单：新旧两个容器或两套文件目录同时存在，Nginx 上游先指向旧版本验证无误，再切到新版本；出问题立刻切回。": "低トラフィックプロジェクトのブルーグリーンデプロイは簡単：新旧2つのコンテナ（または2セットのディレクトリ）を同時に存在させ、Nginx上流は検証完了まで旧バージョンを指し、その後新バージョンへ切替。問題があれば即座に戻します。",
      "练习方法是给自己出题：\"删掉括号里的内容\"\"把两个参数调换\"\"把函数名替换成常量名\"，逼自己用操作符组合解决，而不是按很多次删除键。": "練習方法は自分に問題を出すことです。「括弧の中を削除」「2つの引数を入れ替える」「関数名を定数名に置き換える」など、削除キーを何度も押すのではなく、オペレータの組み合わせで解決するよう自分に課します。",
      "中文字体动辄几 MB，默认情况下浏览器在字体下载完成前不渲染文字——这就是 FOIT（Flash of Invisible Text）。": "中国語フォントは数MBで、デフォルトではフォントのダウンロードが完了するまでテキストをレンダリングしません。これはFOITです。",
      "在 I/O 密集型应用中，大部分时间花在等待网络响应、文件读取或数据库查询上。传统的同步代码在等待时会阻塞整个线程，浪费 CPU 资源。": "I/O 集中型アプリケーションでは、Web レスポンス、ファイル読み込み、データベースの問い合わせを待ち受けるほとんどの時間が使用されます。 従来の同期コードは、待ち時間とCPUリソースを無駄にしながら、スレッド全体をブロックします。",
      "提前加载 → 首屏字体只加载需要的字重 → 必要内容走服务端渲染而不是等 JS 执行。图片用 WebP/AVIF，懒加载只用于首屏以下。": "事前読み込み → ファーストビューのフォントは必要なウェイトだけ読み込む → 必要なコンテンツはJS実行を待たずサーバーサイドレンダリング。画像はWebP/AVIFを使い、遅延読み込みはファーストビューより下だけに。",
      "摸清单机 QPS 上限，生产只用到 30% 以内留余量。缓存是加速手段不是保险：数据库的索引和查询优化仍然要做，缓存失效后系统不能雪崩。": "単一インスタンスのQPS上限を把握し、本番は余裕を残して30%以内に抑える。キャッシュは高速化の手段であって保険ではないため、DBのインデックスとクエリ最適化は必要であり、キャッシュ失効時に雪崩を起こさない設計にする。",
      "正则最常见的用途是从半结构化文本中提取字段。Nginx 访问日志一行包含 IP、时间、请求、状态、耗时，用命名分组解析比按位置切片可靠：": "正規表現は半構造化テキストからフィールドを抽出するのによく使う。Nginxのアクセスログ1行にはIP、時刻、リクエスト、ステータス、処理時間が含まれるため、位置で切り出すより名前付きグループで解析する方が堅牢だ。",
      "先写恢复文档再写备份脚本，顺序反过来最容易出现\"备份了但恢复不了\"：文档按新机器视角写清每一步命令、路径和验证方法，脚本只是把文档自动化。": "ドキュメントを復元し、バックアップスクリプトを書くように書きます。これは、一番「バックアップが復元されていない」可能性があります。 ドキュメントは、新しいマシンによって各ステップのコマンド、パス、認証方法を設定し、スクリプトはドキュメントを自動化します。",
      "当你在一台服务器上同时跑着个人博客、API 服务、仪表盘、文档站和监控面板时，每个服务都想用 80/443 端口。但端口只有一个，怎么办？": "1台のサーバーで個人ブログ、APIサービス、ダッシュボード、ドキュメントサイト、監視パネルを同時に動かすとき、どのサービスも80/443ポートを使いたがります。しかしポートは1つしかありません。どうすればいいのでしょうか？",
      "当功能继续增加时，可以把解析、格式化、发送和调度拆成四个纯函数，并为周次规则和节假日写表格驱动测试。小脚本也可以拥有清晰的边界和可维护性。": "機能が増えたら、解析・整形・送信・スケジューリングを4つの純粋関数に分け、週次ルールと休日についてテーブル駆動テストを書く。小さなスクリプトでも境界を明確にし、保守しやすくできる。",
      "或 python-magic 探测真实类型，白名单校验；Office 宏、恶意文档在隔离环境（容器）里转换，网络策略禁止转换进程访问外网。": "またはpython-magicで実際のファイル種別を検出し、許可リストで検証する。Officeマクロや不審な文書は隔離コンテナ内で変換し、ネットワークポリシーで変換プロセスの外部通信を禁止する。",
      "数据库查询优化是后端开发的核心技能。一个优化的查询可能比未优化的快数百倍。本文以 MySQL 为例，系统讲解 SQL 查询优化的核心方法。": "データベースクエリ最適化はバックエンド開発の中核スキルです。最適化されたクエリは未最適化より数百倍速くなることがあります。本記事ではMySQLを例に、SQLクエリ最適化の核心的な方法を体系的に解説します。",
      "物联网是一个跨学科领域，涉及嵌入式硬件、通信协议、后端服务和前端展示四个层面。作为物联网工程专业的学生，我花了很长时间才理清这张知识地图。": "コンテンツIoTは、4つのレベルで埋め込まれたハードウェア、通信プロトコル、バックエンドサービス、フロントエンドのデモンストレーションを含む分野です。 工学分野の学生として知識のこのマップを整理するのに時間がかかりました。",
      "）、广告和弹窗预留空间、表格列宽稳定、动画用 transform 而不是 margin/top。CLS 目标低于 0.1，移动端尤其敏感。": "）、広告とポップアップのスペース確保、テーブルの列幅を安定させ、アニメーションはmargin/topではなくtransformを使う。CLS目標は0.1未満、モバイルで特にシビアです。",
      "），但不同平台渲染有差异：换行规则（GFM 硬换行 vs CommonMark）、HTML 嵌入、emoji 支持。写文档前确认目标平台，": "）、ただしプラットフォームごとにレンダリングの差異があります：改行ルール（GFMのハードブレーク vs CommonMark）、HTML埋め込み、emoji対応。ドキュメントを書く前にターゲットプラットフォームを確認し、",
      "。把遥测、状态和控制分开，权限和订阅范围更容易管理。消息体使用明确的 JSON schema，并保留版本号，设备固件升级时可以兼容旧消费者。": "テレメトリ、ステータス、コントロールを分離すると、権限と購読範囲の管理が容易になります。メッセージ本文は明確なJSONスキーマとバージョン番号を使用し、ファームウェアをアップグレードしても旧コンシューマーと互換性を保てます。",
      "和根文件系统，并在应用层明确区分“容器路径”和“宿主机路径”。读取失败时返回空值而不是让整个接口崩溃，页面也要把“暂无数据”与“0”区分开。": "とルートファイルシステムを、アプリケーションレイヤーで「コンテナパス」と「ホストパス」を明確に区別します。読み取り失敗時はインターフェース全体を落とさず空値を返し、ページでも「データなし」と「0」を区別します。",
      "我维护一份\"路由清单\"：路径、后端容器、是否需要鉴权、缓存策略。Nginx 配置与清单一一对应，避免随手加 location 导致路由混乱：": "私は「ルーティングリスト」を管理しています：パス、バックエンドコンテナ、認証の要否、キャッシュポリシー。Nginxの設定とリストを一対一で対応させ、気ままにlocationを足してルーティングが混乱するのを防ぎます：",
      "纯文本消息能干活，但不够专业。飞书的消息卡片（Message Card）支持标题、多列布局、彩色标记、按钮等，非常适合做监控面板和日报推送。": "純粋なテキストメッセージは機能しますが、それらは専門的ではありません。 Feishu(メッセージカード)のメッセージカードは、タイトル、複数のレイアウト、カラータグ、ボタンなどをサポートし、監視パネルや日常的なレポートに適しています。",
      "罚款流水单独建表：谁、哪次借阅、金额、状态（待缴/已缴）、收款人。对账时按流水汇总，而不是每次现场重算——规则一旦变更，历史流水依然可追溯。": "罰金の明細は専用テーブルに：誰が、どの貸出で、金額、状態（未払い/支払い済み）、受取人。照合は明細から集計し、その場で再計算しません——ルールが変わっても過去の明細は追跡可能なままです。",
      "）：Broker 在组内负载均衡分发，适合把设备数据分给多个 worker 消费。共享订阅与普通订阅语义不同，使用前先在文档里确认版本支持。": "）：Brokerがグループ内で負荷分散するため、デバイスデータを複数のworkerに分配して処理できる。共有サブスクリプションは通常の購読と意味が異なるため、利用前にドキュメントで対応バージョンを確認する。",
      "MQTT 解决的是\"设备与服务器之间的发布订阅\"，但完整链路还需要 DNS、TCP 连接、TLS 加密和固件升级。设备入网流程我一般这样设计：": "MQTTは「デバイスとサーバー間のパブリッシュ/サブスクライブ」を解決しますが、完全な経路にはDNS、TCP接続、TLS暗号化、ファームウェア更新も必要です。デバイスの入網フローは、私は次のように設計します：",
      "Python 的异步编程随着 async/await 语法的引入变得更加直观和强大。本文将带你从概念到实战，全面掌握 Python 异步编程。": "async/await構文の導入で、Pythonの非同期プログラミングはより直感的で強力になった。本記事では概念から実践まで、Python非同期プログラミングを一通り解説する。",
      "一个 Compose 文件跑所有环境，早晚会堆满互相冲突的配置。我用分层：基础文件定义服务、镜像、网络；覆盖文件只改环境差异，部署时按序叠加：": "1つのComposeファイルで全環境を運用すると、いずれ競合する設定が積み上がります。私はレイヤー方式：基本ファイルはサービス、イメージ、ネットワークを定義。オーバーライドファイルは環境差分のみ変更し、デプロイ時に順に重ねます：",
      "从购买云服务器到完整部署前端、后端、数据库和 Nginx 反向代理的全流程实战记录，涵盖 Docker Compose、安全加固和自动化部署。": "クラウドサーバーの購入からフロントエンド、バックエンド、データベース、Nginxリバースプロキシのデプロイまでを、Docker Compose、セキュリティ強化、自動デプロイとともに実践記録としてまとめます。",
      "恢复脚本必须是幂等且面向新机器：拉镜像、恢复卷、重建网络、启动服务、跑健康检查。演练中发现的文档断档（\"当时怎么配的来着\"）会被补进部署手册。": "復元スクリプトは冪等で、新しいマシンへ移植できるようにする。イメージの取得、ボリュームの復元、ネットワークの再作成、サービス起動、ヘルスチェックを行い、演習で見つかったドキュメントの抜け（「当時どう設定したっけ」）はデプロイ手順書に追記する。",
      "我踩过的坑：一开始买了低配 + 按量计费，跑文件转换时内存被打满触发 OOM，后来改成固定规格 + 监控告警，成本可控且不会半夜自己扩容烧钱。": "私が踏んだ罠：最初は低スペック+従量課金を購入し、ファイル変換実行中にメモリが逼迫してOOMが発生。その後、固定スペック+監視アラートに変更し、コストは管理可能になり、深夜に自動スケールでお金が溶けることもなくなりました。",
      "课表数据来自学校教务系统的内部 API，通过携带 Cookie 模拟登录后请求。天气数据使用和风天气的免费 API，每天有足够的免费调用额度。": "時間割データは学校の教務システム内部APIから取得し、Cookieによるログインシミュレーション後にリクエスト。天気データは和風天気の無料APIを使用し、1日の無料呼び出し枠は十分にあります。",
      "这个设计解决两个问题：身份可信（证书由 CA 签名）和密钥保密（只有双方能算出会话密钥）。中间人即使看到握手消息，也拿不到私钥，无法解密会话。": "この設計は、CA署名による身元の信頼性と、両端だけがセッション鍵を導出できる鍵の秘匿性を解決する。中間者がハンドシェイクを見ても秘密鍵を得られず、通信を復号できない。",
      "从选购配置到安全加固，一台生产就绪的阿里云 ECS 服务器就此完成。记住：安全的服务器是一个持续维护的过程，定期更新、监控和备份是运维的基本功。": "構成選定からセキュリティ強化まで、本番利用可能なAliyun ECSサーバーを構築する。安全なサーバーは継続的に保守するものであり、定期更新・監視・バックアップが運用の基本となる。",
      "关键不是记住某张分支流程图，而是问清楚三个问题：哪条分支始终可部署？新功能从哪里拉出来？紧急修复走什么路径？只要这三条有明确答案，团队就不会乱。": "特定のブランチフローを暗記するのではなく、常にデプロイ可能なブランチ、新機能の分岐元、緊急修正の経路を明確にする。3つの答えが決まっていれば、チームは混乱しない。",
      "日志与临时文件不纳入备份：按天压缩保留 7 天即可，节省的空间留给真正的数据。备份目录和线上数据目录分开放，防止\"磁盘写满\"同时干掉数据和备份。": "ログと一時ファイルはバックアップ対象から外し、日次で圧縮して7日間だけ保持する。空いた容量は実データに使う。バックアップディレクトリと稼働データのディレクトリを分離し、ディスクフルでデータとバックアップが同時に失われるのを防ぐ。",
      "MySQL InnoDB 使用 B+ 树作为索引结构。B+ 树是一种平衡多路搜索树，所有数据存储在叶子节点，叶子节点之间用链表连接，方便范围查询。": "MySQL InnoDBはB+ツリーをインデックス構造として使用します。 B+ツリーはバランスの取れたマルチロード検索ツリーです。リーフノードに格納されているすべてのデータが、リーフノード間のチェーンテーブルによってリンクされ、範囲検索を容易にします。",
      "从 3 秒到 300 毫秒，并没有用到什么黑科技——图片压缩、代码分割、缓存策略、CDN，每一项都是基本功。把这六项都做好，你的网站也差不到哪去。": "3秒から300ミリ秒まで、黒い技術は使われません。グラフィック圧縮、コード分割、キャッシュ戦略、CDN、それぞれが基本です。 ウェブサイトの近くには行けません。",
      "会让浏览器对元素背后的整块画面做实时高斯模糊，代价是 GPU 合成压力。页面里同时存在多个大面积模糊卡片时，滚动和动画可能明显掉帧。我的优化手段：": "ブラウザに要素背面の画面全体のリアルタイムガウスぼかしをさせ、GPUコンポジット負荷がかかります。ページ内に大きなぼかしカードが複数同時にあると、スクロールやアニメーションでフレーム落ちが目立ちます。私の最適化手段：",
      "在现代 Web 应用中，实时通信已经成为标配功能。无论是在线聊天、股票行情、协同编辑还是游戏对战，WebSocket 都是实现实时通信的核心技术。": "現代のWebアプリケーションでは、リアルタイム通信は標準的な機能だ。オンラインチャット、株価表示、共同編集、ゲーム対戦などで、WebSocketはその実現を支える中核技術である。",
      "指针是 C 语言中最强大也最令人畏惧的特性。理解指针不仅仅是记住语法，更是理解计算机内存模型的过程。本文将带你从底层原理到实战应用，彻底掌握指针。": "ポインタはC言語で最も強力で、最も恐れられる特徴です。ポインタを理解することは構文を覚えることではなく、コンピュータのメモリモデルを理解するプロセスです。本記事では、基礎原理から実践応用まで、ポインタを徹底的に習得します。",
      "是 MQTT 的精髓。QoS 0 最多一次，适合传感器高频上报；QoS 1 至少一次，保证送达但可能重复；QoS 2 恰好一次，用于关键指令下发。": "MQTTの本質です。 QoS 0 は、センサー HF の報告に適しています。QoS 1 は、少なくとも 1 回、保証された配達が、おそらく繰り返されます。QoS 2 は、キー コマンドのディスパッチに使用しました。",
      "显式指定 Asia/Shanghai，并且所有与\"今天\"相关的判断都基于同一个基准时间，避免日期边界处出现 23:59 与 00:01 的不一致。": "明示的にAsia/Shanghaiを指定し、「今日」に関わる判定はすべて同じ基準時刻に基づいて、日付境界で23:59と00:01が食い違うのを防ぎます。",
      "阿里云 ECS（Elastic Compute Service）是国内使用最广泛的云服务器。本文将带你从选购到部署，完成一台生产就绪服务器的搭建。": "阿里云ECS（Elastic Compute Service）は国内で最も広く使われているクラウドサーバーです。本記事では選定からデプロイまで、本番運用に耐えるサーバーの構築を一通り解説します。",
      "| 方式 | 用途 | 示例 | |------|------|------| | Named Volume | 数据库、缓存等需要持久化的数据 |": "| 種類 | 用途 | 例 | |------|------|------| | Named Volume | データベース、キャッシュなど永続化が必要なデータ |",
      "从第一次 SSH 登录服务器时的茫然，到现在能熟练排查问题，Linux 命令行已经成为我日常使用频率最高的工具。本文整理那些几乎每天都会用到的命令。": "最初にSSHでサーバーにログインしたときの戸惑いから、今では問題を手際よく切り分けられるまでに、Linuxコマンドラインは私が日常最もよく使うツールになりました。本記事では、ほぼ毎日使うコマンドをまとめます。",
      "可用性测试不必正规，找三个目标用户各做五个任务，观察卡在哪里，比自我感觉有价值得多。设计系统的价值在于：好看的设计可以被复制，好用的交互需要被验证。": "ユーザビリティテストは正式である必要はありません。対象ユーザー3人に各5タスクを実行してもらい、どこで詰まるかを観察する方が、自己評価よりはるかに価値があります。デザインシステムの価値：見た目の良いデザインはコピーできますが、使いやすいインタラクションは検証が必要です。",
      "拿到慢 SQL 后按三步走：看执行计划（EXPLAIN）、确认表数据规模与索引、修改后重新压测。优化前后记录耗时与扫描行数，而不是凭感觉说\"快了\"。": "遅いSQLを取得すると、3つのステップで移動します。実装計画(EXPLAIN)を見て、テーブルデータのスケールとインデックスを確認し、修正で再印刷します。 前後の記録時間とスキャンラインを最適化し、「高速」と言う代わりに。",
      "统计页从 attempt 聚合正确率与次数，从 review 生成今日任务。把\"内容\"和\"行为\"分开建模，之后加题型、加学习模式都不会推翻数据结构。": "統計ページではattemptから正答率と回数を集計し、reviewから今日のタスクを生成する。「内容」と「行動」を分けてモデル化すれば、問題形式や学習モードを追加してもデータ構造を作り直さずに済む。",
      "：大多数场景用 Cache-Aside 就够了，逻辑简单，容错性好。Write-Through 适合对数据实时性要求高的场景，但会稍微拖慢写入速度。": ": : : ほとんどのシナリオは、Cache-Aside を十分に使用, 単純なロジックと公差. Write-Through は、リアルタイムのデータを必要とするシーンに適していますが、書き込み速度を遅くします。",
      "REST 的核心是资源（名词）+ HTTP 方法（动词）。设计 API 前先列出业务中的资源与关系：用户、订单、图书、借阅记录。资源嵌套表达从属关系（": "RESTの核心はリソース（名詞）+ HTTPメソッド（動詞）。API設計前に業務のリソースと関係を列挙：ユーザー、注文、書籍、貸出記録。リソースのネストは従属関係を表現（",
      "一个好的 API 设计能极大提升开发体验和系统可维护性。本文将深入讲解 RESTful API 的设计规范，涵盖从 URL 设计到安全策略的方方面面。": "良いAPIの設計は開発の経験およびシステム維持を非常に高めます。 この論文は、RESTful API の設計仕様の詳細な説明を提供し、URL デザインからセキュリティ戦略のすべての側面をカバーします。",
      "标题避免空泛（\"使用方法\"不如\"如何配置超时与重试\"）；段落开头一句给结论，后面展开解释。一屏放不下的长文，用目录锚点 + 分节，让浏览器能快速定位。": "曖昧なタイトルは避ける（「使い方」より「タイムアウトとリトライの設定方法」の方がよい）。段落の冒頭で結論を示し、その後に説明を続ける。1画面に収まらない長文には目次とアンカーを付け、読者が目的の節へすぐ移動できるようにする。",
      "用于乱序与去重：客户端记录已处理序号，重复消息跳过；服务端广播时按频道组织，订阅者只收自己关注的消息。消息格式与版本号一致管理，客户端升级兼容旧字段。": "seqは順序乱れと重複排除に使います：クライアントは処理済みのシーケンス番号を記録し、重複メッセージはスキップ；サーバーはチャネル単位でブロードキャストし、購読者は自分に関係するメッセージだけを受け取ります。メッセージ形式はバージョン番号と一緒に管理し、クライアントのアップグレードでは旧フィールドとの互換性を保ちます。",
      "继续把容器发布、指标采集、数据处理、模型调用和设备实验沉淀成组件与方法：目标是把每个项目都做成可复现、可度量、可改进的作品，而不是一次性的 Demo。": "コンテナのリリース、メトリクス収集、データ処理、モデル呼び出し、デバイス実験を再利用可能なコンポーネントと手法に落とし込む。目標は各プロジェクトを一度きりのデモではなく、再現可能で測定でき、改善できる作品にすることだ。",
      "检查压缩包，再生成 SHA-256 清单。证书私钥、环境变量和备份本身只允许 root 读取；如果要把备份下载到本地或对象存储，还要额外加密并限制访问。": "アーカイブを検証し、SHA-256マニフェストを再生成する。証明書の秘密鍵、環境変数、バックアップ本体はrootだけが読み取れるようにする。バックアップをローカルやオブジェクトストレージへ保存する場合は、追加で暗号化しアクセスを制限する。",
      "词条至少包含释义、例句、标签、难度和来源；语法点需要规则、例外、对比例句和练习。内容与页面分离后，可以持续补充数据，也可以让不同练习模式复用同一份内容。": "各エントリには定義・例文・タグ・難易度・出典を含め、文法項目にはルール・例外・対比例文・練習を用意する。コンテンツをページから分離すれば継続的にデータを追加でき、異なる練習モードでも同じ内容を再利用できる。",
      "掌握这三个命令，你的 Git 水平将提升一个层次。记住：rebase 用于保持历史整洁，cherry-pick 用于紧急修复，bisect 用于疑难排错。": "これらの3つのコマンドをマスターする Gitレベルはレベルを上げます。 覚えておいてください: 歴史を清潔に保つために使用されるリベース, 緊急の修理に使用するチェリーピック, 難燃に使用されるビスケット.",
      "管理多服务编排，Nginx 作为唯一流量入口做反向代理。前端是静态页面，后端用 Python Flask，数据库选 MySQL，外加 Redis 做缓存。": "マルチサービス構成を管理し、Nginxを唯一の入口としてリバースプロキシにする。フロントエンドは静的ページ、バックエンドはPython Flask、DBはMySQL、キャッシュはRedisを使う。",
      "MQTT 的 QoS 1 保证\"至少一次\"，意味着网络抖动时同一消息可能被投递多次。如果消费者直接 INSERT，数据库就会出现重复行。幂等处理有几种方案：": "MQTTのQoS 1は「少なくとも1回」を保証するため、ネットワークが不安定だと同じメッセージが複数回届くことがある。コンシューマーがそのままINSERTするとDBに重複行が生じる。冪等に処理する方法はいくつかある：",
      "异步编程是 Python 性能优化的利器。掌握了 async/await，你就能写出高效、可扩展的异步应用。从 Web 爬虫到 API 服务，异步无处不在。": "非同期プログラミングはPythonの性能改善に有効だ。async/awaitを使えば効率的で拡張しやすい非同期アプリケーションを書ける。WebクローラーからAPIサービスまで、非同期処理は幅広く使われる。",
      "归档而不是按接收顺序覆盖。设备状态机（未激活/在线/离线/固件更新）由心跳 + LWT 驱动，离线超时后自动标记，避免\"设备没电\"被误读成\"测量值为 0\"。": "受信順に上書きするのではなくアーカイブします。デバイス状態機械（未アクティブ/オンライン/オフライン/ファームウェア更新）はハートビート+LWTで駆動され、オフラインタイムアウト後に自動でマークすることで、「バッテリー切れ」を「測定値0」と誤読しないようにします。",
      "拥有一台云服务器是每个开发者的成人礼。今年六月，我在阿里云购入了一台 ECS 实例，决定把我的个人项目全部迁移上去。本文记录从零开始部署全栈服务的完整过程。": "クラウドサーバーを持つことは、すべての開発者の通過儀礼です。今年6月、私はAlibaba CloudでECSインスタンスを購入し、個人プロジェクトをすべて移行することを決めました。本記事では、ゼロからフルスタックサービスをデプロイする全プロセスを記録します。",
      "指针是 C 语言的灵魂。掌握指针，你就掌握了直接操控内存的能力。这需要时间和实践，但一旦理解，一切都变得清晰。记住：指针就是地址，解引用就是访问该地址的值。": "ポインタはC言語の核心だ。ポインタを理解すれば、メモリを直接操作できる。時間と練習は必要だが、一度理解すると全体が明確になる。ポインタはアドレスであり、デリファレンスはそのアドレスにある値を読む操作だ。",
      "文档与图片格式互转（DOC / DOCX / PDF / PNG / JPG / WebP），由服务器端 LibreOffice 完成，单文件最大 50MB": "ドキュメントと画像の形式（DOC / DOCX / PDF / PNG / JPG / WebP）を相互変換。サーバー側のLibreOfficeで処理し、1ファイル最大50MBに対応する。",
      "。 技术路线从 C、数据结构和硬件通信出发，延伸到 Python / Java、Web、数据应用与云端部署。 始终把想法做成可访问、可维护、可继续迭代的作品。": "。C、データ構造、ハードウェア通信を出発点に、Python / Java、Web、データ活用、クラウドデプロイへ広げています。アイデアを、アクセスしやすく、保守しやすく、継続的に改善できる作品にします。",
      "动画尽量使用 transform 和 opacity，避免反复触发布局；IntersectionObserver 负责按需显示内容，减少首屏同时启动的效果。对": "アニメーションはtransformとopacityを優先し、レイアウトの再計算を避ける。IntersectionObserverで必要なときだけ表示し、初期表示時に同時実行する処理を減らす。",
      "接入层只做三件事：终止 TLS、按照路径分流、记录访问日志。后端服务不直接暴露公网端口，所有客户端请求都先经过统一的安全响应头、大小限制和日志策略。代理时保留": "アクセス層は3つだけを行います：TLSの終端、パスによる振り分け、アクセスログの記録。バックエンドサービスは公網ポートを直接公開せず、すべてのクライアントリクエストは統一されたセキュリティレスポンスヘッダ、サイズ制限、ログポリシーを通過します。プロキシ時は保持するのは",
      "玻璃效果依赖一堆视觉变量：背景透明度、模糊半径、边框透明度、圆角、阴影、动效时长。我把它们全部收敛为 CSS 自定义属性，按\"基础 → 语义 → 组件\"分层：": "ガラスの効果は視覚変数の数によって決まります:背景の透明物、ぼろの半径、境界の透明物、円形の角度、影、動きの時間。 これらをCSSで定義した属性に制限し、「バシセマティクス、コンポーネント」でレイヤー化しました。",
      "）。通知服务统一处理模板、频率限制、重试和审计，业务代码只调接口，不直接拼 Webhook。这样新增通知场景只加模板，不用改发送逻辑——自动化体系才真正成型。": "）。通知サービスがテンプレート、頻度制限、リトライ、監査を一元的に処理し、業務コードはインターフェースを呼ぶだけで、Webhookを直接組み立てません。新しい通知シーンを追加するにはテンプレートを増やすだけで送信ロジックを変更する必要がなく——自動化体系が本格的に形になります。",
      "= 属主 rwx、属组 r-x、其他无权限。目录权限设计是重点：Web 上传目录只需属主 w，其他账号 r-x；数据目录不要 777，写权限只给需要的用户或组。": "= 所有者rwx、グループr-x、その他は権限なし。ディレクトリ権限の設計が重要です：Webアップロードディレクトリは所有者のwだけでよく、他のアカウントはr-x。データディレクトリは777にせず、書き込み権限は必要なユーザーやグループにだけ与えます。",
      "AI 可以帮助生成例句、给出改写建议和发现内容重复，但不能直接成为事实来源。生成内容需要校验、标注来源和人工抽查；涉及学习评价时，要清楚区分模型建议与确定答案。": "AIは例文生成、書き換え提案、重複検出を支援できますが、事実の直接的な出典になってはいけません。生成コンテンツは検証、出典明記、人手による抜き打ちチェックが必要。学習評価に関わる場合は、モデルの提案と確定した答えを明確に区別します。",
      "MQTT（Message Queuing Telemetry Transport）诞生于 1999 年，最初用于石油管道传感器的数据传输。它的设计目标非常明确：": "MQTT（Message Queuing Telemetry Transport）は1999年に生まれ、当初は石油パイプラインのセンサーデータ伝送に使われました。設計目標は明確です：",
      "确认慢查询，再设计联合索引。常见查询是按读者、状态和时间筛选借阅，索引顺序应与真实过滤条件匹配。统计页面可以使用缓存，但库存和借阅这类关键数据要保证事务一致性。": "まずスロークエリを確認してから複合インデックスを設計。よくあるクエリは読者、ステータス、時間で貸出を絞り込むため、インデックスの列順は実際のフィルタ条件と一致させるべき。統計ページはキャッシュ可能ですが、在庫や貸出などの重要データはトランザクション整合性を保証する必要があります。",
      "从 C、数据结构和计算机组成起步，补齐内存、进程、网络与硬件通信基础；大一结束已能用 C 独立完成数据结构和串口通信小项目，建立起“先理解底层，再写上层”的习惯。": "C言語、データ構造、コンピュータ構成から始め、メモリ、プロセス、ネットワーク、ハードウェア通信の基礎を固めた。1年生終了時にはC言語でデータ構造とシリアル通信の小規模プロジェクトを独力で完成でき、「まず基盤を理解してから応用を書く」習慣を身につけた。",
      "错误信息要可行动：\"请求失败\"是废话，\"网络不可用，请检查后重试\"才有用。空态也要设计：没有数据时告诉用户下一步去哪（\"还没有收藏，去逛逛\"），而不是留一块空白。": "エラーメッセージは行動につなげる。「リクエストに失敗しました」ではなく「ネットワークを確認して再試行してください」のように次の行動を示す。空状態でも「保存した項目はまだありません。プロジェクトを見てみる」のように案内し、空白だけを残さない。",
      "定时任务最怕\"上次没跑完，这次又触发\"。两个防护：任务级别锁（Redis SETNX 或文件锁）和任务级别幂等（按日期/批次去重）。例如备份脚本只允许同时一个实例：": "定期タスクで最も怖いのは「前回が終わらないうちに今回が発火する」こと。2つの防御：タスクレベルロック（Redis SETNXまたはファイルロック）とタスクレベル冪等性（日付/バッチで重複排除）。例えばバックアップスクリプトは同時に1インスタンスのみ許可：",
      "效果：首屏 JavaScript 从 1.2MB 降到 180KB（只加载当前路由需要的代码），Largest Contentful Paint 降到 1.1 秒。": "効果：初期表示のJavaScriptを1.2MBから180KBへ削減し、現在のルートに必要なコードだけを読み込む。Largest Contentful Paintは1.1秒まで短縮した。",
      "是镜像的配方，写得好坏直接影响镜像大小和构建速度。精简技巧包括：合并 RUN 指令减少层数、清理包管理器缓存、使用多阶段构建（multi-stage build）。": "はイメージのレシピであり、書き方次第でイメージサイズとビルド速度が直接変わります。スリム化のコツ：RUN命令を統合してレイヤー数を削減、パッケージマネージャのキャッシュをクリア、マルチステージビルドを利用。",
      "滚动更新适合服务数多的场景：一次只替换一部分实例，健康检查通过后再继续。无论哪种方式，前提都是新版本能独立启动并自检通过，否则发布策略再漂亮也只是把事故分批放进来。": "ローリング更新はサービス数が多い構成に向く。一部のインスタンスだけを順に置き換え、ヘルスチェックを通過してから次へ進む。新版が単独で起動し自己検証に合格しなければ、リリースで障害を複数回に分けて広げるだけになる。",
      "用 Chrome DevTools 的 Performance 面板录制滚动帧，能直接看到模糊层占了多少合成时间。视觉效果要以流畅为前提，否则玻璃再好看也没有意义。": "Chrome DevToolsのPerformanceパネルでスクロールフレームを録画すると、ぼかしレイヤーがどれだけコンポジット時間を占めるかが一目瞭然。視覚効果は滑らかさを前提とすべきで、そうでなければガラスがどんなに美しくても意味がありません。",
      "粒子系统同样用池管理，数量封顶并做生命周期回收。性能预算上，我给自己定了一条线：低端手机 60fps 时每帧主线程逻辑不超过 8ms，超出就降级粒子数量或碰撞精度。": "パーティクルシステムもプールで管理し、数に上限を設けてライフサイクル終了時に再利用する。性能予算として、低スペック端末の60fpsでは1フレームあたりのメインスレッド処理を8ms以内に抑え、超えたらパーティクル数や衝突精度を下げる。",
      "脚本超过 50 行就应该拆函数，每个函数有明确输入输出，主流程只做\"读配置 → 执行 → 校验 → 输出\"。日志函数统一格式（时间 + 级别 + 消息），错误统一走": "50行を超えたら関数に分割し、各関数は入出力を明確に、メインプロセスは「設定読み込み→実行→検証→出力」だけを行います。ログ関数は統一フォーマット（時間+レベル+メッセージ）、エラーは一律",
      "记录一个博客首页从 3 秒加载优化到 300 毫秒的实战过程，覆盖关键渲染路径、资源懒加载、代码分割、CDN 部署、缓存策略和图片优化，每个优化点都有可量化的效果。": "ブログページの実際の操作を3秒から300ミリ秒に記録し、主要なレンダリングパス、リソースラッチされたロード、コード分割、CDNの展開、キャッシュ戦略、および写真の最適化をカバーしています。",
      "JWT 是一个开放标准（RFC 7519），定义了一种紧凑、自包含的方式在各方之间安全地传输信息。JWT 使用 JSON 对象，可以被签名（JWS）或加密（JWE）。": "JWTは、締約国間で安全に情報を送信するための、コンパクトな自己完結モードを定義するオープンスタンダード(RFC 7519)です。 JWTは、JWS(JWS)または暗号化(JWE)の署名が可能なJSONオブジェクトを使用します。",
      "Linux 的权限模型是其安全性的基石。理解用户、组和文件权限不仅是系统管理的基础，更是保障服务器安全的关键。本文将带你从基础到进阶，全面掌握 Linux 权限管理。": "Linuxの権限モデルはセキュリティの基盤です。ユーザー・グループ・ファイル権限の理解は、システム管理の基礎であるだけでなく、サーバーを安全に保つ鍵でもあります。本記事では",
      "从 3 秒到 300 毫秒的优化记录里，真正起作用的不是某一条魔法配置，而是把\"快\"变成可测量、可回归、可持续维护的流程：先量化基线，再逐项优化，最后用监控守住成果。": "3秒から300ミリ秒への最適化の記録で、本当に効いたのは特定の魔法の設定ではなく、「速さ」を測定可能・回帰検証可能・持続的にメンテナンス可能なプロセスに変えたこと：まずベースラインを定量化し、項目ごとに最適化、最後に監視で成果を守る。",
      "无障碍不是\"给盲人用\"，而是提升所有人体验：对比度影响弱视用户，键盘操作影响手部不便者，动效降级影响易眩晕者。把这些写进设计规范，每次迭代都检查，比事后补洞省力得多。": "アクセシビリティは「盲目の人々のために」ではなく、すべての人々のために:コントラストは弱い視聴者に影響を与えます、キーボード操作は手によって障がいのある人々に影響を与え、運動ダウングレードはめまいに影響を与えます。 これらは、反復的な方法で毎回チェックされ、アフターケアよりもはるかに少ない設計仕様に書かれています。",
      "是个人项目最常见的模式：读时先查缓存，未命中查库并回填；写时先更新数据库，再删除缓存（或更新缓存）。删除而不是更新缓存，是因为并发写时更新容易产生旧值覆盖新值的竞态。": "個人プロジェクトで最も一般的なパターンだ。読み取り時はまずキャッシュを確認し、ミスしたらDBを検索してキャッシュへ戻す。書き込み時はDBを先に更新し、キャッシュを削除（または更新）する。削除を選ぶのは、並行書き込みで古い値が新しい値を上書きする競合を避けるためだ。",
      "转换失败时要让用户知道原因属于格式不支持、超时还是服务器空间不足；运维侧则需要看到失败率、平均耗时和临时目录大小。定时清理和磁盘阈值告警是文件服务不可缺少的配套能力。": "変換に失敗したときは、未対応形式・タイムアウト・サーバー容量不足のどれかをユーザーに伝える。運用側では失敗率、平均処理時間、一時ディレクトリのサイズを確認できるようにする。定期クリーンアップとディスクしきい値アラートはファイルサービスに欠かせない。",
      "这类\"嵌套量词 + 分支\"结构可能造成灾难性回溯（ReDoS）：一个精心构造的输入让引擎指数级回溯，CPU 被打满。防护手段是避免嵌套量词、用原子组（Python 的": "このような「ネストした量指定子＋分岐」構造は、破滅的なバックトラッキング（ReDoS）を引き起こす可能性があります。巧妙に構築された入力でエンジンが指数的にバックトラックし、CPUを消費し尽くします。防ぐには、量指定子のネストを避け、原子グループ（Pythonでは",
      "从零开始掌握 Redis 缓存，涵盖安装部署、五种核心数据类型、缓存模式选型、过期淘汰策略、内存优化和 Python 实战示例，帮你把 API 响应速度提升一个数量级。": "Redisキャッシュをゼロから習得：インストール・デプロイ、5つのコアデータ型、キャッシュパターンの選定、有効期限・追い出し戦略、メモリ最適化、Python実践。",
      "小规模项目用 CSV、SQLite 和 Pandas 就足够；数据量增大后再考虑分区文件、列式存储和增量处理。工具的选择应由数据规模和查询方式决定，而不是先堆技术名词。": "小規模なプロジェクトならCSV、SQLite、pandasで十分だ。データ量が増えてから分割ファイル、列指向ストレージ、増分処理を検討する。ツールは技術名を並べるのではなく、データ量とクエリの形で選ぶ。",
      "最关键的环节是消息格式化。我把当天课程按时间排列，每节课标注教室和教师，天气部分显示温度范围、降雨概率和穿衣建议。最后通过企业微信机器人的 Webhook 推送到手机。": "最も重要なのはメッセージの整形です。当日の授業を時間順に並べ、各授業に教室と担当教員を記載し、天気欄には気温範囲・降水確率・服装アドバイスを表示します。最後に企業微信ボットのWebhookで",
      "间隔计算要有边界：最大间隔封顶（比如 90 天），过期的复习卡按逾期天数排序，避免堆积后一次性淹没用户。所有参数集中配置，调参不需要改代码，算法变更时历史记录仍然可用。": "インターバルは、境界線で計算されます。最大間隔のキャップ(90日)、期限切れの見直しカードは、積み込み後のユーザーの1回分の洪水を避ける、期限切れの超過日数でソートされます。 すべてのパラメータは、集中的に構成され、参加はコード変更を必要としません。アルゴリズムが変更されると、履歴レコードはまだ利用できます。",
      "DTO 与 Entity 分离很重要：Entity 对数据库，DTO 对客户端，字段变更互不污染。对象转换用 MapStruct 或手写映射器，避免反射魔法掩盖字段错误。": "Entity からの DTO 分離は重要です: データベースに対するエンティティティ、クライアントに対する DTO、汚染のないフィールドの変更。 オブジェクトは MapStruct または handwritten のメーカに変換し、反射魔法のマスキングフィールドエラーを回避します。",
      "Linux 权限管理看似复杂，但遵循最小权限原则（Least Privilege）就能构建安全的系统。定期审计、合理分组、精细控制权限，是每个 Linux 管理员的必修课。": "Linuxの権限管理は複雑に見えますが、最小権限の原則（Least Privilege）に従えば安全なシステムを構築できます。定期的な監査、合理的なグループ分け、明確な配置",
      "Spring Boot 是 Java 生态中最流行的微服务框架，它简化了 Spring 应用的配置和部署。本文将带你从零开始，构建一个完整的 RESTful API 服务。": "Spring BootはJavaエコシステムで最も人気のあるマイクロサービスフレームワークで、Springアプリケーションの設定とデプロイを簡素化します。本記事では、ゼロから完全なRESTful APIサービスを構築します。",
      "下一步可以加入设备注册、密钥轮换、离线检测、消息重放和数据归档。无论规模大小，先把一条链路的边界和错误路径想清楚，物联网项目才不会停留在“传感器亮了、图表动了”的演示阶段。": "次のステップとして、デバイス登録、鍵のローテーション、オフライン検出、メッセージリプレイ、データアーカイブを追加できます。規模に関係なく、まず1本のパイプラインの境界とエラーパスを明確にすることで、IoTプロジェクトは「センサーが光り、グラフが動く」デモ段階を脱することができます。",
      "从创建飞书机器人到发送富文本消息卡片，完整记录 Webhook 配置、消息卡片 JSON 结构、交互式卡片开发和 Python SDK 实战，让你的自动化通知既好用又好看。": "Feishuボットの作成からリッチメッセージカードの送信まで、Webhook設定、カードJSON、インタラクティブカード、Python SDKの実践をまとめます。",
      "圆形实体可以用两点距离判断，矩形 UI 则适合 AABB。碰撞函数只返回事实，不直接修改玩家生命值或播放动画；这样伤害、击退和无敌时间由上层规则统一处理，调参时更容易定位。": "円形エンティティは2点間距離で判定でき、矩形UIにはAABBが適しています。衝突関数は事実のみを返し、プレイヤーのHPを直接変更したりアニメーションを再生したりしません。ダメージ、ノックバック、無敵時間は上位ルールが一元的に処理し、調整時に原因を特定しやすくなります。",
      "数据库、证书、上传文件用命名卷持久化；源码热更新用 bind mount（仅开发环境）。卷要命名而不是依赖自动生成的哈希名，备份和恢复才有确定路径。删除容器前先确认卷归属，": "データベース、証明書、アップロードファイルは名前付きボリュームで永続化。ソースのホットリロードにはbind mount（開発環境のみ）。ボリュームは自動生成のハッシュ名に頼らず名前を付け、バックアップと復元のパスを確定させます。コンテナ削除前にボリュームの所属を確認、",
      "更安全（文件 640、目录 750），默认不让\"其他用户\"可读。注意设置位置（shell 配置 vs 服务启动环境），服务进程的 umask 由 systemd 配置控制。": "より安全な権限（ファイル640、ディレクトリ750）にし、デフォルトでは「その他のユーザー」が読めないようにする。設定場所（シェル設定かサービス起動環境か）を明確にし、サービスプロセスのumaskはsystemdで管理する。",
      "目前我的服务器上跑着这些容器：Nginx（反向代理）、Flask API（后端）、MySQL（数据库）、Redis（缓存）、Portainer（容器管理面板）。全部通过一个": "現在サーバー上で動いているコンテナ：Nginx（リバースプロキシ）、Flask API（バックエンド）、MySQL（データベース）、Redis（キャッシュ）、Portainer（コンテナ管理パネル）。すべて1つの",
      "让函数可以修改调用者的指针（如 realloc 后更新原指针）。链表插入头部、树节点替换都依赖这个模式。判断是否真的需要二级指针，就看\"函数是否要改变调用者持有的指针值\"。": "関数から呼び出し元のポインタを変更できる（realloc後に元のポインタを更新するなど）。連結リストの先頭挿入や木のノード置換もこのパターンを使う。二重ポインタが必要かは、「関数が呼び出し元の保持するポインタ値を変更するか」で判断する。",
      "Compose 的服务定义应围绕职责组织：入口层、页面层、API 层和数据层分别命名；共享网络只暴露必要端口；持久化目录使用命名卷或明确的 bind mount。环境变量写入": "Composeのサービス定義は責務ごとに整理すべき：入口層、ページ層、API層、データ層をそれぞれ命名。共有ネットワークは必要なポートのみ公開。永続化ディレクトリは名前付きボリュームか明示的なbind mountを使用。環境変数は次に書く：",
      "JWT 是现代认证的利器，但需要谨慎实现。正确的 Token 存储、合理的过期时间、安全的传输方式，是 JWT 安全的基础。掌握了 JWT，你就能构建安全、可扩展的认证系统。": "JWTは現代的な認証の強力な手段だが、慎重に実装する必要がある。正しいトークン保存、適切な有効期限、安全な通信がJWTセキュリティの基礎となる。JWTを正しく扱えば、安全でスケーラブルな認証システムを構築できる。",
      "Spring Boot 让 Java 开发变得愉快高效。从这篇入门开始，你可以逐步探索安全的 Spring Security、微服务的 Spring Cloud 等高级主题。": "Spring BootはJava開発を快適かつ効率的にします。この入門から始めて、Spring SecurityやマイクロサービスのSpring Cloudなど、より高度なトピックを段階的に探求できます。",
      "不必一开始就实现复杂算法。先记录每次练习的结果、信心程度和下次复习时间，再根据连续正确或错误调整间隔。重要的是把算法结果解释给用户：为什么今天看到这个词，下一次什么时候回来。": "最初から複雑なアルゴリズムを実装する必要はありません。まず各練習の結果、自信度、次回復習時刻を記録し、連続正解・不正解に応じて間隔を調整。重要なのはアルゴリズムの結果をユーザーに説明すること：なぜ今日この単語が出てくるのか、次はいつ戻ってくるのか。",
      "发布脚本里把迁移单独放一个阶段，和代码构建解耦。这样代码可以发布到多台机器，数据库只在一次迁移中完成，不会出现一半节点跑新 schema、一半节点跑旧 schema 的情况。": "リリーススクリプトでは、マイグレーションをコードビルドと分離した別フェーズにします。これによりコードは複数マシンにリリースでき、データベースは一度だけマイグレーションされ、半分だけ更新されたノードは発生しません。",
      "可以为计分、章节解锁、升级树和核心碰撞写单元测试，再用一组固定输入做结构测试。测试不需要覆盖所有随机过程，但要保护关键规则：同一个结果应该可重复，非法状态不能悄悄进入下一关。": "採点、章アンロック、アップグレードツリー、コア衝突判定にはユニットテストを書き、固定入力セットで構造テストを実行します。テストですべてのランダムプロセスをカバーする必要はありませんが、重要なルールは守る必要があります：同じ結果は再現可能であるべきで、不正な状態が黙って次のステージに進んではいけません。",
      "地图和实体是世界状态，玩家输入是控制状态，分数和升级是进度状态，界面提示和音效是表现状态。它们分开后，核心逻辑可以在没有 DOM 的情况下测试，UI 只负责把状态呈现给用户。": "マップとエンティティはワールド状態、プレイヤー入力は制御状態、スコアとアップグレードは進行状態、UIヒントと効果音は表現状態。これらを分離することで、コアロジックをDOMなしでテストでき、UIは状態をユーザーに表示するだけになります。",
      "文件转换看起来像调用一个命令，但真正上线后会遇到大文件、格式异常、转换超时、临时文件泄漏和并发占满磁盘等问题。这个项目的重点不是“能转一次”，而是让一次失败不会拖垮整个服务。": "ファイル変換は1つのコマンド呼び出しに見えるが、本番では大容量ファイル、形式異常、変換タイムアウト、一時ファイルの漏えい、同時実行によるディスク枯渇などが起きる。このプロジェクトの目的は一度変換できることではなく、1件の失敗でサービス全体を止めないことだ。",
      "桌面端可以并排展示统计卡和项目网格，手机端则需要重新安排信息顺序：导航收缩、卡片单列、按钮扩大点击区域、图表允许横向滚动。断点设计应基于内容拥挤程度，而不是照抄某个设备尺寸。": "デスクトップでは統計カードとプロジェクトグリッドを並べて表示できますが、モバイルでは情報の順序を再構成：ナビゲーションの折りたたみ、カードの単列化、タップ領域の拡大、チャートの横スクロール。ブレークポイントは特定デバイスの寸法を真似るのではなく、コンテンツの混雑度に基づいて設計します。",
      "表单是交互密度最高的区域：label 与控件显式关联、错误提示紧邻字段并带 aria、提交后保留已填内容、键盘 Tab 顺序自然。触控目标至少 44×44px，焦点样式不能被": "フォームはインタラクション密度が最も高い領域です：labelとコントロールを明示的に関連付け、エラー表示はフィールドの直近に置いてariaを付け、送信後も入力内容を保持し、キーボードのTab順を自然にします。タッチターゲットは44×44px以上、フォーカススタイルは",
      "JWT（JSON Web Token）是现代 Web 应用中最流行的认证方案之一。它以无状态、可扩展的特性，成为微服务架构的首选认证方式。本文将深入解析 JWT 的原理与实践。": "JWT（JSON Web Token）は現代のWebアプリケーションで最も人気のある認証方式のひとつです。ステートレスでスケーラブルな特性から、マイクロサービスアーキテクチャの第一選択となっています。本記事ではJWTの原理と実践を深く解説します。",
      "上传接口应该限制文件大小、扩展名和 MIME 类型，并为每次任务生成独立的工作目录。响应可以返回任务 ID，转换完成后提供下载地址；小文件也可以同步返回，但必须设置明确的超时。": "アップロードAPIではファイルサイズ・拡張子・MIMEタイプを制限し、タスクごとに独立した作業ディレクトリを作る。レスポンスでタスクIDを返し、変換後にダウンロードURLを提供する。小さなファイルは同期返却してもよいが、明確なタイムアウトを設定する。",
      "交互设计容易陷入\"我觉得好看\"。上线后我测量：点击热区、完成率、错误率、停留时长。改版前后对比同一指标，用数据决定去留；小范围 A/B 测试比\"团队评审谁说服谁\"更能说明问题。": "インタラクション設計は「見た目が良いと思う」だけに陥りやすい。リリース後はクリック領域、完了率、エラー率、滞在時間を測定する。改修前後で同じ指標を比較し、データで判断する。小規模なA/Bテストの方が、チーム内で誰が説得したかより多くを語る。",
      "优化 SQL 的第一步不是改语句，而是建立\"慢查询清单\"：开启慢查询日志、设置阈值（500ms）、定期汇总 Top N。没有基线就没有优化后的对比，也无法判断改动是否真的有效：": "SQL最適化の第一歩はSQL文を書き換えることではなく、「スロークエリ一覧」を作ることだ。スロークエリログを有効にし、しきい値（500ms）を設定してTop Nを定期集計する。ベースラインがなければ改善前後を比較できず、変更が本当に効いたか判断できない：",
      "命中反馈、受伤闪烁、升级提示、按钮状态和结果分享，都是玩家理解规则的语言。动画不应该只是装饰，它要解释发生了什么。移动端还需要更大的触控区域、可跳过的动效和明确的重新开始入口。": "ヒット時のフィードバック、ダメージ点滅、アップグレード通知、ボタン状態、結果共有は、プレイヤーがルールを理解するための手がかりになる。アニメーションは装飾ではなく、何が起きたかを説明するために使う。モバイルでは大きなタッチ領域、スキップ可能なモーション、明確なリスタート導線も必要だ。",
      "小游戏很适合验证工程能力，因为它同时要求状态管理、动画、输入、碰撞、反馈和内容节奏。一个能打开的 Demo 不难，难的是让每个系统都有明确职责，修改一个规则时不会牵一发动全身。": "小さなゲームは、状態管理、アニメーション、入力、衝突、フィードバック、コンテンツのテンポを同時に求めるため、エンジニアリング能力の検証に向いている。デモを動かすだけなら難しくない。難しいのは各システムの責務を明確にし、1つのルール変更が全体へ波及しないようにすることだ。",
      "模型而非传统的请求/响应。设备发布消息到某个主题（Topic），其他设备订阅该主题即可接收。这种解耦设计带来了极大的灵活性——发布者不需要知道谁在接收，订阅者也不关心消息来源。": "モデルであり、従来のリクエスト/レスポンスではありません。デバイスはトピックにメッセージを公開し、他のデバイスはそのトピックを購読すれば受信できます。この疎結合設計は大きな柔軟性をもたらします——公開者は誰が受信しているかを知る必要がなく、購読者もメッセージの出所を気にしません。",
      "系统按角色分权：读者只能看自己的记录，图书管理员能处理借还与编目，系统管理员能管理用户与查看日志。权限校验放在后端中间件，按角色 + 资源归属双重判断，不能只信任前端隐藏按钮。": "システムはロールベースで権限を分ける。読者は自分の記録だけを閲覧でき、司書は貸出・返却と蔵書管理を扱い、管理者はユーザー管理とログ確認を行う。認可はバックエンドのミドルウェアで実施し、ロールとリソース所有者の両方を確認する。フロントエンドでボタンを隠すだけでは不十分だ。",
      "语法接近，但 lookbehind 支持有版本差异；Go 的 regexp 默认 RE2（无回溯、无 lookaround）。跨语言复用正则前，先在目标语言的测试环境验证行为。": "構文は似ていますが、lookbehindのサポートにはバージョン差があります。GoのregexpはデフォルトでRE2（バックトラッキングなし、lookaroundなし）です。正規表現を別言語で使い回す前に、まず対象言語のテスト環境で動作を検証してください。",
      "这个项目很适合继续扩展为“文档工作台”：增加预览、批量任务、失败重试、下载过期清理和转换质量抽检。功能看似简单，但它同时练习了 API 设计、进程管理、资源隔离和后台任务治理。": "このプロジェクトは「ドキュメントワークベンチ」へ拡張する土台になる。プレビュー、バッチ処理、失敗タスクのリトライ、期限切れダウンロードの削除、変換品質の抜き取り検査を追加できる。機能は単純に見えるが、API設計、プロセス管理、リソース分離、バックグラウンドジョブの運用を同時に実践できる。",
      "graph TD A[用户请求] --> B{Nginx} B --> C[前端] B --> D[API 服务] D --> E[(数据库)] D --> F[(Redis)]": "graph TD A[ユーザーリクエスト] --> B{Nginx} B --> C[フロントエンド] B --> D[APIサービス] D --> E[(データベース)] D --> F[(Redis)]",
      "p95 比 max 更抗噪声，适合描述\"常态上限\"；count 能暴露数据缺失——某天某个设备一条都没有，比数值异常更值得关注。聚合结果再交给图表，是\"从明细到结论\"的关键一跳。": "P95はmaxより外れ値の影響を受けにくく、「通常時の上限」を表すのに向く。countはデータ欠落も明らかにする。あるデバイスが1日まったく記録を送っていない方が、値の一時的な異常より重要なこともある。集計結果をグラフへ渡すことが、明細から結論へ進む重要な一歩だ。",
      "“我有一个压缩包”不等于“我能恢复服务”。对于 Docker 化网站，源码、镜像、证书、挂载目录、命名卷和 Compose 配置缺一不可。少了任意一项，恢复时都可能变成重新排查。": "「バックアップアーカイブを持っている」は「サービスを復元できる」とは違います。Docker化サイトでは、ソースコード、イメージ、証明書、マウントディレクトリ、名前付きボリューム、Compose設定のすべてが不可欠。どれか1つ欠けても復元に失敗する可能性があります。",
      "最有价值的验证不是看文件大小，而是在一台干净机器或隔离目录执行一次恢复。只有实际启动容器、访问首页、调用 API、读取文章和检查数据卷，才能知道备份是否真的覆盖了“现在的状态”。": "最も価値のある検証はファイルサイズを見ることではなく、クリーンなマシンまたは隔離ディレクトリで復元を実行することだ。コンテナを起動し、ホームページを開き、APIを呼び出し、記事を読み、データボリュームを確認して初めて、バックアップが現在の状態を本当に網羅していると判断できる。",
      "移动端还涉及触摸热区、虚拟摇杆、防误触和页面可见性：切后台时暂停计时，恢复时重新计算时间差。游戏实验的价值不只是\"能玩\"，而是把状态机、事件系统、性能分析和用户反馈完整地走一遍。": "モバイルではタッチ領域、仮想ジョイスティック、誤操作防止、ページの表示状態も扱う。バックグラウンドではタイマーを止め、復帰時に経過時間を再計算する。ゲーム実験の価値は遊べることだけでなく、ステートマシン、イベントシステム、性能分析、ユーザーフィードバックを一通り実践できる点にある。",
      "\"在我电脑上能跑\"是开发中最经典的甩锅语录。Docker 从根本上解决了环境一致性问题——把应用及其所有依赖打包成一个镜像，在任何安装了 Docker 的机器上都能一模一样地运行。": "「自分のマシンでは動く」は開発で最も古典的な責任逃れの言葉です。Dockerは環境の一貫性問題を根本的に解決します——アプリケーションと全依存を1つのイメージにパッケージ化し、Dockerがインストールされたどのマシンでもまったく同じように動作します。",
      "不要试图一次学完所有东西。从做一个完整的微型项目开始：ESP32 采集温湿度 → MQTT 上报 → 后端存储 → 前端展示。跑通这个闭环后，你会对整个物联网架构有一个清晰的认识。": "一度にすべてを終わらせようとしないでください。 完全なマイクロプロジェクトから始めましょう: ESP32は温度→ MQTTレポート→バックエンドストレージ→フロントエンドショーを収集します。 このリングを実行した後、ネットワーク構造全体の明確な考えがあります。",
      "书目保存 ISBN、标题、作者、分类和出版社；库存保存条码、所在位置、当前状态。一本书可以有多份库存，借阅记录指向具体库存而不是抽象书目。这个拆分让损坏、遗失、调拨和盘点都有落点。": "書記:ISBN、タイトル、著者、分類、出版社;株式保管バーコード、場所、現在の状態。 書籍は複数の在庫を持ち、抽象的な伝記ではなく特定の株式を借りて記録ポイントを借りることができます。 この割れ目は、損傷、損失、償還および在庫をもたらします。",
      "大二下学期的课表排得很散，教学楼也不固定，每天早上都要翻教务系统查教室。再加上天气变化无常，出门带不带伞也成了每日难题。于是决定写一个自动化脚本，每天定时把课表和天气推送到手机上。": "大学2年の後期は授業がさまざまな校舎に分かれ、教室も固定されていなかった。毎朝、教務システムで教室を確認し、天気が変わりやすいので傘を持つかどうかも毎日の悩みだった。そこで、時間割と天気を毎日スマートフォンへ送る自動化スクリプトを作ることにした。",
      "执行日志分级：INFO 记录正常流程，WARNING 记录可降级的异常，ERROR 记录会导致推送失败的问题。告警消息带上任务名、失败原因和建议动作，而不是只发一句\"脚本出错了\"。": "実行ログはレベル分け：INFOは正常フロー、WARNINGは縮退可能な異常、ERRORはプッシュ失敗につながる問題を記録。アラートメッセージにはタスク名、失敗原因、推奨アクションを含め、「スクリプトエラー」の一言だけにしない。",
      "把词汇和语法放进网页只是内容展示，学习平台还需要回答：今天学什么、为什么复习、错题如何回来、进步如何被看见。设计学习工具时，我更关心“下一步是否清楚”，而不是一次塞给用户多少内容。": "単語や文法をWebページに載せるのは単なるコンテンツ表示であり、学習プラットフォームは次の問いに答えなければなりません：今日何を学ぶか、なぜ復習するか、間違えた問題がどう戻ってくるか、進歩をどう見せるか。学習ツールを設計するとき、私は「次のステップが明確か」を重視し、一",
      "配置校验场景，正则适合做格式检查（时间戳格式、版本号、颜色值），但真正的业务约束（日期范围、数值大小）应交给代码判断。正则回答\"格式对不对\"，代码回答\"值合不合理\"，两者分工清晰。": "設定値の検証では、正規表現はタイムスタンプ形式・バージョン番号・色などの形式チェックに向く。日付範囲や数値上限といった業務ルールはコードで判定する。正規表現は「形式が正しいか」、コードは「値が妥当か」に答える。",
      "HTTPS 不再是可选项，而是现代 Web 应用的基石。理解 TLS 握手、证书链验证和安全配置，是每个后端开发者和运维工程师的必修课。记住：安全不是一次性配置，而是一个持续的过程。": "証明書チェーン検証",
      "下一步可以给仪表盘增加“事件时间线”和“最近变更”两个视图：一次部署、证书续签或容器重启都成为可追踪事件。这样它就不只是状态大屏，而是帮助我理解系统为什么变成现在这个样子的维护工具。": "次のステップは、「インシデントタイムライン」と「リセントチェンジ」ビューの両方のダッシュボードに追加することができます。展開、証明書の更新、またはコンテナの再実行は、トレース可能なイベントになります。 ステート画面だけでなく、システムがこのようなメンテナンスツールになる理由を理解するのに役立ちます。",
      "只保存 Dockerfile，未来重建时可能拉到不同版本的基础镜像，也可能因为上游依赖变化而无法复现。镜像归档让恢复优先使用已经验证过的运行时；源码仍然保留，用于后续修改和重新构建。": "Dockerfileだけを保存すると、将来の再構築で異なるバージョンのベースイメージを取得したり、上流依存の変更で再現できない可能性があります。イメージをアーカイブすることで、復元は検証済みのランタイムを優先。ソースコードも引き続き保持し、今後の変更と再ビルドに使用。",
      "在当今互联网环境中，HTTPS 已经从\"可选项\"变成了\"必选项\"。浏览器标记 HTTP 网站为\"不安全\"，搜索引擎优先收录 HTTPS 站点。本文将深入讲解 HTTPS 的底层原理。": "現在のWebでは、HTTPSは「任意」から「必須」になった。ブラウザはHTTPサイトを「安全ではありません」と表示し、検索エンジンもHTTPSサイトを優先する。本稿ではHTTPSの基礎原理を解説する。",
      "每个动效都要能回答\"它解释了哪个关系\"：展开菜单解释父子关系，拖拽排序解释位置变化，而单纯的缩放闪烁只是在炫技。动效时长 150-300ms 最自然，超过 400ms 用户会觉得卡。": "各アクションは「説明する関係」に答えなければなりません。メニューを拡張して、親子関係、ドラッグ&ソートの説明の位置変更を説明し、単にズームインします。 動きの持続時間は150-300 ms、最も自然であり、400 ms以上はカードを感じる。",
      "Vim 是每个服务器运维和开发者的必备技能。它无处不在——SSH 到任何 Linux 服务器都能找到它。掌握 Vim 不仅是为了在服务器上编辑文件，更是为了获得一种高效的编辑思维方式。": "Vimはサーバー運用者と開発者の必須スキルです。SSHで接続するLinuxサーバーにはほぼ必ずあり、効率的な編集方法を身につけられます。",
      "从简单的 schedule 库到 APScheduler 高级调度，再到 systemd 服务守护进程，完整覆盖 Python 自动化脚本的各级方案，包含日志、错误处理和真实生产案例。": "シンプルなscheduleライブラリからAPSchedulerの高度なスケジューリング、systemdによるサービス監視まで、Python自動化スクリプトの構成を段階的に解説する。ログ、エラー処理、本番での実例も扱う。",
      "反向代理是安全头的落点。我统一加上 HSTS、X-Content-Type-Options、X-Frame-Options 和 Referrer-Policy，并关闭服务器版本号泄露：": "リバースプロキシはセキュリティヘッダーの設置場所です。HSTS、X-Content-Type-Options、X-Frame-Options、Referrer-Policyを一律に追加し、サーバーバージョン情報の漏洩を無効化：",
      "异步不等于所有 IO 都快：pymysql 是同步库，放到异步事件循环里会阻塞。用 aiomysql / asyncpg / SQLAlchemy async 或把同步调用丢到线程池（": "非同期にすればすべてのI/Oが速くなるわけではない。pymysqlは同期ライブラリなので、非同期イベントループをブロックする。aiomysql・asyncpg・SQLAlchemy asyncを使うか、同期処理をスレッドプールへ移す（",
      "请求头：服务端按 key 缓存结果，重复请求返回第一次的结果。更新类操作给资源加 version 或 updated_at，PATCH 用乐观锁校验，防止并发覆盖。删除接口考虑软删除（": "「%s」の更新クラス操作を同期させると、リソースやアップグレードされた_at、PATCHロックにバージョンを追加し、最適化されたロックを解除し、圧倒します。 ソフト削除のためのインターフェイスを削除します。",
      "审计表记录操作者、时间、对象类型、对象 id、变更前后摘要。争议发生时能还原\"谁在什么时间改了什么\"；敏感操作（删除用户、批量改库存）强制二次确认并写入审计。审计数据只增不删，按年归档。": "監査フォームレコード演算子、時間、オブジェクトの種類、オブジェクトID、事前変更後の要約。 紛争が生じたときに「いつ変化するか」が復元できる; 機密操作(削除ユーザー、バッチ再発明)は、監査の2番目の確認と含めるために必須となります。 監査データは、年単位でのみ追加または削除され、アーカイブされます。",
      "独立完成过多个完整 API 服务的需求拆解、数据库建模、接口设计与测试部署：图书馆借阅系统、文件格式转换服务、博客引擎都是自己从零设计并上线运行，能处理事务、权限、分页、并发与异常恢复。": "複数の完全なAPIサービスの要件分解、データベースモデリング、インターフェース設計、テスト・デプロイを独力で完遂：図書館貸出システム、ファイル形式変換サービス、ブログエンジンをゼロから設計し本番稼働させ、トランザクション、権限、ページネーション、並行処理、例外回復を扱える。",
      "管理系统的难点通常不在页面，而在于现实流程如何被准确表达。图书馆至少包含读者、书目、实体库存、借阅记录、预约记录和操作日志。把“书”与“书的某一本实体”区分开，库存和借阅才不会混在一起。": "管理システムの難しさは通常ページではなく、現実のプロセスをどれだけ正確に表現するかです。図書館には少なくとも読者、書誌情報、実体コピー、貸出記録、予約記録、操作ログが必要です。「書籍」と「書籍の具体的なコピー」を区別することが、データモデリングの第一歩です。",
      "很多监控页面打开后只有几个百分比：CPU 12%、内存 80%、磁盘 28%。这些数字有用，但还不足以解释服务是否健康。一个真正帮助排障的仪表盘，至少要把资源、服务、网络和时间线放在一起。": "監視ページの多くは、CPU 12%、メモリ80%、ディスク28%の割合で開きます。 これらの数字は、サービスが健康であるかを説明するのに十分ではありません。 リソース、サービス、ネットワーク、タイムラインで、本当に便利なダッシュボード。",
      "，而是确认字段含义、单位和缺失原因。建议保留原始文件不改动，清洗过程写成可重复运行的函数，并输出每一步的行数、缺失值和异常值统计。这样当结果发生变化时，可以快速定位是输入变了还是规则变了。": "代わりに、フィールドの不在の意味、ユニット、原因を確認します。 元のファイルは変更されていないままにしておくことをお勧めします。クリーンアッププロセスは再実行機能として書かれており、各ステップで行数、欠落値、異常値がエクスポートされることを推奨します。 そのため、結果が変更されると、入力変更やルールが変更されたかどうかをすばやく見つけることができます。",
      "对路径的拼接规则不同，少一个斜杠就可能把请求转到错误位置。静态 SPA 需要同时处理目录、入口文件和刷新子路由；反向代理则要明确是否保留原始 URI，并补上 Host、真实 IP 和协议头。": "パスの結合規則は異なり、スラッシュが1つ欠けるだけでリクエストが誤った場所へルーティングされかねません。静的SPAはディレクトリ、エントリファイル、サブルートのリフレッシュを同時に処理する必要があり、リバースプロキシは元のURIを保持するかを明確にし、Host、実IP、プロトコルヘッダーを補完します。",
      "拆分的代价是通信与部署复杂度，所以个人项目宁可服务少一点，也要每个服务边界清晰：Nginx 统一入口、静态资源与动态 API 分离、数据层集中。服务之间通过内部网络访问，不开放不必要的端口。": "サービス分割には通信とデプロイの複雑さが伴う。個人プロジェクトではサービス数を増やすより境界を明確にすることを優先し、Nginxを入口にして静的リソースと動的APIを分離し、データ層を集約する。サービス間は内部ネットワークで通信し、不要なポートは公開しない。",
      "数据库和证书包含敏感信息，备份文件必须加密：本地先加密再传输，远程保存加密包，密钥放在独立的凭据管理里。传输走 SSH/SCP 或对象存储，目的地至少两个（本地盘 + 远端），避免单点故障。": "データベースと証明書には、機密情報が含まれています。また、バックアップファイルは暗号化されなければなりません: 転送前のローカル暗号化、暗号化パッケージのリモート保存、独立した証明書管理のキー。 SSH/SCPまたはオブジェクトストレージを少なくとも2つの宛先(ローカルディスク+リモート)に転送し、単一のポイント障害を回避します。",
      "（最直观）或请求头版本。版本策略定下来：v1 兼容期内只增不改，废弃字段先标记 deprecated 再移除，客户端迁移有明确时间窗。内部服务可以激进演进，公开 API 必须把兼容性当承诺。": "（最も分かりやすい方法）またはリクエストヘッダーでバージョンを指定する。方針を決め、v1の互換期間は既存仕様を変更せず追加のみとし、廃止フィールドはdeprecatedを付けてから削除する。クライアントには明確な移行期間を設ける。内部サービスは積極的に進化させても、公開APIでは互換性を約束として扱う。",
      "Git 的基础命令如 add、commit、push 是日常使用的，但真正让 Git 强大的是它的高级功能。本文将深入讲解 rebase、cherry-pick 和 bisect 这三大利器。": "Gitの基本コマンド（add、commit、pushなど）は日常的に使いますが、Gitを本当に強力にしているのは高度な機能です。本記事では",
      "Markdown 是技术写作的事实标准。从 GitHub README 到技术博客，从 API 文档到内部 Wiki，Markdown 无处不在。本文将分享 Markdown 写作的全面技巧。": "Markdownは、技術的な書き込みのデファクト規格です。 GitHub READMEから技術的なブログ、API ドキュメントからWiki の内部、Markdown まで。 この論文は、Markdownライティングの全体的なスキルを共有します。",
      "从 C 语言指针、内存模型和进程线程，到 ESP32 传感器采集、串口协议和 MQTT 设备链路，能独立完成硬件端到云端的联调，理解软硬件如何协作，并持续探索 Rust 与嵌入式 Linux。": "C言語のポインタ、メモリモデル、プロセス・スレッドから、ESP32センサー収集、シリアルプロトコル、MQTTデバイス通信まで、ハードウェアからクラウドまでの連携を独力で完成でき、ソフトウェアとハードウェアの協調を理解し、Rustと組み込みLinuxの探求を続けています。",
      "借阅流程可以抽象为：可借 → 已借出 → 已归还，逾期只是根据应还时间计算出的状态，不建议直接覆盖原始记录。预约则有等待中、已通知、已取消、已完成等状态，所有状态变化都写入操作日志，便于审计。": "貸出フローは「貸出可→貸出中→返却済み」と抽象化でき、延滞は返却期限から計算されるステータスに過ぎないため、元の記録を直接上書きすべきではありません。予約には待機中、通知済み、キャンセル済み、完了済みなどの状態があり、すべての状態変化を操作ログに記録して監査可能に。",
      "先做一个完整的小循环：进入、操作、反馈、结算、重玩。等循环稳定后再扩展内容。这样既能展示 Canvas、SVG 和 JavaScript 的能力，也能保留对产品节奏、可访问性和代码维护的思考。": "まずは「開始・操作・フィードバック・結果・リプレイ」という小さな一連のループを完成させる。ループが安定してから内容を広げる。Canvas、SVG、JavaScriptの力を示しつつ、プロダクトのテンポ、アクセシビリティ、保守性も考えられる。",
      "可视化的选择要看问题类型：趋势用折线，对比用柱状，分布用直方图或箱线图，相关性用散点。matplotlib 打底、seaborn 美化、ECharts 出交互大屏，工具服从场景，而不是反过来。": "視覚化された選択は問題のタイプによって決まります:傾向はコラムと、ヒストグラムか箱ラインと分配され、関連性は分散されます折られます。 Matpllotlibのボトムアップ、海生の美化、EChartsはインタラクティブな画面、ツールは、他の方法ではなく、シーンをフォローアップします。",
      "代码块是技术文档的核心资产。写代码块时我会注意：语言标注（语法高亮）、省略号不能影响可复制性、敏感信息用占位符、关键行加注释。完整的可运行示例与\"示意代码\"分开标注，读者不会误以为片段能直接跑。": "コードブロックは技術文書の中核資産です。書く際の注意点：言語注記（シンタックスハイライト）、コピー再現性を壊さない省略記号、機密情報のプレースホルダー、重要行へのコメント。完全に実行可能な例と「説明用の断片」を分けて明記し、読者が断片をそのまま動くものと誤解しないように。",
      "我会给每个服务保留 Dockerfile 和 requirements 文件，镜像构建过程尽量透明。即使未来换机器，只要恢复源代码、卷和证书，再执行 Compose，就能重新搭起同样的服务边界。": "各サービスにDockerfileとrequirementsファイルを残し、イメージ構築プロセスを可能な限り透明に保ちます。将来マシンを変えても、ソースコード、ボリューム、証明書を復元してComposeを実行すれば、同じサービス境界を再構築できます。",
      "给线上服务建立过完整安全基线：HTTPS/TLS 证书自动续签、JWT + RBAC 权限模型、输入校验、限流与审计日志，还有定时备份和恢复演练，让 6+ 个容器服务保持可观察、可恢复、可回滚。": "オンラインサービスに完全なセキュリティベースラインを整備：HTTPS/TLS証明書の自動更新、JWT + RBAC権限モデル、入力検証、レート制限、監査ログ、定期バックアップと復旧演習を実施し、6台以上のコンテナサービスを可観測・復旧可能・ロールバック可能に保ちます。",
      "缓存与数据库最终一致即可，但\"最终\"不能是无限期。我的策略：写操作删缓存（下次读重建）；需要强一致的场景不走缓存；读多写少的统计类数据接受 5-10 分钟过期。用版本号或更新时间做缓存 key（": "キャッシュラインは、最終的にデータベースにコイン化できますが、\"finally\"は無期限にすることはできません。 私の戦略: キャッシュを削除するために書き込み (次回の読み込みを更新); 堅牢で一貫性が必要なシーン; 少ない読み書きの統計カテゴリは5-10分を期限切れに受け入れられます。 バージョン番号または更新時刻のキャッシュ",
      "读者端需要查询可借数量、自己的借阅和预约；管理员端需要编目、库存调整和统计报表。接口按资源命名，分页参数统一，错误响应包含稳定的错误码。权限判断不能只放在前端，后端要根据角色和资源关系再次校验。": "読者側は貸出可能数、自分の貸出・予約を照会し、管理者側は目録作成、在庫調整、統計レポートが必要。APIはリソース単位で命名し、ページネーションパラメータを統一、エラーレスポンスには安定したエラーコードを含める。権限判定はフロントエンドだけに置かず、バックエンドでロールとリソース関係に基づいて再検証します。",
      "一个仪表盘不需要把所有数据都堆在首屏。首屏只保留健康状态、CPU、内存、磁盘、运行时间和最近异常，其他信息通过分组或下钻查看。每个数字都应当有单位、采样时间和阈值，否则用户很难判断它是否值得关注。": "ダッシュボードのファーストビューにすべてのデータを詰め込む必要はない。健康状態、CPU、メモリ、ディスク、稼働時間、直近の異常だけを置き、残りはグループ化やドリルダウンで見せる。各数値には単位・取得時刻・しきい値を添え、重要度を判断できるようにする。",
      "在现代运维工作中，Shell 脚本是不可或缺的利器。无论是服务器管理、日志分析、还是自动化部署，Shell 脚本都能极大提升工作效率。本文将从基础到进阶，全面讲解 Shell 脚本编程的核心技巧。": "現代の運用にShellスクリプトは欠かせません。サーバー管理、ログ分析、自動デプロイを効率化する基本から応用までを解説します。",
      "把重复工作全部脚本化：CI/CD 流水线、Cron 定时任务、服务健康检查、日志聚合与飞书告警，用 Docker Compose + Nginx 管理完整服务栈，并做过容器滚动发布与故障恢复实验。": "繰り返し作業をすべてスクリプト化：CI/CDパイプライン、Cron定期タスク、サービスヘルスチェック、ログ集約、Feishuアラートを整備し、Docker Compose + Nginxでサービススタック全体を管理。コンテナのローリングリリースと障害復旧の実験も実施。",
      "浏览器收到证书后按链验证：站点证书 → 中间证书 → 根证书。每一级的公钥能验证下一级的签名，根证书来自系统内置的信任库。证书链不完整（缺少中间证书）是常见配置错误，用户会看到\"证书不可信\"——用": "ブラウザは証明書を受け取るとチェーンで検証します：サイト証明書→中間証明書→ルート証明書。各レベルの公開鍵が次のレベルの署名を検証し、ルート証明書はOS組み込みのトラストストアから来ます。証明書チェーンが不完全（中間証明書の欠落）はよくある設定ミスで、ユーザーは「証明書が信頼できない」と表示されます——",
      "网络方面我按业务拆分：前端 Nginx 暴露到宿主机，后端服务只进内部网络，通过服务名互访。数据库容器不对外开端口，只有应用容器能连它。这样即使一个服务被打穿，横向移动的范围也被限制在内部网络里。": "私は、ビジネスでネットワークを分割します: フロントエンドNginxは、ホストにさらされています, バックエンドサービスは、内部ネットワーク上でのみ利用可能です, サービス名交換を通じて. データベースコンテナはオープンではなく、アプリケーションコンテナのみが接続されます。 これは、サービスが罰せられる場合でも、内部ネットワークへの横の動きの程度を制限します。",
      "为同一个仓库开出多个工作目录，互不干扰：一个目录跑服务，另一个目录改代码测试，不用反复 stash。适合\"同时在主线开发、在发布分支修 bug\"的场景，也是服务器上多项目共用一个裸仓库时的实用技巧。": "git worktreeは同じリポジトリから複数の作業ディレクトリを切り出せ、互いに干渉しません：一方でサービスを動かし、もう一方でコードを変更・テストでき、stashを繰り返す必要がありません。「主干で開発しつつ、リリースブランチでバグ修正」のシナリオに適しており、サーバー上で複数プロジェクトがベアリポジトリを共有する際にも便利です。",
      "推送脚本里最容易挂的不是代码逻辑，而是外部数据源。教务系统的 Cookie 会过期、接口字段会调整、天气 API 偶尔限流，任何一样都能让\"准时推送\"变成\"安静地失败\"。我给每个外部依赖都做了隔离：": "プッシュスクリプトで最も壊れやすいのはコードロジックではなく外部データソース。教務システムのCookieは期限切れになり、APIフィールドは変更され、天気APIは時々レート制限されます——どれか1つでも「定時配信」が「静かな失敗」になります。すべての外部依存を分離しました：",
      "物联网专业少不了和数据打交道。传感器上报的原始数据往往是脏的、乱的、格式不统一的，直接分析基本不可能。pandas 是 Python 生态中最强大的数据处理库，掌握它能极大提升数据清洗和转换的效率。": "マテリアルIoTの分野の専門家は、データを扱うことはめったにありません。 センサーによって報告された生データは、汚れ、混同、均一ではなく、直接解析がほとんど不可能です。 Pandasは、Pythonのエコロジーにおける最も強力なデータ処理リポジトリであり、データのクリーン化と変換の効率を大幅に向上させます。",
      "订阅者收到消息后先做格式校验，再做单位归一化和范围检查，最后写入存储。异常值不要悄悄丢掉，可以记录到单独的异常表并触发通知。写入成功后再确认消息，避免数据库失败时数据却被 Broker 当成已处理。": "購読者はメッセージを受信したら、まず形式を検証し、単位を正規化して範囲を確認し、最後に保存する。異常値を黙って捨てず、別の異常テーブルへ記録して通知する。書き込み成功後にだけACKを返し、DB障害時にBrokerが処理済みと誤認しないようにする。",
      "学习记录适合在本地快速写入，网络恢复后再同步。IndexedDB 可以保存结构化数据，版本号和迁移函数则保证应用升级后旧记录仍可读取。任何本地数据方案都要准备导出和清空入口，让用户拥有自己的学习记录。": "学習記録はローカルへ高速に書き込み、ネットワーク復旧後に同期するのに向いている。IndexedDBで構造化データを保存し、バージョン番号と移行関数でアップグレード後も古い記録を読めるようにする。ローカルデータの仕組みにはエクスポートと全消去の入口を用意し、学習記録をユーザー自身が管理できるようにする。",
      "我会给实体分配稳定的 id，并把玩家、敌人、子弹和掉落物放进不同集合。碰撞检测先用圆形或轴对齐矩形做粗筛，再对少量候选对象做精确判断。这样既能保持代码直观，也能避免对象数量增加后每一帧都进行全量比较。": "実体に安定したIDを割り当て、プレイヤー、敵、弾丸、落下オブジェクトを異なるプールに入れます。 衝突検出は、円または軸の円または軸に最初のシフトをシフトし、候補の数の正確な判断を行います。 これにより、オブジェクトの数が増えた後、各フレームの完全な比較のコードの視覚化と回避が可能になります。",
      "我的选择：日常脚本用 Cron（简单可审计），需要补跑和复杂规则用 APScheduler，系统维护任务用 systemd timer。不要用 sleep 循环假装定时——重启、时区、夏令时都会出错。": "私の使い分けは、日常のスクリプトは監査しやすいCron、再実行や複雑なルールはAPScheduler、システム保守はsystemd timerだ。sleepループで定期実行を代用してはいけない。再起動、タイムゾーン、夏時間で破綻する。",
      "把网站、博客、API 和交互作品部署到 ECS，用 Compose、Nginx、监控与备份保障持续迭代；同时沉淀了文件转换服务、CI/CD 流水线、数据管道和浏览器交互实验，开始用自动化替代重复劳动。": "ウェブサイト、ブログ、API、インタラクティブ作品をECSにデプロイし、Compose、Nginx、監視、バックアップで継続的な反復開発を支える。同時にファイル変換サービス、CI/CDパイプライン、データパイプライン、ブラウザインタラクション実験を蓄積し、自動化で単純労働を代替し始めた。",
      "组件层面可以把卡片、按钮、标签和导航抽成一致的变量：圆角、间距、边框透明度和动效时长由 CSS 自定义属性驱动。这样主页、项目页和工具箱共享同一套视觉语言，修改主题时也不会出现每个页面各自漂移的情况。": "コンポーネントレベルでは、カード、ボタン、ラベル、ナビゲーションを一貫した変数に描画できます。丸い角度、間隔、境界の透明度、移動時間はCSSのカスタム属性によって駆動されます。 これにより、ホームページ、プロジェクトページ、ツールボックスが同一のビジュアル言語を共有でき、各ページが移動したときにテーマの変更は発生しません。",
      "编译型项目最容易出现\"镜像里装着一整套编译工具\"的问题。多阶段构建把编译和运行拆开：第一阶段装编译器与依赖，第二阶段只拷贝编译产物和运行时依赖。最终镜像体积往往能缩小 5-10 倍，攻击面也随之变小。": "コンパイル型プロジェクトは「イメージにコンパイラ一式が入っている」問題に陥りがち。マルチステージビルドでコンパイルと実行を分離：第一段階でコンパイラと依存をインストールし、第二段階ではビルド成果物とランタイム依存のみをコピー。最終イメージのサイズは5〜10倍縮小でき、攻撃面も同様に小さくなります。",
      "首页先给一句清晰的自我介绍，再给技术栈和项目证据，最后才是理念与联系信息。项目卡片遵循“是什么、解决什么、如何实现、如何验证”的顺序。博客列表优先显示标题、日期、摘要和标签，不让装饰把阅读入口藏起来。": "ホームページは明確な自己紹介から始め、次に技術スタックとプロジェクトの実績、最後に理念と連絡先情報。プロジェクトカードは「何か、何を解決するか、どう実装したか、どう検証したか」の順。ブログ一覧は技術性の高い記事を優先表示。",
      "，把 Nginx、Flask、MySQL、Redis 四个服务编排在一起。网络配置上，创建一个自定义 bridge 网络让容器间通过服务名通信。数据持久化用 named volume 挂载数据库文件。": "、Nginx、Flask、MySQL、Redisの4サービスを一緒にオーケストレーション。ネットワーク構成ではカスタムbridgeネットワークを作成し、コンテナ間はサービス名で通信。データ永続化はnamed volumeでデータベースファイルをマウント。",
      "Git Flow 适合版本节奏固定的团队，但对小团队和个人项目往往过重：长期维护 develop、release、hotfix 多条分支，合并成本会吃掉本来就不多的收益。后来我把项目按规模分成两套策略：": "Git Flowはリリース周期が固定されたチームには向くが、小規模チームや個人プロジェクトには重いことが多い。develop・release・hotfixを長期運用すると、得られる効果よりマージコストが大きくなるためだ。そこでプロジェクトの規模に応じて2つの戦略に分けた：",
      "pandas 的威力在于链式表达：一次清洗可以被拆成\"读入 → 类型修正 → 缺失处理 → 去重 → 派生列 → 聚合\"的流水线。每一步都是纯函数，输入输出都是 DataFrame，方便单独测试和复用：": "pandasの威力はチェーン式表現にあります：1回のクリーニングは「読み込み→型修正→欠損処理→重複排除→派生列→集計」のパイプラインに分解できます。各ステップは純関数で、入出力ともDataFrameであり、個別にテスト・再利用が容易です：",
      "不要忽略电源、网络和设备状态这些非代码因素。为设备增加心跳、重连和本地缓存，服务端记录最后在线时间，系统才不会把\"设备没电\"误判成\"数据为零\"。从小项目开始积累日志和测试，后面接入更多设备时会轻松很多。": "電源・ネットワーク・デバイス状態といったコード以外の要素も見落とさない。デバイスにハートビート、再接続、ローカルキャッシュを加え、サーバーには最終オンライン時刻を記録する。そうすれば電源オフを有効なゼロ値と誤認しない。まず小さなプロジェクトでログとテストを蓄積しておけば、後からデバイスを増やしやすい。",
      "不要忽略电源、网络和设备状态这些非代码因素。为设备增加心跳、重连和本地缓存，服务端记录最后在线时间，系统才不会把“设备没电”误判成“数据为零”。从小项目开始积累日志和测试，后面接入更多设备时会轻松很多。": "電源・ネットワーク・デバイス状態といったコード以外の要素も見落とさない。デバイスにハートビート、再接続、ローカルキャッシュを加え、サーバーには最終オンライン時刻を記録する。そうすれば電源オフを有効なゼロ値と誤認しない。まず小さなプロジェクトでログとテストを蓄積しておけば、後からデバイスを増やしやすい。",
      "传统权限是 DAC（自主访问控制），root 几乎无所不能；SELinux/AppArmor 是 MAC（强制访问控制），即使进程被攻破，也无法越权访问标记外的资源。Ubuntu 用 AppArmor，": "従来の権限モデルはDAC（任意アクセス制御）で、rootはほぼすべてを実行できる。SELinux/AppArmorはMAC（強制アクセス制御）を提供し、プロセスが侵害されてもラベル外のリソースへ越権アクセスできない。UbuntuではAppArmorを使う。",
      "悬垂指针（指向已释放内存）是最隐蔽的 bug 来源：释放后置 NULL、用智能指针或 RAII、避免\"指针传给多个函数后悄悄 free\"。检测工具有 Valgrind、AddressSanitizer（": "ダングリングポインタ（解放済みメモリを指すポインタ）は、最も見つけにくいバグの原因になる。解放後にNULLを代入し、スマートポインタやRAIIを使い、複数の関数へ渡したポインタを暗黙にfreeしない。検出ツールにはValgrindとAddressSanitizer（",
      "我们实验室用飞书做日常沟通，之前告警都是通过邮件发送——说实话，没人看邮件。后来把监控告警、部署通知、每日报表全部接入了飞书机器人，手机弹出通知的那一刻，信息触达率直接从 20% 飙升到接近 100%。": "私たちの研究室では日常の連絡にFeishuを使っている。以前はアラートをメールで送っていたが、正直ほとんど読まれなかった。監視アラート、デプロイ通知、日次レポートをFeishuボットに集約すると、スマートフォンに通知が届いた瞬間に情報の到達率が20%からほぼ100%へ上がった。",
      "深入掌握 Docker Compose 多服务编排，涵盖 docker-compose.yml 结构设计、网络规划、数据卷管理、健康检查、环境变量分层配置和开发/生产多环境切换，让你的容器化部署更专业。": "Docker Composeによるマルチサービス構成を深掘りする。docker-compose.ymlの構造設計、ネットワーク計画、ボリューム管理、ヘルスチェック、環境変数のレイヤー分け、開発/本番の切り替えを扱い、より堅牢なコンテナデプロイを実現する。",
      "物联网项目最容易被低估的部分不是“把数据发上来”，而是数据丢失、设备离线、重复上报和时间错乱发生时，系统能不能解释发生了什么。一条可用的链路要从设备身份、主题命名、消息质量、存储模型和告警策略一起设计。": "IoTプロジェクトで過小評価されがちなのはデータ送信ではなく、データ消失、デバイスオフライン、重複報告、時刻の乱れを説明できる仕組みです。信頼できるパイプラインは、デバイスID、トピック命名、メッセージ品質、保存モデル、アラートを一体で設計します。",
      "脚本写好后在服务器上用 Cron 定时执行：每天早上 7 点触发，赶在出门前送到。为了应对 API 偶尔抽风的情况，还加了重试机制和失败告警——如果连续三次推送失败，会发一条单独的告警消息提醒手动检查。": "スクリプトはサーバー上でCronから毎朝7:00に実行し、出かける前にメッセージを届ける。APIが一時的に失敗する場合に備えてリトライと失敗アラートを追加し、3回連続で送信に失敗したら手動確認用の別アラートを送る。",
      "镜像中只安装必要的运行时和字体，容器不暴露公网端口，只由 Nginx 通过内部网络访问。上传大小限制在代理层和应用层各做一次，日志记录任务 ID、耗时、输入类型和结果状态，但不要把用户文件内容写入日志。": "イメージには必要なランタイムとフォントのみをインストール。コンテナはパブリックポートを公開せず、Nginx経由で内部ネットワークからのみアクセス可能。アップロードサイズ制限はプロキシ層とアプリケーション層の両方で実施し、ログにはタスクID、所要時間、入力タイプ、結果状態を記録。ただしユーザーファイルの中身をログに書き込まない。",
      "做过完整的响应式前端与可视化：组件化页面、Canvas / SVG 动画、ECharts 数据大屏和玻璃质感设计系统，并用 Web Vitals 做性能优化，把复杂数据变成可理解、可操作、愿意探索的界面。": "レスポンシブなフロントエンドと可視化を一通り経験：コンポーネント化されたページ、Canvas / SVGアニメーション、EChartsデータダッシュボード、ガラス質感のデザインシステムを手がけ、Web Vitalsでパフォーマンス最適化を実施。複雑なデータを、理解しやすく操作しやすい、探索したくなるUIに変えます。",
      "动效服务于信息层级：滚动出现控制节奏，悬停高亮提示可交互，页面切换表达层级。CSS 动画优先使用 transform 和 opacity（走合成线程），避免动 width/height/top 引起重排；": "モーションは情報階層に奉仕します：スクロール出現でリズムを制御、ホバーハイライトでインタラクティブ性を提示、ページ遷移で階層を表現。CSSアニメーションはtransformとopacity（コンポジタスレッド）を優先し、width/height/topの変更によるリフローを避ける；",
      "把\"规则\"和\"数值\"分开：计分公式、升级曲线、掉落概率全部来自配置对象，代码只解释配置。测试覆盖规则（升级到 N 级需要多少经验、碰撞是否触发伤害），调参只改数据。这样测试稳定，平衡性调整也不会引入回归。": "「ルール」と「値」を分離します。スコア式、アップグレード曲線、構成オブジェクトから落下する確率、コードは構成のみを説明します。 データを参照して、衝突が怪我をトリガーするかどうか、レベルNにアップグレードするには、カバレッジルールをテストしてください。 このテストは安定しており、バランス調整は回帰導入しません。",
      "每个容器至少要有健康检查、重启策略和合理的日志限制。健康检查解决“进程还在但服务不可用”的假在线问题；日志轮转则避免长期运行把磁盘写满。更新时先启动新镜像并检查依赖，再切换入口，失败后保留旧镜像用于回退。": "各コンテナには最低限、ヘルスチェック、再起動ポリシー、合理的なログ制限が必要です。ヘルスチェックは「プロセスは生きているがサービスは利用不可」という擬似オンライン問題を解決。ログローテーションは長期稼働によるディスク満杯を防止。更新時はまず新イメージを起動して依存を確認し、その後で入口を切り替えます。失敗したら旧イメージを残してロールバックに備えます。",
      "证书必须覆盖访问的域名：单域名证书只匹配 example.com，通配符证书匹配 *.example.com 但不匹配 example.com 本身（部分厂商例外），多域名（SAN）证书可以列出多个域名。": "証明書はアクセスするドメインをカバーする必要があります：シングルドメイン証明書はexample.comのみにマッチ。ワイルドカード証明書は*.example.comにマッチしますが、example.com自体にはマッチしません（一部ベンダーを除く）。マルチドメイン（SAN）証明書は複数ドメインを列挙できます。",
      "加 1 跳 1 字节。遍历时用指针运算与下标等价，但要注意越界是未定义行为，编译器可能\"看似能跑\"但行为不可预测。指针比较只能用在同一数组范围内（或指向数组尾部之后一格的合法比较），跨对象比较是未定义行为。": "1ステップで1バイト進める。走査ではポインタ演算と添字は同等だが、範囲外アクセスは未定義動作であり、「動いているように見える」コードでも結果は保証されない。ポインタ比較が有効なのは同じ配列内（または末尾の1つ先）だけで、別オブジェクト間の比較は未定義となる。",
      "在修复\"分支从过期基线拉出\"时非常有用：把当前分支的提交整体搬到新基线之上，而不是把所有冲突重放一遍。注意 rebase 只处理本地或自己拥有的分支，公共分支上的历史重写会让所有人的 clone 一起坏掉。": "「古いベースから分岐したブランチ」を直すときはrebaseが便利だ。現在のコミットを新しいベースの上へ移し、衝突を一つずつやり直す必要をなくす。rebaseはローカルまたは自分だけが管理するブランチで使い、公開ブランチの履歴を書き換えて全員のcloneを壊さない。",
      "容器是无状态的，数据必须放在卷或外部存储里。命名卷由 Docker 管理，适合数据库和证书这类\"应用数据\"；bind mount 适合开发时热更新源码。不要把数据库文件直接放容器层，否则重建容器等于删数据。": "コンテナはステートレスであり、データはボリュームまたは外部ストレージに置く。名前付きボリュームはDockerが管理し、データベースや証明書などのアプリケーションデータに適している。bind mountは開発時のソースコードのホットリロードに向く。データベースファイルをコンテナ層に直接置くと、再構築時にデータを失う。",
      "我会先用无动画版本检查结构、对比度、键盘焦点和手机滚动，再逐步加入 reveal、悬停高光和主题过渡。这样即使用户关闭动画或浏览器不支持模糊，页面依然完整。技术展示的目标不是炫技，而是让访问者更快理解作品。": "まずアニメーションなしで構造・コントラスト・キーボードフォーカス・モバイルスクロールを確認し、その後reveal、ホバーのハイライト、テーマ遷移を段階的に加える。ユーザーがアニメーションを無効にしても、ブラウザがぼかしに対応しなくても、ページは完全に使える。技術展示の目的は派手さではなく、作品を早く理解してもらうことだ。",
      "飞书支持自定义机器人（Incoming Webhook），不需要 App ID 和 App Secret，一个 Webhook 地址就能发消息。在群聊设置里添加自定义机器人即可获得 Webhook URL。": "Feishuはカスタムボット（Incoming Webhook）に対応しています。App IDやApp Secretは不要で、グループ設定からボットを追加するとWebhook URLを取得できます。",
      "全量简单可靠但体积大，增量省空间但恢复链条长。个人站点我采用\"每周全量 + 每天增量（binlog 或时间戳差异）+ 30 天保留\"。恢复时按\"最近全量 → 按序重放增量\"进行，脚本自动完成，不依赖人工判断。": "フルバックアップは単純で確実だが容量が大きく、増分バックアップは省容量な反面、復元チェーンが長くなる。個人サイトでは「週次フル＋日次増分（binlogまたは時刻差分）＋30日保持」とする。復元は最新のフルから増分を順に適用し、スクリプトで自動化して手作業の判断をなくす。",
      "就把控制权交回循环，等 IO 完成再回来继续。所以\"并发\"不是\"并行\"——它解决的是等待问题（网络、磁盘、数据库 IO），不是 CPU 密集计算。CPU 密集任务用多进程或交给 C 扩展，否则会阻塞整个循环。": "ループの制御をオンにし、IOの終了時に戻ってきます。 そのため、\"comparment\" は \"parallel\" ではありません。CPU の集中的な計算ではなく、待ち合わせの質問(ネットワーク、ディスク、データベースIO)を解決します。 CPU の集中的なタスクは、拡張のために C に複数の処理または渡されます。そうしないと、サイクル全体をブロックします。",
      "悬停高光用于提示可交互区域，滚动出现用于控制信息节奏，主题切换用于表达状态变化。除此之外的动画都应谨慎加入，并为减少动态效果的用户提供降级方案。设计系统的目标不是让页面更“炫”，而是让内容更容易被理解和使用。": "ホバーハイライトはインタラクティブ領域の提示、スクロール出現は情報のリズム制御、テーマ切替は状態変化の表現に使います。これ以外のアニメーションは慎重に追加し、動きを減らしたいユーザー向けの縮退オプションも用意。デザインシステムの目標はページを「派手」にすることではなく、コンテンツを理解しやすく使いやすくすることです。",
      "或按 reflog 行号恢复，能救回\"reset 错了分支\"\"cherry-pick 完想撤销\"\"rebase 后想回退\"等场景。reflog 只存在本地，克隆/清理后不可用，重要操作前先打 tag 或备份。": "またはreflogの行番号で復元し、「resetを間違えたブランチ」「cherry-pickを取り消したい」「rebase後に戻りたい」などのケースを救えます。reflogはローカルにしか存在せず、クローン/クリーン後は使えないので、重要な操作の前にはtagを打つかバックアップを。",
      "一条折线只展示数值是不够的。图表要能切换时间范围，显示设备 ID、单位和最后更新时间；当设备离线时明确展示“无新数据”，而不是把旧数据画成实时状态。阈值告警里应带上设备、数值、时间和最近几次采样，方便直接定位。": "折れ線グラフは数値だけでは不十分です。時間範囲を切り替え、デバイスID・単位・最終更新時刻を表示し、オフライン時は古いデータをリアルタイムに見せず「新しいデータなし」と明示します。しきい値アラートにはデバイス、値、時刻、直近のサンプルを含め、原因をすぐ特定できるようにします。",
      "伤害、拾取、升级和失败都需要可感知的反馈，而且反馈应该分层：视觉（闪光/位移/粒子）、数值（飘字）、音效（可选）、状态（图标/血条）。反馈不是装饰，它承担着解释规则的任务——玩家看到\"为什么扣血\"才能学会规避。": "怪我、ピックアップ、アップグレード、失敗はすべて知覚されたフィードバックを必要とし、フィードバックはレイヤー化する必要があります。視覚(光/位置シフト/粒子)、数値(差別)、音(オプション)、状態(画像/ブロードバー)。 フィードバックは装飾的ではなく、ルールを説明する作業です。プレイヤーは「血がなぜか」を見て、回避策を学びます。",
      "查询；定期检查：多余账号、空密码、弱密钥、未授权 SUID、公开可写目录。给每个服务单独的运行用户、目录只给最小权限、密钥文件 600、配置文件 640，把这些写进部署清单，权限管理从\"会命令\"变成\"成体系\"。": "クエリ。定期的に、余分なアカウント、空のパスワード、弱い鍵、未認可のSUID、誰でも書き込めるディレクトリを確認する。サービスごとに実行ユーザーを分け、ディレクトリは最小権限、鍵ファイルは600、設定ファイルは640とし、デプロイチェックリストに記録することで、権限管理を場当たり的なコマンドから体系的な運用に変える。",
      "用 Python / Java、Web、MySQL、Redis 和 MQTT 完成课程项目与小型服务：独立交付智慧图书馆管理系统、校园二手交易平台和物联网数据采集平台，第一次跑通设备端到 Web 端的完整链路。": "Python/Java、Web、MySQL、Redis、MQTTで授業プロジェクトと小規模サービスを実装した。スマート図書館管理システム、学内フリマ、IoTデータ収集基盤を独力で提供し、デバイスからWebまでの一連のデータフローを初めて完成させた。",
      "界面只是交互的外壳。真正的交互设计要回答：用户带着什么目标来、下一步是否清楚、失败时是否被原谅、进步是否被看见。把交互当作产品的一部分来设计，而不是页面的一部分来装饰，才是从\"会写前端\"到\"会做产品\"的分水岭。": "インターフェースはインタラクションの外側にすぎない。優れた設計では、ユーザーの目的、次の手順の分かりやすさ、失敗からの復帰、進捗の見え方を考える。インタラクションをページの装飾ではなくプロダクトの一部として設計することが、フロントエンドを書くだけの段階からプロダクトを作る段階へ進む分かれ目だ。",
      "cherry-pick 把某个提交的改动复制到当前分支，适合\"hotfix 只挑修复提交上主干\"\"多分支同时需要同一个修复\"。注意 cherry-pick 会产生新 commit，与源提交哈希不同；连续多个提交用": "cherry-pickは特定のコミットの変更を現在のブランチにコピーします。「hotfixで修正コミットだけを主干に載せる」「複数ブランチが同じ修正を必要とする」ケースに適しています。cherry-pickは元のコミットとはハッシュが異なる新しいコミットを生成することに注意；連続する複数コミットは",
      "前端状态用单一数据源管理：当前 lesson、当前 item、作答队列、复习计划分开维护，UI 只读状态，操作走 action。这样\"上一题/下一题/返回列表\"的导航逻辑清晰，也方便加键盘快捷键和无障碍焦点管理。": "フロントエンドの状態は単一の正とするデータソースで管理する。現在のlesson、item、解答キュー、復習計画を分けて保持し、UIは状態を読み取り、変更はaction経由で行う。「前の問題／次の問題／一覧に戻る」のナビゲーションが明確になり、キーボードショートカットとアクセシブルなフォーカス管理も追加しやすい。",
      "原始数据适合按天归档，仪表盘则读取分钟或小时聚合值。实时曲线只保留最近窗口，历史趋势使用降采样结果，既降低查询压力，也让浏览器绘图更流畅。告警规则最好独立于页面：阈值、持续时间、冷却时间和恢复通知都应当可以配置。": "生データは日次でアーカイブし、ダッシュボードは分・時間単位の集計値を読む。リアルタイムグラフは直近の期間だけ保持し、履歴はダウンサンプリングしたデータを使うことで、クエリ負荷を下げてブラウザの描画を滑らかにする。アラートルールは画面から独立させ、しきい値・継続時間・クールダウン・復旧通知を設定可能にする。",
      "对文件和目录语义不同：文件上 r 可读内容、w 可写、x 可执行；目录上 r 可列目录、w 可增删改名、x 可进入（搜索路径）。没有 x 的目录，即使 r 也进不去。这些差异解释了\"为什么能看权限但打不开目录\"。": "ファイルとディレクトリでは意味が異なります：ファイルではrは内容の読み取り、wは書き込み、xは実行。ディレクトリではrは一覧表示、wは追加・削除・改名、xは進入（検索パス）です。xのないディレクトリは、rがあっても入れません。この違いが「権限は見えるのにディレクトリを開けない」理由を説明します。",
      "日志统一输出到 stdout，由日志采集器按天归档；数据库慢查询单独记录，配合 EXPLAIN 优化。证书到期前 30/7/3/1 天分级提醒，备份每天校验一次可读性，这两件事做到\"自动巡检\"，比任何大屏都实在。": "ログはstdoutへ統一して出力し、ログ収集ツールで日次アーカイブする。DBのスロークエリは別に記録し、EXPLAINで最適化する。証明書の期限30/7/3/1日前に段階的に通知し、バックアップは毎日読み取り可能か検証する。この2つを「自動点検」にすれば、どんな大画面より実用的だ。",
      "Roguelike 类游戏最怕玩到一半丢了进度。存档至少包含：关卡、玩家状态、职业树、已解锁项和时间戳，写入 localStorage 前做版本号标记。恢复时先校验数据完整，再按版本迁移，避免旧存档在新版本里崩溃。": "ローグライク系ゲームで最も怖いのは、途中で進行を失うことです。セーブには最低でも：ステージ、プレイヤー状態、スキルツリー、アンロック済み項目、タイムスタンプを含め、localStorageへ書き込む前にバージョンマーカーを付与。復元時はまずデータ整合性を検証し、バージョンごとに移行して、古いセーブが新バージョンでクラッシュしないようにします。",
      "产品上线后我重点看四类指标：日均练习数、复习完成率、错题回流率（错过的题是否再次正确）、留存。单个指标会骗人：练习数高但错题永远错，说明反馈没起作用。统计页把\"正确率提升\"放在显眼位置，比累计天数更能体现学习价值。": "リリース後は、1日あたりの練習数、復習完了率、誤答の再正解率（間違えた問題を後で正しく答えられたか）、継続率の4指標を見る。練習数だけでは判断を誤る。量が多くても同じ問題を間違え続けるなら、フィードバックが機能していない。累計日数より正答率の改善を目立たせた方が、学習価値を示しやすい。",
      "性能优化不能只靠\"感觉变快了\"。我用三个核心指标度量：LCP（最大内容绘制，代表加载速度）、CLS（累积布局偏移，代表稳定性）、INP（交互响应，代表可操作性）。优化前先记录基线，每次改动后对比，保证优化方向正确。": "パフォーマンス最適化は「速くなった気がする」だけでは評価できない。LCP（Largest Contentful Paint、読み込み速度）、CLS（Cumulative Layout Shift、表示の安定性）、INP（Interaction to Next Paint、操作応答性）の3指標を測る。変更前にベースラインを記録し、変更後と比較して改善方向を確認する。",
      "游戏难度不是把敌人血量无限调高。速度、刷新间隔、视野范围、奖励曲线和失败后的恢复成本都应该可以配置。把这些参数集中在数据文件中，调参就不必修改核心逻辑；同时记录一局游戏的随机种子，才能复现一个偶发的碰撞或得分异常。": "ゲームの難易度は敵のHPを無限に増やすことではない。速度、出現間隔、視野範囲、報酬曲線、失敗後の復帰コストを設定可能にし、パラメータをデータファイルへ集約して調整時にコアロジックを変更しないようにする。各プレイの乱数シードも記録し、まれな衝突やスコア異常を再現できるようにする。",
      "云厂商自带基础监控（CPU/带宽/磁盘），但应用层的健康要自己补：容器健康检查、证书到期、备份成功与否、磁盘写满。我的组合：云监控做基础设施告警 + 自建脚本做应用告警（飞书推送），覆盖\"机器活着但服务坏了\"的盲区。": "クラウドベンダーは基礎監視（CPU/帯域/ディスク）を提供しますが、アプリケーション層の健全性は自分で補う必要があります：コンテナヘルスチェック、証明書の期限切れ、バックアップ成否、ディスク満杯。私の組み合わせ：クラウド監視はインフラアラート、自作スクリプトはアプリアラート（Feishuプッシュ）——「マシンは生きているがサービスは壊れている」という盲点をカバー。",
      "头做路由分发。客户端请求到达 Nginx 后，Nginx 检查请求的域名或路径，然后透明地将流量转发到对应的后端服务。对客户端来说，看到的是同一个 IP 和端口；对后端服务来说，它们各自监听不同的内部端口，互不干扰。": "Nginxがルート振り分けを担う。リクエストが届くとホスト名またはパスを確認し、対応するバックエンドへ透過的に転送する。クライアントからは1つのIPとポートに見えるが、バックエンドはそれぞれ別の内部ポートで待ち受け、互いに干渉しない。",
      "每个卡片都应该服务于一个问题：服务是否在线？磁盘是否正在接近阈值？错误率是否突然上升？证书是否需要处理？如果一张图回答不了问题，就先补数据和上下文，而不是继续堆颜色。好的仪表盘不是信息最多，而是让下一步行动足够明确。": "各カードは1つの問いに答えるべきだ。サービスは稼働しているか、ディスクはしきい値に近いか、エラー率は急上昇したか、証明書の対応が必要か。グラフで答えられないなら色を増やすのではなく、データと文脈を補う。良いダッシュボードは情報量ではなく、次の行動を明確にする。",
      "点击按钮要有按下反馈，保存要有成功提示，失败要说明原因和下一步。反馈优先级：防止误操作的确认 > 操作成功的确认 > 装饰性动效。异步操作必须区分\"进行中、成功、失败\"三种状态，超过 1 秒的等待给出进度或取消入口。": "ボタンには押下フィードバック、保存には成功メッセージ、失敗には原因と次の手順を示す。優先順位は誤操作を防ぐ確認、操作成功の確認、装飾的なモーションの順とする。非同期処理は実行中・成功・失敗を区別し、1秒を超えて待たせる場合は進捗表示またはキャンセルを提供する。",
      "首先是系统初始化：更新软件源、安装 Docker 和 Docker Compose、配置非 root 用户。安全方面绝对不能马虎——修改 SSH 默认端口、禁用密码登录、开启 UFW 防火墙并安装 Fail2Ban。": "まずシステムを初期化する。パッケージソースを更新し、DockerとDocker Composeをインストールして、root以外のユーザーを設定する。セキュリティは妥協せず、SSHのデフォルトポート変更、パスワードログイン無効化、UFWファイアウォール有効化、Fail2Ban導入を行う。",
      "学习工具最容易做成\"内容仓库\"：词表、题集、统计都有，用户却不知道怎么开始。可持续学习依赖三个心理学机制：主动回忆（做题而不是重读）、间隔重复（在遗忘临界点复习）、反馈闭环（错误立即被解释）。产品设计应该围绕这三件事：": "学習ツールは「コンテンツ倉庫」になりがち：単語表、問題集、統計は揃っているのに、ユーザーはどう始めればいいか分からない。持続可能な学習は3つの心理メカニズムに依存：アクティブリコール（再読ではなく解答）、間隔反復（忘却の臨界点で復習）、フィードバックループ（誤答を即座に説明）。製品設計はこの3つを中心に据えるべき：",
      "校园推送最隐蔽的坑是\"今天到底是第几周\"。直接用系统日期减去开学日期会踩到补课、调休和法定节假日的坑。我把周次表做成配置文件，每学期人工维护一次：周一至周日为一周，特殊日期标记为\"放假\"或\"补课\"，推送逻辑只认这张表。": "キャンパスの最も隠されたピットは「今日の週」です。 直接システム日は、学校日は、リメディアクラス、休憩、正式な休日のためのピットのステップに使用されます。 毎週の集計を構成ファイルに変換し、セメスターから週1回(月〜日曜日)に手動で保存します。特別な日付は「リーブ」または「コンペンセーション」と表示され、ロジックはこのフォームのみを認識します。",
      "设备端应设置心跳、重连退避和本地缓存，服务端则记录连接、订阅、解析失败和消费延迟。排查问题时先确认网络，再确认认证，再确认 Topic 和 payload，最后才看业务代码。把协议问题拆层定位，通常比盲目重启设备更快。": "デバイス側はハートビート、再接続バックオフ、ローカルキャッシュを設定し、サーバー側は接続、購読、パース失敗、消費遅延を記録します。問題調査はまずネットワーク、次に認証、その次にTopicとペイロード、最後にビジネスコードを確認します。プロトコルの問題をレイヤーごとに切り分けるのは、闇雲にデバイスを再起動するより速いことが多いです。",
      "Payload 里常见的声明：sub（用户 id）、exp（过期时间）、iat（签发时间）、jti（唯一 id，用于黑名单）。不要放密码等敏感信息，Payload 只是 base64 编码，任何人都能解码，只是无法篡改。": "JWTのPayloadでよく使うクレームはsub（ユーザーID）、exp（有効期限）、iat（発行時刻）、jti（ブラックリスト用の一意ID）だ。パスワードなどの機密情報は入れない。PayloadはBase64でエンコードされているだけなので誰でもデコードでき、署名なしでは改ざんできても検知される。",
      "我把几次真实故障（证书续签失败、磁盘写满、容器 OOM）写成了复盘：现象、时间线、根因、修复、预防。每次复盘都补一条自动化检查或告警，系统因此越来越\"懂事\"。架构的价值不在于一次搭得多完美，而在于每次故障后都变得更可靠。": "実際に起きた障害（証明書更新失敗、ディスク満杯、コンテナOOM）を、現象・タイムライン・根本原因・対応・予防の観点で振り返りとして記録した。振り返りのたびに自動チェックかアラートを1つ追加するため、システムはより堅牢になる。アーキテクチャの価値は最初から完璧であることではなく、障害のたびに信頼性が上がることにある。",
      "时间字段要统一时区，分类字段要处理空格、大小写和别名，数值字段则要区分“没有测量”和“测量结果为零”。对于重复记录，可以依据业务主键去重，而不是简单按整行比较。最终输出同时保存数据字典和处理版本，后续的图表才有解释基础。": "タイムフィールドは統一され、分類フィールドはスペース、ケース、エイリアス、数値フィールドを「測定値」と「ゼロ測定」と区別することです。 重複レコードの場合、単純に行ごとの比較ではなく、重みはメインキーに基づいて行うことができます。 最終的な出力は、データ辞書と処理バージョンの両方を保存します。その後のチャートは説明的です。",
      "AI 可以帮助生成例句、检查重复和提示难度，但不应直接决定学习结论。生成内容需要经过格式校验、敏感词过滤和人工抽查；用户的错题和学习记录则应最小化收集，导出与删除都要有明确入口。把这些边界写进设计里，产品才会既好用又可信。": "AIは例文生成、重複チェック、難易度提示を支援できますが、学習結論を直接決定すべきではありません。生成コンテンツは形式検証、機密語フィルタリング、人手による抜き打ちチェックを経由。ユーザーの誤答と学習記録は最小限の収集に留め、エクスポートと削除の明確な入口を用意。これらの境界を設計に書き込むことで、製品は使いやすく信頼できるものになります。",
      "Redis 默认可能落盘，也可能只跑内存，取决于配置。RDB 适合做快照备份，AOF 适合少丢数据；个人项目我开 AOF（everysec）+ 定期 RDB，重启后数据可恢复。安全上必须：绑定内网、设置密码、禁用危险命令（": "Redis のデフォルトでは、設定に応じてディスクをドロップするか、メモリだけを実行できます。 スナップショットバックアップ用のRDB、低落下データ用のAOF。 AOF(everysec)+定期的なRDB、再始動可能なデータ。 安全には、内部ネットワークの結合、パスワードの設定、ハザードコマンドの禁止が含まれます。",
      "我把这套设计体系应用到了个人网站的首页、博客、项目展示和仪表盘四个页面。暗色模式下的玻璃效果更加惊艳——深色半透明背景配合微弱的白色边框，科技感拉满。整个站点在视觉上保持了高度统一，访客反馈\"看起来像 Apple 官网\"。": "このデザインシステムを個人サイトのホームページ、ブログ、プロジェクト紹介、ダッシュボードの4ページに適用しました。ダークモードでのガラス効果はさらに際立ちます——暗い半透明背景に微かな白い枠線、テクノロジー感が全開です。サイト全体のビジュアルは高度に統一され、訪問者からは「Apple公式サイトのようだ」とのフィードバックも。",
      "液态玻璃通常由半透明背景、边框、高斯模糊和柔和阴影组成，但这些效果叠加后很容易造成文字对比度不足。实现时应先保证内容层级和颜色对比，再逐步添加 blur、渐变和高光；深色主题不能只把背景变黑，还要重新校准边框和阴影的亮度。": "液体ガラスは通常、半透明背景、枠線、ガウスぼかし、柔らかい影で構成されますが、これらの効果を重ねると文字のコントラスト不足になりがち。実装時はまずコンテンツ階層と色のコントラストを確保し、その後にblur、グラデーション、ハイライトを段階的に追加。ダークテーマは背景を黒くするだけではなく、枠線と影の明るさも再調整が必要です。",
      "视觉风格只是入口，真正决定网站是否耐用的是交互节奏。个人站点同时承担作品集、博客、工具箱和实验项目入口，如果每个页面都像不同项目拼在一起，访问者会失去方向。因此我把导航、玻璃卡片、间距、颜色和动效抽成一套可复用的视觉语言。": "ビジュアルスタイルは入口にすぎず、サイトを使い続けられるかを決めるのはインタラクションのリズムだ。個人サイトはポートフォリオ、ブログ、ツールボックス、実験への入口を兼ねるため、ページごとに別プロジェクトのようだと訪問者は迷う。そこでナビゲーション、グラスカード、余白、色、動きを再利用可能なビジュアル言語にまとめた。",
      "在移动端还要考虑触摸区域、设备性能和页面可见性。切到后台时暂停计时器，恢复时重新计算时间差；高密度粒子效果则根据设备像素比和帧率动态降级。对我来说，游戏实验的价值不只是“能玩”，而是练习状态机、事件系统、性能分析和用户反馈。": "モバイルではタッチ領域、端末性能、ページの表示状態も考える。バックグラウンドへ移ったらタイマーを止め、復帰時に経過時間を再計算する。高密度のパーティクルはデバイスピクセル比とフレームレートに応じて動的に削減する。ゲーム実験の価値は遊べることだけでなく、ステートマシン、イベントシステム、性能分析、ユーザーフィードバックを練習できる点にある。",
      "现在我们的仓库配置了 GitHub Actions，每次 Push 到 develop 分支自动运行测试和 Lint，合并到 main 后自动部署。一套完整的工作流让代码质量有了基本保障，也少了很多\"在我电脑上能跑\"的扯皮。": "現在のリポジトリにはGitHub Actionsを設定している。developへのpushごとにテストとLintを実行し、mainへのマージで自動デプロイする。一連のワークフローが最低限の品質ゲートとなり、「自分のPCでは動く」という問題も減らせる。",
      "借阅量按日、按周、按分类聚合，逾期率与归还准时率是最能反映系统健康度的指标。数据量预估后，把归档历史借阅移到按月分区表，索引与查询都更有针对性。系统设计之初就把\"将来会有多少数据、多久查一次\"想清楚，比上线后被迫重构舒服得多。": "貸出量は日次、週次、カテゴリ別に集計し、延滞率と返却遅延率はシステム健全性を最もよく反映する指標。データ量を見積もった上で、アーカイブ済みの過去貸出を月次パーティションテーブルに移し、インデックスとクエリをより的を絞ったものに。「将来どれだけのデータが、どの頻度で照会されるか」を設計段階で考えることは、リリース後に強制的なリファクタリングを強いられるよりはるかに楽です。",
      "我的个人博客上线后，用 Chrome DevTools 的 Lighthouse 跑了一次——性能评分只有 42 分，First Contentful Paint 高达 2.8 秒。一个纯静态的博客首页，这个速度完全不能接受。": "個人ブログを公開後、Chrome DevToolsのLighthouseを一度実行しました——パフォーマンススコアはわずか42点、First Contentful Paintは2.8秒。純粋な静的ブログページとしては到底受け入れられません。",
      "每个任务记录开始、结束时间和结果，日志带 task_id，跨请求追踪一条链路。定期清理超过保留期的结果文件与数据库记录；磁盘使用率超过阈值时，优先清理最旧的已完成任务。把\"转换失败\"变成可诊断的事件，而不是一个神秘的 500。": "各タスクは開始時刻、終了時刻、結果を記録し、ログにはtask_idを付与してリクエストをまたいだトレースを可能に。保持期間を超えた結果ファイルとデータベースレコードは定期削除し、ディスク使用率が閾値を超えたら、最古の完了済みタスクから優先的にクリーンアップ。「変換失敗」を謎の500ではなく、診断可能なイベントにします。",
      "部署过程中遇到不少问题：Docker 容器内时区不对导致日志时间混乱、MySQL 连接数超限、以及 Certbot 验证文件路径配置错误。每次踩坑都是一次学习，现在整个部署流程已经形成了一套可复用的模板，新项目接入只需几分钟。": "デプロイでは、Dockerコンテナ内のタイムゾーンが違ってログ時刻が乱れる、MySQLの接続数上限に達する、Certbotの検証ファイルパスを誤る、といった問題が起きた。失敗のたびに学びを反映し、今ではデプロイ全体を再利用可能なテンプレートにしているため、新しいプロジェクトも数分で導入できる。",
      "个人站点可以把公开页面和 API 都放在 443 入口，后端容器只加入内部网络。服务数量增加后，应将重复的代理头、超时和大小限制抽成统一习惯，并为每条路径写一条最小化的验收命令。配置不是部署结束后的附属品，而是系统边界的一部分。": "個人サイトでは公開ページとAPIの両方を443入口に置き、バックエンドコンテナは内部ネットワークのみに参加させます。サービス数が増えたら、繰り返しのプロキシヘッダー、タイムアウト、サイズ制限を統一的な規約に抽出し、各パスに最小限の受入れコマンドを1本ずつ用意。設定はデプロイ後の付属品ではなく、システム境界の一部です。",
      "告警分级：P1 服务不可用（立即处理）、P2 部分功能受损（2 小时内）、P3 容量预警（次日）。个人项目 P1 基本只有\"站点挂了\"，把精力花在 P1 的自动恢复（systemd 自启、容器自动重启、健康检查）上，性价比最高。": "アラートを段階化する。P1はサービス停止で即時対応、P2は一部機能の障害で2時間以内、P3は翌日に備える容量警告とする。個人プロジェクトのP1はほぼ「サイト停止」なので、systemdの自動起動、コンテナ再起動、ヘルスチェックによる自動復旧に注力するのが最も効果的だ。",
      "库 | | 多个定时任务、复杂调度 | APScheduler | | 需要崩溃重启、开机自启 | APScheduler + systemd | | 分布式任务（多机器） | Celery + Redis/RabbitMQ |": "ライブラリ | | 複数の定期タスク、複雑なスケジューリング | APScheduler | | クラッシュ再起動、起動時自動実行 | APScheduler + systemd | | 分散タスク（複数マシン） | Celery + Redis/RabbitMQ |",
      "消息内容最好有稳定结构：日期、天气、课程时间、地点和备注分组展示，空数据明确写“暂无安排”。Webhook 地址等敏感配置放在环境变量中，日志只记录状态和任务 id，不输出完整密钥。脚本退出码要反映成功或失败，方便外层监控捕获。": "メッセージには安定した構造が望ましい：日付、天気、授業時間、場所、備考をグループ表示し、データが空の場合は「予定なし」と明示。Webhook URLなどの機密設定は環境変数に置き、ログに完全な値を出力しない。",
      "matplotlib 是 Python 可视化的基石。折线图看趋势、柱状图做对比、散点图找关联。配合 seaborn 可以让图表更美观。在实际项目中，我用它绘制了传感器数据的日变化曲线和异常检测结果，把枯燥的数字变成了直观的图形。": "MatplotlibはPython可視化の基盤だ。折れ線グラフで傾向、棒グラフで比較、散布図で相関を示し、Seabornで見た目を整えられる。実プロジェクトではセンサーデータの日変化と異常検知結果を描画し、数字を直感的なグラフに変えた。",
      "从设备数据采集、清洗、聚合到可视化和模型调用都跑过完整链路：ESP32 传感器数据进 MySQL、pandas 做可复现分析、ECharts 出大屏，并基于 LLM / RAG 做过文档问答与提示词评测，能设计数据字典和校验规则。": "デバイスデータの収集・クリーニング・集約から可視化・モデル呼び出しまで一気通貫で経験：ESP32センサーデータをMySQLに格納し、pandasで再現可能な分析、EChartsでダッシュボードを構築。LLM / RAGベースのドキュメントQAやプロンプト評価も実施し、データディクショナリと検証ルールを設計できます。",
      "仪表盘加一条事件时间线：部署、重启、证书续签、备份完成、告警触发都成为带时间戳的事件。故障排查时先看时间线（今天发生了什么变更），再看指标异常，通常几秒就能定位根因。这套做法是我从\"数字对不对\"到\"系统为什么变成这样\"的关键一步。": "ダッシュボードにイベントタイムラインを追加し、デプロイ・再起動・証明書更新・バックアップ完了・アラート発火をタイムスタンプ付きで記録する。障害調査ではまず今日の変更をタイムラインで確認し、その後に異常なメトリクスを見ると、数秒で根本原因を絞り込めることが多い。「数字は合っているか」から「なぜこうなったか」へ視点を進める重要な一歩だ。",
      "我的站点经历了\"单文件 → 单服务 → 多服务\"的演进。拆分的标准不是代码行数，而是三个问题：独立扩容需求、独立故障域、独立生命周期。博客和工具箱的访问模式不同，拆分后互不影响；仪表盘要读宿主指标，单独一个容器更容易控制挂载权限。": "私のサイトは「単一ファイル→単一サービス→複数サービス」と進化してきました。分割の基準はコード行数ではなく、3つの問いです：独立したスケールアウトが必要か、独立した障害ドメインか、独立したライフサイクルか。ブログとツールボックスはアクセスパターンが異なり、分割すれば互いに影響しません。ダッシュボードはホストのメトリクスを読む必要があるため、単独コンテナにすればマウント権限を制御しやすくなります。",
      "新机器到手按清单初始化：更新系统、创建低权限用户、SSH 改端口 + 密钥登录 + 禁用密码、安装 fail2ban、配置时区、开防火墙（UFW）、关闭不必要的服务。每一步记录到部署手册，之后每次重装都走同一套清单，而不是靠记忆。": "新しいマシンはチェックリストで初期化する。システム更新、低権限ユーザー作成、SSHポート変更、鍵認証、パスワードログイン無効化、fail2ban導入、タイムゾーン設定、UFW有効化、不要サービス停止を行う。各手順をデプロイ手順書に記録し、再インストールのたびに同じチェックリストを使う。",
      "转换服务的核心不是调用 LibreOffice，而是把不可靠的外部进程封装成可控的任务。请求进入后先校验扩展名和大小，再生成唯一任务目录；转换进程使用超时、独立临时目录和最小权限运行，完成后只返回结果文件，不让用户接触服务器路径。": "変換サービスの核心はLibreOfficeを呼ぶことではなく、信頼できない外部プロセスを制御可能なタスクとして包むことだ。まず拡張子とサイズを検証し、固有のタスクディレクトリを作る。変換はタイムアウト・隔離した一時ディレクトリ・最小権限で実行し、完了後は結果ファイルだけを返してサーバーパスを公開しない。",
      "HS256 用共享密钥，简单但所有验证方共享同一个密钥，泄漏等于全线失守；RS256 用非对称，服务 A 用私钥签发，服务 B/C 用公钥验证，适合微服务。选择要点：单服务小项目 HS256 够用，多服务或第三方验证用 RS256。": "HS256の特長 共有キー、シンプルながら、すべての認証パーティーによって共有され、フルラインの故障と同じです。 RS256の非対称、サービス A は秘密鍵として発行され、サービス B/C はパブリックキーとして認証され、マイクロサービスに適しています。 選択ポイント: 単一サービス小さい項目HS256十分に、複数のサービスか第三者の証明RS256。",
      "LibreOffice 对超大文件可能卡死，转换进程必须设超时（比如 120 秒），超时后 kill 子进程并清理半成品。失败重试有次数上限，重试前检查输入文件是否仍存在；下载接口幂等——同一任务多次下载返回同一文件，不重复扣配额。": "LibreOfficeは超大ファイルでハングする可能性があるため、変換プロセスにはタイムアウト（例：120秒）を設定し、タイムアウト後は子プロセスをkillして中途半端な成果物をクリーンアップ。リトライは回数上限付きで、毎回入力ファイルの存在を確認。ダウンロードAPIは冪等——同一タスクを何度ダウンロードしても同じファイルを返し、クォータを二重に消費しない。",
      "传感器数据的特点是\"写多、按时间查多\"。小规模项目 MySQL 完全够用：按设备 + 时间建复合索引，分钟级聚合表满足仪表盘查询。数据量上来后再换时序数据库，或者用分区表归档历史数据。不要一上来就引入复杂组件，先让最简单的方案跑通。": "センサーデータは書き込みが多く、時刻で検索することも多い。小規模ならMySQLで十分で、デバイスと時刻の複合インデックスと分単位の集計テーブルでダッシュボードを賄える。データ量が増えてから時系列DBやパーティションテーブルによる履歴アーカイブへ移行すればよく、最初から複雑なコンポーネントを持ち込まず、まずは最小構成を動かす。",
      "纯文本消息只能通知，卡片才能承载交互。飞书卡片支持文本、图片、按钮、链接、进度条等元素，JSON 结构清晰。我把卡片按场景分成模板：告警卡片（红条 + 指标 + 操作按钮）、日报卡片（表格 + 跳转链接）、确认卡片（按钮触发回调）。": "プレーンテキストのメッセージは通知しかできませんが、カードはインタラクションを担えます。Feishuカードはテキスト、画像、ボタン、リンク、プログレスバーなどの要素をサポートし、JSON構造も明確です。カードをシーンごとに整理し",
      "部署前先校验环境变量、磁盘空间、端口占用和镜像版本；部署中记录每个服务的拉取、启动和健康检查结果；部署后访问首页、API 和静态资源，并保留最近一次成功版本。出现异常时，脚本应该能够停止后续步骤并给出回滚命令，而不是继续执行到一半。": "デプロイ前：環境変数、ディスク容量、ポート使用状況、イメージバージョンを検証。デプロイ中：各サービスの取得、起動、ヘルスチェック結果を記録。デプロイ後：ホームページ、API、静的リソースにアクセスし、最後に成功したバージョンを保持。異常発生時はスクリプトが後続ステップを停止し、ロールバックコマンドを提示する——途中まで実行し続けない。",
      "阿里云安全组是独立于系统的防火墙。原则是\"只放必要的入站\"：80/443 给 Web，22 只允许自己的 IP（或改端口），数据库、Redis 端口一律不放公网。安全组规则修改立即生效，先最小开放再按需加白名单，比事后补救安全得多。": "AliyunのセキュリティグループはOSとは独立したファイアウォールだ。必要な受信だけを許可し、Webは80/443、SSHは自分のIP（または変更したポート）に限定する。DBとRedisのポートは公開しない。ルールは即時反映されるため、最小限で開けて必要なものだけ追加する。",
      "MQTT 的 QoS 只解决传输确认，不代表业务数据一定不会重复。消费者应使用消息 id 或设备时间戳做幂等处理；断线重连时从持久化会话继续消费，并把解析失败的原文放进隔离队列，方便人工检查。这样设备网络波动不会直接变成数据库脏数据。": "MQTTのQoSが保証するのは転送確認であり、業務データの重複を防ぐものではない。コンシューマーはメッセージIDまたはデバイス時刻で冪等性を確保し、再接続後は永続セッションから消費を再開する。解析できないペイロードは隔離キューに入れて確認できるようにし、ネットワークの揺らぎがDBの汚れたデータにならないようにする。",
      "先实现可解释的简化版本：连续答对 → 间隔翻倍（1/3/7/14 天）；答错 → 间隔归 1 天并进入\"近期复习\"池；跳过 → 视为弱答，稍后重现。等积累了上千条 attempt 数据，再引入 SM-2 或 FSRS 之类的成熟算法。": "最初に説明できる簡略化されたバージョン: 連続回答倍間隔 (1/3/7/14 日)。 誤った回答は 1 日分に分割し、 `near term' プールを入力する。 `near term' をスキッピングすると弱くなり、繰り返します。 SM-2やFSRSなど、何千もの試みデータが蓄積され、成熟したアルゴリズムが導入される。",
      "同一份数据按生命周期存三层：原始明细（保留 30 天，按设备 + 时间索引）、小时/天聚合（保留 1 年，供仪表盘查询）、月度归档（压缩存储）。查询先打聚合表，需要下钻再查明细。这样既保证告警能看秒级数据，又不会让历史数据把查询拖垮。": "データをライフサイクルで3層に保存する。生の詳細（30日保持、デバイスと時刻で索引）、時間/日次集計（1年保持、ダッシュボード用）、月次アーカイブ（圧縮保存）に分ける。通常は集計表を検索し、必要なときだけ詳細へドリルダウンする。秒単位のアラートデータを確認しつつ、履歴でクエリを遅くしない。",
      "开通\"到期/欠费提醒\"，设置按量资源的额度告警；镜像和快照按需清理，日志按天压缩短存。容量规划看增长趋势：带宽、磁盘、内存的月均使用率，超过 70% 提前扩容或优化，而不是等故障发生。服务器是从零到一的路，运维是把这条路走稳的长期工作。": "「期限切れ/未払いリマインダー」を有効化し、従量課金リソースにクォータアラートを設定。イメージとスナップショットは必要なときに整理し、ログは日次圧縮で短期保存。容量計画は成長トレンドを見ます：帯域、ディスク、メモリの月間平均使用率が70%を超えたら、障害を待つ前に拡張または最適化。サーバーはゼロから1への道であり、運用はその道を安定して歩き続ける長期的な仕事です。",
      "把博客、课程笔记、项目文档和故障记录统一索引：先以全文搜索建立基础，再为文档切片生成向量索引，检索时混合召回并做重排，结果带原文引用回链，方便直接回到出处。索引构建、切片策略与查询评测都有脚本记录，是 RAG 应用与知识管理结合的实践。": "ブログ、講義ノート、プロジェクト資料、障害記録を統合インデックス化：まず全文検索を基盤に据え、ドキュメントをチャンク化してベクトルインデックスを生成。検索時はハイブリッドで候補を取得してリランクし、結果には原文引用のバックリンクを付けて出典へすぐ戻れる。インデックス構築、チャンク戦略、クエリ評価はすべてスクリプトで記録し、RAGアプリと知識管理を組み合わせた実践。",
      "数据备份不是可选项。数据库每日全量 + 远程加密存储，网站源码进 Git，证书与配置定期归档。每月做一次恢复演练：从空机器按文档恢复，验证数据完整、服务可用。发现文档缺步骤就补上——恢复演练的产出不是\"成功了\"，而是\"每一步都可执行\"。": "データバックアップはオプションではありません。データベースは毎日フルバックアップ+リモート暗号化ストレージ、サイトのソースはGit、証明書と設定は定期的にアーカイブ。毎月1回、復旧訓練を実施：空のマシンからドキュメントに従って復元し、データの完全性とサービス可用性を検証。ドキュメントに手順が足りなければ補足します——復旧訓練の成果は「成功した」ではなく、「すべてのステップが実行可能であること」です。",
      "温湿度这种高频数据可以接受少量丢失，QoS 0 或 QoS 1 通常已经足够；门锁指令、升级命令等关键消息则要考虑更高可靠性，同时处理重复投递。选择 QoS 时要结合带宽、电量、Broker 能力和业务后果，而不是把“2”当成默认答案。": "温湿度のような高頻度データは多少の欠損を許容できるため、通常はQoS 0またはQoS 1で十分だ。ドアロック操作やファームウェア更新など重要なメッセージでは、より高い信頼性と重複処理を考える。QoSは帯域、電池、Brokerの性能、業務上の影響を踏まえて選び、「2」を初期値にしない。",
      "Let's Encrypt 证书有效期 90 天，手工续签注定会忘。Certbot 的流程：HTTP-01 验证（在站点路径放挑战文件）或 DNS-01 验证（改 TXT 记录，支持通配符）。续签后 Nginx 重载，证书文件按日期归档，": "Let's Encryptの証明書は90日間有効で、手動更新は必ず忘れます。Certbotの流れ：HTTP-01検証（サイトのパスにチャレンジファイルを置く）またはDNS-01検証（TXTレコードを変更、ワイルドカード対応）。更新後にNginxをリロードし、証明書ファイルは日付ごとにアーカイブ、",
      "前后端分离项目尤其要注意配置来源：浏览器可见的地址写在构建配置里，数据库密码和 Webhook 只放在运行时环境变量中。镜像使用固定标签或摘要，避免“latest”在不同时间指向不同内容。日志和构建产物保留短周期即可，但版本号必须可追溯。": "フロントエンド/バックエンド分離プロジェクトは設定の出所に特に注意：ブラウザから見えるURLはビルド設定に、データベースパスワードとWebhookはランタイム環境変数のみに置く。イメージは固定タグまたはダイジェストを使用し、「ビルド時と実行時でバージョンが異なる」を防止。",
      "我给个人站点定了一个简单 SLO：30 天可用性 ≥ 99%，P95 响应 < 500ms，备份成功率 100%。SLO 的意义不是\"目标必须 100%\"，而是让\"要不要半夜起来处理\"有依据：低于 99% 就进入人工检查，高于则保持告警。": "個人サイトには、30日間の可用性99%以上、P95応答500ms未満、バックアップ成功率100%というシンプルなSLOを設定した。SLOの意義はすべてを100%にすることではなく、夜中に対応するかを根拠で判断できることだ。99%を下回ったら手動調査に入り、それ以外は監視とアラートを維持する。",
      "日志不是越多越好，而是每行都有用：请求日志带方法、路径、状态、耗时、来源 IP；应用日志区分 INFO/WARNING/ERROR。按天归档 + 压缩，保留 30 天；搜索按时间范围过滤，先缩小范围再查关键字。个人项目不需要上 ELK，用": "ログは多ければ良いというものではなく、各行に価値があるべきです：リクエストログにはメソッド、パス、状態、所要時間、送信元IPを記載し、アプリケーションログはINFO/WARNING/ERRORを区別します。日次アーカイブ+圧縮で30日間保持；検索は時間範囲で絞り込んでからキーワードを検索します。個人プロジェクトにELKは不要で、",
      "逾期罚款涉及读者类型（学生/教职工）、节假日顺延和封顶金额。把这些规则写成数据表而不是散落在代码里：读者类型表定义最大借阅数与借期，罚款规则表定义每日金额与封顶，节假日表标记顺延日期。计算逾期时传入规则版本，改规则不影响历史记录的正确性。": "延滞料金は利用者区分（学生／教職員）、祝日による延長、上限額に左右される。ルールをコードに散在させず、データテーブルとして管理する。利用者区分テーブルには最大貸出数と貸出期間、罰金ルールテーブルには日額と上限、祝日テーブルには延長日を定義する。延滞計算にルールのバージョンを渡せば、ルール変更が過去の記録に影響しない。",
      "| 权限 | 文件 | 目录 | |------|------|------| | r (4) | 读取文件内容 | 列出目录内容 | | w (2) | 修改文件内容 | 创建/删除文件 | | x (1) | 执行文件 | 进入目录 |": "| 権限 | ファイル | ディレクトリ | |---|---|---| | r (4) | ファイル内容を読む | ディレクトリ一覧を表示 | | w (2) | ファイル内容を変更 | ファイルを作成・削除 | | x (1) | 実行 | ディレクトリに入る |",
      "个人网站最容易陷入一种状态：页面越做越多，部署却仍然靠手动复制文件。每次改动都可能影响其他页面，出了问题也很难知道到底是前端、代理还是后端出了问题。我的做法是把网站当成一座小型平台来建设，让每项能力有自己的边界，再用统一入口把它们连接起来。": "個人サイトが最も陥りやすい状態は、ページが増えていくのにデプロイが依然として手動のファイルコピーに頼っていることです。変更のたびに他のページへ影響が出る可能性があり、問題が起きてもフロントエンドなのかプロキシなのかバックエンドなのか特定しづらいものです。私のやり方は、サイトを小さなプラットフォームとして構築し、各機能に自分の境界を持たせ、統合エントリでそれらをつなぐことです。",
      "同步接口适合小文件，超过阈值就应该进入异步队列。任务状态至少包含 queued、running、succeeded、failed 四种状态，并记录耗时、输入大小、输出大小和错误摘要。即使转换失败，也要清理临时文件，避免磁盘被半成品慢慢占满。": "同期APIは小さなファイル向けで、しきい値を超えたら非同期キューへ入れる。タスク状態はqueued・running・succeeded・failedの4つ以上を持ち、所要時間、入力サイズ、出力サイズ、エラー概要を記録する。変換に失敗しても一時ファイルを削除し、未完成ファイルでディスクが徐々に埋まらないようにする。",
      "我把备份分成三类：源码和配置用于重建服务，镜像用于缩短恢复时间，命名卷用于保留业务数据。证书和日志属于敏感或高增长内容，需要单独设置权限与保留周期。SHA-256 清单用于确认传输过程中没有损坏，恢复脚本则要求输入明确的确认词，避免误操作。": "バックアップを3分類：ソースと設定はサービス再構築用、イメージは復旧時間短縮用、名前付きボリュームは業務データ保持用。証明書とログは機密または高成長コンテンツのため、専用の権限と保持期間を設定。SHA-256マニフェストで転送中の破損を検出し、復元スクリプトは明確な確認語の入力を要求して誤操作を防止。",
      "把 CSV、日志和传感器数据整理成可复现的分析流程：清洗阶段记录缺失值与类型转换，探索阶段生成指标与特征，最后输出交互式图表和分析报告。分析步骤全部写成可重复执行的函数，输入与结果带版本号；既能做一次性分析，也能沉淀成团队可复用的分析模板。": "CSV、ログ、センサーデータを再現可能な分析フローに整理：クリーニング段階で欠損値と型変換を記録し、探索段階で指標と特徴量を生成、最後にインタラクティブなグラフと分析レポートを出力。分析ステップはすべて再実行可能な関数として書き、入力と結果にバージョン番号を付与。一回きりの分析にも、チームで再利用できる分析テンプレートの蓄積にも対応。",
      "推送必须幂等：发送前先查\"今天是否已推送\"，成功后记录到状态文件或数据库。Cron 重复触发、脚本重启、手动补跑都不会重复刷屏。发送失败则进入有限重试队列，重试之间指数退避，最后仍然失败才发告警——直接发失败告警会在大面积故障时把群聊刷爆。": "配信は冪等にする。送信前に「今日すでに配信したか」を確認し、成功後はステータスファイルまたはDBに記録する。Cronの重複実行、スクリプト再起動、手動再実行でも通知を重複させない。失敗時は上限付きキューで指数バックオフを行い、最後まで失敗したときだけアラートを出す。そうしないと大規模障害でグループチャットが通知で埋まる。",
      "每次分析前先生成一份数据质量报告：字段清单、缺失率、重复率、取值分布、异常值数量。这份报告让\"数据能不能用\"有据可依，也让别人能复现你的判断。清洗后把中间结果落盘（CSV/Parquet）并带版本号，分析结论和原始数据之间保持可追溯的路径。": "各分析は、フィールドのリスト、欠落率、繰り返し率、取られた値の分布、異常値の数のレポートによって優先されました。 このレポートは、データが使用できるかどうかの証拠を与え、他の人があなたの判断を繰り返すことを可能にします。 洗浄後、中間結果がバージョン番号で低下(CSV/Parquet)され、結論と生データの間の追跡可能なパスが行われます。",
      "浏览器游戏最容易失控的地方，是输入、物理、渲染和数值逻辑全部写在同一个循环里。更稳妥的做法是把一帧拆成几个明确阶段：先读取输入，再更新世界状态，接着处理碰撞和事件，最后渲染当前状态。渲染层只负责“画什么”，不直接修改生命值、经验或关卡进度。": "ブラウザゲームは、入力・物理・描画・数値ロジックを1つのループに詰め込むと制御しにくくなる。1フレームを、入力の読取→ワールド状態の更新→衝突とイベントの処理→現在状態の描画という明確な段階に分ける。描画層は「何を描くか」だけを担当し、HP・経験値・レベル進行を直接変更しない。",
      "用 Canvas、SVG 与 WebGL 研究空间布局、动画、数据叙事与可访问交互：把复杂数据组织成可探索的视觉界面，支持缩放、筛选与详情下钻。动画遵循信息层级，提供减少动态效果的降级方案；所有图形都带可读的文本替代，兼顾视觉表达与无障碍。": "Canvas、SVG、WebGLで空間レイアウト、アニメーション、データストーリーテリング、アクセシブルなインタラクションを研究：複雑なデータを探索可能なビジュアルインターフェースに整理し、ズーム、フィルタリング、詳細へのドリルダウンをサポート。アニメーションは情報の階層に従い、動きを減らすフォールバックも提供。すべてのグラフィックに読み取り可能な代替テキストを用意し、視覚表現とアクセシビリティを両立。",
      "脚本稳定运行一个月之后，我给它加了三类监控：日志记录每次执行的任务 id、耗时与结果；状态文件记录最近成功时间；外层定时任务每 10 分钟检查一次\"今天是否已推送\"，超时未推送就告警。这样即使脚本静默崩溃，也会有人在 10 分钟内被叫起来。": "スクリプトが1ヶ月安定稼働した後、3種類の監視を追加：ログは毎回の実行タスクID、所要時間、結果を記録。ステータスファイルは最終成功時刻を記録。外部の定期タスクが10分ごとに「今日配信されたか」を確認し、超過していたらアラート。スクリプトが静かにクラッシュしても、10分以内に誰かが起こされます。",
      "认证（JWT）与授权（RBAC）在中间件统一处理；输入校验白名单优先；限流按 IP 与用户两个维度；所有写操作审计；CORS 只放行可信来源；敏感字段（密码、令牌）永不进响应与日志。API 设计的一半是业务语义，另一半是\"如何被安全地调用\"。": "認証（JWT）と認可（RBAC）はミドルウェアで統一的に処理。入力検証はホワイトリスト優先。レート制限はIPとユーザーの2次元で実施。すべての書き込み操作を監査。CORSは信頼できるオリジンのみ許可。機密フィールド（パスワード、トークン）はレスポンスとログに決して入れない。API設計の半分はビジネスセマンティクス、残り半分は「安全に呼び出される方法」です。",
      "def fibonacci(n): \"\"\"生成斐波那契数列\"\"\" a, b = 0, 1 result = [] for _ in range(n): result.append(a) a, b = b, a + b return result": "Def fibonacci (n): \"\"a, b = 0, 1 result =[ ] for _ inrange: result.append(a) a, b = b, + b 戻り結果",
      "定时推送脚本至少要处理四件事：输入文件缺失、网络请求超时、重复执行和消息发送失败。先解析并校验数据，再生成当天消息；请求使用超时和有限重试，成功后写入执行记录，下一次运行时跳过已发送日期。这样即使 Cron 重复触发，也不会给群聊刷出重复通知。": "定期通知スクリプトでは、入力ファイルの欠落、ネットワークタイムアウト、重複実行、メッセージ送信失敗の少なくとも4点を扱う。データを解析・検証してから当日のメッセージを生成し、タイムアウトと回数制限付きリトライを使う。成功した実行を記録し、次回は送信済みの日付をスキップすれば、Cronが重複起動しても同じ通知を二重送信しない。",
      "检查语法，再执行平滑 reload。验证时不要只打开首页，还要分别请求静态资源、博客 API、带参数的接口和不存在的路径，确认缓存头、错误页和安全响应头都符合预期。日志中记录 upstream 状态码和响应时间，才能判断问题发生在入口还是后端。": "設定を確認してからgraceful reloadを実行する。検証ではホームページだけでなく、静的リソース、ブログAPI、パラメータ付きエンドポイント、存在しないパスもリクエストし、キャッシュヘッダー・エラーページ・セキュリティヘッダーが想定どおりか確認する。upstreamのステータスと応答時間をログに残せば、入口とバックエンドのどちらで問題が起きたか判断できる。",
      "需要理解 TCP/IP 协议栈的基础，重点是 MQTT 协议——它是物联网通信的事实标准。此外，CoAP 适用于资源受限设备，HTTP/2 和 WebSocket 在某些场景也有应用。LoRa 和 NB-IoT 是远距离低功耗通信的代表性技术。": "TCP/IPプロトコルスタックの基礎を理解する必要がありますが、重点はMQTTプロトコル——IoT通信のデファクトスタンダードです。また、CoAPはリソース制約のあるデバイスに適し、HTTP/2やWebSocketが使われるシーンもあります。LoRaとNB-IoTは長距離・低消費電力通信の代表的な技術です。",
      "Compose 的价值不只是“方便启动”。它把镜像、网络、卷、端口和重启策略放在同一份声明里。服务之间使用容器名通信，不依赖经常变化的内部 IP；数据写入命名卷，容器更新时不会把用户数据一起删除；配置变更可以先在备份和测试环境中验证，再执行重建。": "Composeの価値は「起動が楽」だけではありません。イメージ、ネットワーク、ボリューム、ポート、再起動ポリシーを1つの宣言にまとめられます。サービス間は頻繁に変わる内部IPではなく、コンテナ名で通信します。",
      "LibreOffice 这类转换进程吃内存，同时跑几十个会把服务器拖垮。做法是固定大小的工作池：任务先进入队列，worker 按并发上限逐个领取；超出上限的任务排队等待。队列可以用 Redis 列表或数据库表 + 轮询，个人项目用数据库表最省事：": "LibreOfficeのような変換プロセスはメモリを消費し、数十個を同時実行するとサーバーを圧迫する。固定サイズのワーカープールを使い、タスクをキューに入れ、上限までworkerが取得し、超過分は待機させる。キューはRedisリストまたはポーリングするDBテーブルで実装でき、個人プロジェクトではDBテーブルが最も簡単だ：",
      "个人实验室不需要一开始就上 Kubernetes。先把服务拆分、配置版本化、数据独立、入口统一、备份可恢复做好，再根据实际的部署频率和规模决定是否引入更复杂的平台。架构不是越大越专业，而是能够在当前约束下稳定交付，并且给下一次迭代留下清晰的接口。": "個人ラボは最初からKubernetesを使う必要はありません。まずサービスの分割、設定のバージョン管理、データの独立性、入口の統一、バックアップの復元可能性を整え、実際のデプロイ頻度と規模に応じてより複雑なプラットフォームを導入するか判断します。アーキテクチャは「大きいほど専門的」ではなく、現在の制約下で安定してデリバリーし、次のイテレーションに明確なインターフェースを残すことです。",
      "卡片按钮可以配置回调（callback）：用户点击后飞书 POST 一个事件到你的服务，服务校验后返回更新后的卡片。回调要处理：事件验签（加密密钥校验）、幂等（同一 callback_id 只处理一次）、超时（3 秒内必须响应，否则走异步确认）。": "カードのボタンにはコールバックを設定できる。クリックするとFeishuがサービスへイベントをPOSTし、サービスは検証後に更新済みカードを返す。イベント署名の検証、冪等性（同じcallback_idは1回だけ処理）、タイムアウト（3秒以内に応答し、間に合わなければ非同期確認へ切り替える）を扱う。",
      "把所有服务放同一个默认网络，等于\"一台机器上的安全边界\"被打平。我按信任级别拆：frontend（Nginx，暴露端口）、backend（API 与内部服务）、data（MySQL、Redis，只被 backend 访问）。跨网服务通过附加网络（": "すべてのサービスを同じデフォルトネットワークに置くと、セキュリティ境界がなくなる。信頼レベルで分け、frontend（Nginx、公開ポート）、backend（APIと内部サービス）、data（MySQLとRedis、backendだけがアクセス）とする。ネットワーク間接続は必要な場合だけ行う（",
      "热门书目和统计类数据适合 Redis 缓存，但借阅状态这种强一致数据不要走缓存旁路。我的取舍是：书目列表缓存 5 分钟，统计报表缓存 10 分钟；借阅、预约、库存状态永远直查数据库并走事务。缓存只加速\"可以容忍旧一点点\"的读，写路径保持严格一致。": "人気の書誌と統計系データはRedisキャッシュに適していますが、貸出状態のような強い整合性が必要なデータはキャッシュアサイドを経由すべきではありません。私の判断：書誌リストは5分、統計レポートは10分キャッシュ。貸出、予約、在庫状態は常にデータベースを直接照会しトランザクションで処理。キャッシュは「少し古くても許容できる」読み取りのみを高速化し、書き込みパスは厳密に一貫性を維持。",
      "玻璃质感、渐变和动画只能决定第一眼的风格，真正影响使用感的是信息层级和反馈速度。一个按钮需要有默认、悬停、按下、禁用和完成状态；一个异步操作需要告诉用户正在做什么、还要等多久、失败后怎么办。把这些状态画成小型状态机，往往比继续堆 CSS 更有效。": "ガラス効果・グラデーション・アニメーションは第一印象を決めるが、使いやすさを左右するのは情報の階層とフィードバックの速さだ。ボタンには通常・ホバー・押下・無効・完了の状態を用意し、非同期処理は何をしているか、どれくらい待つか、失敗時にどうするかを伝える。これらを小さなステートマシンとして設計する方が、CSSを重ね続けるより効果的だ。",
      "借阅操作最好放在事务中完成：检查副本状态、写入 loan、更新 copy 状态，任何一步失败都回滚。归还时根据 due_at 和 returned_at 计算逾期天数，再写入审计日志。预约队列则按创建时间排序，取书后设置过期时间，防止长期占用库存。": "貸出操作はトランザクション内で行うのが最適：コピーの状態確認、loanレコードの挿入、copy状態の更新——いずれかのステップが失敗すればすべてロールバック。返却時はdue_atとreturned_atから延滞日数を計算し、監査ログに記録。予約キューは作成時刻順にソートし、取書後に有効期限を設定して在庫の長期占有を防止。",
      "我会先用低保真结构确定导航和内容顺序，再补颜色、阴影和动效。页面中的标题、正文、标签和辅助信息应当有稳定的字号比例，移动端则优先保证触摸目标和滚动节奏。对于数据较多的项目卡片，摘要只回答“解决什么问题”，技术细节放在亮点和标签中，阅读压力会小很多。": "まず低忠実度の構成でナビゲーションとコンテンツの順序を決め、その後に色・影・モーションを加える。見出し、本文、ラベル、補助情報には一貫した文字サイズの比率を持たせ、モバイルではタッチ領域とスクロールのテンポを優先する。情報量の多いプロジェクトカードでは、概要は「何を解決するか」だけを答え、技術詳細はハイライトとタグに分けると読みやすい。",
      "技术文档的读者一半时间在\"找答案\"，不是从头读到尾。结构上要保证：标题传达结论、每节一个主题、列表和代码块让关键信息跳出来。我把每篇技术文章的骨架固定为\"背景 → 方案 → 代码/配置 → 踩坑 → 验证 → 总结\"，读者跳到自己关心的部分就能用。": "技術文書の読者は、最初から最後まで読むのではなく、半分の時間を「答え探し」に費やします。構造で保証すべきこと：見出しが結論を伝える、各節はテーマを1つに絞る、リストとコードブロックで重要情報が目に飛び込むようにする。私の技術記事の骨格は「背景・",
      "用章节、选项、计分与复盘组成可配置的互动叙事：把章节结构写成数据驱动 JSON，前端状态机管理分支、回溯与结果结算，适配移动端触控与横屏。页面通过隐藏 / 显示与动画控制信息节奏，章节解锁与评分逻辑可测试，是交互设计、状态管理与内容编排的综合实验。": "章、選択肢、採点、振り返りで構成された設定可能なインタラクティブナラティブ：章構造をデータ駆動JSONで記述し、フロントエンドの状態機械で分岐、巻き戻し、結果集計を管理。モバイルのタッチ操作と横画面に対応。ページは表示/非表示とアニメーションで情報のリズムを制御し、章アンロックと採点ロジックはテスト可能。インタラクションデザイン、状態管理、コンテンツオーケストレーションの総合実験。",
      "WebSocket 长连接跨多台服务器时，负载均衡要支持\"粘性会话\"或统一接入层转发，否则重连会被分发到另一台、丢失本地状态。个人项目一台服务就够，但架构上预留：状态尽量放 Redis（房间、在线用户、最近消息），服务无状态化，将来水平扩展只加节点。": "WebSocketの長接続が複数サーバーにまたがる場合、ロードバランサーは「スティッキーセッション」または統一された入口層での転送をサポートする必要があります。そうしないと、再接続が別サーバーに振り分けられ、ローカル状態が失われます。",
      "备份策略由\"能接受丢多少、多久恢复\"决定。个人站点的恢复目标我定为：最多丢 24 小时数据，4 小时内能从空机器恢复到可用状态。目标清晰后，备份内容、频率和演练方式都变得具体：数据库每天全量 + 实时 binlog 保留、文件每天增量、镜像每周重建。": "バックアップ戦略は「どの程度の損失を許容し、どれだけ早く復旧するか」で決まります。個人サイトの復旧目標：最大24時間のデータ損失を許容し、空のマシンから4時間以内に利用可能な状態へ復元。目標が明確になれば、バックアップ内容、頻度、訓練方法も具体化します：データベースは毎日フル+リアルタイムbinlog保持、ファイルは毎日増分、イメージは毎週再構築。",
      "实时值只能告诉你“现在”，历史曲线才能告诉你趋势。我的仪表盘用轻量 SQLite 保存采样结果，只保留有限天数，避免一个个人项目把数据库做成无限增长。查询时按时间范围返回采样点，前端 Canvas 绘制 CPU、内存和磁盘三条曲线，足够支持日常排查。": "リアルタイム値が示すのは「今」だけで、傾向は履歴グラフで分かる。ダッシュボードでは軽量なSQLiteにサンプルを保存し、個人プロジェクトのDBが無限に増えないよう保持日数を制限する。クエリは時刻範囲の点を返し、CanvasでCPU・メモリ・ディスクの3本の曲線を描けば、日常の切り分けには十分だ。",
      "在可控实验环境里演练 Web 安全闭环：身份认证、越权边界、输入校验、SQL 注入与 XSS 防护、限流、日志审计与应急响应。每个漏洞先写复现用例再写修复方案，最后用自动化测试回归；修复完成后沉淀成 OWASP 清单式的检查项，直接应用到个人线上服务。": "制御された実験環境でWebセキュリティのクローズドループを演習：認証、越権境界、入力検証、SQLインジェクションとXSS対策、レート制限、ログ監査、インシデント対応。各脆弱性はまず再現ケースを作成し、次に修正を実装、最後に自動テストでリグレッションを確認。修正後はOWASPチェックリスト形式の検査項目として蓄積し、個人のオンラインサービスに直接適用。",
      "消息设计成三段式：标题（日期 + 天气摘要）、课程清单（按时间排序）、备注（明天提醒 / 异常说明）。纯文本容易排版错乱，企业微信和飞书都支持 Markdown 与卡片，我用 JSON 卡片模板组装，空数据项显式显示\"暂无安排\"，比拼接字符串清晰得多。": "メッセージは、タイトル(日付 + 天気の要約)、コースのリスト(順調順)、コメント(明日警報/異常説明)の3つの段落で設計されています。 純粋なテキストは、企業のマイクロ・インテリジェンスとFeishuがマークダウンとカードをサポートし、JSONカードのテンプレートでそれらを組み立て、空のデータ項目は、グラフィック形式で「整理なし」を表示し、スペル文字列よりもはるかに明確です。",
      "SQL 优化到极限后，热点读交给 Redis 缓存，报表类查询走聚合表，实时性要求不高的页面接受 5-10 分钟延迟。数据库负责一致性与事务，应用层负责高频读的扩展——两者配合，才能支撑高并发下的稳定响应。最终目标是：慢查询日志里没有需要人工处理的条目。": "SQLを十分に最適化したら、頻繁な読み取りをRedisでキャッシュし、レポート系は集計テーブルを使い、リアルタイム性の低いページは5〜10分の遅延を許容する。DBは整合性とトランザクションを担い、アプリ層は高頻度の読み取りをスケールさせる。両者を組み合わせて高負荷でも安定した応答を保つ。最終目標は、スロークエリログに手動対応が必要な項目を残さないことだ。",
      "Spring Boot 项目我坚持四层：Controller 只做参数接收与响应组装，Service 承载业务规则与事务边界，Repository 访问数据，Entity/DTO 表达数据。分层让每一层职责清晰、可独立测试，也避免业务逻辑散落在控制器里。": "Spring Bootプロジェクトでは私は4層構成にこだわります：Controllerはパラメータ受信とレスポンス組み立てのみ、Serviceはビジネスルールとトランザクション境界を担い、Repositoryはデータへアクセス、Entity/DTOはデータを表現します。層化により各層の責務が明確になり、独立してテストでき、ビジネスロジックがコントローラに散らばるのも防げます。",
      "为了显示容器列表，仪表盘通过 Docker Socket 获取容器元数据。这是一个很强的权限入口，不能把它当成普通文件挂载。实际部署时应限制仪表盘为只读展示，不提供任意命令执行接口；访问日志、认证和网络隔离同样重要。监控方便和安全边界之间必须有明确取舍。": "コンテナ一覧を表示するため、ダッシュボードはDocker Socket経由でコンテナメタデータを取得します。これは強力な権限エントリポイントであり、通常のファイルとしてマウントしてはいけません。本番ではダッシュボードを読み取り専用表示に制限し、任意コマンド実行インターフェースを提供しない。アクセスログ、認証、ネットワーク分離も同様に重要。監視の利便性とセキュリティ境界の間には明確なトレードオフが必要です。",
      "在现有 Compose 服务栈上推进容器编排能力：服务发现、滚动发布与回滚、配置管理和故障恢复。灰度发布通过健康检查门控流量，失败自动回滚；故障演练（杀掉容器 / 拔掉网络）验证自愈与恢复脚本，为迁移 Kubernetes 建立清晰的服务边界与监控基线。": "既存のComposeスタック上でコンテナオーケストレーション能力を推進：サービスディスカバリ、ローリングリリースとロールバック、設定管理、障害復旧。カナリアリリースはヘルスチェックでトラフィックをゲートし、失敗時は自動ロールバック。障害演習（コンテナを殺す/ネットワークを切断）で自己修復と復旧スクリプトを検証し、Kubernetes移行に向けた明確なサービス境界と監視ベースラインを確立。",
      "我把指标分成三层：系统资源用于判断容量，服务健康用于判断可用性，日志统计用于定位原因。比如 CPU 上升本身不是故障，只有当 CPU 上升同时伴随响应变慢、5xx 增加或容器重启时，才值得触发告警。把多个信号放在同一时间轴上，比单独看一个百分比更有意义。": "メトリクスを3層に分けています：システムリソースは容量判断、サービスヘルスは可用性判断、ログ統計は原因特定に使用。CPU上昇自体は障害ではなく、応答低下、5xx増加、コンテナ再起動を伴った場合にのみアラートを発する価値があります。複数のシグナルを同じタイムラインに載せる方が、単一のパーセンテージを見るよりはるかに意味があります。",
      "InnoDB 主键索引的叶子节点存整行数据，二级索引的叶子节点存主键值。走二级索引查到主键后再回表取行，叫\"回表\"；覆盖索引（查询列都在索引里）可以避免回表。设计索引时先看查询的 WHERE、ORDER BY、GROUP BY 列，再决定单列还是联合索引。": "InnoDBの主キーインデックスのリーフノードには行データ全体が、セカンダリインデックスのリーフノードには主キー値が格納されます。セカンダリインデックスで主キーを特定してから行を取得し直すことを「回表」と呼びます。カバリングインデックス（クエリの列がすべてインデックスに含まれる）なら回表を回避できます。インデックス設計ではまずクエリのWHERE、ORDER BY、GROUP BY列を見て、単一列か複合インデックスかを決めます。",
      "多个任务之间有关联时，显式表达依赖而不是猜执行顺序：调度框架支持依赖链，或按\"任务队列 + 完成标记\"推进。并行的任务控制并发数（线程池/进程池上限），避免同时跑 10 个备份把磁盘打满。任务内部也要控制资源：大文件分块、数据库连接用完释放、临时文件清理。": "タスク間に依存関係がある場合、実行順序を推測せず明示的に依存を表現：依存チェーン対応のスケジューラを使うか、「タスクキュー+完了マーカー」で進行。並列タスクは並行数を制御（スレッドプール/プロセスポール上限）し、10個のバックアップが同時に走ってディスクを満杯にしない。タスク内部でもリソースを制御：大ファイルは分割、DB接続は使い終わったら解放、一時ファイルは削除。",
      "学习 IoT 可以按“能读数据、能传数据、能存数据、能解释数据、能维护系统”五个阶段推进。先用串口读取传感器，再用 MQTT 发送到本地 Broker；之后写一个最小 API 存储数据，最后加上可视化和阈值告警。每一步都有可见结果，遇到问题也容易缩小范围。": "IoTは「データを読む・送る・保存する・解釈する・システムを保守する」の5段階で学ぶ。まずシリアルでセンサーを読み、MQTTでローカルブローカーへ送る。次に最小限のAPIで保存し、最後に可視化としきい値アラートを追加する。各段階に目に見える成果があり、問題の切り分けもしやすい。",
      "握手时校验 token（查询参数或子协议头），鉴权失败直接拒绝升级；连接建立后仍要校验每次消息的权限（用户可能被降权/踢下线）。服务端限制：每用户连接数上限、消息频率限制、消息大小上限，防止恶意连接刷资源。心跳超时主动清理僵尸连接，避免连接泄漏拖垮服务器。": "ハンドシェイク時にトークン（クエリパラメータまたはサブプロトコルヘッダー）を検証し、失敗したらUpgradeを拒否する。接続後も各メッセージの権限を確認する（ユーザーの権限変更やログアウトがあり得るため）。ユーザーごとの接続数、メッセージ頻度、サイズを制限し、ハートビートのタイムアウトでゾンビ接続を閉じてリソース漏れを防ぐ。",
      "不要试图一次学完所有东西。从做一个完整的微型项目开始：ESP32 采集温湿度 → MQTT 上报 → 后端存储 → 前端展示。跑通这个闭环后，再往两端延伸：硬件端加 OTA 与低功耗，服务端加告警、归档和自动扩缩。每一步都有可见结果，遇到问题也容易缩小范围。": "すべてを一度に学ぼうとしない。まずはESP32で温湿度を収集し、MQTTで送信し、バックエンドで保存し、フロントエンドで表示する小さな一連のプロジェクトを完成させる。この流れが動いたら、ハードウェア側にOTAと低消費電力、サービス側にアラート・アーカイブ・自動スケーリングを追加する。各段階に成果があり、問題も切り分けやすい。",
      "间隔重复算法不必一开始就追求复杂。先根据答题结果把下一次复习安排在 1 天、3 天、7 天和 14 天等几个阶段，等积累了真实数据后再调整间隔。离线优先时，所有操作先写入 IndexedDB，再用版本号和时间戳与服务端同步，冲突时保留用户记录而不是静默覆盖。": "間隔反復アルゴリズムは最初から複雑にする必要はない。解答結果に応じて次回の復習を1日、3日、7日、14日後などに設定し、実データが蓄積してから間隔を調整する。オフライン優先では全操作をIndexedDBに書き込み、バージョンとタイムスタンプでサーバーと同期する。競合時はユーザーの記録を保持し、黙って上書きしない。",
      "部署成功不等于发布成功。verify 阶段我会跑三类检查：容器 healthcheck（进程活着、依赖连通）、HTTP 冒烟（首页与核心 API 返回预期状态码）、日志扫描（没有新增的 Exception 和 5xx 暴增）。这三项都通过，才把发布标记为成功。": "成功する展開は、成功したリリースに相当しません。 Verify フェーズ中に 3 つの種類のチェックを実行します: コンテナーヘルスチェック (プロセスアライブ, 接続に依存), HTTP 煙 (ヘッド ページとコア API が期待されるステータスコード), ログスキャン (新しい例外と 5x サージなし). 3つすべてが渡され、リリースが成功しました。",
      "MQTT 的 QoS 0/1/2 对应不同可靠性要求：遥测用 QoS 0 可以容忍丢失；状态和控制指令用 QoS 1 并做幂等处理；真正严格一次交付的场景很少，QoS 2 的开销通常不值得。遗嘱消息（LWT）用于设备异常掉线时通知服务端，比\"超时没心跳\"更及时。": "MQTTのQoS 0/1/2は信頼性の要件に応じて使い分ける。テレメトリは損失を許容できるためQoS 0、状態や制御コマンドは冪等処理と組み合わせてQoS 1を使う。厳密なExactly Once配信が必要な場面は少なく、QoS 2のオーバーヘッドは割に合わないことが多い。遺言メッセージ（LWT）はデバイスの異常切断をサーバーへ通知し、「ハートビートのタイムアウト待ち」より早く検知できる。",
      "QoS 0 适合高频、允许丢失的环境采样；QoS 1 适合需要至少送达一次的告警，但消费者必须幂等；QoS 2 成本更高，只有在确实需要严格一次交付时才使用。保留消息、遗嘱消息和持久会话分别解决\"新订阅者拿到最近状态\"\"设备异常离线\"和\"短暂断线续传\"三个问题。": "QoS 0は高頻度で損失が許容される環境サンプリングに適しています。QoS 1は最低1回の配信が必要なアラートに適していますが、消費者は冪等である必要があります。QoS 2はコストが高く、厳密な1回だけの配信が必要な場面に",
      "QoS 0 适合高频、允许丢失的环境采样；QoS 1 适合需要至少送达一次的告警，但消费者必须幂等；QoS 2 成本更高，只有在确实需要严格一次交付时才使用。保留消息、遗嘱消息和持久会话分别解决“新订阅者拿到最近状态”“设备异常离线”和“短暂断线续传”三个问题。": "QoS 0は高頻度で損失が許容される環境サンプリングに適しています。QoS 1は最低1回の配信が必要なアラートに適していますが、消費者は冪等である必要があります。QoS 2はコストが高く、厳密な1回だけの配信が必要な場面に",
      "TLS 1.2 之后主推 ECDHE 前向保密：即使长期密钥泄漏，已记录的会话也无法解密（因为每次会话临时密钥不同）。配置时优先 ECDHE + AES-GCM + SHA-256，禁用已不安全的 RC4、3DES、TLS 1.0/1.1。用 ssllabs 或": "TLS 1.2以降はECDHE前方秘匿性が主流です：長期鍵が漏れても、記録済みセッションは復号できません（セッションごとに一時鍵が異なるため）。設定ではECDHE + AES-GCM + SHA-256を優先し、安全でなくなったRC4、3DES、TLS 1.0/1.1を無効化します。ssllabsなどで",
      "从内存分配、线程调度、文件读写与网络 IO 四个方向对比 C、C++ 与 Rust 实现：用基准测试量化开销，用火焰图与 Profiling 定位瓶颈，并针对 CPU 缓存、系统调用与锁竞争做优化实验。结论沉淀为性能清单，帮助在选型时根据场景选择语言与数据结构。": "メモリ割り当て、スレッドスケジューリング、ファイル読み書き、ネットワークIOの4方向からC、C++、Rustの実装を比較：ベンチマークでオーバーヘッドを定量化し、フレームグラフとプロファイリングでボトルネックを特定、CPUキャッシュ、システムコール、ロック競合の最適化実験も実施。結論はパフォーマンスチェックリストとしてまとめ、シナリオに応じた言語とデータ構造の選定に役立てる。",
      "备份完成只能说明文件被写出来，不能证明它真的能用。恢复演练至少要验证压缩包可读取、镜像能加载、数据卷能挂载、Compose 配置能解析，以及首页、博客 API 和关键业务接口都能返回 200。每一步都输出清晰日志，失败时立即停止，不要在半恢复状态继续覆盖原目录。": "バックアップの完了はファイルが書き出されただけで、実際に使える証明にはなりません。復旧訓練では最低でも、アーカイブが読み取れること、イメージがロードできること、ボリュームがマウントできること、Compose設定がパースできること、ホームページ・ブログAPI・主要業務APIがすべて200を返すことを検証します。各ステップは明確なログを出力し、失敗時は即座に停止。半分復元した状態で元のディレクトリを上書きし続けない。",
      "面向个人博客、课程笔记和项目文档的本地知识工作台：Markdown / PDF 导入后切片入库，全文检索与向量检索混合召回，模型调用生成带引用回链的答案。回答质量用命中率与引用一致性做评测，提示词模板可调；数据默认本地处理，是 RAG、检索评测与文档工程的实践。": "個人ブログ、講義ノート、プロジェクトドキュメント向けのローカル知識ワークベンチ：Markdown/PDFをインポートしてチャンク化・格納し、全文検索とベクトル検索のハイブリッドで情報を取得、モデル呼び出しで引用リンク付きの回答を生成。回答品質はヒット率と引用整合性で評価し、プロンプトテンプレートは調整可能。データはデフォルトでローカル処理——RAG、検索評価、ドキュメントエンジニアリングの実践。",
      "任务失败不能只靠\"下次成功\"。策略：失败指数退避重试（如 3 次：1s、10s、60s），重试仍失败则写失败记录并告警。告警消息带任务名、失败原因、最近成功时间，避免\"静默失败 N 天后才被发现\"。每次执行写状态：开始、结束、耗时、结果，后续排查和统计都有据可查。": "タスク失敗を「次回成功する」に頼ってはいけません。戦略：指数バックオフ再試行（例：3回、1s、10s、60s）。それでも失敗したら失敗レコードを書きアラート。アラートメッセージにはタスク名、失敗原因、最終成功時刻を含め、「N日後に静かに失敗が発覚」を防止。毎回の実行で開始、終了、所要時間、結果の状態を書き、後の調査と統計に根拠を残します。",
      "每月从空目录执行一次恢复脚本（可以用测试数据库和测试域名），验证恢复后的站点能正常访问、数据是最新的。备份任务本身纳入监控：今天是否生成、文件大小是否异常、校验是否通过，任何一项异常都触发告警。把\"备份\"从一次性动作变成有 SLO 的持续服务，才是真正的一键恢复。": "毎月、空のディレクトリから復元スクリプトを実行する（テストDBとテストドメインでよい）。復元後のサイトにアクセスでき、データが最新であることを確認する。バックアップ自体も監視し、当日生成されたか、ファイルサイズに異常がないか、検証に合格したかを確認する。異常があればアラートを出す。バックアップを一度きりの作業ではなく、SLOを持つ継続サービスにしてこそ本当のワンクリック復元になる。",
      "healthcheck 是 Compose 的\"就绪信号\"，配合 depends_on 的 condition 控制启动顺序。数据库先健康、应用再启动，比 sleep 硬等可靠得多。健康检查命令要轻量（ping 或简单查询），间隔和重试按服务启动时间调整，避免误判。": "healthcheckはComposeの「準備完了シグナル」で、depends_onのconditionと組み合わせて起動順序を制御します。データベースが先にhealthyになり、アプリが後から起動するのは、sleepで無理やり待つよりはるかに信頼できます。ヘルスチェックコマンドは軽量に（pingや簡単なクエリ）、間隔とリトライはサービス起動時間に合わせて調整し、誤判定を避けます。",
      "常见查询包括“某读者当前借了什么”“某本书有哪些可借副本”和“近一月逾期排行”。为这些查询建立组合索引，并用 EXPLAIN 检查执行计划；统计类页面可读取按日聚合表，避免每次扫描全部历史记录。管理员操作保留操作者、时间、对象和变更前后摘要，出现争议时才能还原过程。": "よくあるクエリは「読者が現在借りている本」「貸出可能な蔵書」「今月の延滞ランキング」だ。これらに複合インデックスを作り、EXPLAINで実行計画を確認する。統計ページは日次集計表を使い、毎回すべての履歴を走査しない。管理操作には実行者・時刻・対象・変更前後の要約を残し、問題が起きたときに経緯を復元できるようにする。",
      "文件名不能直接拼接到 shell 命令里，MIME 类型也不能只相信用户上传的后缀。生产环境需要限制并发数，避免多个 Office 进程同时占满内存；还可以通过哈希去重相同文件，减少重复计算。日志中保留任务 id 而不是文件内容，既方便排障，也降低敏感信息泄露风险。": "ファイル名をシェルコマンドへ直接連結せず、MIME判定もユーザーが送った拡張子だけを信頼しない。本番では同時実行数を制限して複数のOfficeプロセスがメモリを使い切らないようにし、ハッシュで同一ファイルを重複排除して無駄な処理を減らす。ログにはファイル内容ではなくタスクIDを残し、障害調査と機密情報の漏えい防止を両立する。",
      "文件名永远不能直接拼进 shell 命令，也不能让用户控制服务器路径。上传的文件存入按任务 ID 生成的独立目录，转换结果用 UUID 命名，下载接口按任务 ID 解析存储路径，禁止用户传路径参数。转换进程以最小权限运行，工作目录在临时盘，系统盘写满也不影响主服务。": "ファイル名をシェルコマンドへ直接埋め込んだり、ユーザーにサーバーパスを指定させたりしない。アップロードはタスクIDごとのディレクトリに保存し、変換結果はUUIDで命名する。ダウンロードはユーザーのパスではなくタスクIDから保存先を解決する。変換プロセスは最小権限で一時ディレクトリから実行し、システムディスクが満杯でも主サービスに影響させない。",
      "链接用语义化文字而不是\"点击这里\"，外部链接标注来源；内部文档互相引用时用相对路径，仓库移动后不会失效。图片要压缩并带 alt 文本，流程图用代码生成（mermaid）而不是截图，便于版本对比。表格适合字段映射、参数对照，列少行多时考虑拆成列表，防止移动端横向滚动。": "リンクは「ここをクリック」ではなく意味のあるテキストを使い、外部リンクには出典を明記。内部ドキュメントの相互参照は相対パスを使い、リポジトリ移動後も壊れないように。画像は圧縮してaltテキストを付け、フローチャートはスクリーンショットではなくコード生成（mermaid）でバージョン比較を容易に。テーブルはフィールドマッピングやパラメータ対照に適し、列が少なく行が多い場合はリストに分割してモバイルの横スクロールを防止。",
      "仪表盘上每个指标都要能回答\"所以呢\"。温度曲线不是终点，需要配合阈值线、设备状态和告警事件一起看。告警规则独立于页面配置：触发阈值、持续时长、冷却时间、升级策略（先群消息，持续异常再电话/短信）。告警消息带上设备 ID、当前值、阈值和首次出现时间，收到的人才能直接行动。": "ダッシュボードのすべてのメトリクスは「だから何？」に答えられる必要があります。温度カーブは終点ではなく、閾値ライン、デバイス状態、アラートイベントと合わせて見る必要があります。アラートルールはページとは独立して設定し",
      "仪表盘会展示 CPU、内存、磁盘、运行时间、网络流量、Docker 容器、SSL 到期时间和 Nginx 请求统计。指标不是为了做一张漂亮的图，而是为了回答三个问题：现在是否正常、什么时候开始异常、异常是否已经恢复。日志与历史指标配合起来，才构成一套最小可用的可观测性。": "ダッシュボードにはCPU、メモリ、ディスク、稼働時間、ネットワークトラフィック、Dockerコンテナ、SSL有効期限、Nginxリクエスト統計が表示されます。指標は",
      "作为运维平台的安全子模块，把证书申请、DNS 验证、Nginx 热加载、到期提醒与归档纳入标准发布流程。支持通配符证书多域名管理，续签全程无停机；证书文件定时备份至独立目录，出现异常可一键回滚到上一版本。每次续签与部署都写审计日志，便于回溯证书链路发生过什么、由谁触发。": "運用プラットフォームのセキュリティサブモジュールとして、証明書発行、DNS検証、Nginxホットリロード、期限通知、アーカイブを標準リリースフローに組み込み。ワイルドカード証明書の複数ドメイン管理に対応し、更新は無停止。証明書ファイルは独立ディレクトリに定期バックアップし、異常時はワンクリックで前バージョンへロールバック。更新・デプロイのたびに監査ログを書き、証明書チェーンで何が起き、誰が操作したかを遡れるようにしている。",
      "指标采集任务应当与页面请求解耦，历史数据写入轻量 SQLite 或时序存储，页面只读取聚合结果。对于个人服务器，分钟级采样已经足够；对于突发事件，则需要保留最近几分钟的高频数据。告警内容要带上服务名、当前值、阈值、首次出现时间和最近一次恢复时间，收到消息后才能直接行动。": "メトリクス収集はページリクエストから分離し、履歴データは軽量なSQLiteまたは時系列ストレージに書き込む。ページは集計結果だけを読む。個人サーバーなら分単位のサンプリングで十分だが、障害時は直近数分の高頻度データを保持する。アラートにはサービス名、現在値、しきい値、初回検知時刻、直近の復旧時刻を含め、受信後すぐ対応できるようにする。",
      "JOIN 前先想清楚关联基数：一对多时结果行数会膨胀，先过滤再关联通常更快。MySQL 优化器会把小表作为驱动表，但复杂查询下优化器不一定选对，必要时用 STRAIGHT_JOIN 或调整 WHERE 顺序。相关子查询（每行执行一次）性能差，优先改成 JOIN 或派生表。": "JOINは、協会ベースについて考えることから始まります。複数の結果線が拡大し、フィルタを最初にフィルタリングし、より迅速にリンクします。 MySQLオプティマイザは、ドライブテーブルとして小テーブルを使用しますが、複雑なクエリ下にあるオプティマイザは、STRAIGHT_を使用して、常に正しく選択されません。 必要に応じてWHEREをJOINまたは再注文する。 関連するサブクエリ(各行で実行)は、パフォーマンスが低下し、JOINまたは派生テーブルに変更されます。",
      "发送失败要重试，但重试不能导致重复消息：给消息加唯一 request_id，服务端或发送层去重。告警类消息还要考虑合并：同一告警 5 分钟内的重复触发合并成一条\"持续中\"更新，而不是刷屏。推送系统的可靠性靠\"at-least-once + 幂等\"，而不是假设网络永远正常。": "送信失敗時のリトライは必要ですが、重複メッセージを生んではいけません：各メッセージに一意のrequest_idを付与し、サーバーまたは送信層で重複排除。アラート系メッセージは統合も考慮：同一アラートの5分以内の再トリガーは「継続中」の1件に統合し、スパム化を防止。配信システムの信頼性は「at-least-once + 冪等性」に依存し、ネットワークが常に正常である前提には依存しません。",
      "回到开头那个场景：列表接口做两步优化——查询只取必要字段（不 SELECT *）、结果缓存 60 秒。QPS 高时再上互斥锁防击穿。优化后跑压测确认 P95 达标，并监控缓存命中率稳定在 90% 以上。缓存不是魔法，但配合正确的索引与查询，能把热点读的延迟降低一个数量级。": "冒頭のシーンに戻ります：一覧APIを2段階で最適化——クエリは必要なフィールドだけ取得（SELECT * を使わない）、結果を60秒キャッシュ。QPSが高くなったらミューテックスロックでホットキー失効を防ぎます。最適化後は負荷テストでP95が基準を満たすことを確認し、キャッシュヒット率が90%以上で安定しているか監視します。キャッシュは魔法ではありませんが、正しいインデックスとクエリと組み合わせれば、ホットな読み取りのレイテンシを一桁下げられます。",
      "JWT 由三部分组成：Header（算法与类型）、Payload（声明）、Signature（签名）。签名 = HMAC(header + \".\" + payload, secret)，服务端用同一个密钥验证；RSA/ECDSA 则是私钥签名、公钥验证，适合多服务共享验证。": "JWTはHeader（アルゴリズムと種別）、Payload（クレーム）、Signature（署名）の3部分で構成される。署名はHMAC(header + \".\" + payload, secret)で作成し、サーバーが同じ秘密鍵で検証する。RSA/ECDSAでは秘密鍵で署名し公開鍵で検証するため、複数サービスでの共有検証に向く。",
      "Service Worker 能让静态页面在网络不稳定时继续打开，但缓存优先策略也会带来“页面明明更新了，用户却看到旧版本”的问题。更新站点时要变更缓存名称、保留必要的离线资源，并在发布说明中提示用户刷新。对于 API 和文章详情，优先使用网络请求，避免把动态内容永久冻结。": "Service Workerを使うとネットワークが不安定でも静的ページを開けるが、cache-firstでは更新後も古い版が表示されることがある。リリース時にキャッシュ名を変更し、必要なオフライン資源だけを残し、リリースノートで更新を促す。APIや記事詳細はネットワークを優先し、動的コンテンツを固定化しない。",
      "学习过程要流畅，本地优先是最实用的方案：作答先写 IndexedDB，网络恢复后增量同步。同步冲突以\"用户操作时间戳 + 设备 id\"排序，同一 item 的 attempt 采用追加而非覆盖，避免丢记录。IndexedDB 版本号变化时写迁移函数，保证老用户升级不丢数据。": "学習フローを滑らかにするにはオフライン優先が実用的だ。解答はまずIndexedDBへ書き、ネットワーク復旧後に増分同期する。競合はユーザー操作時刻とデバイスIDで並べ、同じitemのattemptは上書きせず追加する。IndexedDBのバージョンが変わったら移行処理を実行し、アップグレードで既存データを失わないようにする。",
      "第一类是主机资源：CPU 使用率、内存可用量、磁盘占用和系统负载。第二类是服务状态：容器是否运行、最近一次重启时间、健康检查返回什么。第三类是入口流量：PV、UV、2xx/3xx/4xx/5xx 分布和热门路径。第四类是风险提示：SSL 证书还有几天到期，备份是否按计划生成。": "第1層はホスト資源（CPU使用率、空きメモリ、ディスク使用率、システム負荷）、第2層はサービス状態（コンテナ稼働、最終再起動時刻、ヘルスチェック結果）、第3層は入口トラフィック（PV、UV、2xx/3xx/4xx/5xxの分布、人気パス）、第4層はリスク（SSLの期限までの日数、バックアップが予定どおり生成されたか）だ。",
      "| 命令 | 用途 | 最佳场景 | |------|------|---------| | rebase | 重写提交历史 | 清理本地分支 | | cherry-pick | 移植提交 | 跨分支应用修复 | | bisect | 二分查找 | 定位引入 bug 的提交 |": "| コマンド | 用途 | 最適な場面 | |---|---|---| | rebase | コミット履歴を書き換える | ローカルブランチを整理 | | cherry-pick | コミットを移植 | 複数ブランチに修正を適用 | | bisect | 二分探索 | バグを導入したコミットを特定 |",
      "从课表与天气数据生成结构化消息，按周次、单双周与节假日规则定时推送到飞书：消息先按模板组装 JSON 卡片，再通过 Webhook 发送，失败自动重试并保留错误记录。后续扩展为校园提醒工作流（作业截止、考试提醒、活动通知），所有规则集中在配置文件中，无需改代码即可调整推送策略。": "時間割と天気データから構造化メッセージを生成し、週次・単双週・祝日のルールに従ってFeishuへ定期配信。テンプレートでJSONカードを組み立ててWebhookで送信し、失敗時は自動リトライしてエラーログを保持。課題締切・試験・イベント通知などの学内リマインダーワークフローへ拡張でき、ルールは設定ファイルに集約します。",
      "图书馆系统的难点不是增删改查，而是规则之间的关系：一本书可以有多个副本，一位读者可能同时借阅多本书，逾期罚款还与归还时间、节假日和读者类型有关。建模时应区分 book、copy、reader、loan 和 reservation，避免把“书”和“库存中的一本实体”混成一个字段。": "図書館システムの難しさはCRUDではなく、ルール間の関係です：1冊の書籍に複数のコピーがあり、1人の読者が同時に複数冊を借りられ、延滞罰金は返却時間、祝日、読者タイプにも依存します。モデリング時はbook、copy、reader、loan、reservationを区別し、「書籍」と「在庫の1冊の実体」を1つのフィールドに混ぜないこと。",
      "打包工具支持按路由和组件拆分：首屏只加载首屏代码，滚动到某区块再加载对应 chunk。公共依赖提取到 vendor，配合文件名指纹实现\"长缓存 + 精准失效\"。Service Worker 缓存策略：HTML 网络优先，静态资源缓存优先 + 后台更新，API 永不缓存或短缓存。": "バンドラーはルート・コンポーネント単位の分割に対応：最初の画面は自身のコードのみをロードし、特定セクションまでスクロールすると対応チャンクをロード。共通依存はvendorに抽出し、ファイル名フィンガープリントで「長期キャッシュ+正確な無効化」を実現。Service Workerのキャッシュ戦略：HTMLはネットワークファースト、静的リソースはキャッシュファースト+バックグラウンド更新、APIはキャッシュなしまたは短期キャッシュ。",
      "纯语法练习很难内化。建议做三个小项目：手写动态数组（内存管理 + realloc）、链表（节点操作 + 指针指向）、简易内存池（分配与释放）。嵌入式场景再叠加寄存器操作与缓冲区解析，指针从\"语法难点\"变成\"理解内存的直觉\"。先把指针的\"内存模型\"想清楚，其余都是表达方式的差异。": "純粋な構文練習では内面化できません。3つの小さなプロジェクトを提案します：手書きの動的配列（メモリ管理＋realloc）、連結リスト（ノード操作＋ポインタ参照）、簡易メモリプール（確保と解放）。組み込みの現場ではさらにレジスタ操作とバッファ解析を重ねることで、ポインタは「構文の難所」から「メモリを理解する直感」へ変わります。まずポインタの「メモリモデル」を明確にすれば、残りは表現方法の違いにすぎません。",
      "从 Arduino 入门是最佳选择——语法简单、生态丰富、上手快。掌握 GPIO 控制、ADC 采样、PWM 输出等基本概念后，进阶到 ESP32，它自带 Wi-Fi 和蓝牙，成本低、性能强，是物联网原型开发的首选。了解 I2C、SPI、UART 三种通信总线是连接传感器的前提。": "Arduinoポータルからの最良の選択肢は、シンプルで、エコロジー的に豊かで迅速です。 GPIO制御、ADCサンプリング、PWM出力などの基本的な概念を習得した後、独自のWi-FiとBluetooth、低コスト、高性能で、ネットワークのプロトタイプの開発のための最初の選択肢です。 I2C、SPI、UARTの理解は、センサーを接続するための前提条件です。",
      "）→ 域名是否匹配 → 证书链是否完整 → 端口是否真的走 443 → 防火墙/安全组是否放行。访问报\"证书错误\"时先看浏览器详情里的具体原因（不是\"不安全\"三个字），多数是链不完整或域名不匹配，少数是系统时间错误。监控证书剩余天数并提前告警，比\"今天突然打不开\"再查要舒服得多。": ")→ ドメインが一致するか → 証明書チェーンが完全か → ポートが本当に443か → ファイアウォール/セキュリティグループが開放されているか。「証明書エラー」が表示されたら、まずブラウザの詳細情報で具体的な原因を確認（「安全ではありません」の3文字ではなく）——大半はチェーン不完全かドメイン不一致、少数はシステム時刻の誤り。証明書の残り日数を監視して早期にアラートする方が、「今日突然開けない」と後から調査するよりはるかに楽です。",
      "| 工具 | 用途 | |------|------| | Typora | WYSIWYG 编辑器 | | VS Code + 插件 | 代码与文档一体 | | Obsidian | 知识管理 | | markdownlint | 格式检查 | | Pandoc | 格式转换 |": "| ツールツール | | | | | | ティポラ | WYSIWYG 編集 | | | VS コード+ プラグイン | ドキュメントと統合 | オブシディアン | ナレッジマネジメント | マークダウンリント | フォーマットチェック | パンドック | フォーマット変換",
      "对外只暴露 80/443，SSH 改端口 + 密钥认证，数据库和 Redis 不绑定公网。容器以非 root 运行，敏感配置走环境变量，备份文件加密后存远程。成本方面，1 台轻量 ECS 足够个人全站：镜像在本地保留、依赖固定版本、日志按天压缩，把\"能用\"和\"用得起\"同时考虑进去。": "外部には80/443のみ公開。SSHはポート変更+鍵認証、データベースとRedisはパブリックネットワークにバインドしない。コンテナは非rootで実行し、機密設定は環境変数経由、バックアップファイルは暗号化してリモート保存。コスト面では、軽量ECS 1台で個人サイト全体が賄えます：イメージはローカル保持、依存はバージョン固定、ログは日次圧縮——「使える」と「使い続けられる」の両方を考慮。",
      "监控分四层：入口（可用性、响应时间、5xx）、服务（容器健康、重启次数）、资源（CPU/内存/磁盘）、安全（证书到期、异常登录）。告警要能区分\"通知\"和\"需要行动\"：磁盘 80% 是通知，磁盘 90% 且持续 10 分钟才是告警。所有告警走飞书，消息带服务名、当前值、阈值和建议动作。": "監視は4層に分ける。入口（可用性、応答時間、5xx）、サービス（コンテナの健全性、再起動回数）、リソース（CPU・メモリ・ディスク）、セキュリティ（証明書の期限、異常ログイン）を確認する。アラートは「通知」と「対応が必要」を区別し、ディスク使用率80%は通知、90%が10分続いた場合はアラートとする。すべてFeishuで通知し、サービス名・現在値・しきい値・推奨アクションを含める。",
      "脚本不应依赖当前机器的临时容器 id，而应使用 Compose 服务名和固定目录。执行前先检查磁盘空间、Docker 是否可用、备份文件是否完整；执行后再做健康检查，并保留恢复时间、版本号和结果摘要。下一步还可以增加“只恢复博客”“只恢复数据卷”的选择，让小范围回滚不必影响整个站点。": "スクリプトは現在のマシンの一時的なコンテナIDに依存せず、Composeのサービス名と固定ディレクトリを使う。実行前にディスク容量、Dockerの利用可否、バックアップの完全性を確認し、実行後にヘルスチェックを行って復元時刻・バージョン・結果の概要を記録する。「ブログのみ」「データボリュームのみ」を復元する選択肢を追加すれば、小規模なロールバックでサイト全体に影響を与えずに済む。",
      "Clean Session 决定断线后 Broker 是否保留订阅与离线消息：需要断线续传的设备用持久会话，但每个持久会话都会占用 Broker 内存，不能所有设备都开。保留消息（Retained）让新订阅者立刻拿到最新状态（如\"当前温度 25.3\"），适合状态类数据，不适合高频遥测。": "クリーンセッションは、ブローカーが非接続後にサブスクリプションとオフラインメッセージを保持するかどうかを決定します。オフラインを通過する必要があるデバイスは、長期的なセッションに使用されますが、各持続的なセッションはブローカーメモリを占有し、すべてのデバイスが開かれません。 Retain(Retained)は、新しいsubscriberを即時の状態(例えば「現在の温度25.3」)で、ステータスクラスデータに適し、高周波テレメトリーには適していません。",
      "数据上云后需要存储和处理。时序数据库（如 InfluxDB）专为传感器数据设计，比 MySQL 更适合这种场景。后端服务可以用 Python Flask 或 Node.js 搭建，配合 MQTT Broker 接收设备数据。数据可视化推荐 Grafana，拖拽配置就能生成漂亮的仪表盘。": "データをクラウドへ送った後は保存と処理が必要になる。InfluxDBなどの時系列データベースはセンサーデータ向けに設計されており、この用途ではMySQLより適している。バックエンドはPython FlaskまたはNode.jsで構築し、MQTTブローカーでデバイスデータを受信する。可視化にはGrafanaが向いており、ドラッグ＆ドロップで実用的なダッシュボードを作成できる。",
      "高级命令解决特定问题，也会制造新问题。公共分支禁止 rebase、禁止 force push；cherry-pick 只用于\"明确需要移植\"而不是代替正常合并；bisect 需要可复现的测试。先理解每个命令改变的是什么（历史、工作区、引用），再决定用不用——工具能力越大，使用越要克制。": "高いレベルの注文は特定の問題に対処し、新しいものを作成します。 パブリックブランチは、再ベース、禁止力プッシュを禁止します。 チェリーピックは、通常の統合ではなく「移植のためのエクスプレス・ニーズ」にのみ使用されます。 ビスケットは、レプリカ可能なテストを必要とします。 まず、各コマンドが変更(履歴、ワークスペース、引用語句)を理解し、それを使用するかどうかを決定します。ツールが大きいほど、使用中の制約が増えます。",
      "WebSocket 连接可能在网络波动时\"看起来连着实际已断\"。客户端与服务端都要有心跳：客户端定时发 ping，服务端超时未收到就关闭并通知；客户端收到 close 或心跳超时后指数退避重连。重连要带会话信息（用户 id、订阅频道），服务端恢复订阅，避免重连后\"连接成功但收不到数据\"。": "WebSocketはネットワークが不安定だと、接続しているように見えて実際には切断されることがある。クライアントとサーバーの双方でハートビートを使い、クライアントは定期的にpingを送り、サーバーはタイムアウト時に切断して通知する。closeまたはハートビートのタイムアウト後は指数バックオフで再接続し、ユーザーIDや購読チャンネルを含むセッション情報で購読を復元する。「接続成功なのにデータが届かない」状態を避ける。",
      "不带尾部斜杠时，请求 URI 原样传给后端；带斜杠时，location 中匹配的前缀会被替换。接口迁移或前后端路径约定改变时，这个细节最容易造成\"本地正常、线上 404\"。我还会显式传递 Host、X-Real-IP、X-Forwarded-For，保证后端拿到真实客户端地址和原始域名：": "末尾スラッシュなしならリクエストURIをそのままバックエンドへ渡し、スラッシュありならlocationでマッチしたプレフィックスが置き換えられます。インターフェイスの移設や前後端のパス規約変更時に、この細部が「ローカルでは正常、本番で404」を引き起こしやすいです。またHost、X-Real-IP、X-Forwarded-Forを明示的に渡し、バックエンドが本当のクライアントアドレスと元のドメイン名を受け取れるようにします：",
      "或目录名）隔离网络与卷，避免冲突。Compose 不适合编排跨主机集群，到那个规模再上 Kubernetes/Swarm；现在把\"镜像固定 tag、配置环境化、卷有名字、健康检查齐全\"做扎实，迁移时只是换一个编排层。Compose 的价值是把服务边界画清楚，让整台机器像一个可复现的系统。": "ネットワーク名とボリューム名を分けて競合を防ぎます。Composeはホスト間クラスタのオーケストレーションには向かないため、その規模ではKubernetesやSwarmへ移行します。現段階では、固定タグ、環境変数による設定、名前付きボリューム、完全なヘルスチェックを確実に整備し、移行時はオーケストレーション層だけを置き換えます。Composeはサービス境界を明確にし、マシン全体を再現可能にします。",
      "从 ESP32 传感器与串口通信起步，逐步加入姿态、距离与电机状态采集：设备端用 C / C++ 完成协议解析与状态上报，服务端通过 MQTT 接收并持久化，Web 控制台实时观察设备并发送可审计的控制指令。控制指令带会话令牌与操作日志，设备状态机处理异常与重连，形成软硬件协同的完整链路。": "ESP32センサーとシリアル通信から始め、姿勢・距離・モーター状態の収集を段階的に追加。デバイス側はC / C++でプロトコル解析と状態報告を実装し、サーバー側はMQTTで受信して永続化。Webコンソールでデバイスをリアルタイム監視し、監査可能な制御コマンドを送信。制御コマンドにはセッショントークンと操作ログを添付し、デバイスのステートマシンが異常と再接続を処理。ソフトウェアとハードウェアが協調する完全なパイプラインを構成。",
      "Python 定时服务，每天 7:30 把当日课程和天气推送到飞书群聊：解析教务系统课表 JSON，按单双周与节假日规则动态生成消息卡片，Docker 容器化部署并由健康检查保证长期运行。消息模板与推送时间可配置，推送失败自动重试并在 3 次后告警，是个人自动化通知体系里运行最久的一个服务。": "Python定期サービスが毎日7:30に当日の授業と天気をFeishuグループチャットへ配信：教務システムの時間割JSONを解析し、単双週と祝日のルールに従ってメッセージカードを動的生成。Dockerでコンテナ化デプロイし、ヘルスチェックで長期稼働を保証。メッセージテンプレートと配信時刻は設定可能で、配信失敗時は自動リトライ、3回失敗でアラート。個人の自動通知体系で最も長く稼働しているサービス。",
      "个人站点选轻量应用服务器或 ECS 都行，关键是按用途算资源：静态页面 + 小 API，2C2G 足够；要跑 MySQL + Redis + 文件转换这类吃内存的服务，升到 2C4G 更从容。带宽按\"同时在线人数 × 单页体积\"估算，图片多的站点预留上行。地域选离用户近的，备案政策也要考虑。": "個人サイトなら軽量アプリケーションサーバーでもECSでもよい。用途に合わせてリソースを見積もる。静的ページと小さなAPIなら2C2Gで足りるが、MySQL・Redis・ファイル変換を動かすなら2C4Gの方が余裕がある。帯域は同時接続数×1ページの容量で見積もり、画像が多いサイトは上り帯域も確保する。利用者に近いリージョンを選び、必要な登録・届出も確認する。",
      "自建的液态玻璃（Glass Morphism）设计系统：50+ 工具类、CSS 自定义属性驱动主题、暗黑 / 明亮双主题、响应式断点，以及卡片 / 按钮 / 导航 / 表单等组件库。已应用到全站 6 个页面，颜色、圆角、阴影与动效统一从变量取值；组件支持无障碍语义与键盘操作，主题切换无闪烁。": "自作のグラスモーフィズム（Glass Morphism）デザインシステム：50以上のユーティリティクラス、CSSカスタムプロパティによるテーマ駆動、ダーク/ライトのデュアルテーマ、レスポンシブブレークポイント、カード/ボタン/ナビゲーション/フォームなどのコンポーネントライブラリ。全6ページに適用し、色・角丸・シャドウ・動きはすべて変数から取得。コンポーネントはアクセシビリティ対応のセマンティクスとキーボード操作をサポートし、テーマ切り替えはフリッカーなし。",
      "告警设计遵循\"持续 + 冷却\"：磁盘 85% 是信息，90% 持续 10 分钟才是告警；告警后进入冷却窗口，避免每轮采样都刷屏。告警消息带服务名、当前值、阈值、持续时间和建议动作。真正的故障是多项指标同时异常，所以告警规则尽量多信号组合，比如\"5xx 升高 且 P95 变慢 且 CPU 正常\"。": "アラートは「継続」と「クールダウン」で設計する。ディスク使用率85%は情報、90%が10分続いたらアラートとする。発報後はクールダウン期間を設け、各サンプルで通知し続けない。サービス名、現在値、しきい値、継続時間、推奨アクションを含める。実障害は複数指標の異常であることが多いため、「5xx増加・P95悪化・CPUは正常」のように条件を組み合わせる。",
      "用 OpenAPI 描述接口：路径、参数、请求/响应 schema、错误码。生成文档和客户端 SDK，让前后端按契约并行开发；CI 里校验 schema 变更，破坏性变更提前发现。接口文档写清楚每个字段的格式与示例，比\"看代码\"高效得多。文档不是 API 的附属品，而是 API 的接口契约本身。": "OpenAPIでインターフェースを記述：パス、パラメータ、リクエスト/レスポンススキーマ、エラーコード。ドキュメントとクライアントSDKを生成し、フロントエンドとバックエンドが契約に沿って並行開発。CIでスキーマ変更を検証し、破壊的変更を早期に検出。各フィールドの形式と例をドキュメントに書くことは「コードを見る」よりはるかに効率的。ドキュメントはAPIの付属品ではなく、APIのインターフェース契約そのものです。",
      "设备正常断网时 TCP 可能没有 FIN，Broker 靠心跳（Keep Alive）检测失联：超过 1.5 倍心跳周期未收到报文就判定离线。心跳周期要按设备电量与网络质量权衡——太短频繁唤醒，太长故障发现慢。遗嘱消息（LWT）在 Broker 判定离线时自动发布，我把它设计为\"设备状态\"主题：": "デバイスが正常にネットワーク断してもTCPにFINが届かないことがある。BrokerはKeep Aliveで切断を検知し、ハートビート周期の1.5倍以上パケットを受信しなければオフラインと判定する。周期は電池とネットワーク品質のバランスで決め、短すぎると頻繁に起床し、長すぎると検知が遅れる。Brokerがオフライン判定したときに遺言メッセージ（LWT）を自動公開し、私は「デバイス状態」Topicとして設計している：",
      "为个人服务补齐 API 安全能力：JWT 登录 + RBAC 权限模型、基于中间件的接口鉴权、Redis 限流与配额、请求日志与错误追踪，以及 OpenAPI 规范文档。权限配置以最小权限为原则，越权访问与异常输入都有审计记录；所有安全策略先在可控实验环境验证再上线，形成一套可复用的接口防护模板。": "個人サービス向けにAPIセキュリティ機能を整備：JWTログイン + RBAC権限モデル、ミドルウェアベースのエンドポイント認可、Redisによるレート制限とクォータ、リクエストログとエラートラッキング、OpenAPI仕様ドキュメント。権限設定は最小権限の原則に従い、越権アクセスや異常入力はすべて監査記録に残します。すべてのセキュリティ戦略は、管理された実験環境で検証してから本番投入し、再利用可能なAPI保護テンプレートを構築。",
      "备份不是\"把文件拷走\"，而是能回答：恢复到哪一天、需要几步、如何验证。我的备份分三层：静态站点与源码（Git + 压缩包）、数据库（mysqldump + 二进制日志位点）、Docker 卷（镜像 + 命名卷导出）。每天全量 + 每周保留，恢复演练每季度做一次，从空机器开始执行恢复脚本到服务可用。": "バックアップは「ファイルをコピーする」だけではなく、いつの状態へ戻せるか、何ステップ必要か、どう検証するかに答えられなければならない。私のバックアップは3層で、静的サイトとソース（Git＋アーカイブ）、DB（mysqldump＋バイナリログ位置）、Dockerボリューム（イメージ＋名前付きボリュームのエクスポート）を保存する。毎日フルバックアップを行い、週次で保持し、四半期ごとに空のマシンからサービスが使えるまで復元演習をする。",
      "用 Canvas 原生实现坦克战斗原型：玩家移动与瞄准、敌人 AI、碰撞检测、职业树、武器升级、排行榜和粒子反馈全部模块化拆分。每帧按输入 → 状态更新 → 碰撞 → 渲染分阶段执行，碰撞先用包围盒粗筛再做精确判断；核心计分与升级逻辑编写了单元测试，参数集中配置便于调平衡，移动端做了触摸与降级处理。": "Canvasネイティブ実装のタンクバトルプロトタイプ：プレイヤー移動と照準、敵AI、衝突検出、スキルツリー、武器アップグレード、ランキング、パーティクルフィードバックをすべてモジュール化。毎フレーム「入力→状態更新→衝突→描画」の段階で実行し、衝突はまずバウンディングボックスで粗く選別してから精密判定。コアの採点・アップグレードロジックにはユニットテストを書き、パラメータは集中管理してバランス調整を容易に。モバイルはタッチ操作と性能低下時のフォールバックに対応。",
      "设备上报的数据很少一开始就适合展示。消息需要经过身份校验、时间戳补全、单位统一、异常值过滤和设备状态更新，最后才进入存储层。建议为每条消息保留 device_id、topic、received_at、measured_at、value 和 schema_version，未来修改字段时仍能读取旧数据。": "デバイスが報告するデータは、最初から表示に適していることはまれです。メッセージは、ID検証、タイムスタンプ補完、単位統一、異常値フィルタリング、デバイス状態更新を経て、最後にストレージ層に入ります。各メッセージにdevice_id、topic、received_at、measured_at、value、schema_versionを保持し、将来フィールドを変更しても古いデータを読み取れるようにすることを推奨。",
      "GPIO 只是入口。真正理解硬件，要把数据手册和实测结合起来：先看 datasheet 的电气参数（工作电压、功耗、通信时序），再用逻辑分析仪或串口打印验证实际波形。ESP32 的 ADC 不是万能胶，参考电压、采样位数和噪声都会影响读数，传感器标定（offset 与斜率）往往比\"能读出来\"更花时间。": "GPIOは入口にすぎない。ハードウェアを理解するにはデータシートと実測を組み合わせ、動作電圧・消費電力・通信タイミングなどの電気的仕様を確認したうえで、ロジックアナライザやシリアル出力で実波形を検証する。ESP32のADCは万能ではなく、基準電圧・分解能・ノイズが読み値に影響する。センサーのキャリブレーション（オフセットと傾き）は、値を読めるようにすることより時間がかかることも多い。",
      "目前这套实验室由几类服务组成：静态站点负责主页、项目和工具箱；仪表盘读取宿主机指标和 Docker 状态；博客后端扫描 Markdown 文章并提供搜索、相关文章和结构化数据；图书馆 API、文件转换和预约服务各自独立运行。它们不需要共享全部代码，只需要通过稳定的 HTTP API 或反向代理路径协作。": "現在このラボはいくつかのサービスで構成されています：静的サイトはホームページ・プロジェクト・ツールボックスを担当し、ダッシュボードはホストのメトリクスとDockerの状態を読み取り、ブログのバックエンドはMarkdown記事をスキャンして検索・関連記事・構造化データを提供し、図書館API・ファイル変換・予約サービスはそれぞれ独立して動作します。すべてのコードを共有する必要はなく、安定したHTTP APIまたはリバースプロキシパスで連携するだけです。",
      "WebSocket 连接从 HTTP 握手开始：客户端发 Upgrade 请求，服务端返回 101，之后同一 TCP 连接上双向传输帧。握手时的 key 用于校验，服务端计算 Sec-WebSocket-Accept。浏览器同源策略会阻止跨域连接，服务端用 CORS 或明确允许的 Origin 白名单控制。": "WebSocket接続はHTTPハンドシェイクから始まる。クライアントがUpgradeを送り、サーバーが101を返した後、同じTCP接続でフレームを双方向に送る。ハンドシェイクのkeyからSec-WebSocket-Acceptを計算する。ブラウザの同一オリジン制約があるため、サーバーはCORSまたは明示的なOrigin許可リストでクロスオリジン接続を制御する。",
      "设备固件里不能硬编码云端密钥，Wi-Fi 凭据和 Broker 密码应加密存储或首次配网注入。TLS 证书要能轮换，设备端校验服务器证书防中间人。对外开放的 MQTT 端口必须有认证和 ACL，按设备维度限制可订阅/可发布的 Topic。个人项目可以从小处做起：至少做到\"密钥不入库、默认拒绝、最小权限\"三条。": "デバイスファームウェアにクラウド鍵をハードコードしない。Wi-Fi認証情報とBrokerのパスワードは暗号化して保存するか、初回プロビジョニング時に注入する。TLS証明書はローテーション可能にし、デバイス側でサーバー証明書を検証して中間者攻撃を防ぐ。外部公開するMQTTポートには認証とACLを必須とし、デバイス単位で購読・公開できるTopicを制限する。個人プロジェクトでも、秘密をリポジトリに入れない、デフォルト拒否、最小権限の3点から始められる。",
      "| 特性 | JWT | Session | |------|-----|---------| | 扩展性 | 优秀（无状态） | 需要共享 Session | | 性能 | 客户端存储，不查 DB | 每次查 Session | | 安全性 | 需额外处理 | 成熟方案 | | 复杂度 | 较低 | 简单 |": "| 特性 | JWT | Session | |---|---|---| | 拡張性 | 優秀（ステートレス） | 共有セッションが必要 | | 性能 | クライアント保存、DB照会なし | 毎回セッションを照会 | | 安全性 | 追加対策が必要 | 成熟したサーバー側制御 | | 複雑さ | 低い | シンプル |",
      "链路跑通后，我做了三组验收：正常路径（设备每秒上报，页面实时更新）、异常路径（断网重连、消息重复、时钟漂移、异常值）、恢复路径（Broker 重启、数据库迁移、后端滚动更新）。每组都有对应脚本或测试用例，把\"应该能工作\"变成\"每次发布都能验证\"。设备从入网到数据可视化的全生命周期，才算一条完整可维护的数据管道。": "パイプライン完成後、3つの受入れグループを実施：正常パス（デバイスが毎秒送信、ページがリアルタイム更新）、異常パス（切断再接続、メッセージ重複、クロックドリフト、異常値）、復旧パス（Broker再起動、データベース移行、バックエンドのローリング更新）。各グループに対応するスクリプトやテストケースを用意し、「動くはず」を「毎回のリリースで検証可能」に変換。デバイスの入網からデータ可視化までのライフサイクル全体をカバーして初めて、完全で保守可能なデータパイプラインになります。",
      "以智慧图书馆为例做完整数据库工程：ER 建模与第三范式规范化，针对高频查询设计 B+Tree 联合索引，用 EXPLAIN 与慢查询日志验证执行计划；存储过程与触发器处理借阅状态流转，Redis 缓存旁路加速热门查询。在 10 万条模拟数据下把核心查询压到 50ms 以内，并整理了索引失效与参数化查询的避坑清单。": "スマート図書館を例に、ERモデリングと第三正規形、高頻度クエリ向けのB+Tree複合インデックス、EXPLAINとスロークエリログによる実行計画の検証、ストアドプロシージャとトリガーによる貸出状態遷移、Redis cache-asideによる人気クエリの高速化を一通り実践した。10万件の模擬データで主要クエリを50ms以内に抑え、インデックスとパラメータ化クエリの注意点も整理した。",
      "服务器被扫是常态。加固优先级：SSH 密钥认证 + 禁 root 远程登录 > fail2ban 防爆破 > 最小权限（服务各自独立用户）> 系统与软件定期更新 > 日志与审计。Web 服务进程不要用 root 跑，Nginx 反代 + Docker 容器天然隔离一部分风险；敏感环境变量放单独文件且权限 600。": "サーバーがスキャンされるのは日常的だ。強化の優先順位は、SSH鍵認証とrootのリモートログイン禁止、fail2banによるブルートフォース対策、サービスごとの独立ユーザーによる最小権限、OS・ソフトウェアの定期更新、ログと監査の順とする。Webプロセスをrootで動かさず、NginxのリバースプロキシとDockerの分離を使う。機密な環境変数は別ファイルに置き、権限を600にする。",
      "HTTPS 安全的核心是 TLS 握手。简化流程：客户端发 ClientHello（支持的 TLS 版本、密码套件、随机数）→ 服务端回 ServerHello + 证书 + 密钥交换参数 → 客户端验证证书、生成预主密钥 → 双方派生会话密钥并发送 Finished。之后应用数据用对称加密传输，性能远高于非对称。": "HTTPSセキュリティの中核はTLSハンドシェイクです。簡略化した流れ：クライアントがClientHelloを送信（サポートするTLSバージョン、暗号スイート、ランダム",
      "POST 创建、GET 查询、PUT 整体替换、PATCH 部分更新、DELETE 删除。状态码表达结果类别：200/201/204 成功，400 参数错误，401 未认证，403 无权限，404 不存在，409 冲突，422 校验失败，429 限流，500/503 服务异常。错误响应统一结构，客户端才能稳定解析：": "POST Creates, GETクエリ, PUT 全置換, PATCH 部分更新, DELETE 削除. ステータスコード式カテゴリ: 200/201/204 成功, 400 パラメータエラー, 401 未認証, 403 認証なし, 404 非存在, 409 競合, 422 検証障害, 429 制限フロー, 500/503 サービス異常. エラー応答はクライアントを安定させるために構造を統一しました。",
      "后端至少要有三件事：设备认证（每台设备一个唯一密钥）、数据校验（时间戳、单位、取值范围）、状态管理（在线/离线、固件版本、最后上报时间）。数据入库前统一 schema：device_id、topic、received_at、measured_at、value、schema_version，未来加字段不影响旧数据读取。": "バックエンドには、デバイスごとの固有鍵による認証、タイムスタンプ・単位・範囲のデータ検証、オンライン/オフライン・ファームウェア・最終報告時刻の状態管理が必要です。保存前にdevice_id、topic、received_at、measured_at、value、schema_versionへ統一し、将来の追加フィールドが旧データの読み取りを壊さないようにします。",
      "把设备、表单与服务事件统一成可追踪的数据流：事件先写入 Redis Streams / 轻量队列，消费者按主题完成接收、清洗、聚合与告警，消费进度由消费者组管理，失败消息进入隔离队列重放。为每条事件保留 id、来源、时间戳与 schema_version，支持回放与审计，可同时服务 IoT 数据与 Web 业务日志。": "デバイス、フォーム、サービスイベントを追跡可能なデータストリームに統合：イベントはRedis Streams / 軽量キューに書き込まれ、コンシューマーはトピックごとに受信・クリーニング・集計・アラートを処理。消費進捗はコンシューマーグループで管理し、失敗メッセージは隔離キューでリプレイ可能。各イベントにid、ソース、タイムスタンプ、schema_versionを保持し、リプレイと監査に対応。IoTデータとWeb業務ログの両方を処理できる。",
      "为个人技术实验室建立可审计的恢复基线：同时保存 Compose 源码、静态站点、博客文章、Docker 镜像、命名卷、网络与容器元数据，并生成 SHA-256 校验清单。恢复脚本按“确认 → 拉取镜像 → 恢复卷 → 重建网络 → 启动服务 → 校验”顺序执行，全部幂等；每个快照带时间戳与版本号，可回退到任意历史状态。": "個人技術ラボの監査可能な復旧ベースラインを確立：Composeソース、静的サイト、ブログ記事、Dockerイメージ、名前付きボリューム、ネットワーク・コンテナメタデータをまとめて保存し、SHA-256チェックサムマニフェストを生成。復元スクリプトは「確認→イメージ取得→ボリューム復元→ネットワーク再構築→サービス起動→検証」の順に実行され、すべて冪等。各スナップショットはタイムスタンプとバージョン番号を持ち、任意の過去状態にロールバック可能。",
      "| 算法 | 密钥类型 | 安全性 | 适用场景 | |------|---------|--------|---------| | HS256 | 对称密钥 | 中 | 单服务/内部服务 | | RS256 | 公私钥对 | 高 | 微服务/第三方验证 | | ES256 | 椭圆曲线 | 最高 | 移动端/高性能 |": "アルゴリズムアルゴリズム キータイプ | セキュリティー | 対応シーン | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 第三者の検証 | ES256 | 楕円曲線 | 最新 | モバイルエンド・ハイパフォーマンス |",
      "把测试、构建、推送与部署全流程自动化：代码推送到 develop 自动运行 pytest 与 lint，通过后构建 Docker 镜像并推送到阿里云容器镜像服务，再通过 SSH 在 ECS 上执行滚动更新；失败时在 PR 中直接标记。流水线中配置了构建缓存、镜像版本化与回滚按钮，让发布从手动操作变成可重复、可追溯的流程。": "テスト・ビルド・プッシュ・デプロイの全フローを自動化：developへのプッシュでpytestとlintが自動実行され、成功するとDockerイメージをビルドしてAlibaba Cloudコンテナイメージレジストリへプッシュ、SSH経由でECS上にローリング更新を実行。失敗時はPR上で直接マーク。パイプラインにはビルドキャッシュ、イメージのバージョン管理、ロールバックボタンを設定し、リリースを手動操作から再現可能で追跡可能なプロセスに変えた。",
      "第一类是可读源码：Compose 文件、Dockerfile、静态站点、博客 Markdown 和脚本。第二类是运行时资产：当前使用的镜像、证书目录和环境变量。第三类是状态数据：预约数据、图书馆数据和日志卷。第四类是拓扑信息：容器 inspect、网络 inspect、卷 inspect 和渲染后的 Compose 配置。": "第1類は読み取り可能なソース：Composeファイル、Dockerfile、静的サイト、ブログのMarkdown、スクリプト。第2類はランタイム資産：現在使用中のイメージ、証明書ディレクトリ、環境変数。第3類は状態データ：予約データ、図書館データ、ログボリューム。第4類はトポロジー情報：コンテナinspect、ネットワークinspect、ボリュームinspect、レンダリング済みCompose設定。",
      "定时任务在凌晨跑，日志尤其重要：每条日志带时间戳（UTC 存储、本地展示）、任务名、执行环境；日志按天轮转压缩。时区统一配置，Cron 的 TZ 与 Python 的 zoneinfo 都显式设置，避免\"看起来跑了其实是昨天\"。所有任务纳入版本管理（脚本 + 调度配置），机器重建后一键恢复——自动化任务本身也要能自动化部署。": "定期タスクは深夜に実行されるため、ログが重要です。各ログにタイムスタンプ（UTC保存・ローカル表示）、タスク名、実行環境を記録し、日次でローテーションと圧縮を行います。タイムゾーンを統一し、CronのTZとPythonのzoneinfoを明示設定して日付のずれを防止。スクリプトとスケジュール設定をすべてバージョン管理し、マシン再構築後にワンクリックで復元できるようにします。",
      "异常不散落在每个 Controller。用 @RestControllerAdvice 统一处理：业务异常返回 4xx + 错误码，参数校验异常返回 422 + 字段错误，未知异常记日志并返回 500（不暴露堆栈给客户端）。响应结构统一：data、error（code/message）、request_id，方便前端与排障。": "例外を各Controllerに散らばらせない。@RestControllerAdviceで一元的に処理します：業務例外は4xx＋エラーコード、パラメータ検証例外は422＋フィールドエラー、未知の例外はログに記録して500を返します（スタックをクライアントに晒さない）。レスポンス構造はdata、error（code/message）、request_idに統一し、フロントエンドと障害調査を容易にします。",
      "JWT 适合无状态、跨服务共享身份，但\"无法主动注销\"\"负载体积\"是代价；Session 有服务端状态，注销容易、可控性强，但要维护会话存储。个人项目我的取舍：短会话用 JWT + 刷新轮换，敏感管理接口再加 RBAC 与审计；session 适合需要立即踢人的后台管理。安全不是选一个技术，而是明确\"谁在什么条件下能做什么\"。": "JWTはステートレスでクロスサービスのID共有に適しますが、「能動的な失効ができない」「ペイロードサイズ」がコスト。Sessionはサーバーサイド状態を持ち、失効が容易で制御力が強い反面、セッションストレージの保守が必要。個人プロジェクトの判断：短いセッションはJWT+リフレッシュローテーション、機密の管理APIにはさらにRBACと監査を追加。sessionは即時キックが必要な管理画面に適します。セキュリティとは技術を選ぶことではなく、「誰がどの条件下で何をできるか」を明確にすることです。",
      "自定义机器人用 Webhook 地址发消息，Webhook 本身就是密钥：泄露后任何人都能往群里发消息。安全措施：Webhook 不写进代码和日志；服务器 IP 白名单（机器人设置里开启）；敏感内容走加密字段或卡片加密；密钥轮换有流程。飞书对消息频率有限制（同机器人每秒 5 条），批量推送时本地限速 + 批处理，避免触发限流。": "カスタムボットはWebhook URLでメッセージを送信し、Webhook自体が秘密鍵です：漏洩すると誰でもグループに投稿できてしまいます。安全対策：Webhookをコードやログに書かない。サーバーIPホワイトリスト（ボット",
      "上线前用工具模拟设备连接：先测单设备长连接稳定性（连接 24 小时观察断线），再逐步加设备看 Broker CPU 与连接数。订阅者消费能力决定 QPS 上限：消费者处理慢，Broker 的消息堆积会增长，需要监控消费延迟。个人项目做到\"Broker 无异常日志、消费延迟 < 5 秒\"即可，不必追求百万并发——先把可靠性做扎实。": "本番投入前にツールでデバイス接続をシミュレーション：まず単一デバイスの長接続安定性をテスト（24時間接続して切断を観察）、次にデバイスを徐々に増やしてBrokerのCPUと接続数を確認。サブスクライバーの消費能力がQPS上限を決めます：消費者が遅いとBrokerのメッセージ滞留が増えるため、消費遅延を監視する必要があります。個人プロジェクトは「Brokerに異常ログなし、消費遅延 < 5秒」で十分。百万並行を追う必要はなく、まず信頼性を固めます。",
      "自研博客引擎：Markdown 文件即文章源，后端渲染为 HTML、自动生成目录与阅读时间，支持标签聚合、全文搜索、相关文章与 JSON-LD 结构化数据。文章发布只需新增 Markdown 并执行渲染脚本，配合 RSS 与 Service Worker 实现离线阅读；标签与搜索索引自动重建，是内容工程与静态站点构建结合的实践。": "自作ブログエンジン：Markdownファイルが記事のソース。バックエンドでHTMLにレンダリングし、目次と読了時間を自動生成。タグ集約、全文検索、関連記事、JSON-LD構造化データに対応。記事公開はMarkdownを追加してレンダリングスクリプトを実行するだけ。RSSとService Workerでオフライン閲覧も可能。タグと検索インデックスは自動再構築され、コンテンツエンジニアリングと静的サイト構築を組み合わせた実践。",
      "HSTS 告诉浏览器\"未来一段时间只走 HTTPS\"，防 SSL Strip 攻击；首次通过 HTTPS 访问后生效，所以要先确保 HTTPS 完全可用再开启。配合安全头：X-Content-Type-Options（防 MIME 嗅探）、X-Frame-Options（防点击劫持）、Referrer-Policy（控制来源泄露）。": "HSTSは一定期間ブラウザにHTTPSだけを使わせ、SSLストリッピング攻撃を防ぐ。初回のHTTPSアクセス後に有効になるため、HTTPSが完全に動作することを確認してから有効化する。X-Content-Type-Options（MIMEスニッフィング対策）、X-Frame-Options（クリックジャッキング対策）、Referrer-Policy（リファラー漏えい制御）も併用する。",
      "以 Docker Compose 统一管理 Nginx、页面、博客、仪表盘与多个 API 服务：网络按业务拆分子网、服务间通过服务名互访，健康检查与 depends_on 控制启动顺序，数据卷持久化 MySQL 与证书，配置通过环境变量分层注入。镜像固定版本号、保留回滚基线，是向 Kubernetes 迁移前的一次完整服务治理练习。": "Docker ComposeでNginx、ページ、ブログ、ダッシュボード、複数のAPIサービスを統一的に管理：ネットワークは業務ごとにサブネット分割、サービス間はサービス名で相互通信、ヘルスチェックとdepends_onで起動順序を制御、データボリュームでMySQLデータと証明書を永続化、設定は環境変数でレイヤー注入。イメージはバージョン番号を固定しロールバックベースラインを維持。Kubernetes移行前の完全なサービスガバナンス演習。",
      "Flask + MySQL 完整业务系统：读者 / 图书管理员 / 系统管理员三种角色，覆盖图书编目、借阅归还、库存管理、逾期罚款、预约队列与操作日志审计。借阅与归还放在数据库事务中执行，避免并发下的库存错乱；预约按创建时间排队并设置取书期限。Bootstrap 响应式界面，权限中间件统一控制路由访问，是一个从需求到上线完整的课程设计。": "Flask + MySQLの完全な業務システム：読者/司書/システム管理者の3役割で、図書目録、貸出・返却、在庫管理、延滞罰金、予約キュー、操作ログ監査をカバー。貸出と返却はデータベーストランザクション内で実行し、並行時の在庫不整合を防止。予約は作成時刻順にキューイングし取書期限を設定。BootstrapのレスポンシブUI、権限ミドルウェアでルートアクセスを統一的に制御。要件から本番稼働まで完結した課程設計プロジェクト。",
      "纯前端实现的浏览器起始页与导航站：内联 SVG 绘制 CPU / 内存 / 磁盘实时图表，Canvas 粒子背景，JSON 配置驱动常用链接。完整实现暗黑 / 明亮双主题切换与 LocalStorage 持久化，天气模块自动检测位置并展示 SVG 图标；桌面 4 列、平板 2 列、手机单列的响应式布局，不依赖任何后端与第三方 UI 框架。": "純フロントエンドで実装したブラウザのスタートページ兼ナビゲーションサイト：インラインSVGでCPU/メモリ/ディスクのリアルタイムチャートを描画し、Canvasのパーティクル背景、JSON設定でよく使うリンクを管理。ダーク/ライトのテーマ切り替えとLocalStorage永続化を完備し、天気モジュールは位置を自動検出してSVGアイコンを表示。デスクトップ4列、タブレット2列、スマホ1列のレスポンシブレイアウトで、バックエンドやサードパーティのUIフレームワークに依存しない。",
      "性能优化是一次性的还是持续的，取决于有没有\"预算\"：给每个页面定 LCP < 2.5s、CLS < 0.1、总资源 < 500KB 的预算，CI 里对每次构建跑 Lighthouse 并比对预算，超了就阻止合并。线上用 RUM（真实用户监控）收集分位数，而不是只看本机 DevTools 的分数。性能不是上线前的一轮优化，而是工程流程的一部分。": "パフォーマンス最適化が一過性か継続的かは、「予算」があるかどうかに依存します：各ページにLCP < 2.5s、CLS < 0.1、総リソース < 500KBの予算を設定し、CIで毎ビルドLighthouseを実行して予算と比較、超過したマージをブロック。本番ではRUM（リアルユーザーモニタリング）でパーセンタイルを収集し、ローカルのDevToolsスコアだけを見ない。パフォーマンスはリリース前の一回限りの最適化ではなく、エンジニアリングプロセスの一部です。",
      "Service 层用单元测试 + Mockito 隔离依赖；接口层用 MockMvc 验证路由、参数、响应结构与状态码；数据库集成测试用 Testcontainers 起真实 MySQL，避免 H2 与生产行为不一致。CI 里跑全量测试，覆盖率作为趋势参考而不是指标绑架。关键业务（借阅、转账、库存）写事务与并发测试，防止\"单测全绿、上线出事\"。": "Service層はユニットテスト＋Mockitoで依存を分離。API層はMockMvcでルート、パラメータ、レスポンス構造、ステータスコードを検証。DB統合テストはTestcontainersで実MySQLを起動し、H2と本番の挙動差を避けます。CIでは全テストを実行し、カバレッジは指標に縛られるのではなく傾向の参考にします。重要業務（貸出、振替、在庫）にはトランザクションと並行性のテストを書き、「単体テストは全部グリーンなのに本番で事故」を防ぎます。",
      "Vue.js + Flask + MySQL 全栈项目：前后端分离，JWT 登录鉴权，商品发布 / 搜索 / 收藏 / 订单，WebSocket 实时聊天，图片上传走对象存储。API 按 RESTful 规范设计（资源命名、状态码、分页、错误结构统一），后端按业务拆分模块并做权限隔离；前端组件化开发并做移动端适配，完整走了一遍真实业务系统的交付流程。": "Vue.js + Flask + MySQLのフルスタックプロジェクト：フロントエンドとバックエンドを分離、JWTログイン認証、商品公開/検索/お気に入り/注文、WebSocketリアルタイムチャット、画像アップロードはオブジェクトストレージ経由。APIはRESTful規約に準拠（リソース命名、ステータスコード、ページネーション、エラー構造の統一）、バックエンドは業務モジュール単位で分割し権限分離、フロントエンドはコンポーネント開発とモバイル対応を実施。実業務システムのデリバリーフローを一通り経験。",
      "纯前端实现 14 个开发工具：JSON 格式化 / 压缩、Base64 编解码、时间戳转换、URL 编解码、正则测试、QR 码生成、密码生成器、Markdown 预览、图片压缩、文本对比、进制转换、UUID 等。所有计算在浏览器本地完成，不上传任何数据；Launchpad 风格网格布局，工具按场景分组，支持暗黑主题，是个人站点里使用频率最高的页面之一。": "純フロントエンドで実装した14個の開発ツール：JSONフォーマット/圧縮、Base64エンコード/デコード、タイムスタンプ変換、URLエンコード/デコード、正規表現テスト、QRコード生成、パスワード生成、Markdownプレビュー、画像圧縮、テキスト比較、基数変換、UUIDなど。すべての計算はブラウザ内で完結し、データを一切アップロードしない。Launchpad風グリッドレイアウトでツールをシナリオ別にグループ化、ダークテーマ対応。個人サイトで最も使用頻度の高いページのひとつ。",
      "覆盖 LAMP / LNMP 环境部署、Docker 全家桶安装、SSL 证书一键申请、MySQL 自动备份和系统初始化配置的 Shell 脚本集，已在 3 台 Ubuntu 20.04 / 22.04 / 24.04 服务器上验证。脚本全部幂等可重入，关键步骤带彩色日志与退出码判断，出错自动回滚已修改配置；参数通过环境变量注入，方便在不同机器上复用。": "LAMP/LNMP環境構築、Docker一式のインストール、SSL証明書のワンクリック取得、MySQL自動バックアップ、システム初期化設定をカバーするShellスクリプト集。Ubuntu 20.04/22.04/24.04の3台のサーバーで検証済み。全スクリプトは冪等で再実行可能、重要ステップにはカラー付きログと終了コード判定を実装し、エラー時は変更済み設定を自動ロールバック。パラメータは環境変数で注入し、異なるマシンで簡単に再利用可能。",
      "配置走 profile（dev/prod）+ 环境变量，敏感值不提交；Actuator 暴露健康端点，配合 Nginx 和 Docker 做容器化部署。慢查询、日志、指标在发布前就配好，而不是等出问题再加。Spring Boot 的工程价值在于：约定优于配置，把常见问题（依赖、事务、测试、部署）变成有标准答案的常规操作，让开发者把精力留给真正的业务逻辑。": "設定はprofile（dev/prod）と環境変数で管理し、機密値はコミットしない。Actuatorでヘルスエンドポイントを公開し、NginxとDockerでコンテナ化デプロイを行う。スロークエリ、ログ、メトリクスはリリース前に設定しておき、問題が出てから追加しない。Spring Bootのエンジニアリング的価値は「規約優先（convention over configuration）」にある：依存関係、トランザクション、テスト、デプロイといった共通の課題を、標準的な答えのある定型的な操作に変え、開発者が本来のビジネスロジックに集中できるようにすることだ。",
      "日英双语的阶梯式练习平台：内容模型区分 lesson / item / attempt / review 四类实体，前端用 Vue + TypeScript 管理词汇、语法、复习计划与统计，IndexedDB 做离线存储与增量同步。AI 参与例句生成与难度校验，但学习结论由规则引擎决定；统计页按学习流展示正确率与复习曲线，是从产品结构到工程交付的综合实践。": "日英バイリンガルの段階式練習プラットフォーム：コンテンツモデルはlesson/item/attempt/reviewの4種類のエンティティを区別。フロントエンドはVue + TypeScriptで語彙、文法、復習計画、統計を管理し、IndexedDBでオフライン保存と増分同期を実現。AIは例文生成と難易度検証を支援するが、学習結論はルールエンジンが決定。統計ページは学習フロー別に正答率と復習曲線を表示。製品構造からエンジニアリングデリバリーまでを網羅した総合実践。",
      "把服务健康检查、资源阈值告警、日志聚合、MySQL 备份和 SSL 证书续签串成一套可复用的运维工具链。健康检查失败自动重启容器并记录耗时；日志定期解析出 PV/UV、状态码分布与慢请求 Top 10；磁盘与内存超过阈值时由飞书推送含进程快照的告警。证书在到期前 30 天自动续签、Nginx 热加载，另有 7/3/1 天分级提醒和归档回滚，替代了全部人工巡检。": "サービスヘルスチェック、リソース閾値アラート、ログ集約、MySQLバックアップ、SSL証明書更新を再利用可能な運用ツールチェーンに連結。ヘルスチェック失敗時はコンテナを自動再起動し所要時間を記録。ログからPV/UV、ステータスコード分布、スローリクエストTop10を定期解析。ディスク・メモリが閾値を超えるとプロセススナップショット付きのアラートをFeishuへプッシュ。証明書は有効期限30日前に自動更新しNginxホットリロード、さらに7/3/1日前の段階的リマインダーとアーカイブロールバックを備え、人手による点検を全廃。",
      "访问令牌过期时间短（15-60 分钟），刷新令牌长（7-30 天）。刷新流程：客户端用 refresh token 换新 access token；刷新令牌轮换（每次刷新发新 refresh、旧 refresh 立即作废），被盗后只能短暂使用。注销场景：短期访问令牌很难真正作废，方案是维护 jti 黑名单（Redis 带过期），或缩短令牌有效期配合刷新令牌撤销。": "アクセストークンの有効期限は短く（15〜60分）、リフレッシュトークンは長い（7〜30日）。リフレッシュフロー：クライアントはリフレッシュトークンで新しいアクセストークンを取得。リフレッシュトークンのローテーション（毎回新しいrefreshを発行し旧refreshを即時無効化）により、盗難後も短時間しか使えません。ログアウトのシナリオ：短期アクセストークンの真の失効は困難で、jtiブラックリスト（Redisで有効期限付き）を維持するか、トークン有効期限を短縮してリフレッシュトークン失効と組み合わせます。",
      "EXPLAIN 输出的核心字段：type（访问类型）、key（命中索引）、rows（预估扫描行数）、Extra（是否 filesort、临时表、Using index）。访问类型从好到差大致是 system → const → eq_ref → ref → range → index → ALL（全表扫描）。看到 ALL 且 rows 很大，就是优化的第一个目标。": "EXPLAIN出力の主要フィールド：type（アクセスタイプ）、key（ヒットしたインデックス）、rows（推定スキャン行数）、Extra（filesort、一時テーブル、Using indexなど）。アクセスタイプは良→悪でおよそsystem → const → eq_ref → ref → range → index → ALL（全表スキャン）。ALLかつrowsが大きいのを見たら、それが最適化の第一目標です。",
      "JPA/Hibernate 适合领域模型复杂、对象关系映射完整的项目，自动生成 SQL 但容易产生 N+1 查询；MyBatis 手写 SQL、控制力强，适合复杂查询与优化。个人项目我的选择：CRUD 与关系建模用 JPA（@EntityGraph 解决 N+1），报表与复杂联查用 MyBatis 或 JdbcTemplate。没有银弹，按查询复杂度和团队习惯选。": "JPA/Hibernateは複雑なドメインモデルと完全なO/Rマッピングを持つプロジェクトに適し、SQLを自動生成しますがN+1クエリが発生しやすい。MyBatisは手書きSQLで制御力が強く、複雑なクエリと最適化に適しています。個人プロジェクトでの私の選択：CRUDと関係モデリングはJPA（@EntityGraphでN+1を解決）、レポートと複雑な結合はMyBatisまたはJdbcTemplate。銀の弾丸はなく、クエリの複雑さとチームの習慣で選びます。",
      "Flask + LibreOffice 的转换 API：支持 Word ↔ PDF、PPT ↔ PDF、Excel → CSV，单文件最大 50MB，批量任务走队列并在完成后回调。工程上重点处理了进程超时、临时目录隔离、并发限制与失败清理；文件名与 MIME 都做校验，日志按任务 ID 追踪，方便定位是哪一步转换失败。Docker 一键部署，接口设计与错误码统一，可直接接入业务。": "Flask + LibreOfficeの変換API：Word↔PDF、PPT↔PDF、Excel→CSVに対応し、単一ファイル最大50MB。バッチジョブはキュー経由で処理し、完了時にコールバック。プロセスタイムアウト、一時ディレクトリの分離、並行制限、失敗時のクリーンアップを重点的に処理。ファイル名とMIMEを検証し、ログをタスクIDで追跡して失敗箇所を特定しやすくした。Dockerでワンクリックデプロイ、API設計とエラーコードを統一し、業務への直接組み込みが可能。",
      "Access token 放 localStorage 会被 XSS 读到；更稳的是放内存（刷新后由 JS 持有），刷新令牌放 HttpOnly + Secure + SameSite Cookie。CSRF 防护对 Cookie 场景必须（SameSite + CSRF token）；纯 Bearer 头场景避免 token 出现在 URL 和日志里。所有传输走 HTTPS，禁止把 token 打到第三方请求头。": "アクセストークンをlocalStorageに置くとXSSで読み取られます。より安全なのはメモリ上に保持（リフレッシュ後はJSが保持）し、リフレッシュトークンはHttpOnly + Secure + SameSite Cookieに。CookieシナリオではCSRF対策が必須（SameSite + CSRFトークン）。純粋なBearerヘッダーシナリオでは、トークンがURLやログに現れないように。すべての通信はHTTPS、トークンをサードパーティのリクエストヘッダーに付けるのは禁止。",
      "Spring 容器管理 Bean 的创建、依赖与销毁。接口注入优于实现注入（可替换、易测试）；构造器注入优于字段注入（依赖明确、可空性检查）。理解 Bean 作用域：默认 singleton（容器内单例）、request/session 按需。@Transactional 默认只回滚 RuntimeException，checked 异常要显式 rollbackFor，事务边界放在 Service 层而不是 Controller。": "SpringコンテナはBeanの生成、依存、破棄を管理します。インターフェース注入は実装注入より優れる（交換可能、テスト容易）。コンストラクタ注入はフィールド注入より優れる（依存が明確、null許容チェック）。Beanスコープの理解：デフォルトはsingleton（コンテナ内単一インスタンス）、request/sessionは必要に応じて。@TransactionalはデフォルトでRuntimeExceptionのみロールバックし、checked例外は明示的なrollbackForが必要。トランザクション境界はControllerではなくService層に置きます。",
      "| 优化项 | 优化前 | 优化后 | 提升 | |--------|--------|--------|------| | 总加载体积 | 12.3 MB | 1.1 MB | -91% | | First Contentful Paint | 2.8 s | 0.4 s | -86% | | Largest Contentful Paint | 3.2 s | 0.9 s | -72% | | Lighthouse 评分 | 42 | 96 | +54 |": "+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +",
      "独立完成从硬件到前端的数据闭环：ESP32 以 MQTT QoS 1 上报温湿度、光照等环境数据，Python 后端订阅 Topic、校验时间戳与单位后写入 MySQL；ECharts 实现 24h / 7d / 30d 可切换的实时曲线与仪表盘，支持 CSV 导出与 RESTful 分页查询。异常检测使用滑动窗口阈值，命中后携带设备 ID、异常值与时间戳推送飞书，做到秒级告警。链路中覆盖了消息幂等、断线重连、字段版本兼容与数据归档，形成一条可排障的数据管道。": "ハードウェアからフロントエンドまでのデータループを独力で完成：ESP32がMQTT QoS 1で温湿度・照度などの環境データを送信し、Pythonバックエンドがトピックを購読、タイムスタンプと単位を検証してMySQLに書き込み。EChartsで24h/7d/30d切替可能なリアルタイムグラフとダッシュボードを実現し、CSVエクスポートとRESTfulページネーションクエリに対応。異常検知はスライディングウィンドウ閾値を使用し、検出時はデバイスID・異常値・タイムスタンプ付きでFeishuへ秒単位でアラート送信。メッセージの冪等性、切断再接続、フィールドバージョン互換、データアーカイブまでカバーし、障害追跡可能なデータパイプラインを構築。",
      "在阿里云 ECS（Ubuntu 24.04）上从零搭建个人技术平台：Nginx 统一反向代理 + Docker Compose 编排 6 个容器化服务（主页、博客、仪表盘、工具箱、文件转换、清灰 API），单端口 80 承载全部流量。SSL 证书通过 Certbot 全自动申请与续签，Crontab + Shell 完成数据库定时备份、日志轮转与健康检查，异常由飞书机器人实时告警。所有 Dockerfile 与配置纳入 Git 版本管理，支持一键重建与回滚，生产环境持续稳定运行一年以上。": "Alibaba Cloud ECS（Ubuntu 24.04）上に個人技術プラットフォームをゼロから構築：Nginx統合リバースプロキシ + Docker Composeで6つのコンテナ化サービス（ホームページ、ブログ、ダッシュボード、ツールボックス、ファイル変換、クリーンアップAPI）をオーケストレーションし、単一ポート80で全トラフィックを処理。SSL証明書はCertbotで完全自動取得・更新。Crontab + Shellでデータベースの定期バックアップ、ログローテーション、ヘルスチェックを実行し、異常はFeishuボットがリアルタイム通知。全Dockerfileと設定はGitでバージョン管理され、ワンクリック再構築・ロールバックに対応。本番環境は1年以上安定稼働中。",
      "返回": "戻る",
      "返回文章列表": "記事一覧に戻る",
      "返回全部文章": "すべての記事に戻る",
      "选择语言": "言語",
      "指标历史": "メトリクス履歴",
      "发送": "送信",
      "接收": "受信",
      "系统": "システム",
      "内核": "カーネル",
      "公网 IP": "パブリック IP",
      "Docker 容器": "Docker コンテナ",
      "镜像": "イメージ",
      "端口": "ポート",
      "输入关键词开始搜索…": "キーワードを入力して検索…",
      "↑↓ 导航": "↑↓ 移動",
      "⏎ 打开": "⏎ 開く",
      "Esc 关闭": "Esc 閉じる",
      "主页": "ホーム",
      "图书馆 API": "図書館 API",
      "文件转换": "ファイル変換",
      "预约服务": "予約サービス",
      "本地预览": "ローカルプレビュー",
      "本地界面预览": "ローカル画面プレビュー",
      "线上部署后读取": "デプロイ後に読み込み",
      "本地不连接证书": "ローカルでは証明書に接続しません",
      "物联网工程": "IoT Engineering",
      "大一": "大学1年生",
      "大二": "大学2年生",
      "大三": "大学3年生",
      "2026 · 大四": "2026 · 大学4年生",
      "飞书 Webhook": "Feishu Webhook",
      "飞书告警": "Feishuアラート",
      "飞书通知": "Feishu通知",
      "飞书群聊": "Feishuグループチャット",
      "技术博客": "テックブログ",
      "记录学习过程中的思考与实践 · 共 39 篇文章": "学習と実践の記録 · 39記事",
      "全部": "すべて",
      "个人主页": "ホーム",
      "保持联系": "連絡先",
      "发送邮件": "メールを送る",
      "邮箱联系": "メール",
      "下载简历": "履歴書をダウンロード"
    }
  }
}
