获得徽章 1
#青训营笔记创作活动#
2.23 day39

SPA(Single-page application) 即单页应用,它只有一个不包含具体页面内容的 HTML,当浏览器拿到这份 HTML 之后,会请求页面所需的 JavaScript 代码,通过执行 JavaScript 代码完成 DOM 树的构建和 DOM 的事件绑定,从而让页面可以交互。如现在使用的大多数 Vue、React 中后台应用都是 SPA 应用。
展开
评论
#青训营笔记创作活动#
2.22 day38

在请求时,如果出现了以下情况中的任意一种,那么它就是跨域请求:

协议不同,如 http 和 https;
域名不同;
端口不同。
也就是说,即使域名相同,如果一个使用的是 http,另一个使用的是 https,那么它们也属于跨域访问。
展开
评论
#青训营笔记创作活动#
2.21 day37

pnpm 本质上就是一个包管理器,这一点跟 npm/yarn 没有区别,但它作为杀手锏的两个优势在于:

包安装速度极快;
磁盘空间利用非常高效;
展开
评论
#青训营笔记创作活动#
2.20 day36

net start mysql:Windows系统启动MySQL服务。
安装目录/mysql start:Linux系统启动MySQL服务。

shutdown:后面的start换成这个,表示关闭MySQL服务。
restart:换成restart表示重启MySQL服务。


ps -ef | grep mysql:Linux查看MySQL后台进程的命令。
kill -9 MySQL进程ID:强杀MySQL服务的命令。
mysql -h地址 -p端口 -u账号 -p:客户端连接MySQL服务(需要二次输入密码)。
show status;:查看MySQL运行状态。
SHOW VARIABLES like %xxx%;:查看指定的系统变量。
show processlist;:查看当前库中正在运行的所有客户端连接/工作线程。
show status like "Threads%";:查看当前数据库的工作线程系统。
help data types;:查看当前版本MySQL支持的所有数据类型。
help xxx:查看MySQL的帮助信息。
quit:退出当前数据库连接
展开
评论
#青训营笔记创作活动#
2.19 day35

Java 8 引入了一个十分实用的 Optional 类,它主要是为了解决空指针异常(NullPointerException)。当我们对对象的属性进行检查,判断它的值是否为期望的格式,最终却发现我们查看的并不是一个对象,而是一个空指针,它会立即抛出一个让人厌烦的 NullPointerException 异常。
本质上,Optional 类是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。

作者:字节跳动技术团队
链接:
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
展开
评论
#青训营笔记创作活动#
2.18 day34

页中会记录数据所以会存在读写操作,读写操作会存在中断或者其他异常导致数据不全等,那就会需要有校验机制,所以里面还有会校验码,而读操作最重要的就是效率问题,如果按照记录一个个进行遍历,那肯定是很费劲的,所以这里面还会为数据生成对应的页目录(Page Directory)
展开
评论
#青训营笔记创作活动#
2.17 dya33

TLS四次握手是怎么样的。
第一次握手:

Client Hello:是客户端告诉服务端,它支持什么样的加密协议版本,比如 TLS1.2,使用什么样的加密套件,比如最常见的RSA,同时还给出一个客户端随机数。

第二次握手:

Server Hello:服务端告诉客户端,服务器随机数 + 服务器证书 + 确定的加密协议版本(比如就是TLS1.2)。

第三次握手:

Client Key Exchange: 此时客户端再生成一个随机数,叫 pre_master_key 。从第二次握手的服务器证书里取出服务器公钥,用公钥加密 pre_master_key,发给服务器。
Change Cipher Spec: 客户端这边已经拥有三个随机数: 客户端随机数,服务器随机数和pre_master_key,用这三个随机数进行计算得到一个"会话秘钥"。此时客户端通知服务端,后面会用这个会话秘钥进行对称机密通信。
Encrypted Handshake Message:客户端会把迄今为止的通信数据内容生成一个摘要,用"会话秘钥"加密一下,发给服务器做校验,此时客户端这边的握手流程就结束了,因此也叫Finished报文。

第四次握手:

Change Cipher Spec:服务端此时拿到客户端传来的 pre_master_key(虽然被服务器公钥加密过,但服务器有私钥,能解密获得原文),集齐三个随机数,跟客户端一样,用这三个随机数通过同样的算法获得一个"会话秘钥"。此时服务器告诉客户端,后面会用这个"会话秘钥"进行加密通信。
Encrypted Handshake Message:跟客户端的操作一样,将迄今为止的通信数据内容生成一个摘要,用"会话秘钥"加密一下,发给客户端做校验,到这里,服务端的握手流程也结束了,因此这也叫Finished报文。
展开
评论
#青训营笔记创作活动#
2.16 day32

一般开源库都会结合github action进行单测流水线化,目录中会有.github/workflows/xxx.yml等文件,通过这些文件可以在提出pr、push等阶段进行校验。
展开
评论
#青训营笔记创作活动#
2.15 day31

string 类型的值可以修改吗
不能,尝试使用索引遍历字符串,来更新字符串中的个别字符,是不允许的。
string 类型的值是只读的二进制 byte slice,如果真要修改字符串中的字符,将 string 转为 []byte 修改后,再转为 string 即可。
展开
评论
#青训营笔记创作活动#
2.14 day30

ticket里边是有用户凭证的,黑客如果篡改了ticket里边的用户凭证,比如改成黑客自己的,那到子系统A登录的时候,登录的就是黑客的身份了。
展开
评论
#青训营笔记创作活动#
2.13 day29

ELK 是 ES、Logstash、Kibana 的总称,其核心功能就是实现数据的收集、搜索、可视化。具体功能和使用在本文都会提到。
展开
评论
#青训营笔记创作活动#
2.12 day28

也就是说,数据库的锁机制本身是为了解决并发事务带来的问题而诞生的,主要是确保数据库中,多条工作线程并行执行时的数据安全性。
展开
评论
#青训营笔记创作活动#
2.11 day27

Hertz 是一个超大规模的企业级微服务 HTTP 框架,具有高易用性、易扩展、低时延等特点。

Hertz 默认使用自研的高性能网络库 Netpoll,在一些特殊场景中,相较于 go net,Hertz 在 QPS、时延上均具有一定优势。
展开
评论
#青训营笔记创作活动#
2.10 day26

翻译一下就是,502 (Bad Gateway) 状态代码表示服务器在充当网关或代理时,在尝试满足请求时从它访问的入站服务器接收到无效响应。
展开
评论
#青训营笔记创作活动#
2.9 day25

采用 Go 语言开发,相比于 单线程 + JIT 性质的解释型语言 ,使用 Go 的优势在于 :

一方面可以充分利用多线程打包,并且线程之间共享内容,而 JS 如果使用多线程还需要有线程通信(postMessage)的开销;



另一方面直接编译成机器码,而不用像 Node 一样先将 JS 代码解析为字节码,然后转换为机器码,大大节省了程序运行时间。
展开
评论
#青训营笔记创作活动#
2.7 day24

Tapable是一个类似于 Node.js 中的 EventEmitter 的库,但它更专注于自定义事件的触发和处理。通过 Tapable 我们可以注册自定义事件,然后在适当的时机去执行自定义事件。
展开
评论
#青训营笔记创作活动#
2.5 day23

静态化就是指把原本动态生成的html页面变为静态内容保存,用户客户端请求的时候,直接返回静态页面,不用再经过服务渲染,不用访问数据库,可以大大的减小数据库的压力,显著的提高性能。
展开
评论
下一页
个人成就
文章被阅读 150
掘力值 30
收藏集
0
关注标签
4
加入于