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
大規模Angularの向こう側
Search
OKUNOKENTARO
December 14, 2017
Technology
2
510
大規模Angularの向こう側
Dec 14, 2017 @ng-sake #10 発表資料
OKUNOKENTARO
December 14, 2017
Tweet
Share
More Decks by OKUNOKENTARO
See All by OKUNOKENTARO
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
5
11k
Podcastを継続する技術 / refactoradio-240119
okunokentaro
1
190
Webアプリケーション設計の第一歩は ディレクトリの整理から / Encraft 1
okunokentaro
34
10k
JSONとJSON Schemaを改めて理解する / tokyo_study
okunokentaro
9
2.4k
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
19
5.6k
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
6
1.8k
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
okunokentaro
5
690
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.4k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1.1k
Other Decks in Technology
See All in Technology
Post-AIコーディング時代のエンジニア生存戦略
shinoyu
0
240
Flutter DevToolsで発見! 本番アプリのパフォーマンス問題と改善の実践
goto_tsl
1
310
探求の技術
azukiazusa1
1
560
Claude Code 10連ガチャ
uhyo
3
650
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
450
LINE公式アカウントの技術スタックと開発の裏側
lycorptech_jp
PRO
0
340
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
8
2.9k
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
6
2.4k
クレジットカードの不正を防止する技術
yutadayo
13
6.1k
ググるより、AIに聞こう - Don’t Google it, ask AI
oikon48
0
820
CodexでもAgent Skillsを使いたい
gotalab555
9
4.3k
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
1
200
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Music & Morning Musume
bryan
46
6.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
YesSQL, Process and Tooling at Scale
rocio
174
15k
What's in a price? How to price your products and services
michaelherold
246
12k
KATA
mclloyd
PRO
32
15k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Transcript
େن"OHVMBSͷ͜͏ଆ %FD !OHTBLF
୭ w !PLVOPLFOUBSP w ͪ͞Μ w גࣜձࣾϐΫηϧάϦ ο υ w
OHKBQBOͷதͷਓ
ຊΛॻ͖·ͨ͠
ࠓΔ w େن"OHVMBSΞϓϦ͕ߋʹେ͖͘ͳΔ࣌ɺ Ͳ͏͢ΕΑ͍͔ w ᠘ͩΒ͚
͜ͷลͷଓ͖Ͱ͢ https://speakerdeck.com/armorik83
େنͷͭΒ͍ͱ͜Ζ w ίʔ υͷॏෳΛͲͷΑ ͏ʹநԽ ɾ ڞ௨Խ͢Δ͔ w େͳϑΝΠϧΛͲ͏ͬͯѻ͏͔ w
ϝϯόʔ͕ଟ͍ϓϩδΣΫ τͰͲ͏࣭ͬͯΛ୲อ͢Δ͔
Ͱͳ͘ ͯ
Ϗϧυ͕͍݅
Ϗϧυͷ͞ w ϑΝΠϧ͕ଟ͍͔Βํͳ͍ ʢສߦʣ w ͱʹ͔͍͘ w ng serveͰͨΓલ
w ng buildͰͨΓલ w $*͑༨༟
ੜ࢈ੑͷԼ w Ϗϧυͷ͞ຊʹόΧʹͳΒͳ͍ w ճ$*Λճ͢ͱࣦ࣌ؒΘΕΔ ʢّʹ͍ͬͯΕɺ ͕ͩʣ w ͤΊͯ։ൃதαΫαΫ͍ͨ͠
ͦ͏ͩϑΝΠϧΛݮΒͦ͏
૯ϑΝΠϧͷݮ w ݱࡏɺ ཁ݅ͷͷఔ͕࣮ྃͰɺ ͢Ͱʹ͜ͷ͞ w ཁ݅Λ΄΅࣮͖͠ΔͰ͋Ζ͏ ϓϩδΣΫ τऴ൫ɺ
ݱࡏΑ Γഒ͕͔͔࣌ؒΔͱ༧ w ͩͬͨΒείʔϓΛখ͞ ͘͢Δ͜ͱͰɺ Ϗϧυ࣌ؒΛ͜ΕҎ্૿͞ͳ͍Α ͏ʹ͠Α ͏
ΞϓϦͷׂ w "OHVMBS$-*ʹෳͷΞϓϦΛཧ͢ΔΈ͕͋Δ w ng serve --app=app-nameͳͲ w લྫΛࢀߟʹ͍ͨ͠
/Y w IUUQTOSXMJPOY w 7JDUPS4BWLJOࢯͷձࣾɺ "OHVMBSͷίϯαϧλϯ τͷձࣾΒ͍͠ w ͜͏͍͏໊લͷπʔϧ͔ͱࢥ͍͖ɺ
ςϯϓϨʔ τूɺ ϊϋूͱࢥͬͨ΄͏͕Α͍ w ෳΞϓϦཧͷϊϋ͕٧·ͬͯΔ
4DIFNBUJDT w "OHVMBS$-*Α Γ#MVFQSJOUTʹΘͬͯಋೖ͞ΕͨςϯϓϨʔ τੜ ͷج൫ w Α ͏͘ಠࣗςϯϓϨʔ τΛੜͰ͖ΔΑ
͏ʹͳͬͨ w schema.json, index.tsΛطଘͷͷΛࢀߟʹෳ͢Ε࡞ΕΔ w ݱࡏӡ༻தɺ ϊϋੵதͳͷͰ·͍ͨͣΕ͠·͢
ΞϓϦׂ͕Ͱ͖ͨ w ͱࢥ͍͔ͨͬͨ
Կ͕μϝ͔ w ࠷ॳ͔ΒΞϓϦׂΛఆ͍ͯ͠ͳ͍ͱɺ ్த͔Βͷׂઃܭ্͔ͳΓͭΒ͍ w ϧʔςΟ ϯά͕େʹͳΔ ʢ-B[ZMPBEJOHͱ4JOHMFUPOͷʣ
w "ΞϓϦ ͱ#ΞϓϦΛಉ࣌ʹىಈͯ͠ϧʔςΟ ϯάΛৼΓ͚͚ͨΕɺ ϧʔςΟ ϯά༻ͷϋϒΞϓϦͷ࡞ඞཁ w ཧίε τ͕ΞϓϦʹ૿͑Δ ʢϏϧυ͕͍͜ͱΑ Γ खؒͳՄೳੑʣ
ͰϏϧυ࣌ؒΛݮΒ͍ͨ͠
ͤΊͯ։ൃத͘ʜ w ͱ͍͏ ͜ͱͰTestBed.configureTestingModule()ʹΑͬͯ ࡞ΒΕΔখنϞδϡʔϧͷඳըͰಈ࡞ݕূͰ͖ͳ͍͔࣮ݧͨ͠ w ͜͏͢Εείʔϓ͕5FTU#FEʹಡΈࠐ·ΕΔґଘؔͷΈʹͳΓɺ ߴϏϧυ͕ՄೳʹͳΔ͔ ʁ
͘ͳͬͨ w ͱࢥ͍͔ͨͬͨ
Կ͕μϝ͔ w "OHVMBS$-*ͷXFCQBDL͕ղ͗ͯ͢ɺ ෦తϏϧυͷΈ͕ ͔ͳΓߏஙͮ͠Β͍ w ng ejectͤͣʹ࣮ݱ͠Α ͏ ͱ͢Δͱݫ͍͠
w ng ejectΛͤͣʹɺ ng ejectͯ͠ಘΒΕͨwebpack.configΛ ϕʔεʹվ͢Δ͜ͱߟ͕͑ͨɺ ࠓޙͷόʔδϣϯΞοϓʹ͍ͭͯߦ͚ͣ ෛ࠴Խ͢Δະདྷ͕ݟ͑ͨ
ଥڠ w "OHVMBS$-*͕ੜ͢Δsrc/test.tsΛෳͯ͠ΠδΔ w const context = require.context()ͷείʔϓΛݶఆ͢Ε ಡΈࠐ·ΕΔϑΝΠϧ͕ݮΒͤΔͣ w
ݱࡏࢼߦࡨޡதʜ w ͍͍Γํ͋Ε୭͔ڭ͑ͯʜ
ͪͳΈʹ
େنͷͭΒ͍ͱ͜Ζճฤ w ίʔ υͷॏෳΛͲͷΑ ͏ʹநԽ ɾ ڞ௨Խ͢Δ͔ ɹˠ%%%ͷֶΛ༝དྷͱͨ͠ϞσϦϯάख๏ͷप w େͳϑΝΠϧΛͲ͏ͬͯѻ͏͔
ɹˠಠࣗ4DIFNBUJDTʹΑΔࣗಈੜ w ϝϯόʔ͕ଟ͍ϓϩδΣΫ τͰͲ͏࣭ͬͯΛ୲อ͢Δ͔ ɹˠ1SFUUJFS༷ສࡀɺ ୭ʹจ۟ݴΘͤͳ͍
Α͍͓Λ