关于linux的一点好奇心(四):tail -f文件跟踪实现_等你归去来-编程思维

  关于文件跟踪,我们有很多的实际场景,比如查看某个系统日志的输出,当有变化时立即体现,以便进行问题排查;比如查看文件结尾的内容是啥,总之是刚需了。   1. 自己实现的文件跟踪   我们平时做功能开发时,也会遇到类似的需求,比如当有人传输文件到某个位置后,我们需要触发后续处理操作。   那么,我们自己实现的话,也就只能通过定时检查文件是否变化,比如检测最后修改时间,从而感知到变化。如果要想让文

来!自己动手实现一个loghub(或kafka)分片消费负载均衡器_等你归去来-编程思维

  一般地,像kafka之类的消息中间件,作为一个可以保持历史消息的组件,其消费模型一般是主动拉取方式。这是为了给消费者足够的自由,回滚或者前进。   然而,也正是由于将消费消息的权力交给了消费者,所以,消费者往往需要承担更多的责任。比如:需要自行保存消费偏移量,以便后续可以知道从哪里继续。而当这一点处理不好时,则可能带来一些麻烦。   不管怎么样,解决方案也都是现成的,咱们也不用担心。    

zookeeper(一):单机模式的启动逻辑_等你归去来-编程思维

  zk用处如此之多,以至于每个地方都要你理解zk原理! 请按如下操作姿势打开:   1. 打开zk的git仓库地址: https://github.com/apache/zookeeper , 确认过眼神,它就是你要找有人!   2. 下载源码到本地,下载 ant 工具到本地,(如果还没下载的话: http://ant.apache.org/)!   3. 运行 ant 脚本,使生成需要的环

kafka扫盲笔记,实战入门_等你归去来-编程思维

   Kafka作为大数据时代的产物,自有其生存之道。让我们跟随扫盲班的培训,进行大致了解与使用kafka吧。(平时工作有使用不代表就知道kafka了哟) 1. kafka介绍 1.1. 拥有的能力(能干什么?)      根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能:   1. 发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原

《分布式服务框架原理与实践》- 总结一下吧_等你归去来-编程思维

  我们听过无数的道理,却仍旧过不好这一生。额,我说的是技术!   《分布式服务框架原理与实践》这本书,一直在讲一些大道理,和具体的业务和我本身的工作已经没多大关系了。但是,不管怎么样,还得总结下吧。别人的道理,并不是自己的道理!自己的的道理才是硬道理,哪怕是烂道理!   个人觉得这本书讲得太宽泛,或者说讲得不够深入,或者文学范不够,总之,感觉不够吸引人,如果赶时间,还是算了吧。   他列举了许

