网站地链接结构户型图装修设计图app

web/2025/9/27 7:24:16/文章来源:
网站地链接结构,户型图装修设计图app,郑州市建设工程信息网站,m8 wordpress主题在编程的世界里#xff0c;Git 就像水一样常见#xff0c;以至于我们认为它是创建和管理代码更改的唯一可行的工具。 前 Facebook 员工#xff0c;2024 年 首先#xff0c;我为什么关心#xff1f; 我致力于构建 Graphite#xff0c;它从根本上受到 Facebook 内部工具的… 在编程的世界里Git 就像水一样常见以至于我们认为它是创建和管理代码更改的唯一可行的工具。 前 Facebook 员工2024 年 首先我为什么关心 我致力于构建 Graphite它从根本上受到 Facebook 内部工具的启发。当我开始与朋友创建一家初创公司时我从未听说过 Mercurial - 尽管我对开发工具的所有事物充满热情。我之前的工程经验包括个人项目、大学作业、Google 的 iOS 开发以及 Airbnb 的基础设施开发。在我的一生中Git 就像水一样常见。事实上它是如此常见以至于我认为它是创建和管理代码更改的唯一可行的工具。 有趣的是在 AirbnbMercurial 专家坐在离我几个座位远的地方尽管我只知道他是一个好心的同桌对他的贡献一无所知。Gregory Szorc 2021 年我的队友托马斯和尼克打开了我的思路。他们来自 Facebook令我惊讶的是他们几乎不了解 Git。相反他们接受了 Mercurial 模式和 Facebook 的“堆叠差异”工作流程的深入培训。随着时间的推移他们向我推销了非 git 工具和模式的好处最终我们做出了早期的公司转型为 GitHub 开发人员带来了堆积的差异。在此过程中我们制作了一个 CLI将 Hg 的想法融入到 Git 中。 这篇文章与我们的初创公司无关。相反这是过去三年来困扰我的根本问题。为什么 Facebook 用户Metamates ‍☠️不使用 Git 为什么要采用 Mercurial 并在其之上构建自定义工作流程 我知道 Google 不使用 Git - 但这是有道理的 - Google 的工程比 Git 早五年多。另一方面Facebook 是在 2004 年左右与 Git 创建的同时成立的当 Facebook 认真评估源代码控制工具时Git 比 Mercurial 更受欢迎。那么为什么 Facebook 不使用 Git 呢 这个问题很小众但我认为这是一个值得考虑的有趣问题。 如果 Facebook 在 2010 年代初就开始使用 Git 并做出贡献工程世界可能会有所不同。Git 可能更加用户友好并且可能本身支持堆叠更改。GitHub 可能为闭源软件开发提供了更好的支持。Uber 和 Pinterest 等前 Facebook 早期公司可能也使用 Git 和 GitHub 作为源代码控制而不是 Phabricator 和 Mercurial从而在过去十年中减少了生态系统的碎片化。 但 Facebook 并没有坚持使用 Git作为他们的主要 monorepos。相反他们采用 Mercurial 进行版本控制并在顶部逐渐添加自定义工具。为什么首先我尝试用谷歌搜索答案并找到以下明确的博客文章 https://engineering.fb.com/2014/01/07/core-infra/scaling-mercurial-at-facebook/ 这篇十年前的文章以及后来的一些 YouTube 技术演讲给了我一个起始答案 “因为性能……” 但我想更深入地了解最初的决定工程师的意见。在队友的帮助下我在 Facebook 前成员群组上发布了一个问题询问这段历史。我还给参与该项目的两名原始工程师发送了冷电子邮件要求他们迁移到 Mercurial - 他们很友善地取消了我的记录并提供了该项目的个人帐户。以下是我了解到的 Facebook 不使用 Git 的完整原因 - 希望这篇文章可以帮助进一步记录 2024 年我们的工具为何如此的历史。 注我从未在 Facebook 工作过这个帐户是我作为一个没有在 Facebook 工作过的人对事实的最好理解。我能够与一些参与该项目的人交谈并获得他们的许可来写下他们向我解释的内容。 Facebook 为何以及如何从 Git 迁移 根据 2014 年 Facebook 博客文章Facebook 是从 Git 起步的。正如人们所预料的那样这是他们当时对源代码控制系统的默认选择。但在 2012 年左右他们开始达到规模极限。该帖子声称他们的代码库“甚至比 Linux 内核还要大很多倍Linux 内核有 1700 万行代码和 44,000 个文件”。具体来说工程师开始感觉 Git 操作很慢。虽然速度不算太慢但足够慢到值得调查。 关键瓶颈是“统计”所有文件的过程。 Git 会检查每个文件随着文件数量的增加它自然会变得越来越慢。 工程师尝试运行模拟创建一个虚拟存储库以匹配 Facebook 几年后代码库的预期规模。结果令人震惊 - 基本的 Git 命令花了超过 45 分钟才能完成。用该项目的一位原始工程师的话来说“这不是那种你想在所有工程师都抱怨之前就放弃的事情。到那时这个东西就太笨重了。尝试进行损害控制没关系想出一个更清洁的解决方案将是一项艰巨的努力。” 因此一群乌合之众的瑞典人开始研究解决方案。首先他们联系了 Git 维护者看看如何扩展 Git 以更好地支持大型 monorepos 以下是来自 Git 维护者的一封电子邮件的一些精选引述——已经过去 12 年了但读到这些消息时我还是感到有些沮丧 听起来好像你在一个 .git 中拥有所有内容。将大型存储库拆分为较小的 .git 存储库。 虽然您/可以/这样做但这不是一个好主意您应该拆分存储库 我同意。我在xx公司工作该公司拥有多年的开发历史拥有多个大型 CVS 存储库我们正在缓慢但坚定地将代码库从 CVS 迁移到 Git。把事情分开。这将使您能够更好地重新组织事情恕我直言没有任何缺点。 虽然 Git 可以更好地处理大型存储库特别是在交互式 rebase 中应用提交似乎会减慢较大存储库的速度但对于统计 130 万个文件您能做的只有这么多。 这种反应并不合作——而且在未来充满大型单一回购的情况下这种反应也没有很好地适应。Git 维护者拒绝提高性能而是建议 Facebook 对其 monorepo 进行分片。 然而分片对于 Facebook 团队来说是不可能的他们表示对 Git 不愿意扩展感到惊讶。传统上大型科技公司提供免费的开源劳动力是一件很受欢迎的礼物可以确保项目的长期寿命。 话虽这么说Git 项目没有义务屈服于 Facebook 的要求——我无意将他们描绘成这个故事中的“坏人”。仅仅因为 Facebook 的要求而做某事并不是一种生活方式。有趣的是两年后Git 维护者在看到 Facebook 为 Mercurial 做出有意义的改进后似乎改变了语气 他们邮寄了有关 git 性能问题的列表。据我所知反馈相对较少。 我有这样的印象如果他们有 git 开发社区相对不关心大型存储库的性能问题的印象我不会感到惊讶。 所以问题是 git 社区是否有兴趣在如此大规模的场景中保持竞争力 - Mercurial 现在似乎是开箱即用的 十年后Git 做出了重大改进以更好地支持 monorepos。 今天的情况已经发生了很大的变化Git 现在知道如何做到这一点在非常非常大的存储库上运行良好。 Ani Betts前 Facebook 用户 考虑的替代方案 2012 年Git 的替代品还很少。该团队考虑了闭源 PerforceGoogle 以前的源代码控制解决方案。在与 Perforce 销售工程师的早期调查电话中Facebook 指出了 Perforce 读取器和写入器节点之间的本地一致性的架构缺陷。这一回应并没有给人们带来信心——销售工程师没有意识到根本问题也没有解决该问题的路线图计划。 还考虑了其他解决方案例如 Bitkeeper但很快就被取消了资格。最后一个选择是 Mercurial。它的性能与 Git 类似但架构更简洁。Git 是一个由 Bash 和 C 代码组成的复杂网络而 Mercurial 是使用面向对象的编码模式在 Python 中设计的并且被设计为可扩展的。 其中一名调查工程师之前曾使用 Mercurial因此该团队决定参加在阿姆斯特丹举行的 Mercurial 黑客马拉松以进一步调查。 由于我之前与 Mercurial 有过很多联系因此在将 Mercurial 摆上桌面之前我竭尽全力地寻求各种可能的替代方案。 布莱恩·奥沙利文前 Facebook 员工 他们发现了一个易于扩展的系统和一个维护者社区他们非常欢迎 Facebook 团队的积极改变。 我认为这就是提到的具体黑客马拉松但我并不肯定。这段视频中展现了 2010 年初的真实氛围 https://www.youtube.com/watch?vfml4s6MEjW8 迁移整个工程组织 阿姆斯特丹黑客马拉松结束后Facebook 团队被说服了。剩下的就是让公司的其他成员相信这次迁移。这是一项令人生畏的任务 - 工程师可能对工具更改极其敏感想象一下 vim 与 emacs并且更改源代码控制系统是一件大事。 团队尽可能顺利地出发以免引发其他工程师的防御反应。接下来的事情听起来像是内部开发工具迁移的大师班。该团队花了几个月的时间宣传迁移到 Mercurial 的可能性并花时间映射 Git 和 Mercurial 之间的所有常用命令和工作流程。他们甚至收集了整个公司运行的 Git 命令的频率并专门记录了最频繁的操作在 Mercurial 中的工作方式。 其次他们为开发人员创造了表达他们的担忧并讨论新系统中可能棘手的任何边缘情况的机会。团队一开始就认为他们会因为迟钝的 8 路章鱼合并假设而陷入激烈的争论。但令他们惊讶的是他们发现同事工程师非常包容和友好。“没有人站起来并开始尖叫他们的特殊处境。” 最后他们致力于迁移并将公司移交给 Mercurial。剩下的就是历史了。Facebook 为 Mercurial 做出了性能改进使其成为大型单一存储库的最佳选择。 Evan Priestley 扩展了 Phabricator以支持 Mercurial。Facebook 利用 Mercurial 的“差异”概念创建了“堆叠”模式 解锁了新颖的代码审查并行化。前 Facebook 员工跳槽到了新公司并带来了他们的工作流程创建了一个规模虽小但声名狼藉的 diff 爱好者崇拜者。最后我遇到了其中一些爱好者并决定用我 20 多岁的时间将 Mercurial 风格的堆叠差异引入 Git 和 GitHub。 结束语 这个故事的要点是什么反思这些引述和采访我想起了经典智慧历史上许多关键技术决策都是人类驱动的而不是技术驱动的。 善良和开放在开发工具的世界中走得很远我的目标是在为源代码控制的历史做出贡献时继承这些价值观。 IT镜闻39 IT镜闻 · 目录 上一篇人工智能将意味着更多的程序员而不是更少下一篇太忙”意味着你的个人策略很糟糕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

