Skip to content

Instantly share code, notes, and snippets.


Sun Junyi fxsjy

  • Tencent
  • Beijing, China
View GitHub Profile
fxsjy / gist:5368803
Created Apr 12, 2013
Memory Leak of Golang
View gist:5368803
Hi all,
I am studying Go, and find that it is very interesting and "battery" included.
In this mail, I want to ask something about the garbage collection rules of Go.
For example, in the following program.
package main
View gist:5598196
Topic #0:
一页 目录 呼延 高太尉 知府 连环 将军 关胜 慕容 徐宁 三路 韩滔 秦明 灼道 汤隆 彭
圯 青州 一匹 摆布 马军 第五十四回 大兴 军马 酒保 出马
Topic #1:
华堂 第五 水浒传 才子 书法 一部 史记 子弟 一样 所藏 有序 一篇 依此 丛林 古本 至
于 一百八 文法 只是 饶恕 段落 呜呼 真正 施耐庵 得见
Topic #2:
武松 施恩 妇人 叔叔 蒋门神 武二 张青 张都监 武大 嫂嫂 大虫 两个 哨棒 管营 一个
fxsjy / gist:3244607
Created Aug 3, 2012
Simple Memcached server in Javascript with 100 lines of code
View gist:3244607
/* Simple Memcached in Javascript
* @Author: Sun, Junyi
* @Email:
* @Date: 2012-8-3
var net = require('net');
var store = {}
function handle_header(header,crlf_len){
var tup = header.split(" ")
fxsjy / gist:0a6eb19f15e014b3f287c3e20ab70154
Last active Nov 24, 2020
Game simulator: two teams change seats
View gist:0a6eb19f15e014b3f287c3e20ab70154
#!/bin/env python
from turtle import *
N = 5 #how may seats each side
Positions = list(range(N*2+1))
Positions[N] = None #empty place
AllXY = {N:(100,280)}
fxsjy / gist:3291755
Last active Jan 9, 2021
Memcached in JavaScript based on Node.JS
View gist:3291755
//author: Sun, Junyi (
//usage: node --nouse-idle-notification --expose-gc --max-old-space-size=8192 memcached.js
var config ={
port: 11211,
max_memory: 300 // default 100M bytes
var net = require('net');
var LRU = function (max) { // this LRU implementaion is based on
fxsjy / gist:5574345
Last active Oct 13, 2021
mnist with sklearn
View gist:5574345
import numpy
import random
from numpy import arange
#from classification import *
from sklearn import metrics
from sklearn.datasets import fetch_mldata
from sklearn.ensemble import RandomForestClassifier
from sklearn.utils import shuffle
import time
fxsjy / contracts...Heros.sol
Created Dec 24, 2021
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at
View contracts...Heros.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;
import "./Erc721.sol";
import "./Utils.sol";
contract WaterMargin is ERC721Enumerable, ReentrancyGuard, Ownable {
mapping(uint256 => string) heroNames;
uint256 lastTokenId;
uint256 seed;
fxsjy / README.txt
Created Jan 27, 2022
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at
View README.txt
Remix example project is present when Remix loads very first time or there are no files existing in the File Explorer.
It contains 3 directories:
1. 'contracts': Holds three contracts with different complexity level, denoted with number prefix in file name.
2. 'scripts': Holds two scripts to deploy a contract. It is explained below.
3. 'tests': Contains one test file for 'Ballot' contract with unit tests in Solidity.
fxsjy /
Created Apr 26, 2013
SimpleAuthServer: A SimpleHTTPServer with authentication
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
import sys
import base64
key = ""
class AuthHandler(SimpleHTTPRequestHandler):
''' Main class to present webpages and authentication. '''
def do_HEAD(self):
fxsjy / libevent_multi_worker
Created Jan 20, 2015
libevent multithread worker example
View libevent_multi_worker
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <assert.h>
#include <signal.h>
#include <event2/event.h>
#include <event2/bufferevent.h>
#include <event2/buffer.h>
#include <event2/thread.h>