tiny_coro 是一个轻量级的教育性 M:N 异步运行时,使用 C++20 协程从零开始编写。它旨在简化工业库(如 Seastar 或 Folly)的复杂性,以清晰展示核心机制。
<p>关键技术特性:</p>
<p>M:N 调度:将 M 个协程映射到 N 个内核线程(通过 Chase-Lev 双端队列实现工作窃取)。</p>
<p>内存安全:实现了 EBR(基于时间段的回收),在无锁结构中安全管理内存,而无需垃圾回收。</p>
<p>可视化:我使用 Manim(3Blue1Brown 背后的引擎)创建了动画,准确展示任务是如何被窃取和执行的。</p>
<p>我为什么要构建它:为了弥合“使用协程”和“理解运行时”之间的差距。代码保持简洁(核心部分约 1000 行),可以在一个周末内阅读完毕。</p>
返回首页
最新
大家好,我创建了FolioDoc(<a href="https://foliodoc.com" rel="nofollow">https://foliodoc.com</a>),旨在解决我从会计师和人力资源人员那里听到的一个问题——花费数小时通过电子邮件追赶客户索要文件。
您可以创建一个检查清单,添加收件人并设定截止日期,他们将收到一个神奇链接,进入一个简单的上传门户。收件人无需注册账户。随着截止日期的临近,系统会自动发送提醒。
我关注的几个方面:
- 无需收件人登录——使用SHA-256哈希的神奇链接,原始令牌不被存储。收件人只需点击链接并上传文件。
- 病毒扫描——每次上传都会运行ClamAV。感染的文件会被拒绝,收件人需要重新上传。
- 隐私保护——在欧盟(德国)托管,符合GDPR规定,包含数据处理协议。应用程序和门户中没有追踪功能。
- 安全性——全程使用TLS,5层文件验证(类型、扩展名、魔术字节、大小、配额),每个用户和每个IP都有速率限制,删除操作有完整的审计记录。
- 品牌定制——可以在门户和电子邮件中使用您的logo和主色调进行白标定制。
技术栈:Django + DRF,Next.js 14,Celery + Redis,PostgreSQL。门户使用服务器渲染的Django模板(而不是React应用)。单个EC2实例,使用Docker Compose。
我在瑞士,花了几个月时间构建这个项目。提供免费套餐。非常希望能得到反馈——特别是关于面向收件人的门户,因为这一部分需要尽可能简单易用。
嗨,HN,我正在构建RocketLogs,这是一个智能可观察性层,位于Loki、Tempo和Prometheus之上。
我遇到的问题是:凌晨3点接到警报,打开Grafana,在六个仪表板之间切换,搜索日志,试图弄清楚哪个版本发布了,过了一个小时你或许找到了根本原因。你仍然需要深入代码找到罪魁祸首。数据都在那儿,但没有任何东西将它们连接起来。
RocketLogs试图解决这个问题:
VS Code / Cursor扩展 - 从生产环境中获取你的慢速和出错的端点,并将它们连同延迟信息列在Cursor聊天侧边栏中。它使用Pyroscope分析将这些端点映射到你的代码库中。因此,你可以在代码库中直接查看指标 -> 跟踪 -> 配置文件 -> 代码。它显示延迟以及模块/函数对端点的影响热图。这样你可以迅速跳转到有问题的函数并在几分钟内修复,而无需切换上下文。
除此之外,它还是一个完整的可观察性堆栈:日志搜索、带有瀑布视图的分布式追踪、带有错误预算跟踪的服务水平目标(SLO)、带有AI生成摘要的事件管理、智能警报和Prometheus仪表板。
我们基于LGTM堆栈构建,因此如果你已经将数据发送到Loki/Tempo/Prometheus,你可以将RocketLogs指向你现有的基础设施。将其作为另一个可观察性层使用。如果你想使用多个供应商,也可以进行遥测分发。
非常希望得到反馈。你当前可观察性工作流程中最痛苦的部分是什么?
我构建了一个模拟器,模拟以下内容:
• 完整的写入路径(WAL、内存表、不可变内存表、L0 刷新)
• 分层压缩及级联合并
• 真实的布隆过滤器检查的读取路径(非模拟)
• 实时写入、读取和空间放大指标