
项目
文章平均质量分 81
鱼竿钓鱼干
万丈高楼平地起,勿在浮沙筑高台
展开
-
浅谈 开源许可证
浅谈 开源许可证原创 2023-01-25 16:02:04 · 4106 阅读 · 2 评论 -
协程栈设计 思维导图
关于协程栈设计的一些玩意原创 2022-09-03 14:54:33 · 225 阅读 · 0 评论 -
[OS 45讲 笔记目录]手写一个简易OS
[OS 45讲 笔记目录]手写一个简易OS为什么做这个学什么就做什么,我觉得如果为了考试学习那就很无趣吧。那么学习操作系统就写个简单的操作系统吧。大概会在寒假完成基本雏形,和HTTP服务器的优化同步进行。参考资料哈工大操作系统课程《操作系统实战45讲》(极客时间APP里有课程,也可以直接买书)《CSAPP》笔记链接...原创 2021-11-30 18:48:25 · 517 阅读 · 5 评论 -
【Linux 高并发服务器】HTTP服务器雏形完工
【Linux 高并发服务器】HTTP服务器雏形完工简单学了一下计算机网络,UNIX网络编程,计算机系统,C++面向对象相关的知识。参照牛客网的教程写了个简单的HTTP服务器雏形完成,且经过webbench压力测试软件测试性能还可以。项目地址简易HTTP服务器项目概述HTTP服务器雏形版本支持对GET请求的解析,采用I/O多路复用技术的epoll,模拟实现Proactor模型,支持线程池,有一定并发处理能力收获我觉得写这个玩意能让计算机系统,计算机网络,面向对象,Linux之类的理论知识应用于原创 2021-11-27 20:56:24 · 2572 阅读 · 0 评论 -
[Linux 高并发服务器]使用webbench对HTTP服务器进行压力测试
[Linux 高并发服务器]使用webbence对HTTP服务器进行压力测试webbence介绍webbence是一个轻量级的压力测试软件通过webbence你可以得到下面这些数据Speed传输速度bytes/sec每秒传输数据量Requests请求数量,统计成功和失败次数最多支持3w并发测试原理参考这位大佬的博客WebBench压力测试工具(详细源码注释+分析)Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程在测试时间内不断发送请求报文,建立多个连接,然原创 2021-11-24 17:52:34 · 3737 阅读 · 2 评论 -
[Linux 高并发服务器] I/O 多路复用
[Linux 高并发服务器] IO多路复用文章概述该文章为 牛客C++项目课:Linux高并发服务器 的个人笔记,记录了IO多路复用相关的知识点作者信息NEFU 2020级 zslID:fishingrod/鱼竿钓鱼干Email:851892190@qq.com欢迎各位引用此博客,引用时在显眼位置放置原文链接和作者基本信息参考资料感谢前辈们留下的优秀资料,从中学到很多,冒昧引用,如有冒犯可以私信或者在评论区下方指出标题作者引用处Linux 高并发服务器牛客网原创 2021-11-12 21:35:46 · 2699 阅读 · 0 评论 -
[Linux 高并发服务器]TCP通信流程
[Linux 高并发服务器]TCP通信流程文章概述作者信息NEFU 2020级 zslID:fishingrod/鱼竿钓鱼干Email:851892190@qq.com欢迎各位引用此博客,引用时在显眼位置放置原文链接和作者基本信息参考资料感谢前辈们留下的优秀资料,从中学到很多,冒昧引用,如有冒犯可以私信或者在评论区下方指出标题作者引用处正文部分TCP是什么TCP与UDP的区别Socket函数...原创 2021-11-04 20:18:13 · 450 阅读 · 0 评论 -
[Linux 高并发服务器]网络基础
[栏目名]篇目名文章概述作者信息NEFU 2020级 zslID:fishingrod/鱼竿钓鱼干Email:851892190@qq.com欢迎各位引用此博客,引用时在显眼位置放置原文链接和作者基本信息参考资料感谢前辈们留下的优秀资料,从中学到很多,冒昧引用,如有冒犯可以私信或者在评论区下方指出标题作者引用处正文部分...原创 2021-11-02 09:36:03 · 1997 阅读 · 4 评论 -
[Linux 高并发服务器]生产者与消费者模型
[Linux 高并发服务器]生产者与消费者模型文章概述该文章为牛客网C++项目课程:Linux高并发服务器的个人笔记,记录了生产者与消费者模型的一些知识点作者信息NEFU 2020级 zslID:fishingrod/鱼竿钓鱼干Email:851892190@qq.com欢迎各位引用此博客,引用时在显眼位置放置原文链接和作者基本信息参考资料感谢前辈们留下的优秀资料,从中学到很多,冒昧引用,如有冒犯可以私信或者在评论区下方指出标题作者引用处Linux高并发服务器原创 2021-10-31 15:03:43 · 789 阅读 · 0 评论 -
[Linux 高并发服务器]线程
[Linux 高并发服务器]线程文章概述本文为牛客网C++项目课:Linux高并发服务器的个人笔记,记录了线程相关的知识点作者信息NEFU 2020级 zslID:fishingrod/鱼竿钓鱼干Email:851892190@qq.com欢迎各位引用此博客,引用时在显眼位置放置原文链接和作者基本信息参考资料感谢前辈们留下的优秀资料,从中学到很多,冒昧引用,如有冒犯可以私信或者在评论区下方指出标题作者引用处正文部分线程的概念.原创 2021-10-30 23:00:13 · 996 阅读 · 0 评论 -
[Linux 高并发服务器]守护进程
[栏目名]篇目名文章概述作者信息NEFU 2020级 zslID:fishingrod/鱼竿钓鱼干Email:851892190@qq.com欢迎各位引用此博客,引用时在显眼位置放置原文链接和作者基本信息参考资料感谢前辈们留下的优秀资料,从中学到很多,冒昧引用,如有冒犯可以私信或者在评论区下方指出标题作者引用处相较于参考资料的不同之处标题作者不同处正文部分待解决的事项...原创 2021-10-26 21:16:15 · 531 阅读 · 0 评论 -
[Linux 高并发服务器]共享内存
[Linux 高并发服务器]共享内存文章概述这篇文章是牛客网C++项目课:Linux 高并发服务器的教程的个人笔记作者信息NEFU 2020级 zslID:fishingrod/鱼竿钓鱼干Email:851892190@qq.com欢迎各位引用此博客,引用时在显眼位置放置原文链接和作者基本信息参考资料感谢前辈们留下的优秀资料,从中学到很多,冒昧引用,如有冒犯可以私信或者在评论区下方指出标题作者引用处正文部分...原创 2021-10-26 10:37:04 · 887 阅读 · 0 评论 -
[Linux 高并发服务器] 信号
[Linux 高并发服务器] 信号文章概述牛客网C++项目课:Linux高并发服务器的个人笔记,记录了信号相关的知识点。作者信息NEFU 2020级 zslID:fishingrod/鱼竿钓鱼干Email:851892190@qq.com欢迎各位引用此博客,引用时在显眼位置放置原文链接和作者基本信息参考资料感谢前辈们留下的优秀资料,从中学到很多,冒昧引用,如有冒犯可以私信或者在评论区下方指出标题作者引用处牛客网C++项目课:Linux高并发服务器牛客网贯穿全文,原创 2021-10-25 21:29:26 · 778 阅读 · 0 评论 -
[Linux 高并发服务器] 内存映射
[Linux 高并发服务器] 内存映射参考:牛客C++项目课程认真分析mmap:是什么 为什么 怎么用第二篇参考博客很有用,建议看看。内存映射Memory-mapped I/O内存映射时间爱那个磁盘文件的数据映射到内存中,用户通过修改内存就可以修改磁盘文件,免去了read/write等操作内存映射的优点摘自第二篇参考博客1、对文件的读取操作跨过了页缓存,减少了数据的拷贝次数,用内存 读写 取代I/O读写,提高了文件读取效率。2、实现了用户空间和内核空间的高效交互方式。两空间的各自修改操原创 2021-10-23 22:49:35 · 448 阅读 · 0 评论 -
[Linux 高并发服务器] 管道
[Linux 高并发服务器] 管道什么是管道管道也叫做无名(匿名)管道,是UNIX系统IPC进程间通信的最古老形式,所有UNIX系统都支持这种通信机制。(一般说管道就是说匿名管道,但是还有有名管道,做个区分)管道的特点管道是一个在内核内存中维护的缓冲器,缓冲器存储能力有限,不同操作系统不一样管道拥有文件的特质:可以进行读写操作;匿名管道没有文件实体,有名管道有文件实体但不存储数据。可以按照操作文件的方式对管道进行操作一个管道是一个字节流,使用管道时不存在消息或者消息队列的概念,从管道读取数据原创 2021-10-20 19:52:32 · 670 阅读 · 0 评论 -
[Linux高并发服务器]进程间通信简介
[Linux高并发服务器]进程间通信简介摘自牛客项目课 Linux高并发服务器概念进程间通信IPC:Inter Processes Communication为什么需要进程间通信进程是一个独立的资源分配单元,不同进程之间的进程是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源(这里一般指用户进程,不考虑系统进程)但是进程之间不是孤立的,不同进程之间需要进行信息交换和状态传递,因此需要进程间通信进程通信的目的数据传输:一个进程需要将他的数据发给另外一个进程通知事件:一个进程需要向原创 2021-10-13 21:33:58 · 322 阅读 · 0 评论 -
[Linux 高并发服务器]进程控制
[Linux 高并发服务器]进程控制此博客为牛客项目教程:Linux高并发服务器 的笔记,很多内容摘自其中进程退出C库和Linux系统都提供了进程退出函数exit()和_exit()exit()在_exit()的基础上还进行了刷新缓冲区,关闭文件描述符等操作对比代码/* #include <stdlib.h> void exit(int status); #include <unistd.h> void _exit(int status)原创 2021-10-13 17:17:48 · 371 阅读 · 0 评论 -
[Linux 高并发服务器] exec函数族
[Linux 高并发服务器] exec函数族exec函数族exec 函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件exec 函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程 ID 等一些表面上的信息仍保持原样,只有调用失败了,它们才会返回 -1,从原程序的调用点接着往下执行。一般我们创建一个子进程,然后在子进程中使用exec函数族。虚拟地址空间视角执行exec函原创 2021-10-12 23:23:10 · 301 阅读 · 0 评论 -
[Linux 高并发服务器] 进程创建以及GDB多进程调试
[Linux 高并发服务器] 进程创建进程创建系统允许一个进程创建新进程,新进程就是子进程,子进程还可以创建子进程,形成树结构模型我们可以使用fork函数创建子进程/* #include <sys/types.h> #include <unistd.h> pid_t fork(void); 函数的作用:用于创建子进程。 返回值: fork()的返回值会返回两次。一次是在父进程中,一次是在子进程中原创 2021-10-11 20:22:01 · 412 阅读 · 0 评论 -
[Linux 高并发服务器] 进程状态的转换
[Linux 高并发服务器] 进程状态的转换根据牛客的c++项目课程做笔记,图片和知识点均摘录自该课程进程的状态转换进程状态反映进程执行过程的变化,这些状态随着进程的执行和外部条件的变化而转换三态模型运行态:进程占有处理器正在运行就绪态:进程具备运行条件,等待系统分配处理器以便运行,如果已经分配到除CPU外的资源,一旦获得CPU就立刻执行。在一个系统当中,处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列阻塞态:又称为等待(wait)态或睡眠(sleep)态,指进程不具备运行条原创 2021-10-10 21:12:47 · 339 阅读 · 0 评论 -
[Linux 高并发服务器] 进程概述
[Linux 高并发服务器] 进程概述程序和进程程序程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程二进制格式表示,用于描述可执行文件格式的元信息,内核利用此信息解释文件中的其他信息机器语言指令程序入口地址:标识程序开始执行时的起始指令位置数据:程序文件包含的变量初始值和程序使用的字面量值(字符串)符号表和重定位表,描述程序中函数和变量的位置以及名称。用来调试和运行时的符号解析(动态链接)共享库和动态链接信息其他信息也都是描述如何创建进程的进程进程是正在运行的原创 2021-10-10 12:08:11 · 397 阅读 · 0 评论 -
[Linux 高并发服务器]文件IO
[Linux 高并发服务器]文件IO此博客是根据牛客的项目课写的,使用了pdf里的资料各位可以去牛客官网学习一下另外注意,本博客和牛客的教程以32位系统为例,如果记忆一些默认数组,请明确前提![Linux 高并发服务器]文件IO[Linux 高并发服务器]文件IO标准C库IO函数与Linux系统IO函数标准C库函数FILE结构体补充知识虚拟地址空间文件描述符Linux系统IO函数标准C库IO函数与Linux系统IO函数标准C库IO函数相较于Linux系统IO函数,具有跨平台的优势,它可以针对不原创 2021-10-09 23:24:04 · 987 阅读 · 0 评论 -
[Linux高并发服务器]模拟实现 ls -l 指令
[Linux高并发服务器]模拟实现ls -l指令利用state函数模拟实现ls -l命令使用ls -l命令返回了以下信息文件类型文件权限连接数文件所属用户文件所属组文件大小文件上次修改时间文件名原创 2021-10-08 16:47:36 · 345 阅读 · 0 评论 -
[Linux 高并发服务器]GDB调试
[Linux 高并发服务器]GDB调试[Linux 高并发服务器]GDB调试[Linux 高并发服务器]GDB调试GDB是什么预先准备基本命令GDB是什么GDB是由GNU软件系统社区提供的调试工具,同GCC配套组成了一套完整的开发环境GDB可以帮助完成下面四个功能:启动程序,可以按照自定义要求运行程序可以让调试的程序在指定断点位置停住当程序停住时可以检查程序中发生的事情可以改变程序,将一个bug产生的影响修正从而测试其他bug预先准备如果为了调试而编译我们通常会关掉优化选项(-o原创 2021-10-05 21:51:02 · 6797 阅读 · 0 评论 -
[Linux 高并发服务器]Makefile
[Linux 高并发服务器]Makefile[Linux 高并发服务器]Makefile[Linux 高并发服务器]Makefile什么是Makefile文件命名和规则Makefile工作原理一、命令在执行之前,需要先检查依赖是否存在二、检测更新在执行规则中的命令时,会比较目标和依赖文件的时间变量自定义变量预定义变量获取变量的值模式匹配函数什么是MakefileMakefile 文件定义了一系列的规则来指定那些文件需要先编译,那些文件需要后编译,哪些文件需要重新编译,甚至于更复杂的操作。Makefi原创 2021-10-04 15:54:32 · 728 阅读 · 0 评论 -
[Linux 高并发服务器]制作静态库与动态库
[Linux 高并发服务器]制作静态库与动态库[Linux 高并发服务器]制作静态库与动态库[Linux 高并发服务器]制作静态库与动态库什么是库静态库的制作和使用命名规则静态库的制作静态库的使用动态库的制作和使用命名规则动态库的制作使用动态库静态库和动态库优缺点静态库优点静态库缺点动态库优点动态库缺点一般使用场景什么是库库文件是计算机类的一类文件,可以当作代码仓库,提供给使用者一些可以直接拿来用的变量函数和类库不能单独运行库文件用两种:静态库和动态库(共享库),区别是静态库在程序链接阶段被复原创 2021-10-03 21:12:26 · 1393 阅读 · 0 评论 -
[项目] Linux高并发服务器
[项目] Linux高并发服务器杂谈最近越来越感觉那些教你几小时做个网站啊之类的速成教程对技术学习有着很大危害,在贩卖焦虑的同时给你蛇油(虚伪的万金油),造成自己好像学了挺多的,做的挺好的假象。这对我来说,属实有些折磨了,因为作为普通人类的我,是很难抵挡住大数据推荐的勾引的。后来想了想还是找一些相对完整的项目学一下比较好,大一下的时候照着大佬的教程写了一个很水的JSON解析库,从中学到了很多,这种满足感真正令我感到充实。比较遗憾的是,后期没有做足够完整的总结,现在很多细节操作都忘的差不多了。翻了一原创 2021-10-03 00:20:34 · 6994 阅读 · 1 评论 -
[Linux]以匹配系统为例入门Thrift框架
[Linux]以匹配系统为例入门Thrift框架参考博客/文章:Apache Thrift系列详解(一) - 概述与入门acwing Linux(主要参考)RPC是什么,看完你就知道了什么是ThriftThrift是一个轻量级、跨语言的远程服务调用框架。它通过自身的IDL中间语言, 并借助代码生成引擎生成各种主流语言的RPC服务端/客户端模板代码。RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。简单来说原创 2021-10-02 02:07:51 · 543 阅读 · 0 评论 -
【NEFU C语言大作业总结】JSON解析生成器
【NEFU C语言大作业总结】JSON解析生成器今天把生成器部分写完了,目前.h 60多行.c库代码500多行,test单元测试400多行(使用网上单元测试框架)。把打印部分写完这个项目应该就完结了。总共应该快1000行了吧,算是大作业及格代码量?下面进行一些技术总结到时候如果顺利通过的话我会比较闲,可以私聊我。我可以提供一些简单的代码优化,当然你需要支持小额报酬呵呵。多看nb的开源项目真滴可以收获很多东西!新奇操作内存泄漏检测在 Windows 下,可使用 Visual C++ 的 C Ru原创 2021-06-04 00:09:35 · 520 阅读 · 1 评论 -
【大一C语言项目】Cjson的认识与实现(二)
【大一C语言项目】Cjson的认识与实现(二)参考资料:一、使用Cjson库二、Cjson的设计思想原创 2021-04-19 06:57:06 · 330 阅读 · 0 评论 -
【大一C语言项目】自制一个JSON生成器解析器 【日志目录】
【大一C语言项目】Cjson的认识与实现 【日志目录】Author:2020-计6-zslEmail:851892190@qq.comID:FishingRod序言听闻NEFU大一下需要写个C语言小项目,所以网上搜罗了一番,许多人推荐写个学生管理系统,Cjson,贪吃蛇,俄罗斯方块什么的。个人就暂定选择实现Cjson,因为以前玩游戏或者配置环境的时候经常看到这个文件,却不怎么清楚是干嘛的,所以想借此机会了解了解。这大概就是需求向开发吧哈哈个人感觉这个项目还是蛮有挑战性的。显然的,以我的能力不原创 2021-04-12 22:04:01 · 555 阅读 · 5 评论 -
【大一C语言项目】Cjson的认识与实现(一)
【大一C语言项目】Cjson的认识与实现(一)一、初识json参考网站菜鸟教程:JSONJSON介绍JSON在线解析JSON是什么JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程原创 2021-04-12 21:44:19 · 5644 阅读 · 0 评论