Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
現代に求められるJavaコミュニティとは / What should be the Java...
Search
Shin Tanimoto
May 18, 2019
Technology
0
970
現代に求められるJavaコミュニティとは / What should be the Java Community of Today?
JJUG CCC 2019 Spring 基調講演
#JJUG #JJUG_CCC #ccc_e1
Shin Tanimoto
May 18, 2019
Tweet
Share
More Decks by Shin Tanimoto
See All by Shin Tanimoto
Spring Bootで実装とインフラをこれでもかと分離するための試み
shintanimoto
7
1.4k
クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング
shintanimoto
5
2.4k
26 Java Years
shintanimoto
0
98
Let’s Have Fun with Reactive Programming, Using Reactor and WebFlux
shintanimoto
0
300
Monitoring and Visualizing Your (Micro)services
shintanimoto
1
390
人生がときめく「学び」の魔法 / The Life-Changing Magic of Studying
shintanimoto
6
1.8k
業務で使いたいWebFluxによるReactiveプログラミング / Introduction to Reactive Programming using Spring WebFlux
shintanimoto
9
9.6k
from old Java to modern Java (2017) #jjug
shintanimoto
4
1.8k
Spring Cloud Sleuth + Zipkin with Elasticsearch #zipkin_jp
shintanimoto
1
1.3k
Other Decks in Technology
See All in Technology
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
1
290
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
PRO
7
1.1k
20251102 WordCamp Kansai 2025
chiilog
1
550
なぜ新機能リリース翌日にモニタリング可能なのか? 〜リードタイム短縮とリソース問題を「自走」で改善した話〜 / data_summit_findy_Session_2
sansan_randd
1
120
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
250
CloudComposerによる大規模ETL 「制御と実行の分離」の実践
leveragestech
0
190
QAEが生成AIと越える、ソフトウェア開発の境界線
rinchsan
0
350
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
170
ざっくり学ぶ 『エンジニアリングリーダー 技術組織を育てるリーダーシップと セルフマネジメント』 / 50 minute Engineering Leader
iwashi86
9
4.5k
初海外がre:Inventだった人間の感じたこと
tommy0124
1
200
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
340
データとAIで明らかになる、私たちの課題 ~Snowflake MCP,Salesforce MCPに触れて~ / Data and AI Insights
kaonavi
0
340
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
7.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Building Adaptive Systems
keathley
44
2.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Raft: Consensus for Rubyists
vanstee
140
7.2k
The Invisible Side of Design
smashingmag
302
51k
Transcript
ݱʹٻΊΒΕΔ+BWBίϛϡχςΟͱ ʙ++6(جௐߨԋ DDD@F ຊ+BWBϢʔβάϧʔϓϦʔμʔ "DSPRVFTU5FDIOPMPHZ$P -5% &WFSGPSUI$P -5% ୩ຊ৺ !DFSP@U
ࣗݾհ w ୩ຊ৺ 4IJO5BOJNPUP w ࣾͰಇ͘ΤϯδχΞʢओʹΞʔΩςΫτʣ w "DSPRVFTU5FDIOPMPHZגࣜձࣾ w
גࣜձࣾ&WFSGPSUI w +BWB$IBNQJPO w 0SBDMF(SPVOECSFBLFS"NCBTTBEPS w 5XJUUFS!DFSP@U w 'BDFCPPLTIJOUBOJNPUP
͖͞΄Ͳ ++6(Ϧʔμʔʹ ͳΓ·ͨ͠
͜Ε͔Β++6(ΛͲ͏͢Δͷ͔ʁ
ΞδΣϯμ ͜Ε͔Β++6(ͰΓ͍ͨ͜ͱ ͳͥ++6(ͱ$$$ͷ৫Λ͚ͨͷ͔ ʢҎ߱ɺεϥΠυඇެ։ʣ ͍·ͷຊ*5ۀքͷঢ়گΛݟͭΊ͢
ࠓޙͷίϛϡχςΟͷ͋ΓํΛߟ͑Δ ΈΜͳͷՁ؍Λଚॏ͢Δ
͜Ε͔Β++6(Ͱ Γ͍ͨ͜ͱ
ᶃ +BWBͷϦϦʔεͷै ᶄ ւ֎ͷ+6(ͱͷ࿈ܞ ᶅ ํ+BWBίϛϡχςΟͱͷ࿈ܞ ᶆ ॳ৺ऀ͚ίϯςϯπͷॆ࣮
ᶃ+BWBͷϦϦʔεͷै w എܠ w ͝ͱͷϦϦʔεαΠΫϧ ʢֶͿεϐʔυ͕ૣ͘ͳΔʣ w ϥΠηϯεϞσϧͷมߋ ʢͦΕʹ͏ࠞཚʣ
ᶃ+BWBͷϦϦʔεͷै w ࠓޙΔ͜ͱ w ษڧձͰΞοϓσʔτ༰ͷڞ༗ w άουϓϥΫςΟεͷڞ༗
ᶄւ֎+6(ͱͷ࿈ܞ w എܠ w ৽͍ٕ͠ज़ւͷ͜͏͔Βͬͯ͘Δ w ৽͍ٕ͠ज़ͷใΛಘΔબࢶΛ૿͢
ᶄւ֎+6(ͱͷ࿈ܞ w ʢ༨ஊʣ w ৽͍͠ใΛಘΔ બࢶΛ૿͢ʢதʙ্ڃऀ͚ʣ w ͍ࠐΜͩใΛڞ༗͢Δ બࢶΛݮΒ͢ʢॳʙதڃऀ͚ʣ
ᶄւ֎+6(ͱͷ࿈ܞ w ํͷ࿈ܞ w ւ֎ˠຊ w ৽͍͠ใΛಘΔ w ຊˠւ֎ w
ຊͷ։ൃݱͰഓͬͨݟͳͲͷԠ༻ࣄྫɺ ेʹւ֎ʹग़͢Ձ͕͋Δ
ͦ͜ʹཱ͔ͪͩΔɺӳޠͷน
ᶄւ֎+6(ͱͷ࿈ܞ w ӳޠͷนΛΓӽ͑Ζʂ w ʮӳޠ͕େࣄʯͬͯԯճ͘Γ͔͑͠ݴ͏ΑΓ ւ֎ΧϯϑΝϨϯεʹࢀՃ͢Δํ͕खͬऔΓૣ͍ w ʮւ֎ΧϯϑΝϨϯεʹߦ͚ʯͬͯ ԯճ͘Γ͔͑͠ݴ͏ΑΓ ӳޠηογϣϯΛ૿͢΄͏͕खͬऔΓૣ͍
ᶄւ֎+6(ͱͷ࿈ܞ w $$$ͷӳޠηογϣϯʢ˞௨༁ͳ͠ʣ w ळ w य़ w ळ ΞϯΧϯϑΝϨϯε
w य़ ϋϯζΦϯ
ᶄւ֎+6(ͱͷ࿈ܞ w ࠓޙΓ͍ͨ͜ͱ w ++6($$$ͷӳޠηογϣϯΛܧଓվળ w +0OTFOόΠΫπΞʔͷܧଓ w ւ֎ͷ+BWBΤϯδχΞ͕ຊʹཱྀߦ͢Δࡍɺ ཱྀߦઌͷίϛϡχςΟΠϕϯτʹࢀՃͯ͠Β͏
w ຊͷ+BWBΤϯδχΞ͕ւ֎Πϕϯτʹ ࢀՃొஃ͢ΔͷΛαϙʔτ͍ͨ͠ʢʂʣ
ใΛಘΔ͜ͱൃ৴͢Δ͜ͱ ͍ͣΕʹ͓͍ͯ ࣗͨͪͷΓํΛʮ٬؍తʯʹ ݟͭΊΔػձͱͳΔ
ᶅํ+BWBίϛϡχςΟͱͷ࿈ܞ w എܠ w ํͷ+BWBίϛϡχςΟ͕ొஃऀΛݺͿࡍͷ ߤඅ॓ധඅαϙʔτΛଓ͚͍ͯΔ w ͲΕཱ͚͍ͩͬͯΔ͔͔Βͳ͍ w ͦͦํͰԿʹࠔ͍ͬͯΔ͔ΛΒͳ͍
ᶅํ+BWBίϛϡχςΟͱͷ࿈ܞ w ࠓޙΓ͍ͨ͜ͱ w ֤ͷ+BWBίϛϡχςΟͱͷ ఆظతͳΦϯϥΠϯձٞ w ίϛϡχςΟӡӦͷͨΊͷϦιʔεࢧԉ
ᶆॳ৺ऀ͚ίϯςϯπͷॆ࣮ w എܠ w ++6($$$ͷ$BMMGPS1BQFSTʹ Ϩϕϧͷߴ͍Ԡื͕ଟ͘དྷΔ w ॳ৺ऀʹ͍͠ηογϣϯ͕΄ͱΜͲ w ++6(φΠτηϛφʔॳ৺ऀ͚
ʹʙճ͔͠Ͱ͖͍ͯͳ͍
ᶆॳ৺ऀ͚ίϯςϯπͷॆ࣮ w ͦ͏ͳΔഎܠ w ਓجຊతʹʮֶ͕ࣗΜͩ͜ͱʯ ʮ๊͕͍ࣗ͑ͯͨ՝ʯΛத৺ʹ͢ w ొஃ͢ΔΤϯδχΞϨϕϧ͕ߴ͍ ֶΜͩ͜ͱɺ՝ͷϨϕϧ͕ߴ͍ w
ॳ৺ऀ͚ͷηογϣϯ ͦΕͱผͰ४උ͠ͳͯ͘ͳΒͳ͍
ʢืूʣ ॳ৺ऀ͚ͷΛ͍ͨ͠ਓ ʮͦΕ͚ͩͰوॏʯͳͷͰ ͥͻφΠτηϛφʔͰͷొஃ $BMMGPS1BQFSTఏग़Λ ͍ͯͩ͘͠͞ʂ
ᶆॳ৺ऀ͚ίϯςϯπͷॆ࣮ w ࠓޙΓ͍ͨ͜ͱ w ॳ৺ऀ͚ηογϣϯϋϯζΦϯͷॆ࣮ w اۀͱΉʁ w ॳ৺ऀ͚ߨशΛߦ͏ΤϯδχΞʹରͯ͠ ΠϯηϯςΟϒΛઃ͚Δʁ
ͱɺΓ͍ͨ͜ͱ༷ʑ͋Γ·͕͢
ӡӦͷख͕Γͳ͍ʂ
ͳͥ++6(ͱ$$$ͷ ৫Λ͚ͨͷ͔ʁ
γϯϓϧͳཧ༝ɿ ӡӦͷϦιʔεෆ
ϦιʔεෆͰʁ ৫Λ͚Δʁ അࣛͳͷʁࢮ͵ͷʁ
͍··Ͱଧͬͨࡦ $$$ϘϥϯςΟΞͷืू Πϕϯτελοϑͷืू
݁Ռ ΠϕϯτӡӦ͕େ෯ʹָʹͳͬͨ ʢװࣄ͕ർฐ͠ͳ͘ͳͬͨʣ
࣍ͷ՝ ++6(װࣄͷෆ
++6(ϘϥϯςΟΞͷװࣄ͕ ࣄͷ߹ؒʹӡӦΛ͍ͯ͠Δ ϘϥϯςΟΞͳͷͰ ੵۃతͳਓ΄Ͳෛՙ͕ूத͢Δ ʢ͍͠ਓ͕શ෦Δʣ
ফۃతʹͳͬͯΔ࣌ͷ ʮ͋ΕΓ͍ͨɻ͜ΕΓ͍ͨʯ ੵۃతʹͳͬͯΔ࣌ͷ ʮφΠτηϛφʔͱ$$$ͷ४උͰ ͯͦ͘͠ΕͲ͜Ζ͡Όͳ͍ʯ
ʮΓ͍ͨ͜ͱʯͱ ʮΔ͖͜ͱʯͷ όϥϯε
װࣄձͰͷ͍͍͕ͩͨ ʮ࣍ͷʯ++6($$$ͷ དྷ݄ɺ݄ͷװࣄձ͔Β ++6($$$'BMMͷ ४උ͕࢝·Δ
ʮ$$$͕ෛ୲ͳΒ $$$Λճʹ͢Ε ͍͍͡Όͳ͍ʁʯ
ʹճ͔ͩΒͦ͜ ӡӦεΩϧΛܧଓͰ͖Δ ʢճʹ͢ΔͱɺΕΔʣ
ʮ$$$͕ෛ୲ͳΒ ֎෦ʹҕୗ͢Ε ͍͍͡Όͳ͍ʁʯ
͍·ͷ༧ࢉͰগ͠ݫ͍͠ɻ
ʮ༧ࢉ͕Γͳ͍ͳΒ $$$Λ༗ঈԽ͢Ε ͍͍͡Όͳ͍ʁʯ
༗ঈΠϕϯτΛߦ͏͜ͱʹΑΔ װࣄͷϓϨογϟʔ૿
ീํ࠹͕Γ͡ΌΜʂ
ʮ$$$͕ෛ୲Ͱ͋Ε $$$ͱ++6(ΛΓͤ ͦΕͧΕਐΉͷͰʁʯ
ͦ͏ͬͯɺࢼߦࡨޡΛ͠ͳ͕Β Γ͍ͨ͜ͱΛ Ͱ͖ΔΑ͏ʹ͢ΔͨΊʹ ৫Λ࡞͍͖ͬͯ·͢ʂ
Ҏ্ʂ ʢҎ߱εϥΠυඇެ։ʣ