自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(179)
  • 收藏
  • 关注

原创 服务器出入口IP通俗理解

当需要与第三方合作时,如果需要访问对方的服务,则一般需要告知对方我们的出口ip,方便对方进行访问授权。当需要与第三方合作时,如果需要对方访问到自己的服务,则需要告知对方一个可访问的入口地址。并且授权对方的网络设备ip(对方的出口ip)允许访问我们的服务。

2023-08-01 17:53:50 4704

原创 lombok中注解@RequiredArgsConstructor注入对象

Spring依赖注入几种方式,今天的主角是Lombo中的@RequiredArgsConstructor

2023-06-02 15:06:37 469

原创 IaaS PaaS SaaS 的几大区别通俗理解

IaaS PaaS SaaS 的区别

2022-09-14 10:59:38 1008

原创 Windows10自身虚拟机安装centos7

Windows10自身虚拟机安装centos7

2022-08-25 17:11:22 490

原创 idea集成jboss后如何调试

idea集成jboss后如何调试后台,这与eclipse对比是个额外的操作配置

2022-08-08 15:26:45 958

原创 数据库被黑,索要法币进行恢复的教训

mysql数据库被黑客攻击

2022-06-26 21:26:46 490

原创 jwt_token的有效时间和刷新时间

有效时间和刷新时间都是固定的1、token 的有效时间是说签发的 token 仅在 ttl 时间内可以用来正常使用 (鉴权,获取用户信息等操作),过了这个有效时间后,改 token 将被废弃,放入黑名单,路由中间件鉴权也将会失败。2、刷新时间是指在 refresh_ttl 时间内,你可以使用之前签发的 token (此时已经失效了) 来换取一个新的 token,新的 token 的有效时间还是 ttl。后续的鉴权验证需要使用新的 token 才能正常通过。用之前即将过期的 t..

2022-04-18 17:35:15 8237

原创 postgreSql修改端口后psql命令行链接报错”/tmp/.s.PGSQL.5432“

今天修改pg的端口号port改成54328后重启完数据库的时候直接psql进库的时候进不去[postgres@iZ8vbifqgkwljcq9ccpkg7Z data]$ psqlpsql: could not connect to server: No such file or directoryIs the server running locally and acceptingconnections on Unix domain socket "/tmp/.s.PGSQL.5432这时,

2021-12-01 11:31:54 6752 2

原创 Idea社区版 debug 启动 Cannot run program ““ :CreateProcess error=206, 文件名或扩展名太长

问题:Cannot run program “C:\Program Files\Java\jdk-11.0.8\bin\java.exe” : CreateProcess error=206, 文件名或扩展名太长。解放方案:修改项目下 .idea\workspace.xml,找到标签 <component name="PropertiesComponent"> , 在标签里加一行 <property name="dynamic.classpath" value="true" /&gt

2021-08-12 14:46:02 2907 2

转载 为什么不应该使用ZooKeeper做服务发现

【编者的话】本文作者通过ZooKeeper与Eureka作为Service发现服务(注:WebServices体系中的UDDI就是个发现服务)的优劣对比,分享了Knewton在云计算平台部署服务的经验。本文虽然略显偏激,但是看得出Knewton在云平台方面是非常有经验的,这篇文章从实践角度出发分别从云平台特点、CAP原理以及运维三个方面对比了ZooKeeper与Eureka两个系统作为发布服务的优劣,并提出了在云平台构建发现服务的方法论。背景很多公司选择使用ZooKeeper作为Service发现服

2021-05-08 16:15:35 131

转载 分享几个实用的国内可访问Vue ui库

前言:Vue的ui库众多,大多的UI库都由国外小组开发制作,故访问外国官网龟速,笔者介绍几个国内能正常访问的库。H5端:1.Vant轻量、可靠的移动端 Vue 组件库,色彩丰富,组件居多,更重要的是可搭配Uni-app运行到Android,Ios,微信小程序,以及H5上,适配性极强。官网:https://youzan.github.io/vant/#/zh-CN/intro2.Wux weappWux Weapp是一套组件化、可复用、易扩展的微信小程序 UI 组件库。 样式.

