随笔分类 - 编程之道
摘要:题目 155. 最小栈 解法 辅助栈 用辅助栈存当前栈中的最小值 class MinStack { private minStack = []; /** * initialize your data structure here. */ function
阅读全文
摘要:题目 111. 二叉树的最小深度 解法 跟上一题一样的思路 class Solution { private root * @return Integer */ function minDepth($root) { if (
阅读全文
摘要:题目 110. 平衡二叉树 解法 在遍历树的同时,将高度差求出,如果有一个高度差的绝对值大于 1,那么就不用再继续了,可以直接退出返回 false class Solution { private root * @return
阅读全文
摘要:题目 https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/ 解法 class Solution { /** * @param ListNode $head * @return ListNode */ function
阅读全文
摘要:#leetcode 题目 https://leetcode-cn.com/problems/add-binary/ 解法 题解中有三种方法,我用了模拟法,还算是比较简单 class Solution { /** * @param String b * @ret
阅读全文
摘要:树莓派 ubuntu 配置网络 树莓派现在可以安装很多操作系统,其中 ubuntu 也提供了树莓派版本,因为对 ubuntu 更加熟悉,所以就往 SD 卡中烧录了 ubuntu 的 20.04 lts 64位 版本。这里有可供选择的操作系统。 简单提一嘴烧录操作系统到 SD 卡上面的方法,树莓派提供
阅读全文
摘要:nginx master 进程主流程 之前有说到 nginx 进程模型-整体架构,下面来看一下 nginx master 进程的主要工作 nginx 的入口 main 函数在 nginx.c 文件中 函数原型为: int ngx_cdecl main(int argc, char *const *a
阅读全文
摘要:如何调试nginx的rewrite规则? 设置 rewrite_log on; 并且将error_log 的报错等级改成 notice; 官网对 rewrite_log 的解释: Syntax: rewrite_log on | off; Default: rewrite_log off; Cont
阅读全文
摘要:什么是文件描述符 对于内核而言,所有打开的文件都通过文件描述符(file descriptor)引用。通常也写作 fd。 文件描述符是一个非负整数。 当打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。 文件描述符是跟进程相关联的。 按照惯例,UNIX 系统将 fd 0 对应进程的
阅读全文
摘要:滑动窗口模板 维护最大值与最小值 示例题目: 1438. 绝对差不超过限制的最长连续子数组 方法一 队列的应用:双端队列 使用单调递增队列维护最小值 使用单调递减队列维护最大值 <?php // php 中没有双端队列这个概念,只有 array // 但是如果使用 array_shift 去掉首条元
阅读全文
摘要:滑动窗口模板 以 1052. 爱生气的书店老板 为例 class Solution { /** * @param Integer[] grumpy * @param Integer $X * @return Integer */ func
阅读全文
摘要:作用: 网络调试 端口扫描 可使用的参数 -g <网关> 设置路由器跃程通信网关,最多可设置8个。 -G <指向器数目> 设置来源路由指向器,其数值为4的倍数。 -h 在线帮助。 -i <延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。 -l 使用监听模式,管控传入的资料。 -n 直接使用IP
阅读全文
摘要:安装工具 pip install rdbtools python-lzf 或者 git clone https://github.com/sripathikrishnan/redis-rdb-tools cd redis-rdb-tools sudo python setup.py install
阅读全文
摘要:[toc]# 什么是过期事件对于不需要加入到 `post` 队列 延后处理的事件,`nginx` 的事件都是通过 `ngx_epoll_process_events` 函数进行处理的举例:假如 `epoll_wait` 一次性返回 3 个事件,在第一个事件关闭了一个连接对应的正好是第三个事件的连接,第二个事件 `accept` 了一个连接,正好使用的是第二个事件的文件描述符如图所示: 少量的数据处理 1 获得参数 $ e
阅读全文
摘要:1、场景 使用 redis 作为延迟队列时,在 zrangebyscore 与 zrem 之间会存在 context switch 的情况,造成其他的消费者空转 在其他场景下可能会发生更严重的情况 在掘金小册《Redis 深度历险:核心原理与应用实践》第四章讲的比较清楚,最后作者留了一个思考题 使用
阅读全文
摘要:1. 前置知识 1.1 InnoDB 索引结构 InnoDB 索引使用的数据结构是 B+ 树。 百度百科中的结构图: 一个 m 阶 B+ 树的几个特点: 每个节点可能有最多 m 个子节点 除根结点外,每个结点至少有[m/2]个子女,根结点至少有两个子女 有 k 个子女的结点必有 k 个关键字 可以类
阅读全文
摘要:MySQL 配置统计数据 [toc] 1. 什么是统计数据 MySQL 为了制定执行计划收集表的相关信息,如索引行数,索引基数(不同值的数量),占用页面数等等。这些信息被称为 。 同一条 sql 语句,在不同的数据量级下,不同的索引结构下,执行计划都是千差万别的。 而 MySQL 选定执行计划的标准
阅读全文
摘要:浅谈操作系统的用户态和内核态 我们经常会听到程序的用户态和内核态,一个程序从用户态进入了内核态。。。 什么是用户态和内核态 内核态和用户态到底指的是什么呢?我们这就解开其神秘面纱 所谓的用户态、内核态,实际上是处理器(cpu)的一种状态,在 cpu 状态字里面用 1bit 表示 什么是用户态 也叫普
阅读全文
摘要:1. 日志(log) 为了让自己的思路更加清晰,下面我都会称日志为 log。因为日志这个词有两种含义,详情见百度百科释义或者维基百科释义。 日记的另一种说法。“志”字本身为“记录”的意思,日志就为每日的记录(通常是跟作者有关的)。 服务器日志(server log),记录服务器等电脑设备或软件的运作
阅读全文