2022年底,我手里一共负责了30套系统

news2024/11/18 4:28:32

2022年真是不平凡的一年,往常熙熙攘攘的办公室人越来越少,真是像曹操说的兄弟相继凋零,好似风中落叶啊。

结果人少了,手里的系统一个没少,慢慢年底了,我汇总了一下,手里的系统达到了30来个。

搞不定怎么办?我是这么做的

 

目录

1、 区分系统的重要程度

2、P3级别的文档梳理

3、P2级别的文档梳理

4、P1级的文档梳理

5、把前端代码部署到nginx服务器

6、还要学用sequlize操作mysql数据库


1、 区分系统的重要程度

当然这30来套系统也不是一次性过来的,是经过一年断断续续到我手里的,刚开始每人手里都有自己负责的系统,慢慢3月份一点,6月份一点,8月份一点,10月份一点,2022年真是不平凡的一年啊。

根据重要紧急程度,我区分了P1 P2 和 P3三个等级。

P3就是线上还在跑着的系统,但是访问量比较小,而且几乎一年了也没有什么需求的;

P2就是线上跑着,也有访问量,需求偶尔会提1个,但不会去做太多投入,除非有重大改动的,不过看今年这情况,短时间内也不会有大的改动了,但是不是促销活动还是会动一动,属于三四个月可能会动一次的;

P1就是比较重要的系统,访问量比较大,几乎每次迭代都会提需求的。

2、P3级别的文档梳理

P3级别相对来说不太重要,因为只要线上机器不会坏就没事。但是一旦自己负责了就得有个样子,针对这P3级别的8个系统,我做了一个统一的文档。

记录了以下几点:

△ 代码的地址(保证自己有master权限)

△ 保证代码可以本地启动起来,修改代码可以生效

△ 知道这8个系统都部署在哪台机器上

△ 线上访问的地址是什么

这样就够了,这种系统一般不会动,除非机器坏了,一旦哪天机器坏了,我再重新保证能部署到合适的位置就好啦。

3、P2级别的文档梳理

P2级别的日常不用动,但到了某个特殊的节日,还是会做一些活动处理的,所以我做了以下梳理:

△ 每个系统记录一个文档

△ 记录代码库的地址(保证自己有master权限)

△ 记录每套系统的npm源,node版本,保证与之前开发者统一

△ 代码可以启动起来,修改代码会生效

△ 大体梳理代码结构并形成文档,例如有前端路由的,要找准路由对应的组件,如果用了vuex redux的,证明这是一套比较麻烦的系统,还要多梳理一下数据走向(很多人为了锻炼用vuex,一个小破页面也用上,好烦)

△ 通过以上梳理,看一下打包的时候是否区分版本号,是否区分部署环境等,找准测试环境和线上环境的机器,都记录下来

△ 线上部署的时候,HTML和静态资源(js css image)是否在一起,是可以几台机器一下都重启,还是分批重启,冷备一部分

△ 记录线上地址,查看线上和测试的接口区分

△ 一般服务端同学不用记了,因为也只有那么俩人了

△ 代码细节也不用着重梳理,有时间再梳理也行

这样,保证自己需要做需求的时候,可以快一些找到修改的位置,改完了可以做代码部署,自测以及通知测试怎么测

4、P1级的文档梳理

P1级别的,可能每天都需要关注,文档中除了以上的P3P2级别的梳理文档,还有如下几点重要事项:

△ 梳理代码细节,子组件的嵌套关系,组件间的数据传递情况,展示情况

△ 着重梳理数据来源,接口是哪些,入参是哪些,出参是哪些

△ 梳理关键数据的兜底情况,是否会因为某些数据下发的不同而产生不同的情况,或者直接造成八阿哥

△ 交接给你的人,一定追着问,之前还有哪些坑,哪些没解决的问题,这一点至关重要;

△ 梳理这套系统中哪些功能更常用,需要立刻梳理代码细节,有哪些不常用甚至废弃的,还没有删除的

△ 了解这些系统的监控系统都有哪些,是否需要添加自己为处理人的,或者更加重要的系统,自己每过半个小时就需要自己去手动访问一次的

等等等等吧,问题很多,弄不过来,再区分也弄不过来。有人说技多不压身,但是活儿多了压身啊。

5、把前端代码部署到nginx服务器

有些系统代码因为历史原因,不能通过部署平台的,需要自己往线上nginx平台部署。之前要么都是前端把dist压缩包发给服务端,让服务端部署,要么就是有了部署平台自己玩,这下好了,我得自己往nginx线上服务器上部署。步骤如下(学的比较浅,但是暂时够用)

1、npm run build 打包

