来自 国内 2021-08-23 00:57 的文章

陈振翊 北大最受学生欢迎之一的的校内APP是如何诞生的


姜贤昱 社会学系2018级本科生钟兴鸿 化学与分子工程学院2017级本科生“完蛋了!”肖元安心里一紧,这下子事情弄大了。2019年10月17日下午6点,当PKU Helper(下文简称Helper)

姜贤昱 社会学系2018级本科生

钟兴鸿 化学与分子工程学院2017级本科生

“完蛋了!”肖元安心里一紧,这下子事情弄大了。

2019年10月17日下午6点,当PKU Helper(下文简称Helper)的开发团队在进行服务器漏洞扫描时,不小心“踩到”初代开发者在代码中遗留下来的“雷区”,将多年以前的团队招新公告给所有Helper用户反复发送了二十多次。肖元安发现问题的严重性之后,立刻打开树洞,打上“Helper官方”的蓝色高亮头衔,发送了一条致歉,以尽可能减少突如其来的招新公告给同学们带来的混乱。

△肖元安发布的致歉信息

诞生

时间退回到2014年,当时学校的各网站还没有完全适配移动设备,当师生们在手机上使用这些网站时,需要在密密麻麻的文字中寻找自己需要的信息。法学院2012级本科生熊典从中获得启发——如果能有一款面向校内师生,集合信息查询、生活服务等功能的应用软件就好了。于是,他动手编写了一款可以在手机上实现网关连接、课表查询等常用功能的手机应用——PKU Helper。

最初的Helper只有iOS版,且其前端、后端、美工全部由熊典一个人负责。“一个软件或网页需要前端和后端两者协同完成任务。通俗地讲,前端就是用户们‘看得见’的部分,如客户端、网页界面等;后端则是用户们看不到的,统一管理数据并给前端提供服务的地方。”信息科学技术学院2016级本科生,现Helper开发团队成员鲁云龙解释道。

iOS版Helper问世一年后,信息科学技术学院2012级本科生陈章参与到Android版Helper的开发中,Helper的开发模式也开始从“一人独揽”逐渐转向团队合作。2016年,校方将原本是非官方应用的Helper收编,并将Helper的数据迁入计算中心的服务器上。自此,Helper的开发团队终于从“地下组织”转变为“正式团队”。

尽管熊典已从北大毕业,在开发团队成员的更替与传承下,Helper一直得以延续。目前,手机端Helper的日均活跃用户保持在5000至6000人次左右。

树洞

“我每天睡觉前都会习惯性地刷一下树洞,看看今天有没有什么新的热点,或者是一些有趣的故事。”今年大二的王潇弘是“P大树洞”(下文简称“树洞”)的重度用户。或许熊典自己也没有想到,树洞——这个内置在Helper中、功能还有些简陋的匿名社交平台,竟然会发展成为Helper的核心功能之一,影响力不亚于未名BBS的校内网络社区。“树洞里有情感咨询、学术交流,也有日常吐槽、二手交易、实用信息汇总……总之,你无法用一句话概括树洞的形态。”王潇弘说。

△一条汇总了校内外美食的树洞(注:“洞主”指某条树洞的发布者)

自从Helper被纳入官方系统后,北京大学青年研究中心(下文简称“青研”)开始与Helper开发团队共同负责树洞的监管工作。

由于Helper具有官方属性,“树洞是否真正匿名”一直是学生之间热议的话题。不少“洞友”认为树洞只是名义上匿名,甚至还有这么一则校园传说——树洞的后台存在一个专门用来查询发帖人学号和姓名的界面,供核心开发人员和青研老师使用。

“青研的老师的确有直接删帖的权限;但是,无论是谁都无法直接查询到发帖人的真实身份,最核心的开发者也做不到在一个‘特殊窗口’上看到每个发帖人的学号。”物理学院2015级本科生林海芃说。作为第二代Helper开发成员,他曾负责树洞密钥的保管。

树洞的信息由两个部分组成:已加密的数据库,以及用于解密的密钥。树洞的编号和内容可以从数据库中读取,但发贴人的学号经过加密处理,破解难度很高。出于保护学生安全和隐私的考量,数据库和密钥严格分开保管,即使是开发者,在进入Helper团队时也只能选择拥有其中一个。也就是说,解密的过程需要多方协作,任何一个人都不可能擅自获得发帖人的实名信息。

只有在少数极端情况下,开发者才会将实名信息提供给校方。当心理中心负责实时监督树洞的管理员发现有存在严重问题的帖子时,会在第一时间联系青研,请求获得发帖人的实名信息,再由青研紧急联系核心开发者发出正式请求。因此,每位核心开发者都需要保证手机24小时开机并随时准备应对突发状况,即便是凌晨两三点也不例外。

})();