自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (2)
  • 收藏
  • 关注

转载 ios微信下vue项目组件切换并自动播放音频的解决方案

ios微信下vue项目组件切换并自动播放音频的解决方案最近在做一个英语答题项目 , 项目需求是通过答题取的成绩 , 答题的题型是分为 , 听音选图 , 看图选词 , 和填空题 . 项目总共分为了3个页面 , 开始页 ,答题页 和结束页面 ,答题页关于每种题型 , 我做了相应的组件 , 每次切换题目的时候 ,显示对应的的组件 , 要求听音选图的时候会自动播放音频 .惯例 , ios下的safar...

2020-02-07 20:38:54 1164

原创 浅谈MQ-kafka消费者原理

Kafka消费者原理1.Offset维护1.1 Offset的存储我们知道在partition中,消息是不会删除的,所以才可以追加写入,写入的消息连续有序的。这种特性决定了kafka可以消费历史消息,而且按照消息的顺序消费指定消息,而不是只能消费队头的消息。正常情况下,我们希望消费没有被消费过的数据,而且是从最先发送(序号小的) 的开始消费(这样才是有序和公平的)。从SimpleConsumer和SimpleProducer中看到的默认结果也是这样的。对于一个partition,消费者组怎么才

2021-05-15 16:57:20 519

原创 浅谈MQ-kafka存储原理

Kafka Broker 存储原理1.文件的存储结构1.1 partition分区为了实现横向扩展,把不同数据存放在不同的Broker上,同时降低单台服务器的访问压力,我们把一个topic中的数据分隔成多个partition。一个partition中的消息是有序的,顺序写入,但是全局不一定有序。在服务器上,每个partition都有一个物理目录,topic名字后面的数字标号即代表分区。1.2 replica副本为了提高分区的可靠性,kafka又设计了副本机制。创建topic的时候,通过指定

2021-05-15 16:56:24 455 1

原创 浅谈MQ-kafka生产者原理

Kafka生产者原理1.生产者消费发送流程消息发送的整体流程。生产端主要由两个线程协调运行。这两条线程分别为main线程和sender线程(发送线程)。1.1拦截器拦截器的作用是实现消息的定制化(类似于:Spring Interceptor、Mybatis的插件、Quartz的监听器)。这个拦截器是在那里定义的呢?List<String> interceptors = new ArrayList<>();interceptors.add("自定义的拦截器类全路径")

2021-05-15 16:55:19 350

原创 浅谈MQ-kafka基本操作

kafka的基本操作这里以docker部署的kafka为例# 如果是使用wurstmeister/kafka镜像docker exec -it <containerID> /bin/shcd /opt/kafka # kafka 安装目录cd /kafka # topic消息记录文件目录创建topicsh kafka-topics.sh --create --zookeeper 192.168.1.40:2181 --replication-factor 3 --partit

2021-05-15 16:52:59 457

原创 浅谈MQ-Kafka部署

Kafka的单机安装部署1.原生安装下载kafkahttps://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz安装过程安装过程非常简单,只需要解压就行,因为这个是编译好之后的可执行程序tar -zxvf kafka_2.11-2.0.0.tgz 解压配置zookeeper因为kafka依赖于zookeeper来做master选举一起其他数据的维护,所以需要先启动zookeeper节点kafka内置了zookeeper的服务

2021-05-15 16:49:24 240

转载 浅谈 Kubernetes 中的服务发现

浅谈 Kubernetes 中的服务发现Kubernetes 服务发现是一个经常让我产生困惑的主题之一。本文分为两个部分:网络方面的背景知识深入了解 Kubernetes 服务发现要了解服务发现,首先要了解背后的网络知识。这部分内容相对浅显,如果读者熟知这一部分,完全可以跳过,直接阅读服务发现部分。开始之前还有一个需要提醒的事情就是,为了详细描述这一过程,本文略长。Kubernetes 网络基础要开始服务发现的探索之前,需要理解以下内容:Kubernetes 应用运行在容器之中,容器处于 P

2021-05-15 16:43:48 247

原创 尝试分析J.U.C的ConcurrentHashMap

尝试分析J.U.C的ConcurrentHashMap(JDK1.8)ConcurrentHashMap的初步使用及场景ConcurrentHashMap 是 J.U.C 包里面提供的一个线程安全并且高效的 HashMap,所以 ConcurrentHashMap 在并发编程的场景中使用的频率比较高api使用ConcurrentHashMap 是 Map 的派生类,所以 api 基本和 Hashmap 是类似,主要就是 put、 get 这些方法,接下来基于 ConcurrentHashMap 的

2021-03-14 14:23:36 158

