2008-07-01
■ [mac] MacBookのバッテリーを最高の状態にする方法
要するに、たまにバッテリーを空にしてやるといいらしい。
んで、
と書いてあったので、特にアプリケーションを終了したりせずバッテリが切れるまで待ってたら、ごく普通に再起動した。このとき、PowerBook G4 (15-inch Double-Layer SD)(および MacBook、MacBook Pro)コンピュータに組み込まれた“セーフスリープ機能”により、コンピュータのメモリ内容はハードディスクドライブに保存されます。
なんという罠…間違いなくジョブズは現代の孔明
■ [vim] F2を押すと現在時刻を入力するvimscriptを書いた
こんなのを.vimrcに書いておく。
" 時間挿入 function! GetCurrentTime() return strftime(" @%H:%M", localtime()) endfunction noremap <F2> a<C-R>=GetCurrentTime()<CR><Esc>
と、コマンドモードでF2を押すことで「@14:40」のような文字列が入力される。
作業ログを書くときに便利。
■ [javascript] Rails風のJavaScriptフレームワーク、SproutCoreを試してみた
SproutCoreの特徴:
- JavaScriptで、デスクトップアプリみたいなGUIを持ったWebアプリを作るためのフレームワーク
- ユーザが書くのはJavaScriptのみ
- だけど、開発環境はRails風
- GUI部分はMac OS XのCocoaの影響を受けている
アップルのMobileMeの実装にも使われているとか…。
- TechCrunch Japanese アーカイブ » アップルのMobileMeを試してみたい人は、SproutCoreをチェックしよう
- InfoQ: JavaScriptをMVCに適応- Sprout Core
- 新星誕生!? JavaScript版Cocoa on Rails"SproutCore"に注目 | エンタープライズ | マイコミジャーナル
- アップル、ウェブアプリに向けオープンな「SproutCore」技術を採用か?:ニュース - CNET Japan
インストール
RubyGemsから簡単にインストールできる。
gem install sproutcore
merb-coreとか入るんだ。へぇ。
Helloチュートリアル
本家のHello Worldチュートリアルをやってみるよ。
まずはプロジェクト作成。
$ sproutcore hello_world
カレントディレクトリにhello_worldというディレクトリができる。 サーバを起動してみよう。
$ cd hello_world $ sc-server
こんな画面が表示されます。
次は実際にファイルを書き換えてみる。hello_world/clients/hello_world/english.lproj/body.rhtml に一行追加する。
<div class="message"> <%= label_view :my_label, :tag => 'h1', :inner_html => 'Hello World!' %> ...
ページをリロードすると、「Hello World!」と大きく表示されてるはず。
コントローラとビュー
次に、hello_world/ 以下に戻って、コントローラを作ってみる。
$ sc-gen controller hello_world/app
clients/hello_world/controllers/app.jsを書き換えて、コントローラオブジェクトに情報を追加してみる。
// TODO: Add your own code here. greeting: "Hello Sprout!" //この行を追加
でもって、ビューの方でこれを参照するように変更する。hello_world/clients/hello_world/english.lproj/body.rhtml を以下のように書き換える。
<div class="message"> <%= label_view :my_label, :tag => 'h1', :bind => { :value => 'HelloWorld.appController.greeting' } %> ...
ページをリロードすると、「Hello World!」が「Hello Sprout!」に変わったはず。
ちなみに:bindを使うと、コントローラの保持する値はビューに自動的に反映される。 もしFirefox上でFirebugを使ってるなら、コンソールで以下のJavaScriptを実行してみてほしい。
HelloWorld.appController.set('greeting', 'I am changing!')
表示が変わったはずだ!
つづく?
とまあ、今日のところはここまで。本家ではこのあと「ボタンを付けてみよう」に続くよ。
■ [ruby][event] RejectKaigi & RejectRejectKaigi2008 発表者まとめ
まとめてみた。
RejectKaigi
タイトル | 発表者 | 発表資料 |
---|---|---|
1.8.5 追悼 | 卜部 | |
Redmine と Ruby 1.9.1 への道 | yugui | blog |
Ramaze | マイクル(Michael Fellinger) | Ramazeの中の人らしい。 |
変なネットサービスが出来るまで | 星暁雄 | |
reposh - ハッカーのためのリポジトリシェル | yhara | blog |
String#succ | 田中哲 | blog |
音プログラミング | takkaw | |
illustrator プレゼンテーション | 志村 | blog |
infix to postfix | shinh | blog |
NDD (Niconico Driven Devevlopment) | 井上泰之 | blog |
TechTalk.jp と、あとニコニコ動画もよろしくね | coji | |
KaigiFreaks | しまだ | slideshare |
やる夫で学ぶJRuby最適化 | 高井 | blog |
Regional RubyKaigi の御提案 | かくたに | blog |
RejectRejectKaigi
タイトル | 発表者 | 発表資料 |
---|---|---|
3の実装の時にアホになるRuby | Yoshiori | |
Decimal | 斎藤ただし | Decimal |
ひとばんでつくるRuby+Greasemonkey+Safari | 加藤和良 | |
Arawd on RailsのCMをさせてください | id:technohippy | スライド |
Gauche on Rails | id:yuum3 | blog |
Hash::mapが僕にとってアフォーダンスに優れていない件について | ミムラ(id:takkan_m) | |
私はいかにしてRubyKaigiを私物化したか | ただただし | blog |
RubyでIdenticon | swdyh | blog, quilt, identicon.relucks.org |
tDiaryとHikiで使うBayesFilter | 黒田拓 | malagma |
Rubyで作ろう 二次元プログラミング言語「ず」コンパイラ | naoya_t | blog |
YARVを偲んで(YARVはゴールではなく始まり) | ささだ | nadoka, Rabbit |
Rubyバイトコードで遊ぼう | 赤井駿平 | スライド(rd), Rimple |
require 'future' | cho45 | Resh |
サンプルをみると,ほんとにJSからSQLまで発行しているみたいですね.へんなクエリを投げられてもデータが破壊されない仕組みとかはあるのでしょうか.<br><br>http://github.com/sproutit/sproutcore-samples/tree/master/clients/photos/main.js
ほんとだw これはちょっとぎょっとしますね。<br>入力内容はexecuteSqlがチェックしてくれるんでしょうけど、「任意のJavaScriptが実行される脆弱性」が存在した際の被害が大きそうだなぁ。
Michael FellingerはRamazeの中の人なので、ramaze.net か http://manveru.net/ でしょうか。
しまださんによるKaigiFreaksの資料はここにあります: http://www.slideshare.net/snoozer05/20080622-reject-kaigi2008-kaigi-freaks/
かくたにさん、daraさん:<br>情報ありがとうございます。<br>中の人だったのか、全然分かってなかったorz
わかっててramaze-usersを用意したのかと思ってました :-D