R·ex / Zeng


音游狗、安全狗、攻城狮、业余设计师、段子手、苦学日语的少年。

纸飞机2015新生聚会技术方面总结

注意:本文发布于 3152 天前,文章中的一些内容可能已经过时。

聚餐完之后大家都十分兴奋,兴奋完了之后,好好总结一下这次晚会上的技术性成果和失误。

今天晚会上的技术性问题有:飞机墙、抽奖、电子节目单。下面分别从每一点来说明。

飞机墙

飞机墙延续了新飞机墙一贯的风格——六格文字+3D星空背景+卡片翻转特效。此次飞机墙没有任何创新点,但是将原来的随机选择方块替换内容换成了按照顺时针顺序选择方块替换内容,看起来更正常了一些。

飞机墙最大的技术性失误是忽略了新生们对于刷墙的热情。在测试的时候没有问题,但是对于前十分钟1000多条的速度还是没有事先预料到。首先,服务器的网络性能并不好,与SAE进行数据交换的时候每一次都会好久,中间还要经过一层墙,速度必然跟不上(目前是每3秒一次轮询)。此外,服务器用的是apache,配置文件中的连接数只有256,因此如果只要有一小部分人开了飞机墙,很容易将连接数占满。此外,由于飞机墙默认的信息更新时间为2s,因此曾经到达过的最大延时为半小时,接近1000条信息呆在缓存中等待页面调取。

抽奖系统

灵感来源于SegmentFault的D-Day南京站,使用Three.js将用户头像排列成三个3D效果:球、螺旋、展览。抽奖界面默认是与屏幕所在平面垂直,这样切换页面的时候,可以直接让画面直接转90度,而不用其它的什么特效。不得不说这个效果还是惊艳到了好多人的。其实坐标计算起来也挺简单,建立一个三维坐标系然后随便搞几个三角函数即可。

但是有一个问题就是无法显示昵称,这个是后来临时在下面加上去的,因此看上去很简陋。还有,之前说对于未绑定纸飞机ID的微信号可以直接上墙的事情,墙做到了,但是抽奖系统很纠结,因为头像大小在一开始并没有做限制,这些也是晚会现场临时加上去的。还有我们还是忽略了新生的热情,今年上墙人数接近500人,将如此多的头像放到同一个3D界面会直接让电脑卡住。最终的解决方案是:每次直接从飞机墙的数据中抽取最多100个成员,显示在屏幕上并抽奖,事实证明还是很流畅的。

电子节目单

灵机一动想到的高大上的页面效果。技术方面就不多说了,因为前端不是我写的。

不过非常遗憾的一点是,经过调试已经完全没有任何技术问题了,但是晚会现场没有找人负责节目数据的更新,导致手机上的节目单页面没有更新的功能,这是我的锅。

总之,在别人看起来成功的同时,一定要注意到自己目前存在的问题。

煽情的话我就不多说了,感谢所有的工作组和演员小伙伴们万分努力配合!正是因为有了你们,纸飞机才能以一个很高大上的形象站在别人面前。我相信,完成纸飞机的“宿命”是迟早的事情。

不过这次以一个“局内人”的眼光来看,有的失误还是很严重的。具体如何严重,等待工作组的报告吧。

Disqus 加载中……如未能加载,请将 disqus.com 和 disquscdn.com 加入白名单。

这是我们共同度过的

第 3072 天