自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

和光同尘的博客

Try to produce elegant and efficient code

  • 博客(98)
  • 资源 (1)
  • 收藏
  • 关注

转载 Nginx添加/替换/更新ssl证书

一般来讲,我们拿到的官方证书,不是最终的证书,而是一个中间证书gd_bundle-g2-g1.crt和一个根证书3cxxxxx.crt,需要我们把两个证书合成一个最终的证书,这里如果顺序错误,就会出现问题。为了避免空格出现,可以通过cat 3cxxxxx.crt gd_bundle-g2-g1.crt > ca_****.crt来生成证书。# crt文件的路径。另外生成证书,可以通过如下openssl自带的工具检测私钥与证书是否匹配,如果两个结果一致,则表明私钥和证书是匹配的,可以正确启动nginx。

2024-01-04 17:20:06 399

转载 web开发中 web 容器的作用(如tomcat)

servlet没有main方法,那我们如何启动一个servlet,如何结束一个servlet,如何寻找一个servlet等等,都受控于另一个java应用,这个应用我们就称之为web容器。我们最常见的tomcat就是这样一个容器。如果web服务器应用得到一个指向某个servlet的请求,此时服务器不是把servlet交给servlet本身,而是交给部署该servlet的容器。要有容器向servlet提供http请求和响应,而且要由容器调用servlet的方法,如doPost或者doGet。

2023-09-15 14:40:52 209

转载 Java工程使用ffmpeg获取媒体信息及音视频拼接(ws.schild)

Java工程使用ffmpeg进行音视频格式转换(ws.schild)_和光同尘ss的博客-CSDN博客。

2023-06-30 16:46:47 950

原创 Java工程使用ffmpeg进行音视频格式转换(ws.schild)

ws.schild是基于ffmpeg的java工具包,是目前主流的对视频和音频进行转码、裁剪以及提取操作的java工具包

2023-06-30 16:35:50 10416 2

转载 ffmpeg安装及音频转换指令应用(win10)

ffmpeg简介ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。一、下载与安装1、官网下载安装包上面是最新release版本,下面是历史版本。essential版本包含了常用的库,用来支持一般应用的执行,full版本是完整构建,shared版本添加了头文件和库,用来学习和调试程序。

2023-06-30 16:01:32 2912

原创 服务限流方案总结

本文主要在学习和调研高并发场景下的限流方案的总结。目前业界流行的限流算法包括计数器、漏桶、令牌桶和滑动窗口, 每种算法都有本身的优点,实际应用中能够根据本身业务场景作选择,而分布式场景下的限流方案,也基本经过以上限流算法来实现。在高并发下流量控制的一个原则是:先让请求先到队列,并作流量控制,不让流量直接打到系统上。

2023-05-15 17:06:54 486

转载 MySQL连接报错No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

降低基础镜像的jdk版本,改为与本地一致的1.8.0_131。修改jdk的配置文件,去除对ssl协议的限制,可以参考。这个报错的意思是说连接协议被禁用或密码不对。本地连接没问题,容器部署后连接失败。

2023-05-12 18:26:07 8927 1

转载 负载均衡的硬件与软件实现方案

智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒等功能。Nginx负载均衡的实现,采用的是反向代理技术。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用做集群等。

2023-02-15 11:12:59 565

转载 虚拟IP的作用

比如存在物理机A(IP是192.168.192.54 )和物理机器B(IP是192.168.192.40),A作为对外服务的主服务器(比如数据库主库),B作为备份机器,两台服务器之间的通信是通过 Heartbeat,即主服务器会定时的给备份服务器发送数据包,告知主服务器服务正常,当备份服务器在规定时间内没有收到主服务器的 Heartbeat,就会认为主服务器宕机,则备份服务器就会升级为主服务器。事实上IP地址是主机硬件地址的一种抽象,简单的说,MAC地址是物理地址,IP地址是逻辑地址。

2023-02-14 16:48:06 938

转载 tcpdump抓包命令

通过以上结果只能做简单的分析,可以使用-w参数把数据包写入文件,文件中记录的数据包比命令行要详细的多。借助分析工具可以对文件进一步分析,这里推荐使用Wireshark,这个工具是开源的,开箱即用使用简单,这里不做详细介绍了。2.抓取的数据包通过length字段只能做一些简单的判断,想要详细分析,需要借助数据包分析工具,如:Wireshark。程序员日常排查问题,最常用的是使用过滤器功能获取指定端口的数据包,用来分析服务器是否收到请求、请求数据是否完整。tcpdump命令的参数很多,详见如下。

