きぬろぐ


antでのProxy設定メモ

投稿者: kinusati, カテゴリー: Java

Proxy配下で直接外部に接続できない環境下でantを利用してjarのダウンロードを行うためのメモ。

http://ant.apache.org/manual/proxy.html

jmeterのソースファイルをビルドする際にant download_jarsが通るようになりました。楽ちん楽ちん。

コメントする

Unicode正規化

投稿者: kinusati, カテゴリー: コンピュータ

Unicode正規化について調べることがあったので、メモ。

Unicodeと一言に言っても色々あるんですね。今後は濁点が分かれた文字を見ても動揺しないようにします

コメントする

ProFTPdのPassivePorts

投稿者: kinusati, カテゴリー: Linux, freebsd

久しぶりにProFTPdの設定を行ったときに調べたことをメモ。

ProFTPdではFTPクライアントからPASVコマンドが送出された際に、クライアントに返却するポート番号を特定のレンジから選択する「PassivePorts」という設定項目があります。コレを使うことでクライアントに返却するポートを49152-65534に絞ることも出来るというもの。

ただし、設定したポート範囲でポートオープン出来ない場合は、Kernelでポート選択をしてもらった上でログに書き出すとのこと。実用性を考慮すればまぁこうなりますか・・と思った次第です。

コメントする

液晶ディスプレイの搬送

投稿者: kinusati, カテゴリー: コンピュータ

宅急便を利用して、液晶ディスプレイ(21インチ)を輸送する手段を探していたのだが、なかなか無いんですよね。私が見つけたのは以下。

私が輸送したいものは富士通製のVL-201VH(450mm×206mm×398mm)なので、コレのサイズに該当する箱を選択すれば問題なし・・ということですね。

今回はヤマト運輸のパソコン宅急便を利用し、BOX E(50cm×50cm×24cm)で行くことにしました。BOX Eは「17、19インチ液晶モニタ、インクジェット複合機」という指定ですが、サイズを伝えて問題なしと言うことがわかったので、大ジョブでしょう。サイズが合うならヤマト運輸の方が日通のパソコンポよりも安くすむし・・(運送時の安全性や保証の程度までは考えていない発言ですが・・)

コメントする

Javaの逆コンパイラ “jad”

投稿者: kinusati, カテゴリー: Java

以前作成したJARファイルの中身が待ったくわからなかったのでjadを利用してclassファイルから逆コンパイルしたのですが、あまりの簡単さ、およびソースコードのきれいさにびっくりしました。こんな便利なツールが普通に使えるって感動ですな。と今更ですが。。。

JADについては以下のページがよくまとまっています。

コメントする

FreeBSD 7.3 から 8.1にバージョンアップ

投稿者: kinusati, カテゴリー: freebsd

当サイトはFreeBSD(amd64) 7.3 で運営しているのですが、そろそろFreeBSDの8系にバージョンアップしようかなと思って7.3から8.1にバージョンアップしました。

以前当ブログで書いたのですが、バージョンアップ、大変面倒でした・・・。ただ以下ようにやれば、時間はかかるものの楽にバージョンアップ出来ることはわかったので、そこは収穫かな。

下準備

バージョンアップを行う前に、以下の点を確認および変更します。

  1. /usr/local/bin/bash等のログインシェルを持っているユーザがいるかどうかの確認。存在した場合はvipwコマンドを利用し/bin/tcshに変更しましょう。
  2. portsのmisc/compat7xは事前にダウンロードしましょう。
  3. portsのportupgradeはインストールしておきましょう。

FreeBSD 8系からライブラリの仕様変更が入っていて、↑の対応を行っていないとバージョンアップ作業中にシェルが使えなくなるとか、portsの再構築作業が出来ない等が発生して致命的なダメージを受けます。

なおmisc/compat7xは以下のようにダウンロードしました。

# fetch ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.1-release/misc/compat7x-amd64-7.2.702000.200906.1.tbz

バージョンアップ作業

以下のようにやればOKです。

まず最初に、バージョンアップのためのデータを一式ダウンロードします。

# portsnap fetch update
# freebsd-update upgrade -r 8.1-RELEASE

続いて、Kernelをインストールします。再起動が必要です。なおportsの再構築を行うためサービスは自動再起動しない方がいいでしょう。

# freebsd-update install
# shutdown -r now

