Read_Notes
文章平均质量分 84
OopspoO
be better
展开
-
文件系统监控——inotify
从 Linux 2.6.13 内核开始,Linux 引入了 inotify,可以通过该机制监控文件或目录的一组指定事件,例如打开、关闭、移动/重命名、删除 、创建或更改属性。创建一个inotify实例并返回一个对应的文件描述符操作inotify实例相关联的“watch list”(创建或者修改已有的)当受监视的文件和目录发生事件时,可以使用 read从 inotify 文件描述符中读取这些事件信息从inotify监控列表中删除项目。原创 2024-03-28 00:56:18 · 790 阅读 · 0 评论 -
INI 配置文件
.ini” 是英文 “initialization” 的头三个字母的缩写,INI 文件的后缀名也不一定是".ini"也可以是".cfg",“.conf ”或者是”.txt"。INI文件的格式最基本的三个要素是:parameters,sections 和 comments。原创 2023-11-16 23:50:59 · 170 阅读 · 0 评论 -
云计算的三种服务模式:IaaS,PaaS和SaaS
如:谷歌的Apps,微软的Office 365,Citrix的CloudStack,以及目前比较火的各种云存储(网盘),云相册,云备份,云打印,云监控等正对个人用的云服务产品。6) 计费和监管:因为PaaS平台在计费和监管这两方面不仅达到了IaaS平台所能企及的操作系统层面,比如,CPU和内存的使用量等,而且还能做到应用层面,比如,应用的反应时间(Response Time)或者应用所消耗的事务多少等,这将提高计费和管理的精确性。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。原创 2023-11-14 00:24:23 · 1156 阅读 · 0 评论 -
linux驱动程序——入门
内核的模块装载器里保存有内核的版本信息,在装载模块时,装载器会比较所保存的内核vermagic与此模块的modinfo段里保存的vermagic信息是否一致,两者一致时,模块才能被装载。Linux内核在使用驱动时首先要装载驱动,在装载过程中进行一些初始化动作(建立设备文件、分配内存等),在驱动程序中需提供相应函数来处理驱动初始化工作,该函数须使用。Linux系统在退出是需卸载Linux驱动,卸载过程中进行一些退出工作(删除设备文件、释放内存等),在驱动程序中需提供相应函数来处理退出工作,该函数须使用。原创 2023-11-05 22:53:10 · 284 阅读 · 0 评论 -
libevent——简单介绍
libevent简单介绍原创 2023-02-26 14:04:06 · 881 阅读 · 0 评论 -
网络基础知识
网络相关基础知识原创 2022-09-04 23:37:23 · 230 阅读 · 0 评论 -
Linux操作系统编程基础
linux 编程基础原创 2022-08-12 00:25:36 · 898 阅读 · 0 评论 -
C++ primer笔记
c++ primer笔记原创 2022-06-19 22:04:06 · 651 阅读 · 1 评论 -
LVM扩容
LVM扩容分区基本结构lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsr0 11:0 1 335.6M 0 rom vda 252:0 0 63G 0 disk ├─vda1 252:1 0 500M 0 part /boot└─v...原创 2020-03-19 23:28:28 · 299 阅读 · 0 评论 -
SDN概述
SDN概述1SDN是什么ONRC是 SDN创始人斯坦福大学教授Nick McKeown和加州大学伯克利分校教授 Scott Shenker,以 Larry Peterson教授 共同创建的研究架构。ONRC对SDN的定义是:“SDN是一种逻辑集中控制的新网络架构,其关键属性包括:数据平面和控制平面分离;控制平面和数据平面之间有统一的开放接口OpenFlow。”在ONRC的定义中,SDN...原创 2017-06-26 13:41:00 · 4538 阅读 · 0 评论 -
Matlab基础命令
MATLAB常用命令 命令 功能 clc 擦除命令 clear 清除工作空间中所有的变量 clear all 从工作空间中清除所有变量和函数 clf 清除图形窗口信息 error 显示错误信息 who 显示当前空间中所有变量的一个简单列表 whos 列出变量的大小、数据格式等详细信息 what 列出相应目录下的M文件 whic原创 2018-02-27 20:55:13 · 1140 阅读 · 0 评论 -
Docker概述
Docker概述123Docker的概念Docker是一个开源平台,它包含容器引擎和Docker Hub注册服务器。Docker容器引擎:该引擎可以让开发者打包它们的应用和依赖包到一个可移植的容器中,然后将其发布到任何流行的Linux机器上。Docker Hub注册服务器:用户可以在该服务器上创建自己的镜像库来存储、管理和分享镜像。利用Docker,可实现软件的一次配置,处处运...原创 2018-03-05 10:14:18 · 283 阅读 · 0 评论 -
最优化基础(一)
此外,通常把目标函数为二次函数而约束函数都是线性函数的优化问题称为二次规划;而目标函数和约束函数都是线性函数的优化问题称为线性规划.若指标集$E\cup I=\emptyset $称之为无约束优化问题,否则称为约束优化问题.马昌凤. 最优化方法及其Matlab程序设计[M]. 科学出版社, 2010.上连续可微的多元实值函数, 且至少有一个是非线性的. 记。上的实值函数,称为目标函数. 此外,在以上模型中,在工程设计中有着重要应用的非线性规划,其数学模型为。是某个给定的集合(称为可行集或可行域),原创 2023-11-14 00:16:04 · 440 阅读 · 0 评论 -
最优化基础(四)
是一个尖锥(pointed cone). 相应地, 包含0 的凸锥称为尖凸锥.****的凸包(convex hull) 是指所有包含。上的一致凸函数, 是指存在常数。处是正定的. 进一步,若存在常数。上的严格凸函数, 是指对任意的。上为严格凸函数的充要条件是,当。上一致凸的充要条件是,存在常数。上是二阶连续可微的. 若对一切。上的凸函数, 是指对任意的。上是一致正定的.****处是半正定的. 若对一切。上是严格凸的充分条件是。上是一致凸的充要条件是。为凸集, 是指对任意的。上为凸函数的充要条件是。原创 2023-11-14 00:17:00 · 292 阅读 · 0 评论 -
最优化基础(五)
若存在。原创 2023-11-14 00:17:24 · 348 阅读 · 1 评论 -
凸优化
凸优化内积定义在n维实向量集合RnR^n上的标准内积为,对任意的x,y∈Rnx,y\in R^n, <x,y>=xTy=∑i=1nxiyi<x,y>=x^Ty=\sum_{i=1}^nx_iy_i 采用符号xTyx^Ty代替<x,y><x,y>。向量x∈Rnx\in R^n的Euclid范数,或l2l_2-范数,定义为 ∥x∥2=(xTx)12=(x21+⋯+x2n)12\|x\|_2=原创 2018-02-27 20:38:26 · 702 阅读 · 1 评论 -
LaTex字体、符号汇总
LaTex字体、符号汇总1字体表\begin{array}{ll|l} \texttt{"normal"} &\texttt{} & ABCDEFGHIJKLMNOPQRSTUVWXYZ\\ \texttt{"blackboard"} &\texttt{\mathbb} &\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\原创 2018-01-10 12:10:48 · 69285 阅读 · 3 评论 -
0x0a算法设计与分析复习(三):求解困难问题
参考书籍:算法设计与分析——C++语言描述(第二版)求解困难问题求解困难问题NP完全问题不确定算法和不确定机不确定算法的抽象机模型不确定算法时间复杂度P类和NP类问题NP难度和NP完全问题Cook定理一些典型的NP完全问题小结随机算法基本概念近似算法基本概念绝对性能保证相对性能保证近似方案密码算法NP完全问题多项式时间算法: 对规模为n的输入,它们在最坏情况下的原创 2018-01-10 10:53:27 · 750 阅读 · 0 评论 -
0x09算法设计与分析复习(二):算法设计策略-分枝限界法3
参考书籍:算法设计与分析——C++语言描述(第二版)算法设计策略-分枝限界法批处理作业调度问题描述设有n个作业的集合{0,1,⋯,n−1}\{0,1,\cdots,n-1\},每个作业有两个项任务要求依次在两台设备P1P_1和P2P_2上完成,aia_i和bib_i分别表示作业i在设备P1P_1和P2P_2上的处理时间。批处理作业调度问题是求使得所有作业的完成时间之和FT(S)=∑n−1i=0fi原创 2018-01-10 10:52:19 · 266 阅读 · 0 评论 -
0x05算法设计与分析复习(二):算法设计策略-分治法1
参考书籍:算法设计与分析——C++语言描述(第二版)算法设计策略-分治法分治法分治法的基本思想分治法就是分而治之,一个问题能够用分治法求解的要素是:第一,问题能够按照某种方法分解成若干个规模较小,相互独立且与原问题类型相同的子问题;第二,子问题足够小时可以直接求解;第三,能够将子问题的解组合成原问题的解。由于分治法要求分解成同类子问题,并允许不断分解,使问题...原创 2018-01-08 20:34:44 · 417 阅读 · 0 评论 -
0x05算法设计与分析复习(二):算法设计策略-分治法2
参考书籍:算法设计与分析——C++语言描述(第二版)算法设计策略-分治法二分搜索问题描述在有序表(已按关键字值非减排序)中搜索给定元素的问题。分治法求解设有一个长度为n的有序表(a0,a1,⋯,an−1)(a_0,a_1,\cdots,a_{n-1}),要求在表中搜索与给定元素x有相同关键字值的元素。若n=0n=0,则显然搜索失败;若n>0n>0,则可将有原创 2018-01-08 20:35:28 · 538 阅读 · 0 评论 -
0x05算法设计与分析复习(二):算法设计策略-分治法3
参考书籍:算法设计与分析——C++语言描述(第二版)算法设计策略-分治法排序问题问题描述排序是将一个元素序列调整为按指定关键字值的递增(或递减)次序排列的有序序列。 分治法求解分治法求解排序问题思想:按某种方式将序列分成两个或多个子序列,分别进行排序,再将已排序的子序列合并成一个有序序列。合并排序和快速排序是两种典型的符合分治策略的排序算法。...原创 2018-01-08 20:36:14 · 306 阅读 · 0 评论 -
0x05算法设计与分析复习(二):算法设计策略-分治法4
参考书籍:算法设计与分析——C++语言描述(第二版)算法设计策略-分治法选择问题问题描述选择问题(select problem)是指在n个元素的集合中,选出某个元素值大小在集合中处于第k位的元素,即所谓的求第k小元素问题(Kth-smallest)。分治法求解如果使用快速排序中所采用的选取主元的分划方法,以主元为基准,将一个表划分为左右两个子表。设原表的长原创 2018-01-08 20:36:53 · 688 阅读 · 0 评论 -
0x01TCPIP网络编程基础
TCP/IP网络编程基础由源端建立一条连接到目的端,需要的信息包括:源IP、源端口、目的IP和目的端口共四个参数,这四个参数又称为套接字对(socket pair),它标识了通过TCP/IP协议通信的双方。客户端/服务器编程模型客户端是指运行于本地主机上的一个程序,该程序请求服务器程序提供某种服务。客户端程序使用远端主机的IP地址和对应的众所周知的端口号与远端主机上的服务器程序进行通信,这一过程称为原创 2018-04-10 15:39:55 · 463 阅读 · 0 评论 -
0x04基础套接字-TCP时间服务器
TCP时间服务器1. 流式套接字客户端/服务器编程拟实现一个基本的流式套接字客户端/服务器通信程序。在该程序中,客户端和服务器将按照如下步骤交互:客户端向服务器发出日期时间请求字符串,如:%D %Y %A %T 等。服务器从网络接收到日期请求字符串后,根据字符串格式生成对应的日期时间值返回给客户端。服务器端程序/*****************************************原创 2018-04-10 15:44:54 · 302 阅读 · 0 评论 -
0x01数据结构——C语言实现(二叉查找树)
0x01数据结构——C语言实现(二叉查找树)二叉查找树是一种特殊的二叉树,使二叉树成为二叉查找树的性质是:对于树中的每一个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。这意味着,该树所有的元素可以用某种统一的方式排序。二叉查找树的C语言实现:b_search_tree.h#ifndef B_SEARCH_TREE_H#def...原创 2018-07-01 14:55:33 · 367 阅读 · 0 评论 -
0x01数据结构——C语言实现(二叉树)
0x01数据结构——C语言实现(二叉树)二叉树(binary tree)是一棵树,其中每个节点都不能有多于两个的儿子。二叉树的一个性质是平均二叉树的深度要比N小得多,这个性质有时很重要。分析表明,这个平均深度为O(N−−√)O(N)O(\sqrt{N}),而对于特殊类型的二叉树,即二叉查找树(binary search tree),其深度的平均值是O(logN)O(logN)O(\log...原创 2018-07-01 14:38:41 · 254 阅读 · 0 评论 -
0x01数据结构——C语言实现(树)
0x01数据结构——C语言实现(树)树(tree): 一棵树是一些节点的集合。这个集合可以是空集;若非空,则一棵树由称为根(root)的节点r以及0个或多个非空的(子)树T1T1T_1,T2T2T_2,…,TkTkT_k组成,这些子树种每一颗的根都被来自根r的一条有向边(edge)所连接。每一棵子树的根叫做根r的儿子(child),而r是每一棵子树的根的父亲(parent)。从节点n1n...原创 2018-07-01 14:37:51 · 614 阅读 · 0 评论 -
图解HTTP_3
HTTP首部HTTP请求报文首部请求行请求首部字段通用首部字段实体首部字段其他HTTP响应报文首部状态行响应首部字段通用首部字段实体首部字段其他HTTP首部字段结构HTTP首部字段是由首部字段名和字段值构成的,中间用冒号”:”分隔。首部字段名:字段值4中HTTP首部字段类型 HTTP首部字段根据实际用途被分为以下4种类型: 通用首部字段(General Header原创 2018-04-27 20:13:30 · 203 阅读 · 0 评论 -
图解HTTP_2
HTTP报文内的HTTP信息HTTP报文本身是由多行(用CR+LF作换行符)数据构成的字符串文本。HTTP报文大致可以分为报文首部和报文主体两块。两者由最初的空行(CR+LF)来划分。通常,并不一定要有报文主体。 请求报文首部由:请求行,请求首部字段,通用首部字段,实体首部字段和其他组成。响应报文首部由:状态行,响应首部字段,通用首部字段,实体首部字段和其他组成。请求行 包含用于请求的方原创 2018-04-27 20:12:54 · 232 阅读 · 0 评论 -
图解HTTP_1
字节流服务:所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并返回。下面是从客户端发送给某个HTTP服务器端的请求报文中的内容GET /index.htm HTTP/1.1Host: hackr.jp起始行开头的GET表示请求访问服务器的类原创 2018-04-27 20:12:15 · 245 阅读 · 0 评论 -
0x00数据结构——C语言实现(队列)
0x00数据结构——C语言实现(队列)实现/*使用队列时,插入在一端进行而删除在另一端进行队列的基本操作是入队(enqueue),它是在表的末端(队尾(rear))插入一个元素,还有出队(dequeue),它是删除(或返回)在表的开头(队头(front))的元素。 dequeue(Q) enqueue(Q,X) ...原创 2018-04-25 16:39:54 · 1034 阅读 · 0 评论 -
0x00数据结构——C语言实现(栈+后缀表达式计算)
0x00数据结构——C语言实现(栈)栈的实现/* 栈(tack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top)。 对栈的基本操作有Push(进栈)和Pop(出栈)。 Functions: (在链表中增加附加头结点的版本) 创建一个空栈 将栈置为空 计算栈长度 返回栈的地址 栈push操作函数 栈...原创 2018-04-25 14:08:33 · 1733 阅读 · 0 评论 -
0x00数据结构——C语言实现(多项式)
0x00数据结构——C语言实现(多项式)/*filename:polynomial*/#ifndef POLYNOMIAL#define POLYNOMIAL//一元多项式的表示//Pn(x)=p0 + p1*x + p2*x^2 + ... + pn*x^n/*基本操作: 创建一个有m项系数和指数的一元多项式p 销毁一元多项式p 打印输出 ...原创 2018-04-24 16:29:33 · 2117 阅读 · 0 评论 -
0x00数据结构——C语言实现(双向循环链表)
0x00数据结构——C语言实现(双向循环链表)/* 循环双链表 Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 返回附加头结点的地址 搜索函数:找x在表中的位置,返回表项位置 定位函数:返回第i个表项在表中的位置 取第i个表项的值 用x修改第i个表项的内容 ...原创 2018-04-23 21:18:47 · 244 阅读 · 0 评论 -
0x04基础套接字
套接字基本概念创建套接字套接字在Linux系统中表现位文件描述符,形式上由一个int类型定义的整数表示,套接字的创建通过下面的Linux系统调用函数实现:#include <sys/types.h>#include <sys/socket.h>//头文件sys/type.h对于某些C的宏是必须的;sys/socket.h对于定义socket函数是必须的int socket(int domain原创 2018-04-10 15:44:04 · 1537 阅读 · 0 评论 -
0x00数据结构——C语言实现(双链表)
0x00数据结构——C语言实现(双链表)/*filename:double_linked_list.h*//* 双链表(double linked list) Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 返回附加头结点的地址 搜索函数:找x在表中的位置,返回表项位置 定位函数...原创 2018-04-23 21:12:47 · 257 阅读 · 0 评论 -
0x00数据结构——C语言实现(单链表)
0x00数据结构——C语言实现(单链表)/*filename:singly_linked_list.h*//* 单链表(singly linked list)是一种最简单的链表表示,也叫做线性链表。 用它来表示线性表时,用指针表示结点间的逻辑关系。 Functions: (在链表中增加附加头结点的版本) 创建一个空线性表 将链表置为空表 计算表长度 ...原创 2018-04-23 21:09:23 · 364 阅读 · 0 评论 -
0x04基础套接字-回射客户服务器
回射客户/服务器 1. 客户端从标准输入获取一行数据,然后发送到服务器; 2. 服务器收到信息后,不处理消息内容,直接将消息内容原封不动地发送给客户端; 3. 客户端收到后,在标准输出上打印出来。TCP回射客户/服务器程序服务器端/************************************************************************* >原创 2018-04-10 15:45:50 · 237 阅读 · 0 评论 -
0x00数据结构——C语言实现(单向循环链表)
0x00数据结构——C语言实现(单向循环链表)/*filename:circular_list.h*//* 循环链表(circular list)是另一种形式的表示线性表的链表,与单链表不同的是, 表尾结点的link域中不是NULL而是存放指向链表开始结点的指针。 Functions: 创建一个空线性表 计算表长度 返回附加头结点的地址 搜索函数:...原创 2018-04-23 21:16:54 · 381 阅读 · 0 评论