自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

imVainiycos的博客

一个尽量保持有趣的人。

  • 博客(78)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 油猴脚本(Tampermonkey)的简介

油猴脚本的使用什么是油猴脚本「油猴」可以通过安装各类脚本对网站进行定制。当然伟大的脚本面向的是所有上网者,所以借由各位大神的脚本我们能实现更多更强大的功能,例如:直接下载百度网盘文件(全速) 重新定制繁杂的微博页面 去掉视频播放广告(甚至播放vip视频) 将网站默认的「二维码登录」改回「账号密码登录」 绕过搜索引擎的跳转提示 还原清新的小说阅读模式 豆瓣和 IMDb 互...

2020-06-10 22:50:22 335964 199

原创 pageHelper的使用与源码分析

文章目录一、使用步骤二、分页原理1. 统计总数2. 源码分析三、总结pageHelper作为Mybatis最好用的分页插件,自然受到极大多数人的追捧。而这里想要尽量阐述清楚pageHelper的具体使用步骤,实现的背后原理,以及与原始分页写法相比有什么优缺点等。一、使用步骤在这里,使用SpringBoot来集成pageHelper作为演示。引入Maven依赖<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pa

2020-12-22 17:13:24 16

原创 通过Linux服务器搭建Git私有服务

文章目录一、准备环境二、开始配置三、测试git仓库四、通过gitolite管理Git服务五、总结目前通过主流的代码托管平台GitHub或者Gitee都能够解决团队协同工作的疑难,如果不借助这些第三方平台,我们能否搭建一个类似于私服的托管Git仓库,只允许少部分人访问,同样也能进行权限管控,答案是可以。一、准备环境首先,我们考虑使用ssh克隆仓库,而暂时不考虑https的方式。若想直接通过gitolite来管理私有Git服务,请略过二、三(手动搭建,比较费时间,但是会增加你对Git服务的理解),直接

2020-12-15 17:15:12 19

原创 Base64解码文件下载

文章目录一、Base64文件二、下载Base64文件三、总结Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。一、Base64文件​ 在项目中,数据库中存放文件使用的是mediumblob类型的二进制格式,这里用file_stream字段来表示,在java后台中的mysql返回参数中使用cast(file_stream as char)转为base64。​ 目前存放的有三类文件,分别是图片、word、pdf

2020-12-15 10:57:38 46

原创 Typora的Markdown+PicGo图床

文章目录一、软件准备二、配置PicGo三、配置Typora四、总结结合Typora,PicGo一体化图文编辑混排实现。Typora:一款较为好用的Markdown编辑器;PicGo:一款较为好用的图床软件。图床,指的是储存图片的服务器。目前通过Markdown语法能够轻松记录,但是在集成图片的时候,本地图片路径只能在本地访问,这就需要借助图床来实现图片路径服务器转换。一、软件准备Typora下载https://typora.io/选择对应的系统版本进行下载:PicGo下载h

2020-11-27 09:32:47 26

原创 Linux的防火墙管理

文章目录一、防火墙开放2020端口二、总结目前更多的是通过云服务器进行安全组管理,即控制对外端口的开放关闭等。但是通过系统的防火墙也能够达到一定的效果,在这里以firewall为例。一、防火墙开放2020端口查看当前防火墙的状态service firewalld status查看当前防火墙的开放情况netstat -anp查看2020端口是否开放firewall-cmd --query-port=2020/tcp若没有开放,则进行开放firewall-cmd --add-por

2020-11-20 11:08:35 18

原创 Linux的SSH默认22端口更改

文章目录一、修改sshd配置文件二、重启ssh服务三、总结默认22的SSH连接端口很容易受攻击,故通过修改默认端口来达到一定的防护作用。一、修改sshd配置文件查看目前ssh连接端口sudo netstat -tunlp | grep "ssh"目前默认指向的就是22端口,接下来我们通过修改/etc/ssh/sshd_config的配置文件来达到修改连接端口的目的:sudo vim /etc/ssh/sshd_config这里需要重点关注#Port 22的位置,由于默认就是22端口

2020-11-20 11:00:54 28

原创 Linux的用户管理、操作历史日志

