“了解系统的工作方式会导致大量黑客入侵”:Roy Beniosef在Android开发中



如何理解一个人深深沉浸在Android世界中,同时又在三星工作? 好吧,即使Google搜索开始为三星Galaxy拍摄此人的照片,也很明显!

Roy Beniosef是全球最早的Android GDE之一,是GDG的组织者,也是Samsung NEXT特殊部门的雇员。 很快,他将参加Mobius会议,我们向他询问了一切:从在生态系统形成之初为Android开发的样子,到他们在NEXT到底在做什么。

-您称自己为“第一个Android GDE” ...

-这是个玩笑,他们没有正式称呼我-我之前找不到任何Android版Google Developer Expert。 一切始于我是Amir Chevat的朋友-现在他是Twitch的主要传播者。 他是GDE计划的发起人,该计划正在特拉维夫发生。 然后,在2011-2012年,我非常积极地参加了当地的Android社区,因此,他选择了我就不足为奇了。 该程序的结构则少得多。 有时我开玩笑地说我成为GDE,因为那时他们还没有为选择而烦恼。

-也就是说,没有标准化的程序吗?

-不,该程序还很不成熟:我的朋友刚刚邀请我,我同意了。

-当时你在做什么? 您是否撰写过报告并撰写了有关Android的文章?

-我大部分时间都在公开演讲。 我是GDG小组的联合创始人和组织者,专注于移动应用程序。 我为MobileMonday和GDG做过很多演讲,我们还组织了DevFest。 这一切都是2011年,我不记得了。 此外,我们编写了开放源代码,在博客上进行了编写,但是我们的主要职业是公开演讲。

-那时Android还不到三岁。 当时最受欢迎的话题是什么? 最困难的问题是什么?

-总的来说,与今天相同-提供优质的用户体验,性能问题和图形。 要使Android应用程序看起来时尚且平稳运行,即使在现在也要努力工作,然后变得更加困难。 如果我们谈论自那时以来发生的最重大的改进-我认为它们与这些困难有关,也就是说,这是与棉花糖有关的重组,新工具ConstraintLayout的出现。 有机会编写出色的应用程序,而无需从头开始创建所有内容,这非常重要。

-也就是说,最明显的变化是应用程序基础,UI必需的工具以及UI框架(如Material Design)是否存在?

-可能是。 一般来说,所有这些都是从一开始就存在的,但是很难实现。 另外,Android总是与iOS相比,在那里创建几乎没有经验的非常漂亮的应用程序总是相对容易的。 为了创建高质量的Android应用程序,您需要花费大量时间才能成为专家。 现在,它变得更加容易。

-您最初为什么选择Android? 由于iOS更加简单,因此在移动开发中您可以去那里或根本不去。

-我开始从事移动应用程序,因为它是一个全新的领域,我对到达那里很感兴趣-大约在那时,电话,“拨号器”不再使用。 另外,iOS吹牛,而Android是Linux。 iOS当然也类似于Unix,但是Android与Linux更加接近。 我是一名开源开发人员,我的笔记本电脑上装有Ubuntu,所以Android离我更近了,我想帮助他达到成熟。 我对Linux的了解对Android的早期开发有所帮助-当某些问题不起作用时,我总是可以进入Linux级别并在那里解决问题。

-真的吗? 当我开始在Android(版本1.6)下工作时,要开始工作,我必须安装Android SDK,IntelliJ IDEA,然后阅读手册和代码。 您通过Linux解决了哪些具体问题?

-最不同的。 例如,在NDK出现之前,我们在图形方面遇到问题时,我在OpenGL下编写了某些部分,因为我对此很精通。 我能够解决某些在驱动程序级别出现的设备的问题。 了解系统的工作方式会引起很多黑客攻击。

-那么您有很多底层工作吗?

-那时有很多。 我专门研究Android的非标准平台-我领导了针对未安装在标准手机上的平台的系统的创建。 在Samsung NEXT TLV之前,我曾在Vidmind工作,领导客户小组,除其他外,我们与基于Android的海信一起为Smart TV和STB创建了自己的项目。 因此,我的职责包括从Linux级别开始进行开发。

-事实证明,您的经验促进了您在Android上的开发。 现在让我们谈谈您与GDG在以色列(特别是在特拉维夫)的合作。 您能告诉我们那里的社区吗? 数量众多,它是做什么的?

-现在,以色列的GDG不那么活跃。 这里大多数最有才华的开发人员都从事云技术,人工智能,区块链。 但是,有一个非常庞大,活跃而成功的社区参与了移动开发-Android Academy。 该学院由乔纳森·莱文(Jonathan Levin)和其他合作伙伴共同创立。

“我们的读者非常了解Jonathan,因为他在过去的Mobius会议上发表了很多演讲。” 您如何与他以及Android Academy联系? 你有帮助吗?

