简历

Posted by Shen Chaoran on July 24, 2018

实习经验

苏州城方信息技术有限公司 2017.09-2017.10 Web前端开发工程师 主要负责相城工业大数据平台和北桥街道综合治理系统的前端页面构建,与后端工程师和设计师交流合作完成。项目使用 Angular 2 框架,主要开发内容包括一些综合信息页面展示、表单提交、图表可视化和地图数据可视化。

项目经验

奖学金: 研一获校一等奖学金,研二获校三等奖学金,本科三次获院三等奖学金

实习经验:

  1. 苏州城方信息技术有限公司,Web 开发实习,主要负责使用Angular 2搭建前端界面,包括表单信息展示与提交、图表可视化和地图数据可视化。

实践经验:

  1. 地理模型对比系统,2018-03-01 — 至今,开发在线模型对比系统,支持模型的在线调用与结果可视化,模型的结果精度对比评价。目前正在开发中。
  2. 城市三维噪声在线可视化系统,2018-05-01 — 2018-06-01,使用 Node.js + GDAL + grunt + cesium + Knockout 实现矢量和栅格地理数据的三维可视化;
  3. 正交曲线网格在线生成系统,2018-05-01 — 2018-06-01,使用 Node.js + matlab + Grunt + Knockout + openlayers 实现在线绘制正交曲线网格,能够兼容河流分叉和内部含有岛洞的特殊情况;
  4. 地理模型与数据集成平台,2017-06-01 — 2017-09-01,使用 Node.js + MongoDB + Grunt + Webix + jQuery + jTopo,实现了模型服务于数据服务集成串并联科学工作流,能够自动化的驱动数据分发、模型调用、结果可视化;
  5. 地理模型服务容器研究,2016-10-01 — 2017-02-01,使用 Node.js + MongoDB + express +ejs + Bootstrap + Webix,实现了地理模型服务的发布和管理。
  6. 基于新浪微博签到数据的旅游景区热点分析,2016-03-01 — 2016-04-01,使用 python + MongoDB + echart + html/js/css 实现了“签到数据点亮湖北”时空分布地图的制作。

耦合地理模型对比系统

时间:2018-03 ——

职务/角色:独立开发者

项目描述:本系统旨在提供一个开放式的模型对比“擂台”,对比地理模型模拟的结果,评价其模拟精度以及时空适用范围。系统架构在服务器上分为模型计算服务器,模型对比服务器,资源存储服务器,分别负责模型计算、数据对比、资源存储,三者通过 Http 和 Ftp 通信。后台都使用 Node.js,数据库使用 MongoDB,前台使用 Angular 6,其他外部资源用 Fortran, c++ 和 Python 编写。目前项目正在进行中。

项目职责:负责模型资源库(c++ 和 Fortran 编写的气候模式)、数据资源库(全球气象、土壤、植被数据)、数据处理资源库(NetCDF 的转换处理)、数据对比资源库(统计学工具)、可视化资源库(NetCDF 的可视化)的实现,以及模型对比的业务流程控制。外部资源使用 python 编写,供 Node.js 调用。目前项目还正在进行中。

难点:地理模型的复杂性,导致模型的封装非常困难;模型依赖数据的难以搜集;同类模型之间差别较大;数据处理工作复杂;资源库之间的关系错综复杂,难以理清。工作量巨大,要构建模型资源库,数据资源库,数据转换资源库,数据可视化资源库,数据对比方法资源库等,还要理清彼此之间关系。

学到的东西:

城市三维噪声在线可视化系统

时间:2018-05 —— 2018-06

职务/角色:独立开发者

项目描述:随着城市建筑的纵向发展,二维平面的噪声可视化已经不能满足要求,本系统旨在对噪声模型模拟出的三维噪声数据进行可视化,以直观的方式展示出噪声的三维空间分布。项目使用 Node.js + GDAL + grunt + cesium + Knockout 搭建。

项目职责:使用 Node.js 来提供噪声数据服务,包括基础地理数据和噪声模拟结果数据;使用 Cesium 可视化三维建筑数据、道路数据、小区数据等,主要分为矢量数据和栅格数据,矢量数据使用 GDAL 转为 geojson 直接可视化,栅格数据通过在 cesium 中创建 Primitive 对象,结合插值进行可视化。

难点:栅格数据的插值

