刘哲轩,中国浙江杭州的开发商
Zhexuan is available for hire
Hire Zhexuan

Zhexuan Liu

Verified Expert  in Engineering

Software Developer

Location
Hangzhou, Zhejiang, China
Toptal Member Since
December 5, 2018

从2013年开始,哲轩一直在开发前端和后端应用. 他曾在Microsoft Dynamics团队工作,为多个版本的Microsoft Dynamics提供大量功能. 他对不同的前端和后端框架有全面的了解, test-driven development, and CI/CD. 他还开发混合应用程序,并在机器学习方面拥有学术和项目经验.

Portfolio

Kiwi, Inc.
Webpack, CSS, HTML,重选,Git,芹菜,Django, Python, Couchbase, Android...
Microsoft
Webpack, CSS, HTML,重选,Git, .NET, SQL, C#, Node.js, React, TypeScript
Microsoft
Webpack, CSS, HTML,重选,Git, Python, Bash Script, .NET, SQL, C#, React...

Experience

Availability

Part-time

Preferred Environment

Ubuntu, CentOS, Linux, MacOS, Visual Studio Code (VS Code), GitLab, GitHub

The most amazing...

...我开发的是Meshkit.. com)网格产品线,这是跨不同领域的项目-赋予无人机用户一个完整的解决方案.

Work Experience

Partner | Tech Lead

2017 - PRESENT
Kiwi, Inc.
  • 交付和部署处理业务逻辑的稳定后端项目, data syncing, and socket communication across mainland China and overseas servers (on both Aliyun and AWS); used Docker, Node.js, and TypeScript.
  • 为整个项目的后端创建了测试驱动的开发工作流和CI/CD过程.
  • 通过使用OpenDroneMap和Panorama Stitcher服务提供3D建模服务,以便处理通过我们的产品收集的图像. It was developed by Python.
  • 通过使用GraphQL集成Altizure SDK.
  • 使用Next为我公司交付官方网站.使用Docker部署它.
  • 交付了一个跨平台的桌面应用程序(i.e.(网格桌面)为我们公司,使用电子,Vue.js、Webpack,完成单元测试和端到端测试.
  • 交付了一个轻量级的JavaScript引擎(一个类似React native的框架),使大疆无人机应用程序的JavaScript开发更快、更容易. Mainly used the paradigm of Vue.js and utilized well-known libraries MobX and snabbdom; also used rollup to pack up and ship the library to NPM.
  • 使用Vue交付了一个webview处理用户帐户和权限管理.js and Webpack.
  • Delivered a WeChat mini app, 一个可以查询和标记中国大陆禁飞区状态的UGC平台.
  • 使用Django为多个后端项目交付管理门户.
  • 参与发布移动应用Mesh(在中国App store上线), 它包含由轻量级的ReactNative(我们自己开发的)构建的视图, 如以上经验所述).
Technologies: Webpack, CSS, HTML,重选,Git,芹菜,Django, Python, Couchbase, Android, Java, MySQL, Nuxt.js, Next.js、Vue、React、TypeScript、Node.js, Docker, Electron

二级高级技术主任(二级软件开发工程师)

2015 - 2017
Microsoft
  • 继续致力于OfficeGroup与CRM的集成,并交付了OfficeGroup的解决方案v1.0, v2.0, and v2.5 in Microsoft CRM.
  • 从v2开始担任解决方案的owner和leader.0, v2后交给厂商团队.5. 它也成为CRM平台上最流行的解决方案之一.
  • 是被另一个团队“借用”来做TBX项目的吗, 一个微软客户关系管理的插件,并保护该项目直到其GA.
  • 参与开发CRM统一客户端, 它的目标是OneCRM解决方案,它将成为跨不同平台和设备的CRM统一客户端. 这是一个重要的里程碑,重构了整个CRM产品线, 我从一开始就参与了这个项目.
  • 与同事分享有关React的知识, TypeScript, CSS以及使用c#和Node进行后端开发.js.
  • 负责多个项目的本地化和无障碍功能.
  • 与供应商沟通,跟踪他们的进度和OfficeGroup与CRM集成的测试结果.
