图的定义
图(Graph)是由顶点的有穷非空集合 ( V(G) ) 和顶点之间边的集合 ( E(G) )
组成,通常表示为: ( G = (V, E) ),其中,( G ) 表示一个图,( V ) 是图 ( G
) 中顶点的集合,( E ) 是图 ( G ) 中边的集合。若 ( V = {v_1, v_2, …, v_n}
),则用 ( |V| ) 表示图 ( G ) 中顶点的个数,也称图 ( G ) 的阶,( E = {(u,
v) | u \in V, v \in V} ),用 ( |E| ) 表示图 ( G ) 中边的条数。
图的基本概念
1. 有向图
有向图的表示
【】
图(a)所示的有向图 ( G_1 ) 可表示为 [ G_1 = (V_1, E_1) ] 其中, [ V_1
= {1, 2, 3} ] [ E_1 = {<1, 2>, <2, 1>, <2, 3>} ]
2、无向图
若E是无向边(简称边)的有限集合时,则图G为无向图。边是顶点的无序对,记为(v,
w)或(w,v),因为(v,w)=(w,v),
...
1.3 Linux 基础
常用基础命令
Bash 快捷键
根目录结构
进程管理
UID 和 GID
权限设置
字节序
输入输出
文件描述符
核心转储
调用约定
环境变量
procfs
参考资料
常用基础命令
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849ls 用来显示目标列表cd [path] 用来切换工作目录pwd 以绝对路径的方式显示用户当前工作目录man [command] 查看Linux中的指令帮助、配置文件帮助和编程帮助等信息apropos [whatever] 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字echo [string] 打印一行文本,参数“-e”可激活转义字符cat [file] 连接文件并打印到标准输出设备上less [file] 允 ...
汇编语言
汇编语言
3.3 X86 汇编基础
3.3.2 寄存器 Registers
3.3.3
内存和寻址模式 Memory and Addressing Modes
3.3.3.1 声明静态数据区域
3.3.3.2 内存寻址
3.3.3.3 操作后缀
3.3.4 指令 Instructions
3.3.4.1 数据移动指令
3.3.4.2 逻辑运算指令
3.3.4.3 流程控制指令
3.3.5 调用约定 Calling
Convention
3.3.5.1 调用者约定 Caller
Rules
3.3.5.2 被调用者约定
Callee Rules
3.4 x64 汇编基础
3.4.1 导语
3.4.2 寄存器 Registers
3.4.3 寻址模式 Addressing
modes
3.4.4 通用指令 Common
instructions
mov 和 lea
指令
算术和位运算
流程控制指令
setx 和
cmovx
函数调用与栈
3.4.5 汇编和 ...
编程开发
未读树
【知识框架】
一、树的基本概念
1、树的定义
树是n(n>=0)个结点的有限集。当n =
0时,称为空树。在任意一棵非空树中应满足:
有且仅有一个特定的称为根的结点。
当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每个集合本身又是一棵树,并且称为根的子树。
显然,树的定义是递归的,即在树的定义中又用到了自身,树是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点:
树的根结点没有前驱,除根结点外的所有结点有且只有一个前驱。
树中所有结点可以有零个或多个后继。 因此n个结点的树中有n-1条边。
2、基本术语
下面结合图示来说明一下树的一些基本术语和概念。
考虑结点K。根A到结点K的唯一路径上的任意结点,称为结点K的祖先。如结点B是结点K的祖先,而结点K是结点B的子孙。路径上最接近结点K的结点E称为K的双亲,而K为结点E的孩子。根A是树中唯一没有双亲的结点。有相同双亲的结点称为兄弟,如结点K和结点L有相同的双亲E,即K和L为兄弟。
树中一个结点的孩子个数称为该结点的度, ...
前言
工欲善其事,必先利其器。我们做代码审计之前选好工具也是十分必要的。下面我给大家介绍两款代码审计中比较好用的工具。
一、审计工具介绍
PHP 代码审计系统— RIPS
功能介绍
RIPS 是一款基于 PHP 开发的针对 PHP 代码安全审计的软件。
另外,它也是一款开源软件,由国外安全研究员 Johannes Dahse
开发,程序只有 450KB,目前能下载到的最新版是0.55。
在写这段文字之前笔者特意读过它的源码,它最大的亮点在于调用了 PHP
内置解析器接口token_get_all ,
并且使用Parser做了语法分析,实现了跨文件的变量及函数追踪,扫描结果中非常直观地展示了漏洞形成及变量传递过程,误报率非常低。
RIPS 能够发现 SQL 注入、XSS
跨站、文件包含、代码执行、文件读取等多种漏洞,支持多种样式的代码高亮。比较有意思的是,它还支持自动生成漏洞利用。
安装方法
下载地址:https://jaist.dl.sourceforge.net/project/rips-scanner/rips-0.55.zip.
解压到任 ...
一、操作系统概述
1.1 操作系统的定义与目标
定义:操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件。
目标:方便性,有效性(提高系统资源的利用率、提高系统的吞吐量),可扩充性,开放性。
1.2 操作系统的基本功能
统一管理计算机资源:处理器资源,IO设备资源,存储器资源,文件资源;实现了对计算机资源的抽象:IO设备管理软件提供读写接口,文件管理软件提供操作文件接;提供了用户与计算机之间的接口:GUI(图形用户界面),命令形式,系统调用形式。
1.3 操作系统的特征
最基本的特征,互为存在条件:并发,共享;
(1)并行:指两个或多个事件可以在同一个时刻发生,多核CPU可以实现并行,一个cpu同一时刻只有一个程序在运行;
(2)并发:指两个或多个事件可以在同一个时间间隔发生,用户看起来是每个程序都在运行,实际上是每个程序都交替执行。
(3)共享性:操作系统的中资源可供多个并发的程序共同使用,这种形式称之为资源共享。
互斥共享:当资源被程序占用时,其它想使用的程序只能等待。同时访问:某种资源并发的被多个程序访问。
虚拟和异步特性前提是具有并发性。
...
本期是本人学习redis的总结,同时更偏底层原理 基础命令语法见官网
redis的持久化模式
redis的key的过期时间
redis的redis.conf配置文件
redis的redis.io官网
redis的redis.io官网
认识NoSQL
redis和mysql都是nosql,但是mysql是关系型数据库,redis是非关系型数据库
NoSQL
SQL
数据结构
非结构化
结构化
数据关联
不关联
关联
查询方式
非SQL
SQL查询
事务特征
BASE
ACID
存储方式
内存
磁盘
扩展性
水平(分布式)
垂直(主从)
使用场景
数据结构不固定,对一致性安全性要求不高,对性能要求高
数据结构固定,对数据安全性一致性有要求
redis特征 键值型:value支持多种不同数据结构,功能丰富
单线程,每个命令具备原子性(redis6.0多线程仅在网络请求处理这方面)
低延迟,速度快(内存中,IO多路复用,良好代码) ...