“删库,跑路。。。”,一个段子竟然在我身上发生了!好不可思议!
甲方爸爸做了个网站,需要我部署一下,这么简单的事情,对于多年工作的我好像有点小case了,我欣欣然做了乙方二号,恰好另一个乙方一号(后面称呼为乙1)为其开发另一个项目。
甲方爸爸的网站为啥要重新部署呢,因为前一段时间甲方爸爸用的服务器坏掉了,要换一台新的服务器。
因为这台服务器和坏掉的服务器是一起的,我很自然的就认为甲方爸爸的这台服务器也坏了是重新修好的,然后我就开始我的骚操作。
首先用命令查询了一下服务器上是否存在mysql
rpm -qa | grep mysql
返回结果为空,我就按照步骤一步步的重新去安装mysql,奇葩的事情出现了,获取临时密码,竟然为空,然后就各种百度,各种找问题,各种解决办法的尝试,最终,删掉mysql的所有东西重来!
又是一顿骚操作,mysql成功安装,密码也进行了重置,完美,tomcat也出现了小猫猫,完美,too!这时候差不多已经到了下午临近下班,就不打算继续搞下一步操作了,然后和甲方爸爸说可以进行域名解析了。
甲方爸爸说为什么另一个项目不能运行了?我懵了,另一个项目?不就是我一个网站运行吗?为什么还有另一个项目?
其实在运行tomcat的时候,我也发现了项目,但是我没有多想,以为是没有用的恢复数据就放那了。
好嘛,删库了,下一步是不是准备跑路啊。
甲方爸爸给我了乙1负责人的联系方式,让我去询问该如何解决。没办法我的失误,只能我自己去解决。乙1已经和甲方爸爸合作很长时间了,但是,合作的不太愉快。乙1不想再在甲方爸爸的身上浪费时间人力,数据恢复肯定是不行了,只能重新部署一套最原始的数据库,需要花费一定数量钱财,甲方爸爸不想出,我也不想出,乙1没有这个费用他们也不想干。就这样拖到了第二天,因为是我的失误,这个费用必须的我来负责,我就和乙1的商务经理讨价还价希望能给一个我能承受的价格。不过乙1是个好企业,乙1的负责人是个好领导,最终免去了这部分费用,免费将数据库进行重置部署。再次感谢乙1企业。
总结一下“删库”的教训:
第一点,我过于相信自己,而没有仔细询问甲方爸爸服务器上有没有安装必要的软件
第二点,命令的不熟悉, rpm -qa | grep mysql 后来百度了一下这个命令,发现这个命令在部分服务器上确实查不到mysql,需要用rpm -qa|grep -i mysql。
第三点,没有什么困难是不能解决,删库后不一定非要跑路,可以尝试去沟通解决,也不要对自己的能力产生怀疑,人总会犯错,不要因为一次错误就质疑自我。
这就是一个工作多年的全栈工程师成功完成删库没有跑路的全过程。这个坑我已经掉进去了,希望看过这篇文章的小伙伴,不要和我挤同一个坑了!
接上文,浏览器渲染,为何要尽量避免重绘和重排?
重绘(Repaint):布局没有发生改变,改变那些不会影响元素在网页中的位置的元素样式时,譬如background-color(背景色), border-color(边框色), visibility(可见性),浏览器只会用新的样式将元素重绘一次(这就是重绘,或者说重新构造样式)
重排(Reflow):当DOM变化影响了元素的几何属性(宽、高改变等等),浏览器此时需要重新计算元素几何属性,并且页面中其他元素的几何属性可能会受影响这样渲染树就发生了改变,也就是重新构造RenderTree渲染树
重绘和重拍会影响到浏览器的性能,给用户的感觉就是网页访问慢,或者网页会卡顿,不流畅,从而使网页访问量下降。
如何通过动画进行浏览器渲染性能的优化?
使用css动画时,动画过程交由Composite线程处理,释放主线程。事实上,在执行纯css3动画时,浏览器会将响应的元素提升到一个单独的合成层,不会影响到页面上的其他元素。想要实现高性能的动画,尽量使用css动画或者使用js操作css3属性的方式。