WebAudio使用小结🧭

背景

最近在负责游戏项目的开发,不免需要接触到音频相关能力的开发。在移动端实践后才了解到,iOS下的AudioDOM并没有被完全实现,比如iOS下就无法直接通过JS控制AudioDOM的音量大小,只能控制其是否被静音,另外静音拨杆的优先级比音量键的优先级要高。如果用户通过拨杆打开了静音模式,AudioDOM默认是没办法控制音量的。

尝试解决问题

由于需要实现通用能力中规划的音频的响度控制,搜索一圈后发现可以引入WebAudio来解决问题。(https://stackoverflow.com/questions/27296391/is-there-any-possibility-to-control-html5-audio-volume-on-ios

改造前音频架构

初始化阶段的时候,通用组件会检查DOM树是否存在AudioDOM,如果不存在就会尝试创建一个新的AudioDOM并挂载到DOM树上。状态操作也是直接对DOM树上的AudioDOM操作。

改造后音频架构

WebAudio支持多种方式创建音频输入,即可以直接通过AudioBuffer获得音频输入,也可以通过createMediaElementSource从已有的AudioDOM上创建音频输入。此处我使用的是后者,通过在AudioDOM与扬声器之间创建了一个“代理层”,将音频输出通过GainNode(增益器节点)处理了一下。通过GainNode我们可以设置音频的响度,间接的实现了iOS的音量控制。

错误上报

不幸的是,测试的Testcase还不够完善,业务被发布后,错误量激增,告警拉满😂。

经过梳理后主要是以下三种问题:

  1. Failed to construct ‘AudioContext’: The number of hardware contexts provided (6) is greater than or equal to the maximum bound (6).
  2. The provided value is non-finite
  3. undefined is not a constructor (evaluating ‘new(window.AudioContext||window.webkitAudioContext)’)

1.AudioContext只能创建6个实例

Webview版本小于66中只能创建小于等于6个的AudioContext,会导致页面无法继续播放音频。(https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)

解决办法:

1. 增加全局AudioContext池,通过一个实例来管理最大音频对象数量。

2. 不使用的AudioContext需要被及时释放,避免占用音频对象资源。

2.音频节点提供的不是有限值

在某些环境中,JS的除运算计算出来的值不是一个有限值,直接赋值给WebAudio的节点会报该错误。

解决办法:

赋值前通过isFinite函数检查是否是有限值,如果不是则使用一个固定的值作为兜底即可。

3.window.AudioContext不存在

按道理来说AudioContext在执行JS代码之前就应该被挂载到window上了。但遗憾的是,iOS15之后的WKWebview会经常出现,执行JS代码的时候AudioContext仍然未被挂载到window上,导致执行构造函数的时候报错。

解决办法:

捕获错误并且定时重试,一般第一次失败的2-3秒后就能创建成功了。

Model Y or 宝马Z4?

上周中午吃完饭在公司附近散步,偶然瞥见了一台敞篷的MX-5,感觉真的好Sexy好好看,搜索了一下价格貌似是40上下。主要戳中我的内心的是敞篷的概念,我也好想要敞篷汽车呀。但年初的时候其实我还许下愿望希望可以买一台Model Y的,算了一下年底拿下其实是最稳妥的时候了。我现在其实最纠结的点是,我是不是应该继续存钱买个小敞篷呢,又或是继续践行目标买个Model Y就算了呢?真的好纠结。

本来说是MX-5的,不过搜索了一圈,MX5的空间对于身高1米9的我来说貌似不太友好,回头如果路过宝马的4S店去看看Z4,如果合适就拿下。

周末去家附近的宝马4S店看了一下,没现车要预约试驾才有XD,只好下次再看了。毕竟现在我还做不到直接掏出这么多钱,估计只能作为25岁的生日礼物了(不过一想到自己能买到喜欢的东西就好期待啊)

这两天其实我再思考了一下买个25i就够了。另外买个车其实并不能让我工作日快乐起来,最多只能让我的周末更快乐。工作日真的好枯燥,每天就是上班+备战考研,啥时候会是个尽头呢?

上周末去家附近的4S店试乘了一下,对于190cm的我来说,空间绰绰有余,并不会感觉很拥挤,大约就是modelY小一点点,各个方面都很棒。(特别是敞篷的部分太太太帅了)另外也问了深圳的落地价,算了一下手上的存款+股票+现金刚好明年就可以下订了,最后就决定是Z4了。我这次看上的是新出的紫配白,真的是太Sexy了,不过就是要等大约5个月后才能到货。明年10月下单,刚好25年3月到,趁着春天开一下,爽啦。

一锤定音了,家人也同意了我的想法,只要是花自己钱的前提下就可以买了,明年年底拿下是肯定可以的了LOL。

最近上汽名爵准备发布cyberster电动Roaster感觉这个也可以考虑一下,挺帅的。(关键是不用燃油指标,就很爽)。

2024年1月15日,最近在B站上搜了一下,MX5坐不下190身高的我,太小了,果断放弃。目前就是在Model3、Cyberster和Z4之间抉择了。

[日常碎碎念] 香港一日游 🇭🇰

Intro

最近《疾速追杀4》上画了,我不仅是1-3的铁粉,由因为我在深圳上班。因此火速规划了一番下香港的行程。其实已经是上周六的事情了,但工作强度实在是太高了,每天都加班到23点才下班,一直没时间来写一下博文,这周才放松下来有空来写一下。这篇“游记”也会有点碎碎念的感觉,基本都是按照时间顺序来写的,但是会非常的散,没啥明确的前因后果,大多是突发奇想就去了。

通关

不同于以往是从广州前往香港,这次我是从深圳出发的,并且又是一个人,因此可以选择福田口岸过关,不用去罗湖过关。可能由于恢复通关的时间还不是特别久,所以福田口岸过关特别快,拿着电子证,从深圳口岸到香港口岸总耗时5分钟,除了过关前填写过关用的健康码花了一点时间其他都还好。

福田口岸挺多来大陆的香港游客的

额外补充一点,这个是4月1日的时候我去续签通行证的时候才知道的。原来广东省内户籍的居民是不需要办理居住证就可以直接在深圳续签通行证的。我家附近最近的就是南山公安分局了(从南头古城地铁站出来,过天桥就是了),直接去公安局隔壁的自助办证机器,就能跟在广州一样,直接扫码续签通行证,贼方便。下周感觉可以再去一趟香港玩了,深圳真的太无趣了。

住南山区的话直接搭地铁到南头古城就好了,的士反而不容易停车

流量

其实现在去香港玩不用再单独上某宝买境外流量或者流量卡,中国联通等运营商一识别到你进香港后就会自动给你发短信,可以自动开通25元一天的流量套餐,前1G是4G高速流量之后就是384kb的低速无限流量。如果不看视频纯看微信、GoogleMaps、看新闻的话肯定是绰绰有余的,毕竟难得下香港是为了来玩的不是为了来看手机的,其实还是够用的。

Apple Wallet 八达通

如果恰好用的是iPhone的话可以考虑在Applewallet里面开一个八达通,特别方便。但充卡记得不要在旅客八达通里面冲,八达通是1:0.92,现金是1:0.87,在旅客八达通里开通到Wallet里面后,去7-11之类的便利店用现金充值就好了,在弱网条件下的体验比支付宝好。购物的时候虽然拍卡很方便,但其实有很多商家都已经支持支付宝的使用了,直接跟店家说用支付宝就好了,汇率跟刷银联一样,大额基本可以用支付宝代替银联。VISA由于要用美元结算会比较亏,建议不要用。

香港城市大学

由于订了11:55又一城的电影票,于是一过关就获取跑到了又一城中闲逛。香港城市大学居然是紧挨着又一城购物中心的,感觉来这里读书好爽啊,学校附近就有一个这么大的mall,可惜自己的学业不争气不然来这里读大学或许也挺好的。

敏华冰室

三年没来香港终于与时俱进也用上了扫码点单了,不过是基于AzureSite做的。感觉跟小程序的点单还是有点差距,用起来感觉特别割裂,比如点单扫码得先用手机拍照App扫码跳转到浏览器里点单,然后结账的时候又得用一个二维码让收银员扫码后再用八达通或者信用卡支付,感觉纯纯多此一举,要不就全电子化,要不就全人工嘛。现在效率没见提升,体验还变差了。

热奶茶+吐司鸡扒,那个茄汁黄豆居然是冷的,感觉好怪😂,吃起来特别不习惯,倒是那个厚吐司烤的刚刚好,涂上黄油特别香。热奶茶也是特别香特别好喝,完美的早餐。另外我去的那一天还以为敏华只有香港有,谁知道周日去万象天地吃饭,负一层就有敏华的甄选店,得想吃正宗冰室也不一定非得下香港了,深圳也有。

疾速追杀4

人生第一部电影院看的三级片😂

位于又一城的MCL设施还是比较新的,影院大厅也足够宽敞,不会感觉很压抑。其中比较特别的两点是:卖零食的店家居然是在影厅门口,而不是影院门口,也就是检票后才卖小吃,有点特别。这里卖零食的有个不好的地方就是不让用支付宝,要不就是八达通要不就是现金或者信用卡,有点小麻烦。还有一个我觉得比较特别的地方是影院居然会卖酒,不过貌似新修订的法案又不能售卖让人会喝醉的酒水,不知道Bar上面的酒头打出来的是不是无酒精啤酒😂。

买了个小爆米花吃吃,因为电影太好看了,其实到最后也没吃完,还有这个40块港币还挺贵的
还我狗命4

作为一个系列爆米花大片来看,这绝对是最近5年内最值得进电影院看的欧美动作大片,不管是动作故事人物配乐各方面都是上乘的。虽然中间有些场景一波波刷小怪,防弹西装防弹性能太夸张,其他部分我觉得都是可以接受的。还有就是香港的字幕有些关键词翻译的怪怪的感觉有点拉。8/10分的佳作,如果追过前面三部的话,第四部是不会让你失望的。强烈安利下香港在电影院里面看,体验特别棒。

Blue Bottle 蓝瓶咖啡

简洁明了的LOGO

久仰蓝瓶咖啡的大名,但是由于大陆地区只在上海开设了分店,加之疫情的缘故,一直没机会来打卡。看完电影后其实也不是特别饿,就想着去附近找个下午茶喝一下。打开小红书,第一个安利文就是蓝瓶咖啡,我才第一次支持原来香港早就有蓝瓶咖啡的分店了,遂火速前往。

独栋三层都是咖啡店,在寸土寸金的香港来说,店主真有钱

由于周六一整天都在下雨,加上打卡的热潮已经过去了,等待的顾客并不多,只是介于满人与不满之间。可能是因为香港是国际大都市,外国友人较多,能来蓝瓶子喝咖啡的市民教育水平也比较高,整个饮料单都是英文的😂,对于中国区而言,补个中文备注在隔壁很困难么,感觉服务不够完善。

Cold brew 盛惠50港币

入口清爽柔顺,符合冷萃咖啡的特性,还带有一些水果的香气,对于一杯50多的咖啡还可以,但说实话并没有被惊艳到,至少没我想象的那么惊艳,只能说是设计比较好看了。如果单论咖啡,由于最近几年大陆咖啡市场的疯狂内卷,其实已经有很多连锁的咖啡店都已经可以做出这种风味的咖啡了,Manner、M Stand随便一家价格都能比BlueBottle便宜但又有近似的出品,更不用说那些独立的咖啡店了,成功拔草。

BakeHouse蛋挞

大排长龙

这家蛋挞也是在小红书上看到的,可能是由于多方面的原因,我去的时候居然没啥人排队,很轻松的就买到了,在我买完不久就开始大排长龙了,只能说当天实在是运气太好了😄。可惜店内的座位都被坐满了,只能站在门外讲究的吃完,解决战斗。

蛋液吃起来近似于肯德基的味道,酥皮比较脆,类似于牛角包🥐的感觉,而且比较薄,这个类似于蛋液包住蛋挞皮。配上冷萃体验真的挺棒的,好吃,如果顺路的话确实可以过来买一个,但是不顺路的话就算了吧,去KFC买个葡挞,味道是一样的,价格甚至比BakeHouse要便宜2块人民币。

剖面

叮叮车🚎

吃完蛋挞想着时间还早就想去海边走一下,于是一直向北走着,突然发现马路上驰骋的有轨电车好有趣,拿手机拍了几张照片,突然就萌生了搭有轨电车的想法💡。因此在此在小红书上搜索指南,没想到附近就有电车的站台,实在是太爽了。(PS:小红书太好用了,如果只是用来查询指南的话,小红书就是一个实用利器)

站台
路线图

叮叮车的路线其实就是沿着北面的港岛东西走向的游览线路,全程票价三元港币,无论在哪个站上车都是三元,如果不赶时间,说实话有轨电车比抢铁便宜多了去了,从九龙塘到金钟收了我12.5港币,这也太贵了吧!!

叮叮车一层其实超级矮,我身高一米九,得伏下身子才能上车,二层则稍微宽感一点。上车的时候有个阿叔准备下车,刚好蹭了一个前排的问题,真的爽啊,好久都没这么顺心过了。

前几班的叮叮车都是要走完全程的,因此超级多人,我只是想体验一下不用坐太远,就选了到跑马地的车,在艰尼道西就下车步行去铜锣湾买药+搭地铁了。

铁板烧

这一个小节不想多说啥,花了1000多港币吃了个贼拉的铁板烧,不会有下次了,除了拍照好看,味道实在是对不住1000这个价格,吃麦当劳都比这个好吃,我都不知道大众点评尖沙咀铁板烧第一名是怎么算出来的?怕不是尖沙咀就只有他一家铁板烧了吧。

厨房
餐厅环境还不错
胡麻豆腐、牛蒡丝、柴鱼高汤煮茄子
无花果沙拉,白色的是鸡蛋白碎碎
宫城生蚝。味道鲜美可口
刺身三点(分量少的可怜,生鱼片像是狗啃下来一样😂)
食材展示
南非黑金鲍+昆布高汤勾芡,全餐印象最深刻最好吃的一道菜,调味很不错
帝王虎虾,烤老了,明明上一道还很出色的,这一道就完全崩坏了,味道也很单一,不好吃
鹿儿岛黑毛猪配日本野菜和炸蒜片,烤老了,调味就是烧汁烤猪排,表现很一般

虾和猪肉的表现真的让我蚌埠住了,做的也太难吃了,差评!!

茶碗蒸,但是味道跟鲍鱼的勾芡味道冲突了,感觉不如不要这一层勾芡
梅子酱樱花虾炒饭配面豉汤,梅子酱的酸味很好的激发了樱花虾的鲜味很棒
最后的点睛之笔,灌上柴鱼高汤和一点山葵,早就一碗特别鲜美的茶泡饭
普普通通巧克力雪糕

说实话配角都做的很出色,就是主菜做的太拉,导致我根本没有想来下一次的欲望。因为我觉得再这么高级的餐厅这些错误就不应该犯,明明我是第一个到店的顾客了,都不存在厨师忙不过来的情景出现,为啥还能把主菜烤老,我感觉是不可原谅的。

尾声

吃完饭就坐地铁回深圳了,回到家里面才刚好22点,感觉挺震惊的,放到工作日,我怕是还没下班吧😭,上班好苦,我也好想一夜暴富不用上班啊。

[日常碎碎念] 2023.02.24

近况

由于今年春节也过的比较早,所以我一直都是处于放假摸鱼充电的状态,都没有心思来继续写博客了,有一说一,辛苦干完活之后的周末休息真的是好爽啊。终于把年前的EMO状态调整到一个较为阳光积极向上的状态了,今年还是想搞点Side Project的,不想浪费自己宝贵的青春。另外这篇博文其实也难产了好多次,本来计划春节期间写完的,后面想着放松放松就拖到了开工,后面又找了各种各样的理由一直没憋出来,因此今晚一鼓作气直接写完再吃宵夜,不然2月就要断更了XD。

好物分享

1、铁三角 SoundBurger唱机

不得不说抖音的推荐算法准确率之高令人瞠目结舌。在高中的时候,曾经也为音响器材发过烧,买了一堆耳机器材😂,后面因为学业的原因又放下了。之前刷Youtube的时候,看到了这个视频:

我其实也挺迷恋老式的音频播放器,Sony的圆锯播放器实在是戳中了我的心,特别是播放彩胶的时候着实是巨性感。于是我一直都在留意这个机器的二手价,不过有个问题是,咸鱼上的价格都太过高昂了,实在没办法下手。最近在抖音刷视频的时候,看到铁三角的直播间在售卖其60周年的限定商品:

圆锯的造型立刻就戳中我的心了,对于我来说,我的期望满足一下3点即可:

  1. 圆锯造型
  2. 品相优质,无暗病可用
  3. 价格低于3000

而这个机器完美的符合我的预期,于是二话不说立刻下手。(比较意料之外的是,这东西居然是中山产的,感觉中山在我的印象中是跟音乐八杆子打不着的地方😂)。

实话实说,唱片机买回来后,大多数时间都是用作摆件用的,其一是因为唱片售价高昂,另外也是聆听不够流媒体方便。不过用来收藏也是蛮不错的感觉。

2、M2 Mac Mini

苹果1月17日的时候就发布了全新一代的Mac Mini产品,用上了去年发布的M2芯片。在20年末的时候我其实就已经入手了搭载M1芯片的MacBook Air,说实话,不管是业余开发还是大型工程的维护,在前端领域全面拥抱M系列芯片已经是非常可行的了。而且凭借着Apple的号召力,有越来越多的软件开发商针对Arm架构进行了适配,已经不存在说有软件不兼容的问题。因此,让我21年就萌生的Mac Mini Server计划成为了可能。遂拿着年终奖,蹭朋友研究生的身份用教育优惠以3699元拿下了丐中丐版本。

虽然是老模具,但其外观放在今日依旧秒杀一众迷你主机,不得不说乔布斯在设计方面还是非常具有前瞻性。百看不厌,非常性感的一台小钢炮。另外由于芯片是低功耗的设计,其散热风扇产生的噪音几乎可以忽略不计(甚至冰箱压缩机的噪声还更大一点)。

截止到目前为止,已经在机器上部署了私有化云盘,站点监控和FreshRss了,这篇博文我也是在Mac mini中敲出来的,由于篇幅的关系,之后我还会单独出多一个文章,来分享一下我这套NAS的搭建优势和劣势。

3.Aqara G4 Homekit门铃

绿米最近还出了一个新品,首款支持电池供电的可视化门铃,售价与其竞争对手而言几乎是5折的水平,抱着全家Homekit智能化的想法,同样也剁手了。

如果你问我好不好用,我只能说因人而异,论便利性而言,我觉得还是不如小米原来买199元的智能门铃来的好用,不过买都买了,就随缘了。这个后面也会单独写个博客吐槽一下,这里就先不赘述了。

2022年年终总结

今年什么事做得比较好?

1、编码水平提升

从今年的2月初开始我就开始了毕业实习计划,到7月份顺利以校招生的身份转正成为一名开发工程师。2月份的时候我的React Native水平说实话还挺稀烂的,随着项目发展,一次次的实践也让我的代码水平有了量的提升,跟着dalao们一块工作,确实是学到了更多好的编码习惯。俗话说得好,没吃过猪肉也见过猪跑,最起码自己有了这个认知,希望通过这种认知提升,能够继续潜移默化的提升我的代码质量。

2、克服社恐,正视困难并尝试去解决

这个转变其实是随着9月份组内业务转向收获的,以前的业务方向主要还是局限于单一的内部工具,从下半年开始我们开始向外发展,着手开发了一些通用框架,让更多的同事借助我们的通用框架降本增效。之前的内部开发可以说社交圈就仅仅局限于组内的十几人,由于大家天天都在一块工作,交流成本其实很低,很容易就能说明白一件事。不过随着通用框架的铺开,更多开发的接入,难免是需要与其他陌生人接触的,社恐的感觉便随之而来。原来等着其他人来帮忙的态度已经不能应付当下的问题。在外工作靠人不如靠自己,没办法,只能自己硬着头皮跟大家battle。改变总是伴随的痛苦,不过只要不被打倒,就会得到成长。经历了这几次的battle脸皮不感觉特别厚,但总归是敢于摇人。遇到搞不定的,就摇人,把Leader、mentor、相关负责人、测试、产品全拉上,正视问题并尝试去解决问题。即使半夜12点也勇于打电话call人,反正我的职责就是解决问题,只有这样子才能解决问题,不然就要被捶了。(年初的时候已经搞了两次短暂的生产事故了,天天被老板锤,谁顶得住啊)

3、工作表现

作为一个校招生而言,我今年自我感觉已经算是完成的不错了,不仅没有背🌟,还拿到一个超出我意料之外的评价,算是没有白加班。从9月开始,为了组内的业务我真的是没少加班,天天加班,到11-12月更是达到巅峰状态,平均每天23点才下班,天天给业务修Bug。感觉明年可以表现的更加中庸一点,我觉得能拿这个评级的人都是实至名归的卷王,努力提交效率希望明年能够少卷一点,不用这么出色能正常拿工资正常上下班就好,不奢求太多的东西。(随着股价的上升,再干一年,我就真的可以如愿以偿全款拿下Dream Car了,算是实现我的未来5年的人生目标了,加油)

今年什么事做的不太好?

1、工作效率不足

我可以很大义凛然的说,现在赚的钱其实都是用命换来的。我以前其实特别不认可30岁被迫毕业的这个说法,总是以为被毕业的都是一些真的没能力的人才会被毕业。直到我成为了洪流中的一份子,我才能领悟其中的道理。那就是高薪资的代价是超乎想象的工作时间,相信很多人都会特别羡慕程序员的高收入水平,但我觉得很多人都是没办法切实感受到程序员所需要承受的压力的。我不知道其他组怎么样,就拿自己组而言,从9点开始上班一直到晚上11点不间断的工作,每周至少持续5天,天天都需要跟人沟通,开无尽的需求对齐会,如果遇到紧急需求,周六可能还需要被迫加班。生活的激情都已经被工作消磨殆尽,晚上回到家都快23点30分了,洗完澡躺上床,刷刷手机就到2点了,真的是消耗自己的寿命才换来这些钱。特别是12月的无尽加班,人都快蚌埠住了,好几次回到家我都泪崩了,太tm累了😫。

不过说这么多抱怨话也没用,细细想下来自己其实还是有可以提升空间的,与其抱怨工作多,不如提升自己的工作效率。就目前而言,我的工作效率低下主要体现在以下几点:

1)、业务不熟悉

