自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wang839305939的博客

分享快乐,不是分手快乐

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

原创 前端工程师的自我修养-SSR在可视化大屏搭建中的实践

前言​ 借用一句名言开头,“天下大势,合久必分,分久必合”。以前JAVA那是前后端一把梭,根本就不存在啥服务端渲染这么一回事儿,他的,他的,都是他的。后来互联网发展太猛,前端开始登上历史舞台,JAVA专职服务端开发,前端负责终端界面层开发,也就是现在流行的前端分离,双方各司其职,提高了开发效率的同时,双方也在各自的专业领域大展前脚,为现在互联网应用的百花齐放做着各自的贡献。随着nodejs的出现和成熟,前端不在老实巴交的守着自己浏览器端这一亩三分地儿,开始向服务端延伸,从最开始的非核心业务,比公司内部系

2020-07-22 10:01:07 1118 1

原创 从数组的响应式看下一代响应式数据

随着MVVM框架的广泛使用响应式数据已经变得耳熟能详,现在谈响应式数据好像有点炒冷饭的意思,对!没错!不过这次炒的是蛋炒饭,而且还是加火腿肠的那种。之前看过几个框架的响应式数据实现,貌似都对数组(Array)做了特殊处理,咋的啦,有这么特别吗?看来是时候反思和总结一波了。如何实现响应式数据首先来简单实现一个响应式对象。easy! ES5在Object对象中新增了defineProperti...

2019-10-17 16:16:25 579 1

原创 谈谈React的全局状态管理Redux和Mobx的使用

目前有很多基于flow理念的状态管理器,Redux和Mobx是目前追随度比较高的两种,那么选择Redux还是Mobx呢?

2019-03-01 15:51:55 4836

原创 如何实现css模块化

模块化目前在前端的日常开发中已经不是什么新鲜词,早期的AMD规范的requirejs,CMD规范的seajs,以及nodejs的模块化规范commonjs,但是css的模块化一直进展不大,虽然有想less,sass,postcss…的出先,但是这些只是改善了css弱编程的能力方面的问题,在模块化方面还是进展比较缓慢。一.为什么要说CSS模块化?首先,前端模块化是大势所趋,而CSS有时前端开...

2019-01-30 10:35:27 4695

原创 关于通过web页面实现类似SSH客户端工具的技术方案

通过web页面来实现一个类似SSH工具的功能,这在目前各种云平台上已经是必备功能了。这分享一下我对如何实现该功能的一些探索和实践。

2018-12-31 18:05:35 20443 5

原创 关于在electron中调用C++动态库的经验总结

关于在electron使用dll动态库的经验总结

2018-11-13 09:08:48 38233 22

原创 前端自动化测试实践

通过前端自动化测试,来解放自我

2018-10-31 23:35:49 14114 3

原创 前端工程化之部署篇

部署简单来说就是将构建产出的代码部署到服务器上,在开发中我们通常的操作就是使用ftp将代码上传到服务器上固定目录下即可,所以这项工作在很多开发看起来是简单而又无聊的工作,这种部署方式从本质上来说没毛病,但是只适用于由少数人维护的规模较小的项目,如果这是个用户量庞大的产品,拥有多体系的技术团队,那么,我们在设计部署流程的时候就需要考虑许多其他的因素了,比如如何多人协作,提高部署效率,控制部署时的安全等等,这个时候就不再是一个简单的ftp上传代码这么简单了

2018-09-30 17:12:43 15343 5

原创 跨越平台桌面应用开发框架electron使用的心路历程

前言 从接触Electron到真正去做出一个桌面应用,再到今天写下这边文章,大概花了三个月时间吧,到不是因为有多难学,主要是由于这纯碎是个人兴趣,自己是在业余时间干的,公司里面目前还没有推行,这段时间开发任务又比较重,所以断断续续用了三月吧。今天写下这篇文章只是记录一下这个过程,也是和初学者分享一下。 相信大多数人都是知道Electron最初是起源于Atom...

2018-06-26 15:48:34 94269 40

原创 关于数组getter和setter的思考

  接触过Vue的人基本都知道,Vue的数据绑定是通过ES5的getter和setter实现的,查看Vue源码,目录结构如下 observer目录下面的模块实现Vue的数据绑定功能,从文件夹和文件的命名来看可以知道采用的是观察者设计模式,看来有必要对常见的几种设计模式补补课了。  这里我不想详细分析整个数据绑定的实现过程,网上分析的很好的文章有很多,我只想说说我在看完这部分代码后的想法。...

2018-03-27 01:56:00 2503

原创 前后端常见的几种鉴权方式

常见的授权四种授权方式HTTP Basic Authentication,session-cookie,token(jwt),OAuth(开放授权)

2018-01-03 15:53:31 115942 10

