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
JVM は Web フロントエンド開発の夢を見るか?
Search
ちゅるり
September 14, 2024
0
1.3k
JVM は Web フロントエンド開発の夢を見るか?
第 57 回情報科学若手の会(2024/9/14 @軽井沢研修所) での発表スライドです。
ちゅるり
September 14, 2024
Tweet
Share
More Decks by ちゅるり
See All by ちゅるり
KdB もどきが xx なのでパフォーマンスを改善しました
chururi
0
69
絵文字を実行する
chururi
1
110
入門:JVM 〜5 分で完全に理解する JVM の仕組み〜
chururi
0
220
おえかきアプリを支える技術
chururi
0
420
あなたとKotlin, 今すぐはじめよう - UNTIL.LT #0x02
chururi
0
330
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Why Our Code Smells
bkeepers
PRO
339
57k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
GitHub's CSS Performance
jonrohan
1032
460k
Being A Developer After 40
akosma
90
590k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Become a Pro
speakerdeck
PRO
29
5.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
4 Signs Your Business is Dying
shpigford
184
22k
Music & Morning Musume
bryan
46
6.8k
Transcript
थ +7. 8FCϑϩϯτΤϯυ ։ൃͷເΛݟΔ͔ʁ ୈ ճ ใՊֶएखͷձ ʙ
ஜେֶ ใϝσΟΞֶྨ
ࣗݾհ ୈ ճ ใՊֶएखͷձ d थʢ/PNBLJ *UTVSVʣ
DIVSVSJ@ JUTVEFW • ஜେֶ • ใϝσΟΞֶྨ • ਆಸݝḟࢠࢢੜ·Ε ಢݝখࢁࢢҭͪ • 8FCͱݴޠॲཧܥʹؔ৺ • ֆจࣈϓϩάϥϛϯάݴޠ FNPKJO • +7.PO5ZQF4DSJQU 👀
͜Ε͔Β͢͜ͱ • 8FCϑϩϯτΤϯυ։ൃʹ +7.ʢ+BWBͷॲཧܥʣͷ ΈΛऔΓೖΕΒͳ͍͔ͱ͍͏ • ࣮ʹ͍ͭͯ ୈ ճ
ใՊֶएखͷձ d *U`TB$SFEFOUJBM ͜ͷϚʔΫ͕͋ΔεϥΠυ ࠜװʹؔΘΔ෦ͷͨΊɺࡱӨΛ ߇͍͚͑ͯͨͩΔͱॿ͔Γ·͢ 🙏
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
എܠ ୈ ճ ใՊֶएखͷձ d 8FCϑϩϯτΤϯυͷ։ൃݴޠͷओྲྀ 5ZQF4DSJQU ੩తܕ͚Ͱ͋Δʹ͔͔ΘΒͣ
ίϯύΠϧ͢Δͱܕͷใܽམͯ͠͠·͏ʂ
എܠ • Ϣʔβೖྗαʔό͔Βಘͨσʔλ৴པ͖͠Εͳ͍ • ֎෦ͷ "1*Λݺͼग़ͨ͠ࡍɺϨεϙϯεͷεΩʔϚ͕มԽͨ͠Γʜ ୈ ճ ใՊֶएखͷձ
d 5ZQF4DSJQU্Ͱͷ ܕఆٛ ຊདྷೖΔ͖σʔλ ޡͬͯೖͬͨσʔλ 🤔
എܠ • Ϣʔβೖྗαʔό͔Βಘͨσʔλ৴པ͖͠Εͳ͍ • ֎෦ͷ "1*Λݺͼग़ͨ͠ࡍɺϨεϙϯεͷεΩʔϚ͕มԽͨ͠Γʜ ୈ ճ ใՊֶएखͷձ
d ༩͑ΔσʔλͷܕʹΑͬͯڍಈ͕มԽ͢Δྫ ʢ+BWB4DSJQUʣ Τϥʔʹ ͳΒͳ͍ʂ όάͷͱ
എܠ • ͔ͱ͍ͬͯਵॴʹܕݕࠪͷͨΊͷίʔυΛૠೖ͢Δͷ • ϩδοΫͷूதΛࠔʹ͢Δ • [PE ͳͲͷόϦσʔγϣϯϥΠϒϥϦͷ׆༻ʁ • ίʔυશମ͕ϥΠϒϥϦͷӨڹΛڧ͘ड͚ΔͨΊେنͳ
ιϑτΣΞͩͱอक͕ࠔʹͳͬͯ͠·͏ ୈ ճ ใՊֶएखͷձ d 5ZQF4DSJQUͰखଓ͖తʹܕΛݕࠪ͢Δྫ ΦϒδΣΫτʹରͯ͠ UZQFPG ԋࢉࢠΛద༻͢Δྫ
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
Ξϓϩʔνɿಛͷཧ • ಛͷൺֱ • ࣮ߦ࣌ʹܕΛอ࣋͢Δ͜ͱʹΑΔར ୈ ճ ใՊֶएखͷձ d
ಛੑ +BWBͳͲ 5ZQF4DSJQU ܕνΣοΫͷλΠϛϯά ίϯύΠϧ࣌ʴ࣮ߦ࣌ ओʹίϯύΠϧ࣌ ܕใͷอ࣋ ࣮ߦ࣌ʹอ࣋ ͳ͠ ಛੑ +BWBͳͲ 5ZQF4DSJQU ࣮ߦ࣌ͷܕݕূ ͋Γʢcheckcast ໋ྩͳͲʣ ͳ͠ʢܕ͕ফڈ͞ΕΔʣ ಈతϞδϡʔϧϩʔυ ҆શʢ࣮ߦ࣌ʹܕ͕ݕূ͞ΕΔʣ ҆શͰͳ͍ ϓϩτλΠϓԚછ͕ൃੜͯ͠ ͦͷݕग़͍͠ ྫ֎ʹΑΓ࣍ͷ໋ྩͷ ࣮ߦ੍͕͞ΕΔ ະఆٛಈ࡞͕ ൃੜ͠͏Δ
Ξϓϩʔνɿͳͥ +BWB͔ʁ • ෭࢈తͳԸܙ͕ಘ͍͢ • αʔόଆͱͷ։ൃݴޠͷڞ௨Խ • 4QSJOH#PPUͳͲͱͷ *'ͷڞ༗ •
։ൃݴޠͷଟ༷ੑͷ֬อ • +7.্Ͱಈ͘ݴޠͳΒԿͰ 8FCϑϩϯτΤϯυ։ൃʹ༻ՄೳͱͳΔ • ,PUMJO 4DBMB ʜ • ৽͍͠ϓϩάϥϛϯάύϥμΠϜͷൃੜʜʁ • +BWBͷࢿ࢈ͷ׆༻ • ଟछଟ༷ͳϥΠϒϥϦ͕ͦͷ··ಈ͘ʢ͜ͱ͕ඪʣ ୈ ճ ใՊֶएखͷձ d ,PUMJOͰͷ෦ %4- 4DBMB ͰͷؔܕύϥμΠϜ ✅ ✅ ✅ ະվมʂ
Ξϓϩʔνɿํ • 8FC"TTFNCMZʢ3VTUʣʹΑΔ +7.ͷ࣮ • ωΠςΟϒʹ͍࣮ۙߦ • ωΠςΟϒϝιουΛ௨ͨ͠ 8FC"1* ͷఏڙ
• +BWBଆ͔Βͷ 8FC ։ൃΛαϙʔτ ୈ ճ ใՊֶएखͷձ d ✅ ✅
Ξϓϩʔνɿશମਤ ୈ ճ ใՊֶएखͷձ d +BWB7JSUVBM.BDIJOF ʢ#+7.ʣ +BWB4DSJQU&OHJOF
+BWBΞϓϦέʔγϣϯ +BWBΫϥεϑΝΠϧ ʢ+BSϑΝΠϧʣ 8FCϒϥβ ΤϯδχΞ ։ൃ ։ൃ όοΫΤϯυ ಉҰͷݴޠ͔Β %0.Λѻ͑Δ ࣮ߦ࣌ͷܕݕࠪ +7.্Ͱಈ͘ݴޠͳΒԿͰ ʢ+BWB,PUMJO4DBMB ʜʣ όοΫΤϯυͱڞ௨ͷݴޠͰ ։ൃՄೳʢ૬ޓӡ༻ੑʣ
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
࣮ɿ֓ཁ • +BWBͷ༷ʹ४ڌʢ͢ΔΑ͏ʹ࣮தʣ • ։ൃݴޠ • 3VTU • ʢ5ZQF4DSJQUʣ •
ʢ3FBDUʣ ୈ ճ ใՊֶएखͷձ d ະվมͷ +3&͕ ͦͷ··ಈ͍͍ͯΔ ࣗ࡞ͷσόοΨ্Ͱ +7. ͕ ಈ࡞͍ͯ͠Δ༷ࢠ
࣮ɿωΠςΟϒϝιου • ωΠςΟϒϝιουͷ࣮ߦ • 3VTUͰ࣮͞ΕͨؔΛ୳͠ʹߦ͘ • ͳ͚Εɺ5ZQF4DSJQUͰ࣮͞ΕͨؔΛ୳͢ • 8BTN ⁶
5ZQF4DSJQUͷσʔλͷ૬ޓӡ༻հ • NJOJTFSEF ΫϨʔτͷ׆༻ • 8BTN ڥͰͷ )BTI.BQͷγϦΞϥΠζʹରԠ͍ͯ͠Δ ୈ ճ ใՊֶएखͷձ d TFSEFKTPOXBTN Ͱ )BTI.BQ ͕͑ͳ͍ ྫ͑ )BTI.BQ ΓऔΓͰ͖ͳ͍
࣮ɿϓϩάϥϜͷهड़ྫ ୈ ճ ใՊֶएखͷձ d ඪ४ϥΠϒϥϦ %0. Λಈ࡞͢Δ
ϓϩάϥϜ invokedynamic ໋ྩʹ ະରԠͷͨΊϥϜμ͕ࣜ ॻ͚ͳ͍
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
ࠓޙͷలɿ($ • 8FCͰίʔϧόοΫ͕ؔ POFTIPUͰ ࣮ߦ͞Ε͕ͪ • ͜ͷಛੑΛ׆͔ͯ͠ΑΓܰྔͳ ($ ($ϨεΛ࣮ݱͰ͖ͳ͍͔ʁ •
ྫɿΠϕϯτϦεφͷؔϑϨʔϜʹখ͞ͳώʔϓΛ༻ҙ͠ ͦ͜ʹΦϒδΣΫτΛ֨ೲ͢ΔͳͲ • ͕ɺ֤ΦϒδΣΫτͷϥΠϑλΠϜ͕ෆ໌ͳͷͰϝϞϦͷ֬อઌ͕ ܾఆͰ͖ͳ͍ • ࣮ߦ࣌ͷಈతͳϑϩʔղੳʁ ୈ ճ ใՊֶएखͷձ d
ࠓޙͷలɿϚϧνεϨου • 8FC"TTFNCMZ ্Ͱಈ࡞͢Δݴޠॲཧܥͱͯ͠ɺͲͷΑ͏ʹ ϚϧνεϨουΛ࣮ݱ͢Δ͔ʁ • 3VTUͷ DSBUFʹͤΔʁXBTNNUʁ • ಠࣗͷԾతͳεϨουํࣜʁ
• XBTJUISFBETΛͭʁ ୈ ճ ใՊֶएखͷձ d
͘͡ • എܠ • Ξϓϩʔν • ࣮ • ࠓޙͷల •
݁ɾ·ͱΊ ୈ ճ ใՊֶएखͷձ d
݁ • 8FCϑϩϯτΤϯυ։ൃͰ +BWBͷٕज़Λར༻͢Δͱʜ • ϓϩάϥϜ࣌ʹҙࣝͤͣͱɺࣗવʹಈతͳܕݕ͕࣮ࠪݱͰ͖Δ • ϒϥβ্Ͱ +7.͕ಈ͘͜ͱʹΑͬͯɺ༷ʑͳ +BWBϥΠϒϥϦΛ
ະվมͷ··։ൃʹ༻Ͱ͖Δ • +BWBΛ͡Ίͱͨ͠ +7.্Ͱಈ༷͘ʑͳݴޠΛ։ൃʹར༻Ͱ͖Δ • όοΫΤϯυͱͷ૬ޓӡ༻ੑͷ্ • ݴޠॲཧܥΛ࡞Δͷָ͍͠ʂ • ࣗ࡞ͷॲཧܥ͕ు͍ͨΤϥʔʹౖΒΕΔͷɺؾ͕͍͍࣋ͪ • ײಈͰ͖Δʂ ୈ ճ ใՊֶएखͷձ d
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ୈ ճ ใՊֶएखͷձ d