Skip to content

Instantly share code, notes, and snippets.

View dhcmrlchtdj's full-sized avatar

H11 dhcmrlchtdj

View GitHub Profile
@dhcmrlchtdj
dhcmrlchtdj / logger.js
Last active August 27, 2022 15:07
nginx log in JSON with njs
function logJSON(r) {
const v = r.variables
return JSON.stringify({
time: v.time_iso8601,
id: v.request_id,
latency: Number(v.request_time),
remote: r.remoteAddress,
request: {
http_version: r.httpVersion,
protocol: v.scheme,
// http://www.typescriptlang.org/play/?ssl=1&ssc=1&pln=64&pc=1#code/PTAEjgVQjdMCldF-FQHU0Fxyho+QFAlIN0VBrcoTu1AWaoBD-8gI36DCcoM+BgL2aCwmoELmgIW6DLfoCHmgkP+D6coPRmgAHKDsFg0DKCYDAXdGEDyyoA3lQIAMgMATJgGH-ATdEMuoAEIB7AB4AeAEYBDAM4BTAHyhAMSoadu4wFd9lwFcqgKjlAskZr9OgPpGzMVs9AItQbz9QhUBGHS4pIK09R2dQSUAEI1AfbX8TUxiueSCAWhKgwAG5QAk5QGvlTNyFQEAY0ABLADtjABdDFoBjU1BALE162NrAjEALCMAG50QFQFLjQDZTEb6GQAZ1QE7TBUB75UBTuUBrDVBk4tKMCkA4uVAAa012gBtW0EBpOUBvHwZK5pbgTQd2oO2mQAgVBAMZCABW1AKbmwkAx5EKQBDyvA3qB5ApACvxgD21QA8CqBPu1QPFDkVUKh2gBPAAOfVCoAAvPt2gAnVoAc1AAB9QC0HABbfSmWmE0l9ZJUmn0loMgkYQCf2qi0VJQN1NEUAG6GeldXp8slyzQ5MxCgAUAEoqZZQhq+vLfILqYbjfsnOKwBLYfItS06YYlSqmmrTGbXe6dX1rQATQydABcdv0RsplnZ12ufvlbtphktTn1oYjixjcYcCaC3VyACYk5oU2nQsXM2HDJHkrnFmWK+n9NWQ7XI6FGwcgq1Paqer7iZrWoHfAANGvZ7u200jvpj5KT6d1qM9+14gnJjqgABmAEZIxaKdbGwAGVA77F74vH7VW0A22OgADkr+35d37VMHSPWsDIVbyvL9sR-Do7wAx9D1ADAABV+TfE9clfZpjDZK5QBMYwmgZFpDH0a4+naTRQAXJCHycD8txAtobwAZnvFtTyfLM1wbW140Ta99wAFiYgNHz1Niu1yRsuM-OiyN-dpGP9VNAOpPdeNo78ZP4+S02g+jYLABDNVfZMA1CVCmnQlp
@dhcmrlchtdj
dhcmrlchtdj / proxy.ts
Last active November 18, 2017 06:13
HTTP proxy in typescript. client --HTTP_PROXY--> local_proxy --HTTP_PROXY--> remote_proxy --> server
import * as HTTP from 'http';
import * as URL from 'url';
import * as NET from 'net';
import * as ProxyAgent from 'proxy-agent';
export function createProxy(proxyURL: string): HTTP.Server {
const agent: HTTP.Agent = new ProxyAgent(proxyURL);
const proxyURLObj = URL.parse(proxyURL);
const proxyServer = new HTTP.Server();
@dhcmrlchtdj
dhcmrlchtdj / hackerrank_helper.ml
Last active May 27, 2018 04:06
OCaml helper for hackerrank
(* $ ocaml str.cma template.ml *)
module H = struct
module P = Pervasives
let split s : string list = Str.split (Str.regexp " +") s
let seq len = Array.make len 0 |> Array.to_list
let rint () : int = P.read_int ()
@dhcmrlchtdj
dhcmrlchtdj / kernel.log
Created January 11, 2017 07:37
leap second
Jan 1 07:59:59 hostname kernel: Clock: inserting leap second 23:59:60 UTC
@dhcmrlchtdj
dhcmrlchtdj / yarn_node_lts.sh
Last active January 17, 2017 09:43
yarn && node@6
$ ### install
$ brew install yarn
🍺 /usr/local/Cellar/node/7.4.0: 4,129 files, 46.3M
🍺 /usr/local/Cellar/yarn/0.18.1: 5,639 files, 18.2M
$ brew unlink node
Unlinking /usr/local/Cellar/node/7.4.0... 7 symlinks removed
$ brew install node@6
@dhcmrlchtdj
dhcmrlchtdj / vimrc.vim
Last active November 14, 2017 20:30
vimrc for ocaml/reason. (deoplete + merlin)
filetype plugin indent off
let g:dein#types#git#clone_depth = 1
set runtimepath+=~/.config/nvim/bundle/repos/github.com/Shougo/dein.vim/
call dein#begin(expand('~/.config/nvim/bundle'))
call dein#add('Shougo/dein.vim')
call dein#add('Shougo/deoplete.nvim')
let g:deoplete#enable_at_startup = 1
let g:deoplete#file#enable_buffer_path = 1

𝐀 | 𝐁 | 𝐂 | 𝐃 | 𝐄 | 𝐅 | 𝐆 | 𝐇 | 𝐈 | 𝐉 | 𝐊 | 𝐋 | 𝐌 | 𝐍 | 𝐎 | 𝐏 | 𝐐 | 𝐑 | 𝐒 | 𝐓 | 𝐔 | 𝐕 | 𝐖 | 𝐗 | 𝐘 | 𝐙

𝐚 | 𝐛 | 𝐜 | 𝐝 | 𝐞 | 𝐟 | 𝐠 | 𝐡 | 𝐢 | 𝐣 | 𝐤 | 𝐥 | 𝐦 | 𝐧 | 𝐨 | 𝐩 | 𝐪 | 𝐫 | 𝐬 | 𝐭 | 𝐮 | 𝐯 | 𝐰 | 𝐱 | 𝐲 | 𝐳

𝐴 | 𝐵 | 𝐶 | 𝐷 | 𝐸 | 𝐹 | 𝐺 | 𝐻 | 𝐼 | 𝐽 | 𝐾 | 𝐿 | 𝑀 | 𝑁 | 𝑂 | 𝑃 | 𝑄 | 𝑅 | 𝑆 | 𝑇 | 𝑈 | 𝑉 | 𝑊 | 𝑋 | 𝑌 | 𝑍

𝑎 | 𝑏 | 𝑐 | 𝑑 | 𝑒 | 𝑓 | 𝑔 | 𝑖 | 𝑗 | 𝑘 | 𝑙 | 𝑚 | 𝑛 | 𝑜 | 𝑝 | 𝑞 | 𝑟 | 𝑠 | 𝑡 | 𝑢 | 𝑣 | 𝑤 | 𝑥 | 𝑦 | 𝑧 | 𝚤 | 𝚥

𝑨 | 𝑩 | 𝑪 | 𝑫 | 𝑬 | 𝑭 | 𝑮 | 𝑯 | 𝑰 | 𝑱 | 𝑲 | 𝑳 | 𝑴 | 𝑵 | 𝑶 | 𝑷 | 𝑸 | 𝑹 | 𝑺 | 𝑻 | 𝑼 | 𝑽 | 𝑾 | 𝑿 | 𝒀 | 𝒁

@dhcmrlchtdj
dhcmrlchtdj / fstab
Last active September 28, 2016 08:14
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
none /dev/pts devpts defaults 0 0
none /dev/shm tmpfs defaults 0 0
#/dev/cdrom /media/cd auto ro,user,noauto,unhide 0 0
#/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0
#/dev/fd0 /media/fl auto user,noauto 0 0
# forward f port remote-port remote-host
# forward c port remote-port remote-host
forward() {
case "$1" in
"f") ssh -v -O forward -R $3:localhost:$2 $4 ;;
"c") ssh -v -O cancel -R $3:localhost:$2 $4 ;;
esac
}