谷歌是一家取得巨大成功的公司。同它成功的搜索引擎和AdWords一样,谷歌还开发了许多其他杰出的产品,包括谷歌地图、谷歌新闻、谷歌翻译、谷歌语音识别、Chrome和Android等。谷歌同样大大提升和扩展了许多通过收购YouTube等小公司得到的产品,而且对许多开源项目做出了显著的贡献。谷歌还展示了许多将要发布的惊人产品,无人驾驶汽车就在其列。

  谷歌成功的原因有很多:开明的领导、伟大的人物、极高的招聘条件,以及在一个极速增长的市场中成功通过早期确立的领先优势带来的财务实力。还有一个引领谷歌走向成功的原因是,谷歌开发出了杰出的软件工程实践。基于世界上最有才华的软件工程师们智慧的积累和提炼,这些实践随着时间推移一直在进步。我们想要和全世界分享这些实践中的知识,以及我们一路上在犯错中学习到的东西。

  这篇文章旨在简要地记载、描述谷歌关键的软件工程实践。其他组织或个人可以将其与自己的软件工程实践进行比较和对比,考虑是否应用其中的一些实践。

  许多作者(如引用[9]、[10]、[11])都写了书籍或文章来分析谷歌的成功和历史,但其中绝大多数都主要关注商业、管理和企业文化;只有一小部分(如引用[1]、[2]、[3]、[4]、[5]、[6]、[7]、[13]、[14]、[16]、[21])研究过软件工程方面,这些书籍和文章中的大多数都只探讨一个方面;并且所有书籍和文章都没有进行关于谷歌软件工程实践的总结,所以本文将提供一个整体的谷歌软件工程实践概述。  

成为VIP会员查看完整内容
0
31

相关内容

软件工程 (Software Engineering) 是一门研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。

《数据科学与机器学习概论》的创建目标是为寻求了解数据科学的初学者、数据爱好者和经验丰富的数据专业人士提供从头到尾对使用开源编程进行数据科学应用开发的深刻理解。这本书分为四个部分: 第一部分包含对这本书的介绍,第二部分涵盖了数据科学、软件开发和基于开源嵌入式硬件的领域; 第三部分包括算法,是数据科学应用的决策引擎; 最后一节汇集了前三节中共享的概念,并提供了几个数据科学应用程序示例。

^

  1. Introductory Chapter: Clustering with Nature-Inspired Optimization Algorithms 在本章中,读者将学习如何为聚类问题应用优化算法。

By Pakize Erdogmus and Fatih Kayaalp

  1. Best Practices in Accelerating the Data Science Process in Python

By Deanne Larson

数据科学和大数据项目的数量正在增长,当前的软件开发方法受到了挑战,以支持和促进这些项目的成功和频率。关于如何使用数据科学算法以及大数据的好处已经有了很多研究,但是关于可以利用哪些最佳实践来加速和有效地交付数据科学和大数据项目的研究却很少。大数据的数量、种类、速度和准确性等特点使这些项目复杂化。数据科学家可利用的开源技术的激增也会使情况变得复杂。随着数据科学和大数据项目的增加,组织正在努力成功交付。本文讨论了数据科学和大数据项目过程,过程中的差距,最佳实践,以及这些最佳实践如何在Python中应用,Python是一种常见的数据科学开源编程语言。

  1. Software Design for Success By Laura M. Castro

正如人们所期望的那样,技术书籍的大部分时间都集中在技术方面。然而,这造成了一种错觉,即技术在某种程度上是没有偏见的,总是中性的,因此适合每个人。后来,当产品已经存在时,现实会证明我们不是这样的。包含和表示在设计和建模阶段是至关重要的。在本章中,我们将从架构的角度分析,哪些非功能性需求是最敏感的,以及如何开始讨论它们以最大限度地提高我们的软件产品成功的可能性。

  1. Embedded Systems Based on Open Source Platforms By Zlatko Bundalo and Dusanka Bundalo

  2. The K-Means Algorithm Evolution By Joaquín Pérez-Ortega, Nelva Nely Almanza-Ortega, Andrea Vega-Villalobos, Rodolfo Pazos-Rangel, Crispín Zavala-Díaz and Alicia Martínez-Rebollar

  3. “Set of Strings” Framework for Big Data Modeling By Igor Sheremet

  4. Investigation of Fuzzy Inductive Modeling Method in Forecasting Problems By Yu. Zaychenko and Helen Zaychenko

  5. Segmenting Images Using Hybridization of K-Means and Fuzzy C-Means Algorithms By Raja Kishor Duggirala

  6. The Software to the Soft Target Assessment By Lucia Mrazkova Duricova, Martin Hromada and Jan Mrazek

  7. The Methodological Standard to the Assessment of the Traffic Simulation in Real Time By Jan Mrazek, Martin Hromada and Lucia Duricova Mrazkova

  8. Augmented Post Systems: Syntax, Semantics, and Applications By Igor Sheremet

  9. Serialization in Object-Oriented Programming Languages By Konrad Grochowski, Michał Breiter and Robert Nowak

