Skip to content

Instantly share code, notes, and snippets.

View zhangysh1995's full-sized avatar
🤣
I have a 150-star repo now!

Yushan zhangysh1995

🤣
I have a 150-star repo now!
View GitHub Profile
set cursorline
"set number
syntax enable
"" gtags
""" Install gtags, global, cscope
""" Run in vim: `cs add GTAG` under the source dir
let GtagsCscope_Auto_Load = 1
let CtagsCscope_Auto_Map = 1
let GtagsCscope_Quiet = 1
@zhangysh1995
zhangysh1995 / mvcc_mysql
Created February 26, 2021 13:01
mvcc_mysql_exmaple
---- create table
drop table if exists t0;
create table t0 (
pk int primary key,
col0 int,
col1 int
);
insert into t0 values (0,1,2), (1,2,3);
@zhangysh1995
zhangysh1995 / 下载zoom录像.txt
Created September 28, 2020 05:26
如何使用浏览器下载课程录像
1. 打开 Chrome 浏览器
2. 打开安装 Chrome 扩展页面
3. 安装 Zoom下载 扩展 https://chrome.google.com/webstore/detail/zoom-recording-video-down/ehioimgmdbbkmbbimfjcdmonjnjjhgng
4. 安装 解锁右键 扩展 https://chrome.google.com/webstore/detail/enable-right-click/bofdamlbkfkjnecfjbhpncokfalmmbii
5. 登录 Canvas 并打开 Previous Meeting 上课录像 (或打开其他录像链接)
6. 右上角找到鼠标形状的扩展按钮,点击一下,再点 Enable Right Click
7. Ctrl+R 刷新页面
8. 可以看到左下角蓝色的提示,在上面点右键,选择 将链接另存为
9. 愉快的下载看课程了~
@zhangysh1995
zhangysh1995 / sqlparse.py
Created July 13, 2020 08:11
How To Use moz_sql_parser
from moz_sql_parser import parse
import json
def makeSpace(char, depth, end=''):
return char * depth
def walk(node, depth, flag=0, char = ' '):
if isinstance(node, dict):
print()
for index, (key, item) in enumerate(node.items()):
@zhangysh1995
zhangysh1995 / deadlock-detection.md
Created December 27, 2019 08:22 — forked from shantanusingh/deadlock-detection.md
Debugging Deadlocks in PostgreSQL

Queries For Deadlock Detection

select pg_class.relname,pg_locks.* from pg_class,pg_locks where pg_class.relfilenode=pg_locks.relation;

select * from pg_locks;

select * from pg_locks where granted = 'f' //the query that is waiting
select * from pg_locks where transactionid = 'xx' // queries running in a transaction
select * from pg_stat_activity

@zhangysh1995
zhangysh1995 / llvmliteBasics.py
Created November 2, 2018 13:01
llvmlite bacsic usage
import sys
from llvmlite import binding as bd
from llvmlite import ir
# read bc / ir file
bc = sys.argv[1]
with open(bc, 'r', encoding="latin-1") as mybc:
program = mybc.read()
@zhangysh1995
zhangysh1995 / llvmliteBasics.py
Created November 2, 2018 13:01
llvmlite basic usage
import sys
from llvmlite import binding as bd
from llvmlite import ir
# read bc / ir file
bc = sys.argv[1]
with open(bc, 'r', encoding="latin-1") as mybc:
program = mybc.read()
@zhangysh1995
zhangysh1995 / llvmliteBasics.py
Created November 2, 2018 13:01
llvmlite bacsic usage
import sys
from llvmlite import binding as bd
from llvmlite import ir
# read bc / ir file
bc = sys.argv[1]
with open(bc, 'r', encoding="latin-1") as mybc:
program = mybc.read()
@zhangysh1995
zhangysh1995 / defense_sql_injection_java.java
Last active June 28, 2018 10:44
Defense SQL Injection in Java
/**
these code are from WebGoat by OWASP:
Link: WebGoat/start.mvc#lesson/SqlInjectionMitigations.lesson/
**/
// parameterized queries
/**
First version
**/
@zhangysh1995
zhangysh1995 / DockerfileJava
Last active March 12, 2018 09:02
A Dockerfile to test Java project build
#
# This is an image to test building your projects,
# which may use Maven or Gradle
#
# basic info
FROM ubuntu:xenial-20180123
MAINTAINER Yushan Zhang <zhangysh1995@gmail.com>
# software management