10 2018 档案
摘要:"一个知乎账号, 分析了很多的数学问题: https://www.zhihu.com/people/matongxue/activities" "关于三阶样条的解析: https://blog.csdn.net/flyingleo1981/article/details/53008931" "牛人博
阅读全文
摘要:+ 如果x轴上的点不是按照升序排列的, 那么应该让其按照升序排序, 否则画出来的图是错误的,还会非常的混乱
阅读全文
摘要:在WndProc函数中 + 最好不要出现WM\_SYSCOMMAND消息, 如果有了这个消息, 可能我们对创建出来的窗口就什么都管不了了, 因为我们阻碍了DefWndProc函数去处理它 + 不在.rc文件中添加弹出式菜单, 而是在程序中动态的生成弹出式菜单, 那么在AppendMenu或者Inse
阅读全文
摘要:JavaScript快速入门 + 唯一判断是否为NaN的方式就是isNaN(obj) + 整数和浮点类型都是数字类型 + 比较表达式不建议使用==, 而是使用=== + null和undefined, 其实两者没有什么大的区别, 大多数我们使用null, 表示空值, 不同于java中的null, '
阅读全文
摘要:python 在windows下监听键盘按键 使用到的库 + ctypes(通过ctypes来调用Win32API, 主要就是调用钩子函数) 使用的Win32API + SetWindowsHookEx(), 将用户定义的钩子函数添加到钩子链中, 也就是我们的注册钩子函数 + UnhookWindo
阅读全文
摘要:探索eleme用到的库 xml re库 + 通过regex = re.compile(pattern)返回一个pattern对象, 通过该对象匹配正则表达式的字符串, 最好在模式中使用r'some'原始字符串 + regex有很多的方法, 最常用的就是findall(), 因为这个方法返回的是一个字
阅读全文
摘要:登录 + lftp username:password@ip:port 设置字符集 + set ftp:charset 'gbk' + set ftp:charset 'utf 8' 下载文件 + mget .txt + get test.txt + mirror dir 上传文件 + put +
阅读全文
摘要:JMeter(主要用于发包, Fiddler虽然也可以但是发包的功能没有它强) + 需要安装Java8+版本 + 在bin目录下双击jmeter.bat即可运行 + 在运行之前建议处理编码问题, 在jmeter.properties文件中, 找到ISO, 修改编码为utf 8 JMeter 使用 +
阅读全文
摘要:Cookie的作用 + 主要作用就是为了用户认证 + 保留用户的一些其他信息 + 注意: SESSIONID就可能是Cookie中的一个字段的值 Cookie的种类 + 会话Cookie: 只是临时的cookie, 当用户关闭了浏览器的时候该cookie就会从浏览器的内存中移除掉 + 持久Cooki
阅读全文
摘要:打开fiddler script editor + 在fiddler中Rules Customize Rules打开 + 在editor中点击open, 打开CustomRules.js文件, 对其进行编辑即可 修改CustomRules.js文件 函数调用的几个阶段 + OnBeforeReque
阅读全文
摘要:如何判断缓存新鲜度 + If Modified Since告诉服务器, 在服务器中的响应报文中有一个Last Modified字段, 如果两者一直则表示在浏览器中缓存的文件是最新的, 可以直接使用浏览器缓存中的副本 + If None Match字段告诉服务器, 它的值为ETag的id号, 如果服务
阅读全文
摘要:+ Accept: 客户端支持的文件类型, 如果为 / 表示任何类型 + Accept Encoding: 客户端浏览器支持的文件压缩格式 + Accept Language: 客户端支持的语言 + User Agent: 客户端告诉服务器的浏览器的信息 + Referer: 让服务器判断当前正在访
阅读全文
摘要:http method + HEAD: 只返回相应的header + POST: 一般用于提交表单 + PUT: 向Web服务器上传文件 + GET: 查 + DELET: 删除 status code + 1xx与2xx: 返回提示信息 + 3xx: 重定向 + 4xx: 客户端错误 + 5xx:
阅读全文
摘要:python 在windows下监听键盘按键 使用到的库 + ctypes(通过ctypes来调用Win32API, 主要就是调用钩子函数) 使用的Win32API + SetWindowsHookEx(), 将用户定义的钩子函数添加到钩子链中, 也就是我们的注册钩子函数 + UnhookWindo
阅读全文
摘要:XSS(Cross Site Scripting) + Hacker PC upload XSS script to Web Server User PC Request for this Web Server Web Server response to the User PC with XSS
阅读全文
摘要:matlab中的向量与矩阵 + 如果定义一个A = [1, 2, 3]; + 则A为一个行向量 + 但是A(:)返回的是一个列向量 关于函数的返回值 + 在function [a, b, c] = fit_quadratic(x, y)中 + 如果我们不适用任何变量来接受这个返回值, 则默认返回a
阅读全文
摘要:git使用摘记 + git冲突的问题主要是在修改的部分而不是添加的部分, 如果merge的文件在同一个位置有不同的信息则git会报错 + git push origin中的origin表示的是远程的仓库名为origin, 一般我们只有一个远程仓库, 它默认的名称就是origin + git pull
阅读全文
摘要:数字电路逻辑设计摘要 BCD码 + Binary Coded Decimal, 使用二进制码(4位)的形式来表示(一位)十进制 + 有权BCD码: 8421, 2421等 + 无权BCD码: 余3码等 一个逻辑表达式的功能表达方式 + 通过真值表显示 通过真值表我们已经知道了该表达式的逻辑功能, 现
阅读全文
摘要:异常和中断 + 保留现场: + 通过push指令将寄存器中的值都压入到栈中 + 恢复现场: + 通过pop指令将栈中的值赋值给寄存器中 进程间切换 + 保留现场: + 通过创建并初始化一个结构体(struct pt\_regs该结构体中的属性就是用来保存各个寄存器中的数据的), 将该结构体中的所有数
阅读全文
摘要:+ 进程内的切换是在内核空间中的, 如果将这个机制搬运到应用程序中则实现了线程间的切换工作 + 进程间的切换主要涉及到页目录的切换和各个寄存器值的保存和恢复 + 进程间切换需要在一块公共区域内进行, 这个区域就是内核空间( 注意: 作为的在内核空间运行就是指我们当前的堆栈指针指向的是内核的堆栈 )
阅读全文
摘要:/ define SAVE_ALL \ "cld; \n\t" "pushq %rax; \n\t" "pushq %rax; \n\t" "pushq %es, %rax; \n\t" "pushq %rax; \n\t" "pushq" ... 上面的这段汇编代码的宏定义就是在执行中断程序的时候
阅读全文
摘要:+ 下载webmin的rpm包 + yum install webmin rpm + systemctl start webmin 即可
阅读全文
摘要:+ yum groupinstall "Development Tools" + yum install php mysqli php mbstring php mcrypt + yum install mariadb mariadb server + yum install httpd httpd
阅读全文
摘要:1. wget http://hk1.php.net/distributions/php 5.6.31.tar.gz 2. yum groupinstall "Development Tools" 3. yum install zlib openssl perl 4. yum install htt
阅读全文
摘要:初级内存管理单元 关于内存的分页 + 以往的物理页是按照4KB进行分配和管理的, 而在Linux之后流行的就是2MB大小的物理页的分配和管理, 整个物理内存管理单元也是2MB物理页管理的 先获取基本的物理地址空间信息 + 在bootloader程序中, 已经调用了BIOS的int 15h中断将物理内
阅读全文
摘要:初入阿里云 基本设施( "参考博客" ) + ECS (Elastic Compute Service):以虚拟机的方式将一台物理机分成多台云服务器,提供可伸缩的计算服务。 + SLB (Server Load Balance):基于LVS和Tengine实现的4层和7层负载均衡,有动态扩容,ses
阅读全文
摘要:环境 + 32位操作系统 通过结构体的内存字节对齐了解操作系统的内存对齐 + 在32位操作系统中, CPU默认读和写数据是按照4字节的方式 + 在一个结构体中, 在编译的时候, 编译器会根据结构体中的成员变量使其内存对齐, 让他们都是符合让CPU一次读取的数据而不用再读取一次数据, 减少了读取的次数
阅读全文
摘要:系统异常处理 CPU如果调用系统异常处理程序 需要的数据结构 + IDT\_Table: 中断向量表, 在中断向量表中的每一项都是一个中断描述符(中断门或者陷阱门), 一个中断描述符中的几位是段选择符 + GDT或者LDT 处理过程(没有特权变化的情况),在处理中断和异常的时候, 需要 处理程序,
阅读全文
摘要:macOS 使用软件(外加装逼特效) + Backgroud 和 火萤: 动态桌面壁纸 + iTools Pro: macOS 版本的爱思助手 + MEGAsync: 网盘工具 + Microsoft Remote Desktop: 远程连接windows + npm install yddict
阅读全文
摘要:节点之间的通信 + 数据报文的封装(自上而下) + http + tcp + ip + mac(讯框) + 数据报文的源ip和目标ip是不变的(在内网中, 如果考虑到连接到外部网路的时候, 如果有路由器(里面有嵌入式的Linux或者Unix操作系统)的话则就会修改源ip地址, 因为源ip地址时私有地
阅读全文
摘要:符号表 + opcode代码中的操作数都是一个符号表中的索引, 在符号表中存储的是字符串, 方法名, 变量名, 变量值, 让虚拟机通过索引在符号表中获取真正的参数 字母表 + 在我们定义的脚本语言风格中用到的所有不可以再分的符号放到字母表中, 通过字母表中的单个字符组合出各式各样的单词
阅读全文
摘要:模块 + 词法分析器 + 语法分析器 + 代码生成器 操作 + 通过词法分析器将源文件转为Token存储起来 + 通过语法分析器调用词法分析器获取一个Token, 在调用代码生成器生成目标代码, 所有是并行的
阅读全文
摘要:不同 + 编译型语言: + 编译型程序所生成的指令时二进制形式的机器码和操作数, 就是所谓的二进制流, 二进制程序是CPU可以直接识别执行的 + 解释性语言: + 脚本语言的解释器是二进制形式的, 可以被CPU直接识别的, 但是脚本解释器的输入是脚本语言字符串, CPU执行脚本语言解释器, 而脚本语
阅读全文
摘要:分类(脚本语言分类的标准是脚本语言的语法风格) + 基于命令的 类似于汇编语言, 一行代码有操作码和参数组成, 所以不支持循环 + 基于规则 + 面向过程 + 面向对象: + smalltalk是世界上第一个纯正的面向对象语言
阅读全文
摘要:只描述在IA 32e模式下的字符显示 + 首先要有一个字符库(包含这每一个字符的像素信息, 空白的地方时0x00, 一个字符一个8x16的矩阵) + 每一个像素点就是一个int类型4bytes大小的整数, 该整数的每一个字节都有特定的属性用来配置显示出来的字符的样式 + 要想实现, 需要在定义一个二
阅读全文
摘要:功能 + 定义data段和text段 + 重新手动初始化gdt表, idt表, tss表结构 + 初始化页表和页目录 页目录的数据放在一个页表中 + 在页目录中, 其实地址为0x1000, 初始化页目录, 一个页目录占用的页表的剩余数据值使用0来填充, 一个页表的大小分为(2MB, 4MB, 8MB
阅读全文
摘要:Intel架构下 + 凡是在代码中书写的内存地址都是逻辑地址, 也就是采用基地址:偏移量, 我们能够直接看到的也是逻辑地址, 通过左移等操作可以计算出对应的物理地址(在实模式下逻辑地址与物理地址没有中间层所以是可以的, 但是在保护模式则是行不通的, 再说) 实模式下 + 逻辑地址通过左移等操作可以计
阅读全文
摘要:在实模式下开启4GB的物理内存地址寻址(称之为Big Real Mode) + 通过A20快速门(Fast Gate)修改0x90端口的数据, 对其进行置位(类似于打开一个开关), 开启 + 使用CLI汇编指令关闭外部中断 + 使用lgdt加载保护模式需要的系统数据结构 + 置位cr0寄存器的值开启
阅读全文
摘要:定义一个ThreadPool + 在创建了一个ThreadPool中执行一个函数, 直接开启指定要求数量的线程, 接着又一个借口add\_job()方法, 将要执行的函数放到维护的queue中, 而一开始开启的线程就是不断循环从维护的queue获取数据并执行任务即可, 反正queue中存放的就是任务
阅读全文
摘要:类的设计 1. 方法优先的原则, 在\_\_init\_\_方法中创建出需要的属性, 对于基类来说, 只进行默认值得初始化, 0, None等, 对于真正需要使用的子类, \_\_init\_\_方法则是进行我们需要的初始化, 不在基类中进行初始化就与Java中的构造方法不能继承是一样的了, 要在子
阅读全文
摘要:前言: Windows 中直接使用Python真的是心累 + 安装vs 2017(最好是最新版的, 因为python依赖于一些vs提供的包) + 下载最新的python的安装程序 + 安装完毕之后, 不像Linux或者Unix上会自带pip工具, 在windows上什么都没有, 就是有python.
阅读全文
摘要:模块概况 + display + image + event + key + mouse + font 类概况 + Rect: 返回的矩阵区域(图片) + Surface: 可以看做是一个贴图, 它就是来显示的 display(与显示对象Surface有关) + pygame.display.lis
阅读全文
摘要:1. 安装 wheel 模块 2. 打包生成如下目录(build, dist, .egg) 3. whl 文件在 dist 中, 使用 pip 安装即可
阅读全文
摘要:+ 有宏观到微观 + 思考研究的对象的属性和方法 + 规定好对象的属性和方法但是并不实现 + 先写出应用该对象的场景的代码 + 实现方法, 之后就是面向过程的思维了, 如果方法复杂则添加私有方法
阅读全文
摘要:python的单例模式 + 修改\_\_new\_\_(cls)静态方法 python的继承 + python的子类会继承父类公开的方法和魔法方法 + 类属性是属于类的, 所以公开的也会被继承 + 类属性只能被类修改和删除 + 在\_\_init\_\_方法中调用super().\_\_init\_
阅读全文