技术:Webpack, CSS, HTML, Reselect, Git, .NET, SQL, C#, Node.js, React, TypeScript

微软动态办公群组应用暑期实习生

2014 - 2014
Microsoft
  • 为OfficeGroup集成了一个CRM文件管理系统.
  • Joined the brainstorming, designing, 以及与项目经理就OfficeGroup集成进行原型设计的会议.
  • 在CI/CD上设计和工作,并测试整个项目.
  • 实现功能并修复后端端点使用的错误 .NET.
  • 使用Webpack和Rollup参与整个包和部署工作流.
  • 为项目开发编写助手脚本,并使用Bash和Python进行测试.
  • 交付文档和几篇博客文章供内部使用.
技术:Webpack, CSS, HTML,重选,Git, Python, Bash Script, .NET, SQL, C#, React, TypeScript

微软动态Web应用暑期实习生

2013 - 2013
Microsoft
  • 开发一个Windows 8应用程序,帮助项目经理管理项目. 它显示了项目中任务的分层树结构, 以及甘特图视图中每个任务的时间表.
  • 总结了Microsoft Dynamics AX环境及其业务逻辑.
  • 在编码之前创建一个系统设计,确保我的代码是干净的, maintainable, extendible, and reusable.
  • 通过使用Knockout应用MVVM模式.js in the front-end development.
  • Contributed to a certain back-end endpoint design and implementation; gained practical experience with SQL and C#.
技术:Webpack, CSS, HTML,重选,Git, SQL, c#, Node.js, Knockout (Knockout.js), TypeScript

Office Group Integration | Microsoft

http://docs.microsoft.com/en-us/dynamics365/customer-engagement/basics/collaborate-with-colleagues-using-office-365-groups
这个项目是为微软做的.

这是一个将Office Group服务从SharePoint迁移过来并与Microsoft Dynamic CRM集成的项目.

它是一个经典的单页应用(SPA),使用TypeScript, Knockout.js, and LESS. It allows CRM users to create, join, 管理自己的群组以及Office资源(文档), sheets, emails, conversations, and more) in the group. 这个项目是一个微软战略的关键项目之一,因为它为用户提供了微软动态的一站式体验.

对于后端,它使用c#和 .NET从SharePoint迁移后端端点和api,并使用One Microsoft的OAuth门户来处理帐户注册和管理.

我是版本1的核心开发者.这个项目的0和版本2的所有者.0 and version 2.5 of this project. 我还负责整个项目的可访问性和本地化的实施.

B.B.E. Official Website

这个项目是为Toptal的客户B完成的.B.E. (Bbe.io), 这是一个小的静态服务器端渲染网站项目,重新制作了他们的官方网站(他们的原始官方网站在提供的链接).

In this project, 我建立并启动了一个项目, 确定要使用的技术栈, 设计项目架构, 处理开发和部署, 写了详细的文档.

I used Nuxt.js来开发网站,还介绍了TypeScript, 和Vue-property-decorator来帮助改进编码和开发体验以及质量. In addition, 我还利用了像moment这样的库, Vuex, Vue i18n, 和Sass来实现我的客户想要的功能. 我将设计分解为特定的和可重用的Vue.js components, and made them data-driven, 这意味着数据被分离到相应的JavaScript文件中,以后可以很容易地替换/与客户端的CMS后端挂钩.

During the entire engagement, 我每天都和我的客户沟通,同步我的进度,并在早期阶段提出问题.

Fliteboard Official Website | B.B.E. (via Toptal)

这个项目也是为我的Toptal客户B做的.B.E. (Bbe.io). In fact, 这个项目没有在原计划中安排, 但被安排在之前的项目(i.e. B.B.E. 官方网站)已经完成,因为他们想延长我的参与工作与这个项目.

In this project, 我在建立和引导项目方面做出了充分的承诺, 确定要使用的技术堆栈, 设计项目架构, development, deployment, and detailed documentation.

