掏出了吃灰的树莓派打算自己搭建一套 DevOPS,树莓派在 hosts 中增加了域名解析。 搭建好 nginx 后,那个不安全的字样怎么看都难受,有点强迫症,在线申请免费的 SSQL 有点麻烦,所以就找到了 mkcert。 安装本地 CA 证书 生成证书: 最后传到树莓派上,设置 nginx。 喜大普奔,大功告成。 参…
分类: 杂记
共 11 篇最近失业在家待业,思考了以前的架构设计以及代码设计中的问题。 一次有趣的面试经历 去年在杭州面试一家只有五个程序员的小公司,后台开发人员只有一个人,业务其实并不复杂,其后端采用了微服务架构,于是和对方“犟” 了起来,后来反思这是没有必要的,没有必要和对方犟。 因为对方的老板也在场,其实那个时候我”落“了对方的面子,所以…
更新日志 20230322 部署方式更改成了 dockercompose 到目前为止,我已经记不清这是第几次折腾博客了,我希望这是最后一次。 这两年一直在用的是 hugo ,其实还是很不错的,生成 html 后用 shell 脚本直接就可以发布,但是由于自己比较懒,一直没有去搞评论模块,因为觉着感觉很麻烦,毕竟博客系统…
这篇文章来源于我在团队内部分享的内容,PPT 和代码已经上传到了 github。 bettermaksim/swooleratelimiting: 基于 swoole 实现限流算法 github.com 什么是限流 限流的实现原理 优缺点分析 什么是限流? 通过并发限速(拒绝降级、排队、等待)形式达到保护服务的目的。 …
哈夫曼树 哈夫曼编码,又称为霍夫曼编码,它是现代压缩算法的基础,假设要把字符串【ABBBCCCCCCCCDDDDDDEE】转换成二进制编码进行传输,想到的第一种做法可以把他转换成 ASCII 编码(6569,10000011000101),例如我们现在要传输 ABBB。 但是有点冗长,如果希望编码更短呢? 可以先约定一…
B+树是 B 树的变体,常用于数据库和操作系统的文件系统中,MySQL 数据库的索引就是基于 B+树的实现的,其大致结构如下: B+ Tree 的特点 分为内部节点(非叶子)、叶子结点 2 种节点 内部节点只存储 key,不存储具体数据 叶子节点存储 key 和具体的数据。 所有的叶子节点形成一条有序链表 m 阶 B+…
BTree B 树是一种平衡的多路搜索树,用于文件系统、数据库的实现。 仔细观察 B 树有什么眼前一亮的特点? 一个节点可以存储超过 2 个元素、可以拥有超过 2 个子节点 拥有二叉搜索树的一些性质,我们拿 3 阶 B 树举例,root 节点左侧都是比 18 小的,右侧都是比 48 大的,而中间的节点是在他们两者之间的…
什么是算法? 算法理解起来其实非常简单,就是是用于解决特定问题的一系列的执行步骤。 上面的代码很简单,但是它其实也是一个算法,因为它解决了加法运算。 sum 也是一个算法,它解决了从 1 加到 n 的问题,这两个我们都可以称之为算法,算法其实就是你能解决问题就可以了,小到一行代码,大到上万行都可以称之为算法。 但是当我…
为什么要学数据结构与算法 说到数据结构相信大家的第一反应就是复杂、深奥、难学,至于大家为什么会这么觉得,我认为是没有找对学习资料,只要找对了学习资料相信大家都是可以掌握的。 另外可能会觉着数据结构与算法并不常用,一个产品从开发到上线压根就没有用到数据结构和算法,好像就算我们不懂数据结构与算法也不耽误我们完成研发任务,拿…
基于 MySQL 5.7,这是程序员在囧途的课程笔记,如果需要的话可以关注一下这个网站,有很多 PHP 相关的学习资料,而且很接地气,没有任何复杂概念,博主个人很喜欢。 01 场景案例:实现 select 增加行号 很多时候我们在做一个项目,无论使用的语言是 PHP 还是 Java,不管是为了性能还是业务逻辑,很多时候…