写在前面 本文大致向读者介绍了楼下几点知识,希望在编写bat脚本时候能够帮到读者,如果能够有所启迪,那就更好了. bat脚本的相关知识和案例编写 用windows自带的命令压缩文件 windows和linux文件传输 如何免密码登录Linux 前端发布流程的优化 背景介绍 笔者目前所在的开发团队,由于一些限制,没有相关的devOps实践,所以也就没持续集成.自动部署什么事了.很多时候,还是依靠人力手动挡操控,先运行诸如yarn build或者npm run build之类的npm script去…
背景介绍 前面在基于bat脚本的前端发布流程设计与实现中,我已经介绍了设计与实现,这一篇主要是针对其的一个优化折腾(分两步走,第一步先搞出来,第二步再想着怎么去优化它),我主要做了以下几件事. "各个击破" ------ 更细粒度地拆分构建.打包.上传模块,逻辑更清晰,维护更简便,程序更鲁棒 "条条大路通杭州" ------ 更改了压缩zip的实现逻辑(npm pkg - archiver) "打扫干净屋子再请客" ----- 追加了清理之前的文…
1 从理论开始 什么是DevOps? 近年来,随着DevOps理念的逐渐深入人心,企业逐渐意识到从看似重复的手工劳动中实现自动化流程处理,对于提高企业劳动生产力已经非常重要,尤其是面向互联网的开发者,往往每次上线时,最大的挑战并非需求的走查或测试和改bug,而是由于发布的流程不够规范,将成果发布到目标环境后可能造成的配置错误或引发其他已知未知问题所造成的额外工作量,使得生产环境的发布流程总会存在不顺利. 而DevOps则致力于统一整合软件开发和软件运维,其特点是强烈倡导对构建软件的所有环节(从集…
原文地址:https://segmentfault.com/a/1190000005356568 前言:在当下的前端界,react 和 redux 发展得如火如荼,react 在 github 的 star 数达 42000 +,超过了 jquery 的 39000+,也即将超过前几年比较火的angular 1 的 49000+:redux 的 star 数也要接近 20000,可见大家对其的热情程度,究竟是什么魔力让大家为之疯狂呢?让我们上车,亲自体验一波试试~~本文章偏向于讲解redux流程…
摘要 在处理实时数据的过程中需要缓存的参与,由于在更新实时数据时并发处理的特点,因此在更新实时数据时经常产生新老数据相互覆盖的情况,针对这个情况调查了Redis事务和Lua脚本后,发现Redis事务并不能很好的满足该场景的业务需要,必须借助Lua脚本执行原子化的操作才能在理论上解决数据更新的准确性问题. 实时数据处理过程中遇到的问题 在处理实时数据的过程中,经常使用Redis存取数据执行CAS(check and set)操作.一般做法是先从Redis中获取到目标数据,然后根据数据的特征指标判断…
原创/朱季谦 这款工具是笔者在2018年初开发完成的,时隔两载,偶然想起这款小工具,于是,决定将其开源,若有人需要做类似Java批处理实现整理文档的工具,可参考该工具逻辑思路来实现. 该工具是运行在windos系统上的,基于bat脚本与jar包形式协同运行,当时开发该工具的背景是,需要定时处理大批量的对账单txt文本信息,将其统一整合到一张Excel文档上,供会计人员获取.在没有该工具之前,项目组上的会计人员,需要每天手动打开大量txt文本,并从每份txt文档里,复制所需信息,将获取到的信息再复…
前端资源迁移     目前公司的前端资源托管在svn服务器上,由于团队的逐渐扩大,svn的分支管控越来越不灵活,而且对于以后前端流程一体化的处理支持不是很好,因此决定在版本控制上转向git.git的好处不用多说:多分支并行开发,自动化构建,持续集成等等,这也是促使我们转向它的原因. 具体操作中的问题     首先尝试使用gitlab提供的web hooks进行触发脚本控制.web hooks发出的post请求我们的php文件,在php中执行相关shell脚本,完成一体化构建.但是shell中的提…
最近在做前端的发布流程,发布流程的主要实现以下几个方面: 构建:包括JavaScript.css.html等的压缩,以及版本控制,利用md5生成版本号替换文件引用,实现长缓存策略. 发布:输出新版本的代码,切换系统到新版本 回滚:如果系统有问题,可以切换到原有版本 构建 整个流程由gulp控制,webpack主要处理模块化管理方面的处理,包括基于CommonJs模块规范的包管理,基于SCSS的模块化. 利用Webpack实现JavaScript打包压缩.SCSS编译.CSS文件抽取. 利用gul…
前端埋点对于那些营销活动的项目是必须的,它可以反应出用户的喜好与习惯,从而让项目的运营者们能够调整策略优化流程提高用户体验从而获取更多的$.这篇文章将实现一个Vue3版本的埋点上报插件,主要功能有 通过Vue自定义指令形式实现点击事件上报 提供手动调用上报方法 上报每个页面访问人数与次数(UV,PV) 上报用户在每个页面停留时长 项目环境搭建 本项目采用pnpm进行Monorepo环境搭建,因为未来这个项目可能会加入更多的工具包. 安装pnpm npm install pnpm -g 初始化pa…
如果流程未设计完时可以先保存,以后再打开接着设计.点击工具栏上的保存按钮即可保存当前流程设计: 如果下次要接着设计,则可以打开该流程继续设计: 如果流程设计完成,可以点击安装按钮来发布流程,流程安装成功后即加入到了应用程序库,可以通过角色应用来将该流程配置给相应的角色用户使用.…