技术学习笔记01(乱七八糟版)

技术学习笔记01(乱七八糟版)

根据时间顺序记录自己在学习/实习过程中遇到的一些不明白的知识点。但是并只是通过浅显的文字说明解释了一下这些名词的大概意思,没有进行更加深入的了解和实战。

24.3.20

1. 架构

(1)架构分类:

① 业务架构

1

使用一套方法论或者逻辑对项目所涉及到的业务进行边界划分,业务架构的关键是熟悉业务

② 应用架构

2

对整个系统实现的总体架构,需要指出系统的层次,系统开发的原则,系统各个层次的应用服务

③ 数据架构

④ 技术架构

(2)项目架构设计

传送门:https://www.zhihu.com/question/340682578

① 项目开发整体的流程大致上是:需求评审、技术方案评审/项目排期、测试用例评审、开发、测试、功能预演、发布上线、线上灰度 / 放量。

② 项目整体前期设计:先理清业务核心实体/领域实体,根据核心实体确认模型,随之确定模型自身的行为以及模型之间的关系

③ 介绍整体业务流程可以使用时序图

④ 数据模型使用ER图建立。

24.3.25

1. SaaS产品

SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过网络提供软件服务。

SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。

总结一下 SaaS 产品的特点。

  • 平台部署,不仅客户不需要购买软硬件设备,同时由平台方来维护。
  • 选购灵活,客户根据服务项数和订购时长,可阶段性向厂商付费。
  • 响应即时,SaaS 平台需要即时响应用户反馈,长期提供服务才能获得更多的收入。

如果一款产品同时满足上面的 3 个条件,那么这款产品就属于 SaaS 。

当然也有B端和C端不同的SaaS产品;也能分为业务SaaS产品和行业SaaS产品

  • 业务 SaaS 产品,也叫通用型 SaaS 产品,即使跨行业但业务流程相似,比如爱客 CRM 、 金蝶 ERP、 Moka HRM 等。
  • 行业 SaaS 产品具体聚焦于某个行业,不同行业的业务流程差别很大,比如教育行业的小鹅通、云朵课堂等。

2. 脏数据

脏数据是指从目标中取出来的已经过期、错误、或者没有意义的数据。在大数据时代,数据清洗是必要的,因为总是存在很多“脏数据”,也就是不完整、不规范、不准确的数据。数据清洗包括检查数据一致性,处理无效值和缺失值,从而提高数据质量。

24.3.26

1. 数据字典

学习链接:https://blog.csdn.net/qq_42320048/article/details/89252393

(1)数据字典分类

第一种:《主体表》里包含主体和属性代码,《属性表》里包含属性代码和属性Value,不同属性分别建表。
第二种:《主体表》里仅包含主体,《系统代码分类表》里存储属性标识和属性名称,《系统代码表》里包含所有属性代码、属性标识和属性Value,《属性表》是《主体》和《系统代码表》的关系表,包含属性id,主体id,属性代码。

(2)举例

第一种字典设计:

image-20240326130619143

第二种字典设计:

image-20240326130628476

两种设计方式分析:

1.第一种设计方式:由于属性id是存储在主体表里的,属性的数量是不变的,而属性取值的数量可以是变化的。但是如果该主体的属性非常多的话,就需要建很多的属性表,在开发中还要设计很多属性类,那当想要取得一条主体的完全数据时,那将进行几十个表的联接(join)操作。性能耗损严重。当属性的数量不多时,用第一种数据字典即可。

2.第二种设计方式:由于这种设计方式属性和主题表是分开的,所以属性的数量是可变的,而属性取值的数量可以是变化的。引入《系统代码分类表》和《系统代码表》,也解决了第一种设计方式的局限性。

24.4.10

1. 深拷贝和浅拷贝

图片描述

(1)浅拷贝

浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存(分支)。

浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。
如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象。

(2)深拷贝

深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象,是“值”而不是“引用”(不是分支)

  • 拷贝第一层级的对象属性或数组元素
  • 递归拷贝所有层级的对象属性和数组元素
  • 深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。

24.4.16

1. 回滚

(1)什么是事务回滚?

事务回滚是指将该事务已经完成对数据库的更新操作撤销,在事务中,每个正确的原子都会被顺序执行,直到遇到错误的原子操作。

(2)什么是回滚?

回滚是删除由一个或多个部分完成的事务执行的更新,为保证应用程序、数据库或系统错误后还原数据库的完整性,需要使用回滚。

回滚包括程序回滚和数据回滚等类型(泛指程序更新失败,返回上一次正确状态行为)

2. 客户端和服务端

客户端和服务端是两个相对的概念。客户端是用户直接使用的软件,例如手机上的APP或电脑上的软件。服务端是为客户端提供数据存储、数据处理等服务的程序,通常运行在服务器上。客户端和服务端的交互是通过网络协议(如HTTP)进行的。

例如,当您使用微信时,微信就是客户端,而微信服务器则是服务端。客户端发送请求到服务端,服务端处理请求并返回数据给客户端。

3. 缓存

缓存是一种用于提高应用程序性能的技术。通过将经常访问的数据存储在本地或离用户较近的服务器上,可以减少数据访问延迟并提高应用程序的响应速度。缓存可以位于多个位置,包括客户端、代理服务器和分布式缓存系统等。

例如,浏览器会缓存网页中的静态资源(如CSS、JavaScript文件),以便在用户再次访问该网页时加快加载速度。另外,分布式缓存系统(如Redis、Memcached等)可以用于存储数据库查询结果,减少对数据库的访问次数并提高整体性能。

24.4.22

1. 软删除

(1)硬删除

硬删除就是传统的物理删除,直接将该记录从数据库中删除。但是是人总会犯错误,在误操作删除了重要数据后,如果想要恢复该数据,需要锁表再去访问日志文件。这样会造成大量的人力资源浪费,现在的开发不推荐这种方式。

(2)软删除

软删除又叫逻辑删除,标记删除,与我们常说的删除不同,并不是真的从数据库中将这条记录去除,而是会设置一个字段,常见的有:isDelete或者state等字段来标记删除状态。当该字段为0的时候为未删除状态,为1时则是删除状态。

在现实情况中,很多时候我们说的删除并不是真的是删除的本意,因为站在用户的角度来看,并不是一种删除的状态:
订单不是被删除的,是被“取消”的。
员工不是被删除的,是被“解雇”的(也可能是退休或者暂时离职了)。
职位不是被删除的,是被“填补”的(或者招聘申请被撤回)。
所以这些时候,我们并不能真的把记录删除,所以软删除就出现了。

24.4.23

1. npm 和 cnpm

(1) 两者之间只是 node 中包管理器的不同,

(2) npm是node官方的包管理器。cnpm是个中国版的npm,是淘宝定制的 cnpm(gzip 压缩支持) 命令行工具代替默认的 npm:

(3)如果因为网络原因无法使用npm下载,那cnpm这个就派上用场了。

一定切记切记,npm和cnpm只是下载器的不同,好像npm用人力板车去拉包,而cnpm却使用货车去运包。 而存包的地址则在下文nrm的查看,

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值