- 博客(338)
- 收藏
- 关注

原创 【数据结构】排序(插入、选择、交换、归并) -- 详解
因为步子迈的更大,减少插入排序的移动次数更多。比如10w个数据,直接插入排序复杂度为O(N^2),计算10w *10w=100亿次,而希尔排序复杂度为O(NlogN),计算10w *17 = 170w次。(2 ^17 约等于10w)。
2023-08-29 20:18:12
5450
5
原创 Linux 让程序在后台运行的方法
例如 nohup python test.py & 可以让 test.py 脚本一开始就在后台运行,且不会因为关闭终端而被打断。该进程产生的所有输出都会到当前目录下的一个叫 nohup.out 的文件中。该命令可以在退出帐户/关闭终端之后继续运行相应的进程。关闭终端后,在另一个终端键入 jobs 已经无法看到后台的程序了,此时利用 ps 或 top 可以查看到。:这种方法查看运行日志很不方便(不推荐)。
2025-03-26 12:51:08
160
原创 HTTPS 抓包实验
HTTPS 需要客户端、服务端双方做加解密处理,需要消耗更多 CPU 和内存资源,相比 HTTP 通信,HTTPS 又多了 TLS 握手,会消耗更多的网络资源,总体也导致 HTTPS 响应时间变慢。:TLS 1.2发布于2008年,它引入了更强的加密算法和更灵活的密码套件选择,修复了许多安全漏洞,是目前广泛使用的版本。之所以搞这么麻烦,就是因为 TLS 设计者不信任客户端或服务器伪随机数的可靠性,为了保证真正的完全随机,把三个不可靠家伙混合起来,随机的程度就非常高了,安全性也就更高。是否复用由服务端确定。
2025-01-06 16:17:16
1535
1
原创 HTTP 抓包实验
接下来主要按四个过程进行介绍,针对过程 1(三次握手建立连接)和过程 4(四次挥手断开连接),在博主的前期文章中《结合Wireshark抓包实战,图文详解 TCP 三次握手及四次挥手原理》已经详细图解,这次主要针对过程 2 和过程 3 进行详解。这种设置可以提高服务器的响应效率,减少 TCP 连接的建立和断开的开销,特别是在处理大量并发请求的场景下。:服务器响应的内容,通常是一个HTML页面的代码或者给客户端的数据,上图中可以看到本次响应的内容是一个文件数据(File Data)。
2025-01-06 15:19:53
1363
原创 【网络攻击与防范】软路由模式的设置
请参照图片的网络结构,完成环境的搭建。(此题为题目,不需回答)要求:① 开启两台虚拟机,OS为Windows Server 2003② 内网设置为VMnet2,网段为192.168.学号.0,这里的学号指的是学号的最后两位,以下相同③ 外网设置为NAT模式,网段为192.168.100.0,网关为192.168.100.2④ 内网中的虚拟机IP地址设置为192.168.学号.1学号,最后一位是学号的后两位加100的值。
2024-12-19 10:24:57
277
原创 Centos 下安装 jsoncpp 库、bundle 数据压缩库、httplib 库 -- 详细教程
Centos 下安装 jsoncpp 库、bundle 数据压缩库、httplib 库
2024-11-04 16:28:36
555
原创 为什么在第一次挥手的时候发送的是 FIN+ACK 而不是 FIN?
TCP/IP详解 卷1》里面是这么解释的:(位置:17章 第三节 17.3 TCP首部)通过抓包可以发现,TCP 除了。
2024-11-01 08:54:41
521
转载 当你在浏览器地址栏输入一个 URL 后回车,将会发生的事情?
导航的第一步是通过访问的域名找出其IP地址。DNS 有一点令人担忧,这就是像 wikipedia.org 或者 facebook.com 这样的整个域名看上去只是对应一个单独的 IP 地址。大多数 DNS 服务器使用 Anycast 来获得高效低延迟的 DNS 查找。
2024-10-25 15:38:07
740
原创 【Docker】Docker Network(网络)
可以通过--network选项指定要连接的网络,如果不指定的话,默认是连接的bridge。创建 b3容器, 并指定连接过滤 b3容器网络相关信息, 可以看到该容器已经连接到new-bridge上了查看自定义bridge网络的详细信息,发现 b3容器已经连接到该网络上了。
2024-08-18 10:30:03
1612
8
原创 【Redis 进阶】Redis 典型应用 —— 缓存(cache)
一、什么是缓存一、什么是缓存是计算机中的一个经典的概念,在很多场景中都会涉及到。核心思路就是把一些常用的数据放到触手可及(访问速度更快)的地方,方便随时读取。举例:我需要去高铁站坐高铁,坐高铁是需要反复刷身份证的(进入高铁站、检票、上车、乘车过程中、出站...)。正常来说,我的身份证是放在行李箱里的(行李箱的存储空间大,足够能装),但是每次刷身份证都需要开一次行李箱找身份证就非常不方便。因此我就可以把身份证先放到口袋里,虽然口袋空间小,但是访问速度比行李箱快很多。
2024-08-07 15:29:12
1431
原创 【Redis 进阶】集群(重点理解流程和原理)
前面学习的哨兵模式,提高了系统的可用性。但是真正用来存储数据的还是 master 和 slave 节点,所有的数据都需要存储在单个 master 和 slave 节点中。如果数据量很大,接近超出了 master / slave 所在机器的物理内存,就可能出现严重问题了。Redis 的集群就是在上述的思路之下,引入多组 Master / Slave,每⼀组 Master / Slave 存储数据全集的一部分,从而构成一个更大的整体,称为 Redis 集群(Cluster)。这三组机器存储的数据都是不同的。每个
2024-08-07 15:22:49
1247
11
原创 【Redis 进阶】哨兵 Sentinel(重点理解流程和原理)
基本概念Redis 的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工进行主从切换,同时大量的客户端需要被通知切换到新的主节点上,对于上了一定规模的应用来说,这种方案是无法接受的,于是 Redis 从 2.8 开始提供了 Redis Sentinel(哨兵)加个来解决这个问题。
2024-08-04 08:13:46
2183
14
原创 【Redis 进阶】主从复制(重点理解流程和原理)
配置在中为了解决(某个服务器程序只有一个节点(只搞一个物理服务器来部署这个服务器程序)。可用性不高:如果这个机器挂了意味着服务就中断了;性能 / 支持的并发量比较有限)。通常会把数据复制多个副本部署到其他服务器,满足故障恢复和负载均衡等需求。在分布式系统中,往往希望有多个服务器来部署 Redis 服务,从而构成一个 Redis 集群,此时就可以让这个集群给整个分布式系统中的其他服务提供更稳定、更高效的数据存储功能。存在以下几种 Redis 的部署方式:主从模式。
2024-08-02 08:12:07
1820
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人