首页 文章 精选 留言 我的

精选列表

搜索[AI对话],共10000篇文章
优秀的个人博客,低调大师

对话高新兴科技吴冬升:巨头扎堆,车路协同玩家如何后发制人?

5G牌照的发放,让2019年本来就火热的车联网,再次成为了热议的话题。 车联网、车路协同,在5G的大宽频、高速率、低时延的特性下,加速了其落地的进程,同时也展现了其巨大的商业图景和价值。 用一个具体数字说明:据麦肯锡今年发布的一份研究报告显示,车联网高速发展所衍生出的海量车辆数据将是创收、降本和提高安全性的关键,并有望在2030年创造出高达7500亿美元的价值。 除此之外,政策的助推也给车联网带来了相当的推动力。今年5月,无锡车联网先导区的成立就是一个先验性的探索。 在技术、市场和政策推动下,车联网发展进入了快车道。其巨大的发展前景,吸引了不少玩家。高新兴科技集团(以下称“高新兴”)也是其中一个。 成立于1997年,由通讯、物联网起家,高新兴在物联网、智慧城市已经有了一定的布局。如何将已有的物联网和智慧城市的优

优秀的个人博客,低调大师

对话鲁直:蚂蚁金服中间件的开源头羊 | 穿山甲专访

谈话中,鲁直反问的“你为什么不开源?”这句话让我印象深刻。-- 老王 二月初春,在西子湖畔的细雨中,我拜访了蚂蚁金服中间件团队,和 SOFA 技术负责人鲁直做了一次深入交谈,更妙的是,鲁直也是负责 SOFA 开源事务推进的人,而这样一个切实践行开放核心模式的开源项目,也正是我非常感兴趣的。 两个技术人的谈话,自然是朴实而直白的,话题主要围绕着 SOFA 和开源主题展开,希望也能一样引起同是技术人的你的共鸣。 人物介绍受访者:鲁直,蚂蚁金服 SOFA 开源负责人。采访者:老王,开源布道人,有 20 年互联网从业经历的技术老兵。 虽然我和鲁直在微信上已经联系很久了,但这还是第一次见面。交谈中,我了解到鲁直是 2009 年加入阿里巴巴工作,已经有十年了。刚开始是在 1688.COM 做业务系统,对中间件技术非常感兴趣,也会经常研究各种中间件的实

优秀的个人博客,低调大师

对话阿里云Alex Chen:下一代存储应如何面对云转型?

数字经济"乘云而上"。 十年前,阿里云开始自主研发云计算操作系统飞天之路,开启了中国云时代; 十年后,阿里云在中国市场份额超过2-8名总和,培育了整个中国云计算市场,数字经济在云上蓬勃发展。 十年前,EMC、NetApp、IBM等国际独立存储大厂称霸市场,中国企业存储市场被国际寡头瓜分,一本万利; 十年后,中国存储市场国产率超过50%,Dell EMC、NetApp、Commvault、Veritas都紧紧包围阿里云构建合作伙伴生态,云上数字经济成为了企业存储走向新的发展阶段的原动力。 如果说云计算是数字经济时代发展的新范式,那么,存储作为数字化基础架构的核心,将成为支撑数字化到智能化转型升级的基石。 尤其在混合云大势得道的今天,存储架构应对不同介质、技术、应用的演进升级,存储系统对云和云上应用的支撑能力,以及对海量数据的智能化分析和管理,都

优秀的个人博客,低调大师

对话IBM中间件高管 API经济背后蓝色巨人的野心和诚意

