简历
联系方式
- 手机:13363922086
- Email:lyyx_0@163.com
- QQ:562815501
个人信息
- 骆杨/男/1988
- 硕士/西安电子科技大学 计算机科学与技术
- 本科/陕西科技大学 网络工程
- 工作年限:10年
- 技术博客:http://blog.marsluo.com
-
Github:http://github.com/MarsLuo
- 期望职位:iOS高级工程师
工作经历
ThoughtWorks ( 2016年8月 ~ 至今 )
- 某通信运营商 办公协同软件 macOS客户端
- 某咖啡零售商-架构组
- 某车企-车友App
- 某商业银行-商务卡管理软件 iOSAndroid客户端(ReactNative)
- 某外资银行-财富管理 iOSAndroid客户端(ReactNative)
- 某通信运营商-HMS iOS SDK
西安习悦信息技术有限公司 ( 2014年7月 ~ 2016年8月 )
知了产品线 (2014年10月~2016年8月)
- 带领知了iOS团队完成知了App的构建,研发和上线工作。期间也负责知了App研发团队的进度管理,和需求评审把控工作。
- 完成知了App的研发和持续维护工作。总共涉及22个迭代。时间跨度近两年。知了App是给幼儿园所量身定做的软件。给幼儿园提供了信息交流,即时聊天,考勤打卡等功能。作为核心程序员,我不仅完成项目架构(见下),还完成了
消息发送队列
和聊天消息展示架构
等难度较高的工作。消息发送队列
是知了的一个业务需求,需求要求用户在发送完含有大量图片的知了消息(类似微博形式的),可以在立刻看到消息已经被发送完成,但剩余数据会在后台慢慢传输,直到所有图片和用户的消息发送成功后刷新页面。聊天消息展示架构
是我们在看到JSQMessage之后产生的启发,将聊天消息中共同的部分抽象出来作为基类,将不同的内容,使用子类区分的形式,进行展示。TableView Data Source仅根据对象类型,来返回不同的Cell。随后,也在App内部做了相同的技术改造,使用数据来驱动视图展示,为团队后来使用MVVM的思想转变,奠定了基础。 涉及技术:iOS,Cocoa及相应平台衍生技术。 - 完成知了iOS架构1.0版和2.0版。能够帮助团队加速产品构建。知了iOS
1.0版本
和2.0版本
的架构,目的在于迅速完成项目基础设施构建,依照现有服务端的交互设计,完成项目网络请求,数据存储和缓存,长连接的构建和维持以及其他通用的业务需求。1.0版本
主要侧重业务分层,避免了 Mass View Controller 的产生。网络请求主要对AFNetworking封装,达到业务方只关心接口名称和参数的目的。数据请求对FMDB做了薄封装,使用DAO的方式访问数据库,同时使用Mantle动态构建对象,使得业务层尽量用Model而不是字典通信。数据缓存构建了底层实现,业务并不需要关心缓存如何存储,只需要关系什么业务对应什么Key即可。长连接使用了公司自研的悦信,因为悦信只提供了长连接数据通道,这里的基础设施起到了消息分发的作用。2.0版本
则主要侧重业务解耦,尽量将各个模块组件化,避免耦合,方便重构。2.0的进化在于引入了JLRoutes。 2016年,iOS项目组件化的话题越来越热,随着项目需要,我们也需要引入类似组件化的项目结构。通过对JLRoutes合理使用,可以灵活的构建项目。同时在1.0的基础上,我们也对网络访问和数据存储做了升级。网络访问有两部分升级,一部分是摒弃了以前不合理的设计,使我们任意一个接口都可以制定Host。另一个是采用了类似过滤器的模式,让参数配置可以动态化。同时也摒弃了以前一个接口两种回调的方式。数据库的主要升级是,数据库建表的操作,不再放到统一的配置文件中,而是放到了对应Model的load方法中。这样可以使表的构建不再依赖于底层模块,而是可以放在各个组件中。
知了Web项目和其他
-
完成园长管理平台和知了SaaS1.0版本。在前端同事的协助下,完成了园长管理平台和知了SaaS的幼儿管理,考勤管理模块。涉及技术:AngularJS和Bootstrap。
-
利用Shell脚本完成自动打渠道包和自动打包上传至蒲公英。
-
利用NodeJS完成一个简单的 Mock Server,来帮助前端同事调试接口。
-
客户沟通和服务。
悦信 (即时通讯SDK)
悦信是习悦公司基于MQTT协议自主研发的IM SDK。我独立完成了iOS IM SDK的研发工作。
SKT Lab Co.,Ltd (2012年4月 ~ 2014年6月)
带领公司iOS团队开发并做项目交付。
BizConfMobile
- BizConf Mobile是一款外包项目,为国内一家会控公司完成电话会议控制系统的手机App端,主要应用的技术有CocoaAsyncSocket。
Edianche打车软件
- Edianche 是国内较早的打车软件,基于Xmpp实现。
Zaavio移动订餐软件
- Zaavio 是一款订座软件,主要面向美国市场。
普罗通讯(西安) (2011年6月 ~ 2012年3月)
ConCall: 电话会议控制系统
- ConCall是普罗自研的电话会议控制系统。我在其中主要做二次维护。
FreePP:
- FreePP是一款VoIP应用。最早仅支持打网络电话,后期也支持文字,语音,图片和表情聊天。我主要负责UI绘制工作。完成了图片消息展示和大图展示。完成了动态表情展示,选取和发送。完成了涂鸦功能。
亚森通讯 (2010年7月 ~ 2011年6月)
MQ桌面,99米,神州惠等项目。
主要完成网络数据传输工作。
技能清单
掌握 (可以不用看文档也能完成大部分工作)
- 客户端开发: iOS软件开发
- 数据库相关: SQLite
- 版本管理: Git
了解 (需要查询文档才能完成相应工作)
- 脚本开发: Python
- 前端框架: Bootstrap/AngularJS/HTML5
- 服务器开发: Node.js/Express
- 单元测试: Kiwi/XCTest
致谢
感谢您花时间阅读我的简历,期待能有机会和您共事。