自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

半路勇者

记录一下在工作或学习过程中的技术以及应用难题

  • 博客(51)
  • 资源 (9)
  • 收藏
  • 关注

原创 Mybatis-Plus模糊查询(like)特殊字符_、\、%时的处理方式

Mybatis-Plus模糊查询(like)特殊字符_、\、%时的处理方式先说最直接简单的方法(定义函数)复杂的方式(自定义拦截器)自定义拦截器将自定义拦截器配置到MybatisPlus配置类中使用Mybatis-Plus中的模糊查询(like)时,当查询关键字中包括有_、\、%时,查询关键字无效,该怎么解决,解决方式有两个,一个自定义拦截器,拦截所有模糊查询语句,并将特殊符号转义;第二中方式就是定义一个函数,每次like查询,都将有特殊字符的字符串中所有特殊字符全部转移后返回新的转义后的字符串,再进行

2021-03-03 15:14:13 18

原创 Mysql将查询结果集转换为JSON数据

Mysql将查询结果集转换为JSON数据前言学生表学生成绩表查询单个学生各科成绩(转换为对象JSON串并用逗号拼接)将单个学生各科成绩转换为数组JSON串将数组串作为value并设置key两张表联合查询(最终SQL,每个学生各科成绩)最终结果前言我们经常会有这样一种需求,一对关联关系表,一对多的关系,使用一条sql语句查询两张表的所有记录,例:一张学生表,一张学生各科成绩表,我们想要用一条SQL查询出每个学生各科成绩;学生表CREATE TABLE IF NOT EXISTS `student`

2021-02-23 15:28:32 127 1

原创 html的ul和li类型列表及配置方法