2021-02-22 16:08:11 456

原创 UI设计切图的点滴理解

https://www.xueui.cn/design-theory/figure-ui-design-specification.htmlhttps://www.cdwanxun.com/zixun/show/4407.html

2021-02-19 17:52:56 265

原创 javascript箭头函数this的几点理解

一、和普通函数this的区别箭头函数的没有自己的this,所以依托于外层函数的this,需要宿主,没有就指向windowa. 不可以使用new构造函数b. 不存在arguments、super、new.target,指向外层函数的对应变量c.也就不能用call()、apply()、bind()这些方法去改变this的指向普通函数中的this依赖最近的调用者,这个最好熟悉下调用栈,谁调用它this就指向谁回调匿名非箭头函数中的this指向window全局对象function Ti

2021-02-05 17:19:22 279

原创 全面理解Javascript闭包

什么是闭包闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。闭包的特点:作为一个函数变量的一个引用,当函数返回时,其处于激活状态。一个闭包就是当一个函数返回时,一个没有释放资源的栈区。简单的说,Javascript允许使用内部函数—即函数定义和函数表达式位于另一个函数的函数体内。而且,这些内部函数可以访问它们所在的外部函数中声明的所有局部变量、参数和声明的其他内部函数。当其中一个这样的内部函数在包含它们的外部函数之外被调

2021-01-20 16:19:38 96

转载 CommonJS和ES6模块的区别

背景我们都知道JS模块化的演变经历了一个漫长的过程,从最初的CommonJS ,到后来的AMD和CMD,再到今天的ES6模块化方案。优胜劣汰,对于JS这门语言来说,服务端的模块化方案CommonJS 活了下来,而ES6推出的模块化方案更是赢得了大家的认可,大有可能成为未来JS的主要的模块化方案。相信大家都可能产生过这样的疑问:既然两个模块化方案都能被大家使用和认可,那么它们到底有什么优势?两个模块化方案有什么差异?带着疑问我也看了一些文章,发现总结得不是很全面,所以想写一篇文章,完善地总结一下它们的不同

2021-01-15 15:32:57 552

原创 apt、yum、dnf 和 pkg比较

导读大多数现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件。软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档。介绍包管理系统除了安装软件外,它还提供了工具来更新已经安装的包。包存储库有助于确保你的系统中使用的代码是经过审查的,并且软件的安装版本已经得到了开发人员和包维护人员的认可。在配置服务器或开发环境时,我们最好了解下包在官方存储库之外的情况。某个发行版的稳定版本中的包有可能已经过时了

2021-01-07 17:08:45 2217

原创 centos6 更新yum源,地址失效解决方案

现象yum install nmap报错,removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt解决步骤1、查看/etc/yum.repos.d/CentOS-Base.repo里的信息,发现对应的centos6版本的镜像资源已经不提供了,在国内诸多资源库都已经下架,建议从7开始使用2、经查询https://vault.centos.org还有完整的资源,着手替换3、具体的操作如下

2021-01-06 14:54:03 1332

转载 Nginx 通过 certbot 为网站自动配置 SSL 证书并续期

一、背景知识1.1、http 和 https 是什么?简单来说,http 是一个传输网页内容的协议,比如你看到的 http 开头的网站 http://www.163.com ,其网页上的文字、图片、 CSS 、 JS 等文件都是通过 http 协议传输到我们的浏览器,然后被我们看到。而 https 可以理解为“ HTTP over SSL/TLS ”,好端端的 http 为什么需要“ over SSL/TLS ”呢,因为 http 是明文传输的,通过 http 协议传输的内容很容易被偷看和篡

2020-12-22 15:36:53 2135

原创 Let‘s Encrypt+nginx之漏洞 SSL/TLS协议信息泄露漏洞(CVE-2016-2183)

