.js

搜索文档
2 万程序员签名!Node.js 之父炮轰 Oracle,这事对行业有重大影响。网友直呼:它就是寄生虫
程序员的那些事· 2025-06-29 19:31
最新进展 - 商标审判和上诉委员会(TTAB)驳回了对甲骨文公司的欺诈指控,但相关方对此裁决持不同意见 [3] - 指控称甲骨文在2019年商标续展时故意提交Nodejs网站截图作为JavaScript商标使用证据,而Nodejs与甲骨文无任何关联 [4] - 案件核心主张转向商标的通用性和放弃使用,而非欺诈指控 [5] - JavaScript已成为全球通用的编程语言名称,而非特定品牌或甲骨文产品 [6] - 案件加速推进,甲骨文需在8月7日前回应撤销申请,9月6日启动证据开示程序 [7][8] - 已有20455人在javascripttm网站联署支持撤销商标 [8] JS商标恩怨由来 - 2024年11月Deno Land公司向USPTO提交请愿书要求撤销甲骨文对JavaScript商标的所有权 [12] - 商标最初由Sun Microsystems于1995年注册,2009年随Sun被甲骨文收购而转移 [14][15] - 甲骨文被指控长期闲置商标且未用于实际产品开发,唯一关联产品JET工具包市场影响力微弱 [15] - 2019年甲骨文商标续展时使用Nodejs官网截图作为证据,而Nodejs是独立开源项目与甲骨文无关 [17][18] - 2024年9月行业领袖发起联名公开信,联署人数从2024年11月的14万增至2025年6月的20万 [20][21] 法律程序与行业影响 - Deno Land指控甲骨文三项违规:商标通用化、欺诈行为和放弃使用 [22] - 技术命名混乱导致业界被迫使用ECMAScript替代JavaScript,部分企业收到甲骨文律师函 [25] - 甲骨文坚持商标被解读为法律威慑策略,类似其对Java商标的长期诉讼历史 [26] - 开源社区认为JavaScript应作为公共产品而非企业资产,Nodejs和Deno项目的成功佐证这一观点 [27] - 案件结果将决定JavaScript是否成为首个回归公共领域的主流编程语言名称 [28] 网友观点 - 网友质疑甲骨文在JavaScript商标上无实际利益却坚持诉讼的合理性 [32][33]
OpenAI Canvas新增下载功能
快讯· 2025-06-13 07:34
OpenAI Canvas现支持下载,可以导出为PDF、docx或markdown。使用Canvas编写代码可以直接导出到 合适的文件类型(如.py、.js、.sql等)。 ...
不到 2 个月,OpenAI 火速用 Rust 重写 AI 编程工具。尤雨溪也觉得 Rust 香!
程序员的那些事· 2025-06-06 08:32
OpenAI 用 Rust 重写 Codex CLI - OpenAI 已用 Rust 语言重写其 AI 命令行编程工具 Codex CLI,目的是提升性能、安全性并避免对 Node.js 的依赖 [1] - Codex 是一款实验性编程代理工具,可在 ChatGPT 网页浏览器环境或本地通过 CLI 运行,支持交互式和非交互式模式 [1] - 2025 年 4 月 17 日 Codex CLI 在 GitHub 上开源,支持 macOS、Linux 和 Windows 系统 [1] - 原版本基于 TypeScript 和 Node.js,现已用 Rust 完成重写,但 TypeScript 版本仍会维护至 Rust 版本功能对等 [1] 选择 Rust 重写的原因 - 零依赖安装:原版本要求 Node.js 22 及以上,可能成为用户门槛 [2][4] - 沙盒化需求:macOS 使用 Apple Seatbelt,Linux 默认不启用沙盒,Rust 版本实现了 macOS 的 sandbox-exec 和 Linux 的 Landlock 沙盒机制 [4] - 性能优化:Rust 无垃圾回收机制,内存需求更低 [5] - 可复用现有 Rust 版 MCP 实现:Codex CLI 将同时具备 MCP 客户端和服务器功能 [5] - 截至 6 月 6 日,Rust 在项目中占比 46.7%,超过 TypeScript 的 44.7% [5] 行业对 Rust 的认可 - Vue 创作者尤雨溪推出基于 Rust 的 Rolldown-Vite,替代原 Rollup.js 打包工具 [6] - 采用 Rust 后生产构建时间缩短 3 到 16 倍,内存使用量最多减少 100 倍 [6]
没有防御性编程,Rust服务稳定到不需要维护,然后老板说不需要我们了...
菜鸟教程· 2025-06-05 20:05
技术选型与性能表现 - 公司原有技术栈以Ruby和Node.js为主,面临支持10万并发用户的实时服务需求时,Ruby被确认不适合该场景 [2][3] - 团队进行四种语言概念验证(Elixir、Rust、Ruby、Node.js),Rust版本由新手开发者编写但仍以显著性能优势胜出:速度最快、内存占用最少 [5][8] - Elixir在并发处理中表现优异,Node.js受限于单线程需分布式部署,Ruby性能垫底 [9][10] Rust的采纳与开发过程 - 团队最终选择Rust因其通用性潜力,包括网络编程、Web服务及多语言SDK开发等战略价值 [10] - 项目时间紧张,由单一开发者采用极简架构实现:基于WebSocket的API,内存哈希表存储,事件推送至Kafka [13][14] - 开发效率极高:2周完成第一版,1-2周部署,一个月内扩展功能,稳定运行零故障 [15][18] 性能优化与管理层冲突 - 服务在50万并发用户活动前招聘3名Rust开发者优化,最终单台64核机器支持100万并发(P99延迟10ms)、200万并发(P99延迟25ms) [19][21] - 管理层因服务过于稳定质疑团队价值,强制要求转用Ruby/Node.js,导致3名Rust开发者离职 [20][22] - 禁用Rust后尝试Node.js重写失败,因单线程无法处理高负载,最终依赖第三方服务仍性能不足 [24][25][26] 结果与行业启示 - 原Rust服务持续在生产环境稳定运行但无人维护,成为"被遗忘的英雄" [28][29] - 技术决策受管理层变动显著影响,人力资源倾向主流技术栈(如Node.js/Ruby)与性能需求存在矛盾 [22][23] - 极端稳定性反成团队风险,揭示技术成功与管理预期错位的悖论 [1][29]
程序员:在 8 家公司当工具人后,终于明白“有用”和“被重视”差了 10 条街
程序员的那些事· 2025-06-04 10:13
职场价值认知 - 职场中"有用"与"被重视"存在本质差异:"有用"指高效完成特定任务,成为可靠执行者,但工作内容可能非战略核心[6];"被重视"则体现为参与战略决策和核心对话,获得明确晋升路径[6] - 两者外在信号相似(晋升/奖金/股票奖励),但"被重视"在危机时刻更显著(如裁员时获得留任奖金)[5][10] - "有用"可能导致角色停滞:案例显示员工虽持续获得奖金,但长期未被赋予战略职责或成长机会[12] 行业案例实证 - 数字化转型中技术人才价值凸显:某数据分析师在裁员期间因技能契合公司数字化方向,获得50%年薪的留任奖金[10] - 科技行业普遍现象:资深技术人员反映多数情况下仅被视为"有用"资源,仅少数获得战略角色机会[14][16] - 行业波动性影响:即使曾受重视的技术骨干(如10年TypeScript开发者)也可能因业务调整被裁[19] 职业发展模式 - 个人贡献者(IC)定位:工程师/分析师等专业岗位可通过技术能力获得认可,但需主动突破执行者角色[9] - 外包模式选择:部分技术人员倾向合同工形式,规避公司政治,专注技术问题解决[17] - 职业路径分异:商业导向者易获晋升,而纯技术导向者可能面临成长瓶颈[16][17] 行业现状观察 - 科技企业人才管理现实:多数员工被视为可替换资源,真正战略重视案例罕见[14][15] - 技能价值动态变化:数字化技术等新兴领域人才短期内更受重视[10][19] - 绩效评价局限性:高绩效执行者可能长期未被纳入战略梯队,反映人才评估机制缺陷[12][18]
公司Rust团队全员被裁,只因把服务写得「太稳定」:“项目0故障、0报警,那养着3个Rust工程师没用啊”
猿大侠· 2025-06-02 12:22
项目背景与技术选型 - 一家快速成长的独角兽初创公司主力应用采用Ruby on Rails和Node.js,未使用高性能编译型语言如Rust或Go [3] - 公司计划开发实时在线状态服务,初期需支撑10万并发用户,团队认为Ruby不适合此场景 [3] - 技术选型阶段,团队用Elixir、Rust、Ruby和Node.js编写原型进行性能测试,Rust因灵活性和性能脱颖而出 [4][6][7] Rust项目开发与性能表现 - Rust版本在基准测试中速度最快、内存占用最低,Elixir次之,Node.js受限于单线程,Ruby最慢 [10] - MVP版本仅用两周开发完成,两周部署上线,采用内存哈希表和Kafka事件推送的极简设计 [8][9] - 服务稳定支撑10万并发用户,后续扩展功能也未出现故障 [11] - 优化后性能显著提升:支持100万并发(p99延迟10ms)和200万并发(p99延迟25ms) [12] 管理决策与Rust团队解散 - 公司战略调整导致实时功能搁置,Rust团队解散,服务转入低维护状态 [12] - 新管理层认为Rust工程师"冗余",要求其转岗至Ruby/Node.js或离职,3名Rust开发者全部离开 [14][15] - 决策层未采纳推广Rust的建议,尽管已有成熟服务、工程师和多个适用业务场景 [15] 技术重写与后续影响 - 管理层强制用Node.js重写Rust服务,首次尝试因架构复杂性失败,需依赖第三方平台Ably但性能不达标 [16] - 最终Rust服务虽仍在运行,但因缺乏维护团队,扩展需求被放弃或采用次优方案 [17] - 开发者社区反馈此类事件普遍存在,管理层常因不理解技术价值而抵触非主流技术 [18] 行业现象与开发者观点 - 类似案例常见:技术成功反导致团队被裁,因"无维护需求"难以向管理层证明价值 [17][18] - 企业扩张中管理更替易破坏技术创新,决策者倾向选择主流技术而非最优方案 [18] - Rust等高性能语言面临推广困境,尤其在非技术驱动型组织中 [15][18]
公司Rust团队全员被裁,只因把服务写得「太稳定」:“项目0故障、0报警,那养着3个Rust工程师没用啊”
36氪· 2025-05-30 17:32
还记得不久前的那篇《"因为一次成功重写,我们 CTO 彻底封杀了 Rust!"》吗? 当时,许多读者留言称这故事"离谱"得像是由 AI 杜撰的,其中就包括了本文的主人公——一位 Reddit ID 名为 Drogus 的开发者:"一篇用 AI 生成的帖子"、"明显是假的"。 话虽如此,Drogus 却不由得联想到了一段他自己的真实经历,与其中某些情节有几分相似:"Rust 项目 做得太成功,反而导致这门语言在公司内部被「判了死刑」"。 项目背景:一个快速成长的独角兽初创公司 Elixir 次之; Node.js 表现还可以,但受限于单线程运行时; Ruby 最慢。 值得注意的是,Rust 版本最初存在也一个小 bug:开发者用 async futures 给客户端发消息时,会遍历所 有客户端来获取发送通道列表,这在高负载下会阻塞运行时几秒。不过这个问题属于实现细节,对熟悉 Rust 的人来说并不难修复。 这件事发生在几年前。那时,Drogus 刚加入了一家在疫情期间快速成长的独角兽初创公司,其主力应 用采用 Ruby on Rails 编写,一些视频处理相关工具则用 Node.js 实现。当时,这家公司并没有 ...
数据可视化工具软件全解析:从入门到专业
搜狐财经· 2025-05-30 01:29
在大数据时代,数据可视化已成为企业和个人解读信息、洞察趋势的核心技能。面对海量数据,如何选 择合适的工具将其转化为直观的图表与仪表盘?本文将系统梳理七大类别30余款主流数据可视化工具, 助您精准匹配业务需求。 一、商业智能(BI)工具:企业级数据分析利器 1. Tableau(行业标杆) 作为全球领先的BI平台,Tableau提供从数据连接到高级分析的完整解决方案。其拖拽式操作界面支持 快速创建交互式仪表盘,独有的VizQL技术可自动优化可视化逻辑。典型案例包括沃尔玛使用Tableau实 现供应链动态监控,节省数百万美元库存成本。但每年999美元/用户的定价对中小企业构成门槛。 2. Microsoft Power BI(微软生态整合) 深度集成Office 365的Power BI,以每月9.9美元的订阅价格提供DAX公式、自然语言查询等高级功能。 某零售企业通过Power BI自动同步Azure数据库,将销售报告生成时间从3天缩短至实时更新。其局限性 在于复杂计算需要较强DAX编程能力。 3. Qlik Sense(关联引擎驱动) 采用内存计算技术的Qlik,能在10秒内处理千万级数据关联分析。某银行使用 ...
社交APP开发的技术框架
搜狐财经· 2025-05-28 14:49
一个典型的社交APP会包含前端(移动APP或Web端)、后端(服务器、数据库)以及一些支持工具和服务。北京木奇移动技术有限公司,专业的软件外 包开发公司,欢迎交流合作。 前端是用户直接交互的界面,主要分为移动端(iOS/Android)和Web端。 后端负责处理业务逻辑、数据存储、用户认证、API接口等。 原生开发 (Native Development): iOS: 语言: Swift (推荐,现代、安全、高性能), Objective-C (老项目维护)。 框架: UIKit (传统UI框架), SwiftUI (新一代声明式UI框架)。 特点: 性 能最佳,用户体验最流畅,可访问设备所有原生功能,但开发成本高(需要分别为iOS和Android开发)。 适用场景: 对性能、动画、用户体验有极 致要求,或需要深度集成Apple生态系统特性的复杂社交APP。 Android: 语言: Kotlin (推荐,现代、简洁、Google官方支持), Java (老项目维护)。 框架: Android SDK (传统UI组件), Jetpack Compose (新一代声 明式UI框架)。 特点: 同iOS原生开发, ...
2025 年这些优秀 Chrome 扩展必须安排上,早用早下班,开发效率杠杠~
菜鸟教程· 2025-05-26 21:48
开发调试类扩展 1、React Developer Tools React 开发者的必备工具,允许你检查和调试 React 组件树、查看组件状态和属性,以及分析性能问题,支持 React 新特性,包括 Hooks 和 Suspense。 2、Vue.js devtools Vue.js 开发者的官方调试工具,提供组件检查、Vuex 状态管理调试、事件追踪等功能。对于使用 Vue 3 的项目特别有用,支持 Composition API 的调试。 3、Redux DevTools Redux 状态管理的调试神器,可以实时查看 action 分发、状态变化,支持时间旅行调试功能,让你能够回溯到任意状态点。 4、Web Developer 提供了大量的 Web 开发工具,包括禁用 JavaScript、查看页面结构、验证 HTML/CSS、调整浏览器窗口大小等功能。 性能优化类扩展 1、Lighthouse Google 官方的网站性能分析工具,可以生成详细的性能、可访问性、SEO 和最佳实践报告。 2025 年版本增强了对 Core Web Vitals 的分析。 | thouse | | | | 添加至 Chr ...