Unicode 笔记

自己关于 Unicode 的笔记整理,主要总结自「肖国栋的i自留地」系列博客

March 11, 2018 · Zi WANG

什么是 Unix

关于内核 当计算机启动时,计算机要经历一系列动作,这些动作构成了引导过程。引导过程的最后一个动作是启动一个非常复杂的程序,该程序就被称为内核(Kernel)。 内核的作用是控制计算机,提供基础服务,是操作系统的核心。 内核有许多种类型,但基本可以分为两大类: 单内核:一个庞大的程序自身可以完成所有的事 微内核:一个非常小的程序只执行最基本的任务,其余通过调用其他程序(称为服务器(server))实现 内核的使用: 大多数 Unix 系统使用的是某种类型的单内核,一些 Unix (例如 OS X,Minix)使用微内核。 Linux 是单内核。 补:Linus 阅读了 Andrew Tanenbaum 的《Operating System: Design and Implementation》,该书解释了 Minix 的设计原则。Linus 选择使用单内核设计 Linux,而 Andrew Tanenbaum 设计的 Minix 使用的是微内核。在 Linux 开始引起注意后不久,Tanenbaum 公开批判这种设计决策。直到今天,Tanenbaum 仍然在批评这种单内核设计。 关于 Unix Unix = Unix 内核 + Unix 实用工具 Unix 过去是属于 AT&T 的商标(必须为大写 UNIX,以下的全大写均指 AT&T 公司的 Unix) 现在可以理解为指代任何 “类Unix” 系统 关于 “类Unix” 的两种理解: 如果操作系统既包含一个 Unix 内核以及一些 Unix 实用工具,又可以运行能够在其他 Unix 操作系统上运行的程序,那么它就是 Unix 系统 如果理解 Unix 的人说这个系统是 Unix,那么它就是 Unix Unix 的历史 20世纪70年代的 Unix:由贝尔实验室转向 Berkeley...

February 3, 2018 · Zi WANG

vim 常用操作笔记

跳转最后一行 :$ 或 shift+g 跳转第一行 :1 或 gg 设置自动换行 :set wrap 设置不自动换行 :set nowrap

December 7, 2017 · Zi WANG

《图解HTTP》笔记——Web 基础

Web 基础 三项构建技术: HTML:页面的文本标记语言 HTTP:文档传输协议 URL:指定文档所在地址 一些概念 HTTP(HyperText Transfer Protocol):通常被译为“超文本传输协议”,但严谨应译为“超文本转移协议” 传输(transport):从端到端可靠地搬运比特,属于 TCP/IP 中传输层(transport layer)协议处理的事 转移(transfer):在客户端-服务器之间转移一些带有操作语义的原语,来执行某些操作,属于TCP/IP中应用层的事务。 HTTP 版本 HTTP/0.9:并没有作为正式标准被建立 HTTP/1.0:公布于 1996 年 5 月,记录于 RFC1945 HTTP/1.1:公布于 1997 年 1 月,最初标准为 RFC 2068,后来发布修订版 RFC2616,目前主流被使用的版本 HTTP/2.0 TCP/IP 协议族 应用层 (FTP、DNS、HTTP…) 传输层 用于提供处于网络连接中的两台计算机之间的数据传输(TCP、UDP) 网络层 用来处理在网络上流动的数据包(IP) 数据链路层 用来处理连接网络的硬件部分 HTTP over TCP/IP 通信传输图解:...

December 3, 2017 · Zi WANG

PostgreSQL 满足条件时插入数据

例如:当表中不存在某记录时,才插入这条记录。 INSERT INTO 表名(列名1, 列名2) SELECT '值1', '值2' WHERE NOT EXISTS ( SELECT * FROM 表名 WHERE 列名1 = '值1', 列名2 = '值2' ); 参考 PostgreSQL: Documentation: 10: INSERT This example inserts some rows into table films from a table tmp_films with the same column layout as films: INSERT INTO films SELECT * FROM tmp_films WHERE date_prod < '2004-05-07'; database - Conditional INSERT INTO statement in postgres - Stack Overflow...

November 23, 2017 · Zi WANG

【Redis 笔记】常用命令

编号 命令 描述 1 DEL key 此命令删除一个指定键(如果存在)。 2 DUMP key 此命令返回存储在指定键的值的序列化版本。 3 EXISTS key 此命令检查键是否存在。 4 EXPIRE key seconds 设置键在指定时间秒数之后到期/过期。 5 EXPIREAT key timestamp 设置在指定时间戳之后键到期/过期。这里的时间是Unix时间戳格式。 6 PEXPIRE key milliseconds 设置键的到期时间(以毫秒为单位)。 7 PEXPIREAT key milliseconds-timestamp 以Unix时间戳形式来设置键的到期时间(以毫秒为单位)。 8 KEYS pattern 查找与指定模式匹配的所有键。 9 MOVE key db 将键移动到另一个数据库。 10 PERSIST key 删除指定键的过期时间,得永生。 11 PTTL key 获取键的剩余到期时间(以毫秒为单位)。 12 RANDOMKEY 从Redis返回一个随机的键。 13 RENAME key newkey 更改键的名称。 14 RENAMENX key newkey 如果新键不存在,重命名键。 15 TYPE key 返回存储在键中的值的数据类型。

November 21, 2017 · Zi WANG

【Redis 笔记】数据类型

REmote DIctionary Server(Redis),一个 key-value 存储系统。 数据类型 Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 string string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如 jpg 图片或者序列化的对象。 string 类型是 Redis 最基本的数据类型,一个键最大能存储 512MB。 相关命令:set, get 127.0.0.1:6379> set str1 hello OK 127.0.0.1:6379> get str1 "hello" hash hash 是键值对的集合。 每个 hash 可以存储 2^32 - 1 个(超过 40 亿个)键值对。 相关命令:hmset, hmget, hgetall 127.0.0.1:6379> hmset hashmap1 name hiwangzi blog hiwangzi.com OK 127.0.0.1:6379> hmget hashmap1 name 1) "hiwangzi" 127....

November 21, 2017 · Zi WANG

命令行计算 RSA, Base64, Hash

OpenSSL 是个好工具 👍

November 20, 2017 · Zi WANG