实体、视图对象、数据传输对象关系
1、entity 里的每一个字段,与数据库相对应,
2、vo 里的每一个字段,是和你前台 html 页面相对应,
3、dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。
举个例子:
你的html页面上有三个字段,name,pass,age
你的数据库表里,有两个字段,name,pass , 注意没有 age。
而你的 vo 里,就应该有下面三个成员变量 ,因为对应 html 页面上三个字段 。
dto 和 entity 里面的字段应该是一样的,dto 只是 entity 到 vo,或者 vo 到 entity 的中间过程,如果没有这个过程,你仍然可以做到增删改查,这是根据具体公司规范来的 。
DevOps 工具:提升软件开发和运营效率
DevOps tools(DevOps工具)是指用于支持DevOps实践的软件工具集合。DevOps是一种软件开发和运营的方法论,旨在通过协作、自动化和监控等方式来增强软件开发和运营的效率和质量。DevOps工具可以帮助开发和运维团队实现自动化、协作和监控等目标,从而提高软件开发和运营的效率和质量。
一些常见的DevOps工具包括:
持续集成(Continuous Integration,CI)工具,如Jenkins、Travis CI、CircleCI等,用于自动化构建和测试代码;持续交付(Continuous Delivery,CD)工具,如Ansible、Puppet、Chef等,用于自动化部署和配置代码;容器化工具,如Docker、Kubernetes等,用于管理和部署容器化应用程序;监控和日志工具,如Prometheus、Grafana、ELK Stack等,用于监控应用程序的健康状况和日志信息;协作工具,如GitLab、GitHub、Bitbucket等,用于团队协作和版本控制。
K8S:容器编排与微服务平台
K8S是什么K8S全称kubernetes,是由Google在2014年开源的生产级别的容器编排系统,或者说是微服务和云原生平台,他实际上是一个微服务框架。目前很主流的微服务框架和平台有Spring Cloud、Dubbo和K8S。Spring Cloud来自Netflix,Dubbo来自阿里,而K8S则来自Google。
PodPod是K8S设计的一个全新的概念,个Pod中可以运行一个或者多个容器。在一个集群中,K8S会为每个Pod都分配一个集群内唯一的IP地址,因为Pod中有一个叫Pause的根容器,其余的用户业务容器都是共享这个根容器的IP和Volume。
ServiceService被创建,K8S会为其分配一个集群内唯一的IP,叫做ClusterIP,ClusterIP是一个虚拟的IP地址,无法被Ping,仅仅只限于在K8S的集群内使用
负载均衡Service对客户端,屏蔽了底层Pod的寻址的过程。并且由kube-proxy进程将对Service的请求转发到具体的Pod上,具体到哪一个,由具体的调度算法决定。这样以来,就实现了负载均衡。
LabelLable就是标签,可以打在P ...
知乎:科学普及对科学发展的必要性
引用自https://zhuanlan.zhihu.com/p/53260098
WEB存储和JSON数据处理
WEBStoragelocalstorage本地存储他是js自带的原生方法,并不是vue特有的。他会存储在你自己的浏览器中。而且她只能存储字符串的内容。他是window下的一个函数。
12345678localstorage.getItem('')//获取本地存储中的值localstorage.setItem('key','value')//设置本地存储的值localstorage.removeItem('')//移除某一个值localstorage.clear()//清空
当你要存储一个对象到localstorage中时,需要先转化为JSON的字符串格式。
sessionstorage会话存储他的方法与localstorage一致,但是他只会保存在每一次会话中。当关闭浏览器,会话就会结束,所有内容就会删除。
如果存储在localstorage中的键值不存在,会返回一个nullJSON方法json格式的字符串转化为json对象。JSON.parse()json对象转化为json格式的字符串JSON.stri ...
Kotlin基础:变量、函数、循环、集合
基础main函数123fun main() { println("Hello world!")}
print,println输出到屏幕上。
函数默认不填即为Unit。when类似于switch,if else 只要有结果判定成功,便不再往下判断。Unit标识无返回类型=>void前变量名,后数据类型使用${}作为占位符
1234567891011121314//sampleStartfun sum(a: Int, b: Int): Int { return a + b}//sampleEndfun sum(a: Int, b: Int) = a + bfun main() { println("sum of 19 and 23 is ${sum(19, 23)}") printSum(-11,53)}fun printSum(a: Int, b: Int): Unit { println("sum of ...
Kotlin语言基础与跨平台性
视频学习
Kotlin学习JVM虚拟机 kotlin语言在进行编译的环节中,会比java更加的优化
跨平台性不止可以基于JVM运行,甚至可以直接生成二进制代码。
基础语法语言声明变量和内置数据类型 声明变量:
12345678910111213141516171819println("hello world") /* var 变量名 : 数据类型 = "" */ var str:String = "hzt" /* 内置数据类型 String 字符串 Char 字符 Boolean true/false Int 整形 Float 单精度浮点型 Double 双精度浮点型 List 集合 Set 无重复集合 Map 键值对集合 */ println(str) //他没有int,float。因为他在运行时,会转化为ja ...
Nginx:高性能Web服务器及代理
Nginx
基本概念:
一个高性能的http和反向代理web服务器,能支持高负载,效率高
正向代理通过代理服务器访问服务器,例如搭建梯子才访问www.google.com。(可以隐藏客户端的信息)这个内容就叫正向代理
反向代理一般情况下是就是客户端对代理无感知,只是通过代理服务器去隐藏目标服务器的具体信息,只暴露代理服务器的地址,隐藏真实服务器的地址。反向代理后,客户端无法知道服务器的具体位置。
负载均衡
默认情况下,是一个服务器,前后连锁相关。将原先集中到单个服务器上的情况改为请求分发到多个服务器上。 - 动静分离实际上就是前后端分离,nginx可以直接放前端的静态资源,而后端单独部署。2. 安装,配置
先安装依赖项(以centos7.8为例)123456789yum updateyum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel#下载稳定版安装包wget https://nginx.org/download/nginx-1.24.0. ...
Vue数据通信:props和computed属性
props用法
父组件==>子组件 通信
子组件==>父组件 必须父组件给子组件一个方法
props的参数是不能修改的。
computed计算属性正常写法(例)
12345computed:{ isAll:{ get(){ return null}, set(){ ...}}
简写方式(只有get方法)
123computed:{ isAll(){ return null},}
ES6 Reduce:数组归并方法
ES6中的reduce方法,是一种数组的归并方法。他的每一次遍历后的值会留给下一次继续遍历。
1234567891011121314let arr5 = ['name','age','long','short','long','name','name'] //pre第一次的值,cur当前值 {}标识pre的预设值let arrResult1 = arr.reduce((pre,cur) =>{ console.log(pre,cur) if(cur in pre){ pre[cur]++ }else{ pre[cur] = 1 } return pre},{})console.log(arrResult1)//结果:{name: 3, age: 1, long: 2, shor ...