2022-12-13 17:51:59 6368

转载 内外网、出入口IP区分

当目的地址为公网ip,源地址(发起请求的设备地址)为内网时,数据包能够顺利到达服务器,但服务器无法将响应数据报回复回来(服务器回复的数据报的目的地址是内网地址)。当需要与第三方合作时,如果需要对方访问到自己的服务,则需要告知对方一个可访问的地址。3.与第2种方案类似,在办公网与机房建立一条虚拟线路,办公网设备拨号到IDC机房内网的vpn设备后,由vpn设备发起对IDC机房内网设备的访问。当需要与第三方合作时,如果需要访问对方的服务,则一般需要告知对方我们的出口ip,方便对方进行访问授权。

2022-12-13 17:50:10 12287

转载 mysql四类隔离级别

Serializable (串行化)、Repeatable read (可重复读)、Read committed (读已提交)、Read uncommitted (读未提交)

2022-10-27 16:51:42 2661

原创 Redis 有序集合实现排行榜(结合springboot实现)

Redis 有序集合(sorted set)和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。正是因为有分值,所以很适合用在排行榜业务中。下面举例对redis有序集合实现排行榜功能进行说明。比如,业务需要某用户近30日工具使用率的排行榜。

2022-10-14 17:23:31 1894

转载 常用的数据库设计技巧

后端开发的日常工作,需要不断的建库和建表,来满足业务需求。通常情况下,建库的频率比建表要低很多,所以,我们这篇文章主要讨论建表相关的内容。如果我们在建表的时候不注意细节,等后面系统上线之后,表的维护成本变得非常高,而且很容易踩坑。

2022-09-07 11:57:53 195

转载 MQ架构及底层原理

张大胖最近是又喜又忧,喜的是业务量发展猛增,忧的是由于业务量猛增,一些原来不是问题的问题变成了大问题,比如说新会员注册吧,原来注册成功只要发个短信就行了,但随着业务的发展,现在注册成功也需要发 push,发优惠券,…等这样光注册用户这一步就需要调用很多服务,导致用户注册都需要花不少时间,假设每个服务调用需要 50 ms,那么光以上服务就需要调用 200 ms,而且后续产品还有可能再加一些发新人红包等活动,每加一个功能,除了引入额外的服务增加耗时外,还需要额外集成服务,重发代码,实在让人烦不胜烦,张大

2022-05-26 17:02:03 1373

转载 IP资讯的最佳工具--ifconfig.co

基础使用:1、获取外网IP (Public IP)curl ifconfig.co/2、获取IP地址的国家资讯curl ifconfig.co/country3、获取IP地址的国家地区代码curl ifconfig.co/country-iso4、获取IP地址的城市资讯curl ifconfig.co/city5、以json文件格式显示IP的所有资讯curl ifconfig.co/json6、查看IP地址的指定Port位是否开放curl if..

2022-04-26 17:38:43 383

转载 计算机网络基础知识

如果说计算机把我们从工业时代带到了信息时代,那么计算机网络就可以说把我们带到了网络时代。随着使用计算机人数的不断增加,计算机也经历了一系列的快速发展,从大型通用计算机 -> 超级计算机 -> 小型机 -> 个人电脑 -> 工作站 -> 便携式电脑 -> 智能手机终端等都是这一过程的产物。计算机网络也逐渐从独立模式演变为了网络互联模式。独立模式:计算机在联网前都可以认为是独立模式,俗称单机模式,此时的计算机不会与其他计算机通信。图 1-1如图 1-1 可

2022-04-25 11:15:07 1259

转载 springboot 中做MultipartFile文件跨服务传输的方案汇总