原创 ES6/7/8新特性Promise,async,await,fetch带我们逃离异步回调的深渊

Promise,async,await,fetch解决js中的异步请求问题

2017-07-20 11:59:08 15595 3

原创 webpack编译多页面vue项目的配置问题

一般情况下,构建一个vue项目的步骤为: 1,安装nodejs环境 2,安装vue-cli cnpm install vue-cli -g 3,构建vue项目 vue init webpack-simple vue-cli-multipage-demo 4, 安装项目依赖包 cnpm i

2017-07-17 14:59:55 5383

原创 Express中间件之body-parser

中间件body-parser的作用是解析POST请求的请求体。然后我们可以通过req.body,获取到请求参数。 在express4.0之前bodyParser没有从express中剥离开可以通过express.bodyParser引入,但是4.0以后需要单独安装然后通过require(‘body-parser’)引入。 body-parser中提供了四种处理数据的方法: bo

2017-07-06 14:51:40 1549

原创 彻底解决前端开发在前后端分离过程中的跨域问题

现在的web工程越来也大,传统的开发模式已经显得捉襟见肘了,不仅开发人员在开发过程中很痛苦,后期维护的人员也更痛苦。怎么解决呢?前后端分离。在前后端开发过程中一直会伴随我们的问题就是跨域问题,因为这时候前端和后端的代码是在不同机器上运行的,两个地址不在一个域名下,这个时候前端脚本在进行ajax访问的时候浏览器就会报跨域相关的错误。这个时候怎样解决呢? 最简单的做法是通过设置浏览器允许浏览器跨

2017-06-23 16:18:05 41149 4

原创 webpack配置文件中publicPath和contentBase傻傻分不清

搞清楚webpack配置文件中publicPath和contentBase的作用...

2019-01-09 20:15:32 25948 6

原创 XMLHttpRequest2.0的实践之路--山寨某云盘

结合xhr2.0,nodejs,ImageMagick,ffmpeg实现一个山寨版的微云,真的是山寨版,看看就知道。

2018-08-31 19:23:54 764

原创 原生JS实现深拷贝

说到深浅拷贝的问题,其实就是堆内存和栈内存的问题。 栈内存 保存基本数据类型或者引用类型数据的地址指针, 堆内存 保存对象本身。 所谓的深拷贝就是在内存中单独为该变量开辟一个存储空间。所以对于基本数据类型来说他的任何赋值都深拷贝,因为在栈内存中,数据的大小是固定,不可变的,变量一旦声明就会在内存中在栈内存中开辟一个新的空间。我们常说的深拷贝是针对于引用类型的。引用类型在栈内存中只保存了一...

2018-06-30 09:20:47 5637

原创 koa篇--koa2中异常处理机制

之前一直使用Express搭建web服务端,从3.x到4.x,最近开始接触KOA2,突然有种如沐春风的感觉,除了相比Express更加简洁的语法外,他的异常处理机制也是让我眼前一亮, 一是乎想去看看他是怎么实现的.

2018-05-31 09:51:22 12454 2

原创 <srcipt src="/socket.io/socket.io.js"></script>加载的资源是从哪儿冒出来的?

&nbsp;&nbsp;&nbsp;&nbsp;这个标题可能起的不太高级,或者表述不清楚。这里解释一下,其实就是弄清楚&lt;srcipt type="text/javascript" src="/socket.io/socket.io.js"&gt;&lt;/script&gt;这句代码加载的资源是哪里来的。如果觉得过程太繁琐,就直接看总结把。&nbsp;&nbsp;&nbs

2018-02-12 13:49:02 6320 2

原创 echarts使用笔记之实现让折线的拐点闪烁的效果

利用echart实现折线图点位动态高亮闪烁的效果

2017-12-11 20:17:38 5208

原创 从浏览器地址栏输入URL到页面加载完成的过程中都发生了那些事情?

对于在浏览器中输入URL地址到页面呈现在我们眼前这个过程的理解

2017-11-14 17:31:36 2073

原创 利用nodejs写个前端脚手架来玩玩

作为一个前端如何利用nodejs做一个像vue-cli,npm...那样的脚手架

2017-10-18 19:29:24 8755 3

原创 私有git服务多用户管理及权限控制

关于git的用户和权限管理

2017-10-10 17:10:35 35770 2

转载 掌握这些常见的操作git就基本可以平趟了

掌握下面介绍的这些git操作,就可以玩转git了

2017-10-09 20:00:16 874

原创 前端攻城狮需要掌握的应用层协议

作为一个前端,我们经常和各类网络协议打交道,那么http,https,ws,wss,SSL,TLS这几者协议之间的关系是怎样的呢?我们前端有没有必要了解呢?还是我们前端就只写写页面?

2017-09-11 14:42:08 1000

