Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

できない

Javadocの{@value}タグで日本語が表示できない

Javadocには、static finalな定数のJavadocコメントに「{@value}」という内容を含めると、そこを定数の値で置き換えるという機能がある。 例えば、下記のようなコメントの場合Javadocには「ファイル名 ("AIUEO")」と表示される。 /** ファイル名 ({@value}) …

ExcelからPDFへのリンクでページ番号指定

Excelでは、セルのコンテキストメニューから「ハイパーリンクの編集」を使用して、セルにハイパーリンクを記入することができる。 PDFへのリンクの末尾に「#page=n」を付け加えると、PDFファイルを開いたときに任意のページを表示させることができる。*1 し…

Eclipse 3.3 (Europa) で行番号を付けて印刷

Eclipse 3.4 ではできるが、Eclipse 3.3 では行番号を付けた印刷ができない。 前述の設定を行っても、エディタのビューに行番号が表示されるだけで、印刷結果には行番号が含まれない。

シーケンス図で描けない処理

UMLのシーケンス図で以下の内容を記述する方法は定義されていない、はず。*1 例外のthrowとcatch 代用の方法としては以下のものがあるみたい。ちなみにアクティビティ図だと専用の記法がある。 フラグメントとして記述する例 *2 *3 シーケンス図を UML 1.5 …

Intel 82830なマシンにUbuntu 8.04がインストールできない

Intel 830 チップセット (Intel 82830 CGC (Chipset Graphics Controll)) を使用したマシンに Ubuntu 8.04 をインストールしようとすると、X Windows が起動せずインストールシーケンスが進まない。 具体的には、起動時のスプラッシュは問題なく表示されるが…

システムのプロパティからユーザ環境変数を変更

Windows Vistaでは、一般ユーザはシステムのプロパティからユーザ固有の環境変数を設定することができない。 http://support.microsoft.com/kb/931715/ja かわりに、コントロールパネル-ユーザアカウント-タスク「環境変数の変更」を使用する。

Microsoft Office IME 2007の不思議な辞書

一郎(いちろう) 二郎(じろう) 三郎(さぶろう) 四郎(しろう) 五郎(ごろう) 六郎(ろくろう) 七郎(しちろう) 八郎(はちろう) くろう 十郎(じゅうろう) 「九郎」だけなぜか変換できない。「くろうほうがん」(あるいは「くろうはんがん」)も…

Windows PowerShellスクリプトにDrag&Dropはできない

Windows Scripting Hostでは .vbs ファイルや .js ファイルに他のファイルをDrag&Dropして処理を行うことができたが(バッチファイルも同様)、Windows PowerShellではスクリプトファイル(.ps1)に他のファイルをDrag&Dropすることはできない。 HTMLアプリケ…

署名なしのWindows PowerShellスクリプトは実行できない

Windows PowerShellでは、署名のないスクリプト(.ps1ファイル)はデフォルトでは実行できない。 Set-ExecutionPolicyで環境の実行ポリシーを変更*1するか、スクリプトに対して署名を行う*2必要がある。 *1:http://www.microsoft.com/japan/technet/scriptce…

Windows Scripting Hostでタイムスタンプ変更

Windows Scripting Hostでは、ファイルのタイムスタンプの取得はできるが変更はできない*1。もちろん、外部コマンドの力を借りれば別。 *1:http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/feb07/hey0213.mspx

再帰構造を扱うTailib

Struts(1.x系列)付属のTaglibには、再帰構造を扱えるものがない。再帰的なデータ構造を使う代わりに、平坦なデータ構造でまかなえないか検討すること。 あるいは、再起構造を扱うTaglibを作成すること。

JavaScriptでsprintf

JavaScript の標準ライブラリには sprintf がないため、ちょっとした文字列整形でも一苦労。

JavaScriptで文字列プレースホルダ

文字列中の{0}, {1}, ……のような文字列を引数に指定した文字列で置換する処理 *1 はJavaScriptの標準ライブラリには存在しない。 これもやはり文字列連結でまかなう他ないが、文字列をくくりだそうとすると細切れになって困る。 *1:.NET のString.Format()メ…

JavaScriptでヒアドキュメント

JavaScriptにはヒアドキュメントがない。 ヒアドキュメントのように、複数行の文字列を変数に持たせたい場合は、たとえば以下のようにする。 var linkTag = [ '<div>', ' <a href="http://www.yahoo.co.jp">Yahoo! Japan</a>', '<div>" ].join("\n");また、Perl や Ruby のヒアドキュメントのように、文字列</div></div>…

サスペンドができない

VMware の VM をサスペンドしようとすると、以下のメッセージが表示されてサスペンドができない場合*1 *2。 Error taking snapshot: Unable to save snapshot in .. Please verify that the directory exists and you have write permissions. Failed to sus…

zip と lzh の限界値

zip,lzh形式とも、1つの書庫に格納できるファイルは65535個程度の模様。Windows付属の圧縮機能とlhazで確認しました。 注意事項として、この場合正常終了した場合と変わらずエラーを表示せずに書庫の作成が完了します。正常終了したように見せかけて結果は異…

Kdiff3 (Windows) で日本語表示

Windows版の Kdiff3 には、日本語の表示がうまくできないバグがある模様。おそらく、2バイト文字の文字幅を1バイト文字と同じに解釈してしまっているのではないか。 「文字単位での比較」ができる珍しい diff なんだけどなぁ……

for 文の内容を並列実行

シェルスクリプトの for i in *; do echo $i; doneみたいなのがスケールアウトするようにならないかなぁ、という妄想。

Windows の echo には -n オプションがない

Linux やら FreeBSD やらに付属の echo コマンドでは、 -n オプションを指定すると末尾に出力される改行が抑制される。 つまり $ echo -n abc > hoge.txt $ echo def >> hoge.txt $ cat hoge.txtとやると "abcdef" と出力される。 一方、Windows のコマンド…

OmegaT で英文の区切りを設定する

OmegaT は、文中にピリオドを見つけるとそれを文の末尾と判断して表示を行う。そのため、次のようなことはできない。 複数の英文を1つの日本語文に対応させることができない。無理矢理入力することは可能だが、翻訳メモリのデータとしては正しい形にならな…

OmegaT でメイリオ

Windows XP でも MS Visual C# Express Edition をインストールすればメイリオが使えるようになる。 ……が、OmegaT で使用するフォントをメイリオに設定すると、OmegaT が終了する。具体的には、以上終了を示すダイアログ等は表示されず、メニューから [プロ…

デフォルトエンコーディング

Java VM 実行時のデフォルトエンコーディングは OS および実行時の locale によって決定される *1。 ……とあるが、どの OS でどの locale だったらどのエンコーディングになるかは規定されていない模様。 *1:http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs…

VB でブロックコメント

ブロックコメントというのは、 C で言えば /* 〜 */ みたいな、複数行に渡るコメントを書くときの書き方のこと。 VisualBasic ではこのようなコメントを書くことができない(行頭に ' を並べるしかない)。 diff を取ったときにコメントアウトした行が必ず出…

Microsoft PowerShell は Windows 2000 では動かない

http://slashdot.jp/comments.pl?sid=340689&cid=1059288 RC1は、Orcaでmsiを開いて、チェックしているWindowsのバージョンを置換えたらインストールできました。 ということなんだけど、 Version 1.0 になったら msi パッケージは提供されなくなってしまっ…

オフラインファイル機能をキャッシュとして使う

Windows XP には「オフラインファイル」という機能がある。リモートのドライブをマウントしているときに、リモートとの接続が切断されても、オフラインファイルに指定したディレクトリの内容だけはアクセスできる(つまり、ローカルにファイルのコピーが取ら…

Thunderbird でメールを受信せずに削除

Thunderbird のメッセージフィルタでは、nPOP のように「メールを受信せずに削除」することはできない。少なくともデフォルトでは。 これができたら便利なんだけど……どこかにそういう拡張とかないですかね。

印刷内容のトリミング

セキュアドの過去問を印刷しようとしたんだけど、 2-up にしたらマージンが目立つね…… 縦横比を固定しつつ周囲の空白を削除して、そのあと用紙端まで拡大して印刷、とかいうプログラムがあったら 2-up にしても文字が大きくて読みやすいのに。というわけで「…

MaxiVista を Wine 上にインストール

Vine Linux 3.2 + Wine 20050830 の環境に MaxiVista をインストールして、セカンドディスプレイにしたい。 $ wine Maxivista_Setup_SecondaryPC.exeとするとインストーラ自体は問題なく起動するのだが、インストール先ディレクトリの指定でエラー。どんなデ…

連想配列の初期化

var titles = new Array( authors[0]:new Array("デカスロン", "へうげもの", "度胸星"), ...みたいなことはできないみたい。 つまり、連想配列の初期化を行う際に、その場で new したオブジェクトを値に使うことはできない。

RubyGem で入れたライブラリを require

Vine Linux 3.2 の上に無理矢理 ruby-1.8.4 をインストール さらに RubyGems もインストール RubyGems から sqlite3-ruby をインストール ……とやっても、 ruby スクリプトから sqlite3 を require すると…… ./dbtest.rb:3:in `require': no such file to loa…