Skip to content

Instantly share code, notes, and snippets.

@ahjdzx
ahjdzx / install-tmux.sh
Created September 21, 2024 13:46 — forked from pokev25/install-tmux.sh
Install tmux 2.8 on centos 7
# Install tmux 2.8 on Centos
# install deps
yum install gcc kernel-devel make ncurses-devel
# cd src
cd /usr/local/src
# DOWNLOAD SOURCES FOR LIBEVENT AND MAKE AND INSTALL
curl -LO https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
@ahjdzx
ahjdzx / logger.py
Created March 7, 2023 05:23 — forked from nkhitrov/logger.py
Configure uvicorn logs with loguru for FastAPI
"""Configure handlers and formats for application loggers."""
import logging
import sys
from pprint import pformat
# if you dont like imports of private modules
# you can move it to typing.py module
from loguru import logger
from loguru._defaults import LOGURU_FORMAT
@ahjdzx
ahjdzx / MyBenchmark.java
Created January 11, 2023 06:01 — forked from lotabout/MyBenchmark.java
CompletableFuture.supplyAsync profile
package me.lotabout;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
@ahjdzx
ahjdzx / FizzBuzzWhizz.js
Created January 25, 2021 02:22
FizzBuzzWhizz
function game(a, b, c) {
for (var i = 1, s = ''; i <= 100; i++) {
s = (i + '').indexOf(a) >= 0 ? 'Fizz' :
(i % a ? '' : 'Fizz') + (i % b ? '' : 'Buzz') + (i % c ? '' : 'Whizz');
console.log(s || i);
};
}
@ahjdzx
ahjdzx / goodluck.js
Created January 25, 2021 02:21
生成给定概率的随机对象
/*obj 概率对象数组;
luck 概率数组,即obj数组元素意义对应;
对于给定的概率对象,该函数可简化如下:
var a = ['一等奖:宝马X6', '二等奖:苹果三件套', '三等奖:威戈背包', '继续努力!'];
var b = [1, 10, 100, 500];
function goodluck(a, b) {
var random = (1 + 10 + 100 + 500) * Math.random();
if(random <= 500) return a[3];
else if(random <= 600) return a[2];
@ahjdzx
ahjdzx / install-tmux.sh
Created October 10, 2020 03:49 — forked from j3j3k/install-tmux.sh
Install tmux 2.8 on centos 7
# Install tmux 2.8 on Centos
# install deps
yum install gcc kernel-devel make ncurses-devel
# DOWNLOAD SOURCES FOR LIBEVENT AND MAKE AND INSTALL
curl -LOk https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz
tar xf libevent-2.1.10-stable.tar.gz
cd libevent-2.1.10-stable
./configure --prefix=/usr/local
@ahjdzx
ahjdzx / latency.markdown
Created January 20, 2019 08:02 — forked from hellerbarde/latency.markdown
Latency numbers every programmer should know

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs

@ahjdzx
ahjdzx / mmap_demo.go
Created October 7, 2018 23:33 — forked from linkerlin/mmap_demo.go
A demo of mmap for Go
package main
import (
"bytes"
"encoding/binary"
"os"
"sync"
"fmt"
"math/rand"
"path/filepath"
@ahjdzx
ahjdzx / bbr+ssr.md
Created September 22, 2018 09:45 — forked from hellokaton/bbr+ssr.md

安装 BBR

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/bbr.sh && chmod +x bbr.sh && bash bbr.sh

使用方法

# 启动BBR

ShadowsocksR 协议插件文档


概要

用于方便地产生各种协议接口。实现为在原来的协议外套一层编码和解码接口,不但可以伪装成其它协议流量,还可以把原协议转换为其它协议进行兼容或完善(但目前接口功能还没有写完,目前还在测试完善中),需要服务端与客户端配置相同的协议插件。插件共分为两类,包括混淆插件和协议定义插件。

现有插件介绍

1.混淆插件