米兰的小铁匠2333
码龄4年
关注
提问 私信
  • 博客:156,896
    社区:546
    视频:26
    157,468
    总访问量
  • 100
    原创
  • 1,042,565
    排名
  • 1,774
    粉丝
  • 17
    铁粉

个人简介:普普通通大学生,西安邮电大学20级计科

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2021-04-27
博客简介:

普通大学生的博客

查看详细资料
个人成就
  • 获得392次点赞
  • 内容获得231次评论
  • 获得408次收藏
  • 代码片获得11,855次分享
创作历程
  • 9篇
    2023年
  • 48篇
    2022年
  • 44篇
    2021年
成就勋章
TA的专栏
  • python
    22篇
  • C语言
    44篇
  • Linux
    10篇
  • c++
    14篇
  • 笔记
    8篇
  • 刷题笔记
    5篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

183人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

多路转接reactor epoll ET 简单的英译汉服务

在这个过程中需要 为每一个文件描述符分配一个 管理链接(服务)的 对象 就像去办理业务 每个人有一个对应的工作人员为自己提供服务一样,这个connection对象要调用Tcpserver提供好的函数 换句话来说 connection 用来分别是具体为哪个客户端提供服务。每个单词后面要跟个空格 就算只发一个也要后面加空格 发很多个单词记得最后一个单词后面加空格哦。reactor 在等待事件的到来,如果有事件那就调用相应的函数 来处理。但是具体提供服务 还是在营业厅里面用营业厅提供好的工具来提供服务。
原创
发布博客 2023.04.05 ·
513 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

应用层协议 ——— HTTP协议

HTTP(Hyper Text Transfer Protocol)协议又叫做超文本传输协议,是一个简单的请求-响应协议,HTTP通常运行在TCP之上。在编写网络通信代码时,我们可以自己进行协议的定制,但实际有很多优秀的工程师早就已经写出了许多非常成熟的应用层协议,其中最典型的就是HTTP协议。
原创
发布博客 2023.03.21 ·
659 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

用TCP写一个大小写转换的服务,多线程版本

如果编写的程序只在本地机器上运行,那么是不需要考虑大小端问题的,因为同一台机器上的数据采用的存储方式都是一样的,要么采用的都是大端存储模式,要么采用的都是小端存储模式。但如果涉及网络通信,那就必须考虑大小端的问题,否则对端主机识别出来的数据可能与发送端想要发送的数据是不一致的。为了让套接字的网络通信和本地通信能够使用同一套函数接口,于是就出现了sockeaddr结构体,该结构体与sockaddr_in和sockaddr_un的结构都不相同,但这三个结构体头部的16个比特位都是一样的,这个字段叫做协议家族。
原创
发布博客 2023.03.20 ·
547 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

7-8 sdut-顺序结构-2 计算得分

那么问题来了,科比有一场比赛投中a个3分球,b个2分球,罚进了c个球(罚球得一分),这场比赛总共得了多少分?每行包含3个数字a,b,c( 0
原创
发布博客 2023.03.20 ·
876 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

7-1 等边三角形面积

数学基础对于程序设计能力而言很重要。对于等边三角形面积,请选择合适的方法计算之。测试数据有多组,处理到文件尾。每组测试输入1个实数表示等边三角形的边长。对于每组测试,在一行上输出等边三角形的面积,结果保留2位小数。
原创
发布博客 2023.03.20 ·
241 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于Linux多线程

在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”。一切进程至少都有一个执行线程。线程在进程内部运行,本质是在进程地址空间内运行。在Linux系统中,在CPU眼中,看到的PCB都要比传统的进程更轻量化。透过进程虚拟地址空间,可以看到进程的大部分资源,将进程资源合理分配给每个执行流,就形成了线程执行流。
原创
发布博客 2023.03.17 ·
993 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux网络基础第一篇

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)。长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)。【问题】对于接收方而言,所有的网络数据都是需要经历网络协议栈的,但是,怎么区分网络数据到底属于哪一个应用程序的。
原创
发布博客 2023.03.12 ·
196 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux信号详解

你在网上买了很多件商品,再等待不同商品快递的到来。但即便快递没有到来,你也知道快递来临时,你该怎么处理快递。也就是你能“识别快递”。当快递员到了你楼下,你也收到快递到来的通知,但是你正在打游戏,需5min之后才能去取快递。那么在在这5min之内,你并没有下去去取快递,但是你是知道有快递到来了。也就是取快递的行为并不是一定要立即执行,可以理解成“在合适的时候去取"。在收到通知,再到你拿到快递期间,是有一个时间窗口的,在这段时间,你并没有拿到快递,但是你知道有一个快递已经来了。
原创
发布博客 2023.03.10 ·
791 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux进程间通信

进程间通信简称IPC(Interprocess communication),进程间通信就是在不同进程之间传播或交换信息。管道是Unix中最古老的进程间通信的形式,我们把从一个进程连接到另一个进程的数据流称为一个“管道”。例如,统计我们当前使用云服务器上的USER为root的进程。
原创
发布博客 2023.01.16 ·
657 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

