自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 【Linux】防火墙iptables详解

防火墙是一种网络安全设备,用于监控和控制数据包在网络中的流动,以保护网络免受未经授权的访问、恶意攻击和其他安全威胁。防火墙可以是软件、硬件或组合体,其主要功能包括:封端口封ip实现NAT功能共享上网端口映射(端口转发),ip映射

2024-04-01 23:44:54 990

原创 【MYSQL】内置函数

本篇博客介绍MYSQL中内置的函数,例如:时间函数、字符串函数、数学函数……希望各位看完能有所收获。

2023-12-05 10:46:02 259

原创 【MYSQL】表的基本查询

虽然我们在前面已经出过一期关于表和库的操作了,这一次我们来更深入的介绍一下关于表的增删查改操作。CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)

2023-11-29 21:30:31 308

原创 【MYSQL】表的约束

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primarykey,auto_increment,unique key 。

2023-11-10 17:02:18 383

原创 【MYSQL】数据类型

本期博客介绍在MYSQL中各种类型及其使用方式,顺带讲解查找的函数如何使用。

2023-09-14 00:19:29 224

原创 【Python】环境的搭建

Python环境的搭建

2023-09-08 17:29:58 886

原创 【MySQL】库和表的操作

学习数据库中关于:库的操作和表的操作

2023-07-25 16:58:36 357 1

原创 【MySQL】数据库基础

介绍主流的数据库、数据库的架构、MySQL的分类和存储引擎。

2023-07-22 21:18:32 140

原创 【MySQL】MySQL在Centos7环境下安装

关于配置mysql环境以及如何登录。

2023-07-16 10:11:33 10564

原创 【C++】C++11之线程库

本文将介绍以下内容:thread类、锁mutex、锁的RAII机制和条件变量condition_variable。

2023-07-09 00:13:07 326

原创 【C++】类型转换

介绍C++中四种类型转换:static_cast、reinterpret_cast、const_cast、dynamic_cast 以及RTTI的使用。

2023-06-10 17:17:43 695 1

原创 【C++】特殊类

面试中,考官有时候会问一些特殊类的设计,今天我们来介绍一下常见的特殊类的设计方式。

2023-06-10 01:08:44 602

原创 【C++】智能指针

在我们异常一节就已经讲过,当使用异常的时候,几个函数层层嵌套,其中如果抛异常就可能导致没有释放堆区开辟的空间。这样就很容易导致内存泄漏。关于内存泄漏,我也曾在C++内存管理一文中写过。为了觉得这个问题,C++引入了智能指针。

2023-06-06 17:03:26 739

原创 【C++】异常

异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的 直接或间接的调用者处理这个错误。

2023-05-23 17:49:36 599

原创 【C++】深入剖析C++11新特性

本文用万余字深入讲解C++11的一些特性,其中包含且不仅包含:初始化列表、范围for、右值引用、万能引用、完美转发、lambda表达式……

2023-05-16 23:56:08 1230 4

原创 【C++】位图

关于位图的介绍以及位图的应用。

2023-04-16 19:38:01 579

原创 【C++】哈希

讲解哈希结构、哈希碰撞、开散列和闭散列及其模拟实现。

2023-04-15 21:13:45 1900 2

原创 【C++】AVL树

平衡二叉树-AVL树插入思维以及代码实现

2023-03-19 18:37:16 310

原创 二叉搜索树

二叉搜索树的使用操作及模拟实现,在此基础上加入了KV的用法来实现词典功能和单词计数功能。

2023-03-01 18:53:18 500

原创 【C++】三大特性之多态

多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。例如:我们平时游乐场买票,大人全价,小孩半价。

2023-02-07 14:53:42 552 2

原创 【C++】三大特性之继承

继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。

2023-02-03 09:10:03 288

原创 【Linux】冯诺依曼体系结构和操作系统

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。截至目前,我们所认识的计算机,都是有一个个的硬件组件组成输入单元:包括键盘, 鼠标,扫描仪, 写板等中央处理器(CPU):含有运算器和控制器等输出单元:显示器,打印机等

2023-01-28 14:37:21 810

原创 【Linux】调试器-gdb使用

学会Linux环境下代码的调试工具之一:gdb

2023-01-27 12:12:01 577

原创 模板进阶篇

【优点】1.模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2.增强了代码的灵活性【缺陷】1.模板会导致代码膨胀问题,也会导致编译时间变长2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。

2023-01-13 21:34:10 298

原创 git的使用

git官网创建好用户之后,我们点创建仓库。选择好语言,开源许可证随便选一个即可,模板我们最好设置一个Readme文件,方便后面写明仓库的介绍。分支模型我们新手选一个单分支模型就可以了。因为仓库创建的时候只能选择私有,我们如果要设置开源还需要创建好之后去设置。

