使用 AWS S3 运行静态网站 启用 https

docs.logcg.com 的网站测速

落格输入法的使用说明书是一个用 Gitbook 编译的静态站,之前一直部署在 netlify 上,可惜现在他家也逐渐被墙……我只好把这个静态站搬到落格博客的服务器上。现在我打算整个迁移,于是思前想后,索性把这个静态站单独丢到 aws 容器里算了,刚好最近工作和学习都在用 aws,我对它比较熟悉。

要在 aws 运行静态站,首先我们来规划一下拓扑,大概是这样的:

GitHub → S3 容器[……]

点击跳转以继续阅读

iOS 平台第三方输入法的生命周期到底是怎样的?

我们刚刚讨论了 macOS 平台第三方输入法的生命周期到底是怎样的?,现在趁热再来聊聊 iOS 平台的第三方键盘生命周期

在苹果官网,也就只有个这:

这看起来似乎很容易理解,键盘的生命周期是系统管理的,每次用户呼出键盘,就它就启动,用户收起键盘,过一会它就被消灭了。

但有了前文对 macOS 输入法框架的生命周期的经验,我们再来看 iOS,真的是这样吗?在苹果开发者文档[……]

点击跳转以继续阅读

macOS 平台第三方输入法的生命周期到底是怎样的?

一转眼落格输入法都已经做到第三代了,令人惊讶的是我似乎从来没有认真的思考过题目中的这个问题。一直以来我先入为主的认为 macOSiOS 一样就是为每个输入框创建一个输入法实例,而第三方输入法的 Controller,全局只有一个,由系统负责 XPC 调用。

后来尽管我发现 Controller 不会在输入框失去焦点后立即销毁,但我依旧认为系统会为每个输入框获得焦点时生成全新的 Cont[……]

点击跳转以继续阅读

落格输入法是如何进行全拼拼音拆分的

在5年前,我曾写过一篇基于动态规划的整句输入法的文章,文章末尾提到了拼音拆分的问题,由于当时落格输入法主要针对双拼,实际上并不需要进行拆分,只要两两拆开就好了。(这是我推崇双拼的另一个原因,毕竟少了一个技术难点)

后来落格输入法支持了全拼,并且开始给全拼进行优化,才发现原来拼音分词,甚至比中文字分词还要难。

不少人一提到拼音分词,首先就想到了去和英文分词类比,其实不太准确,它们虽然从形[……]

点击跳转以继续阅读

macOS M1 Pro 安装 h5py

安装 h5py 失败

安装 TensorFlow 时,遇到一个依赖 h5py,这个包无论如何无法成功安装,报错无任何可用信息:

这就很难办了,查看日志发现原来是没有针对 m1 的二进制包,自动进行编译了。但编译报错说找不到头文件:

于是使用 brew 安装缺少的库,搜索之下,还真有[……]

点击跳转以继续阅读

删除不受支持的 System Extension macOS M1

直接使用系统信息工具查看当前系统中的插件

最近一直在安装驱动时有弹窗,说某某系统插件不被支持了,无法加载。但一直苦于没找到具体插件路径而无法删除掉,其实这些插件我本身也不再使用,甚至当初安装插件的app早都已经删除。今天实在是受不了了,警告弹窗一下出来十多个,决定处理一下。

苹果已经在最近的几个系统中更新了插件的开发结构,现在新的app,比如防火墙软件,都会将系统插件内置在 .app 包中,这样你在安装和启动 app 时,系统就会自[……]

点击跳转以继续阅读

制作 macOS 全新安装启动盘

之前 Mac 启动组合键大全 恢复模式 recovery mode 中提到了联网恢复的问题,实际上最终我无法成功使用联网恢复,原因是我的硬盘是 NVMe 的,但我手头已经没有原装的硬盘可以使用,于是我无法通过降级再升级的方式将主板固件更新,这就导致最新的恢复模式用不了,旧的恢复模式不识别硬盘。

为此,我需要做一个刚好不那么新,但又足够新到支持 NVMe 的安装盘,毕竟,要安装系统,总要先进到[……]

点击跳转以继续阅读

Mac 启动组合键大全 恢复模式 recovery mode

最近升级了新款的 MacBook Pro,已经在用 m1 pro 芯片了。 不过,旧款的 2015 年老笔记本我也不打算把它卖掉了,毕竟我买的时候是二手,如今电池也换过两块了,硬盘也是自己加了转换头换了 NVMe 。把它装个 Windows 专门打一打游戏也是很不错的。

但在进入恢复模式时遇到了问题,M1 芯片的设备已经大大简化了这个操作需求,只要一直按着开机键,就会弹出全部启动选项,不再需[……]

点击跳转以继续阅读