每日HackerNews RSS

## Kalendis:开发者日程安排API Kalendis是一个API优先的后端,旨在简化开发者对用户界面的完全控制下的日程安排。它处理复杂的日程安排挑战,如时区、夏令时、重复事件和无冲突预订,让开发者专注于构建功能而不是基础设施。 Kalendis由对反复解决日程安排的这些“难题”感到沮丧的开发者构建,提供了一个使用ISO-8601时间戳和IANA时区的简洁REST API。其关键功能是其MCP(元代码平台)工具,它可以为Next.js、Express等框架自动生成类型化客户端和API路由处理程序,从而简化集成。 Kalendis专注于用户、可用性、例外情况和预订——避免了单体日程安排套件的臃肿。它已经帮助小型团队更快地构建强大的预订平台,并提供免费帐户,网址为[https://kalendis.dev](https://kalendis.dev)。

## 使用自定义错误简化 Axum 中的错误处理 本文详细介绍了一种简化使用 Rust 构建的 Axum Web 应用程序中错误处理的方法。解决的核心问题是匹配 `Result` 类型并返回适当 HTTP 状态码时,经常需要冗长的样板代码。 解决方案是创建一个新的类型 `AppError`,它包装 `anyhow::Error` 并实现 `IntoResponse` 和 `From<E>` 特性。这允许开发者利用 `?` 运算符进行简洁的错误传播。无需冗长的 `match` 语句,错误会自动转换为正确的 HTTP 响应。 具体来说,`IntoResponse` 处理将 `AppError` 转换为 Axum `Response`,通常返回一个 500 内部服务器错误,并带有错误消息或渲染后的模板。`From<E>` 实现能够自动将各种错误类型(如 `sqlx::Error`、`serde_json::Error`)转换为 `AppError`,前提是它们可以转换为 `anyhow::Error`。 这种方法显著减少了代码混乱,提高了可读性和可维护性。作者提供了一个 GitHub 仓库([原文链接]),展示了在 HATEOAS 项目中使用 htmx 的实际实现。

``` Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 在 axum 中实现 Rust 新类型错误 (rup12.net) 5 分,来自 ruptwelve 1 小时前 | 隐藏 | 过去 | 收藏 | 2 条评论 goddtriffin 1 分钟前 | 下一个 [–] 好文章。我也在所有的 Rust Web 服务器中这样做。我不用 anyhow,更喜欢自己处理一切——正如你所说,这会变得很麻烦。回复 hobs 20 分钟前 | 上一个 [–] 喜欢这篇文章,但各种各样的反引号非常分散注意力——我是否错过了什么价值?回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索: ```

(Empty input provided. There is nothing to translate.)

## PrinceJS:一位13岁少年开发的快速Web框架 来自尼日利亚的13岁开发者@Lil_Prince_1218发布了**PrinceJS**,这是一个为Bun构建的新型Web框架。它拥有令人印象深刻的性能——**每秒19,200个请求**,优于Hono、Elysia和Express等框架,而且体积仅为**2.8 kB**。 PrinceJS旨在轻量级,具有**零依赖和零配置**,并为缓存、AI集成等组件提供树摇优化。该开发者独自一人在不到一周的时间内构建了它,并积极寻求关于潜在改进的反馈。 Hacker News上的初步反应赞扬了该项目和开发者的技能,同时也有人建议改进基准测试和网站逐字符代码显示的方式。你可以在[GitHub](https://github.com/MatthewTheCoder1218/princejs)上找到该项目,并在[princejs.vercel.app](https://princejs.vercel.app)上找到文档。

