上周末学习了<A Tour of PostgreSQL Internals>的第一部分(View 1),今天我们继续打开书本,继续View 2 部分. View 2 Postgresql的系统表和数据类型 和其他大多数DBMS相比,postgresql在更大程度上使用了" 数据驱动 ". 为什么这么说呢? 按照Tom Lane的解释,原因如下: postgresql使用一套系统表描述数据库表,表中的每一列,每个索引等等: 除此以外,postgresql同样使用系统表存储数据…
中秋节假期这么快就没了,这几天还一直下雨,索性在家看看书.这次看的是Tom Lane的<A Tour of PostgreSQL Internals>.这篇小随笔就算做学习笔记了.园子里面大神多,如果有哪里讲得不对,还请各位前辈多多指教了~ 在这个ppt里面,大神Tom Lane分别从三个角度对Postgresql的内部原理进行了介绍. View 1 Postgresql进程以及内部进程间的通信 这部分比较简短,主要介绍了客户端/服务器间通信,服务器内部的通信. 1. 客户端/服务器间通信 一…
       终于要迎来postgresql的<A Tour of PostgreSQL Internals>系列的最后一篇了.学习是不能拖延的事儿,越拖延事情越多.不废话,一起来看看吧~ View 3 Postgresql的查询处理        还是先上图吧.下面这张图从整体上概括了Postgresql的查询处理的步骤以及牵涉到的各个模块.        其中最重要的关键的两个数据结构是查询分析树(parse tree),和查询计划树(plan tree).        对上图所标示的四…
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型     Mysql数据类型             含义(有符号)     tinyint(m) 一个字节 范围(-128~127)     smallint(m) 两个字节 范围(-32768~32767)     mediumint(m) 三个字节 范围(-8388608~8388607)     int(m) 四个字节 范围(-2147483648~2147483647)     bi…
原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与varchar char与varchar的类型相似,但是他们的保存方式和检索方式不同... char的存储结构是固定长度的存储...即指定了几个字节,那么就占用几个字节,如char(4),那么无论存入的是什么字串,那么都占用四个字节...char的 可表示长度范围为0-255的任何值,当保存的字节不…
javaSE学习笔记(1) 数据类型和运算符 1.注释可以提高程序的可读性.可划分为 单行注释 // 多行注释 /.../ 文档注释 /**...*/ 2.标识符的命名规则: 标识符必须以字母.下划线_.美元符号$开头. 标识符其它部分可以是字母.下划线"_".美元符"$"和数字的任意组合. Java 标识符大小写敏感,且长度无限制. 标识符不可以是Java的关键字. 3.标识符的命名规范: 表示类名的标识符:每个单词的首字母大写,如Man, GoodMan 表示方…
在上一章节Spring学习笔记1——IOC: 尽量使用注解以及java代码中,已经搭建了项目的整体框架,介绍了IOC以及mybatis.第二节主要介绍SpringMVC中的表单数据验证以及文件上传. 一.表单数据验证 用户注册时,需要填写账号.密码.邮箱以及手机号,均为必填项,并且需要符合一定的格式.比如账号需要32位以内,邮箱必须符合邮箱格式,手机号必须为11位号码等.可以采用在注册时验证信息,或者专门写一个工具类用来验证:来看下在SpringMVC中如何通过简单的注释实现表单数据验证. 在j…
https://my.oschina.net/cokolin/blog/526911 摘要: 本文首发于 blog.csdn.net/vipshop_ebs/article/details/39472873 作者为本人,只是该博客暂停维护转到 OSC 了. 本文主要讲 AngularJS 的表单验证,Demo页面我使用 Bootstrap3.2.0 作为前端显示框架,同时引入了jQuery1.11.1,AngularJS 为刚刚新发布的1.2.25. 在新的项目中巧妙地接触到了Google提供的…
在Bootstrap学习笔记(一) 排版的基础上继续学习Bootstrap的表单,编辑器及head内代码不变. 3-1 基础表单 单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等. 在Bootstrap框架中,通过定制了一个类名`form-control`,也就是说,如果这几个元素使用了类名“form-control”,将会实现一些设计上的定制效果. 1.宽度变成了100% 2.设置了一个浅灰色(#ccc)的边框 3.具有4px的圆角 4.设置阴影效果,并且元素…
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/学习. 在学习数据类型和变量时,发现自己在编码中,对比较运算符,忽略了很重要的一点. 当我们对Number作比较时,可以通过比较运算符得到一个布尔值,这是我们预期的结果: 2 > 5; // false 5 >= 2; // true 7 == 7; // true 实际上,JavaScript允…
前言 在上一章vue学习笔记(四)事件处理器这一篇博客的内容中,我们已经了解vue是如何绑定事件的,而本篇博客主要讲解的是vue中表单输入的绑定,通常我们自己提交信息的时候都是通过表单将信息到服务器的,例如登陆.注册等等.但是直接提交的话可能存在恶意的行为,尽管服务器那边对我们提交的信息进行处理,但是无形之中还是会增加服务器的压力,为了减少服务器的压力,vue也提供了一系列简便的方法供我们使用,允许我们在提交信息的时候进行处理,确保数据的准确性,这样就可以大大的减少服务器的压力,那么一起来看看v…
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: <hive学习笔记>系列导航 基本数据类型 复杂数据类型 内部表和外部表 分区表 分桶 HiveQL基础 内置函数 Sqoop 基础UDF 用户自定义聚合函数(UDAF) UDTF 关于hive学习笔记系列 <hive学习笔记>系列保持了作者一贯的风格,即通过实战学习和了解: 作…
参考资料: 1. <Windows Internals> 2. Dependency Walker 3. Ntoskrnl.exe 4. Livekd的使用 5. WinDbg的使用(一) 6. WinDbg的使用(二) Now, let's delve into the internal structure & the role each key OS component plays at the high-level achitecture. ^-^ 知识点: ● 先上图,下图是w…
参考资料: 1. <Windows Internals> 2. http://bestcbooks.com 3. Windows Drive Kit 4. Microsoft Windows SDK 5. WDK下载地址 6. Windows内核模式和用户模式 知识点: 1. 用户模式下的四种基本进程类型: ● Fixed (or hardwired) system support processes, Such as the logon process & the session m…
参考资料: 1. <Windows Internals> 知识点: ● 当一个进…
参考资料: 1. <Windows Internals> 2. Fibers 知识点: ● 当一个进程在系统上启动时,内核将创建一个进程对象来代表它,并执行各种内核相关的初始化任务.然而,这些任务不会真正执行应用,而只是进行上下文和环境的准备工作.应用程序不像驱动(内核模式),它执行在用户模式下.因此,大部分初始化工作实际上都是在内核外完成的,且该工作是由Image Loader(Ldr)执行的. ● Image Loader存在于用户模式下的系统DLL Ntdll.dll中,而不在内核库中.…
参考资料: 1. <Windows Internals> 知识点: ● 陷阱trap:它是一种处理器机制,用以在某一异常或中断出现时,捕捉该执行线程,并将其控制权转交到操作系统中某一固定位置.在Windows中,处理器将控制权转交到一个trap handler(一个针对特定中断或异常的函数). ● 一个中断是一个异步的事件,它与正执行的处理器无关.主要由I/O设备.处理器和时钟触发,且可以打开或关闭. ● 一个异常属于一种同步的情况,通常是由于执行某一特殊执行而触发的. ● 内核将系统服务调用…
参考资料: 1. <Windows Internals> 2. Windows Drive Kit 3. Microsoft Windows SDK 4. WDK下载地址 知识点: 1. Windows Drive Kit(WDK)是微软提供的用于Windows平台的设备驱动软件开发工具集.它包括:文档.实例.Build环境和为驱动开发人员提供的开发工具.早期,它以Windows Driver Development Kit(DDK)闻名,支持Windows Driver Model(WDM)…
PostgreSQL实现了SQL Standard2011的大部分内容,SQL处理是数据库中非常复杂的一部分内容. 本文简要介绍了SQL处理的相关内容. 简要介绍 SQL文的处理分为以下几个部分: Parser阶段(词法分析,语法解析) 对应于source中的parser模块 analyzer阶段(语义分析) 对应于source中的analyzer模块 内部处理中将Parser阶段生成的Parser tree转换为Query tree rewriter阶段(查询重写) 安装规则系统进行查询重写,…
mysql 从最基础的数据引擎,到进程结构,都不能支持数据版本.导致其职能阻塞“并发”,不支持最基本的事务,innodb达不到基本事务要求,任何写数据,都导致整个表锁住.充其量只能算是一个玩具,或者说和一个key->value 数据存储没有什么区别, 根本算不上是数据库(RDBMS)mysql 无法支持任何的OLTP和OLAP. 只能作为CRUD的基本数据存储,发布到静态.目前所有的mysql运用都只能达到这个层面.oracle, 在数据库的所有方面都是行业标杆,一直被模仿,从未被超越.但是,价…
参考资料: 1. <Windows Internals> 2. 自旋锁spinlock剖析与改进 3. Lock指令前缀 4. Lock指令前缀(二) 5. Kernel Dispatcher Objects 6. Windows同步机制原理 知识点: ● Interlocked Operations:最简单的同步机制,基于硬件对安全多处理器整数操作的支持,包括:InterlockedIncrement.interlockedDecrement.InterlockedExchange和Inte…
2.1.什么是系统模块 Node 运行环境提供的API,因为这些API都是以模块化的方式进行开发的,所有我们又称Node运行环境提供的API为系统模块 3.1系统模块fs文件操作 //f :file 文件 , s :system 系统,文件操作系统. const fs = require('fs'); //读取文件内容 fs.readFile('文件路径/文件名称'[,'文件编码'],callback); 2.2.系统模块fs 文件操作 读取文件语法实例 //读取上一级css目录下中的base.…
Index Scan涉及到两部分的内容Heap Only Tuple和index-only-scan. 什么是Heap Only Tuple(HOT)? 例如:Update a Row Without HOT testdb=# \d tbl Table "public.tbl" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- id | i…
mysql 从最基础的数据引擎,到进程结构,都不能支持数据版本.导致其职能阻塞“并发”,不支持最基本的事务,innodb达不到基本事务要求,任何写数据,都导致整个表锁住.充其量只能算是一个玩具,或者说和一个key->value 数据存储没有什么区别, 根本算不上是数据库(RDBMS)mysql 无法支持任何的OLTP和OLAP. 只能作为CRUD的基本数据存储,发布到静态.目前所有的mysql运用都只能达到这个层面.oracle, 在数据库的所有方面都是行业标杆,一直被模仿,从未被超越.但是,价…
参考资料: 1. 下载地址 2. 使用示例…
硬盘分区 常识 主分区:最多只能有4个 扩展分区:用于突破主分区最多4个的限制 *最多只能有1个 *主分区+扩展分区最多有4个 *不能写入数据,只能包含逻辑分区 逻辑分区 格式化:实际是写入文件系统,文件系统有: Window: FAT16:最大支持2G分区 FAT32:单文件不超过4G,支持16TB分区 NTFS:可以支持超过4G单个文件 linux: EXT2.EXT3.EXT4等 格式化完后,默认数据块(block)大小为4kB Linux正统的文件系统(如ext2.ext3)一个文件由目…
3.1为什么要进行路径拼接 不同操作系统的路径分隔符不统一 /public/uploads/avatar window 上是 \ / 都可以 Linux 上是 / 3.2路径拼接语法 path.join('路径','路径',...) //导入path模块 const path = require('path'); //路径拼接 let finialPath = path.join('cast','a','b','c.css'); //输出结果cast\a\b\c.css console.log(…
和简单数据类型对应就是复杂数据类型了,XML元素的数据类型可以是简单数据类型,也可以是复杂数据类型,而XML属性的数据类型就只能是简单数据类型.这篇笔记,就来学习一下XSD中的复杂数据类型了. 1.定义复杂数据类型 (1)和<simpleType>元素用来定义简单数据类型相对应,可以使用<complexType>元素来定义复杂数据类型.其语法为: <complexType id=ID name=NCName abstract=true|false mixed=true|fal…
对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务.Symfony2集成了一个Form组件,让处理表单变的容易起来.在这一节里,我们将从基础开始创建一个复杂的表单,学习表单类库中最重要的内容. Symfony2 的Form组件是一个独立的类库,你可以在Symfony2项目之外使用它. 创建一个简单的表单:假设你要创建一个应用程序的todo列表,需要显示一些任务.因为你的用户需要编辑和创建任务,所以你需要创建一个表单.在你开始之前,首先来看通用的Task类,用来表示和存储一个单…
本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就是员工表中的外键:因为…