JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」

Hiroyuki Ohnaka
Hiroyuki OhnakaGrowth xPartners Incorporated.
About MVC 1.0 & JSON-P
2015/11/14
JavaOne 2015 報告会 @ 東京
グロースエクスパートナーズ(株)
大中 浩行
Copyright© 2015 Growth xPartners, Inc. All rights reserved.
Copyright© 2015 Growth xPartners, Inc. All rights reserved..
今日のお題
 MVC 1.0
 JSON-P 1.1
 (ちょこっと)JSON-B
1Copyright© 2015 Growth xPartners, Inc. All rights reserved.
MVC1.0
Copyright© 2015 Growth xPartners, Inc. All rights reserved. 2
2015/1/1
MVC 1.0
 actionベースのMVCフレームワーク
 JSR371
• 現在のステータスはEarly Draft Release 2(EDR)
リファレンス実装はozark
• https://ozark.java.net/
 JJUGもAdopt a JSRを通じて参加
3Copyright© 2015 Growth xPartners, Inc. All rights reserved.
なぜJSFでなくMVCなのか
 JSFはcomponentベース
 MVC 1.0 は actionベース
4Copyright© 2015 Growth xPartners, Inc. All rights reserved.
なぜactionベースなのか
 見通しのよさ、簡便さ
 RESTとの親和性
5Copyright© 2015 Growth xPartners, Inc. All rights reserved.
フロントエンドの流行廃りの激しさ
 WONTA (Write Once, Never Touch Again)
※どうせそのうち書き直すのだから保守性は考慮にいれない、の意
 定着した技術としてのサーバーサイドMVCへのニーズ
6Copyright© 2015 Growth xPartners, Inc. All rights reserved.
Controller
 MVCのControllerはJAX-RSのresourceとして実装
 ただし、semanticsには若干差異がある
7Copyright© 2015 Growth xPartners, Inc. All rights reserved.
Controller
8Copyright© 2015 Growth xPartners, Inc. All rights reserved.
@Path("hello")
public class HelloController {
@Inject
private Greeting greeting;
@GET
@Controller
public String hello() {
greeting.setMessage("Hello there!");
return "hello.jsp";
}
}
Controllerのバリエーション
9Copyright© 2015 Growth xPartners, Inc. All rights reserved.
@GET @Path("void") @View("hello.jsp")
public void helloVoid(){
}
@GET @Path("viewable")
public Viewable helloViewable(){
return new Viewable("hello.jsp");
}
@GET @Path("response")
public Response helloResponse(){
return
Response.status(Response.Status.OK).entity("hello.jsp").build();
}
@GET @Path("myview")
public MyView helloMyView(){
//toString returns "hello.jsp"
return new MyView("hello.jsp");
}
Validation
 Bean Validation(JSR349)ベース
 Validationエラーの扱いについて
• 以下の2択
 ExceptionMapper<ConstraintViolationException>を実装して共通的に
処理する
 BindingResultをInjectionして、Controllerのメソッド内部で処理する
 ハンドリングの仕様がprimitiveな印象
10Copyright© 2015 Growth xPartners, Inc. All rights reserved.
ExceptionMapperによるハンドリング
11Copyright© 2015 Growth xPartners, Inc. All rights reserved.
public class FormViolationMapper
implements ExceptionMapper<ConstraintViolationException> {
public Response toResponse(ConstraintViolationException e) {
Set<ConstraintViolation<?>> set = e.getConstraintViolations();
if (!set.isEmpty()) {
// fill out ErrorDataBean
}
return Response.status(Response.Status.BAD_REQUEST)
.entity("error.jsp").build();
}
}
Controllerによるハンドリング
12Copyright© 2015 Growth xPartners, Inc. All rights reserved.
@Path("form")
@Controller
public class FormController {
@Inject
private BindingResult br;
@POST
@ValidateOnExecution(type = ExecutableType.NONE)
public Response formPost(@Valid @BeanParam FormDataBean f) {
if (br.isFailed()) {
return Response.status(Response.Status.BAD_REQUEST)
.entity("error.jsp").build();
}
return Response.status(Response.Status.OK).entity("data.jsp")
.build();
}
}
View
 仕様としてサポートを要求するのはJSPとFacelet
 他は全てextension
 Ozarkには以下のextensionがcontribute済み
 Asciidoc, Freemarker, Handlebars, Jade, JSR 223 (JavaScript)
 Mustache, StringTemplate, Thymeleaf, Velocity
