用代码玩剧本杀?第3届83行代码大赛剧情官方解析

简介: 由阿里云云效主办的2021年第3届83行代码挑战赛已经收官。超2万人围观,近4000人参赛,85个团队组团来战。大赛采用游戏闯关玩儿法,融合元宇宙科幻和剧本杀元素,让一众开发者玩得不亦乐乎。

说到剧本杀,很多人很好奇,代码大赛究竟是如何与剧本杀元素结合的?在关卡里面收集到的线索,到底如何串联起来?我们请来了本次代码剧本杀的主要设计者陈少滨(阿里云云效代码平台)来具体讲讲。

前言

代码挑战赛、剧本杀、元宇宙,这些词可能单独列出来你都认识,但是放到一起可能就会有点疑惑:这三有啥关系?为了使83行代码挑战赛更加有趣,我们史无前例地将剧本杀元素、元宇宙科幻元素与代码挑战赛结合,打造了一场别开生面的代码剧本杀

既然是剧本杀,那么自然就要有线索。玩家每次通关,都能够获取code83的定制线索,其中不仅包含了关键的剧情信息,还有决赛出题人担心题目太难,特意留下的提示,最重要的是,参与的玩家还可以通过获取的线索换取云效83行代码xCHERRY定制机械键盘等豪华大礼。

下面,我们来揭秘一下这场代码剧本杀,看看你是否破获了真相。

线索设计

这次线索的设计的时候,每一条线索都包含了决赛题目相关的提示和剧情相关的提示,先给大家解释一下决赛题目相关的线索是怎么设计的,看大家有没有错过一些提示。

"<(?.*)> 可以表示什么呢?":第一条线索是提示决赛有正则类型的bug,由于?这种用法不是特别常用,所以在线索里提前给出提示。

"NPE:No People Emo":这个就是很直接地提示决赛里有NPE类型的问题,当决赛答题的时候,需要多关注一下有没有什么地方可能会是null,触发NPE。

"不是什么都会等你,很多事情都是一次性的":这个是提示可能是有一些“一次性”类型的bug,如果经验比较丰富的话,可能就能意识到这个是指流类型一次性读取的问题。

"我们通常以为admin就是admin":这其实是在提示决赛中admin可能不是admin,那可能是什么呢?可能是ADMIN,或者admin123这种,具体的大家在决赛题目中就会了解到。

"大家都喜欢全局视角,但全局视角也有它的问题":其实是在提醒你全局类型的变量可能有问题,你可能需要把全局变量换成局部类型的变量。

"好的单元测试 => 你看懂了单元测试 = 你看懂了代码":决赛题目中大部分的bug都是在单元测试调用的函数中,如果能聚焦地分析单元测试调用到的函数,就能把大部分的bug解决掉。

"有的bug之所以难找,就是因为它只在运行时出现":这个是在提示有一些bug可能是无法直接看代码就能分析到的,需要结合运行时的调试和诊断,才能发现这些bug。

"别得意忘形了,快收好你的尾巴!":这个是在提示正则匹配读取尾巴的问题。

"贪多嚼不烂":这个是在提示正则匹配的贪婪模式的问题。

"断点调试是万能的吗?不影响应用本身的观测或许才是更优选择":这个是在提示本次决赛的场景是无法正常使用断点调试的,所以可能需要使用应用观测的能力。

剧情设计

下面我们进行一下剧情向的解析。最开始我们收到的是这样的邀请函:

你收到了这封邀请函,但只有一个 YES 选择键,没办法拒绝,只能接受。接受了之后,你就进入了我们的故事线。在我们的故事线中,当前的时间线是这样的:

你是一个程序猿 -> 收到邀请函,进入宇宙基地 -> 进入第一扇门,存在缝隙,暗手会偷走宝贵的东西 -> 进入第二扇门,百万人名涌动,根据关键词找到对应人名 -> 进入第三扇门,重塑人生 -> 进入第四扇门,发现了自己的人生被代码定义。

这部分的剧情内容是通过 WebIDE 的剧情对话给出的,而剧情线索中,会给出过往的时间线:

