- 博客(71)
- 收藏
- 关注
原创 SpringMVC核心九大组件剖析
1 HandlerMapping(处理映射器)HandlerMapping本身是用来查找handler的也就是处理器。具体的表现形式可以是类或者方法。比如在实际开发过程中controller中进行标注的@RequestMapping的作用便是找到响应的处理器handler和intercepter.2 HandlerAdapter(处理器适配器)HandlerAdapter是一个适配器。因为SpringMVC中的handler可以是任意形式的。只要能处理请求即可。但是把请求交给servlert的时
2021-01-23 23:45:26 576
原创 javaScript浅拷贝和深拷贝核心解析(大厂内训篇)
JS中的数据类型:其中,前 7 种类型为基础类型,最后 1 种(Object)为引用类型,也是你需要重点关注的,因为它在日常工作中是使用得最频繁,也是需要关注最多技术细节的数据类型。而引用数据类型(Object)又分为图上这几种常见的类型:Array - 数组对象、RegExp - 正则对象、Date - 日期对象、Math - 数学函数、Function - 函数对象。在这里,我想先请你重点了解下面两点,因为各种 JavaScript 的数据类型最后都会在初始化之后放在不同的内存中,因此上面的数据类
2021-01-16 09:42:26 199
原创 javaScript基础学习笔记(1) 数据类型总结
基本数据类型:一 ,基本类型:1 数字 number2 字符串 string3 布尔 boolean4 空对象指针 null5 未定义 undefined6 ES6新增的唯一值类型 symbol二,引用数据类型 1 对象数据类型 object 2 普通对象 {} 3 数组对象 [] 4 正则对象 /^$/ 5 日期对象 new Date 6 数学函数对象 Math三, 函数数据类型 function数字类型Number:把字符串转换为数字:一但字符串中出现非有效数字字
2020-12-11 23:27:18 126
原创 JS学习笔记 -- this作用域
概述this是 JavaScript 语言的一个关键字。它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。function test() { this.x = 1;}上面代码中,函数test运行时,内部会自动有一个this对象可以使用。那么,this的值是什么呢?函数的不同使用场合,this有不同的值。总的来说,this就是函数运行时所在的环境对象。 – 引用下阮一峰老师的解读事件调用场景下:谁触发事件,调用者就是谁。
2020-09-08 23:04:37 365
原创 Docker实战 -- Springboot + Vue 工程发布部署手记
项目背景为 Springboot Vue Node Mysql发布环境 Linux CentOS准备工作 进行配置Linux的基础环境 Java Node Mysql大概分为五个步骤:1 工程文件上传至Linux(通常由Git进行同步)2 编写DockerFile3 制作Docker镜像文件4 制作容器5 容器发布 一 Linux工程文件上传:通常使用Wi...
2020-05-07 22:40:01 270
原创 前端开发中常见的ES6技术细节分享一
var: 在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量注意:顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象使用var声明的变量存在变量提升的情况在编译阶段,编译器会将其变成以下执行使用var,我们能够对一个变量进行多次声明,后面声明的变量会覆盖前面的变量声明在函数中使用使用var声明变量时候,该变量是局部的而如果在函数内不使用var,该变量是全局的let : let是ES6新增的命令,用来声明变量用法类似于
2024-11-06 16:45:26 545
原创 2024 CSS保姆级教程四
CSS动画(CSS Animations)是为层叠样式表建议的允许可扩展标记语言(XML)元素使用CSS的动画的模块即指元素从一种样式逐渐过渡为另一种样式的过程常见的动画效果有很多,如平移、旋转、缩放等等,复杂动画则是多个简单动画的组合。css实现动画的方式,有如下几种:transition 实现渐变动画transition的属性如下:.basewidth;height;display;;;;;;;;;/*简写*/*/width;height;;;;</</
2024-11-05 17:13:27 599
原创 2024 CSS保姆高阶教程 - 重排重绘
当我们对 DOM 的修改导致了样式的变化(color或background-color),却并未影响其几何属性时,浏览器不需重新计算元素的几何属性、直接为该元素绘制新的样式,这里就仅仅触发了重绘。当你获取布局信息的操作的时候,会强制队列刷新,包括前面讲到的offsetTop等方法都会返回最新的数据因此浏览器不得不清空队列,触发回流重绘来返回正确的值.在页面初始渲染阶段,回流不可避免的触发,可以理解成页面一开始是空白的元素,后面添加了新的元素使页面布局发生改变。因此浏览器为了获取这些值,也会进行回流。
2024-11-05 16:41:28 597
原创 2024 CSS - 保姆级系列教程三 - 选择器与布局详解
CSS 选择器是 CSS 规则的第一部分。它是元素和其他部分组合起来告诉浏览器哪个 HTML 元素应当是被选为应用规则中的 CSS 属性值的方式。选择器所选择的元素,叫做“选择器的对象”。
2024-11-04 08:38:26 644
原创 2024 CSS保姆级教程二 - BFC详解
先看下MDN上关于BFC的定义:块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。通俗一点来讲,可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部。。
2024-11-04 07:45:03 742
原创 2024 CSS - 基础保姆级教程系列一
一、是什么响应式网站设计(Responsive Web design)是一种网络页面设计布局,页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整描述响应式界面最著名的一句话就是“Content is like water”大白话便是“如果将屏幕看作容器,那么内容就像水一样”响应式网站常见特点:同时适配PC + 平板 + 手机等标签导航在接近手持终端设备时改变为经典的抽屉式导航网站的布局会根据视口来调整模块的大小和位置。
2024-11-03 23:12:06 738
原创 Angular 保姆级别教程高阶应用 - RxJs
RxJS 是一个用于处理异步编程的 JavaScript 库,目标是使编写异步和基于回调的代码更容易。
2024-10-21 23:19:09 1059
原创 2024 - Angular保姆级教程 - 2
表单的控制逻辑写在组件模板中,适合简单的表单类型。表单的控制逻辑写在组件类中,对验证逻辑拥有更多的控制权,适合复杂的表单的类型。在模型驱动表单中,表单字段需要是 FormControl 类的实例,实例对象可以验证表单字段中的值,值是否被修改过等等一组表单字段构成整个表单,整个表单需要是 FormGroup 类的实例,它可以对表单进行整体验证。FormControl:表单组中的一个表单项FormGroup:表单组,表单至少是一个 FormGroup。
2024-07-09 22:03:16 942
原创 2024-Angular保姆级教程 - 1
Angular 是一个使用 HTML、CSS、TypeScript 构建客户端应用的框架,用来构建单页应用程序。Angular 是一个重量级的框架,内部集成了大量开箱即用的功能模块。Angular 为大型应用开发而设计,提供了干净且松耦合的代码组织方式,使应用程序整洁更易于维护。AngularAngular 中文需求:为元素设置默认背景颜色,鼠标移入时的背景颜色以及移出时的背景颜色。
2024-07-07 12:01:19 1101
原创 key words in TOEIC - Unit 1 Office Matters
Appointment 约会,约定an arrangement for a meeting at a given time and placeIf you would like to meet Mr Lee, you must first make an appointment with his secretary.attendance 出席,出席人数the number of persons presentI was very pleased with the number of high-
2022-03-20 21:42:08 316
原创 手写Spring IOC AOP(二) 转账案例
demo:数据库表:逻辑调用关系:TransferServlet:@WebServlet(name="transferServlet",urlPatterns = "/transferServlet")public class TransferServlet extends HttpServlet { // 1. 实例化service层对象 private TransferService transferService = new TransferServiceImpl(); @Overr
2021-02-21 15:11:20 213
原创 手写IOC和AOP(一) Spring IOC AOP基础概念引入
IOC定义:IoC Inversion of Control (控制反转/反转控制),注意它是⼀个技术思想,不是⼀个技术实现。描述的事情:Java开发领域对象的创建,管理的问题传统开发⽅式:⽐如类A依赖于类B,往往会在类A中new⼀个B的对象。IoC思想下开发⽅式:我们不⽤⾃⼰去new对象了,⽽是由IoC容器(Spring框架)去帮助我们实例化对象并且管理它,我们需要使⽤哪个对象,去问IoC容器要即可。我们丧失了⼀个权利(创建、管理对象的权利),得到了⼀个福利(不⽤考虑对象的创建、管理等⼀系列事
2021-02-21 08:56:58 189
原创 如何理解Java中的协变
前言:引用C++中的一段, 在C++中,只要原来的返回类型是指向类的指针或引用,新的返回类型是指向派生类的指针或引用,覆盖的方法就可以改变返回类型 。这样的类型称为协变返回类型(Covariant returnstype).关于协变:协变和逆变维基上写的很复杂,但是总结起来原理其实就一个。子类型可以隐性的转换为父类型说个最容易理解的例子,int和float两个类型的关系可以写成下面这样。int ≦ float :也就是说int是float的子类型。按照上面的原理来说,就是int可以转换成f
2021-02-20 22:00:51 1098
原创 javaSE注解核心剖析
**注解概念:**> 简单理解注解就是一种标记,常用于代替冗余的配置(XML,properties),又或者是编译器进行的一些检查如JDK自带的Override、Deprecated等。可以直白的来讲有注解和没有注解本质上不影响程序的运行。注解的作用在于「注解的处理程序」,注解处理程序通过捕获被注解标记的代码然后进行一些处理,这就是注解工作的方式。**Java中进行定义注解:**Java中进行定义注解很简单,直接进行使用@interface即可完成注解的定义。```javapublic @i
2021-02-14 08:55:31 273 3
原创 SpringMVC拦截器总结
了解拦截器:Servlet:处理Request请求和Response响应过滤器(Filter):对Request请求起到过滤的作用,****作用在Servlet之前****,如果配置为/*可以对所有的资源访问(servlet、js/css静态资源等)进行过滤处理。监听器(Listener):实现了javax.servlet.ServletContextListener 接口的服务器端组件,它随Web应用的启动而启动,只初始化一次,然后会一直运行监视,随Web应用的停止而销毁作用一:做一些初始化工作
2021-01-25 23:01:16 216
原创 SpringMVC文件上传
前提条件:坐标引入:<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version></dependency>编写handler:@RequestMapping("testUploadFile")public St.
2021-01-25 22:42:17 168 1
原创 SpringMVC参数绑定
Servlet原生API支持:绑定简单的参数类型:参数类型推荐使用包装数据类型,因为基础数据类型不可以为null整型:Integer、int字符串:String单精度:Float、float双精度:Double、double布尔型:Boolean、boolean说明:对于布尔类型的参数,请求的参数值为true或false。或者1或0。绑定简单数据类型参数,只需要直接形参声明注意:形参的参数名和传递的参数名保持一致建议使用包装类型参数绑定两步骤:从request中getParam
2021-01-24 12:08:22 161 1
原创 npm install -g cordova报错解决方案(win10)
本地环境:node:v12.18.1npm:6.14.5解决方案:切换至管理员权限1 Win10系统举例 左下搜索栏输入cmd2 然后小黑框右键切换至管理员权限3 npm install -g corvoda
2021-01-20 09:48:21 503
原创 Vue 基础知识点总结
SPASPA( single-page application )仅在 Web ⻚⾯初始化时加载相应的 HTML、JavaScript 和 CSS。⼀旦⻚⾯加载完成,SPA 不会因为⽤户的操作⽽进⾏⻚⾯的重新加载或跳转;取⽽代之的是利⽤路由机制实现 HTML 内容的变换,UI 与⽤户的交互,避免⻚⾯的重新加载。优点1)⽤户体验好、快,内容的改变不需要重新加载整个⻚⾯,避免了不必要的跳转和重复渲染;2)SPA 相对对服务器压⼒⼩;3)前后端职责分离,架构清晰,前端进⾏交互逻辑,后端负责数据处理;
2021-01-04 22:49:48 174
转载 Vue 中key的作用 --官方说明
用 key 管理可复用的元素Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。这么做除了使 Vue变得非常快之外,还有其它一些好处。例如,如果你允许用户在不同的登录方式之间切换:<template v-if="loginType === 'username'"> <label>Username</label> <input placeholder="Enter your username"></template&g
2020-12-17 22:35:20 151
原创 Vue element-ui table filter 实现前端检索效果,简单实用
效果图:<template> <el-table :data="tableData.filter(data => !search || data.name.toLowerCase().includes(search.toLowerCase()))" style="width: 100%"> <el-table-column label="Date" prop="date"> </el-table-
2020-12-17 21:32:49 4027 3
原创 javaScript经典面试题(1)
第一题写出下面程序的结果:let x = [1, 2, 3];let y = x;let z = [4, 5, 6];y[0] = 10;y = z;z[1] = 20;x[2] = z = 30;console.log(x, y, z);结果: [ 10, 2, 30 ] ,[ 4, 20, 6 ],30第二题写出下面程序的输出结果:parseInt("") //Number和parseInt在转换为数字的时候,规则是不一样的Number("")isNaN("") /
2020-12-13 21:33:56 133
原创 ES6 promise总结
概念解说:Promise 对象用于表示一个异步操作的最终状态(完成或失败),以及其返回的值。简单理解就是将一系列嵌套异步调用变成链式调用。Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)。 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象语法结构:new Promise( /* executor */ functi
2020-12-03 08:55:14 161
原创 Vue中的key作用解析
Vue中key值的主要作用:<div v-for="(name, index) in users" :key="index"> {{username}}</div>从Vue2.0版本开始,引进了:key的写法,他的作用主要如下:本质作用主要是为了更加高效的更新Virtual Dom。Vue在进行打补丁操作得时候首先会进行判断两个节点是否相同得过程种,key是一个必要条件(此处可以参考源码),假如没有进行定义key值的话,Vue只能默认当作相同节点来进行处理,哪怕他们
2020-11-22 22:27:36 600
原创 Vue核心笔记(1) - - 组件通信
父子组件通信:(1)父组件向子组件通信prop,子组件向父组件通信$emitVue.component('childCompont',{ data(){ return { mymessage:this.message } }, template:` <div> <input type="text" v-m
2020-05-24 10:54:43 119
原创 Echarts title和subtitle进行合并显示
问题:有关于echarts title 和 subtitle不能进行合并的问题。解决思路:运用text数据然后调整样式解决。源码demo如下:option = { title: [{ text: '大标题', subtext: '', left:'left', top:"8px" },{ text: '', subtext: '小标题', left:'200px',
2020-05-20 22:49:42 2735
原创 Docker学习笔记 -- Docker基础入门
Docker概念:Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。 Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。简单理解就是一个微型的OS,相关的需要运行的环境在容器内全部安装...
2020-05-04 08:46:13 348
原创 Spring基础学习笔记 - - 集合类型注入方式
Java集合的几种类型的注入: List, Map, Set, Properties一起看下Case,先定义一个JavaBean:import java.util.*;import com.zhongrun.spring.innerbean.Person;public class Customer { private List<Object> lis...
2020-02-20 22:30:31 188
原创 Spring学习笔记 -- Spring的Bean生命周期
先来看一下SpringBean 周期的流程图:Bean的创建过程解析: 1 调用 Bean 的构造方法创建 Bean; 2 通过反射调用 setter 方法进行属性的依赖注入; 3 如果实现 BeanNameAware 接口的话,会设置 Bean 的 name; 4 如果实现了 BeanFactoryAware,会把 BeanFactory 设置给 Bea...
2020-02-20 22:04:07 145
原创 Spring学习笔记 -- Spring Bean作用域
一、Spring 中的Bean作用域分类:在 Spring 中,Bean 的作用域决定了从 Spring 容器中返回的 Bean 实例的类型。在 Spring 中,支持以下 5 种类型的作用域:singleton — 单例模式,由 IOC 容器返回一个唯一的 bean 实例。prototype — 原型模式,被请求时,每次返回一个新的 bean 实例。request — 每个 HTTP ...
2020-02-20 21:23:43 140
原创 MongoDB进阶(高级索引使用)
案例:创建文档users{ "address": { "city": "dalian", "province": "liaoning", "pincode": "123" }, "tags": [ "music", "cricket", "blogs" ], "name": "clound"}...
2020-02-17 22:26:18 331
原创 MongoDB操作基础(索引)
本节主要讲解下MongoDB的索引使用**查询find()补充:**条件操作符语法:$type:[key]可选的 key 值如下:1: 双精度型(Double)2: 字符串(String)3: 对象(Object)4: 数组(Array)5: 二进制数据(Binary data)7: 对象 ID(Object id)8: 布尔类型(Boolean)9: 日期(Date)10:...
2020-02-17 15:01:00 146
原创 MongoDB基础操作三(文档基础操作CRUD)
创建数据库:> use userinfo数据库删除:db.dropDatabase()> show dbs # 显示当前系统中的所有数据库> use userinfo # 转到userinfo数据库switched to db userinfo> db.dropDatabase(){"dropped":"userinfo","ok":1}&...
2020-02-17 14:32:18 136
原创 MongoDB基础操作二(文档查询)
基础查询语法:find():db.COLLECTION_NAME.find()Case:> use post> db.post.insert([{ title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'zhongrun', url: 'http://www...
2020-02-17 14:16:23 135
原创 MongoDB基础操作一(基础操作介绍)
MongoDB概念:MongoDB 是一个介于关系数据库和非关系数据库之间的产品,属于文档数据库(No SQL)Not Only Sql 是非关系数据库当中功能最丰富、最像关系数据库的。由于关系型数据库存储对数据之间存在高度的关联,在数据量达到上万亿比特时,关系型数据库所特有的约束和关联就会成为性能瓶颈。非关系型数据库采用了另一种思维方式,即不考虑数据之间千丝万缕的联系,存储也不需要固定的模式,...
2020-02-17 13:53:47 161 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人