简历详细

简历文件

中文简历 cv_zh.pdf | 英文简历 cv_en.pdf

简介

杨心,95年生,男。重庆理工大学(二本)。

性格比较内向,不太喜欢说话。

日常喜欢动漫文化,会弹吉他和尤克里里,在学习绘画中。

并不是肥宅。

经历

以下是大学期间加入的一些团队组织和经历。

CFC Studio

网站链接:https://crazyforcode.org

这个组织是重庆理工大学第一个由学生自发创建的 IT 技术团队,主要面向于 Web 网页开发、移动端开发和服务器开发的新技术学习与实践。我自大一中期开始加入这个团队并一直保持活跃,自大二下开始作为团队技术担当管理整个团队。因为这是一个基本自治的团队,老师基本不会干涉团队的日常运作,我意识到了团队协作和谐相处的重要性,虽然日常时常会有团队成员之间的小摩擦,最后经过大家的努力沟通都化解了误会。

MOEOVERFLOW

网站链接:https://moeoverflow.com

这个网站主题日本动漫文化相关,我并没有刻意的去发展推广过,也并没有去搭建论坛或者其他类似 bbs,主要是想到同类社区论坛网站太多,完全没有必要。

但是又不甘于交学费米,于是多少还是做了一下小东西挂在域名上。自 Github 上创建 organization 开始,逐步开始寻找相同爱好的朋友,一起做一些有意思的动漫相关的开源开发。到目前多少算是有一点发展。

目前主要的目标是平时闲时抽空做做动漫相关的工具链,比如下文会提到的 animeloop 项目,就是想要通过机器提取循环视频以及生成 gif 图。想办法通过程序来提高 MAD[1] 制作的效率也在计划中。当然这也是需要很多人来一步一步共同完成的,光靠我一个人的能力不可能完成。

总之,发展顺其自然吧。

项目

以下是我最近的一些比较有意思的项目。

Maria

使用到的一些技术标签:Swift 3 Functional Programming 多语言混合编程 底层代码封装

这个项目最初只是想做一个 Notification 辅助小程序,后来因为 Aria2X 的开发延期,便顺手做了完整版本。这个项目主要是依赖 aria2,在这个开源程序的基础上构建出适合于 macOS 的 GUI 程序,目标于能更方便的使用 aria2。

主要依赖的两个 framework,一个是 Aria2RPC,aria2 的 WebSocket 客户端,负责对 aria2 进行操作控制(例如添加删除任务);另一个 Aria2Core,目标是集成 libaria2 到 swift 的项目当中,使用 Objective-C 为 libaria2 提供的 C++ 接口做了一个简单的封装,目前还在开发中。

这个项目就代码质量来说不算太好,比如如果任务列表数量很多的时候(百度云批量下载 300+ 任务的时候),整个程序任务列表的刷新就会变卡顿。当然这个性能问题一开始写就知道了,只是一直没时间 (懒癌发作) 写一个更好的实现。

更多详情:

Newsprint

使用到的一些技术标签:Hanzi.css Sass

这个项目是一套适合于 Hexo 的主题模板,主要设计参照了 iBooks 等一系列类似的电子书阅读软件的排版风格,主要是为了给亚洲地区语言比如简体中文、繁体中文、日语、韩语等等提供最漂亮的排版,目标于接近纸质印刷一样舒服的阅读体验。

布局上算是有一点另类吧,基本按照了自己的意愿在设计,大众适用性较低。

https://github.com/shincurry/ghost-theme-newsprint

https://github.com/shincurry/hexo-theme-newsprint

Comicbook

使用到的一些技术标签:Python 3 Semantic-UI Flask Scrapy

这个项目核心是爬虫,使用 Python 语言开发,主要目标是快速生成日本同人漫画(R18)的电子书版本。大致思路是从 nhentai.net、e-hentai.org 和 wnacg.com 等等网站上爬取漫画图片和基本信息再依次写入 epub 文件中。

