- 博客(100)
- 资源 (1)
- 收藏
- 关注

原创 Zookeeper leader选举源码分析(超详细)
在开始分析选举的原理之前,先了解几个重要的参数比如有三台服务器,编号分别是 1,2,3。编号越大在选择算法中的权重越大。值越大说明数据越新,在选举算法中的权重也越大或者叫投票的次数,同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加,然后与接收到的其它服务器返回的投票信息中的数值相比,根据不同的值做出不同的判断。LOOKING,竞选状态。FOLLOWING,随从状态,同步 leader 状态,参与投票。OBSERVING,观察状态,同步 leader 状态,不参与投票。.........
2022-08-31 11:40:29
1553

原创 cdn实战-七牛云
请求重定向到cdn.tangwx.site(加速域名),由于加速域名CNAME(映射)到了CDN厂商域名,所以请求静态资源实际访问的是CDN上的资源。如果CDN没有缓存资源(假设第一次请求),那么CDN就会向我们提供的回源Host请求静态资源,然后保存到CDN服务器上。源站测试:填入一个静态资源地址,如果测试通过,说明回源地址:端口号没问题。如上配置所示,当前所有请求(静态、动态)都是通过nginx反向代理到后端(几个概念,小萌新(比如我)可能不太懂,下面贴一下权威解释,大家再对照着上图强行理解吧!...
2022-08-26 11:27:30
1571

原创 一种快速检测Mp4是否损坏的方法
一种快速检测Mp4是否损坏的方法由于项目上的需求,需要一种能快速检测MP4文件是否有效(即能正常播放)的方法。网络上搜索到的绝大多数方案是使用ffmpeg或者ffprobe。以ffprobe为例:ffprobe -v quiet -print_format json -show_format -show_streams -i '/root/**/test.mp4'如果能查询到类似于下图的video信息,表示该MP4文件是可以正常播放的ffprobe方案在绝大多数情况下都是正确的,但是在实际
2022-03-09 15:58:39
9079
3

原创 获取Docker容器的内存使用情况
一开始以为使用 free -h 得到的就是docker 容器本身的内存使用情况#容器root@feb0423bbe52:/sys/fs/cgroup/memory# free -h total used free shared buff/cache availableMem: 62G 21G 267M 423M 41G 40GSwa
2021-02-04 12:04:49
14496
原创 acme.sh获取证书
命令可以携带很多参数, 来指定目标文件. 并且可以指定 reloadcmd, 当证书更新以后, reloadcmd会被自动调用,让服务器生效.(即配合第二步介绍的cron定时更新证书)登录阿里云,按照下图方式创建用户,记录下ID和Secret。发现已经存在定时任务了!(自动更新证书的作用)最终输出如下所示信息就表示证书申请成功了。注意:虽然第5步生成的key、cert、,但是通过上述命令拷贝后重命名了。并不会重新加载证书, 所以用的。(一个小提醒, 这里用的是。安装完成后,通过命令。...
2022-08-26 11:31:32
846
原创 Kettle-ActiveMQ Product插件开发笔记
ActiveMQ Product组件开发笔记概览前提该插件基于kettle 8.1.0.0-365 开发如果是其他版本,不保证可用。(由于继承的BaseStreamingDialog等父类会随版本而变化)本插件模仿官方Kafka插件源码编写:https://github.com/pentaho/big-data-plugin/tree/master/kettle-plugins/kafka暂不支持topic,需要的可自行修改源码(工程量应该不大)。必备模板相对ActiveMQ C
2021-07-02 16:10:07
502
1
原创 Kettle-ActiveMQ Consumer插件开发笔记
ActiveMQ Consumer插件开发笔记源代码https://github.com/tangwenixng/soyuan-activemq-plugin概览前提该插件基于kettle 8.1.0.0-365 开发如果是其他版本,不保证可用。(由于继承的BaseStreamingDialog等父类会随版本而变化)本插件模仿官方Kafka插件源码编写:https://github.com/pentaho/big-data-plugin/tree/master/kettle-plug
2021-07-02 16:04:22
1021
3
原创 Centos7--FFmpeg编译安装
一开始使用中文搜索,照着csdn这份教程搞了一上午,最后失败了,恼火呀。换成英文搜索ffmpeg build arguments,点击第一条CompilationGuide – FFmpeg,爽歪歪。选择对应的操作系统即可。由于我选择在Centos7编译,所以访问此链接按照文章中指导的步骤执行即可。以下内容对应原文,我简略地总结如下:安装依赖yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-
2021-03-23 10:58:35
2208
1
原创 Mac Big Sur --ERROR launching JD-GUI
更新系统后,打开jd-gui报如下错误:ERROR launching 'JD-GUI'No suitable Java version found on your system!This program requires Java 1.8+Make sure you install the required Java version.解决办法:1、显示包内容2、找到文件universalJavaApplicationStub ,使用文本编辑器打开3、使用https://raw.g
2020-11-25 10:50:41
11014
25
原创 Mybatis源码之--XML完整解析流程
MyBatis源码解析(一)如何编译源码仓库地址1、idea中打开项目2、等待解析依赖备注:解析依赖的过程中有可能某些jar包的版本找不到,可自行在https://mvnrepository.com/ 找寻替代版本XML解析mybatis3支持注解方式声明SQL语句,但是最终经过mybatis内部解析,作用和使用XML定义是一样的。只要你理解了XML的整个解析流程,其实就已经吃透了mybatis。在阅读源码的过程中,mybatis的中文官网必须时刻去翻阅。特别是如下几章内容:入
2020-06-07 11:40:26
4230
2
原创 Android 蓝牙耳机 语音输入与播放
Android 蓝牙耳机 语音输入与播放原以为手机连上蓝牙耳机就能录入语音信号,too young to simple.经过一番搜寻与折腾,找到两种方式:AudioManager.startBluetoothSco(true)BluetoothHeadset.startVoiceRecognition(BluetoothDevice device)第一种方式是通过sco,这种方式有个缺点:连接上和释放时会有嘟的一声第二种方式则没这个缺点SCO设置蓝牙权限AndroidManifest.x
2020-06-04 18:33:38
2682
原创 Shiro+JWT 前后端分离方案
Shiro+JWT 前后端分离方案理论的东西就不说了,网上一大堆教程。因为我本身web应用做得比较多,所以本篇文章主要是结合SpringBoot来讲解。当然shiro也是支持standlon模式使用的(可以参考我的另一篇文章 自定义Realm)使用SpringBoot,最优的依赖方案是shiro-spring-boot-starter<dependency> <groupId>org.apache.shiro</groupId> <artifactI
2020-05-17 12:29:08
7344
2
原创 Linux常用设置
Linux常用设置后台运行nohup bin/logstash &查看后台任务 jobs -l杀进程 kill -9 进程号 常用工具sudo yum install -y wget vim tree git设置静态IP1、打开/etc/sysconfig/network-scripts/ifcfg-eth0BOOTPROTO=staticON...
2019-08-13 11:04:14
293
1
原创 Windows nginx杀进程
startip.battaskkill /F /FI "imagename eq nginx.exe"start .\nginx.exepause杀掉所有名称为nginx的进程。注意:window shell 有一点坑1、imagename eq nginx.exe 必须用双引号,单引号会报错。2、/F /FI 最好也大小win10 powershell 不存在上述问题...
2018-08-17 16:37:00
2956
原创 阅读npm run dev命令后的配置项
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js"该命令读取配置文件 webpack.dev.config.js我们先大致瞥一眼webpack.dev.config.js,发现它引入了webpack基础配置文件webpack.base.conf。那我们现在暂且跳过webpa...
2018-08-05 23:34:00
6301
原创 JavaScript百度地图离线版
离线版的制作参考博文百度地图2.0离线版的制作 。其实并不需要按博文的步骤操作,作者在最后一步给出了示例代码,下载示例代码,打开demo,放大地图,会发现没有内容,因为缺少相应的瓦片。瓦片的存储格式是: z/x/y.png。 z:缩放级别 x和y不解释了,可以理解为坐标点了,其实不是。因为缺少离线瓦片,所以需要下载瓦片tiles目录。瓦片的下载作者于忠达还有另一篇博文百度地...
2018-07-06 11:09:00
706
原创 Git一点点操作而已
添加远程仓库地址: git remote add origin git@blabla.com删除远程仓库地址: git remote rm origin修改远程仓库地址: git remote set-url origin git@bilibili.com添加到暂存区(Index)同时提交到HEAD: git commit -am 'blabla'...
2018-07-06 11:04:00
130
原创 JavaScript高级程序设计
typeofECMAScript有5种基本类型数据:undefinednullbooleannumberstring另外还有一种复杂的数据类型objecttypeof就是用来检测变量的数据类型的,typeof可能会返回以下值:undefinedbooleanstringnumberobjectfunctionin...
2018-07-06 11:03:00
280
原创 webpack总结
webpack是一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使用和处理。安装npm install webpack --save-dev配置文件webpack的配置文件一般长这样,稍后再对每一部份做讲解。//webpack.config.jsvar path...
2018-07-06 11:00:00
115
原创 前端Node Express Vue
Q:什么是单页面富应用(SPA)和前端路由?A:1. 单页面富应用(即Single Page Web Application,以下简称SPA)应该是最近几年火起来的,尤其是在Angular 框架诞生之后,喝多SPA 的网站以及基于Electron 和Ionic 的桌面App 和移动App 层出不穷。2. SPA 的核心即是前端路由。何为路由呢?说的通...
2018-07-06 10:58:00
164
原创 SpringBoot项目的配置
配置SQLServer//pom.xml <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>6.2.1.j...
2018-07-06 10:54:00
409
原创 vue-cli 引入echarts
1、 安装依赖 cnpm install echarts -S全局引入在main.js中// 引入echartsimport echarts from 'echarts'Vue.prototype.$echarts = echarts 局部引入在用到的vue文件中<script>// 引入基本模板let echarts ...
2018-07-06 10:49:00
729
原创 module exports和exports export和export default的区别
module.exports / exports: 只有 node 支持的导出 (为了避免糊涂,尽量都用 module.exports 导出)export / import : 只有es6 支持的导出引入require: node 和 es6 都支持的引入Node模式//utils.jslet a = 100;console.log(m...
2018-07-06 10:47:00
143
原创 智慧查验Vue、elementUI使用总结
官方网站Vuejs: https://cn.vuejs.org/v2/guide/installation.htmlelementUI: http://element-cn.eleme.io/#/zh-CN/component/installation全局引入SEVS.Web/App_Start/BundleConfig.csSEVS.We...
2018-07-06 10:46:00
259
原创 ReferenceError: “Promise”未定义
问题现象:vue-cli项目在IE下运行,会在钩子函数出现 ReferenceError: “Promise”未定义解决办法:1、 安装Babel Polyfill npm install --save babel-polyfill2、 在webpack.base.conf.js这个文件加入代码 require("babel-polyfill")3...
2018-07-06 10:43:00
1234
原创 JavaScript编码规范
1 结构1.1 缩进[强制]使用4个空格作为一个缩进层级[强制] switch 下的 case 和 default 必须增加一个缩进层级。示例:// goodswitch (variable) { case '1': // do... break; case '2': // d...
2018-07-06 10:38:00
112
原创 在es6模块中怎么引入传统的jQuery和jQuery插件呢?
1、安装webpack和loader为什么要安装webpack? 因为我们要用到webpack的 expose-loader。当然,webpack的打包功能我们也要用到。mkdir demo-webpack && cd demo-webpacknpm initcnpm install webpack webpack-cli --save-devcnpm install...
2018-07-05 11:45:49
11704
原创 在es6模块中怎么引入传统的jQuery和jQuery插件呢?
1、安装webpack和loader为什么要安装webpack? 因为我们要用到webpack的 expose-loader。当然,webpack的打包功能我们也要用到。mkdir demo-webpack && cd demo-webpacknpm initcnpm install webpack webpack-cli --sa...
2018-07-05 09:37:00
1359
原创 JRE、Tomcat、Mysql安装部署
一、安装JREjre.JPG双击exe,一直默认就行。二、安装Tomcat解压缩apache-tomcat-8.0.29.rar到任意文件夹,然后找到bin目录下的catalina.bat,右键编辑使用记事本打开。在setlocal下面加一行:set JRE_HOME=D:\software\apache-tomcat-8.0.2...
2017-09-25 13:45:00
364
原创 基于注解的SpringMVC HelloWorld示例
系统环境:Jdk 1.8IntelliJ IDEA 2016.3.7Maven 3.3.9使用IDEA创建mvc-annotation-demo模块(点击+)1.png填写groupId,artifactId。接下来就是Next--Next,到这里 不需要在手动配置了2.JPG点击Finish,然后等待Maven...
2017-09-02 17:15:00
118
原创 基于xml配置的Spring MVC HelloWorld
基于xml配置的Spring MVC HelloWorld系统环境:Jdk 1.8IntelliJ IDEA 2016.3.7Maven 3.3.9使用Maven创建webapp1.JPG2.JPG3.JPG选择一下maven的本地目录,如果还没安装maven,可以选择id...
2017-08-30 14:56:00
180
原创 spring-boot官网入门指导
spring-boot官网入门指导系统需求spring boot 2.0需要 jdk1.8 、spring5.0+,maven 3.2+ 或者gradle 4使用 Maven安装spring bootSpring Boot dependencies use the org.springframework.boot groupId. Typical...
2017-08-28 22:35:00
179
原创 Webpack入门教程(转)
今天上午看到一篇非常棒的webpack入门教程,原文链接:https://segmentfault.com/a/1190000006178770#articleHeader4。使用npm init命令创建package.json文件安装webpack: npm install --save-dev webpack创建两个js文件:main.js...
2017-08-15 10:58:00
168
原创 CommonJS和AMD
CommonJSCommonJS是服务器端模块的规范,Node.js采用了这个规范。根据CommonJS规范,一个单独的文件就是一个模块。加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象//example.jsconsole.log("evaluating example.js");var i...
2017-08-15 10:22:00
86
原创 Vue学习笔记
v-bind 绑定属性 缩写:’:’v-once 指令,一次性地插值v-html 指令 渲染html元素v-if 条件指令v-for 循环指令v-on 绑定事件监听器 缩写:@v-model 双向绑定表单注册组件 // 定义名为 todo-item 的新组件 Vue.component('todo-item', { template: <li>这是个待办项<
2017-08-14 23:09:06
397
原创 Python3笔记-廖雪峰
转义符: 用r”表示”内部的字符串默认不转义 多行显示: 使用‘’‘….”’ (注意是单引号) 地板除: 10//3 #3 两个整数的除法仍然是整数 字符编码 ord('A') #65 把字符转换为整数 chr(66) #'B' 把整数转换为字符 # -*- coding: utf-8 -*- #通常在文件头加这句话,让Python解释器按utf-8编码读取 'Hi, %
2017-08-03 22:12:18
1142
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人