2019-09-19 16:16
在Linux江湖,最常用到的编辑器非vim莫属,vim的功能很强大。
1. vim简介
在Linux世界中,最长用到的而且功能比较强大的是Vim编辑器。Vim编辑器是在内存缓冲区中处理数据。
vim 文件名 or vi 文件名
都可以通过vim打开文件
一般vim打开文件功能更多一些,特别是对于shell脚本这种文本,会有不同字符的高亮显示。
如果启动vim时未指定文件名,或者指定的文件名不存在,vim会开辟一段新的缓冲区域来编辑。
vim /etc/passwd
...
2019-09-19 16:43
本文主要是承接上一篇文章Redis集群的离线安装成功以后,我们如何进行给集群增加新的主从节点(集群扩容)以及如何从集群中删除节点(集群缩容),也就是集群的伸缩,集群伸缩的原理是控制虚拟槽和数据在节点之间进行移动,通过实际操作来整理一下集群的伸缩。
上篇文章中搭建好的集群为三主三从,端口号为7000、7001、7002、7003、7004、7005。
查看集群启动情况:ps -ef | grep redis
查看集群的slots分配情况以及节点之间的主从关系:
首先登陆节点7000:redis-cli -p 7000 -h 192.168.182.132 -c //注意不要丢了-c
...
2019-09-19 16:11
简介上篇文章中讲了使用Hystrix实现容错,除此之外,Hystrix还提供了近乎实时的监控。本文将介绍如何进行服务监控以及使用Hystrix Dashboard来让监控数据图形化。...
2019-09-19 16:40
在使用javascript实现基本的数据结构中,练习了好几周,对基本的数据结构如 栈、队列、链表、集合、哈希表、树、图等内容进行了总结并且写了笔记和代码。
在 github中可以看到 点击查看,可以关注一下我哈。
树的基本术语
二叉树节点的存储结构
创建一个二叉搜索树
二叉树的先序、中序、后续遍历算法
二叉树的非递归先序、中序、后续遍历算法。
文章对树了解的不多的人有点不友好,这里简单介绍(从书上抄下来)那些基本的一点概念吧。
看下面这个示意图
...
2019-09-19 16:15
背景从第一台计算机诞生到现在已经七十多年了,计算机已经和我们的生活息息相关,很多小伙伴上来就接触高端设备,计算机过去是怎么发展起来的,我觉得还是了解一下会比较好,我是历史爱好者,所以我个人认为学习任何东西都要了解它的过去,就像我以前历史老师跟我说的“不了解过去的人,不会了解现在和未来”,这篇文章就像讲故事,轻松的大家回顾下计算机的发展简史...
2019-09-19 16:44
作者 | 元乙 阿里云日志服务数据采集客户端负责人,目前采集客户端 logtail 在集团百万规模部署,每天采集上万应用数 PB 数据,经历多次双 11、双 12 考验。
导读:随着 K8s 不断更新迭代,使用 K8s 日志系统建设的开发者,逐渐遇到了各种复杂的问题和挑战。本篇文章中,作者结合自己多年经验,分析 K8s 日志系统建设难点,期待为读者提供有益参考。
在 Logging 这块做了几年,最近 1 年来越来越多的同学来咨询如何为 Kubernetes 构建一个日志系统,或者是来求助在这过程中遇到一系列问题如何解决,授人以鱼不如授人以渔,于是想把我们这些年积累的经验以文章的形式发出来,让看到这篇文章的同学能少走弯路。这个系列文章定位为长篇连载,内容偏向落地实操以及经验分享,且内容会随着技术的迭代而不定期更新。
...
2019-09-19 16:47
git flow 镇楼
merge
这个简单,初学者常用。比如主分支是Dev,最新版本是01。然后小明基于此,搞了个feature 分支A,业务:打酱油
然后在上面多次提交,完成功能迭代开发,如A1 ---> A2 ---> A3
Dev 分支 merge A branch,最后Dev 分支的历史log就变成: Dev01 ---> A1 ---> A2 ---> A3
附图如下:
rebase
中文翻译过来,变基。这个搞完,提交历史会比较清爽,哈哈
a) merge会有两条提交历史记录线路,有个菱形图(C2, C3, C4, C5间关系)
...
2019-09-19 16:15
在前面一篇介绍了线程的生命周期【并发编程之多线程概念 】,在本篇将正式介绍如何创建、中断线程,以及线程是如何销毁的。最后,我们会讲解一些常见的线程API。...
2019-09-19 16:52
小明发现在实际项目开发过程中,总会遇到各种各样的情况,比如一个大型的项目或版本迭代可能不是一次上线,可能会分好几次上线,这时候就会涉及创建多个分支,分别开发。
项目背景
产品经理:我们本次开发三个功能,列表页功能、详情页功能、系统消息功能,分两次上线,先上列表功能,再上详情页和系统消息。
小明:好的吧。
紧接着,小明就将本次需求分为2个分支,分别为A、B。
A:开发列表页功能
B:开发详情页功能、系统消息功能
原计划:产品经理说先上列表功能,那小明就先开发A分支,列表功能很快开发完成(厉害吧)。
...
2019-09-19 16:50
前言
之前零零散散的学习了一些springboot的知识,以及搭建一些springboot的项目,甚至还有一些项目应用到实际项目中了,但是突然有一天想要建一个自己的项目网站。发现自己不知道从何开始。发现自己虽然用了很久,但是让自己 从头开始搭建一个却处处碰壁。所以静下心来好好的整理一下springboot的知识点。以及给自己搭建一个springboot 项目的脚手架。以后方便自己套用。
创建spring boot项目
springboot的之所以火热便是因为开箱即用的特效,低配置甚至无配置使用,方便我们快速上手,我们这里先就什么都不配置吧。
...
2019-09-19 16:50
一、BigDecimal概述
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。
...
2019-09-19 16:53
img
序列化用途:方便于对象在网络中的传输和存储
序列化就是将对象转换为流,利于储存和传输的格式
反序列化与序列化相反,将流转换为对象
例如:json序列化、XML序列化、二进制序列化、SOAP序列化
序列化:java.io.ObjectOutputStream 类中的 writeObject()
该方法把对象序列化,将字节序列写到一个目标输出流中(.ser扩展名)
反序列化:java.io.ObjectInputStream 类中的 readObject()
从输入流中读取字节序列,再将其反序列化为对象
...
2019-09-19 16:25
面试题redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?...
2019-09-19 16:38
1. 安装 Namesrv
拉取镜像
docker pull rocketmqinc/rocketmq:4.4.0`
启动容器
docker run -d -p 9876:9876 -v {RmHome}/data/namesrv/logs:/root/logs -v {RmHome}/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv
...