自分用メモです.参考になるならどうぞ.
MATLAB
以下,主に mistblade + R2013a 用.
- linux版を画面を飛ばしてるときのキーボードショートカット.
デフォルトではEmacs bindingになっている.[HOME]-[preferences]の[Keyboard]-[Shortcuts]でbindingをWindowsにできる. - Figureウィンドウをfigファイルとして保存する.
最近のMatlabにはsavefigというコマンドがあるが,mistblade上で動いているR2013aにはそれがないので,代わりに saveas(file_handle, file_name, 'fig')を使う. - サーバー上でMatlabスクリプトファイルをバッチ処理する.
長時間動かすスクリプトは,リモートサーバー上で動かし,自分のPC自体は帰宅時に電源を落としてしまいたいもの.Matlab でこれをやるには,次のようにする.(シェルのコマンドラインから)nohup matlab -nodisplay -r 'myscript; exit' &
-nodisplayオプションにより,Figureなどの表示を抑制する.抑制したFigureは,それ自体が必要ならsaveasで保存.nohupはログアウト後もプロセスが殺されない用.スクリプト実行中の標準出力等は,必要なら > /dev/nullでゴミ箱へ.
UNIX
- テキストファイルでn行に1行を抽出する.
数値データを格納したテキストファイルの場合.行方向にデータが並んでいて,巨大すぎてpgfplotsなどがメモリオーバーを起こす場合は,次のコマンドで行を抽出できる.
cat file.dat | perl -ne 'print if $. % 4 == 1;' > file_s.dat
これは4行に1行を残す.
WordPress
- WordPress用のPHPを5.3から5.4以降にバージョンアップする際の致命的エラー.
Wordpressを5.x系にバージョンアップする際,PHP自体を5.6系以上にバージョンアップする必要がある.しかしながら数理3研のウェブサーバーで,5.3系から5.4系以上にバージョンアップする際,WordpressがInternal Server Errorを吐いてどうしようもなくなったとき調べたこと.
結論から言うと php.iniの問題.5.4系以降,次のdirectiveが廃止されており,php.iniに残っているとfatal errorになる.これらをコメントアウトすればよい.
allow_call_time_pass_reference
register_long_arrays
なお,このエラーを突き止めるのに種々ログ表示を駆使した.どのようにログ表示ができるかについてもメモを書いておく.
PHPエラーは,同じ php.ini でいくつかの directive をオンにすると出力される.画面上にも表示できるが,error_log = ファイル名(フルパス必要) でファイル出力するのがお勧め.
また,httpd自体のエラーログも参考になる.ただしこれは3研サーバーの管理者しか見えないので,必要があれば管理者に依頼すること.