首页
学习
活动
专区
圈层
工具
发布

马斯克“逼疯”DOGE 团队:限时数月内“闪电式”重构6000万行代码,老程序员和IT专家吓傻了!

该项目由马斯克的副手史蒂夫·戴维斯牵头,负责将全部 SSA 系统从 COBOL(最早的主流面向业务编程语言之一)迁移到更为现代的替代性语言如 Java 上,而且工期只有短短数月——典型的时间紧、任务重。...直到 2016 年,SSA 基础设施当中仍包含超过 6000 万行用 COBOL 编写的代码,外加数百万行使用其他传统语言编写的代码。...事实上,根据 SSA 自己的 2017 年现代化计划里的说法,自 1980 年代其开发自有数据库系统 MADAM(主数据访问方法,此系统采用 COBOL 加汇编语言编写而成)以来,SSA 的核心程序系统与架构就再未进行过...正如网友所说,目前美国大量关键系统仍在使用 COBOL,但主流做法是用现代语言编写一个新界面,这个界面仍然调用所有旧的东西,避免触碰旧代码,因为天知道他们会破坏什么随机的东西。...我刚刚迁移了一个类似的系统,尽管它规模更小。我迁移的那个是一个主机系统,大约有 1000 万行代码。祝你好运,Elon。

27710

一个52000+行代码文件给我的启示

