摘要: 介绍 最近几个月忙得实在是不可开交,终于把《深入理解JavaScript系列》的最后两篇“补全”了,所谓的全是不准确的,因为很多内容都没有写呢,比如高性能、Ajax安全、DOM详解、JavaScript架构等等。但因为经历所限,加上大叔希望接下来写点其它东西,所以此篇文字就暂且当前完结篇的总结吧,以 阅读全文
posted @ 2016-04-29 17:15 爱你爱自己 阅读(187) 评论(0) 推荐(0)
摘要: 介绍 本篇我们介绍的一些模式称为初始化模式和性能模式,主要是用在初始化以及提高性能方面,一些模式之前已经提到过,这里只是做一下总结。 立即执行的函数 在本系列第4篇的《立即调用的函数表达式》中,我们已经对类似的函数进行过详细的描述,这里我们只是再举两个简单的例子做一下总结。 立即执行的对象初始化 该 阅读全文
posted @ 2016-04-29 17:14 爱你爱自己 阅读(197) 评论(0) 推荐(0)
摘要: 介绍 本篇主要是介绍Function方面使用的一些技巧(上篇),利用Function特性可以编写出很多非常有意思的代码,本篇主要包括:回调模式、配置对象、返回函数、分布程序、柯里化(Currying)。 回调函数 在JavaScript中,当一个函数A作为另外一个函数B的其中一个参数时,则函数A称为 阅读全文
posted @ 2016-04-29 17:13 爱你爱自己 阅读(279) 评论(0) 推荐(0)
摘要: 介绍 本篇主要是介绍创建对象方面的模式,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码。 模式1:命名空间(namespace) 命名空间可以减少全局命名所需的数量,避免命名冲突或过度。一般我们在进行对象层级定义的时候,经常是这样的: 如果层级很多的话,那就要一直这样继续下去,很是混乱 阅读全文
posted @ 2016-04-29 17:12 爱你爱自己 阅读(254) 评论(0) 推荐(0)
摘要: 介绍 本篇主要是介绍创建对象方面的模式的下篇,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码。 模式6:函数语法糖 函数语法糖是为一个对象快速添加方法(函数)的扩展,这个主要是利用prototype的特性,代码比较简单,我们先来看一下实现代码: 扩展对象的时候,可以这么用: 这样就给P 阅读全文
posted @ 2016-04-29 17:12 爱你爱自己 阅读(232) 评论(0) 推荐(0)
摘要: 介绍 任何编程都提出代码复用,否则话每次开发一个新程序或者写一个新功能都要全新编写的话,那就歇菜了,但是代码复用也是有好要坏,接下来的两篇文章我们将针对代码复用来进行讨论,第一篇文避免篇,指的是要尽量避免使用这些模式,因为或多或少有带来一些问题;第二排是推荐篇,指的是推荐大家使用的模式,一般不会有什 阅读全文
posted @ 2016-04-29 17:11 爱你爱自己 阅读(317) 评论(0) 推荐(0)
摘要: 介绍 本文介绍的四种代码复用模式都是最佳实践,推荐大家在编程的过程中使用。 模式1:原型继承 原型继承是让父对象作为子对象的原型,从而达到继承的目的: 同时,ECMAScript5也提供了类似的一个方法叫做Object.create用于继承对象,用法如下: 而且,也可以更细粒度地在第二个参数上定义属 阅读全文
posted @ 2016-04-29 17:11 爱你爱自己 阅读(231) 评论(0) 推荐(0)
摘要: 介绍 桥接模式(Bridge)将抽象部分与它的实现部分分离,使它们都可以独立地变化。 正文 桥接模式最常用在事件监控上,先看一段代码: 上述代码,有个问题就是getBeerById必须要有浏览器的上下文才能使用,因为其内部使用了this.id这个属性,如果没用上下文,那就歇菜了。所以说一般稍微有经验 阅读全文
posted @ 2016-04-29 17:10 爱你爱自己 阅读(324) 评论(0) 推荐(0)
摘要: 介绍 状态模式(State)允许一个对象在其内部状态改变的时候改变它的行为,对象看起来似乎修改了它的类。 正文 举个例子,就比如我们平时在下载东西,通常就会有好几个状态,比如准备状态(ReadyState)、下载状态(DownloadingState)、暂停状态(DownloadPausedStat 阅读全文
posted @ 2016-04-29 17:09 爱你爱自己 阅读(189) 评论(0) 推荐(0)
摘要: 介绍 原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。 正文 对于原型模式,我们可以利用JavaScript特有的原型继承特性去创建对象的方式,也就是创建的一个对象作为另外一个对象的prototype属性值。原型对象本身就是有效地利用了每个构造器创建 阅读全文
posted @ 2016-04-29 17:08 爱你爱自己 阅读(204) 评论(0) 推荐(0)
摘要: 介绍 组合模式(Composite)将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 常见的场景有asp.net里的控件机制(即control里可以包含子control,可以递归操作、添加、删除子control),类似的还有DOM的机制,一个 阅读全文
posted @ 2016-04-29 17:07 爱你爱自己 阅读(228) 评论(0) 推荐(0)
摘要: 介绍 模板方法(TemplateMethod)定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法是一种代码复用的基本技术,在类库中尤为重要,因为他们提取了类库中的公共行为。模板方法导致一种反向的控制结构,这种结构 阅读全文
posted @ 2016-04-29 17:07 爱你爱自己 阅读(225) 评论(0) 推荐(0)
摘要: 介绍 职责链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。 也就是说,请求以后,从第一个对象开始,链中收到请求的对象要么亲自处理它,要么转发给链中 阅读全文
posted @ 2016-04-29 17:06 爱你爱自己 阅读(225) 评论(0) 推荐(0)
摘要: 介绍 适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作。速成包装器(wrapper)。 正文 我们来举一个例子,鸭子(Dock)有飞(fly)和嘎嘎叫(quack) 阅读全文
posted @ 2016-04-29 17:06 爱你爱自己 阅读(151) 评论(0) 推荐(0)
摘要: 介绍 享元模式(Flyweight),运行共享技术有效地支持大量细粒度的对象,避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。 享元模式可以避免大量非常相似类的开销,在程序设计中,有时需要生产大量细粒度的类实例来表示数据,如果能发现这些实例除了几个参数以外,开销基本相同的 阅读全文
posted @ 2016-04-29 17:05 爱你爱自己 阅读(204) 评论(0) 推荐(0)
摘要: 介绍 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 主要内容来自:http://www.addyosmani.com/resources/essentialjsdesignpattern 阅读全文
posted @ 2016-04-29 17:05 爱你爱自己 阅读(222) 评论(0) 推荐(0)
摘要: 介绍 迭代器模式(Iterator):提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。 迭代器的几个特点是: 正文 一般的迭代,我们至少要有2个方法,hasNext()和Next(),这样才做做到遍历所有对象,我们先给出一个例子: 使用方法和平时C#里的方式是一样的: 当然,你也可 阅读全文
posted @ 2016-04-29 17:04 爱你爱自己 阅读(200) 评论(0) 推荐(0)
摘要: 介绍 命令模式(Command)的定义是:用于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及执行可撤销的操作。也就是说改模式旨在将函数的调用、请求和操作封装成一个单一的对象,然后对这个对象进行一系列的处理。此外,可以通过调用实现具体函数的对象来解耦 阅读全文
posted @ 2016-04-29 17:04 爱你爱自己 阅读(176) 评论(0) 推荐(0)
摘要: 介绍 观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。 使用观察者模式的好处: 正文(版本一) JS里对观察者模式的实现是通过回调来实现 阅读全文
posted @ 2016-04-29 17:03 爱你爱自己 阅读(216) 评论(0) 推荐(0)
摘要: 介绍 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 正文 在理解策略模式之前,我们先来一个例子,一般情况下,如果我们要做数据合法性验证,很多时候都是按照swith语句来判断,但是这就带来几个问题,首先如果增加需求的话,我们还要再次修改这段 阅读全文
posted @ 2016-04-29 17:03 爱你爱自己 阅读(197) 评论(0) 推荐(0)
摘要: 介绍 代理,顾名思义就是帮助别人做事,GoF对代理模式的定义如下: 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西。 正文 我们来举一个简单的例子,假如dudu 阅读全文
posted @ 2016-04-29 17:02 爱你爱自己 阅读(242) 评论(0) 推荐(0)
摘要: 介绍 装饰者提供比继承更有弹性的替代方案。 装饰者用用于包装同接口的对象,不仅允许你向方法添加行为,而且还可以将方法设置成原始对象调用(例如装饰者的构造函数)。 装饰者用于通过重载方法的形式添加新功能,该模式可以在被装饰者前面或者后面加上自己的行为以达到特定的目的。 正文 那么装饰者模式有什么好处呢 阅读全文
posted @ 2016-04-29 17:01 爱你爱自己 阅读(222) 评论(0) 推荐(0)
摘要: 介绍 外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。 正文 外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式经常被认为开发者必备,它可以将一些复杂操作封装起来,并创建一个简单的接口用于调用。 外观模 阅读全文
posted @ 2016-04-29 17:01 爱你爱自己 阅读(159) 评论(0) 推荐(0)
摘要: 介绍 与创建型模式类似,工厂模式创建对象(视为工厂里的产品)时无需指定创建对象的具体类。 工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模式使一个类的实例化延迟到了子类。而子类可以重写接口方法以便创建的时候指定自己的对象类型。 这个模式十分有用,尤其是创建对象的流程赋值的时 阅读全文
posted @ 2016-04-29 17:00 爱你爱自己 阅读(225) 评论(0) 推荐(0)
摘要: 介绍 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳 阅读全文
posted @ 2016-04-29 16:59 爱你爱自己 阅读(174) 评论(0) 推荐(0)
摘要: 介绍 从本章开始,我们会逐步介绍在JavaScript里使用的各种设计模式实现,在这里我不会过多地介绍模式本身的理论,而只会关注实现。OK,正式开始。 在传统开发工程师眼里,单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个 阅读全文
posted @ 2016-04-29 16:58 爱你爱自己 阅读(247) 评论(0) 推荐(0)
摘要: 介绍 构造函数大家都很熟悉了,不过如果你是新手,还是有必要来了解一下什么叫构造函数的。构造函数用于创建特定类型的对象——不仅声明了使用的对象,构造函数还可以接受参数以便第一次创建对象的时候设置对象的成员值。你可以自定义自己的构造函数,然后在里面声明自定义类型对象的属性或方法。 基本用法 在JavaS 阅读全文
posted @ 2016-04-29 16:58 爱你爱自己 阅读(187) 评论(0) 推荐(0)
摘要: 介绍 上一章我们介绍了JavaScript的基本内容和DOM对象的各个方面,包括如何访问node节点。本章我们将讲解如何通过DOM操作元素并且讨论浏览器事件模型。 本文参考:http://net.tutsplus.com/tutorials/javascript-ajax/javascript-an 阅读全文
posted @ 2016-04-29 16:57 爱你爱自己 阅读(217) 评论(0) 推荐(0)
摘要: 文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API。Javascript和DOM一般经常作为一个整体,因为Javascript通常都是用来进行DOM操作和交互的。 主要内容来自 阅读全文
posted @ 2016-04-29 16:56 爱你爱自己 阅读(251) 评论(0) 推荐(0)
摘要: 前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第4篇,接口隔离原则ISP(The Interface Segregation Principle)。 接口隔离原则的描述是: 当用户依赖的接口方法即便只被别的用户使用而自己不用,那它也得实现这些接口,换而言之,一个用户 阅读全文
posted @ 2016-04-29 16:55 爱你爱自己 阅读(304) 评论(0) 推荐(0)
摘要: 前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第5篇,依赖倒置原则LSP(The Dependency Inversion Principle )。 依赖倒置原则 依赖倒置原则的描述是: 依赖倒置原则的最重要问题就是确保应用程序或框架的主要组件从非重要的底层组件实现 阅读全文
posted @ 2016-04-29 16:55 爱你爱自己 阅读(239) 评论(0) 推荐(0)
摘要: 题目1 代码看起来是想说:如果window不包含属性a,就声明一个变量a,然后赋值为1。 你可能认为alert出来的结果是1,然后实际结果是“undefined”。要了解为什么,我们需要知道JavaScript里的3个概念。 首先,所有的全局变量都是window的属性,语句 var a = 1;等价 阅读全文
posted @ 2016-04-29 16:54 爱你爱自己 阅读(217) 评论(0) 推荐(0)
摘要: 介绍 本章是关于ECMAScript面向对象实现的第2篇,第1篇我们讨论的是概论和CEMAScript的比较,如果你还没有读第1篇,在进行本章之前,我强烈建议你先读一下第1篇,因为本篇实在太长了(35页)。 注:由于篇幅太长了,难免出现错误,时刻保持修正中。 在概论里,我们延伸到了ECMAScrip 阅读全文
posted @ 2016-04-29 16:52 爱你爱自己 阅读(229) 评论(0) 推荐(0)
摘要: 介绍 本章,我们将讲解在ECMAScript向函数function传递参数的策略。 计算机科学里对这种策略一般称为“evaluation strategy”(大叔注:有的人说翻译成求值策略,有的人翻译成赋值策略,通看下面的内容,我觉得称为赋值策略更为恰当,anyway,标题还是写成大家容易理解的求值 阅读全文
posted @ 2016-04-29 16:52 爱你爱自己 阅读(325) 评论(0) 推荐(0)
摘要: 介绍 在本篇文章,我们考虑在ECMAScript中的面向对象编程的各个方面(虽然以前在许多文章中已经讨论过这个话题)。我们将更多地从理论方面看这些问题。 特别是,我们会考虑对象的创建算法,对象(包括基本关系 - 继承)之间的关系是如何,也可以在讨论中使用(我希望将消除之前对于JavaScript中O 阅读全文
posted @ 2016-04-29 16:51 爱你爱自己 阅读(205) 评论(0) 推荐(0)
摘要: 介绍 本章节我们要着重介绍的是一个非常常见的ECMAScript对象——函数(function),我们将详细讲解一下各种类型的函数是如何影响上下文的变量对象以及每个函数的作用域链都包含什么,以及回答诸如像下面这样的问题:下面声明的函数有什么区别么?(如果有,区别是什么)。 平时的惯用方式: 或者,下 阅读全文
posted @ 2016-04-29 16:50 爱你爱自己 阅读(268) 评论(0) 推荐(0)
摘要: 介绍 本章我们将介绍在JavaScript里大家经常来讨论的话题 —— 闭包(closure)。闭包其实大家都已经谈烂了。尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的。 正如在前面的文章中提到的,这些文章都是系列文章,相互之间都是有关联的。因此 阅读全文
posted @ 2016-04-29 16:50 爱你爱自己 阅读(301) 评论(0) 推荐(0)
摘要: 前言 在第12章关于变量对象的描述中,我们已经知道一个执行上下文 的数据(变量、函数声明和函数的形参)作为属性存储在变量对象中。 同时我们也知道变量对象在每次进入上下文时创建,并填入初始值,值的更新出现在代码执行阶段。 这一章专门讨论与执行上下文直接相关的更多细节,这次我们将提及一个议题——作用域链 阅读全文
posted @ 2016-04-29 16:49 爱你爱自己 阅读(288) 评论(0) 推荐(0)
摘要: 介绍 JavaScript编程的时候总避免不了声明函数和变量,以成功构建我们的系统,但是解释器是如何并且在什么地方去查找这些函数和变量呢?我们引用这些对象的时候究竟发生了什么? 大多数ECMAScript程序员应该都知道变量与执行上下文有密切关系: 并且,很多程序员也都知道,当前ECMAScript 阅读全文
posted @ 2016-04-29 16:48 爱你爱自己 阅读(252) 评论(0) 推荐(0)
摘要: 介绍 在这篇文章里,我们将讨论跟执行上下文直接相关的更多细节。讨论的主题就是this关键字。实践证明,这个主题很难,在不同执行上下文中this的确定经常会发生问题。 许多程序员习惯的认为,在程序语言中,this关键字与面向对象程序开发紧密相关,其完全指向由构造器新创建的对象。在ECMAScript规 阅读全文
posted @ 2016-04-29 16:48 爱你爱自己 阅读(188) 评论(0) 推荐(0)
摘要: 本篇是ECMA-262-3 in detail系列的一个概述(本人后续会翻译整理这些文章到本系列(第11-19章)。每个章节都有一个更详细的内容链接,你可以继续读一下每个章节对应的详细内容链接进行更深入的了解。 适合的读者:有经验的开发员,专业前端人员。 我们首先来看一下对象[Object]的概念, 阅读全文
posted @ 2016-04-29 16:46 爱你爱自己 阅读(184) 评论(0) 推荐(0)
摘要: 简介 从本章开始,我将陆续(翻译、转载、整理)http://dmitrysoshnikov.com/网站关于ECMAScript标标准理解的好文。 本章我们要讲解的是ECMAScript标准里的执行上下文和相关可执行代码的各种类型。 定义 每次当控制器转到ECMAScript可执行代码的时候,即会进 阅读全文
posted @ 2016-04-29 16:46 爱你爱自己 阅读(319) 评论(0) 推荐(0)
摘要: 前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第3篇,里氏替换原则LSP(The Liskov Substitution Principle )。 开闭原则的描述是: 在面向对象编程里,继承提供了一个机制让子类和共享基类的代码,这是通过在基类型里封装通用的数据和行为 阅读全文
posted @ 2016-04-29 16:44 爱你爱自己 阅读(299) 评论(0) 推荐(0)
摘要: 前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为JSON对象,把JSON对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢。 正文 本文的主题是基于ECMAScript262-3来写的,2011年的262-5新规范增加了JSO 阅读全文
posted @ 2016-04-29 16:44 爱你爱自己 阅读(230) 评论(1) 推荐(0)
摘要: 前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第2篇,开闭原则OCP(The Open/Closed Principle )。 开闭原则的描述是: open for extension(对扩展开放)的意思是说当新需求出现的时候,可以通过扩展现有模型达到目的。而Clo 阅读全文
posted @ 2016-04-29 16:42 爱你爱自己 阅读(379) 评论(0) 推荐(0)
摘要: 前言 Bob大叔提出并发扬了S.O.L.I.D五大原则,用来更好地进行面向对象编程,五大原则分别是: 五大原则,我相信在博客园已经被讨论烂了,尤其是C#的实现,但是相对于JavaScript这种以原型为base的动态类型语言来说还为数不多,该系列将分5篇文章以JavaScript编程语言为基础来展示 阅读全文
posted @ 2016-04-29 16:40 爱你爱自己 阅读(309) 评论(0) 推荐(0)
摘要: 前言 JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。 虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大。实现传统的类继承模型是很简单,但是实现 JavaScript 中的原型继承则要困难的多。 由于 Jav 阅读全文
posted @ 2016-04-29 16:39 爱你爱自己 阅读(217) 评论(0) 推荐(0)
摘要: 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行。在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法也不一定完全对,主要是看个人如何理解,因为有的人说立即调用,有的人说自动执行,所以你完全可以按照你自己的理解来取一个名字 阅读全文
posted @ 2016-04-29 16:38 爱你爱自己 阅读(305) 评论(0) 推荐(0)
摘要: 前言 网上还没用发现有人对命名函数表达式进去重复深入的讨论,正因为如此,网上出现了各种各样的误解,本文将从原理和实践两个方面来探讨JavaScript关于命名函数表达式的优缺点。 简单的说,命名函数表达式只有一个用户,那就是在Debug或者Profiler分析的时候来描述函数的名称,也可以使用函数名 阅读全文
posted @ 2016-04-29 16:37 爱你爱自己 阅读(316) 评论(0) 推荐(0)
摘要: 简介 Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式。 首先我们来看看Module模式的基本特征: 关于Module模式,最早是由YUI的成员Eric Miraglia在4年前提出了这个概念,我们将从一个简单的 阅读全文
posted @ 2016-04-29 16:37 爱你爱自己 阅读(263) 评论(0) 推荐(0)
摘要: 才华横溢的Stoyan Stefanov,在他写的由O’Reilly初版的新书《JavaScript Patterns》(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情。具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环 阅读全文
posted @ 2016-04-29 16:36 爱你爱自己 阅读(220) 评论(0) 推荐(0)
摘要: 本系列内容为本人平时项目实践和参照MDN,MSDN,《javascript语言精粹》,《Effective Javascript》等资料,并且整理自己EverNote的日常积累整理所写,时间太长有一些代码样例来源不可考。本系列不允许任何形式的转载,谢谢。 from yeanzhi 大纲 第一天:ja 阅读全文
posted @ 2016-04-29 16:25 爱你爱自己 阅读(231) 评论(0) 推荐(0)
摘要: 说明 本系列属于进阶系列,语常用语法等不在本系列介绍范围之内。 在我刚开始做一个程序员并开发项目的时候,我总是喜欢使用开发语言的各种特性,每次m$发布新版C#的时候我总是会把开发者预览版下好,亲自体验,并期望从中获得快感,每次使用新的语言进行程序设计的时候,我总是喜欢掌控他有趣的地方,尽管很多与软件 阅读全文
posted @ 2016-04-29 16:24 爱你爱自己 阅读(372) 评论(0) 推荐(0)
摘要: 问题描述 以前的文章中《 PHP微信墙制作,开源 》已经用PHP搭建了一个微信墙获取信息的服务器,然后我就在想推送技术应该怎么解决,上一篇已经用了.NET 的signalr做了一个微信墙,PHP一直没什么好思路,本来想用websocket,但自己写socket要解析websocket协议,PHP有一 阅读全文
posted @ 2016-04-29 16:21 爱你爱自己 阅读(1186) 评论(1) 推荐(0)
摘要: phpstorm&Laravel PHPstorm是我见过的最好的PHP的IDE,前年用的时候就毫不犹豫的抛弃了zend studio :) ,Laravel是我用过最好的框架,除了做手游后台这类有高并发需求的项目的时候会使用swoole,像yii,thinkPHP,zend之类已经直接不在项目中用 阅读全文
posted @ 2016-04-29 16:20 爱你爱自己 阅读(3387) 评论(0) 推荐(0)
摘要: 微信墙 上一篇文章中已经用PHP搭建了一个微信墙获取信息的服务器,我这里使用微软的signalr搭建一个客户端,signalr是一个为开发者开发实时应用的 一个库文件,支持windows server 2008 r2+,win7,win8 windows azure,可以使用iis8托管,iis7必 阅读全文
posted @ 2016-04-29 16:20 爱你爱自己 阅读(1176) 评论(0) 推荐(0)
摘要: 问题描述 Laravel是PHP下当今最受欢迎的web应用开发框架,github上start数远超第二名Symfony,以前我用这个框架做项目的时候通常就是扔到apache里面,然后配置.htaccess文件移除路由里面的public字样,达到Pretty URLs效果,这这两天在完善各个版本的微信 阅读全文
posted @ 2016-04-29 16:19 爱你爱自己 阅读(1581) 评论(0) 推荐(0)
摘要: 微信墙 PHP 注意:由于微信官网不定时会更新,其中模拟登陆以及爬取数据的方式可能会失效,最近这12个月里,就有两次更新导致此功能需要重写。 服务端源码->github地址传送门 思路 其实实现思路就是通过模拟登陆的方式登录到微信平台,然后通过正则表达式获取指定的内容放到数据库里面,同时这个操作要在 阅读全文
posted @ 2016-04-29 16:18 爱你爱自己 阅读(255) 评论(0) 推荐(0)
摘要: 第一章 针对系统调用过多的优化 我这次的优化针对syscall调用过多的问题,所以使用strace跟踪apache进行分析。 1. apache2ctl -X & 使用-X(debug)参数启动httpd进程,这个时候只启动1个httpd进程 2. ps -ef | grep httpd 找到需要s 阅读全文
posted @ 2016-04-29 16:05 爱你爱自己 阅读(430) 评论(0) 推荐(0)
摘要: mysql5.5数据库多实例部署,我们可以分以下几个步骤来完成。 1、 mysql多实例的原理 2、 mysql多实例的特点 3、 mysql多实例应用场景 4、 mysql5.5多实例部署方法 一、mysql多实例的原理 mysql多实例,简单的说,就是在一台服务器上开启多个不同的mysql服务端 阅读全文
posted @ 2016-04-29 16:01 爱你爱自己 阅读(352) 评论(0) 推荐(0)
摘要: 在Yii中,当请求一个Url的时候,首先在application中获取request信息,然后由request通过urlManager解析出route,再在Module中根据route来创建controller并处理request。如:http://www.yiifans.com/index.php 阅读全文
posted @ 2016-04-29 13:56 爱你爱自己 阅读(393) 评论(0) 推荐(0)