聊聊系统设计中的缓存

好久没更新了,本来想更新《前端是不是真的死了》,但是正好工作中发生了一些讨论,所以就改成先更新缓存了。
本文适宜对象:不太常设计缓存的各类工程师。

背景故事

今日的一个场景是:有一段国家信息数据,结构大概是:[{ region: 'CN', code: 12345, text: '中国' }] 这样的一个国家数组(实际字段不太一样),而在此之前这段信息存储在了一个提供给前端的外部接口中,你是一个提供给前端的 BFF,想基于这些数据进行二次处理。

- 阅读剩余部分 -

对于前端测试的一点杂谈

之前本来在 12 月就应该写这一篇文章的,大致是同事需要做 SDK 开发,我要求必须要有对应测试,但对于怎么去设计测试比较迷茫,本来早在 19 年就写过一篇如何构造一些有意义的测试,但从某种角度来说这更偏后端一些,对于前端的测试来说有一些不同。
然后被裁了,本来不想写了,但之前帮做模拟面试以及被面试时其实都有提到一些内容,所以这里简单谈下我对前端测试的一些看法。
新读者注意:本人屁话较多,不喜勿喷,上角点叉。(我好脆弱啊哥哥.jpg)

什么时候我们需要测试

如果你的回答是:「当然是什么时候都需要测试」——那么恭喜你,你还没有接受过现实排期和业务的毒打(这里指的是国内互联网的情况)。

- 阅读剩余部分 -

前端 SSR 系统设计思路谈

在过去的几个月里,除了写后端接口以外,大部分时间都在搞一些前端基础建设、技术方案的确立和整个链路的监控告警体系的搭配,而在整条链路中,SSR 起到了比重很大的一环。

有许许多多的文章都致力于教大家:怎么样去做一个 SSR 的 demo(包括一些库的文档),而作为系统的一环,除了怎么开发外,有许多更现实的问题等着我们去解决,而本文就以我们遇到的一些问题来抛砖引玉。

- 阅读剩余部分 -

使用 pandoc 将 HTML 和 markdown 转化为 pdf 和 epub

最近因为拉勾的会员要到期了,正好极客时间也送了免费会员,但是他们的客户端在电子书上的效果都比较差,而且是一个比一个差,所以就萌生了转成 epub 的想法(没错,pdf 只是顺便的)。

当然,pdf 对于平板来说更友好一点,而 epub 对于水墨屏电子书来说更友好,两者都比客户端更适合阅读和做笔记。

数据源

在数据源的获取中,简单介绍,我们会分为几段去获取数据,之后根据数据去制作目录:

i-love-study-design.drawio.png

- 阅读剩余部分 -

升级组网,解决户型死角-用远程桌面推 galgame 攻略

家里一直有一个痛点,那就是 2.4G 的信号质量差,5G 的信号经过穿墙衰竭,局域网网络质量直线下降,本来的布局大概长这样:
16290402739004.png

这里最遥远的距离就是台式机到路由器的距离,主要矛盾有几个:

  1. 由于 NAS 开外网、fq 等诉求改成了桥接模式,因此本身的网口就不能用了
  2. 路由器对应的就在客厅正当中,户型中不得不穿墙
  3. 台式机离的最远,5G 很可能只有一格信号

- 阅读剩余部分 -

MySQL 忘记密码怎么办

之前浪费钱对于个人服务器也开通了 DB 和服务的隔离,现在看来不过是浪费钱,所以想要合并一下,结果发现!Service 服务器上安装好了 MySQL!我!却!把密!码!忘!了!

找了找之后发现还是可以抢救一下的:

找到配置文件地址

mysql --help | grep -A 1 "Default options"

Ubuntu 16 可能在这个位置:/etc/mysql/mysql.conf.d/mysqld.cnf

编辑文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld] 的下一行加上:skip-grant-tables

重启服务

sudo service mysql restart

之后可以不用密码登录了:mysql -u root

修改密码:

mysql> FLUSH PRIVILEGES;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';

收工

完成后记得把 skip-grant-tables 删掉(或者注释掉),否则是一个巨大的安全隐患。

参考