方案一:一句话总结,将前端传入的MultipartFile文件转为字节流发送到其他服务。可以用RestTemplate也可以用HttpClient,以下是两种方法的说明。用RestTemplate做1.如果用RestTemplate的话首先需要把RestTemplate交给spring去管理所以先来一个配置类。@Configuration@SuppressWarnings("all")public class RestTemplateConfig { @Autowired.

2022-03-14 16:01:09 2337

转载 JVM参数 Options

我们根据JVM参数以-X开头或-XX开头将JVM参数分成三个部分: 1、以-开头的是标准VM选项,VM规范的选项; 2、以-X开头的都是非标准的(这些参数并不能保证在所有的JVM上都被实现),而且如果在新版本有什么改动也不会发布通知。 3、以-XX开头的都是不稳定的并且不推荐在生产环境中使用。这些参数的改动也不会发布通知。 Bool型参数选项:-XX:+ 打开, -XX:- 关闭。(比如-XX:+PrintGCDetails) 数字型参数选项通过-XX:=设定。数字可以是 m/M(兆字节),k/K

2021-11-17 17:18:31 1252

原创 导出docker容器中服务的dump文件

1、查看正在运行的容器iddocker ps2、拿到容器id,进入容器docker exec -it CONTAINER_ID /bin/bash或 docker exec -it CONTAINER_ID /bin/sh(上一个命令报错的情况下尝试)3、在容器内查询进程ps -ef|grep java4、生成dump文件jmap -dump:live,format=b,file=m.hprof PID文件名(m.hprof)5、容器内的文件拷贝到宿主机docker cp -a

2021-11-17 16:38:11 3950 1

转载 Cookie、Session、Token、Jwt的用途与区别

认证 Authentication百度百科中对于认证的解释是:身份验证(Authentication),在 .NET Framework 安全中,通过对照某些机构检查用户的凭据,发现和验证主体标识的过程。当然,今天我们来讨论肯定不会用这么生硬的词来解释的。 通俗地讲就是 验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功) 常见的认证方式: 用户名密码登录 邮箱发送登录链接 手机号接

2021-08-25 14:31:24 184

转载 高并发下如何保证接口的幂等性

接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。不知道你有没有遇到过这些场景: 有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回错误的结果(这种情况不可能直接返回失败吧?),

2021-04-16 14:19:38 424

原创 Spring Security 原理学习笔记

Spring Security主要包括两大功能:验证和鉴权。验证就是确认用户的身份,一般采用用户名和密码的形式;鉴权就是确认用户拥有的身份(角色、权限)能否访问受保护的资源。一、Security配置和Security相关的代码只需要一个类SecurityConfiguration(继承了WebSecurityConfigurerAdapter)二、验证流程​Authentication类:参与验证的要素(用户名、密码)在前端由表单提交,由网络传入后端后,会形...

2021-02-23 15:02:01 366

原创 Spring boot 结合redis实现消息队列

springboot(三)使用redis实现消息队列 https://blog.csdn.net/u012326462/article/details/80515955【Redis 笔记】(1)redis实现消息队列 https://www.jianshu.com/p/6b239ca31441

2021-02-04 16:45:36 229

原创 Seata

http://seata.io/zh-cn/docs/ops/deploy-guide-beginner.htmlhttps://mp.weixin.qq.com/s?__biz=MzU1Nzg4NjgyMw==&mid=2247484175&idx=1&sn=8275971f72d54a125faf3c25011ec116&scene=21#wechat_redirecthttps://zhuanlan.zhihu.com/p/183753774?utm_so.

2020-12-29 17:13:48 191

转载 java注解@Transactional事务类内调用注意事项

@Transactional 进阶1. @Transactional 注解的属性信息属性 描述 name 当在配置文件中有多个 TransactionManager , 可以用该属性指定选择哪个事务管理器 propagation 事务的传播行为,默认值为 REQUIRED isolation 事务的隔离度,默认值采用 DEFAULT timeout 事务的超时时间,默认值为-1。如果超过该时间限制但事务还没有完成,则自动回滚事务 read-on.

2020-12-28 16:11:43 5683

转载 Feign Ribbon Hystrix 三者关系

Feign介绍Feign是一款Java语言编写的HttpClient绑定器,在Spring Cloud微服务中用于实现微服务之间的声明式调用。Feign 可以定义请求到其他服务的接口,用于微服务间的调用,不用自己再写http请求,在客户端实现,调用此接口就像远程调用其他服务一样,当请求出错时可以调用接口的实现类来返回Feign是一个声明式的web service客户端,它使得编写web service客户端更为容易。创建接口,为接口添加注解,即可使用Feign。Feign可以使用Feign注解或者J

2020-12-14 11:27:57 321

转载 com.alibaba.fastjson.JSONObject之对象与JSON转换方法

