読者です 読者をやめる 読者になる 読者になる

cloverrose's blog

Python, Machine learning, Emacs, CI/CD, Webアプリなど

例題:うさぎとおおかみ解いてみた

ソース mtype = {A, AtoB, B, BtoA}; int RbA, RbB, RbS, WoA, WoB, WoS; mtype Splace; inline toBank(RbX, WoX){ atomic{ RbX=RbX+RbS;RbS=0; WoX=WoX+WoS;WoS=0; } } inline fromBank(RbX, WoX){ atomic{ if ::(RbX>=2) -> RbX = RbX-2; RbS = RbS+2; ::(…

プロセスのローカル変数Nx系に注意

SPINのNx系の変数をプロセスのローカル変数として定義するときは気をつけましょうという話 同時代入とNuSMVとSPINの違いについて 同時代入 x=0 y=0 x=1 y=1 書いた場合、xは1だけどyは0の状態が存在します。 一方、 x=0 y=0 x, y = (1, 1) と書けばxが1にな…

NuSMV 2.5.1でBooleanとIntegerが明確に区別されるようになってた

久しぶりにNuSMVを触っていて、参考書Amazon.co.jp: 4日で学ぶモデル検査 (初級編) (CVS教程 (1)): 産業技術総合研究所システム検証研究センター: 本の通りに書いてたら文法エラーでたので調べてみたら、 The new version 2.5.1 makes a strong distinction…

NuSMV 2.5.4をMacでビルド

NuSMV2.5.4をMacでビルドしました。 NuSMV2.5.3のときはソースにバグがあったので修正が必要でしたが(NuSMV 2.5.3をMacでビルド - cloverrose's blog)2.5.4では以下の手順でビルドできると思います。 cd NuSMV-2.5.4 cd MiniSat bash build.sh cd ../cudd-…

NuSMV 2.5.3をMacでビルド

2013/04/26現在NuSMVの最新バージョンは2.5.4です。そちらではデバッグも必要なくビルドできます。こちらは自分のメモです。 バージョン2.5.4のビルドに関してはNuSMV 2.5.4をMacでビルド - cloverrose's blogを。Linux,Windows用のバイナリーは提供されてい…

インストールした後にホームディレクトリを暗号化する方法

Linux は俺の相棒: 【makeuseof.com 翻訳】Ubuntu のインストール後にホームフォルダーを暗号化するにはを参考にした。アルバイト先のセキュリティでホームディレクトリを暗号化することになった。 最初に言ってくれればチェックボックス一つで簡単に終わっ…

cygwin/dev/nulが消せなかった件について

Cygwinで削除できないファイル - bug-note のお陰で消せました

『終了時のフレームサイズを記憶する』をsession.elを考慮

タイトルの通りMeadow/Emacs memo: ウィンドウ/フレーム関連 ― 分割・サイズ変更で紹介している『終了時のフレームサイズを記憶する』をsession.elを考慮した設定を紹介します。 session.elとは 開いたファイルや実行したコマンドの履歴を保存してくれるsess…

Tkが起動しなくてgitkとかが使えないならXWin Serverを試してみよう

Windowsではあまり開発しないんですが、一応Cygwinを入れて基本的なコマンドが実行できるようにはしてるつもりでしたが、 gitkが起動できないことがわかりました。ちょうど今日クリーンインストールしたCygwinでもgitkが同じ症状で起動できなかったので、調…

UbuntuでKeePass2が使えるようになってた

パスワード管理ソフトKeePassKeePass Password SafeがUbuntuで使えることに気づいた。 今まではKeePassXというのKeePassのver1相当のものを使っていた。 KeePass2をインストール UbuntuソフトウェアセンターでKeePassを検索 KeePass2をインストール 日本語化…

Emacs find-file TABの一覧で非表示にしたいファイルを設定

C-x C-f TABで表示される候補に hoge.py~とかhoge.pycとか#hoge.py#とか表示されると邪魔なので表示しない方法を調べた。 参考サイト Emacs:find-file時の一覧にバックアップファイルを表示しない - epian-wiki autocomplete - Don't show uninteresting fil…

tabbar.elでEmacsをタブエディタ化 (自動で最適な設定をしたい)

最近dot.emacsの設定をしていますが、今回はタブエディタ化についてまとめたいと思います。 tabbar.elを使ってEmacsをタブエディタ化するエントリーは検索すれば引っかかると思いますが、 今回はタブの色やフォントを自動で(ハードコーディングせずに)設定す…

Emacs auto-completeの設定

昨日に引き続きdot.emacsの整理をしてます。今回はauto-complete.el (Auto Complete Mode - GNU Emacsのための最も賢い自動補完機能)を設定します。公式サイトでインストールスクリプトが用意されているのでそれ使うと簡単かもしれませんが、 自分はgit-subm…

Emacsで全角スペース・タブ・trailing spacesを目立たせる by WhiteSpace.el

こんばんは。最近dot.emacsカスタマイズに再挑戦しだしたエディタゆるふわ勢です。今回の目標はタイトルに書いてあるように、プログラミングとかするときに目立たせたい 全角スペース タブ 行末スペース(trailing spaces) の3つを適切に目立たせるというもの…

Django on HerokuのLoggingについて

いわゆるアクセス解析をするためにロギングをすることにしました。なお、Herokuでは以下の性質からConsoleに印字可能文字をセパレーターとしてロギングしていくのが一番簡単で相性が良さそうだと思いました。 1. Fileには保存できないっぽい(要確認) 2. ログ…

Twitter公式に合わせたurlize フィルター #djangoja

Django sprint 13.2で、Djangoの標準urlizeフィルタの挙動がイケてないって気づいた。urlizeフィルタはプレーンな文字列中からhttp://cloverrose.hateblo.jp/といったURL文字列を見つけて http://cloverrose.hateblo.jp/のようにアンカーにしてくれるもの何…

Django Sprint 13.2 の経過報告 #djangoja

チケット #13408 (Unpacking list/tuple in for loop should raise exception on unpacking if length is different) – Djangoに対応しようと思ったんだけど、無理そうだったので、そこまでの成果をまとめて後半戦に移ろうと思う。チケットの概要は次のソー…

DjangoでiOS6のSafariのCache回避

作ったWebアプリtwhy - プロフィールログを作ろうの挙動がiPhoneのSafariでだけ変だった。「まとめて保存」をクリックするとすごい速さで保存が完了する。 heroku logs | grep POSTで調べるとサーバーにアクセスしていない でも、フォローの数がきちんと返っ…

use memcache on Django/Heroku

TwitterのIDからScreen Nameを参照している箇所でAPI規制頻度緩和とレスポンス向上のために、IDをKey、Screen NameをValueとしてMemcacheに保存することにしました。 参考サイト Memcache | Heroku Dev Center pylibmc - Python client for memcached — pyli…

twhy -プロフィールログを作ろう- 完成!

Twitterのプロフィールのスナップショットを撮って保存できるサービス twhyがついに完成しました。 URL:http://twhy.herokuapp.com/Djangoで作っても今までは自宅サーバーで動かしていて、 GAEあるよって言われてもDjango使いたかったのでいろいろ苦戦してた…

Heroku上のDjangoデータベース定義を変更した時

Djangoでモデル定義を変更した時って結構めんどくさいので,なるべく変更したくないんだけど,必要に迫られました.開発中でデータ消してもいい時でしかもローカルでSQLiteでやってる時とかはデータベースファイルを削除してsyncdbするという超お手軽な方法があ…

DjangoアプリをHerokuにデプロイしてみた

Djangoで作ったWebアプリをHerokuにデプロイしてみました. 変なところでつまづいてHerokuは難しい>Postgresqlサーバーでもありませんでした.Heroku 上で Django を動かす - Twisted Mindを読んでやったんだけどうまくいかない>最初にHerokuにDjangoアプリデ…

Djangoのファイルのアップロード

Djangoでファイルのアップロードを扱う方法でAmazon.co.jp: 開発のプロが教える標準Django完全解説―Webアプリケーションフレームワーク (デベロッパー・ツール・シリーズ): 増田 泰,中居 良介,露木 誠,松原 豊: 本と変わっていたのでメモ。アプリケーション…

Django 静的ファイルに関するTips

Djangoの開発サーバーだけで静的ファイルを提供するときのまとめ 注意:公式サイトでも言われているように運用時はきちんとApacheなどを使うこと。 settings.pyでMEDIA_ROOTを設定 path/to/mysite/settings.pyのMEDIA_ROOTを次のように設定。 path/to/media…

プログラミング言語をギターにたとえると

ライブを聴いてる途中に集中力が切れていろいろ考え事してて、ふとプログラミング言語を楽器にたとえたら面白いんじゃないか、と思った。まず思いついたのがギターはエフェクターを直列にたくさんつなげて、しかもそのエフェクターにもただならぬこだわりを…

pep8をgitのpre-commitでコミット前にチェック git mvのリネームにも対応

PEP8とpep8 PythonはPEP8でコーディング規約をしっかり決まっていて、その自動チェッカーpep8もある。PEP8にも漏れはあるものの、pep8をパスした他人のコードは自分のコードとシームレスに読むことができ、複数人でのコーディングで威力を発揮する。 pep8の…

re.compile("魔女").sub("","やがて生まれる魔女") #pyconjp

pyconjp2012で印象的だったの発表の1つに小飼弾氏の基調講演dankogai @ 2012.pycon.jpがある。 Pythonはほむほむ(CV:斎藤千和)っていうのが非常に嬉しかった。 その中で、 import re re.compile("魔女").sub("","やがて生まれる魔女") # re.compile(befo…

PythonzでPython2.7.3をインストール 謎のテクノロジー

いろいろなOSでPythonzを使ってPython2.7.3を入れたときのメモ。 Pythonのコンパイルに必要なライブラリがOSによって違う。それ以降はどのOSでも基本的に同じ。 Pythonzを使うメリット 1. どのOSでも同じディレクトリ構造、PATHの通し方でOK 2. Pythonzを使…

virtualenvを使ってみる

下準備 環境 Ubuntu12.04(すでにPython2.7が入ってる) まずはvirtualenvだけでやってみる virtualenvwrapperがあるけど、まず何をやっているのか知りたいのでwrapperなしで。 virtualenvのインストール sudo pip install virtualenv virtualenv環境を作成-…

django-coverageでテストカバレッジを測ってみた

TDDでテスターやったのでどれくらい書けたのか気になって測ってみた 最初の疑問 どれを使ってテストカバレッジ測ればいいんだ?coverage.pyというPythonでテストカバレッジを計測する有名なのがあった sudo pip install coverageUbuntuでは/usr/local/lib/py…

感想 「調子に乗ったPythonistaが初心に返る簡単な方法」を読んで

調子に乗ったPythonistaが初心に返る簡単な方法 - SELECT * FROM life;を読んで、 面白そうだったので設定してみたのでメモ。Ubuntu12.04、Python2.7の場合は /usr/lib/python2.7/sitecustomize.py末尾に参考URLのコードを追加。どんな事が聞かれるのかと思…

MySQLdbを使ってみた

参考サイト Python+MySQLdbの使い方サンプル | Kirishiki Studiosほとんど同じなんだけど、微妙にちがうテーブル間でデータを移行したいDjangoでMySQLdbをインストールしていたので、スクリプト書いてやってみたold table asin 文字列 xml 長い文字列 search…

IPythonの設定

ipython profile createで設定ファイルもろもろ入ったディレクトリを作成(元々あった?) cd .config/ipython/profule_default/ emacs ipython_config.pyIPython. 1)>>> 2)... 3)Ctrl-D 4)separate in and out — Gistあとやれたらいいなってことは、 複数行…

