- 博客(39)
- 资源 (1)
- 收藏
- 关注
原创 [梦想开始的地方,是这里]一个从单臂机器人喜欢上开发的男孩子
#代码地魅力绝不只是那些字符,还有着那些运行后难以描述的美丽将放下一年地代码再一次捡起来的时候才发现,原来代码地魅力这么大,或许作为一名程序猿真的还不错!从大一接触C语言,现在再一次接触就不算是陌生,但在决定了成为程序猿的时候才真正的感觉到了代码的魅力,每个人都是不同的,因此没有着完全一致的代码存在,做好自己,做最好的自己就好,一是因为爱,二是因为责任。 这是建立在最开始的flag,也...
2020-06-21 18:56:19 529
原创 用C++来设计开发的基于boost文档的站内搜索引擎项目,点赞收藏起来!
So Easy搜索引擎项目描述开发环境主要技术项目特点项目难点和提升结束语项目描述boost官网虽然提供了在线文档,但是没有一个方便的搜索入口,因此我设计开发了这样一款基于boost文档的站内搜索引擎,通过浏览器加快我们精准定位获取到我们所需要查找的内容。开发环境主要技术项目特点项目难点和提升结束语...
2020-08-30 02:29:52 939
原创 最适合用来加深理解和掌握网络的小工具项目,写在简历上不要太优秀!
Helper网络小工具项目描述开发环境主要技术项目特点外部接口函数 nettools.c抓包工具shark.c扫描主机号 scanhost.c扫描端口号 scanport.cDoS泛洪攻击 dos.cifconfig实现 myifconfig.c项目难点和提升项目描述为了对网络有更加深入的理解和掌握在学习完网络方面的知识之后,也是认识到了自己一些不足的方面,因此为了更加深入的加深自己的理解,和掌握到网络的一些协议,报文格式等做到进一步的理解,所以想到了开发一个相对我们来说容易上手且容易理解的网络小工具
2020-08-29 22:18:18 557
原创 IO复用中select函数与epoll函数原理解析及优缺点对比
目录select函数select函数原理:select服务器模型select存在的问题epoll两种触发模式事件驱动模型select函数select函数:实现同时等待多个IO,变多个堵塞为一个堵塞(同时监控的描述符不能够超过1024)FD_SETSIZE 1024对于网络数据来了到底是怎么收到的?select函数原理:所有要调度的队列(所有的调度只调度就绪的队列)放在就绪队列之中,如果A进程要read网络数据,那他就会放在对应的socket的等待队列之中(操作系统中有多个等待队列),因此这时无
2020-08-18 22:22:27 659
原创 ISO七层模型与TCP/IP四层参考模型逐层解析
目录ISO/OSI 七层参考模型TCP/IP模型DNS域名解析内核协议栈逐层解析链路层网络层传输层TCP协议:面向连接的可靠字节流套接字三次握手和四次挥手慢启动和拥塞控制滑动窗口机制TCP 套接字编程状态粘包问题![在这里插入图片描述](https://img-blog.csdnimg.cn/20200817174639380.png#pic_center)管道破裂网络崩溃网络聊天室UDP传输协议:无连接不可靠但却更高效的数据报套接字应用层HTTP协议ISO/OSI 七层参考模型(依次从上往下)应用层
2020-08-17 21:47:25 1547
原创 [Linux操作系统]进程间信号与进程间通信知识点总结
信号1. 信号信号源:键盘 ctrl+c ctrl+\,kill pid,操作系统,硬件查看系统的信号: kill -l信号来了之后如何处理:1 缺省处理 2 忽略 SIGKILL SIGSTOP不能忽略 3 抓住信号自己SIGKILL SIGSTOP信号注册/信号安装:void(*signal (int sig,void (*handler)(int)))(int)Bus错误:(读写内存即为读写磁盘 mmap 架设一条高速公路) 如果架设之后操作系统判断文件大小为0,则不会建设这条线,这条公.
2020-08-17 12:41:20 251
原创 [Linux操作系统]文件描述符,文件表,文件锁以及相关的文件IO高速页缓存笔记
阅读目录1. 文件1. 文件open文件能够打开的最大文件个数,受限于内存条的大小 fprintf:自定义打印,需将文件标记符传进去标准输入 stdin标准输出(有缓存)stdout标准出错(五缓存)stderrC语言操作系统进行拷贝会将文件清空后进行拷贝,而Linux的话会直接进行拷贝顺序读取和随机堆读取原子操作:一次操作不完不可被分割竞争状态:O_EXCL只有在creat的清空下,才能够有效地防止竞态int r=lseek(fd,0,SEEK.
2020-08-16 13:49:58 314
原创 [Linux操作系统]操作系统中关于进程PCB的那些知识
1. 冯诺依曼1.1 五部分组成1.2 以二进制形式存在1.3 自动从存储器中取出命令并执行1.4 执行指令的过程2. 进程 PCB2.1 进程进程:是程序进行运行后所产生的。查看进程进程是操作系统粉配资源的基本单位,也是分配资源的最小单位每个进程有自己独立的地址空间和运行状态进程中一个重要的练习:int main(){ const int a =10; int* p=(int*)&a; *p=11; printf("p =%d,a=%d\
2020-08-16 11:20:26 1394
原创 MySQL数据库知识总结(配合操作更快上手)
数据库概念性知识总结0:序1. 初试数据库2. 数据库基础操作3. 数据类型4. 表的约束5. 表的增删改查6. 内置函数7. 复合查询与内外连接8. 索引特性9. 事务管理10. 视图特性11. 用户管理0:序秋招之际,对于应届大学生而言,如果简历上能够增加上关于数据库的一些相关知识,无疑是锦上添花,而不论是网上的一些课程还是书籍看起来都过于繁琐,这篇知识总结也是我自己学习数据可路程上所进行的总结和积累,希望帮助到更多的同伴,秋招加油!(可以收藏起来分几天时间看)1. 初试数据库守护进程:在我.
2020-08-14 18:05:40 375
原创 高校学生免费获得6个月的阿里云服务器,白嫖他不香吗?(附测试题答案)
手把手教你领取到免费的六个月阿里云服务器:点击此链接,进入阿里云高校学生计划打开阿里云高校学生计划 使用支付宝或钉钉登录进去,这样更加方便之后按照提示,进行操作即可完成一系列的提示之后就可以进行一定要注意的是,这里的立即领取都是从每日的早上八点开始进行领取,以先到先得的原则,所以如果今天不能够领取的朋友可以明天起来早上进行领取,不需要准时准点,只要在9点之前进行领取都是可以的。小问题:如果我们是已经登录了,且进行了学生认证,那么在点击到这个页面的时候可能会出现我们点击
2020-08-07 08:59:45 5567 9
原创 C++:对于单例设计模式中饿汉模式和懒汉模式的区别详解
单列模式一个类只能创建一个对象,即所谓得单例模式,该模式可以保证系统中该类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。(更多的将其用在对资源的保护上)饿汉模式不管你将来用不用,程序启动时就直接创建唯一的实例对象。饿汉模式构造函数私有. 提供一个静态的方法返回单例声明一个静态的单例成员拷贝构造和赋值声明为delete函数特点: 实现简单, 多线程情景下效率高缺点: 程序启动慢, 多个单例对象初始化的顺序无法控制class singleton{public
2020-08-05 12:06:18 1450
原创 [C++系列]特殊类如何设计?类的转换又分为哪几种?
一: 特殊类如何设计?只在对上创建对象的类//只能在堆上创建对象的类// 1. 构造函数私有// 2. 提供一个静态的堆上创建对象的方法// 3. 防拷贝(拷贝构造声明为私有,且不实现, 或者声明为delete函数)class HeapOnly{public: static HeapOnly* getInstance() { //堆上创建对象 return new HeapOnly; }private: HeapOnly() {} //HeapOnly(const
2020-08-05 11:54:16 201
原创 [C++系列]熟练掌握这3个指针,更好应对面试C++智能指针的知识题问
为什么需要智能指针?用来解决申请出来的空间,没有进行及时释放,造成内存泄漏的问题。1. 内存泄漏内存泄漏不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。堆内存泄漏malloc/realloc/new等从堆中分配的一块内存,用完后必须通过相应的free或者delete删除掉,而造成堆内存泄漏则是对其申请的内存没有进行释放。系统资源泄露实用系统分配的资源,套接字,文件描述符,管道等没有使用对应的函数释放掉,导致系统资源的浪费。
2020-08-03 23:45:07 314
原创 [C++系列]C++是如何进行异常处理的?终于能够看懂代码错误原因了
1. C++异常概念异常时一种处理错误的方式,当一个函数发现 自己无法处理的错误时就可以抛出异常,让函数的直接或间接调用者来处理这个错误。try{// 保护的标识代码}catch( ExceptionName e1 ){// catch 块}catch( ExceptionName e2 ){// catch 块}catch( ExceptionName eN ){// catch 块}throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的
2020-08-03 23:02:08 400
原创 划重点,C++11在98的基础上都增加了这些必须学习的重要新特性
C++11零:序一:列表初始化(小重点)二:变量类型推导三:默认成员函数四:右值引用(重中之重)1. 左值右值的区别2. 引用3. 移动语义4. 完美转发五:lambda表达式1. C++11中的lambda表达式六:线程库(重要)1. 线程2. 原子操作零:序相比较而言,C++11能够更好的用域系统开发和库的开发,语法更加泛化和简单化,更加稳定和安全,不仅功能更加强大,而且能提升程序员的开发效率一:列表初始化(小重点)C++11扩大了用大括号括起的初始化列表的适用范围,使其课用于所有的内置类型和用
2020-08-03 00:18:01 400
原创 一篇文章总结完哈希表2种散列,及位图和布隆过滤器具体应用
Hash表学习目录1. 无序系列关联式容器1. unordered_map2. unordered_set2. 哈希表1. 哈希函数2. 哈希冲突3. 模拟实现1. 模板参数列表2. 迭代器,哈希表的实现3. 无序的map实现4. 无序的 set 实现4. 应用1. 位图2. 布隆过滤器3. 哈希切割1. 无序系列关联式容器1. unordered_map是存储<key,value>键值对的关联式容器,其允许通过keys快速索引到其对应的value。通过key访问单个元素的效率要比m.
2020-07-23 22:29:04 341
原创 [Linux系列]Linux线程与线程池学习脉络梳理,重点知识模块总结记忆
学习脉络序一:线程二:互斥量1. 互斥量函数2. 死锁和活锁3. 任意时间段把锁中间的线程给删掉 ——`cancel`4. 读写锁三:同步四: 线程池序一个进程内部的控制序列,被称之为“线程”(一切进程至少都存在一个执行线程),线程在进程内部的运行,本质是再进程地址空间内运行。一:线程哲学家进餐问题线程进程若是创建100个的话,则pcb和mmap都增加100个;若线程增加100个的话,pcb增加100个,但内存空间mmap不增加,两者的vm里都会增加线程栈。线程创建函数线程创建若返.
2020-07-23 17:58:25 275
原创 红黑树及AVL树知识详解,更好的掌握map和set的底层实现
关于树的学习1. 二叉树搜索树2. 树形结构的关联式容器1. map2. set3. multimap4. multiset3. AVL树4. 红黑树5. 红黑树来实现STL的map和set1. 二叉树搜索树众所周知,map和set特性是我们掌握C++必不可少的一个知识点,而二叉搜索树则是它最基础的铺垫,因此在之前我们数据结构的基础上,我们也是对其进行更深入的学习。二叉搜索树基本概念二叉搜索树可以是一棵空树;它的左子树上所有节点的值,都是小(大)于根节点的值;它的右子树上所有节点的值,都.
2020-07-19 18:55:26 405
原创 [Linux系列]inux的gcc调试功底和makefile项目管理笔记,看着杂却很实用
四:编译和调试1. gcc编译工具gcc 命令,直接进行编译。1.1 预处理gcc -E1.2 编译gcc -S 编译命令1.3 汇编gcc -c1.4 链接``2. gdb调试工具gdb -g命令调试工具的作用:跟踪程序的执行程序崩溃前的状态quit 退出gdb调试。2.1 启动gdb2.1.1 直接启动gdb ——————> file + 要调试的程序;gdb 程序名gdb 程序名 core文件2.1.2 动态链接gdb
2020-07-19 00:08:00 275
原创 [Linux系列]操作系统中文件权限,网络管理,磁盘分区3大块的操作的一些笔记
二:权限和网络管理1. 文件权限1.1 文件权限的解读– 的位置所出现的不同,则代表着不同七种文件1.2 修改文件的权限对于修改文件的权限有着两种方式,一种是用命令+[对应指令] ,而另一种则是使用十进制的方法来进行修改。如 u + r如07402. 目录的权限当然了,文件有着对应的权限,目录也有着属于自己的对应的权限目录的权限:r: 表示可以lsw:表示可以创建touchx:表示可以执行cd2.1 用户设置位对于用户设置位的话,为了方便记忆和理解
2020-07-17 23:52:17 438 2
原创 [C++系列]STL6个核心组成部分,C++复习时一定要看
文章目录前言STL组件1:容器1.1 string1.2 vector1.3 list1.4 listSTL组件2:适配器STL组件3:迭代器STL组件4:仿函数STL组件5:空间配置器STL组件6:算法前言STL是C++标准库的重要组成部分,不仅是一个可以复用的组件库,而且是一个包罗数据结构与算法的软件框架。STL组件1:容器1.1 stringstring是表示字符串的字符串类,该类的接口与常规容器的接口基本相同,在使用string类时,需要包含#include <string>.
2020-06-30 23:34:23 905
原创 Cpp笔记整合版
文章目录知识点 0:命名空间知识点 1:标准输出输入知识点 2:缺省参数知识点 3:函数重载知识点 4:引用知识点 5:内联函数知识点 6:auto自动类型知识点 7:范围for知识点 7+:nullptr知识点 0:命名空间为了避免工作中模块化工作所造成的函数名,变量名的命名冲突,引入命名空间概念,在此命名空间内的所有内容生命周期都只局限于该命名空间之中,不会和其他变量或函数造成同名冲突。namespace Zone {//Zone 为命名空间的名称,相同命名空间会自动合成同一个空间(同名空间中不.
2020-06-11 11:26:02 427
原创 八大排序算法代码及过程解析
文章目录八大排序一:插入排序1. 直接插入排序2. 希尔排序二:选择排序1. 两种选择排序2. 堆排序三:交换排序1. 冒泡排序2. 快速排序2.1 hora划分法2.2 挖坑法2.3 前后指针法3. 优化版快速排序4. 非递归版快速排序4.1 用栈实现快速排序4.2 用队列实现快速排序四:归并排序1. 归并排序1.1 递归版归并排序1.2 非递归版归并排序0. 外排序思想五:非比较排序1. 计数排序八大排序将所需要使用到的交换函数,放置在最前面交换函数void Swap(int* array,
2020-05-12 22:14:58 441 1
原创 数据结构与算法学习之力扣面试刷题篇
学以致用,单纯的学习不去进行使用那么是不会有提高的,对于数据结构和算法的学习,我们不仅需要掌握到它的核心和原理,更应该学以致用,将所学习到的知识点运用到相关的代码之中,将我学习数据结构和算法时所练习的力扣题附在这里大家一起讨论和学习。文章目录一:数组面试题二:链表面试题三:栈和队列四:二叉树五:排序一:数组面试题原地移除数组中所有的元素val,要求时间复杂度为O(N),空间复杂度为O(1)...
2020-04-27 18:22:29 552
原创 GitHub:一步解决Git每次push都需要输入用户名和密码的问题
之前因为根据论坛上很多人所提供的方式,逐个的尝试之后导致自己的进行上传时总是会出现需要输入用户名和密码,一开始自己也想过可能是大家所说道的关于ssh或者说是个人密匙的一些问题,但是发现那些方法对于一些比较新手的朋友来说,是较为不友好的,所以我也是将自己最后尝试和了解到的这个方式分享给大家,以最简单的白话文方式来写给大家,对于刚开始学须的新手也可以完全理解,希望能够更好的帮助到大家来进行基本的操作。...
2020-04-16 15:06:30 1669
原创 [Linux基础]想要Linux使用的6,这些最基础的命令必须熟记心中
Linux常用命令笔记序1. 根目录2. 一切皆文件一:Linux下的基本指令0. 最为重要的基础指令0.0 man手册所需要学习的内容0.1 常用的man命令0.2 pwd命令0.3 ls 指令ls 通配符0.4 cd跳转路径0.5 目录操作0.6 touch指令0.7 查看文件内容指令1.二:序对于Linux操作系统的学习,是每一位小程序所必须了解和掌握的重要知识,而对于linux的...
2020-04-11 14:58:38 397
原创 VM虚拟机安装Linux图解指南,从软件下载到Tool,共享文件夹的创建一步到位
虚拟机安装零:关于linux一:准备软件二:安装VMware1. 开启虚拟化2. 安装VMware三: 安装linux1. 虚拟出一台机器2. 开始装机3. 安装VMTools4. 设置windows和linux的共享文件夹零:关于linux目前企业之中大量使用linux作为服务器来进行工作,因此在我们学习过程之中对于linux的学习就不可避免,而如何正确安装好linux的虚拟机环境就显得非常...
2020-04-08 16:13:49 427
原创 如何用1个C语言函数写出带文件存储的动态内存通讯录!!
C语言通讯录的实现将自己在学习完C语言之际所写的一个通讯录实现程序分享给大家,这其中包括了对于动态内存管理的知识,和文件操作的知识,或许不是最牛最精简的,但却是最好学习最容易上手的一个动态内存通讯录。对于每一行代码我都将给出最全面的注释,让你的学习没有丝毫难度1. 头文件#define _CRT_SECURE_NO_WARNINGS//windows的弊端,所以需要加上这个,其他系统另当别...
2020-03-28 13:52:41 351
原创 数据结构学习笔记汇总(适合初学者)
写在最开始的那段话:整理完了对于C语言基础和一些提升部分的笔记内容,真的是感觉自己漏洞百出,不整理不知道,一整理吓一跳,对于以前很多的知识点都在忘记,所以也是赶快将这最重要的数据结构捡起来,通过以前的笔记和一些代码,将这些内容整理出来,方便自己,也方便初学者的朋友们,还是那句话,有则改之无则加勉!文章目录序1.什么是数据结构?2. 什么是算法?第一节:时间复杂度和空间复杂度1. 算法效率2. ...
2020-03-27 22:30:00 1238
原创 C语言进阶及热点知识归纳
一直以来都是零零散散的去书写一些学习C语言的相关知识点,今天决定将所学习的已经发表和没有发表的所有知识点进行一个整合,方便自己,也适用于更多学习C语言基础的同学,如有纰漏,欢迎指出,有则改之无则加勉。目录一:什么是程序设计1.什么是程序设计?2. 什么是C语言?C语言是一门统用计算机编程语言,广泛的应用于底层的开发,C语言的设计目标是3. 最简单的C程序二:数据类型三:常量 变量...
2020-02-24 20:27:55 2954
原创 停课不停学,C语言版33行代码写出俄罗斯方块学习
新年新气象哪有什么岁月静好,只不过是有人替我们负重前行——致敬那些逆行在疫情第一线的英雄们,待春暖花开之时,愿你们平安归来。距离上一次写博客好像过去了很久的样子,虽然博客没有更新但学习上却不敢有丝毫松懈,为了能够记录自己每日的学习进展,也是决定坚持写,每周两篇,将自己所学习到的新知识,和对于一些概念的整理都通过这样的方式来进行记录包括每个月的GitHub的记录,口说无凭,附上自己的:33行书...
2020-02-15 21:55:50 1916 3
原创 纯C语言打造身份证检验系统,让你一波秀翻你身边的朋友!
闲来无事,想不想秀翻身边队友呢?闲来无事昨天在逛B站的时候,突然看到有个同样在深究C语言的朋友发了一个关于身份证检验系统的视频,因此就静下来看了一下,从学习到分析,将其构成一定的思路自己补充完全前前后后花费了将近3个小时,可能也是因为自己还是不够熟练的原因的,但是好歹算是将其整体的完成了,看到成果的时候还是挺让人高兴的。开发一个程序之前,最为重要的是它所涉及到的每个步骤所说到的每个步骤,笼统...
2020-01-14 20:35:38 1807
原创 C语言必备项目,自带登陆系统界面的学生信息管理系统!
寒假是要用来弯道超车终于迎来了寒假 ,作为工科生,更甚者是学院里课程最多考试最多的一个专业总算是度过了让人掉头发的考试月,而回到家的我也知道自己的目标所在,所以也是没有丝毫的放松,睡醒的第一天就将自己在考试阶段中所编写的学生信息管理系统做到了完善,现在就将其分享给大家!自带登陆系统的学生信息管理系统以前对于学校不断改善的学生信息管理系统,总是会在选课和考试报名的时候出现卡顿,并且直接瘫痪难以...
2020-01-12 22:09:59 4330 2
原创 一套高精度加减乘除算法,挑战计算机中的不可能
办法总比困难多不是吗?因为最近几天考试周的内容着实是有点太多了,所以每天也没有办法完成自己给自己定下来的每日五个程序的任务,所以这两天为了不降低质量,也是钻研了几个朋友告诉我的关于高精度的加减乘除问题,一开始接触的时候确实有着那么一些晦涩难以理解,但是当你慢慢深入进去就会发现它还是有着它的意义之处的,对于除法的话,可能有着那么一些晦涩难懂,大家只要一步步的去明白,那么也是可以自己编写出来的。高...
2019-12-23 12:37:48 316
原创 [C语言标配]人人都可以上手的万年历和逻辑数字游戏
C语言的有趣之处就是可以实现更多的想法通过C语言实现万年历的时候,从没有想过还可以这样做好像挺花哨的,看着网络上那些大牛实现的飞机大战,感觉自己和他们差距好像挺远的,而对于万年历的话也因为自己学习的不够它看起来不够完美,但我觉得这好像也挺不错的哈哈,毕竟还是得自信!万年历也是一次在CSDN上看到别人使用C语言在编写万年历,就想着为什么自己不尝试一番就有了这个万年历的生成,从对于年月日输出的规...
2019-12-20 17:42:56 782 4
原创 适合C语言新手练习的18道程序题
牢固的基础是靠着长时间的锻炼积累出来的编程靠的绝对不是天赋,而是经验和积累为什么说这句话呢?在最近这段时间内我每天都会完成几个相对的代码来保证自己不会手生,或者说是养成一个每天都练习敲代码的习惯,也是将网上能够搜到的相对基础的C语言练习题历数做了个遍,因此我觉得对于我们很多刚刚学习C语言的朋友来说,我们首要做的就是通过C语言来锻炼自己的编程逻辑和编程思维,只有这样才能够在之后的多种语言,数据结...
2019-12-15 20:39:16 2246 4
原创 看看别人的推箱子都是怎么写的,新手福利无疑了
小时候都玩过的推箱子,原来也可以用C语言来实现想要完成推箱子,首先我们应该明白它的原理,或者说是对于这个游戏有着一定的理解,这也是我从五子棋之后所学习到的一种全新的理念,想要编写出一个东西就应该先了解它的具体内容,就像我们单片机老师所说道的程序的编写,首先应该给自己画一个流程图,这样才能够根据流程图将我们所需要的东西进行翻译出来,具体化。头文件及具体宏定义#define _CRT_SEC...
2019-12-14 23:21:27 394
原创 保证只要看一遍,新手也能写出来的超简单五子棋代码
想要学好一个东西,首先应该会寻找好的资料和资源五子棋程序我会将整体的代码拆分出来给大家进行详细的一个分析,或许不是最好的,但应该是最适合新手来完成的一个项目了。首先在整个程序开始之前,所需要书写的当然是这些繁琐且又不得不重视的头文件和宏定义了,因为也是第一次写这样的一个小项目的程序和解析,可能有的地方会出现问题,不对的地方可以指出来哦!#define _CRT_SECURE_NO_WAR...
2019-12-11 23:06:24 1222
行政区划代码数据文件.rar
2020-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人