13Copyright© 2015 Growth xPartners, Inc. All rights reserved.
BYOVE
 Bring Your Own View Engine
 BYODKM(Bring Your Own Display, Keyboard and Mouse)のもじり
 MVC1.0としてはViewのあり方については規定しない
14Copyright© 2015 Growth xPartners, Inc. All rights reserved.
 Viewのデフォルトのパスは”/WEB-INF/views”以下
 変更した場合は
javax.mvc.engine.ViewEngine.viewFolder プロパテ
ィを使ってオーバーライド
15Copyright© 2015 Growth xPartners, Inc. All rights reserved.
スコープ
 Controllerのデフォルトスコープはrequest
 CDIのスコープを使用可能
 application/session/request/conversation
 MVCで @RedirectScoped を定義
 PRG(POST-Redirect-GET)パターンをサポート
16Copyright© 2015 Growth xPartners, Inc. All rights reserved.
@RedirectScoped
17Copyright© 2015 Growth xPartners, Inc. All rights reserved.
@Named("bean")
@RedirectScoped
public class Greeting {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
イベント
 Observerパターン
 モニタリング/デバッグ/チューニング用途
 BeforeControllerEvent / AfterControllerEvent
BeforeProcessViewEvent / AfterProcessViewEvent
ControllerRedirectEvent
 追加の可能性あり
18Copyright© 2015 Growth xPartners, Inc. All rights reserved.
19Copyright© 2015 Growth xPartners, Inc. All rights reserved.
@ApplicationScoped
public class EventObserver{
public void onBeforeController(@Observes BeforeControllerEvent e){
System.out.println("URI:“
+ e.getUriInfo().getRequestURI());
}
public void onAfterController(@Observes AfterControllerEvent e){
System.out.println("Controller:"
+ e.getResourceInfo().getResourceMethod());
}
}
感想
 「フレームワーク」ではなく「API」
 All in one フレームワークとは一線を画している
 「ポストStruts」ではない
 とはいえ、Validationとそれに関係する画面遷移の周
りをもうちょっと作り込まないと実用にはつらい!
20Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JSON-P 1.1
Copyright© 2015 Growth xPartners, Inc. All rights reserved. 21
2015/1/1
JSON-P 1.0
 Java API for JSON Processing
 JSR353
 リファレンス実装はjava.net
• https://java.net/projects/jsonp
 JavaEE7で採用
22Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JSON-P 1.1
 JSON-P 1.0(RFC4627)をRFC7159でアップデート
 JSR374
 現在のステータスはEarly Draft Review
23Copyright© 2015 Growth xPartners, Inc. All rights reserved.
RFC7159
 全ての値がトップレベルに可能に
 つまり、以下がvalidになる
24Copyright© 2015 Growth xPartners, Inc. All rights reserved.
追加されたAPI
 Json
 public static JsonString createValue(String value)
 public static JsonNumber createValue(int value)
 imilarly for long, double, BigInteger, and BigDecimal
 JsonReader
 default JsonValue readValue()
 JsonWriter
 default void write(JsonValue value)
25Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JsonArray and JsonObject Transformations
 ビルダーパターンを用いたJsonオブジェクトの変換
26Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JsonArray value = Json.createArrayBuilder()
.add(Json.createObjectBuilder()
.add("type", "home")
.add("number", "212 555-1234")).build();
JsonArray result = Json.createArrayBuilder(value)
.add(Json.createObjectBuilder()
.add("type", "fax")
.add("number", "646 555-4567"))
.build();
JSON-Pointer
 RFC6901
 JSONの特定値を差すための文字列syntax
27Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JsonStructure commit = reader.read();
JsonPointer p = new JsonPointer("/employee/name");
JsonStructure result = p.replace(commit,
Json.createValue("Hiroyuki Onaka"))
ポインターによるJSON操作API
 add(JsonStructure, JsonValue)
 replace(JsonStructure, JsonValue)
 remove(JsonStructure)
28Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JSON-PATCH
 JSON更新処理の標準化
 RFC6902
29Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JsonStructure commit = reader.read();
JsonPatchBuilder builder = new JsonPatchBuilder();
JsonStructure result =
builder.add("/John/phones/office", "1234-567")
.remove("/Amy/age")
.apply(commit);
JSON-PATCHによるJSON間の差分取得
 JsonArray diff =
JsonPatch.diff(commit1,commit2)
30Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JSON-MERGE PATCH
 RFC7386
 JSON間のマージ処理
 nullの値をマージするとキーの削除になる
 application/json-patch+json
31Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JsonObject removeEntry = Json.createObjectBuilder()
.add("hiroyuki@fieldnotes.jp", JsonValue.NULL).build();
JsonValue newCommit =
JsonMergePatch.mergePatch(reader.read(), removeEntry)
JSON-MERGE PATCHによるパッチ
 リバースパッチが可能
32Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JSON Queries with java.util.stream.Stream
 JsonObject/JsonArrayをMap/Listとして
stream+LambdaでOperation可能に
 javax.json.stream.JsonCollectors
 #groupingBy / #toJsonArray / #toJsonObject
33Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JSON PROCESSING IN PARSING
 streamモデルによる大容量Jsonデータの処理
 javax.json.stream.JsonParserにAPI追加
 getArray / getObject / getArrayStream / getObjectStream
34Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JSON-P
 JSONに対する低レベル操作API
 JSONとJavaオブジェクト(JavaBean)へのマッピング
機能は持っていない
35Copyright© 2015 Growth xPartners, Inc. All rights reserved.
JSON-B
 Java API for JSON Binding
 JSR367
• 現在のスタータスはEarly Draft 2
 リファレンス実装はeclipselink MOXy(開発中)
36Copyright© 2015 Growth xPartners, Inc. All rights reserved.
37Copyright© 2015 Growth xPartners, Inc. All rights reserved.
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
Jsonb jsonb = JsonbBuilder.create();
ServletOutputStream out = response.getOutputStream();
out.print(jsonb.toJson(new JsonPlans()));
out.flush();
}
デモ: https://github.com/m0mus/jason_plans
 JSON-P 1.1はフレームワーク/ライブラリー開発者