2023-01-09 21:37:51 3650 4

原创 Linux下第一个程序:进度条

进度条程序曾经是百度的一道面试题。这一期博客我们来介绍代码和原理究竟是怎样的。

2023-01-08 21:44:08 472 3

原创 好用且免费的广告屏蔽软件

我们使用浏览器的时候,老是弹出广告,面积小了还好,面积大了的话就可能会遮挡内容,非常影响我们的使用。如果是使用edge浏览器的朋友,可以直接到浏览器自带的拓展中下载。最近,博主找到了一款好用的程序,名字叫做。我们首先打开浏览器右上角的三个点,点开拓展。然后再搜索框中搜索就行啦!

2023-01-07 19:18:33 356

原创 Linux项目自动化构建工具-make/Makefile

会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令

2023-01-07 17:08:06 787

原创 Linux 对函数库的理解

我们举个形象的例子,我们寝室没有电脑,并且我们周末列了一系列计划,执行到上网的计划的时候,我们跑到校外的XX网吧去上网,上完网后,返回寝室继续执行计划。我们的C程序中,并没有定义“printf”的函数实现,且在预编译中包含的“stdio.h”中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实“printf”函数的呢?其中XXX就是库的名字,我们可以看到上面的库的名字是c,所以链接的是c标准库。链接的时候,不是产生关联,而是将我们程序内部要用的方法,给程序拷贝一份,就完成了静态链接!

2023-01-06 09:00:00 516

原创 Linux编辑器-vim

我们讲解vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:正常/普通/命令模式(Normal mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式

2023-01-03 09:00:00 1927

原创 Linux 软件包管理器 yum

​在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。但是这样太麻烦了,于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。软件包和软件包管理器,就好比 "App" 和 "应用商店" 这样的关系。不同的社区,在自己的Linux中,都内置了服务器和应用对应的下载链接,也就是我们的 yum。yum(Yellow dog Updater,M

2022-12-31 15:24:22 1803 3

原创 Linux下对文件权限的理解

我们使用sudo命令的时候,会需要输入密码,这个密码输入的是我们普通用户的密码。这是因为由于某些操作,操作系统对我们是十分信任的。当我们使用普通用户的时候,想要短暂的提升权限,但是又不想使用root用户,这时候就需要用到。,就可以做到短暂提权。当然,使用sudo是需要一定操作的。文件和文件目录的所有者所在的组的用户,所属组:g---Group。文件和文件目录的所有者,拥有者:u---User。其它用户:o---Others。可以省略),此时系统会提示输入。,普通用户的命令提示符是。超级用户的命令提示符是。

2022-12-31 09:00:00 1002

原创 shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。对比windows GUI,我们操作windows 不是直接操作wind

2022-12-28 23:20:23 137

原创 Linux下常用基本指令大全

我们输入:cnt=0;指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。如果我们加上选项 -l 的话,就会列出详细的文件信息,也可以输入 ll ,ll就是 ls -l 的缩写。-a 或--time=atime或--time=access或--time=use只更改存取时间。

2022-12-27 16:14:17 6536 1

原创 STL篇之vector

1. vector是表示可变大小数组的序列容器。2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。3. 本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。

2022-12-22 09:00:00 1130

原创 万字string类总结

string类的介绍1. 字符串是表示字符序列的类2. 标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。3. string类是使用char(即作为它的字符类型,使用它的默认char_traits和分配器类型(关于模板的更多信息,请参阅basic_string)。

2022-11-24 14:27:33 1876 17

原创 八大排序总结篇

一、前言到这里,数据结构的八大排序就算是全部写完了。这一期总结篇我们来测试一下八大排序的效率,印证一下八大排序的时间复杂度,以及深度剖析一下八大排序的稳定性问题。二、八大排序。

2022-11-16 18:17:02 1352 16

原创 排序8: 计数排序

1.计数排序在数据范围集中时,效率很高,但是适用范围及场景有限。2.时间复杂度:O(MAX(N,范围))3.空间复杂度:O(范围)

2022-11-12 16:31:30 398

原创 排序7:归并排序

1.排序思想归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。2.图解3.递归版本因为要排序,还要递归。我们肯定是要写一个子排序的,下面来说说子排序的实现逻辑。

2022-11-12 00:02:59 150

原创 初识C++模板

在写代码时,我们常常因为一个函数的类型不同而不能使用感到困扰。一个简单的交换函数,我们可能都得写好几份使用函数重载虽然可以实现,但是有以下几个不好的地方:1. 重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函数。2. 代码的可维护性比较低,一个出错可能所有的重载均出错。那么,有没有什么好办法,可以给出一份代码,让编译器替我们来生成我们需要的代码呢?函数模板。

2022-11-04 20:46:30 118 1

空空如也

空空如也

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

TA关注的人

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