自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

明天回火星

less is more

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

转载 常用的Javascript设计模式

《Practical Common Lisp》的作者 Peter Seibel 曾说,如果你需要一种模式,那一定是哪里出了问题。他所说的问题是指因为语言的天生缺陷,不得不去寻求和总结一种通用的解决方案。不管是弱类型或强类型,静态或动态语言,命令式或说明式语言、每种语言都有天生的优缺点。一个牙买加运动员, 在短跑甚至拳击方面有一些优势,在练瑜伽上就欠缺一些。术士和暗影牧师很容易成

2017-12-29 14:49:47 640

转载 JavaScript模块化开发——AMD规范

本文介绍一下AMD规范(注意,这里的AMD和做cpu的AMD可不是一回事)。根据之前文章的知识,我们知道一个模块系统最起码要有下面这些功能:可以创建封装的模块可以定义对其他模块的依赖可以导出功能,被其他模块使用AMD是“Asynchronous Module Definition”的缩写,意思就是“异步模块定义”。从名称上就可以看出,它是通过异步方式加载模块

2017-12-28 14:54:00 445

转载 Array.prototype.slice.call()方法详解

在很多时候经常看到Array.prototype.slice.call()方法,比如Array.prototype.slice.call(arguments),下面讲一下其原理:1、基本讲解1.在JS里Array是一个类 slice是此类里的一个方法 ,那么使用此方法应该Array.prototype.slice这么去用 slice从字面上的意思很容易理解就是截取(当然

2017-12-27 17:17:11 479

转载 Touch开发必须知道的事儿

持续跟大家分享一些最新的前端技术进展、开发最佳实践,好了,不多说了,言归正传,今天跟大家分享Touch开发的一些细节问题,希望可以对相关开发人员有所帮助。常见问题1:判断设备支持touch就只用touch判断设备支持touch就只用touch会有问题,因为像Chrome pixel这样的设备同时支持触屏和鼠标,如果这样判断就会让Chrome pixel的鼠标失效,而仅仅是因

2017-12-27 17:13:03 441

转载 MySQL索引原理及慢查询优化

MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问

2017-07-12 20:23:20 473

转载 HTML5+CSS3整体总结

这篇文章主要总结H5的一些新增的功能以及一些基础归纳,这里只是一个提纲,并不是很详细,后面会一直完善补充新的内容,本文是一些笔记记录,放在这里供自己参考也供他人学习!HTML5概览第一课 HTML5结构HTML5 是新一代的 HTMLDTD声明改变 <!DOCTYPE html>新的结构标签注意的地方ie8 不兼容

2017-07-08 23:38:25 3806

转载 奇技淫巧之前端冷知识和小技巧

HTML篇浏览器地址栏运行JavaScript代码这个很多人应该还是知道的,在浏览器地址栏可以直接运行JavaScript代码,做法是以javascript:开头后跟要执行的语句。比如:javascript:alert('hello from address bar :)');将以上代码贴到浏览器地址栏回车后alert正常执行,一个弹窗神现。需要注意的是

2017-07-07 16:56:08 372

转载 Chrome 控制台新玩法-console显示图片以及为文字加样式

在正常模式下,一般只能向console 控制台输出简单的文字信息。但为了把信息输出得更优雅更便于阅读,除了cosole.log()方法外还可以调用 cosole.warn() 来输出警告信息,在控制台中出来的效果如下:在输出信息前面会有一个带感叹号的黄色三角警告符号。似乎比一般的console信息要友好得多了。虽然图标是黄色的,但输出的文字仍然是黑色。另外经常用到的是输出错

2017-07-07 16:43:15 1312

转载 XSS跨站脚本攻击初探

XSS跨站脚本攻击的基本原理和SQL 注入攻击类似(个人观点),都是利用系统执行了未经过滤的危险代码,不同点在于XSS是一种基于网页脚本的注入方式,也就是将脚本攻击载荷写入网页执行以达到对网页客户端访问用户攻击的目的,属于客户端攻击。而SQL注入攻击将危险代码绕过正常的文本输入变为可执行的SQL执行语句从而操纵数据库,从而进一步探测、操纵数据库信息。属于服务器攻击?(菜鸟看法)。XSS攻击

2017-07-07 16:26:31 517

转载 浅谈JS DDoS攻击原理与防御

原文出处: 谢丽   分布式拒绝服务攻击(DDoS)攻击是一种针对网站发起的最古老最普遍的攻击。Nick Sullivan是网站加速和安全服务提供商CloudFlare的一名系统工程师。近日,他撰文介绍了攻击者如何利用恶意网站、服务器劫持和中间人攻击发起DDoS攻击,并说明了如何使用HTTPS以及即将到来的名为“子资源一致性(Subresource Integrity,简称SRI)

2017-07-07 15:44:25 945

转载 浅谈CSRF攻击方式

一.CSRF是什么?  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么?  你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取

2017-07-07 15:40:10 258

转载 Web安全之SQL注入攻击技巧与防范

转载自:潘良虎Web安全简史在Web1.0时代,人们更多是关注服务器端动态脚本语言的安全问题,比如将一个可执行脚本(俗称Webshell)通过脚本语言的漏洞上传到服务器上,从而获得服务器权限。在Web发展初期,随着动态脚本语言的发展和普及,以及早期工程师对安全问题认知不足导致很多"安全血案"的发生,至今仍然遗留下许多历史问题,比如PHP语言至今仍然无法从语言本身杜绝「文件包含漏洞」

2017-07-07 15:15:15 331

转载 node.js开发的几点安全技巧

【编者按】互联网安全事件层出不群,用户每时每刻都有可能会遭受攻击者袭击。作为软件开发人员,则是最大限度的保证应用程序安全。本文主要是对Node.js语言作出的安全开发建议。 以下为译文: 毫无疑问,Node.js已经变的愈加成熟,尽管这样,开发者仍然缺乏大量的安全指南。在这篇文章中,我将分享一些有关Node.js安全要点给大家,希望大家能够谨记于心。 1.避免使用Eval 

2017-07-07 14:44:20 409

转载 如何优雅的选择字体(font-family)

大家都知道,在不同操作系统、不同游览器里面默认显示的字体是不一样的,并且相同字体在不同操作系统里面渲染的效果也不尽相同,那么如何设置字体显示效果会比较好呢?下面我们逐步的分析一下:一、首先我们看看各平台的默认字体情况1、Window下:宋体(SimSun):Win下大部分游览器的默认字体,宋体在小字号下(如12px、14px)的显示效果还可以接受,但是字号一大就非常糟糕

2017-07-04 14:39:39 1618

转载 HTML中引入CSS的方法

在HTML中引入CSS的方法主要有四种,它们分别是行内式、内嵌式、链接式和导入式。1.行内式          行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。2.嵌入式          嵌入式是将CSS样式集中写在网页的标签对的标签对中。格式如下:                                ...此处写

2017-05-27 16:36:26 535

转载 JavaScript模块化和闭包

JS模块化和闭包js最初作为一个在浏览器中运行的脚本语言,设计的目标是用来给html增加交互行为,早期的网站都是在服务器端生成并返回给浏览器,js也只对单独的一个html进行操作,所以模块化并没有在早期的JS中得到很好的考虑,随着浏览器js引擎越发的快速,现在已经有很多前端框架,并不依赖与服务器生成html,而是自己直接通过js来生成,最典型的例子就是我们常听到的webapp。现在所有的j

2017-05-26 17:29:55 531

转载 详解js之Object.defineProperty

http://segmentfault.com/a/1190000004346467这个方法了不起啊。。vue.js和avalon.js 都是通过它实现双向绑定的。。而且Object.observe也被草案发起人撤回了。。所以defineProperty更有必要了解一下了几行代码看他怎么用 var a= {} Object.defineProperty(a,"b",{

2017-05-26 16:49:47 446

转载 js中用构造器创建对象与字面量创建对象的区别

http://m.blog.csdn.NET/blog/z1547840014/9734179    当用new操作符调用一个函数时,就会创建一个新的JavaScript对象.接着,该函数会作为该新建对象的this值被调用,而在原始调用中所使用的参数也都将一并传递给该函数调用                下面我们来研究下使用构造器处创建对象和使用字面量创建对象的区别到底是什么,先

2017-05-25 17:47:38 1007

转载 js的||和 &&的妙用

首先出个题:如图: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头; 成长速度为10显示2个箭头; 成长速度为12显示3个箭头; 成长速度为15显示4个箭头; 其他都显示都显示0各箭头。 用代码怎么实现? 差一点的if,else: Js代码 复制代码代码如下:var add_level = 0; if(add_step

2017-05-17 16:21:35 367

转载 js的事件冒泡和事件捕获

(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。  IE 5.5: div -> body -> document  IE 6.0: div -> body -> html -> document  Mozilla 1.0: div -> body -> html -> document -> window(2)捕

2017-05-16 19:47:03 235

转载 百度搜索引擎工作原理

关于百度以及其它搜索引擎的工作原理,其实大家已经讨论过很多,但随着科技的进步、互联网业的发展,各家搜索引擎都发生着巨大的变化,并且这些变化都是飞快的。我们设计这个章节的目的,除了从官方的角度发出一些声音、纠正一些之前的误读外,还希望通过不断更新内容,与百度搜索引擎发展保持同步,给各位站长带来最新的、与百度高相关的信息。  本章主要内容分为四个章节,分别为:抓取建库;检索排序;外部投票;

2017-05-12 17:24:16 18284 1

转载 css引用的两种方式,link和@import的区别

页面中使用CSS的方式主要有3种:行内添加定义style属性值,页面头部内嵌调用和外面链接调用,其中外面引用有两种:link和@import。外部引用CSS两种方式link和@import的方式分别是:XML/HTML代码[html] view plain copylink rel="stylesheet" rev="stylesheet

2017-05-12 16:12:19 463

转载 优化浏览器前端

译者 | 京东金融-移动研发部-前端工程师  田腾原作者 | Sanjay Purswani来源 | Software Engineer at comparethemarket.com优化事关速度和满意度为了提升用户体验(User Experience,UX),我们希望前端提供快速加载和执行的网页。而对于提升开发者体验(Developer Experience,

2017-05-11 16:49:29 889

转载 从Object和Function说说JS的原型链

ECMAScript规定了两个特殊的内置对象:Object和Function。他们的特殊性在于,他们本身既是对象又是函数,而他们同时也是对象和函数的构造器。这种自己生自己的逻辑显然违反人性,如果还停留在类的继承的思想上,那么更加无法理解。  然而ECMAScript是基于原型链的,所以忘掉类的继承,从原型链入手:原型链是对象的集合,每个对象都有内部属性[[Prototype]](注1)指向

2017-05-11 15:35:50 328

转载 Javascript中的__proto__、prototype、constructor

下面看一个非常简单的例子:[javascript] view plain copy var Person = function(name)   {       this.name = name ;   };  var p = new Person("Ben");  console.log(p.name);  代码简

2017-05-11 15:19:49 276

转载 详解js中prototype、constructor以及__proto__的关系

原文  http://www.cnblogs.com/zichi/p/4363175.html三者暧昧关系简单整理在javascript中,prototype、constructor以及__proto__之间有着“著名”的剪不断理还乱的三角关系,楼主就着自己对它们的浅显认识,来粗略地理理以备忘,有不对之处还望斧正。楼主的一句话理解就是:某个对象的cons

2017-05-11 15:06:27 3363 1

转载 Javascript的in关键字

关于for-in写js的时候需要遍历一个对象的属性,把属性名和属性值都提出来,之前没遇到这种需求,查了一下可以用for in的方式.1234567891011121314151617var obj = {

2017-05-10 15:59:37 1269

转载 javascript程序的执行与顺序详解

函数的声明和调用 JavaScript是一种描述型脚本语言,由浏览器进行动态的解析与执行。函数的定义方式大体有以下两种,浏览器对于不同的方式有不同的解析顺序。 代码如下: 复制代码代码如下://“定义式”函数定义 function Fn1(){ alert("Hello World!"); } //“赋值式”函数定义 var Fn2 = functi

2017-05-05 15:10:01 349

转载 JavaScript的执行上下文(与上下文不同,此点常被混淆)

在JavaScript的运行过程中,经常会遇到一些”奇怪”的行为,不理解为什么JavaScript会这么工作。这时候可能就需要了解一下JavaScript执行过程中的相关内容了。执行上下文在JavaScript中有三种代码运行环境:Global CodeJavaScript代码开始运行的默认环境Function Code代码进入一个Jav

2017-05-05 14:42:10 357

转载 OPTIONS 方法在跨域请求(CORS)中的应用

原文  http://stylechen.com/options-cors.htmlOPTIONS 方法比较少见,该方法用于请求服务器告知其支持哪些其他的功能和方法。通过 OPTIONS 方法,可以询问服务器具体支持哪些方法,或者服务器会使用什么样的方法来处理一些特殊资源。可以说这是一个探测性的方法,客户端通过该方法可以在不访问服务器上实际资源的情况下就知道处理该资源的最优方式

2017-05-04 16:28:45 41230

转载 Node.js异步编程,promise,fibers

在Ruby on Rails和NodeJS开发者之间曾经引起宗教类的口水战:顺序编程风格 Vs 基于事件编程。目前大部分Web应用包括Ruby on Rails, Java Spring, Django都是使用顺序编程风格。顺序编程是非常简单和可读的,大部分开发者都是以顺序方式思考,喜欢将一个应用逻辑划分为顺序的时序步骤。顺序编程通常会导致堵塞I/O,因为线程是遵循先来后到的多任务方式,而不是一种

2017-05-04 14:08:59 1739

转载 TAGG模块使nodejs变多线程,真正的非阻塞

node从他推出至今,充满赞美和饱受诟病的都是其单线程模型,所有的任务都在一个线程中完成(I/O等例外),优势的地方自然是免去了频繁切换线程的开销,以及减少资源互抢的问题等等,但是当nodejs面对cpu密集型模型的时候就力不从心了。尽管node拥有异步机制,可以把一些耗时算法丢入eventloop等待下个事件循环再做,但是因为其任然是单线程模型,所以终究会造成阻塞。先解释一下两个名词,F

2017-05-04 12:30:29 1308

转载 JavaScript 内存泄漏教程

(转)作者:阮一峰一、什么是内存泄漏?程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)。有些语言(比如 C

2017-05-03 15:27:40 409

转载 大数据浪潮下的前端工程师

马云曾经说过『人类正从IT时代走向DT时代』。正如他说言,今天几乎所有的互联网公司背后都有一支规模庞大的数据团队和一整套数据解决方案作决策,这个时代已经不是只有硅谷巨头才玩数据的时代,是人人都在依赖着数据生存,可以说如今社会数据价值已经被推到前所未有的高度。我作为一名前端工程师在阿里巴巴数据团队工作多年,深入了解数据生产加工链路与产品化。我们这群前端是与界面最近的工程师们,似乎与数据离

2017-05-03 14:58:31 2313

转载 React虚拟DOM浅析

在Web开发中,需要将数据的变化实时反映到UI上,这时就需要对DOM进行操作,但是复杂或频繁的DOM操作通常是性能瓶颈产生的原因,为此,React引入了虚拟DOM(Virtual DOM)的机制。什么是虚拟DOM?虚拟DOM VS 直接操作原生DOM?虚拟DOM VS MVVM?对React虚拟DOM的误解?一、什么是虚拟DOM?        在R

2017-05-03 13:49:41 529

转载 脏检查及其优点

什么是脏检查脏检查即一种不关心你如何以及何时改变的数据, 只关心在特定的检查阶段数据是否改变的数据监听技术.本节包含内容什么是脏检查脏检查是如何进行的何时进行脏检查regularjs为何选择脏检查这里会统一使用angularjs生态圈的术语,方便开发者理解相信对于熟悉angularjs的开发者而言, 脏检查这个概念不会太陌生.以插值{post.title

2017-05-03 13:47:52 8374

转载 DOM优化

优化节点修改。使用cloneNode在外部更新节点然后再通过replace与原始节点互换。var orig = document.getElementById('container');var clone = orig.cloneNode(true);var list = ['foo', 'bar', 'baz'];var content;for (var i = 0; i

2017-05-03 11:47:42 456

转载 通过nginx搭建一个简单的代理服务器

原文:http://nginx.org/en/docs/beginners_guide.htmlnginx另一个使用的比较多的情况是作为代理服务器,代理服务器接收请求,然后把请求传递到代理服务器,nginx最后会提取代理服务器的回复,并把这些回复发送给客户端。我们将配置一个基本的代理服务器,图片文件的请求在本地目录中服务,其他的所有请求发送到代理服务器。这个示例中,两个服务都被定义在同一个

2017-05-03 10:39:01 1423

转载 前端开发的若干编程技巧

作者:csdn:Topepy;原文出处:http://blog.csdn.net/u013084331/article/details/510371111、首次给变量赋值是切记使用var关键字(闲谈:清楚的记得有次去面试前端,一个项目经理同时面我和另外一个人,面试官开始就是要我们俩手写一个数组去重函数,哗哗的一下写完交了,面试官看来下之后直接给了一旁的竞争对手,叫她给我指出我代

2017-04-28 15:15:20 270

转载 浏览器工作原理

原文地址:http://kb.cnblogs.com/page/129756/  目录  一、介绍  二、渲染引擎  三、解析与DOM树构建  四、渲染树构建  五、布局  六、绘制  七、动态变化  八、渲染引擎的线程  九、CSS2可视模型  英文原文:How Browsers Work: Behind the Scenes of Moder

2017-04-28 15:05:48 577

空空如也

空空如也

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

TA关注的人

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