2012-10-01
■9月の読書メーター
2012年9月の読書メーター
読んだ本の数:8冊
読んだページ数:3019ページ
ナイス数:22ナイス
ラブコメ今昔 (角川文庫)の感想
甘々。でも『ラブコメ今昔』と『青い衝撃』の2作が引き締めてる。読んでいると「某カメがモデルの怪獣映画(p119)」が観たくなる。
読了日:9月27日 著者:有川 浩NOVA 8 ---書き下ろし日本SFコレクション (河出文庫)の感想
「#銀の匙」「曠野にて」「オールトの天使」
読了日:9月26日 著者:山田 正紀,青山 智樹,東 浩紀,粕谷 知世,片瀬 二郎,北野 勇作,飛 浩隆,友成 純一,松尾 由美クジラの彼 (角川文庫)
読了日:9月21日 著者:有川 浩塩の街 (角川文庫)の感想
読んでいてどうしても頭から離れなかったのは新井素子の「ひとめあなたに…」。面白かったが、3部作の他2作品の緻密さはまだないと感じた。その分キャラクターの揺れ動きの方に強く目をひかれた。
読了日:9月20日 著者:有川 浩海の底の感想
すさまじく面白かった。感想はといえば、解説で大森望さんが指摘していることだけど、「爽やかな『ミスト』」だろうか。あちらが一片たりとも明るいところなどない、絶望を見せてから最後にさらに深い絶望にたたき落とす風なのに対して、こちらは全部けりを付けた後に、なお明るい希望の予感を残すといった風。「格好悪い」ところを見せることが「格好いい」ように描かれるのも気持ちよかったり。
読了日:9月17日 著者:有川 浩スクリューマン&フェアリーロリポップス (電撃文庫)の感想
よかった。これからも期待。能力が明らかに「スタンド」なのがアレだけど、妖精に「イット」とか名付けているあたり多分自覚的。
読了日:9月17日 著者:物草 純平ロスト・グレイの静かな夜明け (コバルト文庫)
読了日:9月5日 著者:野村 行央20世紀SF〈6〉1990年代―遺伝子戦争 (河出文庫)の感想
「しあわせの理由」は最近読み直したばっかりなのでスキップ。「遺伝子戦争」最後の一文でうわあああってなった。「平ら山を越えて」がすごくよくて奇想コレクションを読みたくなった。
読了日:9月3日 著者:グレッグ イーガン,ダン シモンズ
読書メーター
2012-10-06
■居酒屋プレゼン大会 2012 in Autumn!! 行ってきた
ネット繋がらない!! EMチャージ1日分損した!!
おしまい。
嘘です。
「モンティ・ホール問題と火曜日生まれの男の子」と称してプレゼンしてきました。
5分での構成を考えて、当初の予定から変更してモンティ・ホール問題は資料作成段階でカットしました。
2012-10-13
■カフェ読み数学ガール 十月 in仙台
でした。
今日読めたのは、
4章でした。
これからどんどん時間的に内容的に厳しくなることでしょう。
宿題。
複素平面の単位円上の数を2つ持ってきて、掛け合わせたらやはり単位円上にあるはず。
極座標で考えれば自明なのだけど、計算して確かめてみよう、と思った。
\((a+bi)(c+di)=(ac-bd)+(bc+ad)i\)
絶対値の2乗は、
\((ac-bd)^2+(bc+ad)^2=a^2c^2-2abcd+b^2d^2+b^2c^2-2abcd+a^2d^2=a^2(c^2+d^2)+b^2(c^2+d^2)=a^2+b^2=1\)
ok。
2012-10-23
■inetdレンタルサーバーにgitを入れるのこと
viのプラグインをインストールしようと思ったら、httpを指定したgit cloneができないことに気がついた。
元のgitも自分でビルドしたものだったのだけど、この問題はcurlライブラリがないために起きているらしい。
なのでまたビルド。
wget http://curl.haxx.se/download/curl-7.28.0.tar.bz2 tar xvf curl-7.28.0.tar.bz2 cd curl-7.28.0 ./configure --prefix=$HOME/local/curl make make install cd wget http://git-core.googlecode.com/files/git-1.8.0.tar.gz tar zxvf git-1.8.0.tar.gz cd git-1.8.0 env CPPFLAGS=-I$HOME/local/curl/include LDFLAGS=-L$HOME/local/curl/lib ./configure --prefix=$HOME/local/git gmake gmake install
こんな感じで。
ついでに1.8.0になった。
2012-10-29
■sinatra-activerecordを使ってマイグレーションを作る
ための最低限の手続きのメモ。要Ruby1.9系(多分)。
bundlerを使う。
sudo gem install bundler
適当なフォルダを使う。
mkdir apptest cd apptest
Gemfileを作る。
source 'https://rubygems.org' ruby '1.9.3' gem 'sinatra-activerecord', :require => 'sinatra/activerecord' gem 'rake'
bundle install。依存関係からActiveRecordなんかが入る。
mkdir vendor bundle install --path vendor/bundle
Rakefileを作る。
require 'sinatra/activerecord/rake'
これだけ。
この時点ですでに、
bundle exec rake -T
すると、
rake db:create_migration # create an ActiveRecord migration in ./db/migrate rake db:migrate # migrate the database (use version with VERSION=n) rake db:rollback # roll back the migration (use steps with STEP=n)
というタスクが3つ登録済みになる。
ではさっそく、
bundle exec rake db:create_migration
すると、
rake aborted! No NAME specified. Example usage: `rake db:create_migration NAME=create_users`
と、NAMEを指定してね、って言われる。
なので、
bundle exec rake db:create_migration NAME=create_users
すると、db/migrate ディレクトリが作られて、20121029xxxxxx_create_users.rb なんてファイルができている。
class CreateUsers < ActiveRecord::Migration def up end def down end end
というおなじみ(?)Migration用のファイル。
中身をいれてやる。
class CreateUsers < ActiveRecord::Migration def up create_table :users do |t| t.string :user_id t.string :password t.timestamps end end def down drop_table :users end end
とか作り込んでいく(ここで書いたのはちょう適当)。
で、Migrationを作っていって、
bundle exec rake db:migrate
ってやれば、最新のmigrationまで一気にやってくれる……わけがない。
だってどこのどんな種類のDBに操作するのか書いてないから。
……マイグレーションはできた。実行できないけど。
ここで終わっちゃあんまりなので。
GemfileにDBアクセスに必要なGemを追加。
source :rubygems ruby '1.9.3' gem 'sinatra-activerecord', :require => 'sinatra/activerecord' gem 'rake' gem 'sqlite3'
楽なsqlite3にしといた。
bundle install
を忘れずに。もちろんその前に apt-get なり、yum なり、brew なり、ports なりでsqlite3(とヘッダ類)をインストールしておかないといけない。
db/connection.rbなんて作っちゃう。
require "logger" ActiveRecord::Base.establish_connection({ :adapter => "sqlite3", :database => "myapp.db", }) ActiveRecord::Base.logger = Logger.new($stderr)
loggerにまつわる部分も含めて必要なオマジナイ。
Rakefileでrequireする*3。
require 'sinatra/activerecord/rake' require './db/connection'
これで、
bundle exec rake db:migrate
が通るはず。
bundle exec rake db:rollback
すると1段階戻る。
おなじみのマイグレーション機能。
Sinatraアプリの中でもconfigureでdb/connection.rbを読んじゃえばdbアクセスできそうだけど、うまいやり方とは到底思えない*4のでどうしようか……。
GemfileにしろRakefileにしろ、必要な部分が分かるように、最小限にしか書いてないのは説明のため。
ここまでなんとなくやってきたけど、そろそろ sinatra-activerecord のドキュメントでも探しにいきますか……。
追記
https://github.com/janko-m/sinatra-activerecord/blob/master/README.md
使い方が普通に書いてあるわけだが。
2012-10-31
■tDiary3.2.0をマージ
コンフリクトなかった。