自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(387)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux系统编程--学习目录

Linux系统编程(一)进程基础Linux系统编程(二)信号Linux系统编程【三】进程间通信4 进程间关系5 线程基础6 线程互斥与同步七 线程控制八 高级 IO-记录锁九 高级IO-多路复用十 高级IO-异步IO

2022-04-01 22:00:44 402

原创 Linux、Vim 基础入门

文章目录一、基本概念及操作二、用户及文件权限管理三、Linux 目录结构及文件基本操作四、环境变量与文件查找挑战1:寻找文件五、文件打包与解压缩六、df/du命令--查看磁盘/目录容量七、Linux 下的帮助命令一、基本概念及操作入口1 linux 为何物?2 命令行操作体验2.1 重要快捷键2.2 学会利用历史输入命令2.3 学会使用通配符2.4 学会在命令行中获取帮助二、用户及文件权限管理入口1 介绍2 Linux 用户管理2.1 查看用户2.2 创建用户2.3

2020-07-02 11:45:23 432

原创 MySQL数据库设计与应用--学习目录

文章目录第一章 数据库基础知识第二章 数据库、数据表、记录、索引的操作第三章 数据查询(一)第四章 数据查询(二)第五章 视图第五章 MySQL 编程基础第一章 数据库基础知识入口1 基础知识2 关系模型2.1 关系模型的基本结构2.2 关系模型的完整性约束2.3 关系运算第二章 数据库、数据表、记录、索引的操作入口1 MySQL 数据库操作2 MySQL 数据类型...

2020-05-03 21:16:07 751

原创 Python程序设计--学习目录

1 从数据处理到人工智能2 实例: 霍兰德人格分析雷达图3 从Web解析到网络空间4 从人机交互到艺术设计5 实例: 玫瑰花绘制

2020-04-15 07:47:56 487

原创 C++深度解析--学习目录

【C++深度解析】1、C 到 C++ 的升级【C++深度解析】2、C/C++ 中的 const【C++深度解析】3、布尔类型和引用【C++深度解析】4、内联函数分析【C++深度解析】5、函数参数的扩展【C++深度解析】6、函数重载【C++深度解析】7、C++ 中的命名空间【C++深度解析】8、C++ 中的类型转换【C++深度解析】9、const 常量?只读变量?【C++深度解析】...

2020-02-13 22:45:32 666

原创 C语言进阶剖析--学习目录

【C语言进阶剖析】1、基本数据类型【C语言进阶剖析】2、有符号数与无符号数【C语言进阶剖析】3、浮点数的秘密【C语言进阶剖析】4、类型转换【C语言进阶剖析】5、变量属性【C语言进阶剖析】6、分支语句【C语言进阶剖析】7、循环语句【C语言进阶剖析】8、goto 和 void 分析【C语言进阶剖析】9、const 和 volatile 分析【C语言进阶剖析】10、struct 和...

2020-01-07 22:48:17 650

原创 Leetcode题解(更新中……)

算法思想双指针Two Sum II - Input array is sorted排序快速选择堆排序桶排序荷兰国旗问题贪心算法二分查找分治搜索BFSDFSBacktracking动态规划斐波那契数列矩阵路径数组区间分割整数最长递增子序列最长公共子序列0-1 背包数学素数最大公约数进制转换阶乘字符串加法减法相遇问题多数投票问题其它数据结...

2019-03-13 21:37:28 875 1

原创 算法基础修炼指南(更新中...)

第一章 枚举完美立方生理周期称硬币熄灯问题(1)熄灯问题(2)第二章 递归(上)求阶乘汉诺塔N皇后逆波兰表达式求值第三章 递归(下)表达式求值上台阶放苹果算24第四章 二分算法程序或算法的时间复杂度二分查找的原理和实现二分法求方程的根例题1 找 一对数例题2 农夫和奶牛第五章 分治归并排序快速排序输出前m大的数求排列的逆序数...

2019-02-14 21:55:57 466 1

原创 剑指offer题解

