2008-01-01から1年間の記事一覧

Progression の Preloader で読み込み中のバイト数を得る

Progression の Preloader クラスで、読み込み中のバイト数を得る方法。seyself さんの記事を参考にした。 Preloader クラスは flash.display.Loader クラスを継承した ExPreloader クラスを継承している。 従って progress イベントが発生するので、それを…

flash.display パッケージを理解するためのメモ

flash.display パッケージを理解するためのメモ。ActionScript 2.0 の MovieClip が細分化された感じ。 import flash.display.*; DisplayObject 表示オブジェクトの基本クラス。抽象クラスなのでインスタンス化できない。 Bitmap ビットマップの表示クラス。…

協業のためのクラス設計

協業のためのクラス設計についての考察。 クラス毎に分業化する場合、 クラス名 API イベント プロパティ この 4 点について取り決めを行い、内部実装は各担当に任せる。 「目覚まし時計」を設計する例 クラス名 AlarmClock API setAlarmTime(time:Time):Tim…

ソフトウェア開発者採用ガイド

『ソフトウェア開発者採用ガイド』を読んだ。Joel が採用のポリシーを熱く語っている。 耳が痛いのが P.108 の言葉。若干文を変えてある。 多くの「スクリプト屋」たちは JavaScript のスニペットをホームページにコピーするところからプログラミングを始め…

コンテナ内の全ての子 DisplayObject を削除する方法

久々の Flash プロジェクトで ActionScript 3.0 のキャッチアップに忙しい。下手に ActionScript 2.0 を知っていると、逆にラーニングコストが上がる気がする。 さて本題。コンテナ内の全ての子 DisplayObject を削除するには、幾つか方法がある。Essential …

Passenger (mod_rails) を入れた

Passenger (mod_rails) を入れた。以下、手順。 $ sudo yum install gcc-c++ httpd-devel ruby-sqlite3 $ sudo gem install passenger $ sudo passenger-install-apache2-module インストールはたったこれだけ。次に httpd.conf に追記する。 # Configure fo…

coLinux + Fedora Core 6 で開発環境を構築する

ThinkPad X40 に coLinux を入れて開発環境を作った。VMware ではなくて coLinux を採用したのは軽いと評判だから。実際入れてみたところ、明らかに VMware より起動が速い。鬼門とされるネットワークの設定も特に難しくはなかった。 ディストリビューション…

3 分間ネットワーク基礎講座

『3 分間ネットワーク基礎講座』を読んだ。3 Minutes Networking の書籍版である。 OSI 参照モデル (アプセトネデブ) を広く浅く解説している。 普段の業務では関わることの少ない、低レイヤの仕組みが勉強になった。

Date クラスの直感的なインタフェース

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 が終了した際の対処法

explorer.exe が終了し、タスクバーやデスクトップが消えてしまった際の対処法。 Ctrl + Shift + Esc でタスクマネージャを立ち上げる。 ファイル -> 新しいタスクの実行。 explorer.exe を入力して OK を押す。 これで explorer.exe が起動して、タスクバー…

HTML のスペシャルキャラクタをエスケープする Vim スクリプトを書いた

Vim

HTML のスペシャルキャラクタをエスケープする Vim スクリプトを書いた。 :[range]call EscapeHTMLSpecialChars() として使う。 <p>hoge & foo</p> をエスケープすると &lt;p&gt;hoge &amp; foo&lt;/p&gt; となる。関数の内容は以下のとおり。初めて Vim スクリプト…

Ruby で掲示板の CGI を作る #2

前回作った掲示板をリファクタリングした。主な改善点は BBS クラスと Post クラスに分けた。 ActiveRecord を使った。 設定ファイルを作った。 bbs.rb #!/usr/bin/ruby -Ku require 'rubygems' require 'erb' require 'cgi' require 'config' require 'lib/…

ターミナルの Vim にクリップボードの内容をペーストしたい

Vim

ターミナルの Vim にクリップボードのテキストをペーストするには、 :a! を入力して Alt + v などでペーストしてから <Esc> を押すか . を入力する (参考)。 ここで悩ましいのが :a と :a! の使い分けだが、ヘルプを見ると、 Adding [!] toggles 'autoindent' for</esc>…

編集中の Ruby スクリプトをその場で実行する

Vim で編集中の Ruby スクリプトを、即時実行できるように設定した。 Vim で Ruby スクリプトの実行と結果のプレビュー表示 Tip #1244: preview interpreter's output 上記サイトを参考に、.vimrc に追記。 function! Ruby_eval_vsplit() range let src = te…

