Skip to main content

28 posts tagged with "Java"

View All Tags

· One min read

VPSが再起動したっぽいので調べてみたら…。

kernel: Out of memory: Kill process 12070 (java)

どういうことだ!! JIRAが悪さしてる?

これを機にUPM(Universal Plugin Manager)が動作しなかった件を修正した。

--- server.xml.org      2012-04-26 23:25:46.555554103 +0900
+++ server.xml 2012-04-26 23:26:47.102775758 +0900
@@ -49,6 +49,8 @@
<Service name="Catalina">

<Connector port="8080"
+ proxyName="jira.example.jp"
+ proxyPort="80"

maxThreads="150"
minSpareThreads="25"

proxyName, proxyPortを追記してJIRAを再起動。 これで無事にUPMが更新されるようになりました。

· 2 min read

今日、Scalaって強力だなぁ〜と思ったことを2つ。

まず、コレクションの扱い。 JavaだとIteratorにして、nextで・・・みたいな実装をすることがあるが、Scalaだとこれがめんどい。 foreach使いたいのに・・・というときはこの一行を!

import scala.collection.JavaConversions._

これで、 List<String> だとしても、foreachメソッドが追加されます。 (Scalaのバージョンが2.8の場合)

参考URL ■ Twitter / Kota Mizushima: @itoasuka import ....JavaC ...

http://twitter.com/kmizu/status/12477994337
import ....JavaConversions._ すれば、あとは、scalaの*mutableな*SetからJavaのSetへの自動変換が提供されます。

もうひとつ、強力だと思ったのはキャスト。 Javaではこう書く。

((Text)text).getValue();

Scalaだとこう書く。

text.asInstanceOf[Text].getValue

直感的〜!!ということです。

キャスト慣れしてる場合はなにそれ?って感じかもしれないけど、左から右に、思い通りに書けるのがステキ。

· 2 min read

同じ言語でも、インフラによって開発の方法が全く違う。 今、目の当たりにしてるのは、Java。

DI, AOP, HotDeployなどを使って開発し易くする方法。 普通にサーバー構築して、その上で利用するアプリケーションであれば何も考えること無く利用出来る。 学習コストはあるだろうけど、便利ではありそうだ。

それに対して、インフラに制約がある場合。具体的にはGAE/J。 この場合、ライブラリが使えるかどうかはわからない。 GAE/Jにはspin upというものが存在するし、リソース/クォータによる制約もあるのでリソースが余ってるから使ってしまえっ!というわけにもいかない。

同じ言語で同じWebアプリケーションを作るとしても、インフラによって作り方が全然違う。 今後もどういう制約が出てきて、どんな風に作り方が変わるか把握するのも難しいな。

· One min read

最近、Webフレームワークって無くてもなんとかなるんじゃないかと思ってきた。 フレームワークありきじゃなくて、フレームワークが必要の無い仕組みを用いるということ。 軽量なフレームワークがあった方が管理画面を作ったりするのは便利かもしれないけど、管理画面はDjangoみたいに初めからあると嬉しい(笑) そんなJavaのWebフレームワークって無いのか?

フレームワークを検索してたらこんなのがあった。 ■Play!

http://www.playframework.org/これはこれでよさそう。

· One min read

Seasar2 - S2JDBC - S2JDBCとは - 流れるようなインターフェースと脱CoC

http://s2container.seasar.org/2.4/ja/s2jdbc_abstract.html#流れるようなインターフェースと脱CoCこれには共感。

でも、RDBを使うのではなく、便利なオブジェクトDBが欲しい。 RDBでもいいけど、もっと柔軟性が欲しい。 試行錯誤の段階で、自由に入れたり出したり出来る感じの(笑)

自由に入れたり出したりってことで、オブジェクトDB。 db4objects 日本語ポータル

http://www.db4o.com/japan/LINQもサポートし始めたらしいし、速いらしい。

· One min read

MacのFirefoxだとJavaWebStartの動きがいまいち。 Safariなら・・・と思いきや、同じくいまいち。

こういうときはやっぱWindowsか・・・。

原因はOSなのか、Javaなのか、Firefoxかはわかんないけど、 Macでもブラウザ上のアプリなら動いてくれると期待してたんだけどなぁ。

・・・と思ってたら、MacのVMware上のWindowsでも動作しないぞ!? あら? 普通にWindowsでは動いてたことを考えると、Macがマウスのイベントを拾ってない???

· One min read

タイトルでは"言語の"と書いてあるが、Javaのクロージャ導入の件。 なんか、見にくい気がするんですけど・・・。

確かにクロージャは便利だし、すっきり書ける。 直感的じゃないのもあるが、すごく直感的になるのもある。 けど、JavaはJavaらしさを追求すればいいのでは?と思う。 JVM上で動くスクリプト言語だって多々出てきている今、他の言語の持つ機能をわざわざ導入しなくても・・・と思う。

· 2 min read

scalaをちょっといじってみた。 下記のようなエラーが発生。

java.lang.NoClassDefFoundError: sdb/SDBTest Caused by: java.lang.ClassNotFoundException: sdb.SDBTest
もんのすごい基本的なエラーだが、理由がわからない。 問題なく動作するときと、しないときがあるから。 (動作するときとしないときの現象の切り分けは出来つつある。下記参照)

· One min read