剑指offer题解考点题目数组二维数组中的查找.字符串替换空格链表从尾到头打印链表树重建二叉树栈和队列用两个栈实现队列查找和排序旋转数组的最小数字递归和循环斐波那契数列递归和循环跳台阶递归和循环变态跳台阶递归和循环矩形覆盖位运算二进制中1的个数代码的完整性数值的整数次方代码的完整性...

2019-01-21 17:06:29 671 2

原创 数据结构心法概要

章节题目串模式匹配算法树二叉树的层序遍历树二叉排序树(BST)的创建,查找,插入,删除及最大最小结点树非递归实现二叉树遍历(附c++完整代码)树遍历二叉树的应用:输出二叉树中的叶子结点、求二叉树的高度树树的同构树平衡二叉树(AVL树)树小白专场—是否同一棵二叉搜索树树哈夫曼树与哈夫曼编码堆堆,堆的创建,插...

2018-11-03 00:31:08 2741 4

原创 Kafka源码解析(基于3.0.0版本)

以kakfa3.0.0为例,从生产者,消费者,服务端入门kafka源码

2022-06-05 00:27:13 719 2

原创 Kafka3.0.0教程(从入门到调优,深入全面)

文章目录第 1 章 Kafka 概述1.1 定义1.2 消息队列1.2.1 传统消息队列的应用场景1.2.2 消息队列的两种模式1.3 Kafka 基础架构第 2 章 Kafka 快速入门2.1 安装部署2.1.1 集群规划2.1.2 zookeeper集群部署2.1.3 kafka集群部署2.1.4 集群启停脚本2.2 Kafka 命令行操作2.2.1 主题命令行操作2.2.2 生产者命令行操作2.2.3 消费者命令行操作第 3 章 Kafka 生产者3.1 生产者消息发送流程3.1.1 发送原理3.1.

2022-05-04 22:14:33 1993 2

原创 Leetcode题解-算法-位运算(Python版)

文章目录1 统计两个数二进制位多少位不同2 数组中唯一一个不重复的数3 寻找数组中缺失的数4 不重复的两个数字5 翻转一个数的比特位1 统计两个数二进制位多少位不同461. 汉明距离(Easy)方法一:移位实现位计数两数异或,不同的位会保留下来class Solution: def hammingDistance(self, x: int, y: int) -> int: x = x^y count = 0 while x > 0

2022-04-04 21:57:19 589

原创 Linux系统编程(十)--高级IO-异步IO

文章目录1 同步IO与异步IO2 POSIX异步IO(aiocb)3 异步操作状态3.1 aio_error3.2 aio_return4 等待异步IO操作5 异步IO取消操作6 批量请求7 异步通知7.1 两种通知方式7.2 aiocb的成员aio_sigevent7.3 sigevent 的成员1 同步IO与异步IO塞和非阻塞从简单的开始,我们以经典的读取文件的模型举例。(对操作系统而言,所有的输入输出设备都被抽象成文件。)在发起读取文件的请求时,应用层会调用系统内核的I/O接口。如果应用层调

2022-03-31 22:25:52 539

原创 Linux系统编程(九)--高级IO-多路复用

文章目录1 问题提出2 fd_set容器2.1 fd_set的实现2.2 操作fd_set容器3 select函数3.1 参数说明:3.2 select返回值3.3 select与信号4 poll函数5 epoll函数5.1 IO事件5.2 select 与 poll的缺点5.3 使用epoll5.4 epoll_create5.5 epoll_create5.6 epoll_wait6 epoll触发模式6.1 两种触发6.2 边沿触发 + 非阻塞1 问题提出// fd1, fd2, fd3 分别是以

2022-03-30 22:20:45 388

原创 Linux系统编程(八)--高级 IO-记录锁