上周五下了北京的第一场雪,然而湿哒哒的天气并没有给我造成任何不快,因为我得到了一次非常珍贵的独家采访机会,而受访人正是IBM的中间件总经理Marie L. Wieck。IBM的中间件可谓大名鼎鼎,据Gartner的数据,2014年IBM在应用基础架构与中间件领域的市场份额高达29.1%,连续14年位列第一。然而,随着市场的变化,可以看到近些年IBM软件已经从强调五大中间件品牌(WebSphere、Information Management、Tivoli、Lotus 和Rational)变为主推六大软件能力(洞察力、敏捷力、协作力、创新力、优化力和安全力),而后又将宣传的侧重点从这几大软件能力过渡到“战略紧迫性”业务CAMSS(云计算、大数据分析、移动、社交、信息安全)。那么,IBM中间件业务或者说IBM软件的最新关注点是什么呢?答案很清晰:那就是API经济。 IBM中间件总经理Marie L. Wieck 采访一开始,Marie L. Wieck就兴奋地指出,到2018年API经济的市场规模预计将达到2.2万亿美元,而在未来2-3年中,开展API项目的企业数量有望增长150%。这么明朗的市场前景摆在眼前,IBM要如何把握呢?Marie L. Wieck首先向我抛出了一个大新闻,那就是IBM在近期发布了一系列全新的API技术,其中既包括软件,又包括服务和新的标准。需要注意的是,IBM并不是API领域的新玩家,此前IBM就已经提出非常完善的API企业架构并拥有非常成熟的成功案例(国内就有上汽通用这样非常成熟的API客户)。 当谈到API对于IBM软件部门,或者说对于IBM整个业务意味着什么的时候,Marie L. Wieck说道,“API经济向IT注入了全新的组成部分,而中间件的使命就是将应用、客户、合作伙伴以及开发者进行集成和整合。API经济牵涉到企业对内、对外的整合,将企业内数据和服务封装进API开放给外部,不仅会改变企业采用技术的模式,更会创造出新的渠道合作模式,为企业带来全新的商业价值。” 与仅强调API管理的很多厂商不同,IBM认为,企业需要为API经济体系打造整合的企业平台,而API经济体系的建设则需要从四个方面下功夫,分别为:整合(多应用整合、流程优化整合,以及门户整合)、安全(安全网关整合和运维安全监控)、敏捷(业务流程敏捷和开发敏捷)以及云化(混合云架构)。然而,这不免让人有一种IBM谈的API经济只是蓝色巨人借API之势卖自己的中间件的嫌疑,我们似乎需要一些专为API经济打造的产品来展示IBM的诚意,而新发布的一系列技术无疑成为了IBM最好的证言。 下面,让我们来看看此次新发布的服务和解决方案吧! 策略:通过IBM的API Economy Journey Map,IBM认知实践团队顾问将能帮助客户识别关键机会,并评估客户在其API经济之旅上的就绪程度。IBM提出了5个步骤的发展过程,形成成熟的模式帮助企业创造价值。 技术:IBM针对开发者发布了一款叫API Harmony的产品,它是Bluemix上的一项云服务,开发者可以通过它使用智能搜索技术(如智能映射和图形技术)快速、轻松地发现API接口,API Harmony可以帮助开发者了解在开发新应用时需要什么、推荐可以使用的API、展示API关系并发现遗漏。 生态系统:IBM正在与Linux基金会以及领先的行业标准组织合作,为构建、管理、保护和集成开放式API提供一个开放的平台。Marie L. Wieck说道,“我们与Linux基金会推出了全新的开放API计划,实现以一致的方式标准化和记录API。IBM是这个项目的创始人员,该项目旨在创建一个针对Swagger规范的共享治理模型和技术社区,新标准提供了开放的治理方式,使API和开发语言得以在社区里充分共享。”此外,IBM还宣布与银行业和医疗保健行业的两大关键标准组织合作,IBM与银行业架构网络合作创建针对银行业的通用IT标准,包括创建能标准化应用组建和简化并加速API开发的通用银行业API定义。IBM还与HL7标准组织在一个被称为快捷式医疗保健互操作性资源池的关键医疗标准上开展合作。 这些新的服务和解决方案补充了IBM API解决方案产品系列,包括支持混合云部署的IBM API Management,用于安全部署和扩展API的DataPower API网关产品,以及新收购的用于使用Node.js开发新API 的StrongLoop功能。 想让企业与众不同?认知计算是最好的选择 现在,很多厂商都在谈企业的数字化转型,而数字化转型的目标并不止于数字化,而是通过数字化的方式打造企业的差异化优势。大家都在说什么才是一个数字公司,我们的企业已经建立了一个含数据、云计算、移动性和安全性的基础系统,而怎么才能让企业与众不同呢?IBM认为,答案在于认知计算。传统企业需要将现有的技术与创新的技术以及工具结合起来,与时俱进。而在打造企业数字化企业方面,IBM既能帮助企业制定数字化战略,也可以通过认知计算这样的创新技术向企业提供个性化的服务,并帮助企业实现运营自动化。 关注IBM的读者很容易就会发现,IBM最近特别爱谈认知计算,上到CEO罗睿兰,下到各层高管,人人不离认知计算。而危险边缘节目扬名的沃森无疑是IBM认知计算的明星产品,近些年蓝色巨人也一直在寻找将沃森商用化的方法,而API无疑是将高精尖的认知计算技术变为一种大众化服务的最好方式。 打造企业专属的沃森并不现实,但通过云的方式租用沃森的计算能力是不是就特别靠谱了?据悉,IBM Bluemix上就提供了很多沃森的API服务,包括语义识别、分析还有预测。IBM还承诺将开放越来越多的沃森API,把它们提供给企业做整合。Marie L. Wieck说道,“IBM愿意把沃森的技术通过API的形式开放给我们的合作伙伴和客户。在危险边缘夺冠时,沃森只用了一个API,而在今天沃森已经有28个API,并将在明年年底达到50个API。我们的28个API都可以提供给客户,作为IBM全球专业企业服务部门认知计算实践给客户以参考,帮助他们实现认知化的学习。目前,沃森的API已经被IBM全球350个合作伙伴调用了15亿次。” SOA与API到底是怎样的关系? 在之前的文章中,我曾经写道,“IBM认为,当企业想要利用不同的API形成业务上的创新时,仅做API管理还不够,未来跨产业链的企业整合将变得越来越普遍,而对于这种跨产业链的整合和业务创新,需要企业快速地定义业务流程,而这也正是以流程、以客户为中心的SOA解决的问题。” 后来有人问我,IBM怎么还在说SOA呢,那么,在应用经济、API经济时代,SOA是不是已经过时了呢?对此,Marie L. Wieck表示,“现在已经进入SOA的4.0阶段,SOA 4.0特别强调Web和Websphere,包括OSA里面的ESP,还有集成总线等等。当企业通过业务流程创造新的收入时,不光是对外,API也要在企业内部发挥新的价值,这并不是把一个老的东西和新的东西结合起来,而是如何把企业已有的投入延伸下去。”而如何把原有的东西用起来,主要通过两个步骤,第一个是把企业原有的API结合起来,采取一种新的方式进行组合。在已有API基础之上叠加对业务流程的更改,采用全新的方式把他们连接起来,吸引更多的使用者。另外,SOA 4.0特别强调数据分析,让每个企业都具备沃森的计算能力是不可能的,但企业可以通过调用沃森的API,把其用于不同的渠道和场景,帮助客户提供更棒的用户体验。 采访的最后,Marie L. Wieck也梳理了IBM API经济对于不同规模企业的价值,“新兴小公司可以直接使用Bluemix上提供的API,也可以参加Bluemix Garage培训。(据了解,开发人员只需在IBM的Bluemix Garage协作中心待上4天就能开发出一个可用的API。)而更成熟的企业则可以通过IBMAPI Economy Journey Map了解自身在API经济之旅上的就绪程度。对这些客户来说,更重要的是业务战略的制定而不是拘泥于具体技术,他们应该重新思考,看看企业应该如何从现有的投入里挖掘出更多的价值。IBM能够覆盖这两种类型的企业,帮助他们充分利用IBM在数字及认知领域的经验,使这些客户在现有的投资基础上向数字化转型,向新的API经济发展。” 原文发布时间为:2015年11月12日 本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

