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
明日からできないReactVer1.0
Search
takayukiOchiai
May 16, 2016
Technology
0
120
明日からできないReactVer1.0
takayukiOchiai
May 16, 2016
Tweet
Share
More Decks by takayukiOchiai
See All by takayukiOchiai
Terraform_on_AWS入門.pdf
takayukiochiai
3
510
Other Decks in Technology
See All in Technology
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
370
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
240
Geminiとv0による高速プロトタイピング
shinya337
0
200
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
1
2.1k
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
390
5min GuardDuty Extended Threat Detection EKS
takakuni
0
180
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
6
4.7k
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
110
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
190
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
2.2k
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
250
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
280
Featured
See All Featured
Code Review Best Practice
trishagee
69
18k
Embracing the Ebb and Flow
colly
86
4.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
GitHub's CSS Performance
jonrohan
1031
460k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
How to train your dragon (web standard)
notwaldorf
94
6.1k
Side Projects
sachag
455
42k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Transcript
໌͔ΒͰ͖ͳ͍ 3FBDUKT 3FEVYೖ མ߹ོߦ
ɾ3FBDUKTͷ֓ཁɾϝϦοτ ɾ'MVYͱ3FEVYͷ֓ཁɾϝϦοτ ɾࠓޙڵຯΛ࣋ͬͯࣗशͨ͠Γ͢Δͱ͖ʹඞཁͳશମͷ၆ᛌਤ ࠓ͑Δ͜ͱ ͑ͳ͍͜ͱ ɾ3FBDUKT3FEVYͰͺʔ;͐͘ͱΓͪʔͳΞϓϦΛ࡞Δํ๏
3FBDU
ߦͰΘ͔Δ3FBDU ɾ'BDFCPPL͕ϝΠϯͰ։ൃΛਐΊ͍ͯΔ044 ɾը໘ͷඳըʹؔΘΔ+BWB4DSJQUͷ7JFXϥΠϒϥϦ ɹʢϑϨʔϜϫʔΫͰͳ͍ʂʣ ɾ(PPHMFઌੜ͕୲͍Ͱ͍Δ"OHVMBSͱᘳΛͳ͢ͱࢿྉͷ๛ ͞Ͱɺ࠾༻࣮˕ ɾϥΠϒϥϦͰ͋ͬͯɺϑϨʔϜϫʔΫͰͳ͍ʢେࣄͳ͜ͱͳͷͰSZ
࠾༻ࣄྫ ւ֎ ࠃ ࢀߟʣIUUQTHJUIVCDPNGBDFCPPLSFBDUXJLJ4JUFT6TJOH3FBDU
Ϣʔβʔͷཁٻେઈࢍ૿த ࠷ۙͷϑϩϯτΤϯυ ɾεϚϗͷීٴ ɾΫϥΠΞϯτͷੑೳ্ ɾωΠςΟϒΞϓϦͷීٴ
ɾͬͱϦΞϧλΠϜʹಈ͔͍ͨ͠ ɾωΠςΟϒΞϓϦΑΖ͘͠ϖʔδભҠͰΞχϝʔγϣϯͱ͔͚͍ͭͨʂ ɾͬͱϨεϙϯεૣ͘ʂ ɾͱ͍͏͔Ϧϩʔυ͢Δͨͼʹը໘͕ന͘ͳΔͷϢʔβʔମݧ్ΕΔ ͔ΒϠμ વ8FCΞϓϦͷը໘ଆͷཁٻ૿͑Δ ͜ΕΒͷཁٻ"KBY +BWB4DSJQU +2VFSZ ͰղܾͰ͖Δ
ղܾͰ͖Δ͕ɺอक͕࣮ͯ͘͠ࠔΛۃΊΔ
ϑϩϯτΤϯυΛϦονʹ͢ΔͨΊͷ՝ ɾ+BWB4DSJQU͔Βͷैདྷͷ%0.ૢ࡞͍͠ ɾݟͨͱσʔλ͕Ͱ͖͍ͯͳ͍ ɾσʔλ͕มߋ͞Εͨͱ͖ͷը໘ͷมߋࣗͰॻ͔ͳ͍ͱ ͍͚ͳ͍ ɾ͍ͭͲ͜Ͱ୭͕࣋ͬͯΔσʔλ͕มΘͬͯɺը໘ͷͲ͕͜ มΘΔͷ͔ཧ͖͠Εͯͳ͍
3FBDU͕ࢦ͢ੈք ɾσʔλʢ+40/Ͱอଘʣͱը໘Λදࣔ͢Δ෦ʢίϯϙʔ ωϯτʣΛ໌֬ʹΓ͢ ɾը໘Λඳը͢Δͱ͖ɺࠓͷσʔλͷঢ়ଶ͔Β)5.-ΛΫ ϥΠΞϯτଆͰ࡞ͯ͠දࣔ͢Δ ɾอଘ͞Εͨσʔλ͕ॻ͖͑ΒΕͨͱ͖ɺ·ͣอଘͯ͠ ͍ΔσʔλΛॻ͖͑ͯɺॻ͖͑݁ՌΛͱʹ͏Ұճ৽ ͍͠)5.-Λશ෦࡞Γ͢
อଘ͞Εͨσʔλ͕ॻ͖͑ΒΕͨͱ͖ɺ·ͣอଘ͍ͯ͠ ΔσʔλΛॻ͖͑ͯɺॻ͖͑݁ՌΛͱʹ͏Ұճ৽͠ ͍)5.-Λશ෦࡞Γ͢
Ҿ༻ IUUQCMPHNBTVJESJWFKQSFBDU αʔόʔαΠυੜͱಉ͡ΈΛΫϥΠΞϯτͰ
۩ମతʹͲʔ͢Μͷ͔ʁ
৮ͬͯΈ·͠ΐ͏ ΧϯτΞοϓʂ
4UBUF SFOEFS TFU4UBUF ొਓ
Ԡ༻ͷαϯϓϧʢ͓Εͷͱ͎ʔͲ͎ʔʣ 5PEP-JTU 5PEP 5PEPՃϑΥʔϜ ɾ5PEPΛදࣔͰ͖Δ ɾྃͨ͠5PEPΛऔΓফ͠ઢͰදݱͰ͖Δ ɾ৽͘͠5PEPΛՃͰ͖Δ
)5.-ͷߏΠϝʔδ 5PEP-JTU 5PEP 5PEP'PSN
σʔλͱඳը͢Δ෦Λ දࣔʹ͍ͬͯΔݩσʔλ 3FBDUͰσʔλTUBUF͔QSPQͷͲͪ Β͔ͷঢ়ଶͰཧ͞ΕΔ
σʔλͱඳը͢Δ෦Λ ඳըʹ͍ͬͯΔςϯϓϨʔτ 5PEP 3FBDUͰ͜͏ͨ͠ςϯϓϨʔτΛίϯϙʔωϯτͱ͍͏ ෳͷίϯϙʔωϯτΛ࡞ͬͯผͷίϯϙʔωϯτΛ࡞Δ ͜ͱՄೳ
)5.-ͷߏΠϝʔδ 5PEP-JTU 5PEP 5PEP'PSN ɾTUBUFͷσʔλʢॻ͖͑ΒΕΔσʔλʣ ɾ5PEP-JTUίϯϙʔωϯτ ɾ5PEPίϯϙʔωϯτ ɾ5PEP-JTU͔ΒΒͬͨ5PEPΛදࣔ͢ ΔͨΊʹඞཁͳQSPQͷσʔλʢ͜ͷσʔ λॻ͖͑Ͱ͖ͳ͍ʣ
ɾ5PEP'PSNίϯϙʔωϯτ
5PEP-JTU ɾ5PEPΛ̐ݸ࡞Δ ɾ5PEP-JTU5PEPʹରͯࣗ͠ͷTUBUF ΛQSPQͱͯ͢͠ ɾ5PEP'PSN ɾ࡞ͬͨ5PEPͭΛຒΊࠐΈ ɾ5PEPͭ 5PEP'PSNʹ5PEP-JTU
σʔλͷྲྀΕ 5PEP-JTU 5PEP 5PEP'PSN ɾTUBUFͷσʔλʢॻ͖͑ΒΕΔσʔλʣ ɾ5PEP-JTUίϯϙʔωϯτ ɾ5PEPίϯϙʔωϯτ ɾ5PEP-JTU͔ΒΒͬͨ5PEPΛදࣔ͢ ΔͨΊʹඞཁͳQSPQͷσʔλʢ͜ͷσʔ λॻ͖͑Ͱ͖ͳ͍ʣ
ɾ5PEP'PSNίϯϙʔωϯτ ᶄTUBUF͕มΘͬͨͷͰ ͏ҰσʔλΛ͠ ͢ ᶃ`ೖྗσʔλ ᶃॳظදࣔͷͨΊͷ TUBUFσʔλ ᶃEPOFͷCPPMͷมߋ
ϙΠϯτ ɾσʔλTUBUF͔QSPQͱͯ͠อ͢Δ ɾίϯϙʔωϯτࣗͷ࣋ͬͯΔTUBUF͔QSPQΛͬͯ )5.-Λදࣔ͢Δ ɾίϯϙʔωϯτࢠίϯϙʔωϯτʹࣗͷTUBUF͔QSPQ Λ͢͜ͱ͕Ͱ͖Δ ɾը໘Λॻ͖͍͑ͨͱ͖ɺҰճTUBUFΛॻ͖͑Δඞཁ ͕͋ΔɻQSPQॻ͖͑Δ͜ͱ͕Ͱ͖ͳ͍ʂ
දͰൺΔϑϩϯτΤϯυ खܰ͞ େنɾෳࡶ ރΕ͍ͯΔ͔ +2VFSZ ˕ º ˓ "OHVMBS ˓
˓ ˚ 3FBDU 'MVY ˚ ˕ ˚
3FBDU͓ΘΓ
3FEVY 'MVY
'MVYઃܭࢥɾ3FEVYͦͷ࣮ ΦϒδΣΫτࢦˠ+BWB 3VCZ 1FSM .7$ˠ4QSJOH 3VCZPO3BJMT "OHVMBS 'MVYˠ3FEVY
̐ߦͰΘ͔Δ'MVY ɾσʔλͷྲྀΕΛ̍ํʹ͢Δͷ͕త ɾϓϩάϥϜΛ7JFX "DUJPO %JTQBUDIFS 4UPSFͷ̐ͭͷׂͰׂ ͢Δ ɾ͜ͷ̐ͭΛ0CTFSWFSύλʔϯͰͭͳ͛Δ ɹ
ɾ7JFXˠ"DUJPOˠ%JTQBUDIFSˠ4UPSFˠ7JFX ͋ΔϓϩάϥϜͷ෦ͷঢ়ଶ͕มΘͬͨͱ͖ɺঢ়ଶ͕มΘͬͨ͜ͱΛΒͤΔͨΊͷςΫχοΫɻ ɹΦϒδΣΫτࢦϓϩάϥϛϯάͷσβΠϯύλʔϯͷҰछ
ͭ·Γɺ'MVYͱ0CFTFSWFS ύλʔϯͩͬͨΜͩΑʂʂʂ 'BDFCPPL͕ͬͨͷɺ0CTFSWFSύλʔϯΛ࿈ͤ͞Δઃܭʹ 'MVYͱ໊͚ͯΈΛͭͬͨ͘͜ͱ ࢀߟ IUUQJOTJEFQJYJWOFUFOUSZ
ϑϩϯτΤϯυΛϦονʹ͢ΔͨΊͷ՝ ɾ+BWB4DSJQU͔Βͷैདྷͷ%0.ૢ࡞͍͠ ɹ ɾݟͨͱσʔλ͕Ͱ͖͍ͯͳ͍ ɾσʔλ͕มߋ͞Εͨͱ͖ͷը໘ͷมߋࣗͰॻ͔ͳ͍ͱ ͍͚ͳ͍ ɾ͍ͭͲ͜Ͱ୭͕࣋ͬͯΔσʔλ͕มΘͬͯɺը໘ͷͲ͕͜ มΘΔͷ͔ཧ͖͠Εͯͳ͍ ͓͞Β͍
ϑϩϯτΤϯυΛϦονʹ͢ΔͨΊͷ՝ ɾ+BWB4DSJQU͔Βͷैདྷͷ%0.ૢ࡞͍͠ ɹˠ%0.ૢ࡞ͷ෦3FBDUKT͕ͬͯ͘ΕΔ ɾݟͨͱσʔλ͕Ͱ͖͍ͯͳ͍ ɹˠσʔλ+40/ͱͯ͠อ࣋ɾڙڅ͞ΕΔ ɾσʔλ͕มߋ͞Εͨͱ͖ͷը໘ͷมߋࣗͰॻ͔ͳ͍ͱ ͍͚ͳ͍ ɹˠσʔλ͕มΘΔͱ3FBDU͕উखʹSFOEFSϝιουΛݺ ΜͰ࠶ඳըͯ͘͠ΕΔ ɾ͍ͭͲ͜Ͱ୭͕࣋ͬͯΔσʔλ͕มΘͬͯɺը໘ͷͲ͕͜
มΘΔͷ͔ཧ͖͠Εͯͳ͍ ɹˠͦͦ3FBDUϏϡʔϥΠϒϥϦͳͷͰ֎ ͓͞Β͍
Ҿ༻ IUUQCMPHNBTVJESJWFKQSFBDU αʔόʔαΠυੜͱಉ͡ΈΛΫϥΠΞϯτͰ ঢ়ଶཧΫϥΠΞϯτͰ
ɾ5PEPͷ༰ɺྃঢ়ଶ ɾ5PEPͷදࣔ݅ʢશ෦ɺະྃɺྃʣ ɾͲͷϖʔδΛݟ͍ͯΔ͔ʢද͍ࣔͯ͠Δϖʔδͱ63- ɾ5PEPೖྗίϯϙʔωϯτ͕։͍͍ͯΔ͔ด͍ͯ͡Δ͔ ɾ5PEPೖྗϑΥʔϜʹೖ͍ͬͯΔσʔλͷ༰ ɾͲͷΞχϝʔγϣϯΛͬͯભҠ͢Δ͔ ۩ମྫ ࠓճ41"Ͱ࡞ͬͨ5PEPΞϓϦ͕ཧ͠ͳ͚Ε ͳΒͳ͍ը໘ଆͷঢ়ଶ
୯७ͳΞϓϦͰɺཧ͠ͳ͚ΕͳΒͳ͍ঢ়ଶͨ͘͞Μɻ
ͳͥ'MVY͕ඞཁͩͬͨͷ͔ʁ ɾ'BDFCPPLίʔυ͕Ͱ͔͘ͳΓ͗ͨ͢ ɾ̍ߦ͢ͱͭόάΔϋϧͷಈ͕͘Ͱ͖͕͍͋ͬͯͨ ʢΒ͍͠ʣ ɾ͔͠Ͳͷίʔυ͕Ͳ͏͍͏ॱংͰঢ়ଶը໘Λॻ͖͑ ͍ͯΔͷ͔Θ͔Βͳ͍͜ͱ͕ݪҼ ࢀߟ IUUQTNFEJVNDPN!TPUBZBNBTIJUB&#$"#&##&"&"""$ &&&&#qVYBFCNMREIULH
ํʹσʔλͷΓऔΓ͕ ͋Δ͔ΒΘ͔Γʹ͍͘
σʔλͷྲྀΕΛҰํʹͪ͠Ό͑Ͳ͜ ͰԿΛॻ͖͔͑ͨΘ͔Γ͍͢͠τϨʔ ε͍͢͠ΑͶʂ
֤෦ͷׂ୲ ɾ7JFXɹˠɹ͞ΕΔσʔλʹج͍ͮͯը໘Λඳը 3FBDUKT͕୲ʣ ɹɹɹɹɹɹɹ4UPSFͷมԽΛMJTUFO͍ͯ͠Δɻ ɾ"DUJPOˠɹΞϓϦέʔγϣϯͷঢ়ଶͷมߋը໘ͷมߋ࣌ʹൃՐ͢ΔΠϕϯτɹɹ ɹɹɹɹɹɹɹͱͲΜͳมߋ͕ى͖Δ͔ͷ༰ ɾ%JTQBUDIFSˠɹ"DUJPO͕ൃߦ͞Ε͔ͨΛ4UPSFʹ͑Δɻ ɹɹɹɹɹɹɹɹɹͲͷ4UPSFʹ͑Δ͖͔%JTQBUDIFS͕͍ͬͯΔɻ ɾ4UPSFˠσʔλঢ়ଶͷอॴɻ%JTQBUIFS͔ΒσʔλΛड͚औΔͱɺ ɹɹɹɹɹࣗͷσʔλΛॻ͖͑ͯɺ7JFXʹʮσʔλ͕มΘ͔ͬͨΒ
ɹɹɹɹɹ࠶औಘͯ͠࠶ඳըΦφγϟεʯ͢Δ
.7$ͱ'MVYͷͬ͘͟Γൺֱ ը໘ ϦΫΤετ Ϩεϙϯε Ϟσϧɾ%# ίϯτϩʔϥʔ 7JFX "DUJPO %JTQBUDIFS 4UPSF
"DUJPO αʔόʔαΠυ SFOEFS ඞཁͩͬͨΒ͜͜Ͱαʔόʔ௨৴
7JFX͞ΜɿʮΧʔτՃ͍ͨ͠ΜͰ"DUJPOൃߦ͠·͢ʯ %JTQBUDIFS͞ΜɿʮΧʔτՃ͍ͨͬͯ͠"DUJPOདྷͨΜ ͰɺՃ༰Λ৽͘͠ΧʔτσʔλͷอݿʹՃͯͩ͘͠ ͍͞ʯ Χʔτ୲ͷ4UPSF͞ΜɿʮݴΘΕͨ௨ΓΧʔτσʔλΛ Ճ͔ͨ͠Βɺ7JFX͞ΜσʔλΛऔͬͯ࠶ඳըͯͩ͘͠͞ ͍ʯ ͬͱ؆୯ʹ͓ئ͍͠·͢
3FEVYͱ ɾ'MVYͷߟ͑ํΛ࣮ͨ͠ϑϨʔϜϫʔΫͰ͢ ɾ'MVY࣮ͷதͰຊՈ'BDFCPPLͷͷΛൈ͍ͯݱࡏҰ൪ਓؾ ɾొਓ"DUJPO 3FEVDFS 4UPSF 7JFX ɾ%JTQBUDIFSΦϒδΣΫτ͔Βͨͩͷϝιουʹ֨Լ͛ ɾ"DUJPOશͯ3FEVDFS͕ड͚औΔɻड͚औͬͨ༰Λղऍ͠ ͯ4UPSFΛߋ৽͢Δͷ͕3FEVDFSͷࣄ
ࢀߟʣIUUQTEFWFMPQFSTFVSFKQUFDISFEVY@GFBUVSF
3FEVYσʔλͷྲྀΕҰํ ɾ7JFX͕ΠϕϯτʹԠͯ͡"DUJPOΛ࡞ΔΑ ɾEJTQBUDIϝιουͰ3FEVDFSʹ"DUJPOͷൃߦΛΒͤΔΑ ɾ3FEVDFSड͚औͬͨ"DUJPOΛͱʹ4UPSFͷঢ়ଶΛม͑ΔΑ ɾ4UPSFมߋ͕͋ͬͨΒ7*FXʹมߋΛ͑ΔΑ Ҿ༻ IUUQTTQFBLFSEFDLDPNBYSPTTJOUSPEVDUJPOUPSFEVY
࣮ࡍʹಈ͔ͯ͠Έ·͢
࣮ࡍͬͯΈͯײͨ͡ϝϦοτ ɾͲ͜Ͱೖྗ͕ى͖ͨΒ࣍Ͳ͜ʹσʔλ͕ྲྀΕΔ͔ܾ·ͬ ͍ͯΔͷͰɺͷೝࣝΓָ͚͕ ɾ'MVYͱ͍͏ΈͷதͰɺͲ͜ʹͲΜͳॲཧΛॻ͖͔͘ ͕ཧ͞Ε͍ͯΔͨΊɺ͋Μ··ͳͯ͘ࡁΉ
࣮ࡍͬͯΈͯײͨ͡σϝϦοτ ɾॻ͍͍ͯΔͱͬͺΓʹͳΔέʔε͕͋Δʢίϯϙʔω ϯτͷ͋Δ෦ͷදࣔඇදࣔͷτάϧॲཧΛॻͨ͘Ίʹ'MVYΛ Ұपॻ͘ͷΩπΠʣ ɾXBZCJOEJOHͷ΄͏͕ॻ͘ίʔυগͳͯ͘ࡁΉ ɾ+4ͷߥ͔ΒඞཁͰϝϯς͞ΕͯͯϝδϟʔͳϥΠϒϥϦΛ ࣗͰબఆ͠ͳ͍ͱ͍͚ͳ͍
3FBDU 'MVY͕͍͍ͯΔͷ ɾେنͳ41"ͷ࡞ ɹ ɾը໘ଆͷ͋ΒΏΔͱ͜ΖͰΠϕϯτ͕ൃੜ͢ΔΞϓϦ ɾϦΞϧλΠϜʹαʔόʔͱΓͱΓͯͦ͠ͷ݁ՌΛදࣔ͢ ΔΑ͏ͳΞϓϦ ཁ͢Δʹେ͖ͯ͘ෳࡶͳϑϩϯτΤϯυػೳΛ ࣋ͬͨΞϓϦΛഁͳ͘࡞Δ͜ͱʹ͍͍ͯΔ
࣭λΠϜ .BUFSJBM%FTJHOͱ͔$44.PEVMFͱ͔σβΠϯ࣮ؔ࿈ͷͲ͏ͧ
࠷ޙʹ
ϑϩϯτΤϯυઓࠃ࣌
ٕज़ͷมԽ͕ੌ͘ૣ͍̍͠ લʹྲྀߦٕͬͨज़͕ഇΕͯΔ ͳΜͯ͜ͱ͋Δ
Ͱɺͦͷྺ࢙ܨ͕͍ͬͯ Δ͠ɺߟ͑ํ͕ࣺͨͩͨͩͯ ΒΕ͍ͯΔΘ͚Ͱͳ͍͠ɺ ݱࡏʹӨڹΛ༩͍͑ͯΔ
ͦͷٕज़͕ͳͥग़དྷͨͷ͔ɺԿ Λղܾ͢Δͷ͔ਖ਼͘͠ཧղͨ͠ ্Ͱɺࠓඞཁͳٕज़ΛબͰ͖ Δͱ͍͍Ͱ͢Ͷʂ