项目上线后,每次遇到系统来回调用的问题,QA,BA往往需要询问开发,而开发先查代码,日志记录关键词,进而到kibana中进行检索,同时由于日志记录量大,还需要各种操作筛选等。最终可能问题的解决只花费了10分钟,但是确定到目标日志却花费了30分钟以上。之后再出现问题,又要进行这样一个流程,费时费力。

冷静看待这样的一个问题发生时的排查流程,会发现,多个环节完全可以规范及自动化,即存在优化空间。

日志系统技术栈

在进行优化前,先了解下,当前我们项目日志方面的技术栈

  • logback 记录
  • logstash 收集
  • kibana查看
阅读全文 »

Git已经成了开发中不可缺少的技能,Git玩的好,也是生产力。对于Git,我之前有一些人知盲区,于是碎片时间读了下《Pro Git, Second Edition》,不愧是GitHub官方推荐的学习资料,确是好书。

这里mark下几个知识点,强化记忆

Git Commit修改

  • 如果只是本地已经commit但未push,message可以直接修改,原理实际上就是 git commit --amend -m
  • 如果是已经push到上游的最后一次提交,可以reset指针到上一次的提交,然后重新commit,但是这时push需要--force
阅读全文 »

公司代码管理一直使用GitLab,在实际的使用中也有一些大大小小的使用技巧,实践,这里记录下。

GitLab-丰富的API

善用这些API,可以做到很多事情,比如利用API+pipeline本身可以建立自动Merge Request。

比如我们利用Jenkins定时跑Changelog提交到仓库靠的也是GitLab API

阅读全文 »

无论是Java,还是JavaScript,在编程中都会遇到并发,并行问题,进而牵扯到线程,进程。这里就梳理下。

关于并发,并行的一个比喻

知乎上看到一个形象的比喻

  • 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
  • 你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。
  • 你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。

OK,可以看出,并发,并行的根本区别,是同时

阅读全文 »

最近在看《Thinking in Java》第四版-Bruce Eckel,其中讲到了这个名词,孤陋寡闻了,于是查了下WIKI,不禁觉得西方为何厉害就是将万事万物背后的行为模式,规律进行归纳总结,结合了下我最近工作的所思所想,觉得这个概念确有用武之地,于是这里MARK下。

概念

承诺升级(英语:Escalation of commitment)是一种行为模式,指称当某个体或团体面对日益增高的负面结果,反而会持续合理化既存的决策、动作和投资的现象,而非改变它们。

这种行为模式的本质在于沉没成本谬误,此谬误被经济学者和行为科学家用来描述,当人们证实先前累积的投资额(沉没成本)都已经浪费掉了,反而会因为觉得过去已经投入而且不能回收的成本很“浪费”,因而做出不理性的选择,比如说当消费者发现电影票不能退费时,很多人会强迫自己看一场根本不想看的电影,因为他们怕浪费了买票的钱。

阅读全文 »
0%