自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 设计 zmq.rs ——用 Rust 实现的 ZeroMQ(二)

写在前面:Rust 1.0 临近,libgreen 由于统一接口代价太大以及其伪轻量级的事实被降级为不推荐的社区项目,zmq.rs 项目也面临着一次基于 mio 的重新设计——除非更合适的协程实现能立即出现。所以呢,草稿箱里积存了数月的“命令通道”部分不再有意义了,但考虑到新的设计中也将有类似的概念,仍将其贴出来。命令通道(该设计即将删除!!)之前的类图显示了几个重要的结构:socke

2015-03-16 14:43:41 189

原创 怎么理解js中的事件委托

随着DOM结构的复杂化和Ajax等动态脚本技术的运用,事件委托自然浮出了水面。jQuery为绑定和委托事件提供了.bind()、.live()和.delegate()方法。本文在讨论这几个方法内部实现的基础上,展示它们的优劣势及适用场合。事件委托事件委托的事例在现实当中比比皆是。比如,有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为

2015-03-16 14:40:57 146

原创 pickle和cPickle:Python对象的序列化(上)

目的:Python对象序列化可用性:pickle至少1.4版本,cPickle 1.5版本以上pickle模块实现了一种算法,将任意一个Python对象转化成一系列字节(byets)。此过程也调用了serializing对象。代表对象的字节流之后可以被传输或存储,再重构后创建一个拥有相同特征(the same characteristics)的新的对象。cPickle使用C而不是P

2015-02-04 16:32:00 263

原创 iframe子页面与父页面js通信方式