这个项目包括迁移他们的旧网站(Fliteboard).com),用WordPress和PHP编写到next.j和保持完全相同. 换句话说,我的职责是由next重写网站.并使网站数据驱动,以便他们可以轻松地将其与CMS后端插入.

我使用纯JavaScript编写这个项目,并使用了next.Js来实现它作为一个服务器端渲染网站. In addition, 我利用了Vue i18n等库, Font Awesome, Vuex, Slick Carousel, Fancybox, and Turntable.Js从我的客户端实现所需的功能. 此外,我将整个网站分解为高度可重用的Vue.Js组件,并使用干净且注释良好的代码实现它们.

Mesh App (iOS,中文应用商店有售)

一款iOS应用程序,可以与大疆无人机进行通信和操作. 使用此应用程序,最终用户可以轻松地:
1. 为大疆无人机创建飞行任务,规划飞行路线.
2. 邀请其他用户加入任务并分享实时图像以及无人机操作.
3. 为不同行业的客户开发功能包.

该应用程序由两部分组成:
1. 本机应用程序,用于处理用户登录、帐户管理和任务创建.
2. 在任务内部,视图是用类似React native的轻量级框架构建的.e.(我们建立并在我的作品集中提到的特使框架)。.

可以登录到应用程序中使用以下凭据.

phone: 18344408081
password: Eric911216

统一客户端接口|微软

http://blogs.msdn.microsoft.com/crm/2018/04/11/unified-interface-overview/
Microsoft Dynamics的里程碑项目.

该项目是一个模型驱动的应用程序,它是使用TypeScript和React以及许多有用的库(如Moment)构建的.js and so on.

从第一阶段开始, 我参与了app状态和大部分控件的设计,比如网格, dialog, dropdown, sidebar, navbar, breadcrumb, forms, timeline, search, tab, and more.

在设计和原型制作阶段之后, 我参与了整个项目的实现(包括CSS和React)——拥有仪表板页面, dialogs, 活动页面以及这些页面中的控件. Moreover, 我与团队合作,为我拥有的页面提供可访问性和本地化. 此外,我还帮助使用c#和c#实现后端门户 .NET.

基于任务的体验(TBX) |微软

基于任务的体验是Microsoft Dynamics 365中的一项服务/功能,使用户能够专注于任务,并将来自不同实体的数据作为一站式用户体验汇集在一起.

In this project, 我参与了任务流程的实施, the card control, 以及表单控制和可访问性特性. 这个项目的后端门户已经得到了完全的支持,所以我们主要使用c#和 .NET.

Mesh Desktop

这是一个跨平台的应用程序,目前运行在生产环境中,为数百家Kiwi公司提供服务.我们在中国大陆的企业客户.

该项目是基于著名的电子库,与Vue一起开发的一个应用.js and TypeScript. 我设计了这个应用程序的整个架构,并从头开始实现它, including all of the controls, pages, state management, file system, 与后端(以及相关的后端api)的交互, localization, Webpack packing, and deployment.

它支持Windows和macOS,结构良好,并带有注释.

Mesh Official Website

http://meshkit.cn
Kiwi公司官方网站.,由SSR框架开发.js and deployed using Docker.

现在这个项目正在生产中,服务于我们公司(Kiwi, Inc .).)向中国大陆的数百家企业客户和南美的几家企业客户介绍我们的产品和团队.

Inside this project, 我运用我的React知识和经验来构建项目架构,并使用了牛牛(Qiniu).com)作为任何静态资源的CDN服务. 除了Next支持的内置Webpack配置之外.为了更好的开发体验,我添加了自定义的PostCSS规则和JSX规则. 现在该项目正在使用最新的Next.js框架,我刚从v2迁移过来.0+ in October 2018. Moreover, 这个项目已经本地化为英文和简体中文, and it is highly maintainable.

目前,该项目部署在阿里云服务器上.

Drone Flight Route Planner

