Skip to content

Instantly share code, notes, and snippets.

View curry.js
// https://hackernoon.com/currying-in-js-d9ddc64f162e
function curry1(fn) {
function nest(N, args) {
return (...xs) => {
if (N - xs.length === 0) {
return fn(...args, ...xs);
}
return nest(N - xs.length, [...args, ...xs]);
};
View dfs.py
def traverse(root):
stack, ret = [root], []
while stack:
cur = stack.pop()
if isinstance(cur, Node):
# stack.extend([cur.right, cur.left, cur.val]) # <- 前序遍历
# stack.extend([cur.right, cur.val, cur.left]) # <- 中序遍历
stack.extend([cur.val, cur.right, cur.left]) # <- 后序遍历
elif isinstance(cur, int):
ret.append(cur)
View 3des.py
from cryptography.hazmat.primitives.ciphers import algorithms, modes, Cipher
from cryptography.hazmat.backends import default_backend
import binascii
# https://github.com/wangyiwy/oktools/blob/133bad6350/static/js/encrypt_des.js
# 参照这个前端网页的Crypto-JS加密结果
# 3DES,ECB,无填充,无iv
# https://www.crypto101.io/
# https://stackoverflow.com/questions/61717485/incorrect-decrypted-string-implemented-using-aes-ecb-nopadding-and-base-64-with
@ficapy
ficapy / ignore_cors.go
Created Dec 22, 2020
用nc接收浏览器请求的时候有跨域OPTION请求无法跳过,写了个替代的小脚本
View ignore_cors.go
package main
import (
"flag"
"fmt"
"github.com/gin-gonic/gin"
"net/http/httputil"
)
func CORS() gin.HandlerFunc {
@ficapy
ficapy / go_csv.go
Created Sep 16, 2020
Python: 60秒 Golang: 3.3秒 Rust: 2.6秒
View go_csv.go
package main
import (
"encoding/csv"
"github.com/mmcloughlin/geohash"
"github.com/suifengtec/gocoord"
"io"
"os"
)
View html_layout.js
let a = []
function _add_empty(node, raw){
// 如果多个标签合并成一个,最低保证合并的时候左右存在空格
function inner(node){
let innertext = node.innerText
if (!innertext){
return
}
let content = innertext.trim()
View full_screen.html
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Holy Grail</title>
<style>
/* some basic styles. nothing to do with flexbox */
header, footer,
nav, article, aside {
border: 1px solid black;
View download_oreilly.md
youtube-dl -v --cookies /Users/ficapy/Downloads/oreilly/cookies.txt -o "Oreilly - %(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "https://learning.oreilly.com/videos/hands-on-systems-programming/9781838822132"  --add-metadata --write-sub --convert-subs srt --sleep-interval 15 --max-sleep-interval 30 | tee $(date +%Y%m%d-%h:%M).log
View proxy.md
@ficapy
ficapy / handle_nested_dict.py
Created May 12, 2020
临时处理ElasticSearch返回的上十级嵌套
View handle_nested_dict.py
class Nested:
def __init__(self, data):
self.data = data
def __getitem__(self, item):
if self.data is None:
return Nested(None)
if isinstance(item, int) and isinstance(self.data, list):
if len(self.data) >= item: