Skip to content

Instantly share code, notes, and snippets.

View jizhang's full-sized avatar

Jerry jizhang

View GitHub Profile
@jizhang
jizhang / rows_to_list.py
Last active July 12, 2023 02:44
SQLAlchemy result serialization
from typing import Any, Iterable, List, Dict
from decimal import Decimal
from datetime import datetime
from sqlalchemy import Row
from sqlalchemy.orm import DeclarativeMeta
def row_to_dict(row) -> dict:
if isinstance(row, Row):
def import_submodules(package) -> None:
package = importlib.import_module(package)
for _, name, is_pkg in pkgutil.iter_modules(package.__path__):
full_name = package.__name__ + '.' + name
if is_pkg:
import_submodules(full_name)
else:
importlib.import_module(full_name)
@jizhang
jizhang / md5.clj
Created December 18, 2012 07:14
Clojure - Calculate MD5 hash of a given string.
(import 'java.security.MessageDigest
'java.math.BigInteger)
(defn md5 [s]
(let [algorithm (MessageDigest/getInstance "MD5")
size (* 2 (.getDigestLength algorithm))
raw (.digest algorithm (.getBytes s))
sig (.toString (BigInteger. 1 raw) 16)
padding (apply str (repeat (- size (count sig)) "0"))]
(str padding sig)))
@jizhang
jizhang / server.py
Created March 22, 2017 09:39
Log Tailer with WebSocket and Python
# -*- coding: utf-8 -*-
import time
import os.path
import asyncio
import logging
import argparse
import websockets
from collections import deque
from urllib.parse import urlparse, parse_qs
alias gl='git log --graph --pretty=format:'\''%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\'' --abbrev-commit --date=relative'
@jizhang
jizhang / csdn.py
Created August 9, 2017 22:21
Crawl CSDN Blog's Page Views
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
import urllib2
import datetime
html = urllib2.urlopen('http://blog.csdn.net/zjerryj').read()
mo = re.search(r'访问:<span>(\d+)次</span>', html)

xx项目

项目目标

本周进展(yyyy-mm-dd)

里程碑及产出

@jizhang
jizhang / config
Last active January 3, 2017 12:40
GFW
# Linux
Host github.com
ProxyCommand socat STDIO PROXY:192.168.1.101:%h:%p,proxyport=8118
# Mac
Host github.com
ProxyCommand nc -X 5 -x 127.0.0.1:1086 %h %p
ServerAliveInterval 10
@jizhang
jizhang / pom-package-plugin.xml
Last active December 25, 2015 13:59
A sample Maven configuration for packaging. I usually use assembly, but when it comes to spring framework, you have to use shade.
<!-- project / build / plugins/ plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
@jizhang
jizhang / log4j.properties
Created September 25, 2013 01:20
basic log4j.properties
# Root logger option
log4j.rootLogger=INFO, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %-5p %c{1} - %m%n