SlideShare a Scribd company logo
1 of 24
第29回長岡IT開発者勉強会




おーいみんな、JavaやろうぜJava



                 2012/11/17
                 @nemuzuka
自己紹介


id:nemuzuka,@nemuzuka
サーバサイドにJavaを使用したWebア

プリの開発をやってます
Webアプリ作成において、

ある日までの自分(表の顔)
クライアントサイドは

jsでごりごりやればいいから、

サーバサイドはJSONで

返してくれれば何でも良いよね。

やっぱりサクッと作るには

LL言語だよねー
内心
静的言語やりてぇ

LLぅ?

  機能追加し続けるだけならともかく、あんなんで他人の

  ソースメンテし続けられるの?

       単体テストしっかり書くだけで打ち取れる問題か?

IDEガー

  みんな、良いマシン持ってんじゃん、メモリ積んでるん

  でしょ

  会社のPCが低スペックなら、自腹でメモリ買・・・
さらに衝撃だったのは
シューティングゲームの

敵キャラになってた時
これじゃいけない
Javaだって悪くないと思うんだ
クソみたいなシステムは

たくさんあるけどな!
結局できる奴らなら、

どんな言語でもうまくいくんじゃないか

  というのは、さておき・・・
Javaだってそんなに悪くないと思うんだ
Javaの敷居を上げている要因



多種多様なフレームワーク
フレームワークも多種多様

MVC
DI/AOP
O/Rマッパー

キャッシュ
結局は自分の得意な組み合わせになる

Struts+Spring+Hibernate
SAStruts+Seasar2+S2JDBC
SpringMVC+Spring+Spring Data
自社フレームワーク

            そんなに差別化できるものも無いので、
            自分の得意な組み合わせで突き進んで生産性を
            上げてきたはず
ということは、歩んできた道が違えば、

一言に「サーバサイドJava技術者」と言っても

使ってきたフレームワークで差が出てくる。




→フレームワークが異なれば、『常識』が通じない
Rubyなら
 フレームワークの常識で会話できる

Rubyは言語仕様の素晴らしさ+フルスタックのフレームワークのお陰で

導入に対する「フレームワーク選定」という最初の難関を超えられた
そこで
Play framework
これがあればWebアプリをサクッと作れる環境が        う

   CoffeeScript/LESS CSSにも対応

使用言語はJava or Scala

   静的言語!型安全!IDE!

      これで改修時の影響範囲に当たりがつけられる!

コンパイル∼デプロイ不要

   まぁ、Playならではではないですけどね・・・
JavaEE?なにそれ美味しいの?

JavaEEの実行基盤が不要

 TomcatとかJBossとかの準備が不要



確かに多くの機能は使用しなくても問題ない

 JSF
 EJB
決められたファイル構成




   パッケージ名が短くなるのがイイ!
さらに

非同期HTTPプログラミングモデルをサポート

  Comet
  WebSocket
スケールアウト簡単!

Herokuでも使える!きっとAzureでも・・・?

  スタートUPに最適!
まだそんなに触ってませんが、

Javaでもサクサク開発できるよ(多分)




    モチベーションが維持できてたら

    次回なにか作ってお話します!

More Related Content

What's hot

NGN2012B 発表資料
NGN2012B 発表資料NGN2012B 発表資料
NGN2012B 発表資料Kenji Nagase
 
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方Mikiya Okuno
 
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
私は如何にして詳解 MySQL 5.7を執筆するに至ったか私は如何にして詳解 MySQL 5.7を執筆するに至ったか
私は如何にして詳解 MySQL 5.7を執筆するに至ったかMikiya Okuno
 
いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介Kouji Hosoda
 
リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version Mikiya Okuno
 
メタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらばメタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらばKouji Matsui
 
Html5fun 20150123 JavaScript効率化
Html5fun 20150123 JavaScript効率化Html5fun 20150123 JavaScript効率化
Html5fun 20150123 JavaScript効率化Katsushiro Koizumi
 
