$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OpenJDKアンカンファレンス 2022-09
Search
orekyuu
September 30, 2022
Programming
0
180
OpenJDKアンカンファレンス 2022-09
orekyuu
September 30, 2022
Tweet
Share
More Decks by orekyuu
See All by orekyuu
[JJUG CCC 2022 fall] Fargate上のJVMからCPUを認識するまで 〜正しく認識されないCPUの謎を追え〜
orekyuu
1
2.3k
至極の難問言語仕様クイズ 〜最強のマルチリンガル決定戦〜
orekyuu
2
2.2k
burikaigi2021 Rails製ECサイトの決済速度を上げろ!〜決済処理チューニングの記録〜
orekyuu
3
1.7k
実際困る!クロスドメイン間のセッション管理を考えよう
orekyuu
1
910
pixiv PAYで運用している フレンズパターン
orekyuu
1
3.5k
日本初のキャッシュレス即売会を支えた決済アプリ pixiv PAYの技術
orekyuu
1
1.6k
Other Decks in Programming
See All in Programming
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
340
認証・認可の基本を学ぼう後編
kouyuume
0
240
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
TestingOsaka6_Ozono
o3
0
160
FluorTracer / RayTracingCamp11
kugimasa
0
230
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
190
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
420
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
310
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
390
関数実行の裏側では何が起きているのか?
minop1205
1
700
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
180
Featured
See All Featured
A better future with KSS
kneath
240
18k
Six Lessons from altMBA
skipperchong
29
4.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Thoughts on Productivity
jonyablonski
73
5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Building an army of robots
kneath
306
46k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Why Our Code Smells
bkeepers
PRO
340
57k
Making Projects Easy
brettharned
120
6.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Designing for Performance
lara
610
69k
Transcript
!PSFLZVV ͬ͘͟Γ4FSJBM($ͷ࣮ΛಡΉ 0QFO+%,݄ΞϯΧϯϑΝϨϯεPQFOKELKQ
ࠓͷΰʔϧ 0QFO+%,ͷ($ͷ࣮ΛಡΜͰΈΑ͏ͷͱ͔͔ͬΓʹͳΔ ͲͷίʔυಡΊ͍͍ͷʁ ॲཧͷྲྀΕͲ͏ͳͬͯΜͷʁ ཪͷΰʔϧ
0SFLZVVͷೝࣝζϨͷൃݟ $PNJUUFSͷิͰ͕ٙղܾͰ͖Δͱخ͍͠ʂ
ࠓͷྲྀΕ ($ͷॲཧΛಡΉલͷͬ͘͟Γͱͨ͠ొਓͷཧ :PVOHྖҬͷ($ͷྲྀΕΛಡΜͰݟΔ 0MEྖҬʹ͕ؔͯ࣌ؒ͠ͳ͍ͷͰ·ͨผͷػձʹʂ
0QFO+%,ͷ($ܥͷॲཧͷॴ w TSDIPUTQPUTIBSFHD w TFSJBMˡ͜͜ʹ4FSJBM($ͷ࣮ w TIBSFEˡ͜͜ʹෳͷ($ΞϧΰϦζϜͰ͏࣮͕ೖ͍ͬͯΔ w ͦͷଞ($ΞϧΰϦζϜຖʹσΟϨΫτϦ͕۷ΒΕ͍ͯΔׂ͕Ѫ
7.ͷΫϥεͱΦϒδΣΫτΛཧ͢Δਓ
6OJWFSTFͷॳظԽλΠϛϯάͰ )FBQΛ࡞͢Δ
($$PO fi HͲͷ($ΞϧΰϦζϜΛ ͏͔ͷϩδοΫΛ͍࣋ͬͯΔ ($$PO fi HTFMFDU@HD
(D"SHVNFOUT($ΞϧΰϦζϜ͝ͱʹ αϒΫϥεΛ࣋ͭ
DFBUF@IFBQΛ࣮ͯ͠ɺ $PMMFDUFE)FBQΛ࡞ͬͯฦ͢
$PMMFDUFE)FBQ)FBQྖҬͷཧ (FO$PMMFDUFE)FBQੈผͷώʔϓͰ ZBOHͱPMEͷ(FOFSBUJPOΛ͍࣋ͬͯΔ ͦͷαϒΫϥεͱͯ͠4FSJBM)FBQ͕͍Δ
(FO$PMMFDUFE)FBQ @ZPVOH@HFOͱ@PME@HFOΛ࣋ͭ
۩ମతͳ($ͷॲཧ(FOFSBUJPO ʹهड़͞Ε͍ͯΔ
(FOFSBUJPO($ͷॲཧঢ֨ͷॲཧͳͲΛ͍࣋ͬͯΔ
4FSJBM($ͷ͓͞Β͍
ώʔϓͷߏ w ώʔϓେ͖͘ZPVOHͱPMEʹ͔Ε͍ͯΔ w ZPVOHʹFEFOTVSWJWPS ͞ΒʹதͰGSPNUP ͷྖҬ͕͋Δ
ώʔϓͷߏ w ৽͘͠࡞ΒΕͨΦϒδΣΫτFEFOʹׂΓͯΒΕΔ
ώʔϓͷߏ w ($ͰUPʹҠಈͯ͠ྸ͕૿͑Δ
ώʔϓͷߏ w ͋ΔҰఆͷྸʹͳΔ·Ͱ̜̘͞Εͳ͚ΕPMEʹҠಈ͢Δ
%FG/FX(FOFSBUJPODPMMFDU
4FSJBM)FBQIFBQ Ͱ 4FSJBM)FBQͷࢀর͕औΕΔͬΆ͍
͜ͷΜ($ͷ౷ܭใΛऔΓ͍͚ͨͩΈ͍ͨͳͷͰ ຊےͱؔͳͦ͞͏
PME@HFO͋ͱͰग़ͯ͘ΔͷͰ ͦ͏͍͖͑࣋ͬͯͯͨͳʔ͘Β͍ʹ͓͍͍֮͑ͯͯͩ͘͞
($͕ޭͦ͠͏ʹͳ͍ͳΒHDΛఘΊͯͯ࣍ͷੈʹ·͔ͤΔ ͭ·Γ'VMM($
5Pεϖʔε͕ۭͰͳ͍ͳΒޭ͠ͳͦ͞͏
VTFECZUFT͕ͯ͢PMEੈʹঢ֨ͨ͠ͱ͖ʹׂΓͯΒΕΔʁ VTFE͕ͯ͢ঢ֨͢ΔΘ͚Ͱͳ͍͚Ͳɺ࠷ѱέʔεͰߟ͑ͯΔΆ͍
ޙͰग़ͯ͘Δ3FG1SPD1SPYZ5BTLͰΘΕΔΫϩʔδϟͰɺ ΦϒδΣΫτ͕ੜ͖͍ͯΔ͔Λฦ͠·͢
ऑࢀরΛॲཧ͢ΔͨΊͷΫϩʔδϟͰ͢ ੈؔͳ͘Ұׅॲཧ͢ΔΒ͍͠
ྸͷςʔϒϧΛΫϦΞͯ͠ΔͬΆ͍͚Ͳͳͥʁ 4VSWJWPSؒͷҠಈͰྸ͕૿͍͑ͯͣ͘Ͱʜ
5PྖҬΛফڈ
4VSWJWPSͷίϐʔɺঢ֨Λ͍ͬͯͦ͏ʁ
ͭͷΫϩʔδϟ'BTU4DBO$MPTVSFΛܧঝ͍ͯͯ͠ɺ ੜ͖ͬͨΦϒδΣΫτ PCKJT@GPSXBSEFE ΛUPྖҬίϐʔ͍ͯ͠Δ
͖͍͠ͷྸ·Ͱ͍͔ͳ͚ΕUPྖҬίϐʔ
ྸ͕͖͍͠Λ͑͜ΔͱPMEঢ֨
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
%
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
% ; ৽͍͠Πϯελϯε &EFOʹஔ
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
% ; ($SPPUΛ5Pίϐʔ "` ;` %`
લͷͭͷΫϩʔδϟͰॲཧͨ͠ΦϒδΣΫτ͔ΒḷΕΔ ΦϒδΣΫτΛ࠶ؼతʹ5PίϐʔPSঢ֨ͤ͞Δ
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
% ; ($SPPU͔ΒḷΕΔΦϒδΣΫτΛ 5Pίϐʔ "` ;` %` $`
ऑࢀরͷΦϒδΣΫτʹJT@BMJWFͱLFFQ@BMJWFͷΫϩʔδϟΛద༻͢Δ
͜͜·ͰͰɺϚΠφʔ($ͷ ΦϒδΣΫτͷίϐʔ͕ऴྃ
ίϐʔޙͷॲཧ
ࠓճͷ($Ͱঢࣦ֨ഊͨ͠߹ɺ@QSPNPUJPO@GBJMFE͕USVFʹͳΔ
ঢ֨ʹࣦഊ͍ͯ͠ͳ͍߹ɺFEFOͱGSPNΛۭʹ͢Δ UPͷίϐʔ͕ऴΘ͍ͬͯΔͷͰɺΓੜ͖͍ͯͳ͍ͣ
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
% ; ($SPPU͔ΒḷΕΔΦϒδΣΫτΛ 5Pίϐʔ "` ;` %` $`
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS # &EFOͱ'SPNΛۭʹ͢Δ "`
;` %` $`
&EFO :PVOH(FO 0ME(FO 5P 'SPN 0ME 4VWBJWFS # 'SPNͱ5PΛೖΕସ͑Δ "`
;` %` $`
ঢࣦ֨ഊͨ͠߹ɺGPSXBSEJOHQPJOUFSΛআ͢Δ ҠಈΛऔΓফ͢ʁ
'SPNͱUPΛަ͢Δ ঢ֨ʹࣦഊ͠ͳ͔ͬͨͱ͖GSPNͱFEFOΛۭʹ͍͕ͯͨ͠ɺ ࠓճͦΕ͕ͳ͍
ίϐʔ͞Ε͕͍ͨͭͬͯΔͷͰɾɾɾʁ ͙͢ʹGVMMHD͞ΕΔ͔Βஔ͍͓ͯͬͯ͘͜ͱ͔ͳʁ
ঢࣦ֨ഊͨ͜͠ͱΛ௨ͯ͠ऴྃ
·ͱΊ
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
%
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
% ; ৽͍͠Πϯελϯε &EFOʹஔ
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
% ; ($SPPUΛ5Pίϐʔ "` ;` %`
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS " # $
% ; ($SPPU͔ΒḷΕΔΦϒδΣΫτΛ 5Pίϐʔ "` ;` %` $`
&EFO :PVOH(FO 0ME(FO 'SPN 5P 0ME 4VWBJWFS # &EFOͱ'SPNΛۭʹ͢Δ "`
;` %` $`
&EFO :PVOH(FO 0ME(FO 5P 'SPN 0ME 4VWBJWFS # 'SPNͱ5PΛೖΕସ͑Δ "`
;` %` $`