IMG_7323 2011 年初二.jpg by Ray Yu on Flickr.

seen from Nepal
seen from Türkiye

seen from Netherlands
seen from Saudi Arabia
seen from Russia

seen from Türkiye
seen from Russia
seen from Brazil
seen from Germany

seen from Bulgaria
seen from Yemen
seen from Yemen
seen from Yemen
seen from United States

seen from United States
seen from United States
seen from United States
seen from United States
seen from Italy

seen from United States
IMG_7323 2011 年初二.jpg by Ray Yu on Flickr.
JavaScript は難しい
Rack と Kyoto Tycoon で何か作る件だが、とりあえず Memo を記録するアプリを作ってみた。下記は Haml で書いたビューなのだが、改めて JavaScript が難しい。というか取っ付きにくい。
メモの入力欄に textarea を使っているので、単に Enter を押しただけでは submit されない。改行されるだけ。何か修飾キーを押しながら Enter で保存をしようと思い、JavaScript を書いてみた。これまでも何冊か本を読んでは来たのだが、まったく身に付いてない。Google 先生に聞いてみると、実装依存のところが多い。困ったので JQuery に頼ってしまった。
慣れればそんな事はないのだろうが、Ruby における irb にあたるものが無い。無いことはないか。今回は Safari の Web インスペクタを使った。コマンドラインとブラウザ画面の関係が掴みづらいのかも知れない。Rails でも Model のテストはやり易いが、Controller のテストは面倒だ。同じことかしら。
きっと、何か良い方法があると思う。
!!! 5 %html %head %meta{ 'http-equiv' => 'content', :content => 'text/html; charset=utf-8'} %title Note :css div#main { width: 600px; margin-right: auto; margin-left: auto; } #header { margin: 0px 0px 30px 0px; } #header h1 { padding: 0px 0px 0px 20px; border-style: dotted; border-width: 0px 0px 1px 0px; } #header form{ padding: 0px 0px 0px 20px; } #main article header { border-left: 10px solid gray; border-bottom: 1px dotted gray; margin: 5px 5px 5px 5px; padding: 5px 5px 5px 5px; } #main article header time { display: inline; } #main article header form { display: inline; } div.content { margin: 0px 5px 5px 20px; padding: 0px 5px 5px 5px; } #main article footer { margin: 5px 5px 5px 20px; padding: 5px 5px 5px 5px; } #footer { border-style: dotted; border-width: 1px 0px 0px 0px; margin: 0px 0px 0px 0px; padding: 1px 5px 5px 25px; } %script{'type'=>'text/javascript', 'src'=>'http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js'} :javascript $(document).ready(function(){ var commandDown = false; $('#content').keydown(function(event) { if (event.keyCode == '91') { commandDown = true; } if ((event.keyCode == '13') && (commandDown)) { $('#add').submit(); } }); $('#content').keyup(function(event) { if (event.keyCode == '91') { commandDown = false; } }); }); %body %div#main %header#header %h1 Memo %form#add{"action"=>"/", "method"=>"post", "accept-charset"=>"utf-8"} %p %label{"for"=>"content"} Content: %br %textarea#content{"name"=>"content", "value"=>"", "cols"=>"80", "rows"=>"3"} %br %input{"type"=>"submit", "value"=>"Add"} %span ( Command + Enter ) - notes.each do |n| %article %header %time{"pubdate"=>"pubdate", "datetime"=>"#{n.date.xmlschema}"}= n.date %form{"action"=>"/", "method"=>"post", "accept-charset"=>"utf-8"} %input{"type"=>"hidden", "name"=>"key", "value"=>n.key} %input{"type"=>"hidden", "name"=>"_method", "value"=>"delete"} %input{"type"=>"submit", "value"=>"Delete"} %div.content :markdown #{n.content} %footer %footer#footer %p %a{"href"=>"http://twitter.com/sadayuki"} KURANO, Sadayuki
@sadayuki on 2011-02-04
13:56 - 「不足しているのは顧客」大変だが面白い時代。 :: つまり「高品質」では競争に勝てないということ - 【BLOGOS】 - livedoor ニュース for スマートフォン - http://bit.ly/gQ25aT
14:01 - 後で良く読む。 :: Ruby on Rails 3.0 日記 - Ruby on Rails with OIAX - http://bit.ly/e6MrDa
14:12 - 長く禁煙していた人が、急にタバコを吸うと、重い肺炎になる可能性があるそうだ。 :: 禁煙3年、1日解禁で「肺に影」急性気管支炎に 財務省&JTの“再喫煙マネー”政策 - http://bit.ly/hfas3y
17:10 - 「ほしにく味」の方を食べた。割とうまかった。でもマンモスの肉じゃないわな。 :: 誰もが思い浮かべるであろう形を採用、マンモスの肉をイメージしたスナック「骨つきマンモスの肉!?」を食べてみました - GIGAZINE - http://bit.ly/efs2QV
17:14 - 三男が発熱。学校ではインフルエンザが流行っているようで、もしかすると罹患したかも。
17:33 - 「極端に言うと1stのファンを切り捨てたような作品」とは思わなかった。「ならどうやって勝ち負けを決める?どこで終りにすればいい?敵である者を全て滅ぼして…かね?」良い台詞だったな。 - http://bit.ly/gJQdyg
17:40 - 濫用の疑いを晴らすにはせめて事後検証が可能仕組みを作ることと、濫用の責任を問えるようにしておくことか。 :: 監視国家への道?ー表現の自由を萎縮させ通信の秘密を脅かしプライバシーを侵害する恐ろしいコンピューター監視法 - http://bit.ly/ftsfBp
23:19 - Blog投稿 :: JavaScript は難しい → http://bit.ly/eVufx3
23:56 - 教授のオリジナルより、こっちの方が好き。 Now Playing: “1000 Knives / 千のナイフ” from “BGM” (Yellow Magic Orchestra)
Morgan Lucas Racing test notes 2011-02-04 PALM BEACH, Fla.