Skip to content

Instantly share code, notes, and snippets.

View tabjy's full-sized avatar
🖐️
🐟

Kangcheng Xu tabjy

🖐️
🐟
View GitHub Profile
$if2($if2(%albumartist%,%artist%),Various Artists)/
$if($year(%date%),$year(%date%) - ,)$if(%albumartist%,%album%/,)
$if($gt(%totaldiscs%,1),$if($gt(%totaldiscs%,9),$num(%discnumber%,2),%discnumber%)-,)$if($and(%albumartist%,%tracknumber%),$num(%tracknumber%,2) - ,)%title%
@tabjy
tabjy / ws.js
Created March 11, 2021 00:31
WebSocket from scratch. In Node.js
const http = require('http')
const crypto = require('crypto')
const server = http.createServer((req, res) => {
console.log('got request', req.url)
res.writeHead(200, { 'Content-Type': 'text/plain' })
res.end('okay')
})
server.on('upgrade', function (req, socket) {
@tabjy
tabjy / in-browser-console-es5.js
Last active February 20, 2020 15:23
A basic REPL
"use strict";
function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } }
(function () {
var write = function write(content) {
output.value += content;
output.scrollTop = output.scrollHeight;
};
const svg = document.querySelectorAll('#chart svg')[0]
const width = svg.getAttribute("width")
const height = svg.getAttribute("height")
const image = new Image()
image.setAttribute("width", width)
image.setAttribute("height", height)
const clone = svg.cloneNode(true)
const svg = document.querySelectorAll('#chart svg')[0]
const width = svg.getAttribute("width")
const height = svg.getAttribute("height")
const image = new Image()
image.setAttribute("width", width)
image.setAttribute("height", height)
const clone = svg.cloneNode(true)
package org.openjdk.jmc.agent.util;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
package org.openjdk.jmc.agent.util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
// polyfill for pre-11 nest-based access control
public class NestBasedAccess {
private static int bar = 42;
@tabjy
tabjy / java_11.txt
Last active November 20, 2019 15:33
pre java 11 bridge method for nested access
Classfile /home/kxu/Documents/github.com/tabjy/java-snippets/target/classes/com/tabjy/snippets/asm/path_syntax_evaluation/Pojo.class
Last modified Nov 20, 2019; size 800 bytes
MD5 checksum ce2027f5c28d4f1634e8c67ef84efd97
Compiled from "Pojo.java"
public class com.tabjy.snippets.asm.path_syntax_evaluation.Pojo
minor version: 0
major version: 55
flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: #9 // com/tabjy/snippets/asm/path_syntax_evaluation/Pojo
super_class: #10 // java/lang/Object
import the_package.MyObject;
import the_package.OtherObject;
import the_package.SubMyObject;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Objects;
@tabjy
tabjy / 163-uwp.json
Created September 5, 2019 16:50
Dockerfile for Netease music reverse proxy
{"code":200,"uwp":1}