Who am I ?

2016届刚出炉的计科 (计算机科学与技术) 男一枚,大器晚成… 想更多了解我大学的生活,可以看看 《我的大学》

Languages used in my life

  • C、C++
    C++ 在学校的启蒙语言,大一大二刷题以及手写的最多的语言。C 是某个夜黑风高的夜晚,给高中同学写课设临时学了点语法搞下来的。这两个语言基本算是黑历史了…

  • Java
    作为真正意义上的启蒙语言,当然是对比没有任何开发经验的 C 和 C++ 这样说的。大二那年的寒假完成语言的学习,想想也可怕,那时候花了 2014 年整个寒假…

  • JavaScript (ES5、6、7)
    这是我接触的第二门生产语言,在 2016 年年初,来到目前这家公司。连续花了十天时间完成了JavaScript 和 React Native 的学习并完成了一个 Gank.io 的客户端。对于这门语言,我的感受是:

    • 入门时承受了从静态语言到动态语言首次过渡,堪称痛苦
    • 语法结构上和 Java 相差不多,简洁了一些,但优点更加明显,更加自由
    • function callback 明显要比 Java 轻量级很多,这点我很喜欢。没有了中间夹的那层接口,让函数回调清晰明了,这也是高阶函数特性的一个体现
    • 闭包很多时候更适合一些场景,比如事件的监听注册以及注销( Redux源码中有用到 )
    • 方便呀,打开浏览器就可以调试语法啦~
  • CSS、HTML:
    这两项只能算是熟悉。在大三时有过接触,后来写 Reactjs 时接触的比较多,但也不算太多… 在 优孕安服务 微信公众号开发过程中又有了进一步的了解。

  • Python
    因为一直有一个写脚本的愿望,终于在国庆的以实现。国庆花了大概两天的时间完成了Python的学习,当然不包括 Python 的 Web 开发。不得不说 Python 真是个好东西,图像处理、爬取分析网页应有尽有!(待实践)

    • 有了 JavaScript 动态语言的基础,入门 Python 这条蟒蛇轻松多了
    • 语言内容和 JavaScript 几乎一致
    • 语言结构上相较 JavaScript 在精简程度上更进一步
    • 很多语言特性和 JavaScript 几乎一致

