Java

Spark Framework with Kotlin

この記事はKotlin Advent Calendar 2016の12日目の記事です。 qiita.com さて、今年は一部のmicroservicesをKotlinで実装してリリースしたりしたので個人的にはKotlinを実戦投入した記念すべき年とも言えます このmicroservicesはSpringBootで実装されていま…

Logbackでlogstash形式のログを出力し、fluentdでElasticsearchに転送する

今ちょっとしたmicroservicesをKotlin + Spring Bootで書いているんですが、ログをJSONで出力してfluentdからElasticsearchに送信するにはどうするのがスマートなのかと思いを馳せていました。 Java系のロガーといえばlogbackがかなり有名で広く利用されてい…

okhttpでSocks Proxy経由のHTTPリクエストをする

備忘録的小ネタ。 動機 ネットワーク的に制限されている社内基盤のAPIを利用するプログラムを書いているが、オフィスのネットワークからじゃ直接アクセスできないので通信が許可されているサーバからじゃないとHTTPでアクセスできないのでタルい Mock使って…

J2SE環境でDependency Injection(CDI)するWeld

非J2EE系のスタンドアロンアプリケーションで、J2EEのCDI仕様のDIしたいときはWeldを使うと良さそう。 Weldgithub.com リリース一覧見てみると、3.0.0Alpha系であればCDI2.0をサポートしてる模様。 SprintBootは便利だけど、ちょっとそこまで大きめなものを…

JitPack.ioでGitHub上のJavaプロジェクトを簡単にライブラリとして参照する

Maven Centralに辟易しているpom職人のみなさまこんにちは。 今日はJitPack.ioというサービスを紹介しますよ。 JitPack.ioとは JitPack | Just-in-time packager JitPack.ioは一言で言うと、GitHub上のJavaプロジェクトをライブラリとして参照できるようにす…

第九回 #渋谷java でAeromockの技術について喋ってきた

株式会社ビズリーチさんで行われた、第九回 #渋谷java でAeromockで利用しているJava関連の技術について喋ってきました(なう)。 第九回 #渋谷java (2014/12/13 14:00〜) スライドはこちら。 Aeromockに関しては、いつもフロントエンド視点で語ることが多い…

joda-timeで現在時間を差し替える

joda-timeのTipsをひとつ。 以前紹介したように、joda-timeではorg.joda.time.DateTime#now()で現在時間のインスタンスを生成できます。もちろんJVMが動作するマシンの時間に依存するため、ユニットテストを書いたり、現在時間を任意の時間に変更してアプリ…

JavaなプロジェクトはGroovyでテストを書こう

2日連続のテストに関するエントリである。 Javaをメインストリームで利用していてテストを書く習慣があまりない企業があるとします(まあ弊社なんですけど)。 これまで多くのJavaプロジェクトを渡り歩いてきたが、何故テストを書く習慣が定着しないか色々…

play framework 小ネタ2 -依存モジュールのユニットテストをスキップさせる-

ちょっと間が空きました。それにしてもうんざりする暑さが続きますね。 さて、Playにはプログラムの固まりをモジュール化することができ、他のプロジェクトでそのモジュールに依存することで既存のプログラムを使いまわすことができます。 モジュールには既…

play framework 小ネタ1 -PlayのJobを単独実行させる-

昼の仕事ではPlay1.2系(Java)、個人的な仕事ではPlay2.0系(Scala)を使っていますが小ネタを少しずつ紹介しようかと思います。 Playのデーモンを起動させずにJobを単独実行させる Playはそれ自身がWeb/APサーバ、あるいはジョブスケジューラーとしての役…

年内に1.0.0を出すお

JV-Beansがようやく?1.0.0になります。実はJV-Beansを使った自作システムの仮運用を始めており、諸々のbugやブラッシュアップのネタが出てきています。 とりあえず来週中に1.0.0-RC1、問題がなければ年内に1.0.0リリースの運びになります。

Android技術者試験制度

どうやらAndroidの試験があるらしい! http://www.oesf.jp/modules/activity/index.php?content_id=25 http://it.prometric-jp.com/testlist/android/index.html プロメトリックでも受験できるみたいです。β版だけど。 着々とAndroidの波は来ているし、今後…

