require.js实战

预备知识 CommonJS 要学习require.js就不得不先了解CommonJS和AMD规范。 CommonJS API定义很多普通应用程序(主要在服务器端)使用的API,它的终极目标是提供一个类似Python,Ruby和Java标准库。 在CommonJS Modules/1.1.1规范里,定义了构建 CommonJS 模块系统所需要的最小特性: module 拥有 id, uri 属性;在 module 中,有 require, exports, module 三个自由变量; module 可通过 require 引入外部 module. 通过 exp...

学习笔记-js发布/订阅模式的简单实现

上次研究观察者模式,很多文章说它也叫Subscribe/Publish(发布/订阅模式)。可在《Javascript设计模式》一书中,这两种模式还是有些区别的。书中原话如下: Observer模式要求希望接收到主题通知者的观察者必须订阅内容改变的事件 Subscribe/Publish模式使用了一个主题/事件通道,这个通道介于订阅者和发布者之间。该事件系统允许代码定义应用程序的特定事件,该事件可以传递自定义参数,自定义参数包含订阅者所需要的值。其目...

学习笔记 – 观察者模式在ruby、js、php中的最简易实现

面试被问及到js中的观察者模式,这玩意儿早就了解过,可以说是动态语言中非常有用的一个设计模式,非常惭愧的没有系统的研究过。不过没关系,哪里不会补哪里,立刻动手,用所会的语言都实现一遍。 观察者模式 关于观察者模式,《松本行弘的程序世界》讲的非常清楚:观察者模式是当某个对象状态发生变化时,依存于该状态的全部对象自动得到通知,被观察者和观察者们是一对多的关系。书中还举了一个非常易懂的例子:获取系统当...

写了websocket个聊天室,然后终于弄懂了php的socket

经朋友推荐去一家手游公司面试,原谅我不厚道的只是好奇手游公司到底是啥样的才去的。工作虽然没找到,但是跟他们的技术总监套近乎聊了几乎一晚上,受益良多,知道了运营多个手游大体需要的技术,当然还是厚道的不爆料了。面试中被问及socket和多线程编程,对这两个知识点完全是空白,回来果断开始研究。还是那句话,不懂裁缝的厨师不是好司机。何况这两个知识也在前端开发的范畴之内。 对我来说最快的学习途径是实践,所以找...

大梦敦煌(下篇)

u=2602369309,994906668&fm=116&gp=0 在西域辗转流浪了一月有余,开始逐渐想念中原汉地,敦煌是东归途中必经的一站,岂有过而不入的道理。时隔三年,终于又回到了无数次出现在梦中的敦煌,只是这次的心境跟上次大相径庭。 其他的小伙伴飞的飞,搭车的搭车,我好不容易刷到了从乌鲁木齐买到了去柳园的T70,软卧300多块,没办法,冬天想出疆就是这么难。 T70 乌鲁木齐 - 柳园 09:50 - 19:03 9小时13分 硬座 112 硬卧下 208 一路上的风景照例壮阔,哈顺...

实现进度条遇到的问题 – XMLHttpRequest Level 2 lengthComputable一直为false

赋闲待业,终于有机会把以前的草稿们一个个的完成,今天再填一个坑。很久之前做的需求,前端实时显示文件上传进度,现在看已经没啥新意,可写了一半舍不得删啊,整理一下发出了好了。 对此需求,对于支持XMLHttpRequest Level 2的浏览器可以用progress事件,预览效果可以点此: DEMO 思路很简单,就是利用XMLHttpRequest Level 2(以下简称XHR2)的两个新特性,formData和进度信息。首先用formData对象模拟一个表单,然后用XHR...

大梦敦煌(上篇)

P6200638-300x225 至今我还常常梦到那个迷人的夏天,那个葡萄美酒、痛饮狂歌的仲夏。 从学生时代起就很喜欢王维的诗。不像李白的潇洒,白居易的现实,他的诗中总是充满各种壮阔的景色和深刻的哲学思想,令人回味无穷。这次去敦煌,也完全是因为他的《使至塞上》: 单车欲问边,属国过居延。 征蓬出汉塞,归雁入胡天。 大漠孤烟直,长河落日圆。 萧关逢候骑,都护在燕然。 在慢慢的列车上,一次又一次的遐想,真正的大漠孤烟,长河落...