Skip to content

Instantly share code, notes, and snippets.

View jizhang's full-sized avatar

Jerry jizhang

View GitHub Profile

xx项目

项目目标

本周进展(yyyy-mm-dd)

里程碑及产出

@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)
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 / 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
@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)))
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 / 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):