SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Japan Java User Group
[ランチ付き]
JJUG初心者のための
Java/JJUG講座
2017/11/18
#ccc_ls
Japan Java User Group
まずはじめに
• こいつの名前は?→
• Duke
– Javaのマスコット
– https://www.oracle.com/java/duke.html
– http://openjdk.java.net/projects/duke/
• BSDライセンス
– 複製・改変したものをコー
ド非公開で頒布可能
2
Japan Java User Group
アジェンダ
• なぜ、この話をするのか
• Javaを知るためのキーワード
• JJUGの話
• まとめ
3
Japan Java User Group
なぜ、この話をするのか?
4
Japan Java User Group
春のこと
– Javaのイベントでは、会場の狭さに文句を言うことは許されない
5
コミュニティ主催のイベントというみんなで作り上げるものなのに、
ベンダーに招待された「お客様」として参加してしまっているわけ
である。
<略>
Javaはユーザーも多く、エンプラな人の比率も高めで、コミュニ
ティを理解せず心無いことを言う人や理解すらしようとしない人
も多いと思う。
ただ、彼らをディスってもなんの見返りもないし、そもそも彼らの
耳には入らない。
<略>
主催者側も参加者側も、新規も古参も、みんなで仲良く
Javaを楽しめるといいね。
Japan Java User Group
つまり
• Javaのメインユーザーはエンプラ業界の
エンジニア
• やはりコミュニティに慣れていない
• JJUGがどういう団体か、CCCがどうやっ
て運用されているのか知らない
6
Japan Java User Group
というわけで
• Javaとは、どういうものなのか?
– Javaの思想や文化は?
– Javaの仕様は誰が決めているの?
• JJUGとは、どういう存在なのか?
– 誰が、何のためにやっているか?
– Oracleとの関係性は?
7
Japan Java User Group
JAVAを知るためのキーワード
8
Japan Java User Group
Sun Microsystems
• Javaの生みの親
– 1982年創業のハードウェアメーカー
• 創業16年で売上100億$に達したベンチャー企業
• UNIX OSであるSolarisが有名
• しかし、技術開発に失敗し、2000年代には後退
• 2010年にORACLEが74億$で買収
– 積極的な情報公開やオープンソースへの関わ
りで、エンジニアのファンが非常に多かった
• Solarisの基がフリーソフトウェアライセンス(後
のGPL)のBSD版UNIX
• (当時)悪の帝国マイクロソフトと戦う勇者
9
Japan Java User Group
Scott G. McNealy
• 元SUNの共同創業者、CEO/会長
– 素晴らしいビジョナリー
• The Network is the Computer
– でも、毒舌で有名
• 「マイクロソフトは人類の敵」
• 「サンは共有するが、マイクロソフトは盗む」
• 「元CEOで現CTOの連絡は、いつも船舶電話だ」
– http://www.publickey1.jp/blog/15/java20javaonejava10javaone_2015.html
10
Japan Java User Group
James Gosling
• 「Javaの父」と称される人物
– いまでもJavaOneに遊びに来る大柄なおじい
ちゃん。
– いまはAWSの人
11https://www.youtube.com/watch?v=1CsTH9S79qI
Japan Java User Group
Oracle
12
• 2010年にSunを買収
– Oracle Databaseで知られているが、いまで
は多くのERPを抱えるソフトウェア企業
– オープンなSunとは対照的な気質で知られ、
買収を残念がる技術者が多かった
• OSS関連では多くの”事件”が起きている
– Javaは維持され「 」も残った
• 一方で、顧客の声をよく聞く企業である
– Sunはビジョン優先しすぎることがある
Japan Java User Group
Java
• Java !
– Javaは1990年に社内プロジェクトとしてス
タートし、1995年に1.0を発表
• C++への複雑さを解決するために開発
• インターネットに着目した言語だった
– 特徴(完全ではないが安全な言語)
• 静的型付け(オブジェクト指向言語)
• OS非依存(仮想マシン)
• メモリ管理の自動化(ガベージコレクション)
13
Japan Java User Group
Java VM
• Write once, run everywhere
– 仮想マシンによって実行環境差異を吸収
• 今では当たり前になったが当時は画期的
– ソースコードはコンパイルされることでバイ
トコードになる
• バイトコードであれば、どんな言語でもよい
• 標準Java以外にScala、Kotlinが有名
– JRuby、Jythonなど、多言語の移植も行っている
– その他、独自言語を自分で作ることもできる
– Java VMそのものの安定性や性能が魅力
14
Japan Java User Group
仕様と実装
• Javaは標準仕様を決めて各社が実装する
– 仕様に対して、沢山の実装がある
• Java SE:OpenJDK、J9など
• Java EE: WebSphere、WebLogic、Payara、
GlassFish、Wildflyなど
– 部分的な実装としてはTomcat、Jettyなど
– 各社は標準をベースに、独自の拡張をするこ
とで差別化している
• 安定性、性能、可用性、保守性の強化
15
Japan Java User Group
JCP
• Java Community Process
– https://www.jcp.org/en/home/index
– 標準Javaの仕様を策定するプログラム
• Java仕様を決めるのはOracleじゃない
– 過去はSunを中心にベンダーだけが決定
• その後、ユーザーグループも参加可能に
– 仕様への意見は誰でも言える
16
Japan Java User Group
JCP
• 簡単なプロセス説明
– 1.JSRが提出される
• Java Specification Request(Java仕様の提案)
– 379:Java SE 9 Platform Umbrella JSR
– 376:Java Platform Module System
– 2.EG(Expert Group)の組成
– 3.ドラフトの作成と意見収集
• Early Draft Review -> Public Review ->
Proposed Final Draft
– 4.最終承認投票
– 5.仕様をリリース
17
Japan Java User Group
OpenJDK
• 現在のJava SEの参照実装
– 2006年にSunの持っていた実装をオープン
ソース化して開始
– この前後の経緯がややこしい
• そもそも、当時のJava SEは仕様が肥大化してお
り、各社個別実装が厳しくなってきた
• そこでオープンソースベースでの共同開発と、そ
のうえでの商用カスタマイズというプロセスが求
められた
• Apache HarmonyというOSS実装がはじまったた
め、それに対抗する形で公開に
18
Japan Java User Group
Apache HarmonyとAndroid
• Apache Harmonyが開始
– 2005年にIBM主導して実装を開始
• Apache License 2.0というライセンス
– 認定を要求するもSunが拒否
• Technology Compatibility Kitの提供拒否
• そのためApacheがすべてのJCP投票に拒否
• そして、Androidが採用
• (今はOpenJDKベースです)
– 結果として、OracleがGoogleを訴えることに
• Java MEのモバイル領域が侵された
19
Japan Java User Group
オープンソース
• Javaの成功はSunのオープンな文化
– たくさんのオープンソースが生まれた
– 一方で企業としてはオープンソースに苦しめ
られた。オープンソースは儲からない
• 勝者になるためにはオープンソースの戦
略的な活用
– Sunがやりきれなかったこと
– IBMはLinuxやTomcatで成功
– 現在はMicrosoftが積極的に活用中
20
Japan Java User Group
EE4J
• Eclipse Enterprise for Java
– 2017年10月からJava EEの開発プロジェクト
がEclipse主管に
• OracleはJava EEに興味を失っていた
– Java EEの開発が停滞気味でコミュニティで
も問題視されていた
– 今後の開発スピードアップに期待
21
Japan Java User Group
JJUGの話
22
Japan Java User Group
JUG
• Java User Group
– 世界中にあるJavaコミュニティの総称
• 頭に地域名を付ける(例:Japan JUG)
• 日本ではJJUG、関西、岡山、広島、女子部など
• https://community.oracle.com/community/java/jug
– あくまでも「ユーザー」の集まり
• 自主的に始めて、自主的に続けるもの
• Oracleは支援する立場で各国で関係性は異なる
• 北米では関係が薄く、アジア圏では関係が強め
23
Japan Java User Group
世界のJUG
• 有名どころはJCPにも積極的に参加
– ロンドンJUG
– SouJava(ブラジル)
• Devoxx
– https://devoxx.com/
– 2001年に始めたカンファレンス
• 主催がベルギーのJUG
– いまでは世界各国で数千人規模になった
24
Japan Java User Group
JJUG
• Japan Java User Group
– 2007年に設立
• 初代会長は丸山 不二夫さん
– ちょうどSunが落ち目に
なっていたころ
• 2006年:Java SE 6
• 2011年:Java SE 7
– 日本のJavaを盛り上げよ
う!ということでスタート
25
Japan Java User Group
JJUGの規模
• 現在
– 7194名(Doorkeeper登録数=会員数)
– CCCは1000人規模
26
0
1000
2000
3000
4000
5000
6000
7000
8000
2013/08
2013/10
2013/12
2014/02
2014/04
2014/06
2014/08
2014/10
2014/12
2015/02
2015/04
2015/06
2015/08
2015/10
2015/12
2016/02
2016/04
2016/06
2016/08
2016/10
2016/12
2017/02
2017/04
2017/06
2017/08
2017/10
Japan Java User Group
世界におけるJJUG
• 世界でも大きなJUG
– 東京という都市の強さ
– 北米は小さい
– Java Championが2名
• 認知度高め
– なぜかロゴTが人気
– イベントにも登場
• JCPなどには積極的な参
加ができていない
– 今後のテーマ
27
Japan Java User Group
JJUGの活動
• イベントの実施
– JJUG CCC(年2回)で21回目
– ナイトセミナー(毎月1回)
• 地方JUGイベントへの講師派遣
• Java関連イベント後援/協賛
• 国際会議への派遣
28
Japan Java User Group
ボランティア
• 基本的にはボランティア活動
– 普段の活動とは別に活動
– CCCの運営もすべてボランティア
29
Japan Java User Group
JJUG幹事会
• 幹事会
– JJUGの中心的なメンバー
– 月1回の幹事会
– SlackやGoogle Driveなど利用
• やっていること
– イベント企画
– Javaの発展のための寄与
– もっとJCPにも関わっていきたい
30
Japan Java User Group
お金
• 会場や設備を借りるにお金が必要
– CCC2回で800万円ぐらい
– その他、地方派遣やイベント実施費用
• すべてCCCのスポンサー費用でまかなう
– スポンサーの目的は採用とマーケティング
– コミュニティイベントを通じることでエンジ
ニアと直接コミュニケーションができる
31
Japan Java User Group
そうこそJavaコミュニティへ
• 今日、来ている時点でJJUGメンバーです
– Doorkeeperを使ったらメンバー
• さらにもう一歩!!
– JJUGで学んだことを仕事に役立てる
– JJUGで学んだことを同僚に話す
– JJUGで学んだことをSNSに書く
– JJUGのイベントに登壇する
– JJUG CCCのボランティアスタッフになる
– JJUG CCCの幹事になる
32
Japan Java User Group
まとめ
33
Japan Java User Group
Java
• Sunのオープン文化がJavaを成長させた
– Java自体がオープンソースであり、仕様決定
もオープンなプロセスになっている
– 色々あったが常にユーザーグループが流れを
作ってきた
• 企業は戦略的にオープンソースを活用しなくては
ならないし、その過程でエンジニアとの関係性を
考えて行かないと行けない
34
Japan Java User Group
JJUG
• Japan Java User Group
– 日本におけるJavaコミュニティ
– 目的はJavaエンジニアがハッピーになること
• 運営はボランティア
– 全員ボランティアでやってます
– そして、応援してくれるスポンサーがいます
35
Japan Java User Group
困ったらスタッフまで!
36