开发过程中曾尝试使用 Scrapy 进行重构,后来发现,Scrapy 并不适用于这种项目特殊的需求(生成 epub)。这里详细讲,Scrapy 可以选择爬取网站图片先下载到指定路径,之后再合成为 epub,但是仔细考虑之后还是认为还是前一种比较好,在下载图片的时候就直接写入到 epub(zip) 文件中。

EVA-Icon

示例链接:https://moeoverflow.github.io/EVA-icon/

这个项目是一个 EVA(新世纪福音战士)主题的字体图标项目,根据网上不只来源的一张图片[2]重绘矢量图而成。十六个使徒加三个机体加一个主图标共计 21 个图标。

Animeloop

使用到的一些技术标签:OpenCV 3 Boost Node.js Python

animeloop-cli 这个项目主要目标是查找动漫视频里的循环小片段,目前还在持续开发优化中。项目中使用了 OpenCV 提供一些必要的算法支持,比如 DCT(离散余弦变换)算法、dHash 算法、pHash 算法等。未来可能会引入机器学期方面的算法提高准确性。

从这个项目开始,我会逐渐将学习方向转向图像处理方向,而不仅仅是做一个又一个普通工程项目。(入了 C++ 的深坑

animeloop-server 这个项目主要为向外提供 API 访问 animeloop-cli 生成的循环视频,积累大量数据为之后做更多研究提供支持。

animeloop-desktop 为 cli 的 GUI 版本,这个项目希望是能在生成循环视频的过程中提供更多的交互可能。目前还没开始开发,希望能在 animeloop 这套算法稳定之后开始。

animeloop-ios 实验性项目

更多详情:

重庆理⼯⼤学第⼗届⼗佳⼤学⽣官⽹

网站链接:http://sjdxs.xs.cqut.edu.cn/

这个项目是为学校做的投票展示网页。我在这个项目里的主要工作是给小学弟小学妹提供技术支持以及一些建议。因为这一年采用全手工投票,所以这个网站只需要展示投票结果。于是我们使用了 Hexo,魔改了一个投票结果展示专用的主题模板出来,然后定义一组 post metadata,最后出来的效果还不错。

Partime

一个兼职外包项目,最初由学校学院一个老师想出来的外包项目,我负责 iOS 端的开发,但是在第一期做完之后这个项目就黄了。

当时 Swift 3 正式版并未发布,所以采用的是 Swift 2.1 的版本写的,目前代码已经废弃。最近花了半个小时把这个项目移植到 Swift 3.0 的版本上去了,但是禁用了一部分会致程序崩溃的代码,废除了一部分功能,而且由于服务端的代码缺失,导致这个项目基本上是不可用了。

要说代码质量,不管是谁看自己两年前的代码多半都是蛋疼的感觉吧,再加上之前是顺着老师的意在做这个自认为不会成功的项目,当然也不会全心全力的去做开发的,所以这项目代码质量我自认为也是很烂的。

在简历里写上这个已废弃的项目呢,也是想表明一下,我不是只做 macOS 桌面端程序开发的,iOS 也是可以的,只是没有非常的熟练就是了。?

项目地址:https://github.com/ShinCurry/Partime

YXMenuView

当时做 Partime 的时候,需要一个筛选菜单组件,在 Github 上搜索了一圈似乎没找到能用,于是自己做了一个简陋的版本出来。


实习经历

无。

由于各个方面的一些原因,错过了春招秋招,所以一直都呆在学校做自己的项目。

链接

Github: https://github.com/shincurry
LinkedIn: https://www.linkedin.com/in/shincurry/

2017 年 3 月 1 日


  1. MAD(マッド)是电玩文化、动漫文化、同人文化界别中的多媒体作品。https://zh.moegirl.org/zh-hans/MAD ↩︎

  2. 图片来源:https://www.pinterest.com/pin/544443042424209957/ ↩︎