原创 vue多个路由共用一个页面问题

在使用vue开发时,如何处理多个路由共用一个页面的问题

2017-08-31 19:54:16 22661 1

原创 论服务器反推前端技术哪家强?

服务器向前端浏览器推送信息,目前主要的实现方式1 轮询2 comet3 websocket4 socket.io5 SSE

2017-08-23 13:46:14 909

原创 css技巧—图片配文字

使用css实现头像和名字,图片和简介的布局

2017-08-15 09:05:39 2533 1

原创 domain和cluster结合让nodejs更加健壮的运行

结合nodojs提供的cluster和domain模块,解决express框架搭建的web应用的异常,是后台代码更加健壮。

2017-08-07 16:30:45 1314 1

原创 常见的几种页面内容布局方式

常见的页面布局,左右自适应布局

2017-07-27 11:45:44 67771 1

原创 一个简易的表单校验插件wv.js

很多网站都有登陆和注册功能,只要涉及到登陆和注册的几乎全部都要用到表单,而表单在提交前,需要对输入进行校验,验证输入长度,类型等等是否合法,目前常用的就是jQuery-validate.js这个插件。其实这些插件的实现眼里都是比较简单的,主要用到input标签的focus和blur事件,然后在这个事件触发的时候通过正则表达式对输入的值进行检验,然后返回校验结果。 现在我们就来实现一个简单的表单

2017-07-19 15:48:01 1507

原创 JS控制浏览器全屏

由于工作的需要,需要对页面进行投屏操作,这时为了达到更好的效果,浏览器全屏显示类似F12的效果。 HTML5提供了操作浏览器全屏的API,目前google chrome 15 +, safri5.1+,firfox10+,IE1能够很好的支持该属性;低版本的IE可以通过ActiveX插件实现; google chrome 15 +, safri5.1+,firfox10+,IE1实现方式: 打

2017-07-06 19:34:57 8777 3

原创 css常用技巧--文字省略(单行,多行)

文字省略: 在处理段落的时候常常会遇见文字溢出后显示省略符号的需求,常常有三种需求。 1,固定长度后溢出显示省略号, 这种一般在标题显示上用的比较多,使用时一定要固定宽度。 li {width:100px;overflow:hidden;text-overflow:ellipsis; }  语法:   text-overflow : clip | ell

2017-07-03 13:37:42 3036

原创 js中的钩子机制(hook)

什么是钩子机制?使用钩子机制有什么好处? 钩子机制也叫hook机制,或者你可以把它理解成一种匹配机制,就是我们在代码中设置一些钩子,然后程序执行时自动去匹配这些钩子;这样做的好处就是提高了程序的执行效率,减少了if else 的使用同事优化代码结构。由于js是单线程的编程语言,所以程序的运行效率在前端开发是比较重要的,在开发中我们秉承如果能用switch case 的地方就不要用if else

2017-06-20 16:49:11 13638 4

原创 vuex之store拆分即多模块状态管理(modules)篇

了解vuex的朋友都知道它是vue用来集中管理状态的容器,如果了解过Reduce的朋友可能看见他时就会非常熟悉,都是用来管理全局的状态的,实现不同组件之间相互的数据访问。这里我们不介绍vuex,主要介绍vuex拆分store以及多模块管理。我们知道如果一个项目非常大的话状态就会非常的多,如果不进行分类处理,所有的状态都维护在一个state里面的话,状态管理就会变得非常的混乱,这样非常不利于项目的后期

2017-06-18 00:27:39 41289 11

原创 聊聊前端开发中关于闭包的那点事

聊聊前端开发中关于闭包的那点事 今天老大去面试了一个两年工作经验的前端工程师,一个关于js闭包的问题直接将面试的人问懵了,我个人感觉对于一个有两年经验的前端开发人员来说,闭包应该是必须要掌握的。如果只有一年的经验,我可以理解,但是两年及以上,此处省略…。 好了不卖关子了,今天我们就来说说关于javascript的闭包。 我们从三个方面讲解 1.什么是闭包? 2.闭包有什

2017-06-11 20:35:46 2194

原创 浏览器页面滚动条美化(样式)

浏览器页面滚动条美化(样式) 最近测试反应我们的产品在浏览器中当页面宽高出现溢出的情况下页面滚动条太丑了!让我们美化一下!然后花了一点时间专研了一下关于滚动条样式的相关知识,今天就在这里和大家一起分享一下: 其实滚动条样式是由两部分构成,一是滚动槽,二就是滑块,其实我们可以把他理解成轨道和火车的关系就行了,浏览器默认的样式其实就像我们传统的绿皮火车,现在的高铁其实就像修改后的样式,改

2017-06-11 11:16:45 3985

空空如也

空空如也

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

TA关注的人

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