最近接手别人的项目中,遇到了许多坑,故作了些笔记,个人视野,如有不对之处,各位客官予以纠正
前端:
1.
<input type="submit" onclick="dosubmit()" /> 很容易引起二次提交
2.
<a href="#" onclick="dogoherf()" / > 很容易出现,点击链接,直接跳到 当前页面URL# ,而事件却没有来得及发生
3.
<input type="text" disabled /> 使用disabled后此属性将不发送到服务端,而如果使用readonly,依然将发送到服务端
4.公司首页有个图片用了百度统计的URL,目的是为了统计点击量,结果图片被浏览器插件给拦截了,这种内部跳转还是自己开发,哈哈
5.
静止在页面上的js内读取后端的表达式,不利于以后剥离js..选择绑定在dom上
6.
关于前端错误收集的意思:
80%的情况,前端报错由于是客户端错误,并未能及时反应到技术这边..故想到了前端主动收集错误.
写window.error 然后把错ajax提交到服务端,把当前页面内容base64提交到服务端
var allHTML = window.base64.encode(unescape(encodeURIComponent("<html><head>"+headHTML+"</head><body>+"+document.body.innerHTML+"</body></html>")));
后端:
1.多系统间不要尽量不要共享数据库,不然缓存服务不好走,多系统操作DB,缓存应用不起来,要不就加个单独的缓存系统,建议最好是不要共享数据库,走RPC服务。
2.分布式服务间,服务大多为无状态的,所以如果服务中的缓存最好不要用JVM缓存,而应该是外部缓存
3.辅助类都是static的方法,可以把类设置为抽象的,避免其他人员去NEW(spring 中的辅助类基本是abstract 的)
4.logback提供了网络接口,可以把日志发送到服务端,通过ELK收集..