My technology stack

  • Android 开发
    Android 开发的选择,是在大二第二学期和第一学期开始折腾 Java、数据库以及前边讲的 CSS HTML。直到大三第第一学期结束时开始选择了 Android 的开发。第二学期没有上过一门课 (很庆幸凭借最终考前两小时的头脑风暴最终以均分70+结束了这学期),专心做起了 Android 的开发与学习。更庆幸的是同年暑假通过面试进入掘金正式开启了 Android 开发之旅。

  • React Native
    这也是我的第二份工作。在15年年底从掘金辞职回学校后,没过多久 (大概是元旦后) 就来到了新公司从事 React Native 的开发,当时花了十天的功夫从对 JavaScript 一窍不通到做出了一个双平台 App。由于自己也是起步于 React Native 社区比较早期的阶段,学习资源都非常有限,学习的主要渠道来源于 Leader 的帮助、中英文两大官网、不断的踩坑、以及多数的英文博客。整个学习曲线和工作量难度还是非常高的,现在也觉得是我人生中非常珍贵的经历。想看看我在目前这家公司的更多故事,可以看看这篇博客《我的2016新纪事》

    • Gank.io 这个应用就是上边所提到的第一个双平台 App。10天的摸爬滚打下来,最终也获得了很多大V们的称赞鼓励。因此也在 Github 上获得了一些 star
    • react-native-cx 它是公司在 8月末开始的一个 React Native 竞赛中开发的作品。耗时大概一周,借鉴的是 FaecBook 官方的 F8 这个应用。期间阅读了 F8 的源码(不好读) 也学到了很多。还由于走了弯路没少耽误工时
    • mdcc-client 以上一个应用为模版,在中秋节三天完成了 iOS 版的开发、23号大会前一天完成了 Android 版本的打包发布。其中 iOS 的很多工作都是第一次做,譬如用 Sketch 做 Splash 图和在 XCode中的替换以及 icon 的制作都让我不得不在中秋的最后一天通宵搞定。对了,还有让人恶心到吐的 iOS App 的发布
    • react-native-switch-pro 一个对 iOS 原生 switch 高度还原的纯 RN 库,目前没什么问题,但仍存有一个 Issues 未解决,待解决中…
    • react-native-navigationbar 兼容 iOS 和 Android 的导航条,经过多个版本的迭代,趋于稳定
    • react-native-check-camera 在 Android 端用于检测应用是否得到相机权限的库
    • react-native-intent-launcher 用于在 Android 端发起一个 startActivity 请求的库
    • 独立完成了 drr 优孕安服务 微信公众号端的部分开发 (因为是别人外包给我们做的,因此我只独立完成了 css 以及 react 部分相对静态的所有页面,具体 API 调用以及登陆认证等逻辑非本人开发,目前线上的版本尚未走通,我可以提供源码以供查看) (耗时 12 天)
    • 独立完成了 drr app 移动客户端(iOS and Android),完成了所有页面组件和交互,但… 数据接入、API、第三方注册登录等因为后端未完成而停滞。目前可以在手机上预览所有界面…(耗时 45 天)这个项目也是面对刁钻的设计图后在个人组件能力上提升了一个档次
  • Linux 玩家
    在大三第二学期时,为了不在拿到 Mac 后因为难以适应 OS 的问题而退却,我选择了先拿 Linux 试试水,谁知这一试就是将近一学期。现在 VPS 上也是使用 Ubuntu14.04 (暂时处在基本的使用以及 Shadowsocks 级的娱乐阶段)

  • Mac 党
    作为学生党的我,在大二时因为买不起而在自己那台 Windows 本上花了一周多的课余时间反反复复的折腾「黑苹果」,最终因为难以忍受高频的崩溃以及驱动的不完整,放弃了黑苹果。同时也为了折腾后的最后一丝尊严,也放弃了 Windows ,踏上了 Linux 的道路。
    在大三临近实习前,咬了咬牙用两年以来剩下的奖学金加上家人给补助的两千块买了中配版的 MacBook Pro。因为也是用了很长一段时间的 Linux,这使得我在 RMBP 的使用上如鱼得水。更加完善的 UI 搭配丰富的软件生态,让我至此一直都坚信这台 RMBP 是我迄今买过的最贵也是最值的东西。
    如今也已经使用 OSX 已经一年多了,在公司现在也是使用iMac,一年以来始终珍爱,喜欢用命令行解决问题。

  • Sketch
    作为一名新手,我的 Sketch 技术还处在初级的水平。但这么点额外的技能,却让我在开发 mdcc-client 时得心应手。同时在有一些比较简单的切图需求时,也能够自给自足,毕竟在掘金时我没少经常打扰正在工作的设计师哥哥。

Self assessment

  • 比较笨,也可能是我妄自菲薄,因此有了如下的微博签名:

    出厂自带蠢萌,一名努力又懒惰的开发者,递归癌晚期,学生です。。。

  • 比较懒吧,但当自己对热爱的事情充满责任心时,会义无反顾得拼下去。因此我 Github 的签名又是这样的:

    Find out what make me crazy~

  • 自己一个人的时候喜欢安静的气氛,毕竟连人家机械硬盘也需要一个无尘的 Workspace 呢,虽然自己偏内向,但对于年轻有活力的氛围还是非常向往

  • 喜欢探索研究,不服输,倔强。在解决问题后,都会尝试探索更深一层的缘由,挖掘真实的原因

  • 喜欢把一些零碎的东西记录在 Evernote 上,只有当觉得某部分知识可能对别人有帮助时,才会动手去写博客

  • 相比技术博客,我更热爱随笔,毕竟写随笔比技术博客轻松多了,而且在时间精力方面不会造成太大的损失

  • 理想主义者,因为没有毅力坚持学英语,因此我选择了在日常生活中用英语不断去滋润练习。这也是我学习技术的态度,只有不断的练习和使用才能造就更好的 “记忆力”。当然,利用 关键词 + 搜索引擎 也是日常生活中的习惯,终极杀手锏则是 —— 读源码、改源码、重建新库

What am I doing now ?

目前就职于 Applean,一家为服务于 React Native 的平台公司,很高兴能够和对我感兴趣的人或企业一起坐下来谈谈人生。

donation