我的信息

  • 姓名: 王超 / Johnnie Wang
  • 生日: 1988.9.30
  • 毕业学校: 哈尔滨工程大学
  • 现所在地: 四川成都
  • 电话: (+86)18681229367
  • Email: yueyoum@gmail.com
  • Github: Link
  • Stackoverflow: Link
  • Blog: Link
  • Photography: Link

个人简介

2010年毕业于哈尔滨工程大学 船舶与海洋工程专业。虽然带着专业全国第二的光环, 但还是挡不住自己对计算机的热爱。在校结识了很多自动化学院,计算机学院的同学。 在大三参加了一次redhat讲座以及学校计算机社团的活动后,开始了Coding的打怪升级路线。

在学校从C学起,用PHP制作个人Blog,后来维护学校BBS站点,管理服务器, 培训Linux新人。毕业进入本专业相关的国企工作一年后,于11年8月,进入了互联网行业, 成为一位程序员。这是我做的第一个让我骄傲的决定。

我一直从事Linux服务端开发工作(Python), 我热爱Linux, Linux世界已经深刻的影响了我的价值观。分享,协同,捐赠,购买软件已经是我认同, 倡导,并已经实施的方式。

我的项目

发起者/主导
Python, Erlang, Unity3d

Code Battle

这是在2013年7月用一个月时间完成的个人项目。见上面演示视频
最初是为了学习Erlang,渐渐的变成了对自己的一个挑战,将自己这些年 因为兴趣而自学的各种技术都用到了。3ds max建模、动作,uvLayout拆分UV, xNormal渲染AO、normal贴图,photoshop绘制漫反射,高光贴图,Unity3d快速 实现客户端,Erlang实现服务端。后来又用Python+Gevent重写了服务器。

用Gevent重写服务器是因为随着对Gevent的使用,对它的理解也越来越多, 再加上本来就熟悉Python以及OOP技术,并且由于在用Erlang的时候也感觉到 它不方便的地方,( 这里有一篇blog说明这个问题 ), 所以后来用Gevent重写。用Gevent重写还是很愉快的事情,业务逻辑本来就熟悉, 所以只用了一个下午便完成了Python的服务端。

发起者/主导
Python

Social Oauth

用于Python的一个Oauth2库,支持中国大陆10个站点
起因是为自己网站做的第三方登录功能。后来自己网站没做出来,就把这个库 开源了出来。在merge了热心开发者的一些pull requests后,目前已经能支持 人人,腾讯,豆瓣,新浪微博,网易微博,搜狐微博,百度,开心网,淘宝,微信 这10个站点的授权登录。

发起者/主导
Erlang

Make Proxy

你懂得
如今,我们穿过万里长城,向世界发出了一封来自中国的电子邮件

发起者/主导
Python

RenRen Relationshio

人人网好友关系图谱
起初的计划很大,要顺着好友的好友的好友...这么一条链做点事情, 但后来发现人人网关闭了查看非好友的好友列表这个功能,于是就退化成了 渲染自己好友类聚的程序。

本来想用 d3js 做一个基于web的展示页面,但后来偷懒,直接在本地用 graphviz来生成的图片

发起者/主导
Python

Django Upload Avatar

Django上传头像APP
一个集成了上传,预览,剪裁图片的django reusable app

发起者/主导
Python

Django Siteuser

Django用户APP
这是一个大而全的用户系统, 集成了注册,登录,密码重置,第三方登录,头像管理. 但是还是保留了让开发者可以选择使用哪些组件的功能

发起者/主导
Python

Timerush

定时器
一个定时器服务,应用将要定时的时间,回调地址,回调数据注册到这个定时服务, 定时服务就会在时间达到时带着回调数据去访问回调地址。 测试数据显示这个定时服务可以做到 瞬间并发10000个定时器,它们的定时时间分布在1~60秒, 45.6%的定时器能够准确触发,剩余的54.4%的定时器延迟了1秒触发

发起者/主导
Python

Paper

Blog程序
自己的Blog程序,方便之处在于本地用markdown书写,然后直接用命令行发布。 它不是一个静态博客,需要数据库。

发起者/主导
Python

Seven Cow

七牛云存储SDK
根据官方文档实现的一个SDK,对比官方的SDK最大好处就是使用特别简单

发起者/主导
Python

Abchat

基于Gevent的聊天服务器
支持群聊和私聊,只要简单的继承abchat提供的基类, 重写几个方法,就可以快速的自定义出自己需要的聊天服务

发起者/主导
Python

Daemonize

让Python程序可以脱离终端,在后台运行

发起者/主导
Python

Python Gears

基于Django的一个BBS

发起者/主导
VimL

Vim Alignment

一个VIM对齐插件
当时为了学习VIM插件时所写的一个小插件。(目前自己没在使用)

