记我将博客的图片存储迁移到Backblaze
之前我一直把博客的图片放在个人的OneDrive上,然后用嵌入功能得到外链放在博客里。但是考虑到国内访问OneDrive的延迟还是偏高,以及不折腾不舒服的心理作祟,于是乎在三月份的时候,我把博客的图片从OneDrive迁到了Backblaze对象存储。
之前我一直把博客的图片放在个人的OneDrive上,然后用嵌入功能得到外链放在博客里。但是考虑到国内访问OneDrive的延迟还是偏高,以及不折腾不舒服的心理作祟,于是乎在三月份的时候,我把博客的图片从OneDrive迁到了Backblaze对象存储。
换成自己用RouterOS拨号之后,经常发现有的图片加载不出来,网上一顿冲浪之后发现可能是在RouterOS中没有正确配置MTU及MSS,导致部分包被丢弃,也就是传说中的PMTU黑洞。
昨天收到Vercel发的报警邮件,说我自己部署的分析平台umami部署失败。检查之后发现是umami有个大版本升级,而升级脚本失败导致新版本部署失败了。那既然报错了,就修呗。
虽然不是什么复杂的问题,但还是记录一下好了,也当是水一篇文。
依旧是面试查漏补缺。这次是MySQL的最左匹配原则。
废话不多说,直接看MySQL官方文档给出的例子。
有这么一个表:
1 | CREATE TABLE test ( |
可以看出,表里面有一个联合索引(last_name, first_name)。那么,查询的时候,这些语句就可以成功走索引:
1 | SELECT * FROM test WHERE last_name = 'Doe'; |
而这些查询就无法使用这个索引:
1 | SELECT * FROM test WHERE first_name = 'John'; |
也就是说,上面例子中的last_name列就是索引的最左前缀,如果要在查询中使用这个索引,那么条件中必须包含last_name,或者同时包含last_name和first_name。
MySQL can use multiple-column indexes for queries that test all the columns in the index, or queries that test just the first column, the first two columns, the first three columns, and so on. If you specify the columns in the right order in the index definition, a single composite index can speed up several kinds of queries on the same table.
面试的时候被问到“了解不了解守护线程”,可本菜别提了解了,听都没听说过。所以面试之后赶紧上网冲浪学习起来。
面试的时候被问到,如何在5个线程全部执行完毕之后,再继续执行后续的代码。迫于对多线程的东西了解不多,只答出一个CountDownLatch,还大概答出一个用Future的思路。回来痛定思痛,请出了万能的ChatGPT,学到了其他的几种方法。
昨天面试的时候被问到Java中的synchronized关键字是什么原理,虽然凭着记忆打出来是通过控制对象头的Monitor来实现,但是毕竟没吃透这个知识点,还是没啥底气。干脆,这次就从字节码上看看,用了synchronized关键字的方法,到底是怎么执行的。
迫于手上有张KnowRoaming的卡用来收短信,但是为了这玩意再照顾个手机又很烦,正好看到合宙有卖4G模块,还有人已经实现了短信转发功能。本着生命在于折腾的精神,果断下单了一张开始搞。
还记得我之前买了个猫棒来替换光猫么?用了一个来月,发现这玩意真的不稳定,短则几分钟长则一两天它必定自己重启一次,导致我的网络时不时就会断线。这玩意不好使,我也没有别的光猫,只好找电信装维师傅给我改桥接。可哪成想一个师傅踢皮球让我找另一个师傅,另一个一听我说是悦me直接就说不能改,只有SDN光猫能改。那你们逼我的,我自己改。
今天刷141. Linked List Cycle和142. Linked List Cycle II学到了两个新的判断链表是否存在环的算法 - Floyd龟兔赛跑算法和Brent判圈算法。