1
0
wiki/Technology/ProgrammingLanguage/Python/进阶/数据库操作.html

635 lines
522 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh"><head><title>数据库操作</title><meta charset="utf-8"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=IBM Plex Mono&amp;family=Noto Serif Simplified Chinese:wght@400;700&amp;family=Source Sans Pro:ital,wght@0,400;0,600;1,400;1,600&amp;display=swap"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="数据库操作"/><meta property="og:description" content="Python DB-API 2.0 规范是一个重要的标准,它为 Python 程序与数据库间的交互提供了一致的接口。这个规范的目标是简化数据库编程,同时保持足够的灵活性来支持不同的数据库系统。."/><meta property="og:image" content="https://wiki.7wate.com/static/og-image.png"/><meta property="og:width" content="1200"/><meta property="og:height" content="675"/><link rel="icon" href="../../../../static/icon.png"/><meta name="description" content="Python DB-API 2.0 规范是一个重要的标准,它为 Python 程序与数据库间的交互提供了一致的接口。这个规范的目标是简化数据库编程,同时保持足够的灵活性来支持不同的数据库系统。."/><meta name="generator" content="Quartz"/><link href="../../../../index.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><script src="../../../../prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch("../../../../static/contentIndex.json").then(data => data.json())</script></head><body data-slug="Technology/ProgrammingLanguage/Python/进阶/数据库操作"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><h2 class="page-title"><a href="../../../..">🪴 X·Eden</a></h2><div class="spacer mobile-only"></div><div class="search"><button class="search-button" id="search-button"><p>搜索</p><svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title>Search</title><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></button><div id="search-container"><div id="search-space"><input autocomplete="off" id="search-bar" name="search" type="text" aria-label="搜索些什么" placeholder="搜索些什么"/><div id="search-layout" data-preview="true"></div></div></div></div><button class="darkmode" id="darkmode"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35" xml:space="preserve" aria-label="暗色模式"><title>暗色模式</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6 C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9 c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06 L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z M28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2 C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-0.439-1.061L28.561,26.439z M17.5,29 c-0.829,0-1.5,0.672-1.5,1.5v3c0,0.828,0.671,1.5,1.5,1.5s1.5-0.672,1.5-1.5v-3C19,29.672,18.329,29,17.5,29z M17.5,7 C11.71,7,7,11.71,7,17.5S11.71,28,17.5,28S28,23.29,28,17.5S23.29,7,17.5,7z M17.5,25c-4.136,0-7.5-3.364-7.5-7.5 c0-4.136,3.364-7.5,7.5-7.5c4.136,0,7.5,3.364,7.5,7.5C25,21.636,21.636,25,17.5,25z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="nightIcon" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100" xml:space="preserve" aria-label="亮色模式"><title>亮色模式</title><path d="M96.76,66.458c-0.853-0.852-2.15-1.064-3.23-0.534c-6.063,2.991-12.858,4.571-19.655,4.571 C62.022,70.495,50.88,65.88,42.5,57.5C29.043,44.043,25.658,23.536,34.076,6.47c0.532-1.08,0.318-2.379-0.534-3.23 c-0.851-0.852-2.15-1.064-3.23-0.534c-4.918,2.427-9.375,5.619-13.246,9.491c-9.447,9.447-14.65,22.008-14.65,35.369 c0,13.36,5.203,25.921,14.65,35.368s22.008,14.65,35.368,14.65c13.361,0,25.921-5.203,35.369-14.65 c3.872-3.871,7.064-8.328,9.491-13.246C97.826,68.608,97.611,67.309,96.76,66.458z"></path></svg></button><div class="explorer desktop-only"><button type="button" id="explorer" data-behavior="collapse" data-collapsed="collapsed" data-savestate="true" data-tree="[{&quot;path&quot;:&quot;Personal&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2018&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2020&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2021&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2022&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2023&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2024&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/个人成长&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/医学健康&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/历史&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/哲学宗教&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/心理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/政治军事&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/教育学习&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/文学&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/生活百科&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/社会文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/科学技术&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/经济理财&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/艺术&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/计算机&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W34&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W35&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W36&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W37&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W38&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W39&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W41&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W42&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W43&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W44&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W45&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W46&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W47&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W48&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W49&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W50&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W2&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W3&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W5&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W6&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W7&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W8&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W10&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W12&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W14&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W16&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W22&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W23&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W24&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W25&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W26&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W31&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W32&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W33&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W35&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W36&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W37&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W40&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W45&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W46&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W48&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W49&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W50&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W8&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W10&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W11&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W12&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W14&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W16&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W17&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W22&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W23&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W24&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W29&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W30&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W33&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W35&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Company&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Company/数字化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Company/数字化/规范&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/data-engineer&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/full-stack&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/full-stack/基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/full-stack/工具&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/full-stack/文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/权益保障&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/求职经验&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/简历攻略&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/职业规划&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/职场心得&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/薪酬攻略&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/面试法则&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/sre-engineer&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/English&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/Government&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/Government/中国&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/Government/中国/标准&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/Government/中国/法律&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/CloudService&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/CloudService/基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/Nginx&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/公共服务&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/应用服务&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/网络协议&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/网络基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/信息安全&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/信息安全/OpenPGP&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/密码学&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/用户安全&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/用户安全/权限设计&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/用户安全/用户鉴权&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/系统安全&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/系统安全/防火墙&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/网络安全&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/网络安全/OpenSSH&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/网络安全/OpenSSL&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerStorage&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/DatabaseSystem&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/DatabaseSystem/PostgreSQL&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/DatabaseSystem/SQL-语言&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/DatabaseSystem/基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/命令行工具&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/命令行工具/PowerShell&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/命令行工具/Shell&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/命令行工具/Vim&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/开源指南&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/文本处理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/版本控制&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/版本控制/Git&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/版本控制/Git/入门&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/版本控制/Git/进阶&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Automation&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Docker&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Docker/基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Docker/进阶&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Docker/高级&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/1.文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/2.安装&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/3.基础操作&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/4.系统管理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/5.安全配置&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/6.网络管理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/7.存储管理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Virtualization&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Virtualization/1.虚拟化概述&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Virtualization/2.KVM虚拟化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Windows&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Windows/文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/入门&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/WEB开发&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/数据处理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/文本处理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/系统交互&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/网络处理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/进阶&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/项目&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/项目/虚拟环境&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/项目/风格指南&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/SoftwareEngineering&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/SoftwareEngineering/CI-and-CD&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/SoftwareEngineering/协作规范&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/SoftwareEngineering/技术文档&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/StructuresAlgorithms&quot;,&quot;collapsed&quot;:true}]" aria-controls="explorer-content" aria-expanded="false"><h2>探索</h2><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="explorer-content"><ul class="overflow" id="explorer-ul"><li><div class="folder-outer open"><ul style="padding-left:0;" class="content" data-folderul><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal"><button class="folder-button"><span class="folder-title">Personal</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog"><button class="folder-button"><span class="folder-title">Blog</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2018"><button class="folder-button"><span class="folder-title">2018</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2018"><li><a href="../../../../Personal/Blog/2018/11月28日晚-星期三-霾" data-for="Personal/Blog/2018/11月28日晚-星期三-霾">11月28日 晚 星期三 霾</a></li><li><a href="../../../../Personal/Blog/2018/BombSquad-炸弹人小分队" data-for="Personal/Blog/2018/BombSquad-炸弹人小分队">BombSquad-炸弹人小分队</a></li><li><a href="../../../../Personal/Blog/2018/如何免费创建一个属于自己的网站" data-for="Personal/Blog/2018/如何免费创建一个属于自己的网站">如何免费创建一个属于自己的网站</a></li><li><a href="../../../../Personal/Blog/2018/英雄联盟-S8-全球总决赛" data-for="Personal/Blog/2018/英雄联盟-S8-全球总决赛">英雄联盟 S8 全球总决赛</a></li><li><a href="../../../../Personal/Blog/2018/螺蛳粉" data-for="Personal/Blog/2018/螺蛳粉">螺蛳粉</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2020"><button class="folder-button"><span class="folder-title">2020</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2020"><li><a href="../../../../Personal/Blog/2020/Don`t-Starve-饥荒" data-for="Personal/Blog/2020/Don`t-Starve-饥荒">Don't Starve-饥荒</a></li><li><a href="../../../../Personal/Blog/2020/中国传统历法" data-for="Personal/Blog/2020/中国传统历法">中国传统历法</a></li><li><a href="../../../../Personal/Blog/2020/初号机,起飞!" data-for="Personal/Blog/2020/初号机,起飞!">初号机,起飞!</a></li><li><a href="../../../../Personal/Blog/2020/吉普赛满天星" data-for="Personal/Blog/2020/吉普赛满天星">吉普赛满天星</a></li><li><a href="../../../../Personal/Blog/2020/夏日花记" data-for="Personal/Blog/2020/夏日花记">夏日花记</a></li><li><a href="../../../../Personal/Blog/2020/幸福的事情都是需要等待的" data-for="Personal/Blog/2020/幸福的事情都是需要等待的">幸福的事情都是需要等待的</a></li><li><a href="../../../../Personal/Blog/2020/开源软件之道" data-for="Personal/Blog/2020/开源软件之道">开源软件之道</a></li><li><a href="../../../../Personal/Blog/2020/我的小羊肖恩" data-for="Personal/Blog/2020/我的小羊肖恩">我的小羊肖恩</a></li><li><a href="../../../../Personal/Blog/2020/数据恢复杂谈" data-for="Personal/Blog/2020/数据恢复杂谈">数据恢复杂谈</a></li><li><a href="../../../../Personal/Blog/2020/注定不平凡的一年" data-for="Personal/Blog/2020/注定不平凡的一年">注定不平凡的一年</a></li><li><a href="../../../../Personal/Blog/2020/浅谈个人服务器架构" data-for="Personal/Blog/2020/浅谈个人服务器架构">浅谈个人服务器架构</a></li><li><a href="../../../../Personal/Blog/2020/球鞋日记" data-for="Personal/Blog/2020/球鞋日记">球鞋日记</a></li><li><a href="../../../../Personal/Blog/2020/記拾月" data-for="Personal/Blog/2020/記拾月">記拾月</a></li><li><a href="../../../../Personal/Blog/2020/长安游记" data-for="Personal/Blog/2020/长安游记">长安游记</a></li><li><a href="../../../../Personal/Blog/2020/骑行在路上" data-for="Personal/Blog/2020/骑行在路上">骑行在路上</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2021"><button class="folder-button"><span class="folder-title">2021</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2021"><li><a href="../../../../Personal/Blog/2021/2021" data-for="Personal/Blog/2021/2021">2021</a></li><li><a href="../../../../Personal/Blog/2021/VIVO-IQOO-Neo3-开箱测评" data-for="Personal/Blog/2021/VIVO-IQOO-Neo3-开箱测评">VIVO IQOO Neo3 开箱测评</a></li><li><a href="../../../../Personal/Blog/2021/上有天堂、下有苏杭" data-for="Personal/Blog/2021/上有天堂、下有苏杭">上有天堂、下有苏杭</a></li><li><a href="../../../../Personal/Blog/2021/我开发的第一款软件" data-for="Personal/Blog/2021/我开发的第一款软件">我开发的第一款软件</a></li><li><a href="../../../../Personal/Blog/2021/我站立的地方是中国" data-for="Personal/Blog/2021/我站立的地方是中国">我站立的地方是中国</a></li><li><a href="../../../../Personal/Blog/2021/我还在……" data-for="Personal/Blog/2021/我还在……">我还在……</a></li><li><a href="../../../../Personal/Blog/2021/星光不问赶路人" data-for="Personal/Blog/2021/星光不问赶路人">星光不问赶路人</a></li><li><a href="../../../../Personal/Blog/2021/济南呀济南的泰山之旅" data-for="Personal/Blog/2021/济南呀济南的泰山之旅">济南呀济南的泰山之旅</a></li><li><a href="../../../../Personal/Blog/2021/涝疫结合" data-for="Personal/Blog/2021/涝疫结合">涝疫结合</a></li><li><a href="../../../../Personal/Blog/2021/申请-Jetbrains-开源项目授权" data-for="Personal/Blog/2021/申请-Jetbrains-开源项目授权">申请 Jetbrains 开源项目授权</a></li><li><a href="../../../../Personal/Blog/2021/真·长安游记" data-for="Personal/Blog/2021/真·长安游记">真·长安游记</a></li><li><a href="../../../../Personal/Blog/2021/记拾月" data-for="Personal/Blog/2021/记拾月">记拾月</a></li><li><a href="../../../../Personal/Blog/2021/贰号机、落幕" data-for="Personal/Blog/2021/贰号机、落幕">贰号机、落幕</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2022"><button class="folder-button"><span class="folder-title">2022</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2022"><li><a href="../../../../Personal/Blog/2022/「引用」博客的本质是电线杆子" data-for="Personal/Blog/2022/「引用」博客的本质是电线杆子">「引用」博客的本质是电线杆子</a></li><li><a href="../../../../Personal/Blog/2022/2022" data-for="Personal/Blog/2022/2022">2022</a></li><li><a href="../../../../Personal/Blog/2022/Halo-主题-Redemption-首发版" data-for="Personal/Blog/2022/Halo-主题-Redemption-首发版">Halo 主题 Redemption 首发版</a></li><li><a href="../../../../Personal/Blog/2022/Hello-Halo" data-for="Personal/Blog/2022/Hello-Halo">Hello Halo</a></li><li><a href="../../../../Personal/Blog/2022/Redemption" data-for="Personal/Blog/2022/Redemption">Redemption</a></li><li><a href="../../../../Personal/Blog/2022/Redemption-主题-0.2.1-版本" data-for="Personal/Blog/2022/Redemption-主题-0.2.1-版本">Redemption 主题 0.2.1 版本</a></li><li><a href="../../../../Personal/Blog/2022/一线城市拥有一亩三分地是什么体验" data-for="Personal/Blog/2022/一线城市拥有一亩三分地是什么体验">一线城市拥有一亩三分地是什么体验</a></li><li><a href="../../../../Personal/Blog/2022/三步为你博客文章分析情感关键字" data-for="Personal/Blog/2022/三步为你博客文章分析情感关键字">三步为你博客文章分析情感关键字</a></li><li><a href="../../../../Personal/Blog/2022/不要在饿的时候吃螺蛳粉!" data-for="Personal/Blog/2022/不要在饿的时候吃螺蛳粉!">不要在饿的时候吃螺蛳粉!</a></li><li><a href="../../../../Personal/Blog/2022/习惯养成第一步" data-for="Personal/Blog/2022/习惯养成第一步">习惯养成第一步</a></li><li><a href="../../../../Personal/Blog/2022/人在囧途——青海湖" data-for="Personal/Blog/2022/人在囧途——青海湖">人在囧途——青海湖</a></li><li><a href="../../../../Personal/Blog/2022/人格类型测试" data-for="Personal/Blog/2022/人格类型测试">人格类型测试</a></li><li><a href="../../../../Personal/Blog/2022/你还记得曾经的梦想么?" data-for="Personal/Blog/2022/你还记得曾经的梦想么?">你还记得曾经的梦想么?</a></li><li><a href="../../../../Personal/Blog/2022/使用-Docusaurus-搭建优秀个人wiki" data-for="Personal/Blog/2022/使用-Docusaurus-搭建优秀个人wiki">使用 Docusaurus 搭建优秀个人wiki</a></li><li><a href="../../../../Personal/Blog/2022/关于感情的事情" data-for="Personal/Blog/2022/关于感情的事情">关于感情的事情</a></li><li><a href="../../../../Personal/Blog/2022/关于花" data-for="Personal/Blog/2022/关于花">关于花</a></li><li><a href="../../../../Personal/Blog/2022/关于郑州的互联网记忆" data-for="Personal/Blog/2022/关于郑州的互联网记忆">关于郑州的互联网记忆</a></li><li><a href="../../../../Personal/Blog/2022/再游嵩山" data-for="Personal/Blog/2022/再游嵩山">再游嵩山</a></li><li><a href="../../../../Personal/Blog/2022/最近在折腾什么……" data-for="Personal/Blog/2022/最近在折腾什么……">最近在折腾什么……</a></li><li><a href="../../../../Personal/Blog/2022/最近的生活" data-for="Personal/Blog/2022/最近的生活">最近的生活</a></li><li><a href="../../../../Personal/Blog/2022/写十万字的博客是一种什么感觉" data-for="Personal/Blog/2022/写十万字的博客是一种什么感觉">写十万字的博客是一种什么感觉</a></li><li><a href="../../../../Personal/Blog/2022/写博客的正确姿势---先行版" data-for="Personal/Blog/2022/写博客的正确姿势---先行版">写博客的正确姿势 - 先行版</a></li><li><a href="../../../../Personal/Blog/2022/写博客的正确姿势---测试版" data-for="Personal/Blog/2022/写博客的正确姿势---测试版">写博客的正确姿势 - 测试版</a></li><li><a href="../../../../Personal/Blog/2022/原点" data-for="Personal/Blog/2022/原点">原点</a></li><li><a href="../../../../Personal/Blog/2022/如何免费获得-Jetbrains-正版授权" data-for="Personal/Blog/2022/如何免费获得-Jetbrains-正版授权">如何免费获得 Jetbrains 正版授权</a></li><li><a href="../../../../Personal/Blog/2022/我是关系户" data-for="Personal/Blog/2022/我是关系户">我是关系户</a></li><li><a href="../../../../Personal/Blog/2022/我要拔智齿!!!" data-for="Personal/Blog/2022/我要拔智齿!!!">我要拔智齿!!!</a></li><li><a href="../../../../Personal/Blog/2022/数字文化遗产" data-for="Personal/Blog/2022/数字文化遗产">数字文化遗产</a></li><li><a href="../../../../Personal/Blog/2022/新冠笔记" data-for="Personal/Blog/2022/新冠笔记">新冠笔记</a></li><li><a href="../../../../Personal/Blog/2022/新手村村长" data-for="Personal/Blog/2022/新手村村长">新手村村长</a></li><li><a href="../../../../Personal/Blog/2022/是微风、是晚霞、是来日方长" data-for="Personal/Blog/2022/是微风、是晚霞、是来日方长">是微风、是晚霞、是来日方长</a></li><li><a href="../../../../Personal/Blog/2022/月季到了" data-for="Personal/Blog/2022/月季到了">月季到了</a></li><li><a href="../../../../Personal/Blog/2022/浅谈一下自己折腾的网站" data-for="Personal/Blog/2022/浅谈一下自己折腾的网站">浅谈一下自己折腾的网站</a></li><li><a href="../../../../Personal/Blog/2022/番茄开花啦-~" data-for="Personal/Blog/2022/番茄开花啦-~">番茄开花啦 ~</a></li><li><a href="../../../../Personal/Blog/2022/种下了一些瓜果蔬菜" data-for="Personal/Blog/2022/种下了一些瓜果蔬菜">种下了一些瓜果蔬菜</a></li><li><a href="../../../../Personal/Blog/2022/罪恶应该被遗传么" data-for="Personal/Blog/2022/罪恶应该被遗传么">罪恶应该被遗传么?</a></li><li><a href="../../../../Personal/Blog/2022/自律的痛苦······" data-for="Personal/Blog/2022/自律的痛苦······">自律的痛苦······</a></li><li><a href="../../../../Personal/Blog/2022/论成年人的睡眠" data-for="Personal/Blog/2022/论成年人的睡眠">论成年人的睡眠</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」">谈谈我的「数字文具盒」</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---NextCloud" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---NextCloud">谈谈我的「数字文具盒」 - NextCloud</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---Obsidian" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---Obsidian">谈谈我的「数字文具盒」 - Obsidian</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---心得体会" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---心得体会">谈谈我的「数字文具盒」 - 心得体会</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---数字基建" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---数字基建">谈谈我的「数字文具盒」 - 数字基建</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---生产力工具(上)" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---生产力工具(上)">谈谈我的「数字文具盒」 - 生产力工具(上)</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---生产力工具(下)" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---生产力工具(下)">谈谈我的「数字文具盒」 - 生产力工具(下)</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---番外篇" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---番外篇">谈谈我的「数字文具盒」 - 番外篇</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---运行平台" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---运行平台">谈谈我的「数字文具盒」 - 运行平台</a></li><li><a href="../../../../Personal/Blog/2022/这个周末" data-for="Personal/Blog/2022/这个周末">这个周末</a></li><li><a href="../../../../Personal/Blog/2022/通货膨胀的猪" data-for="Personal/Blog/2022/通货膨胀的猪">通货膨胀的猪</a></li><li><a href="../../../../Personal/Blog/2022/闭门锁网" data-for="Personal/Blog/2022/闭门锁网">闭门锁网</a></li><li><a href="../../../../Personal/Blog/2022/非黑即白" data-for="Personal/Blog/2022/非黑即白">非黑即白</a></li><li><a href="../../../../Personal/Blog/2022/首页加载速度优化方案" data-for="Personal/Blog/2022/首页加载速度优化方案">首页加载速度优化方案</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2023"><button class="folder-button"><span class="folder-title">2023</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2023"><li><a href="../../../../Personal/Blog/2023/2023-年度微信读书报告" data-for="Personal/Blog/2023/2023-年度微信读书报告">2023 年度微信读书报告</a></li><li><a href="../../../../Personal/Blog/2023/Docusaurus-搭建" data-for="Personal/Blog/2023/Docusaurus-搭建">Docusaurus 搭建</a></li><li><a href="../../../../Personal/Blog/2023/Obsidian-使用-Templater-插件的个性化脚本" data-for="Personal/Blog/2023/Obsidian-使用-Templater-插件的个性化脚本">Obsidian 使用 Templater 插件的个性化脚本</a></li><li><a href="../../../../Personal/Blog/2023/YubiKey-漂流记" data-for="Personal/Blog/2023/YubiKey-漂流记">YubiKey 历险记</a></li><li><a href="../../../../Personal/Blog/2023/不要把幸福建立在别人的痛苦之上" data-for="Personal/Blog/2023/不要把幸福建立在别人的痛苦之上">不要把幸福建立在别人的痛苦之上</a></li><li><a href="../../../../Personal/Blog/2023/为什么不推开那扇门?" data-for="Personal/Blog/2023/为什么不推开那扇门?">为什么不推开那扇门?</a></li><li><a href="../../../../Personal/Blog/2023/你愿意嫁给自己么?" data-for="Personal/Blog/2023/你愿意嫁给自己么?">你愿意嫁给自己么</a></li><li><a href="../../../../Personal/Blog/2023/最近半年的生活" data-for="Personal/Blog/2023/最近半年的生活">最近半年的生活</a></li><li><a href="../../../../Personal/Blog/2023/写博客的正确姿势" data-for="Personal/Blog/2023/写博客的正确姿势">写博客的正确姿势</a></li><li><a href="../../../../Personal/Blog/2023/唯有热爱可抵岁月漫长" data-for="Personal/Blog/2023/唯有热爱可抵岁月漫长">唯有热爱、可抵岁月漫长</a></li><li><a href="../../../../Personal/Blog/2023/回首-2022-展望-2023" data-for="Personal/Blog/2023/回首-2022-展望-2023">回首 2022 展望 2023</a></li><li><a href="../../../../Personal/Blog/2023/大学回忆录" data-for="Personal/Blog/2023/大学回忆录">大学回忆录</a></li><li><a href="../../../../Personal/Blog/2023/如何不写错别字!" data-for="Personal/Blog/2023/如何不写错别字!">如何不写错别字!</a></li><li><a href="../../../../Personal/Blog/2023/如何拍好一张照片" data-for="Personal/Blog/2023/如何拍好一张照片">如何拍好一张照片</a></li><li><a href="../../../../Personal/Blog/2023/家里的三块地" data-for="Personal/Blog/2023/家里的三块地">家里的三块地</a></li><li><a href="../../../../Personal/Blog/2023/岁月是把猪饲料,把我喂的嘎嘎胖" data-for="Personal/Blog/2023/岁月是把猪饲料,把我喂的嘎嘎胖">岁月是把猪饲料,把我喂的嘎嘎胖</a></li><li><a href="../../../../Personal/Blog/2023/拾月游记" data-for="Personal/Blog/2023/拾月游记">拾月游记</a></li><li><a href="../../../../Personal/Blog/2023/揭晓你的博客一年之最,尽在-EndOfYear" data-for="Personal/Blog/2023/揭晓你的博客一年之最,尽在-EndOfYear">揭晓你的博客一年之最,尽在 EndOfYear</a></li><li><a href="../../../../Personal/Blog/2023/早起、阅读、写作、运动、冥想" data-for="Personal/Blog/2023/早起、阅读、写作、运动、冥想">早起、冥想、阅读、写作、运动</a></li><li><a href="../../../../Personal/Blog/2023/浅尝-Gitea-的-Actions" data-for="Personal/Blog/2023/浅尝-Gitea-的-Actions">浅尝 Gitea 的 Actions</a></li><li><a href="../../../../Personal/Blog/2023/独立生活能力清单" data-for="Personal/Blog/2023/独立生活能力清单">独立生活能力清单</a></li><li><a href="../../../../Personal/Blog/2023/电脑坏了,我换了-Ubuntu" data-for="Personal/Blog/2023/电脑坏了,我换了-Ubuntu">电脑坏了,我换了 Ubuntu</a></li><li><a href="../../../../Personal/Blog/2023/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治" data-for="Personal/Blog/2023/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治">看 V2Ex 的 ChatGPT 老哥浅谈办公室政治</a></li><li><a href="../../../../Personal/Blog/2023/破万卷书,行万里路!" data-for="Personal/Blog/2023/破万卷书,行万里路!">破万卷书,行万里路!</a></li><li><a href="../../../../Personal/Blog/2023/谈谈我的「数字文具盒」---个人工作流" data-for="Personal/Blog/2023/谈谈我的「数字文具盒」---个人工作流">谈谈我的「数字文具盒」 - 个人工作流</a></li><li><a href="../../../../Personal/Blog/2023/长安三万里" data-for="Personal/Blog/2023/长安三万里">长安三万里</a></li><li><a href="../../../../Personal/Blog/2023/黄山归来不看岳" data-for="Personal/Blog/2023/黄山归来不看岳">黄山归来不看岳</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2024"><button class="folder-button"><span class="folder-title">2024</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2024"><li><a href="../../../../Personal/Blog/2024/「救赎之路」更名「向阳而生」" data-for="Personal/Blog/2024/「救赎之路」更名「向阳而生」">「救赎之路」更名「向阳而生」</a></li><li><a href="../../../../Personal/Blog/2024/回顾-2023" data-for="Personal/Blog/2024/回顾-2023">2023 年终总结</a></li><li><a href="../../../../Personal/Blog/2024/2023-年终问答" data-for="Personal/Blog/2024/2023-年终问答">2023 年终问答</a></li><li><a href="../../../../Personal/Blog/2024/CityWalk——公车挑战" data-for="Personal/Blog/2024/CityWalk——公车挑战">CityWalk——公车挑战探索未知的城市</a></li><li><a href="../../../../Personal/Blog/2024/Python-项目终极部署解决方案" data-for="Personal/Blog/2024/Python-项目终极部署解决方案">Python 项目终极部署解决方案</a></li><li><a href="../../../../Personal/Blog/2024/一命二运三风水" data-for="Personal/Blog/2024/一命二运三风水">一命二运三风水</a></li><li><a href="../../../../Personal/Blog/2024/乌兰哈达火山银河之旅" data-for="Personal/Blog/2024/乌兰哈达火山银河之旅">乌兰哈达火山银河之旅</a></li><li><a href="../../../../Personal/Blog/2024/冰箱,让你我错过了多少新鲜的生活?" data-for="Personal/Blog/2024/冰箱,让你我错过了多少新鲜的生活?">冰箱,让你我错过了多少新鲜的生活?</a></li><li><a href="../../../../Personal/Blog/2024/回读者信──240816" data-for="Personal/Blog/2024/回读者信──240816">回读者信──240816</a></li><li><a href="../../../../Personal/Blog/2024/夜泊西湖听雨声" data-for="Personal/Blog/2024/夜泊西湖听雨声">夜泊西湖听雨声</a></li><li><a href="../../../../Personal/Blog/2024/如何开好一场会?" data-for="Personal/Blog/2024/如何开好一场会?">如何开好一场会?</a></li><li><a href="../../../../Personal/Blog/2024/如何打破信息茧房?" data-for="Personal/Blog/2024/如何打破信息茧房?">如何打破信息茧房?</a></li><li><a href="../../../../Personal/Blog/2024/富人的红灯与穷人的绿灯" data-for="Personal/Blog/2024/富人的红灯与穷人的绿灯">富人的红灯与穷人的绿灯</a></li><li><a href="../../../../Personal/Blog/2024/师从-ChatGPT" data-for="Personal/Blog/2024/师从-ChatGPT">师从 ChatGPT</a></li><li><a href="../../../../Personal/Blog/2024/我又从-Ubunut-换成了-Fedora" data-for="Personal/Blog/2024/我又从-Ubunut-换成了-Fedora">我又从 Ubunut 换成了 Fedora</a></li><li><a href="../../../../Personal/Blog/2024/我的一天" data-for="Personal/Blog/2024/我的一天">我的一天</a></li><li><a href="../../../../Personal/Blog/2024/打工三年记" data-for="Personal/Blog/2024/打工三年记">打工三年记</a></li><li><a href="../../../../Personal/Blog/2024/新奇的-HR-经历" data-for="Personal/Blog/2024/新奇的-HR-经历">新奇的 HR 经历</a></li><li><a href="../../../../Personal/Blog/2024/穷则独善其身,达则兼济天下" data-for="Personal/Blog/2024/穷则独善其身,达则兼济天下">穷则独善其身,达则兼济天下</a></li><li><a href="../../../../Personal/Blog/2024/继续开荒我那一亩三分地" data-for="Personal/Blog/2024/继续开荒我那一亩三分地">继续开荒我那一亩三分地</a></li><li><a href="../../../../Personal/Blog/2024/記伍月" data-for="Personal/Blog/2024/記伍月">記伍月</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book"><button class="folder-button"><span class="folder-title">Book</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/个人成长"><button class="folder-button"><span class="folder-title">个人成长</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/个人成长"><li><a href="../../../../Personal/Book/个人成长/习惯的力量(新版)" data-for="Personal/Book/个人成长/习惯的力量(新版)">习惯的力量(新版)</a></li><li><a href="../../../../Personal/Book/个人成长/以极简的方式去生活" data-for="Personal/Book/个人成长/以极简的方式去生活">以极简的方式去生活</a></li><li><a href="../../../../Personal/Book/个人成长/写出我心:普通人如何通过写作表达自己" data-for="Personal/Book/个人成长/写出我心:普通人如何通过写作表达自己">写出我心:普通人如何通过写作表达自己</a></li><li><a href="../../../../Personal/Book/个人成长/刻意练习:如何从新手到大师" data-for="Personal/Book/个人成长/刻意练习:如何从新手到大师">刻意练习:如何从新手到大师</a></li><li><a href="../../../../Personal/Book/个人成长/十分钟冥想" data-for="Personal/Book/个人成长/十分钟冥想">十分钟冥想</a></li><li><a href="../../../../Personal/Book/个人成长/即兴表达" data-for="Personal/Book/个人成长/即兴表达">即兴表达</a></li><li><a href="../../../../Personal/Book/个人成长/学习之道" data-for="Personal/Book/个人成长/学习之道">学习之道</a></li><li><a href="../../../../Personal/Book/个人成长/学会写作:自我进阶的高效方法" data-for="Personal/Book/个人成长/学会写作:自我进阶的高效方法">学会写作:自我进阶的高效方法</a></li><li><a href="../../../../Personal/Book/个人成长/底层逻辑" data-for="Personal/Book/个人成长/底层逻辑">底层逻辑</a></li><li><a href="../../../../Personal/Book/个人成长/底层逻辑:看清这个世界的底牌" data-for="Personal/Book/个人成长/底层逻辑:看清这个世界的底牌">底层逻辑:看清这个世界的底牌</a></li><li><a href="../../../../Personal/Book/个人成长/当下的力量(白金版)" data-for="Personal/Book/个人成长/当下的力量(白金版)">当下的力量(白金版)</a></li><li><a href="../../../../Personal/Book/个人成长/我的第一本人生规划手册" data-for="Personal/Book/个人成长/我的第一本人生规划手册">我的第一本人生规划手册</a></li><li><a href="../../../../Personal/Book/个人成长/超级面试官:快速提升识人技能的面试实战手册" data-for="Personal/Book/个人成长/超级面试官:快速提升识人技能的面试实战手册">超级面试官:快速提升识人技能的面试实战手册</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/医学健康"><button class="folder-button"><span class="folder-title">医学健康</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/医学健康"><li><a href="../../../../Personal/Book/医学健康/你是你吃出来的套装共2册" data-for="Personal/Book/医学健康/你是你吃出来的套装共2册">你是你吃出来的套装共2册</a></li><li><a href="../../../../Personal/Book/医学健康/小小药箱护健康教您用好家庭小药箱" data-for="Personal/Book/医学健康/小小药箱护健康教您用好家庭小药箱">小小药箱护健康教您用好家庭小药箱</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/历史"><button class="folder-button"><span class="folder-title">历史</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/历史"><li><a href="../../../../Personal/Book/历史/信息简史" data-for="Personal/Book/历史/信息简史">信息简史</a></li><li><a href="../../../../Personal/Book/历史/这里是中国2" data-for="Personal/Book/历史/这里是中国2">这里是中国2</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/哲学宗教"><button class="folder-button"><span class="folder-title">哲学宗教</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/哲学宗教"><li><a href="../../../../Personal/Book/哲学宗教/半小时漫画中国哲学史套装全2册" data-for="Personal/Book/哲学宗教/半小时漫画中国哲学史套装全2册">半小时漫画中国哲学史套装全2册</a></li><li><a href="../../../../Personal/Book/哲学宗教/第一性原理" data-for="Personal/Book/哲学宗教/第一性原理">第一性原理</a></li><li><a href="../../../../Personal/Book/哲学宗教/结构化思维" data-for="Personal/Book/哲学宗教/结构化思维">结构化思维</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/心理"><button class="folder-button"><span class="folder-title">心理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/心理"><li><a href="../../../../Personal/Book/心理/乌合之众(果麦经典)" data-for="Personal/Book/心理/乌合之众(果麦经典)">乌合之众(果麦经典)</a></li><li><a href="../../../../Personal/Book/心理/十分钟冥想" data-for="Personal/Book/心理/十分钟冥想">十分钟冥想</a></li><li><a href="../../../../Personal/Book/心理/认知觉醒:开启自我改变的原动力" data-for="Personal/Book/心理/认知觉醒:开启自我改变的原动力">认知觉醒:开启自我改变的原动力</a></li><li><a href="../../../../Personal/Book/心理/认知驱动:做成一件对他人很有用的事" data-for="Personal/Book/心理/认知驱动:做成一件对他人很有用的事">认知驱动:做成一件对他人很有用的事</a></li><li><a href="../../../../Personal/Book/心理/谈性说爱写给女性的性心理24讲" data-for="Personal/Book/心理/谈性说爱写给女性的性心理24讲">谈性说爱写给女性的性心理24讲</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/政治军事"><button class="folder-button"><span class="folder-title">政治军事</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/政治军事"><li><a href="../../../../Personal/Book/政治军事/实践论" data-for="Personal/Book/政治军事/实践论">实践论</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/教育学习"><button class="folder-button"><span class="folder-title">教育学习</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/教育学习"><li><a href="../../../../Personal/Book/教育学习/如何阅读一本书" data-for="Personal/Book/教育学习/如何阅读一本书">如何阅读一本书</a></li><li><a href="../../../../Personal/Book/教育学习/赖世雄的英语学习法" data-for="Personal/Book/教育学习/赖世雄的英语学习法">赖世雄的英语学习法</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/文学"><button class="folder-button"><span class="folder-title">文学</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/文学"><li><a href="../../../../Personal/Book/文学/凤凰项目一个IT运维的传奇故事修订版" data-for="Personal/Book/文学/凤凰项目一个IT运维的传奇故事修订版">凤凰项目一个IT运维的传奇故事修订版</a></li><li><a href="../../../../Personal/Book/文学/老舍谈写作" data-for="Personal/Book/文学/老舍谈写作">老舍谈写作</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/生活百科"><button class="folder-button"><span class="folder-title">生活百科</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/生活百科"><li><a href="../../../../Personal/Book/生活百科/聂卫平围棋教程从15级到10级" data-for="Personal/Book/生活百科/聂卫平围棋教程从15级到10级">聂卫平围棋教程从15级到10级</a></li><li><a href="../../../../Personal/Book/生活百科/聂卫平围棋教程从入门到15级" data-for="Personal/Book/生活百科/聂卫平围棋教程从入门到15级">聂卫平围棋教程从入门到15级</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/社会文化"><button class="folder-button"><span class="folder-title">社会文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/社会文化"><li><a href="../../../../Personal/Book/社会文化/人体简史" data-for="Personal/Book/社会文化/人体简史">人体简史</a></li><li><a href="../../../../Personal/Book/社会文化/你不可不知的法律常识" data-for="Personal/Book/社会文化/你不可不知的法律常识">你不可不知的法律常识</a></li><li><a href="../../../../Personal/Book/社会文化/半小时漫画《论语》" data-for="Personal/Book/社会文化/半小时漫画《论语》">半小时漫画《论语》</a></li><li><a href="../../../../Personal/Book/社会文化/民法典与百姓生活100问" data-for="Personal/Book/社会文化/民法典与百姓生活100问">民法典与百姓生活100问</a></li><li><a href="../../../../Personal/Book/社会文化/这里是中国" data-for="Personal/Book/社会文化/这里是中国">这里是中国</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/科学技术"><button class="folder-button"><span class="folder-title">科学技术</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/科学技术"><li><a href="../../../../Personal/Book/科学技术/贝尔实验室与美国革新大时代" data-for="Personal/Book/科学技术/贝尔实验室与美国革新大时代">贝尔实验室与美国革新大时代</a></li><li><a href="../../../../Personal/Book/科学技术/高性能Linux服务器运维实战shell编程、监控告警、性能优化与实战案例" data-for="Personal/Book/科学技术/高性能Linux服务器运维实战shell编程、监控告警、性能优化与实战案例">高性能Linux服务器运维实战shell编程、监控告警、性能优化与实战案例</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/经济理财"><button class="folder-button"><span class="folder-title">经济理财</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/经济理财"><li><a href="../../../../Personal/Book/经济理财/人力资源管理从入门到精通" data-for="Personal/Book/经济理财/人力资源管理从入门到精通">人力资源管理从入门到精通</a></li><li><a href="../../../../Personal/Book/经济理财/十分钟冥想" data-for="Personal/Book/经济理财/十分钟冥想">十分钟冥想</a></li><li><a href="../../../../Personal/Book/经济理财/半小时漫画股票实战法" data-for="Personal/Book/经济理财/半小时漫画股票实战法">半小时漫画股票实战法</a></li><li><a href="../../../../Personal/Book/经济理财/小米创业思考" data-for="Personal/Book/经济理财/小米创业思考">小米创业思考</a></li><li><a href="../../../../Personal/Book/经济理财/底层逻辑:半秒钟看透问题本质" data-for="Personal/Book/经济理财/底层逻辑:半秒钟看透问题本质">底层逻辑:半秒钟看透问题本质</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/艺术"><button class="folder-button"><span class="folder-title">艺术</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/艺术"><li><a href="../../../../Personal/Book/艺术/江湖丛谈(注音注释插图本)" data-for="Personal/Book/艺术/江湖丛谈(注音注释插图本)">江湖丛谈(注音注释插图本)</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/计算机"><button class="folder-button"><span class="folder-title">计算机</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/计算机"><li><a href="../../../../Personal/Book/计算机/Flask-Web开发基于Python的Web应用开发实战第2版" data-for="Personal/Book/计算机/Flask-Web开发基于Python的Web应用开发实战第2版">Flask Web开发基于Python的Web应用开发实战第2版</a></li><li><a href="../../../../Personal/Book/计算机/IT基础架构系统运维实践" data-for="Personal/Book/计算机/IT基础架构系统运维实践">IT基础架构系统运维实践</a></li><li><a href="../../../../Personal/Book/计算机/Linux命令行与shell脚本编程大全第4版" data-for="Personal/Book/计算机/Linux命令行与shell脚本编程大全第4版">Linux命令行与shell脚本编程大全第4版</a></li><li><a href="../../../../Personal/Book/计算机/Linux是怎样工作的" data-for="Personal/Book/计算机/Linux是怎样工作的">Linux是怎样工作的</a></li><li><a href="../../../../Personal/Book/计算机/Python工匠案例、技巧与工程实践" data-for="Personal/Book/计算机/Python工匠案例、技巧与工程实践">Python工匠案例、技巧与工程实践</a></li><li><a href="../../../../Personal/Book/计算机/Python编程从入门到实践第2版" data-for="Personal/Book/计算机/Python编程从入门到实践第2版">Python编程从入门到实践第2版</a></li><li><a href="../../../../Personal/Book/计算机/Python编程轻松进阶" data-for="Personal/Book/计算机/Python编程轻松进阶">Python编程轻松进阶</a></li><li><a href="../../../../Personal/Book/计算机/SQL必知必会第5版" data-for="Personal/Book/计算机/SQL必知必会第5版">SQL必知必会第5版</a></li><li><a href="../../../../Personal/Book/计算机/SREGoogle运维解密" data-for="Personal/Book/计算机/SREGoogle运维解密">SREGoogle运维解密</a></li><li><a href="../../../../Personal/Book/计算机/UNIX传奇历史与回忆" data-for="Personal/Book/计算机/UNIX传奇历史与回忆">UNIX传奇历史与回忆</a></li><li><a href="../../../../Personal/Book/计算机/VMware-vSphere-7.0云平台运维与管理第2版" data-for="Personal/Book/计算机/VMware-vSphere-7.0云平台运维与管理第2版">VMware vSphere 7.0云平台运维与管理第2版</a></li><li><a href="../../../../Personal/Book/计算机/人人都懂设计模式从生活中领悟设计模式Python实现" data-for="Personal/Book/计算机/人人都懂设计模式从生活中领悟设计模式Python实现">人人都懂设计模式从生活中领悟设计模式Python实现</a></li><li><a href="../../../../Personal/Book/计算机/从0到1HTML+CSS快速上手" data-for="Personal/Book/计算机/从0到1HTML+CSS快速上手">从0到1HTML+CSS快速上手</a></li><li><a href="../../../../Personal/Book/计算机/从0到1HTML5+CSS3修炼之道" data-for="Personal/Book/计算机/从0到1HTML5+CSS3修炼之道">从0到1HTML5+CSS3修炼之道</a></li><li><a href="../../../../Personal/Book/计算机/从0到1JavaScript-快速上手" data-for="Personal/Book/计算机/从0到1JavaScript-快速上手">从0到1JavaScript 快速上手</a></li><li><a href="../../../../Personal/Book/计算机/从0到1jQuery快速上手" data-for="Personal/Book/计算机/从0到1jQuery快速上手">从0到1jQuery快速上手</a></li><li><a href="../../../../Personal/Book/计算机/明解Python" data-for="Personal/Book/计算机/明解Python">明解Python</a></li><li><a href="../../../../Personal/Book/计算机/每天5分钟玩转Docker容器技术" data-for="Personal/Book/计算机/每天5分钟玩转Docker容器技术">每天5分钟玩转Docker容器技术</a></li><li><a href="../../../../Personal/Book/计算机/流畅的Python" data-for="Personal/Book/计算机/流畅的Python">流畅的Python</a></li><li><a href="../../../../Personal/Book/计算机/硅谷之火个人计算机的诞生与衰落第3版" data-for="Personal/Book/计算机/硅谷之火个人计算机的诞生与衰落第3版">硅谷之火个人计算机的诞生与衰落第3版</a></li><li><a href="../../../../Personal/Book/计算机/秒懂设计模式" data-for="Personal/Book/计算机/秒懂设计模式">秒懂设计模式</a></li><li><a href="../../../../Personal/Book/计算机/程序员的README" data-for="Personal/Book/计算机/程序员的README">程序员的README</a></li><li><a href="../../../../Personal/Book/计算机/精通Python设计模式第2版" data-for="Personal/Book/计算机/精通Python设计模式第2版">精通Python设计模式第2版</a></li><li><a href="../../../../Personal/Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维" data-for="Personal/Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维">网络安全等级保护2.0:定级、测评、实施与运维</a></li><li><a href="../../../../Personal/Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃" data-for="Personal/Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃">网络工程师红宝书:思科华为华三实战案例荟萃</a></li><li><a href="../../../../Personal/Book/计算机/网络是怎样连接的" data-for="Personal/Book/计算机/网络是怎样连接的">网络是怎样连接的</a></li><li><a href="../../../../Personal/Book/计算机/网络运维亲历记-(网络运维纪实文学)" data-for="Personal/Book/计算机/网络运维亲历记-(网络运维纪实文学)">网络运维亲历记 (网络运维纪实文学)</a></li><li><a href="../../../../Personal/Book/计算机/虚拟化工程师运维实战VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控" data-for="Personal/Book/计算机/虚拟化工程师运维实战VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控">虚拟化工程师运维实战VMware服务器虚拟化+Citrix桌面/应用虚拟化+Veeam备份+Zabbix监控</a></li><li><a href="../../../../Personal/Book/计算机/计算机:一部历史" data-for="Personal/Book/计算机/计算机:一部历史">计算机:一部历史</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal"><button class="folder-button"><span class="folder-title">Journal</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022"><button class="folder-button"><span class="folder-title">2022</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W34"><button class="folder-button"><span class="folder-title">W34</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W34"><li><a href="../../../../Personal/Journal/2022/W34/2022-08-24" data-for="Personal/Journal/2022/W34/2022-08-24">2022-08-24</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-08-25" data-for="Personal/Journal/2022/W34/2022-08-25">2022-08-25</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-08-26" data-for="Personal/Journal/2022/W34/2022-08-26">2022-08-26</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-08-27" data-for="Personal/Journal/2022/W34/2022-08-27">2022-08-27</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-08-28" data-for="Personal/Journal/2022/W34/2022-08-28">2022-08-28</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-W34" data-for="Personal/Journal/2022/W34/2022-W34">2022-W34</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W35"><button class="folder-button"><span class="folder-title">W35</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W35"><li><a href="../../../../Personal/Journal/2022/W35/2022-08-29" data-for="Personal/Journal/2022/W35/2022-08-29">2022-08-29</a></li><li><a href="../../../../Personal/Journal/2022/W35/2022-08-30" data-for="Personal/Journal/2022/W35/2022-08-30">2022-08-30</a></li><li><a href="../../../../Personal/Journal/2022/W35/2022-08-31" data-for="Personal/Journal/2022/W35/2022-08-31">2022-08-31</a></li><li><a href="../../../../Personal/Journal/2022/W35/2022-09-01" data-for="Personal/Journal/2022/W35/2022-09-01">2022-09-01</a></li><li><a href="../../../../Personal/Journal/2022/W35/2022-W35" data-for="Personal/Journal/2022/W35/2022-W35">2022-W35</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W36"><button class="folder-button"><span class="folder-title">W36</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W36"><li><a href="../../../../Personal/Journal/2022/W36/2022-09-05" data-for="Personal/Journal/2022/W36/2022-09-05">2022-09-05</a></li><li><a href="../../../../Personal/Journal/2022/W36/2022-09-06" data-for="Personal/Journal/2022/W36/2022-09-06">2022-09-06</a></li><li><a href="../../../../Personal/Journal/2022/W36/2022-09-07" data-for="Personal/Journal/2022/W36/2022-09-07">2022-09-07</a></li><li><a href="../../../../Personal/Journal/2022/W36/2022-09-08" data-for="Personal/Journal/2022/W36/2022-09-08">2022-09-08</a></li><li><a href="../../../../Personal/Journal/2022/W36/2022-W36" data-for="Personal/Journal/2022/W36/2022-W36">2022-W36</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W37"><button class="folder-button"><span class="folder-title">W37</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W37"><li><a href="../../../../Personal/Journal/2022/W37/2022-09-12" data-for="Personal/Journal/2022/W37/2022-09-12">2022-09-12</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-13" data-for="Personal/Journal/2022/W37/2022-09-13">2022-09-13</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-14" data-for="Personal/Journal/2022/W37/2022-09-14">2022-09-14</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-15" data-for="Personal/Journal/2022/W37/2022-09-15">2022-09-15</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-16" data-for="Personal/Journal/2022/W37/2022-09-16">2022-09-16</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-17" data-for="Personal/Journal/2022/W37/2022-09-17">2022-09-17</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-18" data-for="Personal/Journal/2022/W37/2022-09-18">2022-09-18</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-W37" data-for="Personal/Journal/2022/W37/2022-W37">2022-W37</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W38"><button class="folder-button"><span class="folder-title">W38</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W38"><li><a href="../../../../Personal/Journal/2022/W38/2022-09-19" data-for="Personal/Journal/2022/W38/2022-09-19">2022-09-19</a></li><li><a href="../../../../Personal/Journal/2022/W38/2022-09-20" data-for="Personal/Journal/2022/W38/2022-09-20">2022-09-20</a></li><li><a href="../../../../Personal/Journal/2022/W38/2022-09-21" data-for="Personal/Journal/2022/W38/2022-09-21">2022-09-21</a></li><li><a href="../../../../Personal/Journal/2022/W38/2022-09-22" data-for="Personal/Journal/2022/W38/2022-09-22">2022-09-22</a></li><li><a href="../../../../Personal/Journal/2022/W38/2022-W38" data-for="Personal/Journal/2022/W38/2022-W38">2022-W38</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W39"><button class="folder-button"><span class="folder-title">W39</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W39"><li><a href="../../../../Personal/Journal/2022/W39/2022-09-28" data-for="Personal/Journal/2022/W39/2022-09-28">2022-09-28</a></li><li><a href="../../../../Personal/Journal/2022/W39/2022-09-29" data-for="Personal/Journal/2022/W39/2022-09-29">2022-09-29</a></li><li><a href="../../../../Personal/Journal/2022/W39/2022-W39" data-for="Personal/Journal/2022/W39/2022-W39">2022-W39</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W41"><button class="folder-button"><span class="folder-title">W41</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W41"><li><a href="../../../../Personal/Journal/2022/W41/2022-10-10" data-for="Personal/Journal/2022/W41/2022-10-10">2022-10-10</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-11" data-for="Personal/Journal/2022/W41/2022-10-11">2022-10-11</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-12" data-for="Personal/Journal/2022/W41/2022-10-12">2022-10-12</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-13" data-for="Personal/Journal/2022/W41/2022-10-13">2022-10-13</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-14" data-for="Personal/Journal/2022/W41/2022-10-14">2022-10-14</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-16" data-for="Personal/Journal/2022/W41/2022-10-16">2022-10-16</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-W41" data-for="Personal/Journal/2022/W41/2022-W41">2022-W41</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W42"><button class="folder-button"><span class="folder-title">W42</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W42"><li><a href="../../../../Personal/Journal/2022/W42/2022-10-17" data-for="Personal/Journal/2022/W42/2022-10-17">2022-10-17</a></li><li><a href="../../../../Personal/Journal/2022/W42/2022-10-18" data-for="Personal/Journal/2022/W42/2022-10-18">2022-10-18</a></li><li><a href="../../../../Personal/Journal/2022/W42/2022-10-19" data-for="Personal/Journal/2022/W42/2022-10-19">2022-10-19</a></li><li><a href="../../../../Personal/Journal/2022/W42/2022-10-21" data-for="Personal/Journal/2022/W42/2022-10-21">2022-10-21</a></li><li><a href="../../../../Personal/Journal/2022/W42/2022-W42" data-for="Personal/Journal/2022/W42/2022-W42">2022-W42</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W43"><button class="folder-button"><span class="folder-title">W43</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W43"><li><a href="../../../../Personal/Journal/2022/W43/2022-10-24" data-for="Personal/Journal/2022/W43/2022-10-24">2022-10-24</a></li><li><a href="../../../../Personal/Journal/2022/W43/2022-10-26" data-for="Personal/Journal/2022/W43/2022-10-26">2022-10-26</a></li><li><a href="../../../../Personal/Journal/2022/W43/2022-W43" data-for="Personal/Journal/2022/W43/2022-W43">2022-W43</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W44"><button class="folder-button"><span class="folder-title">W44</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W44"><li><a href="../../../../Personal/Journal/2022/W44/2022-11-02" data-for="Personal/Journal/2022/W44/2022-11-02">2022-11-02</a></li><li><a href="../../../../Personal/Journal/2022/W44/2022-W44" data-for="Personal/Journal/2022/W44/2022-W44">2022-W44</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W45"><button class="folder-button"><span class="folder-title">W45</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W45"><li><a href="../../../../Personal/Journal/2022/W45/2022-11-10" data-for="Personal/Journal/2022/W45/2022-11-10">2022-11-10</a></li><li><a href="../../../../Personal/Journal/2022/W45/2022-11-11" data-for="Personal/Journal/2022/W45/2022-11-11">2022-11-11</a></li><li><a href="../../../../Personal/Journal/2022/W45/2022-11-12" data-for="Personal/Journal/2022/W45/2022-11-12">2022-11-12</a></li><li><a href="../../../../Personal/Journal/2022/W45/2022-11-13" data-for="Personal/Journal/2022/W45/2022-11-13">2022-11-13</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W46"><button class="folder-button"><span class="folder-title">W46</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W46"><li><a href="../../../../Personal/Journal/2022/W46/2022-11-18" data-for="Personal/Journal/2022/W46/2022-11-18">2022-11-18</a></li><li><a href="../../../../Personal/Journal/2022/W46/2022-11-20" data-for="Personal/Journal/2022/W46/2022-11-20">2022-11-20</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W47"><button class="folder-button"><span class="folder-title">W47</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W47"><li><a href="../../../../Personal/Journal/2022/W47/2022-11-21" data-for="Personal/Journal/2022/W47/2022-11-21">2022-11-21</a></li><li><a href="../../../../Personal/Journal/2022/W47/2022-11-22" data-for="Personal/Journal/2022/W47/2022-11-22">2022-11-22</a></li><li><a href="../../../../Personal/Journal/2022/W47/2022-W47" data-for="Personal/Journal/2022/W47/2022-W47">2022-W47</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W48"><button class="folder-button"><span class="folder-title">W48</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W48"><li><a href="../../../../Personal/Journal/2022/W48/2022-11-28" data-for="Personal/Journal/2022/W48/2022-11-28">2022-11-28</a></li><li><a href="../../../../Personal/Journal/2022/W48/2022-11-29" data-for="Personal/Journal/2022/W48/2022-11-29">2022-11-29</a></li><li><a href="../../../../Personal/Journal/2022/W48/2022-12-01" data-for="Personal/Journal/2022/W48/2022-12-01">2022-12-01</a></li><li><a href="../../../../Personal/Journal/2022/W48/2022-12-04" data-for="Personal/Journal/2022/W48/2022-12-04">2022-12-04</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W49"><button class="folder-button"><span class="folder-title">W49</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W49"><li><a href="../../../../Personal/Journal/2022/W49/2022-12-06" data-for="Personal/Journal/2022/W49/2022-12-06">2022-12-06</a></li><li><a href="../../../../Personal/Journal/2022/W49/2022-W49" data-for="Personal/Journal/2022/W49/2022-W49">2022-W49</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W50"><button class="folder-button"><span class="folder-title">W50</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W50"><li><a href="../../../../Personal/Journal/2022/W50/2022-12-12" data-for="Personal/Journal/2022/W50/2022-12-12">2022-12-12</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023"><button class="folder-button"><span class="folder-title">2023</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W2"><button class="folder-button"><span class="folder-title">W2</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W2"><li><a href="../../../../Personal/Journal/2023/W2/2023-W2" data-for="Personal/Journal/2023/W2/2023-W2">2023-W2</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W3"><button class="folder-button"><span class="folder-title">W3</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W3"><li><a href="../../../../Personal/Journal/2023/W3/2023-01-16" data-for="Personal/Journal/2023/W3/2023-01-16">2023-01-16</a></li><li><a href="../../../../Personal/Journal/2023/W3/2023-01-18" data-for="Personal/Journal/2023/W3/2023-01-18">2023-01-18</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W5"><button class="folder-button"><span class="folder-title">W5</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W5"><li><a href="../../../../Personal/Journal/2023/W5/2023-W5" data-for="Personal/Journal/2023/W5/2023-W5">2023-W5</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W6"><button class="folder-button"><span class="folder-title">W6</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W6"><li><a href="../../../../Personal/Journal/2023/W6/2023-W6" data-for="Personal/Journal/2023/W6/2023-W6">2023-W6</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W7"><button class="folder-button"><span class="folder-title">W7</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W7"><li><a href="../../../../Personal/Journal/2023/W7/2023-02-14" data-for="Personal/Journal/2023/W7/2023-02-14">2023-02-14</a></li><li><a href="../../../../Personal/Journal/2023/W7/2023-02-15" data-for="Personal/Journal/2023/W7/2023-02-15">2023-02-15</a></li><li><a href="../../../../Personal/Journal/2023/W7/2023-02-16" data-for="Personal/Journal/2023/W7/2023-02-16">2023-02-16</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W8"><button class="folder-button"><span class="folder-title">W8</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W8"><li><a href="../../../../Personal/Journal/2023/W8/2023-02-20" data-for="Personal/Journal/2023/W8/2023-02-20">2023-02-20</a></li><li><a href="../../../../Personal/Journal/2023/W8/2023-02-22" data-for="Personal/Journal/2023/W8/2023-02-22">2023-02-22</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W10"><button class="folder-button"><span class="folder-title">W10</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W10"><li><a href="../../../../Personal/Journal/2023/W10/2023-W10" data-for="Personal/Journal/2023/W10/2023-W10">2023-W10</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W12"><button class="folder-button"><span class="folder-title">W12</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W12"><li><a href="../../../../Personal/Journal/2023/W12/2023-03-20" data-for="Personal/Journal/2023/W12/2023-03-20">2023-03-20</a></li><li><a href="../../../../Personal/Journal/2023/W12/2023-03-21" data-for="Personal/Journal/2023/W12/2023-03-21">2023-03-21</a></li><li><a href="../../../../Personal/Journal/2023/W12/2023-W12" data-for="Personal/Journal/2023/W12/2023-W12">2023-W12</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W14"><button class="folder-button"><span class="folder-title">W14</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W14"><li><a href="../../../../Personal/Journal/2023/W14/2023-04-08" data-for="Personal/Journal/2023/W14/2023-04-08">2023-04-08</a></li><li><a href="../../../../Personal/Journal/2023/W14/2023-W14" data-for="Personal/Journal/2023/W14/2023-W14">2023-W14</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W16"><button class="folder-button"><span class="folder-title">W16</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W16"><li><a href="../../../../Personal/Journal/2023/W16/2023-04-21" data-for="Personal/Journal/2023/W16/2023-04-21">2023-04-21</a></li><li><a href="../../../../Personal/Journal/2023/W16/2023-04-23" data-for="Personal/Journal/2023/W16/2023-04-23">2023-04-23</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W22"><button class="folder-button"><span class="folder-title">W22</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W22"><li><a href="../../../../Personal/Journal/2023/W22/2023-05-31" data-for="Personal/Journal/2023/W22/2023-05-31">2023-05-31</a></li><li><a href="../../../../Personal/Journal/2023/W22/2023-06-01" data-for="Personal/Journal/2023/W22/2023-06-01">2023-06-01</a></li><li><a href="../../../../Personal/Journal/2023/W22/2023-W22" data-for="Personal/Journal/2023/W22/2023-W22">2023-W22</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W23"><button class="folder-button"><span class="folder-title">W23</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W23"><li><a href="../../../../Personal/Journal/2023/W23/2023-06-05" data-for="Personal/Journal/2023/W23/2023-06-05">2023-06-05</a></li><li><a href="../../../../Personal/Journal/2023/W23/2023-06-08" data-for="Personal/Journal/2023/W23/2023-06-08">2023-06-08</a></li><li><a href="../../../../Personal/Journal/2023/W23/2023-W23" data-for="Personal/Journal/2023/W23/2023-W23">2023-W23</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W24"><button class="folder-button"><span class="folder-title">W24</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W24"><li><a href="../../../../Personal/Journal/2023/W24/2023-06-12" data-for="Personal/Journal/2023/W24/2023-06-12">2023-06-12</a></li><li><a href="../../../../Personal/Journal/2023/W24/2023-06-13" data-for="Personal/Journal/2023/W24/2023-06-13">2023-06-13</a></li><li><a href="../../../../Personal/Journal/2023/W24/2023-06-15" data-for="Personal/Journal/2023/W24/2023-06-15">2023-06-15</a></li><li><a href="../../../../Personal/Journal/2023/W24/2023-W24" data-for="Personal/Journal/2023/W24/2023-W24">2023-W24</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W25"><button class="folder-button"><span class="folder-title">W25</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W25"><li><a href="../../../../Personal/Journal/2023/W25/2023-W25" data-for="Personal/Journal/2023/W25/2023-W25">2023-W25</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W26"><button class="folder-button"><span class="folder-title">W26</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W26"><li><a href="../../../../Personal/Journal/2023/W26/2023-06-26" data-for="Personal/Journal/2023/W26/2023-06-26">2023-06-26</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W31"><button class="folder-button"><span class="folder-title">W31</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W31"><li><a href="../../../../Personal/Journal/2023/W31/2023-W31" data-for="Personal/Journal/2023/W31/2023-W31">2023-W31</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W32"><button class="folder-button"><span class="folder-title">W32</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W32"><li><a href="../../../../Personal/Journal/2023/W32/2023-08-07" data-for="Personal/Journal/2023/W32/2023-08-07">2023-08-07</a></li><li><a href="../../../../Personal/Journal/2023/W32/2023-08-08" data-for="Personal/Journal/2023/W32/2023-08-08">2023-08-08</a></li><li><a href="../../../../Personal/Journal/2023/W32/2023-W32" data-for="Personal/Journal/2023/W32/2023-W32">2023-W32</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W33"><button class="folder-button"><span class="folder-title">W33</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W33"><li><a href="../../../../Personal/Journal/2023/W33/2023-W33" data-for="Personal/Journal/2023/W33/2023-W33">2023-W33</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W35"><button class="folder-button"><span class="folder-title">W35</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W35"><li><a href="../../../../Personal/Journal/2023/W35/2023-W35" data-for="Personal/Journal/2023/W35/2023-W35">2023-W35</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W36"><button class="folder-button"><span class="folder-title">W36</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W36"><li><a href="../../../../Personal/Journal/2023/W36/2023-W36" data-for="Personal/Journal/2023/W36/2023-W36">2023-W36</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W37"><button class="folder-button"><span class="folder-title">W37</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W37"><li><a href="../../../../Personal/Journal/2023/W37/2023-W37" data-for="Personal/Journal/2023/W37/2023-W37">2023-W37</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W40"><button class="folder-button"><span class="folder-title">W40</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W40"><li><a href="../../../../Personal/Journal/2023/W40/2023-W40" data-for="Personal/Journal/2023/W40/2023-W40">2023-W40</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W45"><button class="folder-button"><span class="folder-title">W45</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W45"><li><a href="../../../../Personal/Journal/2023/W45/2023-11-12" data-for="Personal/Journal/2023/W45/2023-11-12">2023-11-12</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W46"><button class="folder-button"><span class="folder-title">W46</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W46"><li><a href="../../../../Personal/Journal/2023/W46/2023-11-15" data-for="Personal/Journal/2023/W46/2023-11-15">2023-11-15</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W48"><button class="folder-button"><span class="folder-title">W48</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W48"><li><a href="../../../../Personal/Journal/2023/W48/2023-W48" data-for="Personal/Journal/2023/W48/2023-W48">2023-W48</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W49"><button class="folder-button"><span class="folder-title">W49</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W49"><li><a href="../../../../Personal/Journal/2023/W49/2023-12-07" data-for="Personal/Journal/2023/W49/2023-12-07">2023-12-07</a></li><li><a href="../../../../Personal/Journal/2023/W49/2023-W49" data-for="Personal/Journal/2023/W49/2023-W49">2023-W49</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W50"><button class="folder-button"><span class="folder-title">W50</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W50"><li><a href="../../../../Personal/Journal/2023/W50/2023-12-12" data-for="Personal/Journal/2023/W50/2023-12-12">2023-12-12</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024"><button class="folder-button"><span class="folder-title">2024</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W8"><button class="folder-button"><span class="folder-title">W8</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W8"><li><a href="../../../../Personal/Journal/2024/W8/2024-02-22" data-for="Personal/Journal/2024/W8/2024-02-22">2024-02-22</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W10"><button class="folder-button"><span class="folder-title">W10</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W10"><li><a href="../../../../Personal/Journal/2024/W10/2024-03-05" data-for="Personal/Journal/2024/W10/2024-03-05">2024-03-05</a></li><li><a href="../../../../Personal/Journal/2024/W10/2024-03-06" data-for="Personal/Journal/2024/W10/2024-03-06">2024-03-06</a></li><li><a href="../../../../Personal/Journal/2024/W10/2024-03-07" data-for="Personal/Journal/2024/W10/2024-03-07">2024-03-07</a></li><li><a href="../../../../Personal/Journal/2024/W10/2024-W10" data-for="Personal/Journal/2024/W10/2024-W10">2024-W10</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W11"><button class="folder-button"><span class="folder-title">W11</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W11"><li><a href="../../../../Personal/Journal/2024/W11/2024-03-11" data-for="Personal/Journal/2024/W11/2024-03-11">2024-03-11</a></li><li><a href="../../../../Personal/Journal/2024/W11/2024-03-12" data-for="Personal/Journal/2024/W11/2024-03-12">2024-03-12</a></li><li><a href="../../../../Personal/Journal/2024/W11/2024-03-13" data-for="Personal/Journal/2024/W11/2024-03-13">2024-03-13</a></li><li><a href="../../../../Personal/Journal/2024/W11/2024-W11" data-for="Personal/Journal/2024/W11/2024-W11">2024-W11</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W12"><button class="folder-button"><span class="folder-title">W12</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W12"><li><a href="../../../../Personal/Journal/2024/W12/2024-03-20" data-for="Personal/Journal/2024/W12/2024-03-20">2024-03-20</a></li><li><a href="../../../../Personal/Journal/2024/W12/2024-W12" data-for="Personal/Journal/2024/W12/2024-W12">2024-W12</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W14"><button class="folder-button"><span class="folder-title">W14</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W14"><li><a href="../../../../Personal/Journal/2024/W14/2024-W14" data-for="Personal/Journal/2024/W14/2024-W14">2024-W14</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W16"><button class="folder-button"><span class="folder-title">W16</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W16"><li><a href="../../../../Personal/Journal/2024/W16/2024-W16" data-for="Personal/Journal/2024/W16/2024-W16">2024-W16</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W17"><button class="folder-button"><span class="folder-title">W17</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W17"><li><a href="../../../../Personal/Journal/2024/W17/2024-04-24" data-for="Personal/Journal/2024/W17/2024-04-24">2024-04-24</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W22"><button class="folder-button"><span class="folder-title">W22</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W22"><li><a href="../../../../Personal/Journal/2024/W22/2024-06-02" data-for="Personal/Journal/2024/W22/2024-06-02">2024-06-02</a></li><li><a href="../../../../Personal/Journal/2024/W22/2024-W22" data-for="Personal/Journal/2024/W22/2024-W22">2024-W22</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W23"><button class="folder-button"><span class="folder-title">W23</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W23"><li><a href="../../../../Personal/Journal/2024/W23/2024-06-03" data-for="Personal/Journal/2024/W23/2024-06-03">2024-06-03</a></li><li><a href="../../../../Personal/Journal/2024/W23/2024-06-04" data-for="Personal/Journal/2024/W23/2024-06-04">2024-06-04</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W24"><button class="folder-button"><span class="folder-title">W24</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W24"><li><a href="../../../../Personal/Journal/2024/W24/2024-06-12" data-for="Personal/Journal/2024/W24/2024-06-12">2024-06-12</a></li><li><a href="../../../../Personal/Journal/2024/W24/2024-W24" data-for="Personal/Journal/2024/W24/2024-W24">2024-W24</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W29"><button class="folder-button"><span class="folder-title">W29</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W29"><li><a href="../../../../Personal/Journal/2024/W29/2024-W29" data-for="Personal/Journal/2024/W29/2024-W29">2024-W29</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W30"><button class="folder-button"><span class="folder-title">W30</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W30"><li><a href="../../../../Personal/Journal/2024/W30/2024-07-22" data-for="Personal/Journal/2024/W30/2024-07-22">2024-07-22</a></li><li><a href="../../../../Personal/Journal/2024/W30/2024-07-25" data-for="Personal/Journal/2024/W30/2024-07-25">2024-07-25</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W33"><button class="folder-button"><span class="folder-title">W33</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W33"><li><a href="../../../../Personal/Journal/2024/W33/2024-08-12" data-for="Personal/Journal/2024/W33/2024-08-12">2024-08-12</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W35"><button class="folder-button"><span class="folder-title">W35</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W35"><li><a href="../../../../Personal/Journal/2024/W35/2024-08-31" data-for="Personal/Journal/2024/W35/2024-08-31">2024-08-31</a></li></ul></div></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional"><button class="folder-button"><span class="folder-title">Professional</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Company"><button class="folder-button"><span class="folder-title">Company</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Company"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Company/数字化"><button class="folder-button"><span class="folder-title">数字化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Company/数字化"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Company/数字化/规范"><button class="folder-button"><span class="folder-title">规范</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Company/数字化/规范"><li><a href="../../../../Professional/Company/数字化/规范/企业计算机命名规范" data-for="Professional/Company/数字化/规范/企业计算机命名规范">企业计算机命名规范</a></li><li><a href="../../../../Professional/Company/数字化/规范/企业域名分配规范" data-for="Professional/Company/数字化/规范/企业域名分配规范">域名分配规范</a></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work"><button class="folder-button"><span class="folder-title">Work</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/data-engineer"><button class="folder-button"><span class="folder-title">data-engineer</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/data-engineer"><li><a href="../../../../Professional/Work/data-engineer/home" data-for="Professional/Work/data-engineer/home">数据工程师data-engineer</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/full-stack"><button class="folder-button"><span class="folder-title">full-stack</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/full-stack"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/full-stack/基础"><button class="folder-button"><span class="folder-title">基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/full-stack/基础"><li><a href="../../../../Professional/Work/full-stack/基础/CSS" data-for="Professional/Work/full-stack/基础/CSS">CSS</a></li><li><a href="../../../../Professional/Work/full-stack/基础/HTML" data-for="Professional/Work/full-stack/基础/HTML">HTML</a></li><li><a href="../../../../Professional/Work/full-stack/基础/JavaScript" data-for="Professional/Work/full-stack/基础/JavaScript">JavaScript</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/full-stack/工具"><button class="folder-button"><span class="folder-title">工具</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/full-stack/工具"><li><a href="../../../../Professional/Work/full-stack/工具/PM2-工具" data-for="Professional/Work/full-stack/工具/PM2-工具">PM2 工具</a></li><li><a href="../../../../Professional/Work/full-stack/工具/Webpack" data-for="Professional/Work/full-stack/工具/Webpack">Webpack</a></li><li><a href="../../../../Professional/Work/full-stack/工具/包管理工具" data-for="Professional/Work/full-stack/工具/包管理工具">包管理器</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/full-stack/文化"><button class="folder-button"><span class="folder-title">文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/full-stack/文化"><li><a href="../../../../Professional/Work/full-stack/文化/历史发展" data-for="Professional/Work/full-stack/文化/历史发展">历史发展</a></li><li><a href="../../../../Professional/Work/full-stack/文化/概述" data-for="Professional/Work/full-stack/文化/概述">概述</a></li><li><a href="../../../../Professional/Work/full-stack/文化/现代化开发工具链" data-for="Professional/Work/full-stack/文化/现代化开发工具链">现代化开发工具链</a></li></ul></div></li><li><a href="../../../../Professional/Work/full-stack/home" data-for="Professional/Work/full-stack/home">前端工程师Front-End Engineer</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap"><button class="folder-button"><span class="folder-title">roadmap</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/权益保障"><button class="folder-button"><span class="folder-title">权益保障</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/权益保障"><li><a href="../../../../Professional/Work/roadmap/权益保障/仲裁指南" data-for="Professional/Work/roadmap/权益保障/仲裁指南">仲裁指南</a></li><li><a href="../../../../Professional/Work/roadmap/权益保障/职场维权实战经验" data-for="Professional/Work/roadmap/权益保障/职场维权实战经验">职场维权实战经验</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/求职经验"><button class="folder-button"><span class="folder-title">求职经验</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/求职经验"><li><a href="../../../../Professional/Work/roadmap/求职经验/互联网行业-郑州" data-for="Professional/Work/roadmap/求职经验/互联网行业-郑州">互联网行业-郑州</a></li><li><a href="../../../../Professional/Work/roadmap/求职经验/写给软件工程师的建议" data-for="Professional/Work/roadmap/求职经验/写给软件工程师的建议">写给软件工程师的建议</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/简历攻略"><button class="folder-button"><span class="folder-title">简历攻略</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/简历攻略"><li><a href="../../../../Professional/Work/roadmap/简历攻略/IT-类简历" data-for="Professional/Work/roadmap/简历攻略/IT-类简历">IT 类简历</a></li><li><a href="../../../../Professional/Work/roadmap/简历攻略/简历原则" data-for="Professional/Work/roadmap/简历攻略/简历原则">简历原则</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/职业规划"><button class="folder-button"><span class="folder-title">职业规划</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/职业规划"><li><a href="../../../../Professional/Work/roadmap/职业规划/开发者职业路线图" data-for="Professional/Work/roadmap/职业规划/开发者职业路线图">开发者职业路线图</a></li><li><a href="../../../../Professional/Work/roadmap/职业规划/职业宏观规划图" data-for="Professional/Work/roadmap/职业规划/职业宏观规划图">职业宏观规划图</a></li><li><a href="../../../../Professional/Work/roadmap/职业规划/职业宏观路线图" data-for="Professional/Work/roadmap/职业规划/职业宏观路线图">职业宏观路线图</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/职场心得"><button class="folder-button"><span class="folder-title">职场心得</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/职场心得"><li><a href="../../../../Professional/Work/roadmap/职场心得/华为新员工的-8-个阶段" data-for="Professional/Work/roadmap/职场心得/华为新员工的-8-个阶段">华为新员工的 8 个阶段</a></li><li><a href="../../../../Professional/Work/roadmap/职场心得/如何平衡工作和生活" data-for="Professional/Work/roadmap/职场心得/如何平衡工作和生活">如何平衡工作和生活</a></li><li><a href="../../../../Professional/Work/roadmap/职场心得/如何度过新手村" data-for="Professional/Work/roadmap/职场心得/如何度过新手村">如何度过新手村</a></li><li><a href="../../../../Professional/Work/roadmap/职场心得/如何有效应对职场政治" data-for="Professional/Work/roadmap/职场心得/如何有效应对职场政治">如何有效应对职场政治</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/薪酬攻略"><button class="folder-button"><span class="folder-title">薪酬攻略</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/薪酬攻略"><li><a href="../../../../Professional/Work/roadmap/薪酬攻略/社会保障" data-for="Professional/Work/roadmap/薪酬攻略/社会保障">社会保障</a></li><li><a href="../../../../Professional/Work/roadmap/薪酬攻略/绩效考核" data-for="Professional/Work/roadmap/薪酬攻略/绩效考核">绩效考核</a></li><li><a href="../../../../Professional/Work/roadmap/薪酬攻略/薪酬制度" data-for="Professional/Work/roadmap/薪酬攻略/薪酬制度">薪酬制度</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/面试法则"><button class="folder-button"><span class="folder-title">面试法则</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/面试法则"><li><a href="../../../../Professional/Work/roadmap/面试法则/反向面试" data-for="Professional/Work/roadmap/面试法则/反向面试">反向面试</a></li><li><a href="../../../../Professional/Work/roadmap/面试法则/面试-10-大常见问题" data-for="Professional/Work/roadmap/面试法则/面试-10-大常见问题">面试 10 大常见问题</a></li></ul></div></li><li><a href="../../../../Professional/Work/roadmap/home" data-for="Professional/Work/roadmap/home">求职之路</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/sre-engineer"><button class="folder-button"><span class="folder-title">sre-engineer</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/sre-engineer"><li><a href="../../../../Professional/Work/sre-engineer/home" data-for="Professional/Work/sre-engineer/home">SRE (站点可靠性工程师)</a></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences"><button class="folder-button"><span class="folder-title">SocialSciences</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/English"><button class="folder-button"><span class="folder-title">English</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/English"><li><a href="../../../../SocialSciences/English/字母音标" data-for="SocialSciences/English/字母音标">字母音标</a></li><li><a href="../../../../SocialSciences/English/语法基础" data-for="SocialSciences/English/语法基础">语法基础</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/Government"><button class="folder-button"><span class="folder-title">Government</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/Government"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/Government/中国"><button class="folder-button"><span class="folder-title">中国</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/Government/中国"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/Government/中国/标准"><button class="folder-button"><span class="folder-title">标准</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/Government/中国/标准"><li><a href="../../../../SocialSciences/Government/中国/标准/标准组织" data-for="SocialSciences/Government/中国/标准/标准组织">标准组织</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/Government/中国/法律"><button class="folder-button"><span class="folder-title">法律</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/Government/中国/法律"><li><a href="../../../../SocialSciences/Government/中国/法律/法律文书" data-for="SocialSciences/Government/中国/法律/法律文书">法律文书</a></li></ul></div></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology"><button class="folder-button"><span class="folder-title">Technology</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/CloudService"><button class="folder-button"><span class="folder-title">CloudService</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/CloudService"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/CloudService/基础"><button class="folder-button"><span class="folder-title">基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/CloudService/基础"><li><a href="../../../../Technology/CloudService/基础/IT-基础架构" data-for="Technology/CloudService/基础/IT-基础架构">IT 基础架构</a></li><li><a href="../../../../Technology/CloudService/基础/云计算" data-for="Technology/CloudService/基础/云计算">云计算概述</a></li><li><a href="../../../../Technology/CloudService/基础/功能即服务FaaS" data-for="Technology/CloudService/基础/功能即服务FaaS">功能即服务FaaS</a></li><li><a href="../../../../Technology/CloudService/基础/基础架构即服务IaaS" data-for="Technology/CloudService/基础/基础架构即服务IaaS">基础架构即服务IaaS</a></li><li><a href="../../../../Technology/CloudService/基础/平台即服务PaaS" data-for="Technology/CloudService/基础/平台即服务PaaS">平台即服务PaaS</a></li><li><a href="../../../../Technology/CloudService/基础/软件即服务SaaS" data-for="Technology/CloudService/基础/软件即服务SaaS">软件即服务SaaS</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork"><button class="folder-button"><span class="folder-title">ComputerNetwork</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/Nginx"><button class="folder-button"><span class="folder-title">Nginx</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/Nginx"><li><a href="../../../../Technology/ComputerNetwork/Nginx/概述" data-for="Technology/ComputerNetwork/Nginx/概述">Nginx 概述</a></li><li><a href="../../../../Technology/ComputerNetwork/Nginx/内容缓存" data-for="Technology/ComputerNetwork/Nginx/内容缓存">内容缓存</a></li><li><a href="../../../../Technology/ComputerNetwork/Nginx/基础配置" data-for="Technology/ComputerNetwork/Nginx/基础配置">基础配置</a></li><li><a href="../../../../Technology/ComputerNetwork/Nginx/负载均衡" data-for="Technology/ComputerNetwork/Nginx/负载均衡">负载均衡</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/公共服务"><button class="folder-button"><span class="folder-title">公共服务</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/公共服务"><li><a href="../../../../Technology/ComputerNetwork/公共服务/IPv4-DNS-服务" data-for="Technology/ComputerNetwork/公共服务/IPv4-DNS-服务">IPv4 DNS 服务</a></li><li><a href="../../../../Technology/ComputerNetwork/公共服务/IPv6-DNS-服务" data-for="Technology/ComputerNetwork/公共服务/IPv6-DNS-服务">IPv6 DNS 服务</a></li><li><a href="../../../../Technology/ComputerNetwork/公共服务/Mirror-镜像站" data-for="Technology/ComputerNetwork/公共服务/Mirror-镜像站">Mirror 镜像站</a></li><li><a href="../../../../Technology/ComputerNetwork/公共服务/NTP-服务器" data-for="Technology/ComputerNetwork/公共服务/NTP-服务器">NTP 服务器</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/应用服务"><button class="folder-button"><span class="folder-title">应用服务</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/应用服务"><li><a href="../../../../Technology/ComputerNetwork/应用服务/CDN-内容分发网络" data-for="Technology/ComputerNetwork/应用服务/CDN-内容分发网络">CDN 内容分发网络</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/网络协议"><button class="folder-button"><span class="folder-title">网络协议</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/网络协议"><li><a href="../../../../Technology/ComputerNetwork/网络协议/DHCP-动态主机配置协议" data-for="Technology/ComputerNetwork/网络协议/DHCP-动态主机配置协议">DHCP 动态主机配置协议</a></li><li><a href="../../../../Technology/ComputerNetwork/网络协议/DNS-域名系统" data-for="Technology/ComputerNetwork/网络协议/DNS-域名系统">DNS 域名系统</a></li><li><a href="../../../../Technology/ComputerNetwork/网络协议/IP-网际协议" data-for="Technology/ComputerNetwork/网络协议/IP-网际协议">IP 网际协议</a></li><li><a href="../../../../Technology/ComputerNetwork/网络协议/TCP-传输控制协议" data-for="Technology/ComputerNetwork/网络协议/TCP-传输控制协议">TCP 传输控制协议</a></li><li><a href="../../../../Technology/ComputerNetwork/网络协议/UDP-用户数据报协议" data-for="Technology/ComputerNetwork/网络协议/UDP-用户数据报协议">UDP 用户数据报协议</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/网络基础"><button class="folder-button"><span class="folder-title">网络基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/网络基础"><li><a href="../../../../Technology/ComputerNetwork/网络基础/网络基础" data-for="Technology/ComputerNetwork/网络基础/网络基础">网络基础</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity"><button class="folder-button"><span class="folder-title">ComputerSecurity</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/信息安全"><button class="folder-button"><span class="folder-title">信息安全</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/信息安全"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/信息安全/OpenPGP"><button class="folder-button"><span class="folder-title">OpenPGP</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/信息安全/OpenPGP"><li><a href="../../../../Technology/ComputerSecurity/信息安全/OpenPGP/GnuPG-简明指南" data-for="Technology/ComputerSecurity/信息安全/OpenPGP/GnuPG-简明指南">GnuPG 简明指南</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/密码学"><button class="folder-button"><span class="folder-title">密码学</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/密码学"><li><a href="../../../../Technology/ComputerSecurity/密码学/简明指南" data-for="Technology/ComputerSecurity/密码学/简明指南">简明指南</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/用户安全"><button class="folder-button"><span class="folder-title">用户安全</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/用户安全"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/用户安全/权限设计"><button class="folder-button"><span class="folder-title">权限设计</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/用户安全/权限设计"><li><a href="../../../../Technology/ComputerSecurity/用户安全/权限设计/主流权限系统的设计" data-for="Technology/ComputerSecurity/用户安全/权限设计/主流权限系统的设计">主流权限系统的设计</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/用户安全/用户鉴权"><button class="folder-button"><span class="folder-title">用户鉴权</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/用户安全/用户鉴权"><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/HTTP-基本鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/HTTP-基本鉴权">HTTP 基本鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/JWTJSON-Web-Token鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/JWTJSON-Web-Token鉴权">JWT 鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/OAuth-鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/OAuth-鉴权">OAuth 鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/Session-Cookie-鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/Session-Cookie-鉴权">Session-Cookie 鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/单点登录Single-Sign-On" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/单点登录Single-Sign-On">SSO 单点登录</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/Token-鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/Token-鉴权">Token 鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/一键登录适用于原生APP" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/一键登录适用于原生APP">一键登录</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/唯一登录" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/唯一登录">唯一登录</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/扫码登录" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/扫码登录">扫码登录</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/联合登录和信任登录" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/联合登录和信任登录">联合登录和信任登录</a></li></ul></div></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/简明指南" data-for="Technology/ComputerSecurity/用户安全/简明指南">简明指南</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/系统安全"><button class="folder-button"><span class="folder-title">系统安全</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/系统安全"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/系统安全/防火墙"><button class="folder-button"><span class="folder-title">防火墙</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/系统安全/防火墙"><li><a href="../../../../Technology/ComputerSecurity/系统安全/防火墙/网络端口大全" data-for="Technology/ComputerSecurity/系统安全/防火墙/网络端口大全">网络端口大全</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/网络安全"><button class="folder-button"><span class="folder-title">网络安全</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/网络安全"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/网络安全/OpenSSH"><button class="folder-button"><span class="folder-title">OpenSSH</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/网络安全/OpenSSH"><li><a href="../../../../Technology/ComputerSecurity/网络安全/OpenSSH/OpenSSH-使用方法" data-for="Technology/ComputerSecurity/网络安全/OpenSSH/OpenSSH-使用方法">OpenSSH 使用方法</a></li><li><a href="../../../../Technology/ComputerSecurity/网络安全/OpenSSH/OpenSSH-概述" data-for="Technology/ComputerSecurity/网络安全/OpenSSH/OpenSSH-概述">OpenSSH 概述</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/网络安全/OpenSSL"><button class="folder-button"><span class="folder-title">OpenSSL</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/网络安全/OpenSSL"><li><a href="../../../../Technology/ComputerSecurity/网络安全/OpenSSL/简明指南" data-for="Technology/ComputerSecurity/网络安全/OpenSSL/简明指南">简明指南</a></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerStorage"><button class="folder-button"><span class="folder-title">ComputerStorage</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerStorage"><li><a href="../../../../Technology/ComputerStorage/0.-大纲" data-for="Technology/ComputerStorage/0.-大纲">0. 大纲</a></li><li><a href="../../../../Technology/ComputerStorage/1.-存储基础" data-for="Technology/ComputerStorage/1.-存储基础">1. 存储基础</a></li><li><a href="../../../../Technology/ComputerStorage/2.-存储硬件" data-for="Technology/ComputerStorage/2.-存储硬件">2. 存储硬件</a></li><li><a href="../../../../Technology/ComputerStorage/3.-存储架构" data-for="Technology/ComputerStorage/3.-存储架构">3. 存储架构</a></li><li><a href="../../../../Technology/ComputerStorage/4.-文件系统" data-for="Technology/ComputerStorage/4.-文件系统">4. 文件系统</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/DatabaseSystem"><button class="folder-button"><span class="folder-title">DatabaseSystem</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/DatabaseSystem"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/DatabaseSystem/PostgreSQL"><button class="folder-button"><span class="folder-title">PostgreSQL</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/DatabaseSystem/PostgreSQL"><li><a href="../../../../Technology/DatabaseSystem/PostgreSQL/基本概念" data-for="Technology/DatabaseSystem/PostgreSQL/基本概念">基本概念</a></li><li><a href="../../../../Technology/DatabaseSystem/PostgreSQL/安装配置" data-for="Technology/DatabaseSystem/PostgreSQL/安装配置">安装配置</a></li><li><a href="../../../../Technology/DatabaseSystem/PostgreSQL/简介" data-for="Technology/DatabaseSystem/PostgreSQL/简介">简介</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/DatabaseSystem/SQL-语言"><button class="folder-button"><span class="folder-title">SQL 语言</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/DatabaseSystem/SQL-语言"><li><a href="../../../../Technology/DatabaseSystem/SQL-语言/基础语法" data-for="Technology/DatabaseSystem/SQL-语言/基础语法">基础语法</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/DatabaseSystem/基础"><button class="folder-button"><span class="folder-title">基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/DatabaseSystem/基础"><li><a href="../../../../Technology/DatabaseSystem/基础/关系型数据库" data-for="Technology/DatabaseSystem/基础/关系型数据库">关系型数据库</a></li><li><a href="../../../../Technology/DatabaseSystem/基础/数据库概述" data-for="Technology/DatabaseSystem/基础/数据库概述">数据库概述</a></li><li><a href="../../../../Technology/DatabaseSystem/基础/非关系型数据库" data-for="Technology/DatabaseSystem/基础/非关系型数据库">非关系型数据库</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted"><button class="folder-button"><span class="folder-title">GettingStarted</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/命令行工具"><button class="folder-button"><span class="folder-title">命令行工具</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/命令行工具"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/命令行工具/PowerShell"><button class="folder-button"><span class="folder-title">PowerShell</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/命令行工具/PowerShell"><li><a href="../../../../Technology/GettingStarted/命令行工具/PowerShell/PowerShell-入门" data-for="Technology/GettingStarted/命令行工具/PowerShell/PowerShell-入门">PowerShell 入门</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/PowerShell/PowerShell-进阶" data-for="Technology/GettingStarted/命令行工具/PowerShell/PowerShell-进阶">PowerShell 进阶</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/PowerShell/PowerShell-高级" data-for="Technology/GettingStarted/命令行工具/PowerShell/PowerShell-高级">PowerShell 高级</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/命令行工具/Shell"><button class="folder-button"><span class="folder-title">Shell</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/命令行工具/Shell"><li><a href="../../../../Technology/GettingStarted/命令行工具/Shell/Shell-命令操作" data-for="Technology/GettingStarted/命令行工具/Shell/Shell-命令操作">Linux 命令行操作</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Shell/Shell-必备锦囊" data-for="Technology/GettingStarted/命令行工具/Shell/Shell-必备锦囊">Shell 必备锦囊</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Shell/Shell-是什么" data-for="Technology/GettingStarted/命令行工具/Shell/Shell-是什么">Shell 是什么</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/命令行工具/Vim"><button class="folder-button"><span class="folder-title">Vim</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/命令行工具/Vim"><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/5.Vim-参考手册" data-for="Technology/GettingStarted/命令行工具/Vim/5.Vim-参考手册">Vim 参考手册</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/4.Vim-实用技巧" data-for="Technology/GettingStarted/命令行工具/Vim/4.Vim-实用技巧">Vim 实用技巧</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/6.Vim-帮助文档" data-for="Technology/GettingStarted/命令行工具/Vim/6.Vim-帮助文档">Vim 帮助文档</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/1.Vim-入门" data-for="Technology/GettingStarted/命令行工具/Vim/1.Vim-入门">Vim 快速入门</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/2.VIM-配置管理" data-for="Technology/GettingStarted/命令行工具/Vim/2.VIM-配置管理">VIM 配置管理</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/3.Vim-高级功能" data-for="Technology/GettingStarted/命令行工具/Vim/3.Vim-高级功能">Vim 高级功能</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/开源指南"><button class="folder-button"><span class="folder-title">开源指南</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/开源指南"><li><a href="../../../../Technology/GettingStarted/开源指南/如何向开源社区提问" data-for="Technology/GettingStarted/开源指南/如何向开源社区提问">如何向开源社区提问</a></li><li><a href="../../../../Technology/GettingStarted/开源指南/如何有效报告-BUG" data-for="Technology/GettingStarted/开源指南/如何有效报告-BUG">如何有效报告 BUG</a></li><li><a href="../../../../Technology/GettingStarted/开源指南/开源指北" data-for="Technology/GettingStarted/开源指南/开源指北">开源指北</a></li><li><a href="../../../../Technology/GettingStarted/开源指南/提问的智慧" data-for="Technology/GettingStarted/开源指南/提问的智慧">提问的智慧</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/文本处理"><button class="folder-button"><span class="folder-title">文本处理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/文本处理"><li><a href="../../../../Technology/GettingStarted/文本处理/正则表达式" data-for="Technology/GettingStarted/文本处理/正则表达式">正则表达式</a></li><li><a href="../../../../Technology/GettingStarted/文本处理/结构化文件" data-for="Technology/GettingStarted/文本处理/结构化文件">结构化文件</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/版本控制"><button class="folder-button"><span class="folder-title">版本控制</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/版本控制"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/版本控制/Git"><button class="folder-button"><span class="folder-title">Git</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/版本控制/Git"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/版本控制/Git/入门"><button class="folder-button"><span class="folder-title">入门</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/版本控制/Git/入门"><li><a href="../../../../Technology/GettingStarted/版本控制/Git/入门/分支" data-for="Technology/GettingStarted/版本控制/Git/入门/分支">分支</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/入门/协议" data-for="Technology/GettingStarted/版本控制/Git/入门/协议">协议</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/入门/基础" data-for="Technology/GettingStarted/版本控制/Git/入门/基础">基础</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/入门/起步" data-for="Technology/GettingStarted/版本控制/Git/入门/起步">起步</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/版本控制/Git/进阶"><button class="folder-button"><span class="folder-title">进阶</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/版本控制/Git/进阶"><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/Git-LFS" data-for="Technology/GettingStarted/版本控制/Git/进阶/Git-LFS">Git-LFS</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/参考手册" data-for="Technology/GettingStarted/版本控制/Git/进阶/参考手册">参考手册</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/工作流" data-for="Technology/GettingStarted/版本控制/Git/进阶/工作流">工作流</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/常用命令" data-for="Technology/GettingStarted/版本控制/Git/进阶/常用命令">常用命令</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/常用技巧" data-for="Technology/GettingStarted/版本控制/Git/进阶/常用技巧">常用技巧</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/思维导图" data-for="Technology/GettingStarted/版本控制/Git/进阶/思维导图">思维导图</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/钩子" data-for="Technology/GettingStarted/版本控制/Git/进阶/钩子">钩子</a></li></ul></div></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem"><button class="folder-button"><span class="folder-title">OperatingSystem</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Automation"><button class="folder-button"><span class="folder-title">Automation</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Automation"><li><a href="../../../../Technology/OperatingSystem/Automation/Ansible" data-for="Technology/OperatingSystem/Automation/Ansible">Ansible</a></li><li><a href="../../../../Technology/OperatingSystem/Automation/Cloud-init-快速部署" data-for="Technology/OperatingSystem/Automation/Cloud-init-快速部署">Cloud-init</a></li><li><a href="../../../../Technology/OperatingSystem/Automation/PXE--系统部署" data-for="Technology/OperatingSystem/Automation/PXE--系统部署">PXE 自动化部署</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Docker"><button class="folder-button"><span class="folder-title">Docker</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Docker"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Docker/基础"><button class="folder-button"><span class="folder-title">基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Docker/基础"><li><a href="../../../../Technology/OperatingSystem/Docker/基础/基础概念" data-for="Technology/OperatingSystem/Docker/基础/基础概念">基础概念</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/基础/安装配置" data-for="Technology/OperatingSystem/Docker/基础/安装配置">安装配置</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/基础/简介" data-for="Technology/OperatingSystem/Docker/基础/简介">简介</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Docker/进阶"><button class="folder-button"><span class="folder-title">进阶</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Docker/进阶"><li><a href="../../../../Technology/OperatingSystem/Docker/进阶/Docker-Compose" data-for="Technology/OperatingSystem/Docker/进阶/Docker-Compose">Docker Compose</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/进阶/Docker-Dockerfile" data-for="Technology/OperatingSystem/Docker/进阶/Docker-Dockerfile">Docker Dockerfile</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/进阶/Docker-使用" data-for="Technology/OperatingSystem/Docker/进阶/Docker-使用">Docker 使用</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Docker/高级"><button class="folder-button"><span class="folder-title">高级</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Docker/高级"><li><a href="../../../../Technology/OperatingSystem/Docker/高级/Docker-命令手册" data-for="Technology/OperatingSystem/Docker/高级/Docker-命令手册">Docker 命令手册</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/高级/Docker-存储" data-for="Technology/OperatingSystem/Docker/高级/Docker-存储">Docker 存储</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/高级/Docker-网络" data-for="Technology/OperatingSystem/Docker/高级/Docker-网络">Docker 网络</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux"><button class="folder-button"><span class="folder-title">Linux</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/1.文化"><button class="folder-button"><span class="folder-title">1.文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/1.文化"><li><a href="../../../../Technology/OperatingSystem/Linux/1.文化/GNU-and-Linux-历史与发展" data-for="Technology/OperatingSystem/Linux/1.文化/GNU-and-Linux-历史与发展">GNU&amp;Linux 历史与发展</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/1.文化/GNU-and-Linux-社区与文化" data-for="Technology/OperatingSystem/Linux/1.文化/GNU-and-Linux-社区与文化">GNU&amp;Linux 社区与文化</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/1.文化/开源软件的概念与重要性" data-for="Technology/OperatingSystem/Linux/1.文化/开源软件的概念与重要性">开源软件的概念与重要性</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/2.安装"><button class="folder-button"><span class="folder-title">2.安装</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/2.安装"><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/GRUB-引导程序" data-for="Technology/OperatingSystem/Linux/2.安装/GRUB-引导程序">GRUB 引导程序</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-下-0-1-手动安装-Arch-Linux" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-下-0-1-手动安装-Arch-Linux">Linux 下 0-1 手动安装 Arch Linux</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-下源代码编译与安装实战" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-下源代码编译与安装实战">Linux 下源代码编译与安装实战</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-发行版镜像" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-发行版镜像">Linux 发行版镜像</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-安装和配置" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-安装和配置">Linux 安装和配置</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-无法启动排查指南" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-无法启动排查指南">Linux 无法启动排查指南</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/3.基础操作"><button class="folder-button"><span class="folder-title">3.基础操作</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/3.基础操作"><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Linux-包管理器" data-for="Technology/OperatingSystem/Linux/3.基础操作/Linux-包管理器">Linux 包管理器</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Shell-命令行操作" data-for="Technology/OperatingSystem/Linux/3.基础操作/Shell-命令行操作">Linux 命令行操作</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Linux-文件管理" data-for="Technology/OperatingSystem/Linux/3.基础操作/Linux-文件管理">Linux 文件管理</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Linux-环境变量" data-for="Technology/OperatingSystem/Linux/3.基础操作/Linux-环境变量">Linux 环境变量</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Linux-用户和权限" data-for="Technology/OperatingSystem/Linux/3.基础操作/Linux-用户和权限">Linux 用户和权限</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/4.系统管理"><button class="folder-button"><span class="folder-title">4.系统管理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/4.系统管理"><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-内核管理" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-内核管理">Linux 内核管理</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-基本配置" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-基本配置">Linux 基本配置</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-日志管理" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-日志管理">Linux 日志管理</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-服务管理" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-服务管理">Linux 服务管理</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-系统启动详解" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-系统启动详解">Linux 服务管理</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/5.安全配置"><button class="folder-button"><span class="folder-title">5.安全配置</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/5.安全配置"><li><a href="../../../../Technology/OperatingSystem/Linux/5.安全配置/Linux-系统安全与防护" data-for="Technology/OperatingSystem/Linux/5.安全配置/Linux-系统安全与防护">Linux 系统安全与防护</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/6.网络管理"><button class="folder-button"><span class="folder-title">6.网络管理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/6.网络管理"><li><a href="../../../../Technology/OperatingSystem/Linux/6.网络管理/Linux-网络管理" data-for="Technology/OperatingSystem/Linux/6.网络管理/Linux-网络管理">Linux 网络管理</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/7.存储管理"><button class="folder-button"><span class="folder-title">7.存储管理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/7.存储管理"><li><a href="../../../../Technology/OperatingSystem/Linux/7.存储管理/Linux-文件系统" data-for="Technology/OperatingSystem/Linux/7.存储管理/Linux-文件系统">Linux 文件系统</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Virtualization"><button class="folder-button"><span class="folder-title">Virtualization</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Virtualization"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Virtualization/1.虚拟化概述"><button class="folder-button"><span class="folder-title">1.虚拟化概述</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Virtualization/1.虚拟化概述"><li><a href="../../../../Technology/OperatingSystem/Virtualization/1.虚拟化概述/虚拟化平台简介" data-for="Technology/OperatingSystem/Virtualization/1.虚拟化概述/虚拟化平台简介">虚拟化平台简介</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/1.虚拟化概述/虚拟化概述" data-for="Technology/OperatingSystem/Virtualization/1.虚拟化概述/虚拟化概述">虚拟化概述</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Virtualization/2.KVM虚拟化"><button class="folder-button"><span class="folder-title">2.KVM虚拟化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Virtualization/2.KVM虚拟化"><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/1.-KVM-概述" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/1.-KVM-概述">1. KVM 概述</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/2.-KVM-安装配置" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/2.-KVM-安装配置">2. KVM 安装配置</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/3.-KVM-管理工具" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/3.-KVM-管理工具">3. KVM 管理工具</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/4.-KVM-网络配置" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/4.-KVM-网络配置">4. KVM 网络配置</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/5.-KVM-存储管理" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/5.-KVM-存储管理">5. KVM 存储管理</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/6.-KVM-性能优化" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/6.-KVM-性能优化">6. KVM 性能优化</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/7.-KVM-系统监控" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/7.-KVM-系统监控">7. KVM 系统监控</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Windows"><button class="folder-button"><span class="folder-title">Windows</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Windows"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Windows/文化"><button class="folder-button"><span class="folder-title">文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Windows/文化"><li><a href="../../../../Technology/OperatingSystem/Windows/文化/微软及其Windows系统的历史发展" data-for="Technology/OperatingSystem/Windows/文化/微软及其Windows系统的历史发展">微软及其Windows系统的历史发展</a></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage"><button class="folder-button"><span class="folder-title">ProgrammingLanguage</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python"><button class="folder-button"><span class="folder-title">Python</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/入门"><button class="folder-button"><span class="folder-title">入门</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/入门"><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/函数方法" data-for="Technology/ProgrammingLanguage/Python/入门/函数方法">函数方法</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/基础语法" data-for="Technology/ProgrammingLanguage/Python/入门/基础语法">基础语法</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/控制语句" data-for="Technology/ProgrammingLanguage/Python/入门/控制语句">控制语句</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/数据类型" data-for="Technology/ProgrammingLanguage/Python/入门/数据类型">数据类型</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/数据结构" data-for="Technology/ProgrammingLanguage/Python/入门/数据结构">数据结构</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/模块和包" data-for="Technology/ProgrammingLanguage/Python/入门/模块和包">模块和包</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/面对对象" data-for="Technology/ProgrammingLanguage/Python/入门/面对对象">面对对象</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/文化"><button class="folder-button"><span class="folder-title">文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/文化"><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/发展历史" data-for="Technology/ProgrammingLanguage/Python/文化/发展历史">发展历史</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/生命周期" data-for="Technology/ProgrammingLanguage/Python/文化/生命周期">生命周期</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/社区文化" data-for="Technology/ProgrammingLanguage/Python/文化/社区文化">社区文化</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/设计哲学" data-for="Technology/ProgrammingLanguage/Python/文化/设计哲学">设计哲学</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/语言特性" data-for="Technology/ProgrammingLanguage/Python/文化/语言特性">语言特性</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块"><button class="folder-button"><span class="folder-title">模块</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/WEB开发"><button class="folder-button"><span class="folder-title">WEB开发</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/WEB开发"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/WEB开发/Jinja-模板引擎" data-for="Technology/ProgrammingLanguage/Python/模块/WEB开发/Jinja-模板引擎">Jinja 模板引擎</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/数据处理"><button class="folder-button"><span class="folder-title">数据处理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/数据处理"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/数据处理/configparser-配置文件解析器" data-for="Technology/ProgrammingLanguage/Python/模块/数据处理/configparser-配置文件解析器">configparser 配置文件解析器</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/数据处理/csv-文件读写" data-for="Technology/ProgrammingLanguage/Python/模块/数据处理/csv-文件读写">csv 文件读写</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/数据处理/json-编码和解码器" data-for="Technology/ProgrammingLanguage/Python/模块/数据处理/json-编码和解码器">json 编码和解码器</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/文本处理"><button class="folder-button"><span class="folder-title">文本处理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/文本处理"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/文本处理/re-----正则表达式操作" data-for="Technology/ProgrammingLanguage/Python/模块/文本处理/re-----正则表达式操作">re --- 正则表达式操作</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/系统交互"><button class="folder-button"><span class="folder-title">系统交互</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/系统交互"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/dotenv-环境变量管理" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/dotenv-环境变量管理">dotenv 环境变量管理</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/logging-日志记录工具" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/logging-日志记录工具">logging 日志记录工具</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/loguru-日志库" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/loguru-日志库">loguru 日志库</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/os-多种操作系统接口" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/os-多种操作系统接口">os 多种操作系统接口</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/subprocess-子进程管理" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/subprocess-子进程管理">subprocess 子进程管理</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/sys-系统相关的形参和函数" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/sys-系统相关的形参和函数">sys 系统相关的形参和函数</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/网络处理"><button class="folder-button"><span class="folder-title">网络处理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/网络处理"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/网络处理/requests-HTTP-库" data-for="Technology/ProgrammingLanguage/Python/模块/网络处理/requests-HTTP-库">requests HTTP 库</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/网络处理/socket-底层网络接口" data-for="Technology/ProgrammingLanguage/Python/模块/网络处理/socket-底层网络接口">socket 底层网络接口</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/网络处理/urllib-URL-处理模块" data-for="Technology/ProgrammingLanguage/Python/模块/网络处理/urllib-URL-处理模块">urllib URL 处理模块</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/进阶"><button class="folder-button"><span class="folder-title">进阶</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/进阶"><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/函数式编程" data-for="Technology/ProgrammingLanguage/Python/进阶/函数式编程">函数式编程</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/垃圾回收" data-for="Technology/ProgrammingLanguage/Python/进阶/垃圾回收">垃圾回收</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/并行和并发" data-for="Technology/ProgrammingLanguage/Python/进阶/并行和并发">并行和并发</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/异常处理" data-for="Technology/ProgrammingLanguage/Python/进阶/异常处理">异常处理</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/数据库操作" data-for="Technology/ProgrammingLanguage/Python/进阶/数据库操作">数据库操作</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/文件和IO操作" data-for="Technology/ProgrammingLanguage/Python/进阶/文件和IO操作">文件和IO操作</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/测试和调试" data-for="Technology/ProgrammingLanguage/Python/进阶/测试和调试">测试和调试</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/资源管理" data-for="Technology/ProgrammingLanguage/Python/进阶/资源管理">资源管理</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/面向对象进阶" data-for="Technology/ProgrammingLanguage/Python/进阶/面向对象进阶">面向对象</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/项目"><button class="folder-button"><span class="folder-title">项目</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/项目"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/项目/虚拟环境"><button class="folder-button"><span class="folder-title">虚拟环境</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/项目/虚拟环境"><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/pip" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/pip">pip</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/pipenv" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/pipenv">pipenv</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/poetry" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/poetry">poetry</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/pyenv" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/pyenv">pyenv</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/virtualenv" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/virtualenv">Virtualenv</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/概述" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/概述">概述</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/项目/风格指南"><button class="folder-button"><span class="folder-title">风格指南</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/项目/风格指南"><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/风格指南/风格指南" data-for="Technology/ProgrammingLanguage/Python/项目/风格指南/风格指南">Python 风格指南</a></li></ul></div></li></ul></div></li></ul></div></li><li><a href="../../../../Technology/ProgrammingLanguage/home" data-for="Technology/ProgrammingLanguage/home">程序设计语言</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/SoftwareEngineering"><button class="folder-button"><span class="folder-title">SoftwareEngineering</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/SoftwareEngineering"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/SoftwareEngineering/CI-and-CD"><button class="folder-button"><span class="folder-title">CI&amp;CD</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/SoftwareEngineering/CI-and-CD"><li><a href="../../../../Technology/SoftwareEngineering/CI-and-CD/GitHub-Actions" data-for="Technology/SoftwareEngineering/CI-and-CD/GitHub-Actions">GitHub Actions</a></li><li><a href="../../../../Technology/SoftwareEngineering/CI-and-CD/GitLab-Runner" data-for="Technology/SoftwareEngineering/CI-and-CD/GitLab-Runner">GitLab Runner</a></li><li><a href="../../../../Technology/SoftwareEngineering/CI-and-CD/Jenkins" data-for="Technology/SoftwareEngineering/CI-and-CD/Jenkins">Jenkins</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/SoftwareEngineering/协作规范"><button class="folder-button"><span class="folder-title">协作规范</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/SoftwareEngineering/协作规范"><li><a href="../../../../Technology/SoftwareEngineering/协作规范/8.交流反馈Issue" data-for="Technology/SoftwareEngineering/协作规范/8.交流反馈Issue">交流反馈Issue</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/1.关于Readme" data-for="Technology/SoftwareEngineering/协作规范/1.关于Readme">关于Readme</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/4.分支Branch" data-for="Technology/SoftwareEngineering/协作规范/4.分支Branch">分支Branch</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/2.开源协议License" data-for="Technology/SoftwareEngineering/协作规范/2.开源协议License">开源协议License</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/5.日志Commit" data-for="Technology/SoftwareEngineering/协作规范/5.日志Commit">日志Commit</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/7.注释Comments" data-for="Technology/SoftwareEngineering/协作规范/7.注释Comments">注释Comments</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/6.版本Tag" data-for="Technology/SoftwareEngineering/协作规范/6.版本Tag">版本Tag</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/3.贡献者协议Contributing" data-for="Technology/SoftwareEngineering/协作规范/3.贡献者协议Contributing">贡献者协议Contributing</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/SoftwareEngineering/技术文档"><button class="folder-button"><span class="folder-title">技术文档</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/SoftwareEngineering/技术文档"><li><a href="../../../../Technology/SoftwareEngineering/技术文档/3.命名约定" data-for="Technology/SoftwareEngineering/技术文档/3.命名约定">命名约定</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/5.文档内容" data-for="Technology/SoftwareEngineering/技术文档/5.文档内容">文档内容</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/6.文档结构" data-for="Technology/SoftwareEngineering/技术文档/6.文档结构">文档结构</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/2.标点符号" data-for="Technology/SoftwareEngineering/技术文档/2.标点符号">标点符号</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/1.简介" data-for="Technology/SoftwareEngineering/技术文档/1.简介">简介</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/4.语言风格" data-for="Technology/SoftwareEngineering/技术文档/4.语言风格">语言风格</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/7.附录资料" data-for="Technology/SoftwareEngineering/技术文档/7.附录资料">附录资料</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/StructuresAlgorithms"><button class="folder-button"><span class="folder-title">StructuresAlgorithms</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/StructuresAlgorithms"><li><a href="../../../../Technology/StructuresAlgorithms/数据结构" data-for="Technology/StructuresAlgorithms/数据结构">数据结构</a></li><li><a href="../../../../Technology/StructuresAlgorithms/算法" data-for="Technology/StructuresAlgorithms/算法">算法</a></li></ul></div></li></ul></div></li><li><div class="folder-outer "><ul style="padding-left:0;" class="content" data-folderul></ul></div></li></ul></div></li><li id="explorer-end"></li></ul></div></div><div class="recent-notes desktop-only"><h3>博客</h3><ul class="recent-ul"><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../../Personal/Blog/2024/回读者信──240816" class="internal">回读者信──240816</a></h3></div><p class="meta">2024年8月16日</p></div></li><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../../Personal/Blog/2024/乌兰哈达火山银河之旅" class="internal">乌兰哈达火山银河之旅</a></h3></div><p class="meta">2024年6月27日</p></div></li><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../../Personal/Blog/2024/冰箱,让你我错过了多少新鲜的生活?" class="internal">冰箱,让你我错过了多少新鲜的生活?</a></h3></div><p class="meta">2024年6月27日</p></div></li></ul></div></div><div class="center"><div class="page-header"><div class="popover-hint"><nav class="breadcrumb-container" aria-label="breadcrumbs"><div class="breadcrumb-element"><a href="../../../../">Home</a><p> </p></div><div class="breadcrumb-element"><a href="../../../../Technology/">Technology</a><p> </p></div><div class="breadcrumb-element"><a href="../../../../Technology/ProgrammingLanguage/">ProgrammingLanguage</a><p> </p></div><div class="breadcrumb-element"><a href="../../../../Technology/ProgrammingLanguage/Python/">Python</a><p> </p></div><div class="breadcrumb-element"><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/">进阶</a><p> </p></div><div class="breadcrumb-element"><a href>数据库操作</a></div></nav><h1 class="article-title">数据库操作</h1><p show-comma="true" class="content-meta"><span>2024年4月26日</span><span>17分钟阅读</span></p><ul class="tags"><li><a href="../../../../tags/Python/进阶" class="internal tag-link">Python/进阶</a></li><li><a href="../../../../tags/技术/程序语言" class="internal tag-link">技术/程序语言</a></li></ul></div></div><article class="popover-hint"><h2 id="python-db-api-20-规范概述">Python DB-API 2.0 规范概述<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#python-db-api-20-规范概述" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>**Python DB-API 2.0 规范是一个重要的标准,它为 Python 程序与数据库间的交互提供了一致的接口。**这个规范的目标是简化数据库编程,同时保持足够的灵活性来支持不同的数据库系统。</p>
<p>DB-API 2.0 规范定义在 Python 标准库的 <a href="https://peps.python.org/pep-0249/" class="external">PEP 249<svg aria-hidden="true" class="external-icon" viewBox="0 0 512 512"><path d="M320 0H288V64h32 82.7L201.4 265.4 178.7 288 224 333.3l22.6-22.6L448 109.3V192v32h64V192 32 0H480 320zM32 32H0V64 480v32H32 456h32V480 352 320H424v32 96H64V96h96 32V32H160 32z"></path></svg></a> 文档中。它规定了数据库驱动(或数据库模块)应遵循的接口标准,以便程序员可以使用一致的编程风格来访问不同的数据库系统。</p>
<h3 id="核心组件">核心组件<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#核心组件" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<div class="table-container"><table><thead><tr><th>组件</th><th>描述</th><th>关键方法或属性</th></tr></thead><tbody><tr><td><strong>连接对象Connection</strong></td><td>代表数据库的连接。</td><td>- <code>connect()</code>: 连接数据库。<br/>- <code>commit()</code>: 提交当前事务。<br/>- <code>rollback()</code>: 回滚当前事务。<br/>- <code>close()</code>: 关闭连接。</td></tr><tr><td><strong>游标对象Cursor</strong></td><td>用于执行查询和获取结果。</td><td>- <code>execute(sql, [parameters])</code>: 执行 SQL 语句。<br/>- <code>executemany(sql, seq_of_parameters)</code>: 执行相同的 SQL 语句多次。<br/>- <code>fetchone()</code>: 获取结果集的下一行。<br/>- <code>fetchmany(size)</code>: 获取结果集的下几行。<br/>- <code>fetchall()</code>: 获取结果集中的所有行。<br/>- <code>close()</code>: 关闭游标对象。</td></tr></tbody></table></div>
<h3 id="标准方法">标准方法<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#标准方法" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<div class="table-container"><table><thead><tr><th>方法类型</th><th>方法名</th><th>描述</th></tr></thead><tbody><tr><td><strong>连接方法</strong></td><td><code>connect()</code></td><td>连接到数据库。</td></tr><tr><td></td><td><code>commit()</code></td><td>提交当前的事务。</td></tr><tr><td></td><td><code>rollback()</code></td><td>回滚当前的事务。</td></tr><tr><td></td><td><code>close()</code></td><td>关闭数据库连接。</td></tr><tr><td><strong>游标方法</strong></td><td><code>execute(sql, [parameters])</code></td><td>执行一个 SQL 语句。</td></tr><tr><td></td><td><code>executemany(sql, seq_of_parameters)</code></td><td>执行相同的 SQL 语句多次。</td></tr><tr><td></td><td><code>fetchone()</code></td><td>从结果集中获取下一行。</td></tr><tr><td></td><td><code>fetchmany(size)</code></td><td>从结果集中获取多行。</td></tr><tr><td></td><td><code>fetchall()</code></td><td>获取结果集中的所有行。</td></tr><tr><td></td><td><code>close()</code></td><td>关闭游标对象。</td></tr></tbody></table></div>
<h3 id="标准异常">标准异常<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#标准异常" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<div class="table-container"><table><thead><tr><th>异常类别</th><th>描述</th></tr></thead><tbody><tr><td><code>Warning</code></td><td>警告类的基类,用于非致命性问题的提示。</td></tr><tr><td><code>Error</code></td><td>与数据库相关错误的基类。如果未指定具体的异常,则抛出这个错误。</td></tr><tr><td><code>InterfaceError</code></td><td>与数据库接口(而非数据库本身)相关的错误。</td></tr><tr><td><code>DatabaseError</code></td><td>数据库操作过程中发生的错误的基类。</td></tr><tr><td><code>DataError</code></td><td>数据异常,比如数值溢出、数据类型不匹配等。</td></tr><tr><td><code>OperationalError</code></td><td>数据库操作中的内部错误,如连接问题、内存分配问题等。</td></tr><tr><td><code>IntegrityError</code></td><td>数据完整性相关的错误,如外键违反等。</td></tr><tr><td><code>InternalError</code></td><td>数据库内部错误,如游标无效、事务同步失效等。</td></tr><tr><td><code>ProgrammingError</code></td><td>程序错误如表找不到、SQL 语句语法错误等。</td></tr><tr><td><code>NotSupportedError</code></td><td>当尝试使用数据库不支持的功能或 API 时抛出的错误。</td></tr></tbody></table></div>
<h2 id="python-数据库操作">Python 数据库操作<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#python-数据库操作" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>首先,需要安装对应数据库的 Python 库,例如,如果是使用 MySQL可以安装 <code>mysql-connector-python</code>。然后,可以使用如下代码连接到数据库并执行简单的 SQL 语句:</p>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 连接到 SQLite 数据库</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 如果文件不存在,会自动创建</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3.connect(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'example.db'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 创建一个游标对象,用于执行 SQL 命令</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor()</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 创建一个新表</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # IF NOT EXISTS 用于避免在表已存在时产生错误</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'''</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> CREATE TABLE IF NOT EXISTS stocks</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> (date text, trans text, symbol text, qty real, price real)</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> '''</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 插入一条记录</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;INSERT INTO stocks VALUES ('2023-11-17','BUY','AAPL',100,35.14)&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 提交当前事务</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.commit()</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 查询数据</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;SELECT * FROM stocks WHERE symbol = 'AAPL'&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(cursor.fetchall())</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 捕获任何可能发生的异常</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">except</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3.Error </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;数据库错误: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">e</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">except</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> Exception</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;非数据库错误: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">e</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">finally</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 关闭游标</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor.close()</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 关闭数据库连接</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.close()</span></span>
<span data-line> </span></code></pre></figure>
<h3 id="连接connection">连接Connection<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#连接connection" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>连接对象代表了 Python 应用程序和数据库之间的连接。通过这个连接,程序能够执行 SQL 命令、处理事务。</p>
<h4 id="创建连接">创建连接<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#创建连接" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<ul>
<li>连接是通过调用特定数据库模块的 <code>connect()</code> 函数创建的。</li>
<li>这个函数通常需要数据库特定的参数,如主机名、数据库名、用户名和密码。</li>
</ul>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 创建连接到 SQLite 数据库文件 'example.db'</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">conn </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3.connect(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'example.db'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></figure>
<h4 id="关键特性和方法">关键特性和方法<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#关键特性和方法" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<ol>
<li><strong>事务处理</strong>
<ul>
<li><code>commit()</code>: 提交当前事务。在执行如 INSERT、UPDATE、DELETE 等操作后,需要调用此方法以确保更改被保存。</li>
<li><code>rollback()</code>: 回滚当前事务。在遇到错误或需要撤销更改时使用。</li>
</ul>
</li>
<li><strong>连接管理</strong>
<ul>
<li><code>close()</code>: 关闭连接。关闭后,连接对象和其下所有的游标将不可用。</li>
</ul>
</li>
<li><strong>错误处理</strong>
<ul>
<li>连接操作可能会抛出 DB-API 定义的异常,如 <code>InterfaceError</code><code>DatabaseError</code></li>
</ul>
</li>
</ol>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 执行数据库操作</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.commit() </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 提交事务</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">except</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> Exception</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.rollback() </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 回滚事务</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> raise</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">finally</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.close() </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 关闭连接</span></span></code></pre></figure>
<p>Python 进行数据库操作务必管理好数据库连接的生命周期。使用完毕后应及时关闭,避免资源泄露。建议使用 Python 的上下文管理器(<code>with</code> 语句)可以自动管理连接的开启和关闭。</p>
<h3 id="游标cursor">游标Cursor<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#游标cursor" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>游标是通过连接对象创建的,用于执行 SQL 命令和处理查询结果。</p>
<h4 id="创建游标">创建游标<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#创建游标" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<ul>
<li>通过连接对象的 <code>cursor()</code> 方法创建。</li>
<li>可以创建多个游标,用于执行不同的数据库操作。</li>
</ul>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cursor </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor() </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 创建游标</span></span></code></pre></figure>
<h4 id="关键特性和方法-1">关键特性和方法<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#关键特性和方法-1" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<ol>
<li><strong>执行 SQL 命令</strong>
<ul>
<li><code>execute(sql, [parameters])</code>: 执行单个 SQL 命令。</li>
<li><code>executemany(sql, seq_of_parameters)</code>: 执行相同 SQL 命令多次,但使用不同的参数。</li>
</ul>
</li>
<li><strong>结果处理</strong>
<ul>
<li><code>fetchone()</code>: 返回结果集的下一行。</li>
<li><code>fetchmany(size)</code>: 返回结果集的下几行。</li>
<li><code>fetchall()</code>: 返回结果集中的所有行。</li>
</ul>
</li>
<li><strong>元数据获取</strong>
<ul>
<li>游标对象提供了诸如 <code>description</code> 属性,可以用来获取查询结果的列信息。</li>
</ul>
</li>
<li><strong>游标管理</strong>
<ul>
<li><code>close()</code>: 关闭游标。关闭后,游标将不可用。</li>
</ul>
</li>
</ol>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 执行 SQL 查询</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'SELECT * FROM some_table'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 获取查询结果</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">rows </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor.fetchall() </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 获取所有行</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> row </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> rows:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(row)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 关闭游标</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cursor.close()</span></span></code></pre></figure>
<p>为避免资源占用,执行完毕后应及时关闭游标。使用参数化查询而不是字符串拼接,以防止 SQL 注入攻击。</p>
<h3 id="执行-sql-语句execute">执行 SQL 语句execute<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#执行-sql-语句execute" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>在 Python 中,使用游标对象执行 SQL 语句并处理结果。</p>
<ul>
<li>使用游标对象的 <code>execute()</code> 方法执行 SQL 语句。</li>
<li>对于查询操作(如 SELECT结果可以通过游标提供的方法获取。</li>
<li>对于非查询操作(如 INSERT、UPDATE、DELETE结果通常是影响的行数。</li>
</ul>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 执行一个查询</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'SELECT * FROM some_table'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 或者执行一个更新</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'UPDATE some_table SET column = value WHERE condition'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></figure>
<h3 id="处理结果">处理结果<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#处理结果" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<ul>
<li>使用 <code>fetchone()</code><code>fetchmany(size)</code><code>fetchall()</code> 方法获取查询结果。</li>
<li><code>fetchone()</code> 返回单行,<code>fetchmany(size)</code> 返回指定数量的行,<code>fetchall()</code> 返回所有行。</li>
</ul>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 执行查询</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'SELECT * FROM some_table'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 获取单行</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">row </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor.fetchone()</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(row)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 获取多行</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">rows </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor.fetchmany(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> row </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> rows:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(row)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 获取所有行</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">all_rows </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cursor.fetchall()</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> row </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> all_rows:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(row)</span></span></code></pre></figure>
<h3 id="错误处理">错误处理<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#错误处理" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>在 Python 数据库编程中错误处理是必不可少的部分。常见的数据库错误包括连接错误、SQL 语法错误、数据类型不匹配等。合理的错误处理可以提高程序的健壮性和用户体验。</p>
<ul>
<li>使用 <code>try-except</code> 块捕获并处理数据库异常。</li>
<li>利用 Python 的 DB-API 定义的异常类(如 <code>DatabaseError</code><code>IntegrityError</code> 等)来识别和响应特定的错误情况。</li>
</ul>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'SELECT * FROM non_existent_table'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">except</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3.DatabaseError </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Database error occurred:&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, e)</span></span></code></pre></figure>
<h4 id="调试数据库应用">调试数据库应用<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#调试数据库应用" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<ul>
<li>使用日志记录重要的操作和异常信息。</li>
<li>在开发阶段,打印或记录 SQL 语句和其参数,以便检查和调整。</li>
<li>使用交互式 Python 环境(如 IPython 或 Jupyter Notebook进行逐步执行和测试。</li>
</ul>
<h3 id="参数化查询">参数化查询<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#参数化查询" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>参数化查询是一种编写 SQL 查询的方法,可以提高安全性和灵活性。</p>
<h4 id="编写安全的-sql-查询以避免-sql-注入">编写安全的 SQL 查询以避免 SQL 注入<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#编写安全的-sql-查询以避免-sql-注入" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<p>通过使用占位符而非直接拼接字符串来构建 SQL 语句,可以有效防止 SQL 注入攻击。</p>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 错误的做法:直接字符串拼接</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">unsafe_sql </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;SELECT * FROM users WHERE name = '&quot;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> user_input </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;'&quot;</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 正确的做法:使用参数化查询</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;SELECT * FROM users WHERE name = </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">%s</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, (user_input,))</span></span></code></pre></figure>
<h4 id="使用参数而非字符串拼接">使用参数而非字符串拼接<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#使用参数而非字符串拼接" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<p>在构建 SQL 语句时,应优先考虑使用参数化查询。</p>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">user_id </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 5</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cursor.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;SELECT * FROM users WHERE id = </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">%s</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, (user_id,))</span></span></code></pre></figure>
<h3 id="事务管理">事务管理<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#事务管理" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<h3 id="基本概念acid-特性">基本概念ACID 特性)<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#基本概念acid-特性" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>事务是数据库操作的基本单位,它应满足 ACID 特性即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability</p>
<ul>
<li><strong>原子性</strong>:确保所有操作要么全部完成,要么全部不执行。</li>
<li><strong>一致性</strong>:事务完成时,数据必须处于一致状态。</li>
<li><strong>隔离性</strong>:多个事务同时进行时,一个事务的操作不应影响其他事务。</li>
<li><strong>持久性</strong>:一旦事务提交,其结果就永久保存在数据库中。</li>
</ul>
<h4 id="在-python-中进行事务控制">在 Python 中进行事务控制<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#在-python-中进行事务控制" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<p>在 Python 中事务控制通常由连接对象Connection来管理。使用 <code>commit()</code><code>rollback()</code> 方法来控制事务的提交和回滚。</p>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">conn </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3.connect(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'example.db'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 开始一个事务</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'INSERT INTO table_name VALUES (...)'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 更多数据库操作...</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 提交事务</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.commit()</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">except</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> Exception</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e:</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 出现错误,回滚事务</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.rollback()</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> raise</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">finally</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 关闭连接</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.close()</span></span></code></pre></figure>
<h3 id="数据库连接池">数据库连接池<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#数据库连接池" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<h4 id="理解数据库连接池的概念">理解数据库连接池的概念<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#理解数据库连接池的概念" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<p>数据库连接池是一种创建和管理数据库连接的技术,用于减少建立和关闭连接的开销。在高并发情况下,连接池可以显著提高性能。</p>
<h4 id="使用连接池提高性能">使用连接池提高性能<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#使用连接池提高性能" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4>
<p>在 Python 中,可以使用第三方库(如 <code>sqlalchemy.pool</code>)来实现数据库连接池。连接池管理着一组连接,当需要时分配给请求者,使用完毕后返回池中。</p>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlalchemy.pool </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> QueuePool</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlalchemy </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> create_engine</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 创建一个带连接池的引擎</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">engine </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> create_engine(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'postgresql://username:password@localhost/dbname'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">poolclass</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">QueuePool)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 使用连接</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> engine.connect() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> connection:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> result </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> connection.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;SELECT * FROM table_name&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> row </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> result:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(row)</span></span></code></pre></figure>
<h2 id="orm-工具">ORM 工具<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#orm-工具" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>在 Python 中对象关系映射Object-Relational Mapping, ORM是一种流行的技术它允许开发者以对象的形式操作数据库而无需编写 SQL 语句。ORMObject-Relational Mapping是一种<strong>将数据库表转换为程序中对象的技术</strong>,使开发者能够以面向对象的方式处理数据库。</p>
<div class="table-container"><table><thead><tr><th>ORM 库</th><th>简介</th><th>特点</th><th>适用场景</th></tr></thead><tbody><tr><td>Django ORM</td><td>Django 框架的一部分</td><td>无需编写 SQL支持多数据库丰富的查询构造器</td><td>Django 框架的 web 应用</td></tr><tr><td>SQLAlchemy</td><td>流行的独立 ORM 工具</td><td>灵活模型定义,强大查询,支持多数据库</td><td>适用于各种规模应用,特别是复杂数据库应用</td></tr><tr><td>Peewee</td><td>小巧但功能完整的 ORM 库</td><td>简单易用,学习曲线低</td><td>小型项目或简单 ORM 需求</td></tr><tr><td>Tortoise ORM</td><td>异步 ORM 库</td><td>支持异步操作,适合异步编程环境</td><td>需要高并发处理的现代 web 应用</td></tr><tr><td>Pony ORM</td><td>提供直观查询语言的 ORM 库</td><td>独特的查询语法,易于理解</td><td>寻求直观查询方式的开发者</td></tr></tbody></table></div>
<h3 id="基本的-orm-操作">基本的 ORM 操作<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#基本的-orm-操作" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3>
<p>使用 ORM 工具时,开发者定义模型(即类),这些模型映射到数据库的表。在 Python 中,常见的 ORM 工具包括 SQLAlchemy 和 Django ORM。</p>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlalchemy </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> create_engine, Column, Integer, String</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlalchemy.ext.declarative </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> declarative_base</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlalchemy.orm </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sessionmaker</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Base </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> declarative_base()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">engine </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> create_engine(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'sqlite:///example.db'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Session </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sessionmaker(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">bind</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">engine)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> User</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">Base</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> __tablename__ </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'users'</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Column(Integer, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">primary_key</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">True</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Column(String)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 创建表</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Base.metadata.create_all(engine)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 使用会话进行数据库操作</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">session </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Session()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">new_user </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> User(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'Alice'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">session.add(new_user)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">session.commit()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">session.close()</span></span></code></pre></figure>
<h2 id="项目实战">项目实战<a role="anchor" aria-hidden="true" tabindex="-1" data-no-popover="true" href="#项目实战" class="internal"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>为了将所学知识应用于实际,可以从开发一个简单的数据库应用开始。例如,创建一个图书管理系统,包括图书的添加、查询、更新和删除功能。</p>
<figure data-rehype-pretty-code-figure><pre tabindex="0" data-language="python" data-theme="github-light github-dark"><code data-language="python" data-theme="github-light github-dark" style="display:grid;"><span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Error</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> create_connection</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(db_file):</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot; 创建一个数据库连接到 SQLite 数据库 &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> None</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sqlite3.connect(db_file)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> except</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Error </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(e)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> create_table</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(conn, create_table_sql):</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot; 创建表 &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> c </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> c.execute(create_table_sql)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> except</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Error </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(e)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">():</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> database </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">pythonsqlite</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">.</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">db</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sql_create_projects_table </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot; CREATE TABLE IF NOT EXISTS projects (</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> id integer PRIMARY KEY,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> name text NOT NULL,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> begin_date text,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> end_date text</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ); &quot;&quot;&quot;</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sql_create_tasks_table </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;CREATE TABLE IF NOT EXISTS tasks (</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> id integer PRIMARY KEY,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> name text NOT NULL,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> priority integer,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> status_id integer NOT NULL,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> project_id integer NOT NULL,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> begin_date text NOT NULL,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> end_date text NOT NULL,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> FOREIGN KEY (project_id) REFERENCES projects (id)</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> );&quot;&quot;&quot;</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 创建一个数据库连接</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> create_connection(database)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 创建表</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">is</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> None</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> create_table(conn, sql_create_projects_table)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> create_table(conn, sql_create_tasks_table)</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;无法创建数据库连接。&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 插入数据</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> project </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'Cool App with SQLite &amp; Python'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2023-01-01'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2023-12-31'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> project_id </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> insert_project(conn, project)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> task_1 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'Analyze the requirements of the app'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, project_id, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2023-01-01'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2023-01-02'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> task_2 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'Confirm with user about the top priorities'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, project_id, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2023-01-03'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2023-01-05'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 插入任务</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> insert_task(conn, task_1)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> insert_task(conn, task_2)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 查询数据</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;1. 查询项目:&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> select_all_projects(conn)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;2. 查询任务:&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> select_all_tasks(conn)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 更新数据</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> update_task(conn, (</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'2023-01-04'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 删除数据</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> delete_task(conn, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 关闭连接</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.close()</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> insert_project</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(conn, project):</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 创建一个新的项目</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param conn:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param project:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :return: project id</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sql </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ''' INSERT INTO projects(name,begin_date,end_date)</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> VALUES(?,?,?) '''</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.execute(sql, project)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.commit()</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.lastrowid</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> insert_task</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(conn, task):</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 创建一个新的任务</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param conn:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param task:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :return:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sql </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ''' INSERT INTO tasks(name,priority,status_id,project_id,begin_date,end_date)</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> VALUES(?,?,?,?,?,?) '''</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.execute(sql, task)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.commit()</span></span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.lastrowid</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> select_all_projects</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(conn):</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 查询所有项目</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param conn: the Connection object</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :return:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;SELECT * FROM projects&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> rows </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.fetchall()</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> row </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> rows:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(row)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> select_all_tasks</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(conn):</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 查询所有任务</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param conn: the Connection object</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :return:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.execute(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;SELECT * FROM tasks&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> rows </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.fetchall()</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> row </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> rows:</span></span>
<span data-line><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(row)</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> update_task</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(conn, task):</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 更新任务</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param conn:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param task:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :return: project id</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sql </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ''' UPDATE tasks</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> SET priority = ? ,</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> end_date = ?</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> WHERE id = ?'''</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.execute(sql, task)</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.commit()</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> delete_task</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(conn, id):</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 删除一个任务通过任务 id</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param conn: Connection to the SQLite database</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :param id: id of the task</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :return:</span></span>
<span data-line><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sql </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'DELETE FROM tasks WHERE id=?'</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.cursor()</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cur.execute(sql, (</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,))</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> conn.commit()</span></span>
<span data-line> </span>
<span data-line><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">if</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> __name__</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> ==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> '__main__'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span data-line><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> main()</span></span></code></pre></figure></article><hr/><div class="page-footer"></div></div><div class="right sidebar"><div class="graph"><h3>关系图谱</h3><div class="graph-outer"><div id="graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:1,&quot;scale&quot;:1.1,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[],&quot;focusOnHover&quot;:false}"></div><button id="global-graph-icon" aria-label="Global Graph"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xml:space="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></button></div><div id="global-graph-outer"><div id="global-graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:-1,&quot;scale&quot;:0.9,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[],&quot;focusOnHover&quot;:true}"></div></div></div><div class="toc desktop-only"><button type="button" id="toc" class aria-controls="toc-content" aria-expanded="true"><h3>目录</h3><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="toc-content" class><ul class="overflow"><li class="depth-0"><a href="#python-db-api-20-规范概述" data-for="python-db-api-20-规范概述">Python DB-API 2.0 规范概述</a></li><li class="depth-1"><a href="#核心组件" data-for="核心组件">核心组件</a></li><li class="depth-1"><a href="#标准方法" data-for="标准方法">标准方法</a></li><li class="depth-1"><a href="#标准异常" data-for="标准异常">标准异常</a></li><li class="depth-0"><a href="#python-数据库操作" data-for="python-数据库操作">Python 数据库操作</a></li><li class="depth-1"><a href="#连接connection" data-for="连接connection">连接Connection</a></li><li class="depth-1"><a href="#游标cursor" data-for="游标cursor">游标Cursor</a></li><li class="depth-1"><a href="#执行-sql-语句execute" data-for="执行-sql-语句execute">执行 SQL 语句execute</a></li><li class="depth-1"><a href="#处理结果" data-for="处理结果">处理结果</a></li><li class="depth-1"><a href="#错误处理" data-for="错误处理">错误处理</a></li><li class="depth-1"><a href="#参数化查询" data-for="参数化查询">参数化查询</a></li><li class="depth-1"><a href="#事务管理" data-for="事务管理">事务管理</a></li><li class="depth-1"><a href="#基本概念acid-特性" data-for="基本概念acid-特性">基本概念ACID 特性)</a></li><li class="depth-1"><a href="#数据库连接池" data-for="数据库连接池">数据库连接池</a></li><li class="depth-0"><a href="#orm-工具" data-for="orm-工具">ORM 工具</a></li><li class="depth-1"><a href="#基本的-orm-操作" data-for="基本的-orm-操作">基本的 ORM 操作</a></li><li class="depth-0"><a href="#项目实战" data-for="项目实战">项目实战</a></li></ul></div></div><div class="explorer mobile-only"><button type="button" id="explorer" data-behavior="collapse" data-collapsed="collapsed" data-savestate="true" data-tree="[{&quot;path&quot;:&quot;Personal&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2018&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2020&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2021&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2022&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2023&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Blog/2024&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/个人成长&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/医学健康&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/历史&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/哲学宗教&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/心理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/政治军事&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/教育学习&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/文学&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/生活百科&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/社会文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/科学技术&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/经济理财&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/艺术&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Book/计算机&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W34&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W35&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W36&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W37&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W38&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W39&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W41&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W42&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W43&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W44&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W45&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W46&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W47&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W48&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W49&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2022/W50&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W2&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W3&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W5&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W6&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W7&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W8&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W10&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W12&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W14&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W16&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W22&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W23&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W24&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W25&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W26&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W31&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W32&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W33&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W35&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W36&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W37&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W40&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W45&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W46&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W48&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W49&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2023/W50&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W8&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W10&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W11&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W12&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W14&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W16&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W17&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W22&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W23&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W24&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W29&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W30&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W33&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Personal/Journal/2024/W35&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Company&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Company/数字化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Company/数字化/规范&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/data-engineer&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/full-stack&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/full-stack/基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/full-stack/工具&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/full-stack/文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/权益保障&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/求职经验&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/简历攻略&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/职业规划&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/职场心得&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/薪酬攻略&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/roadmap/面试法则&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Professional/Work/sre-engineer&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/English&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/Government&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/Government/中国&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/Government/中国/标准&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;SocialSciences/Government/中国/法律&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/CloudService&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/CloudService/基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/Nginx&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/公共服务&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/应用服务&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/网络协议&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerNetwork/网络基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/信息安全&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/信息安全/OpenPGP&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/密码学&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/用户安全&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/用户安全/权限设计&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/用户安全/用户鉴权&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/系统安全&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/系统安全/防火墙&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/网络安全&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/网络安全/OpenSSH&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerSecurity/网络安全/OpenSSL&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ComputerStorage&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/DatabaseSystem&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/DatabaseSystem/PostgreSQL&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/DatabaseSystem/SQL-语言&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/DatabaseSystem/基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/命令行工具&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/命令行工具/PowerShell&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/命令行工具/Shell&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/命令行工具/Vim&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/开源指南&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/文本处理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/版本控制&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/版本控制/Git&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/版本控制/Git/入门&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/GettingStarted/版本控制/Git/进阶&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Automation&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Docker&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Docker/基础&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Docker/进阶&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Docker/高级&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/1.文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/2.安装&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/3.基础操作&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/4.系统管理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/5.安全配置&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/6.网络管理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Linux/7.存储管理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Virtualization&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Virtualization/1.虚拟化概述&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Virtualization/2.KVM虚拟化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Windows&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/OperatingSystem/Windows/文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/入门&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/文化&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/WEB开发&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/数据处理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/文本处理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/系统交互&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/模块/网络处理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/进阶&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/项目&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/项目/虚拟环境&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/ProgrammingLanguage/Python/项目/风格指南&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/SoftwareEngineering&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/SoftwareEngineering/CI-and-CD&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/SoftwareEngineering/协作规范&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/SoftwareEngineering/技术文档&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Technology/StructuresAlgorithms&quot;,&quot;collapsed&quot;:true}]" aria-controls="explorer-content" aria-expanded="false"><h2>探索</h2><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="explorer-content"><ul class="overflow" id="explorer-ul"><li><div class="folder-outer open"><ul style="padding-left:0;" class="content" data-folderul><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal"><button class="folder-button"><span class="folder-title">Personal</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog"><button class="folder-button"><span class="folder-title">Blog</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2018"><button class="folder-button"><span class="folder-title">2018</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2018"><li><a href="../../../../Personal/Blog/2018/11月28日晚-星期三-霾" data-for="Personal/Blog/2018/11月28日晚-星期三-霾">11月28日 晚 星期三 霾</a></li><li><a href="../../../../Personal/Blog/2018/BombSquad-炸弹人小分队" data-for="Personal/Blog/2018/BombSquad-炸弹人小分队">BombSquad-炸弹人小分队</a></li><li><a href="../../../../Personal/Blog/2018/如何免费创建一个属于自己的网站" data-for="Personal/Blog/2018/如何免费创建一个属于自己的网站">如何免费创建一个属于自己的网站</a></li><li><a href="../../../../Personal/Blog/2018/英雄联盟-S8-全球总决赛" data-for="Personal/Blog/2018/英雄联盟-S8-全球总决赛">英雄联盟 S8 全球总决赛</a></li><li><a href="../../../../Personal/Blog/2018/螺蛳粉" data-for="Personal/Blog/2018/螺蛳粉">螺蛳粉</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2020"><button class="folder-button"><span class="folder-title">2020</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2020"><li><a href="../../../../Personal/Blog/2020/Don`t-Starve-饥荒" data-for="Personal/Blog/2020/Don`t-Starve-饥荒">Don't Starve-饥荒</a></li><li><a href="../../../../Personal/Blog/2020/中国传统历法" data-for="Personal/Blog/2020/中国传统历法">中国传统历法</a></li><li><a href="../../../../Personal/Blog/2020/初号机,起飞!" data-for="Personal/Blog/2020/初号机,起飞!">初号机,起飞!</a></li><li><a href="../../../../Personal/Blog/2020/吉普赛满天星" data-for="Personal/Blog/2020/吉普赛满天星">吉普赛满天星</a></li><li><a href="../../../../Personal/Blog/2020/夏日花记" data-for="Personal/Blog/2020/夏日花记">夏日花记</a></li><li><a href="../../../../Personal/Blog/2020/幸福的事情都是需要等待的" data-for="Personal/Blog/2020/幸福的事情都是需要等待的">幸福的事情都是需要等待的</a></li><li><a href="../../../../Personal/Blog/2020/开源软件之道" data-for="Personal/Blog/2020/开源软件之道">开源软件之道</a></li><li><a href="../../../../Personal/Blog/2020/我的小羊肖恩" data-for="Personal/Blog/2020/我的小羊肖恩">我的小羊肖恩</a></li><li><a href="../../../../Personal/Blog/2020/数据恢复杂谈" data-for="Personal/Blog/2020/数据恢复杂谈">数据恢复杂谈</a></li><li><a href="../../../../Personal/Blog/2020/注定不平凡的一年" data-for="Personal/Blog/2020/注定不平凡的一年">注定不平凡的一年</a></li><li><a href="../../../../Personal/Blog/2020/浅谈个人服务器架构" data-for="Personal/Blog/2020/浅谈个人服务器架构">浅谈个人服务器架构</a></li><li><a href="../../../../Personal/Blog/2020/球鞋日记" data-for="Personal/Blog/2020/球鞋日记">球鞋日记</a></li><li><a href="../../../../Personal/Blog/2020/記拾月" data-for="Personal/Blog/2020/記拾月">記拾月</a></li><li><a href="../../../../Personal/Blog/2020/长安游记" data-for="Personal/Blog/2020/长安游记">长安游记</a></li><li><a href="../../../../Personal/Blog/2020/骑行在路上" data-for="Personal/Blog/2020/骑行在路上">骑行在路上</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2021"><button class="folder-button"><span class="folder-title">2021</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2021"><li><a href="../../../../Personal/Blog/2021/2021" data-for="Personal/Blog/2021/2021">2021</a></li><li><a href="../../../../Personal/Blog/2021/VIVO-IQOO-Neo3-开箱测评" data-for="Personal/Blog/2021/VIVO-IQOO-Neo3-开箱测评">VIVO IQOO Neo3 开箱测评</a></li><li><a href="../../../../Personal/Blog/2021/上有天堂、下有苏杭" data-for="Personal/Blog/2021/上有天堂、下有苏杭">上有天堂、下有苏杭</a></li><li><a href="../../../../Personal/Blog/2021/我开发的第一款软件" data-for="Personal/Blog/2021/我开发的第一款软件">我开发的第一款软件</a></li><li><a href="../../../../Personal/Blog/2021/我站立的地方是中国" data-for="Personal/Blog/2021/我站立的地方是中国">我站立的地方是中国</a></li><li><a href="../../../../Personal/Blog/2021/我还在……" data-for="Personal/Blog/2021/我还在……">我还在……</a></li><li><a href="../../../../Personal/Blog/2021/星光不问赶路人" data-for="Personal/Blog/2021/星光不问赶路人">星光不问赶路人</a></li><li><a href="../../../../Personal/Blog/2021/济南呀济南的泰山之旅" data-for="Personal/Blog/2021/济南呀济南的泰山之旅">济南呀济南的泰山之旅</a></li><li><a href="../../../../Personal/Blog/2021/涝疫结合" data-for="Personal/Blog/2021/涝疫结合">涝疫结合</a></li><li><a href="../../../../Personal/Blog/2021/申请-Jetbrains-开源项目授权" data-for="Personal/Blog/2021/申请-Jetbrains-开源项目授权">申请 Jetbrains 开源项目授权</a></li><li><a href="../../../../Personal/Blog/2021/真·长安游记" data-for="Personal/Blog/2021/真·长安游记">真·长安游记</a></li><li><a href="../../../../Personal/Blog/2021/记拾月" data-for="Personal/Blog/2021/记拾月">记拾月</a></li><li><a href="../../../../Personal/Blog/2021/贰号机、落幕" data-for="Personal/Blog/2021/贰号机、落幕">贰号机、落幕</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2022"><button class="folder-button"><span class="folder-title">2022</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2022"><li><a href="../../../../Personal/Blog/2022/「引用」博客的本质是电线杆子" data-for="Personal/Blog/2022/「引用」博客的本质是电线杆子">「引用」博客的本质是电线杆子</a></li><li><a href="../../../../Personal/Blog/2022/2022" data-for="Personal/Blog/2022/2022">2022</a></li><li><a href="../../../../Personal/Blog/2022/Halo-主题-Redemption-首发版" data-for="Personal/Blog/2022/Halo-主题-Redemption-首发版">Halo 主题 Redemption 首发版</a></li><li><a href="../../../../Personal/Blog/2022/Hello-Halo" data-for="Personal/Blog/2022/Hello-Halo">Hello Halo</a></li><li><a href="../../../../Personal/Blog/2022/Redemption" data-for="Personal/Blog/2022/Redemption">Redemption</a></li><li><a href="../../../../Personal/Blog/2022/Redemption-主题-0.2.1-版本" data-for="Personal/Blog/2022/Redemption-主题-0.2.1-版本">Redemption 主题 0.2.1 版本</a></li><li><a href="../../../../Personal/Blog/2022/一线城市拥有一亩三分地是什么体验" data-for="Personal/Blog/2022/一线城市拥有一亩三分地是什么体验">一线城市拥有一亩三分地是什么体验</a></li><li><a href="../../../../Personal/Blog/2022/三步为你博客文章分析情感关键字" data-for="Personal/Blog/2022/三步为你博客文章分析情感关键字">三步为你博客文章分析情感关键字</a></li><li><a href="../../../../Personal/Blog/2022/不要在饿的时候吃螺蛳粉!" data-for="Personal/Blog/2022/不要在饿的时候吃螺蛳粉!">不要在饿的时候吃螺蛳粉!</a></li><li><a href="../../../../Personal/Blog/2022/习惯养成第一步" data-for="Personal/Blog/2022/习惯养成第一步">习惯养成第一步</a></li><li><a href="../../../../Personal/Blog/2022/人在囧途——青海湖" data-for="Personal/Blog/2022/人在囧途——青海湖">人在囧途——青海湖</a></li><li><a href="../../../../Personal/Blog/2022/人格类型测试" data-for="Personal/Blog/2022/人格类型测试">人格类型测试</a></li><li><a href="../../../../Personal/Blog/2022/你还记得曾经的梦想么?" data-for="Personal/Blog/2022/你还记得曾经的梦想么?">你还记得曾经的梦想么?</a></li><li><a href="../../../../Personal/Blog/2022/使用-Docusaurus-搭建优秀个人wiki" data-for="Personal/Blog/2022/使用-Docusaurus-搭建优秀个人wiki">使用 Docusaurus 搭建优秀个人wiki</a></li><li><a href="../../../../Personal/Blog/2022/关于感情的事情" data-for="Personal/Blog/2022/关于感情的事情">关于感情的事情</a></li><li><a href="../../../../Personal/Blog/2022/关于花" data-for="Personal/Blog/2022/关于花">关于花</a></li><li><a href="../../../../Personal/Blog/2022/关于郑州的互联网记忆" data-for="Personal/Blog/2022/关于郑州的互联网记忆">关于郑州的互联网记忆</a></li><li><a href="../../../../Personal/Blog/2022/再游嵩山" data-for="Personal/Blog/2022/再游嵩山">再游嵩山</a></li><li><a href="../../../../Personal/Blog/2022/最近在折腾什么……" data-for="Personal/Blog/2022/最近在折腾什么……">最近在折腾什么……</a></li><li><a href="../../../../Personal/Blog/2022/最近的生活" data-for="Personal/Blog/2022/最近的生活">最近的生活</a></li><li><a href="../../../../Personal/Blog/2022/写十万字的博客是一种什么感觉" data-for="Personal/Blog/2022/写十万字的博客是一种什么感觉">写十万字的博客是一种什么感觉</a></li><li><a href="../../../../Personal/Blog/2022/写博客的正确姿势---先行版" data-for="Personal/Blog/2022/写博客的正确姿势---先行版">写博客的正确姿势 - 先行版</a></li><li><a href="../../../../Personal/Blog/2022/写博客的正确姿势---测试版" data-for="Personal/Blog/2022/写博客的正确姿势---测试版">写博客的正确姿势 - 测试版</a></li><li><a href="../../../../Personal/Blog/2022/原点" data-for="Personal/Blog/2022/原点">原点</a></li><li><a href="../../../../Personal/Blog/2022/如何免费获得-Jetbrains-正版授权" data-for="Personal/Blog/2022/如何免费获得-Jetbrains-正版授权">如何免费获得 Jetbrains 正版授权</a></li><li><a href="../../../../Personal/Blog/2022/我是关系户" data-for="Personal/Blog/2022/我是关系户">我是关系户</a></li><li><a href="../../../../Personal/Blog/2022/我要拔智齿!!!" data-for="Personal/Blog/2022/我要拔智齿!!!">我要拔智齿!!!</a></li><li><a href="../../../../Personal/Blog/2022/数字文化遗产" data-for="Personal/Blog/2022/数字文化遗产">数字文化遗产</a></li><li><a href="../../../../Personal/Blog/2022/新冠笔记" data-for="Personal/Blog/2022/新冠笔记">新冠笔记</a></li><li><a href="../../../../Personal/Blog/2022/新手村村长" data-for="Personal/Blog/2022/新手村村长">新手村村长</a></li><li><a href="../../../../Personal/Blog/2022/是微风、是晚霞、是来日方长" data-for="Personal/Blog/2022/是微风、是晚霞、是来日方长">是微风、是晚霞、是来日方长</a></li><li><a href="../../../../Personal/Blog/2022/月季到了" data-for="Personal/Blog/2022/月季到了">月季到了</a></li><li><a href="../../../../Personal/Blog/2022/浅谈一下自己折腾的网站" data-for="Personal/Blog/2022/浅谈一下自己折腾的网站">浅谈一下自己折腾的网站</a></li><li><a href="../../../../Personal/Blog/2022/番茄开花啦-~" data-for="Personal/Blog/2022/番茄开花啦-~">番茄开花啦 ~</a></li><li><a href="../../../../Personal/Blog/2022/种下了一些瓜果蔬菜" data-for="Personal/Blog/2022/种下了一些瓜果蔬菜">种下了一些瓜果蔬菜</a></li><li><a href="../../../../Personal/Blog/2022/罪恶应该被遗传么" data-for="Personal/Blog/2022/罪恶应该被遗传么">罪恶应该被遗传么?</a></li><li><a href="../../../../Personal/Blog/2022/自律的痛苦······" data-for="Personal/Blog/2022/自律的痛苦······">自律的痛苦······</a></li><li><a href="../../../../Personal/Blog/2022/论成年人的睡眠" data-for="Personal/Blog/2022/论成年人的睡眠">论成年人的睡眠</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」">谈谈我的「数字文具盒」</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---NextCloud" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---NextCloud">谈谈我的「数字文具盒」 - NextCloud</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---Obsidian" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---Obsidian">谈谈我的「数字文具盒」 - Obsidian</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---心得体会" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---心得体会">谈谈我的「数字文具盒」 - 心得体会</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---数字基建" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---数字基建">谈谈我的「数字文具盒」 - 数字基建</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---生产力工具(上)" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---生产力工具(上)">谈谈我的「数字文具盒」 - 生产力工具(上)</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---生产力工具(下)" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---生产力工具(下)">谈谈我的「数字文具盒」 - 生产力工具(下)</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---番外篇" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---番外篇">谈谈我的「数字文具盒」 - 番外篇</a></li><li><a href="../../../../Personal/Blog/2022/谈谈我的「数字文具盒」---运行平台" data-for="Personal/Blog/2022/谈谈我的「数字文具盒」---运行平台">谈谈我的「数字文具盒」 - 运行平台</a></li><li><a href="../../../../Personal/Blog/2022/这个周末" data-for="Personal/Blog/2022/这个周末">这个周末</a></li><li><a href="../../../../Personal/Blog/2022/通货膨胀的猪" data-for="Personal/Blog/2022/通货膨胀的猪">通货膨胀的猪</a></li><li><a href="../../../../Personal/Blog/2022/闭门锁网" data-for="Personal/Blog/2022/闭门锁网">闭门锁网</a></li><li><a href="../../../../Personal/Blog/2022/非黑即白" data-for="Personal/Blog/2022/非黑即白">非黑即白</a></li><li><a href="../../../../Personal/Blog/2022/首页加载速度优化方案" data-for="Personal/Blog/2022/首页加载速度优化方案">首页加载速度优化方案</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2023"><button class="folder-button"><span class="folder-title">2023</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2023"><li><a href="../../../../Personal/Blog/2023/2023-年度微信读书报告" data-for="Personal/Blog/2023/2023-年度微信读书报告">2023 年度微信读书报告</a></li><li><a href="../../../../Personal/Blog/2023/Docusaurus-搭建" data-for="Personal/Blog/2023/Docusaurus-搭建">Docusaurus 搭建</a></li><li><a href="../../../../Personal/Blog/2023/Obsidian-使用-Templater-插件的个性化脚本" data-for="Personal/Blog/2023/Obsidian-使用-Templater-插件的个性化脚本">Obsidian 使用 Templater 插件的个性化脚本</a></li><li><a href="../../../../Personal/Blog/2023/YubiKey-漂流记" data-for="Personal/Blog/2023/YubiKey-漂流记">YubiKey 历险记</a></li><li><a href="../../../../Personal/Blog/2023/不要把幸福建立在别人的痛苦之上" data-for="Personal/Blog/2023/不要把幸福建立在别人的痛苦之上">不要把幸福建立在别人的痛苦之上</a></li><li><a href="../../../../Personal/Blog/2023/为什么不推开那扇门?" data-for="Personal/Blog/2023/为什么不推开那扇门?">为什么不推开那扇门?</a></li><li><a href="../../../../Personal/Blog/2023/你愿意嫁给自己么?" data-for="Personal/Blog/2023/你愿意嫁给自己么?">你愿意嫁给自己么</a></li><li><a href="../../../../Personal/Blog/2023/最近半年的生活" data-for="Personal/Blog/2023/最近半年的生活">最近半年的生活</a></li><li><a href="../../../../Personal/Blog/2023/写博客的正确姿势" data-for="Personal/Blog/2023/写博客的正确姿势">写博客的正确姿势</a></li><li><a href="../../../../Personal/Blog/2023/唯有热爱可抵岁月漫长" data-for="Personal/Blog/2023/唯有热爱可抵岁月漫长">唯有热爱、可抵岁月漫长</a></li><li><a href="../../../../Personal/Blog/2023/回首-2022-展望-2023" data-for="Personal/Blog/2023/回首-2022-展望-2023">回首 2022 展望 2023</a></li><li><a href="../../../../Personal/Blog/2023/大学回忆录" data-for="Personal/Blog/2023/大学回忆录">大学回忆录</a></li><li><a href="../../../../Personal/Blog/2023/如何不写错别字!" data-for="Personal/Blog/2023/如何不写错别字!">如何不写错别字!</a></li><li><a href="../../../../Personal/Blog/2023/如何拍好一张照片" data-for="Personal/Blog/2023/如何拍好一张照片">如何拍好一张照片</a></li><li><a href="../../../../Personal/Blog/2023/家里的三块地" data-for="Personal/Blog/2023/家里的三块地">家里的三块地</a></li><li><a href="../../../../Personal/Blog/2023/岁月是把猪饲料,把我喂的嘎嘎胖" data-for="Personal/Blog/2023/岁月是把猪饲料,把我喂的嘎嘎胖">岁月是把猪饲料,把我喂的嘎嘎胖</a></li><li><a href="../../../../Personal/Blog/2023/拾月游记" data-for="Personal/Blog/2023/拾月游记">拾月游记</a></li><li><a href="../../../../Personal/Blog/2023/揭晓你的博客一年之最,尽在-EndOfYear" data-for="Personal/Blog/2023/揭晓你的博客一年之最,尽在-EndOfYear">揭晓你的博客一年之最,尽在 EndOfYear</a></li><li><a href="../../../../Personal/Blog/2023/早起、阅读、写作、运动、冥想" data-for="Personal/Blog/2023/早起、阅读、写作、运动、冥想">早起、冥想、阅读、写作、运动</a></li><li><a href="../../../../Personal/Blog/2023/浅尝-Gitea-的-Actions" data-for="Personal/Blog/2023/浅尝-Gitea-的-Actions">浅尝 Gitea 的 Actions</a></li><li><a href="../../../../Personal/Blog/2023/独立生活能力清单" data-for="Personal/Blog/2023/独立生活能力清单">独立生活能力清单</a></li><li><a href="../../../../Personal/Blog/2023/电脑坏了,我换了-Ubuntu" data-for="Personal/Blog/2023/电脑坏了,我换了-Ubuntu">电脑坏了,我换了 Ubuntu</a></li><li><a href="../../../../Personal/Blog/2023/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治" data-for="Personal/Blog/2023/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治">看 V2Ex 的 ChatGPT 老哥浅谈办公室政治</a></li><li><a href="../../../../Personal/Blog/2023/破万卷书,行万里路!" data-for="Personal/Blog/2023/破万卷书,行万里路!">破万卷书,行万里路!</a></li><li><a href="../../../../Personal/Blog/2023/谈谈我的「数字文具盒」---个人工作流" data-for="Personal/Blog/2023/谈谈我的「数字文具盒」---个人工作流">谈谈我的「数字文具盒」 - 个人工作流</a></li><li><a href="../../../../Personal/Blog/2023/长安三万里" data-for="Personal/Blog/2023/长安三万里">长安三万里</a></li><li><a href="../../../../Personal/Blog/2023/黄山归来不看岳" data-for="Personal/Blog/2023/黄山归来不看岳">黄山归来不看岳</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Blog/2024"><button class="folder-button"><span class="folder-title">2024</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Blog/2024"><li><a href="../../../../Personal/Blog/2024/「救赎之路」更名「向阳而生」" data-for="Personal/Blog/2024/「救赎之路」更名「向阳而生」">「救赎之路」更名「向阳而生」</a></li><li><a href="../../../../Personal/Blog/2024/回顾-2023" data-for="Personal/Blog/2024/回顾-2023">2023 年终总结</a></li><li><a href="../../../../Personal/Blog/2024/2023-年终问答" data-for="Personal/Blog/2024/2023-年终问答">2023 年终问答</a></li><li><a href="../../../../Personal/Blog/2024/CityWalk——公车挑战" data-for="Personal/Blog/2024/CityWalk——公车挑战">CityWalk——公车挑战探索未知的城市</a></li><li><a href="../../../../Personal/Blog/2024/Python-项目终极部署解决方案" data-for="Personal/Blog/2024/Python-项目终极部署解决方案">Python 项目终极部署解决方案</a></li><li><a href="../../../../Personal/Blog/2024/一命二运三风水" data-for="Personal/Blog/2024/一命二运三风水">一命二运三风水</a></li><li><a href="../../../../Personal/Blog/2024/乌兰哈达火山银河之旅" data-for="Personal/Blog/2024/乌兰哈达火山银河之旅">乌兰哈达火山银河之旅</a></li><li><a href="../../../../Personal/Blog/2024/冰箱,让你我错过了多少新鲜的生活?" data-for="Personal/Blog/2024/冰箱,让你我错过了多少新鲜的生活?">冰箱,让你我错过了多少新鲜的生活?</a></li><li><a href="../../../../Personal/Blog/2024/回读者信──240816" data-for="Personal/Blog/2024/回读者信──240816">回读者信──240816</a></li><li><a href="../../../../Personal/Blog/2024/夜泊西湖听雨声" data-for="Personal/Blog/2024/夜泊西湖听雨声">夜泊西湖听雨声</a></li><li><a href="../../../../Personal/Blog/2024/如何开好一场会?" data-for="Personal/Blog/2024/如何开好一场会?">如何开好一场会?</a></li><li><a href="../../../../Personal/Blog/2024/如何打破信息茧房?" data-for="Personal/Blog/2024/如何打破信息茧房?">如何打破信息茧房?</a></li><li><a href="../../../../Personal/Blog/2024/富人的红灯与穷人的绿灯" data-for="Personal/Blog/2024/富人的红灯与穷人的绿灯">富人的红灯与穷人的绿灯</a></li><li><a href="../../../../Personal/Blog/2024/师从-ChatGPT" data-for="Personal/Blog/2024/师从-ChatGPT">师从 ChatGPT</a></li><li><a href="../../../../Personal/Blog/2024/我又从-Ubunut-换成了-Fedora" data-for="Personal/Blog/2024/我又从-Ubunut-换成了-Fedora">我又从 Ubunut 换成了 Fedora</a></li><li><a href="../../../../Personal/Blog/2024/我的一天" data-for="Personal/Blog/2024/我的一天">我的一天</a></li><li><a href="../../../../Personal/Blog/2024/打工三年记" data-for="Personal/Blog/2024/打工三年记">打工三年记</a></li><li><a href="../../../../Personal/Blog/2024/新奇的-HR-经历" data-for="Personal/Blog/2024/新奇的-HR-经历">新奇的 HR 经历</a></li><li><a href="../../../../Personal/Blog/2024/穷则独善其身,达则兼济天下" data-for="Personal/Blog/2024/穷则独善其身,达则兼济天下">穷则独善其身,达则兼济天下</a></li><li><a href="../../../../Personal/Blog/2024/继续开荒我那一亩三分地" data-for="Personal/Blog/2024/继续开荒我那一亩三分地">继续开荒我那一亩三分地</a></li><li><a href="../../../../Personal/Blog/2024/記伍月" data-for="Personal/Blog/2024/記伍月">記伍月</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book"><button class="folder-button"><span class="folder-title">Book</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/个人成长"><button class="folder-button"><span class="folder-title">个人成长</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/个人成长"><li><a href="../../../../Personal/Book/个人成长/习惯的力量(新版)" data-for="Personal/Book/个人成长/习惯的力量(新版)">习惯的力量(新版)</a></li><li><a href="../../../../Personal/Book/个人成长/以极简的方式去生活" data-for="Personal/Book/个人成长/以极简的方式去生活">以极简的方式去生活</a></li><li><a href="../../../../Personal/Book/个人成长/写出我心:普通人如何通过写作表达自己" data-for="Personal/Book/个人成长/写出我心:普通人如何通过写作表达自己">写出我心:普通人如何通过写作表达自己</a></li><li><a href="../../../../Personal/Book/个人成长/刻意练习:如何从新手到大师" data-for="Personal/Book/个人成长/刻意练习:如何从新手到大师">刻意练习:如何从新手到大师</a></li><li><a href="../../../../Personal/Book/个人成长/十分钟冥想" data-for="Personal/Book/个人成长/十分钟冥想">十分钟冥想</a></li><li><a href="../../../../Personal/Book/个人成长/即兴表达" data-for="Personal/Book/个人成长/即兴表达">即兴表达</a></li><li><a href="../../../../Personal/Book/个人成长/学习之道" data-for="Personal/Book/个人成长/学习之道">学习之道</a></li><li><a href="../../../../Personal/Book/个人成长/学会写作:自我进阶的高效方法" data-for="Personal/Book/个人成长/学会写作:自我进阶的高效方法">学会写作:自我进阶的高效方法</a></li><li><a href="../../../../Personal/Book/个人成长/底层逻辑" data-for="Personal/Book/个人成长/底层逻辑">底层逻辑</a></li><li><a href="../../../../Personal/Book/个人成长/底层逻辑:看清这个世界的底牌" data-for="Personal/Book/个人成长/底层逻辑:看清这个世界的底牌">底层逻辑:看清这个世界的底牌</a></li><li><a href="../../../../Personal/Book/个人成长/当下的力量(白金版)" data-for="Personal/Book/个人成长/当下的力量(白金版)">当下的力量(白金版)</a></li><li><a href="../../../../Personal/Book/个人成长/我的第一本人生规划手册" data-for="Personal/Book/个人成长/我的第一本人生规划手册">我的第一本人生规划手册</a></li><li><a href="../../../../Personal/Book/个人成长/超级面试官:快速提升识人技能的面试实战手册" data-for="Personal/Book/个人成长/超级面试官:快速提升识人技能的面试实战手册">超级面试官:快速提升识人技能的面试实战手册</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/医学健康"><button class="folder-button"><span class="folder-title">医学健康</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/医学健康"><li><a href="../../../../Personal/Book/医学健康/你是你吃出来的套装共2册" data-for="Personal/Book/医学健康/你是你吃出来的套装共2册">你是你吃出来的套装共2册</a></li><li><a href="../../../../Personal/Book/医学健康/小小药箱护健康教您用好家庭小药箱" data-for="Personal/Book/医学健康/小小药箱护健康教您用好家庭小药箱">小小药箱护健康教您用好家庭小药箱</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/历史"><button class="folder-button"><span class="folder-title">历史</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/历史"><li><a href="../../../../Personal/Book/历史/信息简史" data-for="Personal/Book/历史/信息简史">信息简史</a></li><li><a href="../../../../Personal/Book/历史/这里是中国2" data-for="Personal/Book/历史/这里是中国2">这里是中国2</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/哲学宗教"><button class="folder-button"><span class="folder-title">哲学宗教</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/哲学宗教"><li><a href="../../../../Personal/Book/哲学宗教/半小时漫画中国哲学史套装全2册" data-for="Personal/Book/哲学宗教/半小时漫画中国哲学史套装全2册">半小时漫画中国哲学史套装全2册</a></li><li><a href="../../../../Personal/Book/哲学宗教/第一性原理" data-for="Personal/Book/哲学宗教/第一性原理">第一性原理</a></li><li><a href="../../../../Personal/Book/哲学宗教/结构化思维" data-for="Personal/Book/哲学宗教/结构化思维">结构化思维</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/心理"><button class="folder-button"><span class="folder-title">心理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/心理"><li><a href="../../../../Personal/Book/心理/乌合之众(果麦经典)" data-for="Personal/Book/心理/乌合之众(果麦经典)">乌合之众(果麦经典)</a></li><li><a href="../../../../Personal/Book/心理/十分钟冥想" data-for="Personal/Book/心理/十分钟冥想">十分钟冥想</a></li><li><a href="../../../../Personal/Book/心理/认知觉醒:开启自我改变的原动力" data-for="Personal/Book/心理/认知觉醒:开启自我改变的原动力">认知觉醒:开启自我改变的原动力</a></li><li><a href="../../../../Personal/Book/心理/认知驱动:做成一件对他人很有用的事" data-for="Personal/Book/心理/认知驱动:做成一件对他人很有用的事">认知驱动:做成一件对他人很有用的事</a></li><li><a href="../../../../Personal/Book/心理/谈性说爱写给女性的性心理24讲" data-for="Personal/Book/心理/谈性说爱写给女性的性心理24讲">谈性说爱写给女性的性心理24讲</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/政治军事"><button class="folder-button"><span class="folder-title">政治军事</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/政治军事"><li><a href="../../../../Personal/Book/政治军事/实践论" data-for="Personal/Book/政治军事/实践论">实践论</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/教育学习"><button class="folder-button"><span class="folder-title">教育学习</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/教育学习"><li><a href="../../../../Personal/Book/教育学习/如何阅读一本书" data-for="Personal/Book/教育学习/如何阅读一本书">如何阅读一本书</a></li><li><a href="../../../../Personal/Book/教育学习/赖世雄的英语学习法" data-for="Personal/Book/教育学习/赖世雄的英语学习法">赖世雄的英语学习法</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/文学"><button class="folder-button"><span class="folder-title">文学</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/文学"><li><a href="../../../../Personal/Book/文学/凤凰项目一个IT运维的传奇故事修订版" data-for="Personal/Book/文学/凤凰项目一个IT运维的传奇故事修订版">凤凰项目一个IT运维的传奇故事修订版</a></li><li><a href="../../../../Personal/Book/文学/老舍谈写作" data-for="Personal/Book/文学/老舍谈写作">老舍谈写作</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/生活百科"><button class="folder-button"><span class="folder-title">生活百科</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/生活百科"><li><a href="../../../../Personal/Book/生活百科/聂卫平围棋教程从15级到10级" data-for="Personal/Book/生活百科/聂卫平围棋教程从15级到10级">聂卫平围棋教程从15级到10级</a></li><li><a href="../../../../Personal/Book/生活百科/聂卫平围棋教程从入门到15级" data-for="Personal/Book/生活百科/聂卫平围棋教程从入门到15级">聂卫平围棋教程从入门到15级</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/社会文化"><button class="folder-button"><span class="folder-title">社会文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/社会文化"><li><a href="../../../../Personal/Book/社会文化/人体简史" data-for="Personal/Book/社会文化/人体简史">人体简史</a></li><li><a href="../../../../Personal/Book/社会文化/你不可不知的法律常识" data-for="Personal/Book/社会文化/你不可不知的法律常识">你不可不知的法律常识</a></li><li><a href="../../../../Personal/Book/社会文化/半小时漫画《论语》" data-for="Personal/Book/社会文化/半小时漫画《论语》">半小时漫画《论语》</a></li><li><a href="../../../../Personal/Book/社会文化/民法典与百姓生活100问" data-for="Personal/Book/社会文化/民法典与百姓生活100问">民法典与百姓生活100问</a></li><li><a href="../../../../Personal/Book/社会文化/这里是中国" data-for="Personal/Book/社会文化/这里是中国">这里是中国</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/科学技术"><button class="folder-button"><span class="folder-title">科学技术</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/科学技术"><li><a href="../../../../Personal/Book/科学技术/贝尔实验室与美国革新大时代" data-for="Personal/Book/科学技术/贝尔实验室与美国革新大时代">贝尔实验室与美国革新大时代</a></li><li><a href="../../../../Personal/Book/科学技术/高性能Linux服务器运维实战shell编程、监控告警、性能优化与实战案例" data-for="Personal/Book/科学技术/高性能Linux服务器运维实战shell编程、监控告警、性能优化与实战案例">高性能Linux服务器运维实战shell编程、监控告警、性能优化与实战案例</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/经济理财"><button class="folder-button"><span class="folder-title">经济理财</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/经济理财"><li><a href="../../../../Personal/Book/经济理财/人力资源管理从入门到精通" data-for="Personal/Book/经济理财/人力资源管理从入门到精通">人力资源管理从入门到精通</a></li><li><a href="../../../../Personal/Book/经济理财/十分钟冥想" data-for="Personal/Book/经济理财/十分钟冥想">十分钟冥想</a></li><li><a href="../../../../Personal/Book/经济理财/半小时漫画股票实战法" data-for="Personal/Book/经济理财/半小时漫画股票实战法">半小时漫画股票实战法</a></li><li><a href="../../../../Personal/Book/经济理财/小米创业思考" data-for="Personal/Book/经济理财/小米创业思考">小米创业思考</a></li><li><a href="../../../../Personal/Book/经济理财/底层逻辑:半秒钟看透问题本质" data-for="Personal/Book/经济理财/底层逻辑:半秒钟看透问题本质">底层逻辑:半秒钟看透问题本质</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/艺术"><button class="folder-button"><span class="folder-title">艺术</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/艺术"><li><a href="../../../../Personal/Book/艺术/江湖丛谈(注音注释插图本)" data-for="Personal/Book/艺术/江湖丛谈(注音注释插图本)">江湖丛谈(注音注释插图本)</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Book/计算机"><button class="folder-button"><span class="folder-title">计算机</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Book/计算机"><li><a href="../../../../Personal/Book/计算机/Flask-Web开发基于Python的Web应用开发实战第2版" data-for="Personal/Book/计算机/Flask-Web开发基于Python的Web应用开发实战第2版">Flask Web开发基于Python的Web应用开发实战第2版</a></li><li><a href="../../../../Personal/Book/计算机/IT基础架构系统运维实践" data-for="Personal/Book/计算机/IT基础架构系统运维实践">IT基础架构系统运维实践</a></li><li><a href="../../../../Personal/Book/计算机/Linux命令行与shell脚本编程大全第4版" data-for="Personal/Book/计算机/Linux命令行与shell脚本编程大全第4版">Linux命令行与shell脚本编程大全第4版</a></li><li><a href="../../../../Personal/Book/计算机/Linux是怎样工作的" data-for="Personal/Book/计算机/Linux是怎样工作的">Linux是怎样工作的</a></li><li><a href="../../../../Personal/Book/计算机/Python工匠案例、技巧与工程实践" data-for="Personal/Book/计算机/Python工匠案例、技巧与工程实践">Python工匠案例、技巧与工程实践</a></li><li><a href="../../../../Personal/Book/计算机/Python编程从入门到实践第2版" data-for="Personal/Book/计算机/Python编程从入门到实践第2版">Python编程从入门到实践第2版</a></li><li><a href="../../../../Personal/Book/计算机/Python编程轻松进阶" data-for="Personal/Book/计算机/Python编程轻松进阶">Python编程轻松进阶</a></li><li><a href="../../../../Personal/Book/计算机/SQL必知必会第5版" data-for="Personal/Book/计算机/SQL必知必会第5版">SQL必知必会第5版</a></li><li><a href="../../../../Personal/Book/计算机/SREGoogle运维解密" data-for="Personal/Book/计算机/SREGoogle运维解密">SREGoogle运维解密</a></li><li><a href="../../../../Personal/Book/计算机/UNIX传奇历史与回忆" data-for="Personal/Book/计算机/UNIX传奇历史与回忆">UNIX传奇历史与回忆</a></li><li><a href="../../../../Personal/Book/计算机/VMware-vSphere-7.0云平台运维与管理第2版" data-for="Personal/Book/计算机/VMware-vSphere-7.0云平台运维与管理第2版">VMware vSphere 7.0云平台运维与管理第2版</a></li><li><a href="../../../../Personal/Book/计算机/人人都懂设计模式从生活中领悟设计模式Python实现" data-for="Personal/Book/计算机/人人都懂设计模式从生活中领悟设计模式Python实现">人人都懂设计模式从生活中领悟设计模式Python实现</a></li><li><a href="../../../../Personal/Book/计算机/从0到1HTML+CSS快速上手" data-for="Personal/Book/计算机/从0到1HTML+CSS快速上手">从0到1HTML+CSS快速上手</a></li><li><a href="../../../../Personal/Book/计算机/从0到1HTML5+CSS3修炼之道" data-for="Personal/Book/计算机/从0到1HTML5+CSS3修炼之道">从0到1HTML5+CSS3修炼之道</a></li><li><a href="../../../../Personal/Book/计算机/从0到1JavaScript-快速上手" data-for="Personal/Book/计算机/从0到1JavaScript-快速上手">从0到1JavaScript 快速上手</a></li><li><a href="../../../../Personal/Book/计算机/从0到1jQuery快速上手" data-for="Personal/Book/计算机/从0到1jQuery快速上手">从0到1jQuery快速上手</a></li><li><a href="../../../../Personal/Book/计算机/明解Python" data-for="Personal/Book/计算机/明解Python">明解Python</a></li><li><a href="../../../../Personal/Book/计算机/每天5分钟玩转Docker容器技术" data-for="Personal/Book/计算机/每天5分钟玩转Docker容器技术">每天5分钟玩转Docker容器技术</a></li><li><a href="../../../../Personal/Book/计算机/流畅的Python" data-for="Personal/Book/计算机/流畅的Python">流畅的Python</a></li><li><a href="../../../../Personal/Book/计算机/硅谷之火个人计算机的诞生与衰落第3版" data-for="Personal/Book/计算机/硅谷之火个人计算机的诞生与衰落第3版">硅谷之火个人计算机的诞生与衰落第3版</a></li><li><a href="../../../../Personal/Book/计算机/秒懂设计模式" data-for="Personal/Book/计算机/秒懂设计模式">秒懂设计模式</a></li><li><a href="../../../../Personal/Book/计算机/程序员的README" data-for="Personal/Book/计算机/程序员的README">程序员的README</a></li><li><a href="../../../../Personal/Book/计算机/精通Python设计模式第2版" data-for="Personal/Book/计算机/精通Python设计模式第2版">精通Python设计模式第2版</a></li><li><a href="../../../../Personal/Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维" data-for="Personal/Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维">网络安全等级保护2.0:定级、测评、实施与运维</a></li><li><a href="../../../../Personal/Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃" data-for="Personal/Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃">网络工程师红宝书:思科华为华三实战案例荟萃</a></li><li><a href="../../../../Personal/Book/计算机/网络是怎样连接的" data-for="Personal/Book/计算机/网络是怎样连接的">网络是怎样连接的</a></li><li><a href="../../../../Personal/Book/计算机/网络运维亲历记-(网络运维纪实文学)" data-for="Personal/Book/计算机/网络运维亲历记-(网络运维纪实文学)">网络运维亲历记 (网络运维纪实文学)</a></li><li><a href="../../../../Personal/Book/计算机/虚拟化工程师运维实战VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控" data-for="Personal/Book/计算机/虚拟化工程师运维实战VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控">虚拟化工程师运维实战VMware服务器虚拟化+Citrix桌面/应用虚拟化+Veeam备份+Zabbix监控</a></li><li><a href="../../../../Personal/Book/计算机/计算机:一部历史" data-for="Personal/Book/计算机/计算机:一部历史">计算机:一部历史</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal"><button class="folder-button"><span class="folder-title">Journal</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022"><button class="folder-button"><span class="folder-title">2022</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W34"><button class="folder-button"><span class="folder-title">W34</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W34"><li><a href="../../../../Personal/Journal/2022/W34/2022-08-24" data-for="Personal/Journal/2022/W34/2022-08-24">2022-08-24</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-08-25" data-for="Personal/Journal/2022/W34/2022-08-25">2022-08-25</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-08-26" data-for="Personal/Journal/2022/W34/2022-08-26">2022-08-26</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-08-27" data-for="Personal/Journal/2022/W34/2022-08-27">2022-08-27</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-08-28" data-for="Personal/Journal/2022/W34/2022-08-28">2022-08-28</a></li><li><a href="../../../../Personal/Journal/2022/W34/2022-W34" data-for="Personal/Journal/2022/W34/2022-W34">2022-W34</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W35"><button class="folder-button"><span class="folder-title">W35</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W35"><li><a href="../../../../Personal/Journal/2022/W35/2022-08-29" data-for="Personal/Journal/2022/W35/2022-08-29">2022-08-29</a></li><li><a href="../../../../Personal/Journal/2022/W35/2022-08-30" data-for="Personal/Journal/2022/W35/2022-08-30">2022-08-30</a></li><li><a href="../../../../Personal/Journal/2022/W35/2022-08-31" data-for="Personal/Journal/2022/W35/2022-08-31">2022-08-31</a></li><li><a href="../../../../Personal/Journal/2022/W35/2022-09-01" data-for="Personal/Journal/2022/W35/2022-09-01">2022-09-01</a></li><li><a href="../../../../Personal/Journal/2022/W35/2022-W35" data-for="Personal/Journal/2022/W35/2022-W35">2022-W35</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W36"><button class="folder-button"><span class="folder-title">W36</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W36"><li><a href="../../../../Personal/Journal/2022/W36/2022-09-05" data-for="Personal/Journal/2022/W36/2022-09-05">2022-09-05</a></li><li><a href="../../../../Personal/Journal/2022/W36/2022-09-06" data-for="Personal/Journal/2022/W36/2022-09-06">2022-09-06</a></li><li><a href="../../../../Personal/Journal/2022/W36/2022-09-07" data-for="Personal/Journal/2022/W36/2022-09-07">2022-09-07</a></li><li><a href="../../../../Personal/Journal/2022/W36/2022-09-08" data-for="Personal/Journal/2022/W36/2022-09-08">2022-09-08</a></li><li><a href="../../../../Personal/Journal/2022/W36/2022-W36" data-for="Personal/Journal/2022/W36/2022-W36">2022-W36</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W37"><button class="folder-button"><span class="folder-title">W37</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W37"><li><a href="../../../../Personal/Journal/2022/W37/2022-09-12" data-for="Personal/Journal/2022/W37/2022-09-12">2022-09-12</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-13" data-for="Personal/Journal/2022/W37/2022-09-13">2022-09-13</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-14" data-for="Personal/Journal/2022/W37/2022-09-14">2022-09-14</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-15" data-for="Personal/Journal/2022/W37/2022-09-15">2022-09-15</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-16" data-for="Personal/Journal/2022/W37/2022-09-16">2022-09-16</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-17" data-for="Personal/Journal/2022/W37/2022-09-17">2022-09-17</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-09-18" data-for="Personal/Journal/2022/W37/2022-09-18">2022-09-18</a></li><li><a href="../../../../Personal/Journal/2022/W37/2022-W37" data-for="Personal/Journal/2022/W37/2022-W37">2022-W37</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W38"><button class="folder-button"><span class="folder-title">W38</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W38"><li><a href="../../../../Personal/Journal/2022/W38/2022-09-19" data-for="Personal/Journal/2022/W38/2022-09-19">2022-09-19</a></li><li><a href="../../../../Personal/Journal/2022/W38/2022-09-20" data-for="Personal/Journal/2022/W38/2022-09-20">2022-09-20</a></li><li><a href="../../../../Personal/Journal/2022/W38/2022-09-21" data-for="Personal/Journal/2022/W38/2022-09-21">2022-09-21</a></li><li><a href="../../../../Personal/Journal/2022/W38/2022-09-22" data-for="Personal/Journal/2022/W38/2022-09-22">2022-09-22</a></li><li><a href="../../../../Personal/Journal/2022/W38/2022-W38" data-for="Personal/Journal/2022/W38/2022-W38">2022-W38</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W39"><button class="folder-button"><span class="folder-title">W39</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W39"><li><a href="../../../../Personal/Journal/2022/W39/2022-09-28" data-for="Personal/Journal/2022/W39/2022-09-28">2022-09-28</a></li><li><a href="../../../../Personal/Journal/2022/W39/2022-09-29" data-for="Personal/Journal/2022/W39/2022-09-29">2022-09-29</a></li><li><a href="../../../../Personal/Journal/2022/W39/2022-W39" data-for="Personal/Journal/2022/W39/2022-W39">2022-W39</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W41"><button class="folder-button"><span class="folder-title">W41</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W41"><li><a href="../../../../Personal/Journal/2022/W41/2022-10-10" data-for="Personal/Journal/2022/W41/2022-10-10">2022-10-10</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-11" data-for="Personal/Journal/2022/W41/2022-10-11">2022-10-11</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-12" data-for="Personal/Journal/2022/W41/2022-10-12">2022-10-12</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-13" data-for="Personal/Journal/2022/W41/2022-10-13">2022-10-13</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-14" data-for="Personal/Journal/2022/W41/2022-10-14">2022-10-14</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-10-16" data-for="Personal/Journal/2022/W41/2022-10-16">2022-10-16</a></li><li><a href="../../../../Personal/Journal/2022/W41/2022-W41" data-for="Personal/Journal/2022/W41/2022-W41">2022-W41</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W42"><button class="folder-button"><span class="folder-title">W42</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W42"><li><a href="../../../../Personal/Journal/2022/W42/2022-10-17" data-for="Personal/Journal/2022/W42/2022-10-17">2022-10-17</a></li><li><a href="../../../../Personal/Journal/2022/W42/2022-10-18" data-for="Personal/Journal/2022/W42/2022-10-18">2022-10-18</a></li><li><a href="../../../../Personal/Journal/2022/W42/2022-10-19" data-for="Personal/Journal/2022/W42/2022-10-19">2022-10-19</a></li><li><a href="../../../../Personal/Journal/2022/W42/2022-10-21" data-for="Personal/Journal/2022/W42/2022-10-21">2022-10-21</a></li><li><a href="../../../../Personal/Journal/2022/W42/2022-W42" data-for="Personal/Journal/2022/W42/2022-W42">2022-W42</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W43"><button class="folder-button"><span class="folder-title">W43</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W43"><li><a href="../../../../Personal/Journal/2022/W43/2022-10-24" data-for="Personal/Journal/2022/W43/2022-10-24">2022-10-24</a></li><li><a href="../../../../Personal/Journal/2022/W43/2022-10-26" data-for="Personal/Journal/2022/W43/2022-10-26">2022-10-26</a></li><li><a href="../../../../Personal/Journal/2022/W43/2022-W43" data-for="Personal/Journal/2022/W43/2022-W43">2022-W43</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W44"><button class="folder-button"><span class="folder-title">W44</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W44"><li><a href="../../../../Personal/Journal/2022/W44/2022-11-02" data-for="Personal/Journal/2022/W44/2022-11-02">2022-11-02</a></li><li><a href="../../../../Personal/Journal/2022/W44/2022-W44" data-for="Personal/Journal/2022/W44/2022-W44">2022-W44</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W45"><button class="folder-button"><span class="folder-title">W45</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W45"><li><a href="../../../../Personal/Journal/2022/W45/2022-11-10" data-for="Personal/Journal/2022/W45/2022-11-10">2022-11-10</a></li><li><a href="../../../../Personal/Journal/2022/W45/2022-11-11" data-for="Personal/Journal/2022/W45/2022-11-11">2022-11-11</a></li><li><a href="../../../../Personal/Journal/2022/W45/2022-11-12" data-for="Personal/Journal/2022/W45/2022-11-12">2022-11-12</a></li><li><a href="../../../../Personal/Journal/2022/W45/2022-11-13" data-for="Personal/Journal/2022/W45/2022-11-13">2022-11-13</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W46"><button class="folder-button"><span class="folder-title">W46</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W46"><li><a href="../../../../Personal/Journal/2022/W46/2022-11-18" data-for="Personal/Journal/2022/W46/2022-11-18">2022-11-18</a></li><li><a href="../../../../Personal/Journal/2022/W46/2022-11-20" data-for="Personal/Journal/2022/W46/2022-11-20">2022-11-20</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W47"><button class="folder-button"><span class="folder-title">W47</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W47"><li><a href="../../../../Personal/Journal/2022/W47/2022-11-21" data-for="Personal/Journal/2022/W47/2022-11-21">2022-11-21</a></li><li><a href="../../../../Personal/Journal/2022/W47/2022-11-22" data-for="Personal/Journal/2022/W47/2022-11-22">2022-11-22</a></li><li><a href="../../../../Personal/Journal/2022/W47/2022-W47" data-for="Personal/Journal/2022/W47/2022-W47">2022-W47</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W48"><button class="folder-button"><span class="folder-title">W48</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W48"><li><a href="../../../../Personal/Journal/2022/W48/2022-11-28" data-for="Personal/Journal/2022/W48/2022-11-28">2022-11-28</a></li><li><a href="../../../../Personal/Journal/2022/W48/2022-11-29" data-for="Personal/Journal/2022/W48/2022-11-29">2022-11-29</a></li><li><a href="../../../../Personal/Journal/2022/W48/2022-12-01" data-for="Personal/Journal/2022/W48/2022-12-01">2022-12-01</a></li><li><a href="../../../../Personal/Journal/2022/W48/2022-12-04" data-for="Personal/Journal/2022/W48/2022-12-04">2022-12-04</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W49"><button class="folder-button"><span class="folder-title">W49</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W49"><li><a href="../../../../Personal/Journal/2022/W49/2022-12-06" data-for="Personal/Journal/2022/W49/2022-12-06">2022-12-06</a></li><li><a href="../../../../Personal/Journal/2022/W49/2022-W49" data-for="Personal/Journal/2022/W49/2022-W49">2022-W49</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2022/W50"><button class="folder-button"><span class="folder-title">W50</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2022/W50"><li><a href="../../../../Personal/Journal/2022/W50/2022-12-12" data-for="Personal/Journal/2022/W50/2022-12-12">2022-12-12</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023"><button class="folder-button"><span class="folder-title">2023</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W2"><button class="folder-button"><span class="folder-title">W2</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W2"><li><a href="../../../../Personal/Journal/2023/W2/2023-W2" data-for="Personal/Journal/2023/W2/2023-W2">2023-W2</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W3"><button class="folder-button"><span class="folder-title">W3</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W3"><li><a href="../../../../Personal/Journal/2023/W3/2023-01-16" data-for="Personal/Journal/2023/W3/2023-01-16">2023-01-16</a></li><li><a href="../../../../Personal/Journal/2023/W3/2023-01-18" data-for="Personal/Journal/2023/W3/2023-01-18">2023-01-18</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W5"><button class="folder-button"><span class="folder-title">W5</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W5"><li><a href="../../../../Personal/Journal/2023/W5/2023-W5" data-for="Personal/Journal/2023/W5/2023-W5">2023-W5</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W6"><button class="folder-button"><span class="folder-title">W6</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W6"><li><a href="../../../../Personal/Journal/2023/W6/2023-W6" data-for="Personal/Journal/2023/W6/2023-W6">2023-W6</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W7"><button class="folder-button"><span class="folder-title">W7</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W7"><li><a href="../../../../Personal/Journal/2023/W7/2023-02-14" data-for="Personal/Journal/2023/W7/2023-02-14">2023-02-14</a></li><li><a href="../../../../Personal/Journal/2023/W7/2023-02-15" data-for="Personal/Journal/2023/W7/2023-02-15">2023-02-15</a></li><li><a href="../../../../Personal/Journal/2023/W7/2023-02-16" data-for="Personal/Journal/2023/W7/2023-02-16">2023-02-16</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W8"><button class="folder-button"><span class="folder-title">W8</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W8"><li><a href="../../../../Personal/Journal/2023/W8/2023-02-20" data-for="Personal/Journal/2023/W8/2023-02-20">2023-02-20</a></li><li><a href="../../../../Personal/Journal/2023/W8/2023-02-22" data-for="Personal/Journal/2023/W8/2023-02-22">2023-02-22</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W10"><button class="folder-button"><span class="folder-title">W10</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W10"><li><a href="../../../../Personal/Journal/2023/W10/2023-W10" data-for="Personal/Journal/2023/W10/2023-W10">2023-W10</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W12"><button class="folder-button"><span class="folder-title">W12</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W12"><li><a href="../../../../Personal/Journal/2023/W12/2023-03-20" data-for="Personal/Journal/2023/W12/2023-03-20">2023-03-20</a></li><li><a href="../../../../Personal/Journal/2023/W12/2023-03-21" data-for="Personal/Journal/2023/W12/2023-03-21">2023-03-21</a></li><li><a href="../../../../Personal/Journal/2023/W12/2023-W12" data-for="Personal/Journal/2023/W12/2023-W12">2023-W12</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W14"><button class="folder-button"><span class="folder-title">W14</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W14"><li><a href="../../../../Personal/Journal/2023/W14/2023-04-08" data-for="Personal/Journal/2023/W14/2023-04-08">2023-04-08</a></li><li><a href="../../../../Personal/Journal/2023/W14/2023-W14" data-for="Personal/Journal/2023/W14/2023-W14">2023-W14</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W16"><button class="folder-button"><span class="folder-title">W16</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W16"><li><a href="../../../../Personal/Journal/2023/W16/2023-04-21" data-for="Personal/Journal/2023/W16/2023-04-21">2023-04-21</a></li><li><a href="../../../../Personal/Journal/2023/W16/2023-04-23" data-for="Personal/Journal/2023/W16/2023-04-23">2023-04-23</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W22"><button class="folder-button"><span class="folder-title">W22</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W22"><li><a href="../../../../Personal/Journal/2023/W22/2023-05-31" data-for="Personal/Journal/2023/W22/2023-05-31">2023-05-31</a></li><li><a href="../../../../Personal/Journal/2023/W22/2023-06-01" data-for="Personal/Journal/2023/W22/2023-06-01">2023-06-01</a></li><li><a href="../../../../Personal/Journal/2023/W22/2023-W22" data-for="Personal/Journal/2023/W22/2023-W22">2023-W22</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W23"><button class="folder-button"><span class="folder-title">W23</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W23"><li><a href="../../../../Personal/Journal/2023/W23/2023-06-05" data-for="Personal/Journal/2023/W23/2023-06-05">2023-06-05</a></li><li><a href="../../../../Personal/Journal/2023/W23/2023-06-08" data-for="Personal/Journal/2023/W23/2023-06-08">2023-06-08</a></li><li><a href="../../../../Personal/Journal/2023/W23/2023-W23" data-for="Personal/Journal/2023/W23/2023-W23">2023-W23</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W24"><button class="folder-button"><span class="folder-title">W24</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W24"><li><a href="../../../../Personal/Journal/2023/W24/2023-06-12" data-for="Personal/Journal/2023/W24/2023-06-12">2023-06-12</a></li><li><a href="../../../../Personal/Journal/2023/W24/2023-06-13" data-for="Personal/Journal/2023/W24/2023-06-13">2023-06-13</a></li><li><a href="../../../../Personal/Journal/2023/W24/2023-06-15" data-for="Personal/Journal/2023/W24/2023-06-15">2023-06-15</a></li><li><a href="../../../../Personal/Journal/2023/W24/2023-W24" data-for="Personal/Journal/2023/W24/2023-W24">2023-W24</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W25"><button class="folder-button"><span class="folder-title">W25</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W25"><li><a href="../../../../Personal/Journal/2023/W25/2023-W25" data-for="Personal/Journal/2023/W25/2023-W25">2023-W25</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W26"><button class="folder-button"><span class="folder-title">W26</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W26"><li><a href="../../../../Personal/Journal/2023/W26/2023-06-26" data-for="Personal/Journal/2023/W26/2023-06-26">2023-06-26</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W31"><button class="folder-button"><span class="folder-title">W31</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W31"><li><a href="../../../../Personal/Journal/2023/W31/2023-W31" data-for="Personal/Journal/2023/W31/2023-W31">2023-W31</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W32"><button class="folder-button"><span class="folder-title">W32</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W32"><li><a href="../../../../Personal/Journal/2023/W32/2023-08-07" data-for="Personal/Journal/2023/W32/2023-08-07">2023-08-07</a></li><li><a href="../../../../Personal/Journal/2023/W32/2023-08-08" data-for="Personal/Journal/2023/W32/2023-08-08">2023-08-08</a></li><li><a href="../../../../Personal/Journal/2023/W32/2023-W32" data-for="Personal/Journal/2023/W32/2023-W32">2023-W32</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W33"><button class="folder-button"><span class="folder-title">W33</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W33"><li><a href="../../../../Personal/Journal/2023/W33/2023-W33" data-for="Personal/Journal/2023/W33/2023-W33">2023-W33</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W35"><button class="folder-button"><span class="folder-title">W35</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W35"><li><a href="../../../../Personal/Journal/2023/W35/2023-W35" data-for="Personal/Journal/2023/W35/2023-W35">2023-W35</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W36"><button class="folder-button"><span class="folder-title">W36</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W36"><li><a href="../../../../Personal/Journal/2023/W36/2023-W36" data-for="Personal/Journal/2023/W36/2023-W36">2023-W36</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W37"><button class="folder-button"><span class="folder-title">W37</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W37"><li><a href="../../../../Personal/Journal/2023/W37/2023-W37" data-for="Personal/Journal/2023/W37/2023-W37">2023-W37</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W40"><button class="folder-button"><span class="folder-title">W40</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W40"><li><a href="../../../../Personal/Journal/2023/W40/2023-W40" data-for="Personal/Journal/2023/W40/2023-W40">2023-W40</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W45"><button class="folder-button"><span class="folder-title">W45</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W45"><li><a href="../../../../Personal/Journal/2023/W45/2023-11-12" data-for="Personal/Journal/2023/W45/2023-11-12">2023-11-12</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W46"><button class="folder-button"><span class="folder-title">W46</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W46"><li><a href="../../../../Personal/Journal/2023/W46/2023-11-15" data-for="Personal/Journal/2023/W46/2023-11-15">2023-11-15</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W48"><button class="folder-button"><span class="folder-title">W48</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W48"><li><a href="../../../../Personal/Journal/2023/W48/2023-W48" data-for="Personal/Journal/2023/W48/2023-W48">2023-W48</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W49"><button class="folder-button"><span class="folder-title">W49</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W49"><li><a href="../../../../Personal/Journal/2023/W49/2023-12-07" data-for="Personal/Journal/2023/W49/2023-12-07">2023-12-07</a></li><li><a href="../../../../Personal/Journal/2023/W49/2023-W49" data-for="Personal/Journal/2023/W49/2023-W49">2023-W49</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2023/W50"><button class="folder-button"><span class="folder-title">W50</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2023/W50"><li><a href="../../../../Personal/Journal/2023/W50/2023-12-12" data-for="Personal/Journal/2023/W50/2023-12-12">2023-12-12</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024"><button class="folder-button"><span class="folder-title">2024</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W8"><button class="folder-button"><span class="folder-title">W8</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W8"><li><a href="../../../../Personal/Journal/2024/W8/2024-02-22" data-for="Personal/Journal/2024/W8/2024-02-22">2024-02-22</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W10"><button class="folder-button"><span class="folder-title">W10</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W10"><li><a href="../../../../Personal/Journal/2024/W10/2024-03-05" data-for="Personal/Journal/2024/W10/2024-03-05">2024-03-05</a></li><li><a href="../../../../Personal/Journal/2024/W10/2024-03-06" data-for="Personal/Journal/2024/W10/2024-03-06">2024-03-06</a></li><li><a href="../../../../Personal/Journal/2024/W10/2024-03-07" data-for="Personal/Journal/2024/W10/2024-03-07">2024-03-07</a></li><li><a href="../../../../Personal/Journal/2024/W10/2024-W10" data-for="Personal/Journal/2024/W10/2024-W10">2024-W10</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W11"><button class="folder-button"><span class="folder-title">W11</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W11"><li><a href="../../../../Personal/Journal/2024/W11/2024-03-11" data-for="Personal/Journal/2024/W11/2024-03-11">2024-03-11</a></li><li><a href="../../../../Personal/Journal/2024/W11/2024-03-12" data-for="Personal/Journal/2024/W11/2024-03-12">2024-03-12</a></li><li><a href="../../../../Personal/Journal/2024/W11/2024-03-13" data-for="Personal/Journal/2024/W11/2024-03-13">2024-03-13</a></li><li><a href="../../../../Personal/Journal/2024/W11/2024-W11" data-for="Personal/Journal/2024/W11/2024-W11">2024-W11</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W12"><button class="folder-button"><span class="folder-title">W12</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W12"><li><a href="../../../../Personal/Journal/2024/W12/2024-03-20" data-for="Personal/Journal/2024/W12/2024-03-20">2024-03-20</a></li><li><a href="../../../../Personal/Journal/2024/W12/2024-W12" data-for="Personal/Journal/2024/W12/2024-W12">2024-W12</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W14"><button class="folder-button"><span class="folder-title">W14</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W14"><li><a href="../../../../Personal/Journal/2024/W14/2024-W14" data-for="Personal/Journal/2024/W14/2024-W14">2024-W14</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W16"><button class="folder-button"><span class="folder-title">W16</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W16"><li><a href="../../../../Personal/Journal/2024/W16/2024-W16" data-for="Personal/Journal/2024/W16/2024-W16">2024-W16</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W17"><button class="folder-button"><span class="folder-title">W17</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W17"><li><a href="../../../../Personal/Journal/2024/W17/2024-04-24" data-for="Personal/Journal/2024/W17/2024-04-24">2024-04-24</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W22"><button class="folder-button"><span class="folder-title">W22</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W22"><li><a href="../../../../Personal/Journal/2024/W22/2024-06-02" data-for="Personal/Journal/2024/W22/2024-06-02">2024-06-02</a></li><li><a href="../../../../Personal/Journal/2024/W22/2024-W22" data-for="Personal/Journal/2024/W22/2024-W22">2024-W22</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W23"><button class="folder-button"><span class="folder-title">W23</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W23"><li><a href="../../../../Personal/Journal/2024/W23/2024-06-03" data-for="Personal/Journal/2024/W23/2024-06-03">2024-06-03</a></li><li><a href="../../../../Personal/Journal/2024/W23/2024-06-04" data-for="Personal/Journal/2024/W23/2024-06-04">2024-06-04</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W24"><button class="folder-button"><span class="folder-title">W24</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W24"><li><a href="../../../../Personal/Journal/2024/W24/2024-06-12" data-for="Personal/Journal/2024/W24/2024-06-12">2024-06-12</a></li><li><a href="../../../../Personal/Journal/2024/W24/2024-W24" data-for="Personal/Journal/2024/W24/2024-W24">2024-W24</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W29"><button class="folder-button"><span class="folder-title">W29</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W29"><li><a href="../../../../Personal/Journal/2024/W29/2024-W29" data-for="Personal/Journal/2024/W29/2024-W29">2024-W29</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W30"><button class="folder-button"><span class="folder-title">W30</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W30"><li><a href="../../../../Personal/Journal/2024/W30/2024-07-22" data-for="Personal/Journal/2024/W30/2024-07-22">2024-07-22</a></li><li><a href="../../../../Personal/Journal/2024/W30/2024-07-25" data-for="Personal/Journal/2024/W30/2024-07-25">2024-07-25</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W33"><button class="folder-button"><span class="folder-title">W33</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W33"><li><a href="../../../../Personal/Journal/2024/W33/2024-08-12" data-for="Personal/Journal/2024/W33/2024-08-12">2024-08-12</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Personal/Journal/2024/W35"><button class="folder-button"><span class="folder-title">W35</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Personal/Journal/2024/W35"><li><a href="../../../../Personal/Journal/2024/W35/2024-08-31" data-for="Personal/Journal/2024/W35/2024-08-31">2024-08-31</a></li></ul></div></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional"><button class="folder-button"><span class="folder-title">Professional</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Company"><button class="folder-button"><span class="folder-title">Company</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Company"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Company/数字化"><button class="folder-button"><span class="folder-title">数字化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Company/数字化"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Company/数字化/规范"><button class="folder-button"><span class="folder-title">规范</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Company/数字化/规范"><li><a href="../../../../Professional/Company/数字化/规范/企业计算机命名规范" data-for="Professional/Company/数字化/规范/企业计算机命名规范">企业计算机命名规范</a></li><li><a href="../../../../Professional/Company/数字化/规范/企业域名分配规范" data-for="Professional/Company/数字化/规范/企业域名分配规范">域名分配规范</a></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work"><button class="folder-button"><span class="folder-title">Work</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/data-engineer"><button class="folder-button"><span class="folder-title">data-engineer</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/data-engineer"><li><a href="../../../../Professional/Work/data-engineer/home" data-for="Professional/Work/data-engineer/home">数据工程师data-engineer</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/full-stack"><button class="folder-button"><span class="folder-title">full-stack</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/full-stack"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/full-stack/基础"><button class="folder-button"><span class="folder-title">基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/full-stack/基础"><li><a href="../../../../Professional/Work/full-stack/基础/CSS" data-for="Professional/Work/full-stack/基础/CSS">CSS</a></li><li><a href="../../../../Professional/Work/full-stack/基础/HTML" data-for="Professional/Work/full-stack/基础/HTML">HTML</a></li><li><a href="../../../../Professional/Work/full-stack/基础/JavaScript" data-for="Professional/Work/full-stack/基础/JavaScript">JavaScript</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/full-stack/工具"><button class="folder-button"><span class="folder-title">工具</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/full-stack/工具"><li><a href="../../../../Professional/Work/full-stack/工具/PM2-工具" data-for="Professional/Work/full-stack/工具/PM2-工具">PM2 工具</a></li><li><a href="../../../../Professional/Work/full-stack/工具/Webpack" data-for="Professional/Work/full-stack/工具/Webpack">Webpack</a></li><li><a href="../../../../Professional/Work/full-stack/工具/包管理工具" data-for="Professional/Work/full-stack/工具/包管理工具">包管理器</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/full-stack/文化"><button class="folder-button"><span class="folder-title">文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/full-stack/文化"><li><a href="../../../../Professional/Work/full-stack/文化/历史发展" data-for="Professional/Work/full-stack/文化/历史发展">历史发展</a></li><li><a href="../../../../Professional/Work/full-stack/文化/概述" data-for="Professional/Work/full-stack/文化/概述">概述</a></li><li><a href="../../../../Professional/Work/full-stack/文化/现代化开发工具链" data-for="Professional/Work/full-stack/文化/现代化开发工具链">现代化开发工具链</a></li></ul></div></li><li><a href="../../../../Professional/Work/full-stack/home" data-for="Professional/Work/full-stack/home">前端工程师Front-End Engineer</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap"><button class="folder-button"><span class="folder-title">roadmap</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/权益保障"><button class="folder-button"><span class="folder-title">权益保障</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/权益保障"><li><a href="../../../../Professional/Work/roadmap/权益保障/仲裁指南" data-for="Professional/Work/roadmap/权益保障/仲裁指南">仲裁指南</a></li><li><a href="../../../../Professional/Work/roadmap/权益保障/职场维权实战经验" data-for="Professional/Work/roadmap/权益保障/职场维权实战经验">职场维权实战经验</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/求职经验"><button class="folder-button"><span class="folder-title">求职经验</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/求职经验"><li><a href="../../../../Professional/Work/roadmap/求职经验/互联网行业-郑州" data-for="Professional/Work/roadmap/求职经验/互联网行业-郑州">互联网行业-郑州</a></li><li><a href="../../../../Professional/Work/roadmap/求职经验/写给软件工程师的建议" data-for="Professional/Work/roadmap/求职经验/写给软件工程师的建议">写给软件工程师的建议</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/简历攻略"><button class="folder-button"><span class="folder-title">简历攻略</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/简历攻略"><li><a href="../../../../Professional/Work/roadmap/简历攻略/IT-类简历" data-for="Professional/Work/roadmap/简历攻略/IT-类简历">IT 类简历</a></li><li><a href="../../../../Professional/Work/roadmap/简历攻略/简历原则" data-for="Professional/Work/roadmap/简历攻略/简历原则">简历原则</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/职业规划"><button class="folder-button"><span class="folder-title">职业规划</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/职业规划"><li><a href="../../../../Professional/Work/roadmap/职业规划/开发者职业路线图" data-for="Professional/Work/roadmap/职业规划/开发者职业路线图">开发者职业路线图</a></li><li><a href="../../../../Professional/Work/roadmap/职业规划/职业宏观规划图" data-for="Professional/Work/roadmap/职业规划/职业宏观规划图">职业宏观规划图</a></li><li><a href="../../../../Professional/Work/roadmap/职业规划/职业宏观路线图" data-for="Professional/Work/roadmap/职业规划/职业宏观路线图">职业宏观路线图</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/职场心得"><button class="folder-button"><span class="folder-title">职场心得</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/职场心得"><li><a href="../../../../Professional/Work/roadmap/职场心得/华为新员工的-8-个阶段" data-for="Professional/Work/roadmap/职场心得/华为新员工的-8-个阶段">华为新员工的 8 个阶段</a></li><li><a href="../../../../Professional/Work/roadmap/职场心得/如何平衡工作和生活" data-for="Professional/Work/roadmap/职场心得/如何平衡工作和生活">如何平衡工作和生活</a></li><li><a href="../../../../Professional/Work/roadmap/职场心得/如何度过新手村" data-for="Professional/Work/roadmap/职场心得/如何度过新手村">如何度过新手村</a></li><li><a href="../../../../Professional/Work/roadmap/职场心得/如何有效应对职场政治" data-for="Professional/Work/roadmap/职场心得/如何有效应对职场政治">如何有效应对职场政治</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/薪酬攻略"><button class="folder-button"><span class="folder-title">薪酬攻略</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/薪酬攻略"><li><a href="../../../../Professional/Work/roadmap/薪酬攻略/社会保障" data-for="Professional/Work/roadmap/薪酬攻略/社会保障">社会保障</a></li><li><a href="../../../../Professional/Work/roadmap/薪酬攻略/绩效考核" data-for="Professional/Work/roadmap/薪酬攻略/绩效考核">绩效考核</a></li><li><a href="../../../../Professional/Work/roadmap/薪酬攻略/薪酬制度" data-for="Professional/Work/roadmap/薪酬攻略/薪酬制度">薪酬制度</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/roadmap/面试法则"><button class="folder-button"><span class="folder-title">面试法则</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/roadmap/面试法则"><li><a href="../../../../Professional/Work/roadmap/面试法则/反向面试" data-for="Professional/Work/roadmap/面试法则/反向面试">反向面试</a></li><li><a href="../../../../Professional/Work/roadmap/面试法则/面试-10-大常见问题" data-for="Professional/Work/roadmap/面试法则/面试-10-大常见问题">面试 10 大常见问题</a></li></ul></div></li><li><a href="../../../../Professional/Work/roadmap/home" data-for="Professional/Work/roadmap/home">求职之路</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Professional/Work/sre-engineer"><button class="folder-button"><span class="folder-title">sre-engineer</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Professional/Work/sre-engineer"><li><a href="../../../../Professional/Work/sre-engineer/home" data-for="Professional/Work/sre-engineer/home">SRE (站点可靠性工程师)</a></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences"><button class="folder-button"><span class="folder-title">SocialSciences</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/English"><button class="folder-button"><span class="folder-title">English</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/English"><li><a href="../../../../SocialSciences/English/字母音标" data-for="SocialSciences/English/字母音标">字母音标</a></li><li><a href="../../../../SocialSciences/English/语法基础" data-for="SocialSciences/English/语法基础">语法基础</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/Government"><button class="folder-button"><span class="folder-title">Government</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/Government"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/Government/中国"><button class="folder-button"><span class="folder-title">中国</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/Government/中国"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/Government/中国/标准"><button class="folder-button"><span class="folder-title">标准</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/Government/中国/标准"><li><a href="../../../../SocialSciences/Government/中国/标准/标准组织" data-for="SocialSciences/Government/中国/标准/标准组织">标准组织</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="SocialSciences/Government/中国/法律"><button class="folder-button"><span class="folder-title">法律</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="SocialSciences/Government/中国/法律"><li><a href="../../../../SocialSciences/Government/中国/法律/法律文书" data-for="SocialSciences/Government/中国/法律/法律文书">法律文书</a></li></ul></div></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology"><button class="folder-button"><span class="folder-title">Technology</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/CloudService"><button class="folder-button"><span class="folder-title">CloudService</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/CloudService"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/CloudService/基础"><button class="folder-button"><span class="folder-title">基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/CloudService/基础"><li><a href="../../../../Technology/CloudService/基础/IT-基础架构" data-for="Technology/CloudService/基础/IT-基础架构">IT 基础架构</a></li><li><a href="../../../../Technology/CloudService/基础/云计算" data-for="Technology/CloudService/基础/云计算">云计算概述</a></li><li><a href="../../../../Technology/CloudService/基础/功能即服务FaaS" data-for="Technology/CloudService/基础/功能即服务FaaS">功能即服务FaaS</a></li><li><a href="../../../../Technology/CloudService/基础/基础架构即服务IaaS" data-for="Technology/CloudService/基础/基础架构即服务IaaS">基础架构即服务IaaS</a></li><li><a href="../../../../Technology/CloudService/基础/平台即服务PaaS" data-for="Technology/CloudService/基础/平台即服务PaaS">平台即服务PaaS</a></li><li><a href="../../../../Technology/CloudService/基础/软件即服务SaaS" data-for="Technology/CloudService/基础/软件即服务SaaS">软件即服务SaaS</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork"><button class="folder-button"><span class="folder-title">ComputerNetwork</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/Nginx"><button class="folder-button"><span class="folder-title">Nginx</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/Nginx"><li><a href="../../../../Technology/ComputerNetwork/Nginx/概述" data-for="Technology/ComputerNetwork/Nginx/概述">Nginx 概述</a></li><li><a href="../../../../Technology/ComputerNetwork/Nginx/内容缓存" data-for="Technology/ComputerNetwork/Nginx/内容缓存">内容缓存</a></li><li><a href="../../../../Technology/ComputerNetwork/Nginx/基础配置" data-for="Technology/ComputerNetwork/Nginx/基础配置">基础配置</a></li><li><a href="../../../../Technology/ComputerNetwork/Nginx/负载均衡" data-for="Technology/ComputerNetwork/Nginx/负载均衡">负载均衡</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/公共服务"><button class="folder-button"><span class="folder-title">公共服务</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/公共服务"><li><a href="../../../../Technology/ComputerNetwork/公共服务/IPv4-DNS-服务" data-for="Technology/ComputerNetwork/公共服务/IPv4-DNS-服务">IPv4 DNS 服务</a></li><li><a href="../../../../Technology/ComputerNetwork/公共服务/IPv6-DNS-服务" data-for="Technology/ComputerNetwork/公共服务/IPv6-DNS-服务">IPv6 DNS 服务</a></li><li><a href="../../../../Technology/ComputerNetwork/公共服务/Mirror-镜像站" data-for="Technology/ComputerNetwork/公共服务/Mirror-镜像站">Mirror 镜像站</a></li><li><a href="../../../../Technology/ComputerNetwork/公共服务/NTP-服务器" data-for="Technology/ComputerNetwork/公共服务/NTP-服务器">NTP 服务器</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/应用服务"><button class="folder-button"><span class="folder-title">应用服务</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/应用服务"><li><a href="../../../../Technology/ComputerNetwork/应用服务/CDN-内容分发网络" data-for="Technology/ComputerNetwork/应用服务/CDN-内容分发网络">CDN 内容分发网络</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/网络协议"><button class="folder-button"><span class="folder-title">网络协议</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/网络协议"><li><a href="../../../../Technology/ComputerNetwork/网络协议/DHCP-动态主机配置协议" data-for="Technology/ComputerNetwork/网络协议/DHCP-动态主机配置协议">DHCP 动态主机配置协议</a></li><li><a href="../../../../Technology/ComputerNetwork/网络协议/DNS-域名系统" data-for="Technology/ComputerNetwork/网络协议/DNS-域名系统">DNS 域名系统</a></li><li><a href="../../../../Technology/ComputerNetwork/网络协议/IP-网际协议" data-for="Technology/ComputerNetwork/网络协议/IP-网际协议">IP 网际协议</a></li><li><a href="../../../../Technology/ComputerNetwork/网络协议/TCP-传输控制协议" data-for="Technology/ComputerNetwork/网络协议/TCP-传输控制协议">TCP 传输控制协议</a></li><li><a href="../../../../Technology/ComputerNetwork/网络协议/UDP-用户数据报协议" data-for="Technology/ComputerNetwork/网络协议/UDP-用户数据报协议">UDP 用户数据报协议</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerNetwork/网络基础"><button class="folder-button"><span class="folder-title">网络基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerNetwork/网络基础"><li><a href="../../../../Technology/ComputerNetwork/网络基础/网络基础" data-for="Technology/ComputerNetwork/网络基础/网络基础">网络基础</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity"><button class="folder-button"><span class="folder-title">ComputerSecurity</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/信息安全"><button class="folder-button"><span class="folder-title">信息安全</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/信息安全"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/信息安全/OpenPGP"><button class="folder-button"><span class="folder-title">OpenPGP</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/信息安全/OpenPGP"><li><a href="../../../../Technology/ComputerSecurity/信息安全/OpenPGP/GnuPG-简明指南" data-for="Technology/ComputerSecurity/信息安全/OpenPGP/GnuPG-简明指南">GnuPG 简明指南</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/密码学"><button class="folder-button"><span class="folder-title">密码学</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/密码学"><li><a href="../../../../Technology/ComputerSecurity/密码学/简明指南" data-for="Technology/ComputerSecurity/密码学/简明指南">简明指南</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/用户安全"><button class="folder-button"><span class="folder-title">用户安全</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/用户安全"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/用户安全/权限设计"><button class="folder-button"><span class="folder-title">权限设计</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/用户安全/权限设计"><li><a href="../../../../Technology/ComputerSecurity/用户安全/权限设计/主流权限系统的设计" data-for="Technology/ComputerSecurity/用户安全/权限设计/主流权限系统的设计">主流权限系统的设计</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/用户安全/用户鉴权"><button class="folder-button"><span class="folder-title">用户鉴权</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/用户安全/用户鉴权"><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/HTTP-基本鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/HTTP-基本鉴权">HTTP 基本鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/JWTJSON-Web-Token鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/JWTJSON-Web-Token鉴权">JWT 鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/OAuth-鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/OAuth-鉴权">OAuth 鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/Session-Cookie-鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/Session-Cookie-鉴权">Session-Cookie 鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/单点登录Single-Sign-On" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/单点登录Single-Sign-On">SSO 单点登录</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/Token-鉴权" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/Token-鉴权">Token 鉴权</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/一键登录适用于原生APP" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/一键登录适用于原生APP">一键登录</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/唯一登录" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/唯一登录">唯一登录</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/扫码登录" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/扫码登录">扫码登录</a></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/用户鉴权/联合登录和信任登录" data-for="Technology/ComputerSecurity/用户安全/用户鉴权/联合登录和信任登录">联合登录和信任登录</a></li></ul></div></li><li><a href="../../../../Technology/ComputerSecurity/用户安全/简明指南" data-for="Technology/ComputerSecurity/用户安全/简明指南">简明指南</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/系统安全"><button class="folder-button"><span class="folder-title">系统安全</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/系统安全"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/系统安全/防火墙"><button class="folder-button"><span class="folder-title">防火墙</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/系统安全/防火墙"><li><a href="../../../../Technology/ComputerSecurity/系统安全/防火墙/网络端口大全" data-for="Technology/ComputerSecurity/系统安全/防火墙/网络端口大全">网络端口大全</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/网络安全"><button class="folder-button"><span class="folder-title">网络安全</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/网络安全"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/网络安全/OpenSSH"><button class="folder-button"><span class="folder-title">OpenSSH</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/网络安全/OpenSSH"><li><a href="../../../../Technology/ComputerSecurity/网络安全/OpenSSH/OpenSSH-使用方法" data-for="Technology/ComputerSecurity/网络安全/OpenSSH/OpenSSH-使用方法">OpenSSH 使用方法</a></li><li><a href="../../../../Technology/ComputerSecurity/网络安全/OpenSSH/OpenSSH-概述" data-for="Technology/ComputerSecurity/网络安全/OpenSSH/OpenSSH-概述">OpenSSH 概述</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerSecurity/网络安全/OpenSSL"><button class="folder-button"><span class="folder-title">OpenSSL</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerSecurity/网络安全/OpenSSL"><li><a href="../../../../Technology/ComputerSecurity/网络安全/OpenSSL/简明指南" data-for="Technology/ComputerSecurity/网络安全/OpenSSL/简明指南">简明指南</a></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ComputerStorage"><button class="folder-button"><span class="folder-title">ComputerStorage</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ComputerStorage"><li><a href="../../../../Technology/ComputerStorage/0.-大纲" data-for="Technology/ComputerStorage/0.-大纲">0. 大纲</a></li><li><a href="../../../../Technology/ComputerStorage/1.-存储基础" data-for="Technology/ComputerStorage/1.-存储基础">1. 存储基础</a></li><li><a href="../../../../Technology/ComputerStorage/2.-存储硬件" data-for="Technology/ComputerStorage/2.-存储硬件">2. 存储硬件</a></li><li><a href="../../../../Technology/ComputerStorage/3.-存储架构" data-for="Technology/ComputerStorage/3.-存储架构">3. 存储架构</a></li><li><a href="../../../../Technology/ComputerStorage/4.-文件系统" data-for="Technology/ComputerStorage/4.-文件系统">4. 文件系统</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/DatabaseSystem"><button class="folder-button"><span class="folder-title">DatabaseSystem</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/DatabaseSystem"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/DatabaseSystem/PostgreSQL"><button class="folder-button"><span class="folder-title">PostgreSQL</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/DatabaseSystem/PostgreSQL"><li><a href="../../../../Technology/DatabaseSystem/PostgreSQL/基本概念" data-for="Technology/DatabaseSystem/PostgreSQL/基本概念">基本概念</a></li><li><a href="../../../../Technology/DatabaseSystem/PostgreSQL/安装配置" data-for="Technology/DatabaseSystem/PostgreSQL/安装配置">安装配置</a></li><li><a href="../../../../Technology/DatabaseSystem/PostgreSQL/简介" data-for="Technology/DatabaseSystem/PostgreSQL/简介">简介</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/DatabaseSystem/SQL-语言"><button class="folder-button"><span class="folder-title">SQL 语言</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/DatabaseSystem/SQL-语言"><li><a href="../../../../Technology/DatabaseSystem/SQL-语言/基础语法" data-for="Technology/DatabaseSystem/SQL-语言/基础语法">基础语法</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/DatabaseSystem/基础"><button class="folder-button"><span class="folder-title">基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/DatabaseSystem/基础"><li><a href="../../../../Technology/DatabaseSystem/基础/关系型数据库" data-for="Technology/DatabaseSystem/基础/关系型数据库">关系型数据库</a></li><li><a href="../../../../Technology/DatabaseSystem/基础/数据库概述" data-for="Technology/DatabaseSystem/基础/数据库概述">数据库概述</a></li><li><a href="../../../../Technology/DatabaseSystem/基础/非关系型数据库" data-for="Technology/DatabaseSystem/基础/非关系型数据库">非关系型数据库</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted"><button class="folder-button"><span class="folder-title">GettingStarted</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/命令行工具"><button class="folder-button"><span class="folder-title">命令行工具</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/命令行工具"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/命令行工具/PowerShell"><button class="folder-button"><span class="folder-title">PowerShell</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/命令行工具/PowerShell"><li><a href="../../../../Technology/GettingStarted/命令行工具/PowerShell/PowerShell-入门" data-for="Technology/GettingStarted/命令行工具/PowerShell/PowerShell-入门">PowerShell 入门</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/PowerShell/PowerShell-进阶" data-for="Technology/GettingStarted/命令行工具/PowerShell/PowerShell-进阶">PowerShell 进阶</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/PowerShell/PowerShell-高级" data-for="Technology/GettingStarted/命令行工具/PowerShell/PowerShell-高级">PowerShell 高级</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/命令行工具/Shell"><button class="folder-button"><span class="folder-title">Shell</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/命令行工具/Shell"><li><a href="../../../../Technology/GettingStarted/命令行工具/Shell/Shell-命令操作" data-for="Technology/GettingStarted/命令行工具/Shell/Shell-命令操作">Linux 命令行操作</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Shell/Shell-必备锦囊" data-for="Technology/GettingStarted/命令行工具/Shell/Shell-必备锦囊">Shell 必备锦囊</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Shell/Shell-是什么" data-for="Technology/GettingStarted/命令行工具/Shell/Shell-是什么">Shell 是什么</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/命令行工具/Vim"><button class="folder-button"><span class="folder-title">Vim</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/命令行工具/Vim"><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/5.Vim-参考手册" data-for="Technology/GettingStarted/命令行工具/Vim/5.Vim-参考手册">Vim 参考手册</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/4.Vim-实用技巧" data-for="Technology/GettingStarted/命令行工具/Vim/4.Vim-实用技巧">Vim 实用技巧</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/6.Vim-帮助文档" data-for="Technology/GettingStarted/命令行工具/Vim/6.Vim-帮助文档">Vim 帮助文档</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/1.Vim-入门" data-for="Technology/GettingStarted/命令行工具/Vim/1.Vim-入门">Vim 快速入门</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/2.VIM-配置管理" data-for="Technology/GettingStarted/命令行工具/Vim/2.VIM-配置管理">VIM 配置管理</a></li><li><a href="../../../../Technology/GettingStarted/命令行工具/Vim/3.Vim-高级功能" data-for="Technology/GettingStarted/命令行工具/Vim/3.Vim-高级功能">Vim 高级功能</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/开源指南"><button class="folder-button"><span class="folder-title">开源指南</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/开源指南"><li><a href="../../../../Technology/GettingStarted/开源指南/如何向开源社区提问" data-for="Technology/GettingStarted/开源指南/如何向开源社区提问">如何向开源社区提问</a></li><li><a href="../../../../Technology/GettingStarted/开源指南/如何有效报告-BUG" data-for="Technology/GettingStarted/开源指南/如何有效报告-BUG">如何有效报告 BUG</a></li><li><a href="../../../../Technology/GettingStarted/开源指南/开源指北" data-for="Technology/GettingStarted/开源指南/开源指北">开源指北</a></li><li><a href="../../../../Technology/GettingStarted/开源指南/提问的智慧" data-for="Technology/GettingStarted/开源指南/提问的智慧">提问的智慧</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/文本处理"><button class="folder-button"><span class="folder-title">文本处理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/文本处理"><li><a href="../../../../Technology/GettingStarted/文本处理/正则表达式" data-for="Technology/GettingStarted/文本处理/正则表达式">正则表达式</a></li><li><a href="../../../../Technology/GettingStarted/文本处理/结构化文件" data-for="Technology/GettingStarted/文本处理/结构化文件">结构化文件</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/版本控制"><button class="folder-button"><span class="folder-title">版本控制</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/版本控制"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/版本控制/Git"><button class="folder-button"><span class="folder-title">Git</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/版本控制/Git"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/版本控制/Git/入门"><button class="folder-button"><span class="folder-title">入门</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/版本控制/Git/入门"><li><a href="../../../../Technology/GettingStarted/版本控制/Git/入门/分支" data-for="Technology/GettingStarted/版本控制/Git/入门/分支">分支</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/入门/协议" data-for="Technology/GettingStarted/版本控制/Git/入门/协议">协议</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/入门/基础" data-for="Technology/GettingStarted/版本控制/Git/入门/基础">基础</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/入门/起步" data-for="Technology/GettingStarted/版本控制/Git/入门/起步">起步</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/GettingStarted/版本控制/Git/进阶"><button class="folder-button"><span class="folder-title">进阶</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/GettingStarted/版本控制/Git/进阶"><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/Git-LFS" data-for="Technology/GettingStarted/版本控制/Git/进阶/Git-LFS">Git-LFS</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/参考手册" data-for="Technology/GettingStarted/版本控制/Git/进阶/参考手册">参考手册</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/工作流" data-for="Technology/GettingStarted/版本控制/Git/进阶/工作流">工作流</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/常用命令" data-for="Technology/GettingStarted/版本控制/Git/进阶/常用命令">常用命令</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/常用技巧" data-for="Technology/GettingStarted/版本控制/Git/进阶/常用技巧">常用技巧</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/思维导图" data-for="Technology/GettingStarted/版本控制/Git/进阶/思维导图">思维导图</a></li><li><a href="../../../../Technology/GettingStarted/版本控制/Git/进阶/钩子" data-for="Technology/GettingStarted/版本控制/Git/进阶/钩子">钩子</a></li></ul></div></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem"><button class="folder-button"><span class="folder-title">OperatingSystem</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Automation"><button class="folder-button"><span class="folder-title">Automation</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Automation"><li><a href="../../../../Technology/OperatingSystem/Automation/Ansible" data-for="Technology/OperatingSystem/Automation/Ansible">Ansible</a></li><li><a href="../../../../Technology/OperatingSystem/Automation/Cloud-init-快速部署" data-for="Technology/OperatingSystem/Automation/Cloud-init-快速部署">Cloud-init</a></li><li><a href="../../../../Technology/OperatingSystem/Automation/PXE--系统部署" data-for="Technology/OperatingSystem/Automation/PXE--系统部署">PXE 自动化部署</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Docker"><button class="folder-button"><span class="folder-title">Docker</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Docker"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Docker/基础"><button class="folder-button"><span class="folder-title">基础</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Docker/基础"><li><a href="../../../../Technology/OperatingSystem/Docker/基础/基础概念" data-for="Technology/OperatingSystem/Docker/基础/基础概念">基础概念</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/基础/安装配置" data-for="Technology/OperatingSystem/Docker/基础/安装配置">安装配置</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/基础/简介" data-for="Technology/OperatingSystem/Docker/基础/简介">简介</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Docker/进阶"><button class="folder-button"><span class="folder-title">进阶</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Docker/进阶"><li><a href="../../../../Technology/OperatingSystem/Docker/进阶/Docker-Compose" data-for="Technology/OperatingSystem/Docker/进阶/Docker-Compose">Docker Compose</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/进阶/Docker-Dockerfile" data-for="Technology/OperatingSystem/Docker/进阶/Docker-Dockerfile">Docker Dockerfile</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/进阶/Docker-使用" data-for="Technology/OperatingSystem/Docker/进阶/Docker-使用">Docker 使用</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Docker/高级"><button class="folder-button"><span class="folder-title">高级</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Docker/高级"><li><a href="../../../../Technology/OperatingSystem/Docker/高级/Docker-命令手册" data-for="Technology/OperatingSystem/Docker/高级/Docker-命令手册">Docker 命令手册</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/高级/Docker-存储" data-for="Technology/OperatingSystem/Docker/高级/Docker-存储">Docker 存储</a></li><li><a href="../../../../Technology/OperatingSystem/Docker/高级/Docker-网络" data-for="Technology/OperatingSystem/Docker/高级/Docker-网络">Docker 网络</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux"><button class="folder-button"><span class="folder-title">Linux</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/1.文化"><button class="folder-button"><span class="folder-title">1.文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/1.文化"><li><a href="../../../../Technology/OperatingSystem/Linux/1.文化/GNU-and-Linux-历史与发展" data-for="Technology/OperatingSystem/Linux/1.文化/GNU-and-Linux-历史与发展">GNU&amp;Linux 历史与发展</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/1.文化/GNU-and-Linux-社区与文化" data-for="Technology/OperatingSystem/Linux/1.文化/GNU-and-Linux-社区与文化">GNU&amp;Linux 社区与文化</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/1.文化/开源软件的概念与重要性" data-for="Technology/OperatingSystem/Linux/1.文化/开源软件的概念与重要性">开源软件的概念与重要性</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/2.安装"><button class="folder-button"><span class="folder-title">2.安装</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/2.安装"><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/GRUB-引导程序" data-for="Technology/OperatingSystem/Linux/2.安装/GRUB-引导程序">GRUB 引导程序</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-下-0-1-手动安装-Arch-Linux" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-下-0-1-手动安装-Arch-Linux">Linux 下 0-1 手动安装 Arch Linux</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-下源代码编译与安装实战" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-下源代码编译与安装实战">Linux 下源代码编译与安装实战</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-发行版镜像" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-发行版镜像">Linux 发行版镜像</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-安装和配置" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-安装和配置">Linux 安装和配置</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/2.安装/Linux-无法启动排查指南" data-for="Technology/OperatingSystem/Linux/2.安装/Linux-无法启动排查指南">Linux 无法启动排查指南</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/3.基础操作"><button class="folder-button"><span class="folder-title">3.基础操作</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/3.基础操作"><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Linux-包管理器" data-for="Technology/OperatingSystem/Linux/3.基础操作/Linux-包管理器">Linux 包管理器</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Shell-命令行操作" data-for="Technology/OperatingSystem/Linux/3.基础操作/Shell-命令行操作">Linux 命令行操作</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Linux-文件管理" data-for="Technology/OperatingSystem/Linux/3.基础操作/Linux-文件管理">Linux 文件管理</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Linux-环境变量" data-for="Technology/OperatingSystem/Linux/3.基础操作/Linux-环境变量">Linux 环境变量</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/3.基础操作/Linux-用户和权限" data-for="Technology/OperatingSystem/Linux/3.基础操作/Linux-用户和权限">Linux 用户和权限</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/4.系统管理"><button class="folder-button"><span class="folder-title">4.系统管理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/4.系统管理"><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-内核管理" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-内核管理">Linux 内核管理</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-基本配置" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-基本配置">Linux 基本配置</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-日志管理" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-日志管理">Linux 日志管理</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-服务管理" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-服务管理">Linux 服务管理</a></li><li><a href="../../../../Technology/OperatingSystem/Linux/4.系统管理/Linux-系统启动详解" data-for="Technology/OperatingSystem/Linux/4.系统管理/Linux-系统启动详解">Linux 服务管理</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/5.安全配置"><button class="folder-button"><span class="folder-title">5.安全配置</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/5.安全配置"><li><a href="../../../../Technology/OperatingSystem/Linux/5.安全配置/Linux-系统安全与防护" data-for="Technology/OperatingSystem/Linux/5.安全配置/Linux-系统安全与防护">Linux 系统安全与防护</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/6.网络管理"><button class="folder-button"><span class="folder-title">6.网络管理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/6.网络管理"><li><a href="../../../../Technology/OperatingSystem/Linux/6.网络管理/Linux-网络管理" data-for="Technology/OperatingSystem/Linux/6.网络管理/Linux-网络管理">Linux 网络管理</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Linux/7.存储管理"><button class="folder-button"><span class="folder-title">7.存储管理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Linux/7.存储管理"><li><a href="../../../../Technology/OperatingSystem/Linux/7.存储管理/Linux-文件系统" data-for="Technology/OperatingSystem/Linux/7.存储管理/Linux-文件系统">Linux 文件系统</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Virtualization"><button class="folder-button"><span class="folder-title">Virtualization</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Virtualization"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Virtualization/1.虚拟化概述"><button class="folder-button"><span class="folder-title">1.虚拟化概述</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Virtualization/1.虚拟化概述"><li><a href="../../../../Technology/OperatingSystem/Virtualization/1.虚拟化概述/虚拟化平台简介" data-for="Technology/OperatingSystem/Virtualization/1.虚拟化概述/虚拟化平台简介">虚拟化平台简介</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/1.虚拟化概述/虚拟化概述" data-for="Technology/OperatingSystem/Virtualization/1.虚拟化概述/虚拟化概述">虚拟化概述</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Virtualization/2.KVM虚拟化"><button class="folder-button"><span class="folder-title">2.KVM虚拟化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Virtualization/2.KVM虚拟化"><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/1.-KVM-概述" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/1.-KVM-概述">1. KVM 概述</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/2.-KVM-安装配置" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/2.-KVM-安装配置">2. KVM 安装配置</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/3.-KVM-管理工具" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/3.-KVM-管理工具">3. KVM 管理工具</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/4.-KVM-网络配置" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/4.-KVM-网络配置">4. KVM 网络配置</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/5.-KVM-存储管理" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/5.-KVM-存储管理">5. KVM 存储管理</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/6.-KVM-性能优化" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/6.-KVM-性能优化">6. KVM 性能优化</a></li><li><a href="../../../../Technology/OperatingSystem/Virtualization/2.KVM虚拟化/7.-KVM-系统监控" data-for="Technology/OperatingSystem/Virtualization/2.KVM虚拟化/7.-KVM-系统监控">7. KVM 系统监控</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Windows"><button class="folder-button"><span class="folder-title">Windows</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Windows"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/OperatingSystem/Windows/文化"><button class="folder-button"><span class="folder-title">文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/OperatingSystem/Windows/文化"><li><a href="../../../../Technology/OperatingSystem/Windows/文化/微软及其Windows系统的历史发展" data-for="Technology/OperatingSystem/Windows/文化/微软及其Windows系统的历史发展">微软及其Windows系统的历史发展</a></li></ul></div></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage"><button class="folder-button"><span class="folder-title">ProgrammingLanguage</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python"><button class="folder-button"><span class="folder-title">Python</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/入门"><button class="folder-button"><span class="folder-title">入门</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/入门"><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/函数方法" data-for="Technology/ProgrammingLanguage/Python/入门/函数方法">函数方法</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/基础语法" data-for="Technology/ProgrammingLanguage/Python/入门/基础语法">基础语法</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/控制语句" data-for="Technology/ProgrammingLanguage/Python/入门/控制语句">控制语句</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/数据类型" data-for="Technology/ProgrammingLanguage/Python/入门/数据类型">数据类型</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/数据结构" data-for="Technology/ProgrammingLanguage/Python/入门/数据结构">数据结构</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/模块和包" data-for="Technology/ProgrammingLanguage/Python/入门/模块和包">模块和包</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/入门/面对对象" data-for="Technology/ProgrammingLanguage/Python/入门/面对对象">面对对象</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/文化"><button class="folder-button"><span class="folder-title">文化</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/文化"><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/发展历史" data-for="Technology/ProgrammingLanguage/Python/文化/发展历史">发展历史</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/生命周期" data-for="Technology/ProgrammingLanguage/Python/文化/生命周期">生命周期</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/社区文化" data-for="Technology/ProgrammingLanguage/Python/文化/社区文化">社区文化</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/设计哲学" data-for="Technology/ProgrammingLanguage/Python/文化/设计哲学">设计哲学</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/文化/语言特性" data-for="Technology/ProgrammingLanguage/Python/文化/语言特性">语言特性</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块"><button class="folder-button"><span class="folder-title">模块</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/WEB开发"><button class="folder-button"><span class="folder-title">WEB开发</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/WEB开发"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/WEB开发/Jinja-模板引擎" data-for="Technology/ProgrammingLanguage/Python/模块/WEB开发/Jinja-模板引擎">Jinja 模板引擎</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/数据处理"><button class="folder-button"><span class="folder-title">数据处理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/数据处理"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/数据处理/configparser-配置文件解析器" data-for="Technology/ProgrammingLanguage/Python/模块/数据处理/configparser-配置文件解析器">configparser 配置文件解析器</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/数据处理/csv-文件读写" data-for="Technology/ProgrammingLanguage/Python/模块/数据处理/csv-文件读写">csv 文件读写</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/数据处理/json-编码和解码器" data-for="Technology/ProgrammingLanguage/Python/模块/数据处理/json-编码和解码器">json 编码和解码器</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/文本处理"><button class="folder-button"><span class="folder-title">文本处理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/文本处理"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/文本处理/re-----正则表达式操作" data-for="Technology/ProgrammingLanguage/Python/模块/文本处理/re-----正则表达式操作">re --- 正则表达式操作</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/系统交互"><button class="folder-button"><span class="folder-title">系统交互</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/系统交互"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/dotenv-环境变量管理" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/dotenv-环境变量管理">dotenv 环境变量管理</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/logging-日志记录工具" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/logging-日志记录工具">logging 日志记录工具</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/loguru-日志库" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/loguru-日志库">loguru 日志库</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/os-多种操作系统接口" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/os-多种操作系统接口">os 多种操作系统接口</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/subprocess-子进程管理" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/subprocess-子进程管理">subprocess 子进程管理</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/系统交互/sys-系统相关的形参和函数" data-for="Technology/ProgrammingLanguage/Python/模块/系统交互/sys-系统相关的形参和函数">sys 系统相关的形参和函数</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/模块/网络处理"><button class="folder-button"><span class="folder-title">网络处理</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/模块/网络处理"><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/网络处理/requests-HTTP-库" data-for="Technology/ProgrammingLanguage/Python/模块/网络处理/requests-HTTP-库">requests HTTP 库</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/网络处理/socket-底层网络接口" data-for="Technology/ProgrammingLanguage/Python/模块/网络处理/socket-底层网络接口">socket 底层网络接口</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/模块/网络处理/urllib-URL-处理模块" data-for="Technology/ProgrammingLanguage/Python/模块/网络处理/urllib-URL-处理模块">urllib URL 处理模块</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/进阶"><button class="folder-button"><span class="folder-title">进阶</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/进阶"><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/函数式编程" data-for="Technology/ProgrammingLanguage/Python/进阶/函数式编程">函数式编程</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/垃圾回收" data-for="Technology/ProgrammingLanguage/Python/进阶/垃圾回收">垃圾回收</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/并行和并发" data-for="Technology/ProgrammingLanguage/Python/进阶/并行和并发">并行和并发</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/异常处理" data-for="Technology/ProgrammingLanguage/Python/进阶/异常处理">异常处理</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/数据库操作" data-for="Technology/ProgrammingLanguage/Python/进阶/数据库操作">数据库操作</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/文件和IO操作" data-for="Technology/ProgrammingLanguage/Python/进阶/文件和IO操作">文件和IO操作</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/测试和调试" data-for="Technology/ProgrammingLanguage/Python/进阶/测试和调试">测试和调试</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/资源管理" data-for="Technology/ProgrammingLanguage/Python/进阶/资源管理">资源管理</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/进阶/面向对象进阶" data-for="Technology/ProgrammingLanguage/Python/进阶/面向对象进阶">面向对象</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/项目"><button class="folder-button"><span class="folder-title">项目</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/项目"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/项目/虚拟环境"><button class="folder-button"><span class="folder-title">虚拟环境</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/项目/虚拟环境"><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/pip" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/pip">pip</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/pipenv" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/pipenv">pipenv</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/poetry" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/poetry">poetry</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/pyenv" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/pyenv">pyenv</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/virtualenv" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/virtualenv">Virtualenv</a></li><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/虚拟环境/概述" data-for="Technology/ProgrammingLanguage/Python/项目/虚拟环境/概述">概述</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/ProgrammingLanguage/Python/项目/风格指南"><button class="folder-button"><span class="folder-title">风格指南</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/ProgrammingLanguage/Python/项目/风格指南"><li><a href="../../../../Technology/ProgrammingLanguage/Python/项目/风格指南/风格指南" data-for="Technology/ProgrammingLanguage/Python/项目/风格指南/风格指南">Python 风格指南</a></li></ul></div></li></ul></div></li></ul></div></li><li><a href="../../../../Technology/ProgrammingLanguage/home" data-for="Technology/ProgrammingLanguage/home">程序设计语言</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/SoftwareEngineering"><button class="folder-button"><span class="folder-title">SoftwareEngineering</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/SoftwareEngineering"><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/SoftwareEngineering/CI-and-CD"><button class="folder-button"><span class="folder-title">CI&amp;CD</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/SoftwareEngineering/CI-and-CD"><li><a href="../../../../Technology/SoftwareEngineering/CI-and-CD/GitHub-Actions" data-for="Technology/SoftwareEngineering/CI-and-CD/GitHub-Actions">GitHub Actions</a></li><li><a href="../../../../Technology/SoftwareEngineering/CI-and-CD/GitLab-Runner" data-for="Technology/SoftwareEngineering/CI-and-CD/GitLab-Runner">GitLab Runner</a></li><li><a href="../../../../Technology/SoftwareEngineering/CI-and-CD/Jenkins" data-for="Technology/SoftwareEngineering/CI-and-CD/Jenkins">Jenkins</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/SoftwareEngineering/协作规范"><button class="folder-button"><span class="folder-title">协作规范</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/SoftwareEngineering/协作规范"><li><a href="../../../../Technology/SoftwareEngineering/协作规范/8.交流反馈Issue" data-for="Technology/SoftwareEngineering/协作规范/8.交流反馈Issue">交流反馈Issue</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/1.关于Readme" data-for="Technology/SoftwareEngineering/协作规范/1.关于Readme">关于Readme</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/4.分支Branch" data-for="Technology/SoftwareEngineering/协作规范/4.分支Branch">分支Branch</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/2.开源协议License" data-for="Technology/SoftwareEngineering/协作规范/2.开源协议License">开源协议License</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/5.日志Commit" data-for="Technology/SoftwareEngineering/协作规范/5.日志Commit">日志Commit</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/7.注释Comments" data-for="Technology/SoftwareEngineering/协作规范/7.注释Comments">注释Comments</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/6.版本Tag" data-for="Technology/SoftwareEngineering/协作规范/6.版本Tag">版本Tag</a></li><li><a href="../../../../Technology/SoftwareEngineering/协作规范/3.贡献者协议Contributing" data-for="Technology/SoftwareEngineering/协作规范/3.贡献者协议Contributing">贡献者协议Contributing</a></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/SoftwareEngineering/技术文档"><button class="folder-button"><span class="folder-title">技术文档</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/SoftwareEngineering/技术文档"><li><a href="../../../../Technology/SoftwareEngineering/技术文档/3.命名约定" data-for="Technology/SoftwareEngineering/技术文档/3.命名约定">命名约定</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/5.文档内容" data-for="Technology/SoftwareEngineering/技术文档/5.文档内容">文档内容</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/6.文档结构" data-for="Technology/SoftwareEngineering/技术文档/6.文档结构">文档结构</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/2.标点符号" data-for="Technology/SoftwareEngineering/技术文档/2.标点符号">标点符号</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/1.简介" data-for="Technology/SoftwareEngineering/技术文档/1.简介">简介</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/4.语言风格" data-for="Technology/SoftwareEngineering/技术文档/4.语言风格">语言风格</a></li><li><a href="../../../../Technology/SoftwareEngineering/技术文档/7.附录资料" data-for="Technology/SoftwareEngineering/技术文档/7.附录资料">附录资料</a></li></ul></div></li></ul></div></li><li><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="Technology/StructuresAlgorithms"><button class="folder-button"><span class="folder-title">StructuresAlgorithms</span></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="Technology/StructuresAlgorithms"><li><a href="../../../../Technology/StructuresAlgorithms/数据结构" data-for="Technology/StructuresAlgorithms/数据结构">数据结构</a></li><li><a href="../../../../Technology/StructuresAlgorithms/算法" data-for="Technology/StructuresAlgorithms/算法">算法</a></li></ul></div></li></ul></div></li><li><div class="folder-outer "><ul style="padding-left:0;" class="content" data-folderul></ul></div></li></ul></div></li><li id="explorer-end"></li></ul></div></div></div></div><footer class><p>Created with <a href="https://quartz.jzhao.xyz/">Quartz v4.3.1</a> © 2024</p><ul><li><a href="https://www.7wate.com">Home</a></li><li><a href="https://blog.7wate.com">Blog</a></li><li><a href="https://github.com/7wate">GitHub</a></li></ul></footer></div></body><script type="application/javascript">function c(){let t=this.parentElement;t.classList.toggle("is-collapsed");let l=t.classList.contains("is-collapsed")?this.scrollHeight:t.scrollHeight;t.style.maxHeight=l+"px";let o=t,e=t.parentElement;for(;e;){if(!e.classList.contains("callout"))return;let n=e.classList.contains("is-collapsed")?e.scrollHeight:e.scrollHeight+o.scrollHeight;e.style.maxHeight=n+"px",o=e,e=e.parentElement}}function i(){let t=document.getElementsByClassName("callout is-collapsible");for(let s of t){let l=s.firstElementChild;if(l){l.addEventListener("click",c),window.addCleanup(()=>l.removeEventListener("click",c));let e=s.classList.contains("is-collapsed")?l.scrollHeight:s.scrollHeight;s.style.maxHeight=e+"px"}}}document.addEventListener("nav",i);window.addEventListener("resize",i);
</script><script type="module">
let mermaidImport = undefined
document.addEventListener('nav', async () => {
if (document.querySelector("code.mermaid")) {
mermaidImport ||= await import('https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.7.0/mermaid.esm.min.mjs')
const mermaid = mermaidImport.default
const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark'
mermaid.initialize({
startOnLoad: false,
securityLevel: 'loose',
theme: darkMode ? 'dark' : 'default'
})
await mermaid.run({
querySelector: '.mermaid'
})
}
});
</script><script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/contrib/copy-tex.min.js" type="application/javascript"></script><script src="../../../../postscript.js" type="module"></script></html>