update
This commit is contained in:
parent
5ada1f536e
commit
82b12fa092
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
@ -294,7 +294,7 @@
|
||||||
<p><a target="_blank" rel="noopener" href="https://baidu.com/">https://baidu.com</a></p>
|
<p><a target="_blank" rel="noopener" href="https://baidu.com/">https://baidu.com</a></p>
|
||||||
<p><a target="_blank" rel="noopener" href="http://www.this-anchor-link.com/">锚点链接</a> </p>
|
<p><a target="_blank" rel="noopener" href="http://www.this-anchor-link.com/">锚点链接</a> </p>
|
||||||
<p><a href="mailto:test.test@gmail.com">mailto:test.test@gmail.com</a></p>
|
<p><a href="mailto:test.test@gmail.com">mailto:test.test@gmail.com</a></p>
|
||||||
<p>GFM a-tail link <a target="_blank" rel="noopener" href="https://my.oschina.net/u/3691274">@pandao</a> 邮箱地址自动链接 <a href="mailto:test.test@gmail.com">test.test@gmail.com</a> <a href="mailto:www@vip.qq.com">www@vip.qq.com</a></p>
|
<p>GFM a-tail link <a target="_blank" rel="noopener" href="https://my.oschina.net/u/3691274">@pandao</a> 邮箱地址自动链接 <a href="mailto:test.test@gmail.com">test.test@gmail.com</a> <a href="mailto:www@vip.qq.com">www@vip.qq.com</a></p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<p>@pandao</p>
|
<p>@pandao</p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/css/dba23209.css
Normal file
1
public/css/dba23209.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
@ -220,7 +220,7 @@
|
||||||
</aside>
|
</aside>
|
||||||
<main>
|
<main>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/3fa188f4.css">
|
<link rel="stylesheet" href="/css/0e7433f2.css">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
@ -220,7 +220,7 @@
|
||||||
</aside>
|
</aside>
|
||||||
<main>
|
<main>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/3fa188f4.css">
|
<link rel="stylesheet" href="/css/0e7433f2.css">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
@ -220,377 +220,375 @@
|
||||||
</aside>
|
</aside>
|
||||||
<main>
|
<main>
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/f1709cba.css">
|
<link rel="stylesheet" href="/css/dba23209.css">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="resume scrollbar-obtrusive">
|
||||||
|
<aside>
|
||||||
|
<div class="base">
|
||||||
|
<figure>
|
||||||
|
<img src="/img/avatar.png" />
|
||||||
|
</figure>
|
||||||
|
<h3>Hi! Mozzie</h3>
|
||||||
|
<div class="badge">
|
||||||
|
<span>Full Stack</span>
|
||||||
|
</div>
|
||||||
|
<div class="seperation"></div>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<span class="icon girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<rect x="3" y="5" width="18" height="14" rx="2"></rect>
|
||||||
|
<path d="M3 7l9 6l9-6"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<div>
|
||||||
|
<p>email</p>
|
||||||
|
<h4>himozzie@gmail.com</h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="icon girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<path d="M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<div>
|
||||||
|
<p>phone</p>
|
||||||
|
<h4>+86 180-xxxx-xxx</h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="icon girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<rect x="4" y="5" width="16" height="16" rx="2"></rect>
|
||||||
|
<path d="M16 3v4"></path>
|
||||||
|
<path d="M8 3v4"></path>
|
||||||
|
<path d="M4 11h16"></path>
|
||||||
|
<path d="M11 15h1"></path>
|
||||||
|
<path d="M12 15v3"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<div>
|
||||||
|
<p>BIRTHDAY</p>
|
||||||
|
<h4>Jan 21, 1994</h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="icon girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<path d="M21 3l-6.5 18a.55.55 0 0 1-1 0L10 14l-7-3.5a.55.55 0 0 1 0-1L21 3" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<div>
|
||||||
|
<p>LOCATION</p>
|
||||||
|
<h4>Nanjing, China</h4>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="social">
|
||||||
|
|
||||||
|
|
||||||
|
<a target="_blank" rel="noopener" href="https://github.com/17px" class="tip" data-tip="github">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2c2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2a4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6c-.6.6-.6 1.2-.5 2V21" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<main>
|
||||||
|
<h2><span>Resume</span></h2>
|
||||||
|
<!-- introduction -->
|
||||||
|
<div class="about-me">
|
||||||
|
|
||||||
|
|
||||||
|
<p>熟练掌握Vue和React全家桶,包括状态管理和组件库,如ElementPlus 和 AntDesign。在前端工程化方面,有 Webpack 和 Vite 的配置经验。具备 SpringBoot、Egg、Koa2 和 Midway 的项目经验,并在微服务架构下使用 Nestjs。熟悉Linux基础命令和Nginx、Docker的使用。</p>
|
||||||
|
|
||||||
|
<p>在3D图形和医疗前端方面,具有 three.js 和 Vtk.js 的实践经验</p>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<h4>Skill</h4>
|
||||||
|
<ul class="skill">
|
||||||
|
|
||||||
|
|
||||||
|
<li>熟悉常见的数据结构和算法,熟悉设计模式</li>
|
||||||
|
|
||||||
|
<li>熟悉前端基础 HTML5、CSS3、JS、ES6+、TypeScript 语法</li>
|
||||||
|
|
||||||
|
<li>熟悉 Vue2、Vue3 全家桶,熟悉 ElementPlus、NaiveUI,熟悉 Vue 原理</li>
|
||||||
|
|
||||||
|
<li>熟悉 React 技术栈,熟悉 Hooks 语法,熟悉 AntDesign,熟悉 React 原理</li>
|
||||||
|
|
||||||
|
<li>熟悉微信小程序开发,熟悉 Taro 框架的使用</li>
|
||||||
|
|
||||||
|
<li>熟悉 Webpack、Vite 常见配置,以及性能优化配置</li>
|
||||||
|
|
||||||
|
<li>熟悉 Node,具备后端开发能力,SpringBoot、Egg、Koa2、Midway 单体应用项目经验,Nestjs 微服务应用项目经验</li>
|
||||||
|
|
||||||
|
<li>有 Monorepo 工程化经验,具备单体前后端分离应用 DevOps 能力</li>
|
||||||
|
|
||||||
|
<li>熟悉 three.js、了解 Vtk.js,具备医疗 3D 前端、图形学相关的开发经验</li>
|
||||||
|
|
||||||
|
<li>掌握 Linux 基本命令,了解 Nginx、Docker 基本使用</li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<!-- edutcation -->
|
||||||
|
<ul>
|
||||||
|
<li class="title">
|
||||||
|
<span class="girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M22 9L12 5L2 9l10 4l10-4v6"></path>
|
||||||
|
<path d="M6 10.6V16a6 3 0 0 0 12 0v-5.4"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<h4>Educational</h4>
|
||||||
|
</li>
|
||||||
|
<li class="item">
|
||||||
|
|
||||||
|
|
||||||
|
<p class="name">南京信息工程大学滨江学院 / 本科</p>
|
||||||
|
<div class="period">2012-2016</div>
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<!-- experience -->
|
||||||
|
<ul>
|
||||||
|
<li class="title">
|
||||||
|
<span class="girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M8 9l5 5v7H8v-4m0 4H3v-7l5-5m1 1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v17h-8"></path>
|
||||||
|
<path d="M13 7v.01"></path>
|
||||||
|
<path d="M17 7v.01"></path>
|
||||||
|
<path d="M17 11v.01"></path>
|
||||||
|
<path d="M17 15v.01"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<h4>Work Experience</h4>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
<li class="item">
|
||||||
|
<p class="name">拓微摹心数据科技(南京)有限公司 · 全栈</p>
|
||||||
|
<div class="period">2021.09 ~ 至今</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="item">
|
||||||
|
<p class="name">南京寻鹿网络科技有限公司 · 前端</p>
|
||||||
|
<div class="period">2016.09 ~ 2019.06</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<!-- Project experience -->
|
||||||
|
<ul class="project">
|
||||||
|
<li class="title">
|
||||||
|
<span class="girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M7 8l-4 4l4 4"></path>
|
||||||
|
<path d="M17 8l4 4l-4 4"></path>
|
||||||
|
<path d="M14 4l-4 16"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<h4>Project</h4>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
<li class="item">
|
||||||
|
<p class="name">
|
||||||
|
<label class="tip left" data-tip="Project Name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
||||||
|
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
||||||
|
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
||||||
|
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</label>CVPilot算法、标注数据中台
|
||||||
|
</p>
|
||||||
|
<div class="desc">具备高精度数据标注、强大的数据管理、算法集成、多级用户权限、标注流程协作、算法模型版本、训练测试、API接口和数据可视化等功能,全面支持公司内部医疗影像分析和诊断</div>
|
||||||
|
<ul class="list">
|
||||||
|
|
||||||
|
|
||||||
|
<li>使用 Pnpm workspace 实现 Monorepo 多个代码仓库管理,支持多个框架并存,可共享公共组件库和能力</li>
|
||||||
|
|
||||||
|
<li>自行使用 rollup 沉淀了部分可复用基础模块,如:UI 组件库、对象存储、邮件、短信、企业微信机器人通知</li>
|
||||||
|
|
||||||
|
<li>使用 Nest.js 开发,基于事件驱动架构,重构后端服务体系</li>
|
||||||
|
|
||||||
|
<li>基于 rbac 设计了认证中心,解决业务应用中用户统一授权、鉴权的问题</li>
|
||||||
|
|
||||||
|
<li>使用 orthanc 搭建 Pacs 影像、并且基于标注、业务流程设计了影像上层的标签系统</li>
|
||||||
|
|
||||||
|
<li>使用 pdf.js 实现 3Mensio、FluoroCT 医疗报告关键字段的自动解析,Cover了 80%+ 的字段</li>
|
||||||
|
|
||||||
|
<li>设计了前后端一体开发的领域驱动设计(DDD)项目架构,并成功实践</li>
|
||||||
|
|
||||||
|
|
||||||
<div class="resume">
|
|
||||||
<div class="container">
|
|
||||||
<aside>
|
|
||||||
<div class="base">
|
|
||||||
<figure>
|
|
||||||
<img src="/img/avatar.png" />
|
|
||||||
</figure>
|
|
||||||
<h3>Hi! Mozzie</h3>
|
|
||||||
<div class="badge">
|
|
||||||
<span>Full Stack</span>
|
|
||||||
</div>
|
|
||||||
<div class="seperation"></div>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<span class="icon girdle-box">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<rect x="3" y="5" width="18" height="14" rx="2"></rect>
|
|
||||||
<path d="M3 7l9 6l9-6"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
<div>
|
|
||||||
<p>email</p>
|
|
||||||
<h4>himozzie@gmail.com</h4>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<span class="icon girdle-box">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<path d="M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
<div>
|
|
||||||
<p>phone</p>
|
|
||||||
<h4>+86 180-xxxx-xxx</h4>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<span class="icon girdle-box">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<rect x="4" y="5" width="16" height="16" rx="2"></rect>
|
|
||||||
<path d="M16 3v4"></path>
|
|
||||||
<path d="M8 3v4"></path>
|
|
||||||
<path d="M4 11h16"></path>
|
|
||||||
<path d="M11 15h1"></path>
|
|
||||||
<path d="M12 15v3"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
<div>
|
|
||||||
<p>BIRTHDAY</p>
|
|
||||||
<h4>Jan 21, 1994</h4>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<span class="icon girdle-box">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<path d="M21 3l-6.5 18a.55.55 0 0 1-1 0L10 14l-7-3.5a.55.55 0 0 1 0-1L21 3" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
<div>
|
|
||||||
<p>LOCATION</p>
|
|
||||||
<h4>Nanjing, China</h4>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<div class="social">
|
</li>
|
||||||
|
|
||||||
|
<li class="item">
|
||||||
<a target="_blank" rel="noopener" href="https://github.com/17px" class="tip" data-tip="github">
|
<p class="name">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2c2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2a4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6c-.6.6-.6 1.2-.5 2V21" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>
|
<label class="tip left" data-tip="Project Name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
</a>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</aside>
|
|
||||||
<main class="scrollbar-obtrusive">
|
|
||||||
<h2><span>Resume</span></h2>
|
|
||||||
<!-- introduction -->
|
|
||||||
<div class="about-me">
|
|
||||||
|
|
||||||
|
|
||||||
<p>熟练掌握Vue和React全家桶,包括状态管理和组件库,如ElementPlus 和 AntDesign。在前端工程化方面,有 Webpack 和 Vite 的配置经验。具备 SpringBoot、Egg、Koa2 和 Midway 的项目经验,并在微服务架构下使用 Nestjs。熟悉Linux基础命令和Nginx、Docker的使用。</p>
|
|
||||||
|
|
||||||
<p>在3D图形和医疗前端方面,具有 three.js 和 Vtk.js 的实践经验</p>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<h4>Skill</h4>
|
|
||||||
<ul class="skill">
|
|
||||||
|
|
||||||
|
|
||||||
<li>熟悉常见的数据结构和算法,熟悉设计模式</li>
|
|
||||||
|
|
||||||
<li>熟悉前端基础 HTML5、CSS3、JS、ES6+、TypeScript 语法</li>
|
|
||||||
|
|
||||||
<li>熟悉 Vue2、Vue3 全家桶,熟悉 ElementPlus、NaiveUI,熟悉 Vue 原理</li>
|
|
||||||
|
|
||||||
<li>熟悉 React 技术栈,熟悉 Hooks 语法,熟悉 AntDesign,熟悉 React 原理</li>
|
|
||||||
|
|
||||||
<li>熟悉微信小程序开发,熟悉 Taro 框架的使用</li>
|
|
||||||
|
|
||||||
<li>熟悉 Webpack、Vite 常见配置,以及性能优化配置</li>
|
|
||||||
|
|
||||||
<li>熟悉 Node,具备后端开发能力,SpringBoot、Egg、Koa2、Midway 单体应用项目经验,Nestjs 微服务应用项目经验</li>
|
|
||||||
|
|
||||||
<li>有 Monorepo 工程化经验,具备单体前后端分离应用 DevOps 能力</li>
|
|
||||||
|
|
||||||
<li>熟悉 three.js、了解 Vtk.js,具备医疗 3D 前端、图形学相关的开发经验</li>
|
|
||||||
|
|
||||||
<li>掌握 Linux 基本命令,了解 Nginx、Docker 基本使用</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
<!-- edutcation -->
|
|
||||||
<ul>
|
|
||||||
<li class="title">
|
|
||||||
<span class="girdle-box">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path d="M22 9L12 5L2 9l10 4l10-4v6"></path>
|
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
||||||
<path d="M6 10.6V16a6 3 0 0 0 12 0v-5.4"></path>
|
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
||||||
|
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
||||||
|
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</label>TAVR手术辅助决策系统 Tavigator™
|
||||||
<h4>Educational</h4>
|
</p>
|
||||||
</li>
|
<div class="desc">系统实现了对CT影像主动脉根部解剖结构的全自动化、全流程手术规划测量,为瓣膜选型、术中并发症风险预测</div>
|
||||||
<li class="item">
|
<ul class="list">
|
||||||
|
|
||||||
|
|
||||||
<p class="name">南京信息工程大学滨江学院 / 本科</p>
|
<li>基于容器,解决算法输出 stl 模型增加血管壁厚等后处理需求</li>
|
||||||
<div class="period">2012-2016</div>
|
|
||||||
|
<li>在 OHIF 基础上,重新规划项目结构,工程化相关优化,构建速度提升8倍</li>
|
||||||
|
|
||||||
|
<li>对 orthanc 配置进行了优化,使用 postgreSQL 存储影像数据</li>
|
||||||
|
|
||||||
|
<li>实践了 threejs 替换了 vtk.js 的默认三维渲染引擎,节省了某些场景下 Vtk.js占用内存过大的问题</li>
|
||||||
|
|
||||||
|
<li>使用了 chrome的 snapshot、调用栈,优化页面内存 3GB+,使用 Indexdb 与 Webworker 对 Dicom 读片速度优化了3倍以上</li>
|
||||||
|
|
||||||
|
<li>使用 webworker、请求队列,实现了在 http1.1 环境下,提升用户上传 Dicom影像 74% 上传效率。同时针对不同大小、类型的文件,设计了不同的 Hash 切片方案,提升了文件完整性验证速度提升</li>
|
||||||
|
|
||||||
|
<li>使用了 Http3 和 nginx-quic,使用 Brotli 替换 gzip,实现了静载资源传输速度提升 17% - 25%</li>
|
||||||
|
|
||||||
|
|
||||||
</li>
|
</ul>
|
||||||
</ul>
|
</li>
|
||||||
<!-- experience -->
|
|
||||||
<ul>
|
<li class="item">
|
||||||
<li class="title">
|
<p class="name">
|
||||||
<span class="girdle-box">
|
<label class="tip left" data-tip="Project Name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path d="M8 9l5 5v7H8v-4m0 4H3v-7l5-5m1 1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v17h-8"></path>
|
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
||||||
<path d="M13 7v.01"></path>
|
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
||||||
<path d="M17 7v.01"></path>
|
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
||||||
<path d="M17 11v.01"></path>
|
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
||||||
<path d="M17 15v.01"></path>
|
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</label>Bolt 组件库、文档设计系统
|
||||||
<h4>Work Experience</h4>
|
</p>
|
||||||
</li>
|
<div class="desc">前端基建,Bolt 用于构建快速组件库、文档。你可以在开发react组件库的同时, 无缝地编写组件文档, 实时热更新</div>
|
||||||
|
<ul class="list">
|
||||||
|
|
||||||
|
|
||||||
<li class="item">
|
<li>React 组件的 Props 解析,自动生成组件的 API 表格</li>
|
||||||
<p class="name">拓微摹心数据科技(南京)有限公司 · 全栈</p>
|
|
||||||
<div class="period">2021.09 ~ 至今</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="item">
|
<li>组件的开发阶段,实施更新,所见即所得</li>
|
||||||
<p class="name">南京寻鹿网络科技有限公司 · 前端</p>
|
|
||||||
<div class="period">2016.09 ~ 2019.06</div>
|
<li>依赖 vite 插件机制,200+ 以上组件,开发阶段秒级热更新</li>
|
||||||
</li>
|
|
||||||
|
<li>智能生成组件说明文档,构建产物分离组件库、文档静态站,支持全局、局部引入</li>
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<!-- Project experience -->
|
</li>
|
||||||
<ul class="project">
|
|
||||||
<li class="title">
|
<li class="item">
|
||||||
<span class="girdle-box">
|
<p class="name">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
<label class="tip left" data-tip="Project Name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path d="M7 8l-4 4l4 4"></path>
|
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
||||||
<path d="M17 8l4 4l-4 4"></path>
|
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
||||||
<path d="M14 4l-4 16"></path>
|
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
||||||
|
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</label>瓣侣 - 微信小程序
|
||||||
<h4>Project</h4>
|
</p>
|
||||||
</li>
|
<div class="desc">一款支持医生、病人查看算法分割后数字孪生心脏模型的小程序</div>
|
||||||
|
<ul class="list">
|
||||||
|
|
||||||
|
|
||||||
<li class="item">
|
<li>使用 taro 对小程序端实现3d模型展示,进行了技术选型,移植了STLloader 到 three-platformize 中,解决了 stl 模型加载的问题</li>
|
||||||
<p class="name">
|
|
||||||
<label class="tip left" data-tip="Project Name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
<li>解决小程序内存占用过大,导致部分机型崩溃的问题</li>
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
<li>使用包围盒对多个分割模型组合及位置修正、空间测量计算,实现瓣环样条绘制、空间拾取高亮等功能</li>
|
||||||
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
|
||||||
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
|
||||||
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</label>CVPilot算法、标注数据中台
|
|
||||||
</p>
|
|
||||||
<div class="desc">具备高精度数据标注、强大的数据管理、算法集成、多级用户权限、标注流程协作、算法模型版本、训练测试、API接口和数据可视化等功能,全面支持公司内部医疗影像分析和诊断</div>
|
|
||||||
<ul class="list">
|
|
||||||
|
|
||||||
|
|
||||||
<li>使用 Pnpm workspace 实现 Monorepo 多个代码仓库管理,支持多个框架并存,可共享公共组件库和能力</li>
|
</ul>
|
||||||
|
</li>
|
||||||
<li>自行使用 rollup 沉淀了部分可复用基础模块,如:UI 组件库、对象存储、邮件、短信、企业微信机器人通知</li>
|
|
||||||
|
|
||||||
<li>使用 Nest.js 开发,基于事件驱动架构,重构后端服务体系</li>
|
|
||||||
|
|
||||||
<li>基于 rbac 设计了认证中心,解决业务应用中用户统一授权、鉴权的问题</li>
|
|
||||||
|
|
||||||
<li>使用 orthanc 搭建 Pacs 影像、并且基于标注、业务流程设计了影像上层的标签系统</li>
|
|
||||||
|
|
||||||
<li>使用 pdf.js 实现 3Mensio、FluoroCT 医疗报告关键字段的自动解析,Cover了 80%+ 的字段</li>
|
|
||||||
|
|
||||||
<li>设计了前后端一体开发的领域驱动设计(DDD)项目架构,并成功实践</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
<h2 class="portfolio-title"><span>Portfolio</span></h2>
|
||||||
|
<!-- portfolio -->
|
||||||
<li class="item">
|
<div class="portfolio">
|
||||||
<p class="name">
|
<div class="magic-cards">
|
||||||
<label class="tip left" data-tip="Project Name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
|
||||||
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
|
||||||
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
|
||||||
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</label>TAVR手术辅助决策系统 Tavigator™
|
|
||||||
</p>
|
|
||||||
<div class="desc">系统实现了对CT影像主动脉根部解剖结构的全自动化、全流程手术规划测量,为瓣膜选型、术中并发症风险预测</div>
|
|
||||||
<ul class="list">
|
|
||||||
|
|
||||||
|
|
||||||
<li>基于容器,解决算法输出 stl 模型增加血管壁厚等后处理需求</li>
|
<a target="_blank" rel="noopener" href="https://www.tavi.fit" class="card">
|
||||||
|
<div class="card-content">
|
||||||
<li>在 OHIF 基础上,重新规划项目结构,工程化相关优化,构建速度提升8倍</li>
|
<div class="card-image">
|
||||||
|
<h2><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M21 10h-4V6h-2v4h-4v2h4v4h2v-4h4v-2z" fill="currentColor"></path><path d="M28 10h-2V4a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v6H4a2.002 2.002 0 0 0-2 2v18h28V12a2.002 2.002 0 0 0-2-2zM14 28v-6h4v6zm6 0v-7a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v7H4V12h4V4h16v8h4v16z" fill="currentColor"></path></svg></h2>
|
||||||
<li>对 orthanc 配置进行了优化,使用 postgreSQL 存储影像数据</li>
|
</div>
|
||||||
|
<div class="card-info-wrapper">
|
||||||
<li>实践了 threejs 替换了 vtk.js 的默认三维渲染引擎,节省了某些场景下 Vtk.js占用内存过大的问题</li>
|
<div class="card-info">
|
||||||
|
<div class="card-info-title">
|
||||||
<li>使用了 chrome的 snapshot、调用栈,优化页面内存 3GB+,使用 Indexdb 与 Webworker 对 Dicom 读片速度优化了3倍以上</li>
|
<h3 class="ellipsis">CVPilot (原Tavigator)</h3>
|
||||||
|
<h4 class="ellipsis">TAVR手术辅助决策系统</h4>
|
||||||
<li>使用 webworker、请求队列,实现了在 http1.1 环境下,提升用户上传 Dicom影像 74% 上传效率。同时针对不同大小、类型的文件,设计了不同的 Hash 切片方案,提升了文件完整性验证速度提升</li>
|
|
||||||
|
|
||||||
<li>使用了 Http3 和 nginx-quic,使用 Brotli 替换 gzip,实现了静载资源传输速度提升 17% - 25%</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="item">
|
|
||||||
<p class="name">
|
|
||||||
<label class="tip left" data-tip="Project Name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
|
||||||
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
|
||||||
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
|
||||||
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</label>Bolt 组件库、文档设计系统
|
|
||||||
</p>
|
|
||||||
<div class="desc">前端基建,Bolt 用于构建快速组件库、文档。你可以在开发react组件库的同时, 无缝地编写组件文档, 实时热更新</div>
|
|
||||||
<ul class="list">
|
|
||||||
|
|
||||||
|
|
||||||
<li>React 组件的 Props 解析,自动生成组件的 API 表格</li>
|
|
||||||
|
|
||||||
<li>组件的开发阶段,实施更新,所见即所得</li>
|
|
||||||
|
|
||||||
<li>依赖 vite 插件机制,200+ 以上组件,开发阶段秒级热更新</li>
|
|
||||||
|
|
||||||
<li>智能生成组件说明文档,构建产物分离组件库、文档静态站,支持全局、局部引入</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="item">
|
|
||||||
<p class="name">
|
|
||||||
<label class="tip left" data-tip="Project Name"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
|
||||||
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
|
||||||
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
|
||||||
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</label>瓣侣 - 微信小程序
|
|
||||||
</p>
|
|
||||||
<div class="desc">一款支持医生、病人查看算法分割后数字孪生心脏模型的小程序</div>
|
|
||||||
<ul class="list">
|
|
||||||
|
|
||||||
|
|
||||||
<li>使用 taro 对小程序端实现3d模型展示,进行了技术选型,移植了STLloader 到 three-platformize 中,解决了 stl 模型加载的问题</li>
|
|
||||||
|
|
||||||
<li>解决小程序内存占用过大,导致部分机型崩溃的问题</li>
|
|
||||||
|
|
||||||
<li>使用包围盒对多个分割模型组合及位置修正、空间测量计算,实现瓣环样条绘制、空间拾取高亮等功能</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
<h2 class="portfolio-title"><span>Portfolio</span></h2>
|
|
||||||
<!-- portfolio -->
|
|
||||||
<div class="portfolio">
|
|
||||||
<div class="magic-cards">
|
|
||||||
|
|
||||||
|
|
||||||
<a target="_blank" rel="noopener" href="https://www.tavi.fit" class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<div class="card-image">
|
|
||||||
<h2><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><path d="M21 10h-4V6h-2v4h-4v2h4v4h2v-4h4v-2z" fill="currentColor"></path><path d="M28 10h-2V4a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v6H4a2.002 2.002 0 0 0-2 2v18h28V12a2.002 2.002 0 0 0-2-2zM14 28v-6h4v6zm6 0v-7a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v7H4V12h4V4h16v8h4v16z" fill="currentColor"></path></svg></h2>
|
|
||||||
</div>
|
|
||||||
<div class="card-info-wrapper">
|
|
||||||
<div class="card-info">
|
|
||||||
<div class="card-info-title">
|
|
||||||
<h3 class="ellipsis">CVPilot (原Tavigator)</h3>
|
|
||||||
<h4 class="ellipsis">TAVR手术辅助决策系统</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<a target="_blank" rel="noopener" href="https://amo.mozzie.cn/" class="card">
|
<a target="_blank" rel="noopener" href="https://amo.mozzie.cn/" class="card">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<div class="card-image">
|
<div class="card-image">
|
||||||
<h2><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6.357 9C3.72 9.68 2 10.845 2 12.175C2 14.282 6.405 16 11.85 16c.74 0 1.26-.039 1.95-.097"></path><path d="M9.837 15.9c-.413-.596-.806-1.133-1.18-1.8c-2.751-4.9-3.488-9.77-1.63-10.873c1.15-.697 3.047.253 4.974 2.254"></path><path d="M6.429 15.387c-.702 2.688-.56 4.716.56 5.395c1.783 1.08 5.387-1.958 8.043-6.804c.36-.67.683-1.329.968-1.978"></path><path d="M12 18.52c1.928 2 3.817 2.95 4.978 2.253c1.85-1.102 1.121-5.972-1.633-10.873c-.384-.677-.777-1.204-1.18-1.8"></path><path d="M17.66 15c2.612-.687 4.34-1.85 4.34-3.176C22 9.714 17.592 8 12.155 8c-.747 0-1.266.029-1.955.087"></path><path d="M8 12c.285-.66.607-1.308.968-1.978c2.647-4.844 6.253-7.89 8.046-6.801c1.11.679 1.262 2.706.56 5.393"></path><path d="M12.26 12.015h-.01c-.01.13-.12.24-.26.24a.263.263 0 0 1-.25-.26c0-.14.11-.25.24-.25h-.01c.13-.01.25.11.25.24"></path></g></svg></h2>
|
<h2><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6.357 9C3.72 9.68 2 10.845 2 12.175C2 14.282 6.405 16 11.85 16c.74 0 1.26-.039 1.95-.097"></path><path d="M9.837 15.9c-.413-.596-.806-1.133-1.18-1.8c-2.751-4.9-3.488-9.77-1.63-10.873c1.15-.697 3.047.253 4.974 2.254"></path><path d="M6.429 15.387c-.702 2.688-.56 4.716.56 5.395c1.783 1.08 5.387-1.958 8.043-6.804c.36-.67.683-1.329.968-1.978"></path><path d="M12 18.52c1.928 2 3.817 2.95 4.978 2.253c1.85-1.102 1.121-5.972-1.633-10.873c-.384-.677-.777-1.204-1.18-1.8"></path><path d="M17.66 15c2.612-.687 4.34-1.85 4.34-3.176C22 9.714 17.592 8 12.155 8c-.747 0-1.266.029-1.955.087"></path><path d="M8 12c.285-.66.607-1.308.968-1.978c2.647-4.844 6.253-7.89 8.046-6.801c1.11.679 1.262 2.706.56 5.393"></path><path d="M12.26 12.015h-.01c-.01.13-.12.24-.26.24a.263.263 0 0 1-.25-.26c0-.14.11-.25.24-.25h-.01c.13-.01.25.11.25.24"></path></g></svg></h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-info-wrapper">
|
<div class="card-info-wrapper">
|
||||||
<div class="card-info">
|
<div class="card-info">
|
||||||
<div class="card-info-title">
|
<div class="card-info-title">
|
||||||
<h3 class="ellipsis">Bolt Design</h3>
|
<h3 class="ellipsis">Bolt Design</h3>
|
||||||
<h4 class="ellipsis">基于 Vite 开发的 React 组件、文档一体化系统</h4>
|
<h4 class="ellipsis">基于 Vite 开发的 React 组件、文档一体化系统</h4>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<a target="_blank" rel="noopener" href="https://github.com/17px/hexo-theme-cosy" class="card">
|
<a target="_blank" rel="noopener" href="https://github.com/17px/hexo-theme-cosy" class="card">
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<div class="card-image">
|
<div class="card-image">
|
||||||
<h2><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2c2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2a4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6c-.6.6-.6 1.2-.5 2V21" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></h2>
|
<h2><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2c2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2a4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6c-.6.6-.6 1.2-.5 2V21" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-info-wrapper">
|
<div class="card-info-wrapper">
|
||||||
<div class="card-info">
|
<div class="card-info">
|
||||||
<div class="card-info-title">
|
<div class="card-info-title">
|
||||||
<h3 class="ellipsis">hexo-theme-cosy</h3>
|
<h3 class="ellipsis">hexo-theme-cosy</h3>
|
||||||
<h4 class="ellipsis">Minimalist, pursuing the ultimate loading speed for a Hexo theme</h4>
|
<h4 class="ellipsis">Minimalist, pursuing the ultimate loading speed for a Hexo theme</h4>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</div>
|
||||||
</div>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="/css/26c34ce6.css">
|
<link rel="stylesheet" href="/css/4d4ea9c6.css">
|
||||||
|
|
||||||
<meta name="generator" content="Hexo 6.3.0"></head>
|
<meta name="generator" content="Hexo 6.3.0"></head>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<%- css("/css/3fa188f4.css")%>
|
<%- css("/css/0e7433f2.css")%>
|
||||||
|
|
||||||
<% layout='layout' %>
|
<% layout='layout' %>
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<% } %>
|
<% } %>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
<%- css("/css/26c34ce6.css")%>
|
<%- css("/css/4d4ea9c6.css")%>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body id="app">
|
<body id="app">
|
||||||
|
|
|
@ -1,216 +1,214 @@
|
||||||
<%- css("/css/f1709cba.css")%>
|
<%- css("/css/dba23209.css")%>
|
||||||
|
|
||||||
<div class="resume">
|
<div class="resume scrollbar-obtrusive">
|
||||||
<div class="container">
|
<aside>
|
||||||
<aside>
|
<div class="base">
|
||||||
<div class="base">
|
<figure>
|
||||||
<figure>
|
<img src="<%- page.avatar %>" />
|
||||||
<img src="<%- page.avatar %>" />
|
</figure>
|
||||||
</figure>
|
<h3><%- page.name %></h3>
|
||||||
<h3><%- page.name %></h3>
|
<div class="badge">
|
||||||
<div class="badge">
|
<span><%- page.role %></span>
|
||||||
<span><%- page.role %></span>
|
</div>
|
||||||
</div>
|
<div class="seperation"></div>
|
||||||
<div class="seperation"></div>
|
<ul>
|
||||||
<ul>
|
<li>
|
||||||
<li>
|
<span class="icon girdle-box">
|
||||||
<span class="icon girdle-box">
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
<rect x="3" y="5" width="18" height="14" rx="2"></rect>
|
||||||
<rect x="3" y="5" width="18" height="14" rx="2"></rect>
|
<path d="M3 7l9 6l9-6"></path>
|
||||||
<path d="M3 7l9 6l9-6"></path>
|
</g>
|
||||||
</g>
|
</svg>
|
||||||
</svg>
|
</span>
|
||||||
</span>
|
<div>
|
||||||
<div>
|
<p>email</p>
|
||||||
<p>email</p>
|
<h4><%- page.email %></h4>
|
||||||
<h4><%- page.email %></h4>
|
</div>
|
||||||
</div>
|
</li>
|
||||||
</li>
|
<li>
|
||||||
<li>
|
<span class="icon girdle-box">
|
||||||
<span class="icon girdle-box">
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
<path d="M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||||
<path d="M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
</svg>
|
||||||
</svg>
|
</span>
|
||||||
</span>
|
<div>
|
||||||
<div>
|
<p>phone</p>
|
||||||
<p>phone</p>
|
<h4><%- page.phone %></h4>
|
||||||
<h4><%- page.phone %></h4>
|
</div>
|
||||||
</div>
|
</li>
|
||||||
</li>
|
<li>
|
||||||
<li>
|
<span class="icon girdle-box">
|
||||||
<span class="icon girdle-box">
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
<rect x="4" y="5" width="16" height="16" rx="2"></rect>
|
||||||
<rect x="4" y="5" width="16" height="16" rx="2"></rect>
|
<path d="M16 3v4"></path>
|
||||||
<path d="M16 3v4"></path>
|
<path d="M8 3v4"></path>
|
||||||
<path d="M8 3v4"></path>
|
<path d="M4 11h16"></path>
|
||||||
<path d="M4 11h16"></path>
|
<path d="M11 15h1"></path>
|
||||||
<path d="M11 15h1"></path>
|
<path d="M12 15v3"></path>
|
||||||
<path d="M12 15v3"></path>
|
</g>
|
||||||
</g>
|
</svg>
|
||||||
</svg>
|
</span>
|
||||||
</span>
|
<div>
|
||||||
<div>
|
<p>BIRTHDAY</p>
|
||||||
<p>BIRTHDAY</p>
|
<h4><%- page.birth %></h4>
|
||||||
<h4><%- page.birth %></h4>
|
</div>
|
||||||
</div>
|
</li>
|
||||||
</li>
|
<li>
|
||||||
<li>
|
<span class="icon girdle-box">
|
||||||
<span class="icon girdle-box">
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
<path d="M21 3l-6.5 18a.55.55 0 0 1-1 0L10 14l-7-3.5a.55.55 0 0 1 0-1L21 3" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||||
<path d="M21 3l-6.5 18a.55.55 0 0 1-1 0L10 14l-7-3.5a.55.55 0 0 1 0-1L21 3" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
|
</svg>
|
||||||
</svg>
|
</span>
|
||||||
</span>
|
<div>
|
||||||
<div>
|
<p>LOCATION</p>
|
||||||
<p>LOCATION</p>
|
<h4><%- page.location %></h4>
|
||||||
<h4><%- page.location %></h4>
|
</div>
|
||||||
</div>
|
</li>
|
||||||
</li>
|
</ul>
|
||||||
|
<div class="social">
|
||||||
|
<% if (page.social) { %>
|
||||||
|
<% page.social.forEach(function(item) { %>
|
||||||
|
<a href="<%= item.link %>" class="tip" data-tip="<%= item.name %>">
|
||||||
|
<%- item.icon %>
|
||||||
|
</a>
|
||||||
|
<% }) %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<main>
|
||||||
|
<h2><span><%- __('text-resume') %></span></h2>
|
||||||
|
<!-- introduction -->
|
||||||
|
<div class="about-me">
|
||||||
|
<% if (page.about) { %>
|
||||||
|
<% page.about.forEach(function(text) { %>
|
||||||
|
<p><%- text %></p>
|
||||||
|
<% }) %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
|
<h4><%- __('text-skill') %></h4>
|
||||||
|
<ul class="skill">
|
||||||
|
<% if (page.skill) { %>
|
||||||
|
<% page.skill.forEach(function(text) { %>
|
||||||
|
<li><%- text %></li>
|
||||||
|
<% }) %>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
<!-- edutcation -->
|
||||||
|
<ul>
|
||||||
|
<li class="title">
|
||||||
|
<span class="girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M22 9L12 5L2 9l10 4l10-4v6"></path>
|
||||||
|
<path d="M6 10.6V16a6 3 0 0 0 12 0v-5.4"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<h4><%- __('text-education') %></h4>
|
||||||
|
</li>
|
||||||
|
<li class="item">
|
||||||
|
<% if (page.education) { %>
|
||||||
|
<% page.education.forEach(function(item) { %>
|
||||||
|
<p class="name"><%- item.school %></p>
|
||||||
|
<div class="period"><%- item.time %></div>
|
||||||
|
<% }) %>
|
||||||
|
<% } %>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<!-- experience -->
|
||||||
|
<ul>
|
||||||
|
<li class="title">
|
||||||
|
<span class="girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M8 9l5 5v7H8v-4m0 4H3v-7l5-5m1 1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v17h-8"></path>
|
||||||
|
<path d="M13 7v.01"></path>
|
||||||
|
<path d="M17 7v.01"></path>
|
||||||
|
<path d="M17 11v.01"></path>
|
||||||
|
<path d="M17 15v.01"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<h4><%- __('text-workExp') %></h4>
|
||||||
|
</li>
|
||||||
|
<% if (page.workExp) { %>
|
||||||
|
<% page.workExp.forEach(function(item) { %>
|
||||||
|
<li class="item">
|
||||||
|
<p class="name"><%- item.inc %></p>
|
||||||
|
<div class="period"><%- item.time %></div>
|
||||||
|
</li>
|
||||||
|
<% }) %>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
<!-- Project experience -->
|
||||||
|
<ul class="project">
|
||||||
|
<li class="title">
|
||||||
|
<span class="girdle-box">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M7 8l-4 4l4 4"></path>
|
||||||
|
<path d="M17 8l4 4l-4 4"></path>
|
||||||
|
<path d="M14 4l-4 16"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<h4><%- __('text-project') %></h4>
|
||||||
|
</li>
|
||||||
|
<% if (page.projectExp) { %>
|
||||||
|
<% page.projectExp.forEach(function(item) { %>
|
||||||
|
<li class="item">
|
||||||
|
<p class="name">
|
||||||
|
<label class="tip left" data-tip="<%- __('text-project-name') %>"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
||||||
|
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
||||||
|
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
||||||
|
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
||||||
|
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</label><%- item.name %>
|
||||||
|
</p>
|
||||||
|
<div class="desc"><%- item.desc %></div>
|
||||||
|
<ul class="list">
|
||||||
|
<% if (item.list) { %>
|
||||||
|
<% item.list.forEach(function(detail) { %>
|
||||||
|
<li><%- detail %></li>
|
||||||
|
<% }) %>
|
||||||
|
<% } %>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="social">
|
</li>
|
||||||
<% if (page.social) { %>
|
<% }) %>
|
||||||
<% page.social.forEach(function(item) { %>
|
<% } %>
|
||||||
<a href="<%= item.link %>" class="tip" data-tip="<%= item.name %>">
|
</ul>
|
||||||
<%- item.icon %>
|
<h2 class="portfolio-title"><span><%- __('text-portfolio') %></span></h2>
|
||||||
</a>
|
<!-- portfolio -->
|
||||||
<% }) %>
|
<div class="portfolio">
|
||||||
<% } %>
|
<div class="magic-cards">
|
||||||
</div>
|
<% if (page.portfolio) { %>
|
||||||
</div>
|
<% page.portfolio.forEach(function(item) { %>
|
||||||
</aside>
|
<a href="<%= item.link %>" class="card">
|
||||||
<main class="scrollbar-obtrusive">
|
<div class="card-content">
|
||||||
<h2><span><%- __('text-resume') %></span></h2>
|
<div class="card-image">
|
||||||
<!-- introduction -->
|
<h2><%- item.iconSVG %></h2>
|
||||||
<div class="about-me">
|
</div>
|
||||||
<% if (page.about) { %>
|
<div class="card-info-wrapper">
|
||||||
<% page.about.forEach(function(text) { %>
|
<div class="card-info">
|
||||||
<p><%- text %></p>
|
<div class="card-info-title">
|
||||||
<% }) %>
|
<h3 class="ellipsis"><%= item.name %></h3>
|
||||||
<% } %>
|
<h4 class="ellipsis"><%= item.desc %></h4>
|
||||||
</div>
|
|
||||||
<h4><%- __('text-skill') %></h4>
|
|
||||||
<ul class="skill">
|
|
||||||
<% if (page.skill) { %>
|
|
||||||
<% page.skill.forEach(function(text) { %>
|
|
||||||
<li><%- text %></li>
|
|
||||||
<% }) %>
|
|
||||||
<% } %>
|
|
||||||
</ul>
|
|
||||||
<!-- edutcation -->
|
|
||||||
<ul>
|
|
||||||
<li class="title">
|
|
||||||
<span class="girdle-box">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M22 9L12 5L2 9l10 4l10-4v6"></path>
|
|
||||||
<path d="M6 10.6V16a6 3 0 0 0 12 0v-5.4"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
<h4><%- __('text-education') %></h4>
|
|
||||||
</li>
|
|
||||||
<li class="item">
|
|
||||||
<% if (page.education) { %>
|
|
||||||
<% page.education.forEach(function(item) { %>
|
|
||||||
<p class="name"><%- item.school %></p>
|
|
||||||
<div class="period"><%- item.time %></div>
|
|
||||||
<% }) %>
|
|
||||||
<% } %>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<!-- experience -->
|
|
||||||
<ul>
|
|
||||||
<li class="title">
|
|
||||||
<span class="girdle-box">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M8 9l5 5v7H8v-4m0 4H3v-7l5-5m1 1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v17h-8"></path>
|
|
||||||
<path d="M13 7v.01"></path>
|
|
||||||
<path d="M17 7v.01"></path>
|
|
||||||
<path d="M17 11v.01"></path>
|
|
||||||
<path d="M17 15v.01"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
<h4><%- __('text-workExp') %></h4>
|
|
||||||
</li>
|
|
||||||
<% if (page.workExp) { %>
|
|
||||||
<% page.workExp.forEach(function(item) { %>
|
|
||||||
<li class="item">
|
|
||||||
<p class="name"><%- item.inc %></p>
|
|
||||||
<div class="period"><%- item.time %></div>
|
|
||||||
</li>
|
|
||||||
<% }) %>
|
|
||||||
<% } %>
|
|
||||||
</ul>
|
|
||||||
<!-- Project experience -->
|
|
||||||
<ul class="project">
|
|
||||||
<li class="title">
|
|
||||||
<span class="girdle-box">
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M7 8l-4 4l4 4"></path>
|
|
||||||
<path d="M17 8l4 4l-4 4"></path>
|
|
||||||
<path d="M14 4l-4 16"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</span>
|
|
||||||
<h4><%- __('text-project') %></h4>
|
|
||||||
</li>
|
|
||||||
<% if (page.projectExp) { %>
|
|
||||||
<% page.projectExp.forEach(function(item) { %>
|
|
||||||
<li class="item">
|
|
||||||
<p class="name">
|
|
||||||
<label class="tip left" data-tip="<%- __('text-project-name') %>"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
||||||
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
||||||
<path d="M12 15H5.5a2.5 2.5 0 1 1 0-5H6"></path>
|
|
||||||
<path d="M15 12v6.5a2.5 2.5 0 1 1-5 0V18"></path>
|
|
||||||
<path d="M12 9h6.5a2.5 2.5 0 1 1 0 5H18"></path>
|
|
||||||
<path d="M9 12V5.5a2.5 2.5 0 0 1 5 0V6"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</label><%- item.name %>
|
|
||||||
</p>
|
|
||||||
<div class="desc"><%- item.desc %></div>
|
|
||||||
<ul class="list">
|
|
||||||
<% if (item.list) { %>
|
|
||||||
<% item.list.forEach(function(detail) { %>
|
|
||||||
<li><%- detail %></li>
|
|
||||||
<% }) %>
|
|
||||||
<% } %>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<% }) %>
|
|
||||||
<% } %>
|
|
||||||
</ul>
|
|
||||||
<h2 class="portfolio-title"><span><%- __('text-portfolio') %></span></h2>
|
|
||||||
<!-- portfolio -->
|
|
||||||
<div class="portfolio">
|
|
||||||
<div class="magic-cards">
|
|
||||||
<% if (page.portfolio) { %>
|
|
||||||
<% page.portfolio.forEach(function(item) { %>
|
|
||||||
<a href="<%= item.link %>" class="card">
|
|
||||||
<div class="card-content">
|
|
||||||
<div class="card-image">
|
|
||||||
<h2><%- item.iconSVG %></h2>
|
|
||||||
</div>
|
|
||||||
<div class="card-info-wrapper">
|
|
||||||
<div class="card-info">
|
|
||||||
<div class="card-info-title">
|
|
||||||
<h3 class="ellipsis"><%= item.name %></h3>
|
|
||||||
<h4 class="ellipsis"><%= item.desc %></h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</div>
|
||||||
<% }) %>
|
</a>
|
||||||
<% } %>
|
<% }) %>
|
||||||
</div>
|
<% } %>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</div>
|
||||||
</div>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%- js("/js/9f1cd854.js")%>
|
<%- js("/js/9f1cd854.js")%>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
themes/hexo-theme-cosy/source/css/dba23209.css
Normal file
1
themes/hexo-theme-cosy/source/css/dba23209.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user