Skip to content

Instantly share code, notes, and snippets.

@ysqi
ysqi / deepEthereum_address.go
Last active Feb 18, 2020
以太坊获得账户地址过程演示,https://learnblockchain.cn/article/563
View deepEthereum_address.go
package main
import (
"crypto/ecdsa"
"crypto/rand"
"fmt"
"os"
"github.com/ethereum/go-ethereum/crypto"
)
@ysqi
ysqi / git_empty_branch
Created Sep 4, 2019 — forked from j8/git_empty_branch
Create new branch with empty folder structure
View git_empty_branch
You can create a new empty branch like this:
$ git checkout --orphan NEWBRANCH
--orphan creates a new branch, but it starts without any commit. After running the above command you are on a new branch "NEWBRANCH", and the first commit you create from this state will start a new history without any ancestry.
The --orphan command keeps the index and the working tree files intact in order to make it convenient for creating a new history whose trees resemble the ones from the original branch.
Since you want to create a new empty branch that has nothing to do with the original branch, you can delete all files in the new working directory:
@ysqi
ysqi / git-subdirectory-tracking.md
Created Sep 4, 2019 — forked from tswaters/git-subdirectory-tracking.md
Adding subdirectory of a remote repo to a subdirectory in local repo
View git-subdirectory-tracking.md

This is way more complicated than it should be. The following conditions need to be met :

  1. need to be able to track and merge in upstream changes
  2. don't want remote commit messages in master
  3. only interested in sub-directory of another repo
  4. needs to go in a subdirectory in my repo.

In this particular case, I'm interested in bringing in the 'default' template of jsdoc as a sub-directory in my project so I could potentially make changes to the markup it genereates while also being able to update from upstream if there are changes. Ideally their template should be a separate repo added to jsdoc via a submodule -- this way I could fork it and things would be much easier.... but, it is what it is.

After much struggling with git, subtree and git-subtree, I ended up finding this http://archive.h2ik.co/2011/03/having-fun-with-git-subtree/ -- it basically sets up separate branches from tracking remote, the particular sub-directory, and uses git subtree contrib module to pull it all togther. Following are

@ysqi
ysqi / removeSlice.go
Created May 22, 2019
fast remove item from slice
View removeSlice.go
func clearExpiredTx(txs types.Transactions, now time.Time) types.Transactions {
for i := 0; i < len(txs); i++ {
if !txs[i].Expired(now) {
continue
}
if len(txs) == 1 {
return nil
}
var last *types.Transaction
@ysqi
ysqi / sortslice_list.go
Created May 7, 2019
fast and safe sort slice like queue
View sortslice_list.go
package sortslice
import (
"container/heap"
"sort"
"sync"
)
type Item interface {
Compare(other Item) int
@ysqi
ysqi / batchPermitRootLoginByfabric.md
Last active Nov 1, 2018
batch set Disable/Enable Root SSH login with fabric tool (sshd_config PermitRootLogin)
View batchPermitRootLoginByfabric.md
{
  "172.123.4.6":{"user":"abc"},
  "172.123.5.6":{"user":"abc"},
  "172.123.1.6":{"user":"abc"},
}
from invoke import Responder
@ysqi
ysqi / decode_bitcoin_block_data.go
Created Dec 11, 2017
Decode bitcoin block chain dat file, and get block data deail content
View decode_bitcoin_block_data.go
package main
import (
"bytes"
"crypto/sha256"
"encoding/binary"
"encoding/hex"
"fmt"
"io"
"log"
@ysqi
ysqi / centos6.5_nginx.md
Last active Sep 22, 2017 — forked from ifels/centos6.5_nginx
centos 6.5 nginx安装与配置
View centos6.5_nginx.md

第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo:

cd /etc/yum.repos.d/
vim nginx.repo

填写如下内容:

[nginx]
name=nginx repo
View go-ethereum-debug-pprof.txt
goroutine 146 [running]:
runtime/pprof.writeGoroutineStacks(0x50b6500, 0xc4217a80e0, 0x0, 0xc4209c7ad0)
/usr/local/opt/go/libexec/src/runtime/pprof/pprof.go:608 +0xa7
runtime/pprof.writeGoroutine(0x50b6500, 0xc4217a80e0, 0x2, 0x30, 0x49aed40)
/usr/local/opt/go/libexec/src/runtime/pprof/pprof.go:597 +0x44
runtime/pprof.(*Profile).WriteTo(0x519f0a0, 0x50b6500, 0xc4217a80e0, 0x2, 0xc4217a80e0, 0x51cad40)
/usr/local/opt/go/libexec/src/runtime/pprof/pprof.go:310 +0x3ab
net/http/pprof.handler.ServeHTTP(0xc421793931, 0x9, 0x50bf700, 0xc4217a80e0, 0xc4217a2200)
/usr/local/opt/go/libexec/src/net/http/pprof/pprof.go:237 +0x1b8
net/http/pprof.Index(0x50bf700, 0xc4217a80e0, 0xc4217a2200)
@ysqi
ysqi / main.go
Created Mar 21, 2016
beego get multipevalue from post form
View main.go
package main
import (
"fmt"
"text/template"
"github.com/astaxie/beego"
)
func main() {
You can’t perform that action at this time.