には垂涎の機能だがそれ以外の開発者には…?
 JSON-Bなら使い出はありそうだが如何せん標準化に
時間がかかりすぎる!
38Copyright© 2015 Growth xPartners, Inc. All rights reserved.
おまけ
Copyright© 2015 Growth xPartners, Inc. All rights reserved. 39
2015/1/1
JavaOne中にちょくちょくあったこと
 「それ日本の(ブログ|勉強会)で聞いたやつだ!」
 「そのネタだったら俺に喋らせろ!」
40Copyright© 2015 Growth xPartners, Inc. All rights reserved.
世界はそんなに遠くない
 あれだけの数技術にとがったセッションを集めること
のできるパイの大きさというのは、超えられない壁です
が…
 software developmentのレベルでは海外(主に米国)
と日本は大差はなかったと思う。
41Copyright© 2015 Growth xPartners, Inc. All rights reserved.
References
 MVC: Model-View-Controller API Version 1.0 Early Draft (Second
Edition)
 http://download.oracle.com/otndocs/jcp/mvc-1-edr2-spec/index.html
 JSR-000374 Java API for JSON Processing 1.1 Early Draft Review
Javadoc
 http://download.oracle.com/otndocs/jcp/json_p-1_1-edr-spec/index.html
 JavaOne 2015 セッション資料
 Introduction to MVC 1.0 (JSR 371) [CON4176]
 What’s New in the Java API for JSON Processing? [CON3561]
 What’s New in Java API for JSON Binding (JSR 367) [CON6155]