フロントエンドというカオスな世界について
フロントエンドというカオスな世界についてフロントエンドというカオスな世界について
フロントエンドというカオスな世界についてmikakane
 
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってますYuusuke Takeuchi
 
Spring Boot Introduction
Spring Boot IntroductionSpring Boot Introduction
Spring Boot Introductionchibochibo
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:codeKouji Matsui
 
チラ見せ♡ナイト@20150410 LT公開用
チラ見せ♡ナイト@20150410 LT公開用チラ見せ♡ナイト@20150410 LT公開用
チラ見せ♡ナイト@20150410 LT公開用Keisuke Utsumi
 
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7Hiroshi Toda
 
「フレームワークを使っていれば 脆弱性は出ない」って本当?
「フレームワークを使っていれば 脆弱性は出ない」って本当?「フレームワークを使っていれば 脆弱性は出ない」って本当?
「フレームワークを使っていれば 脆弱性は出ない」って本当?thatblue
 
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous DeliveryLetsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous DeliveryNobuhiro Sue
 
Nespのコード生成
Nespのコード生成Nespのコード生成
Nespのコード生成Kouji Matsui
 
日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生Yuusuke Takeuchi
 
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜Keisuke Utsumi
 
ぼくのNode.jsのだいいっぽ
ぼくのNode.jsのだいいっぽぼくのNode.jsのだいいっぽ
ぼくのNode.jsのだいいっぽ拓弥 遠藤
 

What's hot (20)

NGN2012B 発表資料
NGN2012B 発表資料NGN2012B 発表資料
NGN2012B 発表資料
 
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方
 
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
私は如何にして詳解 MySQL 5.7を執筆するに至ったか私は如何にして詳解 MySQL 5.7を執筆するに至ったか
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
 
いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介
 
リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version
 
メタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらばメタプログラミングでExcel仕様書よさらば
メタプログラミングでExcel仕様書よさらば
 
Html5fun 20150123 JavaScript効率化
Html5fun 20150123 JavaScript効率化Html5fun 20150123 JavaScript効率化
Html5fun 20150123 JavaScript効率化
 
フロントエンドというカオスな世界について
フロントエンドというカオスな世界についてフロントエンドというカオスな世界について
フロントエンドというカオスな世界について
 
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
 
Spring Boot Introduction
Spring Boot IntroductionSpring Boot Introduction
Spring Boot Introduction
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:code
 
チラ見せ♡ナイト@20150410 LT公開用
チラ見せ♡ナイト@20150410 LT公開用チラ見せ♡ナイト@20150410 LT公開用
チラ見せ♡ナイト@20150410 LT公開用
 
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
 
「フレームワークを使っていれば 脆弱性は出ない」って本当?
「フレームワークを使っていれば 脆弱性は出ない」って本当?「フレームワークを使っていれば 脆弱性は出ない」って本当?
「フレームワークを使っていれば 脆弱性は出ない」って本当?
 
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous DeliveryLetsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous Delivery
 
Nespのコード生成
Nespのコード生成Nespのコード生成
Nespのコード生成
 
はじめてのESG
はじめてのESGはじめてのESG
はじめてのESG
 
日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生
 
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜
プロト〜サービスアウトまでの開発支援ツールの作り方〜CrystalFantasia〜
 
ぼくのNode.jsのだいいっぽ
ぼくのNode.jsのだいいっぽぼくのNode.jsのだいいっぽ
ぼくのNode.jsのだいいっぽ
 

Viewers also liked

Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回龍一 田中
 
WAS LibertyでCloud-ReadyなJava EE7アプリ開発
WAS LibertyでCloud-ReadyなJava EE7アプリ開発WAS LibertyでCloud-ReadyなJava EE7アプリ開発
WAS LibertyでCloud-ReadyなJava EE7アプリ開発Hideyuki Fujikawa
 
Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Misaki Kajiura
 
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)Koichi Sakata
 
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発Naoki (Neo) SATO
 