万行全部写在一个 TS 文件里,而文件大小则达到了惊人的 2.92 MB —— 这相当有趣,为什么?...(production build 会比 dev build 要快不少的原因之一) 07.往 String.prototype.xxx 上注入东西 这类操作在普通 JS/TS项目里是一定会被鄙视的,但一个静态类型语言怎么没办法自己拓展基础类型来使用呢...从语言特性的层面来说,TS 真的缺一个满血版模式匹配 + enum adt 了,但目前 TS 原则上是不会再合入新的 runtime 特性了 —— 这就很难受了,又不能表驱动,又不能模式匹配,最后代码很...以后不会有更进一步的演进了,因为目前 TS 类型系统已经相当完善了,甚至部分能力其他语言都没有,比如 Union Types 以及领先各大友商的控制流分析技术(然而,2024 了 TS 还没有满血版 ADT...此外这东西太猛了,几乎就是一个 C 语言版的 匿名 struct 定义对象+内存结构的方案了,我估计各大浏览器估计都不太想搞这个 —— 这个要大改引擎的 JS 对象模型了,如果真能实装我很期待它的性能表现

247.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Excel-Agent实测:这款AI做表工具,让我彻底告别了vlookup

    说实话,最初吸引我的是它的价格——两位数就能买断,终身使用。但真正让我决定试一把的,是它支持完全本地化部署。你可能不知道这意味着什么。...市面上类似的AI工具,要么按次收费,要么按月订阅,一年下来大几百上千是常态。更麻烦的是,你的数据得传到人家的服务器上处理——财务数据、客户信息、销售记录,这些东西谁放心往云端丢?...对数据敏感的企业来说,这几乎是刚需。用了一周后,我已经不太想手动写公式了。先说说它到底是个啥Excel-Agent本质上是一个"用说话代替写公式"的AI工具。...你可以自定义模板,调整字体、颜色、章节结构,生成的报告直接就能交差。技术实现上的一些门道作为一个半吊子技术人,我研究了一下它背后的实现逻辑,还挺有意思的。自然语言到代码的转换这不是简单的关键词匹配。...本地执行的安全沙箱生成的代码在一个隔离的环境里执行,不会对你系统里的其他文件造成影响。处理结果通过标准输出返回,整个过程是可控的、可审计的。

    18510

    求求你不要再用offset和limit了

    但是,当数据库里的数据量超过服务器内存能够存储的能力,并且需要对所有数据进行分页,问题就会出现。 为了实现分页,每次收到分页请求时,数据库都需要进行低效的全表扫描。 全表扫描 什么是全表扫描?...只需单击顶部的“运行”,然后比较每个执行时间。第一个查询:1秒;(问题查询)至少需要30秒钟的时间才能运行。 数据越多,情况就越糟。看看我对 10 万行数据进行的 PoC。...ref=hackernoon.com 现在你应该知道这背后都发生了什么:OFFSET 越高,查询时间就越长。 2. 有什么解决方案 这是你应该使用的: [替换查询方案] 这是基于游标的分页。...要使用这种基于游标的分页,需要有一个惟一的序列字段 (或多个),比如惟一的整数 ID 或时间戳,但是在某些特定情况下,这可能不符合我们的需求。...我的建议是始终考虑每种表体系结构的优缺点以及在每种表体系结构中需要执行哪种查询。 如果您需要在查询中处理大量相关数据,Rick James 的文章提供了更深入的指导。

    1.5K00

    【译】更新 Go 内存模型 Updating the Go Memory Model

    这一部分我们将重申 Go 的设计哲学和他目前的内存模型,在这之后我将概述我认为我们还应该对 Go 内存模型做哪些细微的调整。它以前面的 硬件内存模型 和 编程语言内存模型 为背景。...Go 作为一个有用的编程环境的另一个方面是对最常见的编程错误拥有定义良好的语义,这有助于理解和调试。这个想法并不是什么新鲜事。...在没有数据竞争的情况下,Go 程序的行为就好像所有的 goroutines 被多路复用到一个单一的处理器上。这个属性有时被称为DRF-SC:无数据竞争的程序以顺序一致的方式执行。...其他编程语言对于存在数据竞争的程序一般采取两种方法:首先,以 C 和 C++ 为例,带有数据竞争的程序是无效的:编译器可能会以任意令人惊讶的方式破坏它们。...这是好的。 这没什么。 Maybe:添加非同步原子 所有其他现代编程语言都提供了一种进行并发内存读写的方法,这些读写不会同步程序,也不会使程序无效(不将其算作数据竞争)。

    66920

    记一次关于对十亿行的足球数据表进行分区!

    公司开发了一个网络应用程序,供体育专家做出决策和探索数据。该应用程序支持任何运动。全世界每天玩的数百场游戏中的每一场都有数千行。...当我们开始对 Events 表执行繁重的查询时,真正的挑战出现了。但在深入研究之前,让我们看看事件表是什么样子的: 如您所见,它不涉及很多列,但请记住,出于保密原因,我不得不省略其中一些。...百万行表很慢 如果您曾经处理过包含数亿行的表,您就会知道它们天生就很慢。您甚至无法想到在如此大的表上运行 JOIN。然而,您可以在合理的时间内执行 SELECT 查询。...优点 在最多包含 50 万行的表上运行查询比在 50 亿行的表上运行性能要高得多,尤其是在聚合查询方面。 较小的表更易于管理和更新。添加列或索引在时间和空间方面甚至无法与以前相比。...这迫使我们执行删除和更新查询,这些查询在如此小的表上要快得多。另外,他们总是只关注特定的一些游戏SeasonCompetition,所以我们现在只需要在一个表上操作。

    1.4K40

    代码优化的 5 大原则,第 1 条相信你一开始就没想到!

    所以,你要做的第一件事,应该是设置一个合理的优化目标: 你需要清楚地了解你要达成的目标是什么,以及各种优化手段与这个目标之间的关系。...你要做的每一件事情,都必须是可计量的。不要相信直觉,它基本上总是把你引向非常糟糕的方向。 2. 使用一个分析器 在没有经过分析之前,不要贸然调整任何东西。...你只需要缓存最常用的字符或数据,就能大大提高程序的性能。 使用一种更低层次的语言重写 警告:不到万不得已,不要这样玩。...更低层次的语言在利用硬件设备性能方面往往更具效率(看看 Python 里的内置函数是用 C 写的就知道了),但要写好这些东西,将会消耗更多的编程开发时间。...最近更新: 【技术圈】关于Consul作为注册中心的四种形态演变 【技术圈】配置中心除了存储应用配置之外,适合做其他配置的存储吗? 【社会人】老实工作没有其他收入,为什么还要补缴个税?

    69810

    代码优化的 5 大原则,第 1 条相信你一开始就没想到!

    ——我碰到的第一件代码优化任务就是这么开始的。那个项目是一个巨大的 SAP 云平台应用程序,总共含有超过 3 万行的代码。 整个 App 加载数据的过程非常之慢,显然用户并不喜欢这种体验。...所以,你要做的第一件事,应该是设置一个合理的优化目标: 你需要清楚地了解你要达成的目标是什么,以及各种优化手段与这个目标之间的关系。...你要做的每一件事情,都必须是可计量的。不要相信直觉,它基本上总是把你引向非常糟糕的方向。 2. 使用一个分析器 在没有经过分析之前,不要贸然调整任何东西。...你只需要缓存最常用的字符或数据,就能大大提高程序的性能。 使用一种更低层次的语言重写 警告:不到万不得已,不要这样玩。...更低层次的语言在利用硬件设备性能方面往往更具效率(看看 Python 里的内置函数是用 C 写的就知道了),但要写好这些东西,将会消耗更多的编程开发时间。

    1.2K20

    从1.13秒到0.01秒:一次索引优化带来的100倍性能提升实战

    上云平台一查,发现嫌疑 SQL 居然扫描了 2000 万行,而这个表总共才 3000 万行。...关键问题出现在 Using filesort ——这个信号说明 MySQL 正在执行昂贵的排序操作。问题根因为什么原有索引效率低下?...MySQL 只能把所有数据收集到内存里排序LIMIT 优化失效理想情况:按 flow_id 倒序扫描,取前 N 行后立即停止实际情况:必须先扫描所有数据,排序后再取前 N 行优化方案那应该怎么建立索引才合理呢...我这边需要查询大量数据,必须回表,所以最多只能优化到 Using Where。...字段包含在索引中,减少回表操作查询优化检查清单避免在索引列上使用函数或运算确保 WHERE 条件与索引顺序一致注意数据类型一致性,避免隐式转换定期分析执行计划,监控慢查询总结这次优化经历再次证明:合理的索引设计是数据库性能的基础

    22310

    为什么 Golang 正在接管软件行业

    然而,那些不是我关注的语言。 该列表中还有另一种语言引起了我的注意:Golang。 “Golang? 但它只排在第12位?”你可能在想。 没错,它不是世界上最流行的编程语言。...二、具有动态特性的静态语言 Go 是一种静态语言,传统上学习起来更令人生畏。特别是对于那些学习使用 Python 或 JavaScript 等动态语言进行编程的人。...所有这些公司都支付最高市场价格并吸引了成千上万有抱负的软件工程师。过去,想要在这些科技巨头工作的开发人员需要学习 Java、C 或 C++ 等语言。...如果用任何其他语言编写,编译可能需要几十分钟到几小时。使用 Go,只需一两分钟。 我不是唯一一个这么说的人。...六、总结 Go 不太可能比 JavaScript、Python 或 Java 更流行和使用。但它没有必要。编程语言不是赢家通吃的市场。 Go 解决了一个关键的需求。

    56610

    推荐 7 个 yyds 的 OpenClaw 轻量级平替 GitHub 项目!个个超千(万)人收藏!

    它的沙箱执行环境能有效防止 AI 运行危险脚本,严格的权限控制让你完全掌控 AI 的能力边界。 无论是个人使用还是团队协作,ZeroClaw 都能提供一个安全、高效的 AI 助手解决方案。...核心亮点: • 本地优先:所有数据默认在本地处理,确保隐私安全 • 多模型支持:支持 OpenAI、GitHub Copilot 及本地 LLM • 沙盒执行:使用 Docker 进行代码沙盒执行,安全运行...在深入研究 OpenClaw 的底层后,他发现真正在运转的东西其实很简单:用户发一条消息,模型收到,返回结果。于是他决定把这个核心循环做到极致精简。...OpenClaw才火没多久,这些替代方案就已经百花齐放。技术路线也各不相同,Go、Rust、Python、TypeScript、C,总有一款适合你。...无论你选择哪一个,都能以极低的成本体验到 AI 助手的魅力。这些项目的出现,证明了 AI 助手不一定需要昂贵的硬件和复杂的配置——有时候,简单就是最好的。

    3.4K10

    学妹问我: 如何提高编程能力

    我大一上完 C 语言课,就处于这种状态,但是我隔壁一个室友就不一样的。...似乎找到了一丝编程的感觉,但还说不上到底是什么感觉,毕竟这个程序总共也就几百行。 紧接着,趁热打铁,我又写了一个联机五子棋,实现上依然是 GUI + Socket 传输数据。...计算机专业的学生,如果还在用百度搜索技术问题,送给你一段陈皓(左耳朵耗子)前辈的话: coolshell截图 当然,在没法使用谷歌的情况下,百度还是可以用的,但是这对计算机专业的同学,不应该是一个问题。...或 C9 算法岗....不建议,太卷了 大数据开发、数据分析等等 如果你做技术岗,上面这几个基本覆盖了应届生找工作的主要岗位,你选一个自己相对喜欢一点的。...了解之后,你就明白 Path 就是指定了我们平时在终端使用命令的搜索路径,ClassPath 则是让 Java 执行环境找到指定的 Java 程序对应的 Class 文件以及程序中引用的其他 Class

    2.1K40

    几种编程语言的优缺点

    冯·诺曼机是一个很方便,很便宜,上世纪五十年代的实现图灵机的技术,图灵机是执行计算的最知名的抽象模型。 世上还有其他的计算的机器。...但是对于你天天要做的编程工作,你应该基于以下条款选择你的语言:库,文档,工具支持,操作系统集成,资源,和一堆其他的东西。这些条款跟计算机如何工作关系很小,但是跟人类如何工作关系甚大。...人们还在用很直白的C语言写东西。很多东西。你应该懂C! C++ C++是地球上最蠢的语言,即使是从蠢这个字的真正意义上出发。C++很无厘头。它不知道自己是什么东西。...切换到 Java 编程语言就把你变成了两个程序员 —— 一个处理那些你不需要关心的东西,另一个可以集中精力在问题本身上。这是一个很震人的改变,一个你应该很快就能习惯能喜欢上的改变。...你就是得小心点儿,因为和其他任何语言一样,你能很容易找出一堆人,他们很懂一门语言及其编程环境,但对品味,计算或者其他任何重要的东西却一无所知。

    3.9K110

    亚马逊工程师论各种编程语言的优缺点

    冯·诺曼机是一个很方便,很便宜,上世纪五十年代的实现图灵机的技术,图灵机是执行计算的最知名的抽象模型。   世上还有其他的计算的机器。...但是对于你天天要做的编程工作,你应该基于以下条款选择你的语言:库,文档,工具支持,操作系统集成,资源,和一堆其他的东西。这些条款跟计算机如何工作关系很小,但是跟人类如何工作关系甚大。   ...人们还在用很直白的C语言写东西。很多东西。你应该懂C! C++   C++ 是地球上最蠢的语言,即使是从蠢这个字的真正意义上出发。C++很无厘头。它不知道自己是什么东西。...切换到 Java 编程语言就把你变成了两个程序员 —— 一个处理那些你不需要关心的东西,另一个可以集中精力在问题本身上。这是一个很震人的改变,一个你应该很快就能习惯能喜欢上的改变。   ...此外,Java 除了语言本身外还有老多其他的重要有用的东西。且 Java 语言本身也在进化,虽然像冰川一样慢,所以我们还是能看到希望。Java 正是我们应该在亚马逊推荐使用的语言。

    2.6K80

    2019最新14个国外知名开发者社区

    这些帮助人们亲自与其他社区成员会面并与他们交谈或获得一些知识。 Reddit ? Reddit是具有特色的网站之一,也是支持该角色的非常强大的社区。它拥有数以千计的活跃“sub-reddits”。...尝试他们惊人的搜索引擎,或浏览排序列表,这将有助于您找到流行和趋势的内容。一般来说,每天访问Hacker News一次/两次(不要上瘾..),并依靠搜索功能查找库,工具和其他东西来帮助您的开发过程。...这并不昂贵,年度订阅者可以获得疯狂的折扣。为什么我将Treehouse列入此列表? Treehouse使用短视频,测验和徽章来帮助订阅者学习网页设计,开发和iOS开发。...我一直在与Dani(网站所有者)进行对话,他告诉我他们自2012年初以来一直在运行一个定制的论坛平台。我没有发现这一点的原因是设计非常相似他们一直在使用的东西,所以我认为这只是一个设计变化。...您将找到有关编程,工程师和开发相关内容的大量讨论。许多提交内容都有20多条评论,这些评论有时候对于更改很有帮助。 内容也可以使用适当的关键字进行标记,从而更轻松地订阅您想要参与的讨论或分享您的想法。

    2.5K41

    领域建模与数据库建模

    编程阶段我们通常使用Java/.NET这样面向对象语言工具,可以带来很多设计上的好处,但是也存在一个奇怪的现象:很多程序员虽然在使用OO语言,但是却在code非OO的代码,最终导致系统性能降低或失败,这个现象在...数据库模型(Database Model 传统E-R模型 ) 好了,下面我们谈论关系数据表模型,以前我们朴素的分析设计都是根据需求直接建立数据表的方式来进行的,为什么称为朴素, 是因为我们好像只有数据结构...数据表关系 数据表的关系主要是通过外健或专门关联表来表达的,这种关系虽然可以反映1:1或1:N这样关系,但是无法 表达关系的性质,是紧密组成关系式的关联,还是无关紧要的普通关系,正因为如此,使用数据表分析设计时...领域建模属于与具体.NET或Java技术无关的设计思想,有人总是说:.NET比Java简单,其实这又是一个大误区,如果都达到同样设计水准,无论使用.NET或Java,都需要付出同样的努力;那为什么有人觉得...我接到一个大项目,那么我的建模和架构设计时间应该是5个月还是5年呢?当然应该回答他:都不行,需求是多变且复杂的,计划赶不上变化,现在就应该开始DDD建模。

    96430

    别再用 offset 和 limit 分页了,性能太差!

    ref=hackernoon.com 左边的 Schema SQL 将插入 10 万行数据,右边有一个性能很差的查询和一个较好的解决方案。只需单击顶部的 Run,就可以比较它们的执行时间。...ref=hackernoon.com 现在你应该知道这背后都发生了什么:OFFSET 越高,查询时间就越长。 2、替代方案 你应该这样做: 图片 这是一种基于指针的分页。...你要在本地保存上一次接收到的主键 (通常是一个 ID) 和 LIMIT,而不是 OFFSET 和 LIMIT,那么每一次的查询可能都与此类似。 为什么?...要使用这种基于游标的分页,需要有一个惟一的序列字段 (或多个),比如惟一的整数 ID 或时间戳,但在某些特定情况下可能无法满足这个条件。...我建议在需要分页的表中使用自动递增的主键,即使只是为了分页。

    63910

    对话Apache Hudi VP,洞悉数据湖的过去现在和未来

    数据湖可以低成本存储所有数据,然后使用该数据执行操作,由于价格便宜,可以保存所有数据。数据仓库是更昂贵的存储空间,它可能更接近内存,并且通常更昂贵,但访问速度更快。...VC:这是另一个奇妙的问题,让我们从组织的角度来思考这个问题,假设有一家公司已经相当成功了,它拥有数百名员工。然后现在数据管理问题开始出现了,然后可以使用一些集成工具来进行基本的报告分析。...您可以随时从一个云仓库转移到另一个仓库,也可以像您喜欢的那样引入或淘汰旧的实时分析引擎。如果需要您将几乎可以重新计算任何东西,并且此模型具有很大的自由度,我认为这就是我应该朝着的方向发展。...Q7:鉴于您刚刚将其描述的未来,请描述下数据基础架构部署到该世界需要做些什么?还是我们需要在基础设施技术方面取得哪些进步才能实现这一未来?...因此我认为一个高性能和高度可伸缩的元存储,内部有Snowflake或BigQuery或redshift之类的东西,我们需要构建类似的东西,我认为将这两者放在一起将真正释放我们的愿景,那就是所有数据都应该非常快地到达

    1K20

    各种编程语言的优缺点

    冯·诺曼机是一个很方便,很便宜,上世纪五十年代的实现图灵机的技术,图灵机是执行计算的最知名的抽象模型。 世上还有其他的计算的机器。...但是对于你天天要做的编程工作,你应该基于以下条款选择你的语言:库,文档,工具支持,操作系统集成,资源,和一堆其他的东西。这些条款跟计算机如何工作关系很小,但是跟人类如何工作关系甚大。...人们还在用很直白的C语言写东西。很多东西。你应该懂C! C++ C++是地球上最蠢的语言,即使是从蠢这个字的真正意义上出发。C++很无厘头。它不知道自己是什么东西。...切换到 Java 编程语言就把你变成了两个程序员 —— 一个处理那些你不需要关心的东西,另一个可以集中精力在问题本身上。这是一个很震人的改变,一个你应该很快就能习惯能喜欢上的改变。...你就是得小心点儿,因为和其他任何语言一样,你能很容易找出一堆人,他们很懂一门语言及其编程环境,但对品味,计算或者其他任何重要的东西却一无所知。

    4.8K60

    2019年数据科学最强入门指南

    Q:听你这样说就不那么紧张了,那么我应该回到学校继续深造,然后获得一个数据科学硕士学位吗? 我看很多数据科学家至少都是硕士。 A:天哪,你为什么这样做?...事实上,学校教授的东西基本都是过时的技术,不如选择 Coursera 或 Khan Academy 这些在线自学网站。 Q:那么我该如何开始自学呢?...比如对社交媒体帖子上的情绪进行分类或进行自然语言处理。NoSQL 非常擅长存储这种类型的数据。 Q:我听说过 NoSQL 这个词,跟 SQL 、大数据有什么关系?...简单来说,数据工程师是一个多领域交叉的岗位,你需要懂数学/统计学、编程以及你专业方面的知识。 ? Q:好吧,我不知道我现在是想成为数据科学家还是数据工程师。回过头来,为什么要抓维基百科页面呢?...当你只有 2-3 个变量时,它可能看起来不那么令人印象深刻,但是当你有数百或数千个变量时它就开始变得有趣了。 Q:那图像识别也只是回归? A:是的,每个图像像素基本上变成具有数值的输入变量。

    70940
    领券