自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 前端低代码-少写代码实现灵活需求

低代码开发定义低代码开发,是一种开发模式,通过图形化用户界面来配置和创建应用软件,而不是用传统模式那样主要依靠手写代码。对应的,提供给开发者的这类低代码开发功能实现的软件,称为低代码开发平台(LCDP)。低代码开发模式的开发者,通常不需要具备非常专业的编码技能,或者不需要某一专门领域的编码技能,而是可以通过平台的功能和 约束来实现专业代码的产出。从定义中我们可以看到,低代码开发的工作方式主要依赖操作图形化的用户界面,包括拖拽控件,以及修改其中可被编辑区域的配置。这种可视化的开发方式,可以追溯到更早的

2020-10-26 09:17:39 6161

原创 VUE 3.0初体验

前言2020年9月19日凌晨,尤雨溪大大正式发布了3.0版本,代号:One Piece,不要太刺激哦Vue 从一开始就有一个简单的使命:成为一个任何人都能快速学会的平易近人的框架。随着我们用户群的增长,框架的范围也在不断扩大,以适应不断增长的需求。随着时间的推移,它演变成了我们所说的“渐进式框架”:一个可以逐步学习和采用的框架,同时随着用户应对越来越多的需求场景而提供持续的支持。下面是3.0版本的一些特点在 Vue 3 中,基于对象的 2.x API 基本没有变化,3.0 还引入了 [Co.

2020-09-20 16:28:22 2642 8

原创 REST,RESTful到底是个什么?

作者:覃超链接:https://www.zhihu.com/question/28557115/answer/48094438来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。我觉得问题很好:REST -- REpresentational State Transfer 直接翻译:表现层状态转移。这个中文直译经常出现在很多博客中。尼玛谁听得懂“表

2017-07-12 23:24:45 970

原创 JavaScript对象类型详解

JavaScript对象类型详解JavaScrtip有六种数据类型,一种复杂的数据类型(引用类型),即Object对象类型,还有五种简单的数据类型(原始类型):Number、String、Boolean、Undefined和Null。其中,最核心的类型就是对象类型了。同时要注意,简单类型都是不可变的,而对象类型是可变的。什么是对象一个对象是一组简单数据类型(有时是引用数据类

2016-06-16 13:12:31 8011

转载 微信页面携带参数-小程序页面,普通二维码,小程序二维码

通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面。目前微信支持调用微信接口生成两种二维码,小程序码(1),小程序二维码(2),和用二维码生成器生成的普通链接二维码。

2022-10-06 09:01:56 884

原创 前端性能优化概述

前端性能优化的概述,总体解决思路

2022-09-06 14:58:04 391

原创 简说webpack plugin

plugin(插件)是webpack的支柱功能,webpack整体的程序架构也是基于插件系统之上搭建的,plugin的目的在于解决loader无法实现的其他功能.

2022-08-12 17:10:03 1859

原创 Backbone的event模块分析

nodejs有eventEmitter 类,想到backbone 有个event模块 可以对对象做事件绑定和触发,是backbone的核心模块。backbone event模块on 添加自定义事件 off 删除自定义事件 trigger 派发自定义事件 once 添加只执行一次的自定义事件 (内部依赖于_.once) listenTo 添加一个观察对象 listenToOnce 添加一个仅执行一次的观察对象 stopListening 删除添加的观察对象---------------.

2021-10-25 13:47:18 157

转载 ES6的优化技巧

不是标题党,这是一位leader在一次代码评审会对小组成员发出的“怒吼”,原因是在代码评审中发现很多地方还是采用ES5的写法,也不是说用ES5写法不行,会有BUG,只是造成代码量增多,可读性变差而已。恰好,这位leader有代码洁癖,面对3~5年经验的成员,还写这种水平的代码,极为不满,不断对代码进行吐槽。不过对于他的吐槽,我感觉还是有很大收获的,故就把leader的吐槽记录下来,分享给掘友们,觉得有收获点个赞,有错误的或者更好的写法,非常欢迎在评论中留言。ps:ES5之后的JS语法统称ES6!!!

2021-10-09 09:25:24 374

原创 chrome浏览器使用音视频SDK不能自动播放

最近在使用好视通的PaaSSDK开发web端应用时碰到音视频不能自动播放的问题,特记录如下原因新版的Chrome浏览器(以及所有以Chromium为内核的浏览器)中,已不再允许自动播放音频和视频,即如果用户没有和页面产生交互,是不能自动播放音视频的,尤其是声音是不能出现自动播放的,他们认为会吓到用户。(Google的某些做法还真是令开发者不爽)。就算你为video或audio标签设置了autoplay属性也一样不能自动播放声音。<video autoplay></video&.

2021-09-13 11:17:49 306 1

原创 2021前端工程师面试分享

军哥面试经验分享(FE方向)一、简历1.简历上描述的技术/内容/项目确保自己是真的熟悉/掌握,看看每个技能是不是自己真的掌握了,能说出个1.2.3;每个项目是否自己能说清楚,一些细节是否了解,有哪些复盘点,是否有改进空间2.简历上描述的应该是与目标岗位直接/间接相关的,其他的比较优秀的点可以一笔带过,不需要花大篇幅介绍这些与目标岗位不符的能力3.面试官简历评估时也会看跳槽频率,像1年1跳这种会被评为不稳定,这时除非学历/经历特别出色的,其他基本就不通过了。所以必要时,可以将长期的工作

2021-07-08 00:15:12 604

原创 JavaScript 的对象加强 Map()

多重嵌套 for 循环太丑,运行效率又低,有没有什么办法可以降低它的嵌套层数?怎么简洁优雅的获取我想要的数据,又有良好的智能提示效果?有没有通用的提高运行效率的方案?没错,ES6 的 Map 就是为你定制的。先看一个简单的例子,数组去重:let myArray = [1, 2, 3, 4, 5, 2, 1];function getArray(array) {let newArray = []; for (let i = 0, l = array.length; i < l;

2021-06-23 00:30:09 189 1

原创 程序设计的状态模式及其使用场景

状态模式的使用场景:一个由一个或多个动态变化的属性导致发生不同行为的对象,在与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化,那么这个对象,就是有状态的对象代码中包含大量与对象状态有关的条件语句,像是if else或switch case语句,且这些条件执行与否依赖于该对象的状态。如果场景符合上面两个条件,那我们就可以想象状态模式是不是可以帮忙了状态模式的优缺点:优点:一个状态状态对应行为,封装在一个类里,更直观清晰,增改方便状态与状态间,行为与行为间彼此独立互不

2021-06-20 15:36:08 676

转载 MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 “4.0“

问题描述  Windows 10系统下最近使用npm install安装项目依赖包,当自动执行至node-gyp rebuild时报错:C:\Users\dsl\Desktop\Pros\ant-design-pro-master-v3.1.0>npm install > [email protected] install C:\Users\dsl\Desktop\Pros\ant-design-pro-master-v3.1.0\node_modules\weak > node-gyp rebu

2021-05-10 17:20:24 3709

转载 视频和视频帧:视频和帧基础知识整理

写在前面本文将介绍的是:视频的基础知识。包括:视频协议和格式、视频流。 视频帧的基础知识。包括:YUV帧格式、常见的帧名词(帧率fps、分辨率、码率)、“奇怪”的帧名词(1080p和1080i)、视频编解码而衍生的帧名词(GOP、I\B\P帧)。修改记录2019年4月8日首次完成该文章,内容包括:视频协议、格式、播放原理等基础内容; YUV格式、fps、分辨率、GOP和I/B/P帧等视频帧相关的基础知识; 提到了H264等视频压缩技术。2019年9月7日进行二次修改,修改内容如下:

2021-05-07 14:30:09 2614

原创 程序设计的基本原则-开放封闭原则

开发过程中有什么痛点 ,因为变化、升级和维护等原因需要对原有逻辑进行修改时,很有可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有功能新测试。怎么解决 —— 我们应该尽量通过扩展实体的行为来实现变化,而不是通过修改已有的代码来实现变化具体一点呢 —— 类、模块和函数应该对扩展开放,对修改关闭。模块应该尽量在不修改原代码的情况下进行扩展。核心 —— 用抽象构建框架,用实现扩展细节。总结一下 —— 开发人员应该对程序中呈现的频繁变化的那些部分作...

2021-04-01 10:56:08 303

原创 各种传输协议RTP_RTCP TCP UDP RTMP RTSP -2021-03-26

协议列表 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,FTP,HTTP,SNMP,SMTP,DNS,RIP,Telnet 表示层 数据格式化,代码转换,数据加密 无 会话层 解除或建立与别的结点的联系 无

2021-03-26 19:41:13 994

原创 通过js判断用户网络状态的几种方法

接到一个需求,要求获取web页面的网速,遂查资料进行了解了一番,总结如下:普通h5页面也是有api的,例如判断是否有网络 的时间onLine和onoffline(更多事件详情);还有就是navigator.connection获取网络状况 API,兼容性有问题,现在可以使用的浏览器不是太多。测试结论:navigator.connectionAPI不支持:iphone(微信、微博、UC、QQ浏览器、百度浏览器)安卓(QQ浏览器)支持navigator.connection但不能获取到具体网络

2021-03-22 18:45:10 3833

原创 2020-2021程序员健身变形记

身体是革命的本钱,所以这几个月我瘦身了,做一些记录吧后续要继续努力,持续保持身材,不要再胖回去了。。。

2021-03-10 12:14:20 197

转载 Git常用命令大全(速查)

一、 Git 常用命令速查git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释git remote add origin [email protected]:ndshowgit push origin master 将文件给推到服务器上git remote show origin 显示远程库o...

2021-03-03 11:16:49 316

原创 Nodejs与javascript的区别

前言很多小伙伴学Node的时候,都没有好好认识她就开始疯狂追求,想一举拿下,直接在网上搜索Node实战,想知道她活好不好,想先用她建个简单博客练练手。JavaScript和Nodejs我相信很多入坑Nodejs的人都是前端转过来的,但是局限于公司项目用不到Nodejs,只能自学,有些重要且基础的东西就忽略了。下面我们说一下前端的Javascript和Nodejs。每个前端大虾都很了解JavaScript,我们用它操作dom,用它写数据交互和页面效果,but....请问你真的知道Jav.

2020-11-13 15:33:02 635

转载 Vue-cli3项目的webpack配置

由于vue-cli3将webpack的基础配置全部内嵌了,这就导致我们初始化项目完成之后发现原先的webpack的config配置全部都消失不见了,那该怎么办呢?别慌,vue-cli3早就考虑到了这一点,它预留了一个vue.config.js的js文件供我们对webpack进行自定义配置。vue.config.js官方配置指南 这个是官方指南下面来讲一下vue.config.js的配置1.在项目根目录下新建vue.config.js文件与package.json同级const path..

2020-11-03 16:17:53 873

原创 Webpack 5 中的优化细节

为什么在开启增量构建后,有时候 rebuild 还是会很慢呢?我们可以从两方面来找原因。首先,Webpack 4 中的增量构建只运用到了新增模块与生成 Chunk 产物阶段,其他处理过程(如代码压缩)仍需要通过其他方式进行优化,例如分包和压缩插件的缓存。其次,过程中的一些处理会额外增加构建时间,例如生成 Source Map 等。因此还是需要通过统计各阶段的执行时间来具体问题具体分析。Webpack 5 中的效率优化点Webpack 5 中的变化有很多,完整的功能变更清单参见官方文档,这里我们介绍

2020-10-30 18:05:20 1610 2

原创 Redux详解,有这一篇就够了

react组件中的通信react推崇的是单向数据流,自上而下进行数据的传递,但是由下而上或者不在一条数据流上的组件之间的通信就会变的复杂。解决通信问题的方法很多,如果只是父子级关系,父级可以将一个回调函数当作属性传递给子级,子级可以直接调用函数从而和父级通信。组件层级嵌套到比较深,可以使用上下文getChildContext来传递信息,这样在不需要将函数一层层往下传,任何一层的子级都可以通过this.context直接访问。兄弟关系的组件之间无法直接通信,它们只能利用同一层的上级作为中转站。而如

2020-10-27 16:39:45 20709

原创 深度理解webpack之构建流程

在近年来的前端项目工程化开发的时候,对应产生的工具解决方案,运用最广泛的构建工具就是Webpack了,这篇文章就来分析一下webPack的效率优化问题。要想全面的分析WebPack构建工具的优化方案,首先要对它的工作流程有一定了解,这样才能针对项目中可能存在的构建问题,进行有目标的分析优化。WebPack的基本工作流程我们从两方面来了解webPack的基本工作流程1.通过webpack的源码来了解具体函数的执行逻辑。2.通过webpack对外暴露的声明周期Hooks,理解整体流程的阶段划

2020-10-26 17:18:15 536

转载 React之Hooks学习(一)

什么是 react hook ?它们不是共享状态的方法,而是共享有状态逻辑的方法举个简单例子如下自定义useWindowSize,可以像调用一个函数一样,调用一个hook,每个组件的内部状态相互独立import useWindowSize from './useWindowSize';const Demo = () => { const {width, height} = useWindowSize(); return ( <div> ..

2020-10-15 10:07:30 122

原创 2020年前端技术方向都在这里了

vue全家桶实战及源码vue组件通信vue.js全家桶:vue-router源码typescript:强类型,类型注解,接口,泛型,装饰器手写vue源码:vue工作机制,响应式原理,Dep,Watch,编译compilevue项目实践:创建配置,开发实践,测试,部署vue源码解读:vue源码整体学习思路,数据响应话,虚拟DOMreact全家桶实战及源码react核心:jsx,虚拟DOMreact组件化:ant design组件库,PureComponent,react.memo,

2020-10-15 09:34:45 572 2

转载 更快学习 JavaScript 的 6 个思维技巧

前言我们在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前: 有些概念可能会造成混淆,尤其当你是从其他语言转过来的时候。 找不到时间(有时是动力)学习。 很容易忘记已经理解了的东西。 工具多又在不断变化,所以不知道从哪里开始。 幸运的是,这些拦路虎是可以被识别,并消灭的。在这篇文章中,我将介绍六个思维技巧来帮助你更快地学习JavaScript,并成为一个更快乐、更富有成效的程序员。1.不要让未来的决策阻止你现在前进的方向很

2020-09-30 15:22:28 129

原创 JavaScript 技巧,一般人不告诉他

1.生成指定范围的数字let start = 1900, end = 2000;[...new Array(end + 1).keys()].slice(start);// [ 1900, 1901, ..., 2000]// 还有这种方式,但对于很的范围就不太稳定Array.from({ length: end - start + 1 }, (_, i) => start + i);2.使用值数组作为函数的参数在某些情况下,我们需要将值收集到数组中,然后将其作为函数的参数传

2020-09-30 15:13:08 127

原创 VUE3.0的proxy初探

关于proxyMDN上是这么描述的——Proxy对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)其实就是在对目标对象的操作之前提供了拦截,可以对外界的操作进行过滤和改写,修改某些操作的默认行为,这样我们可以不直接操作对象本身,而是通过操作对象的代理对象来间接来操作对象,达到预期的目的~下面看例子let obj = { name:{name:'hhh'}, arr: ['吃','喝','玩']}//proxy兼容性差 可以代理13种方法 get set.

2020-09-27 18:07:23 839

原创 windows下MongoDB的安装与配置(一)

一 Mongodb的安装下载mongodb先登录Mongodb官网下载 安装包,根据自己的操作系统选择32或者64位安装MongoDB将下载的安装包安装,类似于QQ等软件的安装,中间主要是选择“Custom”自定义 安装路径修改下:D:\software\MongoDB然后不断“下一步”,安装至结束。安装比较容易。难点在启动Mongodb的服务以及将MongoDB设置成Windows服务,加配置文件在windows的“服务”中找到。创建数据库文件的存放位置...

2020-09-24 20:46:27 152

转载 vue中前进刷新、后退缓存用户浏览数据和浏览位置的实践

vue中,我们所要实现的一个场景就是:1.搜索页面==>到搜索结果页时,搜索结果页面要重新获取数据,2.搜索结果页面==>点击进入详情页==>从详情页返回列表页时,要保存上次已经加载的数据和自动还原上次的浏览位置。最近在项目中遇到这个问题,思考了几套方案,总是不太完善。百度搜到的方案也基本都只能满足一些很简单的需求。对于复杂一些的情况,还是有些不完善的地方。以下是个人对于这种场景的一个摸索,也参考了百度。如有更好的方案,欢迎指出。缓存组件,vue2中提供了keep-aliv

2020-09-23 16:06:42 468

原创 省市区三级联动JSON格式数据

找了一个省市区三级的JSON数据,可以组装,分享如下数据样例省export const provinceList = [ { text: '不限', value: '100000' }, { text: '北京市', value: '110000' }, { text: '天津市', value: '120000' }, { text: '河北省', value: '130000' }, { te

2020-09-23 12:23:40 2811

原创 VUE项目中Javascript常用的filter方法

//去除空格 type 1-所有空格 2-前后空格 3-前空格 4-后空格function trim(value, trim) { switch (trim) { case 1: return value.replace(/\s+/g, ""); case 2: return value.replace(/(^\s*)|(\s*$)/g, ""); case 3: ret.

2020-09-22 19:32:18 251

原创 简说tree-shaking

tree-shaking是前端领域一个比较常见的词了,在项目中有什么用呢?这个之前一直没搞明白,通过翻阅众多博文,自己在项目中试验了一下,弄清其大致流程,这里就做了个简单记录。先看一段代码// app.jsexport function A(a, b) { return a + b}export function B(a, b) { return a + b}// index.jsimport {A} from '/app.js'A(1, 2)...

2020-09-20 10:26:03 1068

转载 javascript里判断的多种写法

JavaScript复杂判断的更优雅写法摘要: 写代码是一门艺术。原文:JavaScript 复杂判断的更优雅写法 作者:Think.Fundebug经授权转载,版权归原作者所有。前提我们编写js代码时经常遇到复杂逻辑判断的情况,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/switch会变得...

2018-11-08 11:36:39 1563

转载 移动端省市区三级联动选择器

移动端项目中遇到三级联动的问题,网上查了很多资料,都是依赖各种插件,或者晦涩难于理解。于是,自己决定写一个出来。 当然,没有用到别的插件类库,也没有用ajax。写完这个小demo也学到不少,现在分享给大家代码。因为代码较多,我就不一个个解释了,源码里面添加了很多注释。 为了便于大家使用,我将html精简了许多。1en">2

2017-05-25 16:07:06 5362

原创 application/x-www-form-urlencoded、multipart/form-data、text/plain

设置form表单传输的编码格式 2016-04-28 09:59 1591人阅读 评论(0) 收藏 举报 分类:java(108)  http网络传输协议(14) --------------------------------------------------------------------------------------表单中encty

2017-04-23 10:03:38 2952

原创 Lodash中十个常用的工具函数

当你使用JavaScript进行编程的时候,你很可能需要经常重复写一些工具函数,尤其是处理字符串和对象。 即使ES6已经被标准化了,JavaScript开发者依然无法获得像Objective-C或Ruby那样多的语法糖。 因此,在JavaScript应用中仍然被重复的编写大量的工具函数。而本文将会为你带来的救星就是 Loadsh 。本文将要介绍的是Loadash中的10个常用的工具函数,当

2017-03-16 23:37:02 4679 4

转载 Github上传项目步骤和常见问题

Github上传项目步骤和常见问题标签:github在GitHub上分享和展示你的代码最近大爱Web编程,于是寻找各种代码中,然后就发现了GitHub这个网站,如果你知道Google Code,那么你就知道这个GitHub是做什么的了。不过GitHub主要是用作基于Git的分布式版本管理系统的

2016-09-01 20:56:40 455

省市区三级数据含地名加编码

省市区三级联动JSON格式数据,博文所用,包含是中国目前所有的省市区三级的地名和地名的id,可以灵活组装为省市二级数据,或者省市三级数据,作为选择器的数据来源,也可放在服务端异步加载

2020-09-23

空空如也

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

TA关注的人

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