Djangoのm2m_changedシグナルを使ってみた

mysite.myapp.models.py from django.db import models from django.db.models.signals import post_save, m2m_changed class Topping(models.Model): name = models.CharField(max_length=10) class Pizza(models.Model): toppings = models.ManyToManyFiel…

TweepyでUserstreamする際のエラー対処

tweepyがUser Streamsに対応していた - kk6のメモ帳* をコピペして動かしてみると、 ssl.SSLError: [Errno 1] _ssl.c:504: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failureというエラーが! I just fixed it, although I…

excel2010グラフTips

Y軸 主軸と第二軸 エクセル 2007 やエクセル 2010 で縦軸が左右にある 2 軸グラフを作成するには? 折れ線グラフの空白 エクセル2010 基本講座:折れ線グラフの作成 棒グラフの幅 エクセルで棒グラフと棒グラフをくっつけるにはどうしたらよろしいでしょうか…

ALTER TABLEでカラムを追加

作業の前にバックアップ kamonama@Blogger: MySQLでDBをコピーするには $ mysql -u root -p mysql> create database mydb_full_back; mysql> exit; $ $ mysqldump -u root -p -n mydb | mysql -u root -p mydb_full_back settings.pyでバックアップデータベ…

[Django] バージョンによる違い

Django の admin をカスタマイズするのchange_viewについて Django1.3における変更点とDjango1.4でのさらなる変更点保存 保存して編集を続ける 保存して他のを追加 の3種類のアクションに割り当てられているキーが _save,_continue,_anotherに変更されてい…

