- 博客(28)
- 收藏
- 关注
原创 Springboot测试RabbitMQ出现Failed to declare queue(s)
Springboot测试RabbitMQ出现Failed to declare queue(s)
2022-07-21 12:33:40
2636
原创 vue项目代码规范VSCode+ESlint+Prettier
vscode控制vue项目代码规范vscode安装三个插件,并配置PrettIerESLintVeturPrettIervscode配置PrettIer,打开vscode配置并进入settings.json"[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode"},"[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },"[scss]
2021-09-26 11:42:00
303
原创 Coding不规范——数据库字段不规范引发max(company_id)出错
Duplicate entry ‘10’ for key ‘pk_company_id’company_id为varchar类型数字错误代码<select id="maxCompanyId" resultType="integer"> select IFNULL(max(company_id),0) + 1 from company </select>修正代码<select id="maxCompanyId" resultType="integer
2021-02-24 14:27:36
525
原创 springboot2.4配置springmvc配置fastjson转换(springmvc配置WebMvcConfigurationSupport导致swagger无法访问)
最近简单建了个项目整合了下swagger3.0给java同学用,项目内的一些配置都是cv的以前老项目。发现接口返回的时间数据转换失败,结果都是UTC格式时间。仔细研究了下发现是配置写法问题导致fastjson转换不生效。顺便解决了下springMVC配置继承的WebMvcConfigurerAdapter已经废弃的问题。这个配置逼得java小同学在查sql的时候format时间,真是罪过。。。错误示例:修改后配置如下(配置代码见底部):转换结果还有一种网上流传的配置是继承WebMvcConf
2020-12-22 16:36:08
817
原创 idea创建springboot项目整合swagger3.0、aop拦截,封装接口统一返回
idea新建项目新建项目跟着idea一步一步来,选择依赖的时候记得要选 Spring Web项目创建成功看下pom <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>
2020-12-03 19:33:45
957
原创 梳理Promise原理,实现简单的promise
JS中常用的处理异步的方式就是回调和发布订阅。promise也是发布订阅模式的一种实现。then方法注册事件,执行器executor中的异步任务触发发布消息改变状态并执行注册事件队列里方法,也就是发布订阅模式里面的注册事件,发布通知,执行订阅的事件实现promise要按照Promise的规范,一个基本的promise包括具体实现如下:// 三个状态const PENDING = "pending";const REJECTED = "rejected";const FULFILLED =
2020-12-03 13:52:23
140
原创 Javascript实现类型判断的几种方式
typeof运算符用来判断基本类型和函数console.log(typeof 1) // numberconsole.log(typeof 'a') // stringconsole.log(typeof true) // booleanconsole.log(typeof Symbol('a')) // symbolconsole.log(typeof 100n) // bigintconsole.log(typeof undefined) // und.
2020-11-25 09:57:25
380
原创 undefined和null在“==”下的一些运行结果
null、undefined在使用相等运算符==和其他数据(null和undefined除外)进行比较式,可以想暂时认为null、undefined不进行类型转换,但是function log(el) { console.log(el)}log(null == undefined) // truejs处理运算符和关系运算符的方式并不相同,处理关系运算符时带有转换为数值的倾向log(undefined == 0) // falselog(undefined > 0)
2020-11-25 09:56:26
723
原创 浅拷贝和深拷贝---JS实现深拷贝的方式
说道数据拷贝就离不开数据类型,在JS中数据类型分为基本类型和引用类型基本类型:number, boolean,string,symbol,bigint,undefined,null引用类型:object 以及一些标准内置对象 Array、RegExp、String、Map、Set…一. 基本类型数据拷贝基本类型数据都是值类型,存储在栈内存中,每次赋值都是一次复制的过程 var a = 12; var b = a;二. 引用类型数据拷贝1、浅拷贝只拷贝对象的一层数据,再深处
2020-11-25 09:52:44
280
1
原创 体验ANT DESIGN PRO V5--菜单角色权限和服务端请求菜单(解决icon显示文字)
根据接口返回的角色渲染菜单大致流程如下图所示在建立的ANT DESIGN PRO V5项目中,主要靠以下两个文件完成左侧菜单根据角色权限渲染默认的ant design pro v5项目给我们两个权限角色 admin和user,查看账户登录接口(/api/login/account)mock的数据:// mock/user.ts// 登录接口返回 mock/user.ts下接口/api/login/account if (password === 'ant.design' &&
2020-11-20 07:21:28
10478
14
原创 体验ANT DESIGN PRO V5--项目创建并安装umi气泡工作台
ant design pro V5版beta版发布了,距离上次使用ant design pro已经过去两年,看到V587的新版本发布便迫不及待的再来体验下。首先按照官方文档创建项目,项目创建流程如下:0. 创建项目新建一个空文件夹test-v5,终端在该文件夹下下运行npx npx create-umi选择 ant design pro选择版本V5稍微等待一会项目就创建好了,接着就是常规的安装依赖2. 启动项目将项目拖到vscode查看pkg文件,启动项目成功启动熟悉
2020-11-18 22:57:07
3113
1
原创 从一个BUG学习resultType和resultMap以及字段映射的一些配置
从一个BUG学习resultType和resultMap以及字段映射的一些配置今天帮Java小同学解决了一个mybatis查询映射时小Bug,说是Bug其实更多是代码不规范,没熟悉代码导致的错误,虽然很简单,但也浪费了半天时间。这种问题对于后端新手接手一个二手项目应该会经常遇到,记录备忘。先上代码问题:@Datapublic class OrderDetail { private Integer id; private BigDecimal remuneration; pri
2020-11-16 09:18:21
398
原创 发布订阅模式又叫做观察者模式
最近看到很多文章分析发布订阅模式和观察者模式的异同,其实在大多关于设计模式的书籍里面都认为二者是一样的。发布订阅模式,又叫做观察者模式,又叫做消息机制,它定义对象间的一种一对多的依赖关系,当一个对象状态改变的时候,所有依赖于它对象都将得到通知.个人感觉他们俩也是一样的,只不过是写法不同,理解的切入角度不同造成他们好像是两种设计模式。最简单的发布订阅模式 const eventCenter = { // 调度中心 list: [], // 订阅 on(f
2020-11-11 18:27:29
365
原创 扒一扒垃圾短信【兑换通知】提醒:尊敬的尾号XXXX用户,您有XXXX积分即将过期。。。的诱导网站
上个月,参与了移动的积分兑换话费活动,成功把即将过期的积分换了几十块钱话费。最近手机上经常收到莫名号码发来的积分兑换通知。如下图所示:这种推广诈骗短信对于IT从业者来说赤果果的侮辱啊。正好趁着项目空闲期,八一八这些个网站的信息。以下信息均是根据网上已公开资料查询而来。作为一名面向搜索程序员,第0步肯定是要先百度下了果不其然,网上确实有爆料,并且有购买的用户(胆真肥)。1. 首先域名资料短信中两个网址不是同一家公司,看来这种套路成功的概率还不少,那么多辣鸡公司模仿。2. 点击链接进去重定
2020-11-10 09:08:56
55655
9
原创 JS防抖函数debounce,underscore的防抖代码分析
防抖大致意思是高频触发的函数,在一定的时间间隔内只会执行一次。主要用来处理窗口的resize,滑动,滚动,输入等高频事件,也可以处理防止恶意高频点击按钮。简易版防抖 const d = function(fn, wait){ let timeout = null return function(){ clearTimeout(timeout) let args = arguments timeout = se.
2020-11-06 12:21:09
467
原创 mysql5.7设置sql_mode解决 group by报错
今天要把java服务部署到生产环境,丢上去启动后发现有些接口报错了:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'enterprise.a.ent_no' which is not functionally dependent on
2020-11-03 17:11:50
2123
原创 移动端设备1px解决代码
最近看到产品UI测试小姐姐一起围着新来的单身前端同学,深入探讨为啥写的1px在IOS上面频繁翻车。看着据理力争写的就是1px的前端和围成一圈的小姐姐,不由得感叹小年轻怎么那么鸡贼。。。简介回归正题,在做移动端页面时,由于设备屏幕的设备像素比(DPR)的不同,需要对不同的页面做兼容,这也是导致各种设备上面1px边框问题出现的原因。这里先不谈如何对移动端设备做兼容,也不谈什么是设备像素、什么是逻辑像素、什么是设备独立像素,只简单介绍下遇到1px边框问题的常用解决方案。ctrl+c ctrl+v 就能让小姐
2020-10-28 11:15:46
151
原创 前端布局属性以及基础布局方式
随着各种UI框架的出现,现在写前端除了一些非常定制化的需求,直接用UI轮子,便可以解决很多布局、兼容性问题。几乎很少自己手写布局,前几年很流行的一些布局方式也忘得差不多了,从新梳理下,加深记忆。常用的布局属性floatpositiondisplay相关属性: block、inline、inline-block、none、flex、grid、tablepadding、margin、width、height、top、bottom、left、 right…基础布局方式固定布局(static
2020-10-27 17:28:37
213
原创 经典的三栏布局(圣杯、双飞翼)
圣杯布局双飞翼布局两种布局都是要实现左中右三栏,左右固定,中间自适应的布局。并且考虑兼容性。两种布局是根据其结构而命名,css实现方式均有多种圣杯布局和双飞翼布局共同点都是用了一个额外的包裹标签,将内容部分DOM优先放置在前,提前加载。两种布局HTML结构都是唯一的,根据css可以用不同的方式实现圣杯布局结构<div class="grail"> <div class="content">content</div> <div cl..
2020-10-27 17:26:14
160
原创 CSS-margin外边距折叠
CSS-margin外边距折叠外边距折叠指的是,块的上外边距(margin-top)和下外边距(margin-bottom)有时合并(折叠)为单个边距,其大小为单个边距的最大值(或如果它们相等,则仅为其中一个),这种行为称为边距折叠。—MDN注意:外边距折叠仅仅指的是垂直外边距,并且只发生在处于文档流的块状元素中解决方案:1、设置padding或border处理外边距折叠问题2、将元素BFC(块级格式化上下文)化,只有属于同一个BFC的元素才会发生垂直外边距折叠,例如设置overflow:hi
2020-10-26 16:18:03
220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人