学到的东西:cesium 可视化对象的两种方法:Entity 和 Primitive。

正交曲线网格在线生成系统

时间:2018-05 —— 2018-06

职务/角色:独立开发者

项目描述:正交曲线网格是计算河流流场流向的重要方法,是流场可视化的重要一部分,本项目使用 Node.js + matlab + Grunt + Knockout + openlayers,根据前台绘制的河流边界在线剖分出河道内部的正交曲线网格。本系统兼容河流分叉和内部含有岛洞的特殊情况。

项目职责:前台使用 openlayers 进行前台河道的交互绘制和正交曲线网格的结果展示;使用 Knockout 进行双向数据绑定;后台使用 Node.js + matlab 生成正交网格坐标矩阵。

难点:网格的正交化,是一套非常复杂的数学算法,用到了一个网上的开源轮子。

学到的东西:使用矩阵来处理网格数据;学会了简单的 matlab。

相城工业大数据平台

时间:2017-09 —— 2017-10

职务/角色:Web 前端开发

项目描述:该项目通过展示苏州相城区工业地理数据的污染相关统计信息,为政府部门提供工业数据管理功能。项目后台使用 C# 开发,前台使用 Angular 2,数据库使用 MySQL。

项目职责:主要负责相城工业大数据平台的前端页面构建,按照设计的效果图实现前端页面效果,并与后端开发工程师沟通接口的制定详情。项目使用 Angular 2 框架,主要内容包括工业数据表单文件的提交;使用 echart 进行图表可视化;使用 openlayes 进行地图数据可视化。

难点:

学到的东西:接触到了新的前端框架 Angular 2

模型共享平台门户网站

时间:2016-10 —— 2017-09 职务/角色:前端开发者 项目描述:该项目主要是针对全球分散各地的地理模型,提供一个资源共享的平台,并以服务化的形式提供模型计算服务。 项目职责:主要负责前端页面的构建,包括门户资源的浏览、检索,模型资源的 wiki 构建和展示,模型服务的在线调用,用户个人空间的管理等。地址:http://geomodeling.njnu.edu.cn/

  1. 以 java + mongodb 开发后台;
  2. 以 bootstrap + echart + mxgraph 开发前台,包括自愿浏览、检索、地图数据可视化、框图构建等。

服务集成科学工作流系统

时间:2017-06 —— 2017-09

职务/角色:独立开发者

项目描述:针对网络上的分散的地理模型服务、数据服务、数据处理服务、数据可视化服务等资源,建立一个服务串并联集成科学工作流,能够自动化地驱动不同计算节点之间的数据分发、模型调用、结果可视化。项目使用Node.js + Grunt + Webix + jQuery + jTopo + MongoDB。

项目职责:全程独立开发完成整个项目,使用 jTopo 构建服务之间的有向图谱;使用 webix 快速搭建页面组件;使用 socket.io 进行前后端的实时通信;后台通过分析有向图的指向关系来控制科学工作流的执行流程,包括数据的分发、模型的调用、可视化的执行。

难点:有向图谱的构建;服务资源的接口差异太大,后台要做的兼容很多;类似于“脏检测”的调用方式;p2p 的思想虽然自由度高,但是与服务发布者不够解耦;Node.js 写二进制文件时的有一个大坑,读文件的编码默认使用 null,而写文件时默认使用 utf-8。

学到的东西:Grunt 自动化构建工具

地理模型服务容器

时间:2016-10 —— 2017-02

职务/角色:核心开发成员

项目描述:该项目主要是为解决目前地理模型环境复杂、难以部署、学习成本高等现状,提供一个网络服务发布与管理系统,支持对服务资源部署、调用、数据管理和结果可视化等。项目采用 Node.js + express + ejs + Bootstrap + Webix + MongoDB。项目中主要负责使用 openlayers, canvas,echart 可视化地理数据,以及模型运行依赖环境的检测与匹配。

项目职责:主要使用 openlayers, canvas, echart 可视化地理数据(shapefile, ascii grid, tiff, table);读取注册表进行模型运行依赖环境和语义版本的检测与匹配;使用 websocket 进行消息通知;使用 c++ 批量封装 SAGA GIS 中的地理模型;在 Node.js 中进行消息中转来控制局域网内其他计算节点的服务资源。

难点:语义化版本管理环境库的构建;后端制图的效率低,而且阻塞,使用子进程解决;