ターミナルでは C-CR のマッピングが有効にならない

Vim

C-CR のマッピングは、ターミナルエミュレータ越しでは動かないらしい。少なくとも Poderosa では駄目だった。 nnoremap <C-CR> :echo "hoge"<CR></cr></c-cr>

jQuery の $() の戻り値は jQuery オブジェクト

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 7.1 をビルドする

CentOS 5 の Vim に autocomplpop.vim を入れたら、 Sorry, Autocomplpop doesn't support this version of Vim. と言われて使えなかった。autocomplpop.vim (2.3.1) の中身を見ると、対応バージョンが 7.1 と書いてある。vim.org の情報が間違っているよう…

カレントバッファのファイルパスを表示する

Vim

カレントバッファのファイルパスを表示する方法。意外に手間がかかる。 :!echo %:p または :echo expand("%:p")

Ruby で掲示板の CGI を作る

サーバサイドのプログラミング能力が貧弱なので、勉強の第一歩として掲示板を作ってみた。ついでに Ruby も覚えてしまおうということで、Ruby で。 要件 名前と本文を投稿できる。 Ruby で動く。 データベースに MySQL を使う。 ビューに ERB を使う。 mod_r…

任意の単語の数を調べる

Vim

vim で単語数や行数を数える方法が便利。 :%s/function/&/gn で、ファイル内に function がいくつあるか表示される。 キモは 置換フラグの n。これを指定すると置換は行われずにマッチの数を表示する。he :s で、 [n] Report the number of matches, do not …

フォールトトレラント設計 のための try..catch 節

JavaScript のランタイムエラーは、起こると処理がそこで停止してしまう。たとえば initModuleA();//エラーが起こる可能性のあるモジュール initModuleB(); initModuleC(); alert("done"); このコードで initModuleA でエラーが起こると、以降、initModuleB …

Helma の文字コードを UTF-8 にする

Helma のデフォルト文字コードは ISO-8859-1 なので、UTF-8 にしたい。結論から言うと app.properties に charset = UTF-8 を書くだけでよい。 アドホックだと感じつつも、hac ファイル全てに res.charset = "UTF8" を追加した上で db.properties に hoge.us…

if 文のワンライナー化

とあるコードにこのような行があった。 isHoge() && isFoo() && alert("ok"); やっていることは if (isHoge() && isFoo()) { alert("ok"); } なのだが、なるほどと思った。

jQuery の解説動画を見た

Dmitri Gaskin による jQuery の解説動画を見た。jQuery の API を一通り解説している。英語も聞き取りやすく勉強になった。 ひとつ驚いたのが、この子が 12 歳だということ。 Dmitri Gaskin drinks code with his cereal for breakfast every morning. He's…

ターミナルの Vim のテキストをクリップボードにコピーする

ターミナルの Vim に書いたテキストをクリップボードにコピーしたく、"vim・mac間でクリップボードを介してやり取りする方法 完結編" を参考にやってみた。 nkf が入っていない nkf が入っていなかったので、MacPorts で入れようとしたら MacPorts も入って…

仕事の哲学

『仕事の哲学』を読んだ。14 のカテゴリにわたって、ドラッカーの名言が引用されている。どのページを開いても心を揺さぶる言葉が書いてある。 成長 成果能力 貢献 強み 進むべき道 知識労働者 起業家精神 チームワーク コミュニケーション リーダーシップ …

FlashPlayer 7 以下では fscommand を使う

Adobe - デベロッパーセンター : 外部APIを使用したFlashとJavaScriptの接続 FlashPlayer 7 以下では ExternalInterface が使えないので、Flash -> JavaScript の接続には getURL fscommand を使う。getURL はコードが単純になるが、IE でクリック音が鳴って…

Helma を触ってみた

TrimPath Junction を落として NextAction をちょっと触った。が、 NextAction よりも、Junction に付属している Helma に興味がわいたのでそちらを追ってみた。 仕組みもよくわからない状態で、チュートリアル (邦訳) をそのままトレースしてアドレスブック…

続・ActionScript の辞書ファイル

追記 : 2008.05.08 ↓下記のサイトに置いてある辞書ファイルの方が性能がよいので、本サイトはスルーしていただいて構いません。 AS3 の辞書ファイル - PBD - subtech 追記ここまで ここの actionscript.vim からキーワードを抜き出して辞書ファイルを作った…