Skip to content

Instantly share code, notes, and snippets.

@kwatch
kwatch / matching.py
Created September 15, 2014 11:07
Implementation of re.matching()
# -*- coding: utf-8 -*-
import re
class matching(object):
def __init__(self, string):
self.string = string
self.matched = None
@kwatch
kwatch / postgresql-book-fix.yaml
Last active May 27, 2017 04:53
書籍『内部構造から学ぶPostgreSQL - 設計・運用計画の鉄則』の気付いた点
# -*- coding: utf-8 -*-
- page: 55
text: "暗号化したパスワード文字列を送信する「md5」方式"
comment: MD5 はハッシュ値を計算するだけであり、暗号化するわけではないのでは?
- page: 69
item: 表4-3
text: "同時に実行されている他のトランザクションが書き込んでいるがコミットされていないデータを読み込んでしまう"
comment: "同時に実行されている他のトランザクションが、書き込んでいるがコミットされていないデータを読み込んでしまう"
@kwatch
kwatch / gist:4ca709d9df898a3473e4
Last active August 29, 2015 14:13
関数 sum() を、ループと、再帰と、末尾再帰でそれぞれ書いたサンプルコード(Python)。末尾再帰のわかりにくさが目立つ。
## ループ
def sum(xs):
t = 0
for x in xs:
t += x
return t
## 再帰呼び出し
def sum(xs):
if not xs:
@kwatch
kwatch / example.php
Created February 14, 2015 02:47
HTMLテンプレートにどんな変数を渡したかをわかりやすくするための工夫 in PHP
###
### templating.php
###
<?php
function h($str) {
return htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
}
function print_template($template_filename, $vars) { ## テンプレートへの値は連想配列$varsで渡す
@kwatch
kwatch / calendar1.py
Created February 27, 2015 04:17
1ヶ月分のカレンダーを表示する(その1)
# -*- coding: utf-8 -*-
import sys
try:
xrange
except NameError:
xrange = range
@kwatch
kwatch / calendar2.py
Last active August 29, 2015 14:16
1ヶ月分のカレンダーを表示する(その2)
# -*- coding: utf-8 -*-
import sys
try:
xrange
except NameError:
xrange = range
# -*- coding: utf-8 -*-
import re, random
from sqlalchemy.exc import IntegrityError
from smapo.common.models.event import EventOperation
from smapo.common.models.base import (
DBSession, RedirectPage, RedirectUniqueCode, UserActionHistory,
)
@kwatch
kwatch / gist:fe96d6c13cd3c7d12c89
Last active August 29, 2015 14:23
SQLAlchemyで、条件を動的に追加するときの書き方
##
## SQLAlchemyで、条件を動的に追加するときの書き方
##
##
## before
##
q = db.query(Model) \
.filter(Model.created_at >= date(2015, 6, 1)
if kind:
@kwatch
kwatch / dom.js
Created August 17, 2015 14:45
very small DOM builder using wabi-sabi style
/// # -*- coding: utf-8 -*-
///
/// very small DOM builder using wabi-sabi style
///
/// Example:
///
/// var a = dom(["a", {href: "/link"}, "Link"]);
/// console.log(a);
/// //=> <a href="/link">Link</a>
@kwatch
kwatch / template_manager.py
Created September 5, 2015 03:01
テンプレートオブジェクトをキャッシュするサンプルコード
# -*- coding: utf-8 -*-
###
### テンプレートオブジェクトをキャッシュするサンプルコード
###
from os.path import getmtime
class TemplateError(Exception):