微信号:infoqchina

介绍:有内容的技术社区媒体

作为一名合格的Google粉,怎样用Andriod的视角拥抱人工智能?丨课程推荐

2017-04-01 08:00 StuQ
作者|陈莉
编辑|Emily

大多数开发者因为当初是Google脑残粉而入Android这个坑,Google首款内置Google Assistant的智能手机,将其原生Android服务以及Google最新的语音助手应用结合,此人工智能应用甩Siri几条街,那么入坑的你,该如何用Andriod的视角拥抱人工智能?

Android的精进

Android是一整套开源操作系统,不只有手机系统,还有手表系统Android Wear和物联网系统Andriod Things,Android粉就算对安卓系统再精通,达到全部精通也是很难的,但是你可以这样说,我精通Android手机应用的UI开发。怎么样?这样会不会明确很多?

从这个例子出发,你怎样达到真正“精通”的程度呢?

  1. 熟悉Android UI相关源码,理解整个View 体系:ViewTree的创建过程,ViewRoot的工作方式,ViewTree的遍历时机和流程、View中的消息传递。理解Canvas绘图过程;

  2. 能够独立实现复杂且高效的UI布局和交互动画;

  3. 理解Android绘制机制,能够独立分析、统计和优化UI卡顿;

  4. 熟悉主流UI库 ……

当然,你也可以精通Android应用音视频播放开发,蓝牙开发,IM开发,安全,高并发Socket,Hybrid等方向......在每个细分领域都有自己精通的子领域,才真正算得上是“精通”。

关于Android的精进之路,斯达克学院(StuQ)专门邀请了「 StuQ 公开课 」的讲师Van Bruce,在知乎Live与我们分享《安卓的精进与转型 》。

Van Bruce 是从业6 年的安卓一线开发者,职业生涯里做过创业技术负责人、移动研发总监、资深安卓平台架构师等职务,目前就职于国内某大型互联网公司架构组,负责安卓端基础组件架构。创过业倒过闭,进过国企外企 BAT。参与开发过银联手机支付系统、 UC+ 插件平台、 UC 国际版等项目。

Van Bruce分享的主要内容有:

  • 初级安卓程序员应该向哪些方向再精进一步?未来有哪些发展方向比较有竞争力?

  • 为了进入一线大厂,哪些基础知识是必须的?

  • 对于转型管理岗位的误解和利弊分析。

  • 对开发工作感觉厌倦,如何利用当前技术优势进行转型?

快速报名通道:戳底部 「 阅读原文 」一键报名!

用Andriod的视角拥抱人工智能

16年10月4日,谷歌密集发布了一系列硬件新品,既有跟你形影不离的智能手机,又有摆在客厅桌上的语音助手,插在电视上的智能电视棒,戴在头上的虚拟现实眼镜,还有控制家庭网络源头的无线路由器,总之,这些硬件设备几乎能够无死角地全面覆盖你生活的方方面面。

就智能手机而言,谷歌宣布Pixel系列的同时,也宣告了过去Nexus系列的终结,Pixel手机定位高端,运行最新的安卓“牛轧糖”7.1系统,是首款内置Google Assistant的智能手机,最大的卖点在于其原生安卓服务以及谷歌最新的语音助手应用,Pixel手机内置了Google Photos云服务,用户所拍摄的所有照片、视频等资料可以实时存储于云端,不用担心机身存储容量的问题。

JavaScript语言与人工智能
为什么是JavaScript ?
  1. JavaScript 是图灵完备的;

  2. 图灵完备的语言理论上可以解决目前所有的计算机编程问题;

  3. JavaScript 简单灵活,应该会是解决大部分问题的优选方案。

所以,理论上,JavaScript 可以成为人工智能的开发语言。

著名程序员 Jeff Atwood 在2007年发布了著名的:

Atwood's Law:Any application that can be written in JavaScript, will eventually be written in JavaScript.

“一切可以用 JavaScript 编写的程序,最终都会使用 JavaScript 编写。”

