自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

柒月

路漫漫其修远兮

  • 博客(96)
  • 资源 (3)
  • 收藏
  • 关注

原创 前端处理后台返回的流数据

实际工作中,常常会遇到如预览PDF、下载Excel之类的需求。通常处理方式有:1、后端返回一个文件在服务器的URL,前端直接使用就行。2、后端返回流数据。如图前端如何处理?1、接口请求的时候一定要加responseType: 'blob',否则生产的文件会是空白(PDF)2、代码实现 const binaryData = [] binaryData.push(res)// res 后台返回的流数据 this.pdfUrl = window.URL.c

2020-10-28 17:44:31 85

原创 系统学习大前端(12) --- Vue.js 源码分析

准备工作Vue源码获取项目地址fork一份到自己仓库vue3.0地址源码目录结构srccompiler 编译相关core Vue核心库platforms 平台相关代码server SSR服务端渲染sfc .vue文件编译为JS对象shard 公共的代码FlowJS的静态类型检查器官网参考-3、flow调试设置打包工具 Rollup安装依赖 npm i设置sourcemappackage.json文件中的dev脚本中

2020-08-31 17:37:27 56

原创 针对不同数据结构和算法的专题训练(二)

1、动态规划1.1 322.零钱兑换var coinChange = function(coins, amount) { if(amount===0) return 0; const dp = Array(amount+1).fill(Number.MAX_VALUE) dp[0] = 0; for (let i = 1; i < dp.length; i++) { for (let j = 0; j < coins.length; j++) {

2020-08-04 09:18:56 91

原创 系统学习大前端(11)---vue-router实现、模拟vue、VDOM实现原理练习

文章内容输出来源:拉勾教育大前端高薪训练营一、简答题1、当我们点击按钮的时候动态给 data 增加的成员是否是响应式数据,如果不是的话,如果把新增成员设置成响应式数据,它的内部原理是什么。let vm = new Vue({ el: '#el' data: { o: 'object', dog: {} }, method: { clickHandler () { // 该 name 属性是否是响应式的 this.dog.name = 'Trump' } }})

2020-07-15 16:18:52 235

原创 系统学习大前端(10)---vue-router实现、模拟vue、VDOM实现原理
原力计划

文章内容输出来源:拉勾教育大前端高薪训练营vue-router实现基本使用创建路由组件vue.use()注册vue-router注册router对象设置占位router-view创建链接 router-link动态路由/detail/:id[获取]$route.params.id[获取]props:true — 推荐()=> import() 按需引入嵌套路由children编程式导航$router.push()$router.repla

2020-07-15 16:10:48 94

原创 系统学习大前端(9)---模块化、webpack、rollup、规范化标准练习

文章内容输出来源:拉勾教育大前端高薪训练营一、简答题1、Webpack 的构建流程主要有哪些环节?如果可以请尽可能详尽的描述 Webpack 打包的整个过程。流程初始化项目配置文件webpack.config.js配置项目入口、输出路径、开发模式等配置不同资源处理的loader配置plugin执行打包命令通过webpack.config.js配置文件的entry入口配置开始查找项目依赖资源根据配置的loader解析不同的资源,输出打包后的资源。在webpack打包过程中不

2020-07-15 10:44:59 315

原创 系统学习大前端(8)---模块化、webpack、rollup、规范化标准
原力计划

文章内容输出来源:拉勾教育大前端高薪训练营1. 模块化模块化演变过程step1 – 文件划分方式命名冲突污染全局作用域无法管理模块间的依赖关系step2 – 命名空间的方式将每个模块添加命名空间依然没有解决模块间的依赖关系step3 – IIFE(自执行函数)通过函数提供私有作用域step4 – commonjs规范(node)一个文件就是一个模块每个模块都有单独的作用域通过module.exports导出成员通过require函数载入模块以同步的

2020-07-15 10:32:49 128

原创 系统学习大前端(7)---工程化、自动化构建练习
原力计划

文章内容输出来源:拉勾教育大前端高薪训练营简答题1、谈谈你对工程化的初步认识,结合你之前遇到过的问题说出三个以上工程化能够解决问题或者带来的价值。工程化就是通过一些方法去提升研发效率和研发质量的手段。提升效率脚手架自动化构建组件化模块化保证质量ESlint代码检测git commit提交规范单元测试2、你认为脚手架除了为我们创建项目结构,还有什么更深的意义?提升效率,可以快速搭建一个基础项目架构规范化 对技术选型、项目结构等做一些规范,以降低沟通成本编程题

2020-07-14 17:27:17 317

原创 系统学习大前端(6)---工程化、自动化构建
原力计划

文章内容输出来源:拉勾教育大前端高薪训练营工程化概述前端面临的问题ES6+ 兼容问题Less、Sass等 不支持模块化、组件化不支持手动压缩手动上传代码多人开发,难以统一风格等待后端接口完成…工程化主要解决的问题传统语言或语法的弊端无法使用模块化、组件化重复的机械式工作代码风格统一、质量保证依赖后端服务接口支持整体依赖后端项目工程化的表现一切重复的工作都应该被自动化工程化不等于某个工具vue-clicreate-react-ap

2020-07-14 17:18:25 71

原创 系统学习大前端(5)---ES6+新特性、TS、JS性能优化练习

文章内容输出来源:拉勾教育大前端高薪训练营1、下列代码执行结果,并解释原因。var a = [];for (var index = 0; index < 10; index++) { a[index] = function(){ console.log(index); }}a[6]()输出10这里使用var声明的变量会提升至全局执行上下文中,当循序结束时,index的值为10.这个问题解决有两种方式:通过闭包var 改成 let2、下列代码执行结果

2020-07-14 16:39:01 207

原创 系统学习大前端(3)---函数式编程、异步编程练习

文章内容输出来源:拉勾教育大前端高薪训练营一、简答1、谈谈你是如何理解JS异步编程的,EventLoop、消息队列都是做什么的?什么是宏任务、什么是微任务?由于JS是单线程的,这样执行任务会发生线程阻塞。所有JS引入了异步编程,通过回调的方式来解决这种阻塞。对于像定时器这种异步任务以及IO任务、其它线程发送过来的任务,JS会将其放到消息队列中,通过EventLoop的机制从消息队列里面依次取出任务执行。消息队列里的任务就是宏任务,微任务是promise、mutationObserver、nextT

2020-07-14 15:38:14 159

原创 系统学习大前端(2)---手写promise

文章内容输出来源:拉勾教育大前端高薪训练营

2020-07-14 15:19:08 137 2

原创 系统学习大前端(4)---ES6+新特性、TS、JS性能优化
原力计划

ES新特性1、let、const块级作用域变量提升最佳实践:不使用var ,默认使用const ,明确会改的使用let。2、解构数组const arr = [1,2,3]const [a,b] = arr;const [,,c] = arr;使用…方式解构const [a,...rest] = arr;默认值const [a,b,c,d = 12] = arr对象const obj = { name:'zs', age:18}const {na

2020-06-30 22:49:52 310

原创 系统学习大前端(1)---函数式编程、异步编程
原力计划

函数式编程学习函数式编程的目的函数式编程随react流行受到更多关注vue3 开始拥抱函数式编程函数式编程可以抛弃this打包过程中可以更好的利用tree shaking过滤无用代码方便测试、方便并行处理很多库可以帮助我们进行函数式开发 lodash underscore ramda函数式编程概念函数式编程(Function Programming,FP)是编程范式之一。常说的编程范式还有面向过程编程、面向对象编程。面向对象的编程:把现实世界中的事物抽象成程序世界中的类和对象

2020-06-30 22:47:16 190 1

原创 针对不同数据结构和算法的专题训练(一)
原力计划

1、数组1.1 11. 盛最多水的容器题解:左右两个指针移动,算出其中的面积,最大的就是结果。实现var maxArea = function (height) { if (!height || height.length<=1) return 0 let left = 0,right = height.length-1;//左右两个指针 let max = 0;//最大值 while (left<right) { // 计算

2020-06-01 11:16:16 322

原创 前端训练营第五周

1、结构化程序设计1.1 JS执行粒度JS Context => Realm宏任务微任务(promise)函数调用(Execution Context)语句/声明表达式直接量/变量/thisRealm 里面有一套完整的Js内置对象。在JS中,函数表达式和对象直接量都会创建对象。使用. 做隐式类型转换也会创建对象。这些对象也是有原型的。如果没有realm ,就不知道原型是什么。作业(选做):用G6 antv 可视化Realm中的所有对象重学前端:JavaScript对象:

2020-05-24 23:13:18 244

原创 前端训练营第四周

结构化程序设计宏任务、微任务setTimeout、setInterval、任务队列 – 宏任务promise 、MutationObserver ---- 微任务逗号表达式永远返回最后面的。var x = (1,2,3);x ----> 3因为5.1 这周内容不多。主要内容就是微任务、宏任务。讲了蛮多的promise的例子。...

2020-05-24 23:06:09 112

原创 前端训练营第三周

表达式、类型转换1、Float转为bit1.1 64位浮点数默认隐藏了一个1.(十进制不可能以0开始,二进制只有0,1,不以0开头,必然是1,所以隐藏了一个1)。符号位 + 指数部分 + 小数部分1.2 正0和负0num/0 — Infinity(-Infinity)2、Express 表达式2.1 运算符优先级 优先级表达式生成树Member 属性访问a.ba[b]foostringsuper.b — 构造函数中super[‘b’]new.targetnew

2020-05-09 16:53:19 299

原创 vue项目报错Navigating to current location ("/cancell") is not allowed

先截个图,控制台报错如上。不影响功能,但是看着膈应。百度了下,这个问题是由于连续点击相同路由导致的。vue-router未处理这个问题。解决方式:自己捕捉错误一、this.$router.push(`/login`,()=>{},(err)=>{})二 、 this.$router.push(`/login`).catch(err=>{ ...

2020-04-25 16:42:11 147

原创 前端训练营第二周
原力计划

一、编程语言通识语言分类非形式语言中文英文阿拉伯文、蒙古文…形式语言(乔姆斯基谱系:是计算机科学中刻画形式文法表达能力的一个分类谱系,是由诺姆·乔姆斯基于 1956 年提出的)它包括四个层次:0型文法(无限制文法或短语结构文法)包括所有的文法。等号左边不止一个 ::= “c”1型文法(上下文相关文法)生成上下文相关语言。“a”“c”::=“a”“x”“c”...

2020-04-24 20:03:59 599 1

原创 javaweb入门(五)----- JSTL与EL表达式

EL表达式EL(Expression Language)表达式语言,用于简化JSP的输出。EL表达式的语法: 表达式示例:‘<h1>学生姓名:{表达式}示例:`<h1>学生姓名:表达式示例:‘<h1>学生姓名:{student.name}`作用域对象EL表达式内置4种作用域对。EL表达式输出语法:${[作用域.]属性名[.子属性]}EL表达...

2020-04-18 12:00:00 52

原创 前端训练营第一周

从事前端开发三年多了,前端各方面知识都有所涉及。也正是因为想学的太多,所以就啥也没记住啥也没学好。这次训练营也是希望能够跟着winter大神好好打磨一下自己的知识体系,可以达到p6的水平。一 知识体系我之前也是比较在意自己知识体系的建立的,但是涉及的方面太多了训练营指导的知识体系删繁就简,重在基础。把精力放在前端js html css方面,并追本溯源达到真正的知其然后知其所以然。通过归纳总...

2020-04-15 21:13:33 751 1

原创 前端性能优化导图

原图

2020-04-03 09:24:22 37

原创 有序数组的最快的查找算法

最近面试问的比较多的一个题目是:有一个有序的数组,有没有最快的方法查找到里面的一个元素是否存在?存在返回下标,不存在返回-1。部分人回答用循环,多数人想到用数组的findIndex方法。很少的人知道这个题是要用二分查找的。这个题主要是想看一下应聘人员对数据结构和算法有没一下了解。当然上面三种方式都可以实现这个需求,但是最优解还是二分查找法。首先,循环和findIndex的是算法复杂度度...

2020-03-20 11:15:17 961

原创 webpack4.0学习笔记(2)
原力计划

优化配置1、HMRHMR:hot module replacement 热模块替换作用:一个模块发生变化,只会重新打包这一个模块(而不是打包所有模块),极大提升构建速度。样式文件:可以使用HMR功能,因为style-loader内部实现了。JS文件:默认不能使用,需要修改JS代码,添加支持HMR功能的代码。注意:HMR功能对js的处理,只能处理非入口js文件的其他文件。html文件...

2020-03-19 15:37:21 137

原创 javaweb入门(四)-----Servlet与JSP进阶
原力计划

HTTP请求HTTP请求的结构HTTP请求包含三部分:请求行、请求头、请求体。HTTP响应的结构HTTP常见状态码ContentType的作用

2020-03-15 20:34:31 42

原创 webpack4.0学习笔记(一)
原力计划

介绍webpack是一种前端资源构建工具,一个静态模块打包器。在webpack看来,前端所有的资源文件都会作为模块处理。它会根据模块的依赖关系进行静态分析,打包生成对应的静态资源。五个核心概念Entry :入口文件,以入口为起点开始打包,分析构建内部依赖图。Output :出口,打包后的资源输出位置及命名。Loader : 使得webpack处理非JS文件Plugins: 用于执行...

2020-03-13 16:53:44 109

原创 web安全及防御

XSS黑客往网页里注入恶意脚本代码,当用户访问时获取到包含恶意代码的网页。通过恶意脚本,黑客可以获取和控制用户信息。反射型XSS(非持久型)诱导用户点击恶意链接来造成一次性攻击。黑客把带有恶意脚本代码参数的URL地址发送给用户,用户点击此链接,服务端获取请求参数并且直接使用,服务器发射回结果界面。反射型XSS攻击是一次性的,必须通过用户点击链接才能发起。一些浏览器如Chrome,内置...

2020-03-12 10:46:15 75

原创 javaweb入门(三) ---- JSP

JSPJSP介绍JSP(Java Server Page) Java服务器页面JSP 是J2EE的功能模块,由web服务器执行。JSP的作用就是降低动态网页开发难度。JSP特点JSP使用简单,短时间学习便可上手使用。JSP可将java代码与HTML分离,降低开发难度。JSP的本质就是Servlet。JSP的应用程序要求可正常运行的Tomcat.所有JSP页面的扩展名...

2020-03-09 22:45:34 49

原创 javaweb入门(二) ----Servlet

J2EEJ2EE(java 2 platform Enterprise edition)是指“java 2企业版”。web应用就是J2EE最核心的功能。J2EE由13个功能模块:Servlet web服务器小程序。JSP 服务器页面。JDBC 数据库交互模块。XML XML交互模块。EJB 企业级Java Bean。RMI 远程调用。JNDI 目录服务。JMS 消息服...

2020-03-06 22:02:52 48

原创 vue-cli3 + express + mongodb小型全栈项目(三)

vue-cli3 + express + mongodb小型全栈项目(一)vue-cli3 + express + mongodb小型全栈项目(二)

2020-03-06 12:50:04 182

原创 vue-cli3 + express + mongodb小型全栈项目(二)

接上篇vue-cli3 + express + mongodb小型全栈项目(一)1、创建vue项目在node_app文件夹下使用vue create client命令生成vue项目。client是本次客户端项目名称。安装后的项目目录:2、使用concurrently连接前、后台项目同时启动2.1 安装concurrently。2.2 修改client项目的package.json增...

2020-03-05 21:37:27 266

原创 javaweb入门(一) ---- XML
原力计划

XML是什么?XML的全称是EXtensible Markup Language (可扩展标记语言)。编写XML就是编写标签,与HTML非常类似,扩展名为.xml如:// demo.xml<employee> <name>李思</name> <age>18</age> <height>170&...

2020-03-04 13:39:53 61

原创 vue-cli3 + express + mongodb小型全栈项目(一)

1、express搭建服务器1、新建一个项目文件夹,node_app,进去文件夹后,使用命令npm init 初始化项目。注意:这里将入口文件改为了server.js.2、安装express,全局安装nodemon。3、项目根目录新建server.js文件,内容如下:const express = require('express');const app = express();...

2020-03-02 11:29:30 319

原创 java基础学习8-----输入输入流

File类的使用文件可认为是相关记录或放在一起的数据的集合。在JAVA中,使用java.io.File类对文件进行操作。File类的相关操作// File file = new File("D:\\study\\java\\javaTest2\\src\\io\\file\\iotest.txt");// File file = new File("D:\\s...

2020-02-27 16:35:34 47

原创 java基础学习7-----多线程

线程的创建1、创建一个Thread类,或者一个Thread子类的对象。Thread类Thread是一个线程类,位于java.lang包下。Thread类的常用方法通过继承Thread类的方式创建线程类,重写run()方法。class MyThread extends Thread{ @Override public void run() { Sys...

2020-02-26 11:02:09 53

原创 java基础学习6-----String类、集合

字符串创建String对象的方法 String str = "JAVA 编程 基础"; String str1 = new String("JAVA 编程 基础");String的常用方法String VS StringBuilderString具有不可变性,而StringBuilder不具备。当频繁操作字符串时,使用StringBuilder;StringB...

2020-02-25 11:03:34 35

原创 vue-cli3查看webpack配置、插件

方式一通过vue inspect 命令。这个命令会在命令行列出配置,但是由于配置太多的话会显示不全,命令行有字符数限制的。通过如下命令查看规则配置的列表:vue inspect --rules如:具体配置可以通过如下命令: vue inspect --rule vue注意这里是rule。vue是上面列出的规则,vue是vue-loader的规则配置。如果想看用了哪些插件,...

2020-02-20 19:35:01 2248

原创 java基础学习5---包装类及常用方法

java中的数据类型包装类与基本数据类型java中提供了8中基本类型:6中数字类型(4个整数型,2个浮点型),1种字符类型,还有1种布尔类型。整数: int 、short、byte、long,初始值为0.浮点型:float、double,初始值为0.0 。字符:char 初始值为空格。布尔值:boolean ,初始值为false。java中包装类包括:Integer、Long...

2020-02-20 19:15:27 206

原创 java基础学习4---异常

异常异常本质上是程序上的错误。程序中的异常错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误。在编译期间出现的错误有编译器帮助我们修正,然而运行期间的错误就不是编译器力所能及的了,并且运行期间的错误往往是难以预料的。在程序运行过程中,意外发生的情况,背离我们程序本身的意图的表现,都可以理解为异常。在程序运行期间出现了异常,如果置之不理,程序可能会不正常运行、强制中断运...

2020-02-19 20:32:09 69

700道JavaScript习题及面试题(含答案)(1).pdf

JS 700道面试题 含答案

2020-04-24

js闭包详细讲解

js闭包的详细讲解

2019-01-18

图解HTTP协议

图解HTTP 超清版

2017-01-19

空空如也

空空如也

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

TA关注的人 TA的粉丝

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