2010年1月9日土曜日

ASDoc の書き方講座

仕事用に作ったまとめをそのまま転載。


■参考リンク
以下のリンクを見ておけば一通り大丈夫です。
ASDoc コメントの作成
ASDoc タグ一覧
@see タグや@copy タグの使用方法
びんた先生(beinteractive)のパーフェクトASDocタグ講座


■Flex 3 SDKのasdocコマンドを使ってみる
asdoc -helpを見れば良いのですが、helpが見づらくてややっこしいので、まとめてみました。
http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_9.html#142061
以下のコマンドを入力すればOKです。ここで、$FLEX_HOMEは Flex SDKをインストールしたパスです。
asdoc -compiler.source-path=自分が追加したいソースパス, -compiler.library-path=$FLEX_HOME/frameworks/libs,自分が追加したいライブラリパス -doc-sources=ドキュメントに出力したいソースのパス
$FLEX_HOME/frameworks/libsをライブラリパスに含めないとビルドが通らないのがくせ者です。JavaDocはtools.jarを自動的にパスに含めてくれるんだから、ASDocだって自動的にやってくれと言う気がします>< ちなみに、Flex Builderとか使えばこんな面倒な事をしなくても簡単にASDocを出力することができるみたいです。


■気をつけるところ
ASDocの最初の一文は必ずピリオドで終了する
腹立たしいですがピリオド{{.}}が最初の一文の区切りになっているようなので、句読点{{。}}ではなくピリオドを使いましょう。 たとえば、
package {
/**
 * ASDocのテスト用のクラスです.
 * 
 * 第一文は必ずピリオドで終了する必要があります。
 * 試しに上記のピリオドを句読点に変更してドキュメントを出力すると違いが分かると思います。
 */
 public class ASDocTestClass {}
 }
のように書く必要があります。こうしないと、ドキュメントを生成したときに説明文が長ったらしくなって困ります。

パスワードが無くなってログインできない Mac に無理矢理ログインする方法

会社で前任者が使用していたMacを使用する際など、管理者ユーザーのパスワードが紛失してしまってログインできなくなってしまう場合があります。っていうか、実際になって大変困りました><
このような場合、Mac OS Xでは「シングルユーザーモード」でOSを起動して、ユーザーのパスワードを自由に書き換えてログインできるようにすることができます。万が一の場合に便利なのでご紹介いたします。

参考にしたページはこちら。
http://d.hatena.ne.jp/viz3/20091029


■対象環境
  • Mac OS X 10.4以上であること (launchctlを使用するため)
  • UNIX / Linuxの対話環境についてある程度以上の知識があること
  • 失敗しても泣かない心があること
大変申し訳ありませんが、こちらに記載されている内容を実行して失敗してシステムが起動しなくなっても当方は責任を負いかねます><


1.シングルユーザーモードでMacを起動する
Macの電源を押して起動する際に、キーボードのCommand + Sキーを同時に押しっぱなしにしておくと、シングルユーザーモードで起動することができます。真っ黒な画面に文字がずらずら出てきたら成功です。


2./を読み書き可能にする(再マウントする)
画面上に
If you want to make modifications to files:
/sbin/fsck -fy
/sbin/mount -uw /
と表示されているので、ここに表示されているコマンドをそのまま入力します。コマンドの内容は以下の通り:
  • /sbin/fsck -fyは強制的にディスクチェックとディスクの問題修正を行う。-yがついているので、全ての問い合わせに対してYESを返したものと見なす。
  • /sbin/mount -uw /はすでに読み取り専用モードでマウントされている/を再度書き込み可能なモードでマウントし直す。

3.dsclをlocalonlyモードで起動する
お次はdsclというツールを使用します。ですがこのツールそのままでは起動できないようなので(dscl .とタイプするとなにやら警告が出ると思います)、以下のようにしてlaunchctlを使ってdsclツールの設定ファイルを読み込んでから、dsclをlocalonlyモードで起動します。
launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist
dscl localonly


4.対象のアカウントのパスワードを書き換える
dsclがlocalonly対話モードで起動したら、cdコマンドとlsコマンドを利用して対象のアカウントのある/Local/Target/Usersまで移動します。
 > ls
Local

Contact
Search
> cd Local
/Local > ls
Default
Target
/Local > cd Target
/Local/Target > cd Users
/Local/Target/Users > ls
ずらずらとここにアカウント名が羅列されるはず
ここまで移動できたら、以下のコマンドを入力すればパスワードが書き換わります。
passwd 対象のユーザー 新しいパスワード
たとえばさっきの状態からユーザーakisuteのパスワードをabesiに書き換えたいなら、
passwd akisute abesi
です。


5.再起動してログインする
あとは再起動して普通にMacを起動します。
reboot
先ほど入力したパスワードでログインできるはずです。


■注意
この方法を用いれば、物理的にアクセス可能な任意のMacの操作権限を奪うことが可能になってしまいます。くれぐれも悪用しないように。

逆に、この方法を用いてアクセスされたくないMacについては、以下のページで紹介されている方法を用いてシングルユーザーモードによる起動を禁止することができます。
Mac OS X 10.1 以降で、ファームウェアのパスワードプロテクションを設定する


■UNIX / Linuxユーザー向け
Mac OS Xのユーザーって、/etc/passwdじゃなくてDirectory Serviceで管理されてるんですねー。最初/etc/passwd以下を調べに行ってハマりました・・・

2010年1月3日日曜日

Google Code Prettify のテスト

■Python(自動判別)
abesi='abesi'
hidebu=3
print abesi+hidebu
def tawaba(n=0):
result = 0
for i in range(n):
result = result + i
return result
きちんと自動判別してくれているみたいです

■Python(言語指定)
abesi='abesi'
hidebu=3
print abesi+hidebu
def tawaba(n=0):
result = 0
for i in range(n):
result = result + i
return result
lang-pyを指定してみました

■Objective-C(自動判別)
NSString *abesi = @"abesi";
int hidebu = 3;
NSLog(@"%@%d", abesi, hidebu);
@synthesize anProperty;
#pragma mark -
#pragma mark Functions
int tawaba(int n) {
int result = 0;
for (int i=0; i<n; i++) {
result += i;
}
return result;
}
こちらも判別に成功。

■JavaScript(自動判別)
var abesi = 'abesi';
var hidebu = 3;
console.log("%s%d", abesi, hidebu);
// 日本語コメントのテスト
/**
* 日本語コメントのテスト
*/
function tawaba(n) {
var result = 0;
for (var i=0; i<n; i++) {
result += i;
}
return result;
}
日本語コメントのテストなど。

いまいち配色が気に入りませんが、svnのtrunkに直リンクしていてこちらでは修正できないのでまぁ仕方ないかなと思います。それからActionScript3に未対応なのがかなり不満です。外部CSSとJavaScriptが増えて重くなるしonloadのタイミングで実行しなくちゃいけないし・・・Googleらしからぬイマイチさ。