blog-hexo/public/resume/index.html

635 lines
29 KiB
HTML
Raw Normal View History

2023-10-30 10:58:06 +08:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
2023-10-31 13:58:05 +08:00
简历 · 陈不渡Mozzie
2023-10-30 10:58:06 +08:00
</title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="author" content="Mozzie">
<link rel="canonical" href="https://mozzie.cn/resume/index.html">
<link rel="icon" type="image/svg" href='data:image/svg+xml,<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="M16 7h1a2 2 0 0 1 2 2v.5a.5.5 0 0 0 .5.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5a.5.5 0 0 0-.5.5v.5a2 2 0 0 1-2 2h-2"></path><path d="M8 7H6a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1"></path><path d="M12 8l-2 4h3l-2 4"></path></g></svg>'>
2023-10-31 13:15:48 +08:00
<link rel="stylesheet" href="/css/26c34ce6.css">
2023-10-30 10:58:06 +08:00
<meta name="generator" content="Hexo 6.3.0"></head>
<body id="app">
<!-- 响应式布局按钮 -->
<a class="side-navigation btn-hover btn-hover-bg tip left" data-tip="Expand">
<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="4" width="16" height="16" rx="2"></rect>
<path d="M9 4v16"></path>
</g>
</svg>
</a>
<aside>
<div>
2023-11-03 14:52:16 +08:00
<link rel="stylesheet" href="/css/5bfc518f.css">
2023-10-30 10:58:06 +08:00
<div class="home-bar">
<a href="/" class="tip" data-tip="Home">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
<path
d="M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22c18.2 6.8 31.3 24.4 31.3 45c0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7c54.4-11.4 98.3-55.4 109.7-109.7c17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9c129.4 7 233.4 112 240.9 241.5c.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9c76.8 6.3 138 68.2 144.9 145.2c.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3c-8.4-110.1-96.5-198.2-206.6-206.7z"
fill="currentColor"></path>
</svg>
<span>Mozzie</span>
</a>
<!-- 切换主题 -->
<a id="toggle-theme" class="tip left" data-tip="Switch Theme">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
<path d="M256 118a22 22 0 0 1-22-22V48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22z" fill="currentColor"></path>
<path d="M256 486a22 22 0 0 1-22-22v-48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22z" fill="currentColor"></path>
<path
d="M369.14 164.86a22 22 0 0 1-15.56-37.55l33.94-33.94a22 22 0 0 1 31.11 31.11l-33.94 33.94a21.93 21.93 0 0 1-15.55 6.44z"
fill="currentColor"></path>
<path
d="M108.92 425.08a22 22 0 0 1-15.55-37.56l33.94-33.94a22 22 0 1 1 31.11 31.11l-33.94 33.94a21.94 21.94 0 0 1-15.56 6.45z"
fill="currentColor"></path>
<path d="M464 278h-48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44z" fill="currentColor"></path>
<path d="M96 278H48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44z" fill="currentColor"></path>
<path
d="M403.08 425.08a21.94 21.94 0 0 1-15.56-6.45l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.55 37.56z"
fill="currentColor"></path>
<path
d="M142.86 164.86a21.89 21.89 0 0 1-15.55-6.44l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.56 37.55z"
fill="currentColor"></path>
<path d="M256 358a102 102 0 1 1 102-102a102.12 102.12 0 0 1-102 102z" fill="currentColor"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
<path
d="M264 480A232 232 0 0 1 32 248c0-94 54-178.28 137.61-214.67a16 16 0 0 1 21.06 21.06C181.07 76.43 176 104.66 176 136c0 110.28 89.72 200 200 200c31.34 0 59.57-5.07 81.61-14.67a16 16 0 0 1 21.06 21.06C442.28 426 358 480 264 480z"
fill="currentColor"></path>
</svg>
</a>
</div>
2023-11-06 16:14:34 +08:00
<script src="/js/ae2a0e7b.js"></script>
2023-10-30 10:58:06 +08:00
<!-- search -->
2023-11-03 14:52:16 +08:00
<link rel="stylesheet" href="/css/3320a187.css">
2023-10-30 10:58:06 +08:00
<form class="search-group">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20">
<g fill="currentColor">
<path d="M8.5 3a5.5 5.5 0 0 1 4.383 8.823l4.147 4.147a.75.75 0 0 1-.976 1.133l-.084-.073l-4.147-4.147A5.5 5.5 0 1 1 8.5 3zm0 1.5a4 4 0 1 0 0 8a4 4 0 0 0 0-8z" fill="currentColor"></path>
</g>
</svg>
<span id="search-input">Search...</span>
<div class="short-key">
<kbd class="key-cap"><span>Ctrl K</span></kbd>
</div>
</form>
<script>
window.algolia = {
appId: "5DTW808BZ8",
SearchOnlyAPIKey: "27845b245efc8a2853cc0bdc7366ea26"
}
2023-11-03 14:52:16 +08:00
window.search = {
enable: "true"
}
2023-10-30 10:58:06 +08:00
</script>
2023-11-06 13:43:11 +08:00
<script src="/js/9f145c31.js"></script>
2023-10-30 10:58:06 +08:00
2023-11-03 14:52:16 +08:00
2023-10-30 10:58:06 +08:00
<!-- navigation -->
<link rel="stylesheet" href="/css/3efc6cb5.css">
<section class="category-nav scrollbar-obtrusive">
<ul class="nav-items">
<li data-path="archives">
<a href="/archives">
<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 7v14"></path>
<path d="M9 18l3 3l3-3"></path>
<circle cx="12" cy="5" r="2"></circle>
</g>
</svg>
<div class="ellipsis">Timeline</div>
</a>
</li>
<li data-path="roadmap">
<a href="/roadmap">
<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="M10.5 20.4l-6.9-6.9c-.781-.781-.781-2.219 0-3l6.9-6.9c.781-.781 2.219-.781 3 0l6.9 6.9c.781.781.781 2.219 0 3l-6.9 6.9c-.781.781-2.219.781-3 0z"></path>
<path d="M9 14v-2c0-.59.414-1 1-1h5"></path>
<path d="M13 9l2 2l-2 2"></path>
</g>
</svg>
<div class="ellipsis">Roadmap</div>
</a>
</li>
<li data-path="resume">
<a href="/resume">
<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="M14 3v4a1 1 0 0 0 1 1h4"></path>
<path d="M5 8V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2h-5"></path>
<circle cx="6" cy="14" r="3"></circle>
<path d="M4.5 17L3 22l3-1.5L9 22l-1.5-5"></path>
</g>
</svg>
<div class="ellipsis">Resume</div>
</a>
</li>
</ul>
<p>Category</p>
<ul>
<li class="">
2023-11-06 14:37:35 +08:00
<a href="/categories/EQ/">
2023-10-30 10:58:06 +08:00
<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="M5.636 5.636a9 9 0 0 1 13.397.747L13.414 12l5.619 5.617A9 9 0 1 1 5.636 5.636z"></path><circle cx="11.5" cy="7.5" r="1" fill="currentColor"></circle></g></svg>
<div class="ellipsis">
<span>
2023-11-06 14:37:35 +08:00
EQ
2023-10-30 10:58:06 +08:00
</span>
</div>
</a>
</li>
<li class="">
2023-11-06 14:37:35 +08:00
<a href="/categories/Hexo/">
2023-10-30 10:58:06 +08:00
<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="M4 17v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1"></path><path d="M8 16h8"></path><path d="M8.322 12.582l7.956.836"></path><path d="M8.787 9.168l7.826 1.664"></path><path d="M10.096 5.764l7.608 2.472"></path></g></svg>
<div class="ellipsis">
<span>
2023-11-06 14:37:35 +08:00
Hexo
2023-10-30 10:58:06 +08:00
</span>
</div>
</a>
</li>
<li class="">
2023-11-06 15:04:45 +08:00
<a href="/categories/Finance/">
2023-11-06 13:28:00 +08:00
<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"><circle cx="12" cy="12" r="9"></circle><path d="M14.8 9A2 2 0 0 0 13 8h-2a2 2 0 0 0 0 4h2a2 2 0 0 1 0 4h-2a2 2 0 0 1-1.8-1"></path><path d="M12 6v2m0 8v2"></path></g></svg>
2023-11-06 13:25:44 +08:00
<div class="ellipsis">
<span>
2023-11-06 15:04:45 +08:00
Finance
2023-11-06 13:25:44 +08:00
</span>
</div>
</a>
</li>
<li class="">
2023-11-06 15:04:45 +08:00
<a href="/categories/Front-End/">
2023-11-06 13:28:00 +08:00
<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="M20 4l-2 14.5l-6 2l-6-2L4 4z"></path><path d="M7.5 8h3v8l-2-1"></path><path d="M16.5 8H14a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h1.423a.5.5 0 0 1 .495.57L15.5 15.5l-2 .5"></path></g></svg>
2023-10-30 10:58:06 +08:00
<div class="ellipsis">
<span>
2023-11-06 15:04:45 +08:00
Front-End
2023-10-30 10:58:06 +08:00
</span>
</div>
</a>
</li>
</ul>
</section>
<script src="/js/f8b20eb9.js"></script>
<!-- icp -->
<div class="icp">
<a target="_blank" rel="noopener" href="http://beian.miit.gov.cn/">苏ICP备19008833号-4</a>
</div>
</div>
</aside>
<main>
2023-11-03 14:25:01 +08:00
<link rel="stylesheet" href="/css/8eb236e5.css">
2023-10-30 10:58:06 +08:00
<div class="resume scrollbar-obtrusive">
<div class="container">
<aside>
<div class="base">
<figure>
2023-11-03 14:52:16 +08:00
<img src="/img/avatar.png" />
2023-10-30 10:58:06 +08:00
</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>
2023-10-31 13:15:48 +08:00
<h2><span>Resume</span></h2>
2023-10-30 10:58:06 +08:00
<!-- introduction -->
<div class="about-me">
2023-10-31 14:01:43 +08:00
<p>熟练掌握Vue和React全家桶包括状态管理和组件库如ElementPlus 和 AntDesign。在前端工程化方面有 Webpack 和 Vite 的配置经验。具备 SpringBoot、Egg、Koa2 和 Midway 的项目经验,并在微服务架构下使用 Nestjs。熟悉Linux基础命令和Nginx、Docker的使用。</p>
2023-10-30 17:01:44 +08:00
<p>在3D图形和医疗前端方面具有 three.js 和 Vtk.js 的实践经验</p>
2023-10-30 10:58:06 +08:00
</div>
<h4>Skill</h4>
<ul class="skill">
2023-10-30 17:01:44 +08:00
<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>
2023-10-30 10:58:06 +08:00
2023-10-30 17:01:44 +08:00
<li>有 Monorepo 工程化经验,具备单体前后端分离应用 DevOps 能力</li>
2023-10-30 10:58:06 +08:00
2023-10-30 17:01:44 +08:00
<li>熟悉 three.js、了解 Vtk.js具备医疗 3D 前端、图形学相关的开发经验</li>
2023-10-30 10:58:06 +08:00
2023-10-30 17:01:44 +08:00
<li>掌握 Linux 基本命令,了解 Nginx、Docker 基本使用</li>
2023-10-30 10:58:06 +08:00
</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">
2023-10-31 13:58:05 +08:00
<p class="name">南京信息工程大学滨江学院 / 本科</p>
2023-10-30 10:58:06 +08:00
<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">
2023-10-31 13:58:05 +08:00
<p class="name">拓微摹心数据科技(南京)有限公司 · 全栈</p>
2023-10-30 10:58:06 +08:00
<div class="period">2021.09 ~ 至今</div>
</li>
<li class="item">
2023-10-31 13:58:05 +08:00
<p class="name">南京寻鹿网络科技有限公司 · 前端</p>
<div class="period">2016.09 ~ 2019.06</div>
2023-10-30 10:58:06 +08:00
</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>
2023-10-30 17:01:44 +08:00
</label>CVPilot算法、标注数据中台
2023-10-30 10:58:06 +08:00
</p>
2023-10-30 17:01:44 +08:00
<div class="desc">具备高精度数据标注、强大的数据管理、算法集成、多级用户权限、标注流程协作、算法模型版本、训练测试、API接口和数据可视化等功能全面支持公司内部医疗影像分析和诊断</div>
2023-10-30 10:58:06 +08:00
<ul class="list">
2023-10-30 17:01:44 +08:00
<li>使用 Pnpm workspace 实现 Monorepo 多个代码仓库管理,支持多个框架并存,可共享公共组件库和能力</li>
2023-10-30 10:58:06 +08:00
2023-10-30 17:01:44 +08:00
<li>自行使用 rollup 沉淀了部分可复用基础模块UI 组件库、对象存储、邮件、短信、企业微信机器人通知</li>
2023-10-30 10:58:06 +08:00
2023-10-31 13:58:05 +08:00
<li>使用 Nest.js 开发,基于事件驱动架构,重构后端服务体系</li>
2023-10-30 17:01:44 +08:00
<li>基于 rbac 设计了认证中心,解决业务应用中用户统一授权、鉴权的问题</li>
<li>使用 orthanc 搭建 Pacs 影像、并且基于标注、业务流程设计了影像上层的标签系统</li>
<li>使用 pdf.js 实现 3Mensio、FluoroCT 医疗报告关键字段的自动解析Cover了 80%+ 的字段</li>
<li>设计了前后端一体开发的领域驱动设计DDD项目架构并成功实践</li>
2023-10-30 10:58:06 +08:00
</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>
2023-10-30 17:01:44 +08:00
</label>TAVR手术辅助决策系统 Tavigator™
2023-10-30 10:58:06 +08:00
</p>
2023-10-30 17:01:44 +08:00
<div class="desc">系统实现了对CT影像主动脉根部解剖结构的全自动化、全流程手术规划测量为瓣膜选型、术中并发症风险预测</div>
2023-10-30 10:58:06 +08:00
<ul class="list">
2023-11-01 16:18:17 +08:00
<li>基于容器,解决算法输出 stl 模型增加血管壁厚等后处理需求</li>
2023-10-30 17:01:44 +08:00
<li>在 OHIF 基础上重新规划项目结构工程化相关优化构建速度提升8倍</li>
<li>对 orthanc 配置进行了优化,使用 postgreSQL 存储影像数据</li>
<li>实践了 threejs 替换了 vtk.js 的默认三维渲染引擎,节省了某些场景下 Vtk.js占用内存过大的问题</li>
<li>使用了 chrome的 snapshot、调用栈优化页面内存 3GB+,使用 Indexdb 与 Webworker 对 Dicom 读片速度优化了3倍以上</li>
2023-10-30 10:58:06 +08:00
2023-10-30 17:01:44 +08:00
<li>使用 webworker、请求队列实现了在 http1.1 环境下,提升用户上传 Dicom影像 74% 上传效率。同时针对不同大小、类型的文件,设计了不同的 Hash 切片方案,提升了文件完整性验证速度提升</li>
2023-10-30 10:58:06 +08:00
2023-10-30 17:01:44 +08:00
<li>使用了 Http3 和 nginx-quic使用 Brotli 替换 gzip实现了静载资源传输速度提升 17% - 25%</li>
2023-10-30 10:58:06 +08:00
</ul>
</li>
2023-10-31 13:58:05 +08:00
<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>
2023-10-30 10:58:06 +08:00
</ul>
2023-10-31 13:15:48 +08:00
<h2 class="portfolio-title"><span>Portfolio</span></h2>
<!-- portfolio -->
<div class="portfolio">
<div class="magic-cards">
2023-10-31 13:37:45 +08:00
<a target="_blank" rel="noopener" href="https://www.tavi.fit" class="card">
<div class="card-content">
2023-11-03 14:25:01 +08:00
<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>
2023-10-31 13:37:45 +08:00
</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>
</a>
<a target="_blank" rel="noopener" href="https://amo.mozzie.cn/" class="card">
<div class="card-content">
2023-11-03 14:25:01 +08:00
<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>
2023-10-31 13:37:45 +08:00
</div>
<div class="card-info-wrapper">
<div class="card-info">
<div class="card-info-title">
<h3 class="ellipsis">Bolt Design</h3>
<h4 class="ellipsis">基于 Vite 开发的 React 组件、文档一体化系统</h4>
</div>
</div>
</div>
</div>
</a>
<a target="_blank" rel="noopener" href="https://github.com/17px/hexo-theme-cosy" class="card">
<div class="card-content">
2023-11-03 14:25:01 +08:00
<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>
2023-10-31 13:37:45 +08:00
</div>
<div class="card-info-wrapper">
<div class="card-info">
<div class="card-info-title">
<h3 class="ellipsis">hexo-theme-cosy</h3>
<h4 class="ellipsis">Minimalist, pursuing the ultimate loading speed for a Hexo theme</h4>
</div>
</div>
</div>
</div>
</a>
2023-10-31 13:15:48 +08:00
</div>
</div>
2023-10-30 10:58:06 +08:00
</main>
</div>
</div>
2023-10-31 13:15:48 +08:00
<script src="/js/9f1cd854.js"></script>
2023-10-30 10:58:06 +08:00
</main>
</body>
<script>
window.i18n = {
"tip-collapse": "Collapse",
"tip-expand": "Expand",
"text-select": "select",
"text-move": "movement",
"text-esc": "close",
"tip-status-done": "Done",
"tip-status-doing": "In Progress",
"tip-status-todo": "Todo",
"tip-status-other": "Duplicate",
"tip-status-default": "Default",
"tip-roadmap-today": "Positioning to the today",
"text-search": "Search...",
"text-today": "Today",
// month
"January": "January",
"February": "February",
"March": "March",
"April": "April",
"May": "May",
"June": "June",
"July": "July",
"August": "August",
"September": "September",
"October": "October",
"November": "November",
"December": "December",
}
</script>
2023-11-06 16:14:34 +08:00
<script src="/js/58c91c4e.js"></script>
2023-10-30 10:58:06 +08:00
</html>