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コミュニティ活用術
Search
ihcomega56
November 18, 2017
1
7.1k
年齢も経験も関係ない!ステップアップするためのJavaコミュニティ活用術
JJUG CCC 2017 Fall
ihcomega56
November 18, 2017
Tweet
Share
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
0
73
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
1.8k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.3k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
150
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.3k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
240
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
460
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.5k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Become a Pro
speakerdeck
PRO
26
5.2k
Bash Introduction
62gerente
611
210k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Code Reviewing Like a Champion
maltzj
521
39k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Fireside Chat
paigeccino
34
3.2k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
Adopting Sorbet at Scale
ufuk
74
9.2k
Practical Orchestrator
shlominoach
186
10k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Why Our Code Smells
bkeepers
PRO
336
57k
Transcript
ྸܦݧؔͳ͍ʂ εςοϓΞοϓ͢ΔͨΊͷ +BWBίϛϡχςΟ׆༻ज़ 4BU ++6($$$'BMM KKVH@DDDDDD@F
ૣͰ͕͢ ίϛϡχςΟͱͱʹ εςοϓΞοϓ͢ΔͨΊʹ ඞཁͳ͜ͱͱʁ DDD@F
Δ DDD@F
Δ ग़͢ DDD@F
Δ ग़͢ ͘Γ͔͑͠ DDD@F
͜Ε͚ͩ DDD@F
͔Ε͜Ε΄ͲࣗͳΓʹ ͜ͷαΠΫϧΛճ͖ͯͯ͠ɺ ͬͯͯΑ͔ͬͨʙͱ ࢥ͍ͬͯΔͱ͓ͯ͠͠·͢ DDD@F
Θͨ͠ Α͜ͳ!JIDPNFHB גࣜձࣾ'0-*0 +BWBঁࢠ෦ ++6( ےτϨΛ͕ΜΓ͍ͨ DDD@F
++6($$$ܦݧ Ͳͷ͘Β͍Ͱ͔͢ʁ DDD@F
ॳࢀՃͷํʁ DDD@F
ฉ͖͍ͨηογϣϯ બͦ͏Ͱ͔͢ʁ DDD@F
༗ҙٛʹաͤͦ͝͏Ͱ͔͢ʁ DDD@F
ॳࢀՃ࣌ɺࢲແཧͰͨ͠ DDD@F
य़ʙळ ‣ਓࣄͷޱंʹͤΒΕଔͰ*5ۀք ‣1$ͷܦݧͱ͍͏ͱ8PSEͱ4LZQF͘Β͍ ‣ݚमͰݹͷ+BWBΛମಘ ‣JGจͱGPSจͱຊޠΛثʹࣄ ‣Δؾͱɺͳ͔ͥࣗ৴͕͋ͬͨ DDD@F
ౙ ‣ʮ8FCMPHJDษڧձͬͯΔΑʯ ‣ʮ+BWBঁࢠ෦͍ͬͯ͏ͷ͕͋ΔΒ͍͠Αʯ DDD@F
ౙ ‣༏ੜλΠϓɾҙ͚ࣝͩߴ͍ தͳ͍ ࢲ ‣ʮΑ͔͘Βͳ͍͚ͲࢀՃͯ͠ΈΑ͏ʯ ‣ʮಉظʹࠩΛ͚ͭͨΖʯ DDD@F
ίϛϡχςΟॳࢀՃ DDD@F
ܸ DDD@F
Βͳ͍͜ͱ͔͠ͳ͍ ‣ࣄͰ͍ͬͯΔʮ4USVUTʯͱ͍͏͕ͭԿނ ͔օͷωλʹ͞Ε͍ͯΔɾɾɾ ‣+BWBʹόʔδϣϯʁ͕͋ΔΒ͍͠ʁ͕ग़Δ Β͍͠ʁ ‣+BWBҎ֎ʹͨ͘͞Μݴޠ͕͋ΔΑ͏ͩ DDD@F
ӡӦʹܞΘΔ͜ͱʹ ‣ӡྑ͘+BWBঁࢠ෦্ཱ͕ͪ͛ظͩͬͨ ‣֎ͷੈքʹ͜ΜͳʹΒͳ͍͜ͱ͕͋Δͷʹɺ ৬ʹ͜Γଓ͚ͨΒଛͦ͠͏ͳؾ͕ͨ͠ ‣Α͔͘Βͳ͍͚Ͳ༗໊ͳํ͕ͨ͘͞Μू·Δ Β͍͔͠Βࣗʹ͍͍͜ͱ͕͋Δ͔͠Εͳ͍ ‣ԿΑΓɺͬͱͪΌΜͱֶͼ͍ͨʂʂʂʂʂ DDD@F
ͱݴ͑ɺࠓ ίϛϡχςΟӡӦͷ͢ʍΊ Ͱͳ͍ DDD@F
ࣗͳΓͷ͖͔͚ͬͰ ίϛϡχςΟʹࢀՃ͍ͯ͜͠͏ DDD@F
य़ ‣++6($$$ॳࢀՃ ‣+BWB4&ϦϦʔε ‣Ͳ͏Β+BWB͍ʹͱͬͯخ͍͜͠ͱΈ͍ͨͩ ‣ʮ+BWB+BWBʯͱࢥ͍͚ͬͯͨͲҧ͏Β͍͠ ‣+BWBࣗମਐԽ͢Δ͔Β͍ଓ͚Δඞཁ͕͋Δ ɾɾɾͳͲͳͲɺ৭ʑͳ͜ͱΛͬͨ DDD@F
य़ ‣++6($$$ॳࢀՃ ‣+BWB4&ϦϦʔε ‣Ͳ͏Β+BWB͍ʹͱͬͯخ͍͜͠ͱΈ͍ͨͩ ‣ʮ+BWB+BWBʯͱࢥ͍͚ͬͯͨͲҧ͏Β͍͠ ‣+BWBࣗମਐԽ͢Δ͔Β͍ଓ͚Δඞཁ͕͋Δ ɾɾɾͳͲͳͲɺ৭ʑͳ͜ͱΛͬͨ ͬͨ DDD@F
ͬͨ DDD@F
ίϛϡχςΟ͕ ఏڙͯ͘͠ΕΔՁͷͻͱͭ Δ DDD@F
৭ʑͳ ʮΔʯ Λߟ͑ͯΈΑ͏ DDD@F
ٕज़ΛΔ DDD@F
++6($$$'BMM ηογϣϯ ॳڃ தڃ ্ڃ DDD@F
ٕज़ίϛϡχςΟͰ ٕज़ΛΔ DDD@F
࠷ॳඇޮͰΑ͍ ‣ηογϣϯ ‣͍ͬͯΔΩʔϫʔυͰબͿΑ͠ ‣қͰબͿΑ͠ ‣༑ୡʹྲྀ͞ΕΔΑ͠ ‣ਓ͕ଟ͍ͱ͜ΖʹฆΕࠐΉΑ͠ DDD@F
࠷ॳඇޮͰΑ͍ ‣ͦͷ͔࣌Βͳͯ͘ɺԿΒ͔ͷܗͰهԱʹͬ ͍ͯΔͣ ‣ฉ͍ͨ͜ͱ͋Δͷͱͳ͍ͷͱͰ݁ߏҧ͏ ‣ԿࢀՃ͢Δ͏ͪʹઈରΠϕϯτࢀՃͷίπ ͕͔ΔͷͰɺ͋·Γؾʹ͠ͳ͍ DDD@F
ΧϯϑΝϨϯεॳ৺ऀͷ͏ͪ ͋·Γؾෛ͍ͤͣ ৭ʑࢀՃͯ͠ΈΔͷ͕Φεεϝ DDD@F
ͨͩ͠ ͓͍֮͑ͯͯཉ͍͠ DDD@F
ฉ͘ɾݟΔ͚͕ͩ ʮΔʯͰͳ͍ DDD@F
࣭͠Α͏ ‣ηογϣϯޙͷ࣭ٙԠΛੵۃతʹ͓͏ ‣ݸผͰొஃऀΛั·͑ͯ๚ͶͯΈΑ͏ DDD@F
࠙ձʹग़Α͏ ‣͍ΖΜͳͻͱͱͯ͠ΈΑ͏ ‣͍ΖΜͳ͜ͱΛͯ͠ΈΑ͏ ‣͔͚͠Δͷ͕ۤखͩͬͨΒ*DBOIFMQZPV DDD@F
ొஃͯ͠ΈΑ͏ ‣ֶΜͩ͜ͱΛཧͯ͑͠Α͏ ‣ߟ͑ͨ͜ͱΛൃද͠Α͏ ‣࣮ફͨ͠༰ΛօʹͬͯΒ͓͏ ‣ΞϯΧϯϑΝϨϯεʹࢀՃ͠Α͏ DDD@F
͔ͭͯͷࢲ ʮ͍͔ͭొஃͯ͠Έ͍ͨɾɾɾʯ DDD@F
͔ͭͯͷࢲ ʮ͍͔ͭొஃͯ͠Έ͍ͨɾɾɾʯ Α DDD@F
ొஃ͘͢͝ͳ͍ ‣ͲΜͳϨϕϧͷ༰Ͱχʔζଘࡏ͠͏Δ ‣͕ࣗ͘͢͝ͳͯ͘ɺ༗ҙٛͳग़དྷΔ ‣ࣗΑΓ͍͢͝ਓɺ͕ࣗ͘͢͝ͳ͍͜ͱΛ ͔ͬͯ͘Ε͍ͯΔ ‣ొஃΛ͍͢͝ͱࢥ͏ͱɺͦΕͰຬͯ͠͠·͏ ˞ͪΖΜҟৗʹ͍͢͝ొஃऀͨ͘͞Μ͍Βͬ͠Ό͍·͢ɻຊϖʔ δʮޡղΛڪΕͣʹݴ͏ͱʯͱ͍͏ͭͰ͢ɻ DDD@F
ࢲͷ߹ɾɾɾ DDD@F
ͦͷͱ͖ग़དྷΔൣғͰ Ξτϓοτ͖ͯͨ͠ DDD@F
ొஃʹཱͭ ‣ࣗͷࣝΛཧग़དྷΔ ‣ಘҙͳ͜ͱɺۤखͳ͜ͱ͕ݟ͑ͯ͘Δ ‣ௌߨऀͱͷΓͱΓʹΑΓൃݟ͕͋Δ ‣ϨϏϡʔͯ͠Β͏ͱͳ͓Α͠ ‣࠙ձͰΛ͔͚ͯΒ͑Δ ͓·͚ DDD@F
ࣗΛΔ DDD@F
ࣗ ‣Կ͕ग़དྷΔʁग़དྷͳ͍ʁ ‣Կ͕ಘҙʁ ‣Կʹڵຯ͕͋Δʁ DDD@F
ಘҙΛ͕ͤ͞ ‣ΞϓϦʁϛυϧΣΞʁΠϯϑϥʁ ‣ϞόΠϧʁϑϩϯτΤϯυʁόοΫΤϯυʁ DDD@F
ಘҙΛ͕ͤ͞ ‣ΞϓϦΛ։ൃ͢Δ͜ͱʁ ‣σʔλΛੳͨ͠ΓՄࢹԽͨ͠Γ͢Δ͜ͱʁ ‣$*ɾ$%͕ग़དྷΔΑ͏උ͢Δ͜ͱʁ ‣͍͍νʔϜΛ࡞Δ͜ͱʁ ‣ਓͱίϛϡχέʔγϣϯΛͱΔ͜ͱʁ DDD@F
ಘҙΛ͕ͤ͞ ‣#UP$ʁ#UP#ʁ ‣৽ͨͳαʔϏεΛߟ͑Δ͜ͱʁ ‣χʔζΛټΈऔͬͯγεςϜʹө͢Δ͜ͱʁ DDD@F
ಘҙΛ͕ͤ͞ ‣͍ͪ͘৽͍ٕ͠ज़Λࢼ͢͜ͱʁ ‣ࠓඞཁͳใΛऩू͢Δ͜ͱʁ ‣ͬͨ༰Λ୭͔ʹڭ͑Δ͜ͱʁ DDD@F
ࢲͷ߹ɾɾɾ ӳޠ ॳ৺ऀ͚ ϙϯνֆ DDD@F
ͭ·ΓԿͰΑ͍ʂ DDD@F
ࣗΒՁΛ͚ͭΔ͜ͱ͕ ग़དྷΕউͪ DDD@F
͘Γ͔͑͠·͕͢ DDD@F
ฉ͘ɾݟΔ͚͕ͩ ʮΔʯͰͳ͍ DDD@F
͢ɾॻ͘ʹΑΓ ݟ͑ͯ͘Δ͜ͱ͋Δ ͦΕ͕ͦ͜وॏ DDD@F
͜Ε͚ͩͳΒ ਓͰɺՈʹ͍ͯग़དྷΔ Δ DDD@F
ίϛϡχςΟ͔ͩΒͦ͜ ग़དྷΔ͜ͱɺͦΕ͕ ग़͢ DDD@F
ʮग़͢ʯ৽ͨͳʮΔʯʹ ܨ͕Δ DDD@F
Δ ग़͢ ͘Γ͔͑͠ DDD@F
ʮ͜ΕͳΒࢲʹग़དྷΔʯͱ ࢥͬͨ͜ͱΛߦಈʹҠ͢ͷ͕ ϙΠϯτ DDD@F
എ৳ͼ͗͢͠Δඞཁͳ͍ DDD@F
ൃ৴͍Ζ͍Ζ ‣ొஃ ‣5XJUUFS ‣ϒϩά ‣2JJUB ‣(JU)VC ‣ձࣾ࣋ͪؼΓ׆༻ DDD@F
ࢲͷ߹ɾɾɾ ϒϩά5XJUUFS 5XJUUFS ษڧձ DDD@F
ࢲͷ߹ɾɾɾ ‣ձࣾ࣋ͪؼΓಘͨࣝΛϨϏϡʔʹө ‣࢝Ί͍͢ ‣ࣝΛಘΔ׆༻͢Δͱ͍͏ྲྀΕΛ͍ε ύϯͰ܁ΓฦͤΔ DDD@F
ࣗʹ߹ͬͨΓํɺ ָ͍͠ͱࢥ͑Δํ๏Ͱ ͬͨ͜ͱΛग़͍ͯ͜͠͏ DDD@F
͜͏ͯ͠ DDD@F
ίϛϡχςΟʹࢀՃ͠ɺΓɺ ͬͨ͜ͱΛ֎ʹग़͠ɾɾɾ DDD@F
͜ΕΛ͍ͬͯΕ ͍ͭͷؒʹ͔ίϛϡχςΟʹ ׳Ε͍ͯΔͣ DDD@F
ίϛϡχςΟΛΔ DDD@F
ࣗͳΓͷָ͠Έํ ‣໘ന͍ίϛϡχςΟ͕͔Δ ‣ΈͷΠϕϯτใΛΩϟονग़དྷΔ ‣λΠϜςʔϒϧͷΈํ্͕ୡ͢Δ ‣ࢀՃऀΛগ֮ͣͭ͑͠ɺΓ߹͍͕૿͑Δ DDD@F
ଞਓΛΔ DDD@F
ίϛϡχςΟʹ ͍Ζ͍Ζͳਓ͕͍Δ DDD@F
ࣗͱҧ͏ਓ͔ΒֶͿ ‣ಘҙͳٕज़ ‣ࣄ ‣ੜ͖ͨ࣌ ‣ੑ֨ DDD@F
ࣗͱҧ͏ਓٕज़ฤ ‣ΞʔϦʔΞμϓλʔ ‣ྺ࢙ܦҢʹڧ͍ਓ ‣ؾʹͳΔۀքɾձࣾʹ͍Δਓ ‣͖ͳλΠϓͷίʔυΛॻ͘ਓ ‣༗༻ͳຊΛ͓͢͢Ίͯ͘͠ΕΔਓ FUD DDD@F
ࣗͱҧ͏ਓੑ֨ฤ ‣ਖ਼͍͜͠ͱΛॏΜ͡Δਓ ‣ڭ͑Δͷ͕େ͖ͳਓ ‣ޱௐ͕ݫ͍͠ਓ ‣ࣗͷҙݟΛۂ͛ͳ͍ਓ ‣ࠊॊΒ͔ͳਓ FUD DDD@F
ࢲͷ߹ɾɾɾ ͱ͋Δࣄ݅ ձݶఆͱ͍͏͜ͱͰޱ಄Ͱ DDD@F
ࠓͱͳ͍͍ͬͯࢥ͍ग़ DDD@F
ͦΕͲ͜Ζ͔ ࣗͷڧΈʹؾ͍ͨ DDD@F
ࢲͷ߹ɾɾɾ ‣ए͍ɺΒΒɺϑϨϯυϦʔ ҙݟΛݴ͍͍͢ ‣ٙʹ͙͑ͯ͢Β͑Δ ‣ޡΓΛ͙͢గਖ਼ͯ͠Β͑Δ ‣ίϛϡχςΟͷҙݟΛٵ্͍͍͛͢ DDD@F
Կͩͬͯܦݧɾֶͼͩͱࢥͬͯ ڧ͘ੜ͖Δ֮ޛେࣄ DDD@F
݄ฒΈͰ͕͢ DDD@F
ࢦఠϚαΧϦ ࣄ࣮ͷ൱ఆͰ͋ͬͯ ਓ֨൱ఆͰͳ͍ DDD@F
ੵۃతʹΞτϓοτ͠Α͏ DDD@F
͜͜·Ͱ͓͞Β͍ ‣ٕज़ΛΔ ‣ࣗΛΔ ‣ίϛϡχςΟΛΔ ‣ଞਓΛΔ DDD@F
·ͩ·ͩΠέΔ DDD@F
ੈքΛΔ DDD@F
ຊͷ֎ ‣ւ֎ʹΤϯδχΞ͍Δ ‣ւ֎ʹίϛϡχςΟ͋Δ DDD@F
ੵۃతʹަྲྀ͍ͯ͜͠͏ DDD@F
ຊͰւ֎Λײ͡Δ ‣++6($$$ ‣+BWB%BZ5PLZP ‣+0OTFO DDD@F
ւ֎ʹΛ৳͢ ‣+BWB0OF DDD@F
ຊͷίϛϡχςΟڧ͠ ‣+0OTFOɺ+BWB%BZ5PLZPͷΓ্͕Γ ‣+BWB0OFͰຊϑΟʔνϟʔ DDD@F
ݴ༿ͷน ‣ʮ͍ӳޠͰΘΔ͔Βେৎʂʯͱݴ͍ͨ ͍͕ɺۤखҙ͕ࣝ͋ΔͱͬͺΓ͍͠ͷࣄ࣮ ‣·ͣಘҙͳਓ͕த৺ͱͳΓɺॿ͚߹ͬͯԿͱ ͔͠Α͏ ‣++6(ͷαΠτυΩϡϝϯτੵۃతʹӳޠԽ ͍͖͍ͯͨ͠ Ұॹʹͬͯͩ͘͞Δํͥͻ DDD@F
ຊւ֎ ؔΛͬͱڧԽ͢Δʹ ࠜؾͱମྗ͕ඞཁ DDD@F
Ͱ DDD@F
ϑΟʔϧυΛ͛Ε વΔ෯͕Δ DDD@F
ͬͨ΄͏͕ະདྷ໌Δ͍ DDD@F
͖ͬͱָ͍͠ DDD@F
Δ ग़͢ ͘Γ͔͑͠ DDD@F
Δ ग़͢ ͘Γ͔͑͠ ˞Πϝʔδ DDD@F
ͥͻ֎ग़͍ͯ͜͏ DDD@F
ͥΜͿ͓͞Β͍ ‣ٕज़ΛΔ ‣ࣗΛΔ ‣ίϛϡχςΟΛΔ ‣ଞਓΛΔ ‣ੈքΛΔ DDD@F
ϙΠϯτ ࣗͷڧΈΛݟ͚ͭͯ ૣ͍͏͔ͪΒ ग़དྷͦ͏ͳ͜ͱΛΔʂ DDD@F
ߦಈ͢Ε Կ͔͕ಈ͖ग़͢ʂ DDD@F
ࠓ·ͣ++6($$$Ͱ ʮΔʯΛ ָ͠ΜͰ͍͍ͬͯͩ͘͞ʂ DDD@F
Δ DDD@F
ޙ++6($$$ʹ $G1Λ Ԡื͍ͯͩ͘͠͞ʂ DDD@F
ग़͢ DDD@F
͜Ε͔Β ++6(ɺͦͯ͠++6($$$Λ Ӭ͘ΑΖ͓͘͠ئ͍͠·͢ʂ DDD@F
Δ ग़͢ ͘Γ͔͑͠ DDD@F
ͬͨΜউͪͩͥ DDD@F
5IBOLZPV