42Copyright© 2015 Growth xPartners, Inc. All rights reserved.
Thank you!
 大中浩行(Onaka,Hiroyuki)
 グロースエクスパートナーズ(株)
テクニカルリード
 http://blog.fieldnotes.jp/
 @setoazusa
43Copyright© 2015 Growth xPartners, Inc. All rights reserved.
1 of 44

Recommended

JavaOne2015報告会 Java EE アップデート #j1jp by
JavaOne2015報告会 Java EE アップデート #j1jpJavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jpNorito Agetsuma
13.4K views49 slides
Java EE8 Report by
Java EE8 ReportJava EE8 Report
Java EE8 ReportNorito Agetsuma
8.2K views41 slides
Java EE パフォーマンスTips #glassfish_jp by
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpNorito Agetsuma
8.1K views32 slides
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新 by
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Masatoshi Tada
15.5K views61 slides
JavaOne 2015 JDK Update (Jigsaw) #j1jp by
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpYuji Kubota
15.9K views82 slides
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c by
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cCDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cNorito Agetsuma
6.4K views90 slides

More Related Content

What's hot

WildFly Swarmではじめる「パーツとしてのJavaEE」 by
WildFly Swarmではじめる「パーツとしてのJavaEE」WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」Hiroaki NAKADA
6.6K views20 slides
Advanced database monitoring in modern java by
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern javaChihiro Ito
3.8K views36 slides
WildFly Swarm - Rightsize Your Java EE Apps by
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsYoshimasa Tanabe
5.1K views52 slides
Javaアプリケーションサーバ 構築・運用の勘所 by
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Takahiro YAMADA
98.3K views37 slides
はじめてのJPA by
はじめてのJPAはじめてのJPA
はじめてのJPAkawaba
3.3K views116 slides
Nashorn in the future (Japanese) by
Nashorn in the future (Japanese)Nashorn in the future (Japanese)
Nashorn in the future (Japanese)Logico
3.5K views49 slides

What's hot(20)

WildFly Swarmではじめる「パーツとしてのJavaEE」 by Hiroaki NAKADA
WildFly Swarmではじめる「パーツとしてのJavaEE」WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」
Hiroaki NAKADA6.6K views
Advanced database monitoring in modern java by Chihiro Ito
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern java
Chihiro Ito3.8K views
WildFly Swarm - Rightsize Your Java EE Apps by Yoshimasa Tanabe
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE Apps
Yoshimasa Tanabe5.1K views
Javaアプリケーションサーバ 構築・運用の勘所 by Takahiro YAMADA
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
Takahiro YAMADA98.3K views
はじめてのJPA by kawaba
はじめてのJPAはじめてのJPA
はじめてのJPA
kawaba3.3K views
Nashorn in the future (Japanese) by Logico
Nashorn in the future (Japanese)Nashorn in the future (Japanese)
Nashorn in the future (Japanese)
Logico 3.5K views
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側 by 賢 秋穂
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
賢 秋穂4.2K views
Java Batch 仕様 (Public Review時点) by Norito Agetsuma
Java Batch 仕様 (Public Review時点) Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点)
Norito Agetsuma34.2K views
Java EEハンズオン資料 JJUG CCC 2015 Fall by Masatoshi Tada
Java EEハンズオン資料 JJUG CCC 2015 FallJava EEハンズオン資料 JJUG CCC 2015 Fall
Java EEハンズオン資料 JJUG CCC 2015 Fall
Masatoshi Tada24.5K views
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57 by Toshiaki Maki
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
Toshiaki Maki17.9K views
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4 by bitter_fox
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
bitter_fox23.4K views
Seasar2で作った俺たちのサービスの今 by Koichi Sakata
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
Koichi Sakata26K views
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか by Chihiro Ito
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Chihiro Ito10.1K views
Java9新機能概要 by HonMarkHunt
Java9新機能概要Java9新機能概要
Java9新機能概要
HonMarkHunt16.1K views
10のJava9で変わるJava8の嫌なとこ! by bitter_fox
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
bitter_fox57.7K views
Java EE 再入門 by minazou67
Java EE 再入門Java EE 再入門
Java EE 再入門
minazou6730K views
Java SE 再入門 by minazou67
Java SE 再入門Java SE 再入門
Java SE 再入門
minazou6719K views
はまる!JPA(初学者向けライト版) by Masatoshi Tada
はまる!JPA(初学者向けライト版)はまる!JPA(初学者向けライト版)
はまる!JPA(初学者向けライト版)
Masatoshi Tada25.6K views
Prepare for Java 9 #jjug by Yuji Kubota
Prepare for Java 9 #jjugPrepare for Java 9 #jjug
Prepare for Java 9 #jjug
Yuji Kubota19.4K views
次世代Webコンテナ Undertowについて by Yoshimasa Tanabe
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
Yoshimasa Tanabe25K views

