エヴァQを見てきた(ネタバレありの勝手な妄想)

実は主人公は薫ではないのだろうか?と勝手に妄想してみた。


破の最後で薫が「シンジくん、今度こそ君を幸せにしてあげるよ」と言っていた。
そして、Qの最期でも「また会えるよ」とよくわからないことを言っていた。


その2つから類推するに、映画版のエヴァは、TV版エヴァの平行世界ではないかと考えられる。(しかも薫の意思で繰り返されている世界)
ものすごくよくあるつまらない落ちに繋げてしまうのだが、実は薫はシンジが好きで、シンジを幸せにしたいのだが、シンジはいつも勝手に暴走して勝手に悲観していつも幸せになれない結末を迎えてしまう。だから薫は何度もシンジが幸せになれる結末を求めて第二次セカンドインパクト後の世界を繰り返し生きているのではないかという話。
何度も繰り返しているので、色々知っているし、落ち着いて行動できているのだ。(Qのラジカセを直した場面でも「ちょっとこの世界に長くいて、物知りなだけだよ」と言っていたし)


え?「このまどマギ厨め」だって?
いいえ、ひぐらしです。・・・嘘ですまどマギです。

『恋文の技術』

森見登美彦の「恋文の技術」が文庫化されたので積ん読しておいたのだが、今日読み終わった。

結構この人の書く文章が好きで、過去何冊か読んできたのだが、その中で一番好きだな、と思った。
夜は短し歩けよ乙女」から入って、これも結構気に入っているのだが、「恋文の技術」はなんか文章が洗練されている気がする。

一人称でずっと書かれていて主人公の守田一郎氏に共感を覚えたり、彼をなんだかよくわからないけど友達のように思ったり、愛嬌っぷり、ひねくれっぷり、よくわからない葛藤とかを見てて楽しかったり、ほっこりしたりするのだ。

この本を読むと、手紙もいいもんだなぁと思ったりするけど、書くのはやっぱり面倒くさいよね。

ちなみに、この本を読んでちょっと気が楽になったり、勇気をもらったりする人はいるかもしれない。

([も]3-1)恋文の技術 (ポプラ文庫)

([も]3-1)恋文の技術 (ポプラ文庫)

京都旅行の道筋メモ

折角だから、一応メモっておこう。


京都駅 → 清水寺 (バス)

  • 清水寺を参拝。実は舞台まで行ったのは小学生以来。記憶にあるより舞台は大きくなかったのに少し驚いた。
  • 「湯豆腐 順正 おかべ家」で昼食。京の七夕膳うまかった♪

清水寺 → 平安神宮 (バス)

  • うっかりバスが右に曲がってしまったので、平安神宮の前で降りることになった。
  • なぜか図書館を見学。

平安神宮 → 熊野神社前 (歩き)

  • 熊野寮をバス越しに見ようと思っていたのだけど、気がつくと過ぎていた。

熊野神社前 → 嵐山 (バス)

  • 嵐山 らんざん で宿泊
    • 晩飯も朝食も凝っていてうまかった。
  • 翌日、散歩しながら嵐電の駅へ移動
    • 竹林は写真ほど綺麗ではなかったが、墓地もあっていい雰囲気だった。人は多かったけど・・・
    • 嵐電の駅にあるアリンコパフェでおやつ。

