使用「Cheap Ruler」进行快速测地线逼近

提示距离计算是个说容易也容易,说难也难的事情。 1、在对精度不是很敏感的场景上,用地球是半径 6371 公里的球的假设也足够用; 2、精度要求高,计算量会显著增加,比如文森特公式; 3、 Mapbox 开源的 cheapruler 库在绝大多数城市级别(纬度相近)地理计算上比传统的计算方法效率高得多,并且误差在可接受的范围上。实现上非常讨巧,在部分地理计算是瓶颈的场景下能显著提升处理速度; ...

 · 5 分钟 · 2494 字 · Vladimir Agafonkin

AQI 如何计算的

具体计算策略本质上是根据某一个变量(如二氧化氮)的观测值,找到对应的污染物区间及对应的 IAQI 区间,做一次线性插值,得到对应的变量的 IAQI。所有的 IAQI 取最大值就是 AQI。 ...

 ·  · 4 分钟 · 1875 字 · ringsaturn

Hugo 支持 Mathjax 渲染数学公式

KaTex 的很多功能用得不是很顺,还是 Mathjax 的支持最舒服

 ·  · 1 分钟 · 226 字 · ringsaturn

Go 里聚合数据批量处理

好奇想试下能否实现聚合一些数据然后再处理,情况是:有多个生产者在生产数据;消费者尽量批量处理,比如一个批次是 10;有个最小处理时间间隔,比如生产者有 20ms 没有添加任务了,需要把积累的数据(如有 6 个)推到 out chan 中;如果没有积累的数据就继续空转;基本实现: ...

 · 2 分钟 · 662 字 · ringsaturn

Go 在只读高并发场景下的优化

距离决定用 FastAPI 重写 Flask 应用已经过去了一年了,年中的时候在 FastAPI 上尝试了很多性能优化方案,但机器的负载水平已经快到头了,只能承认这条路走不通,需要换一个快得多语言来做。决定用 Go 再重写,又经历了若干次的优化,目前已经稳定运行。线上峰值 QPS 接近 10K,应用内统计延迟在 2ms 之内,依赖服务统计延迟在 13ms 左右。记录下若干有意思的事情。 ...

 ·  · 3 分钟 · 1032 字 · ringsaturn
彩云天气命令行版

彩云天气命令行版

2019 年的时候想学 Go 的动力来自看到了这个仓库 schachmat/wego 可以在命令行里看天气。 2021 年用了点业余时间终于搞出来了 caiyunapp/wego。到 dashboard.caiyunapp.com 注册账号申请一个 Token,然后按照提示配置下 ~/.wegorc 里的 API Token 和经纬度即可。

 · 1 分钟 · 99 字 · ringsaturn

H3 简介

H3 从开始浏览相关资料到生产环境使用有一年多时间了,发现了一些有意思的用法,在这里记录若干参考资料。

 · 2 分钟 · 631 字 · ringsaturn

利用 GitHub Action 自动发布 PyPI 包

警告这篇文章所展示的内容已经过于陈旧,最新版本请参考更省心的 Python 项目维护。 ...

 · 2 分钟 · 684 字 · ringsaturn

《鼠疫》摘抄

2020-01-23 草稿添加到博客,2023-03-12 恢复发布(Hugo 迁移过程遗漏)。以此文纪念被偷走的三年时光。有好几个礼拜,我们不得不一再重写同一封信,重抄同样的消息,同样的呼唤,这一来,一段时间过后,原本出自肺腑的话语竟变得空空洞洞了。但我们仍旧不由自主地抄了又抄,总想通过那些毫无生气的句子提供我们艰难生活的音讯。 ...

 · 8 分钟 · 3793 字

被迫「iPad Only」的日子

1 写于 2019-10-19,发表于 2019-12-28 2019 年 9 月末,我的电脑坏了,被迫临时使用 iPad 工作。在此记录一下想法。硬件信息: iPad Pro 10.5 Smart Keyboard HHKB Professional BT 软件: Blink Working Copy iA Writer Drafts 系统: iOS 13.1 开发工作由于开发工作不涉及本地环境,所以我只要全程 SSH,使用 tmux 和 vim 进行开发。iPadOS 上的终端工具我尝试过一些:Textastic, Code Editor (Coda), Blink 等。在这其中,我最喜欢的是 Blink 这个工具,足够简单,基本功能又够用: ...

 · 3 分钟 · 1409 字 · ringsaturn