转载 PV、PVC、StorageClass讲解

PV、PVC、StorageClass讲解转载: 昀溪-PV、PVC、StorageClass讲解为了方便开发人员更加容易的使用存储才出现的概念。通常我们在一个POD中定义使用存储是这样的方式,我们以hostpath类型来说:apiVersion: v1kind: Podmetadata: name: mypodspec: containers: - image: nginx name: mynginx volumeMounts: - mountPath: /

2020-10-24 00:09:58 1193 1

原创 K8S无法拉取私有仓库镜像解决

K8S无法拉取私有仓库镜像解决问题:K8S部署pod 从Harbor拉取镜像报错:repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied解决方法:配置添加项目所在命名空间的私有仓库秘钥,以便拉取镜像时完成认证过程//这里的别名在引用时需要用到,尽可能和命名空间一致kubectl create secret docker-regist

2020-10-24 00:09:18 2161

转载 docker的/var/run/docker.sock参数

docker的/var/run/docker.sock参数转载-程序员欣宸关于/var/run/docker.sock参数在创建docker容器时,有时会用到/var/run/docker.sock这样的数据卷参数,例如以下docker-compose.yml,可以看到kafka容器的数据卷参数带有/var/run/docker.sock:version: '2'services: zookeeper: container_name: zookeeper image: wurs

2020-10-24 00:03:39 1465

原创 自定义mybatis-generator生成mapper代码

自定义mybatis-generator生成mapper代码我是基于tk.mybatis.mapper.generator.MapperPlugin插件进行一个微小的拓展,大多数还是基于MapperPlugin逻辑进行处理,这里非常感谢tk.mybatis作者为我们提供源码基础。tk.mybatis.mapper-generator源码地址https://repo1.maven.org/maven2/tk/mybatis/mapper-generator/1.1.5/通过继承PluginAdapter

2020-09-08 17:35:31 896 2

原创 一次线上JVM内存溢出分析,GC分析、MAT、gcviewer

maxHttpHeaderSize带来的问题前因我们的服务是部署在docker容器中,使用SpringBoot框架搭建的微服务,jdk版本是open jdk 1.8_u201版,内存分配了4G,共部署了4个微服务,使用gateway作为网关负载均衡。有一天运营团队通知我,我们的服务不能访问,访问的页面都是没有数据的;我随即查看我们的系统运行状况,我是通过docker exec -it <容器ID> jstat -gcutil <pid> 1000来查看的;发现系统的年轻代占用50

2020-08-17 00:26:53 1267

原创 TypeError: Cannot read property 'getUserMedia' of undefined

出现这个异常可以参考MediaDevices.getUserMedia()以下是我的截图意思是必须使用HTTPS加密通信才能获取getUserMedia()

2020-02-28 10:19:22 18183 1

原创 使用certbot在nginx搭建HTTPS 以及 阿里云负载均衡HTTPS搭建

使用certbot在nginx搭建HTTPScertbotcertbot官⽹apache配置文档安装证书自动工具 certbotyum install -y epel-release yum -y install yum-utils yum-config-manager --enable rhui-REGION-rhel-server-extras rhuiREGION-rhel-s...

2019-10-17 09:26:03 889 1

原创 SCP不用密码传输文件

SCP不用密码传输文件方法一:使用sshpassyum install sshpasssshpass -p password scp /data/scripts/data.log [email protected]:/data/data.log方法二:公钥登录每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性。在本机生成密钥对使...

2019-10-16 09:35:51 590

原创 Alpine Linux 中的 apk 命令讲解

Alpine Linux 中的 apk 命令讲解Alpine Linux是一个面向安全应用的轻量级Linux发行版。它采用了musl libc和busybox以减小系统的体积和运行时资源消耗,同时还提供了自己的包管理工具apk。/ # apkapk-tools 2.8.2, compiled for x86_64.usage: apk COMMAND [-h|--help] [-p|...

2019-10-16 09:34:58 903

原创 4.DockerFile解析 以及 本地镜像发布到阿里云上

DockerFileDockerFile是什么?DockerFile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本构建三步骤:1.编写DockerFile 2.docker build 3.docker run简单的CentOS6.8 DockerFile为例:FROM scratch # 源镜像MAINTAINER The CentOS Pro...

2019-10-16 09:33:49 555

原创 3.Docker容器原理

Docker容器原理Docker是什么?镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件UnionFS(联合文件系统)Union文件系统是一种分层、轻量级并且高性能的文件系统,他支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。Union...

2019-10-16 09:32:39 211

原创 2.Docker常用命令

