- 博客(64)
- 收藏
- 关注
原创 理解reflux中的事件结合
reflux是一个flux的实现框架,但又在部分概念和实现上与flux的产生了分歧。分歧点主要是为了:简化Flux的编码量,让机器完成那些重复的体力活。 迈向Reactive Programming,而不是Imperative Programming. 一个重要的分歧点是reflux中取消了flux中的waitFor的概念,取而代之的是:store之间可以相互监听。当一个Sto
2015-03-16 14:41:46
201
原创 GoogleMap JSAPI 在Safari浏览器发生的问题
今天在一个使用GoogleMap的JS-API的项目中,Windows的Safari出现了一个很诡异的错误。TypeError:Unable to delete property.从而导致了某些信息无法正常显示。通过查询API,确定不是生成函数的问题。又查了一下Google的BugReport,发现一个类似的,一个人是用了某个js,导致的这个问题,而讨论中很多人说Safari的Wind
2015-02-04 16:25:34
285
原创 前端工程的构建工具对比 Gulp vs Grunt
转自Gulp vs Grunt1. Grunt -> Gulp早些年提到构建工具,难免会让人联想到历史比较悠久的Make,Ant,以及后来为了更方便的构建结构类似的Java项目而出现的Maven。Node催生了一批自动化工具,像Bower,Yeoman,Grunt等。而如今前端提到构建工具会自然想起Grunt。Java世界里的Maven提供了强大的包依赖管理和构建生命周期管理。在Jav
2015-01-24 02:07:40
152
原创 Python利用Phantomjs抓取渲染JS后的网页
最近需要爬取某网站,无奈页面都是JS渲染后生成的,普通的爬虫框架搞不定,于是想到用Phantomjs搭一个代理。Python调用Phantomjs貌似没有现成的第三方库(如果有,请告知小2),漫步了一圈,发现只有pyspider提供了现成的方案。简单试用了一下,感觉pyspider更像一个为新手打造的爬虫工具,好比一个老妈子,有时无微不至,有时喋喋不休。轻巧的小工具应该更受人喜爱,我也
2015-01-24 01:39:57
590
原创 JavaScript Promises 初体验
Promise 是什么?Promise 对象用来进行延迟(deferred) 和 异步(asynchronous) 计算。一个 Promise 处于以下三种状态之一:pending: 初始状态, 非 fulfilled 或 rejected. fulfilled: 成功的操作. rejected: 失败的操作. Promise 接口表示为一个值的代理,这个值在promise创建
2015-01-24 01:23:17
140
原创 CSS学习笔记(十五) 使用map标签实现单图多热点
来源:js中图片点击区域的实现 - javascript - SegmentFaultmap标签定义一个客户端图像映射。图像映射(image-map)指带有可点击区域的一幅图像。area元素永远嵌套在map元素内部。area元素可定义图像映射中的区域。 img标签中的usemap属性可引用的map标签中的id或name属性(取决于浏览器),所以我们应同时向map标签添加id和n
2015-01-24 01:09:13
253
原创 zookeeper小入门(一)
最近想学东西,于是就又拿起前段时间因为“没时间”而落下的zookeeper啃了起来,第一次啃完教程发现什么都不明白,第二次啃完发现,这东西,就这么"简单"的东西啊?先来摘抄一段让人十分讨厌又不得不看的概述Zookeeper是针对大型分布式系统的高可靠的协调系统。由这个定义我们知道zookeeper是个协调系统,作用的对象是分布式系统。好吧,第一次看完这句话,协调两个字吸引我,其
2015-01-10 00:29:53
103
原创 堆排序
堆排序堆,就是完全二叉树,堆排序,主要是先建立一个最大堆然后将最大堆的root拿下,剩下的数据再建立最大堆,依次反复,边得到排序,是一种很巧妙地算法算法导论中说,堆排序是个很漂亮的算法,但是一个快排的好的实现,要优于堆排序,所以,堆排序实际使用中用的不是很多,但是很适合维护优先级队列,优先级队列的问题,放在以后在讨论补充:上面说到了大部分情况我们会使用快速排序来解决排序问题,下
2015-01-07 18:27:58
121
原创 browserify-loader 0.4.1 发布
browserify-loader,是一个 CommonJS 模块的加载器。旨在改善模块化的开发。是 Browerify Work Flow 的补充。0.4.1 修复了错误处理,开始支持加载 json 和 jsx 模块。提供了自定义模块加载的接口 registerExtension:define.registerExtension('jsx', function(script) {
2015-01-07 18:16:30
81
原创 生产级Nodejs开发实践-使用连接池
引言做后端开发免不了要和一些 存储服务器, 消息服务器 等等 打交道。起因 (传统模式, 读取数据库)大家都知道和这些使用 tcp连接 的服务传递数据的都必须要打开 一个 连接-connection例如我们打开一个数据库并执行一段 sql, 通常都是connection = open "mysql://127.0.0.1:3306/db" (打开数据库,并取得持有连接的
2015-01-07 18:06:28
128
原创 将C++编译为Flash可用的swc
下载crossbridge编译器套件注意操作系统是Windows这个编译器本来是adobe公司开发的,叫flascc,后来adobe将其开源,叫crossbridge再后来adobe放弃了对它的维护,现在由社区进行维护,还叫crossbridge我使用的是adobe手上的最后一个版本,crossbridge 1.0.1github地址下载地址,下载那个zip包就好了社区
2015-01-07 17:55:30
263
原创 【译】杂谈:HTML 5的消息通知机制
原文:HTML 5 Notification译文:HTML 5 的消息通知机制译者:dwqsHTML 5 已经被应用到Web开发中。跟平常一样,任何一个软件新版本的发布都期待一些新的特性,这对HTML 5也不例外。为了仅仅通过HTML提高用户交互,HTML 5已经提供了很多新的API。是不是非常有趣呢?并且HTML 5已经和CSS 3结合的非常棒了。因此,我也开始写一系列与
2015-01-07 17:21:08
85
原创 Ruby(二)There is only one kind of object
上一篇关于ruby的文章提到了ruby的七条金科玉律。本篇就讲解一下第一条。There is only one kind of object—be it a regular object or a module.什么意思呢?就是说ruby只有一种类型的对象,不论它是一个常规的对象,还是个module。言外之意是,常规对象和module在作为“对象”这一点上是无差别的,从这个意义上讲
2015-01-07 16:59:44
178
原创 Mac下用numpy,scipy,matplotlib,ipython进行数据分析:初始化 环境
不解释,只记录命令行curl -O http://python-distribute.org/distribute_setup.pysudo python distribute_setup.pysudo rm distribute_setup.pysudo easy_install pipwget https://distfiles.macports.org/MacPort
2015-01-07 16:49:10
119
原创 JavaScript中defer和async属性相关测试
测试的缘由很早就接触了script标签中的defer和async这两个属性,当时也仅限知道他们的作用是起到延迟脚本而达到避免阻塞脚本的作用。当时并未对这两个属性进行深入的研究,直到我学习seajs和RequireJS这两个模块加载器中或多或少涉及了这两标签的使用。seajs通过异步的ajax请求脚本并执行,而RequireJS则是将依赖的脚本通过 head.appendchild(scri
2015-01-07 16:36:45
234
原创 Git 远程操作详解(再不会 Git 就真的没团队收你了,嗯哼)
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能。Git有很多优势,其中之一就是远程操作非常简便。本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作。git clone git remote git fetch git pull git push 本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解。同
2015-01-07 14:40:37
95
原创 详解一下 javascript 中的比较
今天在 JS笔试题 被 @公子 给AT了,遂想起之前要写的一篇文章,javascript 中蛋疼的比较运算。翻译自:http://www.ecma-international.org/ecma-262/5.1/#sec-11.9.311.9.3 抽象相等比较算法比较运算 x==y, 其中 x 和 y 是值,产生 true 或者false。这样的比较按如下方式进行:若 Typ
2015-01-06 13:48:32
99
原创 [零基础学Python]有点简约的元组
关于元组,上一讲中涉及到了这个名词。本讲完整地讲述它。先看一个例子:>>>#变量引用str>>> s = "abc">>> s'abc'>>>#如果这样写,就会是...>>> t = 123,'abc',["come","here"]>>> t(123, 'abc', ['come', 'here'])上面例子中看到的变量t,并没有报错,也没有“最后
2015-01-06 13:36:50
89
原创 简单字典树实现
字典树介绍我们经常会在网上输入一些单词,一般情况下,当我们输入几个字母时,输入框中会自动弹出以这些字母开头的单词供我们选择,用户体验非常好。不过这种自动提示功能到底是怎么实现的呢?这就要用到我们的前缀树了,前缀树也叫字典树、Trie树。假如我们有一个简单的字典,里面包含以下几个单词:apps apple cook cookie cold,那么可以构建以下树:图1. 简单的字典树
2015-01-06 13:05:17
136
原创 深入理解cocos2d-x的anchorPoint锚点和scale缩放之间的配合方式(如果不理解则结果狠坑爹)
如果你有一个Node在一个盒子里,盒子的锚点在左下角,这个Node一开始的时候是这个样:position=(0, 0), anchorPoint=(0, 0), scale=1然后更改它的scale让它撑满整个区域:position=(0, 0), anchorPoint=(0, 0), scale=1.09:这个时候重新设置它的锚点为右上角(1, 1),你认为会发生什么?按照我的
2015-01-06 12:55:51
147
原创 两个给力的jQuery插件
目前正在进行响应式网页前端设计,这两个插件给我减少了很多工作量1、首页大图切换的响应式bannerFotorama:A simple, stunning, powerful jQuery gallery.站点: http://fotorama.io/完整参数介绍:http://fotorama.io/customize/options/用的过程中,你能发现它的如下优点:1、
2015-01-06 12:33:18
112
原创 R- Vennerable绘制含有面积比例的Venn图
Venn(维恩图)可以用来表示集合及其相互之间的关系。有时我们希望Venn能够将集合的大小用图形的面积表示出来,从而提供更丰富更直观的信息。Vennerable能够在R中画出含有面积比例的Venn图,其它画Venn的包,似乎都没法实现这个功能。如果哪位大神有好的工具,求留言推荐。1.安装离线安装:下载页面在线安装:R命令行中使用如下命令:install.packages
2015-01-06 12:18:18
4723
原创 数据类型和Json格式
作者: 阮一峰1.前几天,我才知道有一种简化的数据交换格式,叫做yaml。我翻了一遍它的文档,看懂的地方不多,但是有一句话令我茅塞顿开。它说,从结构上看,所有的数据(data)最终都可以分解成三种类型:第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词。第二种类型是序列(sequence),也就是若干个
2015-01-05 22:09:10
85
原创 完美的编程节奏
超爽感觉写程序的时候最爽的感觉可能就是一切顺利了:每段代码一写出来就立即可以工作。 自己心里对于新代码的工作能力极为自信。 不会被 bug 或者一个问题卡住,而是不断向前进展,即使遇到问题也可以在很短时间搞定 在我们有这些感觉的时候,往往也是生产力最高的时候,而且结果一般也非常好。反之,我们代码磕磕绊绊的时候、被一个问题卡住动弹不得的时候、对代码没有任何自信的时候,一般实际的结果也
2015-01-05 21:44:11
154
原创 原生js获取浏览器尺寸
网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offsetWidth (包括边线的宽)网页可见区域高:document.body.offsetHeight (包括边线的宽)网页正文全文宽:document.body.scrollWidth网页正文全
2015-01-05 21:20:58
170
原创 关于图片延迟加载或者懒加载的说法
var img = new image(); img.src = "小图占位.jpg"; //加载载占位的,和html在同一文件夹下,实际也要onlaod加载,本地加载速度快一点 img.onload = function(){ document.querySelector("body").appendChild(img); }var img_r
2015-01-05 21:09:15
115
原创 使用jQuery adaptive modal插件生成带有按钮变幻过渡效果的悬浮层对话框
这个课程将介绍如何使用jQuery adaptive modal来生成带有特殊效果的悬浮层对话框。在线演示相关GB课程:[jQuery adaptive-modal插件开发带有变形过渡效果的悬浮层对话框][3]
2015-01-05 20:57:56
121
原创 【妙用协程】 - 单元测试的setUp和tearDown
很多测试都需要在启动的时候做一些事情,然后在结束的时候再把做的事情给清理了。一般的做法是把这些动作写在setUp和tearDown的两个方法里,单元测试框架会负责在开始和结束的时候调用这两个方法。class SomeTest(unittest.case.TestCase): def setUp(self): super(SomeTest, self).setUp()
2015-01-05 20:32:00
343
原创 [零基础学Python]赋值,简单也不简单
变量命名在《初识永远强大的函数》一文中,有一节专门讨论“取名字的学问”,就是有关变量名称的问题,本温故而知新的原则,这里要复习:名称格式:(下划线或者字母)+(任意数目的字母,数字或下划线)注意:区分大小写 禁止使用保留字 遵守通常习惯 以单一下划线开头的变量名(_X)不会被from module import *语句导入的。 前后有下划线的变量名(X)是系统定义的变量
2015-01-05 20:21:42
131
原创 [转载] ubuntu 命令 dpkg -l
转载自http://yishuiyixu.com/article/35dpkg -l每条记录对应一个软件包,每条记录的第一, 二, 三个字符是软件包的状态标识, 后边依此是软件包名称,版本号, 和简单描述。第一个字符为期望值,它包括:u 状态未知,这意味着软件包未安装,并且用户也未发出安装请求。 i 用户请求安装软件包。 r 用户请求卸载软件包。 p 用户请求清除软件包。 h
2015-01-05 20:08:33
97
原创 [gist]emacs auto config
from http://oyanglul.us有同学问初学该有个什么starter-kit之类的, 虽然我之前也在用 emacs-starter-kit, 但是那玩意其实对 emacs 24 来说已经很鸡肋了. emacs 24 对包管理这块做的已经足够好,而且源也足够多, 因此, 配置 emacs 24 会变 得容易的多.我也不知道在哪翻出来的这个 repo, 正好同时解
2015-01-05 19:56:15
126
原创 vim中括号的自动补全
终于深刻地理解了括号自动补全[1]!vim的这一功能是需要手动配置的,在豆瓣上找到了一个比较完美的版本[2],赶紧偷了过来。因为懒,我还添加了引号的补全功能。有了这段代码,vim的括号补全就和Sublime Text 2一样一样的了(其实引号的匹配效果还是有些差距的)。将以下代码粘贴到.vimrc文件中:function! AutoPair(open, close) le
2015-01-05 19:42:56
414
原创 sublime 的 package control 出错,需要更新了。
最近接了个外包顺便尝试用一下百度fis,正在一边研究一边找工具的时候发现sublime的package control请求插件列表时出错了,ctrl+`看了一下发现原来的列表地址已经请求不到内容了所以才会出错。只要更新一下就可以解决,ctrl+`之后输入以下内容回车,等待安装完成重启sublime text即可!sublime-text 3import urllib.reque
2015-01-05 19:33:45
65
原创 Redis类
Redis 类。<?phpclass RedisClient{ private static $config = array( 'master' => array( 'host' => '127.0.0.1', 'port' => 6379, 'pass' => false,
2015-01-05 19:23:56
84
原创 php管理依赖关系工具composer学习笔记
首先支持下黄老师的视频网站转型这篇composer的学习笔记也是根据他的视频教程写的,一共十集,讲解的很简单感兴趣的同志们可以上他视频网站购买视频,网站地址放在文末我的php博客:http://www.imotaku.net/composer作用1、自动安装所需要的模块,自动加载2、管理项目,发布到packeglist网上上去(packgist是composer默认的加载组
2015-01-05 19:13:39
154
原创 Node express 官方例子cors
最近学习node以及express,看例子看的头疼,刚看完cors,写一下记录下来。以下是index.jsvar express = require('../..');var logger = require('morgan');var app = express();var bodyParser = require('body-parser');var api = e
2015-01-05 19:03:47
91
原创 JS基础:1.1 HelloWorld
热身Hello world我是第二段文字 document.write("hello"); document.getElementById("p1").style.color="blue";
2015-01-05 14:26:58
76
原创 JavaScript学习总结(五)原型和原型链详解
私有变量和函数在函数内部定义的变量和函数,如果不对外提供接口,外部是无法访问到的,也就是该函数的私有的变量和函数。 function Box(){ var color = "blue";//私有变量 var fn = function() //私有函数 { } }这样在函数对象Box
2015-01-05 14:12:20
187
原创 IOS学习笔记-UITableView表索引的颜色设置
更改索引的背景颜色:self.tableView.sectionIndexBackgroundColor = [UIColor clearColor]; 更改索引的文字颜色:self.tableView.sectionIndexColor = [UIColor blueColor];
2015-01-05 13:54:39
665
原创 http.js 在Ajax单页面中的应用
关于作者马隆博(Lenbo Ma),Java,Javascript Blog: http://mlongbo.com E-Mail: mlongbo@gmail.com 文章编写于: 2014/08/10 转载请注明出处:http://mlongbo.com/http-js-zai-ajaxdan-ye-mian-zhong-de-ying-yong/要解决的问题简
2015-01-05 03:00:52
156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人