我的 AdventureX2025 之旅:一次充满挑战、反思与成长的黑客松经历
文章由AI总结而成,部分细节可能省略。但文章内容是我真实感受。
虽没有完全达到预期,但\frac{4}{5}的预期还是可以达到的,体验还是相当不错的QwQ
队友都是非常不错的(这AI总结不太行啊⬆️),只是我们使用的技术栈和理念有些不太贴合,但是交流都是非常和谐的。
这是一篇关于我参加 Adventure X (AdvX) 比赛的经历总结。文章或许混乱,但感受是真切的。我希望通过这篇文字,记录下这段独一无二的旅程。
缘起:一扇通往新世界的大门
与 ADV X 的相遇纯属偶然。我在朋友“落雪无痕”的社交媒体上看到了他为报名而写的优先审核文章。点进去看了活动的官方公告和描述后,我立刻被吸引了。
在此之前,我几乎不参加任何比赛,大部分时间都沉浸在自己的世界里——写代码、折腾服务器。这些事是我的热爱,但似乎与主流的考试评价体系格格不入。ADV X 的出现,完美契合了我对技术实践和创造的幻想,更重要的是,它的主办方是一群充满活力的大学生,这让我倍感亲切。
5月22日知道,23日我便报了名。为了获得优先审核资格,我熬夜赶出了一篇文章,介绍自己过去的经历。令我惊喜的是,这篇文章像一块磁石,在短短一个月内为我吸引了近百位新朋友。这对我来说是前所未有的体验,从小到大习惯了独自编程的我,第一次真切地感受到“原来同龄人里有这么多伙伴”。我也因此结识了像 RYAN.ETH(浙江大学图灵班的大佬)这样的优秀人物,并发现原来我早已听说过的“支教联盟”、“SR思睿”等圈子,此刻都汇聚于此。AdvX 像一个集结号,把散落在各处的同好们都召唤了出来。
赛程:在理想与现实中颠簸
经过一个月的煎熬等待,我终于收到了通过申请的邮件。在认真备考完学考、结束了暑期托管后,我满怀期待地踏上了前往杭州的旅程。
第一天:集结与迷茫
抵达杭州东站,辗转到达会场。我和队友们很快集结完毕。我们的团队配置堪称“软硬兼备”,看起来相当不错。在比赛正式开始前,我们参观了合作方的展位,看到了腾讯云、华为云,甚至还有 Vision Pro,各式各样的前沿技术让人眼花缭乱。
然而,当晚开幕式公布了所有赛道后,我们陷入了困境。我为比赛准备了二三十个项目想法,却发现很难与官方给出的主题完美契合,许多项目也不适合在短短五天内完成。团队在反复的头脑风暴中,直到第二天中午,才最终定下了一个方向——一个基于 AI 的、带有“软性 PUA”心理学元素的 To-Do List 应用。
开发中的挑战与我的“B计划”
说实话,我并不喜欢这个项目。在我看来,它过于“大而空”,偏向心理学,对于我们这群技术背景的人来说,很难做出深度和实际落地的价值。这更像是一个为了参加黑客松而做的项目。
我的队友告诉我,这类面向社会的黑客松更看重创意,而非纯粹的技术工具。但最终结果证明,工具类项目同样能获得极高的奖项,甚至有团队独揽六奖。而我们,颗粒无收。由于我缺乏黑客松经验,当时没能提出更有力的反对意见,这成了一大遗憾。
团队协作也出现了问题。我的队友时常“消失”,时间安排非常随性,导致前两天效率极低。项目的提出者也未能给出一个清晰、完整的最终产品形态,我常常写着写着就不知道下一步该做什么了。第二天上午,当我写完一部分代码后,发现队友们还没到场,感觉非常无助。
在等待队友的间隙,我利用闲暇时间,自己动手开了第二个项目:一个 AI 漫画检索工具。它的逻辑是:
用视觉大模型(AI 识图)将漫画图片内容转换成文字描述。
用总结模型提取每一张图片的核心要素。
用 Embedding 模型将关键词嵌入到向量数据库中。
用户通过输入关键词,进行向量搜索,从而找到相似场景的漫画。
这个项目的后台、管理、处理流程以及三个 AI 模型调用,我只花了十几个小时就全部跑通了。但遗憾的是,由于找不到合适的、可用于公开演示的批量漫画素材,加上主项目在最后一天疯狂赶工,这个倾注了我更多热情的项目最终未能提交。
路演前的惊魂时刻
最后一天是路演。早上7点多我醒来,发现帐篷里只有我一个人,队友们不知所踪,电话也打不通。那一刻,我真的懵了。直到8点,一位队友才睡眼惺忪地回来。而9点就要开始的路演,在8点55分时,我们还有两位队友在酒店睡觉,电话好不容易才打通。
虽然路演并非强制,但我很难理解大家为何如此不慌不忙。在我的催促下,我们总算在最后一刻赶到展位。但新的麻烦又来了——项目无法在现场环境中部署成功,前一天说好要配置的 HTTPS 也没有弄。我当场化身救火队员,紧急修复了半个小时,总算让演示顺利跑了起来。
尽管过程一波三折,但路演的效果比我预想的好得多,吸引了很多人前来交流,我们讲得口干舌燥。这算是混乱中的一丝慰藉。
技术协作的碎碎念:Cookie 与 Token 之争
在这次协作中,我们也遇到了一些技术栈上的小摩擦。负责后端的队友是学网络安全的,代码风格非常严谨,这本身是好事,但也导致初期测试时因各种权限问题浪费了大量时间。
他还偏爱使用 Cookie 来存储用户状态。虽然 Cookie 也能完成任务,但它确实是相对“老派”的技术了。
关于 Cookie 和 Token
在这里,我想补充一下为什么现在 Web 开发更推崇 Token(尤其是 JWT, JSON Web Token):
Cookie: 由服务器生成,发送给浏览器并存储在本地。浏览器在后续每次请求时都会自动带上这个 Cookie。它的缺点是:
有状态: 服务器需要存储 Session 信息来验证 Cookie,增加了服务器的存储和查询开销,不利于分布式部署和扩展。
CSRF 风险: 容易受到跨站请求伪造(CSRF)攻击。
跨域限制: Cookie 存在跨域共享的问题,在前后端分离、多服务调用的架构下很不方便。
Token: 服务器验证用户身份后,生成一个加密的字符串(Token)返回给客户端。客户端需要手动将 Token 存储起来(例如在 localStorage 中),并在每次请求时通过请求头(Authorization Header)发送给服务器。它的优点是:
无状态: 服务器无需存储任何 Session 信息,只需验证 Token 的合法性即可。这使得服务器可以轻松地水平扩展。
更安全: 不会自动发送,可以有效避免 CSRF 攻击。
跨域友好: 只要在请求头中携带,就不会有跨域问题,非常适合现代前后端分离和微服务架构。
简单来说,Token 把验证状态从服务器端解放出来,交给了客户端自己保管,让后端服务变得更轻、更灵活、更安全。
虽然最终项目跑通了,但这些技术选型上的小分歧,加上场馆内局域网隔离导致协作工具出问题,都让这次的编码体验称不上“酣畅淋漓”。
赛场之外:面基、交流与对 ADV X 的思考
这次比赛最大的收获之一,是和许多网上的朋友成功“面基”,比如 colopig、老水开学、落雪无痕、江莹等。和他们交流后我发现,我们才是同一类人——真正热爱技术、渴望创造项目的人。这与我队友那种偏向“体验”的心态有所不同。
我也羡慕他们的团队,像落雪无痕的“ETA Panel”项目,思睿团队的知识碎片管理工具,都在第一天就有了明确的设计图和海报。这种清晰的目标和高效的执行力,才是我所向往的黑客松节奏。
此外,我还和几位外国参赛者进行了交流。我的口语在紧张之下变得磕磕绊绊,但他们的友好和乐于交流的态度让我印象深刻。我也听到了他们最常抱怨的一句话:“怎么又下载不下来了?”而他们的中国队友说得最多的词则是“VPN”。这无疑是他们在这片土地上最真实的体验。
最后,想聊聊对 AdvX 主办方的看法。线下体验堪称完美:引导明确、伙食丰盛(比学校盒饭好太多)、场馆舒适。但线上的公关处理却是一场灾难,赛前、赛中、赛后都出现了不小的风波。我甚至觉得,如果他们在比赛期间保持沉默,口碑可能都会比现在好。
总结:告别与展望
总的来说,AdvX 是一次无比丰富的经历。它让我收获了珍贵的人脉和友谊,也让我对自己有了更深的认识。我曾以为自己会是一个“独行侠”式的开发者,但这次比赛让我明白了团队与朋友的重要性。有伙伴一起学习、一起创造,不仅能提升效率,更能减少内耗,让过程充满乐趣。
当然,比赛的失利和过程中的不愉快也是真实存在的。但这些都已成为过去。接下来的一年,我的主线任务将是备战高考。
以上,便是一个准高三生在一次黑客松后的粗鄙之见。如果你有任何不同的看法或想法,欢迎交流。