根据漏洞扫描的提示查看官网给出的解释,如下:SWEET32 Mitigation (CVE-2016-2183)SWEET32 (https://sweet32.info) is an attack on older block cipher algorithmsthat use a block size of 64 bits. In mitigation for the SWEET32 attack DES basedciphersuites have been moved from the HI

2020-12-18 10:31:32 5306

转载 前端路由的两种主流实现方式和原理

前端路由路由历史什么是路由? 路由是根据不同的 url 地址展示不同的内容或页面早期的路由都是后端直接根据 url 来 reload 页面实现的,即后端控制路由。后来页面越来越复杂,服务器压力越来越大,随着 ajax(异步刷新技术) 的出现,页面实现非 reload 就能刷新数据,让前端也可以控制 url 自行管理,前端路由由此而生。单页面应用的实现,就是因为前端路由。前端路由实现1.Pjax(PushState + Ajax)原理:利用ajax请求替代了a标签的默认跳转,然

2020-12-08 15:15:26 407

原创 tomcat高版本http头验证

报错日志:Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986从错误日志中看到对请求URL中对字符做了限制。解决方法:1.在tomcat安装路径中conf/catalina.properties中最后添加2行:tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}org

2020-11-23 17:09:51 614 1

原创 绿盟漏洞-平滑升级nginx

事件背景Nginx 11月6日的安全更新中,修补了三个可导致拒绝服务的漏洞:CVE-2018-16843,CVE-2018-16844和CVE-2018-16845。位于nginx HTTP/2 模块和流媒体MP4模块。CVE-2018-16843,CVE-2018-16844漏洞存在于ngx_http_v2模块之中(默认情况下不编译,编译时需要开启--with-http_v2_module,同时将listen http2添加到配置文件中),当用户添加http2支持时,攻击者可以发送特制的HTTP/

2020-09-02 10:02:56 598

转载 Java单例模式的不同写法(懒汉式、饿汉式、双检锁、静态内部类、ThreadLocal、枚举)

Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。单例模式好处:它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间; 能够避免由于操作多个实例导致的逻辑错误。 如果一个对象有可能贯穿整个应用程序,而且起到了全局统一管理控制的作用,那么单例模式也许是一个值得考虑的选择。单例模式有很多种写法,大部分写法都或多或少有一些不足。下面将分别对

2020-07-03 17:38:06 293

转载 Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatil

2020-07-03 09:29:43 92

转载 Java多线程——Condition条件

简介Condition中的await()方法相当于Object的wait()方法,Condition中的signal()方法相当于Object的notify()方法,Condition中的signalAll()相当于Object的notifyAll()方法。不同的是,Object中的wait(),notify(),notifyAll()方法是和"同步锁"(synchronized关键字)捆绑使用的;而Condition是需要与"互斥锁"/"共享锁"捆绑使用的。简单应用:Cond.

2020-07-02 11:41:45 718 1

转载 Java内存模型

简述Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。定义模型的目标Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。这里说的变量包括实例字段、静态字段和构成数组对象的元素,不包括局部变量与方法参数,因为后者是线程私有的,不会共享,也就不存在竞争的问题。主内存与工作内存

2020-07-02 10:44:32 280 1

转载 Java中Volatile关键字详解

一、基本概念先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性:  可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。  可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是一个线程修改的结果。另一个线程马上就能看到。比如:用volatile修饰的变量,就会具有可见性。volatile

2020-07-02 10:23:13 223

转载 MongoDB4.0 WINDOWS环境下 副本集、分片部署

MongoDB4.0 WINDOWS环境下 副本集、分片部署部署开始:创建路径 D:\Program Files\MongoDB\MySet下config Data log 文件夹config文件夹下准备配置文件:分片1的副本集1storage: dbPath: D:/Program Files/MongoDB/MySet/Data/shard11 journal: e...

2020-03-12 16:10:23 579 4

转载 React Native及其他APP介绍及认识

一、React Native背景有没有朋友想过一个问题,为什么取名React Native?React是什么,Native又是什么?ReactReact 是由Facebook推出的一个JavaScript框架,主要用于前段开发。React 采用组件化方式简化Web开发DOM:每个HTML界面可以看做一个DOM原生的web开发方式,HTML一个文件,javaScript一个文件...