iframe框架中的页面与主页面之间的通信方式根据iframe中src属性是同域链接还是跨域链接,有明显不同的通信方式,同域下的数据交换和DOM元素互访就简单的多了,而跨域的则需要一些巧妙的方式来实现通信。同域下父子页面的通信父页面 parent.html function say() { alert("paren

2015-01-24 01:17:08 138

原创 bootstrap datepicker 在bootstrap modal中不显示问题

可以通过在 input 输入框之外 嵌套 完美解决问题。修改前: 修改后:

2015-01-24 01:03:11 243

原创 关系型到文档型的跨越:颠覆你对数据库数据模型的认识

1.简介在文档型NoSQL数据库出现之前,许多开发者一直绞尽脑汁思考,希望能想出更好的处理关系型数据库技术的方法,如今他们可能要跳出那种思维而另辟蹊径。本篇白皮书将介绍关系型数据库和分布式文档型数据库的区别以及在应用开发上的一些建议。2.为什么要转变?人们通常都不愿意改变,因为改变总是痛苦的,除非它能显著解决一些问题。随着大数据的发展,我们越来越有必要开始对数据模型做出转变了。换句话说

2015-01-07 18:34:36 125

原创 Mac下搭建Hadoop单节点

安装Homebrewruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"运行brew install hadoop,当完成安装后,直接可以在/user/local/Cellar/hadoop/ 找到安装的hadoop。更改设置文件(/hadoop/2.6

2015-01-07 18:23:16 125

原创 贪心:Swift实现

中心思想求解最优化问题得算法通常需要经过一系列得步骤,每个步骤都面临多种选择。在许多最优化问题上使用动态规划其实会有杀鸡用牛刀的感觉。贪心算法(greedy algorithm)保证每一步都作出当时看起来的最佳的选择,换句话说就是保证局部最优选。贪心算法一般步骤确定问题的最优子结构 设计一个递归算法 证明我们每做一个贪心选择,则只剩下一个子问题 证明贪心选择是安全的 设计一个递归算

2015-01-07 18:12:54 112

原创 在GNU make管理的项目中萌萌地处理头文件依赖

以下要说的显然是C语言的项目。当然可以考虑用其他工具替代make,比如SCons和CMake,或者auto tools什么的,但很多时候手写Makefile还是非常干净利索,爽快好用的,尤其在项目比较小的时候。规模一旦扩大,确实写Makefile就有点费劲了。比较突出的一个问题是对头文件的依赖。make自己是没有办法处理的,必须要借助编译器。以下会列举三种常见的Makefile写法。后

2015-01-07 17:50:27 151

原创 Vim贴士集锦

前言我使用vim也有一段时日了,但依然还有许多强大的功能没有用上。中间也曾尝试过emacs和sublime,可能是先入为主了,总是感觉有些别扭,又回到vim。我把自己平时发现的一些使用的细节记录在此帖里,供自己与诸君翻阅,持续更新。快捷键拾遗数字0,普通模式下快速移动到行首 -复制粘贴shCtrl+V可视模式选择复制区域2y #追加到2号寄存器*y #复制到系统寄存

2015-01-07 17:06:14 102

原创 PEM格式证书在线生成:badcert.com

用forever给代码加上守护,按下回车。badcert.com终于上线了。这个花费了我一个礼拜写的小东西并没有完成我所有的预期,但算是有了一点可以用的样子了。badcert.com是一个在线的证书生成器,可以生成私钥、公钥,还可以生成自签名证书、证书签名请求(CSR)等。它还附带了证书信息查看与私钥认证等功能,方便开发者,在开发中可以绕过OpenSSL生成证书的步骤。甚至不需

2015-01-07 16:55:26 1123

原创 js中--和的高级用法

没想到会有人收藏,而且这些不是我自己悟出来的,是网络上找到的一篇文章我读懂后转过来的,原文是http://www.jb51.net/article/21339.htm例1:用于赋值&&从左往右依次判断,当当前值为true则继续,为false则返回此值||从左往右依次判断,当当前值为false则继续,为true则返回此值javascript// => aaavar attr =

2015-01-07 16:43:53 115

原创 ibatis动态字段order by排序

ibatis中要增加一个排序功能按照惯性思维增加了这样的代码 order by #orderColumn#运行起来不符合预期检查了生成了原始语句,发现组装成的SQL变成了 order by 'name'在orderColumn参数前后加上了引号,所以会不成功最终解决方法如下 order by $orderColumn$然后

2015-01-07 14:49:44 933

原创 Docker核心技术预览【转+改】

本文简单介绍docker使用到的部分核心技术,但不做深入探究,因为每一个技术都是一个独立的项目,有机会再分别详细介绍。来源地址:http://www.infoq.com/cn/articles/docker-core-technology-previewLinux Namespace (实例隔离)The purpose of each namespace is to wrap

2015-01-07 14:32:51 98

原创 angularjs新手教程 factory利用callbacl传递参数的用法

在angularjs中 service/factory是与controller分开的另外一个概念这时候 service/factory更像是model例如javascriptvar app = angular.module('demo.controllers', []);//定义一些请求的urlapp.factory('Path' , function(){ retu

2015-01-07 14:17:27 266

原创 菜鸟前端101历程 #001

捣鼓多”维度“模糊查询及结果处理(Fuse plugin + perfect-scrollbarplugin) jQuery plugin 封装上述功能 新技能GETCSS position box-sizing Media QueryJavaScript function Vs jQuery function 声明格式JavaScript, jQu

2015-01-06 13:43:51 148

原创 (原创)SpriteKit+Swift学习笔记(二)-简单动画

相信很多人刚接触一个游戏开发框架,都会首先关注动画如何实现。今天就来简单说一下动画是如何实现的。废话不多说,上代码:var textureAtlas = SKTextureAtlas(named: "bird")var textures = NSMutableArray()for var i = 1; i <= textureAtlas.textureNames.count; i+

2015-01-06 13:31:23 145

原创 详解js闭包

闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。闭包的特性闭包有三个特性:1.函数嵌套函数2.函数内部可以引用外部的参数和变量3.参数和变量不会被垃圾回收机制回收闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量使用闭包有一

2015-01-06 13:21:12 111

原创 翻译:Javascript最佳搭档:强大的join与split

原文地址:http://javascriptweblog.wordpress.com/2010/11/08/javascripts-dream-team-in-praise-of-split-and-join/Javascript拥有两个相当强大而且受开发者喜爱的方法:split 与join 俩对立的方法。这俩方法能让string与array两种类型互换,也就是数组能被序列化为字符串,反之亦然

2015-01-06 13:10:47 131

原创 移动App开发工具和移动应用漏洞检测工具

移动应用开发工具和移动应用漏洞检测工具,另外,HTML5提供了很多易于移动web开发的特性。例如,所有的网站都是开发放式的,不需要授权;开发者所创造的利润全部归自己所有。无疑,HTML5正在升温,它所体现出来的优势也在不断增加。  移动应用开发工具和移动应用漏洞检测工具,最新版本的HTML5,可以存储数据,也就是说,数据不再需要与设备绑定。HTML5给人们所带来的好处远不止这些。当然,也可能会

2015-01-06 13:00:19 171

原创 注意Rake Task中invoke方法跟execute方法的不同

平时如果跟Rake Task有过接触的同学都会知道,当我们需要在一个Task里边调用另一个Task的时候,我们可以使用Rake::Task['task_name'].invoke的方式。但是在今天的实践中,才知道Rake::Task#invoke在默认情况下在整个运行过程中将只会被调用一次而已。话不多说,动手演示:准备一个say hello的task,代码:# lib/tasks/de

2015-01-06 12:51:01 253

原创 [gist]用 jest 轻松测试 JavaScript

from oyanglul.usJavascript 的测试, 不管在用 jasmine 还是 mocha,都是很头疼的事情. 但是自从有了 jest, 一口气写7个测试, 腰也不疼了, 头也不疼了.只需要 3 个理由在说用 jest 测为什么好之前,我们先来看我们要测的一个例子.栗子比如我要写一个模块要去取github 用户的follower 和他所有 repo 的 fo

2015-01-06 12:29:03 93

原创 朋友圈的权限设置,如果要建表,该怎么做?

我们现在做的这个应用其中一个模块与微信的朋友圈类似。其中一个就是关于权限的问题:1.非好友不能评论。2.我只能看见我评论的和对方回复我的。请问我该如何理清这些关系,有没有大致的思路?问题我会稍后细节化一些,,,包含我自己实现的代码、、

2015-01-05 22:15:09 261

原创 常用.jshintrc备忘

{ // Details: https://github.com/victorporof/Sublime-JSHint#using-your-own-jshintrc-options // Example: https://github.com/jshint/jshint/blob/master/examples/.jshintrc // Documentation:

2015-01-05 21:50:20 101

原创 国内开源html5游戏引擎全收录

游戏开发这潭水太深,英文水平太差,不敢看国外的,而且这几年国内技术水平也挺高了不少,特别是JS方面。(我个人感觉)最近看了几个国产的js游戏引擎,有点想开发个游戏玩玩,毕竟搞编程这么多年,开发过各种类型的程序,就是没搞过游戏,人生是不完整的。。。就先收录一下我所知道的国产开源h5游戏引擎吧。cocos2d-jshttp://cn.cocos2d-x.org/egre

2015-01-05 21:26:55 161

原创 利用Flash IDE做canvas游戏编辑器

billd demo首先,先看个游戏栗子 billd它一共有四个关卡,每个关卡都是用Flash IDE先画好然后通过导出关卡数据的JSFL利用JSFL(Flash JavaScript API)可以在Flash IDE中执行动作脚本,操作Flash获取舞台,图层数据,导出资源,数据等。利用它就可以打造一个游戏编辑器,下面通过billd游戏来讲解下用法下图是billd地图

2015-01-05 21:15:30 365

原创 像素分辨率-不懂这个很麻烦

像素,又称画素,为图像显示的基本单位,译自英文“pixel”,pix是英语单词picture的常用简写,加上英语单词“元素”element,就得到pixel,故“像素”表示“图像元素”之意,有时亦被称为pel(picture element)。每个这样的信息元素不是一个点或者一个方块,而是一个抽象的采样。一个像素通常被视为图像的最小的完整采样。Image resolution,中国大陆译为

2015-01-05 21:02:45 128

原创 众里寻她千百度--正则表达式

原文地址先来看一个让人震撼的小故事,故事来自知乎问题PC用户的哪些行为让你当时就震惊了?同学在一个化妆品公司上班,旁边一个大妈(四十多岁)发给他一个exl表,让他在里面帮忙找一个经销商的资料。表格里面大约有几百个客户资料,我同学直接筛选填入信息,然后没找到,就转头告诉大妈,说这个表里没有。大妈很严厉的批评了我同学,说年轻人干工作一定要沉的住气,心浮气躁可不行。这才几分钟啊,我才

2015-01-05 20:51:29 156

原创 【generator101】 - 对比generator和greenlet

前面讲generator是显式的协程的时候缺一个例子,现在补上def parent_generator(): print('hello') yield from sub_generator() print('world')def sub_generator(): yield 1gen = parent_generator()gen.s

2015-01-05 20:27:58 80

原创 [零基础学python]总结参数的传递

就前面所讲,函数的基本内容已经完毕。但是,函数还有很多值得不断玩味的细节。这里进行阐述。参数的传递python中函数的参数通过赋值的方式来传递引用对象。下面总结通过总结常见的函数参数定义方式,来理解参数传递的流程。def foo(p1,p2,p3,...)这种方式最常见了,列出有限个数的参数,并且彼此之间用逗号隔开。在调用函数的时候,按照顺序以此对参数进行赋值,特备注意的是,参数的

2015-01-05 20:15:58 97

原创 [No.005]Redhat安装R语言

1、下载wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz#备份地址[R3.01安装包][1]http://pan.baidu.com/s/1gdrbh4Z2、解压:tar -zxvf R-3.0.1.tar.gzcd R-3.0.13、安装yum install readl

2015-01-05 20:02:08 188

原创 Write Css Codes Distinct From Different Pages

In rails, there is normally a view corresponding to an action. So if you want to do some special styles based on different pages, you can render controller name and action name in your layout file lik

2015-01-05 19:50:49 84

原创 Ubuntu Server下的LAMP环境的配置

概述由于学习需要,要在linux系统下配置PHP环境,对于我来说,这段过程并不是非常顺利,所以索性把配置过程记录下来。安装环境介绍:Ubuntu Server 14.04、 Vmvare Workstation 10。Xshell 4.安装前的工作1.由于新安装的Ubunt是没有安装SSH服务的。使用Xshell链接时,就必须得安装该服务,安装命令:sudo apt-get ins

2015-01-05 19:39:16 88

原创 Size Classes

iPhone4S,iPhone 5/5s,iPhone 6竖屏:(w:Compact h:Regular)横屏:(w:Compact h:Compact)iPhone6Plus竖屏:(w:Compact h:Regular)横屏:(w:Regular h:Compact)iPad竖屏:(w:Regular h:Regular)横屏:(w:Regular h:Regu

2015-01-05 19:28:56 73

原创 Python性能优化的20条建议

优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合

2015-01-05 19:19:51 112

原创 PHP 快速排序算法

概念这里借用百度百科的一张图来,非常形象:快速排序算法是对冒泡算法的一个优化。他的思想是先对数组进行分割, 把大的元素数值放到一个临时数组里,把小的元素数值放到另一个临时数组里(这个分割的点可以是数组中的任意一个元素值,一般用第一个元素,即$array[0]),然后继续把这两个临时数组重复上面拆分,最后把小的数组元素和大的数组元素合并起来。这里用到了递归的思想。PHP实现/*

2015-01-05 19:09:31 62

原创 Memcache缓存方式及节点故障解决

memcache的存储方式在启动memcache时,memcache会申请若干个slab块, 每个slab块又会分配若干个page, 每个page的大小默认为1M, 在数据缓存进来的时候,memcache会查看是否有合适的slab,然后该slab是否有合适的chunk存储数据,这里的chunk就是用于存储数据的最小单位, 每个page下会有若干个大小相同的chunk,而每个page之间的c

2015-01-05 18:57:34 172

原创 Linux-sed命令详解

1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显

2015-01-05 14:34:03 107

原创 jquery.json2csv.js

(function ($) { $.json2csv = function (data, options) { var settings = $.extend({ header: true, delimiter: ',', columnnames: "", colum

2015-01-05 14:22:01 124

原创 javascript 回调函数 整理

为什么写回调函数对于javascript中回调函数 一直处于理解,但是应用不好的阶段,总是在“别人家”的代码中看到很巧妙的回调,那时候会有wow cooooooool 的感觉。最近编码过程中,自己的代码能合理的应用回调会 更优雅些,索性做了一次对于回调函数“研究”。我不是生产文章 我只是大自然的搬运工。因为包括总结 和 拜读的时候,写的真好。文章转自彻底理解java

2015-01-05 14:05:22 70

空空如也

空空如也

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

TA关注的人

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