blog-hexo/public/cosy-resume/index.html

533 lines
28 KiB
HTML
Raw Normal View History

2023-12-25 16:43:49 +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-12-26 10:56:25 +08:00
简历 · 陈不渡 Mozzie
2023-12-25 16:43:49 +08:00
</title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="author" content="Mozzie">
2024-03-15 15:38:52 +08:00
<link rel="canonical" href="https://maxshader.com/cosy-resume/index.html">
2023-12-25 16:43:49 +08:00
<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-12-28 11:27:53 +08:00
<link rel="stylesheet" href="/css/b4c95347.css">
2023-12-25 16:43:49 +08:00
<script>window.i18n = {"tip-status-done":"完成","tip-status-default":"全部","tip-status-todo":"计划","tip-status-doing":"进行","tip-status-other":"其他","text-select":"选择","text-move":"移动","text-esc":"退出","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月"}</script>
<meta name="generator" content="Hexo 7.0.0"></head>
<body id="app">
<aside id="aside-box" class="left-aside">
<div class="header">
<link rel="stylesheet" href="/css/61875ce9.css">
<div class="profile">
<a class="badge" href="/">
<span>Hi</span>
<span>Mozzie</span>
</a>
<cosy-tooltip id="left-aside-button" placement="right">
<span slot="content">
<span>显示 / 隐藏 左侧导航</span>
<cosy-short-key>[</cosy-short-key>
</span>
<cosy-icon>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20">
<g fill="none">
<path d="M16 4c1.104-.019 2 .896 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h12zm1 2a1 1 0 0 0-1-1h-2.995v10H16a1 1 0 0 0 1-1V6zm-4.995 9V5H4.001a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8.004z" fill="currentColor"></path>
</g>
</svg>
</cosy-icon>
</cosy-tooltip>
</div>
2023-12-28 11:27:53 +08:00
<script src="/js/e0a67917.js"></script>
2023-12-25 16:43:49 +08:00
<cosy-search id="post-search" placeholder="搜索">
<div slot="short-key">
<cosy-short-key></cosy-short-key>
<cosy-short-key>K</cosy-short-key>
</div>
</cosy-search>
<script>
window.algolia = {
appId: "5DTW808BZ8",
SearchOnlyAPIKey: "27845b245efc8a2853cc0bdc7366ea26"
}
</script>
2023-12-28 11:27:53 +08:00
<script src="/js/62d6af47.js"></script>
2023-12-25 16:43:49 +08:00
</div>
<div class="aside-category">
<link rel="stylesheet" href="/css/db04a759.css">
<nav class="category-nav cosy-scrollbar">
<ul><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 20 20"><g fill="none"><path d="M3.5 3A1.5 1.5 0 0 0 2 4.5v4A1.5 1.5 0 0 0 3.5 10h9A1.5 1.5 0 0 0 14 8.5v-4A1.5 1.5 0 0 0 12.5 3h-9zM3 4.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-4zm.5 6.5A1.5 1.5 0 0 0 2 12.5v4A1.5 1.5 0 0 0 3.5 18h9a1.5 1.5 0 0 0 1.5-1.5v-4a1.5 1.5 0 0 0-1.5-1.5h-9zM3 12.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-4zm14-.063a2.003 2.003 0 0 1-2.5-1.937A2 2 0 0 1 16 8.563a2.005 2.005 0 0 1 1 0a2 2 0 0 1 0 3.874zM16.5 3a.5.5 0 0 1 .5.5v4.041a3.02 3.02 0 0 0-1 0V3.5a.5.5 0 0 1 .5-.5zm0 10.5c-.17 0-.337-.014-.5-.041V17.5a.5.5 0 0 0 1 0v-4.041c-.163.027-.33.041-.5.041z" fill="currentColor"></path></g></svg>
<div class="ellipsis">归档</div>
</a>
</li><li data-path="cosy-roadmap">
<a href="/cosy-roadmap">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M9.384 2a1 1 0 0 0-.966.742L4.616 17H2.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-2.116L11.582 2.742A1 1 0 0 0 10.616 2H9.384zM5.651 17l.8-3H11.5a.5.5 0 0 0 0-1H6.717l.534-2H10.5a.5.5 0 0 0 0-1H7.517l1.867-7h1.232l3.733 14H5.651z" fill="currentColor"></path></g></svg>
<div class="ellipsis">路线图</div>
</a>
</li><li data-path="cosy-resume">
<a href="/cosy-resume">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M8.5 4.498a1.5 1.5 0 1 1 3 0a1.5 1.5 0 0 1-3 0zm1.5-2.5a2.5 2.5 0 0 0-2.43 3.086L5.471 4.15a1.761 1.761 0 0 0-2.317.88c-.4.882-.008 1.917.877 2.31L7 8.662v2.287l-1.877 4.645a1.75 1.75 0 0 0 3.245 1.311l1.556-3.849a.073.073 0 0 1 .028-.038a.086.086 0 0 1 .046-.012c.02 0 .035.005.046.012a.074.074 0 0 1 .028.038l1.555 3.849a1.75 1.75 0 0 0 3.245-1.311L13 10.96V8.662l2.968-1.322a1.74 1.74 0 0 0 .877-2.31a1.761 1.761 0 0 0-2.317-.88l-2.097.934a2.5 2.5 0 0 0-2.43-3.086zM4.065 5.444a.761.761 0 0 1 1-.38l3.918 1.744a2.5 2.5 0 0 0 2.034 0l3.918-1.744a.761.761 0 0 1 1 .38a.739.739 0 0 1-.373.983l-2.969 1.321a1 1 0 0 0-.593.914v2.298a1 1 0 0 0 .073.375l1.872 4.633a.75.75 0 0 1-1.39.562l-1.556-3.849c-.364-.9-1.639-.9-2.003 0l-1.555 3.85a.75.75 0 1 1-1.39-.562l1.876-4.646A1 1 0 0 0 8 10.95V8.662a1 1 0 0 0-.593-.914L4.438 6.427a.739.739 0 0 1-.373-.983z" fill="currentColor"></path></g></svg>
<div class="ellipsis">简历</div>
</a>
</li></ul>
<ul><li class="">
2023-12-26 10:59:02 +08:00
<a href="/categories/CS/">
<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-12-25 16:43:49 +08:00
<div class="ellipsis">
2023-12-26 10:59:02 +08:00
<span>CS</span>
2023-12-25 16:43:49 +08:00
</div>
</a>
</li><li class="">
2023-12-26 10:59:02 +08:00
<a href="/categories/EQ/">
<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>
2023-12-25 16:43:49 +08:00
<div class="ellipsis">
2023-12-26 10:59:02 +08:00
<span>EQ</span>
2023-12-25 16:43:49 +08:00
</div>
</a>
</li><li class="">
2023-12-26 10:59:02 +08:00
<a href="/categories/Hexo/">
<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>
2023-12-25 16:43:49 +08:00
<div class="ellipsis">
2023-12-26 10:59:02 +08:00
<span>Hexo</span>
2023-12-25 16:43:49 +08:00
</div>
</a>
</li><li class="">
2023-12-26 10:59:02 +08:00
<a href="/categories/%E8%87%AA%E5%AA%92%E4%BD%93/">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><path d="M9 12a4 4 0 1 0 4 4V4a5 5 0 0 0 5 5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>
2023-12-25 16:43:49 +08:00
<div class="ellipsis">
2023-12-26 10:59:02 +08:00
<span>自媒体</span>
2023-12-25 16:43:49 +08:00
</div>
</a>
</li><li class="">
2023-12-26 10:59:02 +08:00
<a href="/categories/%E8%AF%BB%E4%B9%A6/">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M4 16V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v11a1 1 0 0 1-1 1H5a1 1 0 0 0 1 1h9.5a.5.5 0 0 1 0 1H6a2 2 0 0 1-2-2zM15 4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v11h10V4zM7.041 8h.973c.045-.773.192-1.485.42-2.059A3.002 3.002 0 0 0 7.04 8zM6 8.5a4 4 0 1 1 8 0a4 4 0 0 1-8 0zm6.959-.5a3.002 3.002 0 0 0-1.392-2.059c.227.574.374 1.286.419 2.059h.973zm-.973 1c-.045.773-.192 1.486-.42 2.059A3.002 3.002 0 0 0 12.96 9h-.973zm-1.002-1c-.046-.707-.189-1.324-.383-1.778c-.12-.28-.25-.474-.368-.591c-.117-.115-.195-.131-.233-.131c-.038 0-.116.016-.233.13c-.118.118-.248.312-.368.592c-.194.454-.337 1.07-.383 1.778h1.968zM9.016 9c.046.707.189 1.324.383 1.778c.12.28.25.474.368.591c.117.115.195.131.233.131c.038 0 .116-.016.233-.13c.118-.118.248-.313.368-.592c.194-.454.336-1.07.383-1.778H9.016zM8.014 9h-.973c.147.87.668 1.614 1.392 2.059c-.227-.573-.374-1.286-.419-2.059z" fill="currentColor"></path></g></svg>
2023-12-25 16:43:49 +08:00
<div class="ellipsis">
2023-12-26 10:59:02 +08:00
<span>读书</span>
2023-12-25 16:43:49 +08:00
</div>
</a>
</li><li class="">
2023-12-26 10:59:02 +08:00
<a href="/categories/%E8%B4%A2%E7%BB%8F/">
<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-12-25 16:43:49 +08:00
<div class="ellipsis">
2023-12-26 10:59:02 +08:00
<span>财经</span>
2023-12-25 16:43:49 +08:00
</div>
</a>
</li></ul>
</nav>
2023-12-28 11:27:53 +08:00
<script src="/js/da8f6845.js"></script>
2023-12-25 16:43:49 +08:00
</div>
<div class="bottom">
<cosy-tooltip id="button-preference" placement="right">
<span slot="content">
<span>偏好</span>
<cosy-short-key></cosy-short-key>
<cosy-short-key>p</cosy-short-key>
</span>
<cosy-icon bordered id="button-about-cosy-theme">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16">
<g fill="none">
<path d="M8 6a2 2 0 1 0 0 4a2 2 0 0 0 0-4zM7 8a1 1 0 1 1 2 0a1 1 0 0 1-2 0zm3.618-3.602a.708.708 0 0 1-.824-.567l-.26-1.416a.354.354 0 0 0-.275-.282a6.072 6.072 0 0 0-2.519 0a.354.354 0 0 0-.275.282l-.259 1.416a.71.71 0 0 1-.936.538l-1.359-.484a.355.355 0 0 0-.382.095c-.569.627-1 1.367-1.262 2.173a.352.352 0 0 0 .108.378l1.102.931a.704.704 0 0 1 0 1.076l-1.102.931a.352.352 0 0 0-.108.378A5.986 5.986 0 0 0 3.53 12.02a.355.355 0 0 0 .382.095l1.36-.484a.708.708 0 0 1 .936.538l.258 1.416c.026.14.135.252.275.281a6.075 6.075 0 0 0 2.52 0a.353.353 0 0 0 .274-.281l.26-1.416a.71.71 0 0 1 .936-.538l1.359.484c.135.048.286.01.382-.095c.569-.627 1-1.367 1.262-2.173a.352.352 0 0 0-.108-.378l-1.102-.931a.703.703 0 0 1 0-1.076l1.102-.931a.352.352 0 0 0 .108-.378A5.985 5.985 0 0 0 12.47 3.98a.355.355 0 0 0-.382-.095l-1.36.484a.71.71 0 0 1-.111.03zm-6.62.58l.937.333a1.71 1.71 0 0 0 2.255-1.3l.177-.97a5.105 5.105 0 0 1 1.265 0l.178.97a1.708 1.708 0 0 0 2.255 1.3L12 4.977c.255.334.467.698.63 1.084l-.754.637a1.704 1.704 0 0 0 0 2.604l.755.637a4.99 4.99 0 0 1-.63 1.084l-.937-.334a1.71 1.71 0 0 0-2.255 1.3l-.178.97a5.099 5.099 0 0 1-1.265 0l-.177-.97a1.708 1.708 0 0 0-2.255-1.3L4 11.023a4.987 4.987 0 0 1-.63-1.084l.754-.638a1.704 1.704 0 0 0 0-2.603l-.755-.637c.164-.386.376-.75.63-1.084z" fill="currentColor"></path>
</g>
</svg>
</cosy-icon>
</cosy-tooltip>
</div>
</aside>
<main>
2024-01-02 09:27:23 +08:00
<link rel="stylesheet" href="/css/90d5ae48.css">
2023-12-25 16:43:49 +08:00
<div class="resume cosy-scrollbar">
<div class="header">
<h3>Hi! Mozzie</h3>
<!-- 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>
<figure>
2024-03-16 08:51:50 +08:00
<img src="/img/avatar.jpg" />
2023-12-25 16:43:49 +08:00
<div class="aperture"></div>
<div class="aperture"></div>
<div class="aperture"></div>
</figure>
<div class="social">
<cosy-tooltip>
<span slot="content">github</span>
<a target="_blank" rel="noopener" href="https://github.com/17px">
<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>
</cosy-tooltip>
</div>
<ul>
<li>
<span class="vague-icon">
<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="vague-icon">
<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="vague-icon">
<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="vague-icon">
<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>
<cosy-divider margin="0 0 2rem 0"></cosy-divider>
<div class="content">
<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="vague-icon">
<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>教育经历</h4>
</li>
<li class="item">
<p class="name">南京信息工程大学滨江学院 / 本科</p>
<div class="period">2012-2016</div>
</li>
</ul>
<!-- experience -->
<ul>
<li class="title">
<span class="vague-icon">
<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>工作经历</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="vague-icon">
<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>项目</h4>
</li>
<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>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>
</ul>
</li>
<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>TAVR手术辅助决策系统 Tavigator™
</p>
<div class="desc">系统实现了对CT影像主动脉根部解剖结构的全自动化、全流程手术规划测量为瓣膜选型、术中并发症风险预测</div>
<ul class="list">
<li>基于容器,解决算法输出 stl 模型增加血管壁厚等后处理需求</li>
<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>
</ul>
</li>
<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>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="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>瓣侣 - 微信小程序
</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>作品集</span></h2>
<!-- portfolio -->
<div class="portfolio">
<cosy-card-group>
<cosy-card>
2024-01-02 09:27:23 +08:00
<a class="card" target="_blank" rel="noopener" href="https://www.tavi.fit">
2023-12-25 16:43:49 +08:00
<div class="title">
<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>
<span>CVPilot (原Tavigator)</span>
</div>
2023-12-25 16:45:46 +08:00
<p class="desc">基于深度学习测量、分割的 TAVI 手术辅助决策系统</p>
2024-01-02 09:27:23 +08:00
</a>
2023-12-25 16:43:49 +08:00
</cosy-card>
<cosy-card>
2024-01-02 09:27:23 +08:00
<a class="card" target="_blank" rel="noopener" href="https://amo.mozzie.cn/">
2023-12-25 16:43:49 +08:00
<div class="title">
<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>
<span>Bolt Design</span>
</div>
<p class="desc">基于 Vite 开发的 React 组件、文档一体化系统</p>
2024-01-02 09:27:23 +08:00
</a>
2023-12-25 16:43:49 +08:00
</cosy-card>
<cosy-card>
2024-01-02 09:27:23 +08:00
<a class="card" target="_blank" rel="noopener" href="https://github.com/17px/hexo-theme-cosy">
2023-12-25 16:43:49 +08:00
<div class="title">
<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>
<span>hexo-theme-cosy</span>
</div>
2023-12-25 16:45:46 +08:00
<p class="desc">极简主义追求Hexo主题的终极加载速度</p>
2024-01-02 09:27:23 +08:00
</a>
2023-12-25 16:43:49 +08:00
</cosy-card>
</cosy-card-group>
</div>
</div>
</div>
<script src="/js/31d6cfe0.js"></script>
</main>
</body>
<script>
window.theme = {
color: 'hsl(238,50%,56%)'
}
</script>
2023-12-28 11:27:53 +08:00
<script src="/js/82a967e8.js"></script>
2023-12-25 16:43:49 +08:00
</html>