文章目录1 记录锁1.1 概念1.2 加锁解锁2 记录锁测试命令3 记录锁(底层实现)4 记录锁(继承与释放)5 记录锁(尾部加锁)6 建议性锁和强制性锁6.1 提出问题6.2 建议性锁和强制性锁6.3 建议性锁和强制性锁7 单例守护进程1 记录锁1.1 概念对文件的部分字节或所有字节加锁,在多进程之间对指定的字节进行互斥访问。是一种字节范围锁。记录锁通过 fcntl 函数来获取和释放锁,fcntl 的执行命令(cmd 参数)是 F_SETLK (非阻塞)和 F_SETLKW (阻塞)。 F_GET

2022-03-29 23:43:33 545

原创 Linux系统编程(七)--线程控制

文章目录1 线程属性1.1 pthread_attr_t1.2 不同属性的作用2 互斥量的共享属性2.1 属性的初始化与回收2.2 共享属性3 互斥量的鲁棒属性3.1 相关函数3.2 互斥量状态一致性4 递归型互斥量4.1 相关函数4.2 递归类型的互斥量5 其它同步对象的属性5.1 读写锁的属性5.2 条件变量的属性5.3 barrier 属性6 可重入函数(二)7 errno 变量与多线程8 只被执行一次的函数8.1 问题提出8.2 pthread once9 线程私有变量9.1 键类型及相关函数9.2

2022-03-27 22:08:29 1479

原创 Leetcode题解-算法-数组与矩阵(python版)

文章目录1、把数组中的0移动到数组尾部2、改变矩阵分维度3、数组中连续1的最大个数4、有序矩阵中查找目标数5、有序矩阵中第k小的数6、1-n的数中一个数被另一个替换,找重复和丢失的数7、寻找数组中丢失的数8、寻找数组中重复的数9、寻找数组中重复的数(不修改数组)1、把数组中的0移动到数组尾部283. 移动零(Easy)使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。class Solu

2022-03-27 08:39:45 255

原创 Linux系统编程(六)--线程互斥与同步

文章目录1 多线程互斥与同步2 互斥量2.1 基本概念2.2 互斥量数据类型2.3 互斥量的加锁解锁3 读写锁rwlock3.1 读写锁三种状态:3.2 读写锁的数据类型3.3 读写锁的加锁解锁4 自己实现互斥锁4.1 mylock 实现4.2 myunlock解锁实现5 自旋锁6 线程同步1 条件变量的数据类型和相关函数2 深入条件变量7 屏障 barrier1 多线程互斥与同步多线程互斥,同一时间只有一个线程访问数据。互斥锁 mutex读写锁 rwlock自旋锁 spinlock多线程同

2022-03-25 07:50:18 166

原创 Linux系统编程(五)--线程基础

文章目录1 线程概念1.1 进程到线程1.2 线程资源1.3 进程线程区别2 线程创建与终止2.1 线程创建2.2 线程终止3 线程清理函数1 线程概念1.1 进程到线程多进程之间互相沟通比较麻烦,比如内存共享、描述符共享、互斥与同步。同一个进程中的多线程使用的资源是共享的,比如内存,文件描述符等等。1.2 线程资源线程共享资源:可执行程序的代码,程序的全局内存,堆内存,栈,文件描述符。线程独有资源:线程 ID,线程自己的一套寄存器值,线程运行栈,调度优先级和策略,信号屏蔽字,errno 变

2022-03-25 07:43:35 150

原创 Linux系统编程(四)--进程间关系

文章目录1 进程扇与进程链2 进程组2.1 概念2.1 进程组的创建与设置3 会话3.1 概念3.2 创建会话4 控制终端、前台进程组与后台进程组5 后台进程组与控制终端6 孤儿进程与孤儿进程组7 守护进程7.1 守护进程的概念7.2 创建守护进程(调用系统函数)7.3 创建守护进程(自己实现)1 进程扇与进程链进程扇进程扇构造代码// ps_swing.c#include <unistd.h>#include <string.h>#include <stdio

2022-03-23 23:11:42 631

原创 Linux系统编程(三) --进程间通信

