- 博客(11)
- 收藏
- 关注
原创 HTTP协议
请求报头和请求正文之间有个空行,这些参数是按行读取的,当不断往下读,读到空格的时候,表示请求报头读取完了。这样我们能保证读取完了报头,但有怎么保证可以读取完请求正文呢,因为在请求报头中存在很多属性,其中有一个属性就是请求正文的长度,这样就可以保证读取完请求正文。URL编码与解码是在网络传输中保证传输准确的保障,在网络传输中,某些字符具有特殊作用,不能直接将其包括在URL会引起歧义,因此存在编码与解码,下面举个简单例子。包含请求行,请求报头,空行,请求正文。包含状态行,响应报头,空行,响应正文。
2024-09-17 19:11:51
501
原创 Python爬虫中前端知识的了解(零基础)
JavaScript 是一种脚本编程语言,它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,比如在进行登录页面手机号时,当你输入的手机号位数不够,但又想输入密码时,页面将阻止你输入密码,并提醒你手机号位数不够。可以理解为服务端向客户端发送的信息,下次访问同一个服务器时浏览器会自带这些键值对,且储存在客户端浏览器中,像一些记住密码等功能就是基于cookie实现的。大多数网页滑倒最底部,会存在进入下一页的按钮,当进入下一页时,页面网址如果还是不变,就叫做局部刷新,反之为全局刷新。
2024-08-20 00:21:45
1471
3
原创 Python中的并发编程
这个任务指的就是进程,进程就好比工厂中的车间。到现在可能还是有一些疑问,当我们使用单核电脑,理论上只能运行一个进程,但是同时运行多个应用时,似乎感觉都在同时运行,这是为什么呢?在内存池中的池化技术是一种内存管理技术,其向操作系统申请一块较大的内存,当程序需要内存时直接向内存池中申请,而不是向操作系统中申请,当程序释放内存时,并不是直接返回给操作系统,而是返还给内存池。这时候要引入一个新的概念互斥锁,好比工厂中一些特殊的房间,当在被使用时就要上锁以防止其他人的访问,当不用时又要解锁,线程也是同理。
2024-08-19 15:08:17
1100
3
原创 VS2022性能生成分析报告失败(链接器未生成/PROFILE)
输入/profile,点击应用。先编译好 ,点击性能探测器。右键项目,选择属性选项。
2024-08-13 14:49:05
495
原创 高并发内存池项目
首先要引入进程,线程,互斥锁这几个概念,我们用生活中的例子来举例。进程就好比工厂中的车间。一个车间可以有很多工人,又要引入一个新的概念,线程,线程好比一个个工人,他们共同完成一个任务。这就意味着一个进程可以包括很多线程。进程空间是被线程共享的。这时候要引入一个新的概念互斥锁,好比工厂中一些特殊的房间,当在被使用时就要上锁以防止其他人的访问,当不用时又要解锁,线程也是同理。这个项目一共会创建如下文件:Common.hPageMap.h(下面的代码是在讲解中不断优化添加的)
2024-08-13 11:07:49
763
3
原创 C++入门(命名空间——namespace)
这样重新定义了一个命名空间,把rand放在A这个命名空间里面,就不会编译报错了,因为相同变量不能放在同一个命名空间里面,不同的域可以放同名。因为默认就近访问,所以先打印0,在b前面加两个::表示默认全局访问,A::这样表示在A这个域访问。结构体和函数访问类似。因为rand在stdlib里面是个函数,这里又定义了一个rand变量所以存在重命名现象,导致报错。所以说C++标准库都放在了一个std的命名空间里面,在初步学习的时候通常展开整个命名空间。也可以局部展开,只展开一些常用的。1.解决C语言命名冲突问题。
2024-07-24 15:44:26
203
原创 大数加法运用
对于大数运算的理解,因为类型都有自己的范围,所以对于参加运算的数都有大小限制,让我们从下面的图片中看下int和long long的范围。所以我们要通过数组模拟进位运算。
2023-12-22 18:52:01
395
5
原创 BF(Brute Force)暴力算法
BF算法类似strstr函数,假设str1是待查找的字符串,str2是一个子串,我们要从str1中查找是否存在str1子串,若有则返回str2在str1中首次出现第一个字符的地址。这时a不等于c,i需要从上一次的地址的下一个地址1开始再遍历,i=i-j+1,i=2-2+1=1处重新开始。这时i对应的字符不等于j对应的字符,这时str2的j需要重新赋值0,又重头遍历(j较好理解)运行结果:(5和0表示找到符合条件的str1在str2的起始地址,-1表示未找到)地址0 1 2 3 4 5 6 7 8。
2023-12-21 21:12:57
192
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人