Workflow
Node.js
icon
Search documents
年薪 15 万程序员下班送外卖,自称解压放松。网友:工作不饱和了吧
程序员的那些事· 2025-08-25 06:35
伯乐在线 . 伯乐在线分享IT互联网职场和精选干货文章(原域名已不再维护)。组织维护10万+star的开源技术资源库, 包括:Python, Java, C/C++, Go, JS, CSS, Node.js, PHP, .NET 等 这事居然还上微博热搜了: 以下文章来源于伯乐在线 ,作者伯小乐 小麻哥今年 27 岁,河南郑州某央企的程序员,年薪大概 15 万元。 小麻哥 认为,跑外卖是一种解压的方式,因为在工作中经常要做很多逻辑思考,一下班就想放松。 跑外卖就只用看 着手机,前往某个地方取餐,还能吹吹风,跟女友一起溜达看看城市夜景。 小麻哥说表示, 总体而言还是挺好玩的,就像寻宝游戏,拿到餐,抵达目的地后获得金币。 小麻哥 也做自媒体,评论区里也有不友好的言论,说我一个有工作的人为什么要抢别人没工作的人饭碗。 对于恶评,他说看得还是比较开的,比较无所谓,有时候阐述一下自己的观点,但更多的是不予理会。 网友留言 "15 万的央企程序员,有个毛的压力" "主要不是跑外卖,更多可能是希望自媒体能火,那就主营业务变成网红了" "醉翁之意不在于下班跑外卖,而是把跑外卖的经历拍成短视频,本意还是想发展自媒体。至于跑外 ...
2 万程序员签名!Node.js 之父炮轰 Oracle,这事对行业有重大影响。网友直呼:它就是寄生虫
程序员的那些事· 2025-06-29 11:31
Core Viewpoint - The ongoing legal battle between Ryan Dahl, the creator of Node.js, and Oracle over the JavaScript trademark centers on the claims of generic use and abandonment of the trademark by Oracle, which has not actively used it in product development for years [5][28]. Group 1: Latest Developments - On June 18, the Trademark Trial and Appeal Board (TTAB) dismissed the fraud claims against Oracle, which alleged that Oracle misled the USPTO by using Node.js website screenshots to prove the use of the JavaScript trademark [3][4]. - The focus of the case is now on the more critical claims of genericity and abandonment, with a deadline for Oracle to respond to the trademark cancellation application set for August 7 [5][7]. - As of the writing, over 20,455 individuals have supported the stance that JavaScript is not Oracle's product, highlighting the public interest in the case [8]. Group 2: Background of the Trademark Dispute - The trademark dispute traces back to 1995 when Sun Microsystems registered the JavaScript trademark during its collaboration with Netscape [14]. - Oracle acquired the trademark in 2009 through its purchase of Sun but has not utilized it in any significant product development, leading to claims of abandonment [15][18]. - In November 2024, Deno Land, founded by Ryan Dahl, filed a petition with the USPTO to revoke Oracle's ownership of the JavaScript trademark, citing generic use and lack of actual use over the past 15 years [12][22]. Group 3: Industry Impact and Underlying Issues - The trademark restrictions have led to confusion in the industry, with developers often using ECMAScript as the official name instead of JavaScript, which has hindered community events and led to legal threats from Oracle [25]. - Oracle's insistence on retaining the trademark is viewed as a legal deterrent, reflecting its historical approach to trademark enforcement, as seen in its lengthy litigation against Google over the Java trademark [26]. - The case represents a broader struggle between the open-source community and corporate control over technology, with Dahl asserting that JavaScript should be considered a public good rather than a corporate asset [27][29].
不到 2 个月,OpenAI 火速用 Rust 重写 AI 编程工具。尤雨溪也觉得 Rust 香!
程序员的那些事· 2025-06-06 00:32
Group 1 - OpenAI has rewritten its AI command-line programming tool Codex CLI in Rust to enhance performance and security while eliminating dependency on Node.js, which may frustrate some users [1][2] - Codex CLI is an experimental programming agent that can run in the ChatGPT web browser environment and locally, featuring a chat-based user interface that operates in both interactive and silent modes [1] - The source code of Codex CLI was originally in TypeScript and required Node.js, but the team has now completed the rewrite in Rust [1][5] Group 2 - The decision to rewrite in Rust is driven by four key reasons: zero dependency installation, sandboxing requirements, performance optimization, and the ability to reuse existing Rust-based Model Context Protocol (MCP) implementations [2][4] - The current tool requires Node.js version 22 or higher, which may pose a barrier for some users [4] - Rust's lack of a runtime garbage collection mechanism leads to lower memory requirements, contributing to performance improvements [5] Group 3 - The Codex project currently has a composition of 46.7% Rust, making it the leading language, followed by TypeScript at 44.7% [5] - Codex CLI will still support code extensions in other languages such as JavaScript and Python, although specific details are yet to be disclosed [5] - Vue creator Evan You has also praised Rust for its efficiency, noting that the new version of Vite, using Rust-based Rolldown, has reduced production build times by 3 to 16 times and memory usage by up to 100 times [6]
没有防御性编程,Rust服务稳定到不需要维护,然后老板说不需要我们了...
菜鸟教程· 2025-06-05 12:05
Core Insights - The article illustrates the paradox of success in technology, where a highly efficient system can lead to the perception that fewer developers are needed, ultimately jeopardizing the use of that technology [1][29]. Group 1: Technical Debt - The company had a traditional tech stack and needed to develop a real-time service to support 100,000 concurrent users, displaying user activity information [2]. - The initial choice of Ruby was deemed inadequate, prompting discussions on technology selection [3]. Group 2: Technology Selection Battle - The development team proposed using Rust, but management was cautious and requested comparisons with other languages [4][5]. - Concept validation versions were created using Elixir, Rust, Ruby, and Node.js, with Rust being developed by a novice [5][6]. Group 3: Performance Results - The performance results showed Rust as the fastest and most memory-efficient option, followed by Elixir, Node.js, and Ruby [8][10]. - The final decision favored Rust not only for its performance but also for its versatility in future applications [10]. Group 4: Rapid Development - Due to time constraints, a single developer with Rust experience was tasked to lead the project, collaborating closely with the team [11][13]. - The architecture was designed to handle 100,000 connections efficiently, utilizing a WebSocket-based API and in-memory data storage [14]. Group 5: Performance Challenges - The service performed stably under the expected load, but management later decided to shift it to maintenance mode, leading to a lack of oversight [16]. - The service was initially successful, but as the company expanded, management questioned the need for Rust developers due to the service's stability [19][20]. Group 6: Management Decisions - The new director's perspective led to the departure of experienced Rust developers, as they were deemed unnecessary due to the service's lack of issues [22]. - The decision to abandon Rust in favor of more mainstream technologies raised concerns about the existing Rust service's future [23]. Group 7: Node.js Rewrite Attempt - The attempt to rewrite the service in Node.js failed due to its single-threaded nature, which could not handle the required load [24][25]. - The company resorted to using a third-party service, which also proved inadequate [26]. Group 8: Lessons Learned - The Rust service continued to operate effectively but without a dedicated maintenance team, highlighting the risks of having a highly efficient system [28][29]. - The article concludes that sometimes, a less-than-perfect system may be perceived as safer, emphasizing the impact of management changes on technical decisions [29].
程序员:在 8 家公司当工具人后,终于明白“有用”和“被重视”差了 10 条街
程序员的那些事· 2025-06-04 02:13
Core Viewpoint - Understanding the distinction between being "useful" and being "valued" in the workplace is crucial for career development and personal growth [3][4]. Group 1: Definitions and Implications - "Useful" refers to being proficient in specific tasks, allowing superiors to delegate work confidently, but often leads to being seen as merely filling gaps rather than being integral to strategic discussions [6]. - "Valued" means being included in core conversations and decision-making processes, which provides opportunities for meaningful growth and contribution to the company [6]. Group 2: Personal Experiences - During a company crisis, an individual was recognized as essential not just for past performance but for future contributions, receiving a retention bonus equivalent to 50% of total compensation [10]. - In a later role, despite achieving targets and receiving bonuses, the individual felt stagnant as they were not invited to strategic discussions, highlighting the difference between being "useful" and "valued" [12]. Group 3: Recommendations - Individuals are encouraged to reflect on their roles and assess whether they are merely "useful" or genuinely "valued" within their organizations [13].
公司Rust团队全员被裁,只因把服务写得「太稳定」:“项目0故障、0报警,那养着3个Rust工程师没用啊”
猿大侠· 2025-06-02 04:22
Core Viewpoint - The article discusses the paradox of a successful Rust project leading to its eventual abandonment within a company due to management changes and a lack of understanding of its value [2][12][15]. Group 1: Project Background and Development - The project took place in a rapidly growing unicorn startup that primarily used Ruby on Rails and Node.js, with no initial use of high-performance languages like Rust or Go [3]. - The team decided to develop a real-time service to support 100,000 concurrent users, leading to a comparison of different programming languages including Rust, Elixir, Ruby, and Node.js [4][10]. - Rust was ultimately chosen for its flexibility and performance, despite initial bugs, and the team completed the MVP in just two weeks [8][9][10]. Group 2: Performance and Stability - The Rust version outperformed others in speed and memory usage, successfully supporting 100,000 concurrent users without issues [10][11]. - After a month of stable operation, the service was put into maintenance mode as company strategy shifted, leading to the disbanding of the Rust development team [12][13]. Group 3: Management Changes and Consequences - A new management team, unsatisfied with the perceived lack of activity from the Rust service, decided to phase out Rust in favor of more familiar technologies like Ruby and Node.js [13][14]. - The decision resulted in the departure of three experienced Rust engineers, which was seen as a missed opportunity for the company to leverage Rust's capabilities further [15]. - Ultimately, the management's decision to rewrite the Rust service in Node.js led to complications and performance issues, highlighting the challenges of maintaining high concurrency with Node.js [16][17]. Group 4: Industry Insights and Reactions - The article sparked discussions among developers who shared similar experiences of successful projects being undervalued or abandoned due to management decisions [17][18]. - Many industry professionals noted that such occurrences are common in companies as they grow and management changes, often stifling innovation [18].
公司Rust团队全员被裁,只因把服务写得「太稳定」:“项目0故障、0报警,那养着3个Rust工程师没用啊”
3 6 Ke· 2025-05-30 09: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 实现。当时,这家公司并没有 ...