本章描述了将对象状态转换为一种格式的过程,这种格式可以在当前使用的面向对象编程语言中传输或存储。这个过程称为序列化(封送处理);相反的称为反序列化(反编组)进程。它是一种低级技术,应该考虑一些技术问题,如内存表示的大小、数字表示、对象引用、递归对象连接等。在本章中,我们将讨论这些问题并给出解决办法。我们还简要回顾了当前使用的工具,并指出满足所有需求是不可能的。最后,我们提供了一个新的支持向前兼容性的c++库。

成为VIP会员查看完整内容
0
38

学习设计思维的基本原理,以及如何在定义软件开发和人工智能解决方案时应用设计思维技术。设计思维是一种创新的方法,它能识别问题并产生解决方案,并能通过原型设计迅速得到验证。

这本书提供了设计思维的简史和过程的概述。然后深入探讨在设计思维研讨会中使用的方法和工具的更多细节,从而得出有用的原型。提供以下指引:

  • 为设计思考工作坊做准备
  • 发现可能被解决的潜在业务问题
  • 优先考虑可能的解决方案
  • 识别和描述利益相关者
  • 为开发选择正确的原型
  • 限制了原型构建的范围和最佳实践

本书最后讨论了成功原型的操作化的最佳实践,并描述了对成功采用至关重要的变更管理技术。您可以使用从阅读本书中获得的知识,将设计思维技术融入到您的软件开发和AI项目中,并确保及时和成功地交付解决方案。

你将学到什么

  • 获得什么是设计思维以及何时应用该技术的基本知识
  • 发现在研讨会中使用的准备和促进技巧
  • 了解想法是如何产生的,然后通过原型验证
  • 了解实现最佳实践,包括变更管理考虑事项

这本书是给谁的呢

  • 商业决策者和项目利益相关者,以及IT项目所有者,他们寻求一种方法,导致快速开发成功的软件和AI原型,证明真正的商业价值。也为数据科学家,开发人员和系统集成商谁有兴趣促进或利用设计思维研讨会,以推动潜在的软件开发和人工智能项目背后的势头。
成为VIP会员查看完整内容
0
49

如果您是用Python编程的新手,并且正在寻找可靠的介绍,那么这本书就是为您准备的。由计算机科学教师开发,在“为绝对初学者”系列丛书通过简单的游戏创造教授编程的原则。您将获得实际的Python编程应用程序所需的技能,并将了解如何在真实场景中使用这些技能。在整个章节中,你会发现一些代码示例来说明所提出的概念。在每一章的结尾,你会发现一个完整的游戏,展示了这一章的关键思想,一章的总结,以及一系列的挑战来测试你的新知识。当你读完这本书的时候,你将非常精通Python,并且能够将你所学到的基本编程原理应用到你要处理的下一种编程语言。

成为VIP会员查看完整内容
0
52

本书建立在基本的Python教程的基础上,解释了许多没有被常规覆盖的Python语言特性:从通过利用入口点作为微服务扮演双重角色的可重用控制台脚本,到使用asyncio高效地整理大量来源的数据。通过这种方式,它涵盖了基于类型提示的linting、低开销测试和其他自动质量检查,以演示一个健壮的实际开发过程。

Python的一些功能强大的方面通常用一些设计的示例来描述,这些示例仅作为一个独立示例来解释该特性。通过遵循从原型到生产质量的真实应用程序示例的设计和构建,您不仅将看到各种功能是如何工作的,而且还将看到它们如何作为更大的系统设计过程的一部分进行集成。此外,您还将受益于一些有用的附加说明和库建议,它们是Python会议上问答会议的主要内容,也是讨论现代Python最佳实践和技术的主要内容,以便更好地生成易于维护的清晰代码。

高级Python开发是为已经能用Python编写简单程序的开发人员准备的,这些开发人员希望了解什么时候使用新的和高级语言特性是合适的,并且能够以一种自信的方式这样做。它对于希望升级到更高级别的开发人员和迄今为止使用过较老版本Python的非常有经验的开发人员特别有用。

你将学习

  • 理解异步编程
  • 检查开发插件架构
  • 使用类型注释
  • 回顾测试技术
  • 探索打包和依赖项管理

