はてなでMacBook Air 11インチが当たるキャンペーン
ブログを書くだけでMacBook Air 11インチが当たる!新春キャンペーンを開始しました - はてなダイアリー日記
MacBook Air 11インチ欲しい!
これは凄い良いものだ。11インチってのが素晴らしいなぁ。
Redmine 1.1.0
エラー情報と並べて書くのはどうかと思ったけど、
Redmine 1.1.0が出てた。1.0.xでREST APIが死んでて
余所からの自動登録に使いたいなーという希望が絶たれてたけどこれで行けるかな?
Redmine 1.1.0 リリース | Redmine.JP
http://redmine.jp/redmine_today/2011/01/11/redmine-1_1_0-released/
あと、既に障害も登録されてた。男前だな。
Redmine - 1.1.1 - Redmine
http://www.redmine.org/projects/redmine/versions/30
Redmineでロックエラー
今朝Redmineを立ち上げてみたら、なんかログインでエラーが出てる。
面倒だけど、ログ(./log/production.log)を見てみたら、
ログインの認証処理でデータベースのロックがかかってるようだ。
SQLite3::BusyException: database is locked:
直接コマンドラインで(sqlite3 ./db/redmine.db)見てみたら普通に見られた。
なんか、ロックとかそういう問題じゃないんじゃないの?と思って、
passengerを再起動(touch ./tmp/restart.txt)してみたり、
apache2を再起動(svcadm restart apache2)してみたりしたけど改善せず。
なんだかなぁと思いつつ最終手段のサーバー再起動したら復帰した。
プロセスまで見なかったけど、結局だれか中途半端に掴んだまま死んでたんだろう。
なんか釈然としない。
Python入門2日目
いや、もう本当にこんなことしてる時間は無いんだけども。
Flaskのチュートリアル見てたら、関数とかクラスとかの仕様が分かんなかった。
見たらおおよその雰囲気は分かるんだけど、一応通った方がよさそうだ。
てことで、別のチュートリアル。
python入門から応用までの学習サイトを追ってみる。
基礎編
- 基本構文 - python入門から応用までの学習サイト
- コマンドライン引数 - python入門から応用までの学習サイト
- プログラムの終了 - python入門から応用までの学習サイト
- 例外処理 - python入門から応用までの学習サイト
- インポート - python入門から応用までの学習サイト
応用編
- 関数作成 - python入門から応用までの学習サイト
- クラス作成 - python入門から応用までの学習サイト
- クラス継承 - python入門から応用までの学習サイト
- 継承はclass定義のクラス名の後に続けて()で囲んだ中に継承する規定クラス名を記述
- パッケージ化 - python入門から応用までの学習サイト
- lambda式 - python入門から応用までの学習サイト
- インラインてことか
- 設定ファイル - python入門から応用までの学習サイト
- ConfigParserモジュールでini形式ファイルが読めるのか
- リストの逆順 - python入門から応用までの学習サイト
- 変数の型チェック - python入門から応用までの学習サイト
- isinstance関数を使って型判断が出来る
- 定義値の取得 - python入門から応用までの学習サイト
- セパレータの取得 - python入門から応用までの学習サイト
- 拡張子の取得 - python入門から応用までの学習サイト
- splitextってセパレータはピリオドだけなんだろうか。
- 環境変数の取得 - python入門から応用までの学習サイト
- 乱数値(ランダム)の生成 - python入門から応用までの学習サイト
- zip - python入門から応用までの学習サイト
- csv - python入門から応用までの学習サイト
- csvもだけど、この例で出てるcodecs.open()でファイルオープンが突然出てきてた。
- 暗号化 - python入門から応用までの学習サイト
- ファイル読み書き - python入門から応用までの学習サイト
- ファイルシステム操作 - python入門から応用までの学習サイト
- メール送信 - python入門から応用までの学習サイト
- HTML解析(パーサ) - python入門から応用までの学習サイト
- スレッド - python入門から応用までの学習サイト
外部モジュール
- 順書付きディクショナリ - python入門から応用までの学習サイト
- データベース接続 - python入門から応用までの学習サイト
- PDF生成 - python入門から応用までの学習サイト
- 画像処理 - python入門から応用までの学習サイト
mod_wsgi
- mod_wsgiの基礎 - python入門から応用までの学習サイト
- リクエストの取得(mod_wsgi) - python入門から応用までの学習サイト
- リダイレクト - python入門から応用までの学習サイト
後半はざっと見たけど、充実してんなぁ。
とりあえず、mod_wsgiだけ入れればやりたいことが出来そうな気がしてきた。
Pythonのフレームワーク
最近プログラムから離れてきていますが、ちょっとチャンスを見つけたのでPythonを弄ってみる。
ついでなのでフレームワークベースで触ってみることにする。
とりあえず軽いのでいいので、Flaskを弄ってみたい。その前にPythonの簡単な入門をざっと通すか。
取りかかろうと思ったら、FlaskをホスティングしているBitbusket(Python用のコードハブ/GitHubみたいなやつ)
が落ちてて出鼻をくじかれる。
Python入門してみる
上記サイトのPythonの簡単な入門をやっておこう。
- Pythonプログラムの基本事項 - Python入門
- 日本語と文字コード - Python入門
- 文字列 - Python入門
- RAW文字r'文字列'。面白いな。
- 文字列オブジェクトのインデックスは文字単位/バイト単位
- 文字列オブジェクトのインデックスのマイナス値は後ろからの位置
- 数値 - Python入門
- 長整数型は末尾にLまたはlを付ける
- 8進数型は先頭に0を付ける
- 16進数型は先頭に0xを付ける
- 除算の//は切り捨て
- ビット演算で^はXOR、~はNOT
- 変数 - Python入門
- 変数はオブジェクトのポインタ
- 変数の変数の場合元の変数を加工すると代入した方も変化する。
- 条件分岐 - Python入門
- インデントってスペース1つでもいいんだろうか。
- 数値の0はfalseそれ以外はtrue
- andとorはそのままandとorを使う
- リスト - Python入門
- タプル - Python入門
- ここらで少し飽きてきた。
- リスト型とは共通部分が多い。作成された要素を変更できない。メソッドが用意されてない。
- 辞書(ディクショナリ) - Python入門
- ハッシュですねこれは。
- キーに変更可能な要素は設定できない。
- keys()、values()、items()でまとめて参照可能
- 繰り返し - Python入門
- for elseとかwhile elseとか面白い。
- forとrange()はエレガントで好きだな〜。
チュートリアル終わり。書式のスタイルは理解した。
Androidアプリも作れる
Flaskに着手
日本語のチュートリアルがあるのでトライしてみる。
Flaskへ ようこそ — Flask v0.5.1 documentation
やっぱりデプロイ環境は特殊になるのか。フレームワーク使う宿命なのかね。
FlaskではWerkzeug(ヴェルクツォィグ)というWSGI共通のIFを利用したアプリケーションフレームワークと
Jinja2というテンプレートエンジンを使ってるらしい。
ってここまで調べてFlask作った人のことにたどり着いた。Werkzeug作った人と一緒なのか。しかも今20歳ぐらいっぽい。スゲエ
Projects | Armin Ronacher's Thoughts and Writings
他の作業の合間にやってるが、virtualenv環境の敷居が高いな。動いているSolarisのApache環境にデプロイしたいんですけど。
DropboxのAPI
AirDropper - Request a file from anyone.を使ってみて
DropboxのOAuth機能があることに気がついたのですが、てことは、、と思って調べたら
Development Kitが出ていて、Google App Engineからも使える状況になっているようです。これは凄いな。
Google App Engine で dropbox API を使うにあたって - かずぽんのブログ