-尽可能。 现在,我们正在开发一系列报告和研讨会,这些活动将在明年作为Android Academy高级课程的一部分进行。 我与他们之间有着长期的友谊,并且我会尽全力帮助他们-例如,我举办了黑客马拉松,由于我在Samsung NEXT工作,因此他们在本部门的办公室里多次举行。

-您在Android Academy的研讨会将致力于什么?

“我们还没有决定。” 通常,我教一些我自己很精通的东西。 通常,这些是最无聊和技术性的问题,最常见的是底层问题-网络安全,Android数据库,信息的正确缓存,GPU的正确使用等。

-告诉我们,Android Academy到底是什么? 我们在圣彼得堡组织了几次会议,但我不知道它是否在莫斯科,所以也许我们的读者会想知道它的格式,是否有课程,会议或其他内容?

-乔纳森(Jonathan)参与Android Academy的工作比我要多得多,所以我谈论这个有点不寻常。 但总的来说,这是一个非常活跃,开放和友好的社区。 他们开设Udacity之类的课程,其中一些是入门级的,其他则致力于更高级的领域,例如,多线程,图形,动画。 这些课程是免费的,并向所有人开放。

-您会推荐在俄罗斯参加Android Academy课程吗?

-如果与以色列相似-是的,当然。

-据我所知,乔纳森(Jonathan)试图出口以色列的模型,也就是说,使俄罗斯人尽可能类似于以色列人。 让我们继续您的工作。 每个人都知道三星是什么-一家庞大的公司,处理从建筑到智能手机的全球所有事务。 三星NEXT是什么,您在那里扮演什么角色?

-三星NEXT是三星的创新部门。 我们尚未完全集成到三星电子中,并且专门研究软件。 我们有一个产品部门,负责创建边缘计算,增强现实和人工智能领域的高级软件。

但是,我们在以色列这里所做的90%是风险资本投资,而且我履行了基金负责人的职责(尽管我不是)。 我们对从种子期到B期的创业公司进行投资,金额最高为300万美元。 我们根据金融投资来评估他们,也就是说,我们不是战略投资者,另一个部门三星创投正在从事这项工作,他们做得很好。 我们有不同的策略,我们在早期阶段进行投资,仅投资软件。 此外,我们会根据财务标准进行投资,但与此同时,我们也会投资那些可能在未来2-10年内具有战略意义的初创公司,即使三星在这一领域还没有产品。

例如,我们投资了一家名为StreamElements的初创公司,他们为流媒体提供了用于吸引观众,使其增长并从中获利的工具。 三星在这一领域没有产品,因此这项投资不能称为战略投资。 此外,战略投资者绝不会在种子前阶段投资创业公司。 我们决定进行投资,因为我们看到了这家创业公司的获利方式。 但与此同时,不能排除三星将来将涉足计算机游戏领域,如果发生这种情况,StreamElements将具有重大的战略意义。

此外,在以色列,我的职位是生态系统关系经理。 实际上,我自己想出了这个帖子的名称,是从天花板上取下来的。 例如,通常将生态系统联系理解为Google为更好地向社区介绍其产品而进行的活动。 而社区管理就是当您拥有自己的社区来组织活动时。 我有点什么都不做,但同时我却一点都不做。 我是我本人并未创造的技术的传播者,因为Samsung NEXT不会开发任何东西,因此它是一家风险公司。 我们免费地做我们的工作,而没有施加任何义务,仅仅是因为我们想帮助人们-在此我们看到了我们的使命。 我们没有自己的社区,我们正在与其他社区合作并为他们提供帮助。 我们这样做,首先是因为我们是好人,其次,因为派(即社区)越大,就会给包括我们在内的每个人更多的碎片。 因此,最终,我们也将从中受益,也就是说,从本质上讲,这是我们的赞助。

-让我们谈谈您投资的创业公司。 您是否仅评估他们的设计,他们的软件,或者除此之外,还对架构,流程等进行技术评估?

-以不同的方式,取决于启动阶段。 创业不是一个主意。 令人毛骨悚然的实现有很多好主意,反之亦然。 总的来说,我负责检查的技术部分,但我们也负责业务的组织。 一切都不会仅仅归结为一个想法;我们会研究它以及实现。

-这项工作中最有趣的是什么? 结识新朋友,结识新想法,有机会看到未来的技术吗?

-是的,我喜欢寻找新朋友-通常这些人都是非常聪明和热情的人,并且有很好的想法。 但是,最有价值的是有机会深入研究我以前没有时间的新技术。 当我管理由来自塞尔维亚,乌克兰,中国和以色列的45个开发人员组成的团队时,我没有时间尝试Firebase,机器学习或计算机视觉。 我所做的一切都是短期的。 现在,由于新技术是由我们所从事的公司研究的事实,因此我有能力深入研究新技术-我需要掌握这些知识才能正确评估我们熟悉的项目。

