KMP模式匹配算法(一)从暴力匹配切入

2016-09-10
阅读 2 分钟
2.5k
我们现在有这样的一个需求那就是要在主串S中找到子串C出现的位置。可能马上会有很聪明的同学提出来,可以用indexOf方法啊。那我只能说这个方法不算。。。

get与post请求的区别

2016-09-03
阅读 1 分钟
2.2k
http定义了多种与服务器交互的方式,其中最基本的四种是post, delete, put, get。而一个符合RESTful标准的URL,应该是代表的某一个具体的资源或者是资源的集合。这四种基本类型则对应着对资源的四种不同动作,也就是我们通常所说的增,删,改,查。但是,无论是get或者post我们总是能在发送请求的时候提供参数,只是serv...

ES7 装饰者模式Decorator

2016-08-31
阅读 1 分钟
2.1k
在程序开发过程中,我们可能希望某个类或者方法,并不是天生就具有很庞大,但是又不是很常用的功能。装饰者模式可以动态的给某个对象添加一些额外的职责,但是却不会影响其它的从这个类中派生出的其它对象。装饰者模式能够能够在不改变自身对象的基础上,在程序运行期间给对象动态的添加功能。这其实就像我们在游戏中要...

说说redux源码

2016-08-28
阅读 3 分钟
1.5k
currentReducer接受了两个参数,currentState,也就是当前的state。和我dispatch的action,当返回的action.type匹配到相应的reducer时,就会更新store。在createStore.js文件的返回值中,最常用的应该是dispatch和getState()。其中dispatch用来分发action到reducer从而更新store, 而getState() 方法则会拿到当前的store。

linux下的环境变量详解

2016-08-15
阅读 3 分钟
10.8k
有木有遇到过这样的情况,你明明刚刚安装了一个程序,可是在shell里执行命令的时候就是报错说找不到command。哦哦,后来才知道原来是没有设置PATH环境变量。PATH环境变量决定了shell将要在那些目录寻找命令或者程序,PATH的值是一系列目录,当你运行一个命令的时候,linux在这些目录下进行搜索编译链接。我们可以通过修...

docker入门

2016-08-14
阅读 2 分钟
2.5k
docker是基于go语言实现的云计算开源项目。其主要目标是“Build,Ship and Run Any App, Anywhere”,即通过对应用组件的封装,分发,部署,运行等生命周期的管理,达到应用组件级的“一次封装,到处运行”。

设计模式之享元模式

2016-07-31
阅读 3 分钟
1.9k
享元模式(flyweight)是一种用于性能优化的模式,之所以用“fly”其意为蝇量级。而享元模式的核心就是运用共享技术来有效支持大量细粒度的对象。虽然面向对象可以非常方便的解决一些扩展性的问题,但是在这个过程中系统势必会产生一些类或者对象,如果系统中存在对象的个数过多时,将会导致系统的性能下降。对于这样的问...

js同源策略之共享cookie

2016-07-17
阅读 2 分钟
6.5k
同domain(或ip),同端口,同协议视为同一个域,一个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。这种安全限制称为同源策略。

数据结构从0.2到1(一)

2016-07-03
阅读 3 分钟
1.7k
为什么要选择这样的一个标题呢,当然,主要是要写一系列关于学习数据结构的文章。但是,为什么是从0.2呢?因为作为一名计算机专业毕业的学生来说,实在不好意思说自己从0到1,我真的是怕老师看到后会打过来。。。关于数据结构,可能是因为大学时没有学好,反正已经忘了十之八九,这个系列算是复习,巩固,提高。由于大学...

CSS居中方法总结

2016-06-19
阅读 3 分钟
3.8k
此时检查元素即可即可实现内层的div实现了居中,这种方式是最为我们熟知的,其缺点是需要设置子元素的宽度。2.通过position定位HTML:

linux进程管理

2016-06-05
阅读 2 分钟
3k
毫无疑问进程管理是很重要的,当我们的操作系统很忙碌,运行的进程很多,但是可能有好几个进程是没有用的,那么我们是不是要找出这样的进程然后结束它。如果有很多个没用的进程一直在内存中,导致内存使用量过大,后面的进程可能就会没有办法执行。例如,当我们要定时执行某一个脚本任务,但是,如果脚本执行完进程并没...

DOM事件

2016-05-22
阅读 3 分钟
2.5k
事件流描述的是页面接受事件的顺序,而IE和Netscape的浏览器开发团队提出了两种截然不同的,甚至是完全相反的事件流概念。IE的事件流是事件冒泡,而Netscape的事件流是事件捕获。

js跨域问题及常用的两种解决方案

2016-05-08
阅读 2 分钟
20.8k
跨域是由浏览器的同源策略引起的,即不同源(协议,域名,端口中其中有一个不同)的js是不能读取对方的资源的。当要网站中的js要请求其他网站的数据时就会产生跨域问题,就像下面这样,浏览器会报错。

设计模式之代理模式

2016-04-24
阅读 2 分钟
2.4k
这是在《设计模式》一书中对设计模式的定义。在软件开发过程中,我们可能会遇到过这样的情况,我们现在发现一个问题,和以前的某个问题很相似,几乎可以用统一套解决方案,而且我们还发现,在某个条件下,这个解决方案几乎就是通用的,于是我们决定给解决类似问题的解决方案取一个统一的名字,这就是设计模式。

redux form

2016-04-15
阅读 3 分钟
4.3k
在我们现在的后台项目里用到了很多的form表单,开始我们根据react官方提供的方法是要给每一个input或者select设置一个onChange方法,来监听表单value值的变化,然后通过setState方法设置新的state,再重新渲染页面,同时,我们首先就不得不讲props里的数据放到了state里面,我们就需要同时维护这两种数据,后来我们觉得...

金字塔原理读书笔记

2016-04-10
阅读 2 分钟
3.5k
在项目开发过程中,一个好的项目架构很大程度上决定了以后的开发效率,学习成本,以及维护成本。所以好的架构真的可以达到事半功倍的效果。同时,与人沟通,写文章,分析问题也需要一套好的架构,当然,如果自己还没有一套很好的行之有效的架构,倒不如尝试一下别人已经总结出来的,被证明很有效果的思考,表达和解决问...

web缓存之浏览器缓存

2016-03-27
阅读 2 分钟
4.2k
所谓缓存就是再copy一份数据的副本(可能是html页面,图片,文件),根据副本的存放位置不同,又可分为不同的缓存策略,比如浏览器缓存,就是将文件存储再客户端,再访问相同的URL时首先检查副本是否时最新的,如果足够新的话,直接使用副本,不会再请求服务器,这样可以减少服务器请求数量,使用户获得更好的体验。

node js模块机制与异步处理

2016-03-12
阅读 1 分钟
4.2k
commonJS模块机制出现的目的是为了构建js在web服务器,桌面程序,浏览器等方面形成生态系统。而node js就是这种规范的一种实现,用requird来引入其他文件,同样,npm也遵循了commonJS定义的包规范,从而形成了一套完整的生态系统。

redis学习笔记

2016-03-12
阅读 1 分钟
1.9k
redis在所有的NOSQL数据系统中最突出的特点便是,少量的数据存储,高速的数据访问效率。着也就决定了它在项目开发中最主要的应用场景-高速的数据缓存系统。

javascript 语言学习

2016-02-22
阅读 2 分钟
1.9k
调用一个函数会暂停当前函数的执行,传递控制权和参数给新调用的函数,除了声明时传递的形式参数外,每个函数还会接受两个附加的参数: this和arguement.

HTTP协议详解

2016-02-19
阅读 3 分钟
7.8k
http协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。