这本书是给谁的 -已经有Python经验的中高级开发人员。

成为VIP会员查看完整内容
0
84

当前关于机器学习方面的资料非常丰富:Andrew NG在Coursera上的机器学习教程、Bishop的《机器学习与模式识别》 和周志华老师的《机器学习》都是非常好的基础教材;Goodfellow等人的《深度学习》是学习深度学习技术的首选资料;MIT、斯坦福等名校的公开课也非常有价值;一些主要会议的Tutorial、keynote也都可以在网上搜索到。然而,在对学生们进行培训的过程中, 我深感这些资料专业性很强,但入门不易。一方面可能是由于语言障碍,另一个主要原因在于机器学习覆盖 面广,研究方向众多,各种新方法层出不穷,初学者往往在各种复杂的名词,无穷无尽的 算法面前产生畏难情绪,导致半途而废。

本书的主体内容是基于该研讨班形成的总结性资料。基于作者的研究背景,这本书很难说 是机器学习领域的专业著作,而是一本学习笔记,是从一个机器学习 技术使用者角度对机器学习知识的一次总结,并加入我们在本领域研究中的一些经验和发现。与其说是一本教材,不如说是一本科普读物, 用轻松活泼的语言和深入浅出的描述为初学者打开机器学习这扇充满魔力的大门。打开大门以后,我们会发现这是个多么让人激动人心的 领域,每天都有新的知识、新的思路、新的方法产生,每天都有令人振奋的成果。我们希望这本书 可以让更多学生、工程师和相关领域的研究者对机器学习产生兴趣,在这片异彩纷呈的海域上找到 属于自己的那颗贝壳。

强烈推荐给所有初学机器学习的人,里面有: 书籍的pdf 课堂视频 课堂slides 各种延伸阅读 MIT等世界名校的slides 学生的学习笔记等

成为VIP会员查看完整内容
0
69

关于大数据技术的信息很多,但将这些技术拼接到端到端企业数据平台是一项艰巨的任务,没有得到广泛的讨论。通过这本实用的书,您将学习如何在本地和云中构建大数据基础设施,并成功地构建一个现代数据平台。

本书非常适合企业架构师、IT经理、应用程序架构师和数据工程师,它向您展示了如何克服Hadoop项目期间出现的许多挑战。在深入了解以下内容之前,您将在一个彻底的技术入门中探索Hadoop和大数据领域中可用的大量工具:

  • 基础设施: 查看现代数据平台中的所有组件层,从服务器到数据中心,为企业中的数据建立坚实的基础

-平台: 了解部署、操作、安全性、高可用性和灾难恢复的各个方面,以及将平台与企业IT的其他部分集成在一起所需了解的所有内容

  • 将Hadoop带到云端: 学习在云中运行大数据平台的重要架构方面,同时保持企业安全性和高可用性
成为VIP会员查看完整内容
0
80

本备忘单是机器学习手册的浓缩版,包含了许多关于机器学习的经典方程和图表,旨在帮助您快速回忆起机器学习中的知识和思想。

这个备忘单有两个显著的优点:

  1. 清晰的符号。数学公式使用了许多令人困惑的符号。例如,X可以是一个集合,一个随机变量,或者一个矩阵。这是非常混乱的,使读者很难理解数学公式的意义。本备忘单试图规范符号的使用,所有符号都有明确的预先定义,请参见小节。

  2. 更少的思维跳跃。在许多机器学习的书籍中,作者省略了数学证明过程中的一些中间步骤,这可能会节省一些空间,但是会给读者理解这个公式带来困难,读者会在中间迷失。

成为VIP会员查看完整内容
0
106

本书是为那些对数据科学感兴趣的Python程序员编写的。唯一的先决条件是Python的基本知识。不需要有使用复杂算法的经验。数学背景不是必须的。读完这本书的业余爱好者将获得获得第一份高薪数据科学工作所必需的技能。这些技能包括:

  • 概率论和统计学的基础。
  • 监督和非监督机器学习技术。
  • 关键的数据科学图书馆,如NumPy, SciPy, panda, Matplotlib和Scikit-Learn。
  • 解决问题的能力。

开放式解决问题的能力对于数据科学职业来说是必不可少的。不幸的是,这些能力不能通过阅读来获得。要成为一个问题解决者,你必须坚持解决困难的问题。带着这种想法,我的书围绕着案例研究展开:以真实世界为模型的开放式问题。案例研究范围从在线广告分析到使用新闻数据跟踪疾病暴发。

成为VIP会员查看完整内容
0
111

