- 博客(79)
- 资源 (22)
- 收藏
- 关注
转载 前端需要了解的 SSO 与 CAS 知识
不管是什么公司,只要产品数量大于一个,那么单点登录势必是绕不过去的一个问题。作为前端程序员,我们对其虽然接触不多,但适当的了解还是必要的。本文就来谈谈单点登录相关的问题。前置知识了解 SSO,最好具备以下知识。当然,如果不是特别熟,也不影响阅读。cookie及session浏览器同源策略及跨域了解登录系统的构成什么是 SSO 与 CAS?SSOS
2017-11-08 15:35:51 414
转载 [V8]找出可能影响性能的代码(模式)
原文地址:Tracing Patterns that Might Hinder Performance原文作者:Jakub Rożek译文出自:掘金翻译计划本文永久链接:github.com/xitu/gold-m…译者:薛定谔的猫校对者:AceLeeWinnie、HydeSong找出可能影响性能的代码(模式)现在你很可能会遇到不止一个响应迟钝的 app 或加载缓慢的页面。已经
2017-11-02 09:56:45 665
转载 Webpack经典入门
October 16th, 2015 by Maxime Fabre(中文译本更新于2017年10月22日,由于webpack已更新至3.8.1,因此译文有改动)Webpack your bags之前你可能已经听说过这个叫webpack的很酷的工具,如果你没仔细了解过这个工具,你可能会有些困惑,因为有人说它像 Gulp 之类的构建工具,也有人说它像 Browserify 之
2017-11-02 09:51:18 800
转载 8大前端安全问题
当我们说“前端安全问题”的时候,我们在说什么“安全”是个很大的话题,各种安全问题的类型也是种类繁多。如果我们把安全问题按照所发生的区域来进行分类的话,那么所有发生在后端服务器、应用、服务当中的安全问题就是“后端安全问题”,所有发生在浏览器、单页面应用、Web页面当中的安全问题则算是“前端安全问题”。比如说,SQL注入漏洞发生在后端应用中,是后端安全问题,跨站脚本攻击(XSS)则是前端安全问题,
2017-11-02 09:07:43 727
转载 移动端页面平滑翻页的解决方案
随着近几年移动营销页的火爆,催生了一个中国式的名词「H5」。而 H5 最常见的形态就是类似幻灯片翻页效果。我们需要制作 H5 的时候,最快的办法就是使用一些滑动插件库,如 iDangero.us 出品的 Swiper,百度 BE-FE 出品的 iSlider。通过这些翻页库提供的强大的配置功能,我们就能实现很酷炫的翻页效果。当然,这些库还支持自动播放,点击切换和当前页面指示等配置,所以还能
2017-10-31 13:45:01 1470
转载 JavaScript Event Loop 机制详解与 Vue.js 中实践应用
JavaScript Event Loop 机制详解与 Vue.js 中实践应用归纳于笔者的现代 JavaScript 开发:语法基础与实践技巧系列文章。本文依次介绍了函数调用栈、MacroTask 与 MicroTask 执行顺序、浅析 Vue.js 中 nextTick 实现等内容;本文中引用的参考资料统一声明在 JavaScript 学习与实践资料索引。1. 事件循环机制详解
2017-10-24 12:35:01 394
转载 ES6 变量声明与赋值:值传递、浅拷贝与深拷贝详解
ES6 变量声明与赋值:值传递、浅拷贝与深拷贝详解归纳于笔者的现代 JavaScript 开发:语法基础与实践技巧系列文章。本文首先介绍 ES6 中常用的三种变量声明方式,然后讨论了 JavaScript 按值传递的特性,最后介绍了复合类型拷贝的技巧;有兴趣的可以阅读下一章节 ES6 变量作用域与提升:变量的生命周期详解。变量声明与赋值ES6 为我们引入了 let 与 co
2017-10-24 12:33:28 1476
转载 ES6 变量作用域与提升:变量的生命周期详解
ES6 变量作用域与提升:变量的生命周期详解从属于笔者的现代 JavaScript 开发:语法基础与实践技巧系列文章。本文详细讨论了 JavaScript 中作用域、执行上下文、不同作用域下变量提升与函数提升的表现、顶层对象以及如何避免创建全局对象等内容;建议阅读前文 ES6 变量声明与赋值。变量作用域与提升在 ES6 之前,JavaScript 中只存在着函数作用域;而在
2017-10-24 12:31:26 512
转载 WebAssembly 实践:如何写代码
本文不讨论 WebAssembly 的发展,只是一步一步地教你怎么写 WebAssembly 的各种 demo。文中给出的例子我都放在 GitHub 中了(仓库地址),包含了编译脚本和编译好的可执行文件,只需再有一个支持 WebAssembly 的浏览器就可以直接运行。配置开发调试环境安装编译工具略。 参考官方 Developer’s Guide 和 Advanced
2017-10-24 11:56:49 361
转载 前端之路:工具化与工程化
前言二十载光辉岁月近年来,随着浏览器性能的提升与移动互联网浪潮的汹涌而来,Web前端开发进入了高歌猛进,日新月异的时代。这是最好的时代,我们永远在前行,这也是最坏的时代,无数的前端开发框架、技术体系争妍斗艳,让开发者们陷入困惑,乃至于无所适从。Web前端开发可以追溯于1991年蒂姆·伯纳斯-李公开提及HTML描述,而后1999年W3C发布HTML4标准,这个阶段主要是BS架构,
2017-10-24 11:41:38 1019 1
转载 解决前端跨域的正确姿势
一、 跨域请求的含义浏览器的同源策略,出于防范跨站脚本的攻击,禁止客户端脚本(如 JavaScript)对不同域的服务进行跨站调用。一般的,只要网站的 协议名protocol、 主机host、 端口号port 这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用。这也是我们下面实践的理论基础。我们利用 NodeJs 创建了两个服务器,分别监听 30
2017-10-24 09:03:16 1039 1
转载 js创建一条通用链表
js创建一条通用链表by leeenx on 2017-10-13什么是「链表科普」?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。什么是「顺序存储结构科普」?在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构。多数高级语言的「数组」
2017-10-24 09:01:33 271
转载 谈谈HTTP协议中的短轮询、长轮询、长连接和短连接
引言最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码。在研究一个项目的时候,源码里面用到了HTTP的长轮询。由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短。了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解。如果你之前不懂的话,可以帮你普及一下,如果你之前就懂得话,可以互相对照一下。以
2017-10-24 08:59:55 232
转载 JavaScript 字符串转数字:陷阱(示例)
有很多种方式可以将字符串转为数字。我能想到的方式就至少有5种!parseInt(num); // 默认方式 (没有基数)parseInt(num, 10); // parseInt 使用基数 (十进制)parseFloat(num) // 浮点型Number(num); // Number 构造函数~~num // 按位取
2017-10-24 08:58:11 226
转载 移动web开发问题和优化小结
1.前言到目前为止,互联网行业里,手机越来越智能化,移动端占有的比例越来越高,尤其实在电商,新闻,广告,游戏领域。用户要求越来越高,网站功能越来越好,效果越来越炫酷,这就要求我们产品质量越来越高,web前端开发而言是一个挑战,是一个难题,也是一个机遇。如何让我们所开发的手机页面能有更好的交互体验,就是这篇文章的主旨:移动web开发问题和优化小结。这个只是我自己在开发的时候知道的坑,如果大家
2017-10-24 08:55:50 259
转载 JavaScript是如何工作的:内存管理 + 如何处理4个常见的内存泄露
几周前,我们开始写一个系列,深入探讨JavaScript和它的工作原理。我们认为了解JavaScript的构成以及它们如何协作,有助于编写出更好的代码和应用程序。本系列第一篇重点介绍了引擎、运行时、调用栈。第二篇揭示了谷歌V8 JavaScript引擎的内部机制,并且提供了一些关于如何写出更好的JavaScript代码的建议。本文作为第三篇,将会讨论另一个开发者容易忽视的重要主题
2017-10-24 08:53:52 223
转载 前端高性能计算之一:WebWorkers
最近做一个项目,里面涉及到在前端做大量计算,直接用js跑了一下,大概需要15s的时间, 也就是用户的浏览器会卡死15s,这个完全接受不了。虽说有V8这样牛逼的引擎,但大家知道js并不适合做CPU密集型的计算,一是因为单线程,二是因为动态语言。我们就从这两个突破口入手,首先搞定“单线程”的限制,尝试用WebWorkers来加速计算。什么是WebWorkers简单说,WebW
2017-10-24 08:50:45 450
转载 关于cookie的详细讲解
在学以致用的工作学习里,对于不怎么使用的部分,多少有些雾里探花的窘迫感~差不多是了解一二,然而又非真切的明晰;这就使得再用的时候,总要去再搜索一番;如此颇为难受,倒不如总结纪录下来,一方面加深认知,也易便于查阅;对于某相关技术,不断学习、运用、总结、更新,积淀过后也能对别人给予帮助。写博,真是一件值得去做的事。背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信
2017-10-24 08:48:21 588 1
转载 详解 CORS 跨域资源共享
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。本文详细介绍CORS的内部机制。一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS
2017-10-24 08:45:57 202
转载 教你从零开始搭建一款前端脚手架工具
前言在实际的开发过程中,从零开始建立项目的结构是一件让人头疼的事情,所以各种各样的脚手架工具应运而生。笔者使用较多的yoeman,express-generator和vue-cli便是当中之一。它们功能丰富,但最核心的功能都是能够快速搭建一个完整的项目的结构,开发者只需要在生成的项目结构的基础上进行开发即可,非常简单高效。作为一个不折腾会死星人,在熟悉了使用方法以后就开始琢磨起它们
2017-10-20 15:28:36 609
转载 webpack的优化方案
前言在前端应用的优化中,对加载资源的大小控制极其的重要,大多数时候我们能做的是在打包编译的过程对资源进行大小控制、拆分与复用。本片文章中主要是基于 webpack 打包,以 React、vue 等生态开发的单页面应用来举例说明如何从 webpack 打包的层面去处理资源以及缓存,其中主要我们需要做的是对 webpack 进行配置的优化,同时涉及少量的业务代码的更改。同时对打包资源的分析
2017-10-19 08:52:31 963
转载 发布前必须排查的Web安全
关于Web安全的问题,是一个老生常谈的问题,作为离用户最近的一层,我们大前端确实需要把手伸的更远一点。我们最常见的Web安全攻击有以下几种XSS 跨站脚本攻击CSRF 跨站请求伪造clickjacking 点击劫持/UI-覆盖攻击下面我们来一一分析XSS 跨站脚本攻击跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading
2017-10-18 13:20:36 466
转载 js判断移动设orPC设备的方法
js的方法构造函数,if判断,输出语句。js判断方法。代码为true 时就是手机访问 否则为PC第一种function isMobile(){ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) return true;第二种如果via信息含有wap
2017-10-18 09:06:52 232
原创 浏览器下载文件,非窗口打开方法
function fieldDownload (url,fileId,name) {//下载附件方法 var doc = document; //使用一个隐藏的form表单执行提交,没有则创建 let formId = '_attdownloadForm'; var downloadForm
2017-10-17 09:07:18 472
转载 ie11下下载文件,文件名乱码的解决方法
环境:win10教育版+IE11现象:下载PDF文件谷歌下载,文件名:下载奖金计划PDF文件(英文).pdf用IE 下载,文件名:2016-17 CAMBRO 涓枃浜у搧鐩綍鍐_pdf IE下载时中文部分出现乱码,并在IE上下载一个百度PDF文库中的PDF文件,发现并无此现象,于是猜测IE可能处于某种原因没有支持字符编码,于是为文件名设置中文编码格式:S
2017-10-17 09:03:59 2210
转载 safari下载文件后缀多添加了.exe的解决方法
通过程序读取文件或生成文件来下载,一般只需设置 header 头即可:header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="保存时的文件名.pdf"');在谷歌、火狐等浏览器中,Content-type 的设置貌似并不重要,但在 Safari 上则有不同:
2017-10-17 09:00:02 2490
转载 IE input file隐藏不能上传文件解决方法
又是IE的一个问题,近来是跟IE浏览器磕上了,这个问题发现不少人也遇到过,实在蛋疼。但今天这个不能算是一个bug,因为IE可能是从安全角度上考虑结果导致的。一步步来解读。普通上传例子首先普通的文件上传呢,很简单,前端代码:12345678910111213
2017-10-17 08:58:20 719
转载 ES6系列文章 异步神器async-await
关于异步处理,ES5的回调使我们陷入地狱,ES6的Promise使我们脱离魔障,终于、ES7的async-await带我们走向光明。今天就来学习一下 async-await。async-await和Promise的关系经常会看到有了 async-await、promise 还有必要学习吗、async await优于promise的几个特点,接收了这些信息后,就蒙圈了。现在才知道,asy
2017-10-13 08:41:51 420
转载 说说JavaScript的原型链
在JS中,原型链有时候让人觉得很胡里花哨,又是prototype、__proto__又是各种指向什么的,让人觉得很头疼。如果你也有这种感觉,或许这篇文章可以帮助到你一、认识原型1、先来一串代码var Person = function(msg){ this.msg = msg;}var person1 = new Person("wanger")person1.cons
2017-10-12 10:55:42 384
转载 详解 CORS 跨域资源共享
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。本文详细介绍CORS的内部机制。一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS
2017-10-11 09:14:06 235
转载 前端跨域的解决方案
什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:1.) 资源跳转: A链接、重定向、表单提交2.) 资源嵌入: link>、script>、img>、frame>等dom标签,还有样式中background:url()、@font-face()等文件外链3.) 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等
2017-10-11 09:10:54 191
转载 JS语法: 由++[[]][+[]]+[+[]] = 10 ?引发的问题
解释:为什么 ++[[]][+[]]+[+[]] = 10原文:为什么 ++[[]][+[]]+[+[]] = 10[0]是一个带有0成员的数组,[0][0]是取它的第1个成员,所以必是0。用了[0][0] = '1'虽然改了第1成员的值,但下一个[0][0]是独立的取成员值的表达式,所以得到0数字值。[] = 1是右值不是iterable(可迭代的
2017-10-11 09:07:19 1173
转载 Promise 异步流程控制
最近部门在招前端,作为部门唯一的前端,面试了不少应聘的同学,面试中有一个涉及 Promise 的一个问题是:网页中预加载20张图片资源,分步加载,一次加载10张,两次完成,怎么控制图片请求的并发,怎样感知当前异步请求是否已完成?然而能全部答上的很少,能够给出一个回调 + 计数版本的,我都觉得合格了。那么接下来就一起来学习总结一下基于 Promise 来处理异步的三种方法。本文的
2017-10-10 11:16:29 403
转载 JS 对象合并与克隆方法的分类与比较
对象的合并与拷贝(又称复制或克隆)是前端们平时工作中绕不开的基本操作,使用场景非常多。也许你已经有了自己用惯了的工具方法,但是对于这个话题,你确定自己已经完全了解了吗?本文详细分析了js对象的合并与拷贝方法,并试图从几个维度对其进行分类和整理。合并与克隆的关系首先分析一下合并与克隆的关系。我认为,合并基本上是拷贝的超集。拷贝可以认为是一种特殊情况下的合并:将一个空对象
2017-10-10 11:12:43 470
转载 ES6 Promise:模式与反模式
当几年前,第一次使用 NodeJS 的时候,对现在被称为“ 回调地狱 ”的写法感到很困扰。幸运的是,现在是 2017 年了,NodeJS 已经采用大量 JavaScript 的最新特性,从 v4 开始已经支持 Promise。尽管 Promise 可以让代码更加简洁易读,但对于只熟悉回调函数的人来说,可能对此还是会有所怀疑。在这里,将列出我在使用Promise 时学到的一些基本模式,以
2017-10-10 11:07:39 352
转载 setTimeout和setInterval
setTimeout的使用setTimeout(cb, time);setTimeout传入的是两个参数,第一个参数是cb代表的是回调函数callback,第二个代表的是时间,以ms计算setInterval的使用setInterval(cb, time);setInterval传入的也是两个参数,第一个参数是cb代表的是回调函数callback,第二个代表的也是时间,以ms计
2017-10-10 11:04:36 289
转载 前端最佳实践——DOM操作
1、浏览器渲染原理在讲DOM操作的最佳性能实践之前,先介绍下浏览器的基本渲染原理。浏览器渲染展示网页的主流程大致可以用下图表示:图:WebKit 主流程分为以下四个步骤:解析HTML(HTML Parser)构建DOM树(DOM Tree)渲染树构建(Render Tree)绘制渲染树(Painting)浏览器请求解析(Parse
2017-10-10 11:02:36 480
转载 完美解决前端跨域之 easyXDM 的使用和解析
0、背景因个别网络运营商存在 HTTP 劫持的情况,导致网站某些重要的 iframe 弹窗页面被插入了第三方广告,内容完全被遮挡,严重影响用户体验。公司决定将这些页面切换为 HTTPS,切换后发现原来 iframe 浮层自动适应大小的功能失效了,原因是主页面是 HTTP 的,子窗口加载后对父页面浮层大小的操作跨域了,被浏览器限制无法操作。于是就需要跨域解决方案来解决这种情况。1、跨域问题
2017-10-10 11:00:56 780
转载 JavaScript的十个小技巧
每一门语言都有一些奇技淫巧,JS也不例外,一直想总结这么篇文章,我包括一些新手,都会有这么一个疑问,每次面对一张空白的页面,不知从何下手,没有思路,高手有的是设计模式,但是在这里讲一些设计模式,我可能不够格,这些书籍都有可以自己去翻阅,我能给的就是,总结我写代码的时候,会优化的一些技巧实用篇1.立即执行我为什么把立即执行放在第一个,因为一般做业务的时候都会有一个入口函数,比如一下这种格
2017-10-10 10:59:13 244
转载 聊聊cookie的那些事
前言cookie在web开发中时常被用到,也是面试官喜欢问的一块技术,很多人或许和我以前一样,只知其一不知其二,谈起web存储,都会答localStorage、sessionStorage、还有就是cookie,然后一些区别啊什么的倒背如流,cookie的优缺点也了然于心,但是当你看完这块内容之后,你会对cookie有另外独到的见解,希望以后问到这块技术,或者项目中遇到这个你都会处理,我在实习
2017-10-10 10:54:55 219
notepad-7.5.1-released
2017-09-17
Sublime Text 3 (Build 3143)
2017-09-17
HTML5 Canvas核心技术 图形、动画与游戏开发
2015-07-13
降噪磨皮工具NoiseNinjaPlugin_Win32.rar
2011-11-21
nikColorEfexPro3.0图片梅花工具
2011-11-21
精灵虚拟光驱(Daemon Tools Lite) 4.35.5 官方中文版
2010-01-08
IIs 5.1互联网信息服
2010-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人