1、熟练掌握JAVA语言编程和SPRING CLOUD微服务架构
2、熟练掌握C++、C语言编程,使用ACE框架实施过一个项目
3、熟练掌握JAVASCRIPT 编程、NODEJS框架、VUE框架、ANGULAR框架、REACT框架、CORDAVO框架
4、掌握PHP、PYTHON、GOLANG、RUBY等语言编程
5、熟练掌握模板、工厂、单例、代理、BUILDER、组合、适配器、装饰者和迭代器模式的运用
6、是熟练使用的数据库DB2、SYBASE、ORACLE(传统的),MYSQL、NOSQL等
7、熟练掌握LINUX操作系统、WAS中间件、DOCKER工具等
1、安全信息系统开发
企业内部一个普通的业务系统,含大量重复增删改查上传和下载功能,需接入企业内部单点登录系统和统一授权功能,这个系统本是非常简单,系统采用前后端分离的方式,接口采用JSON协议接口,前端采用VUE+IVEW,后端采用SPRING BOOT ,数据库访问采用MYBATIS,就是重复的增删改查上传(批量导入)下载功能有点多,采用实现一个然后不断COPY代码的方式也是头大,几十个模板下来估计这辈子也不想再编程了,考虑到增删改查上传下载大部分都是重复性代码,只是针对不同的业务模块需要调用不同的数据表操作,于是在CONTROLLER层做了一个抽象:
一、设计一个模板抽象类和两个接口,模板抽象类负责增删改查的统一处理并定义好并设计增删改查虚拟方法供子类实现,这样就实现通用和独立的分离,不需要在不断COPY那些类似的代码(已在抽象类中实现),然后不同模块的增删改查就在子类中实现,大大减少重复代码,这样做的话一是结构清晰二是代码量少三是子类只负责各自独立的增删改查操作代码的调用,子类代码编起来也愉快多了;另批量上传和下载功能独立设计进接口供实现,每个模块有需要就实现;CONTROLLER类的测试案例使用MOCKMVC测试,下面一点讲解怎么减少前端页面代码的重复工作量;
二、前端主要使用JAVASCRIPT 技术,采用VUE+IVEW框架,H5中使用VUE编程是比较方便,按照VUE的语法要求编写便可以,同样的是也是一大堆的模块需要一个个的COPY,还要表格的中文字段,怎么减少重复工作量呢?把增删改查上传下载的方法放在一个JAVASCRIPT文件中,实现一个模块的功能(包括增删改查上传和下载),使用这个文件作为模板;在MYBATIS中有个功能可以改写其提供方法生成自定义的实体类,在模板中需要字段名和中文名,只要在数据库表中(本工程使用的MYSQL)定义好每个字段的中文名,使用改写好的MYBATIS实体类生成带注解的实体类(需要开发一个注解类),有了这些带注解的实体类,接下来工作便好办了,利用反射功能将实体类的字段名和中文名遍历出来填写入模板就一个生成一个前端文件,大大减少工作量和提高开发效率。
三、使用SWAGGER提供接口界面,使用DOCKER发布,单点登录的TOKEN使用定时器组件定时获取。
2、前端绘图组件的开发
本工程是比较老的一个工程,算是入门级的J2EE框架吧,前端使用了JSP(JAVA代码在页面里飘的感觉好怪异:( ),javabean的调用使用了DWR,数据库(ORACLE)访问使用JDBC(入门的感觉),工程打包发布在WAS(IBM的web服务器,流行过一段时间的),本需求需要在前端绘制线路图,使用D3库,本也是个很简单的活,画一个图照着客户提供的样板,从陌生到熟悉慢2-3天也画完了,但是客户提供了10几个样板:(,如果只是实现一个方法然后不断的COPY,很快程序员就会怀疑人生:进入这行只是为了这么多的重复劳动?答案当然是否定的,在javasript中有个强大的prototype功能可以使用,可以抽象,可以定义虚拟方法,看官是不是很熟悉,没错就是模板设计方法,在抽象类中定义图形的变量和画图过程,因为10几个图画的东西都差不多,只是在屏幕位置不同,多数是雷同的,少数有差异的,差异的就定义几个虚拟方法在子类中实现喽,就这样预估要一个月的工作量在一周就完成了。
3、高管指标报表开发
如题,就是提供给领导看的报表,需要在手机前端展现(使用企业移动平台小程序标准统一开发,兼容苹果和安卓),后端接口在企业中台发布,使用JAVASCRIPT ECHARTS库实现各种图样。
4、统一认证平台开发
本工程开发比较早,多年前使用C++开发,提供给POS端到银联端转发至本工程做秘钥验证,使用ACE框架。
5、以下是本人做学习用途开发的一些工程和用到的框架,没有正式应用到商用中
一、微信公众号后台开发(PHP SWOOLE框架);功能是接收来自公众号语音并连接百度语音识别进行操作在回复。
二、NODEJS 服务端开发
三、PYTHON DJANGO开发
四、GOLANG 区块链开发
五、ROR开发
六、ANGULAR 7 和CORDAVO 手机APP开发
开发程序连接油站加油机、微信公众号、华东微商城支付网关、零管系统,协议使用8583协议、socket+xml格式报文,使用C++ BUILDER开发工具,测试工具使用DELPHI开发。
使用C++builder开发DLL,根据传入的url地址和需加密信息使用AES或者DES加密加密后并经过URLECODE后生成二维码图片存在当前目录。
展现集团业务指标数据,采用H5技术,手机底层访问使用cordova.js,数据获取使用企业内部中台。
本需求需要在前端绘制线路图,使用D3库,使用模板设计方法,在抽象类中定义图形的变量和画图过程,差异的就定义几个虚拟方法在子类中实现。