上一页 1 2 3 4 5 6 7 ··· 23 下一页
摘要: 一、Nginx的请求处理流程进程结构 1、Nginx的请求处理流程 2、Nginx的进程结构 3、进程作用 1、Master进程 1、是进行work进程的监控管理的2、看看work进程是否正常工作需不需要进行热部署、需不需要重新载入配置文件 2、Cache manager 缓存的管理 1、缓存为反向 阅读全文
posted @ 2020-03-05 13:28 活的潇洒80 阅读(1863) 评论(0) 推荐(0) 编辑
摘要: 一、SSL 证书的公信力是如何保证的? 1、证书类型 2、证书链 二、SSL 协议握手时 Nginx 的性能瓶颈在哪里? 1、TLS通讯过程 2、nginx握手性能 3、nginx数据加密性能 4、nginx综合性能 三、用免费 SSL 证书实现一个 HTTPS 站点 1、安装 [root@luoa 阅读全文
posted @ 2020-03-05 13:27 活的潇洒80 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: 一 、Acess 日志演示 1、实现代码 http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$re 阅读全文
posted @ 2020-03-05 13:24 活的潇洒80 阅读(1020) 评论(1) 推荐(0) 编辑
摘要: 本文为学习极客时间《nginx核心知识100讲》的学习笔记 https://time.geekbang.org/course/intro/100020301 一、编译出适合自己的nginx 1、下载nginx [root@nginx ~]# wget http://nginx.org/downloa 阅读全文
posted @ 2020-03-02 15:39 活的潇洒80 阅读(2101) 评论(0) 推荐(0) 编辑
摘要: 一、Pod 这个看似复杂的 API 对象,实际上就是对容器的进一步抽象和封装而已 1、属性字段和吊环 2、操作这些“集装箱”的逻辑 二、kube-controller-manager组件 我在前面介绍 Kubernetes 架构的时候,曾经提到过一个叫作 kube-controller-manage 阅读全文
posted @ 2020-02-24 19:25 活的潇洒80 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 一、特殊的 Volume 这种特殊的 Volume,叫作 Projected Volume,你可以把它翻译为“投射数据卷” 备注:Projected Volume 是 Kubernetes v1.11 之后的新特性 作用 含义 Projected Volume种类 一、Secret 1、作用 2、使 阅读全文
posted @ 2020-02-24 14:46 活的潇洒80 阅读(943) 评论(0) 推荐(0) 编辑
摘要: 一、凡是调度、网络、存储,以及安全相关的属性,基本上是 Pod 级别的。 1、这些属性的共同特征是,它们描述的是“机器”这个整体,而不是里面运行的“程序”。 1、比如,配置这个“机器”的网卡(即:Pod 的网络定义),2、配置这个“机器”的磁盘(即:Pod 的存储定义),3、配置这个“机器”的防火墙 阅读全文
posted @ 2020-02-21 19:08 活的潇洒80 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 一、为什么我们会需要 Pod? 是啊,我们在前面已经花了很多精力去解读 Linux 容器的原理、分析了 Docker 容器的本质,终于,“Namespace 做隔离,Cgroups 做限制,rootfs 做文件系统”这样的“三句箴言”可以朗朗上口了, 1、为什么 Kubernetes 项目又突然搞出 阅读全文
posted @ 2020-02-20 21:04 活的潇洒80 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 一、什么才是 Kubernetes 项目能“认识”的方式呢? 1、这就是使用 Kubernetes 的必备技能:编写配置文件。 备注:这些配置文件可以是 YAML 或者 JSON 格式的。为方便阅读与理解,在后面的讲解中,我会统一使用 YAML 文件来指代它们。 Kubernetes 跟 Docke 阅读全文
posted @ 2020-02-20 13:13 活的潇洒80 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 一、难道 Kubernetes 项目就没有简单的部署方法了吗? 这个问题,在 Kubernetes 社区里一直没有得到足够重视。直到 2017 年,在志愿者的推动下,社区才终于发起了一个独立的部署工具,名叫:kubeadm。 这个项目的目的,就是要让用户能够通过这样两条指令完成一个 Kubernet 阅读全文
posted @ 2020-02-19 21:44 活的潇洒80 阅读(871) 评论(0) 推荐(0) 编辑
摘要: 容器就从一个开发者手里的小工具,一跃成为了云计算领域的绝对主角;而能够定义容器组织和管理规范的“容器编排”技术,则当仁不让地坐上了容器技术领域的“头把交椅”。 一、首先,Kubernetes 项目要解决的问题是什么? 1、全局架构 我们可以看到,Kubernetes 项目的架构,跟它的原型项目 Bo 阅读全文
posted @ 2020-02-19 12:28 活的潇洒80 阅读(1304) 评论(0) 推荐(0) 编辑
摘要: 一、如何理解堆 1、堆是一个完全二叉树 2、大顶堆 对于每个节点的值都大于等于子树中每个节点值的堆 3、小顶堆 对于每个节点的值都小于等于子树中每个节点值的堆 二、如何实现一个堆 1、如何存储一个堆 从图中我们可以看到:1、数组中下标为 i 的节点的左子节点,就是下标为 i∗2 的节点,2、右子节点 阅读全文
posted @ 2019-12-17 18:04 活的潇洒80 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 一、创建增加修改 1、实现代码 输出结果 二、删除(del) 1、实现代码 2、输出结果 1、Dict_DelItem 2、Dict_DelItem_KnownHash 3、PyDict_DelItemIf 二、删除pop(k) 实现 输出结果: 1、_PyDict_Pop 2、_PyDict_Po 阅读全文
posted @ 2019-12-13 20:13 活的潇洒80 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 一、Python map()函数的用法 map(function, iterable) 功能:遍历序列,对序列中每个元素进行操作,最终获取新的序列。 输出结构如下: 应用场景: 1、每个元素增加100 2、两个列表对应元素相加 注意:map()函数不改变原有的 list,而是返回一个新的 list。 阅读全文
posted @ 2019-12-13 17:52 活的潇洒80 阅读(5519) 评论(0) 推荐(0) 编辑
摘要: 本节内容 1、简述 2、加密 3、sha1加密 4、sha256加密 5、sha384加密 6、sha512加密 7、hmac加密 一、简述 我们写程序中,经常需要对字符串进行MD5加密,python中也支持这种加密,下面说说,这个加密模块:hashlib。 二、MD5加密 原则:只要你的输入是固定 阅读全文
posted @ 2019-12-13 16:51 活的潇洒80 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 一、课前问题 上一节我讲了冒泡排序、插入排序、选择排序这三种排序算法,它们的时间复杂度都是O(n ),比较高,适合小规模数据的排序。今天,我讲两种时间复杂度为O(nlogn)的排序算法,归并排序和快速排序。这两种排序算法适合大规模的数据排序,比上一节讲的那三种排序算法要更常用。 归并排序和快速排序都 阅读全文
posted @ 2019-11-19 18:39 活的潇洒80 阅读(601) 评论(1) 推荐(0) 编辑
摘要: 一、课前问题 几乎所有的编程语言都会提供排序函数,比如C语言中qsort(),C++ STL中的sort()、stable_sort(),还有Java语言中的Collections.sort()。在平时的开发中,我们也都是直接使用这些现成的函数来实现业务逻辑中的排序功能。那你知道这些排序函数是如何实 阅读全文
posted @ 2019-11-19 18:29 活的潇洒80 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 一、课前问题 今天我们讲一种针对有序数据集合的查找算法:二分查找(Binary Search)算法,也叫折半查找算法。二分查找的思想非常简单,很多非计算机专业的同学很容易就能理解,但是看似越简单的东西往往越难掌握好,想要灵活应用就更加困难。老规矩,我们还是来看一道思考题。 假设我们有1000万个整数 阅读全文
posted @ 2019-11-19 18:05 活的潇洒80 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 一、课前问题 上两节中,我带你着重分析了几种常用排序算法的原理、时间复杂度、空间复杂度、稳定性等。今天,我会讲三种时间复杂度是O(n)的排序算法:桶排序、计数排序、基数排序。因为这些排序算法的时间复杂度是线性的,所以我们把这类排序算法叫作线性排序(Linear sort)。之所以能做到线性的时间复杂 阅读全文
posted @ 2019-11-19 18:01 活的潇洒80 阅读(442) 评论(0) 推荐(1) 编辑
摘要: 一、课前思考 两节我们讲了二分查找算法。当时我讲到,因为二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找算法了吗? 实际上,我们只需要对链表稍加改造,就可以支持类似“二分”的查找算法。我们把改造之后的数据结构叫作跳表(Skiplist),也就是 阅读全文
posted @ 2019-11-19 17:46 活的潇洒80 阅读(273) 评论(0) 推荐(1) 编辑
摘要: 一、课前思考 前面我们讲的都是线性表结构,栈、队列等等。今天我们讲一种非线性表结构,树。树这种数据结构牛逼线性表的数据结构要复杂得多,内容也比较多,所以我会分四节来讲解。 我反复强调过,带着问题学习,是最有效的学习方式之一,所以在正式的内容开始之前,我还是给你出几道思考题:二叉树有哪几种存储方式?什 阅读全文
posted @ 2019-11-19 17:39 活的潇洒80 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 一、课前思考 上一节我们学习了树、二叉树以及二叉树的遍历,今天我们再来学习一种特殊的的二叉树,二叉查找树。二叉查找树最大的特点就是,支持动态数据集合的快速插入、删除、查找操作。 我们之前说过,散列表也是支持这些操作的,并且散列表的这些操作比二叉查找树更高效,时间复杂度是O(1)。既然有了这么高效的散 阅读全文
posted @ 2019-11-19 17:26 活的潇洒80 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 一、课前问题 排序对于任何一个程序员来说,可能都不会陌生。你学的第一个算法,可能就是排序。大部分编程语言中,也都提供了排序函数。在平常的项目中,我们也经常会遇到排序。排序非常重要,所以我会花多一点时间来详细讲一讲经典的排序算法。 排序算法太多了,有很多可能你连名字都没听说过,比如猴子排序、睡眠排序、 阅读全文
posted @ 2019-11-11 15:33 活的潇洒80 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 一、开篇问题 推荐注册返佣金的这个功能我想你应该不陌生吧?现在很多App都有这个功能。这个功能中,用户A推荐用户B来注册,用户B又推荐了用户C来注册。我们可以说,用户C的“最终推荐人”为用户A,用户B的“最终推荐人”也为用户A,而用户A没有“最终推荐人”。 一般来说,我们会通过数据库来记录这种推荐关 阅读全文
posted @ 2019-11-09 21:53 活的潇洒80 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 一、课前问题 我们知道,CPU资源是有限的,任务的处理速度与线程个数并不是线性正相关。相反,过多的线程反⽽会导致CPU频繁切换,处理性能下降。所以,线程池的大小一般都是综合考虑要处理任务的特点和硬件环境,来事先设置的。 当我们向固定大小的线程池中请求一个线程时,如果线程池中没有空闲资源了,这个时候线 阅读全文
posted @ 2019-11-09 08:23 活的潇洒80 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 一、引子 浏览器的前进、后退功能,我想你肯定很熟悉吧? 当你依次访问完一串页面a-b-c之后,点击浏览器的后退按钮,就可以查看之前浏览过的页面b和a。当你后退到页面a,点击前进按钮,就可以重新查看页面b和c。但是,如果你后退到页面b后,点击了新的页面d,那就无法再通过前进、后退功能查看页面c了。 假 阅读全文
posted @ 2019-11-07 16:50 活的潇洒80 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 参考极客时间专栏《数据结构与算法之美》学习笔记 一、入门篇 数据结构与算法之美学习笔记:第三讲 数据结构与算法之美学习笔记:第四讲 二、基础篇 数据结构与算法之美学习笔记:第五讲 数据结构与算法之美学习笔记:第六讲 数据结构与算法之美学习笔记:第七讲 数据结构与算法之美学习笔记:第八讲 数据结构与算 阅读全文
posted @ 2019-11-04 16:19 活的潇洒80 阅读(1179) 评论(0) 推荐(0) 编辑
摘要: 参考极客时间专栏《趣谈Linux操作系统》学习笔记 核心原理篇:内存管理 趣谈Linux操作系统学习笔记:第二十讲 趣谈Linux操作系统学习笔记:第二十一讲 趣谈Linux操作系统学习笔记:第二十四讲 趣谈Linux操作系统学习笔记:第二十五讲 趣谈Linux操作系统学习笔记:第二十六讲 核心原理 阅读全文
posted @ 2019-11-04 16:14 活的潇洒80 阅读(2567) 评论(2) 推荐(0) 编辑
摘要: 参考极客时间专栏《Linux性能优化实战》学习笔记 一、CPU性能:13讲 Linux性能优化实战学习笔记:第二讲 Linux性能优化实战学习笔记:第三讲 Linux性能优化实战学习笔记:第五讲 Linux性能优化实战学习笔记:第六讲 Linux性能优化实战学习笔记:第七讲 Linux性能优化实战学 阅读全文
posted @ 2019-11-04 15:58 活的潇洒80 阅读(8670) 评论(0) 推荐(2) 编辑
摘要: 参考极客时间专栏《深入浅出计算机组成原理》学习笔记 一、入门篇 深入浅出计算机组成原理学习笔记:第三讲 深入浅出计算机组成原理学习笔记:第四讲 二、原理篇:指令和运算(12讲) 深入浅出计算机组成原理学习笔记:第五讲 深入浅出计算机组成原理学习笔记:第六讲 深入浅出计算机组成原理学习笔记:第七讲 深 阅读全文
posted @ 2019-11-04 15:23 活的潇洒80 阅读(7176) 评论(1) 推荐(4) 编辑
摘要: 参考极客时间专栏《MySQL实战45讲》学习笔记 一、基础篇(8讲) MySQL实战45讲学习笔记:第一讲 MySQL实战45讲学习笔记:第二讲 MySQL实战45讲学习笔记:第三讲 MySQL实战45讲学习笔记:第四讲 MySQL实战45讲学习笔记:第五讲 MySQL实战45讲学习笔记:第六讲 M 阅读全文
posted @ 2019-11-04 14:50 活的潇洒80 阅读(5012) 评论(1) 推荐(1) 编辑
摘要: 一、本节概述 MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型 (unsigned int) 是 4 个字节,上限就是 2 -1。 既然自增 id 有上限, 阅读全文
posted @ 2019-11-04 14:12 活的潇洒80 阅读(1237) 评论(0) 推荐(0) 编辑
摘要: 一、引子 这是我们专栏的最后一篇答疑文章,今天我们来说说一些好问题。 在我看来,能够帮我们扩展一个逻辑的边界的问题,就是好问题。因为通过解决这样的问题,能够加深我们对这个逻辑的理解,或者帮我们关联到另外一个知识点,进而可以帮助我们建立起自己的知识网络。 在工作中会问好问题,是一个很重要的能力。 经过 阅读全文
posted @ 2019-11-04 12:06 活的潇洒80 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 一、引子 磁盘→盘片→磁道→扇区(每个 512 字节) ext* 定义文件系统的格式 二、inode 与块的存储 1、块 2、不用给他分配一块连续的空间 我们可以分散成一个个小块进行存放 1、优点 2、存在的问题 3、如何解决 3、inode里面有哪些信息? 至于 inode 里面有哪些信息,其实我 阅读全文
posted @ 2019-11-04 10:49 活的潇洒80 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 一、引子 在这之前,有一点你需要注意。解析系统调用是了解内核架构最有力力的一把钥匙,这里我们只要重点关注这几个最重要的系统调用就可以了 1、mount 系统调用用于挂载文件系统;2、open 系统调用用于打开或者创建文件,创建要在 flags 中设置 O_CREAT,对于读写要设置flags 为 O 阅读全文
posted @ 2019-11-04 10:48 活的潇洒80 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 一、引子 在今天这篇答疑文章更新前,MySQL 实战这个专栏已经更新了 14 篇。在这些文章中,大家在评论区留下了很多高质量的留言。现在,每篇文章的评论区都有热心的同学帮忙总结文章知识点,也有不少同学提出了很多高质量的问题,更有一些同学帮忙解答其他同学提出的问题。 在浏览这些留言并回复的过程中,我倍 阅读全文
posted @ 2019-11-01 22:33 活的潇洒80 阅读(1067) 评论(1) 推荐(1) 编辑
摘要: 一、本节概述 我经常被问到这样一个问题:分区表有什么问题,为什么公司规范不让使用分区表呢?今天,我们就来聊聊分区表的使用行为,然后再一起回答这个问题。 二、分区表是什么? 为了说明分区表的组织形式,我先创建一个表 t: 图 1 表 t 的磁盘文件 我在表 t 中初始化插入了两行记录,按照定义的分区规 阅读全文
posted @ 2019-11-01 22:25 活的潇洒80 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 一、本节概述 在 MySQL 里面,grant 语句是用来给用户赋权的。不知道你有没有见过一些操作文档里面提到,grant 之后要马上跟着执行一个 flush privileges 命令,才能使赋权语句生效。我最开始使用 MySQL 的时候,就是照着一个操作文档的说明按照这个顺序操作的。 那么,gr 阅读全文
posted @ 2019-11-01 22:09 活的潇洒80 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 一、本节概述 我在上一篇文章最后,给你留下的问题是怎么在两张表中拷贝数据。如果可以控制对源表的扫描行数和加锁范围很小的话,我们简单地使用 insert … select 语句即可实现。 当然,为了避免对源表加读锁,更稳妥的方案是先将数据写到外部文本文件,然后再写回目标表。这时,有两种常用的方法。接下 阅读全文
posted @ 2019-11-01 19:04 活的潇洒80 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 一、本节概述 在上一篇文章中,我提到 MySQL 对自增主键锁做了优化,尽量在申请到自增 id 以后,就释放自增锁。 因此,insert 语句是一个很轻量的操作。不过,这个结论对于“普通的 insert 语句”才有效。也就是说,还有些 insert 语句是属于“特殊情况”的,在执行过程中需要给其他资 阅读全文
posted @ 2019-11-01 18:43 活的潇洒80 阅读(521) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 23 下一页