Viewers also liked

JSON-B for CZJUG by
JSON-B for CZJUGJSON-B for CZJUG
JSON-B for CZJUGDmitry Kornilov
1.3K views79 slides
いまさら聞けないJSONPのまとめ by
いまさら聞けないJSONPのまとめいまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめYujiro Araki
9.5K views19 slides
Himotoki: A type-safe JSON decoding library #関モバ by
Himotoki: A type-safe JSON decoding library #関モバHimotoki: A type-safe JSON decoding library #関モバ
Himotoki: A type-safe JSON decoding library #関モバSyo Ikeda
5K views22 slides
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」 by
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」Hiroyuki Ohnaka
6.2K views83 slides
ObjectMapperでJSONマッピング by
ObjectMapperでJSONマッピングObjectMapperでJSONマッピング
ObjectMapperでJSONマッピングSyo Ikeda
6.8K views21 slides
JSON Support in Java EE 8 by
JSON Support in Java EE 8JSON Support in Java EE 8
JSON Support in Java EE 8Dmitry Kornilov
33K views85 slides

Viewers also liked(20)

いまさら聞けないJSONPのまとめ by Yujiro Araki
いまさら聞けないJSONPのまとめいまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめ
Yujiro Araki9.5K views
Himotoki: A type-safe JSON decoding library #関モバ by Syo Ikeda
Himotoki: A type-safe JSON decoding library #関モバHimotoki: A type-safe JSON decoding library #関モバ
Himotoki: A type-safe JSON decoding library #関モバ
Syo Ikeda5K views
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」 by Hiroyuki Ohnaka
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
Hiroyuki Ohnaka6.2K views
ObjectMapperでJSONマッピング by Syo Ikeda
ObjectMapperでJSONマッピングObjectMapperでJSONマッピング
ObjectMapperでJSONマッピング
Syo Ikeda6.8K views
Java one 2015 [con3339] by Arshal Ameen
Java one 2015 [con3339]Java one 2015 [con3339]
Java one 2015 [con3339]
Arshal Ameen10.2K views
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会 by Yusuke Suzuki
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
Yusuke Suzuki18.5K views
Javaのプログラムはどうやって動いているの? GC編 by Yuichi Sakuraba
Javaのプログラムはどうやって動いているの? GC編Javaのプログラムはどうやって動いているの? GC編
Javaのプログラムはどうやって動いているの? GC編
Yuichi Sakuraba18.8K views
「TDDはじめて物語」 #tddbc by Hiroyuki Ohnaka
「TDDはじめて物語」 #tddbc「TDDはじめて物語」 #tddbc
「TDDはじめて物語」 #tddbc
Hiroyuki Ohnaka12.5K views
実録Blue-Green Deployment導入記 by Hiroyuki Ohnaka
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記
Hiroyuki Ohnaka16.6K views
JavaOne 2014 BOF4241 What's Next for JSF? by Edward Burns
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
Edward Burns29.8K views
What's next for Java API for WebSocket (JSR 356) by Pavel Bucek
What's next for Java API for WebSocket (JSR 356)What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)
Pavel Bucek34.1K views
תוצאות שאלון עמדות מנהלי שיווק מצייצים - אירוע קורנפלקס תלמה/יוניליוור by metzaitzim
תוצאות שאלון עמדות מנהלי שיווק מצייצים - אירוע קורנפלקס תלמה/יוניליוורתוצאות שאלון עמדות מנהלי שיווק מצייצים - אירוע קורנפלקס תלמה/יוניליוור
תוצאות שאלון עמדות מנהלי שיווק מצייצים - אירוע קורנפלקס תלמה/יוניליוור
metzaitzim421 views
El preescolar desde adentro by gracielalunac
El preescolar desde adentroEl preescolar desde adentro
El preescolar desde adentro
gracielalunac341 views
Sven Mary trekt financiële situatie kantoor bijna recht by Thierry Debels
Sven Mary trekt financiële situatie kantoor bijna rechtSven Mary trekt financiële situatie kantoor bijna recht
Sven Mary trekt financiële situatie kantoor bijna recht
Thierry Debels778 views
Internet Marketing Trends 2007 by Linda Girard
Internet Marketing Trends 2007Internet Marketing Trends 2007
Internet Marketing Trends 2007
Linda Girard6.9K views

