Google

开发阶段总结

爱⌒轻易说出口 提交于 2019-12-02 22:10:58
开发的关键点在于学习,学习可以说是在任何行业永恒的话题,学习什么?如何去学习?就编程而言,学习最终是为了应用,首先要学习到这种应用,然后学习其如何应用,再学为何能这样应用,最后学如何建立或者(根据需要)更改这种应用。 假设你想学习一个开源项目,首先要了解该项目应用的工作机制,熟悉其业务逻辑,懂得其业务核心在哪里,业务边界在哪里,什么地方正常使用无问题,什么地方正常使用可能有问题(所谓的‘坑’),什么地方在某种情况下使用必有问题等等。 然后需要了解其组成原理,即是代码组成。在对代码工作目的充分了解的前提下,从代码源头找起(方法调用部分),学会单元测试,对代码相关位置进行功能验证,对其相应功能分别进行深入,慢慢排除模块干扰(一般来说,为了提高项目的可维护性,都会将模块进行划分,以至于相应的功能具体实现被划分模块的代码掩盖),同时学习该模块的建设,积累经验 最后最终的目的自然是要根据需要更改此项目(或者不需要更改,但最好能有更改的能力,一般项目应用范围难以保证一定在业务需求之内),假设前两点都能正常完成,那么我对于该项目的各个功能的应用点、边界问题、架构划分、具体实现应该有了一定的了解,通常情况下,为了降低功能及模块的耦合度,项目功能的具体实现都是边界狭隘的单面功能,一般边界在一个任务的范围内,如果业务需求要求更改相关具体实现,应该从调用者处改起(不能改变单面功能的实现

在Google使用Borg进行大规模集群的管理 7-8

只谈情不闲聊 提交于 2019-12-02 16:15:43
【编者的话】最后两章探讨的是相关工作和改进。从中可以看到从Borg到Kubernetes,他们也做了不少思考,而这方面的工作远远没有完善,一直在进行中。期待大家都能从Google的实践中学到一些东西,并分享出来。 7. 相关工作 资源调度在各个领域已经被研究了数十年了,包括在广域HPC超算集群中,在工作站网络中,在大规模服务器集群中。我们主要聚焦在最相关的大规模服务器集群这个领域。 最近的一些研究分析了集群趋势,来自于Yahoo、Google、和Facebook[20, 52, 63, 68, 70, 80, 82],展现了这些现代的数据中心和工作负载在规模和异构化方面碰到的挑战。[69]包含了这些集群管理架构的分类。 Apache Mesos [45]把资源管理和应用部署做了分离,资源管理由中心管理器(类似于Bormaster+scheduler)和多种类的“框架”比如Hadoop [41]和Spark [73],使用offer-based的机制。Borg则主要把这些几种在一起,使用request-based的机制,可以大规模扩展。DRF [29, 35, 36, 66]策略是内赋在Mesos里的;Borg则使用优先级和配额认证来替代。Mesos开发者已经宣布了他们的雄心壮志:推测性资源分配和回收,然后把[69]里面的问题都解决。 YARN [76]是一个Hadoop中心集群管理

Navigation Drawer详解-Google推出的用来取代Sliding Menu的控件(一

[亡魂溺海] 提交于 2019-12-02 08:06:05
相信 Sliding Menu 很多人都用过,在 Android 和 iOS 的 app 中,越来越多的开发者都会把自己的菜单界面放在一个列表里,然后让用户通过向右(或者向左)滑动的操作看到应用所有的功能。 Google 官方的应用也基本都选择了这种交互方式,不同的是, Google 使用的是 Navigation Drawer ,而我们大部分用的还是 Sliding Menu 。 大家对 Sliding Menu 这个开源项目可能已经很熟悉了,但是 Navigation Drawer 我们有些童鞋可能了解的还比较少,它是 Google I/O 2013 刚推出不久的一个在 support v4 包里面的一个控件,下面我就通过一个 demo 跟大家介绍一下 Navigation Drawer 的使用方法。 http://safe.ijiami.cn/ 这个 demo 是 google 官方的,大家可以到这里下载一下: http://developer.android.com/training/implementing-navigation/nav-drawer.html ,我下面写的代码说明也基本就是翻译了一下这个教程,英语比较好的童鞋建议还是直接看官方的吧。 创建一个抽屉 导航抽屉是一个位于屏幕左侧边缘用来显示应用程序导航项的一个面板。导航抽屉在大部分时间是不显示的

Google Maps Android API v2 简介

瘦欲@ 提交于 2019-12-01 16:49:45
通过Google Maps Android API ,你可以给你的应用程序添加基于Google Maps数据的地图。那些API自动处理对于Google Maps服务器的访问,数据下载,地图显示,及对地图手势的相应。你也可以使用API调用来给一个基本的地图添加 markers,polygons,和overlays ,及改变一个特定的地图区域的用户视图。这些对象为地图位置提供了额外的信息,并允许用户与地图进行交互。这些API使你可以给一幅地图添加这样的一些图形: 固定在 地图上特定位置的图标(Markers)。 线段的集合 (Polylines). 闭合的线段 (Polygons)。 固定在地图上特定位置的Bitmap图形 (Ground Overlays)。 显示在基本地图片上面的一系列图像 (Tile Overlays)。 读者 这份文档适用于熟悉 Android开发 及面向对象编程概念的读者。你也应该熟悉用户眼中的 Google Maps 。 这份概念性的文档主要用于使你能够快速的开始浏览及使用 Google Maps Android API 开发应用程序。你也许也想要参考一些参考文档来了解类和方法特定的详细信息。 商用Google Maps Mobile SDK 商用 Google Maps Mobile SDK 许可,同时为iOS版 Google Maps SDK及

在Google使用Borg进行大规模集群的管理 1-2

一笑奈何 提交于 2019-12-01 07:53:32
原作: Abhishek Vermay, Luis Pedrosaz, Madhukar Korupolu, David Oppenheimer, Eric Tune, John Wilkes http://research.google.com/pubs/pub43438.html 译者: 难易 http://my.oschina.net/HardySimpson Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored.For all other uses, contact the owner/author(s). EuroSys’15, April

五年后大家将很难看到Google

▼魔方 西西 提交于 2019-11-30 16:21:08
这是在新浪上看到的文章,发表于2006年,今年正好是5年了 大家觉得了 百度李彦宏:五年后大家将很难看到Google http://tech.sina.com.cn/i/2006-04-10/1635897517.shtml http://www.sina.com.cn 2006年04月10日 16:35 华夏时报 图为百度首席执行官李彦宏(新浪科技配图) 点击此处查看全部科技图片 本报记者 芬子 报道 日前,在对外经贸大学举行的“2006商业灵感论坛”上,互联网搜索新秀百度上选“2005战略管理标杆企业”,零点研究集团董事长袁岳挑起话题:“5年以后Google和百度是什么样的关系?那个时候Google 比百度牛还是百度比Google牛?一个月前,李彦宏亲口告诉我说:‘5年以后,Google和百度之间的关系是百度一枝独秀,从市场份额来说,大家很难看到Google了。’” 百度的财务总监王湛生出席了当天的论坛,他证实了袁岳的话。他回忆:“百度5年前诞生在中国,当时仅仅是一个公司、一个主意,而Google做中文搜索已经1年了。我们一点一点地投入开发中文搜索技术,从无到有,在竞争很激烈的环境中,一点点把市场份额从跨国公司手里边夺回,在2003年的时候,在中文搜索领域我们基本上和Google 持平,2004年、2005年从30%到40%,到今年超过50%,已经远远超过跨国公司。” 他说:

Google Maps Android API v2入门

一曲冷凌霜 提交于 2019-11-30 11:38:16
概述 创建一个新的使用了 Google Maps Android API v2的 Android应用需要许多个步骤。这一节中所概述的其中的许多步骤只是需要必须执行一次而已,但有些信息则是未来应用开发方便的参考。给一个Android应用程序添加一个地图的总体过程如下: 安装 Android SDK . 下载并配置 Google Play services SDK,其中包含了 Google Maps Android API。如果你使用了 商业Google Maps Mobile SDK ,则你必须下载并配置商业 Google Maps Mobile SDK静态库 获取一个API key 。为了做到这一点,你需要在Google APIs Console 注册一个工程,并为你的app获取一个签名证书。 在你的应用程序的manifest中添加所需要的设置。 给你的应用程序添加一个map。 发布你的应用程序。 你也可能想要通过查看 示例代码 来开始,示例代码包含在 Google Play services SDK中。 安装Android SDK 这是一个先决条件,你需要安装 Android SDK。请参考 获取Android SDK 。 安装并配置Google Play services SDK 你将需要为你的app创建一个Android工程,来完成这个小节的那些步骤

Android开发在路上:少去踩坑,多走捷径

偶尔善良 提交于 2019-11-29 23:20:57
近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的,所以有了这个小分享。 1.目前, Android APP开发完成后,通常需要在哪些机型上进行测试? 2.目前, 开发Android APP时,需要考虑的分辨率有哪些? 这两个问题可以合起来回答的。 http://developer.android.com/about/dashboards/index.html 源自Google Play的数据,每月都会进行update,可以及时了解Android版本比例趋势。 屏幕密度数据 OpenGL ES版本 也可以参考一下国内一个第三方数据:http://www.umindex.com/#android_device 目前三星和小米市场占有率是遥遥领先的,三星Note2、Note3、S3、S4、S5、小米123、红米必须测试,魅族也比较坑爹,加入测试名单吧。再选中小屏幕各一款(譬如华为C8650、Moto ME511)。 Android 1.5、1.6、2.0、2.1和小屏幕的属于古董级别的机器,市场存量也很少,新出的机器都是4.0以上的了,所以必要时需要舍弃对古董的支持,因为适配成本很高,对于新开发的应用,这个适配不值得投入。 3.目前, 开发Android APP时,适应多个分辨率的技术方案有哪些? http://developer.android.com

【Google官方教程】第三课:缓存Bitmap

↘锁芯ラ 提交于 2019-11-29 12:37:40
转 载 声明: Ryan的博客文章欢迎您的转载,但在转载的同时,请注明文章的来源出处,不胜感激! :-) http://my.oschina.net/ryanhoo/blog/88443 译者: Ryan Hoo 来源: https://developer.android.com/develop/index.html 译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对开发者有所帮助。 本系列是Google关于展示大Bitmap(位图)的官方演示,可以有效的解决内存限制,更加有效的加载并显示图片,同时避免让人头疼的OOM(Out Of Memory)。 ------------------------------------------------------------------------------------- 译文: 加载一个Bitmap(位图)到你的UI界面是非常简单的,但是如果你要一次加载一大批,事情就变得复杂多了。在大多数的情况下(如ListView、GridView或者ViewPager这样的组件),屏幕上的图片以及马上要在滚动到屏幕上显示的图片的总量,在本质上是不受限制的。 像这样的组件在子视图移出屏幕后会进行视图回收,内存使用仍被保留

【Google官方教程】第四课:在UI中显示Bitmap

落花浮王杯 提交于 2019-11-29 12:36:59
转 载 声明: Ryan的博客文章欢迎您的转载,但在转载的同时,请注明文章的来源出处,不胜感激! :-) http://my.oschina.net/ryanhoo/blog/88484 译者: Ryan Hoo 来源: https://developer.android.com/develop/index.html 译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对开发者有所帮助。 本系列是Google关于展示大Bitmap(位图)的官方演示,可以有效的解决内存限制,更加有效的加载并显示图片,同时避免让人头疼的OOM(Out Of Memory)。 ------------------------------------------------------------------------------------- 译文: 这节课将我们前面几节课学习的东西都整合起来,向你展示如何使用后台线程和Bitmap缓存加载多个Bitmap(位图)到ViewPager和GridView组件中,并学习如何处理并发和配置变化问题。 实现加载Bitmap到ViewPager 滑动浏览模式( Swipe View Pattern )是一种很好的浏览详细图片的方式。你可以使用 ViewPager