ブクログ Python

ブクログからユーザーデータを取得したかったのでPythonで作ってみた 参考サイト ブクログのHTTPリクエストについて ブクログの本棚のデータを新刊.netへ登録するGoogle App Engineのアプリを作ってみる - JavaScriptとかPerlとかPHPとかさくらVPSとか勉強す…

Django データベースのバックアップ

Djangoで作業してて、モデルを編集したいことが多々ある。 しかし、一旦作ってしまったモデルに付いて変更しても、 syncdbでは対応できない。今までは、データベースを削除して、作って、syncdbしてたんだけど、 データの追加にかなり時間が掛かるようになっ…

Django ユーザープロファイルを作成

https://docs.djangoproject.com/en/1.4/topics/auth/#storing-additional-information-about-usersを参考にTwitterのscreen_nameとnameをUserに紐付けることを考える。 注意点 Userプロファイルはひとつしか設定できない AUTH_PROFILE_MODULEに複数指定する…

バージョン違いの環境に移行してみる

今まで Ubuntu10.04 Desktop Python2.6 Django1.1.1-2ubuntu1.4 新しいの Ubuntu12.04 Desktop Python2.7 Django1.3.1-4ubuntu1 まっさらなUbuntuにしたこと LANG=C xdg-user-dirs-gtk-update emacs23インスコ PythonのデフォルトエンコーディングをUTF-8に …

