返回首页

一周热榜

2作者: sivchari4 天前原帖
我对 Go 验证器中的运行时反射感到沮丧,因此我采用了代码生成的方法。 govalid 读取结构体标记并生成普通的 Go 验证代码。没有反射,运行时没有内存分配,速度比 go-playground/validator 快 5-44 倍。还支持 CEL 以处理复杂规则。 欢迎反馈 :)
2作者: mavdol044 天前原帖
大家好, 我构建了一个运行时环境,用于通过 WebAssembly 沙箱隔离不可信代码。基本上,它保护您的主机系统免受不可信代码可能引发的问题。最近我们对 Python 中的沙箱化进行了深入讨论,更详细地阐述了这个问题[1]。在 TypeScript 中,由于两个生态系统之间的紧密联系,WebAssembly 的集成显得更加自然。 核心部分是用 Rust 编写的。在此基础上,我通过 wasmtime 和组件模型使用了 WASI 0.2,并结合自定义 SDK,使其尽可能符合语言习惯。 例如,在 Python 中,我们有一个简单的装饰器: ```python from capsule import task @task( name="analyze_data", compute="MEDIUM", ram="512mb", allowed_files=["./authorized-folder/"], timeout="30s", max_retries=1 ) def analyze_data(dataset: list) -> dict: """在一个隔离的、资源受控的环境中处理数据。""" # 您的代码在 Wasm 沙箱中安全运行 return {"processed": len(dataset), "status": "complete"} ``` 在 TypeScript 中,我们有一个包装器: ```typescript import { task } from "@capsule-run/sdk" export const analyze = task({ name: "analyzeData", compute: "MEDIUM", ram: "512mb", allowedFiles: ["./authorized-folder/"], timeout: 30000, maxRetries: 1 }, (dataset: number[]) => { return {processed: dataset.length, status: "complete"} }); ``` 您可以设置 CPU(通过 compute)、内存、文件系统访问权限和重试次数,以精确控制您的任务。 虽然现在还处于早期阶段,但我非常希望能听到反馈。我会在这里回答问题。 GitHub: [https://github.com/mavdol/capsule](https://github.com/mavdol/capsule) [1] [https://news.ycombinator.com/item?id=46500510](https://news.ycombinator.com/item?id=46500510)
2作者: ambonvik4 天前原帖
大家好, 我开发了一个名为<i>Cimba</i>的多线程离散事件模拟库,使用C语言编写。 Cimba利用POSIX pthread多线程技术实现多个模拟试验的并行执行,同时协程在每个模拟试验的宇宙内部提供了并发性。模拟的过程基于不对称的栈协程,切换上下文的部分是用汇编语言手动编码的。 栈协程使得表达代理行为变得自然,因为可以在概念上将自己“置于”该过程内部,并描述它的行为。一个过程可以在无限循环中运行,也可以作为一个一次性客户在系统中传递,能够在其调用栈的任何层级进行让步和恢复执行,既可以充当主动代理,也可以根据需要充当被动对象。这一设计灵感来源于我多年前在Simula67编程的经历,当时我发现协程的重要性超过了当时广受欢迎的面向对象编程。 Cimba的运行速度非常快。在一个简单的基准测试中,100次M/M/1队列的试验,每次运行一百万时间单位,Cimba的速度比用SimPy和Python多进程构建的等效模型快<i>45倍</i>。与SimPy模型相比,运行时间减少了<i>97.8%</i>。Cimba甚至在单个CPU核心上每秒处理的模拟事件数量也超过了SimPy在所有64个核心上能做到的。 这种速度不仅仅归功于高效的协程。其他部分也经过了速度优化,比如哈希堆事件队列(二叉堆加斐波那契哈希表)、快速随机数生成器和分布、频繁使用的对象类型的内存池等等。 初始实现支持Linux和Windows的AMD64/x86-64架构。我计划接下来支持Apple Silicon,然后可能会考虑ARM架构。 我相信这可能会引起HN社区的兴趣。我希望听到大家对API和代码的看法。对于未来考虑的目标架构,大家有什么想法吗? 文档:<a href="https://cimba.readthedocs.io/en/latest/" rel="nofollow">https://cimba.readthedocs.io/en/latest/</a> 代码库:<a href="https://github.com/ambonvik/cimba" rel="nofollow">https://github.com/ambonvik/cimba</a>
2作者: emmasuntech4 天前原帖
我一直在使用可寻址的LED灯带(5V、12V、24V)进行安装。相同的几种故障模式反复出现:长距离运行时出现暗尾、随机闪烁或闪烁,以及连接器成为薄弱环节。 以下是一些对我帮助最大的做法: 将电源分配视为首要设计任务:尽早规划注入点,保持供电线短,并避免将所有电流都通过一端。 始终在控制器和灯带之间共享一个稳定的地线,并保持数据传输路径简单。当线路变长或环境噪声增大时,在数据源附近添加一个小的串联电阻和适当的电平转换(3.3V到5V)通常可以提高稳定性。 假设连接器是“消耗品”:应考虑应力缓解,防水处理需要保持可维护性,高电流线路应选择更保守的方案。 我很好奇你们在注入间距、分支熔断和故障排除方面最可靠的经验法则是什么。如果你有值得信赖的检查清单或测量方法,我很想学习。
2作者: tinuviel4 天前原帖
在阅读了Sparkbox上的《在Helene期间,我只想要一个纯文本网站》(<a href="https://news.ycombinator.com/item?id=46494734">https://news.ycombinator.com/item?id=46494734</a>)后,我建立了safe-now.live——一个面向美国和加拿大的文本优先紧急信息网站。没有JavaScript,没有图片,大小不到10KB。该网站实时获取FEMA灾害、NWS警报、天气和当地资源。这是我第一次上线的网站,因此希望能得到大家对网站的反馈。欢迎随意浏览。<p><a href="https://safe-now.live" rel="nofollow">https://safe-now.live</a>
2作者: kaave4 天前原帖
好的,这对你们中的许多人来说可能不算什么大事,但今天我只是感到无聊,对做任何营销都感到疲惫,因为似乎没有什么有效。所以我决定进行一些搜索(我搜索了不少关键词),比如“Supabase的错误跟踪”、“Next.js的错误跟踪”,但我的SaaS并没有排名(如果你不知道我在做什么,我正在开发一个非常简单的错误跟踪工具,当生产环境出现问题时会通知你,没有繁琐的仪表盘或配置地狱)。我之所以开发这个,是因为Sentry的噪音太多,我只想要一个能让我知道生产环境中出现问题的工具。 于是我决定搜索“Shipfast的错误跟踪(由Marc Lou提供)”,结果你猜怎么着?Bugmail是第一个推荐结果。我不知道这是怎么做到的,我做过一些SEO相关的工作,但没想到会有这样的结果,现在我感觉自己回来了,这很有趣,因为我并没有成交,也没有 onboard 新用户,但我感觉自己好像征服了一切,这就是创始人的生活吧。 我只是想在这里分享一下,如果你有任何关于如何在GSC上排名更高以及如何做好营销的建议,任何反馈都会很有价值。 同时,如果你想查看我开发的工具,可以在这里访问:https://www.bugmail.site