本课程提供C语言编程、RISC-V指令集和处理器设计学习资源。**直播课程将于2025年9月开始。** 学生可以通过顶部导航栏找到完整的讲义和使用reveal.js制作的材料(可导出为PDF)。 预计完成时间约为每项资源2小时(通常为视频讲座),但面向“中级”学习者——那些具有一定编程经验(超过500行代码和调试技能)以及积极态度的人。初学者预计需要花费更多时间。 如有问题、材料错误或建议,请联系于子豪 (yuzihao#ict.ac.cn)。请注意,该网站正在积极开发中,页面加载可能会偶尔停滞——简单的刷新应该可以解决此问题。可以通过“课程首页”链接访问过去的课程。

一个新的课程“一人一芯片”(oscc.cc) 在Hacker News上引发了讨论。该课程旨在指导学生构建单片机计算机,但初步印象表明这是一项艰巨的任务——可能需要超过35天的专注工作。 一位评论员注意到课程的时间预估,并质疑教学的深度,特别是指出一个10小时的Linux安装模块似乎被高度引导。他们发现该模块的链接资源完全是汉字,没有额外的安装信息。 另一位用户提供了一个链接到该项目的介绍页面。总的来说,这门课程看起来雄心勃勃且具有挑战性,一些早期担忧集中在材料的清晰度和可访问性上。

## 持续Claude:自动化AI驱动的开发 持续Claude是一个CLI工具,旨在通过循环运行Claude代码来自动化复杂的编码项目。它解决了单次AI编码的局限性,通过实现迭代改进和持久化上下文来解决问题——这对于处理大型任务(如添加广泛的单元测试或迁移代码库)至关重要。 该工具模拟CI/CD实践,自动创建PR,等待检查和批准,并合并代码。一个关键特性是持久化上下文机制,利用共享的markdown文件(`SHARED_TASK_NOTES.md`)来存储迭代之间的进度和见解,防止知识丢失。 用户提供提示,设置迭代限制或成本预算,并指定GitHub仓库。然后,脚本管理整个PR生命周期,Claude专注于每个步骤的增量进展。它适用于依赖项更新、重构和解决技术债务等任务,并通过PR审查提供人工参与的方案。 持续Claude可在[GitHub](https://github.com/AnandChowdhary/continuous-claude)上获取,并可以通过一条命令安装。

## 持续Claude:迭代编码代理 Anandchowdhary 创建了“持续Claude”,一个CLI工具,旨在以连续、迭代的方式运行Claude代码,用于软件开发任务。与典型的单次编码代理不同,该工具在整个项目过程中保持持久的上下文。 它自动化了基于PR的工作流程:创建分支、应用代码更改、提交、打开拉取请求、等待审查和检查,以及合并成功的更改——所有这些都由Claude驱动。进度和推理记录在共享笔记中,防止迭代之间的数据丢失。 这种方法特别适用于复杂的、多步骤的任务,例如重构、依赖升级、增加测试覆盖率或框架迁移,在这些任务中保留中间步骤至关重要。一篇详细的博客文章进一步解释了该工具的功能。

奥尔德斯·赫胥黎在麻省理工学院的最后一次演讲,尽管是在几十年以前,却感觉出奇地现代——类似于一次专注于自我实现的说服性演讲。他探讨了实现我们潜力的非药物方法,强调了例如亚历山大技巧和格式塔疗法等技巧。赫胥黎钦佩这些方法,因为它们能够培养个体*内部*的理想品质,这与当时新兴的化学增强能力的想法(预示着类似Adderall的东西)形成对比。 他认为这些疗法的有效性源于它们的适应性,认识到不存在单一的“理想”人类。赫胥黎将这些疗法与《薄伽梵歌》中的三种瑜伽——虔诚、行动和沉思——相提并论,更具争议性的是,他还提到了威廉·谢尔登的体型学,暗示着通往启蒙的多种途径。 最终,赫胥黎倡导一种个性化的教育方法,摆脱标准化方法,并利用技术来满足个体差异。虽然演讲大量依赖例子和历史联系,但它提出了一个引人注目的论点,即通过心理训练来培养幸福和个人成长,而不是仅仅依赖外部的解决方案。

黑客新闻 新的 | 过去 | 评论 | 提问 | 展示 | 工作 | 提交 登录 奥尔德斯·赫胥黎预测了阿得拉和倡导替代疗法 (angadh.com) 9 分,由 surprisetalk 1小时前 发布 | 隐藏 | 过去 | 收藏 | 1 条评论 音频:https://www.youtube.com/watch?v=ld2E9LWIYJk&list=PLhQ_EZYXXS... 文字稿:https://www.organism.earth/library/document/realizing-human-... gnatman 11 分钟前 [–] 取代性苯丙胺在 1950 年代已经非常流行。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## Apache Iggy WebSocket 支持与 compio-ws:摘要 Apache Iggy 团队使用 `io_uring` 重写了其核心架构以提高性能,从而采用了 `compio` 异步运行时。这在添加 WebSocket 支持时带来了挑战,因为现有的 Rust 库 (`tungstenite`, `tokio-tungstenite`) 专为基于轮询的 I/O 设计,并依赖共享缓冲区——这与 `compio` 的基于完成、拥有缓冲区的模型不兼容。 为了解决这个问题,团队开发了 `compio-ws`,这是为 `compio` 提供的 WebSocket 实现。 最初使用 `SyncStream`(同步 I/O 的桥接)的尝试因其固定大小的缓冲区而导致性能问题,需要频繁且代价高昂的缓冲区处理。 通过 `GrowableSyncStream` 解决了这个问题,它是一种动态调整大小的缓冲区,可最大限度地减少往返次数。 基准测试表明,WebSocket 延迟明显高于直接 TCP(生产者高 30-40%,消费者高 100% 以上),但在严格的持久性约束下,仍然可以在高百分位实现个位数毫秒的延迟。 未来的工作包括优化缓冲区增长、探索利用 `compio` 功能的本机 WebSocket 实现,以及将改进贡献回 `compio` 项目。 目前,Iggy 利用 WebSocket 为生产者提供支持,为浏览器客户端和边缘设备带来好处,并计划为消费者提供服务器推送通知。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Show HN: 使用 Io_uring 和基于完成的 IO 在 Apache Iggy 中构建 WebSocket (apache.org) 5 分,by spetz 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系方式 搜索:

Flock Safety摄像头被宣传为执法部门的车牌识别器,但实际上是更广泛的监控工具。除了车牌,该系统利用“车辆指纹™”技术,通过车辆品牌、颜色、车顶行李架等特征,甚至部分遮挡的车牌来识别车辆。一项新的、昂贵的“高级搜索”套餐允许警方上传*任何*车辆图像——来自监控摄像头甚至手机照片——在Flock的数据库中搜索匹配项。 重要的是,Flock摄像头会捕捉它们所看到的一切,包括行人,而不仅仅是车辆,这引发了重大的隐私问题。华盛顿州最近的一项法院裁决将这些数据定为公共记录,促使一些城市因担心透明度而停用其系统。 这场争议凸显了现代监控的核心问题:虽然当局收集公民的大量数据,但他们抵制接受同样的审查。人们担心像ICE这样的机构可能会滥用这些数据,以及有权势的人希望将他们的活动隐藏在公众视野之外,这加剧了人们对Flock摄像头广泛部署的反抗。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 城市因必须发布大规模监控录像而恐慌 (nakedcapitalism.com) 60 分,pavel_lishin 38 分钟前 | 隐藏 | 过去 | 收藏 | 3 条评论 xnx 14 分钟前 | 下一个 [–] 全景摄像头 回复 bell-cot 21 分钟前 | 上一个 | 下一个 [–] 我听到了一些关于《蓝色眼睛背后》的新歌词… 回复 tptacek 20 分钟前 | 上一个 [–] 伊利诺伊州对此并不恐慌,因为伊利诺伊州将原始 ALPR 录像从 FOIA 中排除。不过,此页面是博客垃圾信息。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## 狗的驯化比先前认为的要早得多 一项新的研究挑战了长期以来的观点,即维多利亚时代的定向育种极大地塑造了现代犬种。研究人员分析了超过600个犬类头骨,跨越了5万年,发现显著的身体变化始于大约11,000年前,紧随最后一个冰河时代之后——在中石器时代。 这项发表在《科学》杂志上的研究表明,即使那时,狗也表现出比先前所理解的更广泛的头骨形状,包括较短的口鼻部和较宽的头部,以及类似狼的特征。今天犬种中近一半的多样性已经存在于古代犬类种群中。 这表明驯化并非仅仅是维多利亚时代的工程,而是一个渐进的过程,可能受到适应新环境、饮食和人类偏好等因素的驱动。证据还表明,狗与人类一起迁移到西伯利亚和中亚等地区,融入社会数千年——最初可能作为从人类聚居地附近受益的食腐动物。 该研究利用详细的3D头骨扫描,为人类和狗之间长期交织的历史提供了新的见解。

我们的狗的多样性可以追溯到石器时代 (bbc.com) 6点 由 1659447091 1小时前 | 隐藏 | 过去 | 收藏 | 1条评论 jimnotgym 11分钟前 [–] 这说明我什么… 我读到的是有人有一只神经多样性的狗 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 实现五九可靠性:从AWS us-east-1中断事件中吸取的教训 最近AWS us-east-1地区发生的大规模中断(10月20日)凸显了构建强大可靠性策略的必要性。虽然许多服务受到影响,但Authress通过主动构建具有弹性的架构保持了正常运行时间。本文详细介绍了他们实现五九(99.999%)SLA的方法——大约每年五分钟的停机时间——尽管依赖于可能不可靠的基础设施。 Authress的策略围绕着预测故障展开。他们避免仅仅依赖AWS SLA,认识到这些SLA无法达到他们的目标。关键组件包括:严格的三方依赖项审查(拒绝低于99.7%可靠性的依赖项)、使用DNS动态路由和健康检查实现自动多区域故障转移,以及使用CloudFront和Lambda@Edge实现边缘计算的本地化弹性。 除了基础设施之外,Authress还采用了复杂的应用程序级防御:自动重试、比较系统间数据的验证测试、增量发布以及具有自定义规则的强大的Web应用程序防火墙,以减轻恶意活动。至关重要的是,他们优先与客户支持建立直接联系,以便快速识别事件。 最终,Authress承认实现五九并非关于*预防*所有故障,而是关于最小化它们的*影响*。他们拥抱墨菲定律,认识到故障是不可避免的,并专注于分层防御、持续监控以及从每次事件中学习的承诺。虽然这些措施不能自动保证五九承诺,但它们代表了他们对该承诺的坚定捍卫。 **如需协助实施类似架构,作者鼓励您通过他们的社区服务器联系。**

Authress.io 详细介绍了他们在最近 AWS us-east-1 故障期间如何维持服务。虽然他们的标题暗示完全不受影响,但讨论显示了一种更为细致的方法。他们利用多区域故障转移策略,将流量从受影响的区域转移,以维持大多数用户的可用性。 然而,Authress 承认,专门要求在 us-east-1 区域内服务的客户受到了影响,因为他们的服务依赖于该区域的 AWS 可用性。他们正在考虑澄清服务级别协议 (SLA),明确将 us-east-1 排除在保证范围之外。 评论者讨论了依赖 AWS 进行健康检查的挑战(建议使用替代云提供商来实现冗余),以及部署到多个 AWS 区域的复杂性增加。该帖子引发了关于 Authress 最初声明准确性的争论,许多人认为这篇文章更像是一个故障转移系统的案例研究,而不是对不间断服务的吹嘘。

更多

联系我们 contact @ memedata.com