Skip to content

Instantly share code, notes, and snippets.

View Stop process shell
while true; do
pid=`ps -ef |grep binary_name |grep -v grep |awk '{print $2}'`
if [ -n "$pid" ]; then
kill -15 $pid
echo "The process is exiting, it may take some time, forcing the exit may cause damage to the database, please wait patiently..."
sleep 1
echo "binary_name process killed successfully!"
jerry-sl / System
Created Mar 5, 2019 — forked from vasanthk/System
System Design Cheatsheet
View System

System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?
View cmd proxy
alias proxy="export ALL_PROXY=socks5://"
alias unproxy="unset ALL_PROXY"
alias ip="curl -i"
View git proxy
git config --global http.proxy 'socks5://'
git config --global https.proxy 'socks5://'
View docker command
// 删除所有已经停止的container
docker rm -v $(docker ps -aq -f status=exited)
// 从dockerhub下拉镜像
docker pull redis
// 后台启动容器
docker run --name myredis -d redis
// 启动另外一个容器并链接到myredis:redis容器
docker run --rm -it --link myredis:redis redis /bin/bash
jerry-sl / .bashrc
Created Jun 23, 2018 — forked from vsouza/.bashrc
Golang setup in Mac OSX with HomeBrew. Set `GOPATH` and `GOROOT` variables in zshell, fish or bash.
View .bashrc
# Set variables in .bashrc file
# don't forget to change your path correctly!
export GOPATH=$HOME/golang
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
jerry-sl / gox.text
Created Jun 18, 2018 — forked from achun/gox.text
go get
View gox.text
go get -u
go get -u
go get -u
go get -u
go get -u
go get -u
go get -u
go get -u
go get -u
go get -u
View gist:18089aacea9bf24ba8db2b75c7273508
var fs = require('fs');
var parse = require('csv-parse');
var Web3 = require('web3');
var abi = require('./abi.json');
var _ = require('lodash');
const Tx = require('ethereumjs-tx');
var web3 = new Web3(new Web3.providers.HttpProvider(""));
//var inputFile = 'data.csv';
jerry-sl /
Created Jun 3, 2018 — forked from joepie91/
Secure random values (in Node.js)

Not all random values are created equal - for security-related code, you need a specific kind of random value.

A summary of this article, if you don't want to read the entire thing:

  • Don't use Math.random(). There are extremely few cases where Math.random() is the right answer. Don't use it, unless you've read this entire article, and determined that it's necessary for your case.
  • Don't use crypto.getRandomBytes directly. While it's a CSPRNG, it's easy to bias the result when 'transforming' it, such that the output becomes more predictable.
  • If you want to generate random tokens or API keys: Use uuid, specifically the uuid.v4() method. Avoid node-uuid - it's not the same package, and doesn't produce reliably secure random values.
  • If you want to generate random numbers in a range: Use random-number-csprng.

You should seriously consider reading the entire article, though - it's

jerry-sl / re
Last active Sep 9, 2017
Regular Expression
View re
• The ? matches zero or one of the preceding group.
• The * matches zero or more of the preceding group.
• The + matches one or more of the preceding group.
• The {n} matches exactly n of the preceding group.
• The {n,} matches n or more of the preceding group.
• The {,m} matches 0 to m of the preceding group.
• The {n,m} matches at least n and at most m of the preceding group.
• {n,m}? or *? or +? performs a nongreedy match of the preceding group.
• ^spam means the string must begin with spam.
You can’t perform that action at this time.