自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

2021级大一程序白一枚,记录学习的每一步的脚印

主要方向为C/C++后台开发方向,记录我的学习过程

  • 博客(19)
  • 收藏
  • 关注

原创 【项目实战】高并发内存池

当前项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc,tcmalloc全称hread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc、free)。 我们这个项目是把tcmalloc最核心的框架简化后拿出来,模拟实现出一个自己的高并发内存池,目的就 是学习tcamlloc的精华,这种方式有点类似我们之前学习STL容器的方式。但是相比STL容器部分,tcmalloc的代码量

2022-09-17 20:34:50 1516 14

原创 【项目实战】自主实现HTTP(七)——错误处理、线程池引入、项目扩展及结项

我们之前通过管道子进程,把对应文件的信息读取上来,直接返回回去不就行了吗,其实并不是这样的,我们读取上来的只是正文的部分,其相应行依然需要我们来自己构建。 但是现在又有一个问题,就是我们对于合法的请求,找到对应的文件,构建请求成功(OK)的响应,但是对于请求过程中发生错误的时候,我们应该如何构建相应的相应呢?——也是根据其错误类型构建相应处理结果的相应。

2022-10-14 18:51:15 1054 11

原创 【项目实战】自主实现 HTTP 项目(六)——CGI机制

我们在之前的篇目中讲到了,在我们客户端向服务器发送请求的时候,如果发送的内容是一个目录或者一个普通文件,我们给他们返回的是一个静态的网页。而接下来我们就讲解另一种情况,如果请求资源路径下面是一个可执行文件,那么这个时候就要我们使用(CGI)机制。

2022-09-24 10:53:02 1728 2

原创 【Leetcode 热题 HOT 100】无重复字符的最长子串

为了求最长无重复字符串的,在这里我们可以用滑动窗口算法,这个在各大笔试面试中考到的频率还是比较高的,那么什么是滑动窗口算法,我们以这道题为例,来对该算法进行详细的讲解,首先我们应该明白,其实这道题我们可以利用双指针进行判定,我们可以选择一个位置,把这个位置的值和出现的次数,用unorded_map记录下来,当遍历到下一个值的时候,我们先把其插入到我们的unordered_map中,然后通过映射来看它这个位置的值的次数,如果其出现次数大于1,那么我们就从开头开始把数据移除(推动窗口),直到移除到重复的字符的下

2022-09-04 17:33:37 1128 5

原创 【项目实战】自主实现 HTTP 项目(五)——返回静态网页

我们上次说完了处理请求与构建相应,而现在我们要做的就是完成对于不需要启动CGI的请求,在确认路径有效的情况下,我们要对其返回静态的网页,当然,这里的返回网页不仅仅是返回我们的网页内容,这里我们需要加上响应行,相应报头的等等信息。

2022-09-04 12:14:50 760 3

原创 【项目实战】自主实现 HTTP 项目(四)——处理请求和构建相应

在前面的章程之中,我们学习到了如何来进行读取向客户端发来的请求以及提取这些请求当中的有效信息进行分析,而本篇我们将介绍的是如何来对请求的客户端构建相应的响应。这里我们可以看一下一般网站是如何对我们的客户端发来相应的,我们这里以百度为例。

2022-09-01 20:52:12 978 10

原创 【项目实战】自主实现 HTTP 项目(三)——请求读取与解析以及报文处理

我们在上一篇讲解了日志的实现与应用,本篇我们来讲解请求的读取与解析,我们构建好了http服务端,我们需要对发来的请求进行读取和处理,使得我们的http了解建立链接的客户端的详细的信息,这个时候我们就需要构建一套读取分析请求报文的一套体系。...

2022-08-30 20:23:22 1592 12

原创 【项目实战】自主实现 HTTP 项目(二)——日志的打印与添加

这是我们自己"socket error" 输出的,而了解过网络编程的类似绑定,监听,以及各种执行下来,这种结构不在少数,难道都我们自己来一个一个把他们写出来吗,肯定不是的,我们可以设置一个日志信息,当执行到某一部的时候,把相关性质的参数传给它,让他帮我们快捷性的打印当前的执行结果状态,这就是日志的作用。......

2022-08-29 21:41:02 710 13

原创 【项目实战】自主实现 HTTP 项目(一)——tcp、http的创建与实现较兼容的行读取