Similar to JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」

Vue入門 by
Vue入門Vue入門
Vue入門Takeo Noda
5.8K views54 slides
jQuery と MVC で実践する標準志向 Web 開発 by
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
1.9K views32 slides
VSCodeで始めるAzure Static Web Apps開発 by
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
987 views36 slides
Struts2を始めよう! by
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
7.2K views41 slides
今こそ知りたいSpring Web(Spring Fest 2020講演資料) by
今こそ知りたいSpring Web(Spring Fest 2020講演資料)今こそ知りたいSpring Web(Spring Fest 2020講演資料)
今こそ知りたいSpring Web(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
1.1K views55 slides
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783) by
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)JPCERT Coordination Center
3K views29 slides

Similar to JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」(20)

Vue入門 by Takeo Noda
Vue入門Vue入門
Vue入門
Takeo Noda5.8K views
jQuery と MVC で実践する標準志向 Web 開発 by Akira Inoue
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
Akira Inoue1.9K views
VSCodeで始めるAzure Static Web Apps開発 by Yuta Matsumura
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura987 views
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783) by JPCERT Coordination Center
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話 by Akira Inoue
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue2K views
ASP.NET MVC と jQuery で実践する標準志向 Web 開発 by Akira Inoue
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue17.9K views
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ! by オラクルエンジニア通信
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
2018年度新入社員研修実績紹介 by CASAREAL, Inc.
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介
CASAREAL, Inc.1K views
jadeで作るclient template by Ota Tomoaki
jadeで作るclient templatejadeで作るclient template
jadeで作るclient template
Ota Tomoaki1K views
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~ by normalian
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian1.5K views
企業システムで使えるマイクロサービスの特長と実践 (Oracle Cloudウェビナーシリーズ: 2021年4月15日) by オラクルエンジニア通信
企業システムで使えるマイクロサービスの特長と実践 (Oracle Cloudウェビナーシリーズ: 2021年4月15日)企業システムで使えるマイクロサービスの特長と実践 (Oracle Cloudウェビナーシリーズ: 2021年4月15日)
企業システムで使えるマイクロサービスの特長と実践 (Oracle Cloudウェビナーシリーズ: 2021年4月15日)
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21 by Takakiyo Tanaka
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Takakiyo Tanaka4.7K views
[JavaOne Tokyo 2012] JavaFX and Web Integration by Kazuchika Sekiya
[JavaOne Tokyo 2012] JavaFX and Web Integration[JavaOne Tokyo 2012] JavaFX and Web Integration
[JavaOne Tokyo 2012] JavaFX and Web Integration
Kazuchika Sekiya3.4K views

More from Hiroyuki Ohnaka

