我是一个非常喜欢编程的,自我驱动学习的程序员。
每当遇到新的问题,我都会先调研和学习前人的经验,再进行编码,避免写出过于“聪明”的代码。
我认为现代社会,编程就像《哈利波特》中的魔杖一样,可以帮我们建造很多很有意思的东西。
与魔法不同的是,编程的宗旨在于简单性,易读性。
这就是我现在做的事情,写出好玩,简单,可读的代码。
邮箱: xwhxbg@gmail.com 电话: 18627036360 (中国)
-
前端工程师 航班管家 2016-05 至 2017-07
- 基于 Mithril 框架的单页 web 应用
包括路由,状态管理,会话恢复,复杂交互组件。
- 维护公司的 Gitlab 和 Gitlab CI.
包括对应问题的debug,Gitlab的升级和迁移等。
- 基于 Express & Node.js 的页面渲染,API 转发
包括JS和CSS打包,请求追踪,请求缓存。 支持JS动态打包,typescript动态编译打包。
-
后端工程师 悦然心动 2017-08 至 2018-04
- 基于 Express & Node.js 的后端 API
除此之外还有复杂异步流程管理,以及golang和Python实现的部分功能。 用node与DynamoDB交互。 部署在lambda,ELB和容器内。
- 基于 Gin & Golang 的社交应用后端 AI
基于GORM与postgres交互,以及使用postGIS计算地理位置。 使用Jenkins编译并发布golang应用。
- 维护 AWS dynamoDB, RDS, Lambda, EC2, Kenisis etc.
-
全栈工程师 武汉大学大数据研究院 2018-08 至 2020-08
- 数据清洗,MySQL=>图数据库
MySQL数据转RDF,RDF导入图数据库,例如neo4j
- 图数据库上算法实现,业务查询接口
通过sparql查询indgree,outdegree,density,distance,circle等图属性
- 前端页面
通过d3.js和echarts.js展示graph
-
武汉辰舞科技 CTO 2020-08 至今
- 基于 tox 和 rust 的分布式通讯框架
实现基于tox的分布式隐蔽通讯,点对点传输
- 基于 tokio 和 rust 的 codec 通讯框架
实现各种协议上的codec frame,session和router机制
- 基于 bert 迁移学习的党史事件自动抽取
主持标注和清洗党史数据,构建并训练抽取模型,封装为http restful接口,用于马哲知识图谱构建
- 基于 ResNet50 迁移学习的烟雾识别
通过烟雾图片标注,迁移学习,实现识别图中的白色和黑色烟雾,用于秸秆焚烧自动报警服务
- dynamo.cli 使用 SQL 操作 AWS DynamoDB
解析SQL并将其转化为DynamoDB API。
用goroutine实现多查询并发以及命令行交互。
- siteWarden 监控网站变化,利用图像差异和 Chrome puppeteer 实现 (由于有密码泄露,这个仓库暂时被删掉了)
通过Chrome puppeteer登录网站。
如果图像差异超过阈值,则用邮件通知用户。
- NSFW image rating 基于 TensorFlow 和 Yahoo 的 open-NSFW 的鉴黄
通过爬虫过去训练材料。
通过TensorFlow建立并训练模型。
通过flask和gunicorn做成HTTP API。
- xinge push golang lib 腾讯信鸽 push 的 golang� lib,已被官方采纳
golang实现的服务端API
- rock blog 前后端都是 rust 的 � 博客系统
Rust后端,前端由Rust编译到webassembly,数据存在MongoDB中
- pm 进程管理器,类似 pm2
基于golang的pm2复刻,实现了基本的进程管理
- HTML/CSS/SCSS Layout and styling pack
阅读和编写HTML页面,CSS框架,解决浏览器兼容性问题。
- Javascript in browsers
熟悉原生JavaScript API,主流MVC框架,例如React,Vue,Mithril等。
了解web assembly,asm.js。了解浏览器端JavaScript性能优化。
- Javascript in Node.js(Quiet different)
熟悉Express,KOA等HTTP路由框架。
了解流式编程,异步流程控制,事件循环。
- Golang
熟悉Gin,Beego等HTTP路由框架。
熟悉tui-go,go-prompt等命令行框架。
了解slice,goroutine,channel和interface的底层实现。
了解如何debug goroutine泄露,channel死锁。
了解如何测试,描述,和性能测试。
了解go和主流SQL和NoSQL数据库交互。
- Rust
熟悉tokio,future并发编程
熟悉codec,frame,中间件,router的各种机制
- Transformers
熟悉Bert,RestNet等主流nlp和图像处理模型
熟悉数据清洗,平衡,归一化
熟悉超参数调优
熟悉模型指标评价
熟悉模型裁剪,量化,封装为接口
- Rust
- Python
- Reason
- Julia
29