Yura YuLife

ITエンジニアの覚え書き。

2015-04-01から1ヶ月間の記事一覧

Gitのリポジトリ更新時にメール通知するスクリプト

git

Gitのリモートリポジトリに、以下のスクリプトを作成する。 hoge.git/hooks/post-update #!/bin/bash # リポジトリ更新時にメール送信するスクリプト # ブランチ名を取得 branch=$(git rev-parse --symbolic --abbrev-ref $1) # 送信先アドレス mailaddr="ma…

PythonでWikipediaの圧縮ファイルから記事毎にXMLツリーを取り出す

PythonでWikipediaの全記事の圧縮ファイル(jawiki-YYYYMMDD-pages-articles.xml.bz2)から、各記事を取り出してそのXMLツリーをパースするスクリプトを作成しました。 使い方: 引数にWikipediaの圧縮ファイルを指定 $ python parse_wikipedia.py ~/hoge/jawik…

shell checkでexpr is antiquated.というエラーがでる

シェルスクリプト内で変数をインクリメントしようとして以下の様なコードを書きました。 COUNT=$(expr ${COUNT} + 1) すると、shell checkで以下のようなワーニングが表示されます。 expr is antiquated. Consider rewriting this using $((..)), ${} or [[]…

Djangoの環境構築(Ubuntu Server, Apache, PostgreSQL)

以下の環境でDjangoを動作させるまでの手順をまとめました。 Ubuntu Server 14.04 LTS 64bit Apache 2.4.7 PostgreSQL 9.3 Django 1.8 (Python 2.7) Django 1.7, PostgreSQL 9.Xでも同様の手順で構築が可能です。 パッケージのインストール Python $ sudo ap…

Djangoでフォーム内でクリックされたボタンによって異なる処理を行う

タイトルの通り、同一フォーム内でクリックしたボタンによって異なる処理を行いたい場合は以下のように書きます。 hoge.html <form action="{% url 'hoge.views.some_view' %}" method="post"> {% csrf_token %} <input type="text" name="hoge" value=""> ... <input type="submit" name="button_1" value="ボタン1"> <input type="submit" name="button_2" value="ボタン2"> </form> v…

Djangoで特定のページのみBasic認証をかける

やり方は、以下のページの通りです。 djangosnippets: view by view basic authentication decorator スニペットの保存 まず、上記サイトのスニペットをコピー&ペーストして、プロジェクト内に保存します。 basic_auth_view.py import base64 from django.h…

DjangoのQuerySetでランダムに要素を取得

例えば、SomeModelというモデルクラスのインスタンスを10個取得する場合。 random_query_set = SomeModel.objects.order_by('?')[:10] QuerySet API reference | Django documentation | Django ただし、リファレンスによるとバックエンドで利用しているDBに…

Pythonでmd5やsha256などのハッシュ値を求める

Pythonで引数に入力された文字列のハッシュ値を求めるスクリプトを作成してみました。 hash.py #!/usr/bin/python # -*- coding: utf-8 -*- import hashlib def calc_hash(string): u'''入力文字列のハッシュ値を求めて辞書型で出力する''' hash_dict = { 'm…