对日常工作和解决错误的一些思考

  • 做事要稳:敲代码和做裁缝很像,其实都是细活,我看公司的大佬们一个比一个沉稳,所以别慌,认认真真的做好手头的工作,可以多检查几次,保证执行过程不要出现错误,不要一昧追求效率而出现了错误,这样其实是更浪费时间的,所以做事求稳
  • 遇事别慌:即使做事再稳,肯定也会出现错误,但是遇到事情别慌张,既然错误已经出现了,那就去寻找解决错误的方法就可以了,举个例子吧,我昨天晚上访问了一个url,该url作用是解析数据(本次解析780多万个文件),今天早上去看的时候我以为数据已经解析完成了,所以我直接把tomcat停了,然后发现数据库中只解析了430多万个文件,那就出现问题了,其实这也是我做事不稳导致的,因为我以为早上数据肯定解析完成了,所以没去浏览器上查看是否还在访问接口(访问的时候网页刷新按钮位置是X),如果看了那肯定就不会出现这个问题了,不过我遇到这种事也没有慌,因为我知道我运行url的时候已经是晚上9点多了,而数据库中有相应的创建时间,在和组长商量之后,我在Navicat中使用delete语句删除了9点之后生成的所有数据,解决问题之后我再把数据跑一次就是了,估计这个数据需要跑一天一夜吧!
  • 多次重复操作寻找简单方式解决:来举一个我遇到的事情吧,这两天在linux上解压文件的时候,发现文件夹下面几乎都有txt文件,但是我需要的只有html文件,所以我需要删除这个txt文件,但是这样的文件夹我有100个,每一个里面都有这种txt文件,我最开始使用的方法就是进入每一个文件里面使用rm命令直接删除,后来看到了组长的做法,发现我的做法太菜了,发现我对linux真的只会个皮毛,哈哈,组长是找到所有的txt文件,直接删除了全部所有文件夹下面的txt文件,比我的不知道要快多少倍;还有一次组长让我看看某文件在数据库中生成的数据和互联网上相应顺序的图片是否相同,我是直接到该文件中一个一个进行标识,但是组长使用的是在数据库中找到该文件中的所有图片,然后到互联网上直接搜索该图片,然后对比一下就是了,这个方法不知道比我的方法简单多少倍,但是有些时候简单方法也可能导致问题变得复杂方法,有些复杂方法不一定就不简单,所以具体问题具体分析
  • 学习别人的优点:我现在所在公司的组长以及我们组的高级工程师都是非常有经验的,所以我会从日常的工作、项目讲解、思路分析、代码评审中学习他们的优点,尽可能让自己的事情做的更好,让自己的代码写的更棒;再举几个例子吧,今天需要根据数据库中的链接去互联网上下载1000多万张图片,开始探讨的方案是把所有图片放在一个List集合中,然后全是下载,但是后来组长觉得一个List集合装不在,担心会出现错误,所以后来准备使用分页方式下载图片,并且还使用多线程方式来下载,其中pageSize用10000,但是后来发现这种方法不好,毕竟每张图片少则60k,多的有400k,需要下载1000多万张图片,假设4张图片1MB,那1000多万张图片需要使用2451G的空间,然后通过df -h发现磁盘中只有960G的容量了,所以不能一次下载所有图片,不然磁盘会撑爆的,然后我和组长就开始想解决办法,我的解决办法是:每次下载固定pageSize的图片,比如一次下载10000万张图片,那么会用去2G多的空间,那空间肯定没有问题,我认为可以通过pageSize算出totalPage,然后算出图片具体页数,但是当前页数currentPage是一个问题,我觉得可以使用一个静态变量来当做currentPage,每运行一次接口就对currentPage加1,其实使用这种方式完全可以解决该问题,但是有一个缺点是只要程序一旦运行,将不能停止,一旦因为某些原因导致程序停止了,那我就不知道下载到哪个位置了,组长听了我的方案,没有说话,然后在图片下载地址表中添加了一个status字段,用来记录图片的下载状态,然后设置所有图片下载状态为false,当图片下载完成之后就让图片下载状态变成true,在获取数据的时候,每次获取图片下载状态是false的数据,这样每次只需要让currentPage等于1就可以了,每次获取到的数据肯定都是没有下载的数据,即使中途导致程序停止了,也不会有问题,毕竟图片下载状态在那里记录着呢,细细想来,还是组长这个方法好。然后里面还有一个问题是如何设置图片下载状态为false,现在数据库中已经有1000多万的数据了,如果直接在Navicat中使用update语句去更新,那会导致出现问题,因为符合条件的数据太多了,这已经超出了mysql的限制,所以报错了,但是我估计可以使用https://www.jianshu.com/p/45967d3408d4中的方法解决该问题;而组长建议使用代码去慢慢执行update()方法,一个一个去更新,并且其中使用线程池加快效率,其中一个线程负责更新10000张图片的下载状态,虽然慢一点,但是肯定不会出现问题,因此还是组长的方法比较好
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值