Más contenido relacionado

La actualidad más candente

ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてYusuke Suzuki
 
ウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsYusuke Suzuki
 
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016Yusuke Suzuki
 
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Yusuke Suzuki
 
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会Yusuke Suzuki
 
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーYusuke Suzuki
 
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016Yusuke Suzuki
 
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016Yusuke Suzuki
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018Yusuke Suzuki
 
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~Yusuke Suzuki
 
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallYusuke Suzuki
 
JavaOne 2016総括 #jjug
JavaOne 2016総括 #jjugJavaOne 2016総括 #jjug
JavaOne 2016総括 #jjugYusuke Suzuki
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18Yusuke Suzuki
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017Yusuke Suzuki
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021Yusuke Suzuki
 
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1Yusuke Suzuki
 
クラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCクラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCYusuke Suzuki
 
クラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiクラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiYusuke Suzuki
 
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景にマイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景にYusuke Suzuki
 
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会Yusuke Suzuki
 

La actualidad más candente (20)

ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
 
ウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_wsウォーターフォールとアジャイルを考える #ita_ws
ウォーターフォールとアジャイルを考える #ita_ws
 
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
プロダクトオーナーは育成できるのか? - プロダクトオーナー祭り2016
 
Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020Javaとコミュニティの歩み 2020
Javaとコミュニティの歩み 2020
 
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
エンタープライズアジャイルにおける要求探索の勘所 要求開発アライアンス2018年7月定例会
 
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナーユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
ユーザー企業へのアジャイル導入四苦八苦 - エンタープライズアジャイル勉強会2016年11月セミナー
 
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
 
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
アジャイルと言わないエンタープライズアジャイル導入 - Agile Japan 2016
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
 
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
 
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
 
