关于阿里巴巴:通过Python封装关键词搜索阿里巴巴商品列表数据阿里巴巴商品列表接口阿里巴巴API

以下是应用 Python 封装关键词搜寻阿里巴巴商品列表数据的步骤:应用 requests 库向阿里巴巴搜寻接口发送 HTTP 申请,能够应用 GET 或 POST 办法,申请参数中应蕴含搜寻关键词、每页展现数量、以后页码等信息。解析返回的 response 中的 HTML 页面或 JSON 格局数据,提取须要的商品信息,如商品题目、价格、评估人数等。应用 pandas 库将提取的商品信息保留到数据框中,以不便后续解决和剖析。能够应用 matplotlib 或其余可视化工具展现商品信息的一些统计特色,如价格散布、销售量趋势等。 以下是应用 Python 封装接口获取阿里巴巴商品列表数据的示例代码: alibaba.item_search - 关键词搜寻阿里巴巴商品列表数据  1.申请形式:HTTP  POST GET 2.申请链接:http://c0b.cc/R4rbK23.申请参数(复制Taobaoapi2014): 申请参数:q=shoe&start_price=&end_price=&page=&cat=&discount_only=&sort=&page_size=&seller_info=&nick=&ppath=参数阐明:q:搜寻关键字cat:分类IDstart_price:开始价格end_price:完结价格sort:排序[bid,_bid,bid2,_bid2,_sale,_credit,kc]  (bid:总价,bid2:商品价格,sale:销量,credit信用,加_前缀为从大到小排序)page:4.申请示例,反对高并发(CURL、PHP 、PHPsdk 、Java 、C# 、Python...)

June 8, 2023 · 1 min · jiezi

关于阿里巴巴:2022淘宝造物节3D直播虚拟营地技术亮点揭秘

2022年8月24日,淘宝造物节全新亮相!为了摸索下一代互联网沉迷式购物体验,本次造物节除了在线下广交会展馆打造一个两万平⽶全景式的“将来营地”以外,线上首次上线可万人同时在线的虚构互动空间“3D疯狂城-造物节虚构营地”。在3D虚构营地里,用户可能以轻量级的形式体验高清的游戏质感,并以虚构人物形象退出到“3D人货场”的世界,与玩家互动,与3D商品互动,满足新一代生产群体爱玩、爱造的诉求,以翻新的技术带来全新的生产体验。 上面咱们一起看看3D直播虚构营地的体验&技术亮点: 轻量级裸眼3D“实景游戏”已经你喜爱一款3D游戏,客户端下载好几个G,想玩新游戏时却不得不卸载,真是太占内存了!在造物节的虚构营地,你疾速加载出一款裸眼3D、可互动、可直播,甚至还能买买买的高清画面“游戏”,而且你的淘宝App“一点都没变大”,手机加载速度“嗖嗖的”~ 技术亮点:云端老本的挑战传统的在挪动端做3D游戏利用的开发,往往须要在端测集成几十上百 M 的游戏引擎,还须要下载几个G的素材资源,这在淘宝app 内目前是不事实的。采纳云渲染的形式能够很好的解决这一问题,借助云端弱小的GPU实现高清简单的场景渲染,用户无需下载大型的资源文件,也不须要装置任何内容,惟一须要的就是播放实时渲染的媒体流。 但这里带来的最大的问题就是云渲染机器的老本问题。为了升高云渲染机器的老本, 咱们除了在云渲染方面,做好模型减面、dp 合并、贴图优化、升高视频素材分辨率等性能优化策略。还在机器调度上, 联合业务场景做了分时段动静扩缩容策略,最大水平进步机器的利用率。 3D人与3D商品首次在3D虚拟世界相遇已经在“淘宝人生”里穿衣装扮的3D用户,第一次“走”出小家,来到了造物节的直播3D虚构营地。在这里,你能够自在跳动、点燃篝火,还能够查看3D商品,观看卖家直播,与玩家互动交换。3D人、3D商品、3D环境联合在一起,给你沉迷式的微妙营地探险体验。 技术亮点:人货场的搭建与互动人与人的交互。淘宝人生里的3D人物,搁置到3D虚拟世界里来,首先须要肯定的资产转换和渲染老本。用户在营地里跑动,波及到用户地位的实时同步。对于用户实时漫游,咱们采纳帧同步的技术,依照固定频率去更新用户地位信息, 现实状况下,用户是不会感觉到卡顿的, 然而不可避免网络拥塞引起帧间抖动,相邻两次地位同步的工夫超过肯定距离,则会引起跳变。为了补救这种有余, 咱们在人物渲染的时候采纳了静止弥补的算法,简略说就是通过算法模仿让用户地位挪动过渡的更加平滑。同时在互动数据的同步方面,采纳了AOI 网格算法, 解决多人同屏数据同步的问题。 这样,3D人物在虚拟世界里随便跑动都会比拟晦涩顺滑。 人与商品的交互。用户想要在虚构场景下自在查看3D商品的细节并不容易,咱们有两种计划能够抉择:一种是挪动端渲染,一种是云端渲染。挪动端渲染在淘宝内也有绝对成熟的解决方案,遗憾的是挪动端的渲染引擎和云端渲染引擎并不是一套, 所以同一个商品模型并不能通用, 同时还要思考模型动静下载, 减面优化等问题,为了避开这些劣势,咱们还是抉择了云端渲染的计划,通过动静切换相机视角,实时响应用户端的交互指令,以达到旋转、缩放观看3D商品的体验。  1080P分辨率酷炫高清画质已经你在手机App里尝试页面小游戏,糊得如同马赛克,跑跑跳跳还掉帧。造物节全新3D虚构营地,画质高清、成果晦涩,舞台灯光还能动静追踪到身为“明星”的你~ 技术亮点:云端渲染的内容制作与实时传输在云端,咱们采纳空幻引擎做实时画面的渲染, 并且联合动静运镜、动静舞台灯光、人物多视角、粒子成果等技术让画面看起来更加酷炫,用户互动感更强。 为了把高清的画面传输到用户的手机上,咱们须要综合思考画质,卡顿,延时的均衡, 借助大淘宝和阿里云共建的GRTN传输网络,以及自研的编解码算法,能够最大水平保障画质的清晰。 交互式虚构画面不卡顿已经你在淘宝主播直播间,倒数“3、2、1、开抢!”感触到了超低提早秒杀的爽感。但屏幕外的你,却无奈通过交互间接干涉直播间主播的口头。在3D虚构营地的你,一边跳舞一边打招呼,还能够点击商家的3D商品,观看喜爱的主播解说,实实在在做到了“与商家、主播同框交换”。 技术亮点:全链路超低提早不同于互不烦扰的画面传输,在交互式下实现超低提早的晦涩体验,咱们须要在百毫秒内实现用户指令的上行、 实时画面的渲染、并将渲染好的画面返回到用户手机端。首先,这外面要综合思考用户的机器、网络、接入点状况,来动静抉择离用户最近的推流节点,从而调整云端的推流策略(包含清晰度,编码方式的抉择)。其次,在传输过程中,还需采纳实时带宽反馈、FEC 、动静buffer 等弱网控制策略来反抗网络的抖动, 从而使整个链路延时达到正当的地位,最终实现在虚拟世界的交互中,保障晦涩的交互体验。 结语此次造物节3D虚构营地,是淘宝虚构互动空间“3D疯狂城”系列的首次上线尝试。下一步,咱们将会联合云端实时渲染, XR/CG技术实现虚拟化场景定制, 撑持更大规模的用户实时互动,为消费者带来更沉迷式互动体验。

August 31, 2022 · 1 min · jiezi

关于阿里巴巴:ZooKeeper-在阿里巴巴的服务形态演进

简介: 本文将给大家介绍下 ZooKeeper 的最佳实际场景,归为了 3 类,别离是:微服务畛域,代表的集成产品是 Dubbo/SpringCloud;大数据畛域,代表的集成产品是 Flink/Hbase/Hadoop/Kafka;自研的分布式系统,包含大家本人公司外部的分布式系统,对分布式协调有需要,如分布式锁。作者:草谷 Apache ZooKeeper 在阿里巴巴经验了开源自用、深度优化、反哺社区、开发企业版服务云上客户的演进过程,为了厘清本文脉络,咱们对演进过程中提到的要害名词做以下定义。 Apache ZooKeeper:提供分布式协调服务如分布式锁、分布式队列等,还可用于注册配置核心的能力。TaoKeepeer:基于 ZooKeeper 做了深度革新,于2008年服务于淘宝。MSE:阿里云的一个面向业界支流开源微服务生态的一站式微服务平台。ZooKeeper 企业服务:MSE 的子产品,提供开源加强的云上服务,分为根底版和专业版两种。 ZooKeeper 在阿里巴巴的服务状态演进历程 早在 2008 年,阿里巴巴基于 ZooKeeper 的开源实现和淘宝的电商业务,设计 Taokeeper 这款分布式协调软件,彼时恰逢淘宝启动服务化革新,那时候,也诞生了各类分布式中间件,例如 HSF/ConfigServer/VIPServer 等。 10 年后的 2019 年,阿里巴巴施行全站上云战斗,所有的产品都须要降级到私有云架构,MSE 就是在那个时候诞生的,上线后便兼容了支流的 ZooKeeper 版本。 增加图片正文,不超过 140 字(可选) 编辑 切换为居中增加图片正文,不超过 140 字(可选) 整个过程经验了以下 3 个阶段: 第一个阶段:08 年的 1.0 版本,次要反对团体有分布式协调需要的利用,那时候所有的业务都是混着用,有 1000 多个利用,最终大略手动运维着 150+个共享集群。随着工夫的推移,业务都在做微服务拆分,共享集群的容量爆炸式增长,这样带来的问题就是:业务混部,爆炸半径大,稳定性存在着很大的危险;日常的运维,例如机器置换等,牵一发而动全身,如果配置出问题,影响所有业务。 第二个阶段:为了解决阶段一的问题,咱们将 ZooKeeper 演进到 2.0 版本。那时候耿直容器化刚刚衰亡,在认真钻研过容器化的革新计划后,咱们在性能和运维可能同时满足要求的状况下,进行了大量的革新,业务进行拆分、集群迁徙、按最小稳固单元去运维一个集群,这样咱们终于能够睡个安稳觉了,拆分完后,依靠于 K8s 的规模化运维能力,这些问题都失去了很好的解决,由此实现了独享模式集群、资源隔离,SLA 失去了晋升,能达到 99.9%。 第三个阶段:上云提供公共云服务,也就演进到了 3.0。这个版本重点打造了开源加强,例如,基于 Dragonwell 进行构建、JVM 参数调优、集成了 Prometheus、部署状态多 AZ 强制均匀打散、反对动静配置 、平滑扩缩容等革新,在性能、免运维、可观测、高可用和平安等方面做了诸多晋升,SLA 可能达到 99.95%。 ...

June 9, 2022 · 3 min · jiezi

关于阿里巴巴:如何保证同事的代码不会腐烂一文带你了解-Alibaba-COLA-架构

本文开始前,问大家一个问题,你感觉一份业务代码,尤其是互联网业务代码,都有哪些特点? 我能想到的有这几点: 互联网业务迭代快,工期紧,导致代码构造凌乱,简直没有代码正文和文档。互联网人员变动频繁,很容易接手他人的老我的项目,新人基本没工夫吃透代码构造,紧迫的工期又只能让屎山越堆越大。多人一起开发,每个人的编码习惯不同,工具类代码各用个的,业务命名也常常抵触,影响效率。大部分团队简直没有工夫做代码重构,任由代码腐烂。每当咱们新启动一个代码仓库,都是信念满满,构造整洁。然而工夫越往后,代码就变得糜烂不堪,技术债权越来越宏大。 这种状况有解决方案吗?也是有的: 小组内定期做代码重构,解决技术债权。组内设计欠缺的利用架构,让代码的腐烂来得慢一些。(当然很难做到齐全不腐烂)设计尽量简略,让不同层级的开发都能疾速看懂并上手开发,而不是在一堆简单的没人看懂的代码上堆更多的屎山。而COLA,咱们明天的配角,就是为了提供一个可落地的业务代码构造标准,让你的代码腐烂的尽可能慢一些,让团队的开发效率尽可能快一些。 COLA是什么COLA是由阿里大佬张建飞所提出的一种业务代码架构的最佳实际,并且曾经在阿里云脚手架代码生成器中作为一个可选项,可见其曾经领有了肯定影响力。 COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”。 在COLA 4.0,也就是目前最新的版本中,作者将COLA拆分为COLA架构(Archetype)和COLA组件(Components)两个局部: COLA架构:COLA利用的代码模板。COLA组件:提供一些十分有用的通用组件,这些组件能够帮忙咱们晋升研发效率。两者互不烦扰,能够独立应用。 COLA整体架构首先次要谈谈COLA架构,COLA的官网博文中是这么介绍的: 在平时咱们的业务开发中,大部分的零碎都须要: 接管request,响应response;做业务逻辑解决,像校验参数,状态流转,业务计算等等;和内部零碎有联动,像数据库,微服务,搜索引擎等;正是有这样的共性存在,才会有很多普适的架构思维呈现,比方分层架构、六边形架构、洋葱圈架构、整洁架构(Clean Architecture)、DDD架构等等。 这些利用架构思维尽管很好,但咱们很多同学还是“不讲Co德,明确了很多情理,可还是过不好这毕生”。问题就在于不足实际和领导。COLA的意义就在于,他不仅是思维,还提供了可落地的实际。应该是为数不多的利用架构层面的开源软件。 COLA提供了一整套代码架构,拿来即用。 其中蕴含了很多架构设计思维,包含探讨度很高的畛域驱动设计DDD等。 留神:每个人对于架构设计都有着本人的了解。所以对于COLA的架构,本篇文章也仅仅只是我本人对于COLA的浅显了解,大家能够批评对待。 COLA分层架构先来看两张官网介绍图 其次,还有一个官网的表格,介绍了COLA中每个层的命名和含意: 档次包名性能必选Adapter层web解决页面申请的Controller否Adapter层wireless解决无线端的适配否Adapter层wap解决wap端的适配否App层executor解决request,包含command和query是App层consumer解决内部message否App层scheduler解决定时工作否Domain层model畛域模型否Domain层ability畛域能力,包含DomainService否Domain层gateway畛域网关,解耦利器是Infra层gatewayimpl网关实现是Infra层mapperibatis数据库映射否Infra层config配置信息否Client SDKapi服务对外透出的API是Client SDKdto服务对外的DTO是这两张图和一个表格曾经把整个COLA架构的绝大部分内容展示给了大家,然而一下子这么多信息量可能很难消化。 既然整个示例架构我的项目是一个Maven父子构造,那咱们就从父模块一个个好好过一遍。 首先父模块的pom.xml蕴含了如下子模块: <modules> <module>demo-web-client</module> <module>demo-web-adapter</module> <module>demo-web-app</module> <module>demo-web-domain</module> <module>demo-web-infrastructure</module> <module>start</module></modules>start层该模块作为整个利用的启动模块(通常是一个SpringBoot利用),只承当启动我的项目和全局相干配置项的寄存职责。代码目录如下: 将启动独立进去,益处是清晰简洁,也能让新人一眼就看出如何运行我的项目,以及我的项目的一些根底依赖。 adapter层接下来咱们依照之前架构图从上到下的程序,一个个看。 首先是demo-web-adapter模块,这名字是不是很陈腐?但其实,能够了解为平时咱们用的controller层(对于Web利用来说),换汤不换药。 在COLA官网博客中,也能找到如下的形容: Controller这个名字次要是来自于MVC,因为是MVC,所以自带了Web利用的烙印。然而,随着mobile的衰亡,当初很少有利用仅仅只反对Web端,通常的标配是Web,Mobile,WAP三端都要反对。 cilent层有了咱们说的“controller”层,接下来有的小伙伴必定就会想,是不是service层啦。 是,也不是。 传统的Web利用中,齐全能够只有一个service层给controller层调用,然而作为一个业务利用,除非你真的只是个前端页面的有情吐数据机器,否则很大可能性你的利用会有很多其余上下游调用方,并且你须要提供接口给他们。 这时候你给他们的不应该是一个Web接口,应该是RPC调用的服务层接口,至于起因不是本文的重点,具体就不开展了。 所以在COLA中,你的adapter层,调用了client层,client层中就是你服务接口的定义。 从上图中能够看到,client包里有: api文件夹:寄存服务接口定义dto文件夹:寄存传输实体留神,这里只是服务接口定义,而不是服务层的具体实现,所以在adapter层中,调用的其实是client层的接口: @RestControllerpublic class CustomerController { @Autowired private CustomerServiceI customerService; @GetMapping(value = "/customer") public MultiResponse<CustomerDTO> listCustomerByName(@RequestParam(required = false) String name){ CustomerListByNameQry customerListByNameQry = new CustomerListByNameQry(); customerListByNameQry.setName(name); return customerService.listByName(customerListByNameQry); }}而最终接口的具体实现逻辑放到了app层。 ...

April 1, 2022 · 2 min · jiezi

关于阿里巴巴:阿里巴巴云原生大数据运维平台-SREWorks-正式开源

简介:阿里巴巴云原生大数据运维平台 SREWorks,积淀了团队近10年通过外部业务锻炼的 SRE 工程实际,明天正式对外开源,秉承“数据化、智能化”运维思维,帮忙运维行业更多的从业者采纳“数智”思维做好高效运维。 作者 | 晟白起源 | 阿里技术公众号 随着行业一直倒退,大数据&AI也逐步出现云原生化的趋势。简单的业务场景及其背地波及到的不同技术方向的开源和自研,使得产品运维面临技术复杂度高、规模大、场景多等挑战。 阿里巴巴云原生大数据运维平台 SREWorks,积淀了团队近10年通过外部业务锻炼的 SRE 工程实际,明天正式对外开源,秉承“数据化、智能化”运维思维,帮忙运维行业更多的从业者采纳“数智”思维做好高效运维。 一 SREWorks 是什么?谷歌在2003年提出了一种岗位叫做 SRE (Site Reliability Engineer,站点可靠性工程师),它是软件工程师和系统管理员的联合,器重运维人员的开发能力,要求运维日常琐事在50%以内,另外50%精力开发自动化工具缩小人力需要。 SREWorks 作为阿里云大数据SRE团队对SRE理念的工程实际,专一于以利用为核心的一站式“云原生”、“数智化”运维 SaaS 治理套件,提供企业应用&资源管理及运维开发两大外围能力,帮忙企业实现云原生利用&资源的交付运维。 阿里云大数据 SRE 团队人造凑近大数据和AI,对大数据&AI技术十分相熟,且具备随取随用的大数据&AI算力资源,始终致力践行“数据化”、“智能化”的运维理念,行业里的 DataOps(数据化运维)最早由该团队提出。SREWorks 中有一套端到端的 DataOps 闭环工程化实际,包含规范的运维数仓、数据运维平台、经营核心等。 随着云原生时代大趋势的到来,阿里云大数据 SRE 团队将SREWorks运维平台开源,心愿为运维工程师们提供开箱即用的运维平台。 二 SREWorks 有什么劣势?回归到运维畛域的需要,无论下层产品和业务状态怎么变动,运维实质上解决的还是“品质、老本、效率、平安”相干需要。SREWorks 用一个运维 SaaS 利用界面来撑持上述需要,同时以“数智”思维为内核驱动 SaaS 能力,具体包含交付、监测、治理、管制、经营、服务六局部。 1 体系化运维平台分层架构 从“品质、老本、效率、平安”四个维度登程看运维实质相干工作,运维除了要搭平台、建标准、做规范,还要用主动理念晋升效率,用数据驱动测试/开发/运维,用智能伎俩提前发现/预测危险问题等。这些能够看成是方法论。如何能从实践疾速取得一套体系化、工程化、产品化的能力实际,去撑持满足上述四个维度的需要,就是 SREWorks 所思考的问题。 阿里云大数据 SRE 团队利用分层思维构筑了 SREWorks 平台产品体系,借鉴经典 SPI(SaaS/PaaS/IaaS)三层划分思路,SREWorks 由“运维 SaaS 利用场景层、运维 PaaS 中台服务层、运维 IaaS 接入层”三局部形成。 SREWorks 中还融入了运维标准、标准化思维,利用产品承载自动化流程、数据驱动、智能内核的方法论。从代码到线上业务服务的整个过程,运维或多或少地参加了其中一些工作,因而,围绕利用的生命周期,在SaaS场景层划分了“交付、监测、治理、管制、经营、服务”六大区。如下图所示,每块内容里都有代表性的外围性能。 SREWorks 中对立以利用形象来形容业务零碎,在开发人员将研发实现的利用制品交付上线后,就会对线上利用实例生命周期进行监测、治理、管制。SREWorks所领有的运维数据能力会提供增值化的经营、服务,为有须要的人员提供便捷的视图、治理能力等。 ...

March 25, 2022 · 1 min · jiezi

关于阿里巴巴:阿里巴巴超大规模-Kubernetes-基础设施运维体系揭秘

作者:仔仁、墨封、光南 序言ASI:Alibaba Serverless infrastructure,阿里巴巴针对云原生利用设计的对立基础设施。ASI 基于阿里云公共云容器服务 ACK之上,撑持团体利用云原生化和云产品的 Serverless 化的基础设施平台。 2021 年天猫双十一,对于 ASI 来说又是难忘的一年,往年咱们又实现了很多“第一次”: 第一次全面对立调度:电商、搜寻、odps 离线和蚂蚁业务全面上 ASI 对立调度架构,整个业务核数达到了惊人的数千万核。第一次将搜寻业务“无感知”平滑迁徙到 ASI:近千万核的业务,业务无感的搬到 ASI(然而咱们却经验了很多个不眠之夜)。ASI 场景的 K8s 单集群规模超过万台节点,数百万核,超过 K8s 社区的 5000 台规模,一直优化大规模集群的性能和稳定性。中间件服务第一次用云产品架构反对团体业务:中间件基于 ASI 公共云架构,将中间件服务平滑迁徙到云上,用云产品架构反对团体业务,实现“三位一体”。ASI 在大规模生产利用的锻炼下,不仅积淀了十分多的 K8s 稳定性运维能力,更是在反对 serverless 场景下孵化了很多创新能力。如果运维过 K8s(特地是运维大规模集群)的同学肯定会有很深的感触:把 K8s 用起来很容易,想要用好 K8s 真心不容易。ASI 在应用 K8s 调度体系架构晚期成长阶段,也经验过屡次血的教训,过程中咱们继续成长、学习和成熟。例如: 一次失常的 Kubernetes 大版本升级流程,在降级 Kubelet 时把一个集群近千台业务 POD 全副重建;一次线上非标操作,将大批量的 vipserver 服务全副删除,幸好中间件有推空爱护,才没有对业务造成灾难性影响;节点证书过期,因为节点自愈组件故障状况误判,并且风控/流控规定判断也有误,导致自愈组件误将一个集群 300+ 节点上的业务全副驱赶;以上列举的各种故障场景,即便是业余 K8s 团队都无奈避雷,如果是对 K8s 理解很少的用户,必定更无奈预防和躲避危险。所以,给所有正在应用 K8s 服务,或者想要用 K8s 服务的用户一个中肯倡议:不要想着本人就能运维好 K8s 集群,外面有多少坑你真的设想不到,业余的人做业余的事,让业余产品和 SRE 团队来实现运维。在这里,我也是强烈建议用户应用阿里云容器服务 ACK,因为咱们在阿里巴巴大规模场景下积淀能力加强、自动化运维和能力都会反哺到 ACK 中,帮忙更好的保护用户的 K8s 集群。 ASI 能运维好这么多宏大 K8s 集群,肯定得有“两把刷子”。明天我会给大家具体介绍 ASI 在为阿里团体构建云原生基础设施,和反对阿里云云产品 Serverless 化方面,咱们的运维体系和稳定性工程能力。 ...

December 30, 2021 · 4 min · jiezi

关于阿里巴巴:阿里园区的这个格子间-成为企业高效协同新利器

简介:第一期《数智进化论》带你走进阿里园区的“网红”格子间——视频会议吧,理解它是如何晋升办公空间利用率,解决会议室资源供应有余的问题。 会议室是企业员工进行创意、探讨、决策的重要合作场合。传统会议室数量无限、大小绝对固定,理论应用中往往会呈现高频次的小型会议占用大会议室的状况,导致会议室资源利用率低,无奈满足日益增多的会议需要。 与此同时,传统会议室施工革新,施工周期长、革新老本绝对较高,并且难以真正解决会议室资源短缺的痛点。 有没有既不必劳师动众地革新,又能提供会议空间利用率,满足多样化会议需要的方法? 阿里巴巴企业智能事业部带来了可灵便部署的小型会议空间解决方案——视频会 视频会议吧是一款满足小型私密会议需要、可在室内灵便部署的、可开视频会议的数字化会议空间产品,具备玲珑灵便、舒服好用、隔音成果佳、音视频会议成果清晰、可精准记录空间应用数据等特点。满足线上面试谈判、短平快的沟通需要。 (不同型号的视频会议吧,实用于不同办公场景) 目前在阿里巴巴数十个园区,双人版与四人版视频会议吧已投入使用。据数据统计,视频会议吧在工作期间的使用率放弃在90%左右,单位工夫内视频会议吧散会次数相当于一般会议室散会次数的3.8倍,无效解决会议室有余等难题。 上面就来一起看看,这个“其貌不扬”的小小格子间为什么如此受欢迎。 隔音超30分贝 静享会空间 在凋谢的办公场合中,营造宁静的办公空间,防止被环境乐音所烦扰,可无效进步员工办公效率。视频会议吧的舱室内采纳宽频响应物料非凡处理工艺,排汇40%面积的沉闷反射声,隔音成果超30分贝,给高频次的小型会议带来舒服的静音环境。 每分钟1次换气 让空间更舒畅 关闭窄小的空间,对舒适度的要求较高,温度、CO浓度中的任何一项没有做好,也会影响大家对于会议吧的使用率,通过一系列的试验测试和迭代优化后,找到了最佳的空气舒适度调节计划,空间外部换气频次可达到1分钟/次,这种环境下的体验舒适性更高,同学们也更违心在这样的空间里高效沟通合作。 如需长期拉一个音视频会议,不仅须要多款硬件和软件的连贯配合,还须要在不同的会议室进行布局,如果呈现问题也很难锁定是哪个环节,最终导致会议不能顺利进行。 视频会议吧集麦克风、投屏、扬声器于一体,内置4K高清摄像,通过会控终端的简略操作即可开启音视频会议,让同学们实现疾速进入会议议程中,远端搭档也能尽在眼前。同时辞别企业员工的差旅奔走,缩小差旅老本的收入。 为了保障视频会议吧的使用率,实现空间数字化的经营和治理。通过红外感应及算法优化,能够精确地判断出视频会议吧是否在应用中,并将信息实时更新显示在会议吧的条形显示屏,同时同步线上会议室预约零碎,让更多的同学能够及时发现处于闲暇状态的会议吧并能马上利用起来。 对于企业来说,视频会议吧最大的特点还在于其本身的“模块化”设计,可依据企业现有办公空间条件,灵便部署在各个地位,不会过多占据办公空间,又能无效缓解会议室供给有余的问题。 并且模块化意味着组装灵便、运输不便。最快一天即可实现一台视频会议吧的装置。同时视频会议吧主体构造采纳航空级铝合金和玻璃,应用的95%资料可循环利用。 视频会议吧满足会议、办公、洽谈、休闲等多个办公场景应用,作为阿里巴巴企业智能对数字化空间一次尝试,解开传统空间程式化的“镣铐”,用更舒服、更智能、更高效的会空间扭转办公形式。 《数智进化论》是阿里巴巴企业智能全新推出的栏目,在这里咱们将分享阿里巴巴对于企业数字化经营与治理的产品实际、解决方案及前沿技术。欢送大家交换探讨,推动企业数智化转型。 原文链接本文为阿里云原创内容,未经容许不得转载。

December 8, 2021 · 1 min · jiezi

关于阿里巴巴:阿里巴巴DevOps实践指南二-数字化转型下DevOps的根本目标是什么

简介: 数字化转型是信息技术与产业的联合。须要转型的不仅仅是各个传统的产业,也蕴含信息产业自身,如互联网公司。DevOps 是数字化转型的重要组成部分,DevOps 的体系和实际也必须服务于数字化转型的需要,这是互联网和传统产业公司的独特挑战和使命。 编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实际指南》或返回:https://developer.aliyun.com/topic/devops,下载完整版电子书,理解阿里十年DevOps实践经验。 数字化时代,技术已成为产业倒退的外围,技术的交付速度和品质,间接关系业务的倒退和翻新。大部分企业在布局数字化转型策略时,都会把 DevOps 作为重要一环。 DevOps 的施行必须服务于数字化转型的指标。在施行 DevOps 时,咱们首先要了解数字化转型对它的冀望和要求。 数字化转型:从信息化到数字化数字化正在深刻扭转各个产业。就影响的广度和深度,毫无疑问数字化是一次技术反动。 《技术反动与金融资本》一书回顾了工业革命以来的 5 次技术反动的历程,总结了其中的共性。每一次技术反动大抵都能够分为三个期间:导入期、转折期和开展期。数字化反动也是如此: 导入期(1971-2000):信息化阶段,互联网从无到有数字化反动的导入期开始于 1971 年。 第一台集体计算机和第一个微处理器都诞生在 1971 年。而此前,1969 年 ARPANET 诞生,成为起初互联网的原型;1968 年 NATO 第一次软件工程会议,标记着软件工程诞生。 微处理器、PC、互联网、软件工程,数字化的根底技术元素就绪。其后 30 年是数字化反动的导入期,互联网从无到有,让寰球范畴内信息获取、流传和解决都有了若干数量级的进步。 转折期(2000-2016):基础设施就绪,技术和治理范式筹备技术改革不可能欲速不达,它须要基础设施的全面降级,以及行业认知的深层次转变。而这往往会让技术改革遭逢高潮, 2000 年的互联网泡沫,标记着数字化反动进入了转折期。 转折期影响的是业务倒退,但技术倒退自身并没停滞。这期间包含云、大数据、AI 和 IoT 等大力发展,奠定了数字化的基础设施。数字化理念也一直深入,并开始在各个行业收获。 明天业界公认转折期曾经完结。对中国 2016 是一个标志性的年份,那一年中国的互联网网民超过 7 亿,互联网人口首次过半,再也不可能翻番了。信息产业不可能再单纯依附互联网人口红利来维持增长。数字反动必须向纵深倒退,与各个产业联合。 开展期(2016-至今):数字化阶段,互联网从有到“无”明天,数字化反动正处于其开展期,它的要害标记是:数字化转型成为各个产业共识。人们关怀的不是要不要数字化,而是数字化如何与具体的产业联合。 2016 年是中国产业数字化转型的元年,正如马云在 2016 乌镇的互联网大会上所说,过来 30 年互联网从无到有,将来 30 年互联网从有到“无”,这里的无指的是无处不在,互联网产业和传统产业的界线正在隐没。 总结数字化反动曾经走过的历程,咱们正在从信息化向数字化转变。信息化和数字化有什么不同? 信息化面向的是信息及互联网产业,包含企业内的信息部门。它关注的对象是信息,解决信息互联互通的问题。它最终目标是晋升信息获取、存储、解决和传递的效率。就这一指标而言,信息化做得十分杰出。 数字化面向的是全社会的所有产业,关注的对象是具体的业务,深刻具体的业务流程;解决的问题是如何精准、实时地响应用户需要。而最终目标是,同时实现最佳的客户体验,和最高的经营效率。 如上图所示,绝对信息化,数字化的要求要高许多——广度更广、深度更深、问题更简单、而指标也更高。这对 IT 技术当然也提出了更高的要求。 从信息化到数字化,DevOps 必须以反对业务麻利为指标数字化改革的后果也必须体现在业务上。数字化要做的是赋能业务,带来用户体验和运作效率的同步晋升。 在规模化生产时代,体验(尤其是个性化的体验)与经营效率原本就是一对矛盾。咱们以就义个性化需要体验为代价,带来规模化和标准化的效率。 数字化将有机会为彻底化解体验和效率的矛盾,精准和实时的响应多样化的用户需要,同时还要进步组织的运作效率,实现最佳体验和最高效率的对立。咱们把这样的能力称为业务麻利。 业务麻利要求组织全方位的转变,比方构建产业的全量、多维度和实时的数据采集和解决体系;建设合乎数字化时代快速反应的组织构造等;实现线上和线下业务的的交融;IT 交付、运行能力的降级等。 数字化转型,是一个零碎的改革,DevOps 是数字化转型的一个重要组成部分。数字化时代,更多的业务翻新和倒退,通过数字化技术能力落地。IT 技术交付和运行的效率,成为决定数字化转型成败的要害,而DevOps 要解决的问题正在于此。 ...

November 25, 2021 · 1 min · jiezi

关于阿里巴巴:如何调用1688-API获取商品详情数据

背景在很多行业,比方商品采集、登载、数据分析行业都须要用到相干的商品接口,然而官网个别又没有凋谢这些接口,怎么办? 解决方案js逆向爬虫倒是很简略,然而基本扛不住大量调用,不稳固,目前支流的计划都是逆向APP获取数据,然而这个不是个别人又能力去做的,加上淘系变动频繁,防爬越来越严,技术难度和老本也越来越大,不倡议尝试。没有能力的也能够找第三方api提供商 参考示例{ "code": 200, "msg": "success", "data": { "item_id": 650280103038, "title": "多功能硅胶洗碗刷不易沾油抹布 双面硅胶清洁刷 厨房刷锅洗碗家用", "category_id": "1039274", "root_category_id": "201547901", "currency": "CNY", "product_props": [ { "name": "产品类别", "value": "锅碟碗刷" }, { "name": "是否进口", "value": "否" }, { "name": "品牌", "value": "其余" }, { "name": "货号", "value": "硅胶洗碗刷" }, { "name": "材质", "value": "其余" }, { "name": "产地", "value": "浙江" }, { "name": "贸易属性", "value": "内贸" }, { "name": "包装", "value": "OPP袋" }, { "name": "价格段", "value": "5元以内" }, { "name": "产品上市工夫", "value": "2014年夏" }, { "name": "专利", "value": "否" }, { "name": "只数", "value": "1" }, { "name": "是否跨境进口专供货源", "value": "否" }, { "name": "编码", "value": "HUYOU49" } ], "main_imgs": [ "https://cbu01.alicdn.com/img/ibank/O1CN01rF21CX2BYoEdRjHaS_!!2211376138351-0-cib.jpg", "https://cbu01.alicdn.com/img/ibank/O1CN01A40OHp2BYoEeboHqi_!!2211376138351-0-cib.jpg", "https://cbu01.alicdn.com/img/ibank/O1CN01fqu23R2BYoEbohtfk_!!2211376138351-0-cib.jpg", "https://cbu01.alicdn.com/img/ibank/O1CN01CGGHzo2BYoET7fmpI_!!2211376138351-0-cib.jpg", "https://cbu01.alicdn.com/img/ibank/O1CN01HB4DSL2BYoEh2Canb_!!2211376138351-0-cib.jpg" ], "video_url": "", "sale_count": "5969", "shop_info": { "shop_name": "义乌市域风电子商务商行", "seller_id": null }, "sku_price_scale": "¥1.00", "sku_price_scale_original": "¥3.00", "sku_price_range": { "begin_num": null, "stock": "49771", "sku_param": { "skuPriceType": "rangePrice", "skuRangePrices": [ { "beginAmount": "3", "price": "1.00", "startAmount": "3" } ] } }, "sku_props": [], "skus": [ { "skuid": "0", "sale_price": "1.00", "stock": "49771", "props_ids": "", "props_names": "" } ] }}

November 8, 2021 · 1 min · jiezi

关于阿里巴巴:优酷播放体验优化实战三低延时直播

一、前言5G到来后用户的网络速度逐步进步,同时用户对直播提早等播放体验的要求也越来越高,在此背景下,优酷技术团队联合业内支流的直播技术架构提出了两种基于HLS(HTTP Live Streaming)的低提早直播计划(Low Latency HLS),并且正式利用到了优酷直播业务。 业内以后支流直播低延时计划优缺点比照如下: 1、RTMP(Real-Time Messaging Protocol) 长处: 1)专门为流媒体开发的协定,对FLASH的反对较好; 2)提早较低,个别在1-3秒; 毛病: 1)基于TCP(Transmission Control Protocol)传输,应用非公共端口(1935),可能会被防火墙拦挡; 2)RTMP是Adobe的公有协定,有些设施无奈间接播放,可能须要借助于第三方模块; 2、HTTP-FLV(Hypertext Transfer Protocol- Flash Video) 长处: 1)基于80端口,能够比拟好的穿透防火墙; 2)可通过302跳转灵便调度和负载平衡; 3)反对HTTPS(HyperText Transfer Protocol Secure)加密传输,并可兼容多端; 毛病: 1)因为它的传输个性,会让流媒体资源缓存在本地客户端,在保密性方面不够好; 2)切换清晰度须要切换播放器实例,所以无奈实现平滑切换,切换的过程中可能呈现画面断层(画面停在某一帧、黑屏加载等),在网络抖动显著的状况下体验会更差; 3、HLS(HTTP Live Streaming) 长处: 1)支流平台对HLS的反对水平比拟高,利用范畴较广; 2)基于80端口,可防止防火墙拦挡; 3)反对平滑切换清晰度; 4)CDN对协定的反对比拟好; 毛病: 1)提早较高,个别在10秒以上; 2)间接通过减小GOP(Group of pictures)的形式升高延时时容易减少码率; 4、RTP(Real-time Transport Protocol) 长处: 1)实时性较好,个别提早在1秒以内; 2)基于UDP(User Datagram Protocol),传输效率较高; 毛病: 1)罕用于视频会议等,拓展性个别。PGC(Professionally-generated Content)、OGC(Occupationally-generated Content)直播利用较少; 2)对高码率的反对较差,个别为了流畅性会就义码率; 通过比拟上述直播计划的优缺点,能够看出HLS协定最适宜直播场景。海内厂商对HLS的认可度也很高,苹果也始终在大力推广基于传统HLS的低提早直播计划,因而,优酷技术团队抉择了LHLS计划。 二、为什么会有提早想搞清提早的前因后果,须要剖析HLS的文件构造: 简略来说,HLS蕴含两局部,m3u8文件(playlist)和承载具体媒体内容 的文件(ts、cmaf、fmp4等),客户端依据m3u8的批示下载媒体内容并定时刷新m3u8文件取得最新内容列表。 以下是一个蕴含多种码率的master playlist(如果没有多个码率,这个m3u8 playlist能够没有): 以下是其中一个playlist的m3u8内容(如果只有一个码率,能够只提供这个m3u8): 以上呈现的tag形容如下,还有很多tag,具体能够参考RFC: ...

October 18, 2021 · 1 min · jiezi

关于阿里巴巴:十万高层齐卸甲竟无一人有慈心前阿里员工看阿里高管不法侵害女员工事件

原文转载自「刘悦的技术博客」https://v3u.cn/a_id_198 最近的事件大家都知道了,公元2021年7月27日,阿里P7高管涉嫌团结客户对其女性上司进行不法人身侵害,28日受害人报警,随后8月2日受害人向其下级各个主管顺次反馈,均无后果。公元2021年8月8日凌晨,阿里首席执行官逍遥子(张勇)在阿里内网发帖进行回应,六字以敝之:震惊、愤慨、惭愧。 十天,整整十天之后,阿里高层才对此事予以器重,请诸位设想一下,一个弱女子,在蒙受上级领导不法侵害之后,在下级主管的狐群狗党,官官相护,不作为之后。整整十天,她经验了怎么的失望和苦楚? 切实是伤心惨目,尤非生人所忍闻也,阿里诸位高管既要做官,又要讨钱,而特地又要以“阿里巴巴”之身份标榜其清廉不苟之态度。令人作呕! 作为已经的阿里人,切实是甚叹世风之腐化,人心之卑污,与之绝对,更感其受益女生之不可得矣。 严复学生在《救亡决论》中阐述道,“华风之弊,八字尽之。始于作伪,终于无耻。”这八字,说得刺耳,却也切中时弊,今时今日,阿里外部高管无不始于作伪,终于无耻,却又有何颜面谈价值观,谈输入? 曾几何时,阿里作为国内技术当先的“大厂”,是有数年轻人为之向往的“圣地”,而当初,所谓“大厂”、所谓“圣地”,却是腥臊恶臭,藏污纳垢之所;无耻卑劣,狗苟蝇营之地! 对于受益女生,我想说的是,生存是冷酷的,社会是残暴的,然而二者都给与勇气和乐观作为他们冷酷的弥补,否则就没有人能保持的住了,勇气和乐观,它们好像是生存的首要任务,你以前素来没有失去过这些任务,那么当初,也不应该失去。 怯懦,或者说的更精确一些,无所畏惧,那是锤炼的后果,任何人要是自称素来不知畏惧,那是扯谎,不然,她就是傻瓜,然而通过一个有信心的口头,她就不会思考哪些造成畏惧的理由,从而集中全副精力博得胜利。 这位怯懦的女生,她不会,也不应该是一个人在战斗,当初须要有人站进去,和她站在一起,浴血奋战、顽强拼搏,并且踏上一条惨无人道的自我牺牲之路,作为前阿里人,工号114089,谨代表所有无产阶级劳动人民,现严斥阿里团体: 1、通报具体的受害者上报流程,每个阶段的负责人以及他们的尽职状况。 2、目前的反馈、监管流程,为什么会在此次事件中生效。 3、必须制订新的反非法侵害标准,以及如何监管。 4、对于阿里当初低俗文化的反思和解决方案。 对于阿里首席执行官逍遥子学生,我想说的是,学生可曾晓得人世上并没有这样一道矮墙,骑着而又两脚踏地,左右稳当,所以即便结结巴巴,也还是将本人的魂灵枭首通衢,挂出了原想极力瞒哄的丑态。丑态,我倒说还没有什么丢人,丑态还蒙着公正的皮,那才叫人作呕! 所有凶恶的阿里人,所有的年轻人,从你们的眼中,我看到了同样占据我心田的恐怖,兴许有一天咱们会丢失勇气,土崩瓦解,各自为战。但不是明天!或者有一刻咱们会向资本抬头,摈弃良心,出卖人格, 但绝不是明天! 明天,咱们要团结!咱们要奋战!为了这片美妙土地上咱们所领有和珍视的所有。 最初,以一首诗作为本文的结尾,将其送给所有将要和行将踏入社会的年老人们,请置信,这个世界是美妙的,值得咱们为之奋斗: 号血千秋壮国光,几同马革裹疆场,从今纔识书生价,胜却峨冠坐庙堂!原文转载自「刘悦的技术博客」 https://v3u.cn/a_id_198

August 9, 2021 · 1 min · jiezi

关于service-mesh:Service-Mesh-从趋势走向无聊

简介: 过来一年,阿里巴巴在 Service Mesh 的摸索路线上仍旧扎实前行,这种动摇并非只因深信 Service Mesh 将来肯定是云计算根底技术的要害组成部分,还因须要借这一技术趋势去偿还过来所积攒下来的技术债(“技术债”并非贬义词,是技术倒退的固有产物),基于当下的技术思潮和最佳实际面向未来做出技术的新价值和新体验。 作者 | 李云(至简)起源 | 阿里巴巴云原生公众号 过来一年,阿里巴巴在 Service Mesh 的摸索路线上仍旧扎实前行,这种动摇并非只因深信 Service Mesh 将来肯定是云计算根底技术的要害组成部分,还因须要借这一技术趋势去偿还过来所积攒下来的技术债(“技术债”并非贬义词,是技术倒退的固有产物),基于当下的技术思潮和最佳实际面向未来做出技术的新价值和新体验。 每当咱们深刻摸索和实际一项新技术时,大多情景下会步入一段“无聊”期间,期间每天面对的并非技术之新如何诠释,而是如何先解决好技术债所带来的羁绊,以及求实地给业务发明新价值和新体验,通过携手业务共赢的形式推动新技术落地。本文总结了过来一年 Service Mesh 在阿里巴巴的建设成绩和播种的洞察。 兑现增量业务价值是倒退之本Serivce Mesh 作为一种平台型的新根底技术,倒退过程中肯定回避不了兑现(增量)价值这个关键问题。从技术的角度,很容易了解将框架思维下 SDK 中的易变内容下沉到 Service Mesh 中的 Sidecar 后,将促成中间件技术以业务无感的模式疾速演进和降级,以平台化和体系化的思维代替过来“山头林立”的框架思维去进一步摸索分布式应用构架问题的更优解,背地的价值并不容易被挑战。 从业务的角度,驳回新技术的要害是能解决当下的什么痛点、是否带来机器老本的显著升高、是否让稳定性有显著的晋升、运维和研发效率有否变得更高,这些收益被总称为业务价值——业务视角下所看到的收益。倒退 Service Mesh 很重要的一点是必须回归兑现(增量)业务价值,围绕一直兑现业务价值去欠缺新技术,否则很难继续拿到阶段性的成绩。对于从事 Service Mesh 这类新技术建设的团队来说,继续播种阶段性成绩对于维持团队士气致关重要,建设者会因为业务价值足够而能领会到“被须要”的感觉,进一步强化对本人工作价值的认可。 过来一年,咱们经验了从“先做大规模落再兑现业务价值”到“先兑现业务价值再做大规模”的倒退策略调整。在做大规模为先的阶段,落地 Service Mesh 被挑战的次要问题有三个:其一,增量业务价值有余,只是将 Java SDK 中已有的能力挪进了 Service Mesh;其二,资源开销不可漠视;其三,技术成熟度不够,没能让人看到工具化落地的问题定位与排错伎俩。当的确不能答复好这三个问题时,推动 Service Mesh 在外围利用上的大规模落地就变得十分艰难,即使有公司层面由上至下的助推也收效甚微。最终,不得不将倒退策略调整为兑现价值为先。 在兑现价值的路线上,恰好某些业务团队也从一开始挑战下面三个问题变成了积极思考如何借 Service Mesh 化这次机会让所在事业部的业务流量治理能力做一次重大降级。思路的转变很快让业务团队锚定了业务痛点,与 Service Mesh 共创出了新的解决方案,最终两个团队的单干关系从甲乙方变成了你中有我、我中有你的战友关系,大家一起抱团共赢。 回顾过去一年的经验,能失去的启发是: 无论什么新技术,先做出增量业务价值能力更好地落地推广。再先进的技术在没有兑现增量价值之前都只是个愿景,但愿景并不那么容易让人买单,技术落地仍然要尊重市场规律。此外,新技术的成熟须要工夫这是自然规律,技术成熟的过程中如果没有兑现增量业务价值,则没有业务甘心只成为纯正的小白鼠。根底技术的倒退不能只依附根底技术团队的力量,业务团队以踊跃的心态参加寻求解决业务痛点将成为强劲的新技术“催熟剂”。根底技术团队并没有业务体感,而业务团队的全情投入就能很好地补救这一短板,两者联结所造成的化学反应就能带来共赢的场面,单干关系也将升华至“战友级”。根底技术团队须要特地器重与业务团队单干,防止步入闭门造车的境况。 无侵入计划是要害伎俩但并非终态 在技术进化的过程中,咱们心愿尽可能做到兑现价值之时业务没有任何的革新老本,这一点能很好地了解为何 Istio 推出至今采纳了 iptables 做流量劫持。阿里巴巴在摸索的过程中深知无侵入计划的价值,早在外部落地时采纳的也是无侵入计划,过来一年更进了一步让无侵入计划反对流量透传性能。 ...

April 21, 2021 · 2 min · jiezi

关于阿里巴巴:一不小心它成为了-GitHub-Alibaba-Group-下-Star-最多的开源项目

简介: 随着微服务的风行,利用更加轻量和高效,然而带来的窘境是线上问题排查越来越简单艰难。传统的 Java 排查问题,须要重启利用再进行调试,然而重启利用之后现场会失落,问题难以复现。起源 | 阿里巴巴云原生公众号 Arthas Star 冲破 2.5 万啦1.png 开源地址:_h_ttps://github.com/alibaba/arthas文档:https://arthas.aliyun.com/doc/随着微服务的风行,利用更加轻量和高效,然而带来的窘境是线上问题排查越来越简单艰难。传统的 Java 排查问题,须要重启利用再进行调试,然而重启利用之后现场会失落,问题难以复现。 因而自 2018 年 9 月,阿里巴巴开源了久经考验,深受开发者青睐的利用诊断利器 Arthas。 Arthas 通过翻新的字节码织入技术,能够在利用无需重启时,查看调用上下文,高效排查问题;联合火焰图,能够间接定位热点,发现性能瓶颈;通过字节码替换,实现在线热更新代码;同时反对黑屏化和白屏化诊断,能够连贯诊断大规模的集群。 在 2020 年 5 月时,咱们做了 Arthas Star 破 2 万的回顾: 精益求精 | 开源利用诊断利器 Arthas GitHub Star 冲破两万冬去春又来,转眼间一年过来了,Arthas 的 Star 数冲破 2.5 万了~ 上面来回顾 Arthas 去年的一些数据和工作。 Arthas 过来一年的数据 Arthas Github Star 数冲破 2.5W2.pngArthas Github Contributors 数Arthas 的开源贡献者人数从 85 增长到 119,非常感谢他们的工作:3.png Arthas 注销公司数从 117 增长到 151 家过来一年,Arthas 在工商银行、中原银行、朴朴科技、贝壳找房、斗鱼等生产场景落地,欢送更多用户注销:https://github.com/alibaba/ar...工商银行打造在线诊断平台的摸索与实际 Arthas 在线教程学习人次:133,996,学习时长:51798小时人均体验时长 23 分钟以上。4.png ...

April 12, 2021 · 2 min · jiezi

关于阿里巴巴:10分钟不会搬砖的校长搭出了智慧校园微应用

简介: 有着两个校区的合肥师范学院从属试验小学,目前共有2541名学生和146名老师。多校区治理,意味着须要应答师生、家长的泛滥需要,对于校园治理和后勤服务的要求十分高。面对这样的校情,该校校长彭正认为开启校园“智慧治理”迫不及待,借力“宜搭”不懂代码的他们构建了“智慧校园生态圈”。 “智慧校园”建设着眼于将来校园IT布局,无论是教学、科研,还是决策、治理,都能够将业务在线化,更加人性化地服务于全体师生家长,建设真正意义的“智慧校园生态圈”。但在构建智慧校园时,学校也会面临着教育行业用户数量宏大、局校互联、家校协同等难点。 阿里巴巴自研的云钉低代码利用构建平台-钉钉宜搭推出的宜搭教育版,即是针对性解决校园智慧建设的难点,帮忙学校传疾速搭建各类场景下的教育利用,为智慧校园建设降本提效。 学校事务多,治理扩散 图注:合肥师范学院从属试验小学 有着两个校区的合肥师范学院从属试验小学,目前共有2541名学生和146名老师。多校区治理,意味着须要应答师生、家长的泛滥需要,对于校园治理和后勤服务的要求十分高。 过来,依靠于纸质表格的治理流程,校方、老师在日常事务中,须要付出大量的工夫和精力。让该校信息学科老师贾婷婷印象粗浅的是,老师们每学期要手写填写超过100页的老师手册,而面对近150本老师手册一一进行查看汇总上报,也是行政管理人员沉甸甸的累赘。 图注:该校传统的纸质版手册 面对这样的校情,该校校长彭正认为开启校园“智慧治理”迫不及待。往年2月初,彭正着手启动合肥师范学院从属试验小学的智慧校园建设工作。 宜搭助力智慧校园建设2021年1月钉钉发布会上,钉钉推出了低代码利用开发平台宜搭,提出面向超过1700万企业组织、4亿用户,凋谢低代码(0代码)开发的能力。 其中,针对教育局和学校场景的宜搭教育版,可用于搭建教育局外部、机关与学校之间的各类业务协同场景,正可利用在智慧校园建设中,引起了校长彭正的分外关注。 在合肥,彭正校长能够说是“智慧校园”建设的领跑者。早前,他在负责合肥市芙蓉小学校长时,就对智慧校园建设开始了长达5年的摸索。 这期间,他发现许多相干利用体验简单、开发成本和学习老本昂扬,只得把智慧校园的各个场景扩散在不同的平台和产品上实现,而这些平台、产品非常不稳固,无奈满足智慧校园治理的长期需要。 彭正十分看重钉钉宜搭的技术实力和疾速响应的服务能力,他理解到,宜搭教育版基于云钉一体化的理念,非软件专业人士都能够通过可视化拖拽的形式、一键公布到PC和手机端,简便、高效地实现各类业务场景的数字化。 因而,不懂代码的他信心尝试用宜搭教育版来构建心目中现实的智慧校园。 履新后,彭正率领合师院附小的信息化建设团队,仅用4天工夫搭建了囊括师生、家长、行政管理人员、第三方服务企业在内的钉钉组织架构。除了宜搭教育版提供的原生利用之外,彭正率领团队人员在1个月里陆续开发了50多个智慧校园利用。过来携带厚厚手册的老师们,很快感触到了“无纸一身轻”的便当。在宜搭教育版的助力下,学校通过数据处理剖析,实现了对教学、科研、治理服务的智能化降级。 当初,老师们在钉钉上就能实现老师档案、期初打算、教研听课、公开课开设、教研流动、业务学习、学生问题、试卷剖析、参赛和培训申请、家访记录、期末总结、班主任手册、延聘专家、调代课、销假等等一系列信息记录、流程审批工作。 图注:无纸化“老师手册”替换过来厚厚的纸质手册 此外,以前须要通过纸质表格层层审批核定,波及财务手续的洽购申请、物品领用、报销、报修等工作,当初统统汇总在钉钉上实现。 图注:后勤服务功能模块 同样在钉钉上,家长们能即时取得孩子的到校信息,与老师便捷沟通,还能间接交付午餐费等代收费到学校账户,让孩子和班主任们都省去了经手钱款带来的麻烦。“咱们的流程核查、数据汇总、上报都变得更加便当了。”贾婷婷示意,权责清晰、痛点缩小,是学校建设智慧校园带来的实实在在的益处。同时,扩散在不同平台的利用,都能在宜搭教育版平台上整合。彭正感叹:“十分不便,处理事务不必再关上满屏的利用。” 过来,许多细分需要在第三方平台的开发成本昂扬,但在宜搭教育版,学校还能依据本身的理念和指标,设置个性化的利用场景。比方师生用餐这个性能,除了为师生展现每周菜谱,还面向师生凋谢“午餐问题”的用餐反馈渠道。 图注:每周菜谱上传模块 图注:午餐问题用餐反馈渠道 这些利用串联起了老师、学生、家长的需要,让师生治理、后勤服务都能流畅运行起来,“就像血脉,买通了主脉和支脉,就能够失常呼吸”,彭正示意,在使用方便、运行高效之外,数据买通也让合师院附小“智慧校园”建设有了更多的自由发挥空间。下一步,他还将通过宜搭教育版持续摸索学生行规一体化评估零碎。 便捷建设如何实现?秉承了钉钉的服务响应速度,宜搭教育版的学习老本也大幅降落。刚开始,学校用几个小时甚至数十个小时能力搭建一个利用,后续通过宜搭团队和钉钉工作人员的继续赋能,工夫降到了1个小时、30分钟,直至最初,学校最快实现了10分钟搭建一个利用的速度。 宜搭作为低代码利用开发平台,通过在线化、智能化的形式,实现对业务的全生命周期治理。借助宜搭高度配置化的表单能力,建设了集体之间、零碎之间、数据之间的连贯,整合了扩散的治理资源。宜搭弱小的接口能力为零碎预留了接入其余智能化提效工具的入口,让企业和机构能够疾速搭建出符合实际业务需要的个性化利用,通过数字化转型获取新的增长能源、进步管理效率。 为了冲破教育行业数字化治理的困局,宜搭教育版实现了低成本满足共性需要、连贯各个系统并在线经营、适应云+互联网技术倒退等指标,可能更好地帮忙学校打造网络协同、数据智能的将来教育组织。 宜搭教育版与合师院附小独特摸索的智慧校园之路,整合了校园治理资源、畅通了基于教学、后勤的业务流程,让个性化业务高效上云,并通过钉钉便捷地连贯所有端口,全流程通过低代码形式落地,打造了便捷建设智慧校园的标杆。 “赋予不同的角色不同的权限,依照咱们设定好的规章制度高效、便捷治理。”彭正十分期待通过宜搭,助力合师院附小打造当地品牌名校的过程。原文链接本文为阿里云原创内容,未经容许不得转载。

April 12, 2021 · 1 min · jiezi

关于阿里巴巴:阿里巴巴回应被罚-182亿诚恳接受坚决服从

SegmentFault 思否音讯,今日,中国国家市场监管总局依法对阿里巴巴团体控股有限公司在中国境内网络批发平台服务市场施行"二选一"垄断行为作出行政处罚,并处以罚金182.28亿元人民币。 这是我国对于垄断商业行为有史以来最为严格的处罚,超过了2015年对美国高通公司垄断行为处以的9.75亿美元(63.9亿人民币)罚款。 阿里巴巴回应称:对国家市场监管总局的处罚决定恳切承受,坚定遵从。阿里团体将强化依法经营,进一步增强合规体系。 事件通过2020年12月,市场监管总局根据《反垄断法》对阿里巴巴团体控股有限公司(以下简称阿里巴巴团体)在中国境内网络批发平台服务市场滥用市场摆布位置行为立案考察。 经查,阿里巴巴团体在中国境内网络批发平台服务市场具备摆布位置。自2015年以来,阿里巴巴团体滥用该市场摆布位置,对平台内商家提出“二选一”要求,禁止平台内商家在其余竞争性平台开店或加入促销流动,并借助市场力量、平台规定和数据、算法等技术手段,采取多种奖惩措施保障“二选一”要求执行,维持、加强本身市场力量,获取不正当竞争劣势。 考察表明,阿里巴巴团体施行“二选一”行为排除、限度了中国境内网络批发平台服务市场的竞争,障碍了商品服务和资源因素自在流通,影响了平台经济翻新倒退,侵害了平台内商家的合法权益,侵害了消费者利益,形成《反垄断法》第十七条第一款第(四)项禁止“没有正当理由,限定交易绝对人只能与其进行交易”的滥用市场摆布位置行为。 依据《反垄断法》第四十七条、第四十九条规定,综合思考阿里巴巴团体违法行为的性质、水平和持续时间等因素,2021年4月10日,市场监管总局依法作出行政处罚决定,责令阿里巴巴团体进行违法行为,并处以其2019年中国境内销售额4557.12亿元4%的罚款,计182.28亿元。 同时,依照《行政处罚法》保持处罚与教育相结合的准则,向阿里巴巴团体收回《行政指导书》,要求其围绕严格落实平台企业主体责任、增强内控合规治理、保护公平竞争、爱护平台内商家和消费者合法权益等方面进行全面整改,并间断三年向市场监管总局提交自查合规报告。 阿里巴巴的回应阿里巴巴发声明回应被处罚182.28亿元称,对国家市场监管总局的处罚决定恳切承受,坚定遵从。阿里团体将强化依法经营,进一步增强合规体系。 《市场监管总局依法对阿里巴巴团体控股有限公司在中国境内网络批发平台服务市场施行"二选一"垄断行为作出行政处罚》http://www.samr.gov.cn/xw/zj/...

April 10, 2021 · 1 min · jiezi

关于云原生:阿里巴巴开源容器镜像加速技术

简介: 近日阿里巴巴开源了其云原生容器镜像减速技术,其推出的overlaybd镜像格局,相比于传统的分层tar包文件格式,实现了基于网络的按需读取,从而使得容器能够疾速启动。 近日阿里巴巴开源了其云原生容器镜像减速技术(https://github.com/alibaba/accelerated-container-image),其推出的overlaybd镜像格局,相比于传统的分层tar包文件格式,实现了基于网络的按需读取,从而使得容器能够疾速启动。 该技术计划本来是阿里云外部DADI我的项目的一部分, DADI是Data Accelerator for Disaggregated Infrastructure的缩写,旨在为计算存储拆散架构提供各种可能的数据拜访减速技术。镜像减速是DADI架构在容器及云原生畛域的一次突破性尝试,该技术自2019年投产以来,已在线上部署了大量机器,累计启动容器次数超过10亿,反对了阿里巴巴团体及阿里云的多个业务线,极大进步了利用的公布和扩容效率。2020年,团队在国内顶级会议发表了论文 "DADI: Block-Level Image Service for Agile and Elastic Application Deployment. USENIX ATC'20"[[1]](https://www.usenix.org/confer... 背景简介随着Kubernetes和云原生的大暴发,容器在企业外部的大规模利用曾经越来越宽泛。部署启动快是容器的外围劣势之一,这个启动快是指本地镜像实例化的工夫十分短,即“热启动”工夫短。然而对于“冷启动”,即在本地无镜像的状况下,须要先从Registry下载镜像能力创立容器。业务的镜像通过长期保护和更新,无论是镜像层数还是整体大小都会达到一个较大的量级,比方可能达到数百MB或者几个GB。因而生产环境中,容器的冷启动往往耗时数分钟,并且随规模扩大会导致Registry因集群内网络拥挤而无奈疾速地下载镜像。 例如,在之前某年的双十一流动中,阿里外部一个利用因为容量有余触发紧急扩容,但因并发量过大,整体扩容耗时较长,这期间对局部用户的应用体验造成了影响。而到了2019年,随着DADI的部署上线,新镜像格局的容器在“镜像拉取+容器启动”上消耗的总工夫比一般容器缩短了5倍,且p99长尾工夫更是比后者快了17倍。 如何解决存储在远端的镜像数据,这是解决容器冷启动慢这个问题的外围点。历史上业界对这一问题做出的尝试有:应用块存储或者NAS保留容器镜像,实现按需读取;应用基于网络的散发技术(如p2p),将镜像从多个源头下载、或者提前预热到主机上,避免出现网络单点瓶颈。近年来,针对新镜像格局的探讨也逐步被提上议题,依据Harter等人的钻研[[2]](https://www.usenix.org/confer... Read技术的镜像,曾经成为默认的潮流风向。Google提出的stargz[[3]](https://github.com/containerd... tar.gz,顾名思义,能够有选择地从存档中搜查并提取特定的文件,无需扫描或者解压整个镜像。stargz旨在进步镜像拉取的性能,其提早拉取技术(lazy-pull)不会拉取整个镜像文件,实现了按需读取。为了进一步提高运行时效率,stargz又推出了一个containerd的snapshotter插件,在存储层面对I/O做了进一步优化。 在容器的生命周期中,镜像就绪后须要挂载(mount),而分层镜像挂载的核心技术便是overlayfs,它以一种重叠的模式将上层的多个layer文件合并,并向上暴露出一个对立的只读文件系统。类比上文提到的块存储和NAS,个别能够通过快照的模式进行分层重叠,而跟stargz绑定的CRFS,也能够看做是overlayfs的另一种实现。 新镜像格局DADI没有间接应用overlayfs,或者说,它只是借鉴了overlayfs和晚期联结文件系统(union filesystem)的思维,但提出了一种全新的基于块设施的分层重叠技术,称之为overlaybd,它为容器镜像提供了一系列基于块的合并数据视图。overlaybd的实现非常简略,因而很多之前想做而不能做的事都能够成为事实;而实现一个齐全POSIX兼容的文件系统接口则充斥挑战,并可能存在bug,这点从各个支流文件系统的倒退历史上就能够看出。 除了简略以外,overlaybd比照overlayfs的其余长处有: 防止多层镜像导致的性能降落,如overlayfs模式下大文件的更新会触发跨层援用复制,零碎必须先将文件复制到可写层;或者创立硬链接速度很慢等问题能够不便地采集block级别的I/O模式,进行录制以及重放,从而预取数据,进一步减速启动用户的文件系统和宿主机OS能够灵便抉择,如反对Windows NTFS能够应用无效的编解码器进行在线解压缩能够下沉到云中的分布式存储(如EBS)中,镜像系统盘能够跟数据盘应用同一套存储计划overlaybd具备人造的可写层反对(RW),只读挂载甚至能够成为历史overlaybd原理为了了解overlaybd的原理,首先须要理解容器镜像的分层机制。容器镜像由多个增量layer文件组成,在应用时进行叠加,这样在镜像散发时只须要对layer文件进行散发。每一层本质上都是与上一层的差别(包含文件的增加,批改或删除)的压缩包。容器引擎能够通过其storage driver,依照约定的形式将差别叠加起来,而后以Read-Only的模式挂载到指定目录,该目录即称为lower_dir;而以Read/Write模式挂载的可写层,挂载目录则个别称为upper_dir。 请留神,overlaybd自身没有文件的概念,它只是将镜像形象为虚构块设施,并在其上装载惯例的文件系统。当用户利用读取数据时,该读取申请首先由惯例的文件系统解决,将申请转换为虚构块设施的一次或屡次读取。这些读取申请会被转发到用户态的接管程序,即overlaybd的运行时载体,最初转换为对一个或多个layer的随机读取。 与传统镜像一样,overlaybd在外部依然保留着layer分层的构造,但每层的内容都是文件系统变更差别对应的一系列data block。overlaybd向上提供了一个合并视图,对layer的叠加规定很简略,即对于任意一个data block,总是应用最初的变更,在layer中未产生变更的块均视为全零块;向下又提供了将一系列data block导出成一个layer文件的性能,该文件高密度非稠密、且可索引。因而,对块设施某个间断LBA范畴进行读操作,可能蕴含了本来属于多层的小块数据段,咱们将这些小块数据段称为segment。从segment的属性中找到层号,便可能持续映射到对这层的layer文件的读取上来。传统的容器镜像能够将它的layer文件保留在Registry或者对象存储上,那么overlaybd镜像天然也能够。 为了更好的兼容性,overlaybd在layer文件的最外层,包装了一层tar文件的头和尾,这样伪装成一个tar文件。因为 tar外部仅一个文件,不影响按需读取。目前无论是docker、containerd或者buildkit,对镜像的下载或上传默认都有untar和tar的流程,不侵入代码是无奈超越的,所以减少tar假装有利于兼容性和流程的对立,例如在镜像转换、构建、或者全量下载应用时,都无需批改代码,只需提供插件即可。 整体架构 DADI整体架构如图,以下别离介绍各个组件 containerd snapshottercontainerd自1.4版起,开始初步反对一些启动近程镜像的性能,并且k8s曾经明确将放弃Docker作为运行时的反对。所以DADI开源版本抉择优先反对containerd生态,之后再反对Docker。 snapshotter的外围性能是实现形象的服务接口,用于容器rootfs的挂载和卸载等操作。它的设计代替了在Docker 晚期版本称之为graphdriver的模块,使得存储驱动更加简化,同时兼容了块设施快照与overlayfs。 DADI提供的overlaybd-snapshotter一方面能让容器引擎反对新的overlaybd格局的镜像,行将虚构块设施挂载到对应的目录,另一方面也兼容传统OCI tar格局镜像,让用户持续以overlayfs运行一般容器。 iSCSI targetiSCSI是一种被广泛支持的近程块设施协定,稳固成熟性能高,遇到故障可复原。overlaybd模块作为iSCSI协定的后端存储,即便程序意外crash,从新拉起即可复原。而基于文件系统的镜像减速计划,例如stargz,则无奈复原。 iSCSI target是overlaybd的运行时载体。在本我的项目中,咱们实现了两种target模块:第一种是基于开源我的项目tgt[[4]](http://stgt.sourceforge.net/)... store机制,能够将代码编译成动态链接库以便运行时加载;第二种是基于Linux内核的LIO SCSI target(又称为TCMU)[[5]](https://developer.aliyun.com/... ZFileZFile是咱们提供的一种反对在线解压的数据压缩格局。它将源文件按固定大小的block size切分,各数据块进行独自压缩,同时保护一个jump table,记录了各数据块在ZFile中的物理偏移地位。如需从ZFile中读数据,只有查找索引找到对应地位,并仅解压缩相干的data block即可。 ZFile反对各种无效的压缩算法,包含lz4,zstd等,它解压速度极快,开销低,能够无效节俭存储空间和数据传输量。试验数据表明,按需解压近程的ZFile数据,性能高于加载非压缩数据,这是因为传输节俭的工夫,大于解压的额定开销。 overlaybd反对将layer文件导出成ZFile格局。 cache正如上文所说,layer文件保留在Registry上,容器对块设施的读I/O会映射到对Registry的申请上(这里利用到了Registry对HTTP Partial Content的反对)。然而因为cache机制的存在,这种情景不会始终存在。cache会在容器启动后的一段时间后主动开始下载layer文件,并长久化到本地文件系统。如果cache命中,则读I/O就不会再发给Registry,而是读本地。 行业当先3月25日,权威咨询机构Forrester公布2021年第一季度FaaS平台(Function-As-A-Service Platforms)评估报告,阿里云凭借产品能力寰球第一的劣势怀才不遇,在八个评测维度中拿到最高分,成为比肩亚马逊AWS的寰球FaaS领导者。这也是首次有国内科技公司进入FaaS领导者象限。 家喻户晓,容器是FaaS平台的承载根底,而容器启动速度更是决定了整个平台的性能与响应提早。DADI助力阿里云函数计算产品,大幅度缩短容器启动工夫50%~80%[[6]](http://linux-iscsi.org),带来... 总结瞻望阿里巴巴开源的DADI容器减速我的项目以及其推出的overlaybd镜像格局,有助于应答新时代下容器对疾速启动的需要。项目组将来将协同社区一起,放慢对接支流工具链,积极参与新镜像格局规范制订,指标是让overlaybd成为OCI近程镜像格局的规范之一。 ...

April 8, 2021 · 1 min · jiezi

关于阿里巴巴:我参与阿里巴巴-ASoCSeata-的一些感悟

作者 | 侯志起源|阿里巴巴云原生公众号 看一看日历这个不同寻常的 2020 年,马上就要完结了。这一年,有幸参加阿里巴巴组织 ASoC 流动,有一段让我难忘的不平庸经验。这一年,却已能够称为是国内开源实习倒退历程中不平庸的一年。 参加的起因初心Beginner's mind 唯有守得住初心,能力日益精进。   我先来说说 Seata 这个我的项目的 idea 是怎么来的。始终就有参加开源我的项目的打算,一个事物的衰亡必然或大或小引发肯定的问题,微服务就是这样,分布式事务概念泛化的同时,也带来了一个技术问题,微服务架构下分布式数据一致性该如何保障?这几年涌现出不少分布式事务框架,比方 ByteTCC、TCC-transaction、EasyTransaction 以及最近很火爆的 Seata。想要破解邪恶,就必须靠近它,甚至成为它。我是去年 8 月份从 GitHub 开始关注 Seata 我的项目的,初步相熟后,我感觉它的设计理念十分好,并对它产生了浓重的趣味,那个时候就萌生了我要成为这个我的项目的贡献者。偶尔的机会看到 Seata issue,发现了 ASoC 这个流动。 参加的过程有期待,更美妙Expect better 在参加流动之前我就先从官网文档开始理解过 Seata ,并依据本人的理解,做了一些简略的梳理。看 Seata 源码,持续深入研究,更多的是关注于 SqlParser 模块,在这个过程中,我发现 SqlParser 模块是用 Druid 实现,(Druid 不过多介绍),且 Seata 对于 SqlParser 局部解析性能受限于 Druid,为了不便用户应用,Seata 更加灵便应用数据库语言解析, 有必要扩大一种新的 SqlParser 计划。因为之前有理解过 Antlr,感觉其更加灵便、拓展性更强、档次清晰更易保护。例如 Hive 和 Spark 应用 Antlr 生成词法语法解析器,Twitter 应用 Antlr 来解析用户输出的查问内容,Oracle 把 Antlr 的性能内嵌在 SQL 开发 IDE 中,NetBeans IDE 应用 Antlr 解析 C ++ 语言,也有公司应用 Antlr 来从文件中抽取信息等等... ...

January 5, 2021 · 2 min · jiezi

关于阿里巴巴:免费下载来自阿里巴巴-双11-的云原生大规模应用落地指南

起源|阿里巴巴云原生公众号 复制链接到浏览器实现下载或分享:https://developer.aliyun.com/topic/download?id=1055 11 月 11 日零点零分 26 秒,天猫 双11 的订单创立峰值就达到 58.3 万笔/秒,阿里云又一次扛住寰球最大规模流量洪峰。与此前不同的是,继去年天猫 双11 外围零碎上云后,阿里巴巴基于数字原生商业操作系统,实现了全面云原生化,底层技术升级带来了磅礴能源和极致效力。 现在,企业上云曾经成为一种必然趋势。与此同时,作为诞生于云计算时代的新技术理念,云原生让企业用云的形式产生着从“上云”到“云上”的转化。速度下载《云原生大规模利用落地指南》,从技术体系降级、到技术能力冲破、再到双11云原生实际,看最全面的阿里巴巴 双11 云原生技术实践经验。 独家下载《云原生大规模利用落地指南》 《云原生大规模利用落地指南》一书目录 举荐嘉宾寄语 “2020 年 双11 的主题是「云原生」,是在「云上」实现外围零碎全面云原生化的的第一年。咱们看到,云的定义在一直变动,它成为了商业畛域数字化的底座和根底,不再单指传统云计算了,而是将将来的方向指向云原生。某种程度上,恰好是因为云原生,咱们能力从过来的解放中解放出来。不迈出这一步,咱们的综合能力很维迎来下一次冲破。” “云原生让企业用云的形式产生着从‘上云’到‘云上’的转化。通过云原生,企业能够最大化应用云的能力,聚焦于本身业务倒退,开发者也能够基于云原生的技术和产品,晋升开发效率,并将精力更多地聚焦于业务逻辑的实现。云原生正在成为新基建落地的重要抓手。只有提前拥抱基础设施,才不会被时代淘汰。” “云原生曾经成为云计算的再降级,通过重塑整个软件生命周期,成为开释云价值的最短门路,减速企业数字化翻新。咱们将往年在阿里巴巴 双11 外围零碎全面云原生化过程中积攒的教训积淀成为这本电子书,心愿帮忙更多企业和研发人员去更好地做新技术的尝试、迭代和落地。” 精彩领先看阿里云原生中间件首次实现自研、开源、商用“三位一体”,技术飞轮效应浮现阿里云在摸索中始终存在的苦恼,是外部的自研体系、商业化的产品技术与开源的我的项目,三方的技术路线始终没有机会融为一体。然而,就在往年阿里云提出了“三位一体”理念,行将“自研技术”、“开源我的项目”、“商业产品”造成对立的技术体系,最大化技术的价值。>>点击查看更多 以 Kubernetes 为代表的容器技术,已成为云计算的新界面能够说,以 Kubernetes 为代表的容器技术正成为云计算新界面。容器提供了利用散发和交付规范,将利用与底层运行环境进行解耦。Kubernetes 作为资源调度和编排的规范,屏蔽底层架构差异性,帮忙利用平滑运行在不同基础设施上。CNCF Kubernetes 的一致性认证,进一步确保不同云厂商 Kubernetes 实现的兼容性,这也让更多的企业违心采纳容器技术来构建云时代的利用基础设施。>>点击查看更多 Serverless 如何落地?揭秘阿里外围业务大规模落地实现2020 年,新冠肺炎疫情催化数字化生存形式渐成常态。在企业踊跃进行数字化转型、全面晋升效率的明天,简直无人否定背负“降本增效”使命诞生的 Serverless 行将成为云时代新的计算范式。>>点击查看更多 更多精彩内容,下载电子书即可取得。

January 4, 2021 · 1 min · jiezi

关于阿里巴巴:如何在-20-分钟内给你的-K8s-PaaS-上线一个新功能

作者 | 孙健波(天元)起源|阿里巴巴云原生公众号 上个月,KubeVela 正式公布了, 作为一款简略易用且高度可扩大的利用治理平台与外围引擎,能够说是宽广平台工程师用来构建本人的云原生 PaaS 的神兵利器。 那么本文就以一个理论的例子,解说一下如何在 20 分钟内,为你基于 KubeVela 的 PaaS “上线“一个新能力。 在正式开始本文档的教程之前,请确保你本地曾经正确装置了 KubeVela 及其依赖的 K8s 环境。 KubeVela 扩大的根本构造KubeVela 的根本架构如图所示: 简略来说,KubeVela 通过增加 Workload Type 和 Trait 来为用户扩大能力,平台的服务提供方通过 Definition 文件注册和扩大,向上通过 Appfile 透出扩大的性能。官网文档中也别离给出了根本的编写流程,其中 2 个是 Workload 的扩大例子,一个是 Trait 的扩大例子: OpenFaaS 为例的 Workload Type 扩大云资源 RDS 为例的 Workload Type 扩大KubeWatch 为例的 Trait 扩大咱们以一个内置的 WorkloadDefinition 为例来介绍一下 Definition 文件的根本构造: apiVersion: core.oam.dev/v1alpha2kind: WorkloadDefinitionmetadata: name: webservice annotations: definition.oam.dev/description: "`Webservice` is a workload type to describe long-running, scalable, containerized services that have a stable network endpoint to receive external network traffic from customers. If workload type is skipped for any service defined in Appfile, it will be defaulted to `Web Service` type."spec: definitionRef: name: deployments.apps extension: template: | output: { apiVersion: "apps/v1" kind: "Deployment" spec: { selector: matchLabels: { "app.oam.dev/component": context.name } template: { metadata: labels: { "app.oam.dev/component": context.name } spec: { containers: [{ name: context.name image: parameter.image if parameter["cmd"] != _|_ { command: parameter.cmd } if parameter["env"] != _|_ { env: parameter.env } if context["config"] != _|_ { env: context.config } ports: [{ containerPort: parameter.port }] if parameter["cpu"] != _|_ { resources: { limits: cpu: parameter.cpu requests: cpu: parameter.cpu }} }] }}} } parameter: { // +usage=Which image would you like to use for your service // +short=i image: string // +usage=Commands to run in the container cmd?: [...string] // +usage=Which port do you want customer traffic sent to // +short=p port: *80 | int // +usage=Define arguments by using environment variables env?: [...{ // +usage=Environment variable name name: string // +usage=The value of the environment variable value?: string // +usage=Specifies a source the value of this var should come from valueFrom?: { // +usage=Selects a key of a secret in the pod's namespace secretKeyRef: { // +usage=The name of the secret in the pod's namespace to select from name: string // +usage=The key of the secret to select from. Must be a valid secret key key: string } } }] // +usage=Number of CPU units for the service, like `0.5` (0.5 CPU core), `1` (1 CPU core) cpu?: string }乍一看挺长的,如同很简单,然而不要焦急,其实细看之下它分为两局部: ...

December 24, 2020 · 7 min · jiezi

关于阿里巴巴:如何在-20-分钟内给你的-K8s-PaaS-上线一个新功能

作者 | 孙健波(天元)起源|阿里巴巴云原生公众号 上个月,KubeVela 正式公布了, 作为一款简略易用且高度可扩大的利用治理平台与外围引擎,能够说是宽广平台工程师用来构建本人的云原生 PaaS 的神兵利器。 那么本文就以一个理论的例子,解说一下如何在 20 分钟内,为你基于 KubeVela 的 PaaS “上线“一个新能力。 在正式开始本文档的教程之前,请确保你本地曾经正确装置了 KubeVela 及其依赖的 K8s 环境。 KubeVela 扩大的根本构造KubeVela 的根本架构如图所示: 简略来说,KubeVela 通过增加 Workload Type 和 Trait 来为用户扩大能力,平台的服务提供方通过 Definition 文件注册和扩大,向上通过 Appfile 透出扩大的性能。官网文档中也别离给出了根本的编写流程,其中 2 个是 Workload 的扩大例子,一个是 Trait 的扩大例子: OpenFaaS 为例的 Workload Type 扩大云资源 RDS 为例的 Workload Type 扩大KubeWatch 为例的 Trait 扩大咱们以一个内置的 WorkloadDefinition 为例来介绍一下 Definition 文件的根本构造: apiVersion: core.oam.dev/v1alpha2kind: WorkloadDefinitionmetadata: name: webservice annotations: definition.oam.dev/description: "`Webservice` is a workload type to describe long-running, scalable, containerized services that have a stable network endpoint to receive external network traffic from customers. If workload type is skipped for any service defined in Appfile, it will be defaulted to `Web Service` type."spec: definitionRef: name: deployments.apps extension: template: | output: { apiVersion: "apps/v1" kind: "Deployment" spec: { selector: matchLabels: { "app.oam.dev/component": context.name } template: { metadata: labels: { "app.oam.dev/component": context.name } spec: { containers: [{ name: context.name image: parameter.image if parameter["cmd"] != _|_ { command: parameter.cmd } if parameter["env"] != _|_ { env: parameter.env } if context["config"] != _|_ { env: context.config } ports: [{ containerPort: parameter.port }] if parameter["cpu"] != _|_ { resources: { limits: cpu: parameter.cpu requests: cpu: parameter.cpu }} }] }}} } parameter: { // +usage=Which image would you like to use for your service // +short=i image: string // +usage=Commands to run in the container cmd?: [...string] // +usage=Which port do you want customer traffic sent to // +short=p port: *80 | int // +usage=Define arguments by using environment variables env?: [...{ // +usage=Environment variable name name: string // +usage=The value of the environment variable value?: string // +usage=Specifies a source the value of this var should come from valueFrom?: { // +usage=Selects a key of a secret in the pod's namespace secretKeyRef: { // +usage=The name of the secret in the pod's namespace to select from name: string // +usage=The key of the secret to select from. Must be a valid secret key key: string } } }] // +usage=Number of CPU units for the service, like `0.5` (0.5 CPU core), `1` (1 CPU core) cpu?: string }乍一看挺长的,如同很简单,然而不要焦急,其实细看之下它分为两局部: ...

December 24, 2020 · 7 min · jiezi

关于阿里巴巴:揭开阿里巴巴复杂任务资源混合调度技术面纱

作者 | 黄涛、汪萌海起源|阿里巴巴云原生公众号 作为更进一步的云计算状态,云原生正在成为云时代的技术新规范,通过重塑整个软件生命周期,成为开释云价值的最短门路。 在企业外部,将云原生基础架构作为企业外部的对立架构已成为大势所趋。与此同时,也必然带来了由各种根底平台整合带来的兼容性问题,特地是规模越大、历史积淀越多的企业,这种“技术债权”体现得越显著。 本文分享的教训来自于阿里巴巴过来数年来在混合调度方面积攒的生产实践积攒,具备很强的生产实用价值。内容由浅入门,逐步深刻到调度器底细,讲述在大规模容器调度场景下,阿里巴巴针对云原生利用设计的对立基础设施 ASI(Alibaba Serverless infrastructure)调度器如何治理阿里巴巴如此简单、忙碌的资源调度工作;并尝试通过一些具体的案例让您得以充沛了解,置信会为有相似问题的读者关上设计思路,并提供落地借鉴。通过本文,置信您将系统地了解阿里巴巴简单工作场景下的资源混合调度。 调度器总览ASI 在阿里团体外部引领着容器全面上云的施行,承当了包含阿里团体外部轻量级容器架构演进、运维体系云原生化等职责,并进一步减速促成了新兴的技术包含 Mesh、Serverless、Faas 等在阿里团体内的落地;撑持了包含淘宝、天猫、优酷、高德、饿了么、UC、考拉等简直所有经济体外部业务、阿里云云产品泛滥场景及生态。 ASI 的外围基于 Kubernetes,并提供残缺的云原生技术栈反对。现在的 ASI 也已胜利实现与阿里云容器服务 ACK(Alibaba Cloud Container Service for Kubernetes)的会师;而 ACK 既保留了云上的各种能力,也能胜利应答阿里团体简单的业务环境。 ASI 调度器是 ASI 云原生的外围组件之一。在 ASI 云原生的倒退历程中,调度器的作用至关重要。最直观的认知是:阿里巴巴规模宏大的在线电商交易容器,例如购物车、订单、淘宝详情等,每一台容器的散布,包含容器编排、单机计算资源、内存资源,均由调度器调配和调度;特地是在 双11 零点峰值场景下,多数容器编排谬误都有可能给业务带来致命影响,调度器需负责把控峰值时每一台容器计算的品质,其重要性可想而知。 ASI 调度器起源于 2015 年在线电商交易容器调度,这一年最早的调度器仅涵盖在线交易 T4(阿里晚期基于LXC和Linux Kernel定制的容器技术)和 Alidocker 场景,出世即责任重大,并在 2015 年扛住 双11 流量峰值中发挥作用。 ASI 调度器的演进之路也随同着云原生倒退的全过程。它经验了最晚期的在线交易容器调度器、Sigma 调度器、Cerebulum 调度器、ASI 调度器;到现在咱们正在建设的下一代调度器 Unified-Scheduler,它将进一步排汇并交融过来数年阿里巴巴 ODPS(伏羲)、Hippo 搜寻、在线调度在各个领域的先进经验。各阶段的调度解读如下图: 在 ASI 调度器的演进过程中有十分多的挑战须要解决,次要体现在: 调度器调度的工作品种丰盛多样,有海量的在线长生命周期容器和 POD 实例、Batch 工作、泛滥状态的 BestEffort 工作等不同 SLO 等级的工作;有计算型、存储型、网络型、异构型等泛滥不同资源类型的工作,不同工作的诉求和场景又千差万别。调度之上的宿主资源各异。调度治理着阿里团体外部数量宏大的宿主资源,包含泛滥机型的存量非云物理机、云上神龙、ECS、异构机型如 GPU/FPGA 等。调度器服务场景宽泛。例如:最典型的泛交易场景;最简单的中间件场景;Faas/Serverless/Mesh/Job 等泛滥新兴计算场景;饿了么、考拉、神马等新兴生态场景;公共云上随同着多租平安隔离的调度诉求;还有寰球范畴内都十分具备挑战性的 ODPS(伏羲)、Hippo、蚂蚁、ASI 对立调度场景。在基础设施层的职责泛滥。调度器局部承当着基础设施机型定义、计算存储网络资源整合、收敛硬件状态、透明化基础设施等泛滥职责。对于阿里云原生具体的倒退历程,有趣味的同学能够通过《一个扭转世界的“箱子”》这篇文章来理解。上面,咱们重点来分享 ASI 调度器是如何治理着阿里如此宏大规模、如此简单忙碌的计算资源调度工作。 ...

December 24, 2020 · 4 min · jiezi

关于阿里巴巴:印度再禁-43-款应用多数来自阿里巴巴

自往年 6 月以来,印度针对中国企业的限度行动层出不穷,公布了对 TikTok、微信、微博等一系列中国利用的禁令。依据印度政府周二公布的一项命令,印度再禁了 43 种利用,其中少数来自中国。 据理解,这次被禁的程序中包含阿里卖家、寰球速卖通等。截至目前,被印度政府禁止的中国利用总数曾经达到了 220 个。印度电子和信息技术部称:“禁止这些利用是因为这些程序有损于印度的主权和残缺,扰乱了印度的国家平安和公共秩序。” 6 月 30 日,印度政府发表禁止 59 个中国应用程序,其中包含 TikTok、UC 浏览器、微博、微信等支流利用。随后,又在 9 月份将禁令扩充到了 118 个应用程序,百度、支付宝等被列入其中。 随着印度政府周二颁发的新一轮禁令,被禁止的中国利用总数曾经达到了 220 个。被阻止拜访的挪动应用程序包含阿里卖家(AliSuppliers)、千牛工作台(Alibaba Workbench)、寰球速卖通(AliExpress)和Alipay Cashier等。 以下为本轮禁令中蕴含的所有应用程序:

November 25, 2020 · 1 min · jiezi

关于阿里巴巴:阿里巴巴旗下-Teambition-网盘简单测评

你想要的是一款不限速、不打搅、够平安、易于合作的网盘?这些需要都会被满足,但这样还不够,咱们要让你的每一次应用都充斥惊喜和愉悦。近几年,网盘大战逐步消停,一家又一家网盘发表进行服务,现在国内网盘服务根本只剩某度网盘一家独大了。并且某度网盘因为限速、擅自开启激励打算等问题也始终饱受诟病。然而某度网盘后期依附大容量大空间,积攒了大量的资源与用户,也使得咱们当初也不得不持续应用某度网盘。 在这种情况下,阿里巴巴发表推出 Teambition 网盘让我眼前一亮。 它所宣传的这四大劣势也正是咱们所须要的。关注了良久,最终终于在SegmentFault专场招募中取得了内测资格,并取得了金色徽章。 废话不多说了,咱们间接进入正题吧。 应用感触1.不限速上传和下载根本没啥问题,根本可能跑满带宽。 2.洁净从他这网盘界面来说,还是十分洁净简洁的,没有广告没有弹窗,更没有“超级会员高价抢”的链接。 3.平安在它的平安设置中能够开启两步验证,能够大大提高账户的安全性。此外,Teambition 网盘采纳与天猫双11雷同技术架构,确保用户的信息相对平安。 4.不便我分享链接给他人,他人免登录间接下载。//TODO因为近几日分享性能保护,等保护完结后补图 视频预览能够依据鼠标地位进行抓取缩略图,十分不便。除视频外,还反对pdf、ppt等几十种文件格式的在线实时预览。 值得一提的是,在登录界面和设置界面都有服务器切换的按钮,能够不便国内外人士可能稳固的应用服务。 5.容量大Teambition 网盘为用户提供了2T的存储空间,直逼某度网盘。 谈谈有余Teambition 网盘属于企业向,偏差于工作,临时没有离线下载、主动同步、主动备份等性能的布局,我感觉缺失这一些性能兴许会劝退局部用户。此外,客户端的话,目前挪动端是MVP版本(最简化可履行产品版本),临时不反对文件上传,文件下载也是调用内部浏览器,综合体验不如web端好。不过好消息是,程序员小哥哥正在快马加鞭正式版Teambition 网盘客户端呢,大家刮目相待吧。 此外,错过SegmentFault专场招募的仍然能够通过公测预约哦!预约链接:阿里巴巴旗下 Teambition 网盘公测预约表

October 21, 2020 · 1 min · jiezi

关于阿里巴巴:阿里出品的不限速网盘来了开发者专属内测资格限量申请中

上传/下载被限速,充值会员套路满满,你还在为近程文件共享而苦恼吗? 有没有一款不限速、不打搅、够平安、易于合作的网盘? 据悉,自阿里 Teambition 网盘横空出世以来,已收到海量用户内测申请,全网爆火。 想提前体验不限速?SegmentFault 思否联结阿里 Teambition 团队,推出网盘试用与评测流动。 SegmentFault 思否作为开发者独家合作伙伴,社区用户享有领先内测机会! 全网爆火的 Teambition 网盘,500个限量内测名额,赶快申请吧! 流动工夫申请工夫:即日起 -10.10发放工夫:2020.10.11,符合条件的开发者将通过邮件收到内测码 报名条件SegmentFault 思否社区的开发者在 Teambition 网盘官网填写过内测申请表的优先日常工作常常应用网盘类产品的优先Bug 容忍度高,违心提产品倡议的优先喜爱在社区/社交媒体分享产品体验的优先流动流程第一步:点击 “内测申请”,报名并提交内测申请第二步:期待信息筛选,2020.10.11 将陆续发送内测码邮件第三步:通过内测邀请邮件中的二维码扫描退出社群,与产品研发团队交换试用体验 第四步:取得内测资格后,同时能够参加有奖测评征文,欢送在 SegmentFault 社区分享你的测评感触

October 4, 2020 · 1 min · jiezi

关于阿里巴巴:张勇提出阿里巴巴面向未来的11个战略机遇

阿里巴巴团体董事会主席兼首席执行官张勇在2020年度阿里巴巴寰球投资者大会上示意,数字化是微小的历史倒退时机,阿里巴巴在其中正处于最佳地位。在内需、云计算大数据和全球化三大增长引擎中,蕴含着将来三到五年内11大策略时机。 张勇说,中国的生产力量是阿里巴巴向前倒退的根本能源和保障。截至6月底,阿里巴巴团体和蚂蚁团体年度中国用户数量为10.7亿,这使阿里巴巴能够更好地组织供应和商业翻新,满足人们当初和将来的需要。阿里巴巴的云是被从新定义的云,技术和商业的联合将为企业、行业、产业发明实实在在的价值,这是数十年一遇的时机。同时,阿里巴巴也置信寰球消费者生存在独特的数字化环境之中,对全球化的方向坚韧不拔。 围绕这三大畛域,11个策略时机至关重要: 进一步倒退数字用户;不断扩大用户在阿里巴巴数字经济体内的消费品类,减少生产总额;利用对消费者的洞察,不断扩大新供应,进而进行供应侧革新;利用数字技术对线上/线下零售业态进行数字化翻新或者革新;将支付宝从数字领取进口(digital check out)降级为数字生存入口(digital check in);阿里巴巴商业操作系统帮忙消费品企业实现端到端数字化经营;物流全产业链的因素数字化及智能化经营;所有企业都要上云,代替原有IT基础设施;企业全面走向云上协同办公;在批发、金融、公共服务、交通、医疗等若干行业造成云+大数据+智能利用;阿里数字生态走向寰球市场。 “咱们始终说‘天马行空,好高鹜远’,咱们有很多畅想,路就在咱们脚下。”张勇说,“咱们肯定会保持一贯的传统,把一个一个十年、二十年的幻想,通过十年、二十年甚至更长时间的致力变成事实。” 疫情给世界造成了空前的挑战,也为企业、市场、社区之间的单干和倒退带来了新的思考。张勇一贯是数字化动摇的倡导者。他再次强调,数字化是不确定性中最大的确定性,正在粗浅扭转人们生存、工作、学习和企业经营的形式。而使命、能力、翻新和组织,是阿里巴巴把握这一时代时机的信念所在。 现在数字化是“让天下没有难做的生意”的标准答案,阿里巴巴踊跃帮忙各行各业拥抱数字化是使命驱动的必然。同时,包含数字商业、金融科技、智慧物流、地理信息、云计算在内的数字化基础设施,是阿里巴巴担当数字经济时代的引领者的保障。继续翻新是阿里巴巴的DNA,为此,阿里巴巴既能保持为将来孵化,也能放弃高质量经营。阿里巴巴数字经济体独特的文化和价值观,则是抓住机遇的根本保障。这让不同背景、性情、专长的阿里人走到一起产生化学反应,不仅跑得快,而且走得好。张勇说:“咱们思考所有策略时机的出发点和归宿,都是如何更好地去践行咱们的使命,服务好咱们的客户,通过翻新带来全新的客户价值。这一点依然会贯通在咱们抓住历史时机的将来征程当中。”

September 30, 2020 · 1 min · jiezi

关于阿里巴巴:蚂蚁CTO倪行军的逆袭人生大专毕业自学编程三年跳槽5次进入阿里不养老的他终于财富自由

作者:郭一璞 对撞派 出品 | 公众号 ai7gua 2003年8月,杭州。 席卷全国的非典疫情,刚开始趋于平稳,一位三年跳槽五次的会计专科生,正急匆匆返回曾被全员隔离的阿里巴巴。 有个神秘新部门的面试行将开始。而且是这个小伙子始终幻想的程序员岗。 赶到约定地点后,他发现居然真是一座小区,而且保安还不让进,于是只好西装革履地跑了3公里路,找到一部固定电话尝试分割面试官。 电话那头得悉来意后,喊了一声:“奶——奶——,有人来面试!” 待他大汗淋漓地再跑回小区后才看清,进去接他的这位“奶奶”,居然是个年轻人。 接连的蹊跷遭逢,让他狐疑本人上当受骗。只有多年之后回头看,才晓得这是他毕生幻想与财产故事的开始。 这个小区,是马云的湖畔花园; 这个阿里新开的部门,是淘宝网; 小伙子将来要做的产品,是支付宝; 他,就是现在的蚂蚁团体CTO,倪行军。 三年5次跳槽进入阿里倪行军,花名苗人凤,取自金庸小说《雪山飞狐》中的一位大侠。 不过,在他还不叫苗人凤的时候,命运却经验了间断的挫折。 1997年,20岁的他考入了浙江财经学院。 当初这所学校曾经改名叫浙江财经大学,但在过后,它还是一所专科学校。倪行军读的业余是会计信息化,和计算机能沾上边。 从浙江财经学院毕业的那年,web互联网才衰亡不久,过后倪行军就曾经看上了电商这个畛域。 在毕业论文里,倪行军专门以阿里巴巴为钻研对象,写了一篇8000多字的论文《网络经济下会计信息失真问题》。 会计毕竟是和商业自身密切相关的业余,再加上倪行军自己也自学了编程,因而这次钻研让他对电商和阿里有了深刻理解,跨专业去做程序员,成了他为本人布局的人生方向。 既然要去做程序员,那就先去开发软件的公司,他毕业的第一家公司是用友软件。 进用友之前,倪行军认为来了IT公司就能够学技术,但待了三个月之后,他发现不对劲: 本人始终在做销售和策动的工作,并没有做技术,齐全不合乎本人的职业规划。 于是,3个月实习期一过,他就裸辞了。 没有工作教训,但曾经不是应届生,倪行军的路登时很难走了。 好在,经同学举荐,他去了五粮液团体华北区,尽管心田并不想,但还是来到杭州奔赴北京。 但五粮液的工作仍然不是IT技术相干的,走了很多中央,做了很多调研,写了很多报告之后,倪行军越来越迷茫了:我明明要做程序员的,怎么变成了做调研报告的? 所以,在五粮液工作半年之后他又裸辞了,回到了杭州。 第三份工作,倪行军终于如愿以偿能够做程序员了。这家公司叫天地网络,是帮企业做网站的。 巧的是,这家公司和阿里都在华星大厦,天地网络在10楼,阿里就在9楼。 天地网络的这份工作,终于满足了倪行军学技术的欲望。一开始,他只会C语言,但在天地网络期间,倪行军自学了其余编程语言,让本人成为了一名实力弱小的开发者。 南都的一篇报道,记录了倪行军过后的感触:“我那时候独身,住的离公司也近,所以上班当前个别都会在公司干点活或者上上网,有时候早晨11点来到,发现阿里所在的9楼仍旧是灯火通明。我看着那灯光很好奇,而后会莫名其妙地感觉那就是一种守业的激情和生机,感觉那就是我渴望的环境和文化。” 他喜爱阿里的气氛,也渴望守业。在此期间,他确实给楼下的阿里投过简历,但最终,冒险的性情让他还是抉择了守业。 这便是倪行军的第四份工作,他和共事凑了点钱,合伙守业。 他创建的这家公司做成了一点to G的业务,接了一些政府的小订单,但始终没有大的成就。“起初发现要真的把公司运行起来太难了。第二年,咱们几个人凑的钱就烧光了。” 守业没有胜利。在换了第五份工作——杭州市的一家医药企业之后,2003年,倪行军生命中第三次遇上阿里。 这一年的8月份,倪行军在报纸的中缝处看到了阿里的招聘广告,便投了简历。 简历过了,但HR打来电话后,却“忽悠”他去淘宝。 过后,阿里巴巴最外围的业务还是B2B交易平台,淘宝离起初的全民剁手平台还有相当长一段时间。 倪行军懵逼地问HR:“淘宝是什么?” HR解释说,淘宝是阿里的一个部门,于是倪行军便许可了。 之后,便产生了结尾那一幕,倪行军穿得西装革履的去湖畔花园面试。 而这次冒着“上当受骗”危险的面试,让更多人对他的称说从倪行军,变成了花名“苗人凤”,大家称之为“老苗”,工号1788。 此处,倒有一个乏味的插曲。 起花名的时候,倪行军并不相熟金庸小说,原本筹备起个“宋兵甲”或者“宋兵乙”这样路人的名字,但却被老板否决了。 共事给他找了一张金庸小说的人物关系图,并给出了倡议:肯定要找谱系头部的名字,或者谱系独立的名字,千万不要找谱系靠后的,不然见了名字靠前的人,还得管人叫爹妈。 于是,“打遍天下无敌手”的苗人凤,就入了倪行军法眼。 做成支付宝,成为“裸奔第一人”晚期的互联网总是充斥了不体面。 在湖畔花园里,倪行军晚期的工作中也确实有一些不够体面的事件。 在界面的《马云的湖畔花园16幢1单元202室》一文中就记录了倪行军写网页劫持代码的故事。 他的网页劫持代码,让用户只有鼠标点一下,就会蹦出十多个淘宝网的广告。 这种不友善的推广确实让初生的淘宝网扩充了知名度。有一天,倪行军和一位敌人聊到本人在淘宝网工作。一听到淘宝的名字,敌人就示意本人晓得这个网站。倪行军正庆幸本人的公司终于有了点知名度的时候,对方说了一句难堪的话:“刚评的,十大流氓软件之首。” 不过好在,倪行军的外围工作不止体面得多,更影响微小,甚至说是中国商业史的里程碑都不为过。 2003-2004年那段时间的淘宝,购物非常复杂,想给远方的商家打钱买货色,只能通过简单的步骤线下汇款;而卖家出于不信赖,也只能等收到钱之后再发货。总之,这种付款形式和起初的电子领取几乎是天壤之别,整个交易的周期都被拉的很长。 于是淘宝网外部就在开发一个“担保交易”的产品,也就是淘宝平台先拿着买家的货款,确认收货后再把钱给到卖家,起初这就是赫赫有名的支付宝。 支付宝最后只有一个雏形,每天的交易笔数只有个位数,甚至没有退款性能,最后的开发者茅十八去读MBA了,而倪行军因为有会计专业背景接手了这个我的项目。过后,他是支付宝惟一的一名开发者。 ...

September 21, 2020 · 1 min · jiezi

关于阿里巴巴:全面拥抱云原生应用研发的拐点已经到来

研发的将来在哪里 互联网+ 倒退到明天,大家对互联网业务的倒退模型越来越相熟,麻利开发,流量经营,模式复制。在整个翻新闭环当中,技术起着至关重要的作用: 帮忙商业翻新从 Idea 变成实在的线上服务帮忙保障线上服务流量极速增长仍能提供服务帮忙胜利的商业实现模式的复制所有的技术人都在为此而致力,就像奥林匹克精力那样,以 “更高更快更强” 为指标,一直优化工程实际办法。然而,这条路一路走过去的艰苦也只有技术人才懂: 组建研发体系何其艰难,麻雀虽小,五脏要全,如何疾速实现研发团队的建设,研发基础设施的建设,是挡住商业化翻新的第一道坎;用户流量每增长一百万,对技术架构都是微小的挑战,零碎什么时候会解体是技术人每天都要思考的问题;业务在国内取得成功后,想要在寰球范畴同步推出,每减少一个服务节点,零碎架构都得从头再搭建一次,不同的国家地区还不肯定可能保障,重大制约商业化脚步;*云原生利用研发的最初一公里魔咒 随着云原生 Serverless 的概念在国内悄悄升起,许多技术人仿佛从中看到了心愿,许多 IT 架构师曾经把它作为指标技术架构之一。Serverless 的跨代劣势对有技术敏感的架构师来说是技术倒退的红利,个别都在继续关注它的倒退。 然而在这两年间,随着整个研发生态接触到 Serverless 的内容也越来越多,尝试也越来越多。在许多的实际中,越来越多的公司、企业开始陷入一种迷思: Serverless是不是就是FaaS?是不是只能用在一些 “计算工作” 场景?是不是只能在小程序等一些很小众的研发场景能力用呢?公司原来那么多不同语言开发的存量利用是不是齐全用不上?是不是只有像阿里巴巴这种体量的公司能力玩的转?所有如同又回到了原点,在上述的问题没有解决之前,企业集成或利用 Serverless 架构的构想停在了业务落地的 “最初一公里”。说好的云原生是云计算的将来呢?说好的云原生能够扭转开发者的世界呢?要晓得,没有规模,就不是云计算!没有规模,就无奈产生无奈计算的价值!如果一个好的概念始终无奈走进普罗公众,那它可能只能被公众束之高阁,敬而远之。 回顾初心,技术是为了更好的商业翻新 如果有一种办法,可能让开发者专一在商业应用逻辑的开发自身;可能让商业化利用不必放心流量的增长而解体;可能让寰球的服务保持一致;可能让每一个商业利用随着流量的变动而动静调整资源的用量。那它肯定是最靠近现实状态的:让每一个商业翻新都变的简略,让每一个灵感都变成可能! 明天,咱们通过云栖大会,十分兴奋的向寰球的开发者们传递一个信息,具备规模化落地的真正的云原生Serverless 利用研发时代曾经到来,全面拥抱云原生利用研发的拐点曾经到来!无论是大中小微公司,无论什么业务场景,无论什么开发语言,无论是既有的存量利用还是新利用,无论多大用户流量,无论寰球服务有多少节点,都能够借助阿里云云开发平台提供的 Serverless 架构服务轻松落地。 在阿里云云开发平台,您能够在无需重构的状况,将已有的NodeJS利用、Java利用、Python利用、PHP利用等,轻松平滑地迁徙部署到云原生Serverless架构,从此辞别资源节约,辞别不靠谱的人肉流量估算人肉扩容的日子!您也能够将资源最大化地利用在本人的业务翻新上,从此不再须要为团队协同环境的搭建、团队研发测试环境的搭建、利用高并发架构的搭建费时费力费钱! 阿里云云开发平台所提供的全云端Serverless研发架构服务,帮忙企业和合作伙伴进行更好的商业翻新。 只有更偏心的翻新环境能力让创新者全力比拼创意 阿里云云开发平台(https://workbench.aliyun.com )给开发者和研发团队提供了齐全基于「云+浏览器」就能实现日常利用开发工作的环境,它的设计理念是使每天的利用研发生命周期也成为企业团队大协同中的一环。云开发平台集成了阿里巴巴诸多自研自用的开发能力和开发工具,籍由弱小的阿里研发生态,为开发者提供更大的协同研发可能。 通过以下阿里巴巴自研自用服务,阿里云云开发平台让所有的研发团队不管大小,不管初创小微团队还是行业龙头企业,都可能享受到阿里巴巴这种体量规模的在线利用研发协同能力,让团队不受工夫、空间、和规模的限度,让所有的翻新守业都能基于一个更偏心和凋谢的技术环境轻松启动! 在线团队:与阿里云云效企业组织互通,创立后即可应用阿里云云效提供的所有在线协同能力;提供4种团队角色,齐全映射本地研发团队权限设计,帮忙您轻松实现团队上云;在线CloudIDE环境:基于阿里巴巴前端委员会共建的 CloudIDE,与阿里巴巴外部应用的是同一套,在此基础上,意味着您同时也能够享受到阿里巴巴外部的插件生态,比方图片智能生成代码插件服务 ImgCook;在线代码托管服务:阿里云自研代码托管服务 Codeup,企业级代码治理平台,提供代码托管、代码评审、代码扫描、品质检测等性能,全方位爱护企业代码资产,帮忙企业实现平安、稳固、高效的研发治理,撑持百万级代码库和数万工程师合作,反对规范 git 操作,帮忙您更不便的实现本地与云端代码同步治理;在线部署流水线服务:阿里云自研部署流水线服务 Flow,从代码到交付上线仅需5分钟,企业级、自动化的研发交付流水线, 提供灵便易用的继续集成、继续验证、 继续公布性能,帮忙企业高质量、高效率的交付业务;「我的项目」「工作」合作:「我的项目」是合作的根本单元,相当于钉钉或者微信的一个群。你的「我的项目」能够是一次大型会议,一个客户我的项目,或者一个流动;你也能够为所在我的项目创立一个我的项目,用于追踪日常工作;进入我的项目后,「工作」看板把左右事项公开通明的出现进去,让大家看见「谁」、在「何时」、要「做什么」,随时都能够把握工作进度。工作是驱动云效我的项目的最小操作单位。一个个工作,让停顿公开通明,让沟通行之有效;知识库:知识库是一个为企业提供常识治理的服务,通过独立的知识库空间,结构化地组织在线合作文档,实现企业常识的积攒和积淀,促成常识的高度复用和流通*只有更弱小的 Serverless 架构服务能力让商业无忧成长 为了帮忙用户提供一个无缝应用阿里云服务的环境,阿里云云开发平台会跟阿里云的诸多云产品进行集成,随时为用户的应用做好筹备。您能够在云开发平台创立基于各种场景解决方案的利用,并为每个利用选用不同的云服务。 云开发平台将云原生 Serverless 畛域实际最多的服务,如函数计算、利用引擎、容器服务,联合利用研发部署生命周期所需的能力,设计提供了三套规范 Serverless 架构服务,满足不同场景的利用研发部署需要,利用部署上线,流量顶峰主动扩容,流量升高主动开释资源,再也不怕宕机。 函数计算型Serverless架构服务,这是一种羽量级Serverless利用架构服务,计算服务按申请量付费,对初创团队十分敌对,这种 IT 架构适宜短期疾速实现的业务场景,比方促销流动,以及新业务试错场景;Serverless利用引擎型架构服务,这是一种轻量级Serverless利用架构服务,计算服务按资源用量付费,对存量中小规模利用更加适宜,这种架构模式,能够基于 MSE 微服务引擎,反对服务注册,服务发现机制,联合阿里云上各种中间件服务产品,能轻松构建一个简单的零碎架构。这种架构模式适宜业务成熟定型,流量稳固的业务场景,也能够把业已成熟 IT 集成架构积淀成云开发平台的公司级解决方案,让新业务在这个基础架构上麻利迭代;Serverless容器型架构服务,这是一种专业级Serverless利用架构服务,计算服务按资源用量付费,规模化复杂度高的巨型利用首选;*只有更少的束缚能力让研发团队轻松实现业务降级 研发团队思考的更多的问题是如何从现有 IT 架构演进到 Serverless 计算架构之中。云开发平台构建了这一演进门路,充沛尊重用户以后研发体系,反对在现有体系中集成 Serverless 构建部署性能。演进蕴含两个层面,一个是存量利用的迁徙,一个是新建 Serverless 利用和以后存量利用的互联互通能力。 ...

September 21, 2020 · 1 min · jiezi

关于阿里巴巴:阿里巴巴电商搜索推荐实时数仓演进之路

简介: 自建实时数仓到底难在哪里?实时数仓应该怎么建?阿里巴巴搜寻团队告诉您答案 作者:张照亮(士恒)阿里巴巴搜寻事业部高级技术专家 业务背景======== 阿里巴巴电商搜寻举荐实时数据仓库承载了阿里巴巴团体淘宝、淘宝特价版、饿了么等多个电商业务的实时数仓场景,提供了包含实时大屏、实时报表、实时算法训练、实时A/B试验看板等多种数据利用反对。 数据的价值咱们认为数据处于阿里巴巴搜寻举荐的大脑地位,这体现在算法迭代、产品经营和老板决策等多个方面。那么数据是怎么在搜寻举荐业务场景中流转的呢?首先是信息采集,用户在应用手机淘宝的搜寻和举荐性能时,会触发到服务端上的埋点信息;接下来会通过离线和实时的ETL加工,再装载到产品引擎外面;而后咱们会基于引擎来构建剖析零碎,帮忙算法、产品做剖析决策;造成一次决策之后,会有一些新的内容上线,用户能够看到算法模型产出的一些业务状态;这样就产生了一轮新的数据采集、加工、装载和剖析的过程。这样一来就能够利用数据造成一个残缺的业务链路,其中每个环节都十分重要。 搜寻举荐典型场景实时数据在电商搜寻举荐中有多种不同的利用场景,如实时剖析、算法利用和精细化人群经营等。 1)实时剖析和算法利用场景 在实时剖析和算法利用场景中,咱们利用实时数据仓库搭建剖析报表、实时大屏、训练算法模型以及打造其余类型的数据产品。实时数据的需要搜寻举荐场景下次要有以下特点: 数据量大:单日PB级存储单表总条数:_千亿+_QPS高:峰值写入RPS 6500W+峰值查问QPS:_200+_数据灵活性要求高,剖析场景多样化,固定条件高频剖析、非固定条件多维查问2)精细化人群经营场景 在电商经营中,常常会有针对不同人群采纳不同经营策略的需要。传统形式应用离线数据对人群进行流动投放,但个别须要到第二天能力看到前一日的流动经营成果。为了更高效地观测、晋升经营成果,实时的人群投放、人群画像成为必不可少的需要。 实时数仓将会把实时数据以实时大屏、实时报表的模式,为流动经营提供实时的人群行为成果数据,如不同地区、不同年龄段人群的实时UV、实时成交额等。此外,还须要将实时数据与离线数据进行关联比照计算,提供实时的环比、同比数据。 2.典型实时数仓诉求综合以上背景,在实时数仓建设的过程中,咱们总结了以下几类典型的实时数仓诉求: 分组横截面例如分行业指标展现,通常是在SQL中用group by进行查问; 多维过滤场景过滤、用户过滤、商品过滤、商家过滤等,通常应用array字段进行属性值的过滤; 聚合基于明细数据聚合计算实时指标,如SUM、COUNT_DISTINCT计算等; A/B Test通过解析日志埋点中的分桶字段,计算测试桶与基准桶之间的实时Gap数据; 指定Key在排查问题或观测外围商家指标时,常常须要指定商家ID、商品ID查问实时指标,须要基于明细实时表中的id字段过滤后进行聚合计算; 流批一体因为实时数仓仅保留最近2天的数据,在面对计算同比、环比等需要时,就须要读取离线数据与实时数据进行关联计算,这样产品/经营在看下层报表展示时就能直观看到往年实时数据和去年同期的比照体现。 实时数仓架构========== 基于上诉典型实时数仓诉求,咱们形象出了如下图所示的典型实时数仓架构。 实时采集的业务日志通过实时计算Flink荡涤过滤,将后果写到OLAP引擎外面,OLAP引擎既要反对多维的交互式查问、还要反对KV查问和流批一体查问,来满足咱们各种各样的业务诉求,同时OLAP引擎还须要对接下层构建的各种业务利用,提供在线服务。 基于这个典型的实时架构,上面则是咱们搜寻举荐场景下的实时架构演进过程。 1)实时数仓架构 1.0版首先是实时数仓架构1.0版,如下图所示,这个版本次要是由3个板块组成: 数据采集 在数据采集层,咱们将上游实时采集的数据分为用户行为日志和商品维表、商家维表、用户维表等,为什么会有维表呢?因为每个业务在埋点时不会将所有信息全副埋在日志外面,如果所有信息都由用户行为日志承载,灵活性将会特地差,所以维表在业务上负责信息扩大的角色。 采集的用户行为日志将会实时写入实时计算Flink,用户维表、商品维表等维表数据对立归档至MaxCompute中,在初步计算后将会通过数据同步工具(DataX)同步至批处理引擎中。 数据处理 在数据处理层中,流解决局部,由Flink对实时写入的用户行为日志数据做初步解决,具体的解决包含数据解析、荡涤、过滤、关联维表等。 批处理局部,为了在数据查问和服务中依据属性查问、筛选数据,须要在Flink作业中将用户的实时行为和维表做关联计算,这就须要批处理零碎可能反对高QPS查问,过后搜寻业务的单表QPS最高达6500万,通过多方调研,抉择了HBase作为维表的批处理引擎。 Flink作业中基于用户ID、商品ID、商家ID等关联HBase维表中的属性数据,输入一张蕴含多个维度列的实时宽表,再输入到OLAP引擎。为了简化Flink实时作业,升高实时计算的压力,咱们没有在Flink中应用窗口函数做指标的聚合工作,只是对实时日志简略过滤、关联后间接输明细数据到上游,这就要求上游引擎须要提既要反对KV查问、OLAP多维交互式查问,还要反对流批一体查问。 数据查问和服务 在第一版架构中咱们应用的是Lightning引擎来承载Flink输入的实时明细数据,并基于Lightning实现查问流批一体,再对下层利用提供对立的实时数据查问服务。 然而Lightning的局限性也是非常明显的:第一是查问形式是非SQL类型不够敌对,若是写SQL须要二次封装。第二是Lightning采纳的是公共集群,多用户资源不隔离,当须要查问大量数据时,容易呈现性能稳定和资源排队等问题,使得查问耗时较久,在理论业务场景应用中有肯定的限度。 2)实时数仓架构 2.0版基于Lightning的限度,咱们心愿能找到一款代替产品,它的能力要在Lightning之上,撑持OLAP的交互式查问以及高QPS的维表校验查问。于是在2.0版的实时数仓架构中,咱们开始接入Hologres。 最开始,咱们只是用Hologres代替Lightning提供KV、OLAP查问能力,解决了Lightning所带来的局限性。这样的架构看起来很好,但因为还须要通过HBase存储维表,随着数据量的增长,数据导入至HBase的工夫也越长,实际上节约了大量资源,并且随着线上服务实时性要求减少,HBase的弊病也越来越显著。 而Hologres的外围能力之一是减速离线数据,尤其是针对MaxCompute的数据,在底层与其资源买通,能减速查问。所以咱们就萌发了将Hologres代替HBase的想法,以Hologres为对立的存储,数据也无需再导入导出,保障了一份数据一份存储。 于是,最终的实时数仓架构2.0版如下: 数据处理阶段间接将用户维表、商品维表、商家维表以行存模式存储到Hologres中,以此代替Hbase存储。Flink中的作业能够间接读取Hologres的维表,与行为日志进行关联。 在数据查问和服务阶段,咱们将Flink解决输入的实时明细数据对立存储至Hologres,由Hologres提供高并发的数据实时写入和实时查问。 基于Hologres的最佳实际=================== 实时数仓2.0版本因为Hologres的接入,既精简了架构,节约了资源,也真正实现了流批一体。这个架构也始终应用至今,上面是Hologres基于此架构在搜寻举荐具体多个业务场景中的最佳实际。 1)行存最佳实际Hologres反对行存和列存两种存储模式,行存对于key-value查问场景比拟敌对,适宜基于primary key的点查和 scan,能够将行存模式的表看作是一张相似于Hbase的表,用不同的表存储不同实体的维度信息。在Flink实时作业中能够高效地从Hologres行存表中读取维表数据,与实时流中的实体进行关联。 2)列存最佳实际Hologres中默认表的存储模式是列存,列存对于OLAP场景较为敌对,适宜各种简单查问。 基于Hologres的列存模式,咱们搭建了搜寻、举荐业务的实时数据查问看板,在实时看板上能够反对数十个不同维度的实时筛选过滤。在最高峰值每秒写入条数(RPS)超过500万的同时依然能够秒级查问多个维度筛选下的聚合指标后果。同时Hologres表反对设置表数据TTL的属性,个别咱们将一张实时表的生命周期设置为48小时,超过48小时的数据会被主动删除,在实时看板中反对用户对最近两天内的实时数据进行查问,防止了不必要的资源节约。 3)流批一体最佳实际Hologres不仅反对基于实时明细的数据的即席剖析查问,也反对间接减速查问MaxCompute离线表,因而咱们利用这一个性,实现流批一体的查问(实时离线联邦剖析)。 在天猫大促流动中,咱们利用Hologres的联邦剖析能力搭建了外围商家的指标完成率、去年同期比照看板,为经营算法决策提供了无效的数据撑持。 其中指标完成率看板开发借助实时离线联邦剖析变得更为简略,即通过Hologres实时查问大促当天的指标,并用实时表的当天指标除以离线表中设定的指标指标,从而让经营可能看到实时更新的外围商家当天指标的实现状况。 去年同期比照实时看板的计算逻辑也是相似的,能够在SQL中将实时表与去年的离线表JOIN后进行要害指标的同比计算。 所有的计算都能够在Hologres中实现,通过SQL表白计算逻辑即可,无需额定的数据开发工作,一份数据一套代码,升高开发运维难度,真正实现流批一体。 4)高并发实时Update在一些场景下,咱们不仅须要向OLAP引擎实时增量写入数据,还须要对写入的数据进行更新操作(update)。 例如,在订单成交归因时,Flink实时作业会将订单提交数据流与进度点击数据流进行双流JOIN,并且在还须要取订单提交前的最初一次点击事件进行关联。当有多条点击事件先后达到时,咱们就须要更新订单归因明细数据,此时须要利用Hologres的update反对,通过数据的主键更新原有数据,保障成交归因的数据准确性。在实践中Hologres的update写入峰值能达50W,满足业务高并发实时更新需要。 将来瞻望======== ...

September 8, 2020 · 1 min · jiezi

关于阿里巴巴:阿里两大消息放弃UC浏览器印度市场阿里云成为营收主力

技术编辑:宗恩丨发自 思否编辑部 SegmentFault 思否报道丨公众号:SegmentFault 8月20日晚,阿里巴巴团体公布了2021财年第一季度业绩。据财报显示,阿里巴巴团体总营收达1537.5亿元,上年同期为1149.2亿元,营收同比增长34%。净利润为394.7亿元。 具体到各分部,第一季度,阿里巴巴外围商业营收1333.18亿元,同比增长34%,占总营收的87%;云计算支出同比增长59%至123.45亿元,次要是因为公共云和混合云业务的支出奉献减少;数字媒体和娱乐业务收入为69.94亿元,较2019年同期的64.26亿元增长9%,次要是因为来自在线游戏和会员订阅的支出减少,但局部被客户治理支出的缩小所对消;翻新打算及其他支出为10.94亿元,较2019年同期的人民币11.67亿元缩小6%。 通过财报咱们发现阿里云成为了阿里巴巴的一大外围新引擎,比照最近5年数据,在2016上半年时阿里云营收为23.09亿元,到2020年的245.62亿元,五年间增长超过10倍。 “中国云市场处于初期的倒退阶段,市场规模曾经达150亿-200亿美元,曾经是美国市场的8倍之多。而且中国其余行业上云的速度一直放慢,包含金融服务业和针对于消费者的零售业。”张勇以及蔡崇信在阿里巴巴2021财年Q1季度分析师电话会议上均示意,“深信所有的产业所有的部门都会上云,在近期和中期都置信会看到阿里云快速增长。” 张勇还示意:「基于可继续倒退的思考,决定进行UCWeb及其他翻新业务在印度的服务,预计不会对阿里团体的财务状况形成重大影响。咱们正亲密关注美国政府对中国企业的政策变动,跟踪评估这些变动对阿里可能产生的影响,并相应采取新的合规措施。」 6月29日,印度电子信息技术部发表出于“平安”思考,禁止59款中国利用,UC浏览器、Vmate,TikTok、微信、微博等热门利用都在封禁名单中。 依据寰球出名的网络流量监测机构StatCounter公布数据所示,UC浏览器已占据寰球市场份额的17.42%(挪动浏览器月度PV份额),全面超过苹果safari成为了寰球第二大浏览器。有印度媒体报道称,UC浏览器在印度的使用率仅次于谷歌。印度是UC浏览器的次要市场,UC浏览器在寰球领有4.3亿多用户,其中印度就领有1.3亿多用户。 数据内容起源:2021财年第一季度阿里巴巴团体财报

August 21, 2020 · 1 min · jiezi

阿里巴巴成立-AIoT-创新中心探索-5G集团副总裁库伟担任负责人

技术编辑:徐九丨发自 思否编辑部 7 月 8 日上午消息,据新浪科技报道,阿里云 IoT、天猫精灵联合成立 AIoT 创新中心,将整合阿里巴巴包括达摩院在内的技术能力,赋能 AIoT 行业。阿里巴巴集团副总裁库伟担任 AIoT 创新中心负责人。 据透露,该创新中心将设立三大创新实验室、一个质量监控中心,同时启动城市和产业带的实验基地规划。其中,杭州将成为首个示范试点城市,慈溪、嵊州的家电产业带成为首批规划基地。 此前,天猫精灵曾宣布在今年投入 100 亿,建立 AIoT 及内容生态。库伟表示,创新中心的成立将帮助中小家电制造企业更低成本实现智能化升级,成为全行业的“加速器”,并面向未来 5G 和 AIoT 时代进行产品研发和技术探索。

July 8, 2020 · 1 min · jiezi

阿里-P8-以阿里正式编制为诱惑欲包养女生

技术编辑:宗恩丨发自 SiFou Office SegmentFault 思否报道丨公众号:SegmentFault 近几年国内大厂的高级别员工成了人们眼中羡慕的对象,BAT 三家尤甚。一提到阿里 P8 大家心中的印象就是年薪百万的高学历 Team Leader,这些人往往不仅能力极强还拥有不错的家庭背景,如果从应届生进入阿里要在 6 到 10 年才有可能达到这个层级,其中不知淘汰了多少人。 互联网上流传着阿里 P 路线(专业人才路线)薪资的构成: 阿里薪资结构一般是 12+1+3=16 薪,年终奖为 0-6 个月薪资,其中大约 90% 人可拿到相当于 3 个月薪水的年终奖。工作满 2 年级别晋升到 P6 之后会有股票。随着阿里集团的股价的水涨船高,这部分也是不容小觑的。总体而言,阿里 P8 级别的员工年入 170W 的这个数字是基本可信的。 怎么样你看过之后是不是心中也满满的羡慕呢?不过也有一些新闻让人对这些「P8」们大跌眼镜,近日就有网友爆料,一名上海交大毕业的博士,定级 P8 入职阿里三个月后,以招聘的名义招生活助理,许诺给妹子正式编制,并开出每月 1.6 万元包养费用。妹子拒绝后让闺蜜试探了一波,P8 竟然问妹子有没有被包养的经历? 现在这位阿里 P8 没有收获到「私人助理」,却收获到了网友和阿里内网员工的口水,从尚未确认的消息得知他也已经被阿里开除。 以下为 P8 和妹子的对话: P8 是何人经过一番查找,小编终于找到这名 P8 的个人信息,他就是 2017年毕业于上海交大的李博士,仅仅工作三年,就已经跳槽五家公司,先后就职于欢聚时代、YY语音、虎牙、B站和阿里。 在知网上还可以看到这位 P8 李博士的博士论文被下载了94次。 内网的回应 可以看到这位 P8 在阿里内网大火了一把,值得注意的是他不仅违背了道德,更触犯了法律底线。试图通过公司员工编制资源谋取私利,利用公司资源为自己筹划公司做主播和猎头业务,这两项「罪名」可能会让其接受法律的制裁。 最后值得一提的是微博在这次事件中再一次让网友们失望,有众多网友发现#阿里P8招聘私人助理#的热搜被删了,有网友表示阿里的公关真是厉害,微博也真是不长记性。 ...

June 18, 2020 · 1 min · jiezi

为什么-K8s-集群达万级规模阿里购物体验还能如丝顺滑

阿里妹导读:本文主要介绍阿里巴巴和蚂蚁金服在大规模生产环境中落地 Kubernetes 的过程中,在集群规模上遇到的典型问题以及对应的解决方案,内容包含对 etcd、kube-apiserver、kube-controller 的若干性能及稳定性增强,这些关键的增强是阿里巴巴和蚂蚁金服内部上万节点的 Kubernetes 集群能够平稳支撑 2019 年天猫 618 大促的关键所在。文内藏福利,向下滑滑滑,免费课程立刻领取~背景从阿里巴巴最早期的 AI 系统(2013)开始,集群管理系统经历了多轮的架构演进,到 2018 年全面的应用 Kubernetes ,这期间的故事是非常精彩的。这里忽略系统演进的过程,不去讨论为什么 Kubernetes 能够在社区和公司内部全面的胜出,而是将焦点关注到应用 Kubernetes 中会遇到什么样的问题,以及我们做了哪些关键的优化。 在阿里巴巴和蚂蚁金服的生产环境中,容器化的应用超过了 10k 个,全网的容器在百万的级别,运行在十几万台宿主机上。支撑阿里巴巴核心电商业务的集群有十几个,最大的集群有几万的节点。在落地 Kubernetes 的过程中,在规模上面临了很大的挑战,比如如何将 Kubernetes 应用到超大规模的生产级别。 罗马不是一天就建成的,为了了解 Kubernetes 的性能瓶颈,我们结合阿里和蚂蚁的生产集群现状,估算了在 10k 个节点的集群中,预计会达到的规模: 20w pods100w objects 我们基于 Kubemark 搭建了大规模集群模拟的平台,通过一个容器启动多个(50个)Kubemark 进程的方式,使用了 200 个 4c 的容器模拟了 10k 节点的 kubelet。在模拟集群中运行常见的负载时,我们发现一些基本的操作比如 Pod 调度延迟非常高,达到了惊人的 10s 这一级别,并且集群处在非常不稳定的状态。 当 Kubernetes 集群规模达到 10k 节点时,系统的各个组件均出现相应的性能问题,比如: etcd 中出现了大量的读写延迟,并且产生了拒绝服务的情形,同时因其空间的限制也无法承载 Kubernetes 存储大量的对象;API Server 查询 pods/nodes 延迟非常的高,并发查询请求可能地址后端 etcd oom;Controller 不能及时从 API Server 感知到在最新的变化,处理的延时较高;当发生异常重启时,服务的恢复时间需要几分钟;Scheduler 延迟高、吞吐低,无法适应阿里业务日常运维的需求,更无法支持大促态的极端场景。etcd improvements为了解决这些问题,阿里云容器平台在各方面都做了很大的努力,改进 Kubernetes 在大规模场景下的性能。 ...

October 17, 2019 · 5 min · jiezi

超大规模商用-K8s-场景下阿里巴巴如何动态解决容器资源的按需分配问题

作者 | 张晓宇(衷源) 阿里云容器平台技术专家 关注『阿里巴巴云原生』公众号,回复关键词“1010”,可获取本文 PPT。 导读:资源利用率一直是很多平台管理和研发人员关心的话题。本文作者通过阿里巴巴容器平台团队在这一领域的工作实践,整理出了一套资源利用提升的方案,希望能够带给大家带来一些讨论和思考。 引言 不知道大家有没有过这样的经历:当我们拥有了一套 Kubernetes 集群,然后开始部署应用的时候,我们应该给容器分配多少资源呢? 这很难说。由于 Kubernetes 自己的机制,我们可以理解容器的资源实质上是一个静态的配置。 如果我发现资源不足,为了分配给容器更多资源,我们需要重建 Pod; 如果分配冗余的资源,那么我们的 worker node 节点似乎又部署不了多少容器。 试问,我们能做到容器资源的按需分配吗?接下来,我们将在本次分享中和大家一起进行探讨这个问题的答案。 生产环境中的真实挑战 首先请允许我们根据我们的实际情况抛出我们实际生产环境的挑战。或许大家还记得 2018 年的天猫双 11,这一天的总成交额达到了 2135 亿。由此一斑可窥全豹,能够支撑如此庞大规模的交易量背后的系统,其应用种类和数量应该是怎样的一种规模。 在这种规模下,我们常常听到的容器调度,如:容器编排,负载均衡,集群扩缩容,集群升级,应用发布,应用灰度等等这些词,在被“超大规模集群”这个词修饰后,都不再是件容易处理的事情。规模本身也就是我们最大的挑战。如何运营和管理好这么一个庞大的系统,并遵循业界 dev-ops 宣传的那样效果,犹如让大象去跳舞。但是马老师曾说过,大象就该干大象该干的事情,为什么要去跳舞呢。 Kubernetes 的帮助 大象是否可以跳舞,带着这个问题,我们需要从淘宝、天猫等 APP 背后系统说起。 这套互联网系统应用部署大致可分为三个阶段,传统部署,虚拟机部署和容器部署。相比于传统部署,虚拟机部署有了更好的隔离性和安全性,但是在性能上不可避免的产生了大量损耗。而容器部署又在虚拟机部署实现隔离和安全的背景下,提出了更轻量化的解决方案。我们的系统也是沿着这么一条主航道上运行的。假设底层系统好比一艘巨轮,面对巨量的集装箱---容器,我们需要一个优秀的船长,对它们进行调度编排,让系统这艘大船可以避开层层险阻,操作难度降低,且具备更多灵活性,最终达成航行的目的。 理想与现实 在开始之初,想到容器化和 Kubernetes 的各种美好场景,我们理想中的容器编排效果应该是这样的: 从容:我们的工程师更加从容的面对复杂的挑战,不再眉头紧锁而是更多笑容和自信; 优雅:每一次线上变更操作都可以像品着红酒一样气定神闲,优雅地按下执行的回车键; 有序:从开发到测试,再到灰度发布,一气呵成,行云流水; 稳定:系统健壮性良好,任尔东西南北风,我们系统岿然不动。全年系统可用性 N 多个 9; 高效:节约出更多人力,实现“快乐工作,认真生活”。 然而理想很丰满,现实很骨感。迎接我们的却是杂乱和形态各异的窘迫。 杂乱,是因为作为一个异军突起的新型技术栈,很多配套工具和工作流的建设处于初级阶段。Demo 版本中运行良好的工具,在真实场景下大规模铺开,各种隐藏的问题就会暴露无遗,层出不穷。从开发到运维,所有的工作人员都在各种被动地疲于奔命。另外,“大规模铺开”还意味着,要直接面对形态各异的生产环境:异构配置的机器、复杂的需求,甚至是适配用户的既往的使用习惯等等。 除了让人心力交瘁的混乱,系统还面临着应用容器的各种崩溃问题:内存不足导致的 OOM,CPU quota 分配太少,导致进程被 throttle,还有带宽不足,响应时延大幅上升...甚至是交易量在面对访问高峰时候由于系统不给力导致的断崖式下跌等等。这些都使我们在大规模商用 Kubernetes 场景中积累非常多的经验。 直面问题 稳定性 问题总要进行面对的。正如某位高人说过:如果感觉哪里不太对,那么肯定有些地方出问题了。于是我们就要剖析,问题究竟出在哪里。针对于内存的 OOM,CPU 资源被 throttle,我们可以推断我们给与容器分配的初始资源不足。 ...

October 15, 2019 · 3 min · jiezi

蚂蚁金服OceanBase挑战TPCC丨TPCC基准测试之链路层优化

蚂蚁金服自研数据库 OceanBase 登顶 TPC-C 引起业内广泛关注,为了更清楚的展示其中的技术细节,我们特意邀请 OceanBase 核心研发人员对本次测试进行技术解读,共包括六篇: 1)TPC-C基准测试介绍2)OceanBase如何做TPC-C测试3)TPC-C基准测试之SQL优化4)TPC-C基准测试之数据库事务引擎的挑战5)TPC-C基准测试之存储优化6)TPC-C基准测试之链路层优化 导语在 TPC-C 标准定义中,测试系统分为 RTE(Remote Terminal Emulator)和 SUT 两部分。在实际的 TPC-C 测试流程中,不只是对 DB 端能力的考验,对链路中的所有组件都存在极大的资源消耗和压力。以这次 6088万 tpmC 测试结果看,我们一共在 64 台 64C128G 的云服务器上运行了 960 个 RTE 客户端,来模拟总计 47942400 个用户 Terminal,最后还需要基于这么多 RTE 统计结果进行一致性和持久化审计验证。而 SUT 又拆分为三部分:WAS(Web Application Server) 、OceanBase Proxy(OBProxy) 和 OceanBaseServer(OBServer)。RTE 的请求到 WAS,然后 WAS 通过 OceanBase 客户端来访问 OBProxy,OBProxy 会将请求转发到后端 OceanBase 集群中最佳的 ObServer 去执行请求。WAS 和 OBProxy 是 RTE 和 OBServer 之间的桥梁,这个桥梁对于承载压力起着至关重要的作用。本次TPC-C 基准测试中,OceanBase 访问链路上主要涉及两个组件: ODBC接口及驱动 ...

October 14, 2019 · 2 min · jiezi

阿里巴巴高级技术专家章剑锋大数据发展的-8-个要点

笔者从 2008 年开始工作到现在也有 11 个年头了,一路走来都在和数据打交道,做过大数据底层框架内核的开发(Hadoop,Pig,Tez,Spark,Livy),也做过上层大数据应用开发(写 MapReduce Job 做 ETL ,用 Hive 做 Ad hocquery,用 Tableau 做数据可视化,用 R 做数据分析)。今天我想借此机会和大家聊聊我所理解的大数据现状和未来。 首先让我们来聊聊什么是大数据。大数据这个概念已经出来很多年了(超过10年),但一直没有一个准确的定义(也许也并不需要)。数据工程师(DataEngineer)对大数据的理解会更多从技术和系统的角度去理解,而数据分析人员(Data Analyst)对大数据理解会从产品的角度去理解,所以数据工程师(Data Engineer) 和数据分析人员(Data Analyst)所理解的大数据肯定是有差异的。我所理解的大数据是这样的,大数据不是单一的一种技术或者产品,它是所有与数据相关的综合学科。看大数据我会从 2 个维度来看,一个是数据流的维度(下图的水平轴),另外一个是技术栈的维度(下图的纵轴)。 其实我一直不太喜欢张口闭口讲“大数据”,我更喜欢说“数据”。因为大数据的本质在于“数据”,而不是“大”。由于媒体一直重点宣扬大数据的“大”,所以有时候我们往往会忽然大数据的本质在“数据”,而不是“大”,“大”只是你看到的表相,本质还是数据自身。 在我们讲清楚大数据的含义之后,我们来聊聊大数据目前到底处在一个什么样的位置。从历史发展的角度来看,每一项新技术都会经历下面这样一个技术成熟度曲线。 当一项新技术刚出来的时候人们会非常乐观,常常以为这项技术会给人类带来巨大的变革,对此持有过高的期望,所以这项技术一开始会以非常快的速度受到大家追捧,然后到达一个顶峰,之后人们开始认识到这项新技术并没有当初预想的那么具有革命性,然后会过于悲观,之后就会经历泡沫阶段。等沉寂一定阶段之后,人们开始回归理性,正视这项技术的价值,然后开始正确的应用这项技术,从此这项技术开始走向稳步向前发展的道路。(题外话,笔者在看这幅图的时候也联想到了一个男人对婚姻看法的曲线图,大家自己脑补)。 从大数据的历史来看,大数据已经经历了 2 个重要阶段两个重要阶段是指过高期望的峰值和泡沫化的底谷期 。现在正处于稳步向前发展的阶段。我们可以从 googletrend 上 big data 的曲线就能印证。大数据大约从 2009 年开始走向人们的视野,在 2015 年左右走向了顶峰,然后慢慢走向下降通道(当然这张曲线并不会和上面这张技术成熟度曲线完全拟合,比如技术曲线处在下降通道有可能会使讨论这项技术的搜索量增加)。 接下来我想讲一下我对大数据领域未来趋势的几个判断。 数据规模会继续扩大,大数据将继续发扬光大前面已经提到过,大数据已经度过了过高期望的峰值和泡沫化的底谷期,现在正在稳步向前发展。做这样判断主要有以下 2 个原因: 上游数据规模会继续增长,特别是由于 IOT 技术的发展和成熟,以及未来 5G 技术的铺开。在可预测的未来,数据规模仍将继续快速增长,这是能够带动大数据持续稳定向前发展的基本动力。下游数据产业还有很多发展的空间,还有很多数据的价值我们没有挖掘出来。虽然现在人工智能,区块链抢去了大数据的风口位置,也许大数据成不了未来的主角,但大数据也绝对不是跑龙套的,大数据仍将扮演一个重要而基础的角色。可以这么说,只要有数据在,大数据就永远不会过时。我想在大部分人的有生之年,我们都会见证大数据的持续向上发展。 数据的实时性需求将更加突出之前大数据遇到的最大挑战在于数据规模大(所以大家会称之为“大数据”),经过工业界多年的努力和实践,规模大这个问题基本已经解决了。接下来几年,更大的挑战在于速度,也就是实时性。而大数据的实时性并不是指简单的传输数据或者处理数据的实时性,而是从端到端的实时,任何一个步骤速度慢了,就影响整个大数据系统的实时性。所以大数据的实时性,包括以下几个方面: 快速获取和传输数据快速计算处理数据实时可视化数据在线机器学习,实时更新机器学习模型目前以 Kafka,Flink 为代表的流处理计算引擎已经为实时计算提供了坚实的底层技术支持,相信未来在实时可视化数据以及在线机器学习方面会有更多优秀的产品涌现出来。当大数据的实时性增强之后,在数据消费端会产生更多有价值的数据,从而形成一个更高效的数据闭环,促进整个数据流的良性发展。 大数据基础设施往云上迁移势不可挡目前IT基础设施往云上迁移不再是一个大家还需要争论的问题,这是大势所趋。当然我这边说的云并不单单指公有云,也包括私有云,混合云。因为由于每个企业的业务属性不同,对数据安全性的要求不同,不可能把所有的大数据设施都部署在公有云上,但向云上迁移这是一个未来注定的选择。目前各大云厂商都提供了各种各样的大数据产品以满足各种用户需求,包括平台型(PAAS) 的 EMR ,服务型 (SAAS) 的数据可视化产品等等。 大数据基础设施的云化对大数据技术和产品产生也有相应的影响。大数据领域的框架和产品将更加 Cloud Native 。 ...

October 14, 2019 · 2 min · jiezi

如何解决90的问题10位阿里大牛公布方法

世界在变,技术在变,需求在变。 唯一不变的是变化。 面对变化,技术人如何在不确定性的世界中寻找最优解? 查理芒格说:“掌握一定数量的思维模型,能解决这世上90%的问题。”与其在重复的“增、删、改、查”中消耗能量,不如培养举一反三的能力。在不确定的社会中用尽可能小的消耗,找到最优解决途径,做尽可能多的事情,撬动尽可能大的资源。 今天,阿里技术公布一波阿里P8、P9技术大牛的思维模型,将他们的思维模式呈现出来。你可以在阿里资深专家职业生涯的真切感悟中,找到应对危机的最佳方法。《阿里工程师的自我修养》现已正式公开,可免费下载阅读。) 从入门到进阶,从普通员工到主管,从知识到落地,从量的积累到质的飞跃,在不确定性的世界中,你遇到的种种难题,阿里工程师正在探索着最优解。 3大思维、10个技巧、10年感悟……每经过一次大的战役,阿里工程师都会复盘、沉淀,这些经验值得细品。 与其临渊羡鱼,不如退而结网。 在不确定性的世界中,如果,你还心怀梦想,偶尔停一停,修炼大脑、培养思维。停下来不是放弃,而是为了走得更远。就像,蹲下来后才能跳得更高,对吗? 本文作者:阿里妹阅读原文 本文来自云栖社区合作伙伴“阿里技术”,如需转载请联系原作者。

September 19, 2019 · 1 min · jiezi

阿里巴巴公布新六脉神剑认真生活快乐工作

获悉,阿里巴巴董事局主席马云今日卸任,阿里发布新「六脉神剑」(详见下图)。此外,阿里公布,公司的愿景是到 2036 年,服务 20 亿消费者,创造 1 亿就业机会,帮助 1000 万家中小企业盈利;公司的使命是让天下没有难做的生意。 客户第一,员工第二,股东第三因为信任,所以简单唯一不变的是变化今天的最好表现是明天的最低要求此时此刻非我莫属认真生活,快乐工作延伸阅读:阿里巴巴「六脉神剑」背后的故事新闻来源:新浪微博@阿里巴巴

September 10, 2019 · 1 min · jiezi

阿里巴巴新六脉神剑背后的故事

“新六脉神剑”价值观由六句阿里土话组成,每一句话背后都有一个阿里发展历史上的小故事,表达了阿里人与世界相处的态度。 客户第一,员工第二,股东第三2006年,阿里巴巴B2B业务上市前夕,马云首次公开提出“客户第一,员工第二,股东第三”。有投行分析师当即表示后悔买入阿里巴巴的股票。但马云认为:我们要选择的是相信我们理念的钱。 2014年9月19日,八位客户代表在纽交所敲响了阿里巴巴的开市钟。他们当中既有淘宝店主、云客服、快递员、“淘女郎”和资深的“剁手党”等,阿里巴巴合伙人、员工和投资人一起站在台下,向敲钟人致以掌声。 仪式刚刚结束,美国财经媒体CNBC的《华尔街直播室》(Squawk on the Street)专访马云,第一个问题就直指华尔街最难理解的“股东第三”。主持人大卫·法柏(David Faber)问:“在过去几年接受采访时,你多次谈到客户第一,员工第二,股东第三。今天你拥有了更多的股东,这是否会彻底改变你看待公司或经营公司的方式?” 马云回答:“我始终坚信客户第一,员工第二,股东第三。” 他说,“今天我们融到的不是钱,而是来自人们的信任。数以百万计的小企业、众多的股东,我对此感到非常荣幸、非常兴奋。我想到未来五到十年的责任,是如何让这些股东高兴。但最重要的是,让站在台上敲钟的那些人——我们的客户成功。如果他们成功,我们所有人都会高兴。这就是我所坚信的东西。” 因为信任,所以简单2004年,为了解决淘宝上陌生买卖双方之间的信任问题,支付宝应运而生。支付宝首创“担保交易”的方式,即托管买家支付的资金,在买家确认收货无误后支付给卖家。这成为中国网络交易信任的起点。 起初,不少用户对线上交易怀有担忧,担心其安全性。为解决用户的后顾之忧,2005年2月,支付宝推出了“你敢付,我敢赔”的消费者保障计划,承诺如果账户被盗将进行全额赔付,打消了用户的疑虑。15年来,从快捷支付、面向小微商家的纯信用贷款到芝麻信用、区块链溯源技术等,支付宝每一个创新产品和服务的推出,都与信任有关。 世界上最宝贵的是信任,最脆弱的也是信任。阿里巴巴成长的历史是建立信任、珍惜信任的历史。你复杂,世界便复杂;你简单,世界也简单。阿里人真实不装,互相信任,没那么多顾虑猜忌,问题就简单了,事情也因此高效。 唯一不变的是变化1999年,马云赴硅谷为刚刚创立不久的阿里巴巴寻求融资。按照惯例,寻求融资必须提供BP(即business plan,商业计划书)。但马云认为,对变化纷繁的互联网而言,做一份厚厚的所谓详尽“计划书”反而是忽悠和欺骗。结果是,因为没有天花乱坠的BP,37家硅谷的风险投资拒绝了阿里巴巴。马云随即决定把BP放在一边,大胆宣布“I never plan”(我永远不做计划)。互联网世界瞬息万变,适应未来最好的方式就是创造未来。 从那时起,阿里人就坚信,唯一不变的是变化。2003年诞生的支付宝开启了移动支付的先河;2009年阿里云成立,让阿里成为国内最早布局云计算的平台型企业;2016年底,阿里提出包括新零售在内的“五新”战略,揭开零售业数字化革命的大幕。阿里巴巴早已不是等风来,也不是迎风走,而是做“造风者”。 无论你变不变化,世界在变,客户在变,竞争环境在变。因此,阿里巴巴要求每一位阿里人心怀敬畏和谦卑。改变自己,创造变化,都是最好的变化。拥抱变化是阿里巴巴最独特的DNA。 今天最好的表现是明天最低的要求2001年1月,阿里巴巴还没有找到成熟的商业模式,营业收入波动剧烈,而此时,账户里只剩下700万美元,按照每月100万美元的开支,阿里巴巴最多只能坚持半年。 在生死边缘,阿里巴巴受到航空公司的会员积分体系启发,创造性地设计出了金银铜牌考核制度,销售员当月的业绩决定了其下个月的提成。这套制度激励了阿里人不断追求卓越,以更高的要求为客户创造价值,由此培养出的销售团队被誉为“中供铁军”。2002年,阿里巴巴实现全年盈利。 在阿里巴巴最困难的时候,正是这样的精神,帮助它渡过难关,活了下来。“今天最好的表现是明天最低的要求”意味着在身处逆境时懂得自我激励,在身处顺境时敢于设定具有超越性的目标(dream target)。面向未来,不进则退。阿里人仍要敢想敢拼,自我挑战,自我超越。 此时此刻,非我莫属1999年9月14日,阿里巴巴在《钱江晚报》上发了第一条招聘广告。上面的广告语是:If not now,when?If not me,who?此时此刻,非我莫属。后来,这句话成了阿里巴巴的第一句土话。它体现了阿里人对使命的信念和“舍我其谁”的担当。 社会责任是阿里巴巴的核心竞争力。从一个创业公司逐渐成长为一个数字商业的新经济体,阿里巴巴为社会担当的初心从未改变,因为一群有激情、有担当、有使命感的阿里人汇聚在一起,这家企业始终保持温度,将自身发展融入社会发展,不断地通过技术和创新,解决社会问题、推动社会进步。 每一位阿里人必须要有“家国情怀”和“世界担当”,只有这样,阿里巴巴才会赢得尊重。 认真生活,快乐工作2009年2月17日,马云在一封致全体阿里人的邮件中,提出“认真生活,快乐工作”的理念。 我们认为,工作只是一阵子,生活才是一辈子。 工作属于你,而你属于生活,属于家人。 像享受生活一样快乐工作,像对待工作一样认真地生活。 只有认真对待生活,生活才会公平地对待你。 阿里因你而不同,家人因你而骄傲。 每个人都有自己的工作和生活态度,阿里巴巴尊重每个阿里人的选择。 我们把这条价值观的考核,留给生活本身。 新闻来源:阿里巴巴官方微信

September 10, 2019 · 1 min · jiezi

阿里高可用架构团队招新提前批不影响秋招社招也收

团队介绍:高可用架构团队是阿里巴巴保障稳定性的护航舰队,提供的高可用架构基础设施直面双11洪峰流量,包括全链路压测、容量规划、准入控制、限流降级、流量调度等;通过攻防演练、环境隔离、业务对账等常态稳定性保障技术,提前暴露风险,低成本发现系统隐患;通过同城双活、异地多活、单元化体系建设,支撑阿里巴巴电商链路的分钟级故障切换,保证业务稳定运行。 目前团队的技术,已经通过开源和商业化渠道进行外部输出。开源框架包括Sentinel、ChaosBlade,商业化产品包括PTS、AHAS,帮助云原生用户低成本提升高可用能力。 如果对纯技术感兴趣,可以直接成为顶级开源项目的核心开发。如果对技术结合实际场景感兴趣, 可以深度参与多个高可用领域系统的建设, 一起探索世界独一无二复杂高并发的双十一高可用、AIOPS等场景如果对产品、业务感兴趣,可以投身于将我们的高可用系统做成产品,推动实现全世界的“互联网+”趋势如果对云感兴趣,可以参与到性能压测、应用高可用和异地多活等云产品建设中来,感受与 AWS、Azure 等全球领先技术的追云逐浪【团队开源产品】限流降级 Sentinel(https://github.com/alibaba/Se...)故障演练 ChaosBlade(https://github.com/chaosblade...) 【团队商业化产品】性能测试服务 PTS(https://www.aliyun.com/produc...)应用高可用服务 AHAS(https://www.aliyun.com/produc...) 工作地点:杭州 招聘岗位:JAVA 开发工程师Go 开发工程师C++ 开发工程师招聘要求:有技术热情,计算机基础良好,熟练使用 Java/C++/Go/C 至少一门语言;拥有良好的 Linux 系统认知和实践经验,掌握初步的系统问题分析和排查能力;具备强烈的进取心和责任感,有较强的学习能力和探索精神,面对压力敢于迎难而上;有较强的逻辑思维能力和表达能力,有良好的团队合作精神;有大赛获奖经验、发表优秀论文、开源项目经验者优先。校招和社招简历投递方式请发送简历, 校招文件命名为 [姓名-学校-联系方式-岗位] ,社招 [姓名-联系方式-岗位]到 jiuli.qk@alibaba-inc.com,有疑问也可以直接发邮件。 Q&A提前批是否会影响正式秋招?提前批如果表现不佳, 对正式秋招也无任何影响, 秋招正式开始时仍然可继续投递阿里其它团队。对毕业时间有没有什么要求?国内院校2020年毕业, 海外院校2020年11月前毕业。

June 28, 2019 · 1 min · jiezi

Spring-Cloud-Alibaba-Nacos

越来越多的读者在和我交流关于Spring Cloud Alibaba的种种事宜,甚至于在一次面试中,一半时间都在聊这个话题。所以,本着对技术钻研的热情,对Spring Cloud Alibaba进行了一番研究。 在这里,并不想高谈阔论,也不想预言未来,只是挑选了几个从阿里巴巴中间件团队内脱胎出来的开源组件,对于解决实际业务问题有所裨益。 一、背景先来说说大背景。 现在,很明显的一个趋势就是:微服务。 这个趋势的底层驱动力就来源于分布式系统的普及,而微服务的各个特性是如今大大小小的企业无法拒绝的诱惑。 然后,用上了微服务的架构风格,用Spring Cloud,或者Dubbo搭了一套脚手架,就开始干起来了。 接下来,一众小公司画完了大饼之后,发现自己根本吃不下。这就是典型的落后劳动力与先进生产力的尖锐矛盾。这个时候,返璞归真的想法是不能有了,重构代价太大。 当然,哪里有问题,哪里就有商机。各大XX云厂商经过一系列包装之后,用“云原生(Cloud Native)”的新概念粉墨登场。 Spring Cloud Alibaba就是其中之一。 这个概念的一个核心价值就是:平滑上云,赋能运维。最明显的业务表象就是,会提供一套Open API,甚至是贴心的提供一个可视化控制台,傻瓜式的那种。 二、从NACOS说起这是一颗耀眼的掌上明珠,迅速引起了我的注意。 按照套路,分为两讲。其一讲述NACOS的功能特性,及其使用,再者就是更深入一步,看看大厂的攻城狮们写的代码。 本文所使用的版本是NACOS 1.0.0,由于此版本还是第一个NACOS正式版,NACOS正处在飞速发展阶段,本文的一些内容可能会不适用于以后的版本,请读者自行辨别。 NACOS解决两个核心问题:动态配置管理,服务注册发现。 兼容性方面,除了支持自家的Dubbo,还对Spring Cloud,Kubernetes,Istio有所兼容。 对照以上的全景图,现在的NACOS还有一段距离,但是并不遥远。 至此,不说道说道Eureka,都有点过意不去了。 我用下来的体验是:NACOS完全可以替代Eureka了。 江山代有才人出,这是必然的结果。 在“云原生”的大背景之下,NACOS顺利成章的推出了Console,将触角进一步延伸至服务的精细化管理。 当然,不排除Eureka也在憋大招。 再说说动态配置的特性。 当然,NACOS略胜一筹,可替代Spring Cloud Config了。 原先在Git/SVN上托管的配置项,都可以在Console上统一管理了。 如果想先睹为快,可以接下着往下读。如果想再多了解一些,可以直接跳过这部分,阅读下一个小节。 可以把NACOS理解成是一个中心化的服务,这在阿里系的架构中屡见不鲜。所以,必须得先启动这个服务。 有两个办法:其一是直接clone源码,使用maven打包。第二个办法是直接下载GitHub release出来的压缩包。 推荐后者。 方法1:主要运行以下命令: git clone https://github.com/alibaba/nacos.git cd nacos/ mvn -Prelease-nacos clean install -U经过一段时间的构建过程,在./distribution/target目录下有我们想要的压缩包。 方法2:进入https://github.com/alibaba/nacos/releases,找到压缩包,下载。 为了演示,我们先用单机模式启动。 Windows环境下: startup.cmd -m standalone一切就绪的话,访问http://127.0.0.1:8848/nacos/index.html,使用nacos/nacos登录。 接下来,随便逛逛。 三、重要的概念为了避免在Console中迷失自我,有必要先阐述几个重要的概念。 这张图很重要。表述了namespace、group和service/dataId的包含关系。 NACOS给的最佳实践表明,最外层的namespace是可以用于区分部署环境的,比如test,uat,product等。同时,也有一个商业利用价值:多租户。以namespace为单位,给用户开辟使用空间。 其它两个领域模型不用多解释了,见名知意。其目的也非常明显,就是为了能够逻辑上区分两个目标对象。 默认情况下,namespace=public,group=DEFAULT_GROUP。 明白了这个数据模型后,可以稍微玩转一下Console了,比如新建若干个namespace: ...

June 23, 2019 · 2 min · jiezi

阿里巴巴前端暑期实习面经

前言先说一下为什么要去面试,因为之前跟学长吃饭的时候聊起来,大三这时候找一个暑期实习是个好机会,并且我在学校拿的奖也都围绕着前端来的。作为一个想知道自己处于什么水平的人来说,肯定要投大厂了,于是选择了阿里巴巴的前端开发,在3月19日阿里大佬将简历内推至校园招聘系统。 一面(57分钟)在完善简历的第二天,3月20日晚上20:20,便有阿里巴巴的座机号打来进行电话面试,没想到来的这么快,当时一点准备的东西都没有,脑袋是懵的。 简单介绍一下你自己你所学的专业在班中的水平是怎样的印象深刻的一个项目github开源项目的90+ star怎么来的css盒模型css实现垂直居中jQuery的dollar($)是怎么实现的jQuery的ajax原理跨域问题怎么解决jsonp的原理js的事件绑定document.ready和window.onload的区别有什么问题想问我的Ps.面试结尾时直接说面试过了,还有一些小细节忘记了...二面(29分钟)3月25日晚上21:28,浙江杭州的私人手机号打来进行电话面试。 简单介绍一下你自己为什么选择做前端(我的专业是设计)说说你的项目经历和技术难点 ...围绕项目的技术点深入展开...围绕项目的技术点模拟其他场景如何实现或解决es6和es5的区别let和var的区别js怎么解决继承问题如果有一个helloworld字符串,怎么反转小程序相比h5有哪些优势有哪些跨平台开发的框架有什么问题想问我的Ps.还有一些小细节忘记了...三面(31分钟)3月31日晚上19:31,二面的面试官打来进行电话面试,深入说一下你的两个比赛所做的项目,面试官用STAR原则引导着我把项目深入的说出来,这点很棒!其实在简历和面试中也应该用STAR原则来说明!最后是有什么问题想问我的,没有问基础。 Ps.三面完成之后我加了面试官的微信,跟我说后面还会有交叉面,让我多看一下基础,例如:事件,闭包,盒模型,vue、react的数据绑定,虚拟DOM等等 交叉面(32分钟)4月2日晚上18:12,天猫技术部的面试官打来进行电话面试,自我介绍+印象深刻的项目,针对项目问一些问题,有什么问题想问我的,没有问基础。 Ps.项目问的非常有深度,这点要注意,不要在简历上面给自己挖坑! hr面(43分钟)4月4日中午11:10,hr小姐姐打来进行电话要进行视频面试,用的是阿里自家的视频会议系统,聊的内容与牛客网中的阿里hr面试的问题基本相同。 感受阿里的面试官态度真的超棒!!!面试最后可以问一下面试官我之后该怎样去学习,哪方面比较欠缺,大佬们会对你进行一个总结和建议,让你针对性的去学习薄弱的部分。疯狂打call!!!通过这次面试之后,发现自己对前端的了解仅限于面向文档、Google、Stack Overflow,对于JavaScript的基础和所做项目的技术深度了解非常差,算法更是一片空白。不管面试过不过,未来还是要加油啦! 最后2019.04.12,23:57。邮件+短信通知,发来阿里录用意向书,没想到只面试了阿里,还能走到最后,运气爆炸!2019.04.22,11:54。hr小姐姐打电话确定入职时间和流程,offer call终于来啦~~~ 另外推荐一个前端大佬给我的面试图谱,基本上js的基础面试问题都在里面包含了!真后悔面试前没好好看一下!!!点这里>>> InterviewMap 还有另外一个面经,也是超棒的!点这里>>> 中高级前端大厂面试秘籍,为你保驾护航金三银四,直通大厂(上)

June 6, 2019 · 1 min · jiezi

2019阿里巴巴技术面试题集锦含答案

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次整体放出。并通过这些笔试真题开放阿里巴巴工作机会,让更多的开发者加入到阿里这个大平台。 这一次,不仅是知识的收获,还将间接地与技术大牛们做了直观的沟通,了解他们的出题思路与考察要点,并加以消化吸收,这对自己技术能力本身就是一种极大的提升。走上编程之路,不断丰富自己方能与世接轨,努力做最优秀的自己。 点下方阅读原文下载试题及答案! 本文作者:山哥在这里阅读原文 本文为云栖社区原创内容,未经允许不得转载。

June 5, 2019 · 1 min · jiezi

论程序员的自我修养我在阿里干了十年开发

究竟是努力重要,还是选择重要?资深阿里技术人毕玄师兄有着自己的见解。 毕玄,阿里巴巴基础设施事业群负责人,资深技术专家。打造了阿里目前使用最为广泛的核心中间件之一的服务框架;设计并带领团队实现了阿里技术发展史上具有里程碑意义的异地多活。 文章不长,但值得品味。师兄的文风就和他的代码一样,简洁洗练。 2007年年底,我入职阿里。工作十年,我看到了各种各样的程序员,也看到了各种各样的成长路线,说说自己的一些观点吧。 第一阶段:拓展视野,择一深入 作为技术人员,在刚起步阶段时,首先需要拓宽自己的技术宽度,对自己所做的项目/产品所涉及的方方面面的技术都应该有所了解。 另外就是学习工程化,让自己真正具备开发商业软件的能力。 在工程化和知识宽度达到一定阶段后,根据自己的兴趣和工作内容有所选择,主要是加强在某一领域的技术深度。 第二阶段:自我评估,选择方向在技术深度达到了一定阶段后,需要对自己做出一个判断,就是更适合偏业务方向,还是偏基础技术方向发展。 偏业务方向的技术人员,我认为做的好的表现是: 1、对业务发展的未来有一定的预判,有商业敏感意识; 2、能对复杂的业务进行合理的抽象; 3、在系统的设计上能对未来业务的变化有一定的预留处理。 偏基础方向的技术人员,我认为做的好的表现是: 1、能结合业务的发展趋势对基础技术的方向有一定的预判,避免业务发展受到基础技术的拖累; 2、对业界的技术发展方向有自己的认知和判断; 3、在对应的基础技术领域有不错的技术深度。 同学们可以结合自身特质以及当前情况,做出一个选择,重点发展。 第三阶段:再进一步,你需要的是… 再往更高阶走的同学,通常就会出现一种新的角色,就是成为团队leader。
做为一个技术团队的leader,无论是业务的还是基础技术的,在技术能力上还是不能差的,尤其是判断力。 另外,作为一个团队leader,就意味着承担了团队方向的判断的职责。一个团队的方向基本会直接影响到团队所有成员的未来,以及所支持的业务的发展状况。 对于团队leader,我觉得最重要的能力就在方向的判断上,然后是根据方向的判断的组织建设(团队搭建,人才识别、培养、招募等)能力。
如果不是往leader方向,那基本就是往架构师方向为多。 作为架构师,除了至少一两个领域的深度外,对广度的要求非常高。无论是业务架构师,还是基础方向的架构师,领域的知识宽度是非常重要的,意味着能做多大范围的事。 还有同样就是判断能力,判断能力会体现在架构师在做设计时如何判断重点,在有限的资源和时间情况下如何做取舍,对未来如何让铺垫,以及对事情的技术控制能力。 一个好的架构师在技术风险的控制能力上必须是非常强的,例如一个强大的基础领域的架构师,应该是可以很好的控制跨多个专业技术领域的技术演进。 除了以上两类,还有一种是往专业技术深度领域方向走,例如内核、JVM等,这些领域是真正的需要非常深的技术功底才能hold住。还会有其他例如转型往业务产品方向等发展的就不在此展开了。 总结:兴趣是最强的自驱 总而言之,我觉得在整个成长过程中,兴趣是最为关键的。 “Follow your heart”非常重要,只有在足够的兴趣或梦想的情况下才能产生很强的自驱,没有足够的自驱我觉得在技术领域基本上是不可能走到高阶的。 除兴趣外,自身的优势也要判断清楚,每个不同的方向,我自己认为还是需要一定的天分的,而所谓的天分我觉得就是对个人优势的判断。 师兄说,兴趣和梦想是他成长中最强的自驱力 阿里巴巴的故事, 也是从一群年轻人长城上的梦想开始 在很难的时候, 是什么支撑着你逆风飞翔? 本文作者: 橙子阅读原文 本文来自云栖社区合作伙伴“阿里味儿”,如需转载请联系原作者。

May 28, 2019 · 1 min · jiezi

阿里技术男的成长史越想证明自己死得越快……

摘要: 要不要折腾一下?2008年5月的一天钱磊对新婚的妻子说,想去杭州发展,那里有个公司叫阿里巴巴……在上海工作8年后,身为部门经理的钱磊,管理着一家ERP公司的百十来号员工,“再往上爬就是老板和他儿子了……从这个领域的技术角度来讲算是做到了顶。”05年,钱磊就开始关注一家名字奇怪,做事也奇怪的公司。 要不要折腾一下?2008年5月的一天钱磊对新婚的妻子说,想去杭州发展,那里有个公司叫阿里巴巴…… 不扒层皮,你怎么知道自己是谁?告别上海的家和妻子,钱磊拖着行李箱独自来了杭州。 豪情万丈地入职,不料压根没有“蜜月期”……“刚来的那两周,时时刻刻觉得自己是不是要背着包回上海了……”钱磊并不回避刚入职时的囧境。“不舒服,压力大。在原来的公司里,我就是拍板的人,来了以后发现其它人都挺厉害的。端着架子放不下,总想着自己好歹也是在业内干了八九年的人,在这里被刚毕业一两年的工程师挑战……” 像他这样外地来杭的人,一般入职后就开始着手找房子,钱磊则是在宾馆里住了整整两周。 “那段经历对我来说还是蛮宝贵的,不是有句阿里土话嘛,当你觉得不舒服的时候,就是成长的时候。一个人四平八稳时,很难获得成长。” 主管搭了半条命,我学到了两个字“担当”“硬”着陆半个月后,扒了层“皮”的钱磊又被主管砸了块“石头”。 他们要用技术的手段彻底解决业务问题——为阿里巴巴最早的“产品后台”B2B的CRM做系统重构。这就好比开着汽车换引擎,百年老宅动地基…… “最重要的一个责任落在了我身上,研发框架。当时业务给我们的时间只有两个月。我用了两周时间搭框架、做论证。对于一个入职不久的新人来讲,挑战非常大。” 这种打仗的感觉,让钱磊渐渐忘记了自己是谁,业务在奔跑,系统延迟一天上线,影响就越大。每天几百人依靠这个系统工作。 “……我的主管被业务方总经理请去喝了两个小时的茶,他是把半条命都搭上了。做不好,没有退路。为了系统上线,当时还停了两天业务,对公司来说每一分钟都是损失。” 系统上线后虽然又经历了多次调试,但这是一次技术对业务的引领,而不是以往那样跟在后面打配合。因为框架的通用性还不错。直到现在,这套CRM还在使用。 把业务风险和技术风险搭在一起,并不是一个最好的选择,但却是当时唯一的选择。“我从主管身上学到了两个字‘担当’,这是一个管理者的气质。”  离开场景和业务的修炼都是伪命题接手用户权限中心的技术团队后,钱磊开始实打实地接触客户。在这几年里,他从偏技术的架构,转为偏业务的架构。“离业务太远,做出来的东西不是场景驱动,后续会有较多的问题。架构师别把自己修炼成仙了,给公司留下的却是与业务无关的垃圾。” 当时B2B的ICBU遇到了用户权益打包的问题,底层需要一个产品化的解决方案,“原来每年销售做完规划以后,技术同学都要算,会花掉多少人力去做一个新的产品配置。每次都靠研发同学冲到代码里面写一大堆。我们做了权益包功能后,只花几个小时就能配置好了。权益的产品化解决了ICBU的一个大问题。这又是一次技术引领业务的实例。 越想证明自己 死得越快两年前,钱磊调到共享平台,做会员和安全。他们团队从技术和产品端入手,解决了移动端与PC端会员整体链路兼容的问题。降低了一半与帐户相关的客服电话量。“现在帐户相关的客服量在7%左右,我们的目标是三年后降到0。” 从中间件到信息平台,再到共享平台,钱磊接的摊子越来越大,2015年,入职的第7年,他获得了一次提名晋升P10(研究员)的机会。 “面试的时候,自我感觉还不错,毕竟这几年也做了几件拿得出手的东西……”一个月后,钱磊却得知了自己晋升失败的消息。 “心里肯定有波动啊。”提起两年前的那次晋升面试,钱磊坦白:“我当时还请了两天假,出去放空了一下。想明白了几件事,第一,这几年我在阿里巴巴学到的东西是不是已经远远超出过去?第二,公司给予的平台和空间是不是足够我成长?第三,我为业务创造最大化的价值了吗?当我连续问了自己几个问题后,一下子就看透了。证明自己没什么大意思,给业务和用户创造价值才是最踏实的。越想证明自己的人,死得越快。” 善于总结才能获得加速度钱磊觉得自己这九年来做得最正确的事,就是坚持总结和反思。“我几乎每个月都会给自己留出做总结的时候,这个月自己和团队做了什么事,还有哪些提升空间。一定要趁热打铁记录下来,反思能让我保持头脑的清晰。 我觉得一个不善于总结的人,就是在吃老本,吃惯性,吃你的智商和知识。反思就是获得加速度的那个点。这是工作多年来,让我最受益的一个习惯。” 技术人千万别陷在技术的圈子里钱磊在自己的内网签名里写着“知行合一”四个字。身为技术男,在业务相关的书之外,他独爱王阳明和南怀瑾,“王阳明的知行合一,是我的座右铭,倾听内心的声音,力量强大。南怀瑾的《庄子》我读了好几遍,佩服他为人的格局。我觉得技术同学特别需要打开思路,千万不要局限在技术这个圈子里。要有自己丰富的阅历,去看很多东西,触类旁通,在某些时候形成链接,对你的技术思考、业务思考都有帮助。” 好奇心与三个Why带了七八年团队,最多的时候钱磊一年要参加50多场面试,有招聘新人的,也有晋升的。他选人用人会特别看重对方的心态: “我觉得心态非常重要,我们面试人的时候,一定要去看他的进取心和好奇心。我觉得这两者是面向未来的能力。 我会问三个Why:为什么这样做?这样做背后有什么问题和思考?你的业务价值支撑点是什么?我对技术同学的要求是:至少你自己做的事儿,如果到‘P7’这个级别,一定是问不倒的,一定经得起我问三个‘为什么’。如果你经不起问的话,我认为你做这个事要么是需求驱动,要么你就是一个吃瓜群众。我非常在意一个人的独立思考能力。” 一个计较KPI的主管肯定会带出一个计较KPI的团队 钱磊说自己的管理之道就是四个字“言传身教”,“首先,要做好自己,不要对别人要求很高,对自己要求很低。再有,你是业务驱动、客户价值驱动,还是KPI驱动?一个天天计较自己KPI的人,肯定带不出一个不计较KPI的团队。 我们团队的KPI很简单,就是回归到业务场景。我的KPI已经连续几年都是以客服量为衡量点。你这个产品怎么样,上了多少功能,都不是最主要的因素,关键是你最终解决了客户的什么问题。客户用脚来投票。我会带着团队的D(业务负责人)一起review团队的KPI。  人生没有白走的路2017年7月,钱磊通过“绿色通道”(免试)晋升为P10(研究员),既在意料之中,又在意料之外。尽管不做要求,他还是准备了一个简单的PPT,那是写给自己的9年总结。 钱磊的办公桌面一如典型的技术男那样简单。桌上摆着他5岁女儿的照片。问起他印象最深刻的一个瞬间,他不加思索地回答:“2015年双11,连续熬了两个通宵后,11月13日的凌晨,我走到园区一号楼取车,眼前的夜空很美,身后是灯火通明的楼宇。就是一种很幸福的感觉。我,在这里,和大家在一起。我们和这家公司,挺伟大的……” 这就是一个阿里技术男的成长史。哪有那么多成长快乐,每一步都不是白走的路。你怎样选择和对待人生,人生就怎么样待你。 本文作者: 访谈橙阅读原文 本文来自云栖社区合作伙伴“阿里味儿”,如需转载请联系原作者。

May 23, 2019 · 1 min · jiezi

阿里五年晋升三次这个程序员要聊聊他的选择

小二穆远是蚂蚁金服的一名程序员,五年晋升了三次,他要聊聊自己的五年阿里之旅,那些变化、坚持和泪水。请看本期的年陈故事会。 说起与阿里的缘分,是因为读书时在T公司实习,不喜欢实习那个组的工作内容,毅然决定来阿里工作。其实现在看那时的自己,也只是年轻不谙世事,半只脚踏入社会就开始以自己幼稚的标准评价周围的人、周围的事,所以按照当时我的认知水平,如果先在阿里实习那现在很可能就是在T公司写五年总结了,正因如此,我后来很喜欢讲一个黑程序员的段子,“所有程序员都看其他程序员是SB”,因为自己也是从那个阶段走过来的。 这也让我想到最近团队新来的93、95后们,这些新同学普遍教育背景非常好,新加坡国立、牛津等等,但每个人都不是应届进来,而是在其他公司工作了几个月后跳槽到这里,是个很有意思的现象。联系上述我自己实习的经历,我想表达一个观点,也许每个大公司都一样,不尽如意,我们只能在跳过几次槽,碰壁过几次后才会发现在哪里都差不多。当我们选择了阿里,我以自己的经历来看,这里不会错,可以接触到领域内最先进的技术,保持高速成长,周围充满了行业内最优秀的人才,每个人都有闪光点值得学习,有很好的组织保障让我们在很好的团队里,专注工作。 每年都会看到有同学在内网分享自己的三年醇、五年陈经历,印象里大家谈到最多的就是变化,就是坚持,就是泪水,我想我也差不多是这些,但每个人都是独一无二的经历,我也来分享一些故事和想法。 让自己脱离舒适区我记得15年第一次谈绩效,那会刚参加工作一年,跟当时的主管说,我很焦虑,因为各种工作上的问题,想知道该怎么避免这种状态。出乎我的意料,老板饶有兴趣地看着我说,一个刚毕业的小同学,应该还是埋头做事的阶段,如果有焦虑感,那是非常好的事情,一定要保持住。从那之后,我就记住了这句话,不再排斥自己因为能力不够,工作没做不到位带来的不适感,而是利用这些,督促自己学习、适应、解决问题,同时尽量让自己保持状态,脱离舒适区。 皮实一点,帮团队承担更多保持不适感是为了让自己可以拥有持续成长的动力,那么,帮团队承担更多就是让自己做到持续成长的方式。这个逻辑大家都懂,我就举个小例子:我们团队负责的系统有一个工作流引擎,是做离线计算的,down掉重启一下就好了,也不会引发线上故障,但年轻气盛的我,主动请缨要在一个月内提升到四个九,其中过程的艰辛不表,但结果是好的。后来有人跟我讲,系统稳定性问题那都是最复杂的问题,需要100%认真去做,否则就是3.25起步,那年的晋升,这件事也意外成了我汇报的一个重要亮点。 这类事情,我相信每个技术同学都经历过,对我来说,判断一件事要不要做的原因不是这件事做完是否可以拿出来讲,而是这件事是否可以解决团队的问题,因为解决问题的过程我一定可以学到东西,同时也会让我得到团队的认可,当然也附带了其他好处,比如事情做得多了,年终总结的时候,一定有值得总结沉淀的亮点,就像广撒网一样。 向身边优秀的同学看齐那么多的鸡汤,我却选了这碗,是因为向身边同学学习对我的帮助真的很大。知乎上很多人在讨论刚毕业,大公司与创业公司该去哪里,在我看来,大公司优先级远超过创业公司的原因是,大公司平台好,聚集了行业内最顶尖的人才,而且阿里的趋势是,人才越来越高端,这真的是对我们每个人最大的利好。就拿大家最烦的周报来讲,我刚开始写周报的时候,总是很苦恼,团队有的同学的周报写的那么清晰和丰满,我只能罗列解决的几个小issue,所以我才能慢慢地看懂别人的工作,学到别人的思考,应用到自己的工作里。也因此养成了总结的习惯,长期培养的抽象总结能力,不仅体现在周报上,各种汇报PPT都非常有用,更能帮助站在全局思考。 用三年时间锻炼心力我有一个习惯,每当有新同学入职找我一对一沟通,我不会画大饼,说这里的工作多美好,而是告诉他,最好待满三年。因为我看到太多人一年左右就离开了,因为各种原因。当然,并不是说一年跳槽不对,只是我听到很多人在不同场合都讲过,在一个公司,最少待三年才能对这个公司有感觉,这也是公司一直强调的三年醇的逻辑。关于这个逻辑,我也是很认同的,我认同的原因不是说,想对某个公司有感觉所以要待三年,而是通过三年的时间,锻炼的不仅是技术,还有强大的心力,而后者,待的时间不够一定体会不够。 关于开会会议效率是个“亘古不变”的话题,见仁见智,我一直践行的一点是,如果决定参加某个会议,就要认真听,认真思考,认真反馈,在会议里起到作用,如果去了不听,只是看自己的电脑,那就不要去,因为在会议里工作一点效率都没有。 关于晋升马上要开始晋升季了,在晋升这个话题里,我也希望可以提供一些我的心得,因为非常幸运地,我在这五年内晋升了三次。晋升,一定是天时、地利、人和缺一不可的,抛开运气成分,我总结一下我的地利、人和的部分。 关于地利,我的经验是,专注、深耕一个领域,比如我是做机器学习工程平台的,从14年“近卫军”培训结束就开始做,到现在还在做这个事情,而且未来我还会持续做这件事,所以,对我来说,在一个领域内不断地学习,是成长的必要条件。 关于人和,对我帮助最大的方法是,永远按照更高的层级要求自己做事情。其实逻辑很简单,一定是一个连续的、循序渐进的过程。所以,我们要让跨过这个range的过程尽量的自然,那就只能提前多迈迈腿,让晋升变成水到渠成的工作汇报。 Coding是立身之本如果说上面是我这些年总结的心得,那最后这一条就是汇聚所有心得的基础。“我们要保持一直在一线coding”。从去年升到p8开始,不止一个同学问过我,升了8当了主管还需要写代码么。首先,我认为作为主管第一要务是对团队负责,保证团队目标达成,保证团队稳定,负责团队每个人的成长,但这些跟coding有什么关系呢。持续coding可以保持一个人敏锐的技术嗅觉,在技术选型,方案讨论时做出正确的判断,避免自己逐渐演变成太“形而上”的技术思维。但从精力分配角度来看,对团队负责一定会占用大部分精力,我的经验是,多写,多CR。 多写的意思,不是说我是架构师,我是技术专家,我就一定要写核心代码,搭框架,那样肯定不够,也没有那么多核心代码给一个人写,要平衡,也要分担,既要团队每个人都有核心模块成长,也要承担30%的日常的coding。 多CR是很重要的,尤其在时间不够的情况下,可能有些issue没时间写,但可以通过cr保持细节的跟进并学习其他同学优秀的代码风格,一举两得。 五年,是时间给我们的答案, 成为自己想要成为的样子! 你呢?五年后想成为什么样的人? 本文作者: 年陈橙阅读原文 本文来自云栖社区合作伙伴“阿里味儿”,如需转载请联系原作者。

May 22, 2019 · 1 min · jiezi

阿里的初感知

很荣幸能加入阿里这个大家庭,在这短短的一个月里,阿里的一些不同让我印象深刻。 owner精神入职第一天,上午进行了合同签订和简单的入职培训,下午就领了电脑设备到了办公区。在电梯里,恰巧遇到了面试过我的同学,把我引到了办公位,后来得知是小组leader。 刚打开笔记本没多久,leader就叫上我参加一个会,作为一个旁听者,对他们讨论的一些细节很蒙,当时觉得阿里节奏这么快!后来才知道负责这块的一个P8要离职,需要把他手上的大部分项目交接给我们组,需要有人owner这些项目。 我们组是新成立的小组,隶属于鲲鹏研发组,主要负责大组业务的技术底座,沉淀出一些通用的基础平台。目前小组人还比较少,但交接给我们的项目不少,19年规划的战役也有很多。 项目多,交接时间紧,未来战役多,人员少,需要每个人owner很多部分,压力很大,但此时此刻的我,很有激情想去做,就像我看到的同事。 他们会全面和深入了解所做的项目,无论是线上的问题、新的需求,还是未来的战役打法、过程中的推进和协调,都会全情all in,担负起责任来,过程中会有很多人一起出谋划策,一起协作。 每个人做事都很有激情,很有责任感,战役规划好了会全力推进,因为他们是owner。 拥抱变化阿里的价值观里,有一条是拥抱变化。 互联网的时代发展太快了,无论是层出不穷的技术,还是不断创新的业务模式,都比我们很多人的认知快多了,好多时候是看不懂的。 组织和个人如果想为公司创造价值,起码要跟上这个变化,不断调整,不断学习。 之前看过一本书提到,技术的变革需要组织架构的调整来支撑,他们是相辅相成的,说的是变化会引起相关的事情一起变化。 在阿里,部门调整、小组调整很频繁,有的同事3年之间调整了几个小组,领导也是,干不好就调换,发现问题就进行调整。 时代的快速发展有很多机遇,实现过程中也有不少问题,阿里的这种机制很好的拥抱变化。 敢于变化,更有活力,更有创造力,跟上快速发展。 沟通和协作阿里的大部分事情都可以通过钉钉去沟通和解决,这种方式快捷、有效。 本来我以为钉钉就是一个聊天沟通软件,但它是一个协同办公的生态,我以工作中的几个例子来体现下沟通和协作的效率。 之前在M公司,如果想找到一个人可费劲了,通过各种关系人为打听到他的名字,通过内网找到他的手机号,加微信,确认后才抛出自己的问题,运气好的话会比较快的回你。 在阿里,上下级组织关系,每个人的职能和具体信息,各种技术支持群,都可以在钉钉上快速查到,包括逍遥子。而且大部分团队和人的响应速度是很快的,很愿意帮你排查和解决一些问题。 身边的人和我说,不要怕打扰别人,有什么问题随时去找,包括你的leader、leader的leader,一方面,他们会乐意解答你,一方面,事情的推动很重要。 钉钉上还集成了文件共享、协同编辑、审批、日程等等功能,协作会便捷很多。 「内外小蜜」是一个智能机器人,也是集成在钉钉上,感觉和某个人聊天一样,能解决我80%以上新人可能遇到的问题,我现在一有什么事就会问他,还可以直接转人工。 通过「阿里郎」,投屏和远程会议变得很简单,远程沟通的效率也很高。 安全意识阿里特别重视安全意识,是阿里的红线,从我入职以来考过3+以上的在线考试了。 公司不允许使用个人电脑,都是公司统一发的,大部分人会选择mac,数据的拷贝和传输都有严格的监控和审核。 不允许使用盗版软件,可以通过阿里郎申请正版软件进行安装,体验也很好。 项目流程、上线流程全部规范化,通过统一的平台去管理,每个要上线的项目要通过安全检查才行,是系统的规则。 各种权限统一管理,申请系统权限有严格的审核流程。 培训和学习我刚参加完部门的起航社培训,从空间和时间维度了解了阿里云,学到了自己落地的一些技巧和方法,知道了部门的主要目标方向,结识了很多优秀的同事们。 5月20号,还会开始为期2周的培训,内部称为「百阿」,主要是阿里价值观的培训,结识很多优秀的伙伴,目的是了解阿里味,快速融入进去。 阿里花这么多时间和成本对新员工培训,可见对公司文化、人才培养的重视和真诚。 阿里内网有很浓厚的技术氛围,各种大牛会分享自己对技术的理解和分析,是一个很好的学习渠道。 钉钉上会有不间断的直播分享,在线和他们沟通交流。 看得出来,他们的分享都是自发的,这样才更持久、更有价值。 总结才来阿里一个月,这些事情只是我此时此刻的感知,可能有偏颇。 还有一些方面想说,留在下一次分享吧。 对自己充满期待,加油! 本文作者:董情情阅读原文 本文为云栖社区原创内容,未经允许不得转载。

May 21, 2019 · 1 min · jiezi

拒绝版权流氓阿里巴巴重磅发布免费商用字体

摘要: 所有阿里巴巴数字经济体、商家或设计师们可通过阿里巴巴设计出品的 Alibaba ICS Design 平台或者阿里巴巴旗下专业的商家服务平台-淘宝服务市场下载。UCAN 2019 设计大会在杭州国际博览中心开幕,超过 4000 位来自世界各地的设计师参与了这场阿里巴巴设计举办的盛会。 继去年品牌升级为阿里巴巴设计(Alibaba Design)后,阿里巴巴经济体设计委员会委员长杨光(青云)再度在大会上重申了对设计的理念和期待 —— 让商业美而简单。 “阿里巴巴经过几年的发展逐渐壮大,设计师团队也越来越大,这样庞大的使命,个人认为要有强烈的使命感,所以‘让商业美而简单’就变成了我们的使命。阿里最远大的目标是‘让天下没有难做的生意’,我们希望通过新的技术,通过技术变革,能够引领商业社会的变化。” 在演讲中,杨光表示需要从设计产能的升级、素材原料的供给、生态关系的连接和设计专业的拓展四个方面,来看待设计行业和产业。 自 2016 年发布了鹿班设计系统之后,阿里巴巴“操作系统”还在不断升级和壮大,并且杨光认为只有通过将阿里的设计和技术普惠给所有的商家和所有的合作伙伴,才能建立完善的设计生态,并且让所有设计师都参与到生态的建设中。 去年阿里巴巴与汉仪合作,发布了 6 款智能字体;通过技术手段,为商家生成了超过 1700 万条视频。只有真正做到为每个人服务,才能回归商业与设计的根本。 对于产能升级,更大的一个核心就是原材料的供给。为了解决广大的素材需求和高昂版权费用之间的矛盾,站在整个行业的角度,就必须要对今天的模式作出变革 —— 按需供给、柔性供应。 在大会上,阿里巴巴设计率先向全社会发布了一款字体“阿里巴巴普惠体”,希望能够让阿里巴巴的普惠精神,让整个生态的设计师、合作伙伴因为我们平台的赋能,真正得到实惠。 这是一款由中国企业首次发布的可面向全场景使用的免费商用正文字体。 以“普惠”之名诞生,这也意味着这款字体肩负着比一般企业品牌字更重要的使命——它还将开放商业授权给所有个人和商家,让更多用户可以免费使用这款阿里巴巴字体,以普惠设计赋能商家生态,实现阿里巴巴设计“让商业美而简单”的愿景。 青云表示,“20 岁的阿里正全速奔跑在全球化的轨道上,我们迫切需要一款统一的官方字体来构建阿里巴巴品牌的一致性和完整性,从而让大家更好得认识阿里巴巴,更懂我们的业务。” 另一方面,因为注意到天猫平台上曾发生过一些因商家使用侵权字体被字体公司起诉的 case,“作为平台生态的守护者,在阿里巴巴字体立项之初,我们就已经想好了这套字体要开放给整个阿里生态,甚至更多人去使用。”青云说。 这一次可免费商用的阿里巴巴普惠体共收录 116,895 个全形汉字(含 5 个字重),西文 Alibaba Sans 共 7,205 个拉丁字母(2 种风格、共 11 个字重),覆盖 172 个语种(覆盖大部分欧语国家),并可以满足阿里巴巴集团及其经济体公司在全球化业务下的多个应用场景需求。 据阿里巴巴定制字体项目负责人、阿里巴巴集团品牌-高级创意设计专家羿光介绍,从去年 6 月至今,整套阿里巴巴普惠体的设计历时 10 个月,“不仅要包含突显企业品牌个性的标题字,还要囊括更为实用的内文字,兼顾多个场景下的应用……这么大体量的字体设计并面向全场景开放授权免费商用,开创了中国企业造字的先河。” 1、“20 岁阿里少年的精气神”说起阿里巴巴普惠体,羿光是这样形容的:“他就像一名 20 岁的小伙子,年轻有力量。” 那么他到底长什么样呢? 中文字体多采用现代简洁的笔画,造型上偏瘦长,并将字的重心提高,以展现 20 岁阿里巴巴少年的精气神。字体笔画上也做了一些简化,如标题字省略出脚部分,更显简洁。 西文字体进行了 11 个字重、四大风格的变化演绎,以适用于多个场景的应用。在 Alibaba 单词的体现上,通过增加 A 的宽度、L 的变化等来确保字体下盘的稳定性。 ...

April 28, 2019 · 1 min · jiezi

记录一次成都阿里一面的经历

上周在拉勾上收到一个蚂蚁金服的大哥要我的简历,当时很惊讶,居然有蚂蚁金服的找到我,然后想都没想就给了。 受宠若惊呀,我知道自己的水平跟阿里的差距有多远,以前一直没用勇气去投,连试试都不敢。这次居然主动找过来了,当时就再想,难道阿里这么缺人么?还是只是为了完成某些KPI,当然了,我这种想法比较幼稚。 没想到的是第二天居然收到了阿里巴巴的面试邀请邮件,里面说到会在10个工作日内进行第一次面试。 不管怎么样吧,既然面试来了,就试试吧。能面一次这种级别的技术公司,看看自己真实的差距,也是三生有幸了。从离职的这段时间也补了补JVM,基础的数据结构算法什么的,还有一些高频的Java 基础问题。 周一晚上 8:25 接到了蚂蚁大哥来的电话,果然,跟传说中的一样,还在上班。当时很意外,没想到是电话面试,因为邮件中没提到,后面回想,貌似一面基本上都是电话面试,有些朋友二面也是电面。 进入正题,下面是整个内容。顺序有些不一致,我按照模块来整理的。 自我介绍 自我介绍就先介绍 多大了、毕业多久了、做了什么些东西、最近做的什么内容,擅长的部分呀 等等。 这里说一下,自我介绍的内容如实说就好,不要太过于夸大,自我介绍的内容建议大家提前准备好,不要说的时候想到哪儿说到哪儿。 线程部分 1、多线程的实现方式有哪些? 这个题目在一面的时候基本上都会碰到吧,继承 Thread 类、实现Runnable 接口,最后调用 的是 start() 方法来启动线程。这里还有个知识点是 start() 跟 run() 方法的区别和联系。 直接调用 start() 方法,此时线程处于一个就绪(可运行)的状态,但是并没有真正的运行。而是得到CPU 的时间片后,开始执行 run() 方法,run() 方法里面的是我们的线程体。 我们直接 运行 run() 方法,它其实就是一个普通的方法调用,在主线程中执行,是不会开启多线程的。 2、描述一些线程死锁的情况? 这个问题在平常项目基本上没怎么接触到,但是我有过部分了解。回答的是:两个线程在持有自己的锁的时候,还要去持有对方持有的锁时,由于别人的锁已经被对方持有,造成彼此等待对方释放锁的情况。回答得比较片面,还有一些类型的死锁问题没有答出来,后面直接交底了,面试官说没关系的。 建议大家在准备这个问题的时候能说出来产生死锁的条件、现象、解决办法等。然后配上一些实例说明,在面试过程中,面试官就提到说根据我们平常遇到死锁问题的场景实例来说。 大家可以搜一下下面这两个死锁场景问题: 1、三个人 三根筷子:每个人需要拿到身边的两根筷子才能开始吃饭 2、银行转账问题:线程 A 从 X 账户向 Y 账户转账,线程 B 从账户 Y 向账户 X 转账,那么就会发生死锁。 3、项目中有没有用过线程池 ?怎么用的 ? 回答了我们项目里面有些接口需要组装多个服务的数据进行封装,然后返回。这里面我们会使用多线程去并行拉取数据,减少接口响应时间。 面试官说:“ok,那么你有没有看过线程池里面的源码呢 ?有哪几种线程池 ?” 源码这里我迟疑了一下,我说不太熟,然后我说了几种类型的线程池 newSingleThreadExecutor、newFixedThreadPool、newCachedThreadPool 但是还漏了一种 newScheduledThreadPool 没想起来。 ...

April 26, 2019 · 2 min · jiezi

如何在工作中快速成长致工程师的10个简单技巧

阿里妹导读:阿里有句非常经典的土话,“今天的最好表现,是明天的最低要求。”如何挖掘潜能、发现更好的自己?今天,阿里巴巴高级无线开发专家江建明将认知升级的方法总结出来,帮助你获得快速成长的秘诀(本文内容稍长但值得细细阅读哦)。一、如何阅读本文?找一个固定不被打扰时间仔细阅读。在碎片化的时间中,每次读完一段内容。最重要的是每次做到只字不差的阅读,然后停下,带着批判性思维从本文中提取出你觉得对的思考方式,并把思考方式关联和迁移到自己身上,经过实践内化成自己的认知,就是非常成功的一次阅读。 二、开始认识“认知升级”第一次:从文章中看到认知升级,认为认知升级是洗脑,是鸡汤,我对此不屑一顾,道理谁都懂,大部分人还不是过得一样,没啥区别。 第二次:从会场里听到认知升级,一个活人站在那里讲认知升级,觉得认知升级有点意思,开始慢慢去理解认知升级,但还是不懂认知升级的价值。 第三次:从实践中觉知认知升级,发现“鸡汤谁都懂,但依然过不好这一生”,还有另外一个版本“用好喝鸡汤的工具:汤勺,可以把这一生过得很好”,最简单的开始就是从时间管理认知升级开始,感受到认知升级的强大力量。自从换了一种时间管理思考方式之后,自己逐渐变得自律,变得有思考,成长复利慢慢变厚,感受到认知升级的价值,但还是没能力定义认知升级。 第四次:从利TA中定义认知升级,开始做认知升级的PPT给团队,给他人分享认知升级,发现一部分人的行为、工作、思考等在慢慢发生变化,这些发生变化的同学,未来肯定会超出自己的期望,变得更加优秀,此时我想我能够比较清晰地定义认知升级。 我对认知升级的定义:认知升级是连接,连接优秀的思维方式,连接解决问题的最短路径,连接一切优秀的方法。比如:说到时间管理立马连接到“找到不被打扰的时间用于投资自己”、说到执行力立马连接到“先想明白,然后一步步做下去”、说到改变习惯立马连接到“在触发条件发生进入下一个行为时,做对选择题”。通过认知的改变,会激发自己做出思考,做出行为的改变,从而影响我们的判断,提升我们的能力,确切地说认知升级颠覆了自己的思考习惯,让我们超越本能思考,摆脱了旧有的直觉和经验,建立起了新的直觉和经验。 下面10个主题的认知分享是从我的认知升级库中挑出来的一部分我认为最重要的认知,对我的帮助和改变非常大,我相信对其他人同样有价值,大道至简,坚持这10个简单的认知就可以大大提升我们的成长速度,而且随着自我不断进化的同时,会不断升级和丰富自己的认知库,不断提升自己的认知升级能力。 1. 思考脑与反射脑 听精彩的演讲不止精神上会有即时的瞬间享受和满足感,更重要的是总会有那么几个关键词刺激我们的神经,让我们产生瞬间记忆,做出进一步的思考,这也是我为什么爱听牛人演讲,不是想听他创办企业的精彩故事,而是因为他演讲的内容中透露出的智慧,透露出的超时代的远见,透露出系统性的逻辑,听他的演讲总会给人一种醍醐灌顶的感觉,而所有这些演讲过程中透露出的智慧、远见,并不是在台上立马想到,是台下无数个思考最终抽象提炼出来的观点。台上演讲是反射,台下准备是逻辑是思考,所谓台上一分钟,台下10年功,反射和思考是什么关系呢?开始第一个认知:思考脑和反射脑。 欧洲工商管理学院教授特奥-康普诺利的《慢思考》这本书中把大脑分为反射脑、直觉脑、存储脑。简单来说:思考脑管理性,反射脑管直觉,存储脑管记忆,直觉依赖习惯,用直觉做出反应,快速,但未必正确;思考脑管理性,理性依赖逻辑,缓慢,但更加正确。 有科学家通过研究,发现一个人一天的行为中,5%是非习惯性的,用思考脑的逻辑驱动,95%是习惯性的,用反射脑的直觉驱动,决定我们一生的,永远是95%的反射脑(习惯),而不是5%的思考脑(逻辑)。回想自己的一天,大部分的判断和观点是不是都是靠直觉,靠习惯的,什么情况下才会用思考脑?是不是一个人的时候用思考脑比较多,而在多人对话场景中要快只能靠直觉和反射,而给别人好与不好的印象往往是在对话场景中建立起来的,可想而知,反射出来的观点或行为对我们而言是多么重要。 以学游泳举例,当在水里的那一刻,进入正念(正念:有目的,有意识的,关注和觉察当下的一切),将大脑的指令和手脚的动作关联上,大脑下达手脚标准化动作指令,手脚执行标准化动作指令,过程中大脑一直在关注和觉察手脚的动作,同时做出判断和调整,这是一个逻辑思考和强化训练的过程,把逻辑思考的过程强化成反射的过程,一旦学会,就无需进一步思考,游泳已成为自然。 放在学习和成长上也是一样,借用正念的概念,有目的有意识地关注和觉察学习时的一切,特别是在输入和输出过程中的逻辑思考过程,我特别建议做好2件事: 专注输入:做到只字不差地阅读,只字不差地听。只字不差地阅读、只字不差地听的过程中,我们会持续地深入理解作者文字和语言背后的逻辑,会产生自己的逻辑思考,会产生逻辑和观点的碰撞,自己的逻辑和作者的逻辑差异和共同之处在哪里,这是反复训练逻辑思考的必经之路,缺少这一步,导致的结果就是中国填鸭式教育的结果,大部分时候知道结果但是不知道原理。 专注输出:定期做PPT进行分享。定期做PPT进行分享,这是读书学习过程中无法替代的高质量逻辑训练方式,是一种更高要求的逻辑抽象的训练,同时通过输出检测学习和成长质量,训练的次数多了,书上的逻辑就变成了自己直觉反射,丰富了自己95%区域里有效的结构化知识。 所以对我们来说,想要没有焦虑,想要人生变得踏实,把泛读变成精细化的逻辑训练,把95%中的低质量习惯反射,训练成逻辑后的高质量习惯反射,训练过程会痛苦,但是一旦训练成直觉,会变得非常自然。 划重点:所谓直觉反射就是通过大量的逻辑反复训练,提升自己的直觉准确性,从狭窄的5%进入广阔的95%; 2. 习以为常 把95%中的低质量习惯反射,训练成逻辑后的高质量习惯反射需要有很多的时间保障。但是对处于移动互联网时代的我们,电子设备对人类生活出行带来了很好的便利性,与此同时人类对其依赖程度已经到了寸步不离的地步,甚至上厕所短短几分钟,手机也是寸步不离。 手机已经成为一种生活方式,一种习惯方式,眼不离机是我们的习惯,因为手机产生了非常大的变化并固定了下来,空了玩手机、陪家人时玩手机、忍住不睡玩手机,我们的生活因此少了学习,少了阅读,少了交流,少了陪伴。 曾经,我也一直被困在电子设备这个囚笼里,好长时间无法改变这个习惯模式,难改变是因为一旦进入习惯模式,大脑的活跃程度急剧下降,不再参与决策,进入休眠状态,此时我们的行为由习惯支配。我对这种现代化的生活方式最大的感受:浏览信息的时间多了,自己思考和琢磨的时间少了,专注在无效事情上的时间多了,专注在自我成长上的时间少了。 当自己觉知到重度使用手机进行浏览和娱乐的不好习惯后,自然就产生了想改变的想法,也就是说,如果能够有一种改变习惯的有效方法,帮助自己改变重度使用手机的习惯后,意味着每天可以节省很多的时间,节省很多的注意力,节省下来的时间和注意力可以放在更重要的成长能力的迭代上。幸运的是,习以为常的认知进入到我的认知系统中,成为我的第二个认知升级。 我对习惯的认知,关键在于换种说法:“把改变玩手机的习惯,用另外一句话来替代,把学习变成习以为常的生活方式”。要解决的对象变了,前面聚焦于改变习惯,后面聚焦于把学习变成习以为常,当我们要求别人或自己改变习惯,会有压力,关键在于“改变”这个词,命令式,给人一种不自觉反抗的心里暗示;但若把学习变成习以为常,心里负担会少很多,似乎是很自然的事情。 认知变化后,能否把学习,阅读变成习以为常的事情,关键在于能否意识到突发状况,并在这些突发状况下调整自己的行为。无效的社交等突发状况出现的时候,如果能够置之不理,或者稍后再处理,那自然能够把学习和阅读变得成习以为常。注意,这是改变习惯最关键的意识切入点,一边是对无效行为的置之不理,一边是启动学习和阅读,只要做个行为替换就可以改变习惯。 谁都知道替换可以改变,但为什么这么难?其实关键在于这个意识点能不能变成触发性响应,也就是说当某个触发条件产生的时候,改变的意识能不能弹出来警告自己。 先对习惯的产生机制要有所了解,习惯并非凭空产生,他有前因后果,前因是前一件事情结束(触发条件),后果是前一件事情结束后的行为带来的一些额外奖励。比如晚上下班回家洗完澡这件事情结束后,肯定会开始下一件我们最习惯的事情,比如盯手机看剧或者刷八卦,当这件最习惯的事情结束后,大脑会产生精神上的及时享受,内容很丰富、很精彩。短期看是享受,长期看是灾难,因为对未来帮助意义不大,但是却消耗了我们大把时间。而且看剧或者刷八卦带来的信息积累只能称的上是饭后谈资,或者有些根本没机会谈。 了解习惯产生的机制后,改变习惯就变得很简单,每次在触发条件发生时,弹出一道选择题,选择做无效事情,还是学习?多次以这种方式不断强化自己做对选择题。久而久之,正确的行为被训练得多了,就成为顺其自然的习惯了。所以改变习惯,就是在触发条件发生时,让自己做对选择题,打破旧有习惯回路,建立新的习惯回路。相信这句话“精英之所以精英,是不间断的正向行为习惯的驱使”。 划重点:所谓改变习惯就是在触发条件发生进入下一个行为时,让自己做对选择题。 3. 时间管理:三八理论 在我的第2个认知《习以为常》中,提到养成习惯的方法就是在触发条件发生时,让自己做一道正确的选择题,打破旧有习惯回路,建立新的习惯回路。也就是说当做对选择题的时候,也就得到了用于学习和思考的时间,这是时间管理的一部分,从现有的事务中挤出时间。但是用于学习的时间不应该只有这部分,我们需要系统性认知时间管理。 世界上有2种人不做时间管理,一种是有时间不管理,另外一种是没时间不管理,既有主观原因,又有客观原因。客观原因是工作太忙,确实很难有时间用于学习;主观原因是做其他事情有时间,学习和思考没时间。不管哪种人,他们内心深处对于时间管理的需求一直存在,只是一直没找到好用的时间管理方法,最后放弃了。 有需求必有供给,市面上可以找到有很多时间管理的书,时间管理方法,时间管理软件。但是你有没有过这种经历,我是有过,很多方法用了,比如时间管理四象限、番茄钟、时间计划等,在坚持一段时间之后,还是回到原来的状态,原因是什么?我认为最根本的原因是太复杂了,没法用一句话改变我们的共识并建立时间管理意识。 比如很多时候我们会采用计划的方式做时间管理,什么时间做什么事,但是人毕竟不是机器,总会有意外,无法按照流程一步步执行下去,计划总会被打乱,一旦打乱可能全乱。若为了保持计划如期运作,会给自己带来非常大的负担,负担来自于为了管理该计划消耗了很多精力,而且每项计划不一定能够按预期完成,时间久了,放弃是最好的选择。 当然这些时间管理方法或番茄钟肯定有用,只是复杂的东西不适合我,可能也不适合很多人,不然不会有这么多人明知有很多时间管理方法,但还是对时间管理很焦虑,因为难执行啊。我必须找出简单的方法让我自己能够很快适应,同时不会成为负担,对时间管理的认知是我的第三个认知升级,也就是时间管理三八理论。 时间管理三八理论:每个人每天有公平的24个小时,第1个八小时用于睡觉、第2个八小时用于工作、第3个八小时用于自由支配,但人与人的差距主要是由第3个八小时决定的,第3个8小时用于消费、交易还是投资有着非常大的人生差别。以下班空闲时间为例解释消费、交易、投资从而理解人生差异的不同: 下班空闲时间,用于消费,比如刷新闻,刷抖音,刷朋友圈,产生及时享受,没产生成长,钱还是那些钱,职位还是原来职位; 下班空闲时间,用于交易,接个外快,赚点辛苦钱,产生金钱,没产生成长,钱没多多少,职位却还是原来职位; 下班空闲时间,用于投资,以终为始,相信“慢慢来,成长最快”的认知,持续不断投入多维领域的学习,沉淀能力,获得成长,从成长中获得金钱,名誉的升级; 看完时间的消费、交易、投资的解释,在看《习以为常》中做选择题的重要性,做对选择题其实就是投资,投资自己的成长,投资自己的学习,人生的不同不就是因为投资自己而变得不一样吗?但是投资需要时间,时间怎么来? “找到不被打扰的时间”。只有找到了不被打扰的时间用于投资自己的成长才能发生复利效应。如果想从工作中省点时间,想从周末挤点时间用于学习,这叫成长的断崖,我相信不能持续,学习必须是每日的必修课,必须是日拱一卒,持之以恒,有不断的输入,也有不断的输出,持续地沉淀,在关键时刻输出解决问题能力,从而获得能力认可。 分享下我如何找到不被打扰的时间用于投资自己的成长,因为每个人的工作性质不同,找到不被打扰的时间长度不一样,比如程序员这个行业,加班很多,比如我在公司时间平均有11-12小时,即便在这种情况下,还是能够在工作以外找到不被打扰的时间,更何况工作时间没有12小时的朋友呢!我的不被打扰时间: 睡前:晚上回家到睡觉前,这段时间每个人都有,这里至少可以抽出40分钟学习,建议11点半之前必须睡觉,为了早起做准备;早起:这里需要重点说下,如果按照我之前8点起床的睡眠习惯,这个时间估计用不上,所以有魄力的人可以做些改变,就是缩短睡眠时间,比如原先8点起床改成6点,相信自己,年轻人睡6-7个小时是够的;这样就会产生1~1.5个小时学习时间,平时哪有这么长的时间用于学习啊;晨会前:这条适合离公司近的人,在晨会开始前,早点到公司,找到30分钟用于学习,这类短时间的学习主要是用于学习快餐知识,找知识服务平台花钱买知识,学习人家总结好的知识。以上的作息计划会让自己产生一定的疲劳,但是中午放弃刷新闻,刷抖音,在工位补个觉,不会影响每日的精力,而且随着自己的成长,会越来越有成就感,成就感带来的精神状态反而比之前更好。 划重点:所谓时间管理就是找到不被打扰的时间用于投资自己的成长。 4. 最重要的财富:注意力 对我们来说,有3样非常非常重要的财富,分别是金钱、时间和注意力,其中金钱在3者之中我认为最不重要,反而非实物的注意力和时间更重要,金钱没了可以通过提升能力赚回来,而且是100%可以赚回来的,时间和注意力是一次性消费,用了就没了,虽然第二天有新的时间和注意力补充进来,但是要知道生命在流逝,过去消耗的时间和注意力属于一次性消费。 在时间管理的认知升级中,我们已经具备了认知:“找到不被打扰的时间用于投资自己”。本节以我们的第2大宝贵财富注意力进行认知升级,让自己的注意力在不被打扰的时间里用在投资自己的成长道路上,时间是容器,注意力是武器,搭配得好,成长可期待。 先问自己2个问题: 昨天、上周、上月看过的内容还记得吗?进一步区分看过的内容:哪些是成长?哪些是谈资或甚至都没有机会谈?好的问题本身就是好的答案,回想自己过去在第3个八小时的自由支配时间里,注意力用在什么地方,是用于投资还是用于消费,如果意识到过去注意力用在了消费上,那么赶快把注意力用到投资自己成长上,如果还没意识到,建议只字不差阅读《时间管理》认知,进而搞清楚时间用于投资,还是消费,有着巨大的人生意义。 从问自己的2个问题看现在的生活方式,生活中有很多看似合理的生活现象,其实是一个巨坑,是别人在收割我们注意力变成流量产生了商业价值,但是我们竟然乐在其中,因为我们喜欢莫名其妙凑热闹,喜欢随大流,喜欢做大家正在做的事情,我们每天花了大把时间在上面,但是收获的成长却很少,因为我们都是在消费时间,消费注意力,而不是用时间投资自己成长。 我们以为做大家正在做的事,就找到了归属感,找到了安全感,但实际上真正的安全感、成就感,归属感来自自我成长,自我沉淀。对生活在信息量爆炸时代里的我们,用好自己的注意力非常难,处处都是陷阱,处处都是诱惑,处处降低我们的思考,让我们轻易获得成品,带来的结果是表面上我们懂的很多,但其实理解非常浅。 对于这些巨坑,不建议大家100%放弃,对于群居物种的人类来说,还是要和外面世界建立连接,和身边人有话题交流,但是我们要调整注意力,把原先可能100%的注意力变成28分配,还是37分配,根据自己对自己的掌控力度,让大部分注意力投资在自己的成长上,减少朋友圈,减少新闻娱乐投入。 再来解一个疑惑:“为什么看电影注意力特别好,做正事注意力集中不了”。 ...

April 25, 2019 · 1 min · jiezi

AI评委引热议,阿里巴巴表示:AI不会取代工程师

昨日,一位能给工程师代码打分的“AI评委”引发了热议。起因是在2019阿里巴巴“83行代码挑战赛”决赛现场,一位运行在云端的AI评委和现场的专家评委、大众评委配合,一起对选手提交的的代码做综合评价。 “AI是否会取代工程师”的话题再次在网络上引发讨论。 事实上,AI评委的背后是阿里巴巴正致力推进的代码智能化:让AI帮助工程师完成更规范、更有美感的代码语言,提升开发者的产品交付质量。 在代码智能化上,目前全球领先的科技公司都在积极投入,包括谷歌、Facebook、微软等也曾推出相关的工具。不久前,谷歌大脑发表的论文还提出让神经网络来完成源代码编辑。 对于AI评委,阿里巴巴技术合伙人多隆表态:“希望AI能与代码开发产生更多化学反应,让AI结对开发工程师,帮助工程师减负。” 事实上,代码是一种“动态”过程,需要很强的泛化能力才能完成。优秀的工程师往往会根据新需求、新的网络环境、bug的修复、公司战略意图等各种不断变化的因素来构建代码。AI能完成的是相对简单的任务,要让机器来动态判断和预测即将发生的编辑内容,甚至开发出比较复杂和创新性的产品,还有很长的路要走。 阿里巴巴的工程师也表示并未感受到“被AI支配”的恐惧,更多是对新技术的期待:“AI消融的是那些非创造性的工作壁垒。我们相信未来大部分机械工作会在机器的帮助下,更高效率地完成。这样,我们工程师就可以更专注在一些创新、创造的开发工作上。” 本文作者:阿里云头条阅读原文 本文为云栖社区原创内容,未经允许不得转载。

April 22, 2019 · 1 min · jiezi

别人家的工程师:阿里巴巴工程师有了新帮手,AI可帮助修Bug

尽管工程师用代码创造了AI,但AI又可以对这些代码点评一番、甚至修复Bug,工程师和AI的关系正在变得微妙。AI评委引热议,阿里巴巴表示:AI不会取代工程师4月18日,2019阿里巴巴研发效能峰会——“83行代码挑战赛”决赛现场引入了一位“AI评委”,和专家评委、大众评委配合,对选手提交的的代码做综合评价,这也是全球代码比赛中出现的首位AI评委。这场面向阿里3万多名工程师的技术大会旨在进一步提升内部的研发效率,而“83行代码挑战赛”可以说是阿里巴巴史上最大规模的代码品鉴会。比赛源自1年前阿里内网一次集体晒83行代码的活动,阿里巴巴集团CTO张建锋、蚂蚁金服CTO程立,甚至马云、彭蕾都有参与。这位AI评委运行在云端,当选手提交代码后,会从静态分析、运行时分析、群体共性等不同维度对代码快速打分。比赛现场,大屏实时显示选手分数,随着AI评委、专家评委、大众评委的分数依次出现,分数排行榜会根据综合打分实时滚动,一个逻辑语言的处理甚至可能瞬间提高选手排名。结合现场专家和大众评委的观点来看,AI评委的评分相当准确,且打分最为迅速,几乎是在代码提交后立刻出现结果。AI评委是谁?这位AI评委来自阿里巴巴代码平台研发的人工智能系统,其中最重要的一环是集成了Precfix(Patch Recommendation by Empirically Clustering),不依赖测试用例、编译结果,通过非规则化的智能扫描,即可自动定位代码中的Bug,并提供修复建议,速度可达毫秒级,且误报率低。Precfix能够发现一些规则检查和人工评审都无法发现的缺陷,根本性地提升代码质量,有效减少开发工程师debug及代码评审时间。同时,Precfix提供的修复建议,能帮助工程师快速理解缺陷和解决问题。目前,Precfix已被部署到阿里巴巴代码生产环境,用于缺陷检查。工程师写好代码,就提交到线上,Precfix会进行review,指出缺陷代码及相应的修复建议。据一位工程师透露,过去人工review代码查找bug可能需要几小时甚至几天时间不等,而现在不用一杯咖啡的时间,Precfix就可以review完提交的全部代码,提高了至少20%效率。未来,Precfix还会随着阿里代码平台的上云,一起为全球开发者服务。本文作者:阿里云头条阅读原文本文为云栖社区原创内容,未经允许不得转载。

April 19, 2019 · 1 min · jiezi

蚂蚁金服实习生面经总结(已拿口头offer)

我自己总结的Java学习的系统知识点以及面试问题,已经开源,目前已经 35k+ Star。会一直完善下去,欢迎建议和指导,同时也欢迎Star: https://github.com/Snailclimb…本文来自 Anonymous 的投稿,原文地址:https://zhuanlan.zhihu.com/p/… 。一面 (37 分钟左右)一面是上海的小哥打来的,3.12 号中午确认的内推,下午就打来约时间了,也是唯一一个约时间的面试官。约的晚上八点。紧张的一比,人生第一次面试就献给了阿里。幸运的是一面的小哥特温柔。好像是个海归?口语中夹杂着英文。废话不多说,上干货:面试官: 先自我介绍下吧!我: 巴拉巴拉…。关于自我介绍:从 HR 面、技术面到高管面/部门主管面,面试官一般会让你先自我介绍一下,所以好好准备自己的自我介绍真的非常重要。网上一般建议的是准备好两份自我介绍:一份对 HR 说的,主要讲能突出自己的经历,会的编程技术一语带过;另一份对技术面试官说的,主要讲自己会的技术细节,项目经验,经历那些就一语带过。面试官: 我看你简历上写你做了个秒杀系统?我们就从这个项目开始吧,先介绍下你的项目。关于项目介绍:如果有项目的话,技术面试第一步,面试官一般都是让你自己介绍一下你的项目。你可以从下面几个方向来考虑:对项目整体设计的一个感受(面试官可能会让你画系统的架构图)在这个项目中你负责了什么、做了什么、担任了什么角色从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能比如:用 redis 做缓存提高访问速度和并发量、使用消息队列削峰和降流等等。我: 我说了我是如何考虑它的需求(秒杀地址隐藏,记录订单,减库存),一开始简单的用 synchronized 锁住方法,出现了问题,后来乐观锁改进,又有瓶颈,再上缓存,出现了缓存雪崩,于是缓存预热,错开缓存失效时间。最后,发现先记录订单再减库存会减少行级锁等待时间。一面面试官很耐心地听,并给了我一些指导,问了我乐观锁是怎么实现的,我说是基于 sql 语句,在减库存操作的 where 条件里加剩余库存数>0,他说这应该不算是一种乐观锁,应该先查库存,在减库存的时候判断当前库存是否与读到的库存一样(可这样不是多一次查询操作吗?不是很理解,不过我没有反驳,只是说理解您的意思。事实证明千万别怼面试官,即使你觉得他说的不对)面试官: 我缓存雪崩什么情况下会发生?如何避免?我: 当多个商品缓存同时失效时会雪崩,导致大量查询数据库。还有就是秒杀刚开始的时候缓存里没有数据。解决方案:缓存预热,错开缓存失效时间面试官: 问我更新数据库的同时为什么不马上更新缓存,而是删除缓存?我: 因为考虑到更新数据库后更新缓存可能会因为多线程下导致写入脏数据(比如线程 A 先更新数据库成功,接下来要取更新缓存,接着线程 B 更新数据库,但 B 又更新了缓存,接着 B 的时间片用完了,线程 A 更新了缓存)逼逼了将近 30 分钟,面试官居然用周杰伦的语气对我说:我突然受宠若惊,连忙说谢谢,也正是因为第一次面试得到了面试官的肯定,才让我信心大增,二三面稳定发挥。面试官又曰: 我看你还懂数据库是吧,答:略懂略懂。。。那我问个简单的吧!我: 因为这个问题太简单了,所以我忘记它是什么了。面试官: 你还会啥数据库知识?我: 我一听,问的这么随意的吗。。。都让我选题了,我就说我了解索引,慢查询优化,巴拉巴拉面试官: 等等,你说索引是吧,那你能说下索引的存储数据结构吗?我: 我心想这简单啊,我就说 B+树,还说了为什么用 B+树面试官: 你简历上写的这个 J.U.C 包是什么啊?(他居然不知道 JUC)我: 就是 java 多线程的那个包啊。。。面试官: 那你都了解里面的哪些东西呢?我: 哈哈哈!这可是我的强项,从 ConcurrentHashMap,ConcurrentLinkedQueue 说到 CountDownLatch,CyclicBarrier,又说到线程池,分别说了底层实现和项目中的应用。面试官: 我觉得差不多了,那我再问个与技术无关的问题哈,虽然这个问题可能不应该我问,就是你是如何考虑你的项目架构的呢?我: 先用最简单的方式实现它,再去发掘系统的问题和瓶颈,于是查资料改进架构。。。面试官: 好,那我给你介绍下我这边的情况吧总结: 一面可能是简历面吧,问的比较简单,我在讲项目中说出了我做项目时的学习历程和思考,赢得了面试官的好感,感觉他应该给我的评价很好。二面 (33 分钟左右)然而开心了没一会,内推人问我面的怎么样啊?看我流程已经到大大 boss 那了。我一听二面不是主管吗???怎么直接跳了一面。于是瞬间慌了,赶紧(下床)学习准备二面。隔了一天,3.14 的早上 10:56 分,杭州的大大 boss 给我打来了电话,卧槽我当时在上毛概课,万恶的毛概课每节课都点名,我还在最后一排不敢跑出去。于是接起电话来怂怂地说不好意思我在上课,晚上可以面试吗?大大 boss 看来很忙啊,跟我说晚上没时间啊,再说吧!于是又隔了一天,3.16 中午我收到了北京的电话,当时心里小失望,我的大大 boss 呢???接起电话来,就是一番狂轰乱炸。。。第一步还是先自我介绍,这个就不多说了,提前准备好要说的重点就没问题!面试官: 我们还是从你的项目开始吧,说说你的秒杀系统。我: 一面时的套路。。。我考虑到秒杀地址在开始前不应暴露给用户。。。面试官: 等下啊,为什么要这样呢?暴露给用户会怎么样?我: 用户提前知道秒杀地址就可以写脚本来抢购了,这样不公平面试官: 那比如说啊,我现在是个黑客,我在秒杀开始时写好了脚本,运行一万个线程获取秒杀地址,这样是不是也不公平呢?我: 我考虑到了这方面,于是我自己写了个 LRU 缓存(划重点,这么多好用的缓存我为啥不用偏要自己写?就是为了让面试官上钩问我是怎么写的,这样我就可以逼逼准备好的内容了!),用这个缓存存储请求的 ip 和用户名,一个 ip 和用户名只能同时透过 3 个请求。面试官: 那我可不可以创建一个 ip 代理池和很多用户来抢购呢?假设我有很多手机号的账户。我: 这就是在为难我胖虎啊,我说这种情况跟真实用户操作太像了。。。我没法区别,不过我觉得可以通过地理位置信息或者机器学习算法来做吧。。。面试官: 好的这个问题就到这吧,你接着说我: 我把生成订单和减库存两条 sql 语句放在一个事务里,都操作成功了则认为秒杀成功。面试官: 等等,你这个订单表和商品库存表是在一个数据库的吧,那如果在不同的数据库中呢?我: 这面试官好变态啊,我只是个本科生?!?!我觉得应该要用分布式锁来实现吧。。。面试官: 有没有更轻量级的做法?我: 不知道了。后来查资料发现可以用消息队列来实现。使用消息队列主要能带来两个好处:(1) 通过异步处理提高系统性能(削峰、减少响应所需时间);(2) 降低系统耦合性。关于消息队列的更多内容可以查看这篇文章:https://snailclimb.gitee.io/j…后来发现消息队列作用好大,于是现在在学手写一个消息队列。面试官: 好的你接着说项目吧。我: 我考虑到了缓存雪崩问题,于是。。。面试官: 等等,你有没有考虑到一种情况,假如说你的缓存刚刚失效,大量流量就来查缓存,你的数据库会不会炸?我: 我不知道数据库会不会炸,反正我快炸了。当时说没考虑这么高的并发量,后来发现也是可以用消息队列来解决,对流量削峰填谷。面试官: 好项目聊(怼)完了,我们来说说别的,操作系统了解吧,你能说说 NIO 吗?我: NIO 是。。。面试官: 那你知道 NIO 的系统调用有哪些吗,具体是怎么实现的?我: 当时复习 NIO 的时候就知道是咋回事,不知道咋实现。最近在补这方面的知识,可见 NIO 还是很重要的!面试官: 说说进程切换时操作系统都会发生什么?我: 不如杀了我,我最讨厌操作系统了。简单说了下,可能不对,需要答案自行百度。面试官: 说说线程池?答: 卧槽这我熟啊,把 Java 并发编程的艺术里讲的都说出来了,说了得有十分钟,自夸一波,毕竟这本书我看了五遍????面试官: 好问问计网吧如果设计一个聊天系统,应该用 TCP 还是 UDP?为什么我: 当然是 TCP!原因如下:面试官: 好的,你有什么要问我的吗?我: 我还有下一次面试吗?面试官: 应该。应该有的,一周内吧。还告诉我居然转正前要实习三个月?wtf,一个大三满课的本科生让我如何在八月底前实习三个月?我: 面试官再见三面 (46 分钟)3.18 号,三面来了,这次又是那个大大 boss!第一步还是先自我介绍,这个就不多说了,提前准备好要说的重点就没问题!面试官: 聊聊你的项目?我: 经过二面的教训,我迅速学习了一下分布式的理论知识,并应用到了我的项目(吹牛逼)中。面试官: 看你用到了 Spring 的事务机制,你能说下 Spring 的事务传播吗?我: 完了这个问题好像没准备,虽然之前刷知乎看到过。。。我就只说出来一条,面试官说其实这个有很多机制的,比如事务嵌套,内事务回滚外事务回滚都会有不同情况,你可以回去看看。面试官: 说说你的分布式事务解决方案?我: 我叭叭的照着资料查到的解决方案说了一通,面试官怎么好像没大听懂???阿里巴巴之前开源了一个分布式 Fescar(一种易于使用,高性能,基于 Java 的开源分布式事务解决方案),后来,Ant Financial 加入 Fescar,使其成为一个更加中立和开放的分布式交易社区,Fescar 重命名为 Seata。Github 地址:https://github.com/seata/seata面试官: 好,我们聊聊其他项目,说说你这个 MapReduce 项目?MapReduce 原理了解过吗?我: 我叭叭地说了一通,面试官好像觉得这个项目太简单了。要不是没项目,我会把我的实验写上吗???面试官: 你这个手写 BP 神经网络是干了啥?我: 这是我选修机器学习课程时的一个作业,我又对它进行了扩展。面试官: 你能说说为什么调整权值时要沿着梯度下降的方向?我: 老大,你太厉害了,怎么什么都懂。我压根没准备这个项目。。。没想到会问,做过去好几个月了,加上当时一紧张就忘了,后来想起来大概是….。面试官: 好我们问问基础知识吧,说说什么叫 xisuo?我:???xisuo,您说什么,不好意思我没听清。(这面试官有点口音。。。)就是 xisuo 啊!xisuo 你不知道吗?。。。尴尬了十几秒后我终于意识到,他在说死锁!!!面试官: 假如 A 账户给 B 账户转钱,会发生 xisuo 吗?能具体说说吗?我: 当时答的不好,后来发现面试官又是想问分布式,具体答案参考这个:https://blog.csdn.net/taylorc…面试官: 为什么不考研?我: 不喜欢学术氛围,巴拉巴拉。面试官: 你有什么问题吗?我: 我还有下一面吗。。。面试官说让我等,一周内答复。等了十天,一度以为我凉了,内推人说我流程到 HR 了,让我等着吧可能 HR 太忙了,3.28 号 HR 打来了电话,当时在教室,我直接飞了出去。HR 面面试官: 你好啊,先自我介绍下吧我: 巴拉巴拉….HR 面的技术面试和技术面的还是有所区别的!面试官人特别好,一听就是很会说话的小姐姐!说我这里给你悄悄透露下,你的评级是 A 哦!接下来就是几个经典 HR 面挂人的问题,什么难给我来什么,我看别人的 HR 面怎么都是聊聊天。。。面试官: 你为什么选择支付宝呢,你怎么看待支付宝?我: 我从个人情怀,公司理念,环境氛围,市场价值,趋势导向分析了一波(说白了就是疯狂夸支付宝,不过说实话我说的那些一点都没撒谎,阿里确实做到了。比如我举了个雷军和格力打赌 5 年 2000 亿销售额,大部分企业家关注的是利益,而马云更关注的是真的为人类为世界做一些事情,利益不是第一位的。)面试官: 明白了解,那你的优点我们都很明了了,你能说说你的缺点吗?缺点肯定不能是目标岗位需要的关键能力!!!总之,记住一点,面试官问你这个问题的话,你可以说一些不影响你这个职位工作需要的一些缺点。比如你面试后端工程师,面试官问你的缺点是什么的话,你可以这样说:自己比较内向,平时不太爱与人交流,但是考虑到以后可能要和客户沟通,自己正在努力改。我: 据说这是 HR 面最难的一个问题。。。我当时翻了好几天的知乎才找到一个合适的,也符合我的答案:我有时候会表现的不太自信,比如阿里的内推二月份就开始了,其实我当时已经复习了很久了,但是老是觉得自己还不行,不敢投简历,于是又把书看了一遍才投的,当时也是舍友怂恿一波才投的,面了之后发现其实自己也没有很差。(划重点,一定要把自己的缺点圆回来)。面试官: HR 好像不太满意我的答案,继续问我还有缺点吗?我: 我说比较容易紧张吧,举了自己大一面实验室因为紧张没进去的例子,后来不断调整心态,现在已经好很多了。接下来又是个好难的问题。面试官: BAT 都给你 offer 了,你怎么选?其实我当时好想说,BT 是什么?不好意思我只知道阿里。我 : 哈哈哈哈开玩笑,就说了阿里的文化,支付宝给我们带来很多便利,想加入支付宝为人类做贡献!最后 HR 问了我实习时间,现在大几之类的问题,说肯定会给我发 offer 的,让我等着就好了,希望过两天能收到好的结果。公众号如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。《Java面试突击》: 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本公众号后台回复 “Java面试突击” 即可免费领取!Java工程师必备学习资源: 一些Java工程师常用学习资源公众号后台回复关键字 “1” 即可免费无套路获取。 ...

April 15, 2019 · 2 min · jiezi

原来,阿里工程师才是隐藏的“修图高手”!

摘要: 近些年,深度学习飞速发展,在很多领域(图像、语音、自然语言处理、推荐搜素等)展现出了巨大的优势。多模态表征研究也进行入深度学习时代,各种模态融合策略层出不穷。阿里妹导读:在现实世界中,信息通常以不同的模态同时出现。这里提到的模态主要指信息的来源或者形式。例如在淘宝场景中,每个商品通常包含标题、商品短视频、主图、附图、各种商品属性(类目,价格,销量,评价信息等)、详情描述等,这里的每一个维度的信息就代表了一个模态。如何将所有模态的信息进行融合,进而获得一个综合的特征表示,这就是多模态表征要解决的问题。今天,我们就来探索多模态表征感知网络,了解这项拿过冠军的技术。作者 | 越丰、箫疯、裕宏、华棠摘要近些年,深度学习飞速发展,在很多领域(图像、语音、自然语言处理、推荐搜素等)展现出了巨大的优势。多模态表征研究也进行入深度学习时代,各种模态融合策略层出不穷。在这里,我们主要对图像和文本这两个最常见的模型融合进行探索,并在2个多模态融合场景中取得了目前最好的效果。在文本编辑图像场景中,我们提出了双线性残差层 ( Bilinear Residual Layer ),对图像和文本两个模态的特征进行双线性表示 ( Bilinear Representation),用来自动学习图像特征和文本特征间更优的融合方式。在时尚图像生成场景中(给定文本直接生成对应的图像),我们采用了跨模态注意力机制(Cross Attention)对生成的图像和文本特征进行融合,再生成高清晰度且符合文本描述的时尚图像。最后,在客观评分和主观评分上取得了最好的成绩。文本编辑图像图像编辑是指对模拟图像内容的改动或者修饰,使之满足我们的需要,常见的图像处理软件有Photoshop、ImageReady等。随着人们对于图像编辑需求的日益提升,越来越多的图像要经过类似的后处理。但是图像处理软件使用复杂且需要经过专业的培训,这导致图像编辑流程消耗了大量人力以及时间成本,为解决该问题,一种基于文本的图像编辑手段被提出。基于文本的图像编辑方法通过一段文本描述,自动地编辑源图像使其符合给出的文本描述,从而简化图像编辑流程。例如图1所示,通过基于文本的图像编辑技术可以通过文字命令改变模特衣服的颜色,纹理甚至款式。然而,基于文本的图像编辑技术目前仍然难以实现,原因是文本和图像是跨模态的,要实现一个智能的图像编辑系统则需要同时提取文本和源图像中的关键语义。这使得我们的模型需要很强的表示学习能力。现有方法目前已有一些针对基于文本的图像编辑所提出的方法。他们都采用了强大的图像生成模型GAN(Generative adversarial network)作为基本框架。Hao[1]训练了一个conditional GAN,它将提取出来的text embeddings作为conditional vector和图像特征连接在一起,作为两个模态信息的混合表示,然后通过反卷积操作生成目标图像 (如图2)。Mehmet[2]对以上方法做了改进,他认为特征连接并不是一种好的模态信息融合方式,并用一种可学习参数的特征线性调制方法3去学习图像和文本的联合特征。FiLM减少了模型的参数,同时使得联合特征是可学习的,提高了模型的表示学习能力 (如图3)。我们的工作我们的工作从理论角度分析了连接操作和特征线性调制操作间特征表示能力的优劣,并将这两种方法推广到更一般的形式:双线性 (Bilinear representation)。据此,我们提出表示学习能力更加优越的双线性残差层 (Bilinear Residual Layer),用来自动学习图像特征和文本特征间更优的融合方式。Conditioning的原始形式FiLM形式FiLM源自于将特征乘以0-1之间的向量来模拟注意力机制的想法,FiLM进行特征维度上的仿射变换,即:Bilinear形式经过证明,Bilinear形式可以看做FiLM的进一步推广,它具有更加强大的表示学习能力。证明如下:以上形式等同于:Bilinear的Low-rank简化形式实验结果我们的方法在Caltech-200 bird[5]、Oxford-102 flower[6]以及Fashion Synthesis[7]三个数据集上进行了验证。定性结果如图5所示,第一列为原图,第二列表示Conditional GAN原始形式的方法,第三列表示基于FiLM的方法,最后一列是论文提出的方法。很明显前两者对于复杂图像的编辑会失败,而论文提出的方法得到的图像质量都较高。除此之外,实验还进行了定量分析,尽管对于图像生成任务还很难定量评估,但是本工作采用了近期提出的近似评价指标Inception Score (IS)[8]作为度量标准。由表6可见,我们的方法获得了更高的IS得分,同时在矩阵秩设定为256时,IS得分最高。时尚图像生成在调研多模态融合技术的时候,有一个难点就是文本的描述其实对应到图像上局部区域的特性。例如图7,Long sleeve对应了图像中衣服袖子的区域,并且是长袖。另外,整个文本描述的特性对应的是整个图像的区域。基于这个考虑,我们认为图像和文本需要全局和局部特征描述,图像全局特征描述对应到整个图像的特征,局部特征对应图像每个区域的特征。文本的全局特征对应整个句子的特征,文本的局部特征对应每个单词的特征。然后文本和图像的全局和局部区域进行特征融合。针对这种融合策略,我们在时尚图像生成任务上进行了实验。时尚图像生成(FashionGEN)是第一届Workshop On Computer VisionFor Fashion, Art And Design中一个比赛,这个比赛的任务是通过文本的描述生成高清晰度且符合文本描述的商品图像。我们在这个比赛中客观评分和人工评分上均获得的第一,并取得了这个比赛的冠军。我们的方法我们方法基于细粒度的跨模态注意力,主要思路是将不同模态的数据(文本、图像)映射到同一特征空间中计算相似度,从而学习文本中每个单词语义和图像局部区域特征的对应关系,辅助生成符合文本描述的细粒度时尚图像,如图7所示。传统的基于文本的图像生成方法通常只学习句子和图像整体的语义关联,缺乏对服装细节纹理或设计的建模。为了改进这一问题,我们引入了跨模态注意力机制。如图8左边区域,已知图像的局部特征,可以计算句子中不同单词对区域特征的重要性,而句子语义可以视为基于重要性权重的动态表示。跨模态注意力可以将图片与文字的语义关联在更加精细的局部特征层级上建模,有益于细粒度时尚图像的生成。我们用bi-LSTM作为文本编码器,GAN作为对抗生成模型,并将生成过程分为由粗到精,逐步增加分辨率的两个阶段:第一阶段利用句子的整体语义和随机输入学习图像在大尺度上的整体结构。第二阶段利用单词层级的语义在第一阶段低分辨率输出上做局部细节的修正和渲染,得到细粒度的高分辨率时尚图像输出。对抗生成网络传统的生成式对抗网络由判别器和生成器两部分组成,判别器的目标是判别生成图像是否在真实数据集的分布中,而生成器的目标是尽可能的骗过判别器生成逼近真实数据集的图像,通过两者的迭代更新,最终达到理论上的纳什均衡点。这个过程被称为对抗训练,对抗训练的提出为建立图像等复杂数据分布建立了可能性。基于跨模态注意力的相似性图像-文本相似性对于第i个单词,我们最终可以建立不同区域特征的加权和(越相似赋予越大的权重):M为batchsize的大小。文本-图像相似性同理的,文本-图像的相似性可以形式化为:全局相似性通过优化以上损失函数,我们最终得到的生成的服装图片的效果图如下所示:附上算法效果图:总结我们主要对图像和文本这两个最常见的模型融合进行探索,在文本编辑图像任务上,我们提出基于双线性残差层 (Bilinear Residual Layer)的图文融合策略,并取得了最好的效果,相关工作已经发表在ICASSP 2019上,点击文末“阅读原文”即可查看论文。在时尚图像生成任务上,我们使用了细粒度的跨模态融合策略,并在FashionGen竞赛中取得第一。关于我们阿里安全图灵实验室专注于AI在安全和平台治理领域的应用,涵盖风控、知识产权、智能云服务和新零售等商业场景,以及医疗、教育、出行等数亿用户相关的生活场景,已申请专利上百项。2018年12月,阿里安全图灵实验室正式对外推出“安全AI”,并总结其在知识产权保护、新零售、内容安全等领域进行深度应用的成果:2018年全年,内容安全AI调用量达到1.5万亿次;知识产权AI正在为上千个原创商家的3000多个原创商品提供电子“出生证”——线上与全平台商品图片对比,智能化完成原创性校验,作为原创商家电子备案及后续维权的重要依据;新零售场景的防盗损对小偷等识别精准度达到100%。本文作者:越丰阅读原文本文来自云栖社区合作伙伴“ 阿里技术”,如需转载请联系原作者。

April 10, 2019 · 1 min · jiezi

阿里巴巴资深技术专家无相:我们能从 InteliJ IDEA 中学到什么?

本文来源于阿里巴巴资深技术专家无相在内网的分享,阿里巴巴中间件受权发布。最近因为工作的关系,要将 Eclipse 的插件升级为 IDEA 插件。升级过程中,对 IDEA 插件做了些学习和研究,希望通过本文,对“为什么收费的 InteliJ IDEA 会比免费的 Eclipse有着更好的用户口碑“这一现象,提供些个人的思考。通过这篇文章,您将了解到心流与人体工效的重要性,并使自己变得更强大,文章将从以下几点展开:InteliJ IDEA 当前的市场情况与表现;IntelliJ IDEA 成功的原因;IntelliJ IDEA 在 IDE 设计器领域胜出的两个关键点;IntelliJ IDEA 对现实工作的启示;充分利用 IntelliJ IDEA 插件,使自己变得更强大;InteliJ IDEA 的市场情况与表现是如何?2012年开始,IntelliJ IDEA 便迅速崛起,到了2016年,就占领了开发者市场的 46% 分额。直至2018的最新结果:IntelliJ IDEA 的市场份额增长到了 55.4%,显然赢得了18年 Java 领域的 IDE 王者之战,甚至还有重构的大师 Martin Fowler 在他著名的blog上,对 IntelliJ IDEA 赞誉有加。而且根据 IDEA 的产品满意度调查,其满意度竟高达 98%。从外国学者角度,分析 IntelliJ IDEA 为何成功很多国外学者也研究了 IDEA,它的成功之处归结起来有以下两点:1. 产品功能上的成功:代码的智能提示: IDEA 自主开发语言解释器,做了深度的静态分析,让编程更加智能与高效,这是一项杀手级的特色功能;没有保存按钮:每一个你想使用功能,都有快捷键;性能非常好,用户的体验及其流畅;IDEA 不仅对核心插件进行维护, 还提供了优秀的工具集,给予用户一致的UX范式体验;2. 营销策略上的成功:以产品为核心和根本,以 “更好用” 的设计理念和原则打败了很多竞争者;IDEA 没有销售团队,但是霸气的营销口号体现了其内容营销的核心逻辑:”Try it. Test it. If you feel its better, use it“ ,没有多余的营销,真正做到用产品说话;相信大部分程序员,对 IDEA 的特性已经非常熟悉了。 接下来,我们将分析其真正强大的原因。在 IDE 设计器领域里,IntelliJ IDEA 为何能胜出?IDEA 的风靡与崛起,在于它遵从了两个关键的设计哲学:1. 不打断心流Every aspect of IntelliJ IDEA is designed with ergonomics in mind. IntelliJ IDEA is built around the idea that every minute a developer spends in the flow) is a good minute, and things that break developers out of flow are bad things. Every design and implementation decision considers the possibility of interrupting developer’s flow and seeks to eliminate or minimize it.(这句话美得我不想翻译。)“Creative Flow” or just “Flow” is a state of mind where you feel evenly attuned, and focused on the task at hand.创造心流是一种思考状态,是你感觉平和或专注于手头的任务的时刻,通俗的理解就是当你沉浸一件事时,有一种忘记时间与空间的感觉。心流会让你处于你最佳的意识状态,McKinsey 在2010年的研究表明,当你处于心流状态,你的工作效率比非心流状态下的工作效率提高 500%。通过这种设计理念的学习,不禁畅想:如果越来越多的阿里产品,像IntelliJ IDEA的的产品体验一样,让人处于心流,高效完成任务,整体的生产效率将会成倍提升。2. 人体工效学IntelliJ IDEA 宣称用人体工效学来设计IDEA, 即 ”The capable and ergonomic IDE for JVM“。我们简要地科普一下人体工效学:这是一门专注研究人体舒适,通过产品设计减少疲劳、不舒适的科学。在家居设计和人体工程学上,都会重点考虑这种设计理念,让人们在使用时感受到更舒适、更高效率与更少的压力。接下来例举两个人体工效学的经典例子:1. 客服耳机如果没有佩戴式耳机的出现,客服同学估计会疯掉。1. 一撕得的包装箱一撕得的包装纸质量、胶水质量、人体工效学的拉链式设计,这三种要素在纸箱界都是业界第一。人体工效学对软件设计的提示:统一的UX风格设计;将复杂任务变成简单任务;将长任务分解成短任务;因为人类的有记忆力的限制,所以要适当提供提醒,提供关键的辅助给用户,让他们完全沉浸在核心工作中,不被打断。(更多提示,可以看参加文献的第5篇文章。)如果想体验一下人体工程学的设计,IDEA的快捷键与无保存按钮,你立刻就会明白。对我们现实工作有哪些启示?经过团队的讨论,我们认为 IDEA 的增长飞轮在于:优秀的设计理念,卓越的产品体验,InteliJ IDEA 开放的社区,免费与专业收费并行的商业模式。IDEA 不断更新迭代的路径就是用更好的产品体验,吸引到更多的用户,用户贡献了更多的利润,用来吸收更多的优秀人才,一起开发更好的产品。这给予我们现实工作的指导意义,产品要回归至以人为中心的设计理念:心流的提示:罗列出用户的任务,让用户尽可能处于心流状态,消灭导致任务低效的因素;人体工效学提示:我们在设计产品时,要充分考虑用户使用产品的场景,这是一个一体化的设计,就像星环产品设计。写代码只是软件研发的一环,需求创意提出、需求研发上线、业务商业分析这些整体环节都要考虑,让用户舒适地完成任务;智能提示:采用人工智能来提升任务的完成效率。IntelliJ IDEA的智能代码提示,是一个经典的案例;最后:我个人会将心流与人体工效学的设计思想,融入至技术产品设计过程中,期待我们团队的实践篇。小编推荐两款创造心流的 IDE 插件:1. 热替换利器:JRebel一款热部署插件,帮助开发者在项目处于运行状态下任意修改 Java 文件并动态反馈到运行的项目中。点击了解更多2. 开发测试必备部署神器:Cloud Toolkit帮助开发者更高效地开发、测试、诊断并部署应用,利用此插件,能够方便地将本地应用一键部署到任意机器(了解更多:体验链接)。参考文献https://www.javaworld.com/article/3114167/development-tools/choosing-your-java-ide.htmlhttps://www.youtube.com/watch?v=Eyy9ddRgMX8http://catalyticcolor.com/scientific-research-about-flow/https://en.wikipedia.org/wiki/Flow_(psychology))http://ergo.human.cornell.edu/ahtutorials/interface.html本文作者:无相,阿里巴巴资深技术专家,多年担任汇金平台的架构师,是阿里tbbpm工作流引擎的作者。曾在阿里云负责过云产品 0 至 1 的商业化,最近几年在负责阿里的店铺&详情等系统的中台建设。目前,新零售业务平台正在招聘优质架构师,欢迎投简历到 wuxiang#alibaba-inc.com 邮箱。本文作者:中间件小哥阅读原文本文为云栖社区原创内容,未经允许不得转载。 ...

April 8, 2019 · 1 min · jiezi

如何准备阿里技术面试?终面官现身说法!

春暖花开的季节,阿里巴巴的春招面试正如火如荼地进行着。相信同学们也在面试这块做了许多准备,那么,参加阿里的面试需要注意些什么?今天,我们特别邀请到资深终面官永叔给同学们送上最实用的面试秘籍。嘉宾简介:永叔,资深算法专家,5届校招终面官,历任职于淘宝、阿里妈妈、搜索、优酷等多个部门,主要研究方向为大规模分布式机器学习算法,多模态交互搜索推荐系统,算法博弈论。Q:面试官看简历,最关注哪些部分?A:导师和实验室、研究方向都会关注,还有他的论文,我们都会提前去下载来看,并提前准备问题。其他信息我们会也看看有没有加分项。细节上,邮箱的名字能看出来有些同学很重视细节。TIPS:简历第一页一定要把最关键的信息写上,简历篇幅不要太长。Q:面试过这么多同学,您对同学们有什么面试忠告?A:面试的基本要点很多,很多同学容易犯的一些小问题,我总结几个点分享给大家:1、一定不要迟到,这是起码的尊重。对面试官也是这样的要求。2、对简历内容要有准备。对自己的突出点,包括技术/个性上的亮点,要练习表达,避免临时组织语言。3、尊重事实,如实回答。每个同学擅长点不同,面试官风格也不同,问到自己不清楚的地方,请不要试图去强掰,实事求是回答就好。4、心态放平。碰到压力面试的时候,不要试图去挑起PK的氛围。在面试过程中,面试官的最终目标是希望帮助面试同学,找到问题最优解。做好自己,平时多加练习。Q:面试到底面哪些维度?同学们需要怎么准备?A:阿里的用人理念是非凡人、平常心、做非凡事。我们期待的人员特质是聪明、乐观、皮实、自省。下面用技术类的同学举个例子:计算机类的同学,我们更关注基础。公司有一套完整的流程体系去培养一个工程师,面试更多是基础素质的考察,比如概率、矩阵等。不用特意准备,但基础的知识还是需要去复习的。此外,我们更多看的是你思考的路径,思考的工具和方法,你应对问题的反应如何,过程中融入一些软技能的考察。当然,我们还会考察学生的潜力。自己的项目经历,论文等,这一块的考察我们首先会确认真实性,更多的会关注细节。千万不要把别人的项目写到自己的项目里面,一旦发现后果很严重。另外,Coding能力是必须的,建议一定要练习,并且我们有速度要求。面试官面试过程中会要求在线写代码,实时同步过程。主要考察编码风格、准确性、熟练程度。毕竟没有哪个面试官会用一个在工作技能上无法和团队合作开展工作的人。Q:学历是不是招聘门槛?A: 我们只以能力论英雄,不会看学历。这几年的面试过程中,我们发现一个现象:很多优秀的同学,在日常学习中会主动去了解、重视企业需要的能力项,并不断通过自学习去拉近自己与目标值的距离。这个是非常好的趋势。Q:哪些因素会导致同学面试不通过?A: 我们不会因为学生某个能力不足就PASS掉。面试是一个逐步肯定的过程,不是一个否定的过程。一般面试官最后都会问,你有什么问题要问我的吗?其实面试官希望知道的是同学对职位/部门/公司是否有了解,基于你了解的信息你有什么样的问题,如何在这个环节提出高质量的问题,也反应出来你对这个面试是否重视。但很遗憾,这个环节能回答好的同学并不多。最后这个提问机会是给到他展示自己综合能力的机会,但很多人却把这当做面试结果“comfirm”的环节。还有同学拿问题去考面试官,或者纠结于某个问题应该怎么去回答,完全忘记了面试是展示自己,不是学习交流,也不是PK。Q:如果碰到特殊情况,同学该怎么做?A:整个面试的节奏是面试官和同学共同营造的,所以需要有明显的节奏感。有些问题同学确实任何想法都没有的,或者觉得题意不清晰,一定要确认清楚,请求面试官的确认。现场状态不OK的情况下,一定要说NO,不用去迎合面试官,比如电话质量很差。我们要的是展示自己,面试官做的是协助同学展示最好的自己。Q:说说您面试过哪个同学,让您印象最深刻?A:2018年,我面试过一个同学,目前他已经入职我的团队,面试的时候他提到自己的生活习惯,对管理自己的时间还是很有想法的,自律程度让人吃惊。入职之后,这个同学他也是这么做的,每天早上6-9点是他的学习时间。每天早上6点钟-8点在家看书,8点到公司后,继续再看1个小时的书,风雨无阻。他学习结束,其他人才刚到公司。工作之余,他还投入在工作论文的发表上,刚投出去2篇。业务上,他现在是我们团队的骨干力量。从对他的观察里面,不难发现,优秀的同学基本都来自于高度的自律。Q:您经历过的最糟糕的面试是什么?A:我曾经面试过一类候选人,2分钟的自我介绍候选人滔滔不绝,没有重点,所有问题都会发散,整个面试的过程一直在show off自己,但没有get到问题的关键点。整个面试体验是非常糟糕的。Q:很多学生困惑于该怎么选择岗位,您有什么建议呢?A:尽可能了解这个岗位未来的职业发展是什么样的,是否具备岗位的敲门砖。阿里不同部门内推信息网上有很多,可以找相关的师兄去问。同时,可以去做一些测评,看看自己是否对自我有足够的认知。本文作者:春招火热进行中的阅读原文本文来自云栖社区合作伙伴“ 阿里技术”,如需转载请联系原作者。

April 8, 2019 · 1 min · jiezi

重拾 Java 基础

引言最近好久没有遇到技术瓶颈了,思考得自然少了,每天都是重复性的工作。阿里开始招实习,同学问我要不要去申请阿里的实习,我说不去,个人对阿里的印象不好。记得去年阿里给我发了邮件,我很认真地回复,然后他不理我了。(最起码的尊重都没有,就算我菜你起码回复我一下啊?)这种不尊重人的公司感觉去了也不快乐,当程序员最重要的就是快乐,不快乐写什么代码?电话面同学很友好地分享了他的阿里电话面经验。问的都是看功底的问题,和开发经验无关(估计写上个几年代码不写框架应该也不知道这个)。Java中的HashMap、transient、volatile、HTTP301/302、生产者消费者算法。HashMap都问烂了,问的是HashMap的底层原理,我知道你们自己写过JDK,请不要再问我HashMap里的put操作是怎么实现的了!问源码的真的很讨厌,有什么意义吗?看过的就能答上,没看过的就答不上。基础学习transient这并不是第一次听到transient这个词了,之前也用过,当我们使用YunzhiService进行综合查询时,我们会在实体中构造不映射到数据表的属性用于查询。对于这些不映射为数据表字段的属性,我们使用@Transient注解。那Java中被transient修饰又是什么意思呢?为什么要有transient?StackOverflow的解释通俗易懂。The transient keyword in Java is used to indicate that a field should not be part of the serialization (which means saved, like to a file) process.Java中的transient关键字,意味着该字段不参与序列化,意味着不被保存,例如输出到文件中。序列化?fastjson应该用到了这个关键字。厉害厉害,fastjson开发团队基本功扎实。volatile这个关键字也不知道怎么能给大家通俗的讲出来,还是从实际的小例子出发吧?大家回忆一下我们之前的单例模式,单例模式很常用,这个是必须要会的。这是有问题的懒汉模式,多线程的时候就不能保持单例了。public class Singleton { private static Singleton instance; private Singleton() { } public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; }}修正之前的问题纠正一下之前博客中的一个问题,之前这样写虽然也能实现,但是效率极低,因为每次getInstance的时候都会被synchronized阻塞。public class Singleton { private static Singleton instance; private Singleton() { } public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return instance; }}为了效率,不能在方法上加锁,所以需要在新建单例的时候加锁,保证只要只有一个单例被new出来。看起来是没问题的,因为我们想当然的以为,一个线程new出来的Singleton,赋值给instance,然后另一个线程获取到的instance就一定不是空。实际上呢?CPU结构让我们来看Youtube上的一张图:在CPU内部结构中,thread-1和thread-2运行在不同的核心上,每个核心有一个local cache,两个线程执行时,会将变量从shared cache读取到local cache。所以thread-1把flag内容改变了,但是thread-2获取的flag还是从local cache中获取的,所以还是true。直到,thread-1的flag更新到shared cache,然后再更新到thread-2的local cache,thread-2才知道flag变了。所以我们的单例也一样,线程A新建了单例,然后其他线程再获取的时候,不一定是线程A所创建的单例对象。拯救世界volatile来拯救世界了。private static volatile Singleton instance;volatile做了两件事,强制将local cache写入到shared cache,同时使其他核心中的local cache对该数据的缓存无效。所以,完整的单例应该是这样:public class Singleton { private static volatile Singleton instance; private Singleton() { } public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return instance; }}真正的单例上面的讲解只是为了让大家了解Java中volatile的作用,实际的单例并不这样实现,而是使用私有静态内部类实现懒汉模式,当访问getInstance方法时,才加载Holder类,实例化单例。public class Singleton { private static class Holder { private static Singleton instance = new Singleton(); } private Singleton() { } public static Singleton getInstance() { return Holder.instance; }}呼,长出了一口气,两个晚上了,总算把volatile自己学会然后讲明白了,这个应该是发生的概率很小很小,我为了让volatile的验证让大家都看到,使用JDK自带的线程池,模拟实际的多线程环境,分别执行自己的测试代码,但还是没出现问题。HTTP 301/302去火狐开发者文档看看:301 Moved Permanently永久重定向,请求的资源已经被移动到了由Location头部指定的url上,搜索引擎会根据该响应修正。HTTP升级到HTTPS时应该能用到。302 Found临时重定向,请求的资源被暂时的移动到了由Location头部指定的url上。浏览器会重定向到这个url,但是搜索引擎不会对该资源的链接进行更新。可能会在某个后台服务瘫痪的时候再转给别的后台服务器时用到?生产者消费者至于最后的生产者消费者算法问题,我觉得意义不大,毕竟操作系统的课本出自七位河北工业大学操作系统教师之手。JDK中有阻塞队列,用的就是生产者消费者模型。用到的时候再说吧。总结每个人都是优秀的人,每个人都值得尊敬。软件生而自由,不受世俗污染,不受凡尘打扰,我祝愿每一位软件工程师都能生活在自由、快乐之中。 ...

March 26, 2019 · 1 min · jiezi

阿里巴巴微服务开源项目盘点(持续更新)

大前端、微服务、数据库、更多精彩,尽在开发者分会场【Apache Dubbo】Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,是国内影响力最大、使用最广泛的开源服务框架之一,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。在2016年、2017、2018年开源中国发起的最受欢迎的中国开源软件评选中,连续三年进入Top10名单。2019年2月Dubbo发布了2.7.0,这一版本将用于Apache 基金会的正式毕业。项目地址:https://github.com/apache/incubator-dubbo最新动态:探秘 Dubbo 的度量统计基础设施 - Dubbo MetricsDubbo 生态添新兵,Dubbo Admin 发布 v0.1谁正在用:https://github.com/apache/incubator-dubbo/issues/1012媒体报道:Dubbo作者亲述:那些辉煌、沉寂与重生的故事【Apache RocketMQ】Apache RocketMQ 是一款分布式消息引擎,具备「低延迟」、「高性能」、「高可靠性」等特点,可满足兆级容量和可扩展性的需求。它是国内首个非 Hadoop 生态体系的Apache 社区顶级项目,根据项目毕业前的统计,RocketMQ有百分八十的新特性与生态集成来自于社区的贡献。项目地址:https://github.com/apache/rocketmq最新动态:Apache RocketMQ 发布 v4.4.0,新添权限控制和消息轨迹特性谁正在用:RocketMQ 在平安银行的实践和应用滴滴出行基于RocketMQ构建企业级消息队列服务的实践【OpenMessaging】OpenMessaging开源项目于2017年正式入驻Linux基金会,是国内首个在全球范围发起的分布式计算领域的国际标准。OpenMessaging开源标准社区的企业达10家之多,包括阿里巴巴、Datapipeline、滴滴出行、浩鲸科技、京东商城、青云QingCloud、Streamlio、微众银行、Yahoo、中国移动苏州研发中心(按首字母排序),此外,还获得了RocketMQ、RabbitMQ和Pulsar 3个顶级消息开源厂商的支持。项目地址:https://github.com/openmessaging/openmessaging-java首个由国内发起的分布式消息领域的国际标准OpenMessaging一周年回顾【Nacos】Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供「注册中心」、「配置中心」和「动态DNS服务」三大功能。项目地址:https://github.com/alibaba/nacos谁正在用:https://github.com/alibaba/nacos/issues/273虎牙直播在微服务改造方面的实践和总结最新动态:Nacos Committers 团队首亮相,发布 0.9.0 版本背后的故事最佳实践阿里巴巴基于 Nacos 实现环境隔离的实践如何打通CMDB,实现就近访问【Sentinel】Sentinel 承接阿里巴巴近10年双十一大促流量的核心场景,以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。其提供丰富的应用场景支持、完备的监控能力、易用的拓展点。项目地址:https://github.com/alibaba/sentinel最新动态:https://dwz.cn/faH9eKHH背后的故事媒体专访:限流熔断技术选型:从Hystrix到Sentinel最佳实践快速体验 Sentinel 集群限流功能,只需简单几步【Arthas】Arthas 是一款 Java 线上诊断工具,可有效解决开发过程中遇到的各类诊断难题。2018年9月,阿里将内部广泛使用的java线上诊断工具进行开源,取名arthas(阿尔萨斯)。也许是击中了开发者线上排查问题的痛点,Arthas在距离开源后的第一个Release 版发布仅 147 天,就获得了超过1w的star数,并有40多位contributors参与开源贡献。项目地址:https://github.com/alibaba/arthas最新动态:新的开始 | Arthas GitHub Star 破万后的回顾和展望【Spring Cloud Alibaba】Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,提供包括「服务限流降级」、「服务注册与发现」、「分布式配置管理」和「阿里云对象存储」等主要功能。项目地址:https://github.com/spring-cloud-incubator/spring-cloud-alibaba最新动态:Spring Cloud Alibaba发布第二个版本,Spring 发来贺电媒体报道:Spring Cloud Alibaba,中国 Javaer 的福音,为微服务续上 18 年【Fescar】Fescar 是阿里巴巴2019年1月开源的一套分布式事务中间件,Fescar 的愿景是让分布式事务的使用像现在本地事务的使用一样简单、高效,最终的目标是希望可以适用于所有的分布式事务场景。项目地址:https://github.com/alibaba/Fescar• 最佳实践集成源码深度剖析:Fescar x Spring Cloud分布式事务中间件 Fescar—RM 模块源码解读*阿里热门开源项目↓↓↓↓↓海量资源点击领取更有kindle、技术图书抽奖活动,百分百中奖本文作者:中间件小哥阅读原文本文为云栖社区原创内容,未经允许不得转载。

March 19, 2019 · 1 min · jiezi

走进阿里——参加阿里培训《百年阿里》有感

百年阿里是阿里巴巴新人入职培训的名字,简称为百阿。笔者年前入职了阿里巴巴CBU事业部,在3月4日-14期间参加了百阿培训。培训过程中略有些感慨,特记录于此。1. 启程我最初是不怎么想去百阿的。一方面我在腾讯摸爬滚打了几年,自觉已经是个“心智成熟”的老司机,很难被感染;另外一方面是我住在滨江区,让我每天跨域大半个杭城,9点前到达西溪园区的培训教室,实在是有点痛苦。但在我内心深处,其实也对百阿有所期待——来阿里一个多月了,对阿里的快节奏还是很不适应。加上还要准备婚礼等相关事宜,经常性的焦头烂额,甚至还思考过抛弃腾讯那个舒适的环境跑来阿里是否是个正确的选择。在这种情况下,我渴望着一个尽快融入的机会,哪怕是被灌一碗能喝的下去的鸡汤也行。就在这种纠结的心情下,我开始了我的百阿之旅。2. 我的百阿经历2.1 形式:自我探寻而不是PPT宣导很多大公司的社招培训其实只有两天,主要内容就是给你放PPT,但是百阿主要是以自我探寻为主。想知道阿里日是什么?出门去食堂门口堵老员工们做访谈。想知道阿里土话的由来、各大BU的历史?还是去做访谈——甚至要去别人工位上采访。光访谈还不行,还要回来做分享。分享的形势还不限,这一下真是八仙过海各显神通:有照相的、拍小视频的、搞情景剧的,不一而足。说实在话,刚开始的时候,厚着脸皮去问然后被拒绝真是尴尬死了。但是在这个过程中也经常会有很多很热心的同学们。例如我采访到了一位在阿里呆了13年的老阿里,他告诉我“与其关注阿里日有什么好玩的,不如关注阿里日都展现了怎样的阿里文化”;又比如在采访钉钉事业部的时候我遇到了一位HR小姐姐,和我们BBB了40多分钟,摄像同学的手机都举不住了。因为事事都要访谈,时间一长,百阿的小伙伴都成了脸皮贼厚的存在,这也算一个意外收获吧。阿里日:为了纪念非典时阿里人在家办公的众志成城,而创立的节日。在每年的5月10号举行,阿里百人婚礼是其中最广为人知的部分。2.1 核心:不忌讳说苦在百阿的整个流程中,我印象最深刻的一点就是不忌讳说苦。其实我们很多的培训都只说使命,不说难点。但是百阿不同,它不仅说苦,还大说特说——入职第一年你们会很难适应,后面的日子也不好过,说不上什么时候就要拥抱变化,3.25等等。运筹老师讲的案例也是苦的不行:第一年3.75,然后就因为阴差阳错连拿了两年3.25,甚至都被降了级,然后又拿了3.75,重新升了回来。在不断的阐述中,那些在别处看来不能容忍的痛苦,在阿里也变得没有难么难了。这可能就是阿里人皮实的原因,先降低自己的期望,又喜欢折腾,才能用一颗平凡心做出非凡事。不断的说苦对我也有正向的作用,当我发现大家的landing都不是那么顺利的时候,对自己的疑惑也就消失了。3.75/3.25:阿里实行361制,30%的优秀(3.75及以上),60%的良好(3.5+,3.5,3.5-),10%的不及格(3.25)2.3 额外收获:我的新朋友们除了顺利落地,我还收获了一堆新朋友——这其实是一件必然的事。因为很少你会和层次相同的同龄人如此亲密无间的相处10天,克服一系列的难题。而百阿提供了这样的机会,所以收获一些志同道合的朋友是必然的。因为拥抱变化的缘故,10天中我会经历多个小组。但是就我的经历而言,每位组员都积极的展现了他自己的作用。以访谈钉钉为例,11个人小组在5分钟之内分为了3个3人访谈小组和1个2人资料整理小组,大家各司其职,从下午4点一直奋斗到晚上10点,保证了从访谈到最终成果输出的顺利进行。这种效率和主动性是我所没有见到过的。顺带提一嘴,我所在的小组拿到了最终的第一,只不过没啥奖励。2.4 与合伙人的近距离接触百阿还有一个令我特别动容的环节是合伙人面对面。阿里总共有38个合伙人,是公司各大核心BU的老大。尽管百阿如此频繁,合伙人也会坚持来给百阿学员上课。这是我在腾讯没有过的待遇。这次来给我们上课的是郭靖,集团的秘书长。在3个半小时的讲述中,郭靖详细说了他为什么来阿里,他的工作经历和他眼中的阿里巴巴。我觉得他说的特别真实——既介绍了公司的情况也没有对公司的问题进行回避。上课时我坐在第二排,看着郭靖侃侃而谈,深切的体会到阿里创始人的人格魅力。我觉得这才是阿里味儿——如果说腾讯是靠公司文化不断潜移默化的熏陶,阿里就是从上到下的人格魅力。3. 总结百阿的2个星期很快结束了,但是它带给我的影响远远没有结束。不管是百阿的经历,还是拥抱变化,激情和皮实的价值观,都会帮助我和我的新朋友们,携手在阿里走的更稳更好。

March 17, 2019 · 1 min · jiezi

5面阿里,终获offer(Java后端)

作者:ppxyn。本文来自读者投稿。该文已加入笔主的开源项目——JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目),地址:https://github.com/Snailclimb… 。觉得不错的话,记得点个Star。在接触 Java 之前我接触的比较多的是硬件方面,用的比较多的语言就是C和C++。到了大三我才正式选择 Java 方向,到目前为止使用Java到现在大概有一年多的时间,所以Java算不上很好。刚开始投递的时候,实习刚辞职,也没准备笔试面试,很多东西都忘记了。所以,刚开始我并没有直接就投递阿里,毕竟心里还是有一点点小害怕的。于是,我就先投递了几个不算大的公司来练手,就是想着刷刷经验而已或者说是练练手(ps:还是挺对不起那些公司的)。面了一个月其他公司后,我找了我实验室的学长内推我,后面就有了这5次面试。下面简单的说一下我的这5次面试:4次技术面+1次HR面,希望我的经历能对你有所帮助。一面(技术面)自我介绍(主要讲自己会的技术细节,项目经验,经历那些就一语带过,后面面试官会问你的)。聊聊项目(就是一个很普通的分布式商城,自己做了一些改进),让我画了整个项目的架构图,然后针对项目抛了一系列的提高性能的问题,还问了我做项目的过程中遇到了那些问题,如何解决的,差不读就这些吧。可能是我前面说了我会数据库优化,然后面试官就开始问索引、事务隔离级别、悲观锁和乐观锁、索引、ACID、MVVC这些问题。浏览器输入URL发生了什么? TCP和UDP区别? TCP如何保证传输可靠性?讲下跳表怎么实现的?哈夫曼编码是怎么回事?非递归且不用额外空间(不用栈),如何遍历二叉树后面又问了很多JVM方面的问题,比如Java内存模型、常见的垃圾回收器、双亲委派模型这些你有什么问题要问吗?二面(技术面)自我介绍(主要讲自己会的技术细节,项目经验,经历那些就一语带过,后面面试官会问你的)。操作系统的内存管理机制进程和线程的区别说下你对线程安全的理解volatile 有什么作用 ,sychronized和lock有什么区别ReentrantLock实现原理用过CountDownLatch么?什么场景下用的?AQS底层原理。造成死锁的原因有哪些,如何预防?加锁会带来哪些性能问题。如何解决?HashMap、ConcurrentHashMap源码。HashMap是线程安全的吗?Hashtable呢?ConcurrentHashMap有了解吗?是否可以实习?你有什么问题要问吗?三面(技术面)有没有参加过 ACM 或者他竞赛,有没有拿过什么奖?( 我说我没参加过ACM,本科参加过数学建模竞赛,名次并不好,没拿过什么奖。面试官好像有点失望,然后我又赶紧补充说我和老师一起做过一个项目,目前已经投入使用。面试官还比较感兴趣,后面又和他聊了一下这个项目。)研究生期间,做过什么项目,发过论文吗?有什么成果吗?你觉得你有什么优点和缺点?你觉得你相比于那些比你更优秀的人欠缺什么?有读过什么源码吗?(我说我读过 Java 集合框架和 Netty 的,面试官说 Java 集合前几面一定问的差不多,就不问了,然后就问我 Netty的,我当时很慌啊!)介绍一下自己对 Netty 的认识,为什么要用。说说业务中,Netty 的使用场景。什么是TCP 粘包/拆包,解决办法。Netty线程模型。Dubbo 在使用 Netty 作为网络通讯时候是如何避免粘包与半包问题?讲讲Netty的零拷贝?巴拉巴拉问了好多,我记得有好几个我都没回答上来,心里想着凉凉了啊。用到了那些开源技术、在开源领域做过贡献吗?常见的排序算法及其复杂度,现场写了快排。红黑树,B树的一些问题。讲讲算法及数据结构在实习项目中的用处。自己的未来规划(就简单描述了一下自己未来的设想啊,说的还挺诚恳,面试官好像还挺满意的)你有什么问题要问吗?四面(半个技术面)三面面完当天,晚上9点接到面试电话,感觉像是部门或者项目主管。 这个和之前的面试不大相同,感觉面试官主要考察的是你解决问题的能力、学习能力和团队协作能力。让我讲一个自己觉得最不错的项目。然后就巴拉巴拉的聊,我记得主要是问了项目是如何进行协作的、遇到问题是如何解决的、与他人发生冲突是如何解决的这些。感觉聊了挺久。出现 OOM 后你会怎么排查问题?自己平时是如何学习新技术的?除了 Java 还回去了解其他技术吗?上一段实习经历的收获。NginX如何做负载均衡、常见的负载均衡算法有哪些、一致性哈希的一致性是什么意思、一致性哈希是如何做哈希的你有什么问题问我吗?还有一些其他的,想不起来了,感觉这一面不是偏向技术来问。五面(HR面)自我介绍(主要讲能突出自己的经历,会的编程技术一语带过)。你觉得你有什么优点和缺点?如何克服这些缺点?说一件大学里你自己比较有成就感的一件事情,为此付出了那些努力。你前面跟其他面试官讲过一些你做的项目吧?可以给我讲讲吗?你要考虑到我不是一个做技术的人,怎么让我也听得懂。项目中有什么问题,你怎么解决的?你最大的收获是什么?你目前有面试过其他公司吗?如果让你选,这些公司和阿里,你选哪个?(送分题,回答不好可能送命)你期望的工作地点是哪里?你有什么问题吗?总结可以看出面试官问我的很多问题都是比较常见的问题,所以记得一定要提前准备,还要深入准备,不要回答的太皮毛。很多时候一个问题可能会牵扯出很多问题,遇到不会的问题不要慌,冷静分析,如果你真的回答不上来,也不要担心自己是不是就要挂了,很可能这个问题本身就比较难。表达能力和沟通能力太重要了,一定要提前练一下,我自身就是一个不太会说话的人,所以,面试前我对于自我介绍、项目介绍和一些常见问题都在脑子里练了好久,确保面试的时候能够很清晰和简洁的说出来。等待面试的过程和面试的过程真的好熬人,那段时间我压力也比较大,好在我私下找到学长聊了很多,心情也好了很多。面试之后及时总结,面的好的话,不要得意,尽快准备下一场面试吧!我觉得我还算是比较幸运的,最后也祝大家都能获得心仪的Offer。专注Java知识和面试技能分享!我已经整理好了一份Java 学习必备的书籍+视频+文档汇总,内容比较多,你可以在公众号后台回复关键“1”,我会免费无套路把这些都给你。

March 10, 2019 · 1 min · jiezi

从大山走出的阿里首席通信科学家,这次要重返课堂

“我是一位没上过大学的科学家”,谢崇进在公益课堂上说。讲台下,是450位将要面临高考的乡村学生。不久前,阿里巴巴首席通信科学家谢崇进通过网络视频的方式开课,向广东省汕头市潮南区陇田镇田心中学的学生们分享了他的求学历程。谢崇进出生于安徽马鞍山的乡村,没有上过大学本科,却通过自学考取了北京邮电大学硕士,从而开启科学之路。从安徽到北京、瑞典、美国,他的求知之路遍及多地,曾在被誉为这个星球上最厉害的实验室——美国贝尔实验室工作13年,被评为贝尔实验室杰出研究员。现在,他带领的团队是目前阿里巴巴博士比例最高的团队,科研之余开设公益课堂,他说:我想让乡村的孩子们看到更大的世界。没上过大学本科的科学家,从安徽乡村到美国贝尔实验室“从乡村中学到美国,一直坚持着自学,从而获得今天的成就,谢老师的学习经历让我佩服不已,也同时激励我更加努力学习奋斗,成为为社会造福的人。” 谢崇进的求学故事让田心中学G201班王如妹心中难以平静。这堂特殊的课,在他们心中播下了求知的种子。谢崇进小时候求学条件十分差,直到上初中时才第一次见到书店。“第一次去书店,很吃惊,书店里竟然会有这么多的书。”1985年,初中毕业的谢崇进没有选择上高中、考大学,而是考进了一所中专——山东邮电学校。当时,上中专除了能快点就业,还有着另一个重要的吸引力:可以从农村户口变成城市户口。谢崇进觉得,自己一生中的最大转变就是这次中专求学。在山东邮电学校,他选择了一个全新的专业——微波通讯专业。“我们老师说这是一个很新的专业,我也不知道是干嘛的,就是想学。”他说,“科研工作是什么?就是要探索未知,探索新的事物,发现问题并解决问题。”从微波通讯专业毕业后,谢崇进来到了安徽和县的一个微波站工作。微波站建在偏僻的大山上,他在这里工作了四年,一直利用业余时间自学。令所有人没想到的是,没有上过大学的他,竟然一举考取了北京邮电大学的硕士。彼时,拥有大学本科同等学历证明也可以参加研究生考试。这一次,走出大山的谢崇进沿着科学的道路,越走越远。1999年,在北京邮电大学博士毕业后,他来到了位于瑞典哥德堡的Chalmers技术大学从事博士后研究工作。2001年5月,他凭借优异的表现被美国朗讯公司贝尔实验室录取,成为这个被称为“星球上最伟大的实验室”中的一员。此后,他与光纤通讯研究结缘,从事光纤通信系统研究及网络技术的各个方面,成为光纤通讯领域的杰出科学家,曾经多次获得贝尔实验室主席奖、主席金奖,被评为贝尔实验室杰出研究员。“做科研工作,要对你的研究有充分的兴趣,同时要有好奇心,有想象力,和足够的耐心。”谢崇进对乡村学生们说,鼓励他们勇于畅想自己的未来。海外归国:加入阿里巴巴,推动光通讯行业技术变革加入贝尔实验室后,谢崇进发现,伴随着2000年左右美国电信泡沫破灭,通讯行业逐渐式微,与此同时,一个崭新的行业——互联网开始崛起,Google、微软、Facebook等互联网公司需求成为光通信技术关注的新焦点。谢崇进不知道的是,同一时期,远在大洋彼岸的中国,各大本土互联网公司也开始纷纷创立,崭露头角。2014年11月,已经蜚声海内外的阿里巴巴向谢崇进抛出了橄榄枝。他选择了加入阿里巴巴,成为阿里巴巴基础设施光通讯领域的奠基者。“阿里的平台足够大,对技术的投入也越来越多,假如你做一些技术的东西,通过阿里这个平台会放大,放大之后就会对行业产生一些效应。假如不在这个平台上,你的很多想法也产生不了这么多的影响,我觉得这还是蛮吸引人的。”伴随着中国社会经济的日新月异,阿里巴巴也保持着快速发展,谢崇进开始着手一些过去从未做过的事情,把实验室里的尖端研究落地成行业实际的应用。他感觉,在阿里巴巴,每年都会有一些新的东西在不断创新和变化,推动着他所从事的研究、应用已经进入到世界第一梯队。“我个人觉得,我们在光通讯这块在世界上可以排在第一梯队,有些方面比传统大厂做得还好一些,我能感觉到。”科学家这样做公益:让乡村孩子们看到更大的世界现在,谢崇进经常往返于杭州阿里巴巴总部和美国分公司之间,每一次,他都要回一次安徽老家。家乡正在发生着新的变化,如今乡村的孩子已经拥有了更好的学习条件,逛书店已不再是奢侈的向往。在阿里巴巴,马云对每位员工提出了“每人每年3小时公益”的倡议,让员工发挥自己的特长参与到公益中来。谢崇进选择了通过公益机构视频教学为乡村学生上课,他希望,通过自己的讲述,将希望带给更多的乡村学生。“有些学生并不是很了解外面的世界,给他们讲课,介绍自己的工作,可以增进他们对外界的认知。不过给这些学生讲课也不容易,要讲得深入浅出,还要生动有趣。”过去一年多,已经有40多位阿里巴巴员工成为公益课堂志愿者。除了科学家,他们中间还有工程师、律师、产品经理……通过公益组织途梦教育的在线视频,他们向云南、安徽、贵州、四川等地偏远地区的中学生分享自己的成长经历和职业故事,帮助学生拓展视野,丰富职业认知,并用真实的经历去鼓励学生们勇敢追梦。“能做这样的事情还是蛮有意思的,我还很想前往那些乡村学校,去看看这些孩子们。”谢崇进说。或许,若干年后,这些山村里的孩子能够怀揣着对科学和求知的热忱,走出深山,跨过大洋,在广阔世界中写下属于他们的故事。薪火相传,生生不息。本文作者:阿里技术阅读原文本文来自云栖社区合作伙伴“ 阿里技术”,如需转载请联系原作者。

March 4, 2019 · 1 min · jiezi

一枚戒指,一场仪式,这件事阿里巴巴坚持了15年

为入职满五年的员工举行盛大仪式,为他们每个人戴上私人订制的戒指,是阿里巴巴坚持了15年“五年陈”的传统。1月22日,阿里集团为最新一季的“五年陈”们举行了授戒仪式。2018五年陈小档案2018年,有1867位同学新晋加入五年陈的队伍。在这五年里,45%的五年陈在阿里成了家,有了宝宝。23%的五年陈申请了公司提供的iHOME购房贷款,添置了温馨的小家。技术撑起半边天,58.7%的同学来自技术岗位。90后异军突起,百位以上的90后在阿里也成为了“老”司机。马老师曾说过:“你们是最好的Mentor(导师),你要影响新人,不仅仅在技术上面或者产品服务上面带新人,更重要的是做人道理上面带新人,把你这五年的痛苦经历,把你这五年的残酷的现实,把你这五年内没有丢弃理想的精神传递给新来的人,让他们也成为五年陈。”在今天来参加2018年第四季度授戒仪式的600余位同学中,有90后技术老兵、发光发热的海外五年陈、热心公益的阿里志愿者和智能技术工程师……从他们身上,也许可以破译出阿里“五年陈”的基因密码。这五年过得还挺开心的,我一毕业就直接进了阿里,这几年经历了从学生到社会人的转变。现在还保持着学习以及对新事物的好奇心。五年的心路历程还是感恩,感恩客户、公司、感恩家人以及历任主管,还有曾经努力的自己。这五年,完成了买房、结婚、买车、生娃多件人生大事。还有一个,我自己觉得最骄傲的事情,前面五年基本上在同一个部门一直在坚持着,最近我自己选择主动转岗到一个新业务,清空自己,重新上路。现在和未来正在发生的事情非常精彩,也值得我们去为之奋斗!——盒马小二 书通我觉得五年陈是我人生的一枚勋章。入职三年的时候,我转岗到了优酷内容事业部,重新开始,从头学习去做内容。感谢公司给了我这样的机会,也给了我可以发挥创造力的舞台。我希望接下来在优酷,在我经历了之前一些节目的试练之后,能够做出更温暖人心,给他人带来新知和快乐的内容。今天站在这里,我再次问自己,我非常确信的是我热爱这家公司,我相信正知、正念、正行的公司,一定可以走得非常长远。我也期待更多新的伙伴,可以早日拿到这枚勋章。——优酷小二 匪娃我觉得文化价值观是我们成长非常重要的指引,它是一个可以一层层修炼的“剑谱”。当我们不断把它当作修行的法门时,思维会得到拓展,思考也会更加深,落地能力也会更加高效。我自己觉得这些年来,最大的一个收获是把价值观从规则转变为帮助自己成长的方法论的理解。我从一名小兵到现在去生态公司带600人的团队。我对这家公司最大的帮助,就是将我们的价值观和文化输出过去。我们认为这些价值观有极大的普世性,不只是阿里的,是所有的人内心里面都有这些东西。这是我几年来最大的收获。——蚂蚁金服小二 樊哙每届年陈活动来分享的嘉宾都是重量级的阿里合伙人,今天来的三位要和600余位同学共同回答几个问题,比如,在阿里工作,觉得是快乐多还是苦恼多?对团队当下的业务是信心多还是困惑多……B类事业群资深副总裁 戴珊(MM):在阿里可以做一个真实的自己。每一位五年陈的同学对于阿里来讲都是非常宝贵的财富。在阿里所有经历的欢乐、痛苦、纠结、迷茫、相信,对于很多新来的员工都是一面镜子,甚至像一个灯塔一样立在前面。你们的一句分享,你们的一个行为,都会让这些新来的人,对这个事情或者对于公司更相信、更执着,当他们在困难的时候,拉他们一把,他们可能就留下来了。特别感谢大家在五年前选择阿里,在过去五年里遇到很多纠结、痛苦、快乐,依然还留在这里,真的非常感谢你那份相信和热爱。阿里不是一家完美的公司,永远也不可能成为一家完美的公司,它有很多的问题。所以期待在未来的日子里,我们这帮人依然可以在一起,有那份简单、那份相信,可以让阿里越来越美好,也让那些因为在阿里,而在我们平台上的客户、用户越来越美好。新零售技术事业群副总裁 范禹:当你很痛苦的时候,就逼着你,因为你原先的知识结构、原先的做事方法,已经不能解决这个问题的时候,就要寻找新的方式方法,当我们找到一个解决方案,看到曙光的时候,这种快乐,这也是个人成长比较快的地方。快乐和苦恼,确定跟迷茫是一个迭代的过程。当我们走向更广阔的市场,面向未来的业务时,这可能是一种新的常态,每个人都会面临不确定性、纠结和痛苦,我们需要去成长、去突破,去享受这样一个过程。希望大家去享受在未来面向阿里更多业务场景的时候,我们所需要经历的不确定到确定的过程,这也是我们每一位同学能够成长的过程。蚂蚁金服平台数据技术事业群副总裁 阿玺:我觉得我在阿里还是快乐多,一想着去解决问题,一想着能够给客户带来价值,把技术带到新高度,每天都能看到自己不断往前成长,不断往前迈进,怎么可能还会觉得苦恼?从未想过自己能坚守五年,离开的理由有千万个,留下来的理由,每个人心中都有自己的答案。五年,因为相信,所以看见。这些经历让我们成为了更好的自己。五年,因为责任,所有担当。记得来时路,继续向远方!五年,因爱而美好!阿里的年陈文化“司龄”纪念日是阿里文化中非常有特色的一环:入职一年被称为一年香,表达的是认同;满三年被称为三年醉,意味着“成人”;满五年被称为“五年陈”意义是“传承”。团队会举行特别的仪式,来纪念我们的成长。本文作者:年陈橙阅读原文本文来自云栖社区合作伙伴“ 阿里味儿”,如需转载请联系原作者。

January 24, 2019 · 1 min · jiezi

2019年开发者必读!20位阿里技术大牛们帮你列了一份经典书单!

导读:寒冬中,最值得投资的是学习,是增厚的知识储备。下面就是20位阿里技术大牛们为我们推荐的经典书籍。书籍类型涉及技术、管理、哲学等方面,希望这些书籍陪伴你度过这个漫长的寒冬。1、《硅谷之谜》推荐专家:周正中(德歌)PostgreSQL 中国社区发起人之一,PostgreSQL 象牙塔发起人之一,DBA+社群联合发起人之一,10余项数据库相关专利,现就职于阿里云数据库内核技术组。书籍介绍:吴军,博士,著名自然语言处理和搜索专家,硅谷风险投资人。吴军博士曾经担任Google资深研究员,设计了Google中、日、韩文搜索算法以及Google的自然语言分析器。2010-2012年期间担任腾讯负责搜索和搜索广告等业务的副总裁,后回到Google负责计算机自动问答项目。一本颠覆人们对信息时代的认识、对创新和创业的理解的好书。作者吴军通过介绍硅谷成功的秘诀,揭示了信息时代的特点和方法论。2、《智能时代:大数据与智能革命重新定义未来》推荐专家:林昊(毕玄)、张振祥(隐达)等多位技术大牛联合推荐。书籍介绍:吴军,博士,著名自然语言处理和搜索专家,硅谷风险投资人。大数据和人工智能迅猛发展,对社会和商业的影响日益深刻,从学术界到企业界,智能化浪潮的来临,已经成为共识。可以比肩于大航海时期和工业革命的此次变革浪潮,必然会对我们的技术发展、商业和社会都会产生重大的影响。3、《见识》推荐专家:张振祥(隐达)阿里云FPGA异构计算负责人20年FPGA、ASIC、硬件开发经验,对数据中心FPGA加速有一些实践和落地书籍介绍:比贫穷更可怕的事情:缺乏见识、缺乏爱、缺乏规矩,是比缺钱更可怕的事情。没有钱,有一辈子的机会能够获得,而缺乏这三样东西,后天再获得的难度就非常大了,而它们的缺乏其实和贫穷没有必然联系。4、《大学之路》推荐专家:张振祥(隐达)书籍介绍:作者吴军曾在清华大学读书和任教,之后在美国约翰·霍普金斯大学获得博士学位,又因事业有成而成为该校工学院的董事,得以多年来参与美国知名大学的管理,并且将女儿培养进入麻省理工学院。作者以他和女儿走访过的英美十几所知名大学为样本,结合他多年来对美国高等教育的系统研究,以及访问这些大学教师和校友的一手资料,加上自己的深入思考与独到感悟,精心撰写《大学之路》。5、《PostgreSQL实战》推荐专家:萧少聪(铁庵)阿里云RDS系列数据库高级产品专家PostgreSQL中国用户会2015-18届主席中国区首位 EDB Postgres认证专家中国区前20名 红帽RHCA认证架构师 之一书籍介绍:本书基于PostgreSQL 10编写,重点介绍PostgreSQL的丰富特性以及生产实践运维技巧。全书共18章,分为基础篇、核心篇、进阶篇三部分。基础篇包括第1到4章,主要介绍PostgreSQL基础知识,例如安装、客户端工具、数据类型、SQL高级特性等,为读者阅读核心篇和进阶篇做好准备;核心篇包括第5到9章,主要介绍PostgreSQL核心内容,例如体系结构、并行查询、事务与并发控制、分区表、NoSQL特性等;进阶篇包括第10到18章,主要介绍PostgreSQL进阶内容,例如性能优化、物理复制、逻辑复制、备份与恢复、高可用、版本升级、Oracle数据库迁移PostgreSQL实战、PostGIS等。6、《深入理解计算机系统》推荐专家:杨文龙(正研)阿里巴巴存储技术事业部技术专家Ali-HBase内核研发负责人ApacheHBase社区Committer&PMC成员对分布式存储系统的设计、实践具备丰富的大规模生产的经验书籍介绍:基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。处理器体系结构修改为支持64位字和操作的设计。引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。7、《HeadFirst设计模式》推荐专家:杨文龙(正研)书籍介绍:强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。Kathy Sierra(javaranch.com的创始人)FHBert Bates是畅销的HeadFirst系列书籍的创立者,也是Sun公司Java开发员认证考试的开发者。本书的产品设计应用神经生物学、认知科学,以及学习理论,这使得这本书能够将这些知识深深地印在你的脑海里,不容易被遗忘。8、《基业长青》推荐专家:阿里朱洁(所在)、邓小明(城池)等技术大牛联合推荐。书籍介绍:吉姆·柯林斯,商业书作家。柯林斯早年在斯坦福大学商学院从事教学与研究工作,并获得杰出教学奖。1996年,他回到家乡科罗拉多州的博尔德市,创办了自己的管理实验室,与各种企业和社会机构的领导人一起开展对商业生活的研究。如何建立一个伟大并长胜不衰的公司?有思想的人们早已经厌倦了“年度流行语“般稍纵即逝的管理概念,他们渴求获得能经受时间考验的管理思想。本书打破了旧有神话,提供了新颖的见解,并为那些有志于建立经得起时间考验的伟大公司的企业家提供了实际指导。9、《企业IT架构转型之道阿里巴巴中台战略思想与架构实战》推荐专家:城池书籍介绍:钟华(花名:古谦)阿里巴巴中间件首席架构师,15年中间件领域行业经验。对传统企业IT建设和互联网架构都有较为深入的理解,有着扎实的理论基础和丰富的实战经验,多次作为总架构师协助大型传统企业打造业务中台项目,为企业实现“互联网+”转型提供了科学的发展方向和强有力的技术支持,项目涉及政府、制造业、金融、交通、媒体等多个领域。本书从阿里巴巴启动中台战略说起,详细阐述共享服务体系如何给企业的业务发展提供了支持。介绍阿里巴巴在建设共享服务体系时如何进行技术框架选择,构建了哪些重要的技术平台等,此外,还介绍了组织架构和体制如何更好地支持共享服务体系的持续发展。10、《物演通论》推荐专家:萧少聪(铁庵)书籍介绍:声明三点:这是一本哲学著作。这本书很不容易看懂,请谨慎购买。我是认真的。虽然不易看懂,但是我对这本书寄望甚深。如果打一个比方,这本书就像10年前的《三体》一样,先开始只是在某个小圈子里振聋发聩,但在外部不温不火,然后突然有一天,它的价值终于被认识,成为一本众人追捧的神书。事实上,在小圈子里,众多创业大牛,已经在密切关注这本《物演通论》。我在2015跨年演讲中也跟所有的创业者郑重推荐。11、《失控》推荐专家:曹龙(封神)阿里云ApsaraDB HBase技术负责人,中国HBase开源技术社区发起人之一,10多年大数据库、数据库经验参与研发维护阿里万台Hadoop及ODPS集群书籍介绍:《失控 全人类的最终命运和结局》这是《黑客帝国》主要演员的必读物之一,这本关于机器、系统、生物和社会的"大部头”,揭示了社会进化、特别是互联网发展的"先知预言”,从这本书里,人们可以窥探到SNS的今天和未来。《失控 全人类的最终命运和结局》涉猎:天文、化学、生物、计算机、控制论、运筹学、社会学…… 同时又堪比《黑客帝国》中洞悉未来的"神谕”,正在兴起的"云计算”、“物联网”等都可以在这本写于15年前的书中找到相关的影子。12、《进入空气稀薄地带》推荐专家:曹龙(封神)书籍介绍:《进入空气稀薄地带:登山者的(珍藏版)》是珠峰登山史上惨痛的一场山难,12名登山者罹难,是自人类首次登上珠峰以来,死亡人数多的一个登山季。1996年,乔恩·克拉考尔作为《户外》杂志特派记者跟随一支商业登山队攀登珠峰。5月10日,克拉考尔及其他几名队友成功登顶并安全下山。然而数小时后他才获悉,其余的19名登山者在下山途中遭遇暴风雪,被困在海拔8000多米的地方。最终12人葬身风雪中,克拉考尔一个人坐在雪地上,想厘清过去72小时里发生的一切,事情为何会发展到如此地步?如果一切可以重来,事情是否会是另外一种结局?13、《美国简史》推荐专家:何登成(圭多)阿里巴巴数据库事业部OLTP数据库负责人负责打造阿里自研新一代分布式数据库X-DB书籍介绍:这个时期,简单了解一下美国,非常有必要。一书是由荷兰裔美国知名历史学家、作家房龙所著,于1927年出版上市,仅3个月就销售了20万册,时至今日多次再版重印,流传很广。本书共有五十三章,从哥伦布发现新大陆开始写起,一直写到20世纪20年代,再现了美国的创建和发展的酸甜苦辣历程。其中对历史事件、西方文明以及美国的政治生活都有详细的讲述。14、《鞋狗》推荐专家:何登成(圭多)书籍介绍:懦夫从不启程,弱者死于路中,只剩我们前行。在《鞋狗》中,耐克创始人菲尔·奈特亲自讲述了耐克“从0到1”的过程:作为一位美国俄勒冈州的普通人,他出于对跑步的热爱决定进入跑鞋销售领域,从50美元起步,带领一支个性古怪的“杂牌军”,游走于随时破产的边缘,却最终缔造了一个强大的体育商业帝国,让耐克标志成为少数几个可以被全世界人毫不费力认出的商标之一。创业过程中,合作伙伴的背叛、开户银行的翻脸、竞争对手的构陷、国家权力的紧逼、狡猾的融资技巧、粗犷放纵的企业文化、近乎不要命的扩张策略……菲尔·奈特用朴实、幽默的语言,真实袒露了一群“鞋狗”创业路上的挚爱、执着与疯狂。15、《从零到一》推荐专家:宫辉(灵壹)阿里云IoT事业部技术专家负责物联网嵌入式系统AliOS Things技术开发和产品落地书籍介绍:《从0到1》揭开创新的秘密,进入彼得•蒂尔颠覆式的商业世界:创新不是从1到N,而是从0到1;全球化并不全是进步;竞争扼杀创新;“产品会说话”是谎言;失败者才去竞争,创业者应当选择垄断;创业开局十分重要,“频繁试错”是错误的;没有科技公司可以仅靠品牌吃饭;初创公司要打造帮派文化。16、《设计模式》推荐专家:宫辉(灵壹)书籍介绍:《设计模式:可复用面向对象软件的基础》是引导读者走出软件设计迷宫的指路明灯,凝聚了软件开发界几十年设计经验的结晶。四位面向对象领域专家精心选取了具价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。本书已经成为面向对象技术人员的和词典,书中定义的23个模式逐渐成为开发界技术交流所必备的基础知识和语汇。17、《深度思考:不断逼近问题的本质》推荐专家:朱洁(所在)阿里云数据库NoSQL/HybridDB产品线产品负责人10年+数据库/大数据研发管理经验,专注于数据库/大数据服务平台建设、规划和实践应用。书籍介绍:深度思考就是不断逼近问题的本质。事情来了就做,很少去想为什么做,怎么做,以及做了之后想得到什么结果?笃信天道酬勤,大部分时间用来埋头苦干,却鲜少抬头看路?习惯于用战术上的勤奋来掩饰战略上的懒惰?18、《麦肯锡卓越工作方法》推荐专家:樊文凯(唐修)阿里云数据库和应用迁移(ADAM) 高级产品经理ORACLE数据库专家,ADAM产品专家。书籍介绍:《麦肯锡问题分析与解决技巧》是一本专为商务人士设计,以提升分析与解决问题能力的指南。本书在逻辑思考的基础之上,建构出一套体系,从理论和实务两方面来说明解决问题的技巧,以及在背后支撑它的分析技术。《麦肯锡问题分析与解决技巧》的举例范围广泛,从日常生活中的大小事到企业策略都包含在内,阅读本书能够掌握解决问题的本质,提升解决问题的能力。19、《C++ Primer Plus》推荐专家:樊文凯唐修书籍介绍:一本经久不衰的C++畅销经典教程;首本支持C++11新标准的程序设计图书。它被誉为“开发人员学习C++的必备教程,没有之一”!20、《人月神话》推荐专家:张炅轩(炯轩)高德无线开发专家7年安卓研发经验,108项安卓相关国内外发明专利,曾主导知名开源插件化项目的研发。现在高德从事动态化(JS + Native)方向的工作书籍介绍:“图灵奖得主、“IBM360系统之父”作者Brooks颠覆了项目管理领域,长久不衰传奇经典!21、《程序员健康指南》推荐专家:张炅轩(炯轩)书籍介绍:《程序员健康指南》是为程序员量身制作的健康指南,针对头痛、眼部疲劳、背部疼痛和手腕疼痛等常见的问题,简要介绍了其成因、测试方法,并列出了每天的行动计划,从运动、饮食等方面给出详细指导,帮助程序员在不改变工作方式的情况下轻松拥有健康。 《程序员健康指南》适合程序员、长期伏案工作的其他人群以及所有关心健康的人士阅读。22、《数据库系统实现》推荐专家:陈明(明朔)Aliyun HBase SQL负责人七年大数据系统经验曾负责阿里集团Spark四年自主研发内存计算引擎和MaxCompute联合计算平台书籍介绍:本书是斯坦福大学计算机科学专业数据库系列课程第二门课的教科书。书中对数据库系统实现原理进行了深入阐述,并具体讨论了数据库管理系统的三个主要成分——存储管理器、查询处理器和事务管理器的实现技术。23、《赋能》推荐专家:陈明(明朔)书籍介绍:在错综复杂的新生态下,预测已经成为不可能,运营的关键已从控制—命令式转变为赋能——分布式,唯有如此才能在新生态下取得成功。 一手打造了全球最强战斗力的美军特种作战司令部指挥官的斯坦利•麦克里斯特尔,摒弃掉存在了一个多世纪的常规思维,在一场残酷的战争中对特遣部队进行重塑,将其打造成新物种:一张在沟通上极度透明、在决策上去中心化的网络。“深井”间的壁垒被摧毁。领导者们看着运转最小团队的最佳操作方式,并且找到方法把这些操作方式推广到上成千上万的人身上,同时运用一些10年前还无法想象的技术将这些人捏合成一个整体。24、《未来简史》推荐专家:陈明(明朔)书籍介绍:尤瓦尔•赫拉利,1976年生,青年怪才,全球瞩目的新锐历史学家,牛津大学历史学博士,耶路撒冷希伯来大学历史系教授,著有国际畅销书《人类简史》。该书以宏大视角审视人类未来的终极命运,甫一出版就在全球掀起一股风潮,引起广泛关注。未来,人类将面临着三大问题:生物本身就是算法,生命是不断处理数据的过程;意识与智能的分离;拥有大数据积累的外部环境将比我们自己更了解自己。如何看待这三大问题,以及如何采取应对措施,将直接影响着人类未来的发展。25、《设计模式之禅》 推荐专家:杨冠宝(孤尽)阿里巴巴代码平台负责人。阿里巴巴代码规约的起草者和推动者。在阿里历任研发、架构师、技术主管等不同的角色,承担过双十一、国际化、代码中心等大型项目,有着丰富的一线编程经验,在大数据、高并发、研发效能领域均有较深的造诣,乐于分享与总结,在国内外做过多书籍介绍:本书是得道者对“圣经”的“禅悟”,它既不像“圣经”那样因为惜字如金、字字珠玑而深奥、晦涩和难懂,又比“圣经”的“注释版”更深刻和全面、更通俗和生动、更接近开发者遇到的实践场景,更具指导性。本书兼收并蓄、博采众长,也许是设计模式领域里的下一个里程碑之作。26、《Effective Java》推荐专家:杨冠宝(孤尽)书籍介绍:Java之父James Gosling鼎力推荐、Jolt获奖作品全新升级,针对Java 7、8、9全面更新,Java程序员必备参考书。27、《黑客与画家》 推荐专家:李伟(沐远)阿里云数据库技术专家专注大数据分布式计算数据库领域, 研发Spark及自主研发内存计算,目前为广大公有云用户提供专业的云HBase数据库及计算服务。书籍介绍:本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。28、《大数据之路》推荐专家:李伟(沐远)书籍介绍:阿里巴巴,作为距离大数据最近的公司之一,近几年对大数据却鲜有高谈阔论。实际上,阿里巴巴一开始就自然生长在数据的黑洞中,并且被越来越多、越来越密集的数据风暴裹挟。从需求→设计→迭代→升华为理论,在无数次的迭代进化中,阿里巴巴对大数据的理解才逐渐成形,慢慢能够在将数据黑洞为我所用的抗争中扳回一局。《大数据之路:阿里巴巴大数据实践》就是在这个过程中,由阿里巴巴数据技术及产品部沉淀下来的大数据知识与实践,值得每一位与大数据相关的人阅读。29、《运筹学》推荐专家:陈帅(项籍)阿里巴巴新零售供应链平台服务决策平台负责人书籍介绍:本书是罗纳德L.拉丁所著的经典教材,时隔18年首次修订,面向本科生(姊妹篇DiscreteOptimization针对研究生阶段的学生,1988年问世),首版于1998年,被美国工业工程师协会(IIE)评选为年度图书。本书宗旨是给不同学科背景的读者提供运筹学学习的全面指南。涵盖运筹学的全部内容(整数、非整数算法,网络编程,动态数学建模等),加入了众多主题和案例,每种算法和分析都配有一个小故事和计算练习。修订版本提升了本书作为本科生教材的难度,与研究生阶段的内容衔接更为紧密,同时又可作为研究、专业人员的自学和参考用书。已被普渡大学、加州大学欧文分校、华盛顿大学等高校采用。30、《模式识别》推荐专家:陈帅(项籍)书籍介绍:《模式识别(第三版)》是清华大学自动化系国家精品课程“模式识别基础”的教材,是在《模式识别》第一版和第二版基础上重写而成的。本教材系统地讨论了模式识别的基本概念和代表性方法,包括监督模式识别中的贝叶斯决策理论、概率密度函数的估计、线性判别函数、非线性判别函数、近邻法、特征选择与提取的典型方法以及非监督模式识别中的基于模型的方法、混合密度估计、动态聚类方法、分级聚类方法等,并在相应章节包括了人工神经网络、支持向量机、决策树与随机森林、罗杰斯特回归、Boosting方法、模糊模式识别等较新进入模式识别领域的内容。整体内容安排力求系统性和实用性,并覆盖部分当前研究前沿。31、《曾国藩》推荐专家:王树彬(国有)淘宝技术部的闲鱼 高级技术专家书籍介绍:曾国藩是中国近代史上有着巨大影响的人物。本书既写曾国藩的文韬武略,也写他的待人处世与生活态度;既写他的困厄与成功,也写他的得宠与失宠。曾国藩制胜的兵法、治军行政的方针,他独特的人生观、处世哲学,他的文化素养和人格品位等等,都在书中得到精彩的体现。32、《机器学习》推荐专家:秦续业(继盛)主要从事大数据 Python 生态相关的工作,主导开发了 Mars,基于张量的分布式超大规模科学计算引擎;以及 PyODPS,MaxCompute 上的 Python 数据分析框架。书籍介绍:机器学习是计算机科学与人工智能的重要分支领域。本书作为该领域的入门教材,在内容上尽可能涵盖机器学习基础知识的各方面。 为了使尽可能多的读者通过本书对机器学习有所了解, 作者试图尽可能少地使用数学知识。然而, 少量的概率、统计、代数、优化、逻辑知识似乎不可避免。 因此, 本书更适合大学三年级以上的理工科本科生和研究生, 以及具有类似背景的对机器学 习感兴趣的人士。33、《The Righteous Mind》推荐专家:李响阿里巴巴资深技术专家开源项目etcd作者前CoreOS分布式项目主管,负责Kubernetes、etcd 等分布式系统相关项目书籍介绍:著名心理学家、坦普尔顿积极心理学奖获得者、伟大的思想家、积极心理学先锋派领袖、热销书《象与骑象人》作者、TED演讲人乔纳森海特力作。在《正义之心》中,海特教授从道德的社会直觉模型讲到道德的6个基础,继而详细阐述我们具有群体归属性的正义之心,书中立足于详尽的科学研究回答了人们该如何跨越宗教与政治分歧,从而达成互相理解以促成合作型社会的建立这一目标。这是一本令人惊奇又极富挑战性和说服力的经典著作,读者会在阅读过程中瞠目结舌,最后恍然大悟、心服口服。34、《How Google works》推荐专家:李响书籍介绍:披露了谷歌如何颠覆传统的MBA模式,建立独树一帜的管理哲学,作者分享了外界普遍好奇的企业文化、战略、人才、决策、沟通以及创新之道。埃里克•施密特和乔纳森•罗森伯格列举了谷歌历史上众多只有内部人员才知道的实例,其中许多事件更是第一次为广大读者公布。他们旨在将谷歌的管理秘密转化为人人皆可用的经验,帮助我们迎接变化世界中的巨大挑战。35、《三体》推荐专家:秦续业(继盛)书籍介绍:“文化大革命”如火如荼进行的同时,军方探寻外星文明的绝秘计划“红岸工程”取得了突破性进展。但无人料到,地球文明向宇宙发出的di一声啼鸣彻底改变了人类的命运。四光年外,为了生存挣扎的“三体文明”接收到了地球发来的信息。在运用超技术锁死地球人的基础科学之后,三体人庞大的宇宙舰队开始向地球进发……36、《人类简史》推荐专家:秦续业(继盛)书籍介绍:该书是以色列新锐历史学家的一部重磅作品。从十万年前有生命迹象开始到21世纪资本、科技交织的人类发展史。十万年前,地球上至少有六个人种,为何今天却只剩下了我们自己?我们曾经只是非洲角落一个毫不起眼的族群,对地球上生态的影响力和萤火虫、猩猩或者水母相差无几。为何我们能登上生物链的顶端,终成为地球的主宰?37、《深度学习》推荐专家:秦续业(继盛)书籍介绍:《深度学习》由全球知名的三位专家IanGoodfellow、YoshuaBengio和AaronCourville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分:第1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第2部分系统深入地讲解现今已成熟的深度学习方法和技术;第3部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。38、《刷新》推荐专家:朱洁(所在)书籍介绍:互联网时代的霸主微软,曾经错失了一系列的创新机会。但是在智能时代,这家科技公司上演了一次出人意料的“大象跳舞”。2017年,微软的市值已经超过6000亿美元,在科技公司中仅次于苹果和谷歌,高于脸谱网。除了传统上微软一直占有竞争优势的软件领域,在云计算、人工智能等领域,微软也获得强大的竞争力。通过收购领英,微软还进入社交网络领域。结语以上为20位阿里巴巴技术专家推荐的38本书籍,希望2019年,你将耗时于阅读,你将因别人辛苦得来的体验,轻易吸收并改善自己。阅读原文

January 23, 2019 · 1 min · jiezi

阿里开发者们的第20个感悟:好的工程师为人写代码,而不仅是为编译器

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。阿里巴巴常说“晴天修屋顶”。在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的成长感悟,50本书单。多年以后,再回首2018-19年,留给我们自己的,除了寒冷,还有不断上升的技术能力与拼搏后的成就感。云栖社区钉钉技术讨论群,已有6000+开发者。云栖社区2019年1月30+场活动预告【持续更新,欢迎加入】 学习,是一种氛围。1月17日,好的工程师为人写代码,而不仅是为编译器。这是我们送给开发者的第20个感悟。李响,作为开源项目etcd作者更为开发者所熟知。etcd是2013年由李响,Brandon Philips, Alex Polvi 所发起的,帮助分布式系统存储关键性的元信息和协调分不同组件的行为。在过去的5年时间里,etcd 项目一共有超过400名贡献者,贡献了超过14000个提交,发布了超过150个版本。 2018年12月11日,在KubeCon + CloudNativeCon北美峰会上,etcd项目正式加入云原生计算基金会(CNCF)。在阿里巴巴,etcd也是基础架构的重要组成部分。阿里巴巴的集群管理器 Sigma 采用 etcd 作为核心的存储引擎,支持了数十万宿主机和上百万容器的调度和管理。阿里云容器服务 ACK (Alibaba Cloud Kubernetes )使用 etcd 作为存储引擎,为众多的客户提供了稳定、可靠、安全的企业级容器服务容器服务。阿里云的函数计算服务,使用 etcd 为函数调度和执行提供了高效的协调、存储能力。来看看他的感悟。阿里李响:兴趣带来专注阿里巴巴资深技术专家开源项目etcd作者前CoreOS分布式项目主管,负责Kubernetes、etcd 等分布式系统相关项目兴趣带来专注,专注带来成功;忙碌不是避免思考的借口,思考才能缓解盲目;好的工程师为人写代码,而不仅是为编译器。推荐的书籍:《The Righteous Mind》《How Google works》本文作者:云篆阅读原文本文为云栖社区原创内容,未经允许不得转载。

January 17, 2019 · 1 min · jiezi

阿里开发者们的第19个感悟:Simple is better.

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。阿里巴巴常说“晴天修屋顶”。在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的成长感悟,50本书单。多年以后,再回首2018-19年,留给我们自己的,除了寒冷,还有不断上升的技术能力与拼搏后的成就感。云栖社区钉钉技术讨论群,已有5000+开发者。云栖社区2019年1月30+场活动预告【持续更新,欢迎加入】 学习,是一种氛围。1月16日,Simple is better.这是我们送给开发者的第19个感悟。Mars,基于矩阵的统一计算框架。已经开源。那么:Mars 是什么,能做什么,怎么做的;Mars 如何分布式地执行等。可以与继盛多交流。阿里继盛:我们的征途是星辰大海主要从事大数据 Python 生态相关的工作,主导开发了 Mars,基于张量的分布式超大规模科学计算引擎;以及 PyODPS,MaxCompute 上的 Python 数据分析框架。读源码是程序员进阶的唯一途径。Simple is better.不积跬步,无以至千里;不积小流,无以成江海。推荐的书单《三体》《人类简史》《机器学习》《深度学习》本文作者:云篆阅读原文本文为云栖社区原创内容,未经允许不得转载。

January 16, 2019 · 1 min · jiezi

阿里开发者们的第18个感悟:每次困难出现时,就是成长的机会出现了

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。阿里巴巴常说“晴天修屋顶”。在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的成长感悟,50本书单。多年以后,再回首2018-19年,留给我们自己的,除了寒冷,还有不断上升的技术能力与拼搏后的成就感。云栖社区钉钉技术讨论群,已有5000+开发者。云栖社区2019年1月30+场活动预告【持续更新,欢迎加入】 学习,是一种氛围。1月15日,每次困难出现时,就是成长的机会出现了。这是我们送给开发者的第18个感悟。国有在社区分享了多篇技术干货,他说,闲鱼是国内首个将Flutter用于大型实践,并用在重要场景的应用。同时闲鱼对Flutter技术演进也产生了重要的影响。阿里国有:坚持 做不一样的自己王树彬(国有),淘宝技术部的闲鱼 高级技术专家关于成长,我体会最深的有两点。第一,每次困难出现时,就是成长的机会出现了。 第二,坚信。现实问题,往往有很多解法,没有标准答案,相信会带来更趋向成功的答案,在困难面前尤其如此。书单《设计模式》 《曾国藩》本文作者:云篆阅读原文本文为云栖社区原创内容,未经允许不得转载。

January 15, 2019 · 1 min · jiezi

看得见的百亿脱贫投入,看不见的阿里技术“脱贫代码”

今天阿里巴巴技术脱贫大会举行。说起这个大会,就要提起1年前投入100亿元人民币成立的阿里巴巴脱贫基金了。从教育到健康,再到女性、生态和电商扶贫,这五个方向分别由五位阿里合伙人直接牵头。许多人不知道的是,过去一年,数百位阿里工程师和产品经理在乡村呆的时间比在杭州的时间还要多,他们的办公地点分别在四川宜宾的猪场、陕西阎良的瓜田、四川平武的蜂场、云南的梯田……他们的足迹,遍布中国上百个贫困县。有人还因此获得了公司“空中飞人”奖。很多人也许看到了阿里脱贫基金的百亿投入,但这背后,还有看不到的工程师“脱贫代码”。今天,就和你说4个小故事。我们不是什么超级英雄,我们只知道,既然来了就必须做出点东西雷宗雄 阿里云技术小二我在北邮读的计算机专业,很早接触互联网技术和AI算法,当时的梦想是像马斯克一样能干点“牛到天上”的事儿。2014年毕业进入阿里,参与机器学习算法平台PAI的研发,在亲戚朋友眼里也算是“高大上”。但谁也想不到后面我会和猪发生联系,而且一干就是一年。去年年初,阿里云同四川特驱集团、德康集团合作,准备将ET农业大脑跨界推广到养猪场,选了20名工程师,我是其中之一。第一次出发去猪场前,总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事。要个WIFI,没有;要环控设备接口,没有;要安装个智能传感设备,拉电线、组网络、调试系统都得从零开始。站在猪舍,有一种很绝望的感觉,只听见猪撞栏的声音、风机转动的声音、打料的声音……我和总架构师在宿舍大吵了一架:“你的规划就是扯淡,不可能实现的,完蛋了!”吵完呢,又继续干活。大家都很清楚,既然来了,就必须做出点东西。猪场的厂长挺积极,非常支持我们。因为现在95后已经很少有人愿意来猪场工作了,进了猪场就得被关一个月,地方又偏远。他就盼着机器人来帮他。在猪场,我们想了很多方案。比如行走机器人,让机器人在过道里不断走动,完成巡检、清扫卫生、加料等工作,彻底取代人。很性感对吧?但实验了几个方案之后发现,行走机器人根本迈不过横亘在它面前的猪粪。机器人倒在猪粪面前之后,我们决定用无人机。无人机定时在猪场内起飞、巡逻,完成对每个猪只情况的盘点、记录。但伸手就能摸到的房顶和凌乱的水线,又把无人机拦了下来。最后受盒马外卖传输索道的启发,我们在猪场顶部搭建了一个跑在滑轨上的自动巡查系统,完全DIY自己爬猪栏装上去的。在这里,猪脸识别等这些时髦技术完全没用,都是吹牛,能落地才是好技术。我们这套系统能够实现对每个猪只信息的几乎100%的准确判断,记录它一天的饮食、运动、饮水、精神状态、体型、产仔、断奶等数据,也成为后续各类算法的基础。从天马行空到有脚踏实地计划,我在猪圈待了整整三个月。现在,我们已经做了7套算法,另外几个课题还在研究。在技术落地方面,除了大型猪场,我们的技术也通过钉钉开放给了合作的家庭农场,这其中不少是贫困家庭。对于普通农户,以前由于技术和资金问题,养猪顶多养个十头。现在他们跟猪场合作,每家农户一年可以养500-1000头,在没有疫情损失下可以拿到9-18w不等收入,农户前期投入一般地在3年内能收回成本。有一次走访,一个养户因为一头猪死了,郁闷自责得快要掉眼泪了。我看了猪的死亡报告,完全就是因为着凉了没有及时诊断,最后不断的恶化,恶化到最后绝食厌食免疫力下降,一下子就摔倒了,摔死了。这些其实是有可能通过我们的技术提前发现的。我觉得,如果要想真正帮助传统行业、帮助农户,必须弯下腰跳进猪圈、走进牛棚、去到田间才行。我经常跟同事开玩笑,我现在养猪的技术差不多相当于本科毕业在猪场工作两年的水平。我们不是什么超级英雄,只是一群用代码改变传统养猪方式的“猪猪侠”。一年里频繁下瓜田,我得了个“空中飞人奖”熊琴 阿里云产品小二 我妈以前总说我,嘴这么会吃咋不会做呢?别说做了,我连什么菜什么瓜都分不清。没想到组建农业智能团队,给了我和瓜果蔬菜亲密接触的机会。2018年初我们开启“西安模式”,希望同西安六个县合作摸索出农业数字化转型方案,从此各种基地大棚,成了我和小伙伴的办公地点。西安阎良县是我们的第一站。当地标志作物是甜瓜,无论在口感上还是耐运输上,都具备了走出去的实力。但在让瓜走出去之前,如何走进农户们还真的考验我们实力。大棚里基本都是四十度,湿度大,日照强烈,每次下地都像在公费蒸桑拿。更要命的是,虽然是政府牵线的合作,但让种了一辈子的瓜农,相信我们几个没下过地的年轻人能改变种瓜模式,太难了!你能想到的解数,我们差不多都用上了。比如穷追不舍,跟着瓜农社长去勘测大棚,量间隔数、瓜架行数,细到每一株瓜苗上的花朵数。让社长看到我们是带着互联网数据思维和技术,决心要帮他解决管理痛点的。我们还找来农户们写的农事记录本,花了一个多月人肉整理。天书一样的笔记,信息化后大家都能看得懂了。还有算法博士认亲归宗的、拜把子认了俩兄弟的,追着别人认瓜苗,学习甜瓜的不同生长阶段、种植过程。等和农户熟了我们就开始跟他们“抬杠”,凭什么你说自己的瓜就最好,你的瓜到底有多甜,你知道买瓜的人怎么评价吗,证明给我们看看。最终,瓜农社长从“烦我们耽误工作”,到“我都听你们的”。他种了三十多年甜瓜,他太清楚农户们有多固执,也太希望有人来帮助他带领大家把瓜种好脱贫。像社长三十多年来的种瓜经验,我们也做成智能种植生产手册,大家通过手机就能查看。而每天包括天气、虫害等预警提醒,统一的种植任务,也能像发短信一样发给农户,按指示操作,种瓜可以变得傻瓜化。其实当初说要把数据智能技术应用到农业上,我们也不确定,因为传统农业太缺乏数据了。但现在随手一拍,农户就能参与到数据采集中来。而这些信息也是他们的资产,可以成为日后在蚂蚁金融产品贷款的信用信息。为了让甜瓜更能被消费者接受,我们为瓜设计了能溯源生产信息的身份证,还开发了扫描识别甜度的功能。从三月开始到秋季第一批甜瓜上线天猫,我因为频繁飞西安,飞回了一个“空中飞人”奖,从啥都分不清变成了蔬果带货达人,朋友总让我推荐什么好吃什么该买。希望我们的技术方案能把行业上好的经验、知识传播下去,让种植更科学高效,有钱可赚,年轻人愿意加入和留下来。而我更怕农户们急于短期收入靠打药增收,不仅种出的作物不安全对土地的破坏更是他们承受不起的。而信息化、数据化能帮助提高农业生产效率,市场的高标准能倒逼他们种出健康的产品,可持续发展才是我们用数据智能来做农业的根本。是好东西,我们就要让它好有所值姚义海 村淘运营小二 我是村淘的小二,我最擅长的是农产品种养殖。2015年底加入村淘后,不同品类都做过,到2017年,我开始做肉蛋禽相关的工作。不管是植物还是动物,发展农业,促进农品价值都是我最感兴趣的。来阿里之前,我自己做了几年农业创业,我爸就是老一辈搞种子研发的,我从小就对农业深有感情。所以我特别理解干农业的人怎么想?他们担心收成不好,害怕白辛苦换不来钱。2018年初,我们一大队人去到平武大山里,蚂蚁森林的同学在认真思考如何保护自然区,我们团队就在想,一定要挖掘出既不破坏环境、又能保证当地人收入稳定的产业模式。不然,保护环境容易但以山为家的当地人生活却困难了,保护也无法持久。当地有着百年历史的高山蜂蜜其实就很生态友好。但一大圈了解下来,我不得不说“祖辈传承”和“老手艺”这即是原生态,也是太原始。不过落后就意味着留给我们可做的事很多,让好蜜电商化走出深山这只是第一步,如何用技术优化整个高山蜂蜜产业让我更加兴奋。要知道养蜂这件事,对人要求并不太高,毕竟奔忙的是人家小蜜蜂。但平武人养蜂非常辛苦,难点在于这山太高了。平武山地海拔高,雨水多,山里容易滑坡泥石流。而很多公路只修到了山半高的地方,剩下一千多米的海拔只能人自己爬上去。我们有一次上山就遇到山石塌方,车动不了,路上全是山泥,每个人都是吊着一颗心摸爬上去。但蜂农几十箱蜂在高山上,心惦记啊,想一次就要爬一次,心累人也累。到了冬天,怕蜜蜂冻死,还必须把几十甚至上百个蜂箱背下山来,又危险又辛苦。怎么能让蜂农不那么费劲呢?我们自己也弄了一箱蜜蜂回来养,了解整个采蜜流程。我呢找业务相关从业者、内部算法的技术同学各种讨论,前后大概十来天,方案就出来了。大家直觉高山蜂蜜就该这么做。蜂农最关心的是蜂群的健康情况,于是我们在蜂箱口安上红外线探测,给蜜蜂计数。蜂农可以直接在手机上就看到自家的蜜蜂的活跃状况,发现异常再针对性上山查看。这样蜂农的精力就能大大节省。而采购端关心蜂蜜质量是否成熟,这也直接影响蜂农们的辛苦能不能换来回报。我们就继续在蜂箱上做手脚,安装GPS和重量监测,前者定位蜜源是不是高海拔山区,后者根据蜂箱质量变化和时间推算蜂蜜是否成熟。由于气候影响花期和蜜蜂的状态,我们的探测仪能记录天气、降水变化,未来还将通过大数据算法预测花期。蜂农根据手机提示就能科学管理蜂场,提前预测,让产量也能趋于稳定。我们把设备带回平武试点,当地蜂农说可算有人懂他们了,不用动不动往山上跑,蜜好能卖出去,这蜂没白养。以前当地人对养蜂很有感情,可往往无法靠这个生活。通过信息化新技术,现在他们有更多的精力养更多的蜂,而养多少都有渠道以比较好的价格卖出去,这下心态稳了。老蜂农感到轻松,年轻蜂农也没那么纠结,不再怀疑自己留在家乡养蜂能不能行。对我来说,蜂农们轻松了的感觉不仅重要而且意义深远。轻松了,就能真心真意做这一行,不再只是爱好而是职业。心里有底,对投入产出有明确预期,生活可期,年轻人也愿意留下加入高山养蜂,这才能让整个行业更好传承和发展。保护原生态很重要,但也要紧跟时代,我们正好去做这个桥梁。我觉得,用信息化技术解决他们的生产难处,靠电商帮助他们把蜜卖上好价格,其实是对当地人的尊重和肯定——既然是好东西,那我们就让它好有所值。世界很大,不要着急,值得妳们看看王菁 蚂蚁金服产品小二 朋友,“好保险”了解一下?别误会,我不是卖保险的。我是蚂蚁金服保险事业部的一名产品经理,“好保险”是我们针对贫困县女性开发的脱贫公益险。这个有点土的名字,却是我们好几个女同志想了好几天定下来的。它能让小姑娘上得起学,妈妈们生育能有保障,女子平安就是“好”呗。作为一个女宝妈,我看着贫困县里很多一脸稚嫩却背着娃娃的姑娘,明明是该上学的年级却在卤菜摊打工的小妹,非常心疼。所以,我们要做一个产品让女孩们面临选择时多一种可能。这个可能也许能改变她们的一生,晚了就真来不及了。因为我们都着急,不想等,所以使用我们的产品只要你准备好相关材料,最多72小时,理赔金就能打到你的卡里。有钱能继续上学,生病能去医治,就是改变贫困现状的转机,尤其对于在农村习惯自我牺牲的女性,能在需要帮助时获得支持,生活就能大不一样。在云南,我们遇到那个准备弃学打工的女孩蒲双双。其实她上职高是不需要学费的,但一学年一千块的学杂费家里也出不起。直到她弟弟都初中开学了,她才在老师劝说下拿回录取通知书,这时离高中开学已没两天了。我们教她用好保险,申请教育金,9月7日她已经重新回到学校了。做脱贫保险这两年,我真心体会到帮助得及时才能真的帮到他们。扶贫项目很多人做,但从募钱到用钱,没人说得清中间要多少时间、多少流程。很多时候是困难户真要帮助来申请了,一开始回复人家说有有有,结果拖很久最后却没有钱,大家心里落差很大。但现在,县里的扶贫干部跟我们说,村民们提交申请两天后钱就到账了,简直不可思议。为了他们这个“不可思议”,我们搭建了一个庞大而缜密的体系:支付宝提供前端平台、用户入口,蚂蚁提供区块链和AI技术支持,基金提供运营管理,保险公司提供推广网络,各级扶贫办牵线搭桥。对于当地人来说,只要全村有一个人的手机能安装支付宝,保险理赔就能顺利搞定。而对于捐助者,也能通过支付宝查看自己的钱去了哪里,帮助了谁。到目前,“好保险”已经试点了3个县覆盖16万用户,很多贫困家庭的女儿能因此继续念书。其实啊,我上大学的时候就很想做公益。但我心里也清楚公益不好做。现在,我的工作就是把公益技术化,用好产品把公益落地。这不仅实现了我大学的梦想,还多了一大帮有同样梦想的靠谱伙伴。我看着我们所做的事情,真的影响了很多人,尤其是那些山里的姑娘。我们用项目鼓励她们去读书我们就支持她们读书,希望她们不要急着打工别急着嫁人,这个世界很大,还有很多她们能去做的事情。女子就是“好”,我想我会把这些女孩的变化慢慢告诉我的女儿。四个故事都讲完了,有没有哪一个,在冬天里像阳光照进了你心里?他们只是扶贫背后无数阿里人的缩影。感谢每一个,为帮助他人而努力的努力。也希望,每一串看不见的代码,能给人带去看得见的美好而微小的改变!

January 10, 2019 · 1 min · jiezi

12亿行代码,阿里巴巴这一年的技术报告和梦想报告

78年前,图灵用代码编译出的情报破解系统,让二战至少提前2年结束,挽救了2000万人的生命;50年前,登月科学家敲下的一行关键代码,启动了阿波罗号的着陆,成就了人类的一大步;30年前,蒂姆·伯纳斯·李利用代码创造了万维网,让普通人也能够通过互联网连接全世界……如同数字世界的艺术家、数字文明的建筑师,各个时代的工程师科学家们正在用一行行代码改变世界。阿里巴巴是这个时代的技术追梦人。2019年1月9日,阿里巴巴公布了其2018年度代码报告。报告显示,阿里工程师在2018年共写下了12亿行代码,总代码长度可绕地球4.49圈。代码是IT行业的根基和基础。人们熟悉的Windows操作系统,是有史以来最复杂的软件之一,其总代码数大约为5000万行。这意味着,阿里工程师一年写下的代码总数相当于24个Windows的开发量。在代码语言规范上的努力和对语言美感的追求是衡量一个科技公司对行业贡献的重要标准。通过两年多的努力,阿里巴巴已经在内部实现了代码规范的“书同文”,对外推出了《阿里巴巴Java开发规约》。杭州成了全球Java规范的策源地。阿里基于开发规约推出的编码插件在全球范围内被下载了110万次,帮助数千家企业解决了1亿多个代码的不规范问题。共同分享共同进步的开源精神是技术人和开发者的精神底色,阿里技术人坚持拥抱开源、回报开源。目前阿里巴巴已经有400多个开源项目,涉及中间件、框架、组件、数据库、存储等,包括滴滴、网易、Netflix、Uber在内的互联网公司都是阿里开源项目的使用者。有3600多位阿里工程师们成为了开源项目的贡献者,他们过去在开源社区里共获得了30多万个星星,在GitHub贡献排行榜上,阿里是唯一一家入围顶尖贡献名单的中国公司。因为阿里工程师的贡献,阿里巴巴在2018年还获邀加入Java全球管理组织Java Community Process (JCP)的最高执行委员会,这也是中国企业首次加入到Java全球标准的制定中,推动更多“中国标准”成为全球规范。12亿行代码背后是阿里工程师和科学家们的技术梦想和家国情怀。键盘间行云流水的代码最终变成了推动科技突破与社会发展的密码,是多个前沿科技领域科研水平的提速,是城市管理模式的日趋精细化,是中国制造业的整体转型升级,是社会民生难题的切实解决方案。2018年5月,阿里巴巴达摩院量子实验室的科学家利研发出当前世界最强的量子电路模拟器“太章”,率先成功模拟了81比特40层作为基准的谷歌随机量子电路。《连线》杂志认为,这一研究突破意味着,谷歌依靠72比特量子计算机问鼎量子霸权的计划或被推翻。(“太章”拟基于该模拟器模拟的随机量子电路规模(黑线)与当前硬件可以实现的规模(红线)比较)阿里工程师还联合天文学家们开启了向宇宙深处的探索。他们与耶鲁大学合作,对39.13光年外的一个恒星系统进行研究,那里或将发现适宜生命居住的“第二地球”。他们还开发了一个适用于分析卫星遥感数据的AI,每天能够完成对北京郊区近150万亩的耕地状况的实时分析,从中找出破坏农田的违法行为,成功守护了百万亩农田。2018年,阿里工程师们给海内外的20多座城市装上了大脑。在浙江杭州,城市大脑覆盖全城420平方公里,降低了3.5%城市交通拥堵,让杭州脱离堵城行列。同时,城市大脑的能力从交通领域延展至包括在消防、城建、环境在内的城市精细化管理。在人类最关心的生命健康问题上,阿里巴巴的工程师们开发的医疗AI已可准确地测量肝结节,对判断肝结节是否为恶性和临床医疗有促进作用。2018年,问题疫苗事件牵动无数国人,阿里健康的工程师,连夜开发了一个“疫苗查询”功能,用技术让国人追踪疫苗来源,获得社会各界赞扬。过去的一年,阿里巴巴的工程师们不仅在办公室里写代码,他们还深入到工厂车间,和工人师傅面对面交流。通过云计算、IoT、AI,阿里巴巴正在驱动中国制造业数字化转型,为世界工厂带来了一个个珍贵的“1%良品率”提升和一个个数字化转型成功案例。本文作者:阿里云头条阅读原文本文为云栖社区原创内容,未经允许不得转载。

January 9, 2019 · 1 min · jiezi

阿里巴巴,果然开始拥有“预测未来”的能力了

顶灯闪烁,笛声响彻。救护车载着病人,冲向茫茫车海,在时间的赛道上狂奔。高德地图、GPS 卫星导航、路面磁感线圈、1300 个路口摄像头同时开动,为这辆救护车勘探最快路线;GPS 传回实时数据,后台根据辅助数据纠偏,锚定救护车每一刻的精确位置;救护车将要经过的沿途,车辆情况被实时计算。确保路口绿灯提前亮起,在救护车通过之前,刚好所有社会车辆已经行驶一空。这不是演习,这是杭州城市大脑每天都在执行的任务。依靠计算,一辆救护车到达医院的速度,平均缩短了 50%。在这座城市,靠鸣笛和闯红灯开道的悲壮彻底成为历史。说人同蝼蚁,其实并不为过。两百多万辆车奔跑在城市里,他们的行踪像风里的落叶一样叵测。但通过对 1300个路口的摄像头的实时计算,城市大脑就可以精确地预测出未来十五分钟、未来半小时那哪个路段将会拥堵,从而第一时间指挥路口信号灯“变换姿势”。计算在帮人类追赶时间。中哥今天要说的,就是这个精致而坚固的“大数据实时计算引擎”。你可能从未听说过这个引擎,甚至在此刻之前都不知道它的存在,但你很可能早已成为这个引擎服务的一员:一年一度的双11,无数人涌进天猫,每个人都能用 0.1 秒搜索到自己理想的商品,在智能推荐中发现适合的宝贝,背后正是依赖这个引擎;双11庆典现场,大屏上那个跳动的总成交量数字,只是背后所有数据的冰山一角。几十亿种商品的实时库存、价格、优惠数据得以分秒不慢地同步给屏幕前的你,也同样依赖这个引擎从某种意义上来说,只要给这个计算引擎足够的资源,无论面对多么庞大复杂的系统,我们都可以用几乎忽略不计的时间看到真相——这大大快于人类最聪明的大脑。这是我们亲手创造的“先知”。重器难成。为了这个先知一般的“大数据实时计算引擎”,阿里巴巴最核心的技术人,已经耗费了将近五年时间。让人感慨的是,这个承载了一个个城市的交通,扛起了一条条生产线,担负了一个国家十几亿人购物的强大引擎之所以的诞生在阿里巴巴,最初并不是为了满足什么需要,而仅仅是因为它“看上去很美”。这是一个鲜为人知的故事。(1)1999年,阿里巴巴在杭州成立。同样在1999年,蒋晓伟正在美国攻读理论物理博士。作为一个初三就立志要探索宇宙秘密的年轻人,到目前为止他的人生堪称完美。就在一个崭新的物理学家即将出炉的时候,命运开始展现它的波云诡谲。蒋晓伟突然被自己的导师“忽悠”到了一家非常有希望的互联网初创公司。理由是:“在30岁之前先财富自由,以后爱怎么学物理就怎么学物理。”一年之后,互联网泡沫破裂。然而,蒋晓伟却留在了这片战场。2002年,他加入微软,2010年他加入 Facebook。弹指挥间,直到回国加入阿里巴巴之前,他已经从物理学家成功转型成为数据库和计算资源调度系统专家。他还记得,自己加入阿里的时间是 2014年12月29日。这是一年中可以办理入职的最后一天。“为什么选最后一天?”“因为看上去比较有美感。”“。。。”目测,蒋晓伟是我见过的第一个用物理公式般的美感对待人生的人。甚至,他给自己起的花名都想叫做“量子”,后来思考了一下,觉得量子不太像个人名,才改为谐音“量仔”。蒋晓伟蒋晓伟入职的是阿里巴巴集团搜索团队。你可能会问:纳尼?阿里巴巴还有搜索团队?当然有,而且还极其重要。举个搜索引擎的日常:当你在淘宝搜索框里输入“杜蕾斯”的时候,搜索引擎就马上行动,从亿万卖家出售中的宝贝里帮你找到合适的 TT(及其他产品),然后按照推荐顺序排列在搜索结果里。注意,有趣的硬核要来了:如果,商家的 TT 价格永远不改,库存永远无限,优惠促销方案永远不变,那么搜索团队只需要做一个最简单的查询系统就行了。但是,现实中商家会随时调整价格和优惠,某一款激情大颗粒也可能因为太受欢迎,上架十秒就卖到缺货。在淘宝网上,你会发现真实的状态是:每时每刻都有无数卖家的产品参数在改动。所以,搜索引擎的挑战就是,要根据每时每刻最新的数据库来瞬间算出最适合呈现给你的搜索结果。相信我,只有用最新鲜的数据算出的结果,才能让屏幕对面的你露出心满意足的表情:面对这种现实,一个最稳妥的方式就是,搜索引擎用把现在的数据库全部算一遍,给出结果。但是,这会耗费大量的计算力。毕竟这一秒相对于上一秒来说,可能发生参数变动的宝贝只有十个,而没有参数变动的宝贝有十万个。那么,你自然会想:“有没有一种方法,让我只计算改动的部分,再通过特别的数学运算和之前的结果融合,就能达到和计算全量数据一样的效果呢?”有的,这就叫“流式计算”。打个最简单的比方:你负责把椰汁平分给10个妹纸。刚开始你有10瓶椰汁,于是你一人分了一个。后来,你又得到了10瓶椰汁,这时候椰汁的总数变成了 20 瓶,平均每个妹纸应该得到两个。但你没有必要把之前分给妹纸的椰汁收回来,重新每人给两个;而是可以让每个妹纸手上拿着之前的那瓶椰汁的基础上,每人再补发一瓶。通过这个例子,我猜你已经感受到了“流式计算”的激荡。当然,实际的数据库运算比“分椰汁”复杂得多。需要说明的是,当时在阿里巴巴内部,并不是没有流式计算引擎,各部门都根据自己的需求研发了特定的流式计算引擎,只不过,大多引擎只用来解决各自部门的问题,没有通用性。 很多业务都开发了各自的流式计算引擎但蒋晓伟突然发现,流式计算背后隐藏着一个神奇的事实:既然只计算增量,就能得知全量的结果;那么就可以永远用计算增量的方式来表达计算全量。也就是说:增量计算等效于全量计算;流式计算等效于批处理计算,实时计算等效于离线计算!也就是说,如果按照这个构想做出一套完整功能的“流式计算引擎”,就可以一统江湖,运转在阿里巴巴所有的技术底层。这可是一份不小的产业啊!蒋晓伟越想越鸡冻。然鹅,让他激动的最主要原因竟然是:“这个引擎太完美了!”他发现,其实自己身体里的那个“物理学家”一直都在。物理追求的终极就是“大一统理论”——用一套机制解决所有问题。没想到人生峰回路转,在计算机领域也给发现了一个“大一统”的机会。老实说,蒋晓伟老湿傅这个想法有点危险。危险在哪呢?首先,如果把当时搜索业务需要的流式计算比作汽车发动机的话,蒋晓伟想要研制的发动机,是豪华到可以用到下一代宇宙飞船上的“核能发动机”。自己团队支持的这摊子业务目前根本不需要这么好的引擎。其次,研究这个引擎的基本动力居然是“美感”。出于美感开发一个计算引擎,这种动机天然就有一种理想主义气质。。。能不能研究成,那只有天知道。再说,面对这么宏大的任务,手下能用来做研发的团队,只有五个人。况且这五个兄弟还有日常的任务,人手极度短缺。“但马老师不是说了么,梦想还是要有的,万一实现了呢?”刚刚加入阿里的蒋晓伟倒是决心已定。(2)蒋晓伟“能用”的团队,全员都在北京。这个小分队的老大叫做王峰。王峰是个老阿里了,2006年加入阿里巴巴,在阿里北京的雅虎中国团队做搜索,后来又做过一淘和淘宝搜索。此时此刻,他和北京的几个兄弟主要负责一个开放搜索项目的离线系统。 听到蒋晓伟对于“流式计算引擎”的描述,王峰内心惊呼“卧槽”。对于一个合格技术宅来说,一个好的技术构想比萌妹子更能让他动心。蒋晓伟和王峰一合计,事情很简单:脚踩两只船,那基本没戏。要么就趁早死心,放弃新引擎研发;要么就大家就把旧工作完全交出去,破釜沉舟干票大的。王峰的决定是,干!现在的王峰,笑起来一幅波澜不惊,当年内心也是慌得一批。王峰回忆,领导们觉得很不可思议。因为交出原有的业务,北京这个小团队相当于“失业”了。而新的研究——流式计算引擎——当时只是个构想,连技术方向也没有,代码更是一行都还没写。对于王峰来说,这相当于一次破釜沉舟的内部创业,前途未卜,凶险异常。事实也证明,别人的担心都是对的。一开始团队努着劲儿写了三个月代码,仍然没办法达到蒋晓伟理想中的通用性,连他本人都有点心虚。“我刚来阿里巴巴,就忽悠兄弟们把之前的项目都放弃了,要是最后证明我的构想是个坑,那不是害了别人么。。。”他想。焦急之中,已经到了 2015 年夏天,蒋晓伟突然在业内著名的大数据峰会 Hadoop Sumit 的论坛上看到有人发表了一个惊悚的评论:感觉 Flink 出来之后,Hadoop 就显得不怎么需要了。。。Hadoop 是当年最火的大数据分布式架构,这个 Flink 是个神马,根本没听过啊。但是当蒋晓伟、王峰和团队研究完技术资料之后突然发现,这种“用流式计算来等效一切计算”的理念不就和我们想开发的那套引擎一模一样吗?蒋晓伟仰天长啸:真是天助我也!既然已经有开源的技术,那么我们只要在此之上继续开发流计算引擎就好了啊!这里多介绍一句。Flink 是一个流式计算的开源框架,2010 年诞生于德国研究中心和柏林工业大学,2014年被捐赠给 Apache 基金会,并由创始公司 DataArtisans 继续运营。Flink 的 Logo 是一只眼神里有故事的松鼠。简单来说,2015年的时候,Flink 刚刚“出道”一年,几乎没有人知道,更没有人大规模使用。就像一个刚刚毕业的大学生,看上去很有潜力,但“稳定性”和“实用性”都缺乏事实验证。就这样,这帮阿里巴巴的技术专家,成为了全球第一批使用 Flink 框架做大数据引擎研发的人,蒋晓伟一瞬间就给自己的引擎起好了名字——“Blink”。这是英文眨眼的意思。”一眨眼,所有东西都计算好了!“2015年底,搜索部门要向阿里巴巴 CTO 行癫汇报。每人20分钟时间,结果蒋晓伟上去讲 Blink,沉浸在对这个“完美引擎”的想象中,一下就说了40分钟。作为阿里巴巴所有核心技术的掌门人,行癫素来对新技术很敏感。他听懂了蒋晓伟的技术路线,内心也觉得相当靠谱。但这毕竟是搜索团队自己“偷偷”搞的项目,这帮兄弟究竟可以坚持走多远,行癫心里也没底。于是鼓励蒋晓伟说:“那就等你们明年做出来,我们再看!”阿里巴巴 CTO 行癫 张建锋(3)说到底,Blink 是一个通用引擎。它就像一个万能发动机,可以装载到轿车、卡车、飞机、火箭任何地方。蒋晓伟手握这台“万能发动机”的1.0版本,到处去找车实验。他盯上的“第一批车”,就是搜索业务中的使用场景。简单科普一下:搜索业务的机器学习平台内部代号叫“保时捷”(还真是一辆车。。。),可以根据你浏览商品的时间和动作,实时判断出你可能会对什么感兴趣,从而在下一秒就能给你智能推荐可能喜欢的商品。这是阿里巴巴非常有技术含量的一个应用。实际上,机器学习平台当时已经“心有所属”,配有一台流式计算引擎——之前王峰带领搜索团队自研的 iStream。iStream 是专门为搜索设计的,虽然目前可以很好地完成任务,但结构简单,不具有特别强的通用性。机器学习算法团队的一位负责人仁基,技术思想非常超前,非常巧的是,他同样是个执着于“美感”的人。他相信,未来 Flink 很可能会成为下一代机器学习算法重要的底层计算框架,于是在 Blink 系统研发的早期,就把团队里一百多位算法工程师的力量都用来配合蒋晓伟。“一两百人的团队,被我一个人折腾。”回忆到这里,蒋晓伟露出了羞赧的表情。说得很美好,结果真拿来 Blink 一用,动不动就躺尸。。。说实话,算法工程师没有义务为 Blink 的技术问题买单。毕竟算法工程师是“生产汽车的”,而 Blink 这个“发动机”质量不稳定,导致人家的汽车备受诟病,可以说相当冤枉了。所以那几个月一百多位算法工程师的日常就是各种吐槽“疯子”蒋晓伟。后来蒋晓伟才知道,这些吐槽,全都被仁基扛下来。仁基尽自己一切所能,在保护着这个弱小的 Blink。终于,2016年5月,第一个基于 Blink 的机器学习小功能“A/B Testing”上线。虽然还存在一些青涩的小毛病,但所有的技术人都看到了,Blink 已经像会呼吸的小兽一样,泛出诱人的引擎光泽。最激动的,当然是蒋晓伟本人。他把自己在 Flink 上成功的应用作为一个演讲,投给了当年的 Hadoop Sumit 大会。非常巧,Flink 的创始人 Kostas 和 Stephan 也在同一个大会上有一个演讲。他们两拨人实际是那次 Hadoop 大会上唯二的 Flink 演讲。Kostas 提前看到了议程,顿感相见恨晚,于是主动联系了蒋晓伟,希望他能用团队研究的成果影响社区。“本来之前是想自己玩玩的,我们连阿里都不敢影响,还敢影响社区?”蒋晓伟说。但是 Kostas 和 Stephan 觉得这群阿里人的尝试简直不要太酷,特别支持。蒋晓伟深受感动,“从那时候开始就觉得,我们不仅得把阿里内部的业务做好,还要为 Flink 社区做贡献,把 Flink 社区做好。”就这样,蒋晓伟和团队就跟组织“接上了头”,成为了 Flink 社区的核心成员。Flink 创始人 Kostas这么帅还来搞技术可以说是相当想不开了(4)在搜索团队内部证明了 Blink 能力,又得到了 Flink 社区的认可,蒋晓伟终于有资格正视自己的“野心”了。他提出要让 Blink 支撑“双11”上的实时机器学习任务,对方同意了。也就是说,双11当天,数亿人在淘宝天猫搜索商品,他们的每次查看,点击,都会影响个性化的智能推荐,在下一秒就能看到为自己量身定做的宝贝推荐。而这背后的实时计算,都要由 Blink 来支撑。然而抬眼一看,夏天已经到了,距离双11只有不到半年了。整个九、十月份,Blink 和机器学习系统的联调都处在各种花式崩溃之中。Blink 还小,压根就没见过双十一这种“人类狂欢”的阵仗。出现了一个死结:一旦超大规模数据进来,Blink 的性能立刻大幅下降。要知道,在 AI 领域,性能就是功能。性能大幅下降的 Blink 分分钟就把人工智能坑成“人工智障”。老程序猿都知道,数据规模是对一个系统最大的考验。一个系统承受不住大规模的数据浪潮,有可能证明这个架构就是无解的。如果真是架构缺陷,那么解决方案只有一个:放弃。带领团队攻坚的王峰回忆,那几天“自己已经崩溃了”。十一假期,所有团队的人都从北京冲到了杭州,别说休假,连觉都不睡了。六七个人就在工位上吃住,寻找究竟是哪个节点出了问题。即使是面对这样的情况,蒋晓伟、王峰,还有其他同事都完全相信,Flink 架构是完美的,问题一定是局部的可解的,只是我们还没找到它。终于,问题找到了!是不同层级算子之间的调度模式需要优化。解决这个问题之后,系统能处理的数据量立刻跃升。十月中旬,Blink 正式切上线。本以为劫波渡尽,没成想又是一大堆系统配合的问题接踵而来。蒋晓伟记得,将近11月,Blink 还有一些问题没搞定。这边基础引擎不搞定,算法团队就没办法在它的基础上调优双11的算法。到最后,算法团队的老大都直接找到蒋晓伟,着急地质问:“你们究竟是怎么回事啊?”现在想想,他的意思可能是想让我别折腾,直接换回去年的旧系统。但我的情商低,当时没听明白。就是一门心思地组织大家调优 Blink。。。蒋晓伟回忆。终于赶在11月前,Blink 完成了联调。原则上,从11月1日开始,双11的系统就要封闭代码,谁都不能动了。但是,这是 Blink 第一次承担这么重大的任务,为了万无一失,相关团队又提了很多冗余性的建议。王峰记得很清楚,一直到11月10日,还有几个小时双11就开始了,代码还最后改了几行,最终封闭。人事已尽,唯听天命。11月11日,巨大的数据像海啸一样涌向 Blink,蒋晓伟和王峰都捏了一把汗。然而,这个年轻的引擎应对自如。第二天,Blink 在阿里巴巴一炮而红。2016年“双11”交易额定格在1207亿(5)你以为故事结束了么?图样图森破。紧随而来的 2017 年对于蒋晓伟来说,简直不要更刺激。意识到大数据引擎这么重要,阿里巴巴集团决定调整组织架构,集全公司之力发展大数据引擎,由原阿里云的首席科学家周靖人组建计算平台事业部,在流式计算方面,把公司发展最好的三个引擎团队合三为一。周靖人他也是阿里巴巴达摩院的“禅师”之一这三个引擎分别是:阿里中间件团队的 JStorm、阿里云的 Galaxy、阿里巴巴搜索团队的 Blink。得知大牛周靖人负责整合三个团队,正在美国参加 Flink 官方大会 Flink Foward 的蒋晓伟和王峰内心有点波澜。他们知道,三个队伍合并之后,很可能在三条技术路线之中选择一条。蒋晓伟当然觉得自己的开源技术路线技术前景最好。但平心而论,Galaxy 的框架同样非常优秀。更关键的问题在于,Galaxy 一直是周靖人团队的成果。虽然在阿里巴巴不会出现因为亲疏远近而偏袒某个技术路线,但不可否认周靖人一定对于 Galaxy 更为熟悉。那时的蒋晓伟,和这个即将成为新领导的周靖人完全不熟悉,他完全无法预测将会发生什么。我担心,不会一回到国内,就没工作了吧。。。。蒋晓伟回忆。回国之后,周靖人来找蒋晓伟,蒋晓伟的心已经快跳到嗓子眼了。周靖人说:“我想把整合之后的团队交给你来负责,你们三人一起商量未来的技术路线,你觉得怎么样?”这意味着,蒋晓伟突然拥有了80人的豪华阵容。那一瞬间他在心里默念:“稳了!”只要不是强制采用某个技术路线,他就有信心说服 Galaxy 和 JStorm 的负责人。技术摆在这里,孰优孰劣是能讲得清道理的。蒋晓伟回忆,三个技术负责人的“谈判”整整维持了一周。大家都知道,这次技术路线的抉择,将会影响阿里巴巴未来十年甚至更远的技术发展,谁都不敢掉以轻心。谈到最后,争夺的焦点就集中在 Blink 和 Galaxy 之间。Flink 的开源生态,最终说服了Galaxy 的支持者。此时的 Flink 已经不像两年那样鲜有人问津,而是已经形成了巨大的社区,中国已经有腾讯、滴滴、美团等公司开始用 Flink 建造自己的流式计算引擎。在这个社区里,会有无数国内外大牛对 Flink 的代码做贡献。建立在这个开源基座上的架构,也会发展得更快速。至此,Blink 正式成为了阿里巴巴计算引擎的王牌军。Flink 社区逐渐声势浩荡(6)王牌军可不是白当的。2017年双十一,Blink 领到了自己的艰巨任务——支持全集团(阿里巴巴、阿里云、菜鸟)的流式计算任务。王峰告诉我,其实2016年双11 Blink 承担的搜索任务,已经是一个重头戏,有过这个经历垫底,再适配很多系统的时候只不过是麻烦一点而已。唯独有一样:Blink 要接管后台所有的交易数据的实时计算任务。交易数据计算,是淘宝天猫业务的最核心。也是支撑背后支付、物流的核心依据。很多其他的计算都要基于订单数据的结果。这就像面包店的面粉一样,无论你做什么蛋糕,都需要面粉。如果面粉的供应出问题,那整个面包店就要关门了。所以无论面临多大的订单量,交易数据计算必须稳定、快速、实时。一旦出现错误,损失无可估量。每年双十一狂欢晚会上的那块大屏幕上显示的实时成交数字,也是由订单数据汇总而成的。也就是说,如果 Blink 当天挂掉,不仅对淘宝天猫的运转影响巨大,还会导致一个略为明显的结果:成交量大屏一直维持“0”,一秒把人丢到全球无死角。2014、2015、2016 这三年,这个核心任务都是由兄弟引擎 Galaxy 来承担的。所有人都想到一个稳妥的方案:2017年“双11”让 Blink 和准备退役的 Galaxy 来个双备份,如果 Blink 临时废掉,还可以用 Galaxy 作为备份顶上,至少不会丢人。然鹅,2016年双11的成交量是1207亿元,按照历年经验推测,2017年的成交量八成是会超过1500亿的(事实证明确实如此,达到了1682亿)。而根据 Galaxy 的技术架构,如果不做大量繁琐的优化,很可能顶不住。初出茅庐的 Blink,就这样成为 2017 年双11媒体大屏“全球指定唯一必须顶上不干不行合作伙伴”。。。双11 当天,两条 Blink 链路互为备份。“虽然成功率基本是100%,但万里有一,假设 Blink 本身设计存在未知的缺陷,或者两条备份链路的机器硬件同时坏掉,都可能导致灾难。”蒋晓伟回忆。在双11到来前一周,王峰带领兄弟们已经把 Blink 引擎调整到无以复加的好状态。蒋晓伟想了想,又派同样是 Facebook 回来的大牛工程师大沙去天竺法喜寺烧了一炷香。。。2017年11月11日零点。狂欢现场。时钟敲响零点,然后出现五秒倒计时。按照流程,留给 Blink 的计算时间只有这五秒。也就是说,00:00:05 的时候,无论如何大屏幕都会切到 Blink 给出的双11前五秒交易总额。这五秒,几乎是蒋晓伟人生当中最漫长的五秒。1、2、3。。。第三秒的时候,蒋晓伟面前的监视器跳出了实时成交数据!再两秒之后,实时交易数据被投上大屏,穹顶之下,欢声雷动。蒋晓伟知道,现场观众并不一定理解大屏运行原理,内心也并没有特地把一份掌声送给幕后的流式计算引擎团队。但那一刻,他热泪盈眶。这几年兄弟们付出的努力值了。168,269,635,159。每一个数字,对蒋晓伟和兄弟们都意味着岁月和付出。(7)经过两年双11的考验,已经没人怀疑 Blink 是阿里巴巴最强悍的计算引擎之一。所以,不仅阿里巴巴集团所有用到流式计算的场景都会选用 Blink,Blink 还开始对外提供服务。虽然在蒋晓伟看来,各个场景的计算都可以用 Blink 来解决,但目前被应用最多的场景有如下几个:1、实时统计分析。在电商行业,尤其是促销的场景中,巨大的网络流量涌来,形势变幻莫测。每一秒的库存统计、订单报表,都能揭示出用户的行为规律。对这些数据进行实时分析,就能随时调整促销策略。2、在线机器学习。用户的行为会展现出他的性格和偏好,用机器学习分析一个人浏览商品的姿势,就能为他精准推荐可能感兴趣的商品。但是,可能一个用户只浏览一分钟,如果在这个时间段内没有能够吸引他的商品,它就会退出。所以必须在一秒钟之内,对他刚才的动作进行实时学习,才能保证他第一时间看到感兴趣的宝贝。3、实时金融风控。在金融领域,技术就是金钱。每成功阻断一次欺诈交易,就等于挽回了真金白银。通过对一个账户实时行为的分析,就可以知道现在它有没有进行危险交易,从而在第一时间阻断。4、IoT 边缘计算。在工厂中,每台生产线都会随时产生数据,如果可以实时对这些数据进行分析,就可以减少生产线的损坏几率,提高产品的良品率。根据参数实时调整生产线如此,才有了开头一幕所说:阿里云承建的城市大脑,可以利用 Blink 来预测道路拥堵,为救护车开拓生命道路。根据阿里云首席科学家闵万里博士的介绍:2018年,城市大脑第一次出国,被部署在马来西亚吉隆坡,把救护车到达现场的时间缩短了 48.9%。借助工业大脑,流式计算实时判断生产线的健康状况,帮助世界第一大光伏企业协鑫光伏提高了良品率1%,每年可以节省上亿元的无谓浪费。2018年12月20日,阿里巴巴将 Flink 的旗舰会议 Flink Foward 第一次引入中国,现场座无虚席。蒋晓伟、王峰和流式计算团队的每一个人,在过去的三年都亲眼见证了 Flink 从踽踽独行到集结成军。Flink Forward 2018 北京为了感谢社区的帮助,在这次会议上周靖人宣布,在未来会把基于 Flink 修改的 Blink 流式计算引擎开源。从2019年1月开始,所有人都可以查阅这个支持了双11、支持了城市大脑、支持了工业IoT等无数顶级计算的引擎代码。也就是在这一年,王峰正式接替蒋晓伟,成为流式计算的新掌门。而蒋晓伟则朝着他的“完美梦想”更进一步,带着一帮兄弟在此基础上研究“带有流式计算引擎的数据存储系统”——交互式查询系统,让这个引擎能够解决更多通用的计算问题。带有流式计算引擎的数据存储系统,听起来有些不知所云。其实,这个世界上最经典的这类系统,其实就是我们的大脑。我们一生中会接受各种信息,这些信息共同构成大脑的资料库,帮助我们预测未来。每当有新的信息进来,我们都会根据这一点点信息增量微调我们对于未来的预测。这种调整,毫无疑问是实时的。我们的祖先不小心触摸野火,从那一刻开始就会告诉自己和家人小心火焰。我们依靠对世界的万亿次反馈,发现了万有引力,发现了相对论,发现了量子力学。正是千万人实时更新的预测能力,构成了我们的文明,也书写了我们的历史。以前,所有关于未来的预测都在我们的脑海里,如今,我们终于有机会在躯体之外,利用人类的武器——计算力——建造起一个硕大的预测引擎。角落里,这些技术英雄笑起来安静而羞涩。但正因他们存在,人类面对未来,再也不是手无寸铁。本文作者:赵慧阅读原文本文为云栖社区原创内容,未经允许不得转载。 ...

January 7, 2019 · 1 min · jiezi

云栖专辑 | 阿里开发者们的第6个感悟:享受折磨

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。阿里巴巴常说“晴天修屋顶”。在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的成长感悟,50本书单。多年以后,再回首2018-19年,留给我们自己的,除了寒冷,还有不断上升的技术能力与拼搏后的成就感。12月27日,享受折磨。这是我们送给开发者的第6个感悟。铁庵,来自于他的高中的母校 杨仙逸中学,杨仙逸将军(中国近代航空事业的先驱,被誉为“中国革命空军之父”),字学华,号铁庵。《享受“折磨”》这是铁庵送给开发者的成长感悟。每天忙碌在产品及项目工作中时,有时也会疲惫。然而,每当想起自己的初心和理想,还有家人的支持,一切随即化作无限的幸福。阿里铁庵:从码农到产品经理萧少聪(铁庵)阿里云RDS系列数据库高级产品专家PostgreSQL中国用户会2015-18届主席中国区首位 EDB Postgres认证专家中国区前20名 红帽RHCA认证架构师 之一开源是一种信仰,代码可以开源,文章也可以开源,PPT也可以开源。基于前人的智慧将让你事半功倍,与他人分享成果,会让你的智慧长成参天大树。写代码如此,做产品亦如此,让自己成为大家的地板,让分享成就快乐。推荐的书单《PostgreSQL实战》《物演通论》*12月26日,听话,出活。这是我们送给开发者的第5个感悟。隐达是阿里云FPGA异构计算负责人,花名寓意是做人隐,做事达。在社区的专家页面中,如此介绍自己:业余时间喜欢看美剧和读书,尤其是历史书;还喜欢喝点小酒侃大山,喝酒只喝啤酒和威士忌;酒量比较差,但是酒品还过得去。我在某通信公司工作了18年,其中十年的大规模FPGA/ASIC开发、系统设计作。期待更多系列内容。FPGA设计之“甩锅大法”FPGA设计中遇到的奇葩问题之“芯片也要看出身”(三)FPGA设计中遇到的奇葩问题之“芯片也要看出身”(二)FPGA设计中遇到的奇葩问题之“芯片也要看出身”(一)阿里隐达:things that don’t kill you make you stronger隐达阿里云FPGA异构计算负责人20年FPGA、ASIC、硬件开发经验,对数据中心FPGA加速有一些实践和落地听话,出活。时来天地皆同力,运去英雄不自由。识不足则多疑,威不足则多怒,信不足则多言。推荐的书单:《见识》《智能时代》《大学之路》*12月25日,自驱是最好的进步方式,不设限,综合提高自己的能力,这是我们送给开发者的第四个感悟。阿里城池:hungry and humble,永远不够好城池所带领的前端技术团队一直与云栖社区密切配合,每一场的云栖大会的精彩呈现都是大家的努力。1月6日第13届D2前端技术论坛将在杭州举办,欢迎参加。《Google、Facebook、GitHub、Babel核心成员齐聚,第13届D2前端技术论坛正式启动》。邓小明(城池)阿里云高级前端技术专家多年前端&全栈研发经验,在工程化、serverless有一些实践及落地自驱是最好的进步方式;永远不够好;不给自己设限,不限定自己的角色,综合提高自己的能力;从0-1很艰难,但也很有趣书单《基业长青》《企业IT架构转型之道阿里巴巴中台战略思想与架构实战》12月24日,从身边熟悉的开源系统开始,用过才能更好理解代码。这是我们送给开发者的第3个感悟。正研,社区HBase社群大V。在他的博文中,《HBase2.0中的Benchmark工具 — PerformanceEvaluation》、《深入解读HBase2.0新功能之高可用读Region Replic》、《深入解读HBase2.0新功能之AssignmentManagerV2》、《消灭毛刺!HBase2.0全链路offheap效果拔群》可以清晰看到经验的积累。阿里正研:开源改变世界杨文龙(正研)阿里巴巴存储技术事业部技术专家Ali-HBase内核研发负责人ApacheHBase社区Committer&PMC成员对分布式存储系统的设计、实践具备丰富的大规模生产的经验有些人一直想去学习热门开源软件的代码,但其实不如从身边熟悉的开源系统开始;因为只有用过,才能更好地理解代码,只有带着实际生产的问题去看,才能明白为什么要这样去设计架构。反过来,只有从源码级理解这个系统,才能在使用过程中避免采坑。推荐的书单《深入理解计算机系统》《HeadFirst设计模式》*12月21日,使命感与开放心态,是我们送给开发者的第2个感悟。阿里德歌:公益是一辈子的事,I’m digoal, just do it德歌,江湖人称德哥。PG大神,在社区拥有6500+位粉丝。三年来,他沉淀在社区的博文超过2000+篇。还记得社区刚成立时,有位开发者在博文后留言“我一直认为PG是小众数据库,没想到社区有这么多干货。” 三年过去,PG的地位一直在上升,云栖社区PG钉群也已经超过1000位开发者在一起交流讨论。*周正中(德歌)PostgreSQL 中国社区发起人之一,PostgreSQL 象牙塔发起人之一,DBA+社群联合发起人之一,10余项数据库相关专利,现就职于阿里云数据库内核技术组。学习第一要有使命感,第二要有开放的心态。使命感是技术为业务服务,结合业务一起创造社会价值,有使命感才能让你坚持下去,遇到困难时不容易被打倒。开放是在扎实的技术功底之上,跳出纯粹的技术从生态进行思考,要埋头苦干也要抬头看路。比如行业生态中重叠部分,盟友与竞争关系,问题及补齐办法等,同时也要密切关注国家和国际形势,分析背后原因,在未来技术方向决策上避免逆流行舟。推荐的书单:《PostgreSQL实战》*12月20日,场景中学习,这是我们送给开发者的第1个感悟。阿里毕玄:程序员的成长路线在这篇《程序员的成长路线》里,阿里基础设施负责人毕玄结合自己的经历跟大家讲述了他在各个角色上成长的感受。在他的职业经历中,在成长方面经历了技术能力的成长、架构能力的成长,以及现在作为一个在修炼中的技术 Leader 的成长。其中技术能力和架构能力的成长是所有程序员都很需要的,值得所有正为职业发展而迷茫的技术同学细细品味。*林昊(毕玄)阿里基础设施负责人阿里巴巴HSF、T4创始人,HBase负责人主导阿里电商分布式应用架构、异地多活架构、资源弹性架构升级程序员,要寻找甚至创造场景来学习相应的技术能力。正如学Java通讯框架,尝试基于BIO/NIO写一个,然后对比Mina/Netty,看看为什么不一样;学Java的内存管理,尝试写程序去控制GC的行为。书籍外,更建议翻看源码,结合场景才能真正理解和学会。我的职业经历是技术能力成长、架构能力成长和正在修炼中的技术Leader的成长,三条路线都可发展,没有孰优孰劣,兴趣、个人优势仍是最重要的。出版的图书:《OSGi原理与最佳实践》《分布式Java应用:基础与实践》推荐的书单:《硅谷之谜》《智能时代:大数据与智能革命重新定义未来》预计更新到1月20日,欢迎收藏。本文作者:云篆阅读原文本文为云栖社区原创内容,未经允许不得转载。

December 27, 2018 · 1 min · jiezi

阿里开发者们的第5个感悟:听话,出活

2015年12月20日,云栖社区上线。2018年12月20日,云栖社区3岁。阿里巴巴常说“晴天修屋顶”。在我们看来,寒冬中,最值得投资的是学习,是增厚的知识储备。所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的成长感悟,50本书单。多年以后,再回首2018-19年,留给我们自己的,除了寒冷,还有不断上升的技术能力与拼搏后的成就感。12月26日,听话,出活。这是我们送给开发者的第5个感悟。隐达是阿里云FPGA异构计算负责人,花名寓意是做人隐,做事达。在社区的专家页面中,如此介绍自己:业余时间喜欢看美剧和读书,尤其是历史书;还喜欢喝点小酒侃大山,喝酒只喝啤酒和威士忌;酒量比较差,但是酒品还过得去。我在某通信公司工作了18年,其中十年的大规模FPGA/ASIC开发、系统设计作。期待更多系列内容。FPGA设计之“甩锅大法”FPGA设计中遇到的奇葩问题之“芯片也要看出身”(三)FPGA设计中遇到的奇葩问题之“芯片也要看出身”(二)FPGA设计中遇到的奇葩问题之“芯片也要看出身”(一)阿里隐达:things that don’t kill you makes you stronger隐达阿里云FPGA异构计算负责人20年FPGA、ASIC、硬件开发经验,对数据中心FPGA加速有一些实践和落地听话,出活。时来天地皆同力,运去英雄不自由。识不足则多疑,威不足则多怒,信不足则多言。推荐的书单:《见识》《智能时代》《大学之路》*12月25日,自驱是最好的进步方式,不设限,综合提高自己的能力,这是我们送给开发者的第四个感悟。阿里城池:hungry and humble,永远不够好城池所带领的前端技术团队一直与云栖社区密切配合,每一场的云栖大会的精彩呈现都是大家的努力。1月6日第13届D2前端技术论坛将在杭州举办,欢迎参加。《Google、Facebook、GitHub、Babel核心成员齐聚,第13届D2前端技术论坛正式启动》。邓小明(城池)阿里云高级前端技术专家多年前端&全栈研发经验,在工程化、serverless有一些实践及落地自驱是最好的进步方式;永远不够好;不给自己设限,不限定自己的角色,综合提高自己的能力;从0-1很艰难,但也很有趣书单《基业长青》《企业IT架构转型之道阿里巴巴中台战略思想与架构实战》12月24日,从身边熟悉的开源系统开始,用过才能更好理解代码。这是我们送给开发者的第3个感悟。正研,社区HBase社群大V。在他的博文中,《HBase2.0中的Benchmark工具 — PerformanceEvaluation》、《深入解读HBase2.0新功能之高可用读Region Replic》、《深入解读HBase2.0新功能之AssignmentManagerV2》、《消灭毛刺!HBase2.0全链路offheap效果拔群》可以清晰看到经验的积累。阿里正研:开源改变世界杨文龙(正研)阿里巴巴存储技术事业部技术专家Ali-HBase内核研发负责人ApacheHBase社区Committer&PMC成员对分布式存储系统的设计、实践具备丰富的大规模生产的经验有些人一直想去学习热门开源软件的代码,但其实不如从身边熟悉的开源系统开始;因为只有用过,才能更好地理解代码,只有带着实际生产的问题去看,才能明白为什么要这样去设计架构。反过来,只有从源码级理解这个系统,才能在使用过程中避免采坑。推荐的书单《深入理解计算机系统》《HeadFirst设计模式》*12月21日,使命感与开放心态,是我们送给开发者的第2个感悟。阿里德歌:公益是一辈子的事,I’m digoal, just do it德歌,江湖人称德哥。PG大神,在社区拥有6500+位粉丝。三年来,他沉淀在社区的博文超过2000+篇。还记得社区刚成立时,有位开发者在博文后留言“我一直认为PG是小众数据库,没想到社区有这么多干货。” 三年过去,PG的地位一直在上升,云栖社区PG钉群也已经超过1000位开发者在一起交流讨论。*周正中(德歌)PostgreSQL 中国社区发起人之一,PostgreSQL 象牙塔发起人之一,DBA+社群联合发起人之一,10余项数据库相关专利,现就职于阿里云数据库内核技术组。学习第一要有使命感,第二要有开放的心态。使命感是技术为业务服务,结合业务一起创造社会价值,有使命感才能让你坚持下去,遇到困难时不容易被打倒。开放是在扎实的技术功底之上,跳出纯粹的技术从生态进行思考,要埋头苦干也要抬头看路。比如行业生态中重叠部分,盟友与竞争关系,问题及补齐办法等,同时也要密切关注国家和国际形势,分析背后原因,在未来技术方向决策上避免逆流行舟。推荐的书单:《PostgreSQL实战》*12月20日,场景中学习,这是我们送给开发者的第1个感悟。阿里毕玄:程序员的成长路线在这篇《程序员的成长路线》里,阿里基础设施负责人毕玄结合自己的经历跟大家讲述了他在各个角色上成长的感受。在他的职业经历中,在成长方面经历了技术能力的成长、架构能力的成长,以及现在作为一个在修炼中的技术 Leader 的成长。其中技术能力和架构能力的成长是所有程序员都很需要的,值得所有正为职业发展而迷茫的技术同学细细品味。*林昊(毕玄)阿里基础设施负责人阿里巴巴HSF、T4创始人,HBase负责人主导阿里电商分布式应用架构、异地多活架构、资源弹性架构升级程序员,要寻找甚至创造场景来学习相应的技术能力。正如学Java通讯框架,尝试基于BIO/NIO写一个,然后对比Mina/Netty,看看为什么不一样;学Java的内存管理,尝试写程序去控制GC的行为。书籍外,更建议翻看源码,结合场景才能真正理解和学会。我的职业经历是技术能力成长、架构能力成长和正在修炼中的技术Leader的成长,三条路线都可发展,没有孰优孰劣,兴趣、个人优势仍是最重要的。出版的图书:《OSGi原理与最佳实践》《分布式Java应用:基础与实践》推荐的书单:《硅谷之谜》《智能时代:大数据与智能革命重新定义未来》预计更新到1月20日,欢迎收藏。本文作者:云篆阅读原文本文为云栖社区原创内容,未经允许不得转载。

December 26, 2018 · 1 min · jiezi

离职阿里三年后,他又回来了

11月22日,马辉从黄龙体育中心附近的办公室开车来到阿里园区北2门,离开阿里三年后,马辉和1000多名已经毕业的“校友”又回到了这个梦想启程的地方。在校友会现场,马辉分享了自己的公益故事。1991年,大眼睛女孩苏明娟的照片《我要读书》传遍全国,引发了国人对贫困地区儿童的关注。2016年,马辉在四川大凉山又一次看到这种渴望的眼神。来自大凉山的女孩洛古阿明,趴在知行夏令营教室的窗边,注视着教室内老师的一举一动,老师的一个举手,一个眼神都能让她看的出神,问起原因,她说:“我想要成为和老师们一样的人。”在她眼中,马辉看到的是渴望,他决定今后无论遇到什么困难,夏令营都一定要坚持做下去。阿里和汶川是我公益之心的起源马辉(花名道长)是“知行教育基金会”的理事之一,一位在阿里巴巴工作了9年的同学。2008年汶川地震,阿里巴巴紧急组建了许多援助小队,马辉加入其中,协助捐助物资的筹集工作,那是他第一次接触公益事业。震后的惨况让马辉深深的认识到上天的不公,他觉得以后自己应该多为他人做点什么。正巧,2009年,马辉的几个朋友在香港创办了“YesWeDo”知行教育基金会,他也受邀担任基金会理事一职。成立基金会的目的,原本是为了给灾后重建的学校筹集物资,但在援助的过程中,大家发现有这样想法的爱心人士和机构很多,所以学校并不缺硬件。“他们更需要的是文化上的重建。当地很多学校的语数老师要同时教多个课程,学生们的美术课和体育课还真是数学老师教的。”马辉说。基金会首先想到让大学生们来帮忙。于是大家就从北京大学、清华大学、浙江大学、香港大学等知名高校中选拔了一批优秀的大学生。由专业人士为这些大学生们进行为期两周培训,课程内容包括教育教学技能和儿童心理学等。受训后的大学生们,将分别前往9所贫困地区的学校,为免费参加“知行夏令营”的孩子们带去一些学校基础课外的课程,比如画脸谱、皮影戏、音乐、棒球、团队拓展等素质教育课程。在过去的9年中,近400名志愿者大学生参与了这个项目,为3000多名贫困地区的学生带去了许多新奇生动的课。马辉在一次次的夏令营中,见证了孩子和这些“老师”之间的一种妙不可言的化学反应。“男子汉”说:没有人像你这样关心过我2016年的夏令营,有一个极其调皮的男孩子,叫拉马晓拉,他不喜欢上课,不喜欢和人交流,不太遵守校纪,还时常和人打架,自封为“男子汉”。他的“老师”是来自北京师范大学的志愿者,叫乔晓楠,孩子们都亲切的叫她 “小乔老师”。在一节体育课中,拉马晓拉把自己的右手小拇指韧带拉伤了。起初还不愿意让人帮助,但不管他怎么不情愿,小乔老师还是坚持每天三次用红花油给她擦手。渐渐地,拉马晓拉会自愿把手伸给小乔老师,甚至开始主动和小乔老师说话。有一次,小乔老师给拉马晓拉擦手时,开玩笑的问他是不是因为受伤了才变得听话。谁知,拉马晓拉定着眼睛看着小乔老师认真的说:“因为没有人像你这样关心过我,我知道你是真的为我好。”夏令营结束分别时,拉马晓拉忍着手指的疼痛爬上树摘了许多梨送给小乔老师,那天的小乔老师哭得像个孩子。钟爱:离别是为了下次更美好的相遇2010年,四川什邡中学的钟爱参加了第一届知行夏令营,那时的她还是一个羞涩的初一学生,第一次接触到全新的课程,还在老师的鼓励下克服了内心的羞涩,与老师一起合唱了一首《好久不见》。钟爱没有想到平时不善言辞的自己,能在这么多人面前唱完那首歌,夏令营结束后,她在心里默默下了决心:“我要成为老师那样的人。”2016年,已经读大一的钟爱真的实现了自己的愿望,她成为了当年“YesWeDo”知行夏令营的一名志愿者。当钟爱站在讲台上,望向台下的学生们时,她仿佛看到了自己的影子。“我曾经也是这样见到了全新的世界,接触到了优秀的前辈们,从害羞走向自信,从胆怯走向勇敢。心里感慨万千。”离别时钟爱给孩子们讲了自己的故事,她告诉孩子们:““离别是为了下次更美好的相遇。” 一如2010年的夏天钟爱所听到的。这是命运的循环,也是爱的传承。做公益,改变的是你自己“知行夏令营”很短暂,虽然深受孩子们的喜爱,但马辉知道,仅仅依靠夏令营的形式,还不足以带给孩子们更多的帮助和更深刻的改变。2015年,“知行课堂”应运而生,课堂帮助那些贫困地区的学校招募一些长期支教教师,包括音乐、体育、美术、书法、舞蹈等。至今,“知行课堂”顺利开展了6个学期的支教课程,受惠学生超过1万名。说起为什么要做公益,马辉借用马云说过的一句话回答记者:“无论我们做不做公益,世界都会发生变化。但你做了,改变的是你自己。”马辉觉得公益的好处是双向的。让山区里的孩子们看到未来,让志愿者老师们体会到真情的付出一定会换回真情。离别时孩子们的一声“老师再见”,也让他们感受到了未来将要承担的社会责任。“2015年,我离开了阿里巴巴,但无论去往哪里,从事什么工作,在阿里的那颗公益心永远都在。”马辉说。自2015年至2018年3月31日,阿里人已经累计34.1万人次申报“人人3小时”公益活动,累计公益时48.3万小时。本文作者:何思源阅读原文本文来自云栖社区合作伙伴“ 阿里巴巴公益”,如需转载请联系原作者。

December 25, 2018 · 1 min · jiezi

短视频宝贝=慢?阿里巴巴工程师这样秒开短视频

前言随着短视频兴起,各大APP中短视频随处可见,feeds流、详情页等等。怎样让用户有一个好的视频观看体验显得越来越重要了。大部分feeds里面滑动观看视频的时候,有明显的等待感,体验不是很好。针对这个问题我们展开了一波优化,目标是:视频播放秒开,视频播放体验良好。无图无真相,上个对比图,左边是优化之前的,右边是优化之后的:问题分析视频格式的选择在正式分析问题之前有必要说明下:我们现在首页的视频,都是320p H.264编码的mp4视频。H.264 & H.265H.264也称作MPEG-4AVC(Advanced Video Codec,高级视频编码),是一种视频压缩标准,同时也是一种被广泛使用的高精度视频的录制、压缩和发布格式。H.264因其是蓝光光盘的一种编解码标准而著名,所有蓝光播放器都必须能解码H.264。H.264相较于以前的编码标准有着一些新特性,如多参考帧的运动补偿、变块尺寸运动补偿、帧内预测编码等,通过利用这些新特性,H.264比其他编码标准有着更高的视频质量和更低的码率.H.265/HEVC的编码架构大致上和H.264/AVC的架构相似,也主要包含:帧内预测(intra prediction)、帧间预测(inter prediction)、转换 (transform)、量化 (quantization)、去区块滤波器(deblocking filter)、熵编码(entropy coding)等模块。但在HEVC编码架构中,整体被分为了三个基本单位,分别是:编码单位(coding unit,CU)、预测单位(predict unit,PU) 和转换单位(transform unit,TU )。总的来说H.265压缩效率更高,传输码率更低,视频画质更优。看起来使用H.265似乎是很明智的选择,但我们这里选择的是H.264。原因是:H.264支持的机型范围更为广泛。 PS:闲鱼H.265视频在宝贝详情页会在近期上线,敬请关注体验!TS & FLV & MP4TS是日本高清摄像机拍摄下进行的封装格式,全称为MPEG2-TS。TS即"Transport Stream"的缩写。MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。下述命令可以把mp4转换成ts格式,从结果来看ts文件(4.3MB)比mp4文件(3.9MB)大10%左右。ffmpeg -i input.mp4 -c copy output.tsFLV是FLASH VIDEO的简称,FLV流媒体格式是随着Flash MX的推出发展而来的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等问题。FLV只支持一个音频流、一个视频流,不能在一个文件里包含多路音频流。音频采样率不支持48k,视频编码不支持H.265。相同编码格式下,文件大小和mp4几乎没有区别。 ffmpeg -i input.mp4 -c copy output.flv MP4是为大家所熟知的一种视频封装格式,MP4或称MPEG-4第14部分是一种标准的数字多媒体容器格式。MPEG-4第14部分的扩充名为.mp4,以存储数字音频及数字视频为主,但也可以存储字幕和静止图像。因其可容纳支持比特流的视频流,MP4可以在网络传输时使用流式传输。其兼容性很好,几乎所有的移动设备都支持,而且还能在浏览器、桌面系统进行播放。综合上面几个封装格式的特点,我们的最终选择是MP4.播放流程一个视频在客户端的播放流程是怎么样的?播放首开慢耗时在什么地方?耗时点是否能够快速低成本的解决?了解视频的播放流程有助于找到问题的突破口。视频从加载到播放可以分为三个阶段:读取(IO):“获取” 内容 -> 从 “本地” or “服务器” 上获取解析(Parser):“理解” 内容 -> 参考 “格式&协议” 来 “理解” 内容渲染(Render):“展示” 内容 -> 通过扬声器/屏幕来 “展示” 内容可以看出内容获取从“服务器”改为“本地”,这样会节省很大一部分时间,而且成本很低,是一个很好的切入点。事实也是如此,我们的优化正是围绕此点展开。PS: 我们使用的网络库,播放器都是集团内部的,本身做了很多优化。本文不涉及网络协议,播放器方面的优化讨论。技术方案鉴于上面的分析,我们要做的工作是:把mp4文件提前缓存一部分,到feeds滑动要播放的时候,播放本地的mp4文件。由于用户可能继续观看视频,所以本地的数据播放完后,需要从网络下载数据进行播放。这里需要解决两个问题:应该提前下载多少数据缓存数据播放完成后该怎么切换到网络数据MOOV BOX的位置对于第一个问题,我们不得不分析一下mp4的文件结构,看看我们应该下载多少数据量合适。MP4是由很多Box 组成的,Box里面可以嵌套Box:这里不详细介绍MP4的格式信息。但是可以看出moov box对播放很关键,它提供的信息如:宽高、时长、码率、编码格式、帧列表、关键帧列表等等。播放器没有获取到moov box是没办法进行播放的。所以下载的数据应该要包含moov box再加上几十帧的数据。做了一个简单的计算:闲鱼短视频一般最长是30s,feeds里面的分辨率是320p,码率是1141kb/s,ftyp+moov这个视频的数据量在31kb左右(打开文件可以看出mdat是从31754byte的位置开始的),所以,头部信息+10帧的数据大约是:(31kb + 1141kb/3)/8 = 51KBProxy第二个问题:缓存数据播放完成后该怎么切换到网络数据呢?在本地数据播放完成之后,设置一个网络地址给播放器,告诉播放器下载的offset是多少,然后继续从网络下载数据播放。这样看起来可行,但是需要播放器提供支持:本地数据播放完成的回调;设置网络url并支持offset。另外,服务端需要支持range参数,而且切换到网络播放的时候需要新建立网络连接,很可能会造成卡顿。最终,我们选择了proxy的方式,把proxy作为中间人,负责预加载数据、给播放器提供数据,切换逻辑在proxy里面来完成。未加入proxy之前流程是这样的:加入了proxy之后流程是这样的:这样做的好处很明显,我们可以在proxy里面做很多事情:例如本地文件缓存数据和网络数据的切换工作。甚至是和CDN使用其它的协议进行通信。我们这里假定预加载工作已经完成,看看播放器是怎么和proxy进行交互的。播放的时候会用Proxy提供的一个localhost的url进行播放,这样代理服务器会收到网络请求,把本地预加载的数据返回给播放器。播放器完全感知不到proxy模块、预加载模块的存在。播放器、预加载模块都是Proxy的client,调用逻辑都是一样。图示说明如下:下面逐步解释一下,数据的加载过程:Client发起http请求获取数据,箭头1所示文件缓存如果存在所请求的数据则直接返回数据,箭头2所示若本地文件缓存数据不够,则发起网络请求,向CDN请求数据,箭头3所示获取网络数据,写入文件缓存,箭头4所示返回请求的数据给Client,箭头2所示实现模块预加载模块确定了技术方案后,预加载模块还是有很多工作要做的。在列表网络数据解析完成后会触发视频预加载,首先会根据url生成md5值,然后去查看这个md5值对应的任务是否存在,如果存在则不会重复提交。生成任务后会提交到线程池,在后台线程进行处理。网络从Wifi切换到3G的时候,会把任务取消,防止消耗用户的数据流量。预加载任务在线程池执行的时候,其流程是这样的:首先会获取一个本地代理的url。然后发起http请求。Proxy会收到http请求进行处理,开始做真正的数据预加载工作。预加载模块读取到指定的数据量后终止。到此,预加载的任务就已完成。流程图如下所示:在用户快速滑动的时候,怎么能保证视频还能继续秒开呢?预加载模块对于每一个任务都会维护一个状态机,在Fling的时候会把划过的任务暂停下,把最新要显示的任务优先级提高,让其优先执行。Proxy模块Proxy内部有个local的httpServer负责拦截播放器和预加载模块的http请求。client在请求时会带入CDN的url,在本地缓存数据没有的时候会去CDN获取新鲜数据。因为有多个地方向Proxy请求数据,所以用线程池来处理多个client的连接很有必要,这样多个client可以并行,不会因为前面有client在请求而阻塞。文件缓存使用LruDiskCache,在超过指定文件大小后,老的缓存文件会删除,这是一个在使用文件缓存时很容易忽视的问题。由于我们的场景视频是连续播放的,不存在seek的情况,所以文件缓存相对比较简单,不用考虑文件分段的情况。Proxy内部对于同一个url会映射到一个client,如果预加载和播放同时进行,数据只会有一份,不会去重复下载数据。再来一个Proxy内部构造示意图:遇到的问题在测试中发现,有的视频还是会播放很慢,仔细查看本地的确缓存了期望的数据大小,但是播放的时候还是有较长的等待时间,这种视频有个特点:moov box在尾部。对于moov在尾部的视频,是整个文件都下载完成后才进行播放的,原因是moov box里面存了很多关键信息,前面分析mp4格式的时候有提到。对于这个问题有两个解法:解法一:服务端在进行转码的时候保证moov的头部在前面,发现moov位置不正确的视频服务端进行订正。PS:查看moov在文件中的位置可以用hex文本编辑器打开,按字符搜索moov所在的位置即可,MAC上面还可以使用MediaParser , 另外还可以用ffmpeg命令生成moov在头部或者尾部的mp4文件。例如: 从1.mp4 copy一个文件,使其moov头在尾部ffmpeg -i 1.mp4 -c copy -f mp4 output.mp4 从1.mp4 copy一个文件,使其moov头在头部:ffmpeg -i 1.mp4 -c copy -f mp4 -movflags faststart output2.mp4解法二不用修改moov box的位置,而是在播放端进行处理,播放端需要检测流信息,如果moov前面没有,就去请求文件的尾部信息。具体就是:发起 HTTP MP4 请求,读取响应 body 的开头,如果发现 moov 在开头,就接着往下读mdat。如果发现开头没有,先读到 mdat,马上 RESET 这个连接,然后通过 Range 头读取文件末尾数据,因为前面一个 HTTP 请求已经获取到了 Content-Length ,知道了 MP4 文件的整个大小,通过 Range 头读取部分文件尾部数据也是可以的。示意图如下这个方案的缺点是:对于moov box在尾部的视频会多两次http connection。结语本文介绍了常见的视频编码格式,视频封装格式,介绍了moov头信息对于视频播放的影响。随着对于播放流程的分析,我们找到了问题的切入点。简单说就是围绕着数据预加载展开,把网络请求数据的工作提前完成,播放的时候直接从缓存读取,而且后续的视频回看都是从缓存读取,不仅解决了视频初始化播放慢的问题,还解决了播放缓存问题,可以说是一箭双雕。Proxy是这个方案的核心思想,本地localhost的url是一个关键纽带,视频预加载模块和播放器模块解耦彻底,换了播放器照样可以使用。到此为止,视频feeds秒开优化就已完成。上线后的数据来看视频打开速度在800ms左右。回过头来,或许我们还可以更进一步,可以对预加载收到的数据进行验证,确保缓存了准确的信息,而不是固定的数值。还可以进行更加深度的优化,让用户观看视频的体验更加顺滑。参考文献* AndroidVideoCache* 视频的封装格式和编码格式* 播放器技术分享(1):架构设计* MP4文件格式的解析,以及MP4文件的分割算法* 从天猫某活动视频3次请求说起* [视音频编解码学习工程:FLV封装格式分析器]https://blog.csdn.net/leixiaohua1020/article/details/17934487* https://www.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec_v10_1.pdf* https://baike.baidu.com/item/flv* https://standards.iso.org/ittf/PubliclyAvailableStandards/index.html本文作者:闲鱼技术-邻云阅读原文本文为云栖社区原创内容,未经允许不得转载。 ...

December 21, 2018 · 1 min · jiezi

阿里巴巴在内蒙古旱区试水物联网灌溉技术,一年省出1.5个西湖

阿里巴巴正用物联网技术解决干旱地区的灌溉问题,通过搭建农业物联网平台,全面监测农作物的生长状态,从而匹配最节约的灌溉方案。12月19日试验区研究人员得出预测结果:一年可以省出1.5个西湖的水。一直以来干旱是困扰人类的重要环境问题,2000年前曾导致玛雅文明的毁灭。在现代中国,干旱问题依然存在,数据显示2017年全国3亿亩耕地就受干旱威胁。导致无水可浇的不只是自然原因,更多是人为导致。在内蒙古巴林右旗,据当地林业局透露,地下水位的大幅下降从近几年开始,耕种者用机电井等设备大规模抽水漫灌,最严重的地区水位下降18米。改变这种粗放型灌溉方式,是阿里巴巴解决问题的切入点。阿里云物联网技术专家谢士杰表示:“精细化灌溉的前提是准确了解作物的生长情况,及周边的环境条件,农业物联网是解决这些问题的前提。”沙漠国家以色列,正是用这一方式实现了农业史上的奇迹,高度智能化的灌溉系统像空气一样随处存在。农产品不仅满足了本国需求,还大量出口欧洲。在国内,智能化的灌溉系统受到成本、技术等诸多因素的限制。但阿里云已经同京蓝科技一起在巴林右旗进行了首次尝试。通过对气温、光照、湿度以及蒸腾量等环境条件的长时间监测,判断环境因子和作物生长各方面的关系,形成专家决策系统,对作物生长环境精准化控制,指挥草原上的灌溉设备浇水。什么时候浇水、浇多少水都由这个智能系统来决定。据估算,巴林右旗因此一年可以节省1550万立方米的水,相当于省出1.5个西湖,当地地下水位也已停止下降。谢士杰表示:“整个过程包含了设备管理、空间管理、数据汇聚、环境监测、水肥一体化等,形成平台后可以更大规模推广。”据了解,阿里巴巴还计划通过物联网在农场侧进行边缘计算,提高灌溉决策的实时性。用科技改造人类赖以生存的农业已经是全球趋势。日本正用互联网实现种植技术与知识的数据化,从而使得这些宝贵的经验被下一代农户和农企继承。美国则在研发可以自己采摘苹果的机器人,提高工作效率。本文作者:阿里云头条阅读原文本文为云栖社区原创内容,未经允许不得转载。

December 20, 2018 · 1 min · jiezi

80后阿里P10,“关老板”如何带着MaxCompute一路升级?

我是个幸运的人。虽然幸运不能被复制,但是眼光和努力可以。关涛/关老板,80后的阿里P10,阿里巴巴通用计算平台负责人,阿里巴巴计算平台研究员。12年职场人生,微软和阿里的选择。关涛的花名取自谐音:观涛。有种看海观涛的闲适,但在MaxCompute技术团队里,因为团队既要做核心技术也要“落地拿结果”承担阿里云的客户规模和营收,像一个小的创业公司,因此大家更喜欢叫他”关老板”,一下子就世俗亲近了起来。关老板是个北方人,大高个也带着些书生气。因为工作的关系,带领着一支跨国团队,两岸四地奔波(太平洋两岸,北京、杭州、西雅图、加州),说话间偶尔喜欢中英文match一下。“我是一个兴趣驱动型的人,职业生涯总的来说,还算挺幸运的,做自己感兴趣的事情,走上IT这一行……”如果有认识关涛的人,应该会忍不住说上一句:这家伙,运势太好了吧。一路保送,没考过什么试,大学选择计算机的原因也很任性,喜欢玩游戏。研究生毕业后就进入了微软,是微软最年轻的技术管理者之一,后来去了阿里云,不到3年时间,已经是P10,阿里巴巴通用计算平台MaxCompute团队负责人。“特别久以前,大概初中的时候有了自己的第一台电脑,大名鼎鼎的486,带一个数学协处理器,主频266MHz,内存有4MB。”喜欢玩游戏的都知道,往往会碰见有些关卡比较难,闯不过去的情况。当时的关涛就想着:怎么能够绕开系统这些设置?于是查了很多杂志也看了很多书,试图去改游戏存档,那个阶段他第一次知道什么是十六进制,也是最初接触编程。最后自己折腾着,操纵游戏角色大杀四方,简直无敌。让程序按照自己的意愿运行的感觉,“嘿,还好玩的。”于是,开始觉得这个专业(计算机)不错。到了高中毕业的时候,因为数学竞赛被保送到南开大学,当时的一个选择是可以进数学系,南开的王牌专业,但最后,关涛还是因为兴趣选择了计算机。人生的分叉口有很多,有时候做了第1个选择,后面的路都会开始相通,看似顺势而为,其实都是选择的结果。从200公里的北京到8000多公里的西雅图工作需要定期make a little change2006年,关涛毕业了。这意味他要开始自己的职业生涯了,他有些跃跃欲试。研究生的3年,因为导师有额外要求:不能去实习,这让关涛对于招聘市场并不那么了解,对于微软同样是“没有太多的认知”。但北京有个MSRA,微软亚洲研究院,据说是当时最好的R&DCenter。抱着试试看的心态,经历了一整天的面试后,关涛顺利地拿到了offer。 他回忆:“好像也不是那么难”。在离家乡河北承德200公里远的北京,关涛一呆就是6年,是微软Bing搜索北京团队最初的几十个人之一。从偏存储层到计算层,在项目里不断地去充实自己。他是个兴趣驱动的人,但在工作中愿意变成完美主义者。在微软的第一个项目,是做一个分布式KV+ObjectStore系统,用于支持Bing搜索的图片和视频存储。2006年,还没有Hbase这样的开源系统,当时6个人的小团队完全手写一套分布式KV,最终部署在3000台机器并支持正常线上流量,在实战中接触到了分布式系统中的各种挑战,也学到了非常多的东西。“这个项目,是个好的机会与开始”。第二个项目是做搜索后台的IndexGen Pipeline:一个定制化的存储与计算系统,用于支持通用搜索100B级别的超大规模数据存储和处理,后来这个搜索后台也成为了微软Bing搜索后台的第二代架构,并服务至今。再后来就是牵头来做大数据上交互式查询(JetScopeOn Cosmos),最后基本微软一半以上的团队都在用这个系统。在关涛看来,不管是生活还是职业发展,定期去make a little change是很好的选择,保持新鲜感的同时,能看到学到更多的东西。从被别人带着写代码、到自己独立负责一些板块,再到自己带项目小组、带大一点的技术团队,这些都需要有一个自我时间界定,把握自己的发展节奏。6年微软后,他也准备make a bigger change:申请去了美国西雅图的微软总部。8000多公里以外的城市,冬天不太冷,夏天不太热,还有他最爱的单板滑雪,以至于一直坚持在每年的最后一天自驾去不同的滑雪地。在美国期间,关涛继续深入做交互式查询、StructuredData优化推动等,也积累了很多跨国技术团队管理的经验。 “美国有近40年的历史,团队成员比北京的团队更资深一些,在美国能够看到不一样的人,看到不一样的项目。”而在微软的10年时间里,关涛也关注到了国内以BAT为代表的本土企业,他们发展的很好,而且有更高的加速度……西雅图分部第22号员工10年后的回归,面对更多的挑战“当时海外办公室刚建起来,我是阿里西雅图分部的第22号员工。”“在微软10年,国内是什么情况?”好奇心不断膨胀,于是在一次偶然的机会,关涛跳去了阿里,成为了阿里巴巴通用计算平台MaxCompute团队里的一员。这是2016年1月。MaxCompute的前身是ODPS,阿里内部统一的大数据平台,目前99%的数据存储以及95%的计算能力都在这个平台上产生,如果把阿里巴巴集团的数据体系比作航母战斗群,那么MaxCompute就是中间的航空母舰。面对这样一个已经发展了近6年的相对成熟、体量极为庞大的平台,挑战非常多。而2016年1月入职阿里,2016年年会上就接过了MaxCompute的掌舵者位置,从0到1已经做完了,如何做到从1到10?留给关涛的时间并不多。他认为,大型系统逐步发展,是一个不断自我进化的过程,大数据系统也不例外。微软的经历给了他一些帮助:包括同样都是大数据引擎(规模上有较大差异),之前的技术和工程经验都能复用。而丰富的跨国技术团队管理经验也让关涛更加适应阿里的工作。**从MaxCompute1.0到MaxCompute2.0“我们是在飞行的飞机上换引擎”**关涛回忆:“当时进来的时候,MaxCompute1.0 其实是在一个技术的成熟期上,承接了阿里巴巴内部和阿里云的核心业务,而引擎升级有技术风险和问题(我们称为Regression,包括功能和性能的)。为了保证对上层透明,我们先做了一个框架升级,支持把引擎的不同版本同时部署在线上,一点一点地把流量切过来,同时观察效果。”之后再进行引擎层面的大手术。有点像是“在飞行的飞机上换引擎”。如今的MaxCompute2.0相较于1.0版本,规模达到近10万台,性能提升超过1倍以上,每年为阿里巴巴节省预算超过20亿,同时也让阿里的大数据引擎可以在未来3-5年架构上有个相对好的布局。技术团队如何管理关涛的看法是:技术管理者归根结底还是一个管理者。1、首先考虑的不是自己要做什么事情而是帮助团队做什么事情,更多的有一种“利他”的责任感。2、技术前瞻性,技术团队管理者是要带着团队有目标地、正确地往前走,把握未来方向非常重要。3、招聘层面,思考如何招到合适的人,如何进行人才布局。现在是人才在哪办公地点就在哪的阶段。从大数据角度看阿里双十一要支持好双十一,先从两个统一说起(数据统一和资源统一)。数据具有1+1大于2的特性,不同的数据融合计算能产生更大的价值。而关键就在于如何把数据都打通。几年前阿里巴巴建设中台,把内部所有的数据放在一起(物理上分布在多地的近10万台服务器上,但逻辑上统一,数据的分布和调度对用户透明),让丰富的数据帮助产品、业务前进。资源的统一化:把所有机器放在一个大的资源池里(内部称为混布项目),资源调度系统打通,对于机器的效率优化和整个系统的容灾都有非常大的帮助。做大数据的都了解,数据可以3年翻5倍,机器却不行,否则成本太高,不现实。而利用已有的服务器进行混合部署,“这也是近一年,我们重点投资的一个项目,也就是把不同BU、不同种类的机器部署在同一个资源池中。”有了这两个统一架构的前提,双十一在洪峰来临的时候,可以选择把不那么重要的工作先停掉(在百万级别的作业中基于优先级和依赖做调度),让这些机器都用来支撑洪峰。洪峰过后,又把机器主力转移到计算上,把需要的计算尽快地输出来。今年双十一,大数据集群在流量洪峰最高的几个小时,通过弹性支持了超过1/4的交易业务流量。不增加棋子,仅依靠挪动棋盘上的子,就完成布局守住将军。当然,在此之前,团队把MaxCompute已经从1.0版本切到了2.0版本,性能的提升也是支持双十一数据量的关键。在硬件只增加不到三分之一的基础上,处理数据相较去年翻了一番,达到单日处理600PB的规模。可以说,MaxCompute在这一战役中发挥得不错,甚至比去年更为优秀。**未来:云化、新硬件、非结构化计算、非关系型计算、AI是趋势DBA或将被淘汰?**去年的时候,原阿里云总裁胡晓明说:“互联网的云计算竞争是世界寡头经济的全面竞争,在我看来,就是杭州和西雅图的竞争。谁拥抱技术,谁就拥抱未来。”场主深以为然。关涛认为:目前云计算已经从互联网企业向传统企业蔓延,例如杭州的城市大脑和“最多跑一次“项目,是2G(To Government)的项目。还有基于工业大脑的工业4.0项目等。从目前的市场态度来看,企业或许可以更加开放一些,欢迎和拥抱这种技术变化,完成自我的数字化转型。“云计算不会是寡头反而会是普惠”,关涛说。前瞻话题:大数据处理领域,未来程序员应该关注什么东西?1、 新硬件的发展计算层面越来越与新硬件的创新紧密结合,硬件会带来平台革命。例如芯片类的CPU(AVX、SIMD)、ARM众核架构、GPU,FPGA,ASIC,存储类的NVM、SSD、SRM,网络类的智能网卡和RDMA等新硬件的发展,新硬件与软件的配合是值得关注的发展方向。2、 非关系型计算领域(图计算)有很多机会大数据现在还是在关系型的处理层面,包括流和批都是基于关系型数据的计算,事实上,现在非关系的计算越来越流行了,包括知识图谱、画像等越来越有价值,这些数据组织不是关系型表达,而是以点边的形式用图的方式表达,更符合物理抽象,比如人和货的关系,在风控层面,知识图谱层面,用来描述物理实体的关系更合适。明年初,将会推出MaxCompute的图计算系统MaxGraph,支持图存储、查询、模式匹配和GraphEmbedding等机器学习运算。3、 非结构化数据将变成大数据的主流越来越多的短视频、图片、语音类数据,并随着IoT的发展,可能占据80%的数据量,由于这类数据的特性在于结构各不相同,且数据非常大但是单位价值不高(相比传统结构化数据),如何快速高效的解析和处理非结构化数据,是计算平台的关键挑战。去年的时候MaxCompute发布了一个非结构化数据处理模块,能够用户自定义的方式处理包括视频音频在内的数据。4、 Al for Everything(also for BigData)DBA或将被淘汰?大数据的特点是大,不仅仅是包括数据的处理规模,还包括了整个的海量数据的管理和优化。传统数据库领域依靠DBA人力去管理的模式将不再适用。用Al优化数据分布、数据管理、做计算优化和成本优化(例如自动SubQuery合并,智能索引建立等)。“让大数据无人驾驶”,这也是未来的趋势。本文作者:晋恒阅读原文本文来自养码场专访,转发需养码场授权。

December 14, 2018 · 1 min · jiezi

阿里巴巴智能监控新场景的探索

摘要: 智能监控是智能运维的子领域,详细分析。作者简介王肇刚:阿里巴巴全球运行指挥中心高级技术专家智能监控是智能运维的子领域,我们说的监控,探讨的更多是在监控策略,因为可能从数据采集、日志收集、包括计算等等产生数据,再设定一些判断的规则和策略,发送报警,这些都属于监控。我和我的团队在阿里内部的分工是横向去看阿里巴巴业务指标的监控,我们就以这个话题展开。分享分为五个环节,从阿里巴巴不同的业态,特别是新的业态带来的挑战讲起。对于我们之前已有的基于机器学习算法这样一个算法工程架构,我们做了哪些增强应对这些挑战。我们的监控也从单一指标监控延展到多个指标一起监控。监控完了之后,我们可能要分析定位,这时系统又能帮运维工程师做什么,这是第四方面的话题。最后是对智能运维整个领域做一些展望。一、新业态给业务监控带来的挑战上图是阿里巴巴不同的业态,有比较传统的电商业态,右上角是国际电商,蚂蚁金服还有阿里云。最近这段时间阿里在收购各种各样的公司,也是商业的布局,我们会看到优酷、钉钉等等。我们团队在阿里巴巴内部是负责横向的业务指标监控,这个有什么差异?技术层面也是通过日志的采集流程计算看一个指标下跌还是上涨,区别在于只要业务发生了不可用或者发生问题,我们希望都能够发现,而不是说阿里巴巴本身的系统出问题了。举个例子,如果阿里巴巴一点异常都没有,但是电信可能有问题,这个时候我们希望知道。它是从对于业务数据量实时的监控。因为阿里巴巴本身的业态是很丰富的,有这么多的业态,我们看到的数据也很丰富。上边这个图,大家可能看到的这些 Logo,看到购物或云计算的一些业务,但是团队做智能运维算法的同学,看到的就是右边这种奇形怪状的曲线。我们团队在阿里内部是横向团队,第一环节就是需要能够精确、及时的发现业务是否有异常。为了达到这个目标,我们引入了称之为智能基线的系统,这个系统可以在网上搜索到。这个系统效果还是不错的,能够在没有任何阈值或者规则输入的情况下,自觉做预测。同时有些业务发展比较迅速,我们可以比较好地在历史的长期趋势和短期的业务沟通之间,做出一个相对较优的折中。业务变化之后,假设你以前配了阈值还要改,智能基线不需要改。阿里巴巴几千项业务指标,通过人工的检查验收之后的准确率是在80%以上,这个数字每周都不一样。而对比传统的工程师通过传统的静态分段阈值或者环比的方式,准确率可能只有 40% 左右。大家可能也会看到特别对于业务量监控,可能 10 条报警里面,4 条真的觉得有问题已经不容易了。阿里有很多不同的业态,所以一套系统解决所有问题还是挺难的,因为不同业态之间的差异还是非常大,数量级、波动、周期均有差异,包括现在有新零售业务,它是把线上线下的业务结合起来,而且非常强调线下。比如盒马鲜生有几百家门店,这是个商业的尝试,对于做运维监控的同学也带来很多挑战。比如淘宝和天猫的某些交易量在分钟级别是万或十万或更高的数量级,这个可能就是百或几百,波动的量级和原始量级在一个量级上,这个就比较难处理。包括周期性,对于一般的在线服务,是7X24小时提供服务,每天什么时间流量最低?国内业务凌晨四点钟最低,这个会受门店的开关门影响,因为零售是有时间的。我们如果线上刷淘宝下单点一下就行,线下不一样,一对一排队结账。而且在量小的情况下,很多时候不能看单一指标,许多指标要一起看,所以就给我们之前的算法提出非常大的挑战,我们需要做新的算法演进。大家可能会问为什么整这么复杂的算法。配监控,配规则不就可以了吗?其实是可以的,但业务太复杂。作为一个横向团队,算法工程师可能只有三四人,七八个人要面对阿里巴巴集团成千上万的业务监控指标,不可能了解每个指标的所有细节,这个时候是没有办法用人,我们要用机器学习的方法去做。二、增强版的时间序列异常检测实战接下来讲讲怎么用机器算法解决问题,这是一年半以前我们采取的架构,我们能从业界很多文章上看到类似的架构。我们希望做一个基线拟合,这个曲线应该是什么样,我们说异常这两个字就是异于平常。我们第一步想知道正常的曲线是什么样子,所以我们做基线拟合,我们用STL做这样的方法,我们用比较传统的 N-sigma 做调整。这种架构其实能解决 60% 左右的问题,但是有些极端的情况解决不了,所以我们就把架构做了演进。我们第二代的架构做数据预处理,然后又做了比较简单的滑动平均,数据有时候会缺点,不管是采集侧的一些不稳定因素,还是计算一侧出现了问题,导致你希望一分钟出一个数据点,但是最后还没有算出来。这种情况应该从工程上解决,所以我们会在算法层面做一些脑部的算法策略,就是即使缺了能补回来,但是不能长时间缺数据。下面的逻辑就走了机器学习的思路,我们对曲线做特征工程。我们之前的基线拟合的这种预测只是我们特征工程中一部分,对于重要的部分,我们也会把一些统计特征编码进去,当然也会把一些时间特征编码进去。因为我们知道很多电商的业务是有定期促销的习惯,比如淘宝的交易量每天早晨十点一定会有阶峰,大家不知道在抢什么东西。算法层面怎么解决?我们把每天的这个时刻第几小时第几分钟,通过热度编码的方式做到里面去,就可以让算法学到这个时间点这样一下可能是正常的。我们后面采取了不同类型的统计学的判断和做法,最后做成集成策略,大家可以理解为简单的投票策略。它其实给我们带来了比较好的一些算法的效果,比如说基线拟合会更准,对于不同类型的异常进行判定。很多时候曲线有不一样的异常,如果用 N-sigma 的方式,你的刻画表现能力是不够的。即使是这样,对于遇到的新零售业态,我们觉得还是不够。因为你看刚才的算法能解决一般性的问题,但是对于曲线问题差异很大的时候,之前的预处理就需要增强,量级从十万左右到几百万,你的预处理策略需要变化。很多曲线不具备周期性,或者周期性非常零乱。比如我们有一个业务比较奇怪,大家在淘宝上有没有充话费?这个是天、周、月三重周期,天的话基本没有问题,周的话工作日和周末是有差异的,月这个周期,因为大部分人是在月末报警了或者月初充。最后一个线下的业务对这种异常很敏感,在这种情况下我们用一套算法策略是解决不了不同问题的,所以我们做了第三次优化。我们先引入了一层算法路由,希望能够通过机器学习的方式,把不同的曲线归到不同的算法路由里面去,这样的话不同的曲线走不同的处理路径,那么效果会很好。我举三个例子,比较周期性、非周期性、百分比的指标等等,这些不同类型的指标方法都不一样。在这些不同的方法之后,我们还是觉得算法也许解决不了所有的问题,因为算法对于大多数运维工程师来讲,不见得那么方便去调参数,所以我们也开放了三个参数,我们会看它不同的抑制时间、发布策略和敏感度。分开来看,算法路由,这个工作的目的就是说让算法自动把数据分类,这一块也不一定非得用算法,用人就可以,但是因为量太大,所以人工的成本很高。这里我们用了深度学习的算法,上面那个图是网络的图,我们使用了孪生网络,两边都是LSTM,所以我们用了双向的网络结构去把我们标记为一样和不一样的,最终能够区分开。在这个基础上,我们做了一个分类模型。这块从技术层面来讲,不用特别复杂的算法,我们用这个算法就是想探索一下,实际大家真正做的好的话,比如你用一般的分类方法,用我们最直接方法也可以达到类似的效果,但是我们这里尝试了一下。分好之后有个工程架构,以前是说不同的算法场景走的处理逻辑都是一样的,里面的参数可以不一样,后面不同的处理逻辑像插件一样可以去做组合,这个组合的变化频度不会太快,但是一般变化成本都很低。这样以前是三条通路,我把插件的参数和顺序和有没有插件做一个变化。有了这个之后,对于阿里巴巴成千上万条,但都是到万这个级别,不会再多。大家会想这个东西可能是从业务角度监控的,从惯性思维来看,我们可能会是想监控 CPU 或者某个接口调用的超时,这些也是可以的。我们也探索了在系统级指标或者非应用级指标做这个尝试。它的周期性不太明显,第二个这个指标的变化跟业务行为关系不那么大,运维的决策对它的曲线影响大于业务的影响。最后一个就是标准不统一,你觉得这个可能需要报警,别人可能觉得不需要报警。我们采取了一种轻量级的方式去做检测,可以做到自动学习。它跟上面那套算法相比在于它比较轻,可以做成一个包的形式,嵌到监控系统中去做监测。它的效果如上图右边显示,我们内存中有奇形怪状的异常,这个算法逻辑还是比较简单的,不用太在意算法本身的框架,因为这些算法你可以替换成其他的算法,但可能需要考虑在数据进来之前做比较好的预处理。第二个可能你需要基于统计特征和那些曲线本身的特征,影响你的特征工程。最后孤立森林不是说基于用户的标注去做的,因为实际场景中我们不可能像做人脸识别这样给我们标注。什么参数微调?第一个是说抑制报警的时间,这个很容易理解。第二个防抖动策略,这个也很容易理解,就跟过去 N 分钟有 N 条报警是一样的,所以我们概括成N/M。最后一个是报警灵敏度。这个在我们市场环境中测试的效果大于70%,现在这个数字可能稍微好一些。最终怎么评价算法?还是要看人标的。比如说我们有十几位同学评判,他们的标准也不统一。甚至一个人今天说这个点标的对,第二天忘了再看一遍就说标的不对。所以说以上是我们介绍的关于单个指标,不管是系统级的还是业务级的指标,怎么通过机器学习的方法,做不用任何监控阈值配置和维护成本的智能监控。三、多指标关联分析的探索刚才也提到了在新业态下,很多时候我们只看一个指标是没有办法判定业务有没有异常,或者我们发现指标和指标之间是有关联的,这个在实践当中也会遇到。有时候两个指标都出了问题,这时这个信息能不能被利用,我们也做了探索。这个东西有一个业务背景,就是我们刚才提到的看一个指标不够,我们经常在一些业态里看到会监控某一个业务的成功量、成功率、失败的错误请求数几个指标相关变化。有时候会发现指标有异常传播,这个传播有几种方向传播。比如说在不同的业务之间传播,比如因为两个程序之间有关联关系,A坏了B也影响了。还有就是混合部署的情况,同一个集群布两个业务,A被打爆,B也被压死了,也有这样的情况。我们怎么做这个事情?分为两步。第一步我们希望发现和维护相关的指标,就是哪些指标应该有关联的,发现之后要维护。一旦我们掌握这个信息之后就可以做两个事情。第一种我们能够把这些相关指标放在一起判定业务是不是异常,而不是只看一个指标。第二种我们单指标能看的很准,但这时候我想知道为什么会下跌,虽然给不出因果,但是可以给出相关。业务指标之间的相关性其实有不同的类型,比如上下游之间有监控项,比如我们在阿里做过一个实际情况,大家看淘宝搜商品,如果出现异常大家就搜不了东西,我们的淘宝详情页的浏览量和下单量都会下降。不是说搜索的程序或者应用服务掉了那个服务,它们之间没有关联,但是很多用户习惯了搜而买。一但搜挂了,很多用户不知道怎么买了。所以这样的关联靠系统内部是拿不到的。包括业务不同分量的监控,比如河南省播放成功率和河北省播放成功率之间的关联。这种关联我们怎么发现?一定是靠人工梳理,但是对于阿里的体量,一个是梳理不过来,第二个梳理以后过两天又变了。阿里集团可能每天的业务发布的频次是千级别的,那怎么办?还有第三种方式。第一种利用 CMDB,我们通过CMDB看到哪些应用之间可能相关。第二个通过 时间序列相关性 发现了方法,这个跟刚才提到的卵生网络的方法是类似的。但从实际来看,一般是在第一个检测的基础上,再在局部做第二个,而不是全局的检测。第三个我们利用关联规则挖掘看哪些项经常关联报警。我们可以通过算法发现这些关系,这三个方案其实是互补的方案。所以有了这三个方案后,就可以把很多相关的指标放在一起监控,方案取得了较好的效果。在盒马鲜生,基于我们上面做的新的算法,单指标架构和多指标关联架构,能够把监控发现率和误报量做非常好的提升,这就是我们在新业态下通过单个指标的算法和多个指标的算法取得关联效果。四、故障影响面和根因分析的探索之前都是关于监控的部分,监控是为了发现问题,但是发现完了问题,很多时候是需要想怎么能够解决问题的。我们在故障根因的推荐层面做过一些探索,但这个也只能是探索,供大家参考借鉴。首先我们看一下故障原因分析问题的范围和边界,我也跟很多工程师交流过,凡是做运维系统的工程师都有一个梦想,就是我想做一套系统,一旦我的业务出问题,告诉我问题原因在哪,这个非常理想化。但在实际过程中,这个事情是非常难解决的,探索来说在阿里内部也解决地不好。虽然解决的不好,我们也做了一些探索。为了避免我们做的事情不符合我们老板或者客户的预期,我们需要先把能做什么说清楚。我们很难做到淘宝交易量下跌了,我告诉你哪个代码有bug,这个做不到,但是我们能做到缩小影响范围。这个为什么有价值?因为阿里巴巴有两到三万名工程师,半夜两点出了问题,我打电话叫起来就是一个非常复杂的技术问题。首先要从阿里巴巴几万个应用程序里,先要看这个业务故障到底跟哪几个应用相关,这个都是非常典型的问题。我们的目标是能够从站点、产品线和业务功能指标出现问题的时候,能够定位到应用服务层,包括数据库这层。这个架构就是能够锁定这个范围,然后之后的事情可能需要更细致的方式解决。另外一个好处,我们可以对故障做一个结构化的快照,除了阿里巴巴,我看到很多公司也会对故障做复盘做改进措施,但是没有形成很好的流程。但是在阿里我看到过去大大小小非常严谨的复盘和故障记录,包括非常多的细分的环节和字段,这个非常好,因为以后的故障可以从中学些东西。但是有个遗憾,这些东西全是用汉语写成的,长篇大论几千字。人可以去读,但是比如阿里有另外一个工作叫全链度压测,我们要对去年的业务优先进行测试,这个时候我们要挖掘到底哪些有问题。挖不出来,为什么?都是汉字写的。汉字写的话,它的表述、格式,都是很难被机器理解的。如果做的这件事情以后出故障,我们尽可能地把故障做一个结构,这个不仅对这次故障的本身,对以后故障的防范都有非常大的价值。怎么做?如上图所示,我们会有一个主的抽象流程,当我们的前面算法发现问题之后,我们会尝试找到跟这个业务指标相关的应用和它的中间件以及数据库,以及相关的网络服务器IDC。我们建立了一个囊括阿里主流的所有运维相关事件的这样一个数据仓库,阿里内部可能有自己的这种事件存储的机制。这个数据仓库能够告诉我们在哪些运维的对象上发生了什么事情,最后我们对这个事情做一个排序和筛选,把可疑的挑出来。逻辑还是比较清晰的,但是真正做的时候发现有很多具体的环节需要考虑。比如你怎么找到监控项关联应用,淘宝交易下跌了,你怎么知道是阿里的几万个应用中哪个应用造成的问题?这个其实也是比较难的问题,我们也没有解决太好,但是可以看到思路。最直接来讲,我们通过监控系统本身的配置来得到。我们的业务指标能画成一张趋势图,能做监控,因为背后有逻辑计算,有日志的采集等等。这些系统的工作,是因为加监控的同学已经把监控怎么采集配置进去了。但是它有失效的时候,比如说两种情况。一种发现业务环境非常强,ABC三个程序不断做处理,最后把结果打到第四个程序上去了。所以你通过这个,能得到第四个应用的名字,前三个应用其实跟这个业务非常相关,但是你从这里读不到,所以这是我们要解决的。第二个有一些应用本身是用来监控的,比如阿里的客户端,它会上报到某一些监控系统,这时候监控系统画出来的曲线,其实跟监控系统本身相关的,而不是跟产生监控数据的应用相关的。这种情况下,这个方案就失效了。这个时候就需要通过人工配置的方式解决,目前是这两种方式结合在用。刚才说的第一个问题,我们也可以通过阿里巴巴的中间做的系统去解决这个问题,包括我们也可以通过算法,对于报警做平台挖掘,可以挖掘出来像刚才搜索框下跌,导致交易量下跌的关系等等都可以挖掘出来,这个东西也是补充的方式。但是最核心的不是算法,最核心的是CMDB如果维护得好,比什么都好。通过刚才那个思路,能够把我们的业务指标跟应用结合起来,但是很多时候应用经常是无状态的,状态存储在数据库集群里面,这个时候还是经常通过CMDB解决这个问题。还有比较难的问题,就是网络跟应用程序的关系,有一个机房出问题了,经常我们是混合部署的,所以这个时候问题其实是一个非常散的关联,这个问题上我们解决的也不好,所以我们只能把这个信息当成一个缺少的信息推荐出来,供大家去决策。比如说不管阿里什么业务出了问题,我们都会把网络最近出的一些异常点或者事情推送出来,提醒大家是不是这个问题,但是这块很难做到精细的管理。我们知道了哪些运维实体跟业务有关联之后,还要知道这些运维实体上、程序上、集群上、网络上发生了什么事情?那这个事情我们怎么知道?我们会建立一个在线的数据仓库,它能够不断地抓取来自于各个运维平台和系统中的不同格式的事件。这个抓取之后不是简单放一块存,还要建立关联索引。阿里有很多不同的横向纵向的系统,他们的数据格式的字段都不一样。我们尝试做一个翻译,在当中找到了两三个大家都能看懂的词。比如钉钉应用,这在阿里内部非常稳定的。第二个IP地址,这个也是很稳定的。但是这两个之外,格式语言是不一样的。我们把数据仓库建好之后,输入开始时间、结束时间和应用列表三个关键词,就可以查到这段时间内实体发生了什么事情。我把事情都推荐出来是不是就解决了?还不够。我给大家分享一个数字,在阿里巴巴内部,像这样的事情一分钟发生四千到六千次,也就是说一个故障如果持续了十分钟,就是几万个事件,所以我们还要再做筛选。这个时候就会通过一些方式做筛选,我们会根据哪些运维实际上发生了报警,把这些实体的信息优先放在前面。怎么知道有跳变?我们会对怀疑的对象做系统级指标的扫描,扫描出来跳变就排到前面去,所以有了这个之后就可以相对精确地缩小范围,当阿里巴巴淘宝天猫有异常的时候,我就可以知道。我们能够从上面看到,最上面这个环节是同一个时间内有多少业务的多少点在报警,红颜色的时候,可能就是某些业务出现短暂的异常了。我们会感觉 CMDB 加平台化算法对报警压缩合并,看到了集中在优酷、集团客户体验、菜鸟这三个业务功能上。这个其实就是刚才讲的多指标关联分析的作用,这时候我也不知道是不是因为它导致的,但是他们之间是相关的,这个可以帮助我们定位。最后我们能够根据刚才说的逻辑,把跟这个事情相关的前五个或者前十个应用程序推荐给你。为什么推荐给你?要么它发生了一些骤变,要么发生了一些大的业务操作。很多时候可能百分之五六十的业务故障,都是发布新功能或者改配置改错导致的。做的比较好的地方,可能能够做到70%以上的推荐准确率。但是也有做的不好的,百分之三四十的准确率。因为阿里业务很复杂,每个环节每个业务都有不一样的方式。但是这个方法,我认为还是一个值得推广和借鉴的大逻辑上的思路,这个就是我们介绍的监控发现问题之后,我们在根因分析层面有哪些探索和思考。五、智能运维在故障治理领域的未来规划最后希望能够和大家一起探讨一下在智能运维领域现在与未来可以做什么事情。运维本质上是解决在线服务运行中的质量、成本和效率三方面,运维不是从上到下的思路,包括我也参与了白皮书的工作,我们也跟其他业界的同事探讨这个问题,不是说有一个顶层规划要怎么做,实际是在这些点所处的具体环节上,很多工程师开始尝试用算法的方式解决问题,逐步汇集成一个数。我们现在在上图左边那条路做了一些探索,已经在业务中用起来了。最早的探索,其实在阿里内部已经稳定运行了接近两年时间,也是效果在不断演化演进。最近我们也在探索右边这条路,就是无人值守相关的东西。出问题的时候很多人问淘宝的故障恢复了没有,支付宝有没有受影响。靠自然语言提出的问题,是不是可以通过机器人回答你,这个也是我们探索的。当然现在还不敢做全自动,还是我们列出来你再确认一下,但已经比你调出系统然后跟很多人沟通半天决策要方便一些。所以其实不仅是在质量领域我们做智能化的监控,智能化的根因分析,其实在节省人效率层面,也可以做一些探索。中间这块跟成本相关,这块在阿里巴巴有很多团队做这样的事情,也可以通过智能化的调度能够做容量预测,优化包括硬件采购的周期,预测你服务器增长怎么样。或者在实施的时候,通过自动化的调度策略,节省服务器的资源。所以其实智能运维这个概念,在今天已经不是个概念,它已经在我们企业实际工作中,有非常多落地的点。希望今天我的分享,能给大家有一些借鉴和参考,我们一起建设智能运维美好的明天。说明:以上内容为阿里高级技术专家王肇刚在 GOPS 2018 · 上海站的分享。本文作者: 王肇刚阅读原文本文来自云栖社区合作伙伴“高效运维”,如需转载请联系原作者。

December 12, 2018 · 1 min · jiezi

重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准

重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准11 月 29 日,CNCF containerd 社区正式宣布:两位阿里巴巴工程师正式获得 containerd 社区席位,成为 containerd 社区 Reviewer,未来将共同参与云时代容器标准的建设。containerd 是一个工业级别的容器运行时管理引擎,代表的是 Open Containers Initiative(OCI) 标准的最佳实践。同时,containerd 也是 CNCF(云原生计算基金会)的孵化项目,正逐渐发展成 Kubernetes 生态中容器引擎首选。值得一提的是,在阿里巴巴开源容器技术 PouchContainer 的体系架构中,containerd 同样作为基础运行时的重要管理组件存在,而 PouchContainer 更加专注于上层容器功能的开发,例如 Container Runtime Interface(CRI) 接口的实现与增强,容器隔离性的增强等。Reviewer 是 containerd 社区中的核心重要角色。具体而言,reviewer 需要履行项目维护义务,比如 issue 的管理、社区提交的代码审核等。其中,社区代码合并之前,在代码审核时,reviewer 手中有着关键的一票(两票可以确保代码合入)。阿里巴巴自 8 年前的 T4 时代即开始研究容器技术,目前集团在线业务通过 PouchContainer 技术已经实现 100%容器化。PouchContainer 容器技术,已然成为 双11 大促场景下阿里巴巴的核心基础设施技术之一,为 双11 超级工程提供精细化的资源管控与优化方案。正如上文所说,containerd 作为容器技术实现的关键路径,同样举足轻重。服务好阿里巴巴集团之外,PouchContainer 的开源以及 containerd 社区的投入,可以说是阿里巴巴集团实施中台战略过程中,必须走的路径。只有这样,阿里巴巴多年积累的容器技术经验以及更多的智能化能力,才能更好地向全社会开放,为全社会服务。获得 containerd 社区席位,是一种荣耀,同样也是一份责任。未来,阿里巴巴的工程师将致力于做好国内容器市场与全球 containerd 社区的桥梁,将中国声音传递至云原生社区,并让更多从业人员享受 containerd 以及容器标准发展的红利。本文作者:amber涂南阅读原文本文为云栖社区原创内容,未经允许不得转载。

December 7, 2018 · 1 min · jiezi

开会=浪费时间?阿里技术团队这样开项目复盘会

阿里妹导读:复盘是项目结束后必不可少的阶段,好的复盘会议能够有效地促进团队成长。今天,阿里项目管理专家鹿迦以自身的经验,为大家分享如何做好一个项目的复盘。这篇文章分成两个部分,第一部分简单阐述对这种回顾会议的理解,认识会议的真正价值;第二部分是分享个人操作的团队回顾会议流程。在阿里天猫新零售的天地会项目中,因为我参与的团队是成立不到2个月的feature team,再加上团队成员来自于多个不同的BU(有钉钉的、天猫新零售的、手淘的),团队处在一个快速磨合成长期,在合适的节点上开展一个有效的团队回顾会议(也可以叫做复盘会议)可以对团队成长和进化起到一个非常明显的加速作用。抱着这样的信念,我们上周组织了一个团队回顾会议,基于团队成员的反馈这个会议算是取得了令人满意的结果,大家不仅加深了相互的了解、公开暴露了一些团队中隐藏的问题,更帮助大家对这些问题做了比较深入的探讨和分析,并产出了可落地的行动。一、我理解的团队回顾会议回顾会议(retrospective meeting)是来自敏捷方法scrum,这个会议是Scrum检视与调整的一个重要的环节,在这个会议上,我们鼓励团队对自己的开发过程进行改进,并确定什么样的调整可以使下一迭代的效率更高、结果更令人满意和更易于工作。就像我们频繁的迭代和交付是为了快速地获得外部用户的反馈,进而帮助我们做产品需求的调整一样,每个迭代的回顾会议就是想更快地得到大家对团队工作问题和改进点的反馈,帮助团队内部的工作效能和能力的不断提升。但是开好回顾会议并不简单,甚至我认为回顾会议是团队中最难开好的一个会议,但开好了也是价值最大的一个会议。我们整理了一下,认为这个会议可能达到的五个层次:单向宣讲式的回顾会议:团队管理者事先完成了整个回顾分析,会上只是面向团队成员做一个回顾结论的宣讲和说明。很明显,这种层次的回顾会议不仅很有可能不能发现团队最重要的问题,更不利的是很难让结论取得团队成员发自内心的认同。各自表达式的回顾会议:团队成员没有真的想敞开内心参与回顾会议,往往只是迫于会上的点名而击鼓传花式地各自讲自己的内容和观点,对其他人的观点没有回应,也没有质疑。这是明显的团队成员害怕冲突的表现,团队成员之间没有真正的融合,背后真正的问题可能是没有建立团队成员之间的信任。争论推责式的回顾会议:大家抢着发言,但是气氛紧张,经常有不礼貌地打断他人讲话的情况出现,大家都极力避免责任被认定到自己的头上,往往需要老板在最终的时候决策。定责式的回顾会议是我们需要极力避免的,这个不是我们回顾会议的目标,定责的行动往往会导致大家关闭沟通的门,导致真正的问题被掩盖。发散讨论式的回顾会议:回顾中抛出的问题很多,讨论的的过程中往往还会从一个问题跳跃到其他问题上,导致会议中涉及的论点不断发散,最终往往由于问题过多,没有时间也没办法形成能落地的结论。没有结论的会议,也就没有办法拿到最终的会议价值。聚焦共创式的回顾会议:明确回顾的目标是通过团队共创的方式发现团队持续进化的机会,鼓励大家用坦诚、合作、成长的心态挖掘团队改进的机会,并通过区分优先级以在最有价值的机会点上切实落地改进的行动。这个层次才是我们理想的情况,是我们追求的目标。二、可参考的回顾会议流程我们操作的回顾会议基本流程是参考了《Agile Retrospectives》这本书中所划分的会议5个阶段:准备收集数据产生见解确定改进项结束会议那我就按这几个阶段来讲讲怎么做。2.1 准备准备阶段其实是非常重要的,一些初次主持回顾会议的同学往往会忽视这个阶段,一上来就让大家写小卡片,这样不仅效果不好,次数多了更给人枯燥重复、走形式的感觉。准备阶段我往往会选择做下面几件事:设定一个安全的环境回顾会议不仅仅希望大家能参与进来,更重要的是能敞开心扉,大家没有顾虑地把问题暴露出来,找到改进的办法。但事实是肯定有人担心回顾会议会成为一个批判会议,在认为这个会议的目的是找到这个迭代中犯错的那个人,并把他拎出来痛批一顿,看以后还有谁敢再犯。如果这样大家肯定会有所保留,担心说错话,会议上就找不到真正的问题。一般我们会直接声明这个会议的目的,绝对没有想追究任何人的责任的意思。不仅如此,我们还需要在会议过程中避免讨论任何个人责任的问题。了解与会人的心态这是个很有意思的事情。会议本来就令人沮丧,更何状是回顾会议这种看似是锦上添花的会议。与会者都是带着什么心态来参加的呢?这里有一种非常有意思的收集与会者心态的小活动,叫做“ESVP”:Explorer (探索者)Shopper (推销者)Vacationer (度假者)Prisoner (囚犯)这四个角色代表了四种与会的心态,可以通过与会者不记名的投票(匿名的在贴纸上写上代表自己真实心态的角色首字母),统计完现场公开结果,就能知道会议室里大家的实际心态情况。统计的结果不一定总让人欢欣鼓舞,但这个小小的活动往往能有效的唤起大家内心的思考,帮忙确定会议的基调,很有价值。激活大家的发言欲望事实证明,一个会议上,如果一开始大家就可以不需要发言,只是听,那么很大机会大家在整个会议上都将保持沉默,没有什么想说的,尽管会议中后期你希望更多人参与发言。办法是一开始就破冰。简单常用的方法是让大家按座位顺序轮流用一个词形容他/她对这个迭代的感受。只让用一个词说实话非常难,不过没关系,这个时候大家就会开始脑子飞快的转起来了,到底哪个词比较合适。这样不仅把大家带到了回顾的思路里,更重要的是大家一开始就有机会开口表达自己的想法了。把大家带到这个迭代历史的回忆中来在开始收集数据之前,让大家先回忆这个迭代到底发生了什么,这个至关重要,不然暴露的问题很可能变成天马星空的抱怨。上面用一个词描述这个迭代的感受是一个很好的方法,但除此之外还有心情曲线法也是很有意思的方式。方法很简单,就是让大家画一条基于时间轴(标注团队的关键时刻或里程碑)的心情曲线。如图是一个团队真实的曲线结果,每个人都不一样,分享这个曲线的过程甚至能加强团队成员的相互了解,加强信任感。2.2 收集数据收集数据一般包含收集做得好的部分,做得不好的部分,有时还会创新想法部分。这个环节是回顾会议最具代表性的,发贴纸,然后大家各自写,一个问题一张贴纸……如下图就是一个真实的例子:上面这个方式用得非常广泛,就不多讲了。除此之外还有一些变形的方式:通过视觉化的、隐喻性的方法做引导,比如帆船回顾法。模拟论坛接力留言的方式,一个问题一张A4纸,大家按顺序传递加上自己的简介,通过书写来收集数据。2.3 产生见解收集到了数据只是第一步,如果顺利,到此为止我们就能收集到大量的、反应真实情况的好的和需要改进的点。接下来我们需要整理了。先分类,因为大家是各自独立写的,所以肯定会有重复的,所以把同类的放到一起我们才能让满墙的纸片不那么凌乱。分类需要花一点时间,但这个过程也是刚好让大家都了解其他人写了什么的好机会,所以我往往会邀请组员上来和我一起来做分类,一个人做卡片宣读,允许大家讨论,一个人把相同意思的卡片贴到一起。对做得好的部分,我们需要提出来鼓励大家,希望我们能坚持下来,甚至做得更好。这个部分在实际操作中往往比较忽视,大家更愿意快点调到待改进部分。无论如何,如果发现团队士气低落,需要鼓励的话,这时就是很好的机会,每个做得好的地方你都能有感而发。对待改进的部分,这个是本次会议的核心内容,不过很不幸,往往团队总结出来的待改进方面会比较多(>5个就算多吧),可会议时间有限,对这个部分,我们首先要做的就是确定优先级最高的核心问题(不超过3个)。确定的办法最常用的就是投票,比如每人两票。2.4 确定改进项当我们确定了待改进的重点之后,我们就需要讨论得出针对这些问题的改进方案。不过别急,不要这么快就跳到了改进方案上来,针对问题我们要先分析问题的根源,找到问题最根本的原因,我们再针对原因采取改进行动,这样才能对问题做到根本的解决。鱼骨图或5W的方法寻找问题根源最常见的方法有鱼骨图法,如下图,使用方法就不解释了,大家自己google。还有一个理论就是5个WHY,也是一个很好用的方法。分组讨论讨论寻找问题根源的的过程往往非常费时,这里常用的一个方式是把组员分组,每个小组专门讨论一个问题,我们可以限时让他们讨论出问题的根源和推荐出改进计划,这样我们一个能节省时间,更有价值的是可以调动每一个成员的积极参与度。SMART的改进计划一个老调重弹的就是所有的改进计划都必须是SMART的,SMART原则也不介绍了。这点说得容易,但做起来往往困难很大,大家非常容易产出一些类似建议一样的东西,完全没办法执行。这里给大家一个小窍门,在每产出一个action的时候就问一下大家“这个action可以执行吗?能判断是否完成吗?”,这样往往就能帮忙准确判断是否SMART。避免产出过多改进计划当然还有一个陷阱就是改进计划过多,到时候团队根本没有时间完成这么多的改进计划,这个也需要排优先级;还有超出团队能力范围的改进要避免,不然也没法落实。2.5 结束会议结束会议如果有必要的话我们可以简单对本次会议的组织做个总结建议,可以帮助我们提高下次回顾会议的组织能力。但我最喜欢的结束会议的方式是让大家每个人通过一张纸片的形式感谢团队里的一个人,并附上理由。我觉得这是一个很好的激励团队更多合作和相互帮助的好办法。写好纸片之后,我会请大家当众宣读一下卡片内容,并亲手交给自己感谢的人,纸片格式如下:三、提供几个需要注意的地方一般情况不建议团队的经理参加回顾会议。这有悖于准备环节中提到的设立一个安全的环境,大家会担心在会议上暴露团队问题会对他们绩效产生不好的影响。但也有一种情况我们需要经理在场,那就是团队已经积累了很多非常严重的问题,但是经理可能都不大了解情况,大家都期盼的经理在场能听到并推动解决这些问题。会议产生的改进计划怎么有效地跟踪?一般我们建议把这些action之间放到团队下个迭代的工作列表中,和普通开发工作一样对待跟踪,只有这样才能有效地使得改进落地。前后回顾会议产出相同或类似的改进计划。这说明老问题一直没有解决,有的时候会发现每次改进计划都完成了,但是老问题仍然还在。一般如果想改进能力或是外部依赖的问题往往会导致这样的情况,这些不像团队自己的流程那样能立竿见影,面对这样的问题,团队最好能计划一些长期的(周期跨迭代的)改进计划,下次回顾会议可以监控进展,而不是提重复的问题。如果需要,别忘了在回顾会议前面简单过一下上次回顾会议产出的改进计划完成情况。本文作者:鹿迦 阅读原文本文来自云栖社区合作伙伴“ 阿里技术”,如需转载请联系原作者。

December 7, 2018 · 1 min · jiezi

想入职阿里的Java开发者必看,阿里巴巴面试官实战经验分享!

最近社区Java技术进阶群的小伙伴总是会问,如何面试阿里Java技术岗,需要什么条件,做哪些准备;小编就这些问题找到了阿里技术团队中在一线真正带Java开发团队并直接参与技术面试的专家,分享了自身在筛选简历时的要求,面试时经常会问到的问题,以及面试官通过提问是怎样判断面试者技术水平的。如有Java相关问题,请向专家提问 http://click.aliyun.com/m/1000023274/以下都是面试官的经验,我们只介绍普遍现象,但会存在特例哪类Java开发者更受阿里青睐?1、潜力比较大、心力脑力体力都处于巅峰状态的,工作4-5年左右是普遍的最佳时段2、经验足,有视野的,具备大项目积累沉淀3、平时爱学习爱总结,有进步的主观能动性4、聪明,皮实,乐观,自省 的同学,【聪明,皮实,乐观,自省】的解释: https://yq.aliyun.com/articles/671042哪些Java开发者面试阿里会比较艰难?1、工作多年已经转管理岗的,如果面试开发岗位,有可能代码不熟练或心力脑力体力很难跟上技术开发强度2、工作3年以下的,有可能技术和积累的还不够,需要继续修炼3、以往开发的项目太简单,很难看到工作亮点,例如项目经历过多是增删查改加缓存4、以上情况也会有例外的,例外情况的除外阿里Java技术面试流程:1、自我介绍,面试官的关注点:做过项目的规模、具体细节及本人所承担的任务2、一些Java基础问题,做初步的了解3、面试者选择一个最能体现价值的项目,详细描述细节,架构以及为什么这样设计4、设置1-2个必答题,如果答不上来后面不用继续了(面试官面试要效率的,所以会有这种杀手锏类的问题,这种必答题本文后面会详细举例)5、如果你走过前4步,后续面试官可能会提问关于学习能力的问题和考察处理未知问题的能力面试官经常会问到的几个知识点以及面试官问这些问题背后的解读1、杀手锏类问题(划重点),每个面试官的杀手锏可能不一样,但目的是一样的,用最短的时间筛选出适合的人例如1:请写出常用的Exception一般来说,能写出20个以上,而且随意选择几个,大都能说的比较清楚,就是非常不错的了。考面试者的实际开发能力,特别是深度,也可以看出过去常做的内容比如写了ClassNotFoundException,可能是做过ClassLoader动态加载的内容。如果是写了ConcurrentModifiedException,可能是并发问题或者别的地方不足。如果写了UnsupportOperationException,可能在设计方面有些基础或者经验。如果写了SecurityException或者IlleagalException,说明做的内容比较深一些,更贴近底层。例如2:死锁的是怎么产生的?如果答的很乱,提示需要几个线程几个资源?描述细节2、观察类问题,这类问题就是考验面试者思路,表达能力,项目经历例如1:讲述一个最能体现价值的项目,详细描述细节,架构以及为什么这样设计,和其他项目比,为何选此项目例如2:讲述一个有印象或者最难的Bug这类问题主要听面试者是否能够非常清楚细节地讲述一个项目或bug,包括如何发现,解决,反思,从这些内容上可以判断他是否在一线写代码,以及思维方式,一般会涉及:故障点,定位,解决思路,方案选择。3、开放类问题,问到这类问题说明面试官对你基本满意,不在乎说对说错,可能没有对错,就是考察你的学习能力和处理未知问题的能力以及你的思考。例如1:说出几本觉得最有意义的技术书籍例如2:如Spring中如何对同名Bean加载时的处理例如3:大并发时的系统架构需要考虑哪些问题,怎样扛住大并发量,一致性怎样解决,如何取舍如果以上技术你都游刃有余了,那么面试阿里成功的几率80%如果你对Java学习还有些问题,可以向社区Java专家提问http://click.aliyun.com/m/1000023274/本文作者:不靠谱贝贝阅读原文本文为云栖社区原创内容,未经允许不得转载。

November 20, 2018 · 1 min · jiezi