返回首页

一周热榜

2作者: duriantaco4 天前原帖
我一直在思考为什么在Python中,死代码检测(以及静态分析一般)相比其他语言感觉如此不可靠。我明白Python本质上是动态的。 理论上,这应该是简单的(再次强调,理论上):解析抽象语法树(AST),构建调用图,找到引用为零的符号。但在实践中,由于许多因素,这一过程很快就会失效,例如: 1. 动态调度(getattr、注册表、插件系统) 2. 框架入口点(Flask/FastAPI路由、Django视图、pytest夹具) 3. 装饰器和隐式命名约定 4. 仅通过测试或运行时配置调用的代码 大多数工具似乎在两种糟糕的权衡中选择其一: 1. 保守处理,错过大量真正的死代码 2. 激进处理,标记假阳性,导致人们失去信任 到目前为止,对我来说最有效的方法是将代码视为一种置信度评分,并结合一些有限的运行时信息(例如,测试期间实际执行的内容),而不是完全依赖静态分析。 我很好奇其他人在实际代码库中是如何处理这个问题的……你们是接受假阳性吗?还是完全忽视死代码检测?有没有人见过实际可扩展的方法?我知道SonarQube的噪音很大。 我构建了一个带有vsce扩展的库,主要是为了探索这些权衡(如果相关,链接在下面),但我更感兴趣的是其他人是如何看待这个问题的。希望我在正确的频道。 上下文的代码库: https://github.com/duriantaco/skylos
2作者: rjpruitt164 天前原帖
我正在研究基础设施,以解决重试风暴和故障问题。在深入之前,我想了解一下人们今天实际在做什么。比较不同的解决方案,也许能帮助某些人发现潜在的解决办法。 问题: - 重试风暴 - API 失败,整个系统的实例独立重试,造成“雷鸣般的群体效应”,使情况更糟。 - 部分故障 - API 虽然“在线”,但性能下降(响应慢,间歇性500错误)。健康检查通过,但请求却受到影响。 我想了解的是: - 你们目前的解决方案是什么?(熔断器、队列、自定义协调、服务网格,还是其他?) - 效果如何?存在哪些不足之处? - 你们的规模有多大?(公司规模、实例数量、请求数/秒) 我很想听听哪些方法有效,哪些无效,以及你们希望存在的解决方案。
2作者: adrianwaj5 天前原帖
是我一个人这样觉得,还是HN似乎正面临大量机器人提交、评论甚至完整对话的泛滥?
2作者: JeduDev4 天前原帖
目前,我正在开发一个用于管理文档、数据库和白板的网络应用程序——这是一款典型的应用,旨在像 Notion 一样。<p>然而,现在我面临着制定一个有 AI 使用限制的计划的困境,因为我的想法是让它更具自主性:能够在整个工作区内编辑和查询上下文,并将其转移到文档中,例如,可能在白板上绘制一些东西等。不过,我感觉消费可能会很快失控。我计划使用 DeepSeek 进行 AI 聊天,但使用 Gemini 3 Flash 进行自主使用和编辑,因为它更智能。最近,我注意到许多核心 AI 应用程序已经将定价模式从按请求计费转变为固定使用限制,但我不确定这是否会受到批评,是否会导致用户体验不佳,或者甚至让人觉得没有得到所支付的价值。因此,我希望听听大家对我应该做出什么决策的看法。
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>