2010年11月22日月曜日

subversion Error processing command 'modify-entry'

Subversion のローカル管理ファイルに間違ってファイル落としてから Error processing command 'modify-entry' みたいなエラーでupdateじにログがはかれてました。fixは簡単で
.svn ファイル内のlock log ファイルを削除して下記のコマンドをたたけば元通りです。

svn cleanup
svn update

2010年11月2日火曜日

mysqlのviewでdefinerを変更する

他の環境で動いているDBのダンプをとって、こっちの環境にいれたときなどユーザのDEFINERがちがっていてうまくデータを挿入できないことなんかがあります。その時の対処方です。

先ずは、既存のviewのcreate文を取得します。

SHOW CREATE VIEW [VIEW_NAME]


で、それからcreate 部分をalterに変えて、DEFINER部分を目的のユーザとホストに変更します。

ALTER ALGORITHM=UNDEFINED DEFINER=`new-user`@`new%.test.environment.internal` SQL SECURITY DEFINER VIEW `table`.`V_view` AS select ....


Ref: mysql doc

2010年10月25日月曜日

gnome-terminalでキーボード コピー ペースト


長年gnome-terminalを使っているのだけど、最近 職場のPCがmacになり
ターミナルのコピー、ペーストがデフォルトで"ctrl-c"/"ctrl-v"で便利だなぁと思ってました。
で、すこし調べるとgnome-terminalでは、デフォルトは"shift-ctrl-c"/"shift-ctrl-v"だけど
ショートカットを設定することで簡単に実現できました。。

2010年10月17日日曜日

Ubuntu 10.10 64bit にCanonのMP640ドライバインストール

Canon MP640オールインワンを使ってます。
 今回、Ubuntu 10.10がリリースされたので、過去からいろいろ残っている設定ファイルやゴミなどをクリアするため、久しぶりにクリーンインストールして奇麗な体にしました。
インストール自体は1時間弱で終わり、今お楽しみのインフラ系;-)の設定中です。

 とりあえずプリンタは家族みなが使うので最優先事項。Canon本家からドライバ提供されているので簡単にインストール設定完了!

1)キャノンのサイトから32bit向けのMP640最新ドライバをダウンロード
2010年10月17日現在、本家ではlinux 32bit向けのドライバを提供していますのでそれを使います。
http://cweb.canon.jp/drv-upd/bj/other.html#linux
から下2つdebファイルを落とします。
IJ Printer Driver Ver.3.20 for Linux
ScanGear MP Ver.1.40 for Linux

2)解凍後スクリプト内の文字を少し書き換え
上記2つのファイルを解凍するとシェルスクリプトがあるので、その中の'dpkg -iG' を 'dpkg -iG --force architecture'に書き換える。

3)シェルを走らせる
2つのフォルダにある各シェルを走らせることでプリンタ、スキャナのドライバをインストール完了です。

2010年9月23日木曜日

mavenでpackage名を指定

mavenでpackageした際、version名(SNAPSHOT)をつけたくない場合は、下記の指定をpom.xmlにすればそのfile nameでwarなどができます。
<build>
<finalName>applicationA</finalName>
</build>

2010年9月9日木曜日

AVIファイルを修復

aviファイル再生でファイルが壊れている際の修復方法。
mencoder -forceidx -oac copy -ovc copy ORIGINALAVI -o OUTPUTAVI

2010年9月8日水曜日

eclipseのステータスバーにメモリ使用量などを表示

eclipseのステータスバーにメモリ使用量などを表示する方法。
デフォルトではファイルないので、つくってください。
/.options
org.eclipse.ui/perf/showHeapStatus=true

を追加して、
eclipse -debug

で起動すればおk。

Eclipse memorino

eclipse.ini の設定

Eclipse Heliosへアップグレードしたんで、eclipse.iniにメモリ最適になるよう少し調整。
EclipseZoneの記事で面白いのがあったんで、それをベースに設定。
http://www.eclipsezone.com/eclipse/forums/t61618.html

ちなみにマシンは4Gのメモリ搭載です。
 -XX:MaxPermSize=512m
-XX:PermSize=512m
-Xms1g
-Xmx1g

2010年8月29日日曜日

Ubuntu Terminalでコピー ペースト

OSXのターミナルとかだとコントロール・コピーがターミナルにできるんだけど、Ubuntuだと少しやり方がちがう。
ctrl-insert : copy
shift-insert : paste


とやればブラウザでコピーしたものをターミナルへコピーすることができます。

2010年8月16日月曜日

echoで変数の改行が空白に

shellスクリプトで変数をいろいろして、出力しようとしたんだけど、出力時に改行が空白になってしまっている。ということでその際は、man echo の
$echo -e enable interpretation of backslash escapes

より
$ echo -e $LOG

2010年8月10日火曜日

Spring tool suit for eclipse

The order of the installation..

# Install all features from the update site labeled “AJDT” and restart
# Install at least the Jira Connector feature from the update site labeled “Mylyn Extras” and restart
# Install all features from the update site labeled “Spring IDE Update Site” and restart
# Install all features from the update site labeled “SpringSource dm Server Tools Update Site” and restart
# Install all features from the update site labeled “SpringSource Tool Suite Update Site” and restart

2010年8月6日金曜日

JBossやTomcatのデバッグ

まずはプロセスIDを取得
$ jps


プロセスのヒープメモリをダンプ
$ jmap -dump:live,format=b,file=/var/tmp/jboss.log [PID]


ダンプ内容を確認
$jhat [dump file]

でも
% jhat jboss.log 
Reading from jboss.log...
Dump file created Mon Sep 13 08:56:53 CEST 2010
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Hashtable.rehash(Hashtable.java:356)
at java.util.Hashtable.put(Hashtable.java:412)
at com.sun.tools.hat.internal.model.Snapshot.addHeapObject(Snapshot.java:153)
at com.sun.tools.hat.internal.parser.HprofReader.readInstance(HprofReader.java:728)
at com.sun.tools.hat.internal.parser.HprofReader.readHeapDump(HprofReader.java:474)
at com.sun.tools.hat.internal.parser.HprofReader.read(HprofReader.java:226)
at com.sun.tools.hat.internal.parser.Reader.readFile(Reader.java:79)
at com.sun.tools.hat.Main.main(Main.java:143)

とかがでてしまうなら、
$ jhat -J-Xmx512m  [dump file]

としてみましょう。そしてブラウザからhttp://127.0.0.1:7000/ にアクセス。

2010年7月27日火曜日

サーバがレスポンスを返さない

topでJBossをみても暴走していないし、jmapでスレッドダンプしても問題ないし。でもクライアントからのレスポンスがかえらないということでどこかでスタックしているということで2時間ほどサーバチェックしたら
ulimit -a

でopen fileが1024なのに対して、JBossのファイルオープン数が
/usr/sbin/lsof -p [[PID]] | wc -l

で1024を超えていた。

ということでOSのopen fileを5000まであげて問題解決!

2010年3月10日水曜日

MySQL dumpでバイナリをHexに

MySQLでDumpとってその中をいじってからインポートしようとしたらErrorが出た。原因はDump内にBinaryで出力されたものが、Editorでいじってデータが保存時にデータが壊れたため。--hex-blobでスイッチを入れて出力するとHexで出力されるのでEditorでいじってもOK。
本家の説明
mysqldump -u -p --routines --hex-blob xxx > xxx.dump