JavaOne 2016総括 #jjug
JavaOne 2016総括 #jjugJavaOne 2016総括 #jjug
JavaOne 2016総括 #jjug
 
アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18アーキテクチャのレビューについて - JaSST Review '18
アーキテクチャのレビューについて - JaSST Review '18
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
 
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
 
クラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCクラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCC
 
クラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukuiクラウド時代のエンジニアについて #sesfukui
クラウド時代のエンジニアについて #sesfukui
 
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景にマイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
 
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
 

Destacado

サーバサイド Kotlin
サーバサイド Kotlinサーバサイド Kotlin
サーバサイド KotlinHiroki Ohtani
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Takuya Okada
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にTaku Miyakawa
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てRyosuke Uchitate
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Kohei Saito
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜aha_oretama
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccYujiSoftware
 
Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜Youtarou TAKAHASHI
 
JVM上で動くPython処理系実装のススメ
JVM上で動くPython処理系実装のススメJVM上で動くPython処理系実装のススメ
JVM上で動くPython処理系実装のススメYoshiaki Shibutani
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチCData Software Japan
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方CData Software Japan
 
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方Yuki Morishita
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017tty fky
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyTakakiyo Tanaka
 
将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 Yoshio Kajikuri
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!masakazu matsubara
 
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationAnother compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationLogico
 