2、打出的zip压缩包之后,传到服务器上的某个位置

     执行  scp -r dist-2022121201.zip dbg@xxx.xx.xxx.x:/home/dbg

     这里的dist-2022121201.zip就是你本地dist打出的压缩包   

     dbg是你在线上机器的用户名

     xxx.xx.xxx.x  是线上机器的ip

     /home/dbg  是你在线上机器的某个文件夹,属于你自己的文件夹

3、登录到线上机器

     执行   ssh xxx.xx.xxx.x

4、登录上去以后,就到了你自己的空间,然后执行  ls  ,如果刚才传送成功了,是可以看见你刚刚打出的 dist-2022121201.zip

5、从你的空间,把压缩包移动到部署位置

     执行   mv dist-202212121201.zip /usr/share/nginx/dbg_area

     /usr/share/nginx/dbg_area   这是你nginx机器上的部署代码的区域,这里面将会放你的前端代码

6、将执行命令指向到nginx服务器位置

     执行  cd /usr/share/nginx/dbg_area

7、再次执行  ls  命令,查看是否已经把压缩包移动过来了

8、解压压缩包,就会把上一次的内容覆盖掉

     执行  tar -zxvf dist-202212121201.zip 

9、重启nginx

    nginx -s reload

其实先把压缩包移动过来再解压显得有点冗余,完全可以直接执行  tar -zxvf dist-202212121201.zip -C/usr/share/nginx/dbg_area,不过前端需要的nginx的知识点不过,就是部署一下,哦,对,有的项目用的nginx路由指向前端机器,这个也需要关注一下

6、还要学用sequlize操作mysql数据库

这里先大体写个步骤吧,每天事太多了,还没来得及梳理呢,改天梳理上。

印象最深的是后端java大哥告诉我,不能把mysql数据库密码写到代码里,要以文件形势加密写入到机器的某个位置。

而系统里需要先读取文件,再解密,再去做为连接池,去操作mysql数据库。

哦,对了,本地还装了个破mysql ,还弄了个免安装的小海豚,可以自己建表玩。

快要2023年了,感觉今年的冬天,好冷啊

-- 经海路大白狗 记录于 2022年12月 某个寒冷的星期六、五棵松  -  CSDN平台 --

名人名言:当你离目的地更近一站的时候,你会发现,可能到目的地的公交车就会多一趟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/96270.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux--基础IO

目录 C文件IO 系统文件IO 接口介绍 系统调用和库函数 文件描述符 open返回值 文件描述符的分配规则 重定向 代码演示 使用dup2系统调用 缓冲区 FILE 理解文件系统 文件系统 inode 软硬链接 静态库和动态库 概念 生成静态库 生成动态库 C文件IO 写文件 #in…

SpringBoot+Prometheus+Grafana 实现自定义监控

1.Spring Boot 工程集成 Micrometer 1.1引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency><groupId>io.micrometer<…

E1. Erase and Extend (Easy Version)(纯暴力+string)

Problem - 1537E1 - Codeforces 这是该问题的简单版本。唯一的区别是对n和k的约束。只有当所有版本的问题都解决了&#xff0c;你才能进行黑客攻击。 你有一个字符串s&#xff0c;你可以对它进行两种类型的操作。 删除字符串的最后一个字符。 复制字符串&#xff1a;s:ss&…

数据结构---堆排序

堆排序JAVA实现和快速排序区别二叉堆的构建&#xff0c;删除&#xff0c;调整是实现堆排序的基础之前博客写了二叉堆&#xff1a; 二叉堆最大堆的堆顶是整个堆中的最大元素。最小堆的堆顶是整个堆中的最小元素。 堆排序步骤&#xff1a; 把无序数组构建成二叉堆。(需要从小到…

ArcGIS基础:等高线数据生成栅格DEM数据

以下操作为生成栅格DEM数据的方法。 一般方法是先创建TIN&#xff0c;然后在转为栅格DEM数据。 原始数据如下&#xff1a;为等高线数据&#xff0c;创建TIN数据需要用到等高线数据的【高程】字段。 声明&#xff1a;数据来源于网络。 工具位于【3D分析工具】下的【TIN】下…

BeanDefinition

1. 前言 Spring最重要的一个概念当属Bean了&#xff0c;我们写的Controller、Service、Dao凡是加了对应注解交给Spring管理的&#xff0c;都是Spring容器中的一个Bean。把我们自己写的类变成一个Bean交给Spring管理有很多的好处&#xff0c;比如我们不用自己去new对象了&#…

ssh+mysql实现的Java web企业人事人力资源管理系统源码+运行教程+参考论文+开题报告