文章目录一、Linux的用户操作二、分配用户权限三、删除用户四、总结Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。一、Linux的用户操作在root账号登录的情况下,查看当前有几个用户,首先进入到/home目录下,使用ls命令列出用户:cd /homels新建一个用户名为vainycos的账号useradd vainycos分配密码,并需要输入两次密码进行校验:passwd vainy

2020-11-19 15:23:00 25

原创 MySQL用户授权/开放远程访问

文章目录一、新建用户MySQL针对单库开放单独的用户管理,避免开放root账号给应用系统。一、新建用户首先使用root账号登录MySQL,原则上应该开放本地账号和远程访问账号,例如我要创建一个账号为kid,密码为givemecandy,如下所示:CREATE USER 'garbage'@'localhost' IDENTIFIED BY 'garbage@HuaYunData@group'; #创建本地登录账号CREATE USER 'garbage'@'%' IDENTIFIED BY

2020-11-17 16:16:03 27

原创 这是一篇技术软文-写于2020年1024节

文章目录一、回顾二、展望三、总结不知不觉又是一年,今天是特殊的一天,但是又是很平常的一天。一、回顾19年的1024节我通过写了这篇文章:实现一个简单的WebSocket 获得了一枚勋章。当时觉得沾沾自喜,以为自己长进了许多。说实话,两年多了,我一直在跟自己较劲,在技术这条路上不是孤独就是在感受孤独的路上。犹记得还未毕业时候的长辈跟导师都曾经说过,无论你未来选择了哪一条路,你只有耐得住寂寞才能取得你心里想要的东西。当时感触不深,现在看来此话不假。二、展望其实自己并不是一开始就对编程感兴趣,

2020-10-24 23:24:27 49 2

原创 Office的project以及visio工具的使用

文章目录一、使用界面二、基本操作三、总结       Microsoft Project (或 MSPROJ)是一个国际上享有盛誉的通用的项目管理工具软件,凝集了许多成熟的项目管理现代理论和方法,可以帮助项目管理者实现时间、资源、成本的计划、控制。       Office Visio 是office软件系列中的负责绘制流程图和示意图的软件,是一款便于IT和商务人

2020-10-21 10:23:52 92 2

原创 JMC性能监测

文章目录一、打开JMC二、界面说明性能监测图形化,通过jdk自带的JMC工具即可轻松实现。JMC的全称为java mission control,意思为java程序任务控制台。一、打开JMC在你下载好的jdk的bin目录下即可找到jmc.exe程序,双击打开即可。或者使用稍微酷一点的方法,在命令行中打开:D:\jdk1.8.0_201\bin\jmc二、界面说明打开后默认的界面分左右:MBean服务器界面:...

2020-09-28 18:28:39 42

原创 zabbix服务器性能监视

服务器性能监视一、XShell远程连接性能检测命令二、图形化性能监视在平时的服务器运维过程中,难免会遇到需要查看服务器实时情况的要求。下文将会通过运维人员通过XShell黑框查看服务器情况以及GUI图形化两种方式进行展开。一、XShell远程连接性能检测命令1、查看CPUtop2、查看防火墙情况systemctl status firewalld3、查看Tomcat运行情况ps -aux | grep tomcat4、查看磁盘空间df -h二、图形化

2020-08-28 23:41:22 71

原创 Eureka实现微服务注册发现

微服务概念比较火,个人理解为多个单应用进行组装成一个复杂应用,而各个单应用之间可能互不影响。为了保证各部分单独运作的应用的稳定性,我们考虑用负载均衡的思想启动多个相同的单应用,使得服务请求能够均摊到不同的应用上,但是服务请求结果是相同的。这个时候就需要借助微服务注册发现的Eureka,而诸如Zookeeper也能实现。Eureka一、Eureka简介二、动手实现三、总结一、Eureka简介Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中.

2020-07-28 17:30:08 64

原创 通过Java批量导出带有图片的Excel文件数据

批量导出带有图片的Excel文件一、思路解析二、关键源码三、总结Java通过POI或者一些常见的Excel工具类能够轻易导出后台的结构化数据,但是最近面临一个新需求,需要将对应记录数据和图片网络地址在同一行中导出。一、思路解析一般我们看到的Excel表格是这样的。首先,我们考虑需要使用List存放每一行的值,并且规定第一行即为表头,从第二行开始是数据。伪代码是这样的:List<List<Object>> rowList = new ArrayList<List