Destacado (20)

サーバサイド Kotlin
サーバサイド Kotlinサーバサイド Kotlin
サーバサイド Kotlin
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
 
Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜
 
JVM上で動くPython処理系実装のススメ
JVM上で動くPython処理系実装のススメJVM上で動くPython処理系実装のススメ
JVM上で動くPython処理系実装のススメ
 
Javaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチJavaアプリケーションの モダナイゼーションアプローチ
Javaアプリケーションの モダナイゼーションアプローチ
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
 
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
Business Process Modeling in Goldman Sachs @ JJUG CCC Fall 2017
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere Liberty
 
将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!
 
Another compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilationAnother compilation method in java - AOT (Ahead of Time) compilation
Another compilation method in java - AOT (Ahead of Time) compilation
 
CPUから見たG1GC
CPUから見たG1GCCPUから見たG1GC
CPUから見たG1GC
 

Similar a JJUG初心者のためのJava/JJUG講座

OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugYuji Kubota
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?Takahiro YAMADA
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
Pure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpPure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpToshiaki Maki
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発Kota Mizushima
 
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)Koichi Sakata
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編Asami Abe
 
20120914 デブサミ関西2012
20120914 デブサミ関西201220120914 デブサミ関西2012
20120914 デブサミ関西2012Keiji Kamebuchi
 
福井イベント
福井イベント福井イベント
福井イベントYoshio Terada
 
さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]Yukihiko SAWANOBORI
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話Yahoo!デベロッパーネットワーク
 
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyPaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyKatsunori Kawaguchi
 
Ride on Azure! 詳細編
Ride on Azure! 詳細編Ride on Azure! 詳細編
Ride on Azure! 詳細編Keiji Kamebuchi
 
20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money FowardNaoki Shimizu
 
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]David Buck
 

Similar a JJUG初心者のためのJava/JJUG講座 (20)

OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
OpenStack Now!
OpenStack Now!OpenStack Now!
OpenStack Now!
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
Pure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjpPure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjp
 
Java in the World of Container by David Buck
Java in the World of Container by David BuckJava in the World of Container by David Buck
Java in the World of Container by David Buck
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発
 
Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)Guide to GraalVM (JJUG CCC 2019 Fall)
Guide to GraalVM (JJUG CCC 2019 Fall)
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編
 
Hello Java
Hello JavaHello Java
Hello Java
 
Odl intro20141029
Odl intro20141029Odl intro20141029
Odl intro20141029
 
20120914 デブサミ関西2012
20120914 デブサミ関西201220120914 デブサミ関西2012
20120914 デブサミ関西2012
 