Docker常用命令Docker帮助命令docker versiondocker infodocker --helpUsage: docker [OPTIONS] COMMAND [arg...]- OPTIONS 可以忽略- COMMAND 常用命令- arg... 常用命令的参数Docker镜像命令#列出本地镜像模板docker imagesPREPOSITORY...

2019-10-16 09:31:34 138

原创 1.CentOS安装DockerCE手册

CentOS7安装DockerCE手册相关参考文档Docker-CE CentOS install卸载旧版本较旧版本的Docker被称为docker或docker-engine。如果已安装这些,请卸载它们以及相关的依赖项。$ sudo yum remove docker \ docker-client \ docke...

2019-10-16 09:30:10 301

原创 使用Docker安装Jenkins

使用Docker安装Jenkins镜像准备docker run -u root --rm -d -p 8024:8080 -p 50000:50000 \ -v /data/jenkinsData:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/localtime:/e...

2019-10-16 09:26:50 266

原创 jvm指令工具

jps查看java中运行的进程jconsole图形化界面,查看java运行信息jstat 分析GC情况jstat -gcutil <监控时间间隔(毫秒)>jstat -gcutil 47980 1000S0 S1: 代表两个Survivor区E: 代表 Eden 区O: (Old)代表老年代M: (Metaspace)代表元空间YGC: (Young GC)代表...

2019-10-16 09:25:33 118

原创 Access denied for user 'dev'@'localhost' (using password: YES”)解决方案

Access denied for user ‘dev’@‘localhost’ (using password: YES”)解决方案问题描述当使用一下命令登录时可以登录到mysqlmysql -udev -h12.13.112.43 -p12345678当使用一下这条命令登录时就会提示出错mysql -udev -h127.0.0.1 -p12345678或者mysql -ude...

2019-07-28 23:10:59 1562

原创 了解DDOS攻击

了解DDOS攻击1. 什么事DDOS攻击?分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。例子:我开了一家有五十个座位的重庆火锅店,由于用料上等,童叟无欺。平时门庭若市,生意特别红火,而对面二狗家的火锅店却无人问津。二...

2019-06-28 15:49:03 496

原创 Windows下安装RabbitMQ

Windows下安装RabbitMQ搭建RabbitMQ环境下载RabbitMQ下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15.exe下载Erlang下载地址: http://erlang.org/download/otp_win64_21...

2019-06-28 15:47:59 139

原创 CentOS7下使用rpm安装RabbitMQ

CentOS下安装RabbitMQ安装Erlang1.安装依赖环境yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel2.下载Erlangwget http://erlang.org/download/otp_src_21.3.tar.gz3.解压&amp...

2019-06-28 15:46:16 4186 3

原创 git上传远程库错误“fatal: sha1 file '<stdout>' write error: Broken pipe”解决方案

前因在一次git提交远程库时候,发现代码上传一部分就突然爆出fatal: sha1 file '&lt;stdout&gt;' write error: Broken pipe错误。解决方案网上google一波后,原因是因为上传时间太长了,导致ssh连接超时断开。解决方案是将linux的ssh超时时间调整,在服务器上,打开SSH服务的配置文件:/etc/ssh/sshd_...

2019-03-07 23:08:19 23038 1

原创 java.util.concurrent包之 LinkedBlockingQueue 阻塞队列 学习笔记

LinkedBlockingQueue 类图LinkedBlockingQueue 中也有两个 Node 分别用来存放首尾节点,并且里面有个初始值为 0 的原子变量 count 用来记录队列元素个数,另外里面有两个 ReentrantLock 的独占锁,分别用来控制元素入队和出队加锁,其中 takeLock 用来控制同时只有一个线程可以从队列获取元素,其他线程必须等待,putLock 控制同时...

2019-02-23 16:29:51 745

原创 java.util.concurrent包之ArrayBlockingQueue 阻塞队列 学习笔记

描述ArrayBlockingQueue 是一个有界的阻塞队列,其内部实现是将对象放到一个 数组里。有界也就意味着,它不能够存储无限多数量的元素。它有一个同一时间能够存储元素数量的上限。你 可以在对其初始化的时候设定这个上限,但之后就无法对这个上限进行修改了(译者注:因为它是基于数组实 现的,也就具有数组的特性:一旦初始化,大小就无法修改)。ArrayBlockingQueue 类图...

2019-02-23 09:43:40 504

转载 java Lock 以及lockInterruptibly

Lock接口的 线程请求锁的 几个方法:lock(), 拿不到lock就不罢休,不然线程就一直block。 比较无赖的做法。tryLock(),马上返回,拿到lock就返回true,不然返回false。 比较潇洒的做法。带时间限制的tryLock(),拿不到lock,就等一段时间,超时返回false。比较聪明的做法。下面的lockInterruptibly()就稍微难理解一些。先说...