这一点其实是无法避开的,每个人都需要交点学费才能掌握,不过苦尽甘来,折腾了大半年算是半只脚迈进门了,自己也开始有点感觉了,遇到类似的业务其实自己的编码速度已经变得很快了,相信获得更多工具的加持后,我的效率能够获得进一步的提升。

2)、编码质量低

由于经验的缺失,总是会写一些低级错误的Bug,导致测试天天提单修复,占用了自己大量的开发时间,虽然及时做了复盘,但也期望自己以后不要再犯同样的错误,毕竟剩下宝贵的开发时间用来摸🐟岂不是更香?

3)、工具缺失

其实以前我不感觉自己工作辛苦是因为工具的缺失,知道最近与组内的一个dalao合作,我才知道原来合理利用工具,能够剩下如此多的时间。比如dalao很喜欢用的一个聚焦工具:Alfred,这个工具其实就是增强版的聚焦,不仅可以实现聚焦的搜索能力,还可以通过设置插件,获得额外的工具能力,比如编码转换,代码片段等。看人家通过快捷键,kuakuakua就写好一个功能,着实是惊到我了,居然能够这么快解决问题。万幸的是,我还年轻,学习的机会有这么多,抓紧时间学起来,相信不久的将来我的效率起来后,同样也能省出这么多时间的。

