上一篇咱讲了 CountDownLatch 可以解决多个线程同步的问题,相比于 join 来说它的应用范围更广,不仅可以应用在线程上,还可以应用在线程池上.然而 CountDownLatch 却是一次性的计数器,以王者农药来说,咱们不可能一场团战就决定比赛的输赢,所以在某些场景下,咱们是需要重复使用某个等待功能的,这就是我们今天要介绍的另一个主角--CyclicBarrier. CyclicBarrier CyclicBarrier 翻译为中文是循环(Cyclic)栅栏(Barrier)的意思,…
Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. EventBus对于Android开发老司机来说肯定不会陌生,它是一个基于观察者模式的事件发布/订阅框架,开发者可以通过极少的代码去实现多个模块之间的通信,而不需要以层层传递接口的形式去单独构建通信桥梁.从而降低因多重回调导致的模块间强耦合,同时避免产生大量内部类.它拥有使用方便,性能高,接入成本低和支持多线程的优点,实乃模块解耦.…
文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! *** vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了.本文介绍了学习vim的方法以及一些vim常用的插件让大家对vim的功能有一个初步的认识. vim与神的编辑器emacs的争论从来没有停止过.其实两种编辑器的设计哲学完全不同,风格迥异.vim的特点是Composability,Emacs的特点是Extensibility.vim使用键序列输入,Emacs则经常使用组合键…
一提起程序员,首先想到的一定是"码农",对,我们是高产量的优质"码农",我们拥有超跃常人的逻辑思维以及不走寻常路的分析.判别能力,当然,我们也有良好的编码规范,毕竟是靠代码来养家糊口,最怕半路接到一个项目或是项目增加新功能,发现之前写的注释非常不全,代码也非常的不整洁,有些地方写的''窝七八烂的,看着很不舒服. 代码编码规范的都会起到什么作用? 1.好的编码规范,可以减少一个软件的维护成本,并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护: 2…
[前言] 自以为是zabbix的老司机了,没有想到今天翻车了! 一般人出错了都可以找到一个借口.我就不一样啦,我感觉我可以找两个1): 针对官方文档 给出的操作步骤没有经过深入的思考 2): 今天没有喝咖啡精力集中度有问题. 明显是第二点的锅啦! [谈一谈zabbix的自动发现] 如果说哪个zabbix的功能是我最喜欢的,我想一定是zabbix的LLD(Low-level discovery)啦.我先来说一下它能解决什么问题,比如说你的主机的 物理配置不统一有的主机3块磁盘,有的才两块,有一个比…
# 起因 有个朋友叫我帮忙写个爬虫,爬取javbus5上面所有的详情页链接,也就是所有的https://www.javbus5.com/SRS-055这种链接, 我一看,嘿呀,这是司机的活儿啊,我绝对不能辱没我老司机的名声(被败坏了可不好),于是开始着手写了 # 构思 爬虫调度启动程序crawler.py 页面下载程序downloader.py 页面解析程序pageparser.py 数据库入库与去重管理程序controler.py 爬取入口为第一页,当页面中存在下一页的超链接继续往下爬,这是个…
这几天,新入职的小MM提议“老司机”们把自己这些年的软件测试工作经验跟大家分享一下,让新同学学习学习,利用空闲时间我整理了一些,可能不全,勉强看看,这也算是对自己这些年的工作总结. 测试阶段划分 1.单个模块功能测试时间相对较长,但每一个项目都应该有专门的集成测试阶段,并且应该不止进行一轮:每一轮集成测试,应该都有自己的目的,比如第一轮集成测试,是根据集成测试要点验证整体功能情况:第二轮集成测试是回归测试:第三轮集成测试是交叉测试.每个项目应进行几轮集成测试,根据项目实际情况而定,而决定的因素多…
现在很多人都会开车,想我当初学车的时候一会就可以上手了,开车简单,但是很多细节方面的就是得慢慢学习的过程,比如说汽车的AC键,我相信很多车主,包括老司机都不知道到底有哪些作用,只知道开空调,其实它的用处远远不止在这,今天就来给大家说说汽车AC键. 首先什么是A/C? A/C是aircondition的缩写,可以理解为空气控制或空气调节,它在汽车上的作用可以理解为是空调制冷开关.A/C灯亮代表空调压缩机启动,发动机负荷增加,油耗增加. 自动空调和手动空调的区别 现在的汽车空调分为手动空调和自动空调…
编者注: 本文根据7月19日DockOne社群分享内容整理而成,分享嘉宾蒋运龙,有容云高级咨询顾问,一个IT的老兵,十年来混迹于存储.三网融合.多屏互动.智能穿戴.第三方支付.Docker等行业:经历过测试.运维.实施各岗位全方位的摧残,依然活跃在技术的风头浪尖上.之前分享过<老司机带路 | 使用Docker实现丝般顺滑的持续集成>,在线阅读可直接点击. 大家好,我是老蒋,今天和大家聊聊Docker的安全合规建设. 安全,这里我们指的是信息安全,包括数据安全和网络安全, 主要是数据在处理.传输…
随着自动驾驶技术的发展,一辆新车从被改装到上路需要经过的调试流程也有了许多提升.今天,我希望结合自己之前的调车经验来跟大家分享一下我们是如何将系统的各个模块逐步上车.调试.集成,进而将一辆“新手”车培养成“老司机”的. ▌自动驾驶简介 这是一段来自维基百科的关于自动驾驶的定义:自动驾驶汽车,又称无人驾驶汽车.电脑驾驶汽车或轮式移动机器人,为一种运输动力的无人地面载具.作为自动化载具,自动驾驶汽车不需要人类操作即能感测其环境及导航. 随着自动驾驶技术的发展,行业内涌现出了许多为了应对不同需求不同场…