2010年2月12日金曜日

Fences

Windowsでデスクトップが余りにも汚くなっていく人は数多くいると思う。
自分もデスクトップの整理は苦手だが、Fencesというソフトを使うとだいぶ綺麗になる。

詳細は細かい解説ページを見て欲しい。

日本語ユーザ名だと、インストール時にエラーが出るが以下の方法で回避できる。

・ダウンロードしたfences_public.exeの拡張子を7zにする。
・7z形式のファイルを展開する。
・エラーダイアログが出たらいったんそのまま何もせずに↓を実行する。
・展開した中にあるdataフォルダの中のofflineフォルダを
C:\Documents and Settings\ユーザ名\Local Settings\Temp\mia1
にコピーする。ドライブが違う等環境を変えている人は適宜変更する。

※エラーメッセージがmia2等の時はmia2にコピーすること。


・エラーダイアログの再試行をクリックする。
・通常通りインストールが進む

7z形式はマイナーだが、cygwinで全てのパッケージをインストールすれば入っています。
$ 7z x ./fencez_public.7z
で展開できるはず。

2010年2月11日木曜日

ファイルの展開ツール

Linuxだとtar.gzやtar.bz形式で圧縮されているものは多い。

Windowsだと余りにも色々な形式で圧縮している人が多く使用しているツールが対応していないこともある。
わざわざツールを入れるのも面倒だが、こういうときにcygwinは意外に役に立つ。
当然パッケージは入れておく必要があるが・・。

vmware等で、仕様用途が減っているcygwinだが、意外なところで役に立ったりする。
起動も早いし、入れておいて損はないと思う。

2010年1月22日金曜日

新年のご挨拶

明けましておめでとうございます。本年もよろしくお願いいたします(遅すぎ)

2009年12月11日金曜日

通信

遠隔のマシンの通信をする手段には色々ある。

原始的な方法は

・プログラムを実行
・実行結果ファイルを遠隔に配置
・遠隔先のプログラムを実行

といったところ。

自分もよくこのような形で、実行していた。
XML形式で送信するのであれば、XML-RPCやSOAPを用いると遠隔のサーバの関数やクラスを呼び出すことができる。
Java→Java
はあまり嬉しくないが、Perl→JavaやRuby→Java
が使えるのが嬉しい。
当然だが、サーバ側もJavaである必要はない。


ちょっと古いが、この辺りを参考にすればいいだろうか。
http://www.linux.or.jp/JF/JFdocs/XML-RPC-HOWTO/

余談だが、独立型 Java サーバの章で、
server.start();
が抜けているため、サーバ側が待機状態にならないので注意が必要。

それにしてもJAVAという言語に慣れない・・・。

2009年11月3日火曜日

SDPAオンラインソルバー覚書

www以下のファイルが戻っても、以下の設定が必要である。

・データベースの復旧
→/var/lib/mysql
 ごとコピーしてしまえば問題ない。mysqldumpを使用するのが望ましいが・・。

・apacheユーザからonlineユーザへsshできるようにする。
→apacheユーザは/sbin/nologinと設定されているので、
 /etc/passwd
 のファイルでapacheユーザにいったん/bin/shにする必要がある。
 sshでknownhostsに登録した後は
 /etc/passwdのapacheを/sbin/nologinに戻す。(セキュリティ的に)

 ssh関係のパーミッション等も変更を忘れないこと。

・所有権の変更
 →各ユーザーのファイルを保存するディレクトリはapacheで書き込む必要がある。
 そのため、所有権or書き込み権限の追加が必要。
 セキュリティ的にはapacheユーザの所有権にして置くのが無難。

execute.phpのデバッグモードを有効にすれば実行しているコマンドを見られるのでコピーしてターミナルで叩いてエラーメッセージを見ればエラーの中身が見られる。

2009年10月14日水曜日

grep

久々にもかかわらず相変わらず初心者的なメモです。

grepはいつも使っていますが多階層の検索はそのままじゃできないので以下のようにやる必要がある。


hogeという文字列を含むtxtファイルを検索するときは、

find / -name '*.txt' | xargs grep hoge


xargsを使えばいいということで納得。xargsは標準入力を引数として実行してくれる・・だったと思います。

2009年9月3日木曜日

Bindの設定

DNSサーバの構築にはLinuxでは必需品。

OpenSSLさえ新しいのが入っていれば、普通にmakeできる。OpenSSLをCentOS5.3のyumでインストールしていると現時点ではBindのmake時に凄い勢いでWarningが出る。


