题目 给定一个二叉树: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。 示例 1: 输入:root = [1,2,3,4,5,null,7] 输出:[1...
在观察大佬们的面经时,常常提起“发布订阅模式”、“手写 EventEmitter”,遂学习,记录于此,对这篇文章有大量(搬运)参考 介绍 发布订阅模式其实是一种对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到状态改变的通知。 发布订阅模式中,包含发布者,事件调度中心,订阅者三个角色。发布者和订阅者是松散耦合的,互不关心对方是否存在,他们关注的是事件本身。发布者借用事件调度中心提供的publish方法发布事件,而订阅者则通过subscribe进行订阅。...
摘要: 这篇文章描述了如何在具有强制开启HSTS的.dev域名上配置Nginx来提供HTTPS服务,并使用CloudFlare的API Key申请和安装SSL证书。
因为我的域名“yuzi.dev”是强制开启了 HSTS 的 dev 域名,所以时常需要面对 https 问题,故以此文来记录这个过程。 启动 Nginx 这里使用 docker 启动,docker 安装不再赘述。 创建一个文件夹,以~/nginx 为例,在其中创建docker-compose.yml version: "3.8" services: nginx: image: nginx:stable container_name: nginx-web hostname: nginx-web restart: always p...
你好,Shiro! 这算是新的个人主页 + 博客了,旧的仍然会继续使用。 新的博客(基于 mix-space+Shiro):https://yuzi.dev 旧的博客(基于 hexo+particleX):https://blog.yuzi.dev 文章会陆续迁移~
之前学习了一下 TailwindCSS,在它的黑暗模式页里详细地列出了黑暗模式的实现方式,深以为然,于是也想给自己的博客所使用的主题搞一个。 思路 首先一般有个按钮可以切换当前的主题,主题有三个状态:黑暗、浅色、跟随系统。 如何检测系统的主题?使用这个方法: window.matchMedia('(prefers-color-scheme: dark)').matches) 返回值为true即为黑暗模式,false即为浅色模式。 然后就是如何读取主题了,这里我使用的是`l...
今天闲来无事,终于在家里的小米路由器上刷入了 OpenWRT,遂记录一下过程。 Openwrt是什么想必无需多言,有了它我们可以更好的玩转路由器。 参考教程:https://supes.top/红米-小米-ac2100-刷breed和openwrt教程/ 刷前准备 如果你有一台带网口的电脑和一根网线,那使用网线将电脑和路由器连接即可。 如果你的电脑没有网口,或者你没有网线,那可...
珍爱生命,远离高权限评论插件 为什么弃用Gitalk? 昨天,我使用ParticleX自带的Gitalk弄好了评论区系统,能用,但是当我邀请舍友来参与评论时,一名舍友发出了质疑:这个评论索要的权限也太高了吧! 仔细一看,居然要读写所有公开仓库的权限,看着实在是太吓人了,为什么会这样? 在我仔细搜索一番后,发现v2ex论坛早已有相关讨论,因为他的实现原理是使用一个re...
在火车上,经过满是隧道的四川地区,无网络,遂想找点事做,想起因为考试而一直鸽着的程序设计blog,就心血来潮打开笔记本开始记录起来。 背景 因为我在学期中就大概了解了一下这个课程设计是个什么东西,所以也就提前准备了一些,当然这一切都是在司徒的鼓励【鼓舞?鼓动?】下进行的。司徒给我介绍了QT编程,我大致的了解了一下过后觉得挺合适的,首先它的语言是Cpp,是我目前唯一掌握了的语言,其次它还有个好处就是可以一个代码可以编译到不同的平台上执行。再加上MFC的各种被诟病,我就放弃了这个方向,转而向Qt进发。 题目 (1)、设计一个学生类Student,包括数据成员:姓名、学号、二门课...