Repository navigation
Expand file tree
/
Copy pathabout.html
More file actions
60 lines (58 loc) · 16.2 KB
/
Copy pathabout.html
File metadata and controls
60 lines (58 loc) · 16.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>关于 | 编码即是修行</title>
<meta name="description" content="关于作者">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.CeFNP6wV.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.B9sqyRAe.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.BG8d4IEm.js">
<link rel="modulepreload" href="/assets/chunks/theme.BssUsOWN.js">
<link rel="modulepreload" href="/assets/chunks/katex.DkKDou_j.js">
<link rel="modulepreload" href="/assets/chunks/dagre-KV5264BT.DHU_ZA4n.js">
<link rel="modulepreload" href="/assets/chunks/cose-bilkent-S5V4N54A.C_WiM6k8.js">
<link rel="modulepreload" href="/assets/chunks/c4Diagram-AHTNJAMY.BVopI12-.js">
<link rel="modulepreload" href="/assets/chunks/flowDiagram-DWJPFMVM.lMsPweW0.js">
<link rel="modulepreload" href="/assets/chunks/erDiagram-SMLLAGMA.D_oRQ5-p.js">
<link rel="modulepreload" href="/assets/chunks/gitGraphDiagram-UUTBAWPF.DeTzedde.js">
<link rel="modulepreload" href="/assets/chunks/ganttDiagram-T4ZO3ILL.4TPsLNzc.js">
<link rel="modulepreload" href="/assets/chunks/infoDiagram-42DDH7IO.BJo05hEB.js">
<link rel="modulepreload" href="/assets/chunks/pieDiagram-DEJITSTG.CFC2Z139.js">
<link rel="modulepreload" href="/assets/chunks/quadrantDiagram-34T5L4WZ.Dc2EOt4c.js">
<link rel="modulepreload" href="/assets/chunks/xychartDiagram-5P7HB3ND.C5UKQWzL.js">
<link rel="modulepreload" href="/assets/chunks/requirementDiagram-MS252O5E.DMI66bKa.js">
<link rel="modulepreload" href="/assets/chunks/sequenceDiagram-FGHM5R23.Dy_LDYIx.js">
<link rel="modulepreload" href="/assets/chunks/classDiagram-6PBFFD2Q.B1o9GbFA.js">
<link rel="modulepreload" href="/assets/chunks/classDiagram-v2-HSJHXN6E.B1o9GbFA.js">
<link rel="modulepreload" href="/assets/chunks/stateDiagram-FHFEXIEX.6sh_WyWz.js">
<link rel="modulepreload" href="/assets/chunks/stateDiagram-v2-QKLJ7IA2.30mQjfcs.js">
<link rel="modulepreload" href="/assets/chunks/journeyDiagram-VCZTEJTY.uYPe5fQF.js">
<link rel="modulepreload" href="/assets/chunks/timeline-definition-GMOUNBTQ.CUa4pdxF.js">
<link rel="modulepreload" href="/assets/chunks/mindmap-definition-QFDTVHPH.C2PKInqI.js">
<link rel="modulepreload" href="/assets/chunks/kanban-definition-6JOO6SKY.DierWJXE.js">
<link rel="modulepreload" href="/assets/chunks/sankeyDiagram-XADWPNL6.CdFTP92t.js">
<link rel="modulepreload" href="/assets/chunks/diagram-TYMM5635.mFD5MNLG.js">
<link rel="modulepreload" href="/assets/chunks/diagram-MMDJMWI5.DFgacZkf.js">
<link rel="modulepreload" href="/assets/chunks/blockDiagram-DXYQGD6D.DH7s925k.js">
<link rel="modulepreload" href="/assets/chunks/diagram-5BDNPKRD.BSVTK7QP.js">
<link rel="modulepreload" href="/assets/chunks/architectureDiagram-Q4EWVU46.CXLTyB2e.js">
<link rel="modulepreload" href="/assets/chunks/ishikawaDiagram-UXIWVN3A.Crw8k1eF.js">
<link rel="modulepreload" href="/assets/chunks/vennDiagram-DHZGUBPP.CY-AO9IY.js">
<link rel="modulepreload" href="/assets/chunks/diagram-G4DWMVQ6.kFCWEj6S.js">
<link rel="modulepreload" href="/assets/chunks/wardleyDiagram-NUSXRM2D.CUpOiu7E.js">
<link rel="modulepreload" href="/assets/chunks/virtual_mermaid-config.BocU5nWb.js">
<link rel="modulepreload" href="/assets/about.md.CdbENqh2.lean.js">
<link rel="icon" href="/favicon.ico">
<meta name="theme-color" content="#e8d5b7">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body><!--teleport start anchor--><div class="mobile-drawer" aria-hidden="true"><nav class="mobile-nav"><!--[--><a href="/" class=""><span class="mobile-nav-text">主页</span><span class="mobile-nav-en">home</span></a><a href="/posts" class=""><span class="mobile-nav-text">笔记</span><span class="mobile-nav-en">notes</span></a><a href="/tags" class=""><span class="mobile-nav-text">标签</span><span class="mobile-nav-en">topics</span></a><a href="/projects" class=""><span class="mobile-nav-text">项目</span><span class="mobile-nav-en">projects</span></a><a href="/about" class="active"><span class="mobile-nav-text">关于</span><span class="mobile-nav-en">about</span></a><!--]--><a href="/feed.xml" class="mobile-nav-rss"><span class="mobile-nav-text">RSS</span><span class="mobile-nav-en">feed.xml</span></a></nav></div><!--teleport anchor-->
<div id="app"><div class="zen-app" data-ink="normal"><!--[--><header class="chrome"><div class="chrome-inner"><a class="brand" href="/"><span class="seal">禅</span><span class="brand-text"><span class="brand-cn">编码即是修行</span><span class="brand-en">ZENHEART</span></span></a><nav class="nav"><!--[--><a href="/" class="">主页<span class="en">home</span></a><a href="/posts" class="">笔记<span class="en">notes</span></a><a href="/tags" class="">标签<span class="en">topics</span></a><a href="/projects" class="">项目<span class="en">projects</span></a><a href="/about" class="active">关于<span class="en">about</span></a><!--]--></nav><div class="chrome-right"><button class="icon-btn" title="搜索 (⌘K)"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.35-4.35"></path></svg></button><button class="icon-btn" title="切换主题"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></button><a class="icon-btn rss-link" href="/feed.xml" title="RSS 订阅"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle></svg></a><button class="icon-btn menu-btn" title="菜单" aria-expanded="false" aria-label="菜单"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="7" x2="20" y2="7"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="17" x2="20" y2="17"></line></svg></button></div></div></header><!--teleport start--><!--teleport end--><!--]--><main class="page"><section class="about-page"><div class="about-head"><div class="about-photo">禅</div><div><h1>zenheart</h1><div class="role">Frontend Engineer · Writer · Lifelong Learner</div><p class="bio">写代码、写博客、也写给未来的自己。关注前端工程、开发者工具、计算机基础,以及如何在信息过载的时代保持安静与专注。自 2016 年开始在此写作。</p></div></div><div class="about-section"><h2>档案 <span class="en">· Profile</span></h2><dl><div class="about-row"><dt>location</dt><dd>中国 · 武汉</dd></div><div class="about-row"><dt>focus</dt><dd>Web · Tooling · DX · Technical Writing</dd></div><div class="about-row"><dt>stack</dt><dd>TypeScript · Vue · React · Node · Build tooling</dd></div><div class="about-row"><dt>writing</dt><dd>43 篇笔记<span class="when">since 2016</span></dd></div><div class="about-row"><dt>works</dt><dd>6 open-source projects</dd></div></dl></div><div class="about-section"><h2>经历 <span class="en">· Experience</span></h2><dl><!--[--><div class="about-row"><dt>2021—now</dt><dd>Senior Frontend Engineer<span class="when">工具与工程化方向</span></dd></div><div class="about-row"><dt>2018—2021</dt><dd>Frontend Engineer<span class="when">业务中台</span></dd></div><div class="about-row"><dt>2016—2018</dt><dd>Junior Web Developer<!----></dd></div><!--]--></dl></div><!--[--><div class="about-section"><h2>写作观 <span class="en">· On Writing</span></h2><p class="about-prose">通过 Blog,把脑中混乱的信号,沉淀成语言可以承载的形状。</p></div><!--]--><div class="about-section"><h2>联系 <span class="en">· Contact</span></h2><dl><div class="about-row"><dt>github</dt><dd><a href="https://github.com/zenHeart" target="_blank" rel="noopener">@zenHeart</a></dd></div><div class="about-row"><dt>rss</dt><dd><a href="/feed.xml">/feed.xml</a></dd></div><div class="about-row"><dt>email</dt><dd style="font-family:var(--mono);font-size:13px;">hi [at] zenheart_register@163.com</dd></div></dl></div></section></main><footer class="foot"><span>© 2016—2026 zenheart</span><div><a href="https://github.com/zenHeart">GitHub</a><a href="/posts">博客</a><a href="/about">关于</a></div></footer><!----><div class="tweaks-panel"><h4>设置</h4><div class="tweaks-row"><label>墨色</label><div class="options"><!--[--><button class="">淡</button><button class="active">中</button><button class="">浓</button><!--]--></div></div></div></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"about.md\":\"CdbENqh2\",\"index.md\":\"DXRk8zHr\",\"posts.md\":\"C5Zey1QO\",\"posts_2016-08-22-bnf.md\":\"Dzznnlb7\",\"posts_2016-08-22-markdown.md\":\"CcElMN2l\",\"posts_2016-08-22-sae.md\":\"C-RypjMW\",\"posts_2016-08-22-virtual_memory.md\":\"B5_U9lju\",\"posts_2016-09-09-cygwin.md\":\"CYyUd0qo\",\"posts_2016-10-07-securecrt.md\":\"NWR1YVr6\",\"posts_2016-10-19-visio.md\":\"B1nD1kRb\",\"posts_2016-11-03-json.md\":\"C4o3flun\",\"posts_2016-11-14-wamp.md\":\"DJpD6Cyn\",\"posts_2016-12-02-putty.md\":\"Bj5nsau5\",\"posts_2016-12-18-redis.md\":\"B5jEl5pD\",\"posts_2016-12-26-baidu_map.md\":\"FdP4jxH4\",\"posts_2017-01-12-github.md\":\"DD4WwReN\",\"posts_2017-02-04-sublime.md\":\"BsnncsIe\",\"posts_2017-02-09-emmet.md\":\"BtTBioDS\",\"posts_2017-02-09-how_to_learning_language.md\":\"Cr8KhsXq\",\"posts_2017-02-22-click_through.md\":\"DITgYy-7\",\"posts_2017-04-20-mermaid.md\":\"BkFKTdc7\",\"posts_2017-04-30-github-pages.md\":\"CTj5mqZ3\",\"posts_2017-05-05-jekyll.md\":\"DivOInYD\",\"posts_2017-05-25-samba.md\":\"hZ1eBdJ4\",\"posts_2017-08-25-regexp.md\":\"BxsPH92d\",\"posts_2017-09-12-fiddler.md\":\"BpuhcCul\",\"posts_2017-09-26-version.md\":\"B_3j2TeS\",\"posts_2018-01-11-gitbook.md\":\"BCBj4dzF\",\"posts_2018-01-23-mac.md\":\"g8L1zB9N\",\"posts_2018-02-01-windows.md\":\"BNUJMiOi\",\"posts_2018-04-18-postman.md\":\"Da2DCUUz\",\"posts_2018-08-10-phpstorm.md\":\"6w0s0BCJ\",\"posts_2018-08-28-vscode.md\":\"BTKmgMJU\",\"posts_2018-09-22-web-history.md\":\"8R8k0CKy\",\"posts_2018-10-26-xmind.md\":\"sGrXzBTX\",\"posts_2019-05-11-escape.md\":\"HyRKLjay\",\"posts_2020-01-18-notes-on-technical-writing.md\":\"BEM_URbI\",\"posts_2020-02-21-how-i-think-about-solving-problem.md\":\"hAXP8Dv8\",\"posts_2020-02-29-understanding-types-typescript.md\":\"BhKBfb61\",\"posts_2020-03-24-rss-bookmark.md\":\"DqX7-Erg\",\"posts_2020-04-02-letter-to-myself.md\":\"CMnx3qJj\",\"posts_2020-04-20-share-in-wechat.md\":\"DH46l-N2\",\"posts_2020-05-03-shortcuts.md\":\"B8OcNmSQ\",\"posts_2020-05-10-virtualbox.md\":\"DGFZyZ5E\",\"posts_2020-08-08-vscode-snippets.md\":\"gtp_UvdG\",\"posts_2022-10-10-vimium.md\":\"BY_zpinG\",\"projects.md\":\"KiIM_SzW\",\"projects_how-module-work_module.md\":\"wqC9ttOF\",\"projects_how-module-work_readme.md\":\"BABRArzD\",\"projects_photoshop_1.color.md\":\"DMnssa_H\",\"projects_read-list_readme.md\":\"BZcjLZtA\",\"projects_readme.md\":\"DLWCSaB6\",\"projects_wechat_debug.md\":\"BZj3dtf9\",\"projects_wechat_readme.md\":\"BWLNJgeA\",\"projects_wechat_tool.md\":\"BDNDcHBI\",\"projects_wechat_web_dev.md\":\"D59B4YJm\",\"projects_wechat_wechat_basis.md\":\"XciLTJjx\",\"projects_wechat_wechat_config.md\":\"DkvE5SHX\",\"projects_wechat_wechatpay.md\":\"DTvRyaZ6\",\"resume.md\":\"XtomZPYI\",\"tags.md\":\"BfQ6kev7\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"编码即是修行\",\"description\":\"Coding · Cultination · Contemplation\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"siteTitle\":\"编码即是修行\",\"hero\":{\"title\":\"编码即是修行\",\"tagline\":\"Coding as Spiritual Practice\",\"intro\":\"热爱编程,热爱生活,热爱一切「美」的事物。代码不仅仅是工具,更是一种表达思想、锻炼思维的方式。每一次调试都是一次冥想,每一个算法都是一次禅修。\"},\"nav\":[{\"text\":\"主页\",\"link\":\"/\",\"en\":\"home\"},{\"text\":\"笔记\",\"path\":\"/posts\",\"en\":\"notes\"},{\"text\":\"标签\",\"path\":\"/tags\",\"en\":\"topics\"},{\"text\":\"项目\",\"path\":\"/projects\",\"en\":\"projects\"},{\"text\":\"关于\",\"path\":\"/about\",\"en\":\"about\"}],\"socialLinks\":[{\"icon\":{\"svg\":\"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 448 512\\\"><title>RSS</title><path d=\\\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48s48 21.49 48 48s-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634c-5.214-80.05-69.243-143.92-149.123-149.123c-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425c110.546 5.974 198.997 94.536 204.964 204.964c.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038c-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432c167.83 6.025 302.21 141.191 308.205 308.205c.232 6.449-4.978 11.787-11.432 11.787z\\\" fill=\\\"currentColor\\\"></path></svg>\"},\"link\":\"https://blog.zenheart.site/feed.xml\",\"ariaLabel\":\"RSS\"},{\"icon\":\"github\",\"link\":\"https://github.com/zenHeart\"}],\"search\":{\"provider\":\"local\"},\"footer\":{\"message\":\"编码即是修行\",\"copyright\":\"Powered by VitePress\"},\"projects\":[{\"title\":\"web-interview\",\"desc\":\"汇总 web 工程师常见面试问题及答案\",\"url\":\"https://blog.zenheart.site/web-interview/\",\"status\":\"进行中\",\"category\":\"指南\"},{\"title\":\"read-list\",\"desc\":\"汇总读过的有价值的资料\",\"url\":\"https://blog.zenheart.site/readlist/\",\"status\":\"待完善\",\"category\":\"指南\"},{\"title\":\"npm 包开发实践\",\"desc\":\"从零发布一个 npm 包 — 工程化、测试、CI 全流程\",\"url\":\"https://blog.zenheart.site/make-npm/\",\"status\":\"已完成\",\"category\":\"指南\"},{\"title\":\"frontend-test\",\"desc\":\"前端自动化测试实践 — 单元、集成、E2E\",\"url\":\"https://blog.zenheart.site/frontend-test/\",\"status\":\"已完成\",\"category\":\"指南\"},{\"title\":\"zen-mock\",\"desc\":\"API mock 及测试工具\",\"url\":\"https://github.com/zenheart/zen-mock\",\"status\":\"已完成\",\"category\":\"工具\"},{\"title\":\"sockets-server\",\"desc\":\"基于 express 中间件思想的 sockets server\",\"url\":\"https://github.com/zenheart/sockets-server\",\"status\":\"已完成\",\"category\":\"工具\"}],\"experience\":[{\"period\":\"2021—now\",\"title\":\"Senior Frontend Engineer\",\"note\":\"工具与工程化方向\"},{\"period\":\"2018—2021\",\"title\":\"Frontend Engineer\",\"note\":\"业务中台\"},{\"period\":\"2016—2018\",\"title\":\"Junior Web Developer\"}],\"about\":[{\"title\":\"写作观\",\"titleEn\":\"On Writing\",\"type\":\"prose\",\"content\":\"通过 Blog,把脑中混乱的信号,沉淀成语言可以承载的形状。\"}],\"profile\":{\"name\":\"zenheart\",\"role\":\"Frontend Engineer · Writer · Lifelong Learner\",\"bio\":\"写代码、写博客、也写给未来的自己。关注前端工程、开发者工具、计算机基础,以及如何在信息过载的时代保持安静与专注。自 2016 年开始在此写作。\",\"avatar\":\"禅\",\"since\":2016,\"location\":\"中国 · 武汉\",\"focus\":\"Web · Tooling · DX · Technical Writing\",\"stack\":\"TypeScript · Vue · React · Node · Build tooling\"},\"contact\":{\"github\":\"https://github.com/zenHeart\",\"rss\":\"/feed.xml\",\"email\":\"hi [at] zenheart_register@163.com\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
</body>
</html>