通常使うにはnamd.confを編集し、zoneを指定し・・等を行えばよい。
Bindは大変有名なので検索すれば大量に引っかかる。なので、普通の使い方はそちらを参照してもらいたい。


ここではちょっと変わった使い方を検証してみた。
Bindはviewステートメントを使うことで、Clientごとに違った名前解決を返すことが可能である。
viewステートメントについては、
http://www.nina.jp/server/redhat/bind/named.conf.html
辺りを参照していただきたい。

このviewステートメントを別ファイルにまとめておくことも可能である。

include "/tmp/view1.view";

のように指定するとファイルをそのまま読み込んでくれる。
例えば、ローカル内で名前が頻繁に変わったりするときに設定ファイルをいじらずにファイルから読み込む事が可能になる。(正確には読み込んだファイルも設定ファイルの一部になるが・・・。)
一応補足しておくとincludeステートメントはviewステートメントやzoneステートメントに限らずどこでも使える。
また、読み込むファイルの中身を変えてもBind自体(namedデーモン)は再起動が必要である。


ファイルが存在しない場合はBindを再起動するときにエラーが発生する。
これではあまり嬉しくないのだが、ファイルさえ存在すればエラーにはならないらしく空ファイルが存在すればよい。
こんな変な使い方をする人は普通いないので調べてもなかなか見つからず結局自分で全部試すことになってしまった。

Bindについては全くの素人のため、何か間違いがあればつっこんでもらいたいところです。

久しぶりに書いたはいいけど世間の役には立たなそうな内容でした。

2009年7月27日月曜日

IE

昔からIEには悩まされています。

1,tomcat起動
2,apache起動

IEで見る→正常に見える。当たり前ですね。

この状態でtomcat停止。

IEで見る→503エラー。当たり前ですね。

この状態でapache停止。

IEで見る→正常に見える。当たり前・・・じゃねぇよ。

どこかに残ったキャッシュで引っ張ってきてるんでしょうかね。直前の503でもなく正常なものを返すのもなんだかなぁ。
apache止めたの忘れててはまりまくりました。

欧州みたいな感じでブラウザが選べるようになればいいんですけどね。
というか別のブラウザを標準で入れるとWindowsUpdateはどうなるんでしょう?

2009年7月9日木曜日

CentOS4.7から5.3にアップグレード

タイトルの通りCentOSを4.7から5.3にアップグレードしなければならないのでやろうとしましたが、挫折。

http://k-ishik.seesaa.net/article/40506494.html
http://www.greedy.jp/blog/nowhereman/200809/16/170317

この辺りを参考にさせていただき、頑張ってみましたがダメでしたorz

ちなみに参考ページはCentOS5.3ではないので5.3用(i386用)のファイルは下の感じ。
http://mirror.centos.org/centos/5.3/os/i386/CentOS/centos-release-5-3.el5.centos.1.i386.rpm
http://mirror.centos.org/centos/5.3/os/i386/CentOS/centos-release-notes-5.3-3.i386.rpm

おとなしくCDブートするしかないのか・・・。

2009年7月8日水曜日

Google

Googleから色々発表があったようです。

・GMailのβが外れて正式版になった
・Chrome OSの発表

ChromeOSはLinuxベースで起動後数秒でネットが見れるとか。ブラウザのChromeはそのためだったんですかね。
Gmailのβがないと不安な人はつけることもできるらしいです。意味ないと思いますが・・・。

2009年7月5日日曜日

Mnozil Brass

まったく、今までの話と関係ないのだがムノツィルブラスアンサンブルという世界的に有名になったアンサンブルが約1年半ぶりに日本にやってきた。そのときもこのブログにちょっと記事を載せた気がします。

自称ムノツィルブラスマニアなので今回はちょっと羽を伸ばして、東京公演(東京オペラシティ)と長野公演(コスモホール)の2公演に行ってきました。
アンコール曲数が長野の方が短かったのが残念。東京公演でやったボヘミアン・ラプソディ(ほんとに感動!!)もやらなかったのが非常に残念でした。

とはいえやはり実力は本物。笑いも本物。誰でも分かる速いフレーズとか、高音とかはいわずもがな、馬鹿みたいな音量吹いた後にソフトに吹いたりと金管奏者にしか分からないような技術もありってのがたまらないです。

来年も来日するようなのでぜひまた行きます。
長野のサイン会では東京と違ってあまり人がいなかったので勢いあまって3つくらいもらって、しかも少し話せたのが良かったです。

例年通りだとこの公演プログラムのDVDも12月くらいに出るのかな??

2009年6月26日金曜日

emacs