文章目录1 进程间通信总览1.1 进程间如何通信1.2 Linux IPC 分类1.3 Linux IPC常用手段2 无名管道2.1 pipe 函数2.2 用pipe进行进程间通信3 有名管道3.1 创建 FIFO 类型文件3.2 FIFO文件特性4 System V共享内存4.1 共享内存4.2 IPC 内核对象4.3 获取内核对象的id号4.4 创建IPC内核对象4.5 shmget函数4.6 键值与ftok4.7 shmget函数4.8 shmctl5 System V消息队列5.1 消息队列相关的函

2022-03-22 08:24:28 236

原创 Linux系统编程(一) --进程基础

文章目录1.1 基础1.2 fork函数1.3 进程空间1.3.1 进程地址互不影响1.3.2 虚拟地址到物理地址的映射1.3.3 fork函数原理1.3.4 写时复制技术1.4 fork函数与文件共享1.5 exec 系列函数与进程空间结构1.5.1 exec系列函数1.5.2 进程空间结构1.5.3 exec + fork1.6 wait和waitpid1.6.1 僵尸进程1.6.2 wait清理僵尸进程1.6.3 waitpid1.6.4 core 文件1.7 kill命令1.1 基础ps -u

2022-03-20 22:32:18 712

原创 Leetcode题解-算法-哈希表(python版)

文章目录1、两数之和2、判断数组中是否有重复的数3、最长和谐序列4、最长连续序列5、LRU1、两数之和1. 两数之和(Easy)方法一:暴力搜索class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: n = len(nums) for i in range(n): for j in range(i+1, n):

2022-03-14 08:09:41 302

原创 Leetcode题解-算法-贪心算法(python版)

文章目录1、数对可以组成的最长链2、分配饼干3、不重叠的区间个数4、最少需要多少飞镖刺破气球5、根据身高序号重排序6、买卖股票最大的收益7、买卖股票最大的收益Ⅱ8、种植花朵9、判断是否是字串10、修改一个数成为非递减数组11、连续子数组的最大和12、分隔字符串使同种字符出现在一起13、最小差值 II14、摆动序列1、数对可以组成的最长链2、分配饼干3、不重叠的区间个数4、最少需要多少飞镖刺破气球5、根据身高序号重排序6、买卖股票最大的收益7、买卖股票最大的收益Ⅱ8、种植花朵9、判断是否是字

2022-03-10 07:57:46 288

原创 Zookeeper应用及原理分析实战

文章目录1、Zookeeper介绍1.1 什么是Zookeeper2.2 Zookeeper的应用场景2、搭建Zookeeper服务器2.1 zoo.cfg配置文件说明2.2 Zookeeper服务器的操作命令3、Zookeeper内部的数据模型3.1 zk是如何保存数据的3.2 zk中的znode是什么样的结构3.3 zk中节点znode的类型3.4 zk的数据持久化4、Zookeeper客户端(zkCli)的使用4.1 多节点类型创建4.2 查询节点4.3 删除节点4.4 权限设置5、kazoo客户端的

2022-03-01 08:16:03 298

原创 Wireshark零基础入门到实战(二)协议篇

文章目录1 ARP协议的数据包分析2 Wireshark眼中的IP协议3 TCP与UDP协议详解4 TCP中也有一个窗口5 TCP重传技术的研究6 用途广泛的ICMP协议7 容易被忽视的DHCP协议8 不可或缺的DNS协议9 每天都要接触的HTTP协议10 为安全而生的HTTPS协议10.1 https的工作原理10.2 第一步 client hello 消息10.3 第二步 server hello 消息10.4 第三步 Server => Client10.5 第四步 Client => S

2022-01-16 14:34:03 2319

原创 Wireshark零基础入门到实战(一)基础篇

文章目录1 认识Wireshark的界面1.1 初识Wireshark1.2 过滤器2 Wireshark的图形显示2.1 查看发包速度:I/O图表2.2 查看TCP往返时间2.3 数据流图:统计 -> 流量图3 Wireshark的高级特性3.1 手动修改协议类型3.2 跟踪TCP流3.3 统计数据包长度3.4 专家信息4 Wireshark的命令行模式1 认识Wireshark的界面1.1 初识Wireshark这里我使用WLAN抓包如下所示:我们以一个http协议为例,分析每一层字段

