Skip to content

Instantly share code, notes, and snippets.

View alexsunxl's full-sized avatar

alex 孙欣乐 alexsunxl

  • GuangDong ShenZhen
View GitHub Profile
@alexsunxl
alexsunxl / emacs.bat
Created January 18, 2020 14:13
window sub linux emacs 启动bat
@ECHO OFF
SET status=1
(TASKLIST|FIND /I "vcxsrv.exe"||SET status=0) 2>nul 1>nul
ECHO %status%
IF %status% EQU 1 (ECHO vcxsrv is running.) ELSE (start config.xlaunch)
bash -c "export DISPLAY=localhost:0.0; xset r rate 160 38;export LC_CTYPE=zh_CN.UTF-8; export LANG=zh_CN.UTF-8; export LC_ALL=zh_CN.UTF-8; export GTK_IM_MODULE=fcitx; export QT_IM_MODULE=fcitx; export XMODIFIERS=fcitx; emacs;"
@alexsunxl
alexsunxl / logger.js
Created July 2, 2019 04:40
winstonjs logger show caller line number
const winston = require('winston')
const { combine, timestamp, label, printf } = winston.format;
const moment = require('moment')
const path = require('path')
const PROJECT_ROOT = path.join(__dirname, '..')
const myFormat = printf(info => {
const ds = moment(info.timestamp).format('YYYY-MM-DD HH:mm:ss')
return `[${ds}] [${info.level}] ${info.message}`
@alexsunxl
alexsunxl / mysql.sh
Created March 27, 2019 11:08
Install MySQL 8.0 on CentOS 7
su
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
systemctl enable mysqld
systemctl start mysqld
grep 'temporary password' /var/log/mysqld.log
@alexsunxl
alexsunxl / index.js Capture DOM element screenshot using Chrome headless
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// Adjustments particular to this page to ensure we hit desktop breakpoint.
page.setViewport({width: 1000, height: 600, deviceScaleFactor: 1});
await page.goto('https://www.chromestatus.com/samples', {waitUntil: 'networkidle'});
@alexsunxl
alexsunxl / ECDSA-secp256k1-example.java
Created August 1, 2018 08:55 — forked from nakov/ECDSA-secp256k1-example.java
ECDSA with secp256k1 in Java: generate ECC keys, sign, verify
import org.bouncycastle.util.encoders.Hex;
import org.web3j.crypto.*;
import java.math.BigInteger;
public class ECCExample {
public static String compressPubKey(BigInteger pubKey) {
String pubKeyYPrefix = pubKey.testBit(0) ? "03" : "02";
String pubKeyHex = pubKey.toString(16);
String pubKeyX = pubKeyHex.substring(0, 64);
@alexsunxl
alexsunxl / md5-example.go
Created May 15, 2017 03:21 — forked from sergiotapia/md5-example.go
Golang - How to hash a string using MD5.
import (
"crypto/md5"
"encoding/hex"
)
func GetMD5Hash(text string) string {
hasher := md5.New()
hasher.Write([]byte(text))
return hex.EncodeToString(hasher.Sum(nil))
}
@alexsunxl
alexsunxl / category.php
Last active February 28, 2017 10:30
php 无限级分类,获得树形数组
<?php
// ...
public static function getCategory($pid = 0){
$tmp = Category::where('pid', $pid)->get()->toArray();
$category = [];
if (count($tmp) != 0){
foreach ($tmp as $key => $value){
// 通过递归处理获得子类
from pyquery import PyQuery
doc = PyQuery('<div><span>toto</span><span>tata</span></div>')
print doc.text() # => toto tata
@alexsunxl
alexsunxl / tools.js
Last active September 27, 2017 05:42
react+mobx的项目辅助工具, 用于快速 创建组件和store, 载入组件,添加路由
#!/usr/bin/env node --harmony-async-await
const program = require('commander')
const chalk = require('chalk')
const fs = require('fs')
const path = require('path')
const ll = console.log.bind(console)
const llr = (...arg) => console.log(chalk.red(...arg))