高考过后,走上程序猿道路 -> 电脑中存在后门,导致公司机密泄漏,被开除 -> 接触到云晓(阿里云云效),了解云端开发 -> 开除后成为数学老师,怀念柯西(Cosy)带来的高效和充满技术感的生活 -> 疫情来临,钉钉助力在线教育 -> 意识觉醒,想用技术创造价值。

在了解了所有剧情之后,就需要回答三个问题,分别是:你来自什么宇宙、你的真实身份是什么、怎么创造生命的意义。

你来自什么宇宙,其实是在问你从哪里来;你的真实身份是什么,其实在问你是谁;怎么创造生命的意义,其实是问你要做什么,你要到哪里去。这是三个经典的人生问题。

那么具体怎么回答这三个问题呢?想要解决这三个问题,需要先将决赛关卡的bug解决完之后,会发现client的会返回一些字符串,这些字符串有三个开头(三个通道),如果根据这三个通道进行筛选,就会发现其实是这三段代码:

通过阅读这三段代码,会发现其实这三段代码正好就是过往时间线里面的三个阶段。

所以从剧情上的话,可以理解到“你”的人生其实早就被代码定义了。

第一个问题:你来自什么宇宙?当然毫无疑问就是在代码宇宙中。另外,从代码的包名也可以看出:

com.code.universe。

第二个问题:你的真实身份是什么呢?从代码中也很明确了,就是programmer(程序猿)。当然,了解完全部剧情之后,更准确的答案应该是一段代码(code)或者说一段程序(program)。

最后一个问题:怎么创造生命的意义?这个其实是稍微有一点难的,不像前两题这么直观,需要看完整个剧情,就会发现剧情里主要强调一点是技术的力量,第三段代码中也明确提到了在经历了人生的大转折之后,向往Technology的力量,学习了DevStudio的知识,Yunxiao的知识,Devops的知识,Cosy的知识,思考生命的价值。所以这一题的答案是技术(Technology),或者DevStudio、Yunxiao、Devops、Cosy都是可以的。

上述就是本次比赛的完整剧情了,最后还有一个附加题:

之前提到了故事线中的时间线,我们再来对比一下现实的时间线:

故事的时间线:

你是一个程序猿 -> 收到邀请函,进入宇宙基地 -> 进入第一扇门,存在缝隙,暗手会偷走宝贵的东西 -> 进入第二扇门,百万人名涌动,根据关键词找到对应人名 -> 进入第三扇门,重塑人生,最终人生(职业)未改变,过程更加丰富 -> 进入第四扇门,发现了自己的人生被代码定义 -> 发现真相,阿里云云效邀请你一起用技术创造生命的价值

现实的时间线:

你是一个程序猿 -> 你收到开赛邀请,参与83行代码大赛 -> 开启第一关,解决会造成漏洞的安全问题 -> 开启第二关,从百万级别类名中,寻找指定前缀的类名 -> 开启第三关,重构代码,最终业务逻辑不变,代码质量更好 -> 开启第四关,解决bug,解锁真相 -> 揭晓结局,阿里云云效邀请你一起用技术创造生命的价值

当我们看完这时间线之后,最后我们可以再回过来看这三个问题:你来自什么宇宙?你的真实身份是什么?

怎么创造生命的价值?这三个问题就留给大家思考了。

结语

2021年第3届83行代码挑战赛已经正式收官。你参加的,到底是一场代码挑战赛,还是一场剧本杀,亦或是?你看清真相了吗?

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里大规模业务混部下的全链路资源隔离技术演进

简介&#xff1a; 本文作为混部实践系列开篇&#xff0c;本篇文章将介绍资源隔离技术在混部中的重要性、其落地挑战及我们的应对思路。 作者&#xff1a;钱君、南异 混部顾名思义&#xff0c;就是将不同类型的业务在同一台机器上混合部署起来&#xff0c;让它们共享机器上的 …

探索PCIe 3.0峰值性能,长江存储推新消费级固态硬盘致态TiPlus5000