2020-07-21 15:26:05 385 2

原创 将List转换为逗号分隔的字符串

文章目录一、普通实现二、借助Joiner实现有很多种实现将数组或者集合分隔为某种特定规则的字符串,但是一定有更简单的方法,于是接下来就见识到了一个新的工具包的用处。一、普通实现List<String> list = new ArrayList<>();list.add("one");list.add("two");list.add("three");String str = "";for(String a : list){ str += a + ",";}/

2020-06-20 12:08:12 243

原创 Tomcat查错日志
原力计划

文章目录一、JVM致命错误二、了解日志三、解决HttpClient超时问题本地调试没有问题的程序,在生产系统一跑就出现各种问题。这个时候我们一般都通过定位部署容器的日志目录来检查问题,比如这里以Tomcat容器为例,我们可以在Tomcat根目录下的logs文件夹下找到catalina.log、localhost.log等日志文件。这些只能记录运行过程中的日志,如果遇到程序崩溃的问题,这里的日志就不能满足我们的查错需求了。一、JVM致命错误如果出现致命错误导致程序调停,那么我们就需要到另一个目录下进

2020-05-17 15:49:27 132

原创 Tomcat的用户配置和应用管理

Tomcat的用户配置和应用管理一.Tomcat启动页二.配置相关用户文件三.配置成果四.总结在熟悉的Tomcat启动页面有许多入口,但是点击却无效。通过了解,其实Tomcat也有用户管理,只不过需要通过合理配置进行生效。此文将配置过程记录下来,方便后续回滚。一.Tomcat启动页Tomcat右侧的三个按钮分别对应服务状态,应用管理以及节点管理。在进行配置前,我们点击任何一个都会提示...

2020-04-28 14:41:12 87

原创 JDK源码阅读-整理自CodeShape
原力计划

JDK源码阅读-整理自CodeShape一.源码是什么二.走近源码三.调试源码三.总结从学习Java开发那一天起,我们每一天都在跟Java打交道,但是我们真正了解过Java背后的故事吗?当然,这里我指的不是了解Java的起源,发展故事…是那个在背后默默替我们执行代码保证运行通畅的那一套源码规则.一.源码是什么我们每天都在写代码,但是我们写的代码却不能称之为源码.源码就像是最顶级的执法规...

2020-04-20 23:00:33 78

原创 IDEA随身移植

IDEA随身移植一.IDEA默认配置文件和插件下载目录二.修改IDEA的默认配置/插件下载目录三.总结装好的IDEA因为重装系统就需要重新安装,最糟糕的事情莫过于自己的一些习惯设置和常用插件都需要重新下载.于是就找到了一种实用办法,可以使得你的IDEA能够直接拷贝到你的移动硬盘里随身带的方法.一.IDEA默认配置文件和插件下载目录一般情况下,新下载的IDEA的配置和插件下载目录都会默认放...

2020-04-20 22:19:51 126

原创 Linux服务器上的Tomcat进程频繁被杀
原力计划

Linux服务器上的Tomcat进程频繁被杀一.查看系统日志二.确定问题三.附带情况四.总结一.查看系统日志目前服务器上的Tomcat服务经常出现宕机的情况,想通过查看系统日志/var/log/messages来确定问题,但是系统日志没有开启记录,故执行以下语句重启日志服务sudo /etc/init.d/rsyslog restart等待下一次的问题出现后,查看日志文件内容vim /...

2020-04-16 12:59:21 1618

原创 忘记MySQL登录密码,重置密码

1

2020-04-02 10:44:52 93

原创 在CentOS7上安装MySQL8版本数据库

在生产环境中,最常用的数据库是MySQL5.7版本;后续在接触到8版本的MySQL后,决定尝试切换至新版本的MySQL测试新特性,并作此文进行记录在Linux上安装MySQL8数据库MySQL8新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列...

2020-04-01 19:22:06 211

原创 坚持原创

到了三月底,算算时间今年已经快过去四分之一了。我有每个月都至少要写一篇博客的习惯,从去年开始几乎没有中断过,这是我对自己的强制性要求,也是一种培养不断输出的习惯。不管是记录自己在开发过程中遇到的问题还是记录分享一些比较好的工具都让我觉得自己变得更好,所以我一直也在提醒身边的人和关注我的人要养成记录的习惯。说起自己入行了这么久,从一开始写文章没什么人关注,再到后来无意间写了一篇油猴脚本的分享文...