关于Linux的动静态库

静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。一个与动态库链接的可执行文件仅仅包含它用到的函数入口地址的一个表,而不是外部函数所在目标文件的整个机器码在可执行文件开始运行以前,外部函数的机器码由操作系统从磁盘上的该动态库中复制到内存中,这个过程称为动态链接(dynamic linking)
原创
发布博客 2022.12.20 ·
755 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

进程程序替换

叫做可变参数,说白了就是可以按照用户的意愿传入参数的大小个数,如果还不理解,大家肯定都用过C语言中的printf函数吧,printf有没有规定你只能打印几个参数呢?说到环境变量之前我们先来看一下这个问题,我们刚刚提到过,进程替换可以让我们执行其他语言写的程序,那么我们怎么来执行呢?谈完这个话题我们再来谈谈环境变量,execle这个函数多了一个e,这个e就是环境变量,如果你想给这个函数传入环境变量,我们就可以传入环境变量。当程序替换的时候,我们可以理解成为,代码和数据都发生了写时拷贝,完成了父子的分离。
原创
发布博客 2022.12.20 ·
633 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

unordered_map&&unordered_set的应用以及底层实现(哈希表)

开散列法又叫链地址法(开链法),首先对关键码集合用散列函数计算散列地址,具有相同地址的关键码归于同一子集合,每一个子集合称为一个桶,各个桶中的元素通过一个单链表链接起来,各链表的头结点存储在哈希表中。顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。3.在内部,unordered_set中的元素没有按照任何特定的顺序排序,而是根据它们的散列值组织到桶中,以允许直接通过它们的值快速访问单个元素(平均平均时间复杂度恒定)。
原创
发布博客 2022.12.13 ·
1400 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

C++智能指针

RAII,即Resource Acquisition Is Initialization,“资源获取就是初始化”,是C++语言的一种管理资源、避免泄漏的一种方法。是一种资源管理技术,利用对象的生命周期管理程序的资源(如内存,文件句柄,锁等)的技术,因为对象在离开作用域的时候,会自动调用析构函数。auto_ptr是一个智能指针(smart pointer),它管理通过new表达式获得的对象,并在auto_ptr其自身被销毁时删除该对象。
原创
发布博客 2022.12.12 ·
295 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

关于C++11

左值是一个表示数据的表达式(如变量名和解引用的指针),**我们可以获取它的地址,也可以对它赋值,左值可以出现在赋值符号的左边,右值不可以出现在左边。**左引用加const修饰,不能对其赋值,但可取地址,是一种特殊情况。左值引用就是给左值取别名。//以下都是左值 int * p = new int [ 10 ];//对左值的引用 int * & pp = p;左值:1、可以取地址2、一般情况下可以修改(const修饰时不能修改)
原创
发布博客 2022.12.08 ·
297 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

特殊类的设计

关于特殊类和单例模式的设计的博客
原创
发布博客 2022.11.21 ·
230 阅读 ·
1 点赞 ·
3 评论 ·
0 收藏

进程地址空间详解

这是关于进程地址空间的简单理解
原创
发布博客 2022.11.19 ·
825 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

6-1 列表推导生成随机数矩阵(高教社,《Python编程基础及应用》习题4-10 Python

m: 行数,int, 1 < m < 100;n: 列数, int, 1 < n < 100.编写一个Python函数,生成一个m行n列的元素值不大于20的随机数矩阵(二维列表)。提示:使用random.randint()函数来生成随机数。
原创
发布博客 2022.11.12 ·
1562 阅读 ·
1 点赞 ·
1 评论 ·
7 收藏

6-2 矩阵乘法函数(高教社,《Python编程基础及应用》习题4-11)

c = multiply(a,b,p,q,r) #调用执行读者写的函数。设计一个Python函数,计算两个矩阵(二维列表)的乘积。a是一个p行q列的二维列表;b是一个q行r列的二维列表;#由出题者书写的正确函数计算返回的标准答案。应返回矩阵p行r列的结果矩阵。#测试程序的正确输出。
原创
发布博客 2022.11.12 ·
915 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

7-10 有关堆栈操作 Python

是2,表示进栈操作,即从堆栈顶部(尾部)将数据添加到堆栈,所以2 后面还要带一个数,两数之间用空格分隔,当没有第2个数时,显示 “data error”,当进栈操作没有建立堆栈对象时显示 “stack is not exist”.当进堆栈操作时,堆栈数据达到最大长度时,则显示“The stack is full”是4:表示显示堆栈中所有元素,元素之间用空格分隔,最后元素后面没有空格。实现显示堆栈数据方法:show()。请实现一个Stack类,实现堆栈初始化,进栈,出栈,显示堆栈数据,堆栈长度等.
原创
发布博客 2022.11.12 ·
629 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

AVL树详解(附带旋转步骤图,手把手带你上分)

这是一篇关于AVL树的文章,耐心看完很定会对米娜桑有帮助!!!有非常详细的旋转图解
原创
发布博客 2022.11.11 ·
622 阅读 ·
8 点赞 ·
7 评论 ·
2 收藏
加载更多