remote Docker over SSHが熱い by
remote Docker over SSHが熱いremote Docker over SSHが熱い
remote Docker over SSHが熱いHiroyuki Ohnaka
712 views11 slides
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験 by
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験Hiroyuki Ohnaka
675 views23 slides
Remote Development with Visual Studio Code & A clean dev env, working every ... by
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...Hiroyuki Ohnaka
455 views13 slides
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話 by
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話Hiroyuki Ohnaka
1.1K views41 slides
「WindowsデスクトップでWeb開発 改訂版」サンプル by
「WindowsデスクトップでWeb開発 改訂版」サンプル「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプルHiroyuki Ohnaka
672 views24 slides
Mackerelの薄い本 by
Mackerelの薄い本Mackerelの薄い本
Mackerelの薄い本Hiroyuki Ohnaka
2K views18 slides

More from Hiroyuki Ohnaka(20)

VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験 by Hiroyuki Ohnaka
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka675 views
Remote Development with Visual Studio Code & A clean dev env, working every ... by Hiroyuki Ohnaka
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka455 views
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話 by Hiroyuki Ohnaka
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
Hiroyuki Ohnaka1.1K views
「WindowsデスクトップでWeb開発 改訂版」サンプル by Hiroyuki Ohnaka
「WindowsデスクトップでWeb開発 改訂版」サンプル「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプル
Hiroyuki Ohnaka672 views
Microsoft DocsにContributeした話 by Hiroyuki Ohnaka
Microsoft DocsにContributeした話Microsoft DocsにContributeした話
Microsoft DocsにContributeした話
Hiroyuki Ohnaka940 views
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版 by Hiroyuki Ohnaka
 技術書典4  く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版 技術書典4  く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
Hiroyuki Ohnaka2.6K views
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版 by Hiroyuki Ohnaka
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
Hiroyuki Ohnaka737 views
仮想通貨始めました~GethではじめるEthereum~ by Hiroyuki Ohnaka
仮想通貨始めました~GethではじめるEthereum~仮想通貨始めました~GethではじめるEthereum~
仮想通貨始めました~GethではじめるEthereum~
Hiroyuki Ohnaka1.3K views
錬金術MeetUpへのお誘い by Hiroyuki Ohnaka
錬金術MeetUpへのお誘い錬金術MeetUpへのお誘い
錬金術MeetUpへのお誘い
Hiroyuki Ohnaka1.5K views
Mackerelではじめる お手軽サーバー監視 by Hiroyuki Ohnaka
Mackerelではじめる お手軽サーバー監視Mackerelではじめる お手軽サーバー監視
Mackerelではじめる お手軽サーバー監視
Hiroyuki Ohnaka4.1K views
「GebとSpockではじめるシステムテスト自動化」 by Hiroyuki Ohnaka
「GebとSpockではじめるシステムテスト自動化」「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka9.8K views
TDDはじめて物語Second Season(updated) by Hiroyuki Ohnaka
TDDはじめて物語Second Season(updated)TDDはじめて物語Second Season(updated)
TDDはじめて物語Second Season(updated)
Hiroyuki Ohnaka1.3K views
TDDはじめて物語 Second Season #tddbc by Hiroyuki Ohnaka
TDDはじめて物語 Second Season #tddbcTDDはじめて物語 Second Season #tddbc
TDDはじめて物語 Second Season #tddbc
Hiroyuki Ohnaka4.3K views
XP祭り2017 LT 「DevOps再考」(改題) by Hiroyuki Ohnaka
XP祭り2017 LT 「DevOps再考」(改題)XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)
Hiroyuki Ohnaka2.6K views
JDK9の真の目玉機能はこれだ! by Hiroyuki Ohnaka
JDK9の真の目玉機能はこれだ!JDK9の真の目玉機能はこれだ!
JDK9の真の目玉機能はこれだ!
Hiroyuki Ohnaka2.9K views
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~ by Hiroyuki Ohnaka
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Hiroyuki Ohnaka10.3K views
「すいーとみゅーじっく」のできるまで by Hiroyuki Ohnaka
「すいーとみゅーじっく」のできるまで「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで
Hiroyuki Ohnaka904 views

JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」