Skip to content

Instantly share code, notes, and snippets.

View shimizukawa's full-sized avatar

Takayuki SHIMIZUKAWA shimizukawa

View GitHub Profile
@shimizukawa
shimizukawa / dateex.py
Created April 6, 2012 01:47
日付計算を楽にできるかも
# -*- coding: utf-8 -*-
from datetime import date, timedelta
from calendar import monthrange
__all__ = ['DateEx',]
class DateEx(date):
"""
>>> d = DateEx(2012, 1, 31)
>>> d
@shimizukawa
shimizukawa / gist:2352071
Created April 10, 2012 15:17
エキPy読書会2nd #5 スクリーン
$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> class Foo(object):
... def __init__(self, name):
... self.name = name
...
...
...
@shimizukawa
shimizukawa / bpbook.js
Created April 13, 2012 09:27
bpbook insert into bphomepage
javascript:var s=document.createElement('script');s.setAttribute('src','http://jquery.com/src/jquery-latest.js');document.getElementsByTagName('body')[0].appendChild(s);void(s);setTimeout(function(){$('#content').append($('<div id="bpbook">').append($('<h1>').text('Pythonプロフェッショナルプログラミング')).append($('<h2>').text('ビープラウド著')).append($('<img src="http://ecx.images-amazon.com/images/I/41S7NMaxeIL._SL210_.jpg" />').css('float','left').css('margin','0.5em')).append($('<p>').append($('<img src="http://www.beproud.jp/tw/haru860">').css('float','left').css('margin','2px')).append($('<span>').text('本書は、プロフェッショナル集団であるビープラウドの活動から生まれました。ここには、日々の楽しい仕事を通じて蓄積された、貴重なノウハウがあります。 ――株式会社ビープラウド代表取締役社長・佐藤治夫')).append($('<br>')).append($('<br>'))).append($('<p>').text('Pythonを使ったアプリケーション開発のリアルな手法を学ぶプログラミングガイドブックです。個人の開発環境を改善したい人、チームの開発を改善したい人、仕事でつかえるPython環境系のためにノウハウを学びたい人を対象に、Pythonの共有環境の構築と管理、チケット駆動開発、ソースコード管理(Mercurial)、PyPlパッケージング、Jenkinsで継続的インテグレーション、パフォーマンス向上(nginxとgunicorn)、GAE開発、Djangoフレームワークなど実践的なノウハウを解説。')).append($('<div>
@shimizukawa
shimizukawa / Makefile
Created April 14, 2012 03:58
sphinxのMakefileをPython化 (作りかけ4/14バージョン) あるいはmake.pyをどこまでMakefile的に書けるかの実験
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
PYTHON = python
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
help:
$(PYTHON) make.py help
@shimizukawa
shimizukawa / gist:2468578
Created April 23, 2012 03:06
Sphinxの*.doctreeファイルの内容を表示するコマンド。index.doctreeの場合。
$ python -c "print __import__('docutils.writers').writers.get_writer_class('pseudoxml')().write(__import__('pickle').load(open(__import__('sys').argv[1],'rb')), __import__('docutils.io').io.StringOutput(encoding='utf-8'))" index.doctree
@shimizukawa
shimizukawa / conf.py
Created April 24, 2012 15:06
Sphinxのnull builder。conf.pyに追記して使う。
from sphinx.builders import Builder
class NullBuilder(Builder):
name = 'null'
def get_target_uri(self, docname, typ=None):
return ''
def get_outdated_docs(self):
"""毎回全てのrstを処理対象にしたい場合は、以下を参考にこのメソッドを実装。
@shimizukawa
shimizukawa / PIL_build.rst
Last active October 4, 2015 21:08
PIL (Pillow) のビルド手順。書きかけ

PILをWindowsでビルドする(32bit編)

Windows版のPILをビルドするには、いくつかの外部ライブラリを用意する必要が有りますが、各外部ライブラリのWindows向け静的リンク版は提供されていないことが多いので、これらも自分でビルドします。また、PILは最終的にPythonからロードされるため、コンパイラは利用するPythonをビルドしたものと同じにしておく必要があります。

使用したライブラリ・バージョン等

今回コンパイルの対象としたPILは以下のバージョンです。

@shimizukawa
shimizukawa / foo.py
Created June 9, 2012 03:12
clime sample code
def foo(name, age=10):
print "{0} is {1} years old.".format(name, age)
import clime.now # this NEED to place here
@shimizukawa
shimizukawa / meigen.py
Created June 9, 2012 07:56
Twitterのつぶやきをランダムに表示するだけの能力
>>> import json
>>> import urllib
>>> import random
>>> def meigen(name):
... url = urllib.urlopen('http://twitter.com/statuses/user_timeline/%s.json' % name)
... return random.choice(json.loads(url.read()))['text']
...
>>> print meigen('atsuoishimoto')
「妻に支えられてるふりをする技術」
@shimizukawa
shimizukawa / gist:3161518
Created July 23, 2012 00:45
FreeBSDでSSLサーバー鍵生成(俺俺証明書)したときの手順メモ
まず鍵を置くディレクトリを作成
porsche# cd /usr/local/etc/apache2
porsche# mkdir ssl.key ssl.crt
porsche# chmod 700 ssl.key ssl.crt
鍵の作成
porsche# openssl genrsa -out ssl.key/server.key 1024
Generating RSA private key, 1024 bit long modulus