自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿布欧的博客

记录工作,生活和学习

  • 博客(29)
  • 收藏
  • 关注

原创 2023年了,复习了一下spring boot配置使用mongodb

MongoDB是一个基于分布式文件存储的开源数据库系统,使用C++语言编写。它是一个介于关系数据库和非关系数据库之间的产品,具有类似关系数据库的功能,但又有一些非关系数据库的特点。MongoDB的数据模型比较松散,采用类似json的bson格式,可以灵活地存储各种类型的数据more。

2023-09-18 10:10:57 107

原创 TypeScript中Class基础使用

通过本文,我们了解了TypeScript中Class的基本语法,包括如何定义Class、如何继承Class、如何使用访问修饰符以及如何定义静态属性和方法。在上面的例子中,我们定义了一个名为Person的Class,它有两个属性name和age,以及一个构造函数和一个greet方法。在上面的例子中,PI是MathUtils类的静态属性,calculateArea是MathUtils类的静态方法。在上面的例子中,Student类继承了Person类,并添加了一个新的属性school和一个study方法。

2023-09-06 10:36:16 106

原创 spring boot使用swagger生成api接口文档

在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档spring boot项目使用mybatis-plus代码生成实例以上就是spring boot集成swagger生成接口文档的例子,关于swagger更多配置,可以查阅swagger官方文档swagger官方文档spring boot使用swagger生成api接口文档。

2022-10-14 10:28:28 420 1

原创 spring boot项目使用mybatis-plus代码生成实例

mybatis-plus是mybatis的增强,不对mybatis做任何改变,涵盖了代码生成,自定义ID生成器,快速实现CRUD,自动分页,逻辑删除等功能,更多功能请查阅官方文档spring boot项目使用mybatis-plus代码生成实例项目源码包含了swagger,后续更新关于spring boot集成swagger基础实例程序员布欧,不定期更新技术入门文章创作不易,转载请注明出处和作者。spring boot项目使用mybatis-plus代码生成实例。

2022-10-09 09:22:39 949

原创 spring boot集成redis基础入门

在上面的例子,编写userService模块对redis的数据进行存和取通过controller控制器对service层处理后的redis数据进行处理返回redis在存取值得时候,需要注意redis的数据类型。以上就是spring boot集成redis的基础实例,redis数据删除,以及复杂类型操作,包括其他较为深入的功能请查看更多redis相关文档请查看redis官方文档spring boot集成redis基础入门。

2022-10-08 09:35:19 209

原创 JavaScript扩展原型链浅析

上文对原型和原型链做了一些简单的概念介绍和解析,本文将浅析一些原型链的扩展。利用原型是对象的特性,实例化对象的时候,继承多个构造函数的属性和方法兼容性:支持目前以及所有可想象到的浏览器 (IE5.5 都可以使用)使用Object.createObject.createObject.create() 方法创建一个新对象,使用现有的对象来提供新创建的对象的 proto兼容性:支持当前所有非微软版本或者 IE9 以上版本的浏览器使用setPrototypeOf兼容性:不支持 IE8 以下的版本。

2022-06-30 09:35:54 109

原创 javaScript原型和原型链

