2014-02-09
[NetBeans] ライブラリとNoClassDefFoundError
ライブラリとなるプロジェクトを右クリック、「生成物を削除して構築」で読めるようになる可能性あり。
2013-12-29
Starting out Windows Powershell
Windows Powershell を始めるにあたってのメモ
ダウンロード
Win7以上の対応で最新版はPowershell4.0 (2013.12.29現在)。Windows Management Framework 4.0パッケージに含まれている。
Microsoft Download Center - Windows Management Framework 4.0
なお、Microsoft .NET Framework 4.5 が必要。
Microsoft Download Center - .NET Framework 4.5
2013-12-25
Win7の小ネタ
エクスプローラー
- Ctrl+フォルダをダブルクリック:新しいウィンドウで開く
- Shift+右クリック:拡張メニューを表示(「パスとしてコピー」などが便利)
タスクバー
- アイコンをShift+クリック:新しいインスタンスを開く
- 起動してないアイテムのアイコンをShift+右クリック:通常のファイルに対するコンテキストメニューを表示
PukiWiki Advance セットアッップのメモ
自前サーバでPukiWiki(Advance)をセットアップしたときのトラブルのメモ。
スペックWindows7(x86), Apache2.4, PHP 5.4.23, PukiWiki Advance v1.0.3
(PHP5.5でPukiWikiAdv1.0.3を動かそうとするとwarning:preg_replaceがログされる。PHP5.4を推奨)
設定確認に関する基本的な事項
- 必要なモジュールを公式ページでチェックし、正しくロードされているか確認する。
モジュール設定後、正しくロードされている場合はphpinfo()でモジュール名がついたテーブルが表示される。 - Apacheの/log/error.logを確認する。
- pukiwiki/webroot/index.phpをエディタで開き、DebugModeを有効にする。
index.phpを開いて、エラーがある場合は表示される。
index.php以外が表示されない
http://xxx/index.php は表示されるが、その他のページへのリンクでは、403やファイルの一覧が表示されてしまう。
次のようなパターンがある:
コマンドページが表示されない
たとえばログインページ(http://xxx/?cmd=login)に飛ぼうとして、403やDirectoryのファイル一覧が表示されてしまう場合は、はてなマーク以降のコマンド(cmd=login)がindex.phpに渡せていない。
解決法URLを"http://xxx/index.php?cmd=login"に手動で変更すると正しく表示される場合は、DirectoryIndexの問題。
httpd.confまたは.htaccessでwebrootディレクトリのDirectoryIndexをindex.phpに変更する(以下参照)。
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
他ページが表示されない
例えばトップページのURLが"http://xxx/FrontPage"と表示される場合。
解決法URLを"http://xxx/?FrontPage"(または"http://xxx/index.php?FrontPage)に手動で変更して正しく表示される場合は、wiki-data/pukiwiki.ini.phpファイルの設定が間違っている可能性がある。
- pukiwiki.ini.phpをエディタで開き、223行目あたりの$static_urlの値を0にする。
これによって、/FrontPageが/?FrontPageのように出力されるようになる。 - Apacheのconf/httpd.confをエディタで開き、rewrite.moduleのロードをコメントアウトする。
#LoadModule rewrite_module modules/mod_rewrite.so
その他
rewriteモジュール
mbstringモジュール
php.iniを開き、module_mbstringのコメントアウトをはずす。さらに下のほうにある[mbstring]以降の設定項目を適宜コメントアウトを外して有効にする。
php.iniが反映されない
php.iniを編集しても、Apache上で反映されないことがある。
以下の項目をチェックする:
・httpd.confのPHPIniDirの参照先
・httpd.confのphp5apache2_4.dllモジュール(モジュールの設置場所は利用するphpのディレクトリ、たまにモジュールに問題があり接続できない?)
2013-12-16
SPARQL Queryについて:rdfs:label
(OWL DL、Protege3.4.8)
たとえば次のようなリソースがあったとする。
<owl:Class rdf:about="http://test#component"> >rdfs:label xml:lang="en"<component>/rdfs:label< </owl:Class>
SELECT ?subject ?object
WHERE { ?subject rdfs:label 'component'@en }
確実なのはFILTERを使う方法で、これならばヒットする。
SELECT ?subject ?object
WHERE {
?subject rdfs:label ?object.
FILTER regex (str(?object), "component")
}
2013-12-15
Dropboxを強制同期
原因は不明だが、インターネットへの接続がDropbox同期のトリガーになっていないためであると考えられる。
解決策
Dropboxプロセスを再起動
以下はDropboxプロセスを再起動するバッチファイル。
restartDropbox.bat
@echo off Taskkill /IM Dropbox.exe /F timeout /t 2 start "" "(Dropboxのインストールディレクトリ)\Dropbox.exe" @pause
Dropboxにファイルを追加(未実装)
Dropbox同期フォルダ内のファイルの変更(追加)が、同期のトリガーとなりうる可能性が高い。
同期ファイルの書き換えをすることで同期を促すことができる(かもしれない)。
後日確認予定。
2013-12-10
ブラウザに渡したフラグメント識別子が無視される問題
一部の環境(OS・ブラウザ等による)で起こる問題で、フラグメント識別子を含むURIをブラウザに渡しても、#以降が無視されてしまうことがある。
WEBページへのショートカット、JavaでのDesktop.Browse()等でブラウザにURIを渡したときに起こる。
直接打ち込んだURL、WEBページからのリンクでは、問題なくフラグメント識別子を認識する。
Windows環境で多いようだ。
原因は不明だが、おそらくはウィンドウシステムの問題であり、解決は極めて困難だと思う。
代替案
一時的にダミーページを表示させ、フラグメント識別子を含む目的のURIへ自動転送する。
例:temp.html (目的のURL:http://nanaowls.blogspot.jp/test.html#aaa)
<HTML>
<HEAD>
<meta http-equiv="refresh" content="0;URL=http://nanaowls.blogspot.jp/test.html#aaa">
</HEAD>
<BODY></BODY>
</HTML>