ひでっぷの技術メモ

はてなダイアリーから移行しました

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

findの-regexで繰り返し表記が使えない?

Debian Lennyでとあるシェルスクリプトを組んでました。 ファイル名を正規表現で取得してくるために find . -regex "./[0-9]{3}"としたところ"123"ていう名前のファイルがあるのに結果にのってきません。 かなり悩んだあげくfind . -regex "./[0-9][0-9][0-9…

Stringクラスのsplitメソッド

ある文字列を指定文字や正規表現で分けたい場合に重宝するのがStringクラスのsplitメソッド。 ただ、ちょっと落とし穴があります。 String string = "hoge\rhoge\rhoge\r\r\r"; String strings = string.split("\r"); stringsの中身は "hoge" "hoge" "hoge" …

SQLServer2005のルータによるNAT設定

あるテストで社外から社内のSQLServer2005に接続試験をする必要があった。 SQLServer2000まではSQLServerの使用するTCPポートは1433と決まっていたが、2005からはデフォルトだと動的ポートを使用するらしい。 なのでまずSQLServer側で静的に1433を使用すると…

Debian(lenny)KDEでの日本語入力

インストールしたそのままの状態ではブラウザやGeditでは日本語入力ができてもKeditなどでは日本語入力ができない。 解決方法として、uim-qtとuim-ximをインストールする。 uim-qtはすでに最新バージョンが入っていたのでuim-ximだけインストールした。 apt-…

Debian(lenny)にKDEをインストールする

apt-get install kde では英語環境のみとなりメニューが英語になってしまう。 kde-i18n-jaもインストールすること。 apt-get install kde-i18n-ja

.NETのconfigファイルが変?

久々にVB.NETをやった。あるシステムの修正。 で、無事に終わって客先のプログラム入替の時に変なことが起こった。 DB接続先などをconfigファイルに書いてあるんだけど、修正したプログラムを起動すると・・・なぜか会社のサーバーに接続しようとする! conf…

Javaでシリアルポートを制御するDebian(lenny)編[2009.11.16追記あり]

Javaでシリアルポートを使用する場合はRXTXComm.jarを使用しますが、Debianの場合、なんとapt-getできてしまう! apt-get install librxtx-java Debian(lenny)ならばこれでRXTXComm.jarは/usr/share/java/の中に、librxtxSerial.soその他もろもろは/usr/lib/…

mysql3.23→mysql5.0のmy.cnf設定注意点

/etc/mysql/my.cnfの設定で以下の設定をコメントアウトしないと他IPアドレスから接続できない。bind-address 127.0.0.1これをしてあげないとGRANT構文で他IPアドレスから接続するためのユーザーを作ってもうまく接続できません。 mysql3.23までではなかった…

mysqlでもStatement,PreparedStatement,ResultSetのclose()は必要

mysql5.0の接続テストをするためにmysqlのJDBCコネクタを2.0.14から5.0.8に変更しました。 その後既存のシステムのテストをしていると、なんとOutOfMemoryErrorで落ちてしまうようになった。 どうやら2.0.14の頃はStatement,PreparedStatement,ResultSetのcl…

YAMAHA RTX1100(動的IP)とNetScreen SSG5(固定IP)のVPN設定メモ

時間があれば細かいところも書こうと思うけど、とりあえずYAMAHAのWebUIで設定できないところだけメモ書き。動的IP−固定IPでのVPNの場合、動的IP側がUserIDを固定IP側に送る必要があるが、YAMAHA RTX1100だとwebUIで設定したUserIDはID_KEY_IDとなってしまう…

Runtime.exec()にてprocess.getInputStream().close()だけではだめ?

Javaで外部スレッドを起動する時はProcessの標準入力、標準出力とエラー出力のstreamをclose()してあげないと「Too many open files」というIOExceptionが出てしまう。 また、標準出力やエラー出力が多くてstreamのバッファ容量を超えるとProcessがデッドロ…

phoneMEでスレッドダンプを取得する

LinuxでJavaを動かしている場合、各スレッドのスレッドダンプを取得することができる。 Javaの親スレッドを pstree -p | grep java*1 で探し出して、 kill -3 プロセス番号 とするとJavaの標準出力に各スレッドのスレッドダンプが表示される。phoneMEではデ…

無線LANが遅い原因は電子レンジ

ハンディ端末を使ったうちの会社のwebシステム。 前々から「すごい遅くなることがある。」と言われていたけど原因がずっとわからなかった。 で、最近わかったのが無線LANへの電子レンジの影響。電子レンジのノイズで無線LANが遅くなる!?客先は健康ランドで厨…

phoneMEのコンパイルオプションとCPU負荷

makeのオプションにCVM_DEBUG=trueをつけると詳細なデバッグ情報を見ることができる。 Exceptionの発生行数とか、もっと細かいところだとエラーが出たCVMのソースの行数までわかる。 GDBと組み合わせるとCVMのデバッグもできるみたいだ。 ただし、CPU負荷が…

phoneMEのバグ?

Armadillo-9+phoneMEを使用して定期的に複数スレッドでpingをうつプログラムをずっと動かしているとOSからsignal 11を受けてプログラムが止まってしまうという現象に悩まされている。 現象発生は不定期。どうもスレッド数が多くて複数スレッドで同時にping…

Runtime.exec()でLinuxのパイプ使用(追記)

以前Runtime.exec()を使用してのLinuxでのパイプ使用について書いたが、どうもRuntime.exec(String command)だとうまくパイプ使用ができないようだ。 試したのはgrepだけど、パイプ以降が無効になってるかのようにgrepせずにすべての結果を出してくる。 悩ん…