首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

来自谷歌前员工的软件开发工具指南

该技术适用于大规模代码库的正则表达式匹配。 代码浏览:使用Google Code Search 的人都明白,搜索只完成了部分工作。...想要早发现苗头早解决的话,Blaze 是最好的工具,谷歌甚至为 Blaze 的衍生产品 Bazel 开源提供帮助。但 Bazel 终究并非 Blaze,谷歌外部环境也并非适用谷歌的工具。...举一个例子,Blaze 缺少在 Bazel 打包提供的大规模分布式构建集群功能。 Bazel 也并非灵丹妙药(silver bullet)。...在 Bazel 首次发布时,Go 社区的很多开源项目出于对标准 Go 构建工具的喜爱而纷纷转向使用 Bazel。...但在一年内,面对 Bazel 的复杂性和难以上手的缺陷(并且看上去使用 Bazel 的构建速度也较慢),很多项目又转回 Go 社区。

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

Google 和 Facebook 为什么不 用Docker?

Google 和 Facebook 都使用 monolithic repository,也都有自己的 build systems(我这篇老文 寻找 Google Blaze 解释过 Google 的 build...在 Google 里有 Blaze,在 Facebook 里有 Buck。感兴趣的朋友们可以看看 Google Blaze 的”开源版本“ Bazel,以及 Facebook Buck 的开源版本。...因为 Google 和 Facebook 使用 monolithic repository,使用统一的 build system(Google Blaze 或者 Facebook Buck),所以虽然也可以利用...Python 语言本身没有 jar 包,所以 BlazeBazel 发明了 PAR 文件格式(英语叫 subpar),相当于为 Python 设计了一个 jar。开源实现在这里。...在 Rob Pike 早先的一些总结里提到,Go 的设计很大程度上就是绕坑而行 —— 绕开 Google C/C++ 实践遇到过的各种坑。

89130

0490-如何为GPU环境编译CUDA9.2的TensorFlow1.8与1.12

作者:李继武 1 文档编写目的 从CDSW1.1.0开始支持GPU,具体可以参考Fayson之前的文章《如何在CDSW中使用GPU运行深度学习》,从最新的CDSW支持GPU的网站上我们可以查到相应的Nvidia...Drive版本,CUDA版本以及TensorFlow版本,如下: ?...我们注意到CUDA的版本是9.2,但是目前官方发布的编译好的TensorFlow的CUDA版本还是9.0,为了在CDSW环境让TensorFlow运行在GPU上,必须使用CUDA9.2,我们需要手动编译...这部分编译不同的tensorflow版本需要安装不同版本的bazel使用太新的版本有 时会报错。...使用该--help 命令可以查看其他安装选项。 ? 显示下面的提示表示安装成功: ? 如果使用--user上面的标志运行Bazel安装程序,则Bazel可执行文件将安装在$HOME/bin目录

3.5K30

GN语言和操作

列表(任何其他类型) 列表支持追加(将列表追加到另一个列表,是追加第二个列表项目,而不是将列表追加为嵌套成员。)...(列表的 - 运算符搜索匹配项并删除所有匹配的项目。...从另一个列表减去一个列表将删除第二个列表的每个项目): a = [ "first", "second", "third", "first" ] b = a - [ "first" ] # [ "second...gn与Blaze的区别和相似之处 BlazeGoogle的内部构建系统,现在已经作为Bazel公开发布。它启发了一些其他系统,Pants和Buck。...在Google的同类环境,对条件的需求非常低,并且可以通过少量的手段(abi_deps)来获得。Chrome使用各地的条件,需要添加这些是文件看起来不同的主要原因。

1.5K10

Vue.js 和 Vite 之父:Evan You从谷歌工程师到开源先锋的故事

Google 工作期间,Evan 参与了 Google Feedback 和 Google Drive 等产品的前端工作。 工作之余,Evan 喜欢研究各种新前端技术。...他没有想到 Vue 会变成现在这样一个被业内广泛使用的前端框架。Evan 说,当时开发 Vue 的最大动力,就是他对 API 设计的热情。...那时,Meteor 使用自己开发的 Blaze 作为前端框架。Blaze 的理念跟 Vue 有一些相似之处,比如都有细粒度的响应式系统。...但是 Blaze 因为只能在 Meteor 环境使用,扩展性较弱。所以后来 Meteor 决定转向采用 React 作为其前端框架。...目前 Vue 的生态已经有很多贡献者在维护不同的项目,所以 Evan 的主要精力会放在确保各项目之间的协同合作上。他会关注优先级最高的事项,并把一些维护性任务逐步交给其他核心团队成员。

1.3K20

使用Tensorflow进行实时移动视频对象检测

为减少障碍,Google发布了Tensorflow对象检测API和Tensorflow Hub等开源工具,使人们能够利用那些已经广泛使用的预先训练的模型(例如Faster R-CNN,R-FCN和SSD...设置项目目录 为了使项目易于阅读,将在主项目目录创建三个子文件夹: data — 用于存储模型数据的文件夹(例如* .record,*。...tf-models — 一个文件夹,其中包含Tensorflow克隆的模型代码,将在建模中使用使用下面的脚本重现上面的项目文件夹结构。...在此处下载数据(Google Drive)并将其解压缩到data项目目录的文件夹。...完成后将有三个子文件夹: https://drive.google.com/drive/folders/0B7EVK8r0v71pWGplNFhjc01NbzQ Anno- 注释,包括边界框标签

2.1K00

教程 | 如何用TensorFlow在安卓设备上实现深度学习推断

以「Ok Google」这个功能为例:用一名用户的声音来训练「Ok Google」,他的手机在接收到这个关键词的时候就会被唤醒。...有几种方法可以实现这些要求,量化、权重剪枝或将大模型提炼成小模型。 在这个项目中,我使用了 TensorFlow 的量化工具来进行模型压缩。...在我的项目中,我把 TF speech example 作为模板。这个示例的 gradle 文件帮助我们构建和编译安卓的 TF 库。但是,这个预构建的 TF 库可能不包括模型所有必要的 ops。...运行: bazel build //tensorflow/contrib/android:android_tensorflow_inference_java 你将在这里找到该文件: bazel-bin.../tensorflow/contrib/android/libandroid_tensorflow_inference_java.jar 现在,可以将 .so 和 .jar 文件一起移到你的安卓项目中的

1.8K50

Bazel 7 发布:全新模块化依赖管理、无字节构建与多目标构建性能提升

作者 | Sergio De Simone 译者 | Sambodhi 策划 | 丁晓昀 最近在 BazelCon 23 上宣布,Bazel 7 推出了多年来一直在开发的一系列新功能,其中包括全新的模块化外部依赖管理系统...Bzlmod 现在默认启用,这意味着如果一个项目没有 MODULE.bazel 文件,Bazel 将创建一个空文件。...最后提到,Bazel 7 现在默认启用了基于平台的工具链解析,适用于其 Android 和 C++ 规则。...这一变化旨在简化所有规则集中的工具链解析 API,从而省去语言特定标志, --android_cpu 和 --crosstool_top。...Android 项目需要停止使用传统标志 --fat_apk_cpu,而改用使用以 @platforms//os:android 约束定义的平台的 --android_platforms。

14410

Bazel 7 发布:全新模块化依赖管理、无字节构建与多目标构建性能提升

作者 | Sergio De Simone 译者 | Sambodhi 策划 | 丁晓昀 最近在 BazelCon 23 上宣布,Bazel 7 推出了多年来一直在开发的一系列新功能,其中包括全新的模块化外部依赖管理系统...Bzlmod 现在默认启用,这意味着如果一个项目没有 MODULE.bazel 文件,Bazel 将创建一个空文件。...最后提到,Bazel 7 现在默认启用了基于平台的工具链解析,适用于其 Android 和 C++ 规则。...这一变化旨在简化所有规则集中的工具链解析 API,从而省去语言特定标志, --android_cpu 和 --crosstool_top。...Android 项目需要停止使用传统标志 --fat_apk_cpu,而改用使用以 @platforms//os:android 约束定义的平台的 --android_platforms。

25810

Google SRE 读书笔记 扒一扒SRE用的那些工具

书中的一些思想也令我印象深刻,例如SRE工程师要保证投入50%的时间在项目上、错误预算、命运之轮、事故总结等等,对于从业者有很大的启发。...Incident Command System 构建系统 Bazel 分布式文件系统 GFS Borg 调度服务(2003),开源产品 Kubernetes Borg Name Service...BNS 名称解析系统 Bigtable Blaze/Bazel 构建 Rapid 发布 Midas Pacakge Management MPM 打包 Sisyphus 发布自动化框架 Chubby...31 SRE与其它团队的沟通与协作 32 SRE参与模式的演进历史 33 其他行业的实践经验 34 结语 参考资料: 1、Google Borgmon 2、Google使用Borg进行大规模集群的管理...-2015 3、基于 Prometheus 的数据库监控 4、Prometheus 5、Google Protocol Buffer 的使用和原理 6、Doorman: Global Distributed

1K20

谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”

做出贡献,并维护 C++ 集成工具; 开发和维护 Python 的构建系统规则,包括付出巨大努力将 Python 规则转移到纯 Starlark 代码,而不是让它们纠缠在 blaze/bazel 核心引擎...; 开发并维护了一个类型检查器(pytype),它可以在没有类型注释的情况下对代码进行推理,并使用一次一个文件的架构处理非常大的项目; 对数亿行代码执行自动重构。...正如该成员爆料的,由于 Python 的简单性和相对快速的维护,谷歌公司刚刚建立时就使用了 Python,并且沿用至今:谷歌的搜索引擎、YouTube、机器学习、人工智能、机器人项目等都是用 Python...Python 在许多谷歌内部系统上运行,并出现在许多 Google API ,与 Google 的工程流程完美契合。...Python 目前也是机器学习项目的开发人员最常使用的语言,包括谷歌著名的 TensorFlow 框架就是以此为基础。 还值得注意的是,谷歌与该语言本身和 Python 软件基金会有着密切的关系。

11910

谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”

做出贡献,并维护 C++ 集成工具; 开发和维护 Python 的构建系统规则,包括付出巨大努力将 Python 规则转移到纯 Starlark 代码,而不是让它们纠缠在 blaze/bazel 核心引擎...; 开发并维护了一个类型检查器(pytype),它可以在没有类型注释的情况下对代码进行推理,并使用一次一个文件的架构处理非常大的项目; 对数亿行代码执行自动重构。...正如该成员爆料的,由于 Python 的简单性和相对快速的维护,谷歌公司刚刚建立时就使用了 Python,并且沿用至今:谷歌的搜索引擎、YouTube、机器学习、人工智能、机器人项目等都是用 Python...Python 在许多谷歌内部系统上运行,并出现在许多 Google API ,与 Google 的工程流程完美契合。...Python 目前也是机器学习项目的开发人员最常使用的语言,包括谷歌著名的 TensorFlow 框架就是以此为基础。 还值得注意的是,谷歌与该语言本身和 Python 软件基金会有着密切的关系。

12510
领券