参与者
Python

给Bottle提交pull request

bottle自己的 start_response 函数只接受两个参数, 然而WSGI规范是定了第三个可选参数。当bottle与beaker配合的时候, beaker按照规范调用 start_response 的时候传递了三个参数, 此时bottle就会报错。

所以我按照规范修改了bottle中对应的代码。最后bottle merge了我提交的pull request

工作经验

2013 10月 - 现在

成都拇指时代科技有限责任公司

手机游戏服务端程序员

跟随上家Boss到目前的创业公司,情况和上一家基本一样,服务端和客户端程序都各只有一人。 经过快一年的开发,产品还在测试中。

公司内部服务搭建,项目编辑器,通信消息定义,服务器设计,实现,部署,都是自己的工作内容。 在这一年的工作中,不仅仅技术有进步,更大的收获是意识到 完善的开发流程,严格的项目进度管理 是多么的重要

使用到的技术

  • Nginx
  • uWSGI
  • Django
  • Mysql
  • Redis
  • Mongodb
  • Google Protobuf
  • Git

服务架构是这样的:
中心服务器HUB(using Mysql)维护着 服务器列表,帐号,角色基本信息这些游戏相关数据。 并且后台管理页面也是在HUB服务器上,在管理页面对整个游戏做统一管理。
每个SERVER(逻辑服务器,也就是游戏中看到的开了多少服务器)将自己的数据存在自己的Mongodb中。 并且SERVER和HUB之间通过HTTPS API互相调用。
所以这个系统使用Mongodb作为主存储,但当项目后期,却发现Mongodb各种坑, 这篇文章我也是感同身受, MongoDB 那些坑。 以后的项目,还是Mysql + redis这样的组合更方便好用。

2012 8月 - 2013 8月

成都纳斯卡网络科技有限公司

手机游戏服务端程序员

开始进入游戏行业,公司服务端和客户端程序都各只有一人
我从事服务端开发,使用了Gunicorn, Gevent, Bottle, Redis, Google Protobuf这些组件。 编辑器,服务器架构和实现,部署,都是我的工作内容。同时也设计了与客户端交互的消息格式。

首次做游戏服务端,就是一个人全部负责。当时压力确实有点大。 但是撑过来后,自己的技能水平显然提高了很多。已经开始给github上的一些项目提交pull request. bottle merge 过我的代码。

后来由于资金问题,项目失败,团队解散。Boss继续找新的投资,两个月后我跟随Boss到了新的公司, 也就是上面的公司。

2011 8月 - 2012 7月

四川摩奇信息技术有限公司

手机APP后台开发

为项目设计/实现客户端所需接口,后台管理页面
这里是我进入互联网行业的起点,特别感谢当时周围同事,boss给予的帮助和支持。 从公司内部的小项目,到独自一人负责整个手机app的后台,在这里我成长很大。 只是后来想从事游戏服务器,所以离开这里。

独自完成有两款应用,一个是阅读漫画的,一个是阅读小说的。 从设计文档,定义交互接口和数据格式,设定管理后台,爬虫,自动化任务等, 一步步完成,这些应用都拥有了上百万用户。

除了技术进步,完成项目外,这里也教会了我规范的开发流程。
与项目经理确认开发任务, 查看需求文档,开发中每天写工作日志, 与PA/PM沟通,与合作的技术人员沟通,每天的邮件会议,完成后部署到测试服务器提交测试, 最后与SA沟通部署到正式服务器上线。
这些看似繁琐的步骤其实才是效率的保证,不过后来一直在创业公司,这些流程都无法做到。

2010 8月 - 2011 7月

广州中船黄埔造船有限公司

船体制图工程师

这是我专业对口的工作,大学毕业后进入广州一家国企船厂,在设计室进行图纸绘制工作。一年后进入IT行业

教育经历

2006 9月 - 2010 7月

哈尔滨工程大学

学校简介

哈尔滨工程大学的前身是哈尔滨军事工程学院。我进入了全国排名第二(我校自称第一)的专业: 船舶与海洋工程专业。在校取得英语四级证书,并且自学计算机相关知识。

2003 9月 - 2006 7月

陕西勉县第一中学

陕西勉县第一中学(高中)

勉县第一中学是陕西省重点高中,也是当年首次清华自主招生可获校长推荐的 陕南三个市中唯一一个高中。在高中三年的学习中,取得了市高中化学竞赛二等奖的奖励。

我的技能

Coding

Linux Operate 70%
Python 70%
Redis 60%
Git 50%
Mysql 50%
Mongodb 40%
HTML/CSS 40%
Javascript 30%
Bash 30%
Erlang 30%

Software

3Ds Max 30%
Photoshop (process photos) 30%
LightRoom 30%

Copyright © 2014 Johnnie Wang