Skip to content

Instantly share code, notes, and snippets.

@ikbear
ikbear / uptoken.md
Created February 10, 2014 08:58
UpToken

uptoken

uptoken 是由PutPolicy经过编码加密得到的,语义如下

PutPolicy

字段 类型 语义
scope string 指定为bucket:key这样的形式,bucket必须
deadline int token失效的unix时间戳(单位:秒),必须

Docker Cheat Sheet

Why

Why Should I Care (For Developers)

"Docker interests me because it allows simple environment isolation and repeatability. I can create a run-time environment once, package it up, then run it again on any other machine. Furthermore, everything that runs in that environment is isolated from the underlying host (much like a virtual machine). And best of all, everything is fast and simple."

TL;DR, I just want a dev environment

@ikbear
ikbear / acces_token.rb
Created May 29, 2014 04:03
生成七牛云存储的授权使用的 Access Token
require 'hmac-sha1'
require 'uri'
require 'base64'
def urlsafe_base64_encode(content)
Base64.encode64(content).strip.gsub('+', '-').gsub('/','_').gsub(/\r?\n/, '')
end
def generate_access_token(access_key, secret_key, url, body)
uri = URI.parse(url)
@ikbear
ikbear / pfop.ph
Created September 18, 2014 07:59
<?php
require_once("../../qiniu/http.php");
require_once("../../qiniu/auth_digest.php");
require_once("../../qiniu/utils.php");
$accessKey = "aW6EvpZBvWr5Qq3HiFCLiCmvkJORHN8oE-vKR8-z";
$secretKey = "8T270kMZuVZHRjLt6ACKdXj3VAAwPbmeOykQdmOA";
$bucket = "kouqiangzhongzhi";
@ikbear
ikbear / player.html
Last active August 29, 2015 14:07
https access player
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
<title>Sewise Player</title>
<style type="text/css">
body{
margin: 0px;
@ikbear
ikbear / README.md
Last active August 29, 2015 14:20 — forked from jonhoo/README.md

Distributed Read-Write Mutex in Go

The default Go implementation of sync.RWMutex does not scale well to multiple cores, as all readers contend on the same memory location when they all try to atomically increment it. This gist explores an n-way RWMutex, also known as a "big reader" lock, which gives each CPU core its own RWMutex. Readers take only a read lock local to their core, whereas writers must take all locks in order.

@ikbear
ikbear / binary-search.c
Created May 27, 2015 06:21
Binary Search in C
#include <stdio.h>
int binary_search(int *a, int length, int target)
{
int left = 0;
int right = length - 1;
int middle = 0;
while (left <= right)
{
middle = (left + right) >> 1;

Internet Scale Services Checklist

A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."

Basic tenets

  • Does the design expect failures to happen regularly and handle them gracefully?
  • Have we kept things as simple as possible?
@ikbear
ikbear / popmin.c
Created July 3, 2015 05:01
Pop 最小值的栈
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ERROR_DATA -999999
typedef struct {
int *pData;
int length;
int top;
@ikbear
ikbear / jd.md
Last active August 29, 2015 14:24
新 JD

部门:客户体验平台部

使命:打造企业服务市场领域体验最杰出的客户服务平台

具体工作:

  1. 与产品和服务部门共同设计客户体验管理(CEM)流程
  2. 将确定的客户体验管理流程产品化
  3. 基于收集的数据评估客服体验管理流程的效果,持续改进流程和产品