-也就是说,您曾经参与过开发组织,但是现在您正在做一些更具创新性的工作,并且您有时间探索新技术的前景。 听起来真的很有趣。 这项工作有什么弊端吗?

-当然-我本人并不直接创造任何东西,而只是评估别人是否可以按照他的计划去做,有时我会提供金钱和帮助。 在这里,完全不同的感觉,不同的工作回报。 我真的很喜欢创作过程,尤其是这种感觉不在这里。 这是一个缺点。

-您有空工作吗?

“是的,当然。” 您不能尝试新技术,而不能自己收集任何东西。 我正在从事一个项目一段时间。

-你能告诉我们一些关于他的事吗?

-正如我所说,我想尝试计算机视觉和机器学习。 我编写了一个小型Android应用程序,该应用程序与Firebase进行通信,并在设备本身和Firebase中使用TensorFlow。 我在旧手机上安装了此应用程序,并将其放在饭厅中。 他检查了房间里有人的身影,如果有人发现,就拍摄了视频。 我必须说,我的妻子从不熄灯。 因此,该应用程序的目的是预测离开房间时是否有人将灯关掉,如果不关灯,则向电话发送提醒。

有趣的是,几周后它开始工作-很有趣,因为该应用程序通常不太聪明。 每当我妻子在房间里时,它都会发出提醒,因为她从不熄灭灯,而我总是将其熄灭。 也就是说,它不是很聪明,但是很有趣,它可以区分我们,也就是说,它创建了自己的逻辑,而我没有写。

-是的,听起来很酷。 借助新技术解决家庭问题。

-实际上,我想看看我是否真的可以使用这项技术编写任何东西,而不仅仅是阅读文章并自己思考这可能是可以实现的。

-告诉我,您职业生涯中的哪件事使您最满意?

-有很多话要说。 我认为对我来说最大的荣誉是两年前以演讲者身份参加Google I / O。 我也很高兴每年都会确认我在GDE计划中的成员身份。 因此,在我的职业生涯中有很多要点,因此我认为自己很幸运。 我的例子证明了所有可以想象到的错误都是可以成功实现的。 当我开始使用Android时,我被两所大学开除。 Android当时是一个运行缓慢的系统,崩溃很多,而那时正是iOS蓬勃发展的开始。 此外,我创办的这家创业公司花了3000万美元,破产了。 失败接failure而至,但我感到成功,因为所有这些事件都使我得以成长。

-我相信没有错误就无法成功。 如果错误很大,您可以从中学到很多东西。 我的下一个问题是关于您即将举行的Mobius“ G(PU)Force” 演讲 您到底想谈论什么? 您想解决什么问题?

-如果您正在为OpenGL开发(例如,编写游戏),那么您将对如何使用GPU以及如果其表现不正常该怎么办应该有所了解。 如果您使用Android编写代码,那么当您的代码很顽皮时,您将不知道这是由于您的错误,处理器问题还是由于GPU使用不正确引起的。 该报告基于我以前就职的公司Vidmind的实际案例,以及我特别关注的一些案例,以查看过去三年中是否有任何变化。 我们经常遇到最令人难以置信的失败,而我们不明白为什么。 直到很久以后,我才意识到我们在错误地使用GPU。 在报告中,我还将说明如何解决这些错误,并建议Android开发人员可以用来避免这些问题的规则。

当然,有了新工具,在新设备和新操作系统上,它变得更容易工作。 但是大多数开发人员无法专门为最新设备创建程序,因此有一种趋势是编写在所有设备上都无法正常工作的应用程序。 这些困难大多数与GPU的实现有关。 如果您对Android在不同API级别上的期望有所了解,则可以编写一个无论部署在何处都能完美运行的应用程序。

-也就是说,您的想法是,对于专业的Android开发人员而言,了解GPU的工作原理,GPU对它的期望非常重要。

-是的 当然,在此报告之后,您将无法说:“现在,我可以做以前不知道的事情。” 我展示了如何将GPU集成到Android生态系统中的示例。 了解确切需要测试的内容之后,您可以创建一个始终可以完美运行的应用程序,而我想对其进行演示。

-我希望这对我们的读者非常有用。 最后,我想问-您希望会议参加者有什么?

-我想学习很多关于技术以及彼此的知识。 就我个人而言,通常,我只做很少的报告-当然,这很具有讽刺意味,因为我的职业生涯通常是基于公开演讲。 但是对我而言,访问报告一直都是灵感的来源。 我写下一些关键短语,然后尝试自己收集一些东西,以了解我是否正确地理解了说话者。因此,我相信会议是启发灵感的重要来源,也是与其他开发人员会面和聊天的地方。我在哪里可以得到一些新的观点来帮助一个人写出最适合自己的实践?

说明罗伊的报告可以读在线 莫比乌斯,并且也有描述该计划的其他报告。该会议将于12月8日至9在莫斯科举行

Source: https://habr.com/ru/post/zh-CN428606/


All Articles