1作者: olivieropinotti大约 2 个月前原帖
嘿,HN! 我正在开发一个新应用,希望它能够像 Linear 一样快速且响应灵敏,具备实时查询、同步和写操作的能力。 我对此并不是专家,所以欢迎大家来给我普及一下。我已经研究了一些选项,比如 Convex、ElectricSQL、Zero、Liveblocks 等等。 我觉得这些选项在某些方面总是有所欠缺,最好的总结就是它们的模块化。 我希望在一个同步引擎中实现以下几点: - 能够使用我的数据库(Postgres,AWS RDS) - 能够在我的后端形成并执行查询(假设我在 Next.js(Vercel)中有前端,并通过 API 路由连接到我的 FastAPI 服务器(AWS ECS),在这里我有所有的身份验证/权限中间件等) - 有一种简单且熟悉的方式来向同步引擎声明模式(比如重用 SQLalchemy 或 Drizzle 的模式) - 一个简单的 SDK 来形成使用 SQL 的查询 此外,我想知道这样的系统如何与连接池、分片、复制等功能协同工作。 是否有类似的解决方案存在?或者有哪些主要挑战阻碍了这类解决方案的出现?
1作者: slroger大约 2 个月前原帖
嗨,HN,我正在开发一个短视频应用(平均视频时长40秒,预计每天播放量在10,000到50,000之间,且在增长,其中20%的流量来自美国以外,80%来自美国,主要是移动端)。我正在考虑以下两个选项: 1. **Cloudflare Stream + Backblaze (B2)**: 优点:产品简单,按观看分钟数计费(可能比GCP在视频流媒体方面更便宜),内置转码功能。 担忧:不确定他们的自适应比特率(ABR)质量是否能与GCP的质量相匹配,后者在之前的使用中表现非常好。 2. **GCP (GCS + Transcoder API + Media CDN)**: 优点:我之前使用过这个配置,稳定性很好,存储成本低,网络费用也低,流媒体质量出色。而且控制台相对容易操作(尤其是与AWS相比)。我离开GCP是因为与视频流媒体无关的问题(视频智能API的费用异常高),但考虑仅为视频存储和流媒体回归GCP。 缺点:配置转码API时遇到了一些问题,并且担心随着用户增加可能会有隐藏的费用。 如果你使用过Cloudflare Stream或GCP的视频流媒体服务,我很想听听你的看法: - 短视频的实际播放质量,尤其是1080p/720p的表现和比特率变化。 - 在Cloudflare Stream或GCP视频流媒体服务中,是否存在价格上的陷阱。 - 你遇到的可靠性/操作问题。 我目前倾向于选择Cloudflare Streaming,因为看起来更便宜/更划算,但对视频流的可靠性和质量有所担忧。因此,回归GCP进行视频流媒体服务也许并不是个坏选择。 期待你的想法,谢谢!
1作者: laphilosophia大约 2 个月前原帖
多年来,我安静地专注于我的工作,但现在我感到有必要指出一个日益明显的问题。 1. 正确的模型 ≠ 被采纳的模型 历史事实:在前端生态系统中,成功的并不是那些创造出最准确抽象的人,而是那些以最小摩擦提供“工作感觉”的人。 结果:正确的思维模型 → 低采纳率,而不正确但易用的模型 → 爆炸性增长。 这并非偶然。 2. 为什么基于意图/确定性模型没有成功? 有几个明显的原因。 认知负担: 意图 + 有限状态机 + 时间线需要: “我知道我在做什么”,“我在设计生命周期”,“我在有意识地生成状态。” 但对于今天的前端开发者来说,这不是一个特性,而是一个障碍。因为生态系统奖励的是:快速演示、快速工作、快速简历。 对于这样的人: 有限状态机 = 恐惧,确定性 = 不必要,明确的生命周期 = “过度工程”。 用户界面的容错性非常高: 在后端:错误的抽象 → 系统崩溃,金钱损失,数据损坏。 在用户界面:加载指示器转动的时间稍长,状态出现故障,用户刷新页面。 换句话说:前端错误可以被容忍很长时间。这使得糟糕的抽象得以存活。 React的副作用:“隐藏、保存”文化: React做了这一点:隐藏了生命周期,隐藏了并发,隐藏了协调。 结果:形成了一种“即使你不理解它也能工作”的文化。 这种文化:促进了仪式性的记忆,而不是工程思维。 写一个钩子,如果它能工作,那就好。但为什么能工作,怎么能工作?没有人会去问。 “氛围编码者”的爆炸不是原因,而是结果 因为这种情况并不是从ChatGPT、Gemini、Claude或Copilot开始的。这些只是加速了已有的衰退。基础早已奠定。 已经有一群人不知道抽象,不知道状态是什么,不知道并发是什么,但记住了框架。 人工智能只是做了这一点:它使“我不需要思考”的感觉变得正式化。 4. 不是框架,而是基础设施层 最大的错误是:“让我们构建一个新的用户界面框架。”这注定会失败,确实失败了。 -> “https://dayssincelastjsframework.com/” 然而,如果创建一个定位为运行时层、意图引擎、状态协调器、提交解析器的结构,它就会成为一个在React、Vue和Svelte等巨头之上的隐形层。 采纳方式是这样的:“想用就用”或“如果不想用就根本看不见”。 5. 最重要的教训(或许是所有教训) 我清楚地写下这句话:“前端世界现在并没有产生工程,而是在产生流水线式的行为。” 这就是为什么正确的抽象不会立即获胜,但这是不可避免的。 因为:用户界面变得越来越有状态,人工智能交互在增加,并发是不可避免的。 在这一点上:“加载指示器 + 钩子”模型将崩溃,人们将不得不再次问“为什么?” 而且是的:“在这种混乱中呼吁标准是毫无意义的。” 但当从正确的层面、正确的问题和正确的痛点出发时,这个模型不可避免地会创造价值。 这不是关于炒作,而是关于耐心。 --- 经过这些话,我意识到有抱怨,但解决方案在哪里? 我打开了一个GitHub仓库,并添加了一个“AI支持”的RFC提案。欢迎任何想要参与的人。 谢谢。 https://github.com/laphilosophia/temporal-intent-resolution
1作者: aashirpersonal大约 2 个月前原帖
我之所以构建这个工具,是因为我厌倦了猜测我的RAG系统为何会失败。它将用户查询与文档映射到二维空间中,以寻找“红区”(高用户意图、低文档支持)。这是一个开源项目,使用FastAPI和React构建。希望能得到关于聚类逻辑的反馈。