今天给大家演示的是一款由sshmysql实现的Java web企业人事人力资源管理系统&#xff0c;其中struts版本是struts2&#xff0c;本系统功能非常完善&#xff0c;已经达到了可以商用的地步&#xff0c;基本全部实现了整个人力资源管理的所有功能&#xff0c;包括员工档案信息、部门…

jekins集成部署

jekins集成部署1.jekins简介2.Jenkins部署环境3. jekins安装4.配置jekins启动和停止脚本5.插件安装5.1.安装maven插件安装5.2 安装gitee插件5.3 安装Publish Over SSH插件5.4 安装 事件机制插件6.任务构建6.1 构建任务6.2 配置giteeApi令牌6.3 配置gitee源码地址6.4 在build中配…

3D激光里程计其二:NDT

3D激光里程计其二&#xff1a;NDT1. 经典NDT2. 计算方式2.1 2D场景求解:2.2 3D场景求解&#xff1a;3. 其他 NDTReference:深蓝学院-多传感器融合 1. 经典NDT NDT 核心思想&#xff1a;基于概率的匹配。目标是将点集 Y 匹配到固定的点集 X 中。这里的联合概率说的是将 X 划分成…

计算机毕业设计springboot+vue社区疫情防控系统

项目介绍 本系统运用最新的技术springboot框架,此框架是现在社会公司生产中所用的必需框架,非常实用,相比于以前的ssm框架,简单很多。前端框架运用vue框架,vue框架是最近几年非常流行的前端技术,适合很多开发语言。主要可以是系统的前端和后端进行解耦,分离,有利于开发者分别注…

设计模式——中介者模式

中介者模式一、基本思想二、应用场景三、结构图四、代码五、优缺点优点缺点一、基本思想 定义一个中介对象来封装一系列对象之间的交互&#xff0c;使原有对象之间的耦合松散&#xff0c;且可以独立地改变它们之间的交互。中介者模式又叫调停模式&#xff0c;它是迪米特法则的…

Proteus8仿真:51单片机LCD1602显示

51单片机LCD1602显示元器件原理图部分代码main.c工程文件元器件 元器件名称排阻RESPACK-851单片机AT89C51LCD1602LM016L按键BUTTON 原理图部分 LCD1602驱动: HD44780显示主要有8位操作8位两行显示&#xff0c;4位操作8位一行显示&#xff0c;8位操作8位一行显示。 LCD1602主要…

【Python】循环语句

目录 1.while 循环 2. for 循环 3. continue 4. break 1.while 循环 基本语法格式 while 条件&#xff1a; 循环体 条件为真&#xff0c;则执行循环体代码 条件为假&#xff0c;则结束循环 例1&#xff1a;打印 1 - 10 的整数 num 1 while num < 10:print(num)num 1 …

【AI with ML】第 10 章 :创建 ML 模型以预测序列

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

MySQL底层索引

目录 一、什么是索引&#xff1f; 二、MySQL索引结构分析【MySQL底层采用的是BTree】 1、为什么不使用二叉树&#xff1f; 2、为什么不使用红黑树&#xff1f; 3、为什么不使用Hash&#xff1f; 4、BTree与B-Tree的区别&#xff1f; 三、MySQL数据库的表结构、索引、数据 1、M…

基于Sharfetter-Gummel和改进的Sharfetter-Gummel计算对流扩散方程的通量(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

1. Arthas的命令

万恶淫为首&#xff0c;百善孝为先 Arthas命令 可以查看相应的文档: https://arthas.aliyun.com/doc/命令.html 如: https://arthas.aliyun.com/doc/grep.html https://arthas.aliyun.com/doc/cat.html 基础命令 help 查看命令帮助信息 cat 查看当前arthas 系统中的任意文件…

【算法】八月算法打卡

2022-08-01 低配版 promise class MyPromise {constructor(executor) {// 成功回调队列this._resolveQueue [];// 失败回调队列this._rejectQueue [];let resolve (val) > {while (this._resolveQueue.length) {const callback this._resolveQueue.shift();callback(v…

【iOS】对象,消息,运行期

文章目录对象&#xff0c;消息&#xff0c;运行期属性属性特质原子性方法名在对象内部尽量直接访问实例变量对象等同性特定类所具有的等同性判断等同性判定的执行深度容器中可变类的等同性以“类族模式”隐藏实现细节创建类族Cocoa里的类族在既有类中使用关联对象存放自定义数据…

原型,原型链,原型的继承

原型的作用? 1.节省内存空间 2.实现数据共享(继承) 什么是原型? 任何一个函数都有propotype属性,它本身是一个对象,我们称之为原型 构造函数,实例化对象与原型之间的关系? 1.任何一个函数都有prototype属性,它本身是一个对象,我们称之为原型 2.构造函数也是函数,也都…