さて、ここからが本番。再起動後に8.1系のバイナリ一式をインストールしますが、くれぐれも手順は間違えないように・・。portsの再構築はホント時間かかる・・

# freebsd-update install
# pkg_add compat7x-amd64-7.2.702000.200906.1.tbz
# portupgrade -rf "lang/ruby*"
# portupgrade -raf -x "misc/compat*" -x "lang/ruby*"
# freebsd-update install
# shutdown -r now

1. misc/compat7x -> 2. rubyのrebuild -> 3. misc/compat*, lang/ruby*以外のportsを再構築 -> 7系のライブラリ等を削除(freebsd-update install)という手順を踏まないと再構築に失敗します・・・

最後にcompat7xを削除します。なおゴミが残るのでそこは手動で削除。

# pkg_delete compat7x-amd64-7.2.702000.200906.1
# rm -rf rm -rf /usr/local/lib/compat/pkg

当サイトは上記で対応できました。やれやれ。

コメントする

ExcelのSUMPRODUCT関数は便利!

投稿者: kinusati, カテゴリー: Windows, コンピュータ

EXCELを利用していて、SUMIFで集計するケースがよくあると思います(店舗が東京の物だけサマリする等)。

ただ、SUMIFだと条件が一つしかとれないので「店舗が東京」かつ「営業が佐藤」の物をサマリするという事は出来ませんでした。

そこで使えるのがSUMPRODUCT関数。

これを使えば一発ですみます。楽ちん楽ちん。またExcelについて賢くなりました。

コメントする

jmap/jhatについて

投稿者: kinusati, カテゴリー: Java

Javaでメモリリークを調査するため、hprofを利用してメモリプロファイルを行うことがある。

hprofはJVMの起動オプションを指定してプロファイルをとる代物であるが、若干もさっとするし、何よりよく落ちる・・・Tomcatを起動していたらTomcatもろとも道連れになり実用に耐えません・・・

HPROF ERROR: Cannot allocate malloc memory [hprof_util.c:160]
HPROF TERMINATED PROCESS

これでは使い物にならんと思って調べていたら、jmapというツールが存在することを発見。jmapはJVMのPIDを指定することでヒープデータを取得することが可能なツール。これを使えば↑の用にhprofが落ちて困ることは回避可能となる。jmapはJDKに付属している(JREには付属していない)。以下使い方。

# jmap -dump:format=b,file=<ダンプファイル> <pid>

heapダンプを取得後は、jhatで解析。jhatについては「Java SE 6完全攻略」 第5回 プロファイラ hprofとよき相棒 jhatの説明が詳しいので割愛するが、heapダンプサイズが大きい場合、java.lang.OutOfMemoryError: Java heap spaceが出ます。。heapサイズを調整して起動すればいいんですけどね。

# jhat -J-Xmx1024m <ダンプファイル>

なれてくるとJavaって便利ですね。

コメントする

コメントスパム対策

投稿者: kinusati, カテゴリー: コンピュータ

当サイトはWordPressで運営しているが、コメントスパムが最近ひどいので、コメントスパム対策としてAkismetを導入した。

効果はこれからわかるだろう・・・

コメントする

phpがcore dumpするようになったので・・・

投稿者: kinusati, カテゴリー: freebsd

phpのバージョンを5.3.3にバージョンアップしたらcore dumpする用になりました。

dmesgコマンドを実行すると以下のエラーが・・・

pid 66980 (php), uid 107: exited on signal 11
pid 66974 (php), uid 107: exited on signal 11
pid 66964 (php), uid 107: exited on signal 11

cactiユーザのcron実行時にcore dumpしている模様。なぜと思ったら、そもそもphpを実行したとき全部でcore dumpが発生している。

# php -v
PHP 5.3.3 with Suhosin-Patch (cli) (built: Aug  1 2010 11:11:50)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Segmentation fault: 11 (コアダンプ)

なんでだろう・・と思っていたら、MySQLのextensionを組み込むと具合が悪い。/usr/local/etc/php/extensions.iniからextension=mysql.soの行を外すと正常動作する。。。

そういえば!php5.3.3にバージョンアップするときにMySQLも5.5.4から5.5.5にバージョンアップしたなと思いだし、mysql55-clientを再度インストールし直したら、core dumpが出ないようになりました。

原因はわからないが動くようになったので、よしとしよう。

コメントする

« 前のページ  次ページへ »

フリースペース

バナーやブログパーツなどを貼って、ご自由にお使いください。