CloudSpiral 2014年度 Webアプリ講義(1日目)
CloudSpiral 2014年度 Webアプリ講義(1日目)CloudSpiral 2014年度 Webアプリ講義(1日目)
CloudSpiral 2014年度 Webアプリ講義(1日目)Shin Matsumoto
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドToshiakiArai
 
1周遅れのScala入学 #nds41
1周遅れのScala入学 #nds411周遅れのScala入学 #nds41
1周遅れのScala入学 #nds41Kazumune Katagiri
 
Spring 5.1 Words of Encouragement
Spring 5.1 Words of EncouragementSpring 5.1 Words of Encouragement
Spring 5.1 Words of Encouragementchrissienehrenberg
 
My Trip to Mohenjo-daro
My Trip to Mohenjo-daroMy Trip to Mohenjo-daro
My Trip to Mohenjo-daroMrs. McCabe
 
The Disconnect: Reasons Companies fail at Social Media and how to Succeed
The Disconnect: Reasons Companies fail at Social Media and how to SucceedThe Disconnect: Reasons Companies fail at Social Media and how to Succeed
The Disconnect: Reasons Companies fail at Social Media and how to SucceedEvo Terra
 
The Language of Life - QWERTYUIOPs
The Language of Life - QWERTYUIOPsThe Language of Life - QWERTYUIOPs
The Language of Life - QWERTYUIOPsThomas Myers
 
11 tips om in de Cloud te raken en er niet uit te vallen
11 tips om in de Cloud te raken en er niet uit te vallen11 tips om in de Cloud te raken en er niet uit te vallen
11 tips om in de Cloud te raken en er niet uit te vallenCombell NV
 
La base per a l'aprenentatge s xxi
La base per a l'aprenentatge s xxiLa base per a l'aprenentatge s xxi
La base per a l'aprenentatge s xxiNuria Alart
 
Lista Unitária de Ordenação Final Horário nº 29- Grupo de recrutamento de cód...
Lista Unitária de Ordenação Final Horário nº 29- Grupo de recrutamento de cód...Lista Unitária de Ordenação Final Horário nº 29- Grupo de recrutamento de cód...
Lista Unitária de Ordenação Final Horário nº 29- Grupo de recrutamento de cód...Pedro França
 
Hosting Startup Tot Enterprise
Hosting Startup Tot EnterpriseHosting Startup Tot Enterprise
Hosting Startup Tot EnterpriseCombell NV
 

Viewers also liked (20)

Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回
 
WAS LibertyでCloud-ReadyなJava EE7アプリ開発
WAS LibertyでCloud-ReadyなJava EE7アプリ開発WAS LibertyでCloud-ReadyなJava EE7アプリ開発
WAS LibertyでCloud-ReadyなJava EE7アプリ開発
 
Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)Java女子部 Java EEハンズオン(応用編)
Java女子部 Java EEハンズオン(応用編)
 
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
 
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
 
CloudSpiral 2014年度 Webアプリ講義(1日目)
CloudSpiral 2014年度 Webアプリ講義(1日目)CloudSpiral 2014年度 Webアプリ講義(1日目)
CloudSpiral 2014年度 Webアプリ講義(1日目)
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
 
1周遅れのScala入学 #nds41
1周遅れのScala入学 #nds411周遅れのScala入学 #nds41
1周遅れのScala入学 #nds41
 
The Ant
The AntThe Ant
The Ant
 
Spring 5.1 Words of Encouragement
Spring 5.1 Words of EncouragementSpring 5.1 Words of Encouragement
Spring 5.1 Words of Encouragement
 
My Trip to Mohenjo-daro
My Trip to Mohenjo-daroMy Trip to Mohenjo-daro
My Trip to Mohenjo-daro
 
Beaches
BeachesBeaches
Beaches
 
Anurag&Rupali
Anurag&RupaliAnurag&Rupali
Anurag&Rupali
 
The Disconnect: Reasons Companies fail at Social Media and how to Succeed
The Disconnect: Reasons Companies fail at Social Media and how to SucceedThe Disconnect: Reasons Companies fail at Social Media and how to Succeed
The Disconnect: Reasons Companies fail at Social Media and how to Succeed
 
