Skip to content

Instantly share code, notes, and snippets.

View hackerain's full-sized avatar
😀
I may be slow to respond.

Guangyu Suo hackerain

😀
I may be slow to respond.
View GitHub Profile
@hackerain
hackerain / gist:6b12f383ab5bc8bbfb97
Created May 15, 2014 13:45
python中的单例模式
class HorizonSite(Site):
_instance = None # 静态私有变量是关键
def __new__(cls, *args, **kwargs):
if not _instance:
cls._instance = super(Site).__new__(cls, *args, **kwargs)
return cls._instance
@hackerain
hackerain / gist:fe59367ed6d8b61bd066
Last active August 29, 2015 14:01
快速获得某一个类所在的Module
>>> '.'.join('suo.piao.xxx'.split('.')[:-1])
>>> 'suo.piao'
先按“点”分隔开,得到list,舍去最后一个,再用join将这个list连接起来,用到类中,就是这样的:
>>> '.'.join(self.__module__.split('.')[:-1])
@hackerain
hackerain / gist:620f5f71cc25f642b631
Last active August 29, 2015 14:01
控制程序的执行时间
from __future__ import with_statement # Required in 2.5
import signal
from contextlib import contextmanager
class TimeoutException(Exception): pass
@contextmanager
def time_limit(seconds):
def signal_handler(signum, frame):
raise TimeoutException, "Timed out!"
@hackerain
hackerain / jenkins_dockerfile
Last active August 25, 2018 10:39
jenkins dockerfile integerated hexo and security key
FROM jenkins:latest
USER root
RUN apt-get update
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - && apt-get install -yq nodejs build-essential
RUN npm install -g hexo-cli
RUN echo "Host *\n\tStrictHostKeyChecking no\n" >> /etc/ssh/ssh_config
@hackerain
hackerain / jenkins.sh
Last active December 1, 2016 17:00
jenkins deploy hexo blog
if [ -d hackerain.me ]; then
cd hackerain.me
git pull && git submodule foreach git pull origin master
if [ ! -d node_modules ]; then
npm install --save;
fi
else
git clone git@git.oschina.net:yugsuo/hackerain.me.git --recursive
cd hackerain.me
npm install --save
@hackerain
hackerain / Dockerfile
Last active April 18, 2019 08:20
A python script implement a POST http method to recive webhook from github or gitchina
FROM python:2
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "uwsgi", "--http", ":8001", "--wsgi-file", "deploy_blog.py" ]
@hackerain
hackerain / e
Last active July 16, 2017 02:14
A shell script to login server quickly
#!/bin/bash
PORT=22
USER='root'
if [ $# = 1 ]; then
case $1 in
"sss")
IP="54.238.233.187"
USER="ubuntu"
#!/usr/bin/env python
import pika
import time
channel = None
def on_connected(connection):
connection.channel(on_channel_open)
def on_channel_open(new_channel):
@hackerain
hackerain / test_rgw.html
Created February 13, 2019 03:37
javascript with ceph rgw
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.283.1.min.js"></script>
<script>
var s3 = new AWS.S3({
endpoint: "https://console.tfcloud.com:13808",
accessKeyId: "accesskeyid",
secretAccessKey: "secretaccesskey",
@hackerain
hackerain / resource_report.py
Last active April 23, 2019 09:19
openstack资源报表,适用于N版往上的版本
# -*- coding: utf-8 -*-
import json
import requests
import datetime
import subprocess
import xml.etree.ElementTree as ET
from keystoneauth1.identity import v3
from keystoneauth1 import session as keystone_session