http://github.com/oozliuoo/drone-route-planning-demo
一个工作演示,帮助无人机在一般多边形区域的飞行路线规划.

在这个演示中,我使用高德地图API进行演示和显示.

In this project, 它将接受表示任何多边形的顶点数组,并输出一系列顶点,表示覆盖整个多边形区域的适当无人机飞行的有序路线.

In this project, 我运用了一个算法和几何知识来计算两个向量的点积/叉积, the vector intersection, 检查一个点是否在多边形内, 计算向量和多边形之间的交点, 并得到多边形的类型. Moreover, 我使用A*算法来找到多边形内部两点之间的最优路径,这样路径就不会走出多边形.

这个演示的输出现在在我们的生产网格应用程序中使用,并为建筑行业的客户提供服务.

Mesh-dev-cli

http://www.npmjs.com/package/mesh-dev-cli
这是Kiwi公司的前端开发工具., 帮助引导的统一开发CLI工具, building/compiling, testing, and deploying a Vue.js application.

该开发工具包含使用Vue开发的项目的Webpack配置.js和TypeScript在不同的环境中. 它允许用户传入可以在web项目中使用的全局环境变量.

这个开发工具是一个CLI工具,它使用户能够通过传递不适当的参数(用户可以输入-h)来执行预期的操作. 它还支持部署和Slack通知. Once the project is built, 用户可以分叉项目并更新服务器和Slack令牌以进行定制.

Mesh-envoy

http://www.npmjs.com/package/mesh-envoy
Kiwi, Inc .使用的轻量级JavaScript引擎., 使正在快速开发的JavaScript开发人员能够控制和通信大疆无人机和其他设备.

这个项目应用了几个前端框架的逻辑,比如Virtual DOM, change detection, and so on. 它还定义了典型特使组件的生命周期.

它利用流行的库snabbdom来处理虚拟DOM和变更检测,还实现了一个变更队列来允许注册, monitoring, and management of changes. Additionally, 它提供了一个事件管理器,其中包含一个事件发射器, 允许跨不同设备的自定义事件转发和接收(例如.g., iOS devices).

Mesh-envoy-mobx

http://www.npmjs.com/package/mesh-envoy-mobx
A modified version of MobX, 专门为Kiwi中使用的JavaScript引擎“envoy”开发的, Inc.

Languages

CSS, TypeScript, Python, JavaScript, HTML, TypeScript 3, HTML5, CSS3, JavaScript 6, Less, Python 3, Python 2, Java, GraphQL, SQL, Bash Script, C#, C#.NET

Frameworks

JavaScriptCore, Next.js, Nuxt.js、Electron、Tailwind CSS、Bootstrap、Angular、AngularJS、Redux、Knockout (Knockout . js).js), Django, React Native, .NET

Libraries/APIs

React, Vuex, Vue 2, Vue, Node.. js, Chai, REST api, RxJS, NumPy, SciPy, Pandas, MobX, Snabbdom, Reselect

Tools

Git, Vue CLI, Mocha, PostCSS, Docker Compose, Webpack, Makefile, Celery, Babel, GitHub, GitLab, Amazon弹性容器服务(Amazon ECS), AWS CLI, NPM, Rollup, Microsoft Dynamics AX

Paradigms

Model View Viewmodel (MVVM), Functional Programming, Declarative Programming, Continuous Integration (CI), Continuous Delivery (CD)

Platforms

Docker, Amazon Web Services (AWS), Anaconda, Amazon EC2, MacOS, Linux, CentOS, Ubuntu, Android, Visual Studio Code (VS Code)

Storage

MySQL, Couchbase, Couchbase Lite, MongoDB

Other

Responsive Design, APIs, Front-end, Vue-router, WeChat Mini Programs, Front-end Development, Software Development, OAuth, Cordova

2016 - 2019

计算机科学与人工智能硕士学位

佐治亚理工学院-亚特兰大,乔治亚州,美国

2010 - 2014

计算机工程和计算机科学学士学位

美国威斯康辛大学麦迪逊分校