2008-04-01から1ヶ月間の記事一覧
Date クラスに直感的な (流れるような) インタフェースを実装してみた (ソースコード)。元ネタはこの一枚。 実行サンプルはこんな感じ。 var d = new Date(); => Wed Apr 30 2008 00:00:00 GMT+0900 (JST) d.tomorrow(); => Thu May 01 2008 00:00:00 GMT+09…
explorer.exe が終了し、タスクバーやデスクトップが消えてしまった際の対処法。 Ctrl + Shift + Esc でタスクマネージャを立ち上げる。 ファイル -> 新しいタスクの実行。 explorer.exe を入力して OK を押す。 これで explorer.exe が起動して、タスクバー…
HTML のスペシャルキャラクタをエスケープする Vim スクリプトを書いた。 :[range]call EscapeHTMLSpecialChars() として使う。 <p>hoge & foo</p> をエスケープすると <p>hoge & foo</p> となる。関数の内容は以下のとおり。初めて Vim スクリプト…
前回作った掲示板をリファクタリングした。主な改善点は BBS クラスと Post クラスに分けた。 ActiveRecord を使った。 設定ファイルを作った。 bbs.rb #!/usr/bin/ruby -Ku require 'rubygems' require 'erb' require 'cgi' require 'config' require 'lib/…
ターミナルの Vim にクリップボードのテキストをペーストするには、 :a! を入力して Alt + v などでペーストしてから <Esc> を押すか . を入力する (参考)。 ここで悩ましいのが :a と :a! の使い分けだが、ヘルプを見ると、 Adding [!] toggles 'autoindent' for</esc>…
Vim で編集中の Ruby スクリプトを、即時実行できるように設定した。 Vim で Ruby スクリプトの実行と結果のプレビュー表示 Tip #1244: preview interpreter's output 上記サイトを参考に、.vimrc に追記。 function! Ruby_eval_vsplit() range let src = te…
C-CR のマッピングは、ターミナルエミュレータ越しでは動かないらしい。少なくとも Poderosa では駄目だった。 nnoremap <C-CR> :echo "hoge"<CR></cr></c-cr>
Prototype.js の感覚で jQuery の $() を使ったら詰まった。 SWFObject で貼り付けた SWF のメソッドを ExternalInterface で呼び出そうとして、 $("flashMovie").doSomething(); と書いたら、$("flashMovie") には doSomething が無いと言われる。 それもそ…
文章を皮肉っぽくするブックマークレットを作った。 javascript:(function(){document.body.innerHTML=document.body.innerHTML.replace(/([、。])/g,'(笑)$1');})(); このブログを皮肉っぽくする google で検索したら、これよりも高機能なものを見つけた。
CentOS 5 の Vim に autocomplpop.vim を入れたら、 Sorry, Autocomplpop doesn't support this version of Vim. と言われて使えなかった。autocomplpop.vim (2.3.1) の中身を見ると、対応バージョンが 7.1 と書いてある。vim.org の情報が間違っているよう…
カレントバッファのファイルパスを表示する方法。意外に手間がかかる。 :!echo %:p または :echo expand("%:p")
サーバサイドのプログラミング能力が貧弱なので、勉強の第一歩として掲示板を作ってみた。ついでに Ruby も覚えてしまおうということで、Ruby で。 要件 名前と本文を投稿できる。 Ruby で動く。 データベースに MySQL を使う。 ビューに ERB を使う。 mod_r…
vim で単語数や行数を数える方法が便利。 :%s/function/&/gn で、ファイル内に function がいくつあるか表示される。 キモは 置換フラグの n。これを指定すると置換は行われずにマッチの数を表示する。he :s で、 [n] Report the number of matches, do not …
JavaScript のランタイムエラーは、起こると処理がそこで停止してしまう。たとえば initModuleA();//エラーが起こる可能性のあるモジュール initModuleB(); initModuleC(); alert("done"); このコードで initModuleA でエラーが起こると、以降、initModuleB …
Helma のデフォルト文字コードは ISO-8859-1 なので、UTF-8 にしたい。結論から言うと app.properties に charset = UTF-8 を書くだけでよい。 アドホックだと感じつつも、hac ファイル全てに res.charset = "UTF8" を追加した上で db.properties に hoge.us…
とあるコードにこのような行があった。 isHoge() && isFoo() && alert("ok"); やっていることは if (isHoge() && isFoo()) { alert("ok"); } なのだが、なるほどと思った。
Dmitri Gaskin による jQuery の解説動画を見た。jQuery の API を一通り解説している。英語も聞き取りやすく勉強になった。 ひとつ驚いたのが、この子が 12 歳だということ。 Dmitri Gaskin drinks code with his cereal for breakfast every morning. He's…
ターミナルの Vim に書いたテキストをクリップボードにコピーしたく、"vim・mac間でクリップボードを介してやり取りする方法 完結編" を参考にやってみた。 nkf が入っていない nkf が入っていなかったので、MacPorts で入れようとしたら MacPorts も入って…
『仕事の哲学』を読んだ。14 のカテゴリにわたって、ドラッカーの名言が引用されている。どのページを開いても心を揺さぶる言葉が書いてある。 成長 成果能力 貢献 強み 進むべき道 知識労働者 起業家精神 チームワーク コミュニケーション リーダーシップ …
Adobe - デベロッパーセンター : 外部APIを使用したFlashとJavaScriptの接続 FlashPlayer 7 以下では ExternalInterface が使えないので、Flash -> JavaScript の接続には getURL fscommand を使う。getURL はコードが単純になるが、IE でクリック音が鳴って…
TrimPath Junction を落として NextAction をちょっと触った。が、 NextAction よりも、Junction に付属している Helma に興味がわいたのでそちらを追ってみた。 仕組みもよくわからない状態で、チュートリアル (邦訳) をそのままトレースしてアドレスブック…