自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嘿嘿

当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。

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

转载 Object对象你真理解了吗?

前言五一回家又断更了一个放假时间了~~~只有光头才能变强回顾前面:ThreadLocal就是这么简单 多线程三分钟就可以入个门了! 多线程基础必要知识点!看了学习多线程事半功倍 Java锁机制了解一下 AQS简简单单过一遍 Lock锁子类了解一下之前花了点之间时间去搞多线程的基础知识了,难呀难呀难呀....打算还写一篇线程池的就暂时将多线程系列停止了...今天中午在逛简书的时候发现一些大厂也会问Object对象里面有什么方法(也算是一个知识点吧),Object我还没去认真

2021-07-28 09:59:05 14

转载 UML各种图总结-精华

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。想要知道UML更多内容的朋友,可以点击以下课程学习相关知识:  https://edu.csdn.net/course/play/24752/280547一、基本概念    如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图

2021-07-28 09:42:18 21

转载 Java总结篇系列:Java泛型

一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi"); 6 list.add("corn"); 7 list.add(100); 8

2021-07-26 08:51:52 12

转载 element-ui Form表单验证

element-ui Form表单验证规则全解element的form表单非常好用,自带了验证规则,用起来很方便,官网给的案例对于一些普通场景完全没问题,不过一些复杂场景的验证还得自己多看文档摸索,自己经过数次爬坑之后,总结了几种form表单的验证规则,为了便于阅读,验证规则是拆分的,完整的代码放在文末1. 普通输入验证<el-form-item label="活动名称" prop="name"> <!-- validate-event属性的作用是: 输入

2021-07-25 22:13:56 53

转载 Netty概述

Netty是由JBOSS提供的一个java开源框架 Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能‘高可靠性的网络IO程序 Netty主要针对在TCP协议下,面向Clients端的高并发应用,或者Peer-to-Peer场景下的大量数据持续传输的应用 Netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景 要透彻理解Netty,需要先学习NIO。2|0二、IO模型IO模型简单理解,就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能。

2021-07-25 19:05:36 8

转载 JS中关于clientWidth offsetWidth scrollWidth 等的含义

网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth(包括边线的宽);网页可见区域高: document.body.offsetHeight(包括边线的宽);网页正文全文宽: document.body.scrollWidth;网页正文全文高: document.body.scrollHeight;网页被卷去的高: documen...

2021-07-25 18:56:53 17

转载 Flexbox 布局

概述在 flexbox 出现之前,布局的主力一直是 float 和 position,虽然他们表现得很是优秀,但是对于一些复杂或灵活的布局它们还是有些能力不及。比如下面这两种要求:剩余宽度的自动分配 分布对齐(现在已经有了独立的CSS Box Alignment Module)为了能更好的解决这些问题,新的布局技术 flexbox 应时而生,当然其诞生也并非一帆风顺,而是经历了两次浴火焚身,最终才得以带领布局走向华丽新篇。和从前的布局不一样,flexbox 的布局由两层结构组成,父元素设置.

2021-07-23 16:53:47 5

转载 VSCode插件开发全攻略(一)概览

VSCode插件开发全攻略(一)概览文章索引VSCode插件开发全攻略(一)概览 VSCode插件开发全攻略(二)HelloWord VSCode插件开发全攻略(三)package.json详解 VSCode插件开发全攻略(四)命令、菜单、快捷键 VSCode插件开发全攻略(五)跳转到定义、自动补全、悬停提示 VSCode插件开发全攻略(六)开发调试技巧 VSCode插件开发全攻略(七)WebView VSCode插件开发全攻略(八)代码片段、设置、自定义欢迎页 VSCode插件开发

2021-07-23 13:54:00 21

转载 【干货】Chrome插件(扩展)开发全攻略

写在前面我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,所以转载务必保留出处。本文所有涉及到的大部分代码均在这个demo里面:https://github.com/sxei/chrome-plugin-demo,大家可以直接下载下来运行。另外,本文图片较多,请耐心等待加载完毕。本文目录:demo部分截图:鉴于有很多网友有交流学习Chrome插件的诉求,所以最近建了一个插件开发交流群,仅仅是为了提供一个互相交流学习的平台:QQ1群:345957146(已.

