书接上文:
经过一个周末的各种折腾,终于用 Rust 实现了 tzf 的功能,代码在
ringsaturn/tzf-rs
。
上周花了点时间学习下 mbtiles
文件格式,顺手给 tzf 项目制作了一个
social preview media:
制作流程很简单:
# 根据 GeoJSON 制作 .mbtiles 文件
tippecanoe -o timezone.mbtiles -l Timezons -z7 combined-with-oceans.fmt.json
mbview ./timezone.mbtiles
用 Go 编写 Python 扩展
tzfpy 是 tzf 的 Python
binding。 如果只是本地可用,Go 代码加上 CGO 扩展编译成 .so
文件就能用了。
不过要做成发布到 PyPI 上在其他地方能直接安装的 wheel 是有些曲折的,看 CI
失败的记录就挺明显的。
Python 中经纬度转时区新的选择
在 Go 中将经纬度转时区
- 2022-05-29 01:04 +0800 立了个年度 Flag:在 Go 里用多边形搜索实现经纬度转时区
- 2022-05-29 20:47 +0800 搞出来了 https://github.com/ringsaturn/tzf
基本数据处理流程:
挺想用 Rust 实现一遍,然后用 pyo3 封装下,看看能不能比 Numba 加速的
timezonefinder 更快。
Go 中更符合直觉的 Apollo 配置加载
在 Go 里定义 struct 及其序列化&反序列化的方式都是通过 Tag 的方式做的,
但是在我开始使用 Apollo 的时候没有找到社区的解决方案,所以翻了下 BSON/JSON/YAML
的反序列化实现方式, 觉得用反射机制好像是可以做的,于是就开搞了,项目在
https://github.com/caiyunapp/oap。
在 Go 里计算 AQI
简而言之,写了个工具包
彩云天气命令行版
2019 年的时候想学 Go 的动力来自看到了这个仓库
schachmat/wego
可以在命令行里看天气。
2021 年用了点业余时间终于搞出来了
caiyunapp/wego
。 到
dashboard.caiyunapp.com
注册账号申请一个 Token, 然后按照提示配置下 ~/.wegorc
里的 API Token
和经纬度即可。