优秀的个人博客,低调大师

用100美元攒一个懂人脸识别又能对话的门铃

使用Amazon Echo和树莓派来自己动手做一个门铃:每个月仅花费几分钱就可以识别在你门口成千上万的访客。 最近我准备在新房子里安装一个门铃时想到:为什么不让我的门铃告诉我谁在门口? 我自己动手做的大部分项目的成本都高于其它同等产品,即便我已经把自己的时间价值定为每小时0美元。我想这可能是跟供应链和经济规模相关。但是我在自己制作这些东西的过程中得到了更多的乐趣。在这个项目中我攒了一个门口摄像头,它不仅比我的Dropcam便宜而且还有一些真正有用的功能,由于某些原因这些功能我在市场还没有见到过。 图1 我的前门有一个门铃、一个August键盘锁和一个用于人脸识别的树莓派。图片由Lukas Biewald提供 我们会攒一个成本60美元的基于树莓派的安全摄像头装置,用来拍摄照片并将其传到云端然后进行人脸识别。你还可以将数据流上传到Amazon

优秀的个人博客,低调大师

团队 Agent 记忆服务怎么设计:从对话存档到可治理的工程上下文

Agent 每次会话都“重新开始”,通常不是模型上下文不够长,而是团队没有把事实、决策、过程和偏好沉淀成可检索、可更新、可撤销的记忆。本文以近期腾讯云开发者社区推荐的团队版 Agent Memory 为背景,设计一套面向研发团队的记忆服务:区分记忆类型,建立写入门禁,通过混合检索组装上下文,并用租户隔离、版本和过期策略控制风险。

