当前位置:首页 > 代码 > 正文

google源代码(google 开源项目)

admin 发布:2022-12-19 20:06 158


本篇文章给大家谈谈google源代码,以及google 开源项目对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

google首页的源代码为什么很复杂

如果只是考虑其中的javascript的话

这种做法叫做代码混淆,目的有二:

一方面javscript是以源代码形式存在的,混淆的过程中顺便可以压缩代码大小。对于网页,特别是移动网页,它至关重要。

另一方面,混淆的实质是替换了变量名,或者用一些函数将变量做更仔细的变换,为反向工程制造障碍,以便保护资产安全

为何Google、微软、华为将亿级源代码放一个仓库?

作者 | 夕颜

编辑 | Just

出品 | AI 科技 大本营(ID:rgznai100)

大公司应该如何进行代码管理?微软研发并采用 VFS For Git 的过程和这个系统本身有哪些可以借鉴的地方?为了更深入了解 VFS For Git 和代码管理相关问题,AI 科技 大本营(ID:rgznai100)采访了微软亚洲研究院首席研发经理邹欣,他对这些问题进行了解答。

为什么要做 VFS For Git?

邹欣回忆,在将代码迁移到 GVFS 前,微软曾使用多个主要的代码管理平台,包括 SLM, Source Depot (上世纪 90 年代开始)、TFS 的源代码控制 TFVC (2006 年开始)。直到 2017 年,微软用三个月的时间完成代码迁移到 Git,并推出了 Git 的变种,针对特大 repo 的 GVFS,并沿用至今。

GVFS 是一个 Git 虚拟文件系统,全称为 Git Virtual File System,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。GVFS 的 V 就是 Virtual(虚拟),它解决了Git 原来的设计缺陷(每个客户端都有所有版本的代码),而是用虚拟文件来代替那些本地用不着的文件, 大大 减少了文件传输和本地机器存储的压力,让微软内部技术人员可以进行高效协作。

一段小插曲是,GVFS 从发布之初就引起了争议,原因是 GNOME 项目的虚拟文件系统也叫 GVfs,而 GNOME 的 GVfs 最早发布于 2006 年,之后的教程、文档、论坛都沿用这个名字。在微软的 GVfs 项目发布后,很快超过了 Gnome GVfs 项目的搜索排名,且由于二者都与虚拟文件系统有关,导致用户在查找信息时容易出现混淆。于是,很多开发者要求微软改名,经过一番周折后,微软终于在 2018 年将 "GVFS" 项目的名字改为 "VFS For Git"。

邹欣表示,当时微软将代码迁移到 Git 主要是为了统一微软百花齐放的内部工具,并没有一个绝对好的选择,领导团队选择了 Git, 但从现在的结果来看,这是一个比较好的选择。如今,微软仍然在对 Git 系列的工具做改进,也把改进回馈到 Git 社区。

现在,VFS For Git 已经是微软内部统一的工具,同时被其他大型企业采用:

VFS For Git 在 GitHub 上也已开源:

GitHub开源地址: .com /microsoft/VFSForGit

除了微软,我们发现,很多大公司的代码托管已经向自己内部开发的版本控制系统迁移,比如 Google 就把使用不同语言编写的超过 10 亿文件,近百 TB 源代码都存放在自行开发的版本管理系统 Piper 中,只当项目开源且需要外部协作时,才会使用业界流行的 Git。(详见文章《为何Google将几十亿行源代码放在一个仓库?》)

再如华为的内源(Inner Source)平台,承载着华为 1100 亿源代码、60 万+ 代码仓库、每天 60 T 的下载容量、1 万次/秒的 高峰 并发下载。

这是否说明在大公司中流行的单一仓库就是最好的做法? 这些公司在选择采用代码托管方式时需要考虑哪些不同的问题?

邹欣解释,在他看来,用 GVFS 也可以创建各种独立的仓库。用一套工具有利于公司内部进行代码共享,让人员流动、代码复审、改进工具变得更简单,效率提高。

其次,大公司有很大量的代码,很长的 历史 和很多工具,如果贸然选择一个新工具就会出现以下问题:

a) 一些市面上的工具并不是为大规模代码设计的,处理不了大量代码, 我们以前用第三方的代码分析工具, 结果处理 Office 的代码的时候,自己崩溃了,因为 Office 的代码量太大,这个工具的开发者没有为如此大的代码设计软件。

b) 很多工具在 历史 中不断演化, 有自己独特的特点,很多和企业内部的某些特殊需求有关,外部工具很难都实现这样的功能。

很多工具联合在一起,会形成了一个工具的生态,但如果只改变一个工具,让其他的工具变得不兼容, 那整个团队的很多工作流就会出现问题。

此外,邹欣表示,代码托管与 AI 结合是未来发展方向。例如,这种结合会告诉你昨天晚上签入代码有问题, 或者签入代码和某个其他团队的代码相似,建议重用。或者告诉你签入的代码是从网上拷贝来的, 而且把原来代码中的 bug 也拷贝过来了。

最后,AI 科技 大本营引用此前微软云开发服务副总裁 Brian Harry 于 2017 年发表的一篇博文内容,在微软推出 VFS For Git 三个月后,他分享了该平台的更多细节及其未来目标,包括扩大开放源代码并改善其在 Microsoft 上的运行表现,想要了解 VFS For Git 更详细的信息,不妨仔细研读一下这篇文章:

每日检出量

.com /bharry/the-largest-git-repo-on-the-planet/

什么是源代码,google浏览器的开源是什么意思?为什么很多浏览器跟google的很想?

源代码一般是指那些非盈利性的应用程序或系统 比如linux 所有的资料都可以共享 所有的数据都可以更改 google的浏览器 其实也是非盈利性的 也是可以随意修改的 所以会提供源代码 至于为什么会很像 主要是互相借鉴

新手应该如何读GoogleV8引擎源代码?

新手的不太建议读v8源代码。新手如果通过v8学c++,估计在成功编译之前就放弃了。我记得某个v8的developer在wingolog一系列关于v8分析的文章(posts tagged "v8")的comment里,或者是Lars,曾经提到v8不是用来学的,因为它存在的目的就是为了最高性能,里面用了大量的奇巧淫技,比如说small integer表示,比如说把浮点数转化成字符串的Grisus3算法(). 另外,处于速度考虑,v8和普通的编译器/虚拟机不太一样,没有太多control flow analysis和data flow analysis(至少我看的时候是这样)。

需要知道的是,Lars原来是做Hotspot VM的,里面大量的思想来自大神Urs Hölzle。大名鼎鼎的on stack replacement,polymorphic inline cache等等完全可以在Urs Hölzle二十年前的博士论文里可以找的到,所以要看懂v8这些理论少不了; V8里的hydrogen指令更是用来自Hotspot的C1Visualizer可以看,所以我想如果要学习的话,还不如先看看wingolog的这一系列v8文章:posts tagged "v8",以及Urs Hölzle的博士论文和相关论文,最后最好还要熟悉virtual machine的实现。比如各种GC算法,不然看v8里的对象管理你就直接晕了。有了这些理论打底,熟悉一般的compiler和virtual machine implementation,而且还熟悉ecmascript spec,熟悉C++的话,倒是可以开始看了...但如果你这些都熟悉,那看v8干嘛呢?给它做code review? 比较有意思的是这些理论都熟悉了,然后比较各种javascript的实现。比如在对象表示上mozilla就不是v8的smi tag,而是利用NaN boxing;比如是直接inteprete还是像v8那样有highlevel IR和lowlevel IR;等等。

通过google浏览器怎么查找源代码里面的一个标签?

F12呼出控制台。\x0d\x0a\x0d\x0a点击左下角放大镜图标。\x0d\x0a\x0d\x0a鼠标悬停在页面相关元素上单击,控制台就会出现选中区域的代码断。\x0d\x0a\x0d\x0a类似的工具有firefox的firebug,更好用,web开发,会这个是基础,上网找教程学吧。

关于google源代码和google 开源项目的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/22141.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载