Djangoデプロイ前のチェックリスト

Apacheにデプロイしてるなら、*.pyなどを変更したあとは$ sudo apachectl restartする settings.pyのDEBUG=False favicon.icoは適用されているか

Django テストランナーのカスタマイズ

やりたいこと python manage.py test を実行すると、デフォルトではINSTALLED_APPSに登録されたアプリのmodels.pyとtests.py内のdocstringからテストが作られるが、tests.py以外のスクリプト内のdocstringもテストしたい! 問題 まずはDjangoのテストフレー…

Django post_syncdb

post_syncdb を使って、最初にsyncdbをした時にGroupの作成をしようとしたが、 パーミッションの割り当てする際に、まだパーミッションが作成されていないらしく失敗してしまう。よって、この使い方はできないことがわかった

Django Tips1

Django本の5章を読んでまとめる 本は、Django0.96が最新の時代のものなので、Django1系に通用しないところをそのまま紹介してしまうかもしれない。 正誤表 http://public-errata.appspot.com/errata/book/show/978-4-04-867209-2/ リレーションについて For…

MySQLのエンコーディングをUTF-8にする

問題 新しいUbuntuで作業しだしたら、文字コード周りでエラーが発生した。 http://blog.pasberth.com/2011/10/django-mysql-incorrect-string-value.html と同じようなエラーメッセージが出ていたので文字コード周りで間違い無いだろう やること MySQLのエン…

PythonのデフォルトエンコーディングをUTF-8に

環境 Ubuntu12.04LST Python2.7(標準) 参考サイト こちらはおそらくMacなのでファイルの位置は違った http://d.hatena.ne.jp/ama-ch/20080610/1213073848 やったこと 確認として現在のエンコーディングを見てみる(たぶんasciiになってるはず) $ python >…

Emacs Python環境

http://d.hatena.ne.jp/CortYuming/20090328/p1 http://d.hatena.ne.jp/cou929_la/20110525/1306321857

Ubuntu キーバインド変更

http://lassauge.free.fr/cygwin/.xmodmaprc https://forums.ubuntulinux.jp/viewtopic.php?id=10085 http://linuxserver.jp/Linux/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E7%94%A8%E9%80%94/X%20Window%E3%81%AE%E3%82%AD%E3%83%BC%E3%83…