Skip to content

Instantly share code, notes, and snippets.

View mccxj's full-sized avatar

xiaojian cai mccxj

View GitHub Profile
@mccxj
mccxj / HelloStubServer.java
Created January 12, 2014 03:50
moco stub server
package com.github.mccxj.stub;
import com.github.dreamhead.moco.internal.ActualHttpServer;
import com.github.dreamhead.moco.internal.MocoHttpServer;
import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
import static com.github.dreamhead.moco.Moco.*;
@mccxj
mccxj / redis.md
Last active December 22, 2015 14:18
Redis简报

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统, 与memcached相比,redis支持更丰富的数据结构,特点是高性能、持久存储,适应高并发的应用场景。它起步较晚,发展迅速, 目前已被许多大型机构采用,比如Twitter、Github、新浪微博等。

Redis安装

redis的安装没有其他依赖,非常简单。操作如下:

wget http://download.redis.io/releases/redis-2.6.16.tar.gz
@mccxj
mccxj / iknown2.md
Last active December 22, 2015 08:59
iknown2 + redis存储结构设计

用户表 User

  • users:id => "id" 记录最新的主键序列
  • users:$account => "id" 通过account查找id
  • users:$id:name => "name" 通过id查找name
  • users:$id:email => "email" 通过id查找email
  • users:$id:last_login => "last_login" 通过id查找最后登录时间
  • users:admin => set["account1", "account2", ...] 记录所有管理员权限用户
  • users => list["account1","account2", ...] 记录所有的用户,用于列表展示(sort test alpha limit 2 1)
mkdir -p ~/.vim/autoload
mkdir -p ~/.vim/bundle
cd ~
git clone https://github.com/tpope/vim-pathogen
cp ~/vim-pathogen/autoload/pathogen.vim ~/.vim/autoload/
vim ~/.vimrc
@mccxj
mccxj / redis_object_mapping.js
Last active December 21, 2015 06:49
Redis Object Mapping, Object style, NoSQL inside.
//assume user table with 4 columns: id, name, email, last_login. id is the key column.
//give id, then we fetch from redis like : users:id:name, users:id:email, users:id:last_login.
//maybe we should return a user object to client.
var async = require('async');
var db = require('redis').createClient();
var user = {};
var id = 1; // fetch from request parameter
var column_fetch = function(id, column, callback) {
@mccxj
mccxj / ss.vbs
Last active December 18, 2015 09:29
GTD everynote
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = "EMAILADDRESS"
Flds.Item(schema & "sendpassword") = "PASSWORD"
gem install padrino
padrino g project iknown -d activerecord -e erb
bundle install
padrino g admin
@mccxj
mccxj / SimilarParamChecker.java
Created March 26, 2013 16:19
参数匹配测试算法
package com.mccxj.test;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.junit.Test;
public static void main(String[] args) throws Exception {
File file = new File("test.txt");
FileInputStream is = new FileInputStream(file);
FileOutputStream os = new FileOutputStream("test.7z");
int k;
char[] ka = new char[2];
int i=0;
while((k = is.read()) != -1)
{
@mccxj
mccxj / gist_tag.rb
Last active December 11, 2015 19:28 — forked from imathis/gist_tag.rb
require 'cgi'
require 'digest/md5'
require 'net/https'
require 'uri'
module Jekyll
class GistTag < Liquid::Tag
include Liquid::StandardFilters
def initialize(tag_name, text, token)
super