Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
大規模Angularの向こう側
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
OKUNOKENTARO
December 14, 2017
Technology
540
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
大規模Angularの向こう側
Dec 14, 2017 @ng-sake #10 発表資料
OKUNOKENTARO
December 14, 2017
More Decks by OKUNOKENTARO
See All by OKUNOKENTARO
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
5
12k
Podcastを継続する技術 / refactoradio-240119
okunokentaro
1
240
Webアプリケーション設計の第一歩は ディレクトリの整理から / Encraft 1
okunokentaro
33
11k
JSONとJSON Schemaを改めて理解する / tokyo_study
okunokentaro
9
2.5k
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
19
5.7k
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
6
1.8k
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
okunokentaro
5
730
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.6k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1.1k
Other Decks in Technology
See All in Technology
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
Local CI × GitHub Actions
gogutan
2
190
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
730
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
330
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.2k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
Building the Perfect Custom Keyboard
takai
2
910
ラッコキーワード サービス紹介資料
rakko
1
5.3M
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
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༷ສࡀɺ ୭ʹจ۟ݴΘͤͳ͍
Α͍͓Λ