越过山丘

不要虚掷你的黄金时代,不要去倾听枯燥乏味的东西,不要设法挽留无望的失败,不要把你的生命献给无知、平庸和低俗。

《Unix编程艺术》读书笔记

哲学 Unix哲学一言以蔽之,“KISS”原则——Keep It Simple,Stupid!。 原则 模块原则:使用简洁的接口拼合简单的部件 清晰原则:清晰生于机巧 组合原则:设计时考虑拼接组合 分离原则:策略同机制分离,接口同引擎分离 简洁原则:设计要简洁,复杂度能低则低 吝啬原则:除非却无他法,不要编写庞大的程序 透明性原则:设计要可见,以便审查和调...

2020-读书清单

unix编程艺术 白帽子讲Web安全 黑帽子Python 架构之美 企业应用架构和模式 深入理解nginx golang源码 unix网络编程 卷1 unix网络编程 卷2 unix环境高级编程

《Redis设计与实现》读书笔记

Redis设计与实现学习笔记 一. 简单动态字符串 SDS的定义 free属性的值为0, 表示这个SDS没有分配任何未使用空间 len属性的值为5,表示这个SDS保存了一个五字节长的字符串 buf属性的值是一个char类型的数组,数组的前五个字节分别保存了‘R’、‘e’、‘d’、‘i’、‘s’五个字符,而最后一个字节则保存了空字符串’\0’。 SDS与C字符串的区...

2019-读书清单

Python算法教程 Python设计模式 高性能MySQL redis设计与实现

2018-读书清单

Python源码剖析 Go语言实践 HTTP权威指南

单进程单线程的Redis如何能够高并发

单进程单线程的Redis如何能够高并发 单进程单线程的Redis如何能够高并发 扩展 以下也是你应该知道的几种模型: 1、单进程多线程模型:MySQL、Memcached、Oracle(Windows版本); 2、多进程模型:Oracle(Linux版本); 3、Nginx有两类进程,一类称为Master进程(相当于管理进程),另一类称为Worker进程(实际工作进程)。启动方式...

Redis网络模型

Redis网络模型 Redis 网络架构及单线程模型 Redis为什么这么快 1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1); 2、数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的; 3、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者...

Python内存管理

Python内存管理 Python内存管理机制 Python有两种共存的内存管理机制: 引用计数和垃圾回收. 引用计数是一种非常高效的内存管理手段, 当一个Python对象被引 用时其引用计数增加1, 当其不再被一个变量引用时则计数减1. 当引用计数等于0时对象被删除. 垃圾回收机制 本节将简单介绍Python的垃圾回收机制. Garbage Collection for Pytho...

Python小知识点

语言特性 Python是静态还是动态类型?是强类型还是弱类型? 动态强类型语言 动态还是静态指的是在编译期还是运行期确定类型 强类型指的是不会发生隐式类型转换 Python作为后端语言优缺点 胶水语言,轮子多,应用广泛 语言灵活,生产力高 性能问题,代码维护,python2/...

《Go语言实战》读书笔记

Go语言实战学习笔记 关于Go语言的介绍 1. 用Go解决现代编程问题 编译器速度非常快,能显著减少等待项目构建的时间 内置并发机制,不用被迫使用特定的线程库就可以让软件扩展,使用更多的资源 类型系统简单且高效,不需要面向对象开发付出额外的心智,让开发者专注于代码复用 自带垃圾回收器,不需要用户自己管理内存 快速开始一个Go程序 学习如何写一个复杂的Go程序...