
工具
文章平均质量分 82
阿啄debugIT
0、精通java,及常用设计模式,熟练编写shell脚本,掌握python、scala、golang的编写;
1、精通Spring Cloud等微服务架构,掌握SpringBoot、batis等后端技术,kafka、redis、es等中间件的整合开发;
2、熟悉掌握mysql、pg等关系数据的原理及调优,及NoSQL数据的存储和查询;
3、熟悉CDH各个组件,及精通离线、实时等计算技术;
4、掌握java多线程高并发编程,及整合shiro、redis、fastdfs、MQ、netty等开发;
5、熟悉K8S集群管理Docker容器,及理解掌握openstack原理和操作。
展开
-
各种消息队列如何选择?为何选择rocketmq来保证消息不丢失,及应该采用rocketmq哪种通信模式?
笔记,过后会视频讲解前言Rocketmq介绍rocketmq是阿里巴巴团队使用java语言开发的一款分布式消息中间件,是一款低延迟,高可用,拥有海量消息堆积能力和灵活拓展性的消息队列。1.1 rocketmq组成部分rocketmq由四大核心模块组成:producer、consumer、brokerServer、nameServer。其中brokerServer和nameServer是rocketmq的服务端,两者一起独立的对外提供服务;而producer和consumer可看做原创 2021-11-10 00:05:10 · 454 阅读 · 0 评论 -
搭建fastdfs服务,及单机redis服务,springboot实现h5与fastdfs之间的断点续传,大文件上传,秒传文件和批量上传
前言搭建单机redis服务,结合fastdfs,springboot实现h5与fastdfs之间的断点续传,大文件上传,秒传。技术采用:webuploader+springboot+redis+fastdfs(服务端)+FastDFS_Client。本文所需实现工具,皆在此包中https://download.youkuaiyun.com/download/as4589sd/15086474fastdfs服务搭建先要安装gcc编译器:yum -y install gcc-c++下载https:原创 2021-02-06 19:28:46 · 4637 阅读 · 9 评论 -
若面试官问“如何设计一个消息中间件”,该如何回答?重点要理解RabbitMQ在于routing,而Kafka在于streaming
前言作为以一个专业技术软件开发人员,又加上软件技术更新速度日新月异,稍不注意,自己用的技术已经过时了,后端前几年还是struts2、hibernate、springmvc……稍不留心现在都是spring的天下了;前端前几年,还是ajax、js、easyui……稍不留心都使用vuejs、angularjs、reactjs……整天趴在电脑前的你,有没有发现,突然去面个试,发现自己这么low有没有……所以作为技术人员,没事,出去面试一下,也是对自己的技术栈的预警哈!可以用面试驱动学习,学习的动力就是面试,原创 2021-02-01 13:39:04 · 629 阅读 · 4 评论 -
Python编写masscan+nmap的主机和端口信息收集工具
masscan使用linux安装git clone https://github.com/robertdavidgraham/masscanmake扫描选项masscan -iL target.txt -p 1-65535 -oJ result.json --rate 2000 -v-iL 从文件中获取扫描目标 -p 指定参数 -oJ 结果以json形式存入文件 –rate 速率、每秒发送包的个数 -v 显示扫描过程信息注意事项-oJ 保存的json数据文件不是完整的.原创 2021-01-12 23:46:14 · 970 阅读 · 1 评论 -
采用Java的concurrent包里面的CountDownLatch具有原子操作的计数器,支持并发多线程操作
场景在高并发多线程的场景中,当一个任务想要往下执行,但必须要等到其他的多个任务执行完毕后,才可以继续往下执行,如何处理呢?可以试试,Java的concurrent包里面的CountDownLatch,具有原子操作的计数器,支持并发多线程操作。比如,T想要继续往下执行的任务(调用一个CountDownLatch对象B的await()方法),必须等到其他的任务T1,T2,T3执行完自己的任务后(其他的任务T1,T2,T3调用同一个CountDownLatch对象B的countDown()方法),T调原创 2020-12-24 20:40:31 · 314 阅读 · 1 评论 -
采用并发调用缓存输入输出流和缓存错误输出流,及回调函数来执行系统命令的封装类ShellExecUtil,及思考如何编写一个完美的工具类?
执行系统命令封装类ShellExec原创 2020-12-24 18:05:39 · 697 阅读 · 10 评论 -
VIM妙用及linux使用技巧(包括vim插件管理器、指令与键盘映射、打开多个文件、奇偶删除行、vim替换等)
1、vim 打开一个文件后,如何打开另一个文件?"Esc" --> ":" --> "vsp" --> <file_name>按下Esc 进入末行模式,之后输入 ":vsp" 空格 文件名:vsp file_name2、是否可以在vim直接打开多个文件?效果类似于先:vsplit, 然后:open file2。 方式: vim -o file1 file2 打开的两个文件上下窗口分布 ...原创 2020-11-27 18:48:06 · 691 阅读 · 0 评论 -
常用的Linux五大利器printf,cut,grep,sed,awk,及结合正则表达式的混合使用详解
#查看用户:cut -d : -f 1 /etc/passwd#查看用户组:cut -d : -f 1 /etc/group#删除xiaoluo这个用户:userdel -r xiaoluo原创 2020-10-21 19:06:47 · 1525 阅读 · 0 评论 -
常用的Linux系统工具详解,包括tmux,Nethogs,john,IOTop,IPtraf,iftop,HTop,NMON,MultiTail,Fail2ban,nmap,Httperf等
前言无论是,软件开发,还是运维,都离不开使用Linux服务器。除了常用的远程连接工具,如果您还知道,并会使用tmux,Nethogs,john,IOTop,IPtraf,iftop,HTop,NMON,MultiTail,Fail2ban,nmap,Httperf等工具,那就如虎添翼,下面即为以上工具的详细安装及使用例子讲解!弱口令检测工具1.将宿主机中的工具挂载到虚拟机中2.解压3.查看解压的文件内容4.安装C C++编译器yum install gcc gcc-c++原创 2020-10-17 16:19:24 · 569 阅读 · 0 评论 -
采用ipvsadm管理工具,及Keepalived软件检测服务器的状态,搭建负载均衡的高可用集群
前言ipvsadm是Linux虚拟服务器的管理命令,是用于设置、维护和检查Linux内核中虚拟服务器列表的命令。Linux虚拟服务器可用于基于两个或更多个节点的集群构建可扩展的网络服务。群集的活动节点将服务请求重定向到真正执行服务的服务器主机上。支持TCP和UDP协议,支持三咱数据包转发方法(NAT、隧道、直接路径)以及八种负载均衡算法(轮询、加权轮询、最少连接、加权最少连接、基于位置的最小连接,基于位置的最小连接与复制,目标散列和源散列)。keepalived是一个类似于layer3, 4 &am原创 2020-08-03 18:54:25 · 2015 阅读 · 1 评论 -
常用docker容器与镜像的管理命令,及备份,封装,还原,打印等操作
批量停止及删除Exited的容器docker ps -a |grep "Exited" awk '{print $1 }'|xargs docker stopdocker ps -a |grep "Exited" awk '{print $1 }'|xargs docker rm批量重启Exited的容器docker restart $(docker ps -a | awk '{ print $1}' | tail -n +2)批量删除none名称的镜像docker im...原创 2020-10-23 22:02:41 · 724 阅读 · 0 评论 -
baomidou.mybatisplus对查询结果进行分页
在springboot中,要使用baomidou.mybatisplus对查询结果进行分页的逻辑过程maven依赖<!--mybatis--><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</a...原创 2020-02-27 17:30:07 · 6383 阅读 · 1 评论 -
自定义ResponseResult在controller响应信息主体和自定义全局及局部异常中的实现
前言:在controller及hanlder的消息返回给客户端的json对象信息,一般是自定义的,输出格式是json格式!自定义详细编号HttpEnum/** * <b><code>HttpEnum</code></b> * <p> * Description * </p> * <b>Cre...原创 2020-02-27 16:20:51 · 4409 阅读 · 8 评论 -
spring中的aop实现各个类方法的日志拦截
spring中的aop实现各个类方法的日志拦截。1、编写SysLogAspect类@Slf4j@Aspect@Configurationpublic class SysLogAspect { private static final Logger logger = LoggerFactory.getLogger(SysLogAspect.class); @Aro...原创 2020-02-26 16:06:36 · 938 阅读 · 0 评论 -
连接获取上传sftp远程目录信息的工具类FtpsFileList
连接获取上传sftp远程目录信息的工具类import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelSftp;import com.jcraft.jsch.JSch;import com.jcraft.jsch.Session;import org.slf4j.Logger;import org.slf4j.Logger...原创 2020-02-26 15:35:08 · 752 阅读 · 0 评论 -
全角与半角字符串或字符之间的转换Java工具类BCConvert
全角与半角字符串或字符之间的转换Java工具类public class BCConvert { /** * ASCII表中可见字符从!开始,偏移位值为33(Decimal) */ static final char DBC_CHAR_START = 33; // 半角! /** * ASCII表中可见字符到~结束,偏移位值为126(Decimal) */ stat...原创 2020-02-26 13:18:26 · 452 阅读 · 0 评论 -
接口的http请求,获取json数据格式的工具类HttpPost
接口的http请求,获取json数据格式的工具类工具类HttpPostimport java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;...原创 2020-02-26 12:29:57 · 655 阅读 · 0 评论 -
对接HttpPost.httpUrlConnectionPost的json数据,定时写入txt文档
1、需要导入的类import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.io.BufferedWriter;import java.io.File;import java.io.FileWrite...原创 2020-02-26 12:17:40 · 652 阅读 · 4 评论 -
基于common-io自动监控文件及文件变化和同步文件的工具类SynFile
基于common-io自动监控文件及文件变化和同步文件的工具类import java.io.File;import java.io.FileFilter;import java.util.concurrent.ConcurrentLinkedQueue;import org.apache.commons.io.filefilter.FileFilterUtils;import org...原创 2020-02-26 11:44:53 · 495 阅读 · 0 评论 -
执行shell脚本,并返回筛选结果的多功能Java工具类LinuxCmdUtils
执行shell脚本,并返回筛选结果的多功能Java工具类import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import java.io.PrintStream;import org.slf4...原创 2020-02-26 11:39:11 · 486 阅读 · 0 评论 -
含有压缩等最全功能的文件及文件夹处理工具类FileUtil
最全功能的文件及文件夹处理工具类import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutpu...原创 2020-02-26 11:31:23 · 455 阅读 · 0 评论 -
sftp批量上传及批量下载等最全功能的工具类SFTPUtils
sftp批量上传及批量下载等最全功能的工具类import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelSftp;import com.jcraft.jsch.ChannelSftp.LsEntry;import com.jcraft.jsch.JSch;import com.jcraft.jsch.JSchExcepti...原创 2020-02-26 11:28:05 · 1610 阅读 · 0 评论 -
各种要求的时间处理的date工具类DateUtil
各种要求的时间处理的date工具类import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateUtil{ public static final String DEFAULT_FORMAT_STR = "yyyyMMddHHmmss"; ...原创 2020-02-26 11:10:12 · 881 阅读 · 0 评论 -
支持更新多种版本centos的OpenSSL的shell程序解读
1、首先判断是不是root下操作#!/bin/bash#Author:xujianan#modify 阿啄debugIT#Version:V1.3#CentOS6.8 CentOS7.5#20180516#20191022 1,修改支持ssh 7.9p1 2,文件夹及脚本重命名# 提供源码包地址:# wget http://distfiles.macports.org/o...原创 2020-02-10 02:38:36 · 446 阅读 · 0 评论 -
Linux上的终端复用神器,一个屏幕上管理多个终端
tmux简介tmux(terminal multiplexer)是Linux上的终端复用神器,可从一个屏幕上管理多个终端(准确说是伪终端)。使用该工具,用户可以连接或断开会话,而保持终端在后台运行,类似的工具还有screen。tmux基本结构tmux的结构包括会话(session)、窗口(window)、窗格(pane)三部分,会话实质是伪终端的集合,每个窗格表示一个伪终端,多个窗格展...原创 2020-02-06 18:46:11 · 796 阅读 · 0 评论 -
JAVA程序实现mysql定时导出和导入库程序
前言首先,用的环境是MYSQL5和JDK1.6。通过JDK所带的TIME类来进行定时定点的定时器,在通过JAVA链接数据库导出数据库的脚本。BeiFen.java (数据库导入导出程序)public class BeiFen extends TimerTask { public voidrun() { BeiFen.main("数据库"); }...原创 2020-02-06 16:26:25 · 1896 阅读 · 0 评论 -
用于命令行终端切换的screen 配置(下标高亮)
背景: 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。 GNU Screen是一款由GNU...原创 2020-02-06 13:25:22 · 808 阅读 · 0 评论