机器学习有很多名称,如机器学习、人工智能、模式识别、数据挖掘、数据同化和大数据等等。它在许多科学领域都有发展,比如物理学、工程学、计算机科学和数学。例如,它被用于垃圾邮件过滤、光学字符识别(OCR)、搜索引擎、计算机视觉、自然语言处理(NLP)、广告、欺诈检测、机器人技术、数据预测、材料发现、天文学。这使得有时在文献中很难找到一个特定问题的解决方案,仅仅是因为不同的单词和短语用于同一个概念。

这本书旨在缓解这一问题。一个共同的概念,但已知在几个学科不同的名称,是描述使用数学作为共同的语言。读者会发现索引对他们所知的特定主题有用。该索引是全面的,使它很容易找到所需的信息。希望这本书能成为有用的参考书,并成为任何使用机器学习技术的人书架上的必备品

这本书的重点是为什么——只有当一个算法是成功的被理解的时候,它才能被正确的应用,并且结果是可信的。算法经常被并排讲授,却没有显示出它们之间的异同。这本书解决了共性,并旨在给一个彻底和深入的处理和发展直觉,同时保持简洁。

对于任何使用机器学习技术的人来说,这本有用的参考书应该是必备的。

课件:

成为VIP会员查看完整内容
0
166

【导读】Python现在是编程首选语言,但是面向数据科学家的Python的教程并非那么好上手。最近Wenqiang Feng, Xu Gao and Upendra Madam三位数据科学家撰写了一本《给数据科学家的Python技能秘籍》,简明扼要,非常实用,使用与数据科学家相关的详细演示代码和示例来共享一些用于数据科学家工作的有用python技巧,值得放在身旁学习查看

avatar

地址: https://runawayhorse001.github.io/PythonTipsDS/pd.html

为什么写这本笔记?

不管你喜欢与否,Python一直是最流行的编程语言之一。我已经使用Python将近4年了。坦白地说,在第一次使用Python时,我并没有被它所吸引。在开始工作后,我不得不使用Python。渐渐地,我认识到了Python的优雅之处,并将其作为我的主要编程语言之一。但我相信:

  • 大多数强调编程的Python书籍或教程会淹没新入门的用户。

  • 虽然大多数用于数据科学家或数据分析的Python书籍或教程都没有涵盖工程师方面的一些基本技能。

所以我想保留一些有价值的建议,这些建议在我的日常工作中得到了广泛的应用。

成为VIP会员查看完整内容
0
79
小贴士
相关VIP内容
专知会员服务
38+阅读 · 9月14日
专知会员服务
52+阅读 · 8月14日
专知会员服务
84+阅读 · 7月31日
专知会员服务
69+阅读 · 7月27日
专知会员服务
80+阅读 · 6月15日
机器学习速查手册,135页pdf
专知会员服务
106+阅读 · 3月15日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
111+阅读 · 2月21日
【2020新书】简明机器学习导论,电子书与500页PPT
相关资讯
《人工智能转型手册》,吴恩达 著
人工智能学家
10+阅读 · 2018年12月14日
《中国人工智能发展报告2018》(附PDF下载)
走向智能论坛
10+阅读 · 2018年7月17日
2018年最佳深度学习书单
云栖社区
7+阅读 · 2018年3月11日
【社交网络】一文读懂社交网络分析
产业智能官
8+阅读 · 2017年10月14日
2017年DevOps最新现状研究报告解读
CSDN云计算
4+阅读 · 2017年6月13日
相关论文
Yaoyao Zhong,Weihong Deng
0+阅读 · 11月23日
Will Ma,David Simchi-Levi,Jinglong Zhao
0+阅读 · 11月22日
Alex Bogatu,Alvaro A. A. Fernandes,Norman W. Paton,Nikolaos Konstantinou
0+阅读 · 11月20日
L. Gordeev,E. H. Haeusler
0+阅读 · 11月20日
Visual Grounding in Video for Unsupervised Word Translation
Gunnar A. Sigurdsson,Jean-Baptiste Alayrac,Aida Nematzadeh,Lucas Smaira,Mateusz Malinowski,João Carreira,Phil Blunsom,Andrew Zisserman
5+阅读 · 3月11日
Kai-Lang Yao,Wu-Jun Li
3+阅读 · 2月12日
Attention Network Robustification for Person ReID
Hussam Lawen,Avi Ben-Cohen,Matan Protter,Itamar Friedman,Lihi Zelnik-Manor
3+阅读 · 2019年10月15日
Compositional Generalization in Image Captioning
Mitja Nikolaus,Mostafa Abdou,Matthew Lamm,Rahul Aralikatte,Desmond Elliott
3+阅读 · 2019年9月16日
Marek Rei,Anders Søgaard
3+阅读 · 2018年11月14日
Top