- 博客(43)
- 收藏
- 关注
原创 vue项目如何打war包
通常vue项目是打包后直接放在nginx容器下,但有时会由于某些原因,需要将前端项目布署到其他容器下,比如weblogic等,这时我们就需要将项目打包成war包。
2022-09-30 17:27:17
7966
原创 JavaScript中的箭头函数
箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new.target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。
2022-09-30 12:48:17
443
转载 2022 前端发展趋势
本文是对前端各位大佬2021总结的一个汇总总结。希望可以看到一些前端行业的动向,排布。帮助团队和自身制定未来的规划。内容分为四个部分:基础框架/工程化语言行业趋势底层演进
2022-03-05 21:50:21
1003
原创 CSS3硬件加速 - GPU加速
浏览器接收到页面文档后,会将文档中的标记语言解析为DOM树。DOM树和CSS结合后形成浏览器构建页面的渲染树。渲染树中包含了大量的渲染元素,每一个渲染元素会被分到一个图层中,每个图层又会被加载到GPU形成渲染纹理,而图层在GPU中 transform 是不会触发 repaint 的,这一点非常类似3D绘图功能,最终这些使用 transform 的图层都会由独立的合成器进程进行处理。
2022-02-12 17:35:17
2522
1
原创 浏览器回流与重绘
回流必定会发生重绘,重绘不一定会引发回流。重绘和回流会在我们设置节点样式时频繁出现,同时也会很大程度上影响性能。回流所需的成本比重绘高的多,改变父节点里的子节点很可能会导致父节点的一系列回流。根据改变的范围和程度,渲染树中或多或少的部分节点需要重新计算,有些改变还会触发整个页面的重排。
2022-02-12 14:47:32
1903
2
原创 JavaScript中this详解
为什么需this?在常见的编程语言中,几乎都有this这个关键字(Objective-C中是self),但是JavaScript中的this更加灵活,无论是它出现的位置还是它代表的含义。在开发中,如果没有this,有些时候会让我们编写代码变得非常不方便。
2021-12-19 16:16:20
1234
2
转载 浏览器简史之UserAgent列传
曾经,在做一个小项目,需要判断一下浏览器类型。简单的呀。控制台敲下:navigator.userAgent浏览器回应:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36天,这串是啥?明明一个单词就可以说清楚的事情,为什么要写的这么复杂?
2021-12-14 00:27:50
1497
转载 浏览器简史(二)
本世纪初,微软绝对算得上是一个大赢家。它先是打败苹果,成为了个人电脑领域的霸主,然后又打败网景,成为互联网领域的霸主。然而就是在这种情况下,微软如同魔咒一般地,从一个浪潮的引领者变成了拦路虎。一个企业的命运啊!当然要靠自我奋斗,但也要考虑到历史的进程。明明知道“浪潮”对于公司发展的重要性,可微软还是不可救药地走向了“浪潮”的反面,到底是什么原因?本期内容我们就来聊一聊「第二次浏览器大战」。
2021-12-13 23:14:00
943
转载 浏览器简史(一)
1950 年,一台计算机要占据整个房间,性能却比不上现在的袖珍计算器。但技术发展日新月异,到了 1960 年,它们已能运行复杂的程序。全球各国政府和大学都认为,如果这些机器可以相互连通,以促进合作共赢和科学突破,那将是一件大好事。阿帕网(ARPANET)是第一个成功的网络连接计划,1969 年,第一条消息从美国加州大学洛杉矶分校(UCLA)计算机科学实验室发送到同样位于加州的斯坦福研究院(Stanford Research Institute, SRI)。由此,引发了计算机网络的一场革命。之后不同的
2021-12-13 22:52:09
4882
原创 JavaScript中的相等性判断
ES2015中有四种相等算法:严格相等 ===非严格相等 ==同值相等零值相等JavaScript提供三种不同的值比较操作:严格相等比较 ==> Strict Equality,使用 ===抽象相等比较 ==> Loose Equality,使用 ==Object.is (ECMAScript 2015/ ES6 新特性)判断两个参数是否是同一个值简而言之,在比较两个对象时:双等号将执行类型转换;三等号将进行相同的比较,而不进行类型转换 (如果类型不同, 只是总会
2021-12-10 00:16:58
1433
原创 JavaScript中对象转原始值详解
Object.prototype.valueOf()对象的valueOf旨在返回对象的原始值,会在需要将对象转换成原始值的地方自动执行。详细点这里。Object.prototype.toString()toString()方法会返回表示该对象的字符串,会在对象预期要被转换成字符串的地方自动执行。对象默认的toString()方法会返回[object type],这个type就是对象构造函数的名称。详细点这里。Symbol.toPrimitiveSymbol.toPrimitive(hint)方法作
2021-12-09 23:03:04
1095
原创 JavaScript中的toString方法详解
Object.prototype.toString()toString() 方法返回一个表示该对象的字符串。语法obj.toString()返回值一个表示该对象的字符串。描述每个对象都有一个 toString() 方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,toString() 方法被每个 Object 对象继承。如果此方法在自定义对象中未被覆盖,toString() 返回 “[object type]”,其中 type 是对象的类型。从
2021-12-09 22:11:49
21352
原创 JavaScript中的valueOf方法详解
Object.prototype.valueOf()valueOf() 方法返回指定对象的原始值。语法object.valueOf()返回值返回值为该对象的原始值。描述JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对象没有原始值,则将返回对象本身。通常由JavaScript内部调用,而不是在代码中显式调用。当遇到要预期的原始值的对象时,JavaScript会自动调用它。默认情况下,valueOf方法由Object后面的每个对象继承。 每个内置的核心
2021-12-09 21:54:13
11749
原创 vue实现折叠面板动画
css实现折叠面板动画本是一件容易的事情,但是,若使用height控制,需要height已知,(当然,使用max-height控制,然后给一个足够大的max-height也是可以的);若使用scale,父容器的高度又未能随动画一起变化,本文讲述如何在vue中使用js动画实现折叠面板动画功能。1. 理论基础vue transition函数式组件2. 样式// collapse-transition.css.collapse-transition { transi
2021-12-03 01:04:04
3890
原创 VUE之路由懒加载和动态路由
在构建大型VUE项目时,比如好几百个路由,将路由页面打包到一起,JavaScript包会变得非常大,影响首页的加载性能,而这些路由页面中的绝大多数并非首页加载所必须的,这时我们需要使用路由懒加载的功能,把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件。结合 Vue 的异步组件和 Webpack 的代码分割功能,可以轻松实现路由组件的懒加载。
2021-11-08 23:02:28
2457
原创 浏览器缓存机制
基本的网络请求有三个步骤:请求 ⇒ 处理 ⇒ 响应。“处理”阶段的优化主要集中在后端,前端缓存则主要集中在“请求”和“响应”上。在“请求”步骤中,浏览器也可以通过存储结果的方式直接使用资源,省去了发送请求;而“响应”步骤需要浏览器和服务器共同配合,通过减少响应内容来缩短传输时间。
2021-09-07 23:52:11
980
原创 开源IM框架对比
目录1 常用IM协议2 开源框架对比3 写在最后1 常用IM协议名称说明优点缺点案例XMPP基于xml的消息协议使用广泛,易扩展比较耗流量和耗电Gtalk、新浪微博、FacebookMQTTIMB开发的即时通讯协议多平台协议简单推送私有协议ActivitySync同步支持好,流量小工作量大、扩展性差微信2 开源框架对比名称说明优点缺点Openfire采用java开发的mina框架成熟稳定,插件多单台服务器
2020-11-26 00:37:21
5926
原创 vue-cli3打包压缩、混淆、去注释
使用vue-cli编写的插件或库文件,打包的时候如果需要压缩,可以使用 uglifyjs-webpack-plugin 或者 terser-webpack-plugin,前者不支持es6,打包时可能会报Unexpected token的错误,后者是前者对es6的支持版本。
2020-08-19 00:13:10
7090
原创 Vue对象深度合并
Object.assign只能做到对象的浅合并,即第一层属性的合并,若需要对对象进行深度合并,就需要想其它办法了。本文介绍一个对象深度合并的插件——deepmerge
2020-08-17 22:31:22
2318
原创 VUE防止XSS
vue-xss,一个开箱即用的Vue.js插件,可通过简单的方式防止XSS攻击,底层依赖xss实现 [vue xss, vue-xss, xss]
2020-08-13 23:50:45
13991
1
原创 vue动态添加store、路由和国际化配置
vue动态添加store、路由和国际化配置想写公共能力?用这个吧 ...从后端加载路由不再是梦 ...从后端加载国际化,so easy ...
2020-07-18 14:15:19
2353
原创 JAVA 8 Stream
Stream流可以让我们以一种声明的方式处理数据,强调“做什么而非怎么做”。Stream的操作分为中间操作和终结操作,中间操作返回流对象本身,多个中间操作可以串联成管道;终结操作是将流约简为可以在程序中使用的非流值,一个流只能有一次终结操作,已进行终结操作的流不可以再继续使用了。
2020-04-04 16:49:17
479
原创 JAVA 8 Function
什么是函数式接口?首先,它是一个接口,所以必须满足接口最基本的定义。但它是一个特殊的接口:SAM类型的接口(Single Abstract Method)。可以在调用时,使用一个lambda表达式作为参数。所有函数式接口都在这个包:java.util.function。
2020-04-04 16:29:02
7896
1
原创 JAVA 8 Optional
Optional<T>对象是一种包装器对象,被当作一种更安全的方式,用来替代类型T的引用,用以解决空指值异常所带来的问题。
2020-04-04 16:19:42
1146
原创 SpringBoot集成Flyway
Flayway是一款数据库版本控制管理工具,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里;不仅支持Command Line和java api ,也支持Build构建工具和Spring boot,也可以在分布式环境下能够安全可靠安全地升级数据库,同时也支持失败恢复。
2020-04-04 16:13:50
1271
原创 CentOS 7安装MySQL8
CentOS 7下MySQL的安装,启动,查看及修改root用户密码,用户创建及授权,以及其它常用操作,不涉及SQL相关内容。
2019-01-16 11:15:04
546
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人