2019-05-08 18:44:12 286

原创 eclipse环境Mysql驱动升级问题记载

eclipse环境Mysql驱动升级问题记载背景使用了新的mysql驱动jdbc.driver=com.mysql.cj.jdbc.Driver,导致了各种启动问题问题列表jdk不匹配,com/mysql/jdbc/Driver : Unsupported major.minor version 52.0答:mysql-connector-java版本5最多支持到jdk7 ...

2019-04-17 18:13:53 677

转载 基于JWT的token身份认证方案

https://www.cnblogs.com/xiangkejin/archive/2018/05/08/9011119.html

2019-03-27 21:13:27 304

转载 Java中将InputStream读取为String, 各种方法的性能对比

如下, 一共存在11种实现方式及其对应的性能测试结果:使用IOUtils.toString (Apache Utils)String result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);使用CharStreams (guava)String result = CharStreams.toString(new...

2019-03-27 20:56:19 720

转载 Socket通信原理(收藏)

Socket通信原理https://www.cnblogs.com/wangcq/p/3520400.html

2019-03-01 16:26:35 133

转载 spring的@Transactional注解详细用法

概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects)支持声明式...

2019-01-16 18:16:41 182

转载 MySQL 5.7 my.cnf调整选项

在本文中,我将研究如何对 MySQL 5.7 进行调优(关注 InnoDB 存储引擎)。一个好消息是,MySQL 5.7 提供了更加合适的默认值。Morgan Tocker 制作了一份关于 MySQL 5.7 的特性完整列表,这是一个很好的参考资料。例如,下面的几个变量都是默认设置的:innodb_file_per_table = ONinnodb_stats_on_metadata = ...

2019-01-10 16:13:59 1556

转载 查看MySQL变量

类似于Oracle的参数文件,MySQL的选项文件(如my.cnf)用于配置MySQL服务器,但和Oracle叫法不一样,在MySQL里, 官方叫变量(Varialbes),但其实叫参数也是可以的,只要明白这俩是同一个东西就可以了。MySQL的变量分为以下两种:1)系统变量:配置MySQL服务器的运行环境,可以用show variables查看2)状态变量:监控MySQL服务器的运行状态,可...

2019-01-09 16:39:42 287

转载 MySQL root密码忘记后更优雅的解决方法

MySQL root密码忘记后更优雅的解决方法简介前言更优雅的解法简介这篇文章主要给大家介绍了关于MySQL root密码忘记后更优雅的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。前言一直以来,对于MySQL root密码的忘记,以为只有一种解法-skip-grant-tables。问了下群里的大...

2019-01-07 17:47:46 113

原创 audio不能自动播放的解决方案

背景实现H5改造客户端版本的英语听说答题功能,这里涉及到很多页面线程的使用,如果自动播放题目,每隔几秒播放内容,循环播放几次等等,在客户端环境里天生蕴藏着多线程操作和media的库,而改成H5页面的方式,只能好好研究H5的音频播放控制的api。audio尝试由于项目所给的时间非常紧,还没有做好充分调研就开始磨刀霍霍,上来分析如果包装题目数据,让页面播放题目的音频更加的合理,根据题目的音频数量...

2018-09-20 12:03:51 40950 7

原创 file加载远程blob文件

file加载远程blob文件file是前端的选择文件对象的控件,把文件以blob形式的数据载入body,如果我们需要加载服务器端的文件,或者不需要手工选择而是通过程序直接加载文件呢?下面这段代码通过XMLHttpRequest对象,并且xhr.responseType 设置为”blob”的方法,可以实现:window.URL = window.URL || window.webki...

2018-09-07 10:10:46 963

转载 加密:DigestUtils与java MessageDigest

1.使用Spring的DigestUtilspublic class StringUtilTest { static final String TARGET = "changeme"; /* * 不可逆算法 MD5 */ @Test public void Md5() { String...

2018-07-09 14:07:19 1806

空空如也

空空如也

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

TA关注的人

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