commons-cliでコマンドライン処理

dosやunixのコマンドラインオプションのように、Javaの起動引数にも同じようにオプションで値を渡したいというケースがあると思います。そのような場合、引数配列を処理する実装が必要ですが、堅牢な実装をするのにはそれなりに手間とコストがかかるわけです…

デコンパイリングJava

何かキモい本を見つけたので買ってしまいましたw デコンパイリングJava ―逆解析技術とコードの難読化 (Art Of Reversing)作者: Godfrey Nolan,松田晃一,小沼千絵,湯浅龍太出版社/メーカー: オライリージャパン発売日: 2010/06/03メディア: 単行本(ソフトカ…

スレッド不足

最近スレッドが不足している。ThreadPoolに空スレッドが無い。常駐で入っている案件に加え、自宅で持ち帰り案件やっているのです。先にとあるオフショア先が見積もりを出していましたが、個人的にはどんぶり勘定な感は否めず、自分としてはその1/4の工数を提…

今後のJV-Beansの展望

JV-Beansは現在ver0.3.0のリリースに向けて開発を進めています。以下のような内容になります。 ファイル出力支援機能の追加。とりあえず現状CSV, TSVは出力できる。他に考えられる形式といえばXMLもあるが、今のところは必要ないかなと。 データ区分がenumに…

待望のSolr和書

ついにSolrの和書が出版されるようです。 Apache Solr入門 ―オープンソース全文検索エンジン作者: 関口宏司,三部靖夫,武田光平,中野猛,大谷純出版社/メーカー: 技術評論社発売日: 2010/02/20メディア: 大型本購入: 14人 クリック: 442回この商品を含むブログ…

Hadoop本出たお

オライリーのHadoop本日本語版が出たので読み始めた。 Hadoop作者: Tom White,玉川竜司,兼田聖士出版社/メーカー: オライリージャパン発売日: 2010/01/25メディア: 大型本購入: 9人 クリック: 429回この商品を含むブログ (74件) を見るやばい。面白すぎるぞH…

SJC-P6の日本語版試験が始まっているらしい

タイトルの通り。いつのまにかSJC-P6(310-065)の日本語版試験が受験できるようになっているみたいです。http://jp.sun.com/training/catalog/courses/CX-310-065.xml5と違うのはNavigatableMapくらいですかね。暇なときに受けてみましょうか。税金対策にはな…

JV-Beans ver0.2.0をリリースしました。

先程、0.2.0のリリースを行いました。年内最後のリリースになります(致命的なバグが見つかればすぐ対応するでしょうが)。http://sourceforge.jp/projects/jv-beans/releases/44969今回は以下の対応をしています。 JV-Link3.4.0に対応 DTOをバインディング…

JNAという選択肢

@ITを斜め読みしていたら、JNAなるものが存在することを知りました。http://www.atmarkit.co.jp/fjava/special/jna/jna_1.htmlネイティヴメソッドをJavaからコールするためのライブラリですね。ちなみに以前も書きましたが、JV-BeansではJacobというブリッジ…

JV-Beans ver0.1.2をリリースしました。

http://sourceforge.jp/projects/jv-beans/releases/今回もバグフィックスのみです。これで少し?落ち着くでしょうか・・・ ver0.2.0へ向けて動き出さなきゃいけませんね。

JV-Beans ver0.1.1をリリースしました。

ver0.1.1をリリースしました。今回はバグ修正のみのマイナーリリースになります。http://sourceforge.jp/projects/jv-beans/releases/?package_id=10265DTOにJOINしているListの値がうまくセットできない問題を修正しました。サンプルもpomを0.1.1にしておき…

Lucene3.0が出たらしい

http://sourceforge.jp/magazine/09/11/27/0733241メジャーリリースですが、どうやらようやくTigerに対応したみたいですね。でもバージョンうpにはお気をつけくださいとのこと。

NIOを検証してみようかと思う

JV-Beansの次のリリースではファイル出力機構というのを入れようと思います。まあ運用的観点からあった方が便利と考えてます。やはりやるからにはパフォーマンスには少しこだわりたい。というわけでjava.ioではなくjava.nio(New I/O)を検討しています。New I…

JV-Beans ver0.1.0をリリースしました。

先程、JV-Beans ver0.1.0をリリースしました。念願の初リリースであります。ダウンロードはこちらから http://sourceforge.jp/projects/jv-beans/releases/JV-Beansドキュメントサイト http://jv-beans.sourceforge.jp/site/index.html正直、サイトがまだ気…

もうすぐ0.1.0版をリリースするよ

馬フレームワークJV-Beansもまもなくリリースできそうです。とりあえずsourceforgeにプロジェクトページも作ってます。 http://sourceforge.jp/projects/jv-beans/リリース目標日は11/24です。

現状こんな感じ♪

ちょっとご無沙汰気味になりました。最近タスクがオーバーフローな感じです。修行はもちろん、試験やエージェントとの打ち合わせやらが入ってきてるので多忙になりつつあります。それはそうと現在作成中のJVLinkのJava用ライブラリ。JVBeansという名でリリー…

accessorとmutator

厳密にはgetterメソッドをaccessor、setterメソッドをmutatorと呼ぶようです。 今まで両方ともaccessorって呼んでました。すんません。 そういえばEffective Java 第2版 (The Java Series)に書いてた気がします。

Solr本が出るらしい

Solr専門の本は今まで存在していませんでしたが、ついに出るらしいです。 Solr 1.4 Enterprise Search Server: Enhance Your Search With Faceted Navigation, Result Highlighting, Fuzzy Queries, Ranked Scoring, and More作者: David Smiley,Eric Pugh出…

Jacobでネイティヴメソッドコール

以前紹介したJVLink。Java未対応なのでJNI経由でJVLinkのメソッドをコールしなくてはいけません。単純に生のJNIでやるとすると、Cのモジュールをコンパイルしたり、Javaでのラッパーを用意する必要があるのでちょっと手間です。 その手間を省くためにJacobと…

読書の夏は続く

時間がたっぷりあるので本ばっかり読んでます。 増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/03/21メディア: 大型本購入: 14人 クリック: 248回この商品を含むブ…

Flexを知ろう

http://www.atmarkit.co.jp/fwcr/special/javatoflex/javatoflex_1.htmlまあFlexとAction Scriptのとっかかりとしては良い記事かと思いますよ。Java屋にとってやらない手はないと思います。Flex4にも期待ですね。

S2Chronosセットアップ

S2ChronosベースのプロジェクトをMaven2構成で作ってみましょう。(既にMaven2プロジェクトを作成している前提で進めます) pom.xml 以下のような形でpom.xmlを記述します。 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org…

File#deleteOnExit

ファイル処理等で、止むを得ず一時ファイルを生成する必要があったりするでしょう。ファイル削除には通常File#delete()を使用しますが、このメソッドが実行される前に例外が発生しプログラムが終了すれば一時ファイルは生き残ってしまいます。一時ファイルを…

JDK5(Tiger)の機能をブラッシュアップするなら

JDK5から大きく言語仕様が変わったJavaですが、その新機能を網羅した本があります。Java 5.0 Tiger (開発者ノートシリーズ)作者: ブレットマクラフリン,デイビッドフラナガン,Brett McLaughlin,David Flanagan,菅野良二出版社/メーカー: オライリージャパン…

いつのまにかiBATIS3(ベータ)が出てた

O/R Mapperとしてそれなりに有名なiBATISのメジャーリリース(ベータだけど)があったようです。http://ibatis.apache.org/ここ1年くらいSeasar案件だったのでS2DaoやS2Jdbcばっか使ってましたが、iBATISも以前は結構使ってました。コンテナがSpringの場合…

JVLinkをJavaでやってます

最近のライフワーク、JRA-VANのDataLab。JRAのオフィシャルデータが提供されていて、僕もお金払って買っています。JVLinkというインタフェースを介してデータを取得する仕組みです。http://jra-van.jp/dlb/sdv/index.htmlVB.netやC++.net用に開発キットが提…

オブ脳

「オブジェクト指向って結局のところ何なのさ」っていう方必読の本があります。オブジェクト脳のつくり方―Java・UML・EJBをマスターするための究極の基礎講座作者: 牛尾剛,長瀬嘉秀出版社/メーカー: 翔泳社発売日: 2003/07/02メディア: 単行本購入: 7人 クリ…

エンジニアのためのJavadoc再入門講座

今日は休みだったので、紀伊國屋サザンシアターに3時間ほど入り浸ってました。 そんな中で良書を見つけたので紹介します。エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方作者: 佐藤竜一出版社/メーカー: 翔泳社発売日: 2009/06/30メデ…

ガリレオ少し触ってみた

ガリレオを触り始めました。@ITに早速記事が出ています。J2MEのエミュレータとか面白いと思ってみたり。 http://www.atmarkit.co.jp/fjava/rensai4/devtool06/devtool06_1.htmlまだFlexBuilder3が使えるかどうかも試していないので、移行するにしてももう少…

Rubyのブロック引数渡しをJavaでやると

Rubyではメソッドにブロックを渡すとクロージャ(Closure)を構築できます。 Enumerableクラスのdetectメソッドを例として見てみましょう。 ちなみにdetectはブロック内の条件式が初めて真となった際に配列の要素を返します。 array = (1..10).to_ap array.det…

Java Web Startで挫折の巻

前回のエントリからJWSの技術検証をしています。以下の事をやりたいのです。 JavaのCIやBTSのようなサーバサイドアプリをミドルウェア込みでインストールできるようにしたい。 配布元のjnlpのURLを叩けば、あとは対話的に質問に答えるだけでインストールはよ…

Java Web Startを考える。

「Java Web Start(以下、JWSと呼ぶ)」というものを3年程前にやっていたことがあります。 JWSはhttp経由でWebからJavaアプリケーションをダウンロードし、インストールできる仕組みです。JWSでアプリを配布するにはJnlpという形式のファイルを記述し、web…

暗号化キー長制限のリミッタを外す

Javaでの暗号化機構はjavax.cryptoパッケージで提供されています。javax.crypto.Cipherクラスでは様々な暗号化アルゴリズムをサポートしています。 実はこのJavaの暗号化機構、デフォルトでは暗号化キーの長さに制限があります。JDKに同梱されているJCE(暗…

Flex始めるなら

昨日はSilverlightのエントリだったので今日はFlexを。Flexは色んな本を物色しましたが、↓が一番良かったです。 Adobe Flex 3 & AIRではじめるアプリケーション開発作者: 公門和也,大谷晋平,堀越悠久史出版社/メーカー: インプレスジャパン発売日: 2008/12/0…

Spring3.0とFlex

Springは3.0からBlazeDSとの統合が進められる予定です。 BlazeDSって何かというと、FlexやAdobe AIRのUIからJavaのリモートメソッドコール機能を実現するAdobeのフレームワークです。SeasarではS2BlazeDSというプロダクトによって、S2Containerとの連携が図…

Flex Builder3 WindowsをUbuntuで使おうとしてみた

ちょっと間が空きました・・・。 新年度になってちょっとバタバタしてるので、落ち着くのにもう少しかかりそうです(さらに来週は試験だ)。さて、自宅のデスクトップはWindows VistaとUbuntuのデュアルブート構成なのですが、最近は専らUbuntuの使用がメイ…

Solrのクライアント側処理を考える

ApacheのSolrというプロジェクトをご存じでしょうか? 同じApacheのLuceneという全文検索エンジンを使用した全文検索サーバーアプリケーションです。 このSolrはTomcat上でWebアプリケーションとして動作します。 単純な仕組みとしては・・・ クライアント側…

SUNの受験チケット値上げに思う

SUN認定資格といえば、SJC-Pに代表されるJava系の資格やSolarisの資格があるのですが、昨年12月に受験料(受験チケット)の価格が24000円→30000円に値上げになりました。値上げによって試験の付加価値が上がるとかならまだいいですが、別に試験の内容も変…