个人介绍
好钻研,有较强的吃苦精神和毅力,上进,乐于助人,喜欢写代码和动手实践,喜欢hack系统,热爱科学技术,涉猎比较广,然所精者少,喜欢关注新技术和较快地适应新技术,能在压力下工作。有良好的团队精神,熟悉Linux源码,对Linux内核源码有较长时间的研究,自己裁剪,配置和修改过Linux2.6和3.8的内核,并成功编译生成了bzImage镜像,然后用其替换掉了Ubuntu12.04的官方内核,并成功启动到桌面。有良好的调试技术,会对Linux内核进行源码级调试,熟悉glibc库内部实现原理,程序链接和装载机制。熟练使用GNU Toolchain(如Make,GCC,GDB,LD等),程序性能分析工具(gprof等)。另外也熟悉.Net, Python,Java,NoSQL(如MongoDB,Redis等),大数据分析,Map Reduce编程思想,数据仓库,数据挖掘(如ANN,SVM,DT,回归等)等技术。
工作经历
2016-04-01 -2016-06-01深圳市奇倍翔科技有限公司高级软件工程师
我在公司主要从事游戏服务器和数据库服务器的开发和维护工作,游戏服务器运行在windows上,而数据库服务器运行在Linux上。 对于游戏服务器,职责为对各个模块进行维护和bug的修复,以及游戏服务器底层数据库接口的开发和维护,转换数据库架构,把现有的数据库接口转换为另一个数据库接口,使系统更可靠,更安全,该架构能有效防止黑客的攻击。对于数据库服务器,职责为实现数据库的接口,使游戏服务器和数据库服务器能正确通信。另外,我也负责游戏客户端的维护工作,实现客户端和游戏服务器之间的通信协议。确保客户端和游戏服务器之间的通信正常,使玩家能够玩游戏。主要完成了如下任务: 1. 修补代码中已知和未知的bug。 2. 转换和实现游戏服务器底层数据库接口。 3. 实现数据库服务器对外的接口,使游戏服务器和数据库服务器能正确通信。 4. 实现客户端和游戏服务器的通信协议,确保客户端和游戏服务器之间的通信正常,使玩家能够进房间,坐到位置上玩游戏,离开房间等等功能。
2014-11-01 -2015-11-01苏州鼎晟网络发展有限公司高级软件工程师
我在公司主要负责jimodb大数据库系统的维护和开发,刚进公司时主要负责开发jimodb的C/C++的Native API,类似于MYSQL的API,通过此API可对jimodb进行连接,查询,访问结果集等操作。完成该项目后,则开始负责jimodb内部的统计模块的维护和开发,它们主要是联通,锦商等客户提出的需求。刚开始主要负责distinct count查询的优化,由于为了加快查询,jimodb首先通过job task模块(内部使用map reduce)进行统计预处理并把预处理后的结果入库(类似于物化),每一类统计有一个统计模型,预处理完成后,则可进行快速的查询。由于之前的distinct count的底层存储没设计好,导致查询性能很低,所以我就负责对distinct count的底层存储进行重新设计和实现。期间也修了很多bug。完成这个项目后,则开始负责job task预处理模块中与统计相关的代码的修改,优化和bug修复工作。主要集中在与统计相关的多个dataproc(并行执行的task)模块上。修改其中的代码以适合之前重新设计的新的distinct count的存储,以及对NULL
2014-05-01 -2014-07-01苏州超擎图形软件科技发展有限公司C++3D工程师
公司主要从事地理信息系统(GIS)软件的研发。我在公司主要负责三维客户端软件的研发和维护,主要是对现有三维引擎的开发和维护,主要是负责把从服务器端传过来的三角面片和纹理通过渲染管线用opengl es绘制出来,把如建筑物,道路等三维图像显示在电脑和手机屏幕上,客户端是pc时用的是vc++开发的,而在android手机上时用的是java和c++联合开发,接口是jni。显示这么大量的三角面片主要用了LOD(level of detail)和渐进传输等技术。期间也帮公司搭建了eclipse java和jni so单步源码级联合调试环境,用linux的sigaction进行本地代码崩溃现场捕获等bug发现和修补方法。
2014-02-01 -2014-05-01苏州微影光电科技有限公司软件工程师
公司主要从事于激光直接成像设备的研发。我在公司主要是做软件的开发,主要负责对gerber和odb++格式的pcb版图数据库进行解析,然后转换成我们自定义的中间格式,接着再转换成位图送到DGB同步板进行像素调整填充和DMD镜头进行曝光。还进行主机odb++料号的设计,主机的料号送到从机,从机进行分图后送到DMD进行曝光,在曝光前还要进行CCD对准和标定以及坐标变换,以使曝到PCB板上的图像是正确的。开发是用.net c#和c++混合编程的,通过对gerber和odb++进行一层一层的解析,然后转成中间的binary格式。期间对具有结构化内容的文件的解析用到了编译原理的知识,使用lex和yacc,并通过一个.y的语法文件进行语法分析进行解析,而非结构化的行记录文件则是普通的一行行解析。解析转换功能已经实现,解析和转换过程是通过多线程完成的。另外,我还负责主机料号界面的开发和维护。界面主要是基于MVVM(model view,view model)设计模式开发的。
2012-11-01 -2014-02-01苏州昕健医疗技术有限公司医学图像处理软件工程师
本人进公司时公司刚成立,随着公司一起成长,2012年11月进去时老板叫我一个人全权负责一个医学图像处理软件的研发,类似于mimics,经过几个月加班加点,熬夜的努力和拼搏,终于把系统的核心功能开发完毕,软件框架用的是MFC,软件主要实现从断层的CT扫描医学图像中进行人体组织的分割和从二维切片重建出三维模型,主要是用itk进行ct图像的半自动和全自动分割,用vtk显示分割后的结果。主要用到了itk的活动轮廓分割算法(active contour)进行半自动分割和graph cut进行全自动分割。然后用vtk marching cubes进行三维重建和用opengl显示三维网格。到2013年8月份时软件已成型,此系统就是现在的Arigin 3D软件系统(可在百度上搜索Arigin 3D)的最初版本。期间都是我一个人在开发,且是边上课边实习,8月份时才把该软件转交给新招来的员工继续开发和维护。我则转向开发另一个项目,职责为把这个医学软件放到网上,做成一个类似于bespoke modeling 3dsystem在线3D打印医学软件系统,已完成了具有基本功能的第一版本。主要是用qooxdoo等
教育经历
2013-03-01 - 2017-06-24东南大学-莫纳什大学苏州联合研究生院信息技术系统硕士
2011-08-01 - 2016-12-01东南大学苏州研究院计算机科学与技术硕士
2007-09-01 - 2011-06-30东南大学成贤学院计算机科学与技术本科
技能
2014年11月时苏州珂晶达电子有限公司外包给我做的一个项目,作为我在业余时间的兼职工作。主要是用extjs和matplotlib的javascript库实现了一个网页版RIA应用程序,是B/S模式的,服务器端是用python写的空间轨道器件辐射效应评估系统,用cherrypy做为服务端的web框架 ,当时公司只有桌面版的系统,所以想做一个和桌面版具有同样功能和界面的网页版的,我就负责把桌面版系统中的功能和界面做到网页上去。网页界面显示框架主要是用了extjs库,而其中的曲线图等则用了matplotlib的javascript库。当客户端请求图形时,服务器就发送曲线图的json数据,然后客户端通过对这些json数据进行解析后把图形显示出来。
2012年11月进公司时老板叫我一个人全权负责一个医学图像处理软件的研发,类似于mimics,软件框架用的是MFC,软件主要实现从断层的CT扫描医学图像中进行人体组织的分割和从二维切片重建出三维模型,主要是用itk进行ct图像的半自动和全自动分割,用vtk显示分割后的结果。主要用到了itk的活动轮廓分割算法(active contour)进行半自动分割和graph cut进行全自动分割。然后用vtk marching cubes进行三维重建和用opengl显示三维网格。到2013年8月份时软件已成型,此系统就是现在的Arigin 3D软件系统(可在百度上搜索Arigin 3D)的最初版本。期间都是本人独立研发,边读研边研发