项目遇到的问题
1、url最后加了一个/
不加”/“,系统会自动进行301的重定向,把url变成末尾加”/“的地址。而request.getParameter(“”)仅有一次生命周期,经过两次跳转后,前系统传的值失效了。此外,如直接发送 URL:http://msdn.microsoft.com/ie/ 比发送http://msdn.microsoft.com/ie速度将会更快,当然这种速度是感觉不到的,但优化应该“尽可能”,减少浪费的时间。
2、开发app遇到过什么问题
有一个第一次登陆时会黑屏的bug,因为黑屏的时候是后台使用webview登陆上课啦界面隐藏的原因,原因是路由转跳时间太短啦,原来是100ms,改成6s就不会导致黑屏,为什么要后台登陆是因为上课啦得学校的统一登陆平台的token,但是那个token是一小时后失效,所以每次登陆后台请求才能实现免登。
都是一些小显示错误bug修复,比如空安全导致加载失败之类的,加一个判断数据是否为空就行。
3、各个界面是怎么实现免登的
通过oauth2协议获得学校cas登陆的token,然后登陆成功之后再用oauth服务以第三方的形式请求助手服务的token,然后实现统一免登的是发现页很多app,先请求接口获得所有app的实现免登的方式,然后要登陆的时候代码判断用
- 我们这边有自己官网的界面,是在url后面加上?auth+token的形式实现免登
- 老版本的lemon是从接口获得workflow参数然后重定向到一个地址,再请求这个地址加上token才可以实现免登。
- 都是有免登协议的,访问的接口帮我们中间封装了一层就会很方便
4、数据库是怎么设计的,索引怎么加,怎么排查哪边慢
数据库开启慢查询日志,可以看到哪句数据库执行慢,使用explain来看这句查询语句是否使用了索引,看type和extra里面的数据
5、数据库是怎么benchmark的
业务是告诉你学号然后查一个excel表告诉你这个学号的姓名,从老的数据库取6w条数据来,老数据库很慢是因为完全不加索引,查一个数据是2/n的时间复杂度,然后用写好的程序把这6w条数据重新转化成二维string然后再插入到新数据库,然后随机查询100条数据看是否会查询失败和查询到时间。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!