com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串、JSON对象,JSON串转成java对象、JSON对象,JSON对象转换Java对象、JSON串等,使用方法总结如下。1、Java对象-->JSON对象(JSONObject)JSONObject.toJSON(Java对象实例) public class JSON2JavaTest{ public static void main(String[]

2020-12-07 19:57:20 1849

原创 HTTP长连接和WebSocket长连接的区别

要理解HTTP长连接和websocket长连接的区别,首先要理解一下什么是HTTP的长连接和短连接。一、HTTP的长连接和短连接区别首先需要消除一个误解:HTTP协议是基于请求/响应模式的,因此客户端请求后只要服务端给了响应,本次HTTP请求就结束了,没有长连接这一说。那么自然也就没有短连接这一说了。所谓的HTTP分为长连接和短连接,其实本质上是说的TCP连接。TCP连接是一个双向的通道,它是可以保持一段时间不关闭的,因此TCP连接才有真正的长连接和短连接这一说。HTTP协议是应用层的协议,

2020-11-10 16:04:42 8095 2

转载 rpm命令详解

RPM简介RPM是RedHat公司随RedhatLinux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装(像windows下安装软件一样)。1.安装软件:执行rpm -ivh rpm包名,如:# rpm -ivh apache-1.3.6.i386.rpm*******************************************rpm 参数解释:i 安装软件包v 显示附加信息h 安装时输出哈希标记(``#'')如果需要详细了解rpm的使用参见附录****

2020-11-09 13:01:25 24048

转载 【项目实践】SpringBoot三招组合拳,手把手教你打出优雅的后端接口

前言一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。如何构建这几个部分每个公司要求都不同,没有什么“一定是最好的”标准,但一个优秀的后端接口和一个糟糕的后端接口对比起来差异还是蛮大的,其中最重要的关键点就是看是否规范! 本文就一步一步演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有了规范,同时再构建新的后端接口也会十分轻松。 在文章末尾贴上了项目演示的github地址,clone下来即可运行,并

2020-11-04 15:12:44 109

转载 Windows安装MySQL

https://blog.csdn.net/u013235478/article/details/50623693

2020-09-09 18:00:33 101

转载 生产服务器变慢,分析排查方法

生产服务器变慢了,一般都是从这几点去分析:服务器整体情况, CPU 使用情况,内存,磁盘,磁盘 IO ,网络 IO。一、服务器整体情况(top)看服务器整体使用情况,一般都是 top 命令搞定我知道当你看到这张图的时候,肯定有点儿懵,特别是一个个的数字,这都是个啥?第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。一般情.

2020-09-04 10:10:08 605

原创 springboot配置数据库密码加密

1、加入依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version></dependency>2、到本地 jasypt 的jar包所在路径,打开cmd窗口注意:j

2020-08-21 16:06:56 813

原创 Spring Cloud Security:Oauth2学习笔记

https://kefeng.wang/2018/04/06/oauth2-sso/https://juejin.im/post/5dc013bae51d456e817cec30#heading-10https://juejin.im/post/5dc2bec6f265da4d4f65bebe#heading-6https://juejin.im/post/5dc95a675188256e040db43f#heading-1https://juejin.im/post/5f0affb6f26

2020-07-31 18:44:01 258

转载 HTTP状态码介绍,以及HTTP错误代码的故障修复?

转自:https://baijiahao.baidu.com/s?id=1609940322276045505&wfr=spider&for=pc肯定很多人都听说过HTTP 404 302 500等代码,那这些代码都代表什么?如何利用这些错误代码来发现你的WEB系统问题,已经最后如何解决修复这些问题。本文中,虫虫就和大家一起聊聊HTTP状态码,并告诉大家对常见的HTTP错误代码问题,及其修复方案。HTTP 状态码是一个客户发出请求时候,WEB服务器返回给客户的一个状态回应,常见HTT

2020-06-11 10:55:32 2993

转载 Java中Lambda表达式的使用

Java中Lambda表达式的使用简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.)Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一

2020-06-10 15:13:08 315

原创 Eclipse中配置Maven

1、maven下载配置环境变量2、eclipse中配置maven、参考资料

2020-05-14 18:34:20 221

原创 Elasticsearch安全认证的几种方法

名称 来源 下载地址 适用es版本 特点 安装教程 http-basic 开源 https://github.com/Asquera/elasticsearch-http-basic elasticsearch1.7以下的版本 1、配置简单 2、有白名单配置,白名单ip列表用户无需验证可直接访问,白名单外用户需用户名密码 3.由于白名单无法控制通过域名的访问,如果要通过域名访问ES必须要通过用户名和密码来访问 https://ww.

2020-05-09 16:20:57 4396

原创 Elasticsearch如何让一个字段同时支持精确匹配和模糊检索

需求:如何让ES的某个字段既能支持精确匹配查找,也能支持模糊检索?方法:将字段的mapping设置为如下这种即可: "properties": { "name": { "type": "text", "fields": { "ke...

2019-07-04 11:51:07 22036

郑君里《信号与系统》第二版习题答案

郑君里《信号与系统》第二版习题答案,一章至八章的习题解答

2012-08-31

空空如也

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

TA关注的人

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