2022-01-16 14:18:11 1813

原创 Docker快速上手

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nURjgyrU-1635671453142)(pictures/1.png)]1 获取镜像docker pull nginx等同于docker pull nginx:latest2 查看本地镜像docker images3 运行镜像docker run -d -p 80:80 nginx-d 后台运行-p 内外端口映射4 查看正在运行的容器docker ps5 修改容器docker exec

2021-10-31 17:12:57 1440

原创 《图解HTTP》读书笔记

文章目录第1章 了解 Web 及网络基础1.1 使用 HTTP 协议访问 Web1.2 HTTP 的诞生1.3 网络基础 TCP/IP1.3.1 TCP/IP 协议族1.3.2 TCP/IP 的分层管理1.3.3 TCP/IP 通信传输流1.4 与HTTP关系密切的协议:IP、TCP和DNS1.4.1 负责传输的 IP 协议1.4.2 确保可靠性的TCP协议1.5 负责域名解析的 DNS 服务1.6 各种协议与 HTTP 协议的关系1.7 URI 和 URL1.7.1 统一资源标识符1.7.2 URI 格式

2021-08-25 23:39:44 260

原创 计算机网络(自顶向下方法)读书笔记----吐血整理

文章目录第 1 章 计算机网络和因特网1.1 什么是因特网1.1.1 组成描述描述1.1.2 服务描述1.1.3 协议1.2 网络的边缘1.2.1 接入网1.2.2 物理媒体1.3 网络核心1.3.1 分组交换1.3.2 电路交换1.3.3 分组交换和电路交换的对比1.3.4 网络的网络1.4 分组交换中的时延、丢包、吞吐量1.4.1 分组交换网中的时延概述1.4.2 排队时延和丢包1.4.3 端到端时延1.4.4 计算机网络的吞吐量1.5 协议层次及其服务模型1.5.1 分层体系结构1.5.2 封装第二章

2021-08-03 00:36:03 2160 1

原创 利用 telnet 命令测试 SMTP 服务(QQ邮箱发邮件)

文章目录1 开通 QQ 邮箱的 SMTP 服务2 开启 telnet 客户端3 使用 CMD 利用 telnet 命令测试 SMTP 服务1 开通 QQ 邮箱的 SMTP 服务2、找到“POP3/SMTP服务”和“IMAP/SMTP服务”项,点“开启”。3、开启之后,系统会给你一个“授权码”。这个授权码将作为邮箱的登陆密码。若忘记授权码,则可点击“生成授权码”来获得你的授权码。2 开启 telnet 客户端win10下telnet默认是不开启的,需要手动开启。1、打开控制面板–>程序–

2021-06-20 10:20:34 1615

原创 Python魔法方法指南

文章目录1 简介2 构造方法3 操作符3.1 比较操作符3.2 数值操作符3.2.1 一元操作符3.2.2 常见算数操作符3.2.3 反射算数运算符3.2.4 增强赋值运算符3.2.5 类型转换操作符4 类的表示5 访问控制6 自定义序列6.1. 预备知识6.2 容器背后的魔法方法7 可调用的对象8 上下文管理器9 附录:如何调用魔法方法1 简介本指南归纳于我的几个月的博客,主题是 魔法方法 。什么是魔法方法呢?它们在面向对象的 Python 的处处皆是。它们是一些可以让你对类添加“魔法”的特殊方法。

2021-06-12 20:42:49 387 2

原创 Linux 小游戏

文章目录1 banner:输出图形字符1 banner:输出图形字符先看效果:安装:$ sudo apt-get update$ sudo apt-get install sysvbanner使用:$ banner hello或者觉得这字体不好看,那么还可以使用默认已经安装的一个命令 printerbanner,-w 参数指定打印宽度$ printerbanner -w 50 A...

2021-05-30 18:34:21 2208 9

