Package xxx has no installation candidate on Raspberry Pi

当新刷好的树莓派镜像启用时,你有可能会遇到奇怪的 apt 错误:

当然,不止这一个,安装任何包都会是 Package xxx has no installation candidate

解决办法

首先查看你的 /etc/apt/sources.list ,看看里边的源地址是不是都被注释掉了,这里我的是正常的。[……]

点击跳转以继续阅读

使用 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 时,系统就会自[……]

点击跳转以继续阅读