2021-07-23 13:51:38 18

转载 java资料

GitHub 星标 115k+的 Java 教程,超级硬核!https://github.com/CyC2018/CS-Notes

2021-07-21 09:24:04 37

转载 vuex深入理解 modules

一、什么是module?背景:在Vue中State使用是单一状态树结构,应该的所有的状态都放在state里面,如果项目比较复杂,那state是一个很大的对象,store对象也将对变得非常大,难于管理。module:可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。二、怎么用module?一般结构const moduleA = { state: { ... }, mutations: { ... }, action

2021-07-11 11:30:59 16

转载 Vue-element-admin实现菜单根据用户权限动态加载

之前有一些网友对我那个IT部门信息管理系统(http://caijt.com/it)的前端感兴趣,我已经开源到github(https://github.com/Caijt/itsys-ui)上面有两个分支,master是对应php后端的,itsys-net是对应asp.net core后端的。这里我简单介绍下我这个系统前端代码,当时我几乎完全参考vue-element-admin的,不过没用它的代码,但写法几乎都参考了他的教程,不过有一点不同的是,我的路由跟菜单是动态生成的,是后台根据当前

2021-07-06 18:40:29 31

转载 浅谈vue权限管理实现及流程

一、整体思路后端返回用户权限,前端根据用户权限处理得到左侧菜单;所有路由在前端定义好,根据后端返回的用户权限筛选出需要挂载的路由,然后使用 addRoutes 动态挂载路由。二、实现要点(1)路由定义,分为初始路由和动态路由,一般来说初始路由只有 login,其他路由都挂载在 home 路由之下需要动态挂载。(2)用户登录,登录成功之后得到 token,保存在 sessionStorage,跳转到 home,此时会进入路由拦截根据 token 获取用户权限列表。(3)全局路由拦截,根据当前用

2021-07-04 21:22:33 19

转载 正确开启Mockjs的三种姿势:入门参考(一)

一、文章初衷阅读本文章需要注意以下几点:文章不主要介绍Mockjs的使用语法 文章暂不涉及Mockjs的第三方封装框架 文章会结合以往做过上线项目的方式总结想主要介绍如何使用Mockjs,是因为发现网上针对这方面的资料好像并不多,并且比较分散。想要做一次总结,希望能帮助解决入门Mockjs的新人使用的一些疑惑1.1 简单介绍一下Mock.js众所周知Mock.js因为两个重要的特性风靡前端: 数据类型丰富 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片

2021-07-04 20:43:35 11

转载 深入理解vue 修饰符sync【 vue sync修饰符示例】

在说vue 修饰符sync前,我们先看下官方文档:vue .sync 修饰符,里面说vue .sync 修饰符以前存在于vue1.0版本里,但是在在 2.0 中移除了 .sync 。但是在 2.0 发布之后的实际应用中,我们发现 .sync 还是有其适用之处,比如在开发可复用的组件库时。我们需要做的只是让子组件改变父组件状态的代码更容易被区分。从 2.3.0 起我们重新引入了 .sync 修饰符,但是这次它只是作为一个编译时的语法糖存在。它会被扩展为一个自动更新父组件属性的 v-on 监听器。示例代码如下

2021-07-04 19:53:27 23

转载 qs.parse()、qs.stringify()使用方法

qs是一个npm仓库所管理的包,可通过npm install qs命令进行安装.qs.parse()将URL解析成对象的形式const Qs = require('qs');let url = 'method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0';Qs.parse(url);console.log(Qs.parse(url)); 如上面..

2021-07-04 19:13:09 6

转载 React Router 使用教程

真正学会React是一个漫长的过程。你会发现,它不是一个库,也不是一个框架,而是一个庞大的体系。想要发挥它的威力,整个技术栈都要配合它改造。你要学习一整套解决方案,从后端到前端,都是全新的做法。举例来说,React 不使用 HTML,而使用 JSX 。它打算抛弃 DOM,要求开发者不要使用任何 DOM 方法。它甚至还抛弃了 SQL ,自己发明了一套查询语言 GraphQL 。当然,这些你都可以不用,React 照样运行,但是就发挥不出它的最大威力。这样说吧,你只要用了 React,就..

2021-07-02 15:48:08 15

转载 手摸手一起用 React 手写一个日历(附在线演示和源码)

设计实现一个简单版本的日历。支持定义日历的排放顺序,以周几作为开始。如下图: 先看效果:https://rodchen-king.github.io/react-calendar/components/calendar 源代码:https://github.com/rodchen-king/react-calendar 设计(以最常用的按月份的日历)日历其实大家都很熟悉,一切的设计都是从功能出发,这是根本。日历的功能分为两大块。 日历头部:当前年份/月份。

2021-07-02 14:42:38 21

转载 React中样式的使用

一、内联样式的方式 第一种方式: 注意: 1、如果要使用style属性,为JSX语法创建的DOM元素设置样式,不能像网页中那样写,而是要用JS语法来写 2、外层的{}表示是JS代码;内层的{}是指用JS对象来表示<div style={{border: "1px solid #ccc",margin: "10px 0",paddingLeft: "15px",display: "flex",justifyCont...

2021-07-02 13:36:18 8

转载 Vue 路由权限控制

当我们在做后台管理系统的时候,都会涉及到系统左侧的菜单树如何动态显示的问题。目前基本上都是RBAC的解决方案,即Role-Based Access Control,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。vue有很多优秀的后台管理系统模板,这些开源项目都提供了RBAC权限控制的思路,但是在实际项目中,写死角色的方式可能并不适合。看了网上蛮多的解决方案,个人感觉都有弊端,好多都是前端先把完整的路由表注册到项目中,然后通过后台返回树过滤显示的

2021-07-02 09:03:28 134

转载 面试官:Vue要做权限管理该怎么做?控制到按钮级别的权限怎么做?

一、是什么权限是对特定资源的访问许可,所谓权限控制,也就是确保用户只能访问到被分配的资源而前端权限归根结底是请求的发起权,请求的发起可能有下面两种形式触发 页面加载触发 页面上的按钮点击触发 总的来说,所有的请求发起都触发自前端路由或视图所以我们可以从这两方面入手,对触发权限的源头进行控制,最终要实现的目标是: 路由方面,用户登录后只能看到自己有权访问的导航菜单,也只能访问自己有权访问的路由地址,否则将跳转4xx提示页 视图方面,用户只能看到自己有权浏...

2021-07-02 08:58:31 19

转载 深入理解定位父级offsetParent及偏移大小

前面的话  偏移量(offset dimension)是javascript中的一个重要的概念。涉及到偏移量的主要是offsetLeft、offsetTop、offsetHeight、offsetWidth这四个属性。当然,还有一个偏移参照——定位父级offsetParent。本文将详细介绍该部分内容定位父级  在理解偏移大小之前,首先要理解offsetParent。人们并没有把offsetParent翻译为偏移父级,而是翻译成定位父级,很大原因是offsetParent与定位有关 

2021-07-01 17:53:38 8

转载 关于vue-router当中addRoutes的使用

项目是越写越多,遇到的各种需求当然也逐渐增多。在一个项目中,实现用户权限,似乎也成了必然。一直以来,我也知道可以通过vue-router官方提供的一个api-->addRoutes可以实现路由添加的功能,事实上就也就实现了用户权限。然而,看到官方文档的介绍,似乎也没办法理解怎么个用法。官方介绍:函数签名:router.addRoutes(routes: Array<RouteConfig>)动态添加更多的路由规则。参数必须是一个符合 routes 选项要求的数

2021-07-01 13:36:18 31

转载 详解基于vue,vue-router, vuex以及addRoutes进行权限控制

基于vuex, vue-router,vuex的权限控制教程,完整代码地址见https://github.com/linrunzheng/vue-permission-control接下来让我们模拟一个普通用户打开网站的过程,一步一步的走完整个流程。首先从打开本地的服务localhost:8080开始,我们知道打开后会进入login页面,那么判断的依据是什么。首先是token。没有登陆的用户是获取不到token的,而登陆后的角色我们会将token存到local或者seesionSto...

2021-07-01 13:32:26 35

转载 Java Ioc详解和实现

这章我们讲JavaSpring的Ioc控制反转,DI依赖注入。阅读此文之前,必须深入理解Java反射原理。1、 Ioc控制反转原来类对象实例的创建都是有程序员自己通过new进行的。控制反转之后,我们把创建对象的功能交给Spring,到时候我们直接用就可以了。2、 DI注入class Bclass{ …….}class Aclass{ Bclass b; }比如我们需要用到Aclass的对象Aobject时候,Spring Ioc帮我们创建了一个对...

2021-06-30 16:55:38 8

转载 Cookie、session和localStorage、以及sessionStorage之间的区别

cookie的内容主要包括:名字、值、过期时间、路径和域。路径与域一起构成cookie的作用范围。若不设置时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就会消失。这种生命期为浏览器会话期的cookie被称为会话cookie。会话cookie一般不存储在硬盘而是保存在内存里,当然这个行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再打开浏览器这些cookie仍然有效直到超过设定的过期时间。对于保存在内存里的cookie,不同的浏...

2021-06-30 11:34:55 16

转载 轻松理解HTTP缓存策略

上一篇文章我写了koa-static的源码解析,其中用到了HTTP的缓存策略,给返回的静态文件设置了一些缓存的头,比如Cache-Control之类的。于是我就跟朋友讨论了一下HTTP的缓存策略:朋友说:“HTTP里面控制缓存的头(header)太多了,啥Cache-Control,ETag,Last-Modified,一大堆,乱七八糟的,而且之间逻辑关系不强,要掌握基本靠背!”我有点惊讶:“为什么要去背这个呢?所有的技术都是为了解决问题而存在的,不了解问题而去单纯的学习技术,去,背,去,死记,确实

2021-06-25 23:26:43 17

转载 用优雅的代码武装我们的koa2项目

众所周知,koa2是基于nodejs的一款非常轻量级的服务端框架,其简单易上手的特性更是大大节省了前端人员开发服务端api的成本。尽管许多功能能够实现,但是作为一个有素养的开发人员,代码的层次性、后期可维护性都是需要考虑周到的。实话说,按照koa官方文档来照葫芦画瓢,我们的代码是写不漂亮的。这里需要我们在编码之前有一个非常清晰的认识:我们的代码如何组织?如何分层?如何复用?在经历一系列的思考斟酌以及一些项目的实践之后,我总结了一些关于koa的开发技巧,能够大幅度的提高项目的代码质量,再也不用让同

2021-06-25 22:50:54 14

原创 form-create

自定义组件过程:导出:注册组件名字:定义rule数据体:上面的json数据通过内部系统在组件内部接收:在这里处理数据和渲染组件:

2021-06-23 11:57:07 8

转载 学Vue,就要学会vue JSX(二)

学习JSX,先了解一下createElement提到JSX,不可避免的就要提到createElement,当你看完本节,你会发现,奇怪的知识又增多了。ok,我们接着上一部分继续讲。这一次的准备工作是了解createElement。从Vue编译后的代码看createElement你是否看过写的Vue代码经过编译之后的样子,比如下面这段代码 <template> <div>我喜欢<span class="emphasize">前端</span&g

2021-06-23 10:33:13 9

转载 学Vue,就要学会vue JSX(一)

最近在做一个项目,然后里面也用到了jsx。因为其实有一些功能也需要更加灵活的去处理。介绍一下JSXJSX 简介JSX是一种Javascript的语法扩展,JSX=Javascript+XML,即在Javascript里面写XML,因为JSX的这个特性,所以他即具备了Javascript的灵活性,同时又兼具html的语义化和直观性。应用场景为了让大家更方便的去理解JSX的作用及用法,我先为大家罗列了几个可能会用到JSX的应用场景。在消息框内添加html在开发过程中,经常会用...

2021-06-23 10:32:15 10

转载 学Vue,就要学会vue JSX(三)

是时候使用JSX代替createElement了接着上面的讲,当我们看到上面用createElement去实现组件,太麻烦了,别说工作效率提高了,就是那些嵌套可以嵌套正确就很赞了,所以我们需要用JSX去简化整个逻辑。当年我做项目的时候就遇到过这样的情况,嵌套太多,自己都快搞不明白了,在崩溃的边缘。 methods: { $_handleInputUser(value) { this.formInline.user = value }, $_handleChangeReg

2021-06-23 10:29:51 6

原创 vue项目为路径设置别名和关闭提示

在项目根路径下创建vue.config.jsconst path = require('path'); //引入path模块function resolve(dir) { return path.join(__dirname, dir) //path.join(__dirname)设置绝对路径}module.exports = { lintOnSave: false, chainWebpack: (config) => { config.resolv

2021-06-23 10:26:13 50

转载 一个原生JavaScript实现的简易数据视图单向绑定实例

<div id="app"> <h2 class="title" data-on="title"></h2> <div class="content" data-on="content"></div> <div class="count" data-on="count"></div> <div class="control"> <label for="content-input...

2021-06-23 09:23:21 13

转载 从JavaScript属性描述器剖析Vue.js响应式视图

学习每一门语言,一般都是从其数据结构开始,JavaScript也是一样,而JavaScript的数据结构中对象(Object)是最基础也是使用最频繁的概念和语法,坊间有言,JavaScript中,一切皆对象,基本可以描述对象在JavaScript中的地位,而且JavaScript中对象的强大也使其地位名副其实,本篇介绍JavaScript对象属性描述器接口及其在数据视图绑定方向的实践,然后对Vue.js的响应式原理进行剖析。前言JavaScript的对象,是一组键值对的集合,可以拥有任意数量的.

2021-06-23 09:12:23 6

转载 从JavaScript属性描述器剖析Vue.js响应式视图

前言JavaScript的对象,是一组键值对的集合,可以拥有任意数量的唯一键,键可以是字符串(String)类型或标记(Symbol,ES6新增的基本数据类型)类型,每个键对应一个值,值可以是任意类型的任意值。对于对象内的属性,JavaScript提供了一个属性描述器接口PropertyDescriptor,大部分开发者并不需要直接使用它,但是很多框架和类库内部实现使用了它,如avalon.js,Vue.js,本篇介绍属性描述器及相关应用。定义对象属性在介绍对象属性描述之前,先介绍一下如何定义对

2021-06-23 09:10:51 10

转载 Vue里require(‘../config‘) 如何加载index.js

1. 前言最近在学习Vue,直接用vue-cli构建项目后,在 webpack-base-conf.js 里有 var config = require('../config') 这段代码,执行中实际是 var config = require('../config/index.js') , 参考了阮大大的文章:传送门终于明白如何加载的。(只想明白require用法直接看下面即可)2.require的用法 2.1当 Node 遇到 require(X) 时,按下面的顺序处理。2.1.1...

2021-06-23 09:09:56 9

转载 Vue render函数

前几天想学学Vue中怎么编写可复用的组件,提到要对Vue的render函数有所了解。可仔细一想,对于Vue的render函数自己只是看了官方的一些介绍,并未深入一点去了解这方面的知识。为了更好的学习后续的知识,又折回来了解Vue中的render函数,这一切主要都是为了后续能更好的学习Vue的知识。回忆Vue的一些基本概念今天我们学习的目的是了解和学习Vue的render函数。如果想要更好的学习Vue的render函数相关的知识,我们有必要重温一下Vue中的一些基本概念。那么先上一张图,这张图从宏观上

2021-06-23 09:06:28 15

转载 正确开启Mockjs的三种姿势:入门参考(一)

一、文章初衷阅读本文章需要注意以下几点:文章不主要介绍Mockjs的使用语法 文章暂不涉及Mockjs的第三方封装框架 文章会结合以往做过上线项目的方式总结想主要介绍如何使用Mockjs,是因为发现网上针对这方面的资料好像并不多,并且比较分散。想要做一次总结,希望能帮助解决入门Mockjs的新人使用的一些疑惑1.1 简单介绍一下Mock.js众所周知Mock.js因为两个重要的特性风靡前端: 数据类型丰富 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片..

2021-06-22 10:33:44 53

转载 vue插槽(slot)的模板与JSX写法

vue官网API:插槽:https://cn.vuejs.org/v2/guide/components-slots.htmlJSX:https://cn.vuejs.org/v2/guide/render-function.html说明:vue版本2.6.0以上语法一、插槽模板传值子组件:child.vue<template> <div> <!-- 默认插槽 --> <slot :info="i

2021-06-20 15:37:38 116

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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