自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一往无前的博客

死磕技术,一往无前

  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 史上最全面的分布式微服务权限控制、会话管理的详细设计和实现

传统的单体架构我们都知道直接用拦截器拦截用户请求再结合shrio、spring security等就可以做出相应的权限控制。但如果现在将服务拆分成多个微服务,又该怎么设计相应的权限架构?

2020-12-01 18:45:48 8153 9

原创 【华为OD机试真题-运输时间-Java/C++/Python/C#/golong实现】

华为OD真题-运输时间

2024-01-03 20:22:43 473

原创 nginx+tomcat部署前端VUE项目和后端springboot项目并以https访问(二)

接上一篇SpringBoot+Tomcat+Coding+Jenkins自动化构建部署(一),上篇文章完成了后端自动化构建部署,这篇文章继续完成前端VUE项目的自动化构建部署并以https的方式访问。

2022-04-22 13:30:08 3730

原创 SpringBoot+Tomcat+Coding+Jenkins自动化构建部署(一)

网上很少见有完整的自动化构建部署过程,本篇文章记录一下自己的一个小项目自动化部署的全过程以及其中需要注意的一些小问题。前情提要:Jenkins安装篇Jenkins安装SpringBoot需要配置的地方pom.xml需要内置的tomcat移除添加<packaging>war</packaging><?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/P

2021-11-19 21:38:04 1330

原创 Linux环境用FFmpeg给视频加水印详细步骤

FFmpeg给视频添加水印,根据官方文档的介绍可以知道FFmpeg在编译安装的时候还需要加 –enable-libfreetype、–enable-libfontconfig、–enable-libfribidi 这几个参数,而这几个组件又需要从外面编译安装,我看很多博主直接用FFmpeg加水印,但是没有详细的组件安装过程,下面主要介绍一下这些组件包括FFmpeg的编译安装完整过程。安装环境centos7.6安装freetype从freetype官网去找一个版本下载下来wget https:/

2020-12-04 18:04:45 1734 1

原创 异常Exception字典

下面都是平时学习中遇到的不常见的异常,后面会持续更新…1、The org.apache.shiro.session.mgt.DelegatingSession implementation requires that the SessionKey argument returns a non-null sessionId to support the Session.getId() invocations.解决:...

2020-11-29 12:22:13 619

原创 springboot怎样构造树形结构数据并查询?

因为项目需要,页面上需要树形结构的数据进行展示(类似下图这样),因此需要后端返回相应格式的数据。不说废话,直接开干!!!我这里用的是springboot+mybatis-puls+mysql,示例的接口是查询一级权限以及二级权限、三级权限整个权限树…下面是导入的maven依赖 <!--数据库连接--> <dependency> <groupId>com.alibaba</groupId>

2020-11-16 22:27:47 5140 6

原创 树的应用——哈夫曼编码(C语言版)

利用哈夫曼编码进行通信可以大大提高信道的利用率,缩短信息传输的时间,降低传输成本。根据哈夫曼编码的原理,编写一个程序,在用户输入结点权值的基础上求哈夫曼编码。从键盘输入若干字符及每个字符出现的频率,将字符出现的频率作为结点的权值,建立哈夫曼树,求出各字符的哈夫曼编码。要求:1.输出存放哈夫曼树的数组HT的初态和终态;2.输出每个字符的哈夫曼编码;3.输入一个字符串,对字符串进行编码并输出;4.(选作)输入一串以哈夫曼编码方式编码的二进制码,进行译码并输出。运行截图如下,输入结点的个数和每个结.

2020-11-09 09:28:55 3535

原创 java怎样实现动态数组?