学生時代はemacsを愛用していましたが、会社ではまっさらなOSをインストールすることが多いので、viばかり使ってます・・。
久々にemacsとか使ったりすると間違ってZZとかで終了しようとしたりしてパニクったりします。。

:w → :q!
で終了させる人をたまにみますがZZで終わらせられるのは意外に知らない人多いんですかね。
そんなどうでもいいネタでした。

2009年6月6日土曜日

max_execution_time

PHPのタイムアウトを決める際にphp.iniにmax_execution_timeがある。これがデフォルト値になって、PHPのタイムアウト判定を行う。ちなみにデフォルト設定は30秒になっている。0にすると無限。

PHPスクリプト内でset_time_limit()を使うことでデフォルト値を変えることも可能。

これら2つは、スクリプトの実行時間のみに反映されるものでシステムコール等の時間は含まれない。
30秒以上かかってたのに落ちない処理があったのになんで今回は落ちるんだ!というのは途中でシステムコールしたり、DBの読み書きがあったりでカウントされていない時間があるのかもしれないことに注意する必要がある。
簡単に言ってしまうと人間には計りにくい時間ってことか・・。

原因不明のエラーでループ文で止まる場合等は疑ってみるといいかも。

2009年6月2日火曜日

apacheで起こった出来事

apacheの設定ファイルにhttpd.confというのがあるのはインストールしたことがある人なら分かるかと思います。apacheのデーモン自体はrootで実行するのが普通だと思いますが、apache内での実行するユーザーとグループをhttpd.confの

User hoge
Group hoge

とかで指定することができます。
例えば、sudo権を持ってるhogeユーザーが

# sudo su -
# apachectl start

とやるとrootの環境変数を読み込んでapacheを起動して中での実行はhogeが行うことになります。
例えば、PHPとかでディレクトリを作ったりするとhogeユーザーが作ったのと同じようなことになるということです。


hogeユーザーが

# sudo /・・・/apachectl start

とやったら、hogeユーザーの環境変数でrootがapacheを実行して、中ではhogeユーザーが頑張ると言った構図で実質、hogeユーザーの天下となるはずで今までもちゃんとなってたのですが、
なぜか、PATHの環境変数は読み込むのにLD_LIBRARY_PATHの環境変数を読み込んでくれないという事象に陥りました。原因不明。

色々試しても解決せず仕方がなかったので、apachectl自体に

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/hogehoge/lib

のような形で記述してapacheを再起動して読み込ませました。今まで問題なかったのになんででしょう。。
一応補足しておくとapacheが万一乗っ取られたときにために何もできないようNologinのユーザーで実行すべきかと思います。

2009年5月30日土曜日

Interop

Interopに仕事の雑用で行くことになりました。自分の担当は11日だったと思いますが。
休憩時間には自由に回って良いらしいので楽しみではあります。問題は30分しか休憩がないことですが。

2009年5月20日水曜日

ImageMagick

Imagickを使うとコマンドライン経由ではなくPHPからImageMagickを呼び出せる。
どの機能が使えてどの機能が使えないかは調べてないので分からないが・・。

とはいえ、どうもその辺りの呼び出しがうまくいかないっぽくてエラーが取れない。


ShortestPathオンラインソルバーでは完全にコマンドライン経由だったけど、今思えばもしかしたらPHPから全部呼び出せたのかもしれない。

2009年5月15日金曜日

umask

umaskコマンドを使うと、新たにディレクトリやファイルを作るときにできるパーミッションを変更することができる。
一時的に使うならumaskで

umask 000

と設定すると元のパーミッションから000を引いた値(=777)になる。
~/.bashrcに書くときは最後に書いたほうが良い。

etc/bashrcとかを読みに行って更新されてしまうことがあるらしい。
30分くらいはまってしまったので備忘録的に残しておきます。。

2009年5月14日木曜日

crontab

crontabコマンドを使えば、決まった日付の決まった時間にスクリプトを実行できる。
コマンド自体は初めて知ったけど落ち着いて考えればこういうのがあるのは当たり前ですよね。
最短路問題用オンラインソルバーとかで古い画像の削除とかに使えば良かったか。

2009年4月27日月曜日

eclipse

あまり触ったことがなかったので新鮮。
F3とかで別の関数が見られるのは便利だなぁと思いました。
しばらくはPHPというどこかで聞いたことのある言語をやることになりそうです。

設定を忘れないように書こうと思ったけどメモを置いてきてしまったのでまた別の機会に。

2009年4月2日木曜日

新年度

内定取り消されず入社しました。
ここでも小ネタがあれば引き続き綴っていこうかと思います。