很快,2008 年 V8 引擎发布,2009 年 Node.js 发布,拉开了 JavaScript 攻城略地的序幕,服务端、数据库、OS、无线、桌面应用,甚至嵌入式设备,都相继出现了 JavaScript 的身影。

同时,ECMAScript 标准的不断完善和严谨,让这门语言在更多领域成为生产方案成为可能。

这当然也包括人工智能领域。很多人已经开始尝试使用 JavaScript 解决 AI 问题,比如:

  • ConvNetJS:Deep Learning in your browser

  • Mind.html: User Manual of Mind.html Tutorial Artificial Intelligence (AI)

但是,可以与适合之间,存在着很大的距离。 与传统的语言相比,JavaScript 在人工智能领域还有很大的弱势:

1. 专业库缺失

JavaScript 真正脱离浏览器进入其他领域,也就近七八年的时间。而人工智能领域需要的大量专业基础库,如基础算法实现、数学计算、图像处理等,都已经发展了几十年,而像 Lisp 等内置部分 AI 计算能力的语言,及 MATLAB 等专业软件,也已积累了大量的库、扩展、例程等生态,这些都是 JavaScript 社区短期内很难补齐的。

2. 语言本身的短板

人工智能对计算的需求,表现在运算量大、对内存及数据的精确控制、对 CPU/GPU 的便捷操作、分布式处理等,这些场景下,C/C++ 有更多的优势和经验。JavaScript 当然理论上有办法实现,但也要依赖 Node.js 引擎及其下层的处理,在生产环境中并无必要多此一举。

3. 领域的惯性

人工智能学科的学习周期长门槛高,领域相对封闭。科研机构和学校长期使用 Lisp、ProLog 等语言用于 AI 研究和应用,已经积累了强大的惯性。JavaScript 这门“新语言”很难直接切入如此之长的行业链条。

JavaScript 当然也有其优势:

1. 语言灵活,社区庞大

TensorFlow 底层大部分使用 C++实现,但选择了 Python 作为应用层的编程语言。在这一层面上,JavaScript 具备和 Python 同样的竞争力。加上 JavaScript 的社区极为繁荣,相信在社区、市场、成本、效率等综合因素影响下,JavaScript 可以在应用层面有更多的机会。( TensorFlow 的非官方 JavaScript Wrapper 确实早已出现,并持续升温)

2. Web! Web! Web!

互联网革命的核心,在于“端”的力量。

如同当年网格计算、BT下载的理念对行业产生的巨大影响,在物联网时代,“端”的数量呈指数增加,更是为分散式计算提供了绝佳场景。用户交互行为、声音图像、地理位置、运动健身等产生的数据,完全有可能在计算能力越来越强的“端”中实现标注、预处理、计算。而由于在跨平台(浏览器、客户端、服务端、设备…)上的优势,JavaScript 将是提供端计算一致化方案的最佳语言。同时,用户界面交互也是 AI 产业化的重要环节,JavaScript 在界面上也将迎来更广阔的空间。

JavaScript 发端于 Web,她带着 Web 的基因,也必将以 Web 的理想在新时代更远的前行。

关于物联网与前端工程师,欢迎关注斯达克学院 「 StuQ 公开课 」的讲师,阿里巴巴技术专家刘洋洋在知乎Live的全新实时回答《物联网:前端工程师的新蓝海》。

刘洋洋是物联网事业部前端团队负责人。2010 年加入阿里巴巴,参与创立聚划算并任前端负责人; 2014 年参与创立智能生活事业部(物联网事业部前身),负责前端及架构工作。

刘洋洋分享的主要内容有:

  • 什么是物联网

  • 物联网的技术体系

  • 物联网行业现状

  • 物联网与前端

  • JavaScript 与物联网的火花

  • 硬件中的 JS

  • 物联网服务与 JS

  • 物联网生态与 JS

  • UI 开发的新要求

  • 前端工程师如何切入物联网并建立竞争力

  • 职业机会及成长建议

