返回首页
最新
嗨,HN,我是新来的,想分享一个我正在开发的小库。它是一个缓存库,允许你声明依赖关系,而不是使用传统的 TTL 失效机制。
基本用法:
```python
from zoocache import cacheable, invalidate, add_deps
@cacheable
def get_product_page(pid: int, sid: int):
product = db.get_product(pid)
add_deps([f"product:{pid}"])
stock = db.get_stock(sid, pid)
add_deps([f"store:{sid}:stock"])
return render(product, stock)
get_product_page(42, 1) # 计算并缓存
get_product_page(42, 1) # 缓存命中
invalidate("product:42") # 产品信息已更改
invalidate("store:1") # 清除所有 store:1:*(库存、价格等)
```
标签是层次结构的,失效一个父标签如 "store:1" 会清除其下的所有内容。无需扫描或模式匹配。
内部实现是一个前缀树,使用 HLC 进行分布式一致性,采用 SingleFlight 避免“雷鸣效应”,并使用 MsgPack+LZ4 进行序列化。核心部分是通过 PyO3 实现的 Rust。支持内存、LMDB 和 Redis 后端。
这是一个相对小众的工具,如果简单的 TTL 或 lru_cache 能满足你的需求,你就不需要这个库。它更适用于当你有复杂的数据关系并需要精确、即时的失效时。
源代码: [https://github.com/albertobadia/zoocache](https://github.com/albertobadia/zoocache)
希望你觉得它有用。欢迎反馈、提交 PR 或讨论设计权衡。
Adobe最近宣布将停止支持Adobe Animate,但在社区的强烈反对声中又收回了这一决定。<p>无论Adobe接下来做出什么决定,信息非常明确:依赖专有工具的动画师随时可能因为一项企业决策而失去他们的工作流程。<p>2D动画需要一个不只是玩具的开源选项。我们一直在与一位专业动画师合作,以指导功能优先级,确保我们构建的工具真正适合实际的制作工作流程,而不仅仅是一个技术演示。<p>Github仓库:<a href="https://github.com/17twenty/inamate" rel="nofollow">https://github.com/17twenty/inamate</a><p>我们正处于一个阶段,社区反馈将塑造我们的方向。如果你是一名动画师、动效设计师,或者只是对当前2D动画工具感到失望的人——我们非常希望听到你的声音:<p>- 什么功能会让你从当前工具切换过来?<p>- 你在动画工作流程中遇到的最大痛点是什么?<p>- 实时协作对动画真的有用,还是只是一种噱头?<p>试试看,给我们反馈,告诉我们你的想法。<p>该工具使用Go、TypeScript和React、WebAssembly、PostgreSQL、WebSocket、ffmpeg(用于视频导出)构建。
嗨,HN — 我正在推出 Blogator,这是一个基于人工智能的内容平台,专注于从简单的提示生成结构化、可发布的博客文章。
我们的目标不仅仅是“人工智能写作”,而是提供可用的输出——具有清晰的结构、标题和格式,以便用户花更少的时间重写草稿。
当前的重点包括:
- 提示 → 完整的结构化文章
- SEO 风格的章节布局
- 语调控制
- 包含格式化
- 快速的重复内容创作工作流程
我主要为需要持续书面内容但时间有限的创始人和小团队构建了这个平台。
非常希望能得到 HN 社区的技术和产品反馈,特别是在输出质量和工作流程方面。
链接:blogator.app
我的团队创建并发布了这个扩展,以在很大程度上模拟Oracle的UTL_SMTP兼容性。
Fish 是最快、最友好的交互式 shell,但它无法运行 bash 语法,这使得它在过去 20 年里一直处于小众地位。Reef 通过三层方法解决了这个问题:为常见关键字(如 export、unset、source)提供 fish 函数包装器,使用 conch-parser 的 Rust 驱动 AST 转换器处理结构语法(如 for/do/done、if/then/fi、$()),以及为其他所有内容提供 bash 直通和环境捕获。
在测试套件中,251/251 的 bash 构造都通过了测试。最慢的路径(完整的 bash 直通)大约需要 3 毫秒。二进制文件大小为 1.18MB。
目标是:安装 fish,安装 reef,永远不再考虑 bash 兼容性。你的肌肉记忆、Stack Overflow 上的命令和工具配置都能正常工作。