原创 Leetcode题解-算法-栈和队列(python版)

文章目录1、用栈实现队列2、用队列实现栈1、用栈实现队列232. 用栈实现队列(Easy)class MyQueue(object): def __init__(self): self.stack_1 = [] self.stack_2 = [] def push(self, x): self.stack_1.append(x) def pop(self): if not self.stack_2:

2021-05-30 18:21:31 229 3

原创 Leetcode题解-算法-链表(python版)

文章目录1、找出两个链表的交点2、链表反转3、归并两个有序链表4、从有序链表中删除重复结点5、删除链表中倒数第 n 个结点6、交换链表中相邻的结点7、两链表的和8、回文链表9、分隔链表10、链表元素按奇偶聚集11、分区链表1、找出两个链表的交点2、链表反转3、归并两个有序链表4、从有序链表中删除重复结点5、删除链表中倒数第 n 个结点6、交换链表中相邻的结点24. 两两交换链表中的节点(Medium)方法一:递归如果链表为空或者只有一个节点,直接返回否则递归,递归过程如下:# Def

2021-05-27 00:15:48 231

原创 Leetcode题解-算法-二分法(python版)

文章目录1、求开方2、找大于给定字符的最小字符3、排序重复数组中找出现一次的数4、第一个出错的版本5、旋转数组最小值6、目标数在排序数组中出现的首尾位置1、求开方69. x 的平方根(Easy)class Solution(object): def mySqrt(self, x): left, right = 1, x while (left <= right): mid = (left + right) // 2

2021-05-23 11:53:22 264

原创 Leetcode题解-数据结构-双指针(python版)

文章目录1、有序数组中找两个数和等于某数2、两数平方和3、翻转字符串中的元音字符1、有序数组中找两个数和等于某数167. 两数之和 II - 输入有序数组(Easy)class Solution(object): def twoSum(self, numbers, target): low, high = 0, len(numbers)-1 while low < high: sum = numbers[low] + numbers

2021-05-22 21:54:59 241

原创 wsgi 学习笔记--结合openstack中的 wsgi+webob+routes

WSGIWSGl(Web Server Gateway Interface)主要规定了服务器端和应用程序间的接口。浏览器将 HTTP 请求发给 WSGI Server,WSGI Server 将请求解析,将环境信息封装在 environ 中,environ 是个字典,里面是 key, value 对。封装之后将会调用处理请求的函数 App,调用 App 处理请求时会传入两个参数,一个是 environ,另一个是 start_response 函数本身(不是函数调用哦),传入的 environ 参数就

2021-04-22 00:59:53 445 3

原创 Leetcode题解-数据结构-树(BST)(python版)

文章目录1、修剪二叉查找树2、二叉查找树的第 k 个元素3、把二叉查找树每个节点的值都加上比它大的节点的值4、二叉查找树的最近公共祖先5、二叉树的最近公共祖先6、 有序数组构造二叉查找树7、 有序链表构造二叉查找树8、寻找两个点,和为给定值9、二叉搜索树中两节点差的最小值10、寻找二叉查找树中出现次数最多的值1、修剪二叉查找树669. 修剪二叉搜索树(Medium)# Definition for a binary tree node.# class TreeNode:# def __in

2021-03-07 22:19:11 272

jieba-master.zip

jieba 是目前最好的 Python 中文分词组件,它主要有以下 3 种特性: 支持 3 种分词模式:精确模式、全模式、搜索引擎模式 支持繁体分词 支持自定义词典 安装:先下载,随便解压到一个地方,cmd 进入对应文件夹后运行 python setup.py install

2020-04-02

BCC 5.5.1.7z

一个可以直接运行的 BCC 编译器,为什么要BCC 编译器?因为 C 语言中有些指示字或功能等是编译器相关的,使用多种编译器使我们更好的理解 C 语言,这个文件解压直接直接使用,免安装,也可能第一次双击打开会自动安装一些插件,保证功能完整。

2019-11-25

空空如也

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

TA关注的人

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