- 博客(47)
- 收藏
- 关注
原创 使用pm2+express部署vue项目
使用pm2 + express 在Contos上部署前端项目在Centos7上使用pm2+express部署springboot+vue项目项目是一个前后端分离项目 后端使用springboot 前端为两个Vue项目如图: api为后端接口 cms和view为前端项目 共用一个api接口1. 打包springboot项目将项目打包package 将xxxxx.jar发送至服务器(随便哪里能找到就行)2. 将前端两个项目打包由于我的前端是使用vue-cli创建的 所以打包npm run
2021-08-03 15:41:00 1197 1
原创 使用yauaa解析userAgent
通过yauaa解析UserAgent什么是yauaa使用测试导入依赖<!-- 解析客户端操作系统、浏览器 --><dependency> <groupId>nl.basjes.parse.useragent</groupId> <artifactId>yauaa</artifactId> <version>5.20</version></dependency
2021-07-15 11:22:35 3488 1
原创 使用ip2region进行ip解析获取地区
什么是ip2regiongitee: https://gitee.com/lionsoul/ip2regionip2region是一个离线的ip地址定位库使用方法引入依赖<!-- ip2region --><dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> <version>1.
2021-07-14 18:51:02 1111
原创 初学小程序
2021.7.10微信小程序初学官方文档: https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.html#%E7%94%B3%E8%AF%B7%E5%B8%90%E5%8F%B7首先注册账号 需要一个跟微信没有任何关系的邮箱下载小程序开发工具 并扫码登录 创建项目AppId可以在https://mp.weixin.qq.com/wxamp/home/guide?lang=zh_CN&
2021-07-14 16:28:11 215 1
原创 SpringSecurity4 学习笔记
成结构1. SpringSecurity2. 入门案例新建SpringBoot项目 添加Security和Web依赖即可在resources–static新建登录和主页简单静态页面启动项目 访问localhost:8080/login可以看到出现的 登录页(该页面为Security默认生成的)在启动项目时 会在控制台输出一串登录密码2.1 UserDetailsService接口用户判断用户名是否存在而UserDetailsService返回的Userdetails接口中实现了
2021-07-07 13:44:25 785
原创 JUC-并发源码学习
JUC并发包源码分析(1.8)线程的一些状态线程之间状态的跳转Executor源码解析ThreadPoolExecutor源码解析1. 什么是JUCJUC就是java.util工具包业务: 普通的线程代码 ThreadRunnable: 没有返回值、效率相比于Callable相对较低2. 线程和进程线程和进程进程: 就是一个程序 比如QQ,鼠标驱动一个进程可以包含多个线程,至少包含一个线程!Java默认有几个线程?2个线程! main线程、GC线程线程: 开了一个T
2021-07-07 10:17:03 380
原创 SpringSecurity4 学习笔记
成结构1. SpringSecurity2. 入门案例新建SpringBoot项目 添加Security和Web依赖即可在resources–static新建登录和主页简单静态页面启动项目 访问localhost:8080/login可以看到出现的 登录页(该页面为Security默认生成的)在启动项目时 会在控制台输出一串登录密码2.1 UserDetailsService接口用户判断用户名是否存在而UserDetailsService返回的Userdetails接口中实现了
2021-07-07 10:14:56 241 2
原创 Java集合部分详解
Java集合学习Collection接口和常用方法Collection接口遍历元素的方式1 - 使用Iterator(迭代器)Iterator对象成为迭代器,主要用于遍历Collection集合中的元素.所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象,即可以返回一个迭代器Iterator仅用于遍历集合,Iterator本身并不存放对象迭代器的执行原理Iterator Iterator = coll.iter
2021-05-21 16:12:17 496 1
原创 Vue中使用baberrage实现弹幕效果
在Vue中使用baberrage插件实现弹幕效果什么是baberrage?链接:https://github.com/superhos/vue-baberrage/blob/master/docs/zh/README.md是一位大佬制作的插件,实现弹幕的效果效果这里用作留言界面1. 创建所需要的数据库DROP TABLE IF EXISTS `tb_message`;CREATE TABLE `tb_message` ( `id` int(11) NOT NULL AUTO_INCR
2021-04-23 20:14:00 2401 2
原创 在博客中加入一言
在博客中加入一言什么是一言一言网(hitokoto.cn)创立于 2016 年,隶属于萌创团队,目前网站主要提供一句话服务。动漫也好、小说也好、网络也好,不论在哪里,我们总会看到有那么一两个句子能穿透你的心。我们把这些句子汇聚起来,形成一言网络,以传递更多的感动。如果可以,我们希望我们没有停止服务的那一天。简单来说,一言指的就是一句话,可以是动漫中的台词,也可以是网络上的各种小段子。 或是感动,或是开心,有或是单纯的回忆。来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。示例
2021-04-18 20:23:04 281
原创 使用Vue刷新当前页面数据
常常会遇到在删除或者增加一条数据的时候想要刷新页面来显示数据这里提供两种方式方法一: 整个页面刷新location.reload() ①this.$router.go(0) ②相当于强制刷新页面整个页面刷新,会有一瞬间空白方法二: provide / inject 组合 方式首先需要修改app.vue<template> <div id="app"> <router-view v-if="isRouterAlive"></rou
2021-04-17 11:11:42 1136
原创 在Springboot项目中使用AOP进行保存日志
AOP术语target:目标类,即需要被代理的类。例如:UserServiceJoinpoint(连接点):所谓连接点是指那些可能被拦截到的方法。例如:所有的方法PointCut切入点︰已经被增强的连接点。例如: addUser()advice通知/增强,增强代码。例如: after、beforeWeaving(织入):是指把增强advice应用到目标对象target来创建新的代理对象proxy的过程.proxy 代理类Aspect(切面):是切入点pointcu
2021-04-10 10:58:42 322
原创 在Springboot中集成mail实现评论邮件回复
在Springboot中集成mail进行评论邮件提醒前些天正在逛一些技术大佬的博客时,评论了一下。评论后竟然给我来了邮件进行提醒(属实觉得酷炫)然后CV了一手来学一学效果步骤加入mail依赖<!--邮箱依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</arti
2021-04-06 16:27:33 1257 2
原创 在评论中使用邮箱的QQ头像
博客评论中使用QQ头像这是发现了一个朋友所发感觉挺好用,就也给加进来了…之前准备了30个头像包…摇个随机数当头像评论时使用QQ邮箱的将会使用自己游戏的QQ头像仅限于正确的QQ邮箱Controller// 新增评论 @PostMapping("/comments") public String post(Comment comment, HttpSession session, Model model) { Long blogId = comment.get
2021-04-05 14:24:42 537 1
原创 改变页面字体样式
修改全局字体样式介绍见到一个比较好看的字体样式步骤引用字体<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=ZCOOL+KuaiLe" />定义CSS引用 body { font-family: 'ZCOOL KuaiLe(这个是上面引进来字体的名称)'; }...
2021-04-05 13:56:59 162
原创 使用Cdn加速静态资源
Cdn加速在GitHub仓库中的资源介绍JSDelivr + GitHubJSDelivrJSDelivr(风格化为jsDelivr)是用于开源项目的免费公共CDN。它可以直接从npm注册表和GitHub存储库中提供Web文件,而无需进行任何配置。[1] [2]它是目前托管多个项目的第二受欢迎的公共CDN。[3] [4]于2020年10月14日,它成为Bootstrap的官方CDN步骤使用GitHub创建仓库[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(im
2021-04-03 11:17:03 751
原创 博客首页波浪特效
波浪特效给首页添加一个波浪的小特效示例:代码:css代码:/* 波浪动画 */#banner_wave_1 { width: auto; height: 65px; background: url(https://cdn.jsdelivr.net/gh/Ukenn2112/UkennWeb@5.3/wave/wave1.png) repeat-x; _filter: alpha(opacity=80); position: absolute;
2021-04-01 09:05:35 393
原创 在springboot中使用mail进行邮箱验证
在Springboot中使用Mail通过邮箱验证码实现注册验证在注册用户的时候一般都会使用邮箱验证码进行验证注册,那么是如何实现的呢?如果是使用QQ邮箱 则需要开启smtp服务首先在springboot项目中引入mail依赖<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7&l
2021-03-31 12:27:13 1192
原创 在评论框中添加史迪仔动图
在评论的输入框中添加动图示例:代码:只需要在评论的输入框中添加一个ideg:<textarea name="content" id="contentImg" placeholder="请输入留言信息..."></textarea>id为id="contentImg"CSS:#contentImg{ background: url("https://gitee.com/Onlylmf/image/raw/master/Sitich/Sitich1.gif")
2021-03-30 20:42:30 191
原创 好看的博客归档页面
发现一个比较好看的个人博客归档页面的设计如图只需要一个CSS样式以及JS随后接收后台数据渲染就可以了timeline.css*,*::before,*::after { margin: 0; padding: 0; box-sizing: border-box;}.timeline ul li { list-style-type: none; position: relative; width: 6px; margin: 0 auto
2021-03-28 15:10:45 1283
原创 标签云特效
记录一些好看的特效示例:JStagcanvas.js/** * tagcanvas.js和tagcloud.js是 标签云所需要的 */(function(){"use strict";var i, j, abs = Math.abs, sin = Math.sin, cos = Math.cos, max = Math.max, min = Math.min, ceil = Math.ceil, sqrt = Math.sqrt, pow = Math.pow, hexlook
2021-03-25 13:08:11 919
原创 消息搞怪特效
记录一些好看的特效示例:JS<script> // 浏览器搞笑标题 var OriginTitle = document.title; var titleTime; document.addEventListener('visibilitychange', function () { if (document.hidden) { $('[rel="icon"]').attr('href', "/funny.ico"); document.
2021-03-24 20:52:10 161
原创 跳动的红心特效
记录一些好看的特效示例:CSS#heartbeat{color:red;animation:iconAnimate 1.33s ease-in-out infinite}@-moz-keyframes iconAnimate{0%,100%{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%,60%,80%{transform:scale(1.1)}50%,70%{transform:scale(1.1)}}@-webkit-keyframe
2021-03-24 20:37:49 200
原创 信封特效
记录一些好看的特效示例:代码:CSS:/* 滚动条隐藏 */::-webkit-scrollbar { display: none;}/* 禁用图片点击,butterfly渲染后会给图片套上fancybox,点开后会造成信笺偏移*/.formmain{ pointer-events: none !important;}/* top-img隐藏 */#page-header { background: transparent !important;}/* 宽度小于53
2021-03-24 19:21:10 552 1
原创 添加网站运行时间(记录)
实现添加网站运行时间展示:代码:<span id="timeDate">载入天数...</span><span id="times">载入时分秒...</span><script> var now = new Date(); function createtime() { var grt= new Date("2020/03/14 15:30:00");//在此处修改你的建站时间, no
2021-03-23 12:37:49 284
原创 彩色滚动变换字体
实现文字的彩色滚动效果展示:可以使用至博客的个签名啊之类的代码<div id="binft"></div> <script> var binft = function (r) { function t() { return b[Math.floor(Math.random() * b.length)] } function e() { return String.fromChar
2021-03-23 12:14:21 504 1
原创 数据库中索引为什么要使用B+ Tree
数据库索引为什么使用B+ Tree索引是为了提高数据库的查询速度,相当于给数据进行编号,在查找数据的时候就可以通过编号快速找到对应的数据实际用的数据结构用的是B+ Tree主键自带索引乱序插入数据,会自动按照id进行升序排列,这是因为主键自带索引,数据存储的内部结构类似于链表的形式,通过指针关联不同的数据这种结构当数据量很大的时候查询还是很慢,MySQL如何解决?MySQL中有一个page的概念,相当于给数据进行分页,把一部分数据存入一个page中,如下所示每个page可以存储16KB
2021-03-10 11:05:56 196 2
原创 JWT简单记录以及整合Springboot
JWT简介什么是JWTJWT(Json Web Token)是一个开放标准,它定义了一种紧凑的、自包含的方式,用于在各方面之间以JSON对象安全地传输信息,此信息可以验证和信任,因为它是数字签名的,jwt可以使用密钥(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名简单理解: JWT简称Json Web Token, 也就是通过JSON形式作为Web应用中的令牌, 用于在各方之间安全地将信息作为对象传输, 在数据传输过程中还可以完成数据加密、签名等相关处理JWT能做什么授权: 这是
2021-03-09 16:01:00 328
原创 Swagger使用笔记
Swagger的使用笔记简介前后端分离???? 前端 -> 前端控制层、视图层???? 后端 -> 后端控制层、服务层、数据访问层???? 前后端通过API进行交互???? 前后端相对独立且松耦合产生的问题???? 前后端集成,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发Swagger???? 号称世界上最流行的API框架???? Restful Api 文档在线自动生成器 => API 文档 与API 定义同步更新???? 直接运行,在线测
2021-03-08 17:02:30 371 3
原创 JVM简单初理论
JVM初探1. 双亲委派机制在介绍双亲委派机制的时候,不得不提ClassLoader(类加载器)。说ClassLoader之前,我们得先了解下Java的基本知识。Java是运行在Java的虚拟机(JVM)中的,但是它是如何运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成**.class**的字节码文件。然后由我们得ClassLoader负责将这些class文件给加载到JVM中去执行。JVM中提供了三层的ClassLoader:Bootstrap classLoader:主要负
2021-03-07 21:01:15 186
原创 (狂神)初识设计模式笔记
了解设计模式设计模式 是前辈们对代码开发经验的总结, 是解决特定问题的一系列套路, 他不是语法规定, 而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案1995年,GoF合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了23种设计模式,从此树立了软件设计模式领域的里程碑,人称GoF设计模式学习设计模式的意义设计模式的本质是面向对象设计原则的实际运用, 是对类的封装性, 继承性和多态性以及类的关联关系和组合关系的充分理解正确使用设计模式具有以下优点:
2021-03-07 20:59:49 2420
原创 (狂神)ElasticSearch 7.x.x学习笔记
ElasticSearchElaticsearch,简称为ES,ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别(大数据时代)的数据。ES由 Java 语言开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTFULL API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。据国际权威的数据库产品评测机构 DB Engines 的统计,在2016 年1月,ElasticS
2021-03-07 20:58:43 2450 9
原创 (不良人)员工管理系统简单笔记
技术选型前端: vue + axios后端: springboot + mysql + tomcat +Redis需求分析用户模块用户登录用户注册验证码实现欢迎xx用户展示安全退出员工列表展示员工管理模块员工添加员工删除员工修改员工列表加入redis缓存实现库表设计用户表create table t_user( id int(6) primary key auto_increment, username varchar(60), realname var
2021-03-07 20:55:38 624 1
原创 Springboot+Vue简单Demo教程
技术实现根据 楠哥 项目做得笔记…Springboot + Vue (用的Mybatis)使用Springboot进行后端应用开发,使用Vue进行前端应用开发创建Vue工程cmd命令行创建vue工程 vue ui如果没有反应 可以查看 vue -h是否有vue ui命令 如果没有说明版本太低进行脚手架的升级 cnpm i -g @vue/cli选择目录新建项目创建项目名–关闭初始化git仓库–手动配置项目–Router、Vuex打开以及Linter/Formatter关闭–Use
2021-03-07 20:53:22 2631 2
原创 Redis学习笔记
Redis跟着狂神学习的笔记(自看)1. Nosql 概述 NoSQL(Not Only SQL ),意即不仅仅是SQL, 泛指非关系型的数据库。Nosql这个技术门类,早期就有人提出,发展至2009年趋势越发高涨2. 为什么是NoSQL 随着互联网网站的兴起,传统的关系数据库在应付动态网站,特别是超大规模和高并发的纯动态网站已经显得力不从心,暴露了很多难以克服的问题。如商城网站中对商品数据频繁查询、对热搜商品的排行统计、订单超时问题、以及微信朋友圈(音频,视频)存储等相关使用传统的关系型数据
2021-02-01 16:17:17 595
原创 Typora图片自动上传至码云
使用Typora图片自动上传图床这里我选用码云gitee1. 在Gitee创建一个仓库2. 设置私人令牌在设置–私人令牌中–生成新令牌–选择project然后复制token3. 下载PicGohttps://github.com/Molunerfinn/PicGo/releases/tag/v2.3.0-beta.3安装后在插件设置中查询gitee 并下载第一个然后在picgo中配置信息4. 然后在Typora中设置偏好设置–图像随后点击 验证图片上传选项进行测试若
2021-01-01 10:20:45 573 1
原创 Git简单上手
Git版本控制常见的版本控制工具主流的版本控制器有如下这些:GitSVN (Subversion)CVS (Concurrent Versions System)VSS (Micorosoft Visual SourceSafe)TFS (Team Foundation Server)Visual Studio Online目前影响力最大且最广的就是Git和SVN控制版本的分类1. 本地版本控制记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,
2021-01-01 10:15:15 134
原创 Layui搜索数据的重载
Layui 表格重载数据可以用ajax 但… (写的依然很抠脚.)遇到的问题:返回值都是null 后台无法获取参数解决1.page和limit参数 在Layui的重载表格中,会自动向请求的地址发出page和limit参数,所以不必在写page和limit参数了。终于体会到了作者设计此处时的奇妙和厉害之处解决代码// 监听搜索操作form.on('submit(data-search-btn)', function (data) { //执行搜索重载 table.
2020-12-25 21:42:12 1855
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人