2020-03-30 22:58:00 91

原创 IDEA实用技巧:类文件作者信息/设置注释模板

在这个春节里,首先祝大家新年快乐!2020年初的这一场肺炎病毒灾难打乱了许多人的安排,而武汉人民也付出了巨大的牺牲。当年在武汉混迹于各个热干面摊位的我也衷心的祝福武汉加油!春节宅在家里每天休息,而本应早该上班的日子也进行了一定程度的延迟,于是趁着这段时间开始梳理编码规范。而注释是绕不过去的一道坎,许多人不会写注释,甚至于会写注释但是写出来的注释没有规范。由于现在使用IDEA作为代码编辑器的团...

2020-02-02 15:42:44 312 2

原创 初识SqlServer

文章目录一、SqlServer服务安装二、SqlServer连接三、总结SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。Microsoft SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Ser...

2020-01-20 13:09:57 1917

原创 IDEA的界面布局折腾(Main Menu主菜单栏消失的问题)

文章目录一、IDEA的view视图二、解决办法2.1 双击shift 输入view2.2 IDEA的本地用户配置文件三、额外界面设置四、总结大早上的折腾了一下IDEA主菜单栏中的view->Appearance,成功把主菜单栏搞没了。后面通过搜索相关资料,总结了两种调整界面的方法,以供参考。一、IDEA的view视图通过上方主菜单栏中的View->Appearance,可以...

2020-01-09 10:37:08 2547

原创 初识Jenkins

初试Jenkins一、Jenkins的安装部署二、Jenkins依赖Git/Maven自动构建三、总结谈谈我对Jenkins的理解。最开始入职的时候,带我的产品经理使用过这个软件,当时只知道这是一个构建产品的软件,只是很疑惑的是为什么不懂技术的产品经理总是能够通过这个软件就能知道某一次构建打包失败是谁的原因(某某某,你提交的代码导致了这次我们打包失败了,你快检查一下……绝对不是我)。后来在彻...

2019-12-11 22:37:19 138

原创 MySQL数据库出现连接异常(错误代码2013)

在生产系统中的数据库服务突然在下午崩溃,起初只是以为远程连接失败导致的服务异常。结果在服务器上检查之后发现整个服务都瘫痪了,并且无法进行正常重启和关机操作,于是就开始了漫长的抓鱼生涯,好在最后抓住了鱼,并解决了问题,以此作为记录。一、出现2013错误首先遭殃的是网页服务出现了问题,后来定位到是数据库访问失败导致的网页服务问题。于是通过远程管理工具Navicat进行连接发现返回了错误代码为2...

2019-11-29 22:55:03 849

原创 Git提交代码报错husky > pre-commit

在接触了Git版本控制之后,很长一段时间里就只使用commit、pull、push这三个命令,并没有进行深究。而早上在用commit代码提交前端代码的时候出现了报错信息husky > pre-commit,于是开始查找背后的原因,最后通过阅读相关资料成功解决。一、问题复现我是通过IDEA编辑器中的Git工具进行提交代码,以往都是在勾选上需要提交的文件后,并输入提交描述,点击commi...

2019-11-08 10:30:35 4625 7

原创 介绍Calendar操作日期

通过Calendar可以操作更改当前返回年月日-时分秒数值,虽然借助Date也能更改各类日期属性值,但是由于Date中更改日期时间的方法涉及到不推荐使用,所以我们最好还是通过Calendar来进行操作。而早上我遇到的bug就是在使用Calendar出现的一个共用Calendar变量域所引发的日期混乱问题,乍一看觉得很奇怪,但是通过调试还是发现了根源问题所在。一、Calendar在介绍我早...

2019-11-05 13:33:50 123

原创 实现一个简单的WebSocket