The Language of Life - QWERTYUIOPs
The Language of Life - QWERTYUIOPsThe Language of Life - QWERTYUIOPs
The Language of Life - QWERTYUIOPs
 
11 tips om in de Cloud te raken en er niet uit te vallen
11 tips om in de Cloud te raken en er niet uit te vallen11 tips om in de Cloud te raken en er niet uit te vallen
11 tips om in de Cloud te raken en er niet uit te vallen
 
La base per a l'aprenentatge s xxi
La base per a l'aprenentatge s xxiLa base per a l'aprenentatge s xxi
La base per a l'aprenentatge s xxi
 
25 n 2010_powerpointatalayas
25 n 2010_powerpointatalayas25 n 2010_powerpointatalayas
25 n 2010_powerpointatalayas
 
Lista Unitária de Ordenação Final Horário nº 29- Grupo de recrutamento de cód...
Lista Unitária de Ordenação Final Horário nº 29- Grupo de recrutamento de cód...Lista Unitária de Ordenação Final Horário nº 29- Grupo de recrutamento de cód...
Lista Unitária de Ordenação Final Horário nº 29- Grupo de recrutamento de cód...
 
Hosting Startup Tot Enterprise
Hosting Startup Tot EnterpriseHosting Startup Tot Enterprise
Hosting Startup Tot Enterprise
 

More from Kazumune Katagiri

アプリしか作れないけどAzureに触ってみた #ngtnet
アプリしか作れないけどAzureに触ってみた #ngtnetアプリしか作れないけどAzureに触ってみた #ngtnet
アプリしか作れないけどAzureに触ってみた #ngtnetKazumune Katagiri
 
受託開発だけだといずれケツカッチンになってしまうのでいっちょサービスでもやってみようかと思ってTryしてみた上期の報告 #nds42
受託開発だけだといずれケツカッチンになってしまうのでいっちょサービスでもやってみようかと思ってTryしてみた上期の報告 #nds42受託開発だけだといずれケツカッチンになってしまうのでいっちょサービスでもやってみようかと思ってTryしてみた上期の報告 #nds42
受託開発だけだといずれケツカッチンになってしまうのでいっちょサービスでもやってみようかと思ってTryしてみた上期の報告 #nds42Kazumune Katagiri
 
負荷テストことはじめ
負荷テストことはじめ負荷テストことはじめ
負荷テストことはじめKazumune Katagiri
 

More from Kazumune Katagiri (8)

アプリしか作れないけどAzureに触ってみた #ngtnet
アプリしか作れないけどAzureに触ってみた #ngtnetアプリしか作れないけどAzureに触ってみた #ngtnet
アプリしか作れないけどAzureに触ってみた #ngtnet
 
受託開発だけだといずれケツカッチンになってしまうのでいっちょサービスでもやってみようかと思ってTryしてみた上期の報告 #nds42
受託開発だけだといずれケツカッチンになってしまうのでいっちょサービスでもやってみようかと思ってTryしてみた上期の報告 #nds42受託開発だけだといずれケツカッチンになってしまうのでいっちょサービスでもやってみようかと思ってTryしてみた上期の報告 #nds42
受託開発だけだといずれケツカッチンになってしまうのでいっちょサービスでもやってみようかと思ってTryしてみた上期の報告 #nds42
 
LT #nds37
LT #nds37LT #nds37
LT #nds37
 
#nds34 LT
#nds34 LT#nds34 LT
#nds34 LT
 
NDS#28 SIerの未来
NDS#28 SIerの未来NDS#28 SIerの未来
NDS#28 SIerの未来
 
Ipv6+JMeter+GAE
Ipv6+JMeter+GAEIpv6+JMeter+GAE
Ipv6+JMeter+GAE
 
負荷テストことはじめ
負荷テストことはじめ負荷テストことはじめ
負荷テストことはじめ
 
Nds#24 単体テスト
Nds#24 単体テストNds#24 単体テスト
Nds#24 単体テスト
 

おーいみんな、JavaやろうぜJava

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n