专访许式伟:“云”端的创业者

七牛云存储的创始人兼CEO许式伟分享了他在技术背景、团队建设、语言选择、书籍撰写、职业转型、日常管理等方面的独特见解。文章还提及了七牛云存储的业务特点、使用Go语言的原因、书籍《Go语言编程》的编写过程以及他对编程初学者的建议。

http://www.apkbus.com/android-2692-1.html

专访许式伟:“云”端的创业者

2013-6-7 14:06| 发布者: vincy西西1010| 查看: 1792| 评论: 3

摘要: 许式伟,七牛云存储的创始人兼CEO,在创立七牛之前,曾经在金山、百度、盛大等公司,有十几年的工作经历,在云存储领域也已经有近十年的技术积累。 ... ... ... ...

    许式伟,七牛云存储的创始人兼CEO,在创立七牛之前,曾经在金山、百度、盛大等公司,有十几年的工作经历,在云存储领域也已经有近十年的技术积累。

APKBUS配图


  以下为小编对七牛云存储的创始人兼CEO许式伟的访谈内容。


  APKBUS:请介绍下您自己(包括学习背景、工作经验)和您的团队?


  许式伟:


  大家好,我是许式伟,七牛云存储的创始人兼CEO。七牛云存储是专为移动时代开发者打造的数据管理平台。主要托管企业的富媒体(图片和音视频等)文件,为企业提供了一站式在线数据托管、全国乃至全球范围的上传下载加速、以及云端数据处理(如图片缩放、打水印、音视频转码、流媒体播放等),省钱省时省力又省心。


  在创立七牛之前,我曾经在金山、百度、盛大等公司有十几年的工作经历,在云存储领域也已经有近十年的技术积累。我们当前的团队有四十几人,很多都是多年的同事。


  APKBUS:您创立了七牛云存储,很受大家关注,而据我们所知,七牛云存储是国内第一家全部用Go写成的系统,能问下在当时Go正式版还未发布的情况下,是什么原因让七牛这么大胆用这门语言呢?


  许式伟:


  在选择Go语言之前,我一直在寻找一门最适合我们的语言。云计算领域最主要采用的开发语言是C++和Java,比如亚马逊就用的Java。我自己已经用了很多年的C++ ,并且在2007年创立金山实验室后也曾使用Java进行服务端开发,因此对它们都有足够的了解。Java的语言风格比较拘束或严谨,与我推崇的编程风格不合,并且在分布式系统开发上没有显著的优势,所以我又关注了Erlang(也因此有了ECUG社区)和Go等小众语言。在对比评估后,我非常确信Go语言是云计算领域最合适的开发语言。


  在2011年的ECUG大会上我做了一个“从Erlang到CERL到Golang”的讲座,介绍了整个技术历程。


  APKBUS:咱们七牛团队是不是还出了本书-《Go语言编程》?什么原因促使写《Go语言编程》?在编写这本教程中,遇到哪些难题?如何解决的?


  许式伟:


  我们的想法很简单,七牛的发展从Go语言社区受益颇多,因此我们希望能够做一些切实的小事情帮助Go语言社区的发展。这门优秀的语言理应拥有更多的学习者和爱好者。


  写这本书确实遇到了挺多困难。一个困难是当时Go语言还处于Beta阶段,变动极快,我们需要快速跟进。另一个是当时市面上还不存在相对完整的学习资料,国外亚马逊上唯一的一本关于Go语言的书也还处于预售状态。我们只能把官方网站上的Go语言规范文档翻来覆去研读了无数遍,再结合产品开发中积累的大量实战经验,才有了这么一本书的诞生。很高兴看到在社区的共同努力下,现在Go语言的学习环境已经有了非常大的改善。


  APKBUS:据知,您之前是典型的技术人员,而现在也是成功的管理者,从工程师到管理者的成功转型您是怎样做到的?在这个转变过程中有让您印象最深的事么?


  许式伟:


  公司的管理完全也可以用架构师的思维方式来管理,尽可能的模块化工作,然后用轻巧的方式将这些模块串起来。只不过人和机器相比有非常大的不同,因此高效的沟通能力配合清晰的架构师思路,是作为管理者达成公司目标的关键能力。我希望再经过几年的努力后能无愧于成功管理者的称号。


  APKBUS:作为一位CEO,您典型的一天是怎样度过的?现在自己还做编程么?


  许式伟:


  我们现在的团队结构已经相对完整,各团队的负责人都久经考验,也合作非常顺畅。得益于给力的伙伴支持,我现在无需像很多其他CEO一样成天焦头烂额的到处救火。在把控公司发展方向之外,我很高兴还能有时间深入到一些具体的技术问题。不过我现在review代码的时间远多于写代码的时间。对我而言,这是让我们的服务保持高水准的最佳手段。


  APKBUS:曾经看到七牛云存储官微上有提到过,您个人是不喜欢在技术上强调架构的,能具体谈一下么?


  许式伟:


  其实我说的是大家别把框架当成一个太重要的东西。框架天生具有相当的侵入性和问题域假设。使用框架一开始会很容易做出东西,但随着时间过去会逐渐从享受框架的便利演变为反复考虑如何才能对框架进行Hack以达成目的。我现在更强调以分而治之的模式来解决问题,关注如何将一个大问题分解为一个个小问题并抽取成组件,架构师更应该关注组件分解的合理性和组件规格的合理性,而不是关注用什么很牛的框架。


  APKBUS:您对即将迈进编程领域或刚迈进的初学者有什么建议?


  许式伟:


  我的两个建议如下:1. 计算机是实践科学。所以我一直强调开发者一定要手和脑子一起用,多动手,定期反思;2. 勇于承担,不要拒绝他人眼中的脏活累活,最后成长最快的通常就是那些愿意干脏活累活的人。


    本文为APKBUS原创 转载请保留本文链接

    本文链接http://www.apkbus.com/android-2692-1.html

下载前可以先看下教程 https://pan.quark.cn/s/a4b39357ea24 SSM框架,涵盖了Spring MVC、Spring以及MyBatis这三个框架,在Java领域内作为构建Web应用程序的常用架构而备受青睐,特别是在电子商务购物平台的设计与实现过程中展现出极高的应用价值。 这三个框架各自承担着特定的功能角色,通过协同运作来达成高效且灵活的业务处理目标。 Spring MVC作为Spring体系结构中的一个关键部分,主要致力于处理HTTP请求与响应,并推行模型-视图-控制器(MVC)的设计模式。 其运作机制中,DispatcherServlet扮演着前端控制器的角色,负责接收HTTP请求,并将其依据请求映射至相应的Controller处理方法。 在Controller执行完业务逻辑后,会将处理结果传递给ModelAndView对象,随后由ViewResolver将其解析为具体视图进行呈现。 Spring MVC还具备数据绑定、验证以及国际化等附加功能,这些特性显著提升了开发工作的效率以及代码的可维护程度。 Spring框架则是一个综合性的企业级应用开发框架,其核心能力包含依赖注入(DI)、面向切面编程(AOP)以及事务管理等关键特性。 DI机制使得开发者能够借助配置文件或注解手段来管理对象的生成与依赖关联,从而有效降低组件之间的耦合性。 AOP技术则适用于实现诸如日志记录、权限管理这类跨领域的功能需求,有助于使代码结构更为清晰。 Spring在事务管理方面提供了编程式和声明式两种处理途径,确保了数据操作过程遵循原子性与一致性原则。 MyBatis则是一个轻量级的数据库访问层框架,其特点在于将SQL语句与Java代码进行分离,并支持动态SQL的编写。 开发者可以在XM...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值