Linux工具-watch
参考文献
Linux watch命令教程:如何实时监控命令输出(附实例详解和注意事项)
watch
watch 是一个非常实用的命令,它可以帮助用户定时执行一个程序或命令,并将结果输出到终端。这个命令通常用于周期性地监视某个命令的输出结果,例如监控系统资源的使用情况、查看目录内容的变化等。通过使用 watch,你可以实时地了解到命令输出的动态变化
基本语法
1watch [option] 命令
常用选项或参数说明
选项
描述
-d
高亮显示变化的部分
-n
设置刷新间隔,以秒为单位
-t
不显示标题栏,包含时间和刷新间隔
--help
显式帮助信息
-v
显示版本信息
示例
基础使用
12# 每隔2秒刷新一次datewatch -n 2 date
监控某个服务的状态
1watch -n 5 systemctl status nginx
Linux工具-pv
参考文献
pv
Linux pv命令教程:掌握数据流可视化(附实例详解和注意事项)
PV
pv(Pipe Viewer)是一个终端应用程序,能够以可视化的方式展示管道中的数据传输过程。它可以显示进度条、数据传输速率、已传输的数据量和剩余时间估计等信息。这对于调试和监视长时间运行的数据传输任务特别有帮助。pv能够插入到管道命令序列中,无需对其他命令做任何改变。
基本语法
1pv [option] [file]
常用选项或参数说明
选项
描述
-a, --average-rate
显示数据传输平均速率计数器
-b, --bytes
显示已传输的字节数
-c, --cursor
使用光标定位转义序列
-e, --eta
显示预计到达时间 (完成)
-l, --line-mode
计数行而不是字节
-n, --numeric
输出百分比
-p, --progress
显示进度条
-r, --rate
显示数据传输速率计数器
-s
设置预期的数据总量
-t, --timer
显示已用时间
-w
设置进度条的宽度
-h
显示帮助信息 ...
知识点-域名证书
参考文献
网站https证书种类有哪些?有什么区别
https://www.wosign.com/column/ssl_20211231.htm
域名证书分类
按照验证方式进行分类,即: DV SSL证书、OV SSL证书、EV SSL证书.
按照域名数量进行分类,即: 单域名SSL证书、多域名SSL证书、通配符证书
按照验证方式进行分类的HTTPS证书
DV SSL证书、OV SSL证书、EV SSL证书的定义
DV SSL证书(域名验证型): 只需验证域名所有权,无需人工验证申请单位真实身份,几分钟就可颁发的SSL证书.价格一般在百元至千元左右,适用于个人或者小型网站.
OV SSL证书(企业验证型): 需要验证域名所有权以及企业身份信息,证明申请单位是一个合法存在的真实实体,一般在1~5个工作日颁发.价格一般在百元至千元左右,适用于企业型用户申请.
EV SSL证书(扩展验证型): 除了需要验证域名所有权以及企业身份信息之外,还需要提交一下扩展型验证,比如: 邓白氏等,通常CA机构还会进行电话回访,一般在2~7个工作日颁发证书.价格一般在千元至万元左右,适用于在线交易网 ...
Maven-遇到的问题
参考文献
Maven遇到的问题
maven pom.xml中repository标签不生效
配置错误:请确认 <repository> 标签中的 URL 和仓库 ID 是否正确,并且 Maven 能够访问该 URL.如果 URL 不正确或无法访问,则 Maven 无法从该仓库中下载依赖项.
依赖项已经存在:如果您的项目中已经存在所需的依赖项,那么即使您将 <repository> 标签添加到 pom.xml 文件中,Maven 也不会从该仓库中下载依赖项.这是因为 Maven 会优先使用本地仓库和缓存,以提高构建速度和效率.您可以使用 -U 标志强制 Maven 更新依赖项,以便它从您指定的仓库中下载最新的版本.
Maven 设置覆盖:如果您在 settings.xml 文件中配置了 <mirrors> 标签或其他仓库相关的设置,则可能会覆盖 pom.xml 文件中的 <repository> 标签设置.请检查您的 settings.xml 文件并确认是否有任何与仓库相关的设置可能会影响 Maven 的行为.
若仍然无法解 ...
MySQL-Source-Select
参考文献
MySQL 简单查询语句执行过程分析(一)词法分析 & 语法分析
词法分析&语法分析过程
初始化字段
对于select子句中的每个字段,都会创建一个Item_field类(或子类)的实例。
12345678910111213// sql/item.hclass Item_field : public Item_ident { typedef Item_ident super; private: Field *result_field{nullptr}; Field *last_org_destination_field{nullptr}; Field *last_destination_field{nullptr}; uint32_t last_org_destination_field_memcpyable = ~0U; uint32_t last_destination_field_memcpyable = ~0U; const Item_field *m_base ...
Redis Source dict.c注释
参考文献
src/dict.c
基于Redis 6.2版本
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 ...
Redis Source - Hash
参考文献
极客时间专栏 <<Redis 源码剖析与实战>> 第三讲 如何实现一个性能优异的Hash表
Hash
源码基于Redis 6.2分支
Redis如何实现链式哈希
什么是哈希冲突?
由于键空间会大于Hash表空间,这就导致在用Hash函数把键映射到Hash表空间时,不可避免地会出现不同的键被映射到数组的同一个位置上.而如果同一个位置只能保存一个键值对,就会导致Hash表保存的数据非常有限,这就是常说的哈希冲突.
如何解决哈希冲突呢?
方案一: 链式哈希
局限: 链式哈希的链不能太长,否则会降低Hash表性能
方案二: 就是当链式哈希的链长达到一定长度时,可以使用rehash
改进方法: 渐进式rehash
结构体
12345678910111213141516171819202122232425262728293031323334353637383940414243444546// src/dict.htypedef struct dict { // 指向 dictType 类型的指针,用于保存字典的类型信息. ...
解决方案-HTML2PDF
参考文献
Flying Saucer
SpringBoot集成文件 - 集成itextpdf之导出PDF
调研历程
首先查阅资料,了解Java中现有PDF的框架
iText:
iText 是一个功能强大的 PDF 处理库,可以用于创建、修改和提取 PDF 文档的内容,支持文本、图像、表格等元素的处理.它提供了丰富的 API,可以满足各种 PDF 处理需求.
Apache PDF Box:
Apache PDF Box 是 Apache 软件基金会的一个开源 Java 库,用于操作 PDF 文档.它支持创建、修改和提取 PDF 文档的内容,以及数字签名和加密等功能.
JFreeReport:
JFreeReport 是一个用于生成报表的 Java 库,它支持创建复杂的、高度定制的报表,包括图表、表格、文本等元素,并且可以将报表输出为 PDF 格式.
PJX:
PJX 是一个用于创建 PDF 文档的 Java 库,它提供了简单易用的 API,可以用来生成包含文本、图像、表格等内容的 PDF 文件.
FOP:
FOP(Formatting Objects P ...
知识点-网络攻击
参考文献
XSS vs CSRF
Difference between XSS and CSRF
XSS
Cross-site scripting (or XSS) 跨站点脚本
XSS 是 Web 应用程序中发现的计算机安全漏洞,网络犯罪分子可以利用该漏洞将客户端脚本注入用户查看的网页中.网络犯罪分子使受害者的浏览器执行攻击者在访问受信任网站时注入的脚本(主要用 JavaScript 编写).网络犯罪分子可以通过多种方式将 JavaScript 注入受害者信任的网站.它不需要经过身份验证的会话,并且可以在易受攻击的网站不执行验证或转义输入的基本操作时被利用.
CSRF
Cross-site request forgery (or CSRF) 跨站点请求伪造
可以通过多种方式利用它,从在用户不知情的情况下更改用户信息到获得对用户帐户的完全访问权限.网络犯罪分子试图利用现有受害者的上下文(例如 cookie),强迫/诱骗您提出您无意的请求.每次您与网站交互时,其服务器都会检查您随请求发送的 cookie,以便知道是您.
S.No.
XSS
CSRF
1.
XSS ...