2013-01-01から1年間の記事一覧

子プロセス起動したら標準入力待ち状態になって困った話

お仕事でLinux上のある常駐プログラムを起動するスクリプトを、JavaのProcessBuilder#startを使って実行し、起動スクリプトの出力とexit codeをJava側で受け取る必要があった。さくっと書いて実行してみたところ、標準出力されるしプログラムも起動するが、…

外部リソースに依存したコードを外部リソースに依存しないようにテストしたいんだけど、どうしたらいいの

こんにちわ。テスト熱中症真っ盛りな自覚はありますが、それほどテストコードは書いてないプログラマーのクズです。今回はタイトルについて、ちょっとうまい方法が思いつかないのと、寝て起きたら忘れてしまうのを防ぐために自分の考えをメモします。(思いつ…

実行している範囲で実行に必要な依存しているJarファイルを調べたい

某OSSのプロダクトのあるライブラリの挙動がおかしい、と調査をしていたのだけど、 調査の経過の共有のためにSVNとかにあげてほしい、といわれた。しかし何も考えずwarに含まれていたjarをコピペしてclasspathを通して調査していた。 全部で50ファイル80MBぐ…

PatternとMatcherを使い、マッチングした内容を加味して置換を行いたい

良くやろうと思いついて書くけど、書くたびにドキュメント見に行くのがつらかったので記事にしておこう。単純な置換であれば、replaceAllとかで間に合うのですが、 なんちゃってテンプレートエンジンをPatternで作ろうとか思うと、マッチングした内容を加味…

Terrariaのサーバを立てた on Linux (CentOS 6.4 x86_64)

サーバの設定は含みませんサーバを構築するのに必要なmonoと必要なものをインストールする。 # monoをビルドするために必要なもの yum -y install gcc gcc-c++ gettext make # monoのダウンロードとビルド cd /usr/local/src curl -O http://origin-download…

value-domainのDDNS更新を使わずになるべく安全に更新したい

DDNS更新は固定IPを持たない自分としてはとても便利なのだけど、value-domainのDDNS更新はhttp通信のため、DDNS更新用のパスワード情報を傍受される可能性がある。これは非常によろしくないので、セキュアに通信する方法を考える。(結構当たり前のように使わ…

vagrantで使えるboxを1から作る

vagrant、全く使えていないのだけど、流行ってるので。でも、誰が作ったかわからないvagrantのboxを使うのがなんか嫌だったので。

sudo時のPATHと設定

chefを使うとき、chef-solo実行時だけrootになってそれ以外のときは出来るだけchefユーザとして作業したかった。最近のsudoはデフォルトではPATHは引き継がれない。設定と設定によってはオプションが必要。

zncでoperatorをJoinしてきた人に無差別で配るモジュールをPerlで書いた

ZNCのモジュールの勉強もかねて。

scsi-target-utils

iscsi-targetを入れてたのだけど、なんか最近プロセスが勝手に落ちたりと調子悪い。3日に1度ぐらい起きていてそのたびに再起動したりしていたのだけど、プロセスが落ちた影響か、RAIDの調子が悪いのかわからないけど、とうとう仮想ディスクが1個壊れてしまっ…

VirtualExtensionMethodsと多重継承

JDK8から盛り込まれたVirtualExtensionMethods。 これで、インタフェースにデフォルトな実装を持つことが出来るようになる。 (Iterable.forEachなどに使ってる) ただ、これによって、1クラスに複数実装可能であるインタフェースは、複数の実装を持つといった…

Java Day Tokyo 2013 に行ってきた(書き途中)

帰ってきて寝て起きたら朝だった。聞いた内容をメモ帳(物理)からmarkdownチックに転写、置換。あれほどノートPC持ち込めと。メモ が汚くて読めない部分 から内容を思い出せない部分は自分の脳内補完で書いてるところがあるため、間違ってる箇所が多そう。。…

出力を捨てさせない・自動入力させないシェルスクリプトを書く

先に簡単に方法をまとめておきます 'script.sh > /dev/null 2>&1' とやっても、画面に出力させる echo "Hello tty world" >/dev/tty 'yes | script.sh' とやっても、自動入力させない line=$(head -n 1 < /dev/tty) echo $line 以下、調べる動機とか

PHPのldap_bindとActiveDirectory

PHPのldap_bindは全く関係ないんですけど、PHPとADを使ったお仕事で出てきたので、覚書程度に書かせてください。 注意:当方、LDAPの知識もADの知識も全くございません。認識を誤った記述をしている場合があります。 環境 PHP 5.4.11 OpenLDAP 2.4.33(ldapク…

Samba環境最速構築なんとか

新年明けて何もしてなかったのですが、NASのシステムディスクが壊れ始めたので、再構築してました。 Blogとかでメモに残してるものが多いので、やり直すのは苦じゃないんですが、Samba関連は書いてなかったなーと思って。 で、案の定、SELinuxの問題で何度も…