読者です 読者をやめる 読者になる 読者になる

appletviewerにクラスパスを渡す方法

JavaにはJavaアップレットを簡単に起動する方法としてappletviewerがある。

appletviewer hoge.html

本来これだけでアップレットが起動出来る(hoge.htmlは予めちゃんと書いておく)のだが、jarファイルが違う場所にあって、java.lang.NoClassDefFoundErrorで半日悶える羽目になったのでメモしておく。
結論から書くと、-Jオプションを使えば良い。

appletviewer -J-Djava.class.path=クラスパス hoge.html

-J-cpや-J-classpathは使えなかった(スペースが上手く扱えなかった可能性がある)。
あと-Jオプションは非標準なので将来使えなくなる可能性がある。

尚、バージョンはJavaSE8でした。

ChromeExtensionのはてブでブックマークに失敗する

私は「はてなブックマーク GoogleChrome 拡張」のユーザなのですが、時折ブックマークをした時に

申し訳ありません、以下の URL のブックマークに失敗しました。しばらく時間をおいていただき、再度ブックマークください。

と表示されてその後何度やり直しても同じエラーになってしまうことがありました。
これは、Chrome extensionのはてブはログイン出来ているのに、Webサイトの方がログアウトされていることが原因だったようです。
なのでhttp://b.hatena.ne.jp/の方でログインしなおしたら直りました。

ある拡張子のファイルをWindows標準の圧縮解凍機能に関連付けしたい

環境はWindows7。Windows10でも出来るし、他のバージョンのWindowsでも出来ると思う。

手元にzip方式で圧縮されているのだけど拡張子がzipでないファイル(仮に*.hogeとする)があり、Windows標準の解凍圧縮機能(エクスプローラで閲覧とか出来て便利)を使いたいと思って方法を調べた。
右クリックメニューの「プログラムから開く」だとWindows標準の解凍方法には関連付けができないようだ。

結論から書くと、コマンドプロンプトを使う。
コマンドプロンプトを「管理者として実行」で起動して下記コマンドを打ち込めばOK。
assoc .hoge=CompressedFolder

.zipもCompressedFolderなので、それと同じ振る舞いをするようにこれで出来た。
詳細はftypeコマンドも調べるとよく分かる。

設定されたか確認するには
assoc .hoge
と打ち込む。正しく設定出来ていれば

.hoge=CompressedFolder

と表示される。

解除するには
assoc .hoge=
と打ち込めば良い。assoc .hogeで確認してみると、

拡張子 .hoge のファイルの関連付けが見つかりません

と表示されるので正しく解除されていることが分かる。

参考:
ZIP ファイルの関連付けの設定を初期化したい
コマンド・プロンプトでファイル拡張子の関連付けを変更する − @IT

invalid tar magic

Twitterにはメモ書きしたのだけれども流れてしまうのでブログにも書く方が良さそうだと思って。

tarファイルをtarコマンドで解凍(展開?)しようとした時に「invalid tar magic」と出力されて解凍に失敗することがある。
このメッセージが出た場合はtarファイルが破損している可能性があるので、再度tarファイルを取得し直したら直る。
自分はFTPで転送したtarファイルが破損していて駄目だったので再転送した。

うっかりjarファイルをtarコマンドで解凍しようとした時にも「invalid tar magic」って言われた……。

Microsoft IMEで「単語の登録に失敗しました」と出て単語が登録できない

OSはWindows7

プロパティ>辞書/学習タブ
辞書ツールの右の方にある「修復」ボタンを押して修復を行う。
これで無事に単語登録ができるように直りました。

参考にしました:
Windows7 IME 辞書ツールで単語の登録に失敗しました

VMWare Playerで「仮想マシンはビジー状態です」と表示されて終了も起動も出来なくなった時

環境はWindows7です。

VMWare Playerで仮想マシンのパワーオフ時にフリーズしてしまい、再度パワーオフを選ぶも「仮想マシンはビジー状態です」とのダイアログが出て進まなくなってしまいました。

仮想マシンのデータのあるフォルダに行って*.lckファイルをさっくり削除(心配なら別のフォルダに退避させておく)し、ホストPCを再起動したら復活してくれました。
ちなみに横着してホストPCを再起動しなかったら、仮想マシン起動時にまたビジー状態になってしまい、そのまま*.lckファイルが出来てしまいました。

参考:VMware起動時に「仮想マシンはビジー状態です」と出て起動しない | ogatism

onloadなど

JavaScriptキホンのキからということで。

<body onload="hoge()">
とすれば、bodyが読み込まれた時(読み終えた時?)に、hoge functionが呼び出される。

<body onload="hoge(fuga)">
勿論、引数も渡せる。

onloadとは逆にonunloadというものもあって、
<body onunload="hoge()">
とすれば、ページを離れる際にhoge functionが呼び出されるみたい。

<body onbeforeunload="hoge()">
というのもあって、onunloadの前に呼ぶらしい。
実際にページ遷移する前に確認ダイアログを出したり出来るようだ。

でも、後者2つはブラウザによって動いたり動かなかったり中途半端に動いたりとまちまちだったので、標準って感じがしないですね……。

ところで、HTML5 JavaScriptの正式な仕様書って何処に在るんでしょう?