前端 SSR 系统设计思路谈
在过去的几个月里,除了写后端接口以外,大部分时间都在搞一些前端基础建设、技术方案的确立和整个链路的监控告警体系的搭配,而在整条链路中,SSR 起到了比重很大的一环。
有许许多多的文章都致力于教大家:怎么样去做一个 SSR 的 demo(包括一些库的文档),而作为系统的一环,除了怎么开发外,有许多更现实的问题等着我们去解决,而本文就以我们遇到的一些问题来抛砖引玉。
在过去的几个月里,除了写后端接口以外,大部分时间都在搞一些前端基础建设、技术方案的确立和整个链路的监控告警体系的搭配,而在整条链路中,SSR 起到了比重很大的一环。
有许许多多的文章都致力于教大家:怎么样去做一个 SSR 的 demo(包括一些库的文档),而作为系统的一环,除了怎么开发外,有许多更现实的问题等着我们去解决,而本文就以我们遇到的一些问题来抛砖引玉。
最近因为拉勾的会员要到期了,正好极客时间也送了免费会员,但是他们的客户端在电子书上的效果都比较差,而且是一个比一个差,所以就萌生了转成 epub 的想法(没错,pdf 只是顺便的)。
当然,pdf 对于平板来说更友好一点,而 epub 对于水墨屏电子书来说更友好,两者都比客户端更适合阅读和做笔记。
在数据源的获取中,简单介绍,我们会分为几段去获取数据,之后根据数据去制作目录:
从使用的角度去看,这可能是个老生常谈的问题,就连 TypeScript 官方文档都会给你一个个介绍:
Interfaces vs Types in TypeScript
Documentation - Everyday Types
Learn about difference between Type & Interface in Typescript
具体来说(翻译成中文来说):
好久没更新博客了拿着很久之前记的笔记凑个更新吧。
package.json,一个前端项目的归属——万万没想到的是,它有很多学问,因此现在我们就来完整的盘点一下。
家里一直有一个痛点,那就是 2.4G 的信号质量差,5G 的信号经过穿墙衰竭,局域网网络质量直线下降,本来的布局大概长这样:
这里最遥远的距离就是台式机到路由器的距离,主要矛盾有几个:
之前浪费钱对于个人服务器也开通了 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
删掉(或者注释掉),否则是一个巨大的安全隐患。
最近在补单元测试,需要 mock 一个 DB,初始化 dump 数据阶段需要 dump 一些带中文的数据,但是发现跑起来都是乱码,非常迷惑,因为我们在链接、建立 Table 阶段都约定了:
# 连接串中
charset=utf8mb4,utf8
本文不含 Git Commands 教程,如果需要,可以刷一遍 githug,可以在最快最短的时间内帮你熟悉 git commands 和很多的 case,如果题目没变,可以参考我 15 年写的通关手册(反复谷歌后卡关再看)。
因为很久没玩,心血来潮又想打几个游戏,所以关注了一下最新破解进度,目前已经破解到了 PSV 3.73,不过 PSP mode 还是支持到了 3.68,因此继续使用我之前的版本。