いっぽんの猟銃のむこうに (DAIZOじいさんとGun)

ヌルめの技術メモとか。フリーランスやってます (http://acez.jp/)

CentOSへのMySQLdbの最低限の入れ方

最新版を最低限の手順で入れたい時に。 ネット上では色々入れ方があって混乱するのでまとめておく。・easy_install導入 # wget http://peak.telecommunity.com/dist/ez_setup.py # python ez_setup.py ・依存ライブラリ導入 # yum -y install mysql-devel py…

cx_Oracleのインストール

Python用Oracleコネクタのインストール方法です。いまんとこ最新の5.1で確認しました。Oracleがインストールされているのと同じサーバーに入れることを前提とします。そうでない場合はOracle instantclientとか入れればいいみたい。その場合の手順は必要にな…

mysqldumpで大量のダンプデータを読み込む場合

前回、MySQLのload dataでCSVを読み込ませる場合にPKが付いてる(=インデックスがある)かどうかで、大量データの場合に死ぬほど速度差が出てくることがわかりましたが、じゃあsqldumpの場合はどうなんでしょうか。ご存知の通り、一発のINSERTで大量のデー…

load dataで読み込むCSVはソートされてる方が断然速い?

なんかそうらしいとかいう資料を見つける。 http://h50146.www5.hp.com/products/software/oe/linux/summary/mwtech/files/mysql-loaddata-v02.pdf400万件のレコードを持つデータを作ってやってみた。使ったのはSuperSmackで生成した適当なデータ。 テーブル…

SuperSmackを64bit版OSに入れる(CentOS5.5 x86)

64bit版に入れるのにはちょっとしたパッチが必要。 $ yum -y install mysql mysql-devel $ yum -y install gcc gcc-c++ flex bison $ wget http://vegan.net/tony/supersmack/super-smack-1.3.tar.gz $ tar xzvf super-smack-1.3.tar.gz $ cd super-smack-1.…

SQLでテーブル定義情報とかストアドプロシージャ情報とかを取得

SELECT object_name, object_type FROM user_objects WHERE object_type = 'PROCEDURE' OR object_type = 'FUNCTION' OR object_type = 'PACKAGE' OR object_type = 'LIBRARY' ORDER BY object_type, object_name ;object_typeで指定するスキーマの種類とか…

yumで適当にJenkinsを入れる

JDKない場合は入れておいてあげる # yum install -y java-1.6.0-openjdk java-1.6.0-openjdk-devel あとはさっくりと。 # wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo # rpm --import http://pkg.jenkins-ci.org/…

プーチンPersonaプラグイン

プーチン版を@22centuryが作ってくれました。http://acez.jp/archive/jenkins/persona_putin.zip導入はジェンキンス氏版と同じです。 http://d.hatena.ne.jp/tkizm/20110321/1300722312 こんなビルド環境が用意されていたら、毎日のビルドが楽しくなること間…

ジェンキンス氏ペルソナプラグイン

Hudson改めJenkinsのおっさん画像をカスタマイズできるプラグイン http://wiki.jenkins-ci.org/display/JENKINS/Persona+Pluginの作成例です。 セリフを探すのに一番苦労しました。http://acez.jp/archive/jenkins/persona_jenkins.tar.gz 導入はこんな感じ…

Disk allocate はonだっけ、offだっけ?

既存のディスク領域を確保するのがon。その分速い。 offにすると自動的に拡張される。その分遅い。いつもどっちだったか忘れちゃうのでメモ。

Xenの完全仮想化でAHCI入りXPのインストールをするとブルースクリーンで落ちる

Xen

完全仮想化が悪いのか、ドライバ類がAHCI入りに単純に対応していないのかは不明。

ML110 G6のハードウェアRAID

最新BIOSに上げてもLinux(CentOS5.5, Debian5)側でRAIDとして認識してくれない。 ハードウェアRAIDとしては未実装なの?デバイスドライバの問題?まあ安いしなあ(だって前7000円とかで売ってた)。。でもセコいなあ。。。 それともWindowsならちゃんといく…

SVNのリビジョン番号をビルド時にアーカイブファイル内の特定ファイルに含める

ビルドしたwarファイルの中身がいつのリビジョンの奴か見れるようにしておきたい、 みたいなことを言われたときに。コマンドライン用のsvnをあらかじめ入れといて、以下をpom.xmlに追加。 <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>generate-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> </tasks></configuration></execution></executions></plugin>

ejb内部のwar, jar等をアーカイブしない

以下のようにearのpom.xmlに trueを追記する。 <webModule> <groupId>test</groupId> <artifactId>test</artifactId> <contextRoot>/test</contextRoot> <bundleFileName>test.war</bundleFileName> <unpack>true</unpack> </webModule>こうすると.warとか.jarとかに固められないので中を見るときとか ちょっとは楽になるかもしれない。

ポート指定してJenkinsを起動する

ポートがデフォルトで重なる場合とか。ポート変更したいときとかに忘れるので。特にajpの方。 $ java -jar jenkins.war --httpPort=8888 --ajp13Port=8019

pom.xmlで共通のプロパティを定義する

定数定義みたいなことをしたい場合。propertiesをつかう。親のpom.xml (略) <packaging>pom</packaging> <name>Parent Project</name> <properties> <local.fix.version>1.0.0</local.fix.version> </properties> (略)で、子のpom.xmlで (略) <dependency> <groupId>local_libs</groupId> <artifactId>opencsv</artifactId> <version>${local.fix.version}</version></dependency>

ビルドした成果物にいらないライブラリが勝手に含まれる

大抵scopeが「compile」になってる。 「compileだからコンパイル時にだけ使われるんじゃねーの?」って思いがちだけど、 それをしたいなら「provided」を指定しないとダメ。 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency>ぼけーっとしてるからか、僕だけなのか…

Test reports were found but none of them are new. Did tests run?  とかいわれる

時刻とかがNTPとかでそれなりに同期されててもこれが出るときは、 他の設定ファイル(POM.xml)の不具合を疑ったほうがいい。ぜんぜん関係ないはずのをコメントアウトしたらこのエラーが出た。 一度に一箇所ずつ直すのを徹底しないと大変なことになるかもしれ…

coberturaでカバレッジが二回走る

http://d.hatena.ne.jp/ssogabe/20091115/1258211831 とかにも書かれてて、どうも既存の問題っぽいのだけれど、ここに書かれてる 対策取ってもうまくいかなかった。要は mvn package と coberture:cobertura で二回JUnitテストが回ってしまうみたい。それで…

ある日突然mvn cobertura:cobertura does not work with Archiva repository set as mirror

$ mvn -e -X -U とかオプションつけてライブラリを更新すると直ったりした。にしてもMavenの中央リポジトリライブラリの仕組みはなんともびみょー。 たしかに便利なんだけどさー。なんかアクセスすげー遅いし。うーん。

標準出力関連の備忘録

いつも忘れちゃうんで。■標準出力と標準エラー出力の同時出力 $ ls -al > ls.log 2>&1■標準出力を画面出力と同時にファイルへ保存 $ ls -al | tee ls.log普段から使えば忘れないんだろうけどねえ。使いましょう。

login() takes exactly 1 argument (2 given)とか言われる

ドキュメント見てもどう考えても引数ふたつであってるだろう・・・と思ったらview.pyの関数名が def login(request):とかなってて再帰呼び出しになってた件。まぬけー。 名前つけるのってめんどくさいよなー。

CentOSにyumで簡単にGitを入れる

Debianならapt-getで一発なんだけど。いちいちコンパイルしたりとかは依存関係とかめんどくさいし。ってものぐさな人用に。RPMforgeリポジトリが古いかも。■ RPMForgeを導入 RPMforgeのGPGキーインストール # rpm --import http://apt.sw.be/RPM-GPG-KEY.dag…

java.lang.OutOfMemoryError: PermGen spaceで落ちる

pom.xmlの設定でJavaVMメモリを上げてやる。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.3</version> <configuration> <skip>false</skip> <includes> <include>**/*Test.java</include> </includes> <excludes> <excludes>**/Generic*</excludes> </excludes> …</configuration></plugin>

URIからドメイン名のとこだけ抜き出す

たぶんその辺探せばいっぱいあると思うけど備忘録。 http://foo.bar/spam/ham とかから http://foo.bar/ だけ抜き出す例。 String uri = "http://foo.bar/spam/ham"; String domain = null; Pattern p = Pattern .compile("https?:\\/\\/[-_.!~*'()a-zA-Z0-9…

Hudsonで使うpom.xmlにcobertura-maven-plugin設定するとこける

以下のような感じでHudsonで使うpom.xmlにcoberturaを設定すると ビルド失敗するようになった。 <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.4</version> <configuration> <formats> <format>html</format> </formats> </configuration> </plugin>理由は不明。たぶん髭のおっさんの機嫌を損ねたんだとおもう。

mavenのJUnitでTest class should have exactly one public constructorとかなってこける

インナークラスが*Testって名前になってないか確認する。これはeclipse経由でのJUnitだと普通に流れるが、mavenのsurefireだとこける。まあそもそもそんなの書くなよって感じだけど、インナークラスはテスト実行させなくてよいって場合は、以下のように記述…

JBoss ASによるEJB3+JSF+Seam開発バッドノウハウ集

■ホットデプロイ基本的に信用してはいけない。xhtmlも所詮htmlでしょ?と高をくくっていると死ぬ。 変更が必ず反映されるとは限らないのがこのミドルウェアのすばらしいところ。 CSSですらたまに反映されない。おかしいと思ったらあきらめて再起動しましょう…

<rich:editor>カスタマイズ

TinyMCEベースなので比較的柔軟なカスタマイズが可能■カスタマイズ方法以下のようにしてタグを埋め込む <rich:editor value="" configuration="richeditor"/>クラスパスが通ったところに ${configuration}.propertiesとして設定ファイルを配置 設定内容の詳細はTinyMCEの設定を参照 ※例: test/src/richeditor.pr</rich:editor>…

JBoss AS での DB接続設定(データソース)

■/src/META-INF/persistence.xml