福井イベント
福井イベント福井イベント
福井イベント
 
さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyPaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happy
 
Ride on Azure! 詳細編
Ride on Azure! 詳細編Ride on Azure! 詳細編
Ride on Azure! 詳細編
 
20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward
 
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
 

Más de Yusuke Suzuki

アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチアーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチYusuke Suzuki
 
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023Yusuke Suzuki
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022Yusuke Suzuki
 
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020Yusuke Suzuki
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかYusuke Suzuki
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏Yusuke Suzuki
 
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからエンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからYusuke Suzuki
 
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演Yusuke Suzuki
 

Más de Yusuke Suzuki (8)

アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチアーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
 
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
見えない壁を越えよう!アジャイルやマイクロサービスを阻む「今までのやり方」 - デブサミ夏2023
 
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
 
エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020エンタプライズ領域のアジャイル開発の課題 - FIT2020
エンタプライズ領域のアジャイル開発の課題 - FIT2020
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
 
エンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれからエンタープライズ、アーキテクチャ、アジャイルのこれから
エンタープライズ、アーキテクチャ、アジャイルのこれから
 
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
「JJUG運営の戦略と戦術」 JJUG CCC 2016 Spring 基調講演
 

Último

2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 

Último (12)

2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 

JJUG初心者のためのJava/JJUG講座

  • 1. Japan Java User Group [ランチ付き] JJUG初心者のための Java/JJUG講座 2017/11/18 #ccc_ls
  • 2. Japan Java User Group まずはじめに • こいつの名前は?→ • Duke – Javaのマスコット – https://www.oracle.com/java/duke.html – http://openjdk.java.net/projects/duke/ • BSDライセンス – 複製・改変したものをコー ド非公開で頒布可能 2
  • 3. Japan Java User Group アジェンダ • なぜ、この話をするのか • Javaを知るためのキーワード • JJUGの話 • まとめ 3
  • 4. Japan Java User Group なぜ、この話をするのか? 4
  • 5. Japan Java User Group 春のこと – Javaのイベントでは、会場の狭さに文句を言うことは許されない 5 コミュニティ主催のイベントというみんなで作り上げるものなのに、 ベンダーに招待された「お客様」として参加してしまっているわけ である。 <略> Javaはユーザーも多く、エンプラな人の比率も高めで、コミュニ ティを理解せず心無いことを言う人や理解すらしようとしない人 も多いと思う。 ただ、彼らをディスってもなんの見返りもないし、そもそも彼らの 耳には入らない。 <略> 主催者側も参加者側も、新規も古参も、みんなで仲良く Javaを楽しめるといいね。
  • 6. Japan Java User Group つまり • Javaのメインユーザーはエンプラ業界の エンジニア • やはりコミュニティに慣れていない • JJUGがどういう団体か、CCCがどうやっ て運用されているのか知らない 6
  • 7. Japan Java User Group というわけで • Javaとは、どういうものなのか? – Javaの思想や文化は? – Javaの仕様は誰が決めているの? • JJUGとは、どういう存在なのか? – 誰が、何のためにやっているか? – Oracleとの関係性は? 7
  • 8. Japan Java User Group JAVAを知るためのキーワード 8
  • 9. Japan Java User Group Sun Microsystems • Javaの生みの親 – 1982年創業のハードウェアメーカー • 創業16年で売上100億$に達したベンチャー企業 • UNIX OSであるSolarisが有名 • しかし、技術開発に失敗し、2000年代には後退 • 2010年にORACLEが74億$で買収 – 積極的な情報公開やオープンソースへの関わ りで、エンジニアのファンが非常に多かった • Solarisの基がフリーソフトウェアライセンス(後 のGPL)のBSD版UNIX • (当時)悪の帝国マイクロソフトと戦う勇者 9
  • 10. Japan Java User Group Scott G. McNealy • 元SUNの共同創業者、CEO/会長 – 素晴らしいビジョナリー • The Network is the Computer – でも、毒舌で有名 • 「マイクロソフトは人類の敵」 • 「サンは共有するが、マイクロソフトは盗む」 • 「元CEOで現CTOの連絡は、いつも船舶電話だ」 – http://www.publickey1.jp/blog/15/java20javaonejava10javaone_2015.html 10
  • 11. Japan Java User Group James Gosling • 「Javaの父」と称される人物 – いまでもJavaOneに遊びに来る大柄なおじい ちゃん。 – いまはAWSの人 11https://www.youtube.com/watch?v=1CsTH9S79qI
  • 12. Japan Java User Group Oracle 12 • 2010年にSunを買収 – Oracle Databaseで知られているが、いまで は多くのERPを抱えるソフトウェア企業 – オープンなSunとは対照的な気質で知られ、 買収を残念がる技術者が多かった • OSS関連では多くの”事件”が起きている – Javaは維持され「 」も残った • 一方で、顧客の声をよく聞く企業である – Sunはビジョン優先しすぎることがある
  • 13. Japan Java User Group Java • Java ! – Javaは1990年に社内プロジェクトとしてス タートし、1995年に1.0を発表 • C++への複雑さを解決するために開発 • インターネットに着目した言語だった – 特徴(完全ではないが安全な言語) • 静的型付け(オブジェクト指向言語) • OS非依存(仮想マシン) • メモリ管理の自動化(ガベージコレクション) 13
  • 14. Japan Java User Group Java VM • Write once, run everywhere – 仮想マシンによって実行環境差異を吸収 • 今では当たり前になったが当時は画期的 – ソースコードはコンパイルされることでバイ トコードになる • バイトコードであれば、どんな言語でもよい • 標準Java以外にScala、Kotlinが有名 – JRuby、Jythonなど、多言語の移植も行っている – その他、独自言語を自分で作ることもできる – Java VMそのものの安定性や性能が魅力 14
  • 15. Japan Java User Group 仕様と実装 • Javaは標準仕様を決めて各社が実装する – 仕様に対して、沢山の実装がある • Java SE:OpenJDK、J9など • Java EE: WebSphere、WebLogic、Payara、 GlassFish、Wildflyなど – 部分的な実装としてはTomcat、Jettyなど – 各社は標準をベースに、独自の拡張をするこ とで差別化している • 安定性、性能、可用性、保守性の強化 15
  • 16. Japan Java User Group JCP • Java Community Process – https://www.jcp.org/en/home/index – 標準Javaの仕様を策定するプログラム • Java仕様を決めるのはOracleじゃない – 過去はSunを中心にベンダーだけが決定 • その後、ユーザーグループも参加可能に – 仕様への意見は誰でも言える 16
  • 17. Japan Java User Group JCP • 簡単なプロセス説明 – 1.JSRが提出される • Java Specification Request(Java仕様の提案) – 379:Java SE 9 Platform Umbrella JSR – 376:Java Platform Module System – 2.EG(Expert Group)の組成 – 3.ドラフトの作成と意見収集 • Early Draft Review -> Public Review -> Proposed Final Draft – 4.最終承認投票 – 5.仕様をリリース 17
  • 18. Japan Java User Group OpenJDK • 現在のJava SEの参照実装 – 2006年にSunの持っていた実装をオープン ソース化して開始 – この前後の経緯がややこしい • そもそも、当時のJava SEは仕様が肥大化してお り、各社個別実装が厳しくなってきた • そこでオープンソースベースでの共同開発と、そ のうえでの商用カスタマイズというプロセスが求 められた • Apache HarmonyというOSS実装がはじまったた め、それに対抗する形で公開に 18
  • 19. Japan Java User Group Apache HarmonyとAndroid • Apache Harmonyが開始 – 2005年にIBM主導して実装を開始 • Apache License 2.0というライセンス – 認定を要求するもSunが拒否 • Technology Compatibility Kitの提供拒否 • そのためApacheがすべてのJCP投票に拒否 • そして、Androidが採用 • (今はOpenJDKベースです) – 結果として、OracleがGoogleを訴えることに • Java MEのモバイル領域が侵された 19
  • 20. Japan Java User Group オープンソース • Javaの成功はSunのオープンな文化 – たくさんのオープンソースが生まれた – 一方で企業としてはオープンソースに苦しめ られた。オープンソースは儲からない • 勝者になるためにはオープンソースの戦 略的な活用 – Sunがやりきれなかったこと – IBMはLinuxやTomcatで成功 – 現在はMicrosoftが積極的に活用中 20
  • 21. Japan Java User Group EE4J • Eclipse Enterprise for Java – 2017年10月からJava EEの開発プロジェクト がEclipse主管に • OracleはJava EEに興味を失っていた – Java EEの開発が停滞気味でコミュニティで も問題視されていた – 今後の開発スピードアップに期待 21
  • 22. Japan Java User Group JJUGの話 22
  • 23. Japan Java User Group JUG • Java User Group – 世界中にあるJavaコミュニティの総称 • 頭に地域名を付ける(例:Japan JUG) • 日本ではJJUG、関西、岡山、広島、女子部など • https://community.oracle.com/community/java/jug – あくまでも「ユーザー」の集まり • 自主的に始めて、自主的に続けるもの • Oracleは支援する立場で各国で関係性は異なる • 北米では関係が薄く、アジア圏では関係が強め 23
  • 24. Japan Java User Group 世界のJUG • 有名どころはJCPにも積極的に参加 – ロンドンJUG – SouJava(ブラジル) • Devoxx – https://devoxx.com/ – 2001年に始めたカンファレンス • 主催がベルギーのJUG – いまでは世界各国で数千人規模になった 24
  • 25. Japan Java User Group JJUG • Japan Java User Group – 2007年に設立 • 初代会長は丸山 不二夫さん – ちょうどSunが落ち目に なっていたころ • 2006年:Java SE 6 • 2011年:Java SE 7 – 日本のJavaを盛り上げよ う!ということでスタート 25
  • 26. Japan Java User Group JJUGの規模 • 現在 – 7194名(Doorkeeper登録数=会員数) – CCCは1000人規模 26 0 1000 2000 3000 4000 5000 6000 7000 8000 2013/08 2013/10 2013/12 2014/02 2014/04 2014/06 2014/08 2014/10 2014/12 2015/02 2015/04 2015/06 2015/08 2015/10 2015/12 2016/02 2016/04 2016/06 2016/08 2016/10 2016/12 2017/02 2017/04 2017/06 2017/08 2017/10
  • 27. Japan Java User Group 世界におけるJJUG • 世界でも大きなJUG – 東京という都市の強さ – 北米は小さい – Java Championが2名 • 認知度高め – なぜかロゴTが人気 – イベントにも登場 • JCPなどには積極的な参 加ができていない – 今後のテーマ 27
  • 28. Japan Java User Group JJUGの活動 • イベントの実施 – JJUG CCC(年2回)で21回目 – ナイトセミナー(毎月1回) • 地方JUGイベントへの講師派遣 • Java関連イベント後援/協賛 • 国際会議への派遣 28
  • 29. Japan Java User Group ボランティア • 基本的にはボランティア活動 – 普段の活動とは別に活動 – CCCの運営もすべてボランティア 29
  • 30. Japan Java User Group JJUG幹事会 • 幹事会 – JJUGの中心的なメンバー – 月1回の幹事会 – SlackやGoogle Driveなど利用 • やっていること – イベント企画 – Javaの発展のための寄与 – もっとJCPにも関わっていきたい 30
  • 31. Japan Java User Group お金 • 会場や設備を借りるにお金が必要 – CCC2回で800万円ぐらい – その他、地方派遣やイベント実施費用 • すべてCCCのスポンサー費用でまかなう – スポンサーの目的は採用とマーケティング – コミュニティイベントを通じることでエンジ ニアと直接コミュニケーションができる 31
  • 32. Japan Java User Group そうこそJavaコミュニティへ • 今日、来ている時点でJJUGメンバーです – Doorkeeperを使ったらメンバー • さらにもう一歩!! – JJUGで学んだことを仕事に役立てる – JJUGで学んだことを同僚に話す – JJUGで学んだことをSNSに書く – JJUGのイベントに登壇する – JJUG CCCのボランティアスタッフになる – JJUG CCCの幹事になる 32
  • 33. Japan Java User Group まとめ 33
  • 34. Japan Java User Group Java • Sunのオープン文化がJavaを成長させた – Java自体がオープンソースであり、仕様決定 もオープンなプロセスになっている – 色々あったが常にユーザーグループが流れを 作ってきた • 企業は戦略的にオープンソースを活用しなくては ならないし、その過程でエンジニアとの関係性を 考えて行かないと行けない 34
  • 35. Japan Java User Group JJUG • Japan Java User Group – 日本におけるJavaコミュニティ – 目的はJavaエンジニアがハッピーになること • 運営はボランティア – 全員ボランティアでやってます – そして、応援してくれるスポンサーがいます 35
  • 36. Japan Java User Group 困ったらスタッフまで! 36