当前位置: 首页 > 后端技术 > Node.js

【前端技术】前端开发效率管理

时间:2023-04-03 17:25:43 Node.js

第一期点对点教育前端技术分享会于1.23结束。以下是大讲师现场演讲的剪辑稿。感谢支持:讲师介绍前端技术专家吴六婆,来自千寻定位网络商务中心和前端团队日常工作内容主要为公司门户、电子商务提供前端支持、营销、分销等业务。业务涵盖PC、H5、App、小程序、NodeJS等各种技术场景,以下为吴六婆精彩演讲的部分内容:一、开发流程规范介绍首先,给大家分享一个优秀的软件开发和交付流程需求设计:我们的需求一般来自运营同学在实际产品运营中收集的问题。可能来自公司高层的直接需求;提交需求后,产品经理会进行需求论证,确认需求后进入产品设计、交互设计、UED设计的开发阶段:开发同学在本地完成开发集成后,提交测试,测试通过后,代码进入预发布或模拟环境。这时候的数据可能已经是真实的数据了,只是机器环境和生产环境是完全隔离的。预发布环境测试通过后,正式发布代码进行生产数据修正:互联网应用往往是小步走的,生产数据结构往往会面临变更。比如我们对项目进行了部分重构,或者拆分了旧代码,新页面上线替换旧页面需要重定向等,等等,这些都需要我们在一个周期内做数据修正和数据分析。及时性:数据源种类繁多,如PV、UV等页面数据,用户页面点击事件、热力图等用户行为数据,商品销售信息等业务数据等;这些都需要我们做好代码层面的数据收集工作2.在ChihiroCICD开发之前:过去我们开发的主要交付方式是通过shell脚本将代码构建、打包、压缩上传到资源服务器;后面发布代码时,测试环境或者生产环境,下载资源代码,然后解压启动。其中很多环节都是人工完成的现在:经过两年多的CICD开发,我们现在已经完全实现了CICD流程的完全自动化;代码提交后,我们会自动拉取编译。如果编译或构建失败,我们会主动发邮件或钉钉提醒。这都是通过Jenkins实现的;构建完成后,会根据项目的类别进行分发。纯静态资源会分发到OSS做CDN加速。如果是服务端程序,我们就开始容器化部署。这里的实现是通过k8s来完成的。使用nginx转发请求;目前我们所有的前端项目都是通过OSS+k8s+nginx发布和部署的。目前团队主要从以下四个地方进行排查:用户端异常错误采集:错误预捕获,比如浏览器程序报错后,可以触发我们的消息机器人通知我们。我们内部称这个工具为“Prophet”业务异常收集数据链接:我们团队现在使用块渲染。通过捕获业务链路错误,我们可以快速知道是前端模板有问题,还是后端数据有问题。用户足迹:目前用户在我们的系统中是正常的,我们可以收集用户使用生命周期等相关信息,例如用户从百度搜索访问、点击、使用我们的服务;这里我们使用了很多工具,比如SensorsBuriedPoints,可以帮助我们记录部分信息,我们自己也开发了一套FPM工具,可以通过几个数据坐标来定位一个用户的行为报告分析:不同服务会有很多不同的埋点方式,甚至很多后端服务会有很多数据需要处理。比如我们之前遇到的一个JS文件加载问题。我们通过报告看到这个js文件的平均访问时间是300+ms。这里我们就进去解决问题,优化一下,然后用之前的CICD做快速发布部署。,前后端分离我们现在基本没有服务端渲染,我们采用的是前后端完全分离。但是我们在传统的前后端分离上做了很多优化。我们开发了很多内部工具来支持我们做前后端分离。:结合CDN+OSS,通过我们的CICD,我们可以快速无缝的发布部署BFF层。通过我们开发的技术,可以很好的实现后端的业务剥离,数据切分,数据聚合。通过对于我们前端的Gateway,我们还可以做好数据分发,页面渲染等,另外我们也对SEO做了静态处理,做搜索引擎优化监控。目前我们的“先知”监控可以帮我们快速发现页面异常,传感器埋点可以帮我们做页面跟踪,Foxer数据采集可以帮我们做一般行为数据分析,FPM可以帮我们做页面性能分析更多精彩内容,感谢您的关注,欢迎转发