かなり前から気になっているApache Jamesを思い出した。 いろいろと使えそうなんだが・・・もう少し余裕が欲しい。

あと、OpenPNEをレンタルサーバーに入れてみようと思っているのだが・・・活用されるのか?

· 2 min read

DBを全く意識しない仕組みが出来そう。 全く・・・と言っても、裏では動いているから知っていた方がいいけど。 今のところ、insertとcreate tableの2つしか出来てないため、Relationは問題外🙄 Relation出来なきゃ意味ないよなぁ~。

· 2 min read
昨日の時点ではやっぱり読み込みが間違ってた。 無事、修正完了😄 OpenXMLの仕様を把握しているわけではないため、怪しいところもあるが、大丈夫そうだ。 これを作るときにXMLParserのライブラリも用意した。 おかげでXMLの解析が楽になった気がする。

Excelの読み込みはこんな感じ。 XlsxLoader loader = new XlsxLoader(); Workbook workbook = (Workbook) loader.load("sample.xlsx");

· One min read

さっきのXMLEventReaderの件は解決。 zipファイルから読み込んでいたわけだが、ファイルを1単位としたstreamで扱っていたため、うまくいかなかった。 これをzip内の1ファイルとして扱うことで解決♪

具体的にはZipInputStreamクラスを使っていたところをZipFileクラスに変えることで対応。

· One min read

XMLEventReaderのhasNext()を呼び、次がなくなると・・・ストリームが閉じられる!? close()呼んでないのに😔

ファイルIOで使う分には、1ファイルの読み込みが完了して終わりだからcloseしてもいいのだが、このIOがファイルではない場合、勝手に閉じられては困る。 一度、ファイルに落としてからもう一度読み込めばどうってことないのだが、それって無駄でしょ。 あとでファイル消さなきゃならないし・・・。

· 2 min read

Javaには参照実装というものあるらしい。 調べてみたがよくわからない。 『実装するとこんな感じになるよ』という例と書いてあるサイトもあるし、文面から推測するに別クラスを参照しているようにも見えるし・・・。 結果的によくわからず、これに関連するかもわかっていないが、こんなことがあった。

· One min read

Winstone Servlet Container

http://winstone.sourceforge.net/こういうの探してました!! 正にこれ❗️ ❗️ 面白いことが出来そうな予感♪ いろいろと試してみたいが、時間が足りず・・・。

でも、久しぶりのワクワク感(笑)

· One min read

PaSoRiを使ってIDmとPMmを取得することに成功! このIDmとPMmは何か調べてみた。 IDm: Felica製造ID PMm: Felica製造パラメータ ということらしい。

· One min read

今日はインサイダー取引について資料をまとめた。 漠然とは知っていたものの、調べてみると知らないことだらけ。 とりあえずは書いたから、あとはうまくまとめる。

PaSoRiはわかりつつあるが、なぜかうまく動作せず。 もう少し試行錯誤は必要か。

· One min read

送信までたどり着いたが、初期化するときにエラー発生。 エンドポイントが有効ではないらしいが・・・持ってる情報とはいっちしてるんだけど・・・。

· 2 min read
1つ前のエントリーにlibusbというライブラリがあると書いたが、これってCのライブラリ。 Cが得意じゃない者にとっては結構大変。JNIも大変だったし・・・😔

と言う人にはこれ!! libusbをJavaでラップしたライブラリ。

· One min read
JNIの件、コンパイルが通ったんだけど!😳 中身は実装してないので、使ったところで落ちるとは思うが・・・。 戻り値があるって定義したまま、return無くていいんだけっけ?

· 2 min read

最近、Servletのチェックを怠っていたが、cometの実装状況が気になって調べてみた。 Jettyがcometに関することを実装していたとは聞いていたが、まさかTomcatまで既に実装済みだったとは・・・😳

Apache Tomcat 6.0 - Advanced IO and Tomcat

http://tomcat.apache.org/tomcat-6.0-doc/aio.html

· One min read

ソースをSubversionに登録した。 既にtracとSVNが連携してて、肝心のバージョン管理だけが出来てなかったのだ🙄

· One min read

StAXとスタックを使うと結構楽。

タグ解析クラスを用意し、そのクラスを継承した各タグの解析クラスを用意して、回すだけ。 タイミングはStAXが取り持ってくれる。 その際に、Stackクラスを利用して開始タグでpush、終了タグでpopすると、各タグに注力出来る。 タグ解析クラスを継承した各クラスもシンプルになる。

· 4 min read

ネットサーフィンしてると目に付くRubyの話題。 RubyそのものよりもRoRの話題が多いのだが、Javaの話題はあまり見ないな~。 たまたま今日はEffectiveJavaは読んでおくべしって内容の記事は見たけど、過去の話題というか、言語そのものの話というか・・・。 RoRみたいな話題性や、これから先も役に立つという記事ではなかった。

· One min read

trails: ホーム

https://trails.dev.java.net/たまたま見つけたフレームワーク、trails。 ここにこんな一言が。
A domain driven development framework for Java

· 3 min read

JavaからJavaへ~プログラマのための移行ガイド

http://www.littlevoice.jp/works/event/objectclub2007summer/j2j/Java2Java.htmlこんなプレゼン資料発見。 プレゼン自体はClickというフレームワークのものだが、Clickの話題が出てくるまでのJavaへの考え方は似ている。