Metabase 入门
因为工作的关系,必须学习使用 Metabase,所以,开辟此文,记录一些我的学习笔记。
因为工作的关系,必须学习使用 Metabase,所以,开辟此文,记录一些我的学习笔记。
最近在学习 Vue 开发,实现一个动态站点,很重要的一个功能就是实现用户的登录。在我以前熟知的前后端混合的项目中,实现用户登录是一个很平凡的事情,以至于我甚至一下子都想不起来它实现的方法和原理。
在前后端分离的网站里,到底怎么去实现用户的登录,验证等等功能呢?
最近,我在学习 Vue 3,一直以来想学习的,不过都没什么动力去学习。这次正好有个小项目,我可以借机学习一下。我这才发现,真是举步维艰,我对前端开发的知识,停留在 jQuery + Bootstrap 时代,这么多年就没有进步过。现在一上手,才深刻体会到自己的落伍。
我要想成功把项目给开发出来,必须从最基础的知识开始补课,才能完成目标。模块,就是我第一个要学会的知识。
5 月 13 日晚间,一位 IT 互联网行业的前辈——陈皓(网名:左耳朵耗子)去逝。2004 年,从 Live Space 自定义脚本开始,我玩起了个人博客空间,到 2008 年正式建立自己的独立博客,很快就注意到了 CoolShell.cn 的个人博客,正是左耳朵耗子的博客。
他的博客内容原创性好,完整性强,有独到见解,是整个中文博客圈,数一数二的高质量博客。从他的博客我学习了很多的技术知识,也了解了他的个人风格和思想。
这些年,我也在认真经营自己的独立博客。当我知道左耳朵耗子逝世的消息后,我第一时间就打开了他的博客,这是一个下意识的行为,因为我认识他在此,验证消息也是在此,缅怀同样在此。我发现,他的博客打不开了(后来恢复了)。可以看到,他的博客托管在 CloudFlare 平台上,出现了欠费的提示页面。
这一瞬间,我就涌起一种凄凉和恐慌的感觉,因为左耳朵耗子逝世的消息,离事情发生才一两天,他的博客竟然就因为欠费出现了停服的情况。他作为一名行业前辈,写下的文字,怎么说也对广大读者有着重要的意义,但是在这个”互联网有记忆“的时代,竟然因为欠费瞬间就被抹去。
这使我不得不反思,撰写独立博客的意义;以及,我是否希望我的博客在我去世后,还能长期存续的问题。至此,静态网站生成器,才重新纳入我的视野。
很多年前开始,我在 Mac 上调试 Web 应用,就是使用一个 App,叫 MAMP Pro,这是一个德国软件,相当于 Windows 上的 xampp,是 Apache + PHP + MySQL 套装。用起来很方便,主要在一台机器上,可以启动很多个 Web 应用,比较节省资源,当然,这不是什么优点,真正的优点是开箱即用,非常方便。
不过现在,我公司深度采用云计算和 Docker,k8s 等基础设施,在本地使用 AMP 套件,其整体部署和服务器环境相差就比较远了。而且最近开发 Flutter 远多于 PHP,还有一个因素是我刚换了 m1 的 Mac,而 MAMP 还是 x86 架构的,干脆还是尽量用 Docker 吧。
“二分查找”可能是基础算法里最为“易学难精”的一个分支。“易学”在于,其算法思想极其简单而且显然,以至于每个人在看过原理分析后,立刻就能完整复述,说得头头是道。“难精”在于,这些头头是道的同学,很难顺利地一秒写对,把题做出来。此外,有些场景能够使用“二分查找”,但是都隐藏很深,极难看出来,无法想到去应用。只有当你看到题解后,才恍然大悟,悔恨不已。
没想到,到了 2023 年的今天,想要找一个能长久免费托管自己个人博客的平台,仍然是一件难事。就在前不久,行业的一位前辈左耳朵耗子逝去,我去他的博客缅怀,发现他的博客托管在 Cloudflare 云计算平台,平台提示,他的博客因为没有续费已经下线。
我不免想到,如果有一天是我,那么我的博客,承载了我在这个世界上公开留下的文字,还能在互联网上存在多久呢?此前我的博客托管在腾讯云服务器上,还比较稳定,较少出现故障等,但是服务器需要人续费维护。后来搬迁到阿里云服务器,比较垃圾,经常会出现故障,还不能自动恢复。而且流量耗光,或者服务器租期到了,我留下的这些内容都会直接下线消失,不复存在。
我想,我需要找一个尽可能长时间免费托管,稳健运行的平台,来备份我的所有博客内容。这样,即使我在相当长一段时间不去维护,不续费,我留下的内容继续存在。所以,我主要的需求,就是一个尽可能免费,稳定运行的平台,托管了博客内容,如果不去维护,也不会出问题。此外,还要满足,撰写方便,发布方便,对开发环境依赖低等等特点。
SSL 已经成为互联网最重要的基础设施,尤其是最近几年,基本上所有网站都已经部署了 HTTPS。曾几何时,SSL 证书对普通个人网站来说,还是很难取得的,主要是要收费。但是,从 Let’s Encrypt 提供服务开始,几乎整个互联网都用上了免费的 SSL 证书。
使用 HTTPS 可以保证你的网站上提供的服务和用户浏览器之间的链接加密,其内容不必篡改和窃听。SSL 证书有很多等级,一般免费的证书都是域名级别的,即证明网站服务提供商,拥有目标域名的管理权限。当然还有更高级别的。
不过,一般的 HTTPS,只是帮助访问网站的用户认证自己访问的域名没有被篡改。但是在安全等级更高的地方,被访问的服务,也需要证明访问者的身份可靠。当然,一般的网站也都有这个要求,比如要求用户进行登录,提供用户名和密码作为一种验证手段。
我刚入职的时候,公司使用 RSA 公司的 token,所谓的 token 就是一个像优盘一样的硬件,每隔 30 秒会产生一个 6 位数字,这个数字作为一次性密码,也即标题里提到的 OTP,one-time-password 的缩写。
后来手机普及后,出现了很多软件实现的 OTP,比如 QQ 安全中心,微软的 Authenticator,以及 Google Authenticator。这些验证器和一次性密码,成为两步验证一种比较流行的方式。我个人也很喜欢,至少我觉得比短信验证码体验要好一些。
常在河边走,哪能不湿鞋。没想到,从 2008 年开始深入玩 WordPress 博客到现在,竟然第一遇到了数据库损坏,真是闻所未闻,见所未见啊……一个个人博客而已,毫无访问和压力,竟然也可以搞成这样。