快速设计原型图,与用户不断交流。
熟练使用RP、墨刀、Mockplus等工具。
使用CIY Item Creator交互式原型设计工具,快速创建移动端、管理端、大屏等原型。
重视原型沟通,降低研发成本,提升代码质量。
1、原型沟通,降低用户预期与研发理解的差异。
2、原型确认,有助于使编程思路清晰化,提高架构质量。
3、交互式原型几乎等同于实际交付效果,用户直观理解。
4、减少因预期偏差和理解偏差造成的返工和大范围修改。
原生开发与组件式开发各自优势。
原生开发一般利用jquery等技术,实现快速响应,快速修改和部署,无需编译。
组件式开发一般利用vue、Svelte等技术,封装组件,使用现代化编译打包技术。
关注vm、performance等指标,在项目允许的情况下合理利用浏览器缓存。
前端选型。
高控项目一般采用原生开发,快速响应更新。
客户项目一般采用vue开发,保护源码,第三方组件拿来即用。
原生开发控制力强,内存占用少,适合开发明确且实用的产品。
vue开发控制力弱,内存占用大,且较少人能深入理解vue框架原理,以跑通为目的,产品稳定性差。
Svelte控制力较强,内存占用适中,但开发人员资源少,用人成本高,不熟悉框架,开发的产品稳定性更差。
无论使用Golang、Python、PHP语言,都要选择一套自己能够驾驭的框架。自己能驾驭框架源码。
后台系统通常功能快速迭代,应以实用为主。不建议选择不了解且复杂的漂亮界面框架
避免使用过度封装的框架组件而产生依赖,越陷越深,自定义能力很差。
项目初建:
实现动静分离。独立域名做静态资源,所有css/js/img资源指向独立域名。
熟练使用CDN。设置好限流和证书缓存,开启http2。
图片缩略图化,CDN或nginx处理,或使用OSS等存储云。
集群扩容:
单点登录,实现跨域授权。
动静分离,WEB/DB分离,DB和WEB同一个内网。
增设WEB,本地化只读DB,多WEB集群演进,确保代码健壮。
微服务化:
纾解数据库压力,是微服务化的关键。
DB服务器分库、分表,水平拆分。
高频应用模块独立微服务化,用高并发语言重写。
以人为本,按照独立负责制拆解独立微服务模块,为不同语言制定统一架构标准。
增设服务网关、服务发现、自动扩缩缩容。
预实现跨网域部署服务器。
关注HTML5、CSS3、WebSocket、WebRTC、ES6、HTTP2、WebGL等新技术
使用大部分HTML5/CSS3新特性,如animation/vedio/RTC/canvas/localstorage/drag/manifest
全局实现WebSocket封装,自动重连及心跳包维持。
了解threejs/cesium/layaair/babylon/hbuilder等技术。
HTTPS/HTTP2成为主流,引用资源应兼容HTTPS。
使用大前端聚合开发或2D/3D游戏引擎开发。
H5套壳、h5多端编译、cocos/laya等2D游戏引擎、three/cesium等3D引擎,按项目需求和体量选择。
关注主流机型流畅性,适当前瞻未来物理机型性能提升。
组件封装,应借鉴成熟代码加以消化理解,为己所用。
充分利用CSS3动画,一致的单位规范,@media多屏兼容,@font/svg/base64代码化引用。
给设计使用的前端框架,Javascript不好调用的前端框架,都不是好框架。
H5开发主要风险是iOS苹果商店上架被拒,苹果态度暧昧,但大量的事实是可以上架。
100行Javascript封装Websocket前端,主要实现了自动重连及心跳包维持功能
保持HTML5官方规范调用模式
建议使用WSS 443端口通讯,不自定义
设置客户端发起的心跳包data、心跳包频率
设置重连间隔时间,可以设定多组时间,逐渐增加重连间隔时间,防止服务器过载
心跳包仅用于维持TCP通讯不被路由器关闭,现代网络环境下,客户端主动发起心跳即可
下载源码 (暂未整理)
自运营项目试错验证、外部项目快速交付。
1、有运维优势,无需编译,修改便利,适合十台以下的小集群使用。
2、制定统一框架脚手架,制定统一规则,包括前端、后端、数据表设计。
3、使用PHP7+workerman满足绝大部分需求,必要时使用C++扩展。
4、PHP源码增加自定义加密钩子函数,实现代码保护。
5、人才市场成熟成本低,只做快速交付。
6、使用Golang编写的容器,可实现PHP与Golang共存开发。
自运营项目高并发重构,外部项目微服务集群交付。
1、有高并发优势,充分利用服务器资源,成熟的业务,将能节省40%以上物理服务器资源。
2、制定统一框架脚手架,制定统一规则,前后端及数据表设计。
3、通用服务: 发现服务(CiySDM)、网关服务(CiyGATE)、单点服务(CiySSO)、安全服务(CiySS)、日志服务(CiyLOG)。
4、发现服务实现微服务注册、健康聚合、自动扩缩容、配置管理、代码关系、黑名单、告警。
5、网关服务实现反向代理、灰度路由、验证授权、流量控制、黑名单、服务降级熔断、安全策略。
6、单点服务实现注册、登陆验证、多端验证、三方接口Auth2.0、独立静态页、多地部署。
7、安全服务实现操作系统审计、文件异动报告、数据拦截规则。
8、日志服务实现订阅、聚类、分级归档。
CIYPHP框架,结构极简,前后端分离,DBA与后端逻辑可分离。
封装了Mysql和PDO,数据库简化使用。
封装了加解密、混合url参数、极简结构数据、Ajax函数调用、安全传参、CSV解析等
data.php 封装了数据层,set接口实现了DML SQL命令整合。
数据库结构体文档生成工具、自动化代码生成工具、简易后端界面框架、定时执行任务。
实现了一套原型图快速生成工具,支持PC端中后台原型、移动端原型、数据大屏原型设计。
附加一套有限使用js的纯CSS效果的UI后台界面,建议自实现一个框架,不拿来即用。
Github 获取CIYPHP源码 【最新源码不再公开分享,在互研团队内免费提供】
基于Workerman的PHP Socket框架,采用端口并发机制,基本实现了无需变量锁的编程方法
Workerman完全使用php代码,易于部署,易于完善底层代码。
编程过程可忽略变量锁,降低开发复杂度。提升效率。
建议与CiySocket框架结合使用
下载源码
使用统一的部署方案,统一维护,统一安全支持,高一致性的运维。
Nginx反向代理、处理缓存及图片前置处理。
MariaDB、PostgreSQL、TDEngine三大数据库系统标准部署按需使用。
按长连接、短连接及大数据处理(AI容器)三个维度分别制定内核调优配置方案。
部署文档
前置评审、调用描述监控、自测覆盖。
统一使用无状态模式开发。
涉及多主库事务、长周期接口交互、强引用对象使用、三方库,需前置评审。
避免缓存服务集群、有效利用CPU/GPU/NPU。
渐进式开发框架,实现单服务到微服务的代码级过渡,服务调用点描述规范。
从【单服务器】到【单机房多服务器】再到【跨机房可伸缩多服务器群】的演进。
标准环境,单服务器运维,git触发部署。
动静分离,主DB独立,DB实时同步备份。
web集群+只读DB。
主DB垂直水平拆分,多主互备。
实施微服务架构,应用服务以人为本拆分。
微服务可伸缩集群,只读DB+边缘DB可伸缩集群。
多地集群部署,建立系统级信道。
OpenStack自建云机房,国产指令集核心,节能降耗。
容器安全、子网安全、入口安全、链路安全。
最小化配置运维入口,多VPN链路,实现逐级开启,逐级关闭。
设置蜜罐服务,服务器差异审计上报,标准化安全配置。
多地专线链路按最小访问来源配置。
完成二级等保、三级等保,甚至四级等保。聘请绿盟等安全公司经常渗透。
代码分级审计,技术前置审批,资源使用规范。
按照增删改查调接口、服务器文件操作、服务器命令执行三个维度进行分级审计。
前置审批项包括但不限于多主事务、文件资源存储、可执行脚本等方面。
前端业务Web接口封装,不直连数据库。
审计所有输入来源判断,用风险攻击数据测试输入来源过滤可靠性。
软件工程师,也需要有一些设计能力。
至少熟练掌握Photoshop,切图、图片加工等图片处理。
至少购买1个商业设计网站的会员,方便下载成品图。
至少掌握一个图标设计库,如iconfont。
有意识的搜集整理好看的界面模板或截图。
将已经用过的图片素材,放到一起保存。
目前已整理超过1TB的优秀设计稿及一个设计师平台。