Avatar_small

git添加本地过滤文件

项目开发中,有时需要添加一些本地的过滤文件,不提交到仓库中。可以采用以下方式 1.git config core.excludesfile .localgitignore 2.创建 .localgitignore 文件中添加需要过滤的内容 3.在默认的 .gitignore 文件中过滤 .localgitignore

Avatar_small

个税的Oracle一句SQL算法

没啥技术含量,其实就是一个对 model 用法的练习…… WITH AAA AS ( select 0 AS start_value, 3500 AS end_value, 0.0 ratio from dual union select 3500 , 5000, 0.03 from dual union select 500...

Avatar_small

随机获取特定长度的素数(32bits)(拉宾米勒算法)

这是在is-programmer的第一篇blog,拉宾米勒算法由一同学提供,谢谢他! #define type int type get_rand() { type a; a = rand(); a* = rand(); return abs(a); } /******a^b mod c *******/ ty...

Avatar_small

MapReduce的shuffle过程

MapReduce的核心是shuffle,她对于mapreduce的效率起到了至关重要的作用,now,我把我对shuffle的理解过程简单介绍一下,如果有误还请指教阿。。 MapReduce的过程(针对一个map来说): 每个Map在内存中都有一个缓存区,map的输出结果会先放到这个缓冲区当中,缓冲区有一个spill percent,这里默认是80%(可以手动进行配置)...

Avatar_small

理解过程抽象

在学习编程的过程中,一个核心的任务是编写可以完成我们任务的函数。不管我们使用的什么语言,做什么开发,函数抽象并不少见。所谓的函数,我认为就是一些语句的集合,完成一个特定的任务。有了函数,我们思维时的操作原子型的层次变的比较高,思维的难度就会降低。但是在不同的编程实践中,为了完成任务需要的编写函数的思维方式也许是不同的,这会受到编程语言或是第三方库的影响。 在面向对象编程中,想得...

Avatar_small

使用NAT共享上网

家里有一个台式机,但是没有无线网卡,必须使用网线连接路由器,但路由器在客厅,扯很长的网线很不方便.不过,我还有一台笔记本,上面装的是LINUX,所以想办法让台式机通过笔记本的eth口访问网络,那么就需要在笔记本上搭建一个NAT转发. 在linux上,使用IPtables轻松搞定这一切.组网图大致如下: 第一种方法: IPtable设置如下: ...

Avatar_small

wget 下载云诺网盘文件

今天下载别人在云诺网盘上分享的文件,无奈网络太差,火狐才下了不到百分之一就认为下载完成了。每当这个时候,我便会祭出「中国特色网络」下的下载利器——wget。每当浏览器下不好文件时,wget 总会不屈不挠地一次次坚持,直到文件真正下载完成。 不过,这次对付云诺这个互联网友好发展的阻碍者时出现了问题。wget 总是下载到那个网页,即使指定 UserAgent...

Avatar_small

C++ 王者归来

曾几何时,学会了C语言。安装了VC6这个神叉IDE。 然后被迫开始CPP路程。由于C++兼容C,所以一直在以C的方式写C++。然后慢慢的开始学写C++代码。写C++代码是从MFC开始的。慢慢的,我学会了用class,感觉是个比struct好用的多的结构体。再慢慢的,我学会了继承,还有... 多重继承。 MFC 就是我的导师。开始不停的向MFC学习。既然用了c+...

Avatar_small

IPSec简介

介绍 IPsec是一种虚拟网络的应用,可以将internet虚成企业网来用,比如,公司在上海和北京都有办公区,两边为了能互相访问方便,一种解决方法是租用一条专用路线,物理上保证带宽和传输安全性,但是这样造价很高,有了VPN可以在inetenet上做一个逻辑层面上的网络,数据在彼此交换都使用AH或ESP方式对IP头部/载荷进行加密认证.这样保证了传输的安全性,但带宽就不好...

Avatar_small

使用DFA实现文字过滤

DFA和文字过滤 文字过滤是一般大型网站必不可少的一个功能,而且很多文字类网站更是需要。那么如何设计一个高效的文字过滤系统就是非常重要的了。 文字过滤需求简要描述:判断集合A中哪些子集属于集合B,拿javaeye来说,如果用户发表一篇文章(集合A),我们需要判断这篇文章里是否存在一些关键字是属于集合B,B一般来说就是违禁词列表。 看到这里,没有接触过...

Avatar_small

自定义对象作为NSDictionary key的一些问题

在Java中把一个自定义的类生成的对象作为HashTable的key是天生可行的,但是在Objective C中,NSDictionary的key使用的是copy方法,所以自定义的类必须要实现copyWithZone才可以。 假设现在有一个CustomClass: @interface CustomClass : NSObject <NSCopying> ...

Avatar_small

伸展树

在上一篇博文中提到的伸展树(splay tree).其实自己也没怎么明白.在网上找了半天也没有看懂.最终找到了这个.这是加州大学伯克利分校的CS 61B数据结构的一个公开课视频.讲的清楚极了.现部分整理如下. 一.伸展树是一种平衡二叉搜索树.它可以快速的获得最近操作的项目.对于伸展树.最基本的策略是旋转(Rotation).旋转分为左旋和右旋.如下: 二.伸展...

Avatar_small

Emacs as a Python IDE

赋闲脱产的半年里,自己用C++/Java/Lisp胡乱写了几万行的代码,到了现在的公司,给OpenStack项目贴牛皮藓,反倒是Python用得最多。作为公司里面唯一的Emacser(没准也是 公司里JJ最长的吧,笑),我一直致力于在Emacs平台上折腾出一套顺手的Python开发环境,所幸有些小心得,付诸纸面,以飨大家。 Table of Contents 1 P...

Avatar_small

拼音声调数字转字符

Suǒwèide 「pīnyīn shēngdiào shùzì zhuǎn zìfú」 jiùshì bǎ 「pīnyīn+shùzìdiàbiǎo de shēngdiào」 zhuǎnchén Uni...

Avatar_small

立即输出缓冲区

<?php set_time_limit(10); ob_end_clean(); //在循环输出前,要关闭输出缓冲区 echo str_pad('',1024); //浏览器在接受输出一定长度内容之前不会显示缓冲输出,这个长度值 IE是256,火狐是1024 for($i=1;$i<=100;$i++){ echo $i.'...