2022年4月8日&#xff0c;长江存储推出新款消费级固态硬盘产品致态TiPlus5000。该产品采用基于晶栈 2.0&#xff08;Xtacking 2.0&#xff09;架构的长江存储第三代三维闪存芯片&#xff0c;支持PCIe Gen3x4接口、NVMe 1.3协议&#xff0c;顺序读取速度高达3500 MB/s&#xff0…

“敏捷版”全链路压测

简介&#xff1a; PTS 结合 10 多年来阿里的全链路压测的经验&#xff0c;让阿里云的用户可以如同享用满汉全席般的享用全套标准的全链路压测&#xff0c;也可以根据自己的需求&#xff0c;选择最适合自己的方式。 作者&#xff1a;子矜 客户的故事 全链路压测被誉为大促备战…

linux传输tcp命令,Linux tcpdump命令帮助和示例

Tcpdump是用于网络数据包分析的基本命令行实用工具。它显示网络上的TCP/IP和其他传输的网络数据包&#xff0c;tcpdump 适用于大多数的类Unix系统操作系统(如Linux,BSD等)。类Unix系统的 tcpdump 需要使用libpcap这个捕捉数据的库就像 Windows下的WinPcap。Tcpdump使用libpcap库…

离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

简介&#xff1a; 阿里云智能研究员 林伟 &#xff1a;阿里巴巴从湖到仓的演进给我们带来了湖仓一体的思考&#xff0c;使得湖的灵活性、数据种类丰富与仓的可成长性和企业级管理得到有机融合&#xff0c;这是阿里巴巴最佳实践的宝贵资产&#xff0c;是大数据的新一代架构。 林…

Kubernetes 入门教程

简介&#xff1a;本文是一篇 kubernetes&#xff08;下文用 k8s 代替&#xff09;的入门文章&#xff0c;将会涉及 k8s 的架构、集群搭建、一个 Redis 的例子&#xff0c;以及如何使用 operator-sdk 开发 operator 的教程。在文章过程中&#xff0c;会穿插引出 Pod、Deployment…

linux格式化usb设备,如何在 usb linux下格式化磁盘

慕田峪7331174以格式化 /dev/sda1 分区为例&#xff1a;$ sudo umount /dev/sda1# 必须先卸载该分区# 格式化为 FAT 分区$ sudo mkfs.vfat -F 32 /dev/sda1# -F 参数必须大写&#xff0c;参数有 12&#xff0c;16 和 32&#xff0c;分别对应 FAT12&#xff0c;FAT16&#xff0c…

通过浪潮AIStation实现细粒度高性能的GPU资源共享

作者 | 张荣国 供稿 | 浪潮 GPU&#xff08;Graphics Processing Unit&#xff09;&#xff0c;即图形处理器&#xff0c;是一种由大量核心组成的大规模并行计算架构&#xff0c;专为同时处理多重任务而设计。GPU在大规模并行运算上具有巨大优势&#xff0c;为大数据、人工智能…

阿里云发布云原生加速器,携手生态企业拥抱数字时代

简介&#xff1a; 继去年推出云原生合作伙伴计划之后&#xff0c;阿里云正式发布云原生加速器&#xff0c;携手生态企业拥抱数字时代。 今天&#xff0c;千行百业都在拥抱云计算、拥抱云原生&#xff0c;进行数字化创新升级。作为国内最早实践云原生的企业&#xff0c;阿里巴巴…

网不好怎么办?TLS握手带宽直降80%,BabaSSL是怎么做到的?| 龙蜥技术

简介&#xff1a; 为了保障数据的安全性&#xff0c;客户端会先和服务器进行 TLS 握手&#xff0c;有什么办法可以减少 TLS 握手的带宽消耗呢&#xff1f; 编者按&#xff1a;BabaSSL 是一款开源的密码库产品&#xff0c;在 GitHub 和龙蜥社区开源&#xff0c;并加入到龙蜥社区…

企业级数据湖实践

简介&#xff1a;2021云栖大会云原生企业级数据湖专场&#xff0c;阿里云智能高级解决方案架构师周皓为我们带来《企业级数据湖最佳实践》的分享。 本文主要分享了数据湖的核心能力及几个最佳实践案例。 以下是精彩视频内容整理 一、统一数据存储&#xff0c;多引擎对接&…