在了解原型和原型链之前,我们先了解一部分概念,constructor,prototype,proto。在之前判断数据类型的文章: javaScript常见数据类型检查校验有提到过关于构造函数的属性constructorconstructor 的是返回创建实例对象的 构造函数的引用,这个属性的值是对函数本身的引用,而不是一个包含函数名称的字符串具体用法:构造函数.prototype.constructor()原型prototype在js当中,每个函数或者方法都有一个特殊的,并且是默认的属性叫作原型(

2022-06-29 09:33:59 119

原创 JavaScript中async和await的使用以及队列问题

宏任务和微任务在前端面试中,被经常提及到,包括口头和笔试题async&& await结合promise在面试时回遇到的队列问题同步任务1,4,执行getUserInfo作为异步方法,优先执行同步代码2p1和userInfo方法,p2这三个作为promise会放在异步队列当中,并且await后面的代码会阻塞后续的代码执行,因此3也会作为异步任务,放在await之后执行此时,会先执行5所有的同步代码执行完成之后,从队列中,执行异步任务,p1,awaitRes---->接口返回值---------

2022-06-27 09:28:11 778

原创 JavaScript数组常用方法解析和深层次js数组扁平化

前言数组作为在开发中常用的集合,除了for循环遍历以外,还有很多内置对象的方法,包括map,以及数组筛选元素filter等。注:文章结尾处附深层次数组扁平化方法操作。作为引用数据类型的一种,在处理数组Array的时候,我们需要考虑到深拷贝和浅拷贝的情况可以参考以下文章javaScript中深拷贝和浅拷贝简单梳理深度解析javaScript常见数据类型检查校验常用数组操作方法push末尾追加元素/** * @param push 将一个或多个元素添加到数组的末尾,返回该数组的新

2022-05-18 09:25:51 361

原创 JavaScript中if语句优化和部分语法糖小技巧推荐

前言在前端日常开发过程中,if else判断语句使用的次数应该是比较频繁的了,一些较为复杂的场景,可能会用到很多判断,在某个代码块使用很多if else时,代码会显得较为冗余,阅读起来不够清晰。除了if else,在开发过程中,还经常使用 逻辑运算符 && || 以及三木运算符? : 等。if else 基本使用let name = "zhangsan";if (name === "zhangsan") { console.log("zhangsan"); // zhan

2022-05-17 09:20:13 1049

原创 http缓存策略以及强缓存和协商缓存浅析

http缓存策略以及强缓存和协商缓存浅析本地缓存-强缓存本地缓存,也就是我们常说的强缓存:是指当浏览器请求资源时,如果请求服务端的资源命中了浏览器本地的缓存资源,那么浏览器就不会发送真正请求给服务器。此时的请求过程:第一次请求当浏览器还是第一次发送请求到后端的时候,本地还没有缓存资源,这个时候的服务器返回给浏览器的资源,响应码是200当浏览器收到资源后,会将资源和对应的响应头一起缓存下来。第二次请求第二次浏览器准备发送请求给服务器时候,浏览器会先检查上一次服务端返回的响应头信息中的Ca

2022-05-12 09:40:21 421

原创 深度解析javaScript常见数据类型检查校验

前言在JavaScript中,数据类型分为两大类,一种是基础数据类型,另一种则是复杂数据类型,又叫引用数据类型基础数据类型:数字Number 字符串String 布尔Boolean Null Undefined Symbols BigInt引用数据类型:日期Dete,对象Object,数组Array,方法Function, 正则regex,带键的集合:Maps, Sets, WeakMaps, WeakSets基础数据类型和引用数据类型的区别,在之前深拷贝的文章中提到过,这里不做详细赘述。传

2022-05-05 09:17:45 843

原创 javaScript中Math内置对象基本方法入门

概念Math 是javaScript的内置对象,包含了部分数学常数属性和数学函数方法。Math 不是一个函数对象,用户Number类型进行使用,不支持BigInt。Math 的所有属性与方法都是静态的。比如说当我们使用圆周率的时候,写法是 Math.PI当使用正余弦函数的写法是 Math.sin(x),x 是要传入的参数。Math 的常量是使用 JavaScript 中的全精度浮点数来定义的。math原生属性// 欧拉常数,也是自然对数的底数,约等于 2.718

2022-04-29 09:36:31 226

原创 javaScript中Number数字类型方法入门

前言Number和Math都属于JavaScript中的内置对象,Number数字类型作为基础数据类型,我们在开发过程中会经常用到,包括数字精度的格式化,还有字符串转换成数字等操作。Number数字自带属性值Number.EPSILON 两个可表示(representable)数之间的最小间隔。Number.MAX_SAFE_INTEGER JavaScript 中最大的安全整数 (2^53 - 1)。Number.MAX_VALUE 能表示的最大正数。最小的负数是 -MAX_VALUE。

2022-04-28 09:43:08 837

原创 vue2.x版本中Object.defineProperty对象属性监听和关联

前言在vue2.x版本官方文档中深入响应式原理 https://cn.vuejs.org/v2/guide/reactivity.html一文的解释当中,Object.defineProperty将声明响应式 property数据的状态转换为getter和setter。Object.defineProperty基本使用和概念官方解释的概念是https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects

2022-04-27 09:18:18 1758

原创 javaScript深拷贝和浅拷贝简单梳理

在了解深拷贝和浅拷贝之前,我们先梳理一下:JavaScript中,分为基本数据类型(原始值)和复杂类型(对象),同时它们各自的数据类型细分下又有好几种数据类型基本数据类型数字Number 字符串String 布尔Boolean Null Undefined Symbols BigInt基本数据类型在内存当中,是存储在栈Stack在数据结构当中栈在内存上的分配的空间生命周期很短,当变量使用完毕,方法执行完成就被释放掉,因此在js当中,变量使用完毕之后,基本就被回收了,有一个场景比较例外,闭

2022-04-26 09:29:12 1018

原创 javaScript中内置对象Date基本操作入门

Date基础语法/** * Date * * 1970年1月1日(UTC)起经过的毫秒数。 * * 语法 * new Date(); * new Date(value); * new Date(dateString); * new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]); * * @params new new Date(): 创建时刻的日期和时间 * @pa

2022-04-25 09:31:38 1410

原创 vue2.x版本中computed和watch的使用入门详解-关联和区别

前面两篇介绍了computed和watch的基本使用watch篇computed篇两者的区别,继续通过代码实现的方式具体去了解html<li>最开始的value值:{{ name }}</li><li>computed计算后的值:{{ computedName }}</li><li> watch修改后的值:{{ watchName }} <input type="text" v-model="watchName" /.

2022-03-25 09:34:36 241

原创 vue2.x版本中computed和watch的使用入门详解-watch篇

前言watch顾名思义,属于vue2.x版本中,监听和观察组件状态变化的钩子函数,常见的应用场景有监听路由变化,以及父组件传递给子组件的props数据的变化等基本使用在使用watch的时候,需要在data中生命一个状态,并添加到watch当中进行观察,当发生变化时,watch可以通过默认参数获取最新的值的变化<li>name值:{{ name }}</li><li>{{ nameTip }}</li><li>通过异步操作获取的age

2022-03-24 09:21:22 1308

原创 vue2.x版本中computed和watch的使用入门详解-computed篇

前言在基于vue框架的前端项目开发过程中,只要涉及到稍微复杂一点的业务,我们都会用到computed计算属性这个钩子函数,可以用于一些状态的结合处理和缓存的操作。基础使用在computed中,声明一个函数,并需要提供一个返回值,用于在页面展示或者结合其他方法进行处理结合state状态使用通过changeName返回一段依赖于name的字符串<li>computed基本使用</li><li>name值:{{ name }}</li><l

2022-03-23 09:25:49 1690

原创 小公司的前端建设的一些思考

在之前的企业项目开发中,做过一些前端基础建设和项目推进的工作。完成项目之后,一直没时间整理和反思在推进过程中,遇到的问题以及解决方案,由于前端团队人员较少,更多的是多人协作以及大家共同攻克一些问题。工具前端的编辑器,包括sublime,还有vscode,以及webstorm、atom这类编辑器,发展到现在,vscode成为了目前前端开发的主流编辑器在团队开发过程中,针对一些固定的插件,需要实现规范和统一。包括:tab缩进的大小,以及格式化的插件,例如在vue开发过程中,推荐使用Vetur进.

2022-03-22 09:09:45 674

原创 vue2版本中slot的基本使用详解

前言在vue的开发过程中,我们会经常使用到vue的slot插槽组件,vue官方文档的描述:Vue 实现了一套内容分发的 API,这套 API 的设计灵感源自 Web Components 规范草案,将 元素作为承载分发内容的出口slot大概分为以下几种:基础slot组件(匿名插槽)匿名插槽主要使用场景并不涉及特别复杂的业务,更像是纯展示组件内容<!--子组件--><template> <span> 我是基础slot子组件, 父组件传过来的值:

2022-03-21 09:48:17 3546

原创 前端(react)上传到阿里云OSS存储 实例

需求背景由于现有的后台管理系统,上传的视频越来越大,加上上传视频较慢,后端小哥提出直接从前端上传视频或者其他文件到阿里云OSS存储。阿里云OSS阿里云OSS文档介绍,这里不做过多赘述安装原本在最开始的时候,是使用node版本的SDK,最开始使用的[nodejs版本]代码如下async function put() { try { let result = await client.put('qq.mp4', fileObj); console.l

2022-03-18 10:48:32 2474

原创 javascript基本数据类型和对象类型归档

javascript的基本数据类型以及引用数据类型,基本数据类型在开发中经常会用到,包括作为变量使用,判断数据类型来处理一些业务等基本(简单数据类型)undefined,Null,Boolean,Number,String复杂的数据类型Objectundefinedundefined 类型只有一个值,即它本身,在使用var声明变量但未给初始值时,这个变量的值为undefined,var msg;console.log(msg==undefined);//trueNullNu

2022-03-17 10:28:58 92

原创 JavaScript的事件循环机制浅析

JavaScript是一门单线程的弱类型语言,但是我们在开发中,经常会遇到一些需要异步或者等待的处理操作。类似ajax,亦或者ES6中新增的promise操作用于处理一些回调函数等。

2022-03-16 11:19:35 892

原创 JavaScript 数组方法filter和reduce

前言在ES6新增的数组方法中,包含了多个遍历方法,其中包含了用于筛选的filter和reducefilter主要用于筛选数组的filter方法,在使用中,不会改变原数组,同时会将符合筛选条件的元素,放入新的数组进行返回。/*** * @item 数组元素 * @index 遍历数组下标 * @thisArr 当前数组 */let arr1 = [1, 2, 3, 4, 5]; let newArr1 = arr1.filter((item, index, thisAr

2022-03-15 09:16:34 358

原创 react 16.8版本新特性以及对react开发的影响

Facebook团队对社区上的MVC框架都不太满意的情况下,开发了一套开源的前端框架react,于2013年发布第一个版本。react最开始倡导函数式编程,使用**function**以及内部方法**React.creactClass**创建组件,之后在ES6推出之后,使用类组件Class构建包含生命周期的组件。

2022-03-14 16:24:36 2600

原创 docker基础命令和操作

docker一些基本命令行操作,包括对镜像的查看,修改和添加,以及容器的管理等操作

2022-03-13 14:55:29 1608

原创 javascript订阅模式浅析和基础实例

前言最近在开发redux或者vux的时候,状态管理当中的createStore,以及我们在组件中调用的dispatch传递消息给状态管理中心,去处理一些操作的时候,有些类似我们常见到订阅模式于是写了一个小demo去实现了一下订阅模式的过程思路订阅模式类似某个平台的作者,或者UP主,而平台充当了一个中间件传递消息的作用,作者是发布订阅的人,在被关注或者订阅了之后,发布的消息,收听作者的用户,可以收到作者发布的消息创建平台var Messege = function () { this.

2022-03-13 11:42:41 937

空空如也

空空如也

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

TA关注的人

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