java中的全局变量如何实现?threadlocal~_等你归去来-编程思维

  全局变量就是不管你在哪里,都能够直接引用的变量,还不用担心各种问题。每个语言都有自己的全局变量,我想!   一般地,面向过程的语言当中,可能就是一个声明在最前面的变量,后面的代码直接引用,就成了全局变量!(最经典的C就是这样的) 如:js 中: var a = "hello,a!"; alert(a); function fn1() { var b = "hello, b!"

从app上传图片到php,再上传到java后端服务器的方法一条龙服务_等你归去来-编程思维

  在现在的网络开发中,上传图片类的需求实在是太普通不过了,但是对于怎么样做到上传图片,对于刚开始建立项目的时候,还是有点不知所措的。也许有幸,我们做的项目是之前已经有人写过类似的用例了,那么我们只需要依葫芦画瓢就行了。   好好了解下图片上传(文件上传)的方式,对于认知的提升还是有好处的。而且说不定哪天你就有个这样的需求呢,这里是一条龙上传。   本文就一个从app到php层,再到java层的

多核cpu配合负载均衡可以这样用,为老板省点钱_等你归去来-编程思维

  负载均衡作为一个处理高并发,大流量的访问的业务场景,已经几乎是常识性的知识了。   而本文的意义在于需求:由于大流量请求,导致服务无法正常响应,在不增加购买机器成本的场景下,如何提高服务器的业务处理能力?提示为:某个服务访问频率比其他服务的访问频率要高很多,服务是用JAVA语言编写的。   一般情况下,我们有两种可供选择的负载均衡方式,一是买别人的服务,别人给你提供好,你只需界面上操作下就行

https网页加载http资源导致的页面报错及解决方案_等你归去来-编程思维

  https是当下的网站的主流趋势,甚至像苹果这样的大公司,则完全要求用户必须使用https地址。   然而对于以前http链接来说,我们往往就存在一个兼容性问题,因为你不可能一下就全部切换过去,应该在很长一段时间内,https与http将共存。   https与http共存的场景有如:     1. app已经发布出去,其调用接口的地址为http的,那么这是必须兼容的。     2. app

java调试技能之dubbo调试 ---telnet_等你归去来-编程思维

  dubbo作为一个远程调用框架,虽与同类型的框架,不知道谁优谁劣,但是就公司层面使用来说,还是很棒的。这里简单的写一下怎么使用和调试技巧,就算是作个使用总结吧,供快速使用和问题解决!   dubbo是基于spring做配置使用的,虽也提供其他方法,但是比较麻烦,所以使用spring还是有好处的吧。   先来一个整体架构图,这对于了解其是如何工作的是很有必要的。(比如我当初就误以为dubbo会

本地修改js代码并时时生效的解决办法_等你归去来-编程思维

  js作为客户端语言(当然它也可以作服务端语言),非常强悍,一般情况下,我们都是在开发阶段不停的改,然后上线之后就作为稳定运行的代码。   然而有时候可能因为js写得有问题,导致上线后,某些功能无法使用,这就悲催了,而且一般的公司上线应该都不会很容易。   那么对于这种js一类的修改,如果能在本地临时生效,做一些紧急问题的修复,就很重要了。(我也是遇到这个坑,只要把这次临时问题修复,等下一个功

《wireshark数据包分析实战》_http背后,tcp/ip抓包分析_等你归去来-编程思维

  作为网络开发人员,使用fiddler无疑是最好的选择,方便易用功能强。   但是什么作为爱学习的同学,是不应该止步于http协议的,学习wireshark则可以满足这方面的需求。wireshark作为抓取各种底层协议的包有着强大的功能,用于网络排错或者一些其他通讯方面的查看,是必须的。   以前有自己看过wireshark相关的简要教程,也是一知半解。借助《Wireshark数据包分析实战》

js加载相对路径脚本的方法_汇总_等你归去来-编程思维

  js加载脚本的方式有很多,但是各有各的用途。   最近公司https项目改造,对于资源文件这一块,也是遇到一些问题,现在就来总结一下,怎样改造https的脚本吧~! 方法1、借助服务端语言如PHP,输入当前是https或者http的标识到html页面,再次编译后得到输出结果。【有服务端语言参与时推荐】 <script type="text/javascript" src="{$__S

从代码风格窥视一个工程师的技术水平[总结篇]_等你归去来-编程思维

  引语:代码风格,是一个工程师长期以来养成的一些编写代码的习惯,其实并无绝对的好坏之分!但是,基本上可以这么说,一个有很好的代码风格的人,技术水平绝不会太低;反之,一个没有好的代码风格的人,技术水平也不会高到哪里去,即使是他已经有很多年的编程经验!因为,在业界有一个不成文的现象,那就是每个工程师都有一个追求技术提升,追求完美的梦!结果就是,随着个人技术水平的提高,风格也越来越成熟,而这个风格就

web开发经验谈之f12开发者工具/web调试[利刃篇]_等你归去来-编程思维

  引语:如今的整个Web开发行业甚至说整个软件开发行业,已经相当成熟,基本上已经很少找不到没有前人做过的东西了,或者换句话说,你想要实现的功能,你总能在某个地方搜索到答案,关键是你有没有这个时间精力去搜寻!以至于大多数的开发,其实就是一个找资料的过程,一个复制粘贴的过程,这的确也是一个可悲的现象。不过,换个角度来看,其实也挺好,现在咱们凡事都讲求一个效率问题,只要能实现功能,就甭管他复制粘贴抄

再次理解http请求过程[概念原理篇]_等你归去来-编程思维

  我曾多次阅读http协议,但是理解依然不深,在此,再次阅读,再次理解。加深两点:解析头部信息\r\n,分解头部和主体用\r\n\r\n。之所以一次请求会看到网络里有很多请求,是因为浏览器代替访问了多次!程序只管处理一次即可! HTTP请求 步骤1:浏览器首先向服务器发送HTTP请求,请求包括: 方法:GET还是POST,GET仅请求资源,POST会附带用户数据; 路径:/html/path;

dubbo(九):timeout超时机制解析_等你归去来-编程思维

  在网络请求时,总会有各种异常情况出现,我们需要提前处理这种情况。在完善的rpc组件dubbo中,自然是不会少了这一层东西的。我们只需要通过一些简单的配置就可以达到超时限制的作用了。   dubbo的设计理念是,客户端控制优先,服务端控制兜底。   1. 超时机制的实现思路   要想实现超时,一般有两个思路。一个是客户端自行设置一个超时限制,达到超时时间还未返回,则抛出异常,不再等待结果。二是

关于linux的一点好奇心(一):linux启动过程-编程思维

  一直很好奇,操作系统是如何工作的?我们知道平时编程,是如何让代码跑起来的,但那些都是比较高层次的东西。越往后,你会越觉得,像是空中楼阁,或者说只是有人帮你铺平了许多道理,而你却对此一无所知。   1. 操作系统的困惑   当然了,也不是真的一无所知。因为有很多的操作系统方面的书籍,教你了解操作系统是如何如何工作的,它的各种原理。但总有一种任督二脉不通的感觉。好像说的都知道一点,但好像知道这是

clickhouse使用的一点总结-编程思维

  clickhouse据说是用在大数据量的olap场景列式存储数据库,也有幸能够用到它在实际场景中落地。本篇就来说说简单的使用心得吧。   1. 整体说明   架构啥的,就不多说了,列式存储、大数据量、高性能。参见官方文档地址: https://clickhouse.com/docs/en/   对于使用者而言,除了泛泛而谈的架构之外,更多的是如何使用的问题。   从整体而言,clickhou

ES系列(五):获取单条数据get处理过程实现-编程思维

  前面讲的都是些比较大的东西,即框架层面的东西。今天咱们来个轻松点的,只讲一个点:如题,get单条记录的es查询实现。   1. get语义说明   es中要实现get的查询,直接就是一个url请求即可: curl http://localhost:9200/test/job/1   get是用于搜索单条es的数据,是根据主键id查询数据方式。类比关系型数据库中的sql则相当于: sel