2、与人交往越来越少

自从上班后,我的社交面就更窄了,虽然说独来独往没啥不好的,自己掌控全局的感觉还蛮不错,但每逢遇到困难时,都会在心头萌生孤独自闭焦虑的感觉,如果不跟父母吐露困难,就不知道找谁分享压力了,感觉释放压力真的好难啊,身边真的能get到我的人真的太少太少了,除了自己的两位好友和父母,就没有其他人了。期望明年可以付诸行动改善一下现状。

未来计划

今年是我工作的第一年,大体上对自己的现状有了一个清晰的认知,于是从23年起给自己规划一个5个两年目标,并且在未来的每一年的年终总结做复盘和更新。其实就是给自己设定一个更加精细化的10年目标,因为现在时间变化确实太快了,2018年我作为一名大一新生迈入华广的校园,是怎么都想不到4年后的自己可以进入大厂工作的。我混的圈子确实没有能力看到这么远,所以我觉得10年已经是我目前能够规划到最远的时间节点了,希望借助这些切实可行的目标能够让自己更有方向,不要虚度宝贵的青春,毕竟10年眨眨眼就过去了。

2023-2024年:晋升到T7+全款拿下Model Y

2025-2026年:转型成为前端游戏开发者(专注Web GPU和WebGL技术)

2027-2028年:成为web图形渲染方面的技术专家(腾讯T9级别)

2029-2030年:交上女朋友 / 拿到30K以上的薪资

2031-2032年:结婚成家