2019-02-23 09:26:11 1701

原创 java.util.concurrent包之ForkJoinPool 合并和分叉(线程池)学习笔记

前言ForkJoinPool 在 Java 7 中被引入。它和 ExecutorService 很相似,除了一点不同。ForkJoinPool 让我们可以 很方便地把任务分裂成几个更小的任务,这些分裂出来的任务也将会提交给 ForkJoinPool。任务可以继续分割成更小 的子任务,只要它还能分割。可能听起来有些抽象,因此本节中我们将会解释 ForkJoinPool 是如何工作的,还有任 务分...

2019-02-21 23:41:16 1455

原创 nginx+tomcat架构 文件上传进度条问题

前因最近做了个项目,访问量比较大,于是采用1台nginx,多个tomcat进行负载均衡、集群架构,其中在我的项目中有文件上传功能,写了文件上传进度监控程序。没使用nginx时上传进度能正常显示,用了之后进度不显示了,然后等待很久才出现上传成功;后端附件服务器使用阿里云的oss,刚刚开始做的时候是监听OSS上传进度。经过使用nginx+tomcat上传时的情况:使用tomca...

2019-02-21 22:52:05 562

转载 集合及concurrent并发包总结

1.集合包    集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放Key-Value形式的键值对。  Collection中最常用的又分为两种类型的接口:List和Set,两者最明显的差别为List支持放入重复的元素,而Set不支持。List最常用的实现类有:ArrayList、LinkedList、Vector及St...

2019-02-20 21:32:21 239

转载 请注意,java中没有引用传递

今天在论坛上有人提了一个关于java中调用函数时有没有引用传递的问题,可谓是吵的不可开交。有人说java只有值传递,也有人说java既有值传递也有引用传递,那么java中到底有没有引用传递呢,下面我来分析一下。一、首先来明确一下"值传递"和"引用传递的"区别值传递:是对所传递参数进行一次副本拷贝,对参数的修改只是对副本的修改,函数调用结束,副本丢弃,原来的变量不变(即实参不变)引用传递:...

2019-02-19 22:29:49 3009 4

原创 IntelliJ 启动tomcat卡住在Deployment of web application directory解决方案(超完美解决)

一、前因    最近项目需要经常使用maven打包发布到服务器上,打包的时候遇到缓存是很正常的事情,按常规都是使用 maven clean 命令清理target文件夹,但在清理次数多了的时候偶尔发现:清理完成后使用IntelliJ启动tomcat测试时,发现程序一直卡在这里18-Feb-2019 16:32:51.812 信息 [localhost-startStop-1] org.ap...

2019-02-18 23:27:50 38457 6

原创 Python学习笔记-浅析CPython解析器 GIL(全局解释器锁)

前言最近学习python语法,在学习中遇到一些知识点想记录下来,方便日后巩固复习! 什么是GIL(全局解释器锁)首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,INTEL C++,Visual C++等。Pyth...

2019-01-03 22:57:10 665

原创 vue 解决addRoutes动态添加路由后刷新失效问题(跳转“404”页面)

这篇文章主要介绍了vue 解决addRoutes动态添加路由后刷新失效问题,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧前言某些场景下我们需要利用addRoutes动态添加路由,但是刷新后就会失效,前段时间项目里刚好遇到了这个应用场景,所以就花时间研究了一下,做下分享跟记录,说的不对的地方,请大家指正。应用场景:用户a登录进系统,用户挑选店铺后跳转到店铺详情首页,进入到动态...

2018-12-21 12:49:26 26728 23

原创 最详细的CentOS7下搭建git服务器

第一步:升级|安装git最新版1. 查看 yum 源仓库的 Git 信息:yum into git可以看出,截至目前,yum 源仓库中最新的 Git 版本才 1.8.3.1,而查看最新的 Git 发布版本,已经 2.9.2 了。2. 依赖库安装# yum install curl-devel expat-devel gettext-devel openssl-d...

2018-12-16 17:10:09 753 2

原创 TCP的3次握手与4次挥手

TCP通信的整个过程,如下图: ​三次握手两个序号和三个标志位:(1)序号:seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。(2)确认序号:ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,ack=seq+1。(3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:(A)URG:紧急指针...

2018-12-04 00:35:14 151

notepad++解析json插件

notepad++解析json插件,可以直接把json拷贝到notepad++解析

2018-06-14

已破解的sublime text 3 3143

一个已破解的前端开发的编辑器:sublime text 3:3143,可以方便广大学者开发前端技术。内容包括破解码,安装程序

2018-05-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除