嵐山 → 四条大宮 (嵐電
四条大宮 → 四条烏丸 (バス)

  • 錦市場(高倉〜寺町)
  • 「市場小路」で昼食。おばんざいいいね。
    • ちなみに、京都1497 発祥の地らしい(そして今は生産停止しているということを初めて知った)

寺町 → 八坂神社 (歩き)

  • よーじやとかぶらぶら。
  • 八坂神社参拝。七夕の笹があったのでお願いごとを書いてみた♪
  • 都路里 本店でおやつ。やっぱり都路里はうまいねぇ

祇園 → 京都駅 (バス)

  • 京都駅ビルの大階段とかぶらぶら。(流石にグリコはしてないよ)
  • ラーメンで夕食。

帰宅!

なんか食べ歩きって感じ。


京都には7年住んでいたけど、観光はほとんどしていなかった。
でも、しばらく離れてから改めて来ると色々懐かしかったりして楽しかった。
京都はやっぱりいいところだね。

Rails3道場の復習:其の壱 プロジェクト作成〜Routing編

Rails3道場の復習

開発環境

アプリケーション準備

RailsWizard で新規アプリケーション作成

http://railswizard.org/

ほしいライブラリをポチポチと選択

そして、コマンド実行

rails new rails3dojo -m http://railswizard.org/b89823fec9358dccd1d0.rb -J -T

rails3dojo アプリが作成される

すごく楽ちん

Gemfile を編集
gem "rake", "0.8.7"

を最後の行に追加

rails server で、rakeバージョンを指定できずエラー
c:\dev\rails_app\rails3dojo>rails server
e[31mYou have requested:
  rake = 0.8.7

The bundle currently has rake locked at 0.9.2.
Try running `bundle update rake`e[0m
rake-0.9.2 をアンインストール

0.8.7 はインストール済みなので、0.9.2 をアンインストールしてみる。

c:\dev\rails_app\rails3dojo>gem uninstall rake -v='0.9.2'
Successfully uninstalled rake-0.9.2
それでも rails server で失敗
c:\dev\rails_app\rails3dojo>rails server
e[31mYou have requested:
  rake = 0.8.7

The bundle currently has rake locked at 0.9.2.
Try running `bundle update rake`e[0m
ということで、諦めて gem update rake をして、Gemfile の設定も戻した

すなわち、結局rakeのバージョンは 0.9.2 を使用。

普通に rails server が成功した。
http://localhost:3000/ も正しく開けた!

controller, view の追加、編集

トップページ用のコントローラを生成
c:\dev\rails_app\rails3dojo>rails g controller welcome index
      create  app/controllers/welcome_controller.rb
       route  get "welcome/index"
      invoke  haml
      create    app/views/welcome
      create    app/views/welcome/index.html.haml
      invoke  rspec
      create    spec/controllers/welcome_controller_spec.rb
      create    spec/views/welcome
      create    spec/views/welcome/index.html.haml_spec.rb
      invoke  helper
      create    app/helpers/welcome_helper.rb
      invoke    rspec
      create      spec/helpers/welcome_helper_spec.rb
テスト実行したら、何かWarningらしきものが出る
c:\dev\rails_app\rails3dojo>bundle exec rspec spec\controllers\welcome_controller_spec.rb
You must use ANSICON 1.31 or later (http://adoxa.110mb.com/ansicon/) to use colour on Windows
.

Finished in 3.7 seconds
1 example, 0 failures

ANSICON をインストールすると、コンソールで色を付けられるようになるようだ。
http://d.hatena.ne.jp/hs9587/20110612/1307856635

今までの文字化けみたいなコンソールが綺麗になった。うれしい。

イケてるテンプレート

http://www.getskeleton.com/
からテンプレートをダウンロード

index.html
stylesheets\
   base.css
   layout.css
   skeleton.css

がある

の3ファイルを、以下のツールで、SASS へ変換する
http://css2sass.heroku.com/

それを、public\stylesheets\sass フォルダに入れる(拡張子は sass に変更する)


そして、

  • index.html

のうち、までのうちのタグ以外を、以下のツールで HAML へ変換する
http://html2haml.heroku.com/

<!doctype html>
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html lang="en"> <!--<![endif]-->
<head>

	<!-- Basic Page Needs
  ================================================== -->
	<meta charset="utf-8" />
	<title>Your Page Title Here :)</title>
	<meta name="description" content="">
	<meta name="author" content="">
	<!--[if lt IE 9]>
		<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
	<![endif]-->
	
	<!-- Mobile Specific Metas
  ================================================== -->
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> 
	
</head>

が、以下になる

<!doctype html>
/[if lt IE 7 ] <html class="ie ie6" lang="en">
/[if IE 7 ] <html class="ie ie7" lang="en">
/[if IE 8 ] <html class="ie ie8" lang="en">
/ [if (gte IE 9)|!(IE)]><!
%html{:lang => "en"}
  / <![endif]
  %head
    /
      Basic Page Needs
      \==================================================
    %meta{:charset => "utf-8"}/
    %title Your Page Title Here :)
    %meta{:content => "", :name => "description"}
      %meta{:content => "", :name => "author"}
        /[if lt IE 9]
          <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
        /
          Mobile Specific Metas
          \==================================================
        %meta{:content => "width=device-width, initial-scale=1, maximum-scale=1", :name => "viewport"}/


また、app\views\layouts\application.html.erb も、HAML に変換する

<!DOCTYPE html>
<html>
<head>
  <title>Rails3dojo</title>
  <%= stylesheet_link_tag :all %>
  <%= javascript_include_tag :defaults %>
  <%= csrf_meta_tag %>
</head>
<body>

<%= yield %>

</body>
</html>

が、以下になる

!!!
%html
  %head
    %title Rails3dojo
    = stylesheet_link_tag :all
    = javascript_include_tag :defaults
    = csrf_meta_tag
  %body
    = yield


そして、いいとこどりする。

  • / から始まるものはコメントなので、不要なものは削除する。
  • また、HTMLで閉じていないタグは、html2hamlではインデントされてしまうので、それも修正する
  • のように、略記した方法でタグを閉じていると、行末に無駄な / が書かれるので、これも消す
  • タイトルについては、 %title= yield :title で置き換える
<!doctype html>
/[if lt IE 7 ] <html class="ie ie6" lang="en">
/[if IE 7 ] <html class="ie ie7" lang="en">
/[if IE 8 ] <html class="ie ie8" lang="en">
/ [if (gte IE 9)|!(IE)]><!
%html{:lang => "en"}
  / <![endif]
  %head
    %meta{:charset => "utf-8"}
    %title= yield :title
    %meta{:content => "", :name => "description"}
    %meta{:content => "", :name => "author"}
    /[if lt IE 9]
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    %meta{:content => "width=device-width, initial-scale=1, maximum-scale=1", :name => "viewport"}
    = stylesheet_link_tag :all
  %body
    = yield

これを、 app\views\layouts\application.html.haml へ保存する

SASS, HAML をもっと使う

以下のファイルを public\stylesheets\sass に保存する

application.sass

#logo
  margin-top: 30px
  color: #c00
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif
  letter-spacing: -1px
  font-weight: bold


app\views\layouts\application.html.haml の body 部分をかっこよくする

  %body
    .container
      .sixteen.columns
        %h1#logo Rails3dojo
        %hr
      .twelve.columns= yield
      .four.columns

→ #logo の部分がかっこよくなる

と思ったのだが、なぜか色が付かない

なぜだろう?
とりあえず、無視して次へ進む

PageのResource Routingを追加

config\routes.rb に以下を追加

resources :pages

確認

c:\dev\rails_app\rails3dojo>rake routes
WARNING: Global access to Rake DSL methods is deprecated.  Please include
    ...  Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method Rails3dojo::Application#task called at C:/ruby/ruby-1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks'
     root        /(.:format)               {:controller=>"welcome", :action=>"index"}
    pages GET    /pages(.:format)          {:controller=>"pages", :action=>"index"}
          POST   /pages(.:format)          {:controller=>"pages", :action=>"create"}
 new_page GET    /pages/new(.:format)      {:controller=>"pages", :action=>"new"}
edit_page GET    /pages/:id/edit(.:format) {:controller=>"pages", :action=>"edit"}
     page GET    /pages/:id(.:format)      {:controller=>"pages", :action=>"show"}
          PUT    /pages/:id(.:format)      {:controller=>"pages", :action=>"update"}
          DELETE /pages/:id(.:format)      {:controller=>"pages", :action=>"destroy"}

WARNINGが出ている。なぜだろう?
とりあえず、またもや無視して次へ進む

Pageリソース用のコントローラを生成
rails g controller pages index new

を実行する

c:\dev\rails_app\rails3dojo>rails g controller pages index new
Sass is in the process of being separated from Haml,
and will no longer be bundled at all in Haml 3.2.0.
Please install the 'sass' gem if you want to use Sass.

Haml will no longer automatically load Sass in Haml 3.2.0.
Please add gem 'sass' to your Gemfile.

      create  app/controllers/pages_controller.rb
       route  get "pages/new"
       route  get "pages/index"
      invoke  haml
      create    app/views/pages
      create    app/views/pages/index.html.haml
      create    app/views/pages/new.html.haml
      invoke  rspec
      create    spec/controllers/pages_controller_spec.rb
      create    spec/views/pages
      create    spec/views/pages/index.html.haml_spec.rb
      create    spec/views/pages/new.html.haml_spec.rb
      invoke  helper
      create    app/helpers/pages_helper.rb
      invoke    rspec
      create      spec/helpers/pages_helper_spec.rb

Hamlのバージョンは、3.1.2 なので、上記警告文の意味がよく分からないが、とりあえず sass をインストールしてみることにする

gem install sass

また、Gemfile に以下を追加する

gem 'sass'

結局、haml, sassのバージョンは以下のようになった。

c:\dev\rails_app\rails3dojo>gem list
haml (3.1.2)
haml-rails (0.3.4)
sass (3.1.4)
...

そして、rails server を実行しなおす

  • (実行しなおさないと、sass が反応しない)

すると、先ほど変化しなかった #logo に色が付いた!

  • (RailsWizard で作成しただけでは、sass がインストールできていなかったようだ)
ショートカットメニューを追加

app\views\layouts\application.html.haml
に以下を追加

        %h3 Shortcuts
        %ul
          %li= link_to "Home", root_path
          %li= link_to "Pages", pages_path
          %li= link_to "New Page", new_page_path

どのページでもショートカットが見られるようになる。
すごい!

gem listの最終状態

c:\dev\rails_app\rails3dojo>gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.7)
actionpack (3.0.7)
activemodel (3.0.7)
activerecord (3.0.7)
activeresource (3.0.7)
activesupport (3.0.7)
annotate-models (1.0.4)
arel (2.0.10, 2.0.9)
builder (2.1.2)
bundler (1.0.13)
diff-lcs (1.1.2)
erubis (2.6.6)
haml (3.1.2)
haml-rails (0.3.4)
httpclient (2.2.0.2)
i18n (0.5.0)
jquery-rails (1.0.12)
mail (2.2.19)
mime-types (1.16)
nokogiri (1.4.4 x86-mswin32)
polyglot (0.3.1)
rack (1.2.3, 1.2.2)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (3.0.7)
railties (3.0.7)
rake (0.9.2, 0.8.7)
rspec (2.6.0, 2.5.0)
rspec-core (2.6.4, 2.5.1)
rspec-expectations (2.6.0, 2.5.0)
rspec-mocks (2.6.0, 2.5.0)
rspec-rails (2.6.1, 2.5.0)
rubygems-update (1.8.0)
sass (3.1.4)
soap4r (1.5.8)
sqlite3 (1.3.3 x86-mswin32-60)
sqlite3-ruby (1.3.3, 1.2.5 x86-mswin32)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0.3.29, 0.3.27)
webrat (0.7.1)
will_paginate (3.0.pre2)

自転車で浜岡原発まで行ってきた

浜松市街から浜岡原発まで往復してきました。
メンバーの一人がママチャリなので大丈夫かな?と思っていたのですが、全行程100kmをきっちり走破できたのがよかったですね。しかも平均速度も20kmはいってたし。

  • データ
    • 走行時間: 5:01
    • 走行距離: 100.7 km
    • 平均速度: 20.0 km/h
    • 最高速度: 43.4 km/h (一時的にスプリントしてみた)
  • スケジュール
    • 9:00 出発
    • 12:30 浜岡で昼食+原子力館見学
    • 14:15 帰宅開始
    • 17:00 帰宅

行きは、太平洋岸自転車道を使ったのですが、掛川を超えた辺りから砂が路上に積もっているところが多くあり、しかも積もりすぎていて自転車をこげなかった。というところがちといけてませんでした。(話には聞いていたけど、ここまでとは思わなかった)

帰りは150号線をひたすら走ってきました。こちらの道は路面も綺麗だし楽でした。


写真は太平洋岸自転車道(浜松御前崎自転車道線)

Rails3ルーティング道場の予習

https://github.com/hamamatsu-rb/hamamatsu-rb.github.com/wiki/%E6%B5%9C%E6%9D%BErails3%E9%81%93%E5%A0%B4-routing%E7%B7%A8
の予習

[解決済み] リダイレクトループ

  def view
    redirect_to :controller => 'catalog', :action => 'view', :id => 3
  end

だと、「このウェブページにはリダイレクト ループが含まれています」というエラーになる

  def view
    if params[:id] != "3"
      redirect_to :controller => 'catalog', :action => 'view', :id => 3
    end
  end

というようにコントローラを修正すればよい。

[未解決] ビューでidをtypoするとき、"."を入れると失敗する??

Viewで :id に "2.1" というように"."を入れると失敗する
No route matches {:action=>"view", :controller=>"catalog", :id=>"2.1"}
というエラーになる。

[未解決] rails consoleでの確認に失敗する??

rails console にて、

r.recognize_path '/products/1'

とか

r.generate :controller => 'catalog', :action => 'view', :id => '2' 

を実行すると、

RuntimeError: route set not finalized

というエラーが起きる。
よくわからない。

[未解決] rakeでWARNINGが出る

WARNING: Global access to Rake DSL methods is deprecated. Please include
... Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method RoutingDojo::Application#task called at C:/ruby/ruby-1.8.7/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks'

[解決済み] rake testが失敗する

エラーメッセージ

c:/dev/rails_app/routing-dojo/db/schema.rb doesn't exist yet. Run "rake db:migrate" to create it then try again. If you do not intend to use a database, you should instead alter c:/dev/rails_app/routing-dojo/config/application.rb to limit the frameworks that will be loaded

rake db:migrate を一旦実行しておくと、成功した。(メッセージ通り)

[解決済み] catalog_controller_test.rbの元からあるテスト

get :view

は以下のエラーで失敗するようになるので、コメントアウトしておく

1) Error:
test_should_get_view(CatalogControllerTest):
ActionController::RoutingError: No route matches {:action=>"view", :controller=>"catalog"}

[未解決] rake testでfunctionalのみ実行する方法

というものはないか?

ちなみに、Vistaではすっごい時間がかかる。4分。。。
標準出力に表示される時間ログは以下。(スタートするまでに何か色々頑張っているようだ)

  • unit:
    • Finished in 12.604106 seconds.
  • functional:
    • Finished in 13.207916 seconds.

[未解決] specを使えるようにする方法が分からない

というか、調べていない

[未解決] rootディレクティブが効かない??

config/routes.rbに

root :to => "welcome#index" # root_path => '/'

を書いても、http://localhost:3000/ の表示が変わらない

[メモ] Rails3のroutesの参考ページ

http://irohiroki.com/2010/08/29/rails3-routes

[メモ] routes.rbに同じ名前のRouteがあるときの動作

後のRouteが優先される

[メモ] scaffold

rails g scaffold item name:string body:text price:integer

というコマンドを使った。
routes.rbは編集されないようだ。なので、

resources :items

を追加すると色々うれしい。

[未解決] rouging errorになってしまう

config/routes.rbに

resources :items do
  member do
    get 'short'
    post 'toggle'
  end
end

を定義して、ビューに

<%= link_to toggle_item_url(:id => "1"), toggle_item_path(:id => "1") %>

を書くと、
http://localhost:3000/items/1/toggle
へのリンクを作成できるが、Routing Error になってしまう
なぜ?
ちなみに、
http://localhost:3000/items/1/short
はRouting Errorにはならない。
getとpostの違い??

[メモ] memberとcollectionの違い

resources :items do
  member do
    get 'short'
    post 'toggle'
  end
  collection do
    get 'sold'
  end
end

paramsに id=??? を受け取る/受け取らない の違い。
ちなみに、URLは以下のようになる
http://localhost:3000/items/1/short
http://localhost:3000/items/1/toggle
http://localhost:3000/items/sold

魔女と魔法少女の関係をクラス図にしてみた

とあるつぶやきを見て思い立ったので、魔女と魔法少女の関係をクラス図にしてみた。
まあ、魔女と魔法少女の関係というより、魔法少女による発電システムのクラス図だけど。


そして、まどかにより再編されたシステムも書いてみた。