在学习Tomcat源码时看到很多地方都用到了动态数组的设计,而不是直接使用集合。这种方法很值得我们学习借鉴,所以在此单独拿出来学习讨论。比如其中向容器Server增加service的方法如下(其中与本文讨论无关的代码已省略):private Service services[] = new Service[0]; public void addService(Service service) { Service results[] = new Service[servi

2020-11-08 13:20:21 3524

原创 深入分析理解java类加载器ClassLoader的加载机制

1、什么是类加载器?可以看到上面这个简单流程就是我们运行java代码的整个过程,首先JVM将java源文件编译成.class字节码文件,然后用类加载器将class文件载入到内存供我们使用。可以看出ClassLoader在其中扮演着非常重要的作用。2、java中有哪些类加载器?首先我们需要知道JVM基础自带的默认三种类加载器,分别是启动类加载器Bootstrap ClassLoader、扩展类加载器Extension ClassLoader、应用程序类加载器Application ClassLoade

2020-10-09 20:17:30 6146

原创 浅谈Dockerfile中ENTRYPOINT和CMD的区别

我们在看他们的区别的之前首先需要明白一点:ENTRYPOINT和CMD都是用来指定容器启动时运行的命令。再来看看什么是exec模式和shell模式:exec模式FROM centos:7.2CMD ["top","-b"]shell模式FROM centos:7.2CMD top -b上面的例子也一目了然了,说得直白点,exec模式它的命令形式是双引号+数组的形式;而shell模式则是直接写出我们需要在容器中运行的命令。CMD和ENTRYPOINT都支持这两种模式。(上.

2020-09-28 16:18:14 982

原创 Dockerfile的CMD指令报错:no such file or directory”: unknown.

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused “exec: “/bin/echo”: stat /bin/echo: no such file or directory”: unknown.这是我的Dockerfile文件:FROM hello-worldCMD ["/bin/echo","this is a

2020-09-27 20:30:55 5543

原创 Java聊天室(实现群聊、私聊功能)GUI界面

不说废话,先看效果,目前实现的基本功能有一对一私聊。一对多群聊。1、先启动服务端,等待客户端连接…。2、启动三个客户端,代表不同的用户。右上角分别选择不同的用户进行登录。3、登录的用户可对所有用户发送消息,也可以对某个用户发送消息。下面是具体的代码实现(采用传统的BIO实现,也可参考我另一篇博客NIO实现其中的功能)。server端代码:import java.io.*;import java.net.*;import java.util.*;/*server端 */p

2020-09-22 19:51:05 10558 39

原创 同步阻塞IO和IO多路复用原理及实践

在很久很久以前,我们需要从

2020-09-02 11:26:50 447

原创 缓存穿透以及布隆过滤器的原理介绍及使用

1、如果查询的数据在缓存中和数据库中不存在,带来的额外的IO操作和开销怎么办?将要查询的数据的value设为null放在缓存中2、如果用户频繁基于一个key进行请求该怎么处理?上面存了很多无用的key=null的键值对,该怎么处理?如何从大量的、无规则、不重复的元素中快速判断某元素是否存在?我们可以在请求Redis之前加一层filter:首先我们需要考虑两点:对于存储key的容器占用空间要小可以快速查找     首先占用空间最小想.

2020-08-27 16:27:24 720

原创 JS上传图片文件到腾讯云对象存储COS

上传图片到腾讯云主要有两个步骤:1、鉴权2、开始上传需要引入两个JS文件:cos-js-sdk-v5.min.js和jquery-2.1.4.min.js,这两个文件的链接我已放在后面。鉴权可以直接使用SecretId和SecretKey生成cos对象,但把SecretId和SecretKey暴露在前端页面这样不太安全,我们采用从服务端申请临时秘钥的方式生成cos对象。 上传成功后的图片链接也可以通过域名+自定义key拼接生成,如下。前端页面全部代码如下:<!DOCTYPE html&gt

2020-08-20 20:41:20 2788 7

原创 FFmpeg混流:将两个视频放在一个画布并以rtmp流输出

1、将其中一个视频置于画布右下角(这种情况直播用的最多,这也是我用FFmpeg想要实现的效果)命令如下:./ffmpeg -i 飞驰人生HD国语中字.mkv -i 小丑BD中英双字.mp4 -filter_complex \"[0:v]scale=1080:720[a];[1:v]scale=250*200[b];[a][b]overlay=(main_w-overlay_w):(main_h-overlay_h-100)" -f flv rtmp://132.232.44.239:1945/liv

2020-07-19 16:34:54 2062

原创 360极速浏览器不能添加hls插件,怎样播放m3u8视频?

谷歌和火狐浏览器都可以在扩展程序添加Native HLS Playback插件播放m3u8视频,但是360搜了一下没有类似的插件。那怎么办呢,有个好办法就是大家可以简单粗暴直接换成Chrome浏览器,但是好多对于很多用惯了360极速浏览器的小伙伴来说这不可能!!!360极速浏览器用的也是Chrome的内核,应该也是支持该插件的,所以这边我把Chrome中的m3u8播放插件打包了一份放在百度网盘上,大家可以下载下来链接:https://pan.baidu.com/s/1yY_BdokI3BK_NLy3

2020-07-15 17:47:01 5999

原创 开发基于truffle的应用时truffle init失败

安装好truffle后我们需要用命令truffle init初始化一个应用,但是报错了,如下:因为这里我用的是云服务器来开发,所以就不存在大家说的连手机热点这回事,所以这种方法无效,还有人说改hosts或替换Google的hosts文件,均试过,无效…后来我又连续用truffle init命令试了下,居然有成功了,就是这么神奇…大家电脑上实在出不来的,我已经把初始化后的文件放在百度网盘了,大家可以去下载下来:链接:https://pan.baidu.com/s/1KlRU3qidQkZRaAfpa

2020-07-14 09:26:12 695

原创 kubeadm init报错:6443、10251等端口被占用

使用kubeadm init时报错,6443、10251、10252端口被占用导致不能初始化。按照很多博主的方法使用kubeadm reset就可以解决这种问题,但是我试了很多次无果依然还是报这个错,于是只能采用最原始的方法了…既然端口被占用,那就看一下是什么服务把这个端口占用了:看一下6443端口被占用的服务:netstat -anp|grep 6443可以看到是kube-apiserver这个服务占用了这个端口,然后用命令看一下这个服务运行的状态:systemctl status kub

2020-07-12 10:15:33 5647 2

原创 java类成员加载执行顺序

父类的静态字段——>父类静态代码块——>子类静态字段——>子类静态代码块——> 父类成员变量(非静态字段)——>父类非静态代码块——>父类构造器——>子类成员变量——>子类非静态代码块——>子类构造器...

2020-07-10 19:24:55 219

转载 使用kubectl命令报错

The connection to the server localhost:8080 was refused - did you specify the right host or port?(1)在master节点上执行scp -r /etc/kubernetes/admin.conf 10.170.39.10:/etc/kubernetes/admin.conf然后根据提示输入yes(2)在从节点上执行echo export KUBECONFIG=/etc/kubernetes/admin

2020-07-05 20:04:15 1172

原创 将多个MP4通过FFmpeg工具合并成一个MP4文件

原本想着通过java的IO流的方式进行MP4文件的合并,但是合并完成后发现并不是真正合并,文件的size是合并了,但是只能观看一个MP4文件,经过查询用FFmpeg合并MP4挺好使的,大体流程是:(1)1.MP4—>1.ts 将单个MP4文件转换为ts文件(2)1.ts、2.ts…n.ts—>output.mp4 将转换后的多个ts文件合并成MP4文件步骤也挺简单的,就两行命令:ffmpeg -i test1.mp4 -vcodec copy -acodec copy -vbsf

2020-07-03 10:33:19 4392 2

转载 nginx的proxy_pass

在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。第一种:location /proxy/ {proxy_pass http://127.0.0.1/;}代理到URL:http://127.0.0.1/test.html第二种(相对于第一种,最后少一个 / )location

2020-06-04 20:48:57 142

原创 使用@Autowired注解RestTemplate报错

@Autowired private RestTemplate restTemplate;报错如下:Field restTemplate in com.mobisys.util.RestTemplateUtil required a bean of type 'org.springframework.web.client.RestTemplate' that could not be found.解决方法,Spring Boot >= 1.4需要手动创建RestTemplate对象,

2020-06-02 15:34:20 3002

原创 在webstorm打开html页面报错:404 Not Found

报错:404 Not Found解决如下:防火墙开放WebStorm程序–>重启WebStorm–>OK

2020-06-01 14:42:18 1335

原创 Error writing trailer of ****:Broken pipe

SRS直播用FFmpeg转码报错:[flv @ 0x3e733c0] Failed to update header with correct duration.[flv @ 0x3e733c0] Failed to update header with correct filesize.Error writing trailer of rtmp://127.0.0.1:1935/live?vhost=defaultVhost/26347_31e2d7e3ce2d4d378ad2887cf559d52

2020-05-25 14:42:58 7702 8

原创 docker方式运行SRS

本来没想部署docker的SRS,刚开始是裸机部署的SRS,后面要用到FFmpeg转码于是又单独装了一个FFMPEG(音频编码器(fdk-aac)和视频编码器(x264)也分别编译完成了才编译安装的FFmpeg,但是折腾了半天弄出来FFmpeg直播转码一直失败,解决了一个一个的错误之后还是不能成功,后面又单独用docker部署了个SRS(因为docker部署SRS自带就有FFmpeg安装好了),没想到一推流、一转码居然成功了,下面说下步骤:(1)docker镜像不用docker-hub官方的,用阿里云的镜

2020-05-18 14:09:46 3048 1

原创 搭建SRS直播服务器

安装环境:1、如果没有git先装一个git:yum -y install git安装完成用命令git --version测试是否安装成功:2、参考SRS文档进行安装:(1)Get SRSgit clone https://gitee.com/winlinvip/srs.oschina.git srscd srs/trunkgit remote set-url origin https://github.com/ossrs/srs.gitgit pull(2)Build SR

2020-05-13 22:21:16 1229

原创 EL1007E: Property or field '***' cannot be found on null

在做springboot项目时报了个这个错:报错原因:(是因为调用下面这个方法报错,因为返回的值为null,而缓存key不能为null,就报错了)因为我直接操作数据库把某一行删除了,现在去查询数据的时候这一行的值还在缓存里面,因此最好不要在数据库里面直接删除数据,最好通过调用方法删除数据,同时用@CacheEvict注解删除缓存中的数据。...

2020-05-06 13:27:31 14803

原创 服务器部署VUE项目显示空白?

我的情况是页面显示空白,但是title能显示出来,这个问题我捣鼓了还几天,网上大多数解法都是assetsPublicPath这个路径、index.html中引用静态文件的路径改成相对路径就OK了,但是我统统都试过了,都不起作用。后面才看到报了个错:**“ReferenceError: “Promise”未定义",**这个错解决就很简单了:cnpm install --save babel-po...

2020-04-25 17:07:32 1716

原创 Docker安装Jenkins,Jenkins插件不能安装

Docker版本(Docker安装请见docker安装):(1)进入docker-hub网站搜索Jenkins镜像直接输入命令:docker pull jenkins输入docker images可以看到Jenkins镜像已经下载成功:(2)官方文档下面有如何启动Jenkins的方法,我们就按照官方推荐的来:(3)这里我使用端口8010映容器的8080端口,输入命令:dock...

2020-04-25 16:41:28 1037

转载 Linux安装Docker并设置镜像源

安装环境:(1)更新yum包:yum update(2)安装需要的软件包yum install -y yum-utils device-mapper-persistent-data lvm2(3)设置docker的yum源(阿里)yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/ce...

2020-04-25 14:32:17 3587 2

原创 SpringBoot使用RestTemplate发起GET和POST请求

不说废话,先贴代码:网上好多代码放到自己机器上错误一大堆,今天刚好有空就自己写了http工具类,下面代码都是在SpringBoot基于环境的(RestTemplate类在spring-boot-starter-web包里面),大家可以根据自己情况自行改变…(1)RestTemplate实例的配置类:@Configurationpublic class RestConfig { pu...

2020-04-11 17:29:30 2240

原创 git的邮箱尖括号里面显示的是密码???

不知道git的什么奇葩设定,在一次的项目commit过程中我居然发现我的密码怎么显示在邮箱那一栏,就像下面这样:然后在命令行(git config user.email)一查看,果然邮箱被替换成了密码(密码居然是明文的,只想说git辣鸡):然后马上用命令(git config --global user.email “****”)把密码换回邮箱了:(当然了,你想换用户名上面命令直接把e...

2020-04-08 22:32:21 533

原创 前端VUE+springcloud+gateway怎样解决跨域问题?

1、如果是springboot的项目,则可以直接在Controller类上添加一个注解,或者添加一个配置类允许跨域请求访问。配置类如下:```javaimport org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import or...

2020-01-15 11:21:57 5261 2

原创 输入redis-cli.exe -h 127.0.0.1 -p 6379命令没有反应

我的是在Windows上安装完Redis后出现此问题的,安装完Redis后先在一个窗口输入命令redis-server.exe redis.windows.conf启动服务器,如下图:然后打开另一个窗口使用命令redis-cli.exe -h 127.0.0.1 -p 6379连接此服务(端口是6379),但是此时输入完命令后就没反应了,没有错误提示也没有终止…解决办法:关掉防火墙即可…(...

2019-11-30 10:22:54 8930

转载 git中SSH和HTTP连接有什么区别

git中SSH和HTTP连接有什么区别1.首先需要检查你电脑是否已经有 SSH keycd ~/.sshls.ssh表示ssh文件是个隐藏文件 查看是否存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么可以跳过步骤2,直接进入步骤3。 2.创建一个 SSH key ssh-keygen -t rsa -C "your_email@example.c...

2019-11-27 14:53:42 7189

原创 停车场管理(C语言版)

      设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北段),若停车厂内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车迹可开入;停车场内某辆车要离开时,在它之后进入的车...

2019-10-11 23:16:14 6433 5

转载 VMvare中的虚拟机点击没反应

之前用还正常,今天一进去点击虚拟机没反应,如下图:后来大家说关掉防火墙就可以了,然后我又关掉防火墙又试了一下,再点击这次弹出了个对话框,如下图:然后按照上面提示框给出的配置文件路径找出所有后缀为.lck的文件夹,并将这几个文件夹全部删除。如下图:然后再打开这个虚拟机,发现点了开机还是没反应,并且在这个目录下又同样生成了三个后缀为.lck的文件夹,我又再删除了一遍,又重新进入又可以了。参考文...

2019-10-04 21:27:35 4182

哈夫曼编码C语言实现-利用哈夫曼编码进行通信可以大大提高信道的利用率

利用哈夫曼编码进行通信可以大大提高信道的利用率,缩短信息传输的时间,降低传输成本。根据哈夫曼编码的原理,编写一个程序,在用户输入结点权值的基础上求哈夫曼编码。 从键盘输入若干字符及每个字符出现的频率,将字符出现的频率作为结点的权值,建立哈夫曼树,求出各字符的哈夫曼编码。要求: 1.输出存放哈夫曼树的数组HT的初态和终态; 2.输出每个字符的哈夫曼编码; 3.输入一个字符串,对字符串进行编码并输出; 4.(选作)输入一串以哈夫曼编码方式编码的二进制码,进行译码并输出。

2024-01-03

一键登录,实现群聊、私聊功能的java聊天室

java聊天室,采用BIO通信方式,支持群聊天,私聊功能,GUI界面,一键登录.。

2020-11-10

树的应用——哈夫曼编码(C语言版)

构建Huffman树,详细展示Huffman的初态和终态,通过Huffman树生成Huffman编码。

2020-11-09

空空如也

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

TA关注的人

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