2013-06-01から1ヶ月間の記事一覧
最近button[type=submit]のダブルクリックに関連して調べてたので、underscore.jsのdebounceが使えるかどうか試してみる背景は以下の通りdjangoのFormWizardでstepを「戻る」場合だけ、wizard_goto_stepというパラメータを飛ばしたく、djangoのサンプルテン…
調べてたのメモしておく underscore.jsのdebounceを使うと、関数の実行を遅らせることができる以下の例だと、a.some_classをクリックした500ミリ秒後に関数が実行される。 連続してクリックすると、最後にクリックした時間の500ミリ秒後に1度だけ実行される…
django.contrib.webdesignにlorem ipsumを生成するテンプレートタグが用意されていることを知った。このパッケージには今のところ他に機能はないようだ。settings.py INSTALLED_APPS += ( 'django.contrib.webdesign',) html {% load webdesign %} <h2>lorem 3 p</2>…
formの2重送信防止のため、input[type=submit]やbutton[type=submit]をdisabled=disabledにするような処理をいれると、buttonタグをクリックした場合でもbuttonタグのvalueは飛ばなくなります。submitされる前にdisabledにされるからですね、たぶん。 $("but…
pycharmではdjangoプロジェクト編集中に「Run manage.py Tasks」で、manage.pyを叩けます。 ところが、INSTALLED_APPSに入ってるはずのsouthの「schemamigration」とか「migrate」が出てきません。おかしい。settingは以下のような感じで、Settings->Django …
Pycharm上で新しくdjangoプロジェクトを作ることもできますが、コマンドラインで作成したり、すでに開始しているプロジェクトのリポジトリをチェックアウトしてpycharmで作業するときにやってる手順がいくつかあるのでメモしておく プロジェクトのディレクト…
こんなwarningがログにでてたんですが、django.conf.urls.defaultsを使ってる箇所が見当たらない。 DeprecationWarning: django.conf.urls.defaults is deprecated; use django.conf.urls insteadと思ったらdjango-debug-toolbarが使っていた。debug_toolbar…
ログにwarningが出てた。 BaseException.message has been deprecated as of Python 2.6 該当の箇所をみつけて再現させてみると、Exceptionをinheritしている独自のエラークラスのインスタンスに対して、messageを参照するとこのwarningが出るらしい。 メッ…
以下のformでbuttonをクリックすると、"submit_button"という名前で"button_value"が送信されるはずなんですが、IE7以下だと"button_text"が送信されます。 <form method="POST"> <input type="text" name="text_value"/> <button type="submit" name="submit_button" value="button_value">button_text</button> </form> この例だとbuttonタグを使う意味があまり無いですが、例えばdjangoのformwiza…
春の情報セキュリティスペシャリスト試験、今日の正午に合格発表でした。 合格してました。午後1が結構ダメな印象で午後2は楽勝だと思ってたんですが、フタを開けてみると結果は逆でした。 試験対策にしたことをメモしておく 1日にやる量を決め、ちょっとず…
こちらのエントリを見て、普段使ってるPinboardへのインポートの方法を調べてみました。Google Readerのスター付きアイテムをはてなブックマークへインポートする - memo log Pinboardにimport機能が用意されているので、プログラムを書く必要は無かったです…
普通に+で連結 # coding=utf-8 s = "abc" +\ "def" +\ "ghi" +\ "あいうえお" assert s == "abcdefghiあいうえお" %記法 s = "%s%s%s%s" % ("abc", "def", "ghi", "あいうえお") assert s == "abcdefghiあいうえお" format s = "{0}{1}{2}{3}".format("abc",…
Pycharmにはpep8チェックをやってくれる機能があり、違反しているコードに警告を出すことができる。 設定はsettings->Inspectionsで行う。 こんな感じで警告がでる。 ところが、pep8だと1行は79文字までとなっているにも関わらず、以下のコードで警告がでな…
BCryptPasswordHasher、PBKDF2PasswordHasher、PBKDF2SHA1PasswordHasherが遅い。その他は桁違いに速いが、後方互換性のために実装が用意されているだけで、セキュリティ上使うべきでないとコメントされている。 ## user sys total real PBKDF2PasswordHashe…
Djangoではユーザーのパスワードをハッシュでdbに保存します。django1.3では単純にsalt+sha1でした。 def set_password(self, raw_password): if raw_password is None: self.set_unusable_password() else: import random algo = 'sha1' salt = get_hexdige…
4分程度かかってたテスト実行を速くするためにいろいろやってみたときのメモ まず対応前 $ python manage.py test app --settings=settings.test Creating test database for alias 'default'... .........................................................…
django内からshellを起動してるところでこのようなエラーがでました。 TypeError: execv() arg 2 must contain only strings このような適当なサンプルを実行すると同じエラーは再現する。sample1.py # coding=utf-8 import subprocess args = ["python", "s…
秘密鍵を指定してsshしようとして以下のwarningがでて接続できないという自体に遭遇しました。 $ ssh user@host -i /pass/to/key @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@…
しばらくhg使う仕事してて、またgitのコマンドがわからなくなった。 いつも忘れるので、今日必要になったコマンドをメモしておく。 # ローカルにブランチ作成 git checkout -b hoge # ローカルブランチをリモートにpush git push origin hoge # リモートブラ…
# coding=utf-8 from binascii import hexlify import M2Crypto from M2Crypto.EVP import MessageDigest import hashlib # ファイルのsha1ハッシュ値の計算(hashlib) sha1 = hashlib.sha1() sha1.update(open('file.txt', 'r').read()) print sha1.hexdiges…
opensslDSAパラメータの作成 openssl dsaparam -out dsa_param.pem 1024 -----BEGIN DSA PARAMETERS----- MIIBHgKBgQC/8MJpdDasZUHnleniFb3VZuP0UlnBX+fMqtaVPVryTejlztaTrYbY l/6iuEBKCQhgVgFX93VnuB33PvkbfE+x/1iRFMjqq17a2Mhpq1RudnCOs4IJWhB5 4yZLoCUMHV…
証明書とは 暗号技術において、公開鍵証明書(こうかいかぎしょうめいしょ)とは、公開鍵と、その所有者の同定情報(その他に有効期間、発行者、署名アルゴリズムなどの情報も含む)を結びつける証明書である。デジタル証明書とも呼ばれる。 公開鍵は単にバ…
pythonとopensslで3DES暗号化処理のメモ opensslでコマンドラインから処理 #3DESで暗号化 # plain.txtファイルの内容を3DESのCBCモードで暗号化し、出力した暗号文をcipher.binに格納する openssl enc -des3 -e -salt -in plain.txt -out cipher.bin -pass p…
# coding=utf-8 from Crypto.PublicKey import RSA from Crypto import Random random_func = Random.new().read rsa = RSA.generate(1024, random_func) # 秘密鍵作成 private_pem = rsa.exportKey(format='PEM', passphrase='hogehoge') with open('privat…
前にpythonで書いてみたことがあったので、練習のためocamlでも書いてみた。 関連 : pythonで10進数からn進数に基数変換 - brainstorm プログラミングの基礎 (Computer Science Library)作者: 浅井健一出版社/メーカー: サイエンス社発売日: 2007/03メディア…
CodeEvalにUnique Elementsという問題があって、前にpythonで書いたので、練習のためocamlでも書いてみた。 ソート済みのintのリストから重複を除いて返せというもの。関連 : PythonでCodeEvalのUnique Elements - brainstorm
opensslでpkcs#12を扱ったときのメモpkcs#12はユーザー識別情報を安全に転送するための形式。 転送する情報は秘密鍵(pkey)、証明書(x509)、や証明書チェーン、パスワードなど。 # pkcs#12が持っているデータをpem形式に変換する openssl pkcs12 -in sample.p…
「プログラミングの基礎」をちょっとずつ読んでて2分探索木の走査がでてきたんで、pythonでも書いてみました。ocamlだとこう type tree_t = Empty | Leaf of int | Node of tree_t * int * tree_t (* 目的 : dataが2分探索木treeに含まれているかを調べる *)…
昨日、pythonとrubyについて書いたので、ocamlでどう書くか調べてみた。 こんな感じか (* 文字列を1文字ずつ分割してstring listにして返す*) (* split_string : string -> string list *) let split_string s = Str.split (Str.regexp "") s;; (* test *) l…
間違ってpythonでstr.split(//)とか書いてしまった。split(//)でできるのはrubyだった。ruby str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" str.split(//) => ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m"…