探索 Goja:Golang JavaScript 运行时

2024-09-07

这篇文章探讨了 Goja,一个 Golang 生态系统中的 JavaScript 运行时库。作者在处理大型数据集时遇到了挑战,Go 的简洁性在处理复杂 JSON 响应时变得麻烦。Lua 的库支持不一致,而 Goja 提供了与 Go 结构体的无缝集成,能自动推断字段和方法,简化了数据操作。文章详细介绍了 Goja 的使用,包括赋值、返回值处理、结构体和方法调用、异常处理以及使用 VM 池来优化性能等方面。作者还分享了在使用 Goja 运行用户提供代码时遇到的问题和解决方案,最终通过匿名函数实现了代码沙盒化。

阅读更多

利用SQLite优化大规模OpenStreetMap数据

2024-07-06

本文介绍了作者如何将美国地区的OpenStreetMap数据转换为SQLite数据库并进行优化的过程。作者首先将原始的OSMPBF格式数据导入SQLite,然后通过筛选重要标签、创建索引、使用全文搜索等方式逐步提高查询性能。为了进一步缩减数据库体积,作者还尝试使用ZSTD压缩算法对数据库文件进行压缩,最终成功将文件大小缩减至13GB,同时保持了较快的查询速度。

阅读更多
未分类 数据优化