目前主流的服务器协议是 http1.1,而我们这次要实现的是1.0,其主要的特点就是短链接,所谓短链接,就是请求,相应,客户端关闭连接,这样就完成了一次http请求,使用其主要的原因是因为其简单。......

2022-08-28 21:34:56 1223 13

原创 【数据库】有关[库]的操作

一、创建数据库二、查看数据库1.普通查看:2.显示的创建数据库:​编辑三、修改数据库四、删除数据库五、查看数据库的连接情况六、查看数据库支持的字符集校验规则1.查看数据库支持的字符集校验规则2.查看数据库支持的字符集3.查看数据库支持的字符集校验规则4 校验规则对数据库的影响

2022-08-21 20:25:10 113 5

原创 手撕红黑树(一)(RBtree 简单版 C++实现)

红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过 对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。

2022-08-19 19:19:14 161 2

原创 【C++】关于C++11系列,你需要知道这些事——C++11最全系列讲解(上篇)

一、C++11内容简介 在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为 C++11之前的最新C++标准名称。不过由于TC1主要是对C++98标准中的漏洞进行修复,语言的核心部分则没 有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑, 第二个真正意义上的标准珊珊来迟。 相比于C++98/03,C++11则带来了数量可观的变化,...

2022-04-19 21:10:39 4353 21

原创 【算法】你真的理解“贪心”算法吗?看这里就够了 ——(Greedy Algorithm 详解)

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心选择是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素。

2022-04-14 18:18:26 4169 17

原创 【算法】传说中的“动态规划”真的很难吗?——动态规划详解呈上(方法总结+手写板书)(上篇)

目录(一)动态规划的简介及解题思路1.什么是动态规划?2.动态规划的一般思路(二)动态规划的常见题型及方法总结1.斐波那契数列(Fibonacci)2.字符串分割(Word Break)3.三角矩阵(Triangle)(一)动态规划的简介及解题思路1.什么是动态规划?DP定义:动态规划是分治思想的延伸,通俗一点来说就是大事化小,小事化无的艺术。在将大问题化解为小问题的分治过程中,保存对这些小问题已经处理好的结果,并供后面处理更大规模的问题时直接使用这些..

2022-04-10 20:43:17 1672 14

原创 【C生万物】时间长了最容易忘记的那些基础事汇总(一)(强烈建议保存)

目录:一、各种类型的大小#include <stdio.h>int main(){printf("%d\n", sizeof(char));printf("%d\n", sizeof(short));printf("%d\n", sizeof(int));printf("%d\n", sizeof(long));printf("%d\n", sizeof(long long));printf("%d\n", sizeof(float));...

2022-03-01 21:08:38 266 11

原创 【C语言】(实例操作)实现童年游戏——扫雷

C语言初阶入门,我们怎么来进行一些简单的游戏编写呢,今天给大家带来的就是C语言中的简单游戏实现之一——扫雷

2021-12-28 10:53:17 2311 1

原创 【C++】(学习笔记)类与对象 上篇

【问题】C++中 struct和class的区别是什么?解答:C++需要兼容C语言,所以C++中的struct可以当结构体去使用。另外C++中struct还可以用来定义类,和class的定义类是一样的。区别在于struct的成员默认访问方式为public,而class的成员默认访问方式是private。

2021-12-28 10:43:36 533 5

原创 【C语言】(实例游戏)实现童年游戏——井字棋

初学C语言,虽然学到的内容不是很多,但是有一些简单的同年游戏我们是可以实现的,接下来,我们就看一下井字棋的实现,首先创建3个文件,分别为头文件 ——定义与声明函数的实现 以及测试文件首先我们先说几个接口函数的实现1.初始化棋盘因为不初始化,可能内部放入随机值void InitBoard(char board[ROW][COL], int row, int col){ int i = 0; int j = 0; for (i = 0; i < row; i++) {...

2021-11-08 17:20:35 2950

原创 【C语言】(知识整理1)入门知识+零散内容 汇编

前言: 作为近期入门的小白,想以博客记录一下自己这段时间学习的内容,并且把一些自己的理解和思考分别记录下来,分享给大家,如果有做错误欢迎大家指正,如果有更好的建议可以评论和私信,感谢大家了!汇编体系思考及目录: 这次整理主要以C语言中比较入门的基本知识和其中一些因为内容较少、不值当拿出长篇大论来讲的零碎知识点,下面是目录:1.输出与输入2.数据类型3....

2021-10-30 10:10:52 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除