学到的东西:Node.js; openlayers; node-canvas 后端制图

三维战场态势军标标绘系统

时间:2016-09 —— 2016-10

职务/角色:符号资源开发者

项目描述:该项目是我们课题小组与中国电子科技集团公司第二十八研究所合作实现的,项目主要实现二三维一体化的军事符号标绘。系统使用 lua 和 c++联合编写,c++ 使用 MFC 搭建图形界面,lua 用来绘制标绘符号。

项目职责:主要负责 lua 编写标绘符号库,按照甲方设计的符号库外观,实现50余个符号资源的绘制。

难点:

学到的东西:lua 基本语法

旅游景区签到数据时空分布地图

时间:2016-03 —— 2016-04

职务/角色:独立开发者

项目描述:针对微博上的旅游景区签到数据,使用 python 爬取湖北省 87 万余条数据;使用 Node.js + MongoDB + HTML/JS/CSS + echart 制作“点亮湖北”时空分布地图。

项目职责:本项目通过使用 python 爬取湖北省旅游景区的微博签到数据 87 万余条;使用 echart 制作“点亮湖北”时空分布地图;使用 ArcGIS 进行空间聚类、插值、统计分析,分析其时空分布特征。

难点:接口的请求频率问题,通过注册多账号解决。

学到的东西:

工作经验

IT技能

  • js:3-5年 熟练
  • html:3-5年 熟练
  • mongodb:2年 熟练
  • ps:2年 一般
  • c++:6月 一般
  • python:6月 一般
  • c#:6月 一般
  • fortran:6月 一般

个人信息

自我评价:熟悉 Node.js, Angular 2+, JS/HTML/CSS, SASS, ES6 新特性,Git, Grunt, MongoDB 等前端技术。自学能力强,抗压能力好,具备团队合作交流意识。热爱技术,希望通过技术能使世界变得更美好。

博客:shenchaoran.github.io

奖励活动

学生干部:本科班级组织委员,主要负责组织日常班级出游、聚餐等活动;本科院级学生会科研部部长,带领部门组织专业技能大赛等活动。

获得奖励:硕士:院级一等奖学金一次,院级二等奖学金一次,iEMSs 2018 会议论文优秀长摘要奖;本科:院级二等奖学金三次。

社会实践:硕士期间参加 EGU 国际会议并做模型共享与集成相关的报告;本科期间给高中生做过一年家教。

教育经历

实验室:虚拟地理环境教育部重点实验室

硕士研究方向:地理模型与数据的共享、集成、对比,以服务化的方式封装地理模型资源、数据资源、数据处理工具、数据可视化工具等,降低模型的使用成本。对于分布于各个服务器上的模型服务、数据服务、数据转换工具和可视化工具,以科学工作流的方式自动化的集成调度管理。最后,研究一个在线模型对比平台,根据地理模型模拟的数据特征,提供统计学和可视化的对比方案。

本科研究方向:基于新浪微博签到数据的旅游景区热点研究,使用 python 爬取了湖北省的87万余条微博签到数据,对其进行可视化并分析时空分布格局。

技巧

  • 我解决了什么问题
  • 我用了什么方法
  • 并发什么的
  • 最终结果和业内相比怎么样
  • 胸有成竹,让面试官觉得你屌
  • 了解什么,深入了解什么,横向了解什么

自我介绍

来自河南焦作,学历介绍,专业介绍,研究经历。

项目背景

我们想做的是地理模型界的“淘宝”,只不过我们卖的是“地理模型服务”。在没有这个平台时,你想一下,如果我想应用一下一个模型,需要联系模型拥有者,要么我把数据给他,要么他把模型给我,然后还要进行模型的部署、环境的配置等工作,中间还涉及到资源的安全控制。但是,通过我们的平台,只需要将模型发布为服务,然后使用者在平台付费使用,解决了资源搜索、环境配置、数据安全的一系列问题。

针对这一目标,需要做的工作就包括: 模型服务的发布; 数据服务、数据处理工具服务、数据可视化服务的发布; 服务资源的宣传和管理,也就是一个服务门户资源网站; 这四种服务的集成,就是构建一个科学工作流来驱动数据在服务之间传输,构建一个有向图谱来控制任务的执行顺序; 服务的比较,就是模型模拟结果的优劣评价;