寻找网站建设员塘沽官网

思路: 1、登录成功后将 得到的token设置为集合变量 2、在需要携带Authorization的请求头上使用该集合变量 关键代码 const responseData pm.response.json(); if(responseData.code 1) {// 获取tokenconst {data:{token}} responseData// 设置为集合变量pm.colle…

网站轮播图居中代码怎么写优化网站排名提高

导航:网站首页 >红玫瑰的含义,玫瑰花个数的含义时间:2018-2-27相关问题:匿名网友:1朵玫瑰代表——我的心中只有你ONLY YOU!2朵玫瑰代表——这世界只有我俩!3朵玫瑰代表——我爱你I LOVE YOU!4朵玫瑰代表——至死不渝…

吉林北京网站建设网站推广哪个平台好

引言 之前提到过拥塞问题,如果大量数据疯狂涌入,接收端无法及时处理就会导致数据丢包,从而使得通信受到干扰。之前的连续ARQ如果不加以节制,疯狂发送报文,接收端无法及时返回ACK就会导致网络瘫痪。 滑动窗口机制协议 这…

对学院网站建设的建议django做网站

Fast SAM C推理部署—TensorRT 核心源代码在结尾处有获取方式 晓理紫 0 XX开局一张图,剩下… 1 为什么需要trt部署 主要是在GPU上推理可以获得更高的推理速度。可与onnxruntim推理向比较一下 对比视频 2 TensorRt部署 2.1 环境与条件 需要配置TensorRt相关环境 这…

网站建设维修服务流程网站建设业务流程

1.2 简单输出 本章的后续部分,包含了一系列简单但典型的Awk程序样例,都是对前面的emp.data文件进行操作。为防遗忘,这里把emp.data文件再发一遍: Beth 21 0 Dan 19 0 Kathy 15.50 10 Mark 25 20 M…

专业人士怎样建网站商城平台

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在图像处理中,解决了分割的问题之后,下面就是属性信息的提取。在这其中,有一种属性是非常重要的 ,那…

网站空间不够用怎么办网络体系结构

在大数据系统中,如无特别需要,建议 collation 指定为 utf8mb4_bin。 utf8mb4_bin是一种二进制的排序规则,比较字符串时直接比较字符串的二进制值,不需要进行复杂的字符比较和排序运算,这样可以有效减少CPU的使用&…

生物医药网站建设移动慧生活app下载

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. WampServer下载安装二. WampServer启动三. 安装cpolar内网穿透3.1 注册账号…

马鞍山网站建设兼职太湖县城乡建设局网站

前面给大家讲过一个借助小程序云开发实现微信支付的,但是那个操作稍微有点繁琐,并且还会经常出现问题,今天就给大家讲一个简单的,并且借助官方支付api实现小程序支付功能。 传送门:借助小程序云开发实现小程序支付功能…

宁波市网站建设正规的佛山网站建设

一、背景 老铁们如果是QA,想必也遇到过类似痛点吧: 业务逻辑复杂性决定测试场景复杂性,配置测试场景常常花费大量时间,导致测试效率降低新用户的测试场景,账号可能经常注销,协助debug时需要用userid,每次都得重新抓包。而且测试账号很多,来回切,即使在本地管理userid…

黄南州网站建设公司免费咨询皮肤医生

科目编号:[0471] 座位号 2017-2018学年度第二学期期末考试 畜牧学 试题 2017年 12 月 一、名词解释(本大题共5小题,每小题3分,共计15分) 1.限制性氨基酸 2.短期优饲 3.顶体反应 4&#xff0…

开个小网站要怎么做iis发布php网站

qwt的安装与使用安装好qt开发环境后,先去下载qwt库源代码。以我下载的qwt-6.0.1.zip为例,解压得到qwt-6.0.1。1.安装qwt-6.0.1执行下面的命令:1 cd qwt-6.0.12 qmake3 make4 make install这样就完成qwt-6.0.1的安装了,安装的路径是…

网站正能量晚上不用下载进入免费网站搭建平台流程

在处理数据时,我们经常会遇到线打断的问题,比如需要指定在线上某处打断线,或者新建网络数据集时需要在线的交点处打段线等等。现将桌面版中我所遇到的线打断的工具总结如下: 一、手工打断线 Editor工具条中的splittool。 使用该工…

wp网站模板网站建设ps模板

【问题描述】[简单] 【解答思路】 1. 排序 平方后排序 没有使用排序的特性 时间复杂度&#xff1a;O(NlogN) 空间复杂度&#xff1a;O(1) class Solution {public int[] sortedSquares(int[] A) {int[] ans new int[A.length];for (int i 0; i < A.length; i) {ans[i] …

免费网站制作 优帮云给你一个网站seo如何做

每当在 Android 移动设备上调试网页时&#xff0c;开发人员往往都会不自觉陷入调试的泥潭中去。《Android开发指南》提供了一个解决方案&#xff0c;却有点繁琐复杂。因此&#xff0c;许多 Web 开发人员会倾向于使用类似 Firefox Firebug 的或像 WebKit 的 Web Inspector 之类的…

宝思哲手表网站服务器维护中

前言&#xff1a;EventBus是上周项目中用到的&#xff0c;网上的文章大都一样&#xff0c;或者过时&#xff0c;有用的没几篇&#xff0c;经过琢磨&#xff0c;请教他人&#xff0c;也终于弄清楚点眉目&#xff0c;记录下来分享给大家。 相关文章&#xff1a; 1、《EventBus使用…

网站建设前期响应式网站下载

随着移动互联网的快速发展&#xff0c;UGC标签系统受到越来越多推荐应用&#xff0c;标签不但能反映用户的兴趣又能描述物品的本身特征。现有的标签推荐算法没有考虑用户的连续行为所产生的影响&#xff0c;于是人们提出了一种基于标签的个性化推荐算法。该算法将〈用户-标签-物…

成都青羊区建设局网站flash做网站轮播图

动画系统包含&#xff1a; 动画片段 Animation Clip&#xff0c;记录物体变化的信息&#xff0c;可以是角色的闪转腾挪&#xff0c;也可以是一扇门的开闭动画状态机 Animator Controller&#xff0c;根据设置切换动画片段动画组件 Animator&#xff0c;Animation替身 Avatar&a…

山西p2p网站建设app网站与普通网站的区别

JavaScript闭包 前言概念代码实例以及讲解闭包作用闭包缺点 前言 本文主要讲解JavaScript中的闭包&#xff0c;闭包是什么&#xff1f; 闭包&#xff08;closure&#xff09;是一个函数以及其捆绑的周边环境状态&#xff08;lexical environment&#xff0c;词法环境&#xff…

用wordpress建站会不会显得水平差培训网

3月1日是我回学校的第一天。经历了长达8个月在家的昏暗时刻&#xff0c;我这10天的感觉和在家的感觉发生了翻天覆地的变化&#xff0c;最明显的莫过于学习状态的改变。 倒不是说在家学的不好&#xff0c;而是说在学校&#xff0c;我对学习的整体感觉&#xff0c;以及专注程度&…