浅述 Docker 的容器编排

作者 | 天元浪子来源 | CSDN博客概述作为容器引擎&#xff0c;Docker为容器化的应用程序提供了开放标准&#xff0c;使得开发者可以用管理应用程序的方式来管理基础架构&#xff0c;实现快速交付、测试和部署代码。随着容器的大量使用&#xff0c;又产生了如何协调、调度和管理…

Cloudera CDP 企业数据云测试开通指导

简介&#xff1a; 基于阿里云部署的 Cloudera CDP 企业数据云平台已经进入公测阶段&#xff0c;本文详细介绍了相关试用/试用流程。 基于阿里云部署的 Cloudera CDP 企业数据云平台已经进入公测阶段&#xff0c;如对该平台感兴趣&#xff0c;可以使用下面的流程进行试用。 如需…

重装linux之后gcc等下载不了,Redhat linux下安装gcc

一、安装步骤1、使用whichgcc命令发现gcc没有安装2、拷贝gcc-3.2.2-5.i386.rpm 尝试安装说明在这之前还需要先装binutils、cpp、glibc-devel这三个包3、拷贝binutils-2.13.90.0.18-9.i386.rpmcpp-3.2.2-5.i386.rpmglibc-devel-2.3.2-11.9.i386.rpm 到install目录分别安装rpm -i…

解决 Serverless 落地困难的关键,是给开发者足够的“安全感”

简介&#xff1a;越来越多的云产品都会向全托管、Serverless 形态演进。当云的产品体系 Serverless 化达到一个临界值&#xff0c;通过函数计算这样的 Serverless 计算服务结合其他 Serverless 形态的云服务&#xff0c;能够完整的实现整个应用时&#xff0c;Serverless 就会变…

如何通过任务调度实现百万规则报警

简介&#xff1a;报警是一个公司的日常需求&#xff0c;常见的形态除了满足运维过程中的基础设施监控报警&#xff08;CPU/内存/磁盘等&#xff09;之外&#xff0c;部分公司也会在应用指标&#xff08;如 QPS、RT 等&#xff09;及业务指标&#xff08;如 GMV/日活 等&#xf…

linux无法关机 grub2,Ubuntu关机卡住无法关机如何解决?

电脑无法关机是最让人头疼的事&#xff0c;在Ubuntu系统中&#xff0c;有时会遇到关机卡住的情况&#xff0c;导致关不了机&#xff0c;遇到这种情况千万不要强制关机&#xff0c;下面小编就教你如何解决这个问题。解决方案&#xff1a;在终端用sudo vi打开/boot/grub/grub.cfg…

不用跑项目,组件效果所见即所得,绝了!

作者 | 零一来源 | 前端印象大家好&#xff0c;看到一个好东西&#xff0c;忍不住来分享一下。我们在写需求时都会封装一些组件&#xff0c;然后会为该组件定义一些 props &#xff0c;使其跟业务分离&#xff0c;变得更通用。写完组件后需要验证一下组件的效果&#xff0c;也就…

Kubernetes 已经成为云原生时代的安卓,这就够了吗?

简介&#xff1a;本文将介绍如何在 Kubernetes 上构建新的应用管理平台&#xff0c;提供一层抽象以封装底层逻辑&#xff0c;只呈现用户关心的接口&#xff0c;使用户可以只关注自己的业务逻辑&#xff0c;管理应用更快更安全。 作者&#xff1a;司徒放 导语&#xff1a;云原生…

我们如何实现“业务 100% 云原生化,让阿里中间件全面升级到公共云架构”?

简介&#xff1a;在今年的天猫双 11 中&#xff0c;中间件支撑了 5403 亿的交易量&#xff0c;并全面升级到了公共云架构。 此次的架构升级&#xff0c;是以开源为内核、以公共云为基础、以 OpenAPI 进行解偶扩展&#xff0c;在架构上&#xff0c;对开源、自研、商业化进行统一…