html的ul样式类型及配置方法配置ul类型方法配置liul类型列表配置ul类型方法ul{ list-style: 样式;}li { // 默认竖向排列,该配置改为横向排列 float: left; list-style-type: 样式; // 可配置为图片 // list-style-image: url(url);}配置liul类型列表类型说明none无样式circle空心圆disc实心圆(默认)square实心方块de

2021-02-22 18:04:23 30

原创 String、StringBuilder、StringBuffer到底该使用谁?

String、StringBuilder、StringBuffer到底该使用谁?StringStringBuilderStringBufferString,StringBuilder和StringBuffer的比较各种字符串操作的效率测试测试代码测试结果总结StringJava提供了String类来创建和操作字符串。在二进制中可以看到,String类内部的实现也是一个字节数组,这个数组是final类型的,因此String是不可变的对象,每次在对字符串类进行改变的时候都会生成一个新的字符串对象,然后将指

2021-02-07 16:45:31 99 4

原创 JS开发过程中常用工具函数(持续更新。。。)

JS开发过程中常用工具函数(持续更新。。。)获取数据类型二级目录三级目录获取数据类型function getDataType(value) { return Object.prototype.toString.call(value).slice(8, -1)}// return Function、Number、String、Object、Array等getDataType([1, 2]) // ArraygetDataType({id: 1, name: '1'}) // Object

2021-02-07 12:12:36 62 1

原创 Java代码优化(实践出真知)持续更新中。。。

Java代码优化(实践出真知)前言代码优化的目标:代码优化开始前言一间装满垃圾的房间,扔掉一个两个垃圾可能看不出什么效果,但是垃圾扔掉的越多,房屋就会越干净,看着越来越干净的房间,心情也会越来越好,虽然避免不了会留下些许灰尘,但是无伤大雅(天下没有不存在BUG的代码一个道理)代码优化的目标:尽量减小代码体积提高代码运行效率代码优化开始类、方法尽量添加final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang

2021-02-05 14:34:48 32

原创 SpringBoot使用@Value静态注入application.yml中变量

SpringBoot使用@Value静态注入application.yml中变量application.yml变量列表映射对象配置(核心)SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值,但是我们经常有这样的静态变量需求,所以我们来说一说这种特殊需求应该如何处理application.yml变量列表dictionary: category: CATEGORY_CODE dataTypeList: - name: 字符串 code:

2021-02-04 16:47:59 118 3

原创 InfluxDB的分页查询以及连续查询

InfluxDB的分页查询以及连续查询分页查询连续查询创建连续查询手动执行连续查询InfluxDB是一个时序性数据库,用来处理大量监控或统计数据。我们经常会进行分页查询数据,与其他常用数据库分页查询不同;由于数据量过大,所以我们常常会需要将数据进行归档,所以这是需要两张表,一张明细表,一张归档表,这就涉及到了连续查询;分页查询SELECT time,Field列 FROM measurement WHERE 时间范围 LIMIT rows OFFSET (page - 1)*rows连续查

2021-01-07 11:14:40 176 1

原创 SQL将多张表的单个或多个字段进行合并查询

SQL将多张表的某字段进行统一查询需求表结构开始查询总结需求查询出所有的人的名字(包括学生和教师)表结构学生表(student),字段:年龄(stu_age)、姓名(stu_name)、性别(stu_sex) …;教师表(teacher),字段:年龄(tea_age)、姓名(tea_name)、性别(tea_sex) …;开始查询select stu_name as name from student-- where ...union allselect tea_name as

2020-12-29 18:15:44 658

原创 PostgreSQL递归查询(从子到父、从父到子)

PostgreSQL递归查询所有叶子节点字典表结构(dictionary)字典表数据递归查询sql查询结果结语场景:某字典表,字典项为多层级,现在想通过SQL查询出某字典项的所有子字典字典表结构(dictionary)id,name,parent_id字典表数据[ { id: '1', name: '字典1', parent_id: null }, { serviceId: '1-1', serviceName: '字典1-1', parent_id: '1'

2020-12-10 17:21:50 1651 6

原创 数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询

Mybatis之数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询外部数据当前项目表格数据(表名:service_info)将外部数据转为Table表格,与service_info关联查询结语标题很绕,我也没想好怎么命名,所以这里详细说明一下。某些数据可能并不是存储到当前项目的数据库中,所以我们无论通过合种方式获取到的数据,都需要进行当前项目的某些业务模块的表进行关联,如果我们不想通过程序进行关联,只需要将这些数据通过sql语句转换为数据库表,然后再与当前项目的业务模块的数

2020-12-10 16:53:24 1628

原创 IDEA安装JRebel插件并通过JRebel服务进行激活

IDEA安装JRebel插件并通过JRebel服务进行激活1. Idea安装JRebel插件2. 构建JRebel服务(若已知服务,可忽略该步骤)本地服务远程服务3. 点击进入[生成一个GUID](https://www.guidgen.com/)4. 开始激活JRebel废话不多说,直接开始。1. Idea安装JRebel插件File --> Setting --> Plugins,搜索JRebel,Install安装后,重启Idea2. 构建JRebel服务(若已知服务,可忽

2020-12-07 14:31:07 1794

原创 在 Windows 上直接运行 Linux,真香!

在 Windows 上直接运行 Linux,真香!启用“适用于Linux的Windows子系统”功能然后去Microsoft Store搜索“Linux”下载安装Ubuntu之前想要使用Linux系统,云服务器成本太高,虚拟机安装太消耗内存,电脑安装双系统需要频繁的切换系统,都不是很友好,现在可以直接在windows系统上安装Linux了,香香!!启用“适用于Linux的Windows子系统”功能打开设置,选择“应用”选择“应用和功能”,点击“程序和功能”点击“启用或关闭Windows功

2020-12-04 15:05:30 2052 4

原创 防止云服务器被爆破的一些措施

防止云服务器被爆破的措施修改SSH登录端口禁用root用户友情提示结语最近频繁接收到云服务器告警信息,提示被暴力破解登录,由于本人懒惰,没有搭理,第二日IP被冻结!!!尴尬!!!为了防止再次被破解,加了一层简单的防护措施!修改SSH登录端口# 将#Port 22去掉#,修改为10000后的端口号,保存并退出vi /etc/ssh/sshd_conf:wq# 重启SSH服务systemctl restart sshd.service禁用root用户当然,修改端口有一定的作用,可以躲过

2020-12-04 10:06:22 2977 6

原创 构建AngularJS项目的三种方法

构建AngularJS项目的三种方法概述手工项目angular-seed项目安装方法目录结构Yeoman项目安装方法安装依赖npm install 报错解决方法概述手工项目:自己建目录,下载类库,写html,js,css,自己实现引用关系angular-seed项目:下载github的angular-seed,在别人的基础之上开发Yeoman项目:通过Yeoman下载一个标准Yeoman项目,已经内置了grunt及各种工具包手工项目构建手工项目是我们平时用的最多的一种方式了,适用于小型

2020-12-01 16:35:34 1252 1

原创 windows安装多版本nodejs

windows安装多版本nodejs安装GNVM简介特色下载(git clone)安装验证入门指南更换更快的库 registry安装 多个 Node.js更详细的使用请参考[官方文档](http://ksria.com/gnvm/)由于不同程序对nodejs的环境要求不同,从而导致在一台电脑上开发多个nodejs应用很烦人,在应用运行时会报错,很多错误我们会认为是代码问题,其实就是nodejs版本问题。例如:gulp[19712]: c:\ws\src\node_contextify.cc:676: A

2020-12-01 11:37:28 1575 3

原创 yarn安装及使用详解

yarn安装及使用详解yarn安装使用npm安装yarnyarn常用命令yarn安装前提是要安装node.js,这里就不做赘述了。使用npm安装yarn# 安装yarnnpm install -g yarn# 查看yarn版本yarn --version# Yarn 淘宝源安装yarn config set registry https://registry.npm.taobao.org -gyarn config set sass_binary_site http://cdn.np

2020-12-01 10:47:47 1718 3

原创 git clone 时显示Filename too long错误的解决办法,一条命令解决

git clone 时显示Filename too long的解决办法git config --global core.longpaths true

2020-12-01 10:02:19 1279 1

原创 Java基础算法之找出一段字符串中所有回文串、最长的回文串以及最长回文串长度

Java基础算法之找出一段字符串中所有回文串、最长的回文串以及最长回文串长度回文的含义是:字符串从左向右看和从右向左看是相同的,例如:abba,1234321。单一字符亦是回文串package com.zhaowl.interview.base;import lombok.extern.slf4j.Slf4j;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.

2020-12-01 09:36:01 1221

原创 Linux修改主机名(多种Linux系列)

Linux修改主机名详细过程查看主机名Redhat、CentOS、Fedora系列Debian、Ubuntu系列注意查看主机名uname -n# 或hostnameRedhat、CentOS、Fedora系列vi /etc/sysconfig/network# 输入以下内容HOSTNAME=yourhostname# 保存并退出:wq# 保存后执行一下命令hostname yourhostname# 再次执行查看当前hostname则为yourhostnamehostname

2020-12-01 09:32:55 3350 9

原创 Java之List集合三种排序方式

Java之List集合三种排序方式方式一(Integer类型集合排序)方式二(对象类型集合排序)方式三(同样是对象类型集合排序 )方式一(Integer类型集合排序)public static void main(String[] args) { List<Integer> nums = new ArrayList<Integer>(); nums.add(3); nums.add(5); nums.add(1); nums.add(0); System.out.pr

2020-11-23 15:32:27 2013 6

原创 Lombok使用详解(pom引入、注解、参数及注意事项)

Lombok使用详解pom.xml文件引入Lombok依赖Lombok注解详解注解参数详解(以@ToString注解为例,其他注解同@ToString注解)使用Lombok可能需要注意的地方pom.xml文件引入Lombok依赖<!-- 省略get/set等方法 --><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifac

2020-11-23 14:11:17 1936 1

原创 Vue自定义配置全局组件和局部组件

Vue自定义配置全局组件和局部组件全局组件局部组件全局组件创建公共组件在components文件夹Backer中新建index.vue创建公共组件导出文件在components文件夹Backer中新建index.jsimport Backer from '@/components/Backer/index'const backer = { install: (Vue) => { Vue.component('backer', Backer); }}export

2020-11-23 10:29:01 1935 1

原创 Vue首次加载不触发watch的解决方法

Vue首次不触发watch的解决方法一行代码解决问题很多时候我们需要Vue首次加载直接出发watch,例如某个自定义组件的样式,会根据某个prop的值进行更新,那么当我们就要使用到watch,样式不存在默认值,或者某个样式并不是首次传过来的prop的值,这样就无法触发watch,导致样式无法更新一行代码解决问题watch: { sizeType: { // immediate设置为true,就是在首次加载时触发watch immediate: true,

2020-11-19 19:36:36 2731 1

原创 Java之Lambda使用(案例)

Java之Lambda使用优点与缺点优点:缺点:使用场景开始使用性能Lambda减少了我们很多行代码,好处多多,但是弊端也不少,所以大家根据场景适当使用。优点与缺点优点:代码量减少,提升了开发效率集合操作也得到了极大的改善函数式编程是技术的发展方向,而Lambda时函数式编程最基础的内容,所以,Java8中加入Lambda表达式本身时符合技术发展方向的。通过引入Lambda,最直观的一个改进是不用再写大量的匿名内部类,还有更多由于函数式编程本身特性带来的提升。比如:代码的可读性会更好,高

2020-11-19 19:26:36 1902 1

原创 使用JdbcTemplate查询PostgreSQL的所有表

使用JdbcTemplate查询PostgreSQL的所有表使用场景Mysql如何查询呢PostgreSQL如何执行最后根据tables是否为空来确定是否执行初始化数据操作吧最近在开发中遇到了这样一个问题,postgresql数据库大家都很熟悉,在命令行中我们可以使用\dt来列出所有表,那么在Java中用JdbcTemplate可以执行\dt命令吗?答案是不可以,本人在项目启动时执行查询表格列表,然后根据是否存在表格来初始化数据库,但是\dt命令无法执行,真的是我孤陋寡闻了,所以度娘一下,找出答案。

2020-11-19 16:39:31 3085 4

原创 自定义ElementUi的Timeline组件

自定义ElementUi的Timeline组件效果图组件封装代码引用效果图组件封装代码<template> <div id="time-line"> <el-timeline> <el-timeline-item v-for="(activity, index) in activities" :key="index" :icon="activity.icon" :type

2020-11-19 14:23:13 2771 4

原创 使用ES6的Object清空对象值

使用ES6的Object清空对象值ES6的Object使用顺便贴上js如果清空对象值方法在前端编译过程中,例如Vue,一个页面存在弹框,弹框中存在赋值对象,那么当我们赋值后关闭弹窗,这个对象并没有被重置或清空,当再次打开时,弹框中对象内容仍然存在,按照正常js的方法,我们会把对象的值一个一个还原,这就显得很麻烦,当然,单独写一个函数也未尝不可,但是ES6的出现,就使得处理起来简单很多了。ES6的Object使用# 初始化对象let param = { id: '', name: '', age

2020-11-19 09:21:27 2501 1

原创 PostgreSQL数据库设置默认模式schema

PostgreSQL数据库设置默认模式schema超级管理员登录(默认postgres)新建多个用户以及多个schema给用户分别设置不同的schema校验总结大家经常会遇到这样一种情况,同一个postgresql数据库,创建了多个scheme模式,映射不同的项目,但是所有的项目默认只查询public模式,这是因为一个用户默认设置一个scheme模式,当出现这种情况时,我之前的做法是每个项目新建一个数据库,这样真的很low,所以经过研究后,总结出如下方法。超级管理员登录(默认postgres)# 只有

2020-11-18 10:23:59 3117

原创 Mybatis或Mybatis-Plus框架的xml文件中特殊符号的使用(<、<= 、>、 >=、&、‘、“ )

Mybatis或Mybatis-Plus框架的xml文件中特殊符号的使用(<、<= 、>、 >=、&、'、" )实体引用对照表解释特殊符号为什么不能在xml文件中使用关于 CDATA 部分的注释:在Mybatis的xml文件中,很多特殊符号是无法直接使用的,需要使用实体引用,假如在 XML 文档中放置了一个类似 “<” 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。实体引用对照表解释特殊符号为什么不能在xml文件中使用“<”

2020-11-17 16:31:35 4178 7

原创 Mybatis-Plus更新字段为null或““的方式

Mybatis-Plus更新字段为null或""的方式方式一:注解方式方式二:自定义sql方式三:使用更新构造器(UpdateWrapper)在项目开发中,我们经常需要将某个字段设置为null或空字符串,但是因为我们的Mybatis-Plus默认会有isEmpty()校验,所以会将null的字段忽略掉,不进行更新,那我们应该如果解决该问题,并且满足我们的需求呢,下面有三种方式,请自行根据实际需求使用(Mybatis-Plus版本为3.1.2以上)方式一:注解方式该方法在所有新增或更新时都会忽略空验证

2020-11-17 15:38:25 3728

原创 js修改/设置scss变量值(应用于主题设置)

@TOCscss文件变量设置// --label-font-color:为js操作此变量需要用到的KEY// --#RED:默认css属性值$labelFontColor: var(--label-font-color, red);js修改scss中$labelFontColor变量值// --label-font-color:为js操作此变量需要用到的KEY// --#BLUE:默认css属性值document.getElementsByTagName('body')[0].style.

2020-11-16 10:25:07 3202

原创 更新node.js后报错:Node Sass could not find a binding for your current environment: Windows 64

Node Sass could not find a binding for your current environment: Windows 64问题来源解决问题问题仍在存在怎么办结语问题来源我个人问题来源就是强迫症,看到最新版本必须更新,可是随之而来的就是版本适配等问题,哎,不过个人仍然坚持使用最新版本,嘿嘿。解决问题其实解决方法很简单,一条命令搞定。npm rebuild node-sass问题仍在存在怎么办上一条命令仍然没有解决问题,怎么办呢,还有一条命令(谨慎使用)npm up

2020-11-12 11:08:02 3764

原创 解决git clone和push时每次都需要输入用户名和密码的烦恼

避免git clone和push时每次都需要输入用户名和密码方法一:SSH免密方式(生成公钥)方法二:配置全局开机存储认证信息(Linux和Windows均适用,个人推荐)大家可能都遇到这样的问题,每次git clone和git push时,都需要输入用户名和密码,真的好麻烦,那么该怎么解决呢?下面有两种方式,当然还有其它方式,个人不喜欢而已,可自行查找。方法一:SSH免密方式(生成公钥)git bash ssh-keygen# 或puttygen.exe方法二:配置全局开机存储认证信息(Li

2020-10-29 18:06:14 7396 1

原创 deepinV20一路艰辛系列七:搜狗输入法候选词条乱码

deepinV20一路艰辛系列七:搜狗输入发候选词条乱码解决方法很简单(亲测有用)最近发现经常重启系统后,搜狗输入法候选词条内容乱码,慌得一批啊,虽然凭借我的输入习惯,常用词汇不影响选择,但是不常用的词汇就靠一个一个测试着使用了解决方法很简单(亲测有用)右键任务栏中输入法框,选择退出,然后等待几秒钟自动重启输入法。。。。这就好了,开心!!上一章:deepinV20一路艰辛系列六:更新微信到最新版本...

2020-10-29 09:43:41 7705 1

原创 Docker进入各个数据库容器方法

Docker进入各个数据库容器方法MysqlPostgresqlMysqldocker exec -it mysql在docker-container中的目录名称 bashmysql -U 用户名 -p# 输入密码即可Postgresqldocker exec -it postgresql在docker-container中的目录名称 bashpsql -U 用户名 -d schema名称...

2020-10-26 09:24:41 8612

原创 deepinV20一路艰辛系列五:安装Navicat15 premium

deepinV20一路艰辛系列五:安装Navicat15 premium(无限期使用)准备工具准备工具List itemnavicat15-premium-cs.AppImage:Navicat 15 premium 官方简体中文试用版(可自行到官网下载)navicat-patcher:补丁navicat-keygen:注册机appimagetool-x86_64.AppImage:Linux 独立运行软件打包工具链接: https://pan.baidu.com/s/12P9xuLDKL

2020-10-22 11:32:25 10335 7

原创 deepinV20一路艰辛系列六:更新微信到最新版本

deepinV20一路艰辛系列六:更新微信到最新版本关闭deepin微信进程从Windows下的WeChat目录(一定记得先升级到最新版)替换deepin的WeChat目录重新打开微信就会发现已经是最新版本了关闭deepin微信进程从Windows下的WeChat目录(一定记得先升级到最新版)首先你要有Windows系统,从C:program files/Tencent下复制WeChat目录替换deepin的WeChat目录将从Windows系统下复制过来的WeChat目录覆盖到deepin系统下

2020-10-22 10:11:01 9605 1

原创 deepinV20一路艰辛系列四:声卡驱动(无声音)

deepinV20路艰辛系列四:声卡驱动(无声音)声卡驱动(无声音)确定声卡是否损坏,若未损坏,则出现如下信息确认系统内核版本开始解决声卡驱动(无声音)确定声卡是否损坏,若未损坏,则出现如下信息确认系统内核版本注:存在问题的内核版本为 5.4,我这里是 5.4.50,应该是所有的 5.4 都存在这个问题.开始解决修改grub 配置文件/etc/default/grub文件所在位置 /etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT 后面添加如图所

2020-10-20 09:04:51 11771 3

原创 deepinV20一路艰辛系列三:开启deepin的ll命令

deepinV20路艰辛系列三:开启deepin的ll命令开启deepin的ll命令开启deepin的ll命令比较习惯使用ll命令sudo vim ~/.bashrc打开该行注释后执行一下命令source ~/.bashrc上一章:deepinV20路艰辛系列二:卸载LibreOffice...

2020-10-20 09:01:02 9708

Window鼠标光标摇动查找(模仿Mac)

用惯了Mac的用户,使用windows时,经常会遇到找不到鼠标,没有摇动查找功能,这个工具弥补了windows在这方面的不足。

2021-03-02

IGG安装工具(助手)

安装说明: 1、打开你的Chrome浏览器的 更多工具&gt;扩展程序页面. 或者直接在网址输入: chrome://extensions/ 2、点击右上角 开发者模式 开关 3、再点击左上角 &quot;添加已解压的扩展程序&quot; 3、选择本次下载包里目录 4、确认选取. 5、点击新安装的igg图标,去Chrome应用商店下载安装。

2020-11-23

IDEA插件:mybatis_log_plugin,亲测可用,无需破解。

Idea插件:将控制台sql日志转换为可直接执行的sql工具(新版本服务,该版本无需破解)。 我们在开发调试过程中,查看控制台的sql日志,想将sql拼接起来,当然,参数较少时无所谓了,但是当参数个数达到几个甚至十几个时,难道还要手动的一个参数一个参数的去拼接吗?就算这样,你能保证拼接过程中位置不会错误吗?所以,就需要这样一个自动转换的工具了。

2020-11-23

InfluxDB数据库管理工具InfluxDBStudio

平台:Windows InfluxDb开源数据库管理工具,帮你简化查询数据库的步骤,提高工作效率。

2021-02-07

mybatis_log_plugin_2020.3.zip

Idea插件:适用于Idea2020.3及以下,将控制台sql日志转换为可直接执行的sql工具。 可直接在Mybatis log控制台查看所有被拼接好的SQL日志。

2020-12-11

个人比较中意的几款Idea主题皮肤

Idea自身会有默认的两个主题,白色背景和黑色背景,但是个人不满意任何一个,当然可以通过配置自定义样式,最简单的范式就是通过导入主题一键设置,不要太方便,这样大体上就都满意了,细微之处再自行修改。

2020-11-23

Java滑块认证(Springboot)

项目名称:verify_code_demo 项目描述: 1. springboot为载体的滑动拼图验证码demo 2. 包括后端图片切割和前端滑动效果实现 3. 后端将切割后的图片转换为Base64,以字符串的方式返回到前端页面进行展示 数据结构: { "backImage": "AANSUhEUgAAADIAAAAyCAYAA...", "markImage": "iVBORw0KGgoAAAANSUhEUgAA...", "x": 117, "y": 82 } 注:前端滑动事件在前后端分离项目中有很多滑动组件,随意使用就可实现!!

2020-09-11

navicat15亲测可用.zip

Navicat15 Premium 亲测可用,新增支持mongodb,支持所有主流数据库,这里的安装包是官网下载的,也可自行到官网下载。

2020-09-11

开发人员必用的chrome插件集合

postman,web前端助手,一键刷新浏览器(包括清除缓存,刷新页面等),鼠标插件,自动刷新前段代码等一些常用和必用的chrome插件

2018-11-28

空空如也

空空如也

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

TA关注的人 TA的粉丝

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