OneClick PingGu
Thinking & Report
一键评估的感想
以及分析一下技术上的不足
节约
时间
自动
便捷
稳定
运用
爬虫
理解
运维
记录
总结
有人说,
人生太短,教学评估的时间太长。
想要可以有个软件帮我,
那便是极好的,
于是,便有了一键评估。
报
表
在短短2天半的时间中,一键教学评估的访问量达到了3068次(可能我本人在调试的过程中就贡献了上百次吧。)
累计帮助了937名同学进行了一键评估
因为上线时间较晚,而且记录的是页面PV。所以同3K次流量,900+人次评估的数值还是很让人满意的。
嗯,重点不是楼上的数据,重点是为大家提供服务的只是一个可怜的平板。
本来,已经找学长借了一个服务器,准备找个域名,配置好再发布,没想到刚借完,调试页面就被流传出去了。
学校的IP地址一关机就会有变化,换上借来的服务器,大家转发的页面就没法访问了。于是,只好让可怜的平板孤军奋战了。
今天早上,3天没有关机的平板,风扇突然嗡嗡作响(主动式散热),然后他就不转了。。不转了。。。不转了。。。
伤心中,T^T,当然啦风扇是只是辅助散热方式,所以并不影响使用(毕竟还能用她打Dota2),但是,安全起见,还是把服务停掉了。
没用上的小伙伴只能说明年再见啦。。。
Talking
偶尔看看后台的留言,心里真的很开心,尤其是那句“信工真伟大”。
以及,学长们对我的肯定与帮助,更是让我兴奋了好长时间。
记得去年,某次比赛前,一位学长指着某位同学说,你要扛起信工的大旗。突然,觉得信工是真的是一个薪火相传的院系。
我原来经常吐槽,我没从学校拿到过任何荣誉,也没拿到过一分钱(除了有一次给老师干活,发了40块劳务费),卡里每月的60块,还是政府给我的,本来打算安安静静的考研等毕业。
但是,这次练手的项目,还有学长的话语,确实改变了我。
无论是原来学长的一键评估,还是我的,都是个人行为的公益项目,本来有无皆可,但是总觉得大学四年,应该在这个学校留下些什么,所以。。
所以。。
所以你妹啊,不要吐槽我的审美啊!你写个好看美观又大方的网站试试啊,很累的啊,能用不就行了吗!明年还得接着买域名租服务器啊,还得解决VPN和IP地址的问题啊,而且学校又要换教务系统网页啊,今年的爬虫全白写啦,虽然只是玩票性质的,但是学校这是专业坑爹呐。。
之前大段的陈述就是要这个十万个冷笑话的效果啊,我之前是说相声的啊,这叫铺陈垫稳抖包袱啊,不要在意这些细节啊,理科生也可以文艺一些啊。。。此处应有省略号
Thinking
兴奋之后呢,该做一下技术上的总结和反思了
爬虫
首先说一说爬虫。
这个网站的框架就是Django+爬虫,Django只是用来搭个网页,让大家方面访问用的,并没有什么,关键是爬虫部分。
我之前接触的只是Web开发,因为已经比较熟悉前端了,所以觉得爬虫无非是抓个页面,发个包。
可是真真正正写代码的时候就发现这个工作没想象中那么简单了,这里面的学问也很大。
首先,POST过去的登录请求服务器都收不到,和一位专门做爬虫的同学交流了之后,发现,首先我没有模拟UA(咱们学校没有反爬虫,所以这个不是重点),然后,找错了网页的URL,看到他发给我的抓包,我才意识到,模拟POST包不能靠分析网页代码,而是应该靠抓包。如果之前稍微找一找文档看一下,或许这个最基础的问题就不会花费我两天的时间了。
在使用进行页面分析的时候,因为只会几个函数,所以采用了一堆笨办法,用了很长时间才写出来。后来同学教我用了一个NB的方法,才发现原来可以这么简单。在感叹专业人员就是专业的同时,不得不说,我提前先搜搜文档多好。
从这个问题中,我又温习到了初中时机器人老师反复对我说“先看文档”的重要性了。
嗯,先看凡事说明书,真的是一个特别重要的观念。
运维
然后在说一说运维方面的事情,也就我在目前学习几块大内容之一——搞服务器了。
说实话,平常无论是看书还是看还视频,都觉得运维这个行业虽然难,但是我还是能轻轻松松胜任的。但是这次小规模的真刀实枪的服务上线,对我的冲击真的是太大了。
首先来说,对于如何产品如何上线,我脑子里虽然模模糊糊有个大概的思路,但是始终没有具体化过。本来脑子里有潜意识,应该先把所有东西配置好,才能把网址发出去进行测试,然后再公布出去。但是因为做完了太兴奋,或者说是犯懒, 就先发出去了,于是乎,我可怜的平板就替我背黑锅了。
然后,因为没有做前端页面没有做表单验证,无论有没有填学号密码,只要一点评估,后台爬虫就会把评估流程跑一编。在写程序的时候觉得加不加表单验证都一样,结果给自己挖了大坑。还好JS只改一下模板就可以了,并不需要重启服务器,索性还是很方便的增加了这个功能。
但是,最为坑爹问题有两个,第一,就是页面PV数,我没加锁,计数乱套了。然后就是后台服务器很多调试用的函数都没有注释掉,非常影响后台查看。但是已因为大家一直在访问,没法关掉服务改代码,所以只能等后来访问量少了之后才改过来。
而且,宿舍晚上断电,我的平板支撑不了一晚上,19v的电压,充电宝根本没法用。如何才能不关机,IP地址不变,才是难点,索性学校对Wifi的IP貌似会保留一段时间(但是不知道是什么机制),所以并没有出太大问题。
早上尝试用路由器伪造平板的MAC,把IP地址迁过去,做端口映射把服务器迁移到我笔记本上(6700hq,杠杠的,给力),失败,至今不知道其机制(细节等研究明白了,以后写个博客再说)。
这个些事情真的冲击了我。首先,还好是个人项目,如果是在公司,那可就是要出大问题了。然后,作为一个计算机专业的人,每天的日常就是研究专业课,“锁”和“DHCP”的机制,作为“操作系统”和“网络原理”的基本内容,应该是轻车熟路,但是脑子里竟然只有个大概其。真的是恐怖。而且在写程序的时候,本应该把这些查明白再说,但是因为犯懒,自己变成了拆弹兵。当时觉得学的很好,可是真真正正的用起来,发现就一团浆糊了,真是“纸上得来终觉浅,绝知此事要躬行”啊。
嗯,唠唠叨叨的写了一大堆,毕竟是第一回上线这么大的网站嘛(对我来说已经很大了),发现还有很多东西要学,也有很多东西要做。对别人来说可能是一件无所谓的事情,对于我来说,真的学到了不东西。
前几个月,初中的班主任建议我做个自己的公众号,写些东西;alex老师在视频中建议写个cnblogs,做技术总结。一直犯懒,懒得弄,借这个机会把公众号和cnblogs都弄了吧。也为给为期一周的编程、上线、运维的生活画上圆满的句号。
爬虫源码我会发到cnblogs上做个注释。欢迎同学们来交流~
Phython R Go
运维量化
冰原狼de夏天
图片 / 网络
领取专属 10元无门槛券
私享最新 技术干货