B/S系统架构模式只支持单点操作,如果我们要建立双向通道就得借助WebSocket。本文将会用一个简单的例子来阐述。一、页面实现var Chat = {};Chat.socket = null;Chat.connect = (function(host) { //判断当前浏览器是否支持WebSocket if ('WebSocket' in window) { ...

2019-10-24 18:22:45 149

原创 @DateTimeFormat与@JsonFormat详解

前后端进行时间类型的传值经常会遇到各种问题,并且对于java中的Date类也有util包与sql包的区别,在本文中我将会围绕实际业务进行展开解释。一、时间传值前端时间控件,一般情况下直接会传一个yyyy-MM-dd的日期字符串到后台。这个时候如果我们直接用java.util.Date类型就无法正确接收到。或者我们从数据库里查到DateTime类型并且用java的Date类型接收并返回给前台...

2019-10-23 22:19:28 238

原创 神奇的RPC其实并不神奇

RPC,是Remote Procedure Call的简称,中文翻译是远程过程调用。伴随着分布式系统的诞生,RPC也就应运而生了。那么,远程过程调用在实际业务环境中是怎么体现的呢,我们如果仅仅只是知道概念那是完全不够的。一、普通的接口调用例如,我有一个Weather接口的rain()方法,只要一调用就能查到目前正在下雨的城市信息,在WeatherImpl实现类中则具体实现了过程。publ...

2019-10-22 20:45:20 128

原创 yum安装MySQL 5.7.17

在服务器上安装MySQL可以有两种方式,第一种是在官网上下载对应的压缩包,随后进行解压自己配置,第二种是使用yum安装。第一种方式可以一步一步的配置,对整个安装流程能够熟悉,但是安装时间就相对比较长;而第二种方式的安装时间相对更快,并且省略了中间一系列的配置环境,通过敲命令行的方式就能将MySQL安装好。一、前言服务器环境是CentOS 7版本由于生产系统中的MySQL版本为5.7.1...

2019-10-19 11:16:06 193

原创 MySQL-1130错误 无法远程连接

当我们在Linux服务器上新配了一个MySQL数据库,在服务器上能正常登录。这个时候,我们使用可视化工具Navicat远程连接MySQL的时候出现了1130错误,这是因为默认配置的MySQL不允许远程连接,这个时候我们就需要配置一下。一、进入到MySQL命令列界面mysql -uroot -p二、使用mysql库use mysql;三、允许root账户被任何机器远程访问upda...

2019-10-19 10:20:52 223

原创 通过JavaScript实现获取地址栏中的各类信息

有时候我们需要借助JavaScript来获取地址栏中的ip,端口号或者应用名等信息,这个时候就需要使用各类方法组合出最终想要的结果。一、web服务的地址格式协议+ip+port+应用名,例如http://180.26.26.12:8080/webService二、逐一获取若我想获取应用名之前协议+ip+port的信息,则可以按照以下方式获取:// http://180.26.26.1...

2019-09-01 19:25:50 218

原创 后台java项目预启动完成前就调用服务

目前需要在java项目启动完成前就预准备好数据,这就需要在启动完成前就调用一次服务,由此我们可以借助一个注解就能简单的完成。一、预启动@PostConstructvoid go(){ System.out.println("我在项目启动成功前就被执行啦!");}只要在需要执行的方法上加上@PostConstruct注解就能实现服务启动之前就被调用该方法。需要注意的是,该方法所在...

2019-09-01 19:14:23 170

原创 借助Navicat软件实现数据复制和同步

navicat能够帮助我们在远程连接MySQL的时候解决许多问题。一、数据库表复制我们在平时经常会遇到需要将该服务器下的数据库,复制到另一个服务器下的数据库。在以前,我的处理方式是先导出到本地,随后再到需要复制的服务器上执行该拷贝文件。而其中,在某一次复制数据库的过程中发生了未知错误,随后进行百度发现有博主发表意见称可以借助navicat来规避许多未知问题。所以在此进行记录,希望大家少走...

2019-09-01 19:09:08 639

原创 IDEA中对于JSON字符串的处理(使用内置支持+插件提高效率)

在Java语言中,字符串由双引号里的内容组成,例如String name = “Vainycos”。而JSON字符串则是一种最常见的数据格式串,通常格式模板为:[{“name”:“Vainycos”}]。如果我们想要在Java中使用JSON字符串,则需要在字符串的双引号中间加许多转义符来达到效果,即最终结果应该是String jsonName = “[{/“name/”:/“Vainycos/”...

2019-08-21 21:16:28 3406 7

空空如也

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

TA关注的人 TA的粉丝

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