快速报名通道:戳底部 「 阅读原文 」一键报名!

研发工程师的核心竞争力在哪?

不论是安卓的精进,还是用安卓的心态拥抱人工智能,落实到一位技术开发的身上,最关键是什么?

是有自己的关键技术能力,解决问题的实力,甚至是一定的项目管理、人员管理及沟通、产品设计理念等“软实力”,In a word ,你的核心竞争力是什么?我们同样邀请到了一位「 StuQ 公开课」讲师、链家网架构师吕毅,为互联网职场新朋友们分享技术和职场软硬技能,如何塑造自己技术硬实力的同时,也通过日常工作中的细节,来锻炼自己的软技能,帮助大家更快更好的成长为技术领域职场达人,上可做的了架构设计,下可写的了健壮代码。

吕毅于2011年毕业进入新浪平台架构部,先后参与微盘、 SAE 的应用开发,2012年底加入百度,在手机百度产品线,从早期研发服务端业务,到后期负责平台化服务建设,2015年加入链家网开始负责基础服务建设,构建多项横向支撑各业务线的平台化服务,于2016年中,开始负责大数据工程团队,并与2017年初发布链家 GAIA 大数据平台。

吕毅分享的主要内容有:

我与我的职场这几年

  • 研发工程师核心竞争力的几方面

  • 在工作中得到快速成长的方式方法

  • 研发工程师硬实力的锻炼手段

  • 职场软实力如何在工作中得到提升

  • 研发工程师在职场头几年少走弯路的建议


快速报名通道:戳底部 「 阅读原文 」一键报名!



技术 or 管理?

到底是主攻技术专家还是技术管理?人生处处是选择,机遇有限,坑却不少。工作数年的你, 如何跳出自己的舒适区,正确思考和规划这个问题?我们请到了一位在这方面踩坑跳坑的汪晓明老师给我们做知乎Live分享,他结合自己的实际经历,引入「技术半衰期」和「资源稳定度」两个概念,帮助大家建立思考框架,瞄准自己的目标,不再彷徨,不再浪费时光。

汪晓明,现任什马金融 CTO,专注于技术战略,研发管理和应用系统架构设计等。拥有 15 年软件行业从业经验,经历大型外企技术专家和中层管理,自主创业,成长性民营企业高管等多个阶段。技术方面,曾经在 SAP 荣获 Developer Challenge 中国区冠军和全球亚军;管理方面,2014 年从零开始组建了霍尼韦尔大中华区移动技术中心,2016 年开始打造什马金融 IT 研发团队支撑公司从 A 轮到 B + 轮的业务爆发。

汪晓明老师分享的主要内容有:

1.如何决定内心的选择?

  • 与天赋的关系?

  • 与当前际遇的关系?

  • 我们该有怎样的信念?

2.山重要,还是路重要?

  • 什么是成功,什么是未来?

  • 技术路线:技术半衰期如何影响你的未来?

  • 管理路线:资源稳定度如何影响你的未来?

3.自我修炼与外部环境

  • 能力修炼与方向选择

  • 个人修炼:左右互博之术

快速报名通道:戳底部 「 阅读原文 」一键报名!

报名页面:

「 阅读原文 」,占个座儿~

 
InfoQ 更多文章 「号称」所有人都在使用的微服务架构概念,应该怎样理解? GitHub 贡献第一的是这家「因循守旧」的公司?微软开源软件列表 从技术、平台、工具、语言&框架等四大方面,详解技术未来的趋势 从Visual Studio 2017谈起,解析微软技术生态进化之道 70%以上业务由H5开发,手机QQ Hybrid 的架构如何优化演进?
猜您喜欢 Linux内核测试套件LTP初探-服务器篇 TIOBE 2016年11月编程语言排行榜:Haskell或有希望终将闯入前20? C#开发人员应该知道的13件事情 阿里峰会遇见无声信息|浅析WAF防御机制的非主流技术 你怎么忍心一次次的拒绝我?--App Store被拒绝理由大全