2011年12月1日 at 1:55 午前 オラクル社員となって、昨年の 12 月 1 日にまた Java エバンジェリストとして活動を再開し早いもので1年が経過しました。この1年間様々な出来事があり、色々と大変なこともありましたが何とかそれらの試練を乗り越えることができました。これも一重に私を支えてくださった諸先輩や同僚、そしてJJUG の皆様や日本全国の勉強会でお会いした多くの開発者の皆様のおかげです。皆様のご支援があったからこそ私もこの1年精力的に活動ができました。皆様本当にありがとうございました。来年開催予定の JavaOne Tokyo に向けてこれからも精力的に活動をしてまいりますので、今後もどうぞご支援の程宜しくお願いします。ちなみに JavaOne 2012 Tokyo の登録開始は 1 月 24 日(火)を予定しています。それまで是非楽しみにお待ちください。 ところで、1
When you want to run javascript code in a java environment the only option you really have is to use the Mozilla Rhino Javascript Engine. It has some great features but performance is quite lacking especially when compared to a native engine such as Google's V8 engine. So what if you wanted to run javascript code in V8 from java. As part of the work I did for the Dojo Zazl Project I investigated
JavaはクラウドやHTML5、 iOS/Androidも取り込む? JavaOne 2011まとめレポート Twitter Inc. 山本裕介 2011/10/14 JavaOne 2011まとめレポート 1996年から続いている伝統のJava開発者向けイベント、「JavaOne Conference 2011」が10月2~6日の4日間サンフランシスコで開催されました。オラクルによるサン・マイクロシステムズ(以下、サン)の買収騒動から一息着いた今回は「Moving Java Forward」を標榜し、Javaエコシステムが今度も進化し続けることを強調する発表が続々となされました。 本稿では、カンファレンス期間中になされた重要な発表をプラットフォーム別にまとめてお伝えします。 Java SE - 7リリース、8は2013年、9はどうなる Java EE - 6の普及とマルチクラウドへの歩み
SAStrutsがActionにトランザクションをかけていたことからヒントを得て、JAX-RS実装のJerseyを拡張して、Resourceクラスの実行時に直接トランザクションをかけるようにしてみたら面白いんじゃないかと思いました。そうすれば、コンテナ管理のトランザクションスコープEntityManagerが簡単に使えるようになるので、JPAのEntityを簡単にURLに紐づけることができます。 JerseyのServletを拡張してEntityManagerをDIできるようにし、Resourceが呼ばれる単位でトランザクションが自動でかかるように拡張してみました。やりかたが超強引なので、参考にもならないレベルですが・・・ まずはServletクラスの拡張から package mapsample.rest.container.servlet; import java.lang.reflec
前回(id:da-yoshi:20080429:1209403828)のJersey拡張はあまりにも強引過ぎてお試し以外には使えそうも無いので、もうちょっと真面目にJerseyのAPIを調べてみました。 JAX-RS仕様に基づくResourceクラスのインスタンス化を受け持つインターフェイスとして、Jerseyにはcom.sun.ws.rest.spi.resource.ResourceProviderが定義されています。何の指定もしなければ、このインターフェイスの実装であるPerRequestProviderが使用されます。 com.sun.ws.rest.spi.resource.ResourceFactoryアノテーションをResoureceクラスに定義すれば、独自のResourceProviderを定義できます。でもいちいちクラス毎に設定するのは面倒なので、デフォルトの設定をJer
先月に引き続き、今月もNIO2で導入されたファイルシステムインタフェースについて紹介していきます。 簡単に前回のおさらいをしておきましょう。 新しいファイルシステムインタフェースは、既存のFileクラスの欠点を解決すべく導入されたAPIです。 ファイルシステムを表すのがjava.nio.file.FileSystemクラス、java.io.Fileクラスに対応するのがjava.nio.file.Pathインタフェースです。Pathオブジェクトに対するユーティリティメソッドはjava.nio.file.Filesクラスで提供されています。 先月はPathオブジェクトの生成、Fileオブジェクトとの相互変換、入出力などに関して説明を加えました。今月はFilesクラスで提供している機能を中心に説明を加えていきます。 ファイル・ディレクトリの作成 はじめに、ファイルやディレクトリを作成するところか
昨日、Java 7th moon 富山が開催されました。参加者21名と小規模ながら、会場は非常に盛り上がりました。ああ、凄く楽しい。こんなに楽しいのは久しぶりだ。スピーカーをしてくださった皆さん、参加してくださった皆さん、本当にありがとうございます! LT(ライトニングトーク)で昔のネタを引っ張り出してSemicolonless Javaをやったのだけど、LTなので時間もなく一番アツイ部分が伝えられなかったのでちょっと書いておこう。 歴史 Semicolonless Java(セミコロンレスJava)はJavaのサブセットで、Java言語からただひとつセミコロンを取り除いただけのプログラム言語だ。 この言語自体は1996年にJavaがリリースされたと同時に実装が存在したが、誰にも知られていなかった。この言語が発見されたのは2010/3/21で場所は熱海。java-ja温泉というイベントの2
どうやらJAX-RSで普通にアクセスするとセッションを新規に開始しないようだ。もちろん、すでに開始中の場合はセッションの保持時間を延長してくれる。ブラウザからのアクセスの場合まずどこかでhtmlを表示しているのでその後AJAX等でアクセスしてもセッションが引き継がれるので問題にはなりにくいのだが、Swing等単体のアプリだとそうはいかない。 もちろん、JAX-RSで意識的にセッションを発行することは出来る。通常業務アプリはまず最初にログイン画面があるため、ログイン認証のリソースでセッションクッキーを取得させればよい。クッキーを取得していないか、取得していてもログインしていなければはねさせる。これは通常のアプリと同じくフィルタではねると楽だろう。 セッションのIDはどこで取得すればいいかというとHttpServletRequest をインジェクトするのが一番楽。JAX-RSは@Context
Javaでは欠かせないクラスをロードするためのクラスローダ。普段意識していないかもしれませんが、しっかりと縁の下で支えているよね。(Java言語仕様を確認しながら書いてないので間違っていたらツッコミよろしくです) クラスローダとは Javaクラスローダー(英: Java Classloader)とは、Java仮想マシンの一部で、JavaクラスをJava仮想マシンに動的にロードする役割を持つ [1]。通常、クラスは必要になったとき初めてロードされる。Javaの実行系は、クラスローダーがあるおかげでファイルやファイルシステムについて知る必要がない。 大きく分けて以下の3つの種類があります。 ブートストラップ クラスローダ エクステンション クラスローダ システム クラスローダ ブートストラップは、Javaのコアライブラリ($JAVA_HOME/lib/rt.jar)のライブラリ、パッケージがj
もっとJavaEE6っぽくやってみよう 昨日のエントリでは、AsyncContextの使いかたを試すため、サーブレットだけを使って実装してみました。 でも、すこし泥臭いコードも多くなっていたし、このまま実用的なコードにしていくときにゴテゴテとコードを継ぎ足していくというのもイヤな感じです。 そこで、もっとJavaEE6っぽいコードに書き換えてみましょう。 少し準備 今回は、JAX-RSでのRESTful Webサービスと、CDIでのインジェクションを使ってみます。 JAX-RSの準備 まずは、JAX-RSを使うための設定クラスを作成します。 package chat2; @javax.ws.rs.ApplicationPath("rs") public class ApplicationConfig extends javax.ws.rs.core.Application { } こういう
Sun Microsystemsで「Java」の基礎を築いた著名なプログラマーであるJames Gosling氏がGoogleに入社した。Googleは現在、「Android」におけるJavaに関連した著作権および特許権をめぐり、Oracleと争っている。 Gosling氏は米国時間3月28日、新しくGoogleに入社したことを自身のブログで発表した。「何に従事することになるかはわからない。あらゆることに少しずつ関与し、無愛想な頑固者の風味をたっぷりとふりかけることになると思う」と同氏は述べた。 2010年にOracleがSun Microsystemsを買収した際、Gosling氏はOracleに入社しなかった。 Oracleの方針は明らかにGosling氏の意に反していた。同氏はOracleの最高経営責任者(CEO)であるLarry Ellison氏のことを、「暗闇の王子Larry」と
java-ja 温泉きたので Eclipse を入れなおしてみた [Java]-[Build Path]-[Classpath Variables] に M2_REPO を追加 ($HOME/.m2/repository) [Java]-[Appearance]-[Type Filters] に java.awt.* を追加 http://d.hatena.ne.jp/Yamashiro0217/20090322/1237707686 [Java]-[Editor]-[Content Assist] で Complletion overwrites にチェック 補完時に上書きする [Java]-[Editor]-[typing] で Automatically insert at correct position の Semicolons にチェック どこで「;」を押しても行末にいれてくれ
追記: 指摘の通りで、現実的な連結回数での計測でもないですし、統計手法を用いた分析をしていないので、このエントリの計測値は当てにしないでください。なので以下のブログを参考にしてください。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての。 激しく今更感があるタイトルですが(;・∀・) 昔に取り上げたのですが、 文字列の結合をやるからといって、すぐにStringの+をつかってはいけない - じゅんいち☆かとうの技術日誌 Stringの+演算子は間違った使い方するとパフォーマンスが低下しますよっていう話題。若干ネタ成分ありますが、ご容赦ください。 これ系の話題は自分的にはオワコンなんですが、最近、また話題を見つけた
検査例外はアジャイルやオブジェクト指向の考えに反するという事実 - じゅんいち☆かとうの技術日誌 タイトルは釣り度が強すぎかなー、、、まぁ、個人のブログなんで気にしないでくださいw ブログはカジュアルに書けばいいんですよ。タイトル付け失敗してもサーセンです。 「オブジェクト指向の考え」ではなく「オープンクローズド原則」に反するとしたほうがいいですね。 しかし、貶める気もない人に 貶めるという定義付けは いただけないなー。 で、そんなこんなで重量級をゲットしてもた。。 非チェック例外多用作戦のトレードオフ認識 - 都元ダイスケ IT-PRESS オブジェクト指向と型システムの狭間で例外を考える - プログラマーの脳みそ エントリをいただいたので、さらにまた考えてみました。 チェック例外の正当性を再検証する 最近、多くの人の尊敬を集めているBruce EckelやRod Johnsonといった
デブサミ2011会場のオライリーのブースで目に入ったため、以下の本を購入しました。 Java: The Good Parts 作者: Jim Waldo,矢野勉,笹井崇司出版社/メーカー: オライリージャパン発売日: 2011/02/24メディア: 大型本購入: 3人 クリック: 148回この商品を含むブログ (37件) を見る180ページほどの薄い本ですし、各章は独立して気軽に読むことができます。早速、気になるいくつかの章から読んでみました。ただし、監訳者のid:t_yano氏も前書きで 本書が、みなさんにとってJava以外の言語についても考えるようになり、みなさんのプログラミングの世界がさらに豊かになることを望みます。 と書かれているように、この本から直接Javaのプログラミングのテクニックや知識を得るというよりも、ベテランの上級者がJavaについて考え直すきっかけ作りとして読むのが良
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く