首页

科幻小说

字节跳动

设置

字体样式
字体大小

字节跳动: 第25章 极速靴

    一棵树想要长得更高,想要接受更多的光明,那么它的根就必须更加深入黑暗。
    ……
    2008年4月24日。
    这一天,舒朗心情有点小激动。
    这一天,他要学习brave语言的api了。
    api是什么?就是应用程序的基本编程接口,也就是brave语言本身提供的接口,可以由程序员在开发功能代码的时候直接调用。
    舒朗学到现在,几乎已经把brave当成了java,这api在他眼里,估计也就跟当初java语言的api差不多,常用的也就那么十几个,其它的只要知道有那么回事就行,用的时候知道去哪查就ok。
    所以,学api对他来说不难。
    所以,学api其实一点都不让他激动。
    让他激动的是,学完了api就可以学习机械驱动和能量驱动了,这两块都是他之前学java的时候完全没有接触过的,甚至连类比性都没有。
    在他看来,只有学会了这两门课,才算真正迈入了机械能量设备驱动编程的大门,才算真正进入了这个新世界。
    他暗自盘算着,下午要让刘昊然在一小时内把api讲完,赶紧进入下一个阶段。
    ……
    上午,舒朗把他最近几天学的东西稍微回顾了一下。
    学得快就意味着学的多,学的多就意味忘得快,毕竟还没有经过实战演练,很多知识点还没有真正的烙在心里,几天不看,很可能它就跟你说拜拜。
    有道是:学而时习之,不亦说乎。
    但只有经过实战演练才能真正把知识点牢牢记住。写一段惊心动魄的代码,实现一个高大上的功能,都能够加深你对知识点的记忆。要是再出点bug,让你挣扎过、痛苦过、挠过心才得以解决,恐怕你这辈子都不会把它忘了。
    但是在有这样的机会之前,还是先“时习之”吧。
    舒朗复习了一上午,把基础知识点和anix模拟环境都演练了一遍。但不知道机械能量相关的程序到底是怎么个写法,这些基础的东西该怎么用进去,舒朗只好按照以前写oa程序的方式,随便写了几段代码示例,只当是练练手。
    debug窗右上角数字跟着变了:
    灰色:20171
    绿色:0
    红点当然还得用。
    不管他写的这段代码有没有用,反正最后是极其工整。
    他又把这段代码上传到了anix的模拟环境尝试运行了一下,完全没问题,当然也没任何作用。因为他这anix毕竟是个模拟环境,又不是真正的机械容器。再说了,他写的代码也就是打印几条日志而已,就算发布到真正的机械容器上,也同样没什么效果。
    ……
    下午刘昊然来的时候,表情有点惆怅,因为他还一时没有想好怎么试探舒朗,决定还是先讲完基础再说。
    “学习brave的挑战正式开始!”
    刘昊然一句开场白,把舒朗吓的一愣,接下来的解释,更是直接扑灭了他“尽快学完api”的梦想。
    “接下来我们学习bdk的核心api,意味着我们正式踏入了机械能量编程的领域。”刘昊然说。
    “不是学了《机械驱动》和《能量驱动》才算正式进入这个领域吗?”舒朗不解的问。
    “bdk的核心api,是指brave底层的所有api,包括机械驱动和能量驱动的api,至于你说的后面那两门课程,更加侧重于应用层的设计和封装,底层调用的还是bdk底层的api接口。
    正所谓,想要长成参天大树,就必须先牢牢扎根,同理,想要写出复用性极强、容错性极高的程序代码,就必须要牢牢掌握bdk底层的api。
    当你对底层api做到随心所欲、想用就用、任意组合的时候,离成为码神也就不远了。”刘昊然解释道。
    道理是这个道理,可舒朗听的感觉似乎有点不太一样。基础重要是不假,可基础再好,那也只是基础啊!码神不得靠高阶理论和实践吗?
    “刘老师,你掌握的怎么样了?”舒朗问。
    刘昊然似乎有点不好意思,但还是说了:“我工作了七年,也只是掌握了一百八十几个接口而已,其它的虽然也都知道,但实际开发的时候,还是免不了要查api手册。”
    一百八十几个?
    这还不好意思?
    我的天哪~
    舒朗简直难以置信!
    在他的java认知里,掌握常用的那十几个接口就足够吃遍天了,其它的随用随查就好,用的多了,自然也就能多记住几个,可也不可能掌握一百八十多个啊!
    “刘老师,bdk一共有多少接口?”舒朗问。
    “常用接口有203个,其它不常用的接口,算上一些二级接口,至少在三千个以上。”刘昊然说。
    嚯!
    这把舒朗给吓的,常用203个!总计三千以上!呵呵!怪不得可以成为码神!
    先不说能不能把这203个api全都记住,就算记住了,一个“任意组合”能排列出多少选择?还能随心所欲!那得熟练到什么程度?反正舒朗想象不出来!
    真要是有人能把api掌握到刘昊然说的那种熟练程度,别说叫他码神了,就算直接叫他“神”,舒朗也服。
    “刘老师,你是不是算是准码神了?”舒朗带着一丝崇拜着说。
    “别开玩笑了,我这才一百八十多个,也只是掌握了基本用法,至于组合用法还差的远呢。不过,我倒是觉得你有成为码神的潜质,加油吧!”刘昊然说完准备开始讲课了。
    后半句,舒朗根本没信。打断道:“等等,刘老师,我有个想法…”
    “你说。”刘昊然。
    “我觉得这api有点多,咱是不是一时半会也讲不完?”舒朗问。
    “当然了,我觉得怎么着也得…三…五天吧!”刘昊然有点犹豫,不知道是不是又低估了舒朗这个变态的实力,想了想还是多说两天吧,大不了打脸。
    “那…咱先讲后面那两门课程吧?先了解一下应用场景,再回来学api,也许会有点帮助。”舒朗建议道。
    “有道理!”
    刘昊然有点吃惊,这倒是十分符合科学学习的逻辑,先认识场景,再学习原理,有的放矢,提高效率。
    可以!
    从哪讲起呢?他还没做这部分的课程准备,不过也无所谓,自由发挥也没问题,反正只是讲场景,又不涉及实际的api封装。
    于是刘昊然便讲了一个案例。
    比方说,做一个球场上的机械能量设备极速靴。
    顾名思义,极速靴就是加快奔跑速度用的,可以在关键时刻帮助冲刺、抢断、射门等一切需要加快速度的场景。
    当然,这极速靴是要穿在脚上的。
    要满足以下几个需求:
    第一,在未开启的状态下,极速靴必须能够适应脚部的正常移动,包括行走、奔跑、起跳、落地、触球等各种踢球时的正常操作。同时还要在一定程度上,起到保护脚踝的作用。当然了,也不能起到伤害别人的作用。
    第二,在开启的时候,要在穿戴者主动加速到一定程度后,接续式的开启,不可突然触发,就像飞机起飞前的助跑一样。
    否则,很有可能出现的情况是,脚飞出去了,人还留在原地。
    另外,还要控制加速的程度,不是说越快越好,要时刻计算穿戴者脚部的自主发力情况,以免超出穿戴者的生理承受范围,而造成身体损害。
    同时,还要能够及时减速停止。
    第三,还要能够按照监管的要求,能够控制每一场的使用次数,以及每次使用的间隔时间。场次结束后,还可以由专门的解锁人员将次数重置。
    怎样才能实现这些需求呢?
    第一点其实相对比较简单,未开启状态的脚部适应,只要硬件方面做到兼容即可。在软件方面,这时候其实就是一个待机状态,随时等待穿戴者触发启动即可。
    可怎么触发启动其实是个难题,你不可能跑着跑着,意识一动它就触发了,电视里可能会那么演,为的是看起来带劲儿、帅,但实际上,必须得有一个触发点。
    那么这个触发点就很关键!
    做个按钮?
    万一被误点怎么办?
    有人说了,你不是还有速度控制吗?达不到有效的奔跑速度,误点按钮也不会生效啊!
    有道理!
    但这是足球运动啊,一般有穿戴设备的球员都是队内的关键球员,他们大部分时间都在场上不停的跑啊跑,你能保证他们每一次的奔跑都不会误点按钮吗?万一正好赶上了呢?
    有人说了,那就做两个按钮,同时按。
    这个稍微有点可行,甚至还真有这么干的,但实际上,球员在决定开启设备的时候,往往都是千钧一发的时候,同时按两个按钮会增加操作复杂度,尤其是在快速奔跑过程中,很容易导致他们分心,贻误战机。
    所以,业界比较通用的做法就是,做一个按钮,但不是实时开启按钮,而是延迟开启按钮。
    何谓延迟开启?
    就是说你按下按钮之后,不是马上开启,而是在接下来的一段时间内,主动加速到指定速度,便会自动接续式开启。
    所以,哪个球员能更快的加速,更有效的开启极速靴,哪个球员就更有穿戴极速靴的发展潜力。于是乎,大家给这个指标起了个名字:百公里加速秒数。
    没人能达到百公里时速,这里其实是代指开启极速靴的必要速度,大家开个玩笑而已。
    说到这,又有人会怀疑:“这也没法避免误操作啊!”
    的确。
    不过这既然是延迟开启,也就意味着,在正式开启之前,可以主动解除。
    这个按钮穿戴在什么位置的都有,完全看球员们的个人习惯。一般被触发后,都会有明显的提示,会第一时间让穿戴者感受到。如果是误操作,只要不加速触发,赶紧解除就好。
    如果你还要说,在需要正常触发的时候,被误解除怎么办?
    真要是这样,要么是他把触发按钮放错了位置,要么就是他的脑子有问题,他就不配使用如此昂贵的高端设备!
    不服来辩?
    ……
    接下来的问题是,按下按钮之后,根据什么来判断他的速度达到了开启标准。
    这就要结合第二个需求同时来分析了。