优秀的个人博客,低调大师

对话面试官:动态代理是如何实现的?JDK Proxy 和 CGLib 有啥区别?

2 --> 知识解读 动态代理的常用实现方式是反射。反射机制是指程序在运行期间可以访问、检测和修改其本身状态或行为的一种能力,使用反射我们可以调用任意一个类对象,以及类对象中包含的属性及方法。 但动态代理不止有反射一种实现方式,例如,动态代理可以通过 CGLib 来实现,而 CGLib 是基于 ASM(一个 Java 字节码操作框架)而非反射实现的。简单来说,动态代理是一种行为方式,而反射或 ASM 只是它的一种实现手段而已。 JDK Proxy 和 CGLib 的区别主要体现在以下几个方面: JDK Proxy 是 Java 语言自带的功能,无需通过加载第三方类实现; Java 对 JDK Proxy 提供了稳定的支持,并且会持续地升级和更新 JDK Proxy,例如 Java 8 版本中的 JDK Proxy 性能相比于之前版本提升了很多; JDK Proxy 是通过拦截器加反射的方式实现的; JDK Proxy 只能代理继承接口的类; JDK Proxy 实现和调用起来比较简单; CGLib 是第三方提供的工具,基于 ASM 实现的,性能比较高; CGLib 无需通过接口来实现,它是通过实现子类的方式来完成调用的。 重点分析 很多人经常会把反射和动态代理划为等号,但从严格意义上来说,这种想法是不正确的,真正能搞懂它们之间的关系,也体现了你扎实 Java 的基本功。和这个问题相关的知识点,还有以下几个: 你对 JDK Proxy 和 CGLib 的掌握程度。 Lombok 是通过反射实现的吗? 动态代理和静态代理有什么区别? 动态代理的使用场景有哪些? Spring 中的动态代理是通过什么方式实现的? 知识扩展 1.JDK Proxy 和 CGLib 的使用及代码分析 JDK Proxy 动态代理实现 JDK Proxy 动态代理的实现无需引用第三方类,只需要实现 InvocationHandler 接口,重写 invoke() 方法即可,整个实现代码如下所示: import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** * JDK Proxy 相关示例 */ public class ProxyExample { static interface Car { void running(); } static class Bus implements Car { @Override public void running() { System.out.println("The bus is running."); } } static class Taxi implements Car { @Override public void running() { System.out.println("The taxi is running."); } } /** * JDK Proxy */ static class JDKProxy implements InvocationHandler { private Object target; // 代理对象 // 获取到代理对象 public Object getInstance(Object target) { this.target = target; // 取得代理对象 return Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this); } /** * 执行代理方法 * @param proxy 代理对象 * @param method 代理方法 * @param args 方法的参数 * @return * @throws InvocationTargetException * @throws IllegalAccessException */ @Override public Object invoke(Object proxy, Method method, Object[] args) throws InvocationTargetException, IllegalAccessException { System.out.println("动态代理之前的业务处理."); Object result = method.invoke(target, args); // 执行调用方法(此方法执行前后,可以进行相关业务处理) return result; } } public static void main(String[] args) { // 执行 JDK Proxy JDKProxy jdkProxy = new JDKProxy(); Car carInstance = (Car) jdkProxy.getInstance(new Taxi()); carInstance.running(); 以上程序的执行结果是: 动态代理之前的业务处理. The taxi is running. 可以看出 JDK Proxy 实现动态代理的核心是实现 Invocation 接口,我们查看 Invocation 的源码,会发现里面其实只有一个 invoke() 方法,源码如下: public interface InvocationHandler { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable; } 这是因为在动态代理中有一个重要的角色也就是代理器,它用于统一管理被代理的对象,显然 InvocationHandler 就是这个代理器,而 invoke() 方法则是触发代理的执行方法,我们通过实现 Invocation 接口来拥有动态代理的能力。 CGLib 的实现 在使用 CGLib 之前,我们要先在项目中引入 CGLib 框架,在 pom.xml 中添加如下配置: <!-- https://mvnrepository.com/artifact/cglib/cglib --> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.3.0</version> </dependency> CGLib 实现代码如下: package com.lagou.interview; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import java.lang.reflect.Method; public class CGLibExample { static class Car { public void running() { System.out.println("The car is running."); } } /** * CGLib 代理类 */ static class CGLibProxy implements MethodInterceptor { private Object target; // 代理对象 public Object getInstance(Object target) { this.target = target; Enhancer enhancer = new Enhancer(); // 设置父类为实例类 enhancer.setSuperclass(this.target.getClass()); // 回调方法 enhancer.setCallback(this); // 创建代理对象 return enhancer.create(); } @Override public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable { System.out.println("方法调用前业务处理."); Object result = methodProxy.invokeSuper(o, objects); // 执行方法调用 return result; } } // 执行 CGLib 的方法调用 public static void main(String[] args) { // 创建 CGLib 代理类 CGLibProxy proxy = new CGLibProxy(); // 初始化代理对象 Car car = (Car) proxy.getInstance(new Car()); // 执行方法 car.running(); 以上程序的执行结果是: 方法调用前业务处理. The car is running. 可以看出 CGLib 和 JDK Proxy 的实现代码比较类似,都是通过实现代理器的接口,再调用某一个方法完成动态代理的,唯一不同的是,CGLib 在初始化被代理类时,是通过 Enhancer 对象把代理对象设置为被代理类的子类来实现动态代理的。因此被代理类不能被关键字 final 修饰,如果被 final 修饰,再使用 Enhancer 设置父类时会报错,动态代理的构建会失败。 2.Lombok 原理分析 在开始讲 Lombok 的原理之前,我们先来简单地介绍一下 Lombok,它属于 Java 的一个热门工具类,使用它可以有效地解决代码工程中那些繁琐又重复的代码,如 Setter、Getter、toString、equals 和 hashCode 等等,像这种方法都可以使用 Lombok 注解来完成。 例如,我们使用比较多的 Setter 和 Getter 方法,在没有使用 Lombok 之前,代码是这样的: public class Person { private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 在使用 Lombok 之后,代码是这样的: @Data public class Person { private Integer id; private String name; } 可以看出 Lombok 让代码简单和优雅了很多。 Tips:如果在项目中使用了 Lombok 的 Getter 和 Setter 注解,那么想要在编码阶段成功调用对象的 set 或 get 方法,我们需要在 IDE 中安装 Lombok 插件才行,比如 Idea 的插件如下图所示: 接下来讲讲 Lombok 的原理。 Lombok 的实现和反射没有任何关系,前面我们说了反射是程序在运行期的一种自省(introspect)能力,而 Lombok 的实现是在编译期就完成了,为什么这么说呢? 回到我们刚才 Setter/Getter 的方法,当我们打开 Person 的编译类就会发现,使用了 Lombok 的 @Data 注解后的源码竟然是这样的: 可以看出 Lombok 是在编译期就为我们生成了对应的字节码。 其实 Lombok 是基于 Java 1.6 实现的 JSR 269: Pluggable Annotation Processing API 来实现的,也就是通过编译期自定义注解处理器来实现的,它的执行步骤如下: 从流程图中可以看出,在编译期阶段,当 Java 源码被抽象成语法树(AST)之后,Lombok 会根据自己的注解处理器动态修改 AST,增加新的代码(节点),在这一切执行之后就生成了最终的字节码(.class)文件,这就是 Lombok 的执行原理。 3.动态代理知识点扩充 动态代理和静态代理的区别?静态代理其实就是事先写好代理类,可以手工编写也可以使用工具生成,但它的缺点是每个业务类都要对应一个代理类,特别不灵活也不方便,于是就有了动态代理。 动态代理的常见使用场景有 RPC 框架的封装、AOP(面向切面编程)的实现、JDBC 的连接等。 Spring 框架中同时使用了两种动态代理 JDK Proxy 和 CGLib,当 Bean 实现了接口时,Spring 就会使用 JDK Proxy,在没有实现接口时就会使用 CGLib,我们也可以在配置中指定强制使用 CGLib,只需要在 Spring 配置中添加 <aop:aspectj-autoproxy proxy-target-class=“true”/> 即可。 总结 本文介绍了 JDK Proxy 和 CGLib 的区别,JDK Proxy 是 Java 语言内置的动态代理,必须要通过实现接口的方式来代理相关的类,而 CGLib 是第三方提供的基于 ASM 的高效动态代理类,它通过实现被代理类的子类来实现动态代理的功能,因此被代理的类不能使用 final 修饰。 除了 JDK Proxy 和 CGLib 之外,我们还讲了 Java 中常用的工具类 Lombok 的实现原理,它其实和反射是没有任何关系的;最后讲了动态代理的使用场景以及 Spring 中动态代理的实现方式,希望本文可以帮助到你。

优秀的个人博客,低调大师

浪迹天涯的骨灰级开源爱好者——对话阿里云 MVP吴晟

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 简介: 吴晟是我见过最“浪”的程序员,喜欢买买买,热爱公路自驾。格子间拘不住他向往自由的灵魂,七大洲才能承载他追逐梦想的印记。作为SkyWalking创始人的吴晟,远不止诗与远方齐飞的魅力。 以下为吴晟的个人专访,推荐阅读(约4分钟)。 不妨做个自得其乐的俗人 SkyWalking 给我带来最大的收获是成就感和知名度。我想每一个项目的深度参与者都会有不同的收获,不但可以磨练自己的技术,也会对代码和产品更加执着,苛求细节、强调逻辑,业务能力方面也会有较大的提升。首先自己的社交圈扩大并提高,国内外技术圈、媒体、其他领域专家等都有机会接触到。其次,沟通能力甚至英语能力也会有长进,彻底从技术宅,变成一个擅长沟通、演讲(亦或忽悠)的产品经理兼售前兼自动化测试兼写手。在各方面都得到训练后,最终变得愈发自信和优秀。 开源的成就,也给了我实现爱好的经济基础。我是一个生活比较随性的人,喜欢车喜欢表,喜欢公路自驾。2012年至今,护照上已经记录下美国、新加坡、韩国、意大利、法国、瑞士、乌克兰、泰国、印度等等。自驾自然离不开车,买车也是我的一大乐趣,这10年来,从最入门的高尔夫开始,我陆陆续续买了6台车,现在有一台GLE 450 Coupe和X3。车和程序很相似——给定输入,一定会有标准输出。也是圆我自己大学没有选择车辆工程,而是软件工程的一个情结吧。目前的小目标是911 Turbo S和GLE AMG 63S。 除了满足我对技术的诉求,开源的全球会议也促成了各地旅游的好机会。对我来说,一个月内出现在4个不同场合,做不同受众的演讲是家常便饭;一星期需要出现在两个洲三个国家的Keynote上的生活也习以为常。不能说这种生活很轻松,我也时长在半夜写着文档,在10个小时的国际航班上构思会议内容,但这是符合我自己预期的方式。可以在会议的间隙,走遍欧洲城市的大街小巷,感受异国风情。在自己和家人的护照上盖满各国的入境章,是很有意思的事情。大家以同样的速度度过时间,而我们拥有更多记忆。 技术地位的确可以改变收入,哈哈,原谅我是个俗人。不过更重要的还是收获了志同道合的团队和技术宅们,也有了更好的公司和团队支持自己,这种财富是不可替代的。 初识架构,崭露头角 我正式的工作和架构历程开始于研究生在读期间,在当时的微软MSC和微软MVP指导下,学习和编写一家保险公司的核心系统架构,包括整套的MVC、ORM框架、分布式通讯架构、以及自动化测试和性能测试等。2007-2009两年的实习工作,为我对整套分布式系统的理解奠定了良好的基础,也深深体会到了分布式对于系统的助力和挑战。 毕业之后,我先后在大唐软件和亚信中国,参与电信运行上的系统建设,期间一直在架构团队工作。在2011年,我参与到中国联通首个全国集中系统的建设中——一个8厂商合作的巨型SOA架构的分布式系统。首次引入分布式服务(以Web Service为技术代表,当时还没有微服务的概念)和SOA的系统架构,想要解决多厂商多应用间的问题定位、效率短板分析出现定位难的问题。这个项目为我之后设计ShardingSphere项目原型,和创立SkyWalking项目积累了重要的经验。 2014年,我以培训为目的开始建立SkyWalking项目,并先后在OneAPM及现在的北美Service Mesh公司tetrate.io,从不同的角度带领SkyWalking项目和社区。在大家的努力下,SkyWalking得以从Apache孵化器顺利毕业,成为顶级项目,并走向全球。 平步青云,共建开源生态 我与开源的结缘说来已久。在2014年,国内的开源市场可谓一片空白,顶级项目绝大多数来自国外,国内除了几个大厂背书的项目,很少有人涉足开源。项目从起步到发展,完全是摸着石头过河,全靠我们自己一步步的探索。从SkyWalking到CNCF基金会的OpenTracing项目,再到大名鼎鼎的Zipkin社区,最后深深根植于Apache基金会。没有任何前车之鉴,全靠大家齐心协力和多名社区老手的鼎力相助,他们开放和共享的工作态度与方式,给了我很深的印象。比如Google Dapper论文第一作者--Benjamin H. Sigelman ,Zipkin社区Leader--Adrian Cole,还有Apache Mentor,Mick Semb Wever和姜宁,以及其他无数国外的社区朋友。他们让我将一个中国的个人项目带进Apache孵化器,并帮助我学习建设社区的思路、方法,使其得以成功毕业并成为顶级项目。 孵化器是Apache为了新项目能够顺利创建而专门设立的工程,主要职责包括:过滤关于创建新项目或子项目的意向书;帮助创建项目及其所需的基础设施;监督和指导孵化的社区,从而实现开放的优秀文化氛围;评估孵化项目的成熟度,或者将其提升为官方项目/子项目的状态,反之若结论是失败的,则通过退役来解决。但孵化器不会根据技术问题执行过滤,因为基金会尊重和建议各种技术方法,甚至会允许在功能上重叠的项目之间进行内部的相互竞争。 而我本人也用了2年成为Apache基金会成员,现在兼任项目VP、孵化器PMC成员,从统计学来讲算是很快的速度,一般需要4-5年甚至更久时间的投入。在Apache基金会,一般会根据在整个基金会内的贡献(代码和非代码),得到认可后内部member提名、推举、和最终投票。每年只有全员大会一次机会认证。在其他基金会根据基金会性质会有所差异。 今天,我们的项目几乎覆盖了国内的所有大厂,以阿里云为首的各大共有云、私有云厂商,也都提供了相应的服务。项目被集成到大量的商业产品,甚至招标书中,已经成为事实标准。大量的基础社区反馈、国外社区的模型和理论共享、用户压力测试回馈,才造就了SkyWalking现在的设计和性能。所以可以说,没有开源社区这个有机整体的强大助力,就不会有今天 SkyWalking 的核心和高性能。 追逐开源有利可图 首先,开源不应该被神化。熟悉我的人,都知道我喜欢用『各怀鬼胎』来形容开源社区。很多人喜欢将开源定义为情怀,其实我很反对这样的想法。开源,可以是一个爱好,可以是一种技术追求,可以是一项工作,也可以是一种合作模式,可以是一个学习平台,更可以是一种盈利手段。无论企业还是个人,对开源的追逐都可以带来利益。 倘若公司内员工对知名开源项目有优秀贡献,会对公司自身的市场营销和技术品牌形成明显的正向反馈。而开源爱好者平等包容的开放心态,无论面对客户需求还是跨实体合作,都更具竞争力。开源公司自身的招聘吸引力、产品化能力优势亦然。对于个人来说,拥有开源项目经历,对个人能力和职业素养都有显著提升。2018年的开源职业报告显示,87%的雇主希望招聘到具备开源能力的员工,而55%的开源业内人士表示他们可以轻松地找到一份新工作。 请不要把道德高尚和开源扯上关系,他们没有什么必然的联系。如果你喜欢技术、勇于挑战,那么开源社区这个公开、开放而又竞争惨烈的地方,是一个好的选择。闭源或开源之间没有对与错,商业开源和KPI开源之间没有好与坏,大家都是各取所需、共同发展。至少,全球的开源风极大地提高了中国的软件水平。 吴晟的碎片化时间很多都用来思考和讨论方案,自由的工作时间背后是无限强大的自律心,支撑这位浪迹天涯的阿里云 MVP,更加笃定和从容。 我要成为阿里云 MVP 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/live 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

优秀的个人博客,低调大师

一名创业者浴火涅磐的自白——对话阿里云 MVP孙琦

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 简介: 孙琦喜欢调侃自己为“一个失败的创业者”。跟他聊过之后,我却发现他跟以往的创业者不同,并非出于追逐创业风潮,也不将重心放在迎来送往的商业公关,而是踏实地迭代技术,一步一个脚印向前走。 以下为孙琦的个人专访,推荐阅读(约3分钟)。 一个纯粹的技术人 我有很多标签,万博智云CTO,Ceph中国社区联合创始人,基金会亚太大使等等,但我最喜欢做的角色还是布道师。身为创业者,我不得不成为多元化角色,需要考虑营销、市场、社交等各种复杂事务。而在做技术布道的时候,我只需要关注技术本身,轻松、简单、纯粹。 这也是我最早辞职创业的初心。2011年,公司分配给我一个小团队研究云计算的方向,当时选型OpenStack,从此彻底走进了IaaS的世界。转眼到了2013年,那一年几乎是所有创业者的春天,我看好自己所做技术的前景,于是毅然决然的辞职去创业,研发基于OpenStack私有云的产品。 事实证明,技术创业者最大的问题,是过于技术理想化,容易自嗨,而忽略用户真正的需求,再好的技术没有落地场景也是纸上谈兵。现在,OpenStack已经成为了私有云的规范之一,但在2013年-2016年,多少用户会真正认可这一点呢?那时与用户的交流几乎都是技术普及过程。To B行业不同于To C行业,To B在价格之外,更看重案例和背景。当IT巨头们决定要进入这个领域后,创业公司所谓的积累瞬间荡然无存,能生存下来的只有凤毛菱角。 一次跨越舒适圈的转变 于是在2016年,最初的创业合伙人和我对产品方向出现了分歧,公司面临危机。最终团队被一拆为二,我经历了一段挣扎的时光。那时候对自己的初心开始产生怀疑,也曾几度想过放弃,但实在心有不甘。同时给了我很大信心和勇气的还有我的团队,他们在最艰难的时期默默支撑着我,成为我的盔甲。这帮兄弟们陪我风雨同舟一路走来,我自己轻言放弃又怎么对得起他们的信任。人心一散,再想聚就难了。 于是我们决心转型,转型的契机是当年一个金融行业私有云项目。我们搭建云平台只花了两周时间,但是仅仅迁移十几套业务系统,我们前前后后花了半年的时间才完成。这个项目是在一个不通高铁的县城实施的,从北京3小时高铁到徐州,再乘4小时大巴到县城。总共有6名同事去了40多次才把项目完成。这给了我很大的触动,为什么看似简单的迁移,却让我们付出了如此高昂的成本,同时也坚定了团队转型做云迁移这个细分领域的决心。 一些技术创业者需要具备的特质 洞察——深入理解用户需求。做技术的人在听用户讲需求的时候,会不自觉地去想技术实现细节,而缺乏对用户需求源的理解,这就容易造成你满意的产品,对用户毫无用处的情况。所以在和用户交流的时候,一定要了解用户为什么会提出这个需求,只有理解了这一点才能把产品做好。 长远——关注历史。罗马不是一天建成的,一个新的技术产生必然有其历史发展过程,机械式的学习往往让人觉得更加困惑。关注历史的发展过程,更容易让人懂得最早的设计者的想法,加深对现状的理解。目前很多新的技术,并不是绝对意义的创新,更多偏向模式创新,就像容器一样。所以关注历史,能够更快领悟新技术。 广阔——深挖洞、广积粮。IT行业在近10年发展迅猛,变的是层出不穷的新技术,不变的是学习新技术的方法论。云计算从业者需要掌握的内容则更多,前几年还是OpenStack,现在已经全面进入无服务化了。所以从业者应该时刻保持危机意识,对目前工作的内容深入理解,对自己不熟悉的领域也要关注。 洒脱——学会断舍离。到达一定阶段以后,就要有勇气放弃自己所坚持的一些事物,比如市场不需要的东西。面临这种情况,能否在坚持大方向的前提下,于细微处断舍离,对人是很大的考验。很多时候,学会放弃最难。 创业过程让孙琦完成了自我突破,他似乎变了很多,又好像从未改变。他像每一位阿里云 MVP一样,坚守自己相信的,坚持自己热爱的。 我要成为阿里云 MVP 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/live 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

优秀的个人博客,低调大师

企业IT架构云化中的七大挑战|对话阿里云MVP苏炎(中)

本文根据2019年4月18日,驻云科技首席架构师苏炎在【MVP时间】的分享《企业IT架构云化转型挑战与应对》整理。戳此免费听课 苏 炎 | 阿里云MVP、驻云科技首席架构师。 **云化过程中的挑战及需要具备的能力** 1、传统企业IT架构云化演进的三个阶段 我们再来了解传统企业IT架构云化演进的三个阶段可能遇到的挑战。 1)传统业务的云化 云平台的选型 到底是公有云还是私有云,对于80%的企业,除了集团性的企业,考虑到整个投入或者后期的运维管理的费用或者投入等,大部分企业都会选择公有云。 多云还是单云? 多云其实是一个非常明显的趋势。很多企业希望能够摆脱像类似于云服务提供商的绑架,希望能够实现多云的场景。但其实在技术实现上,还是有一些问题的。第一个问题,多云的这种应用架构或者系统架构,必然会带来多云之间的数据交互或者业务互通的成本。这些直接依赖于网

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册