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を使ったmodern開発_20180831
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takayuki
September 01, 2018
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Angularを使ったmodern開発_20180831
※この発表内容は少し古い情報も含まれます。
Takayuki
September 01, 2018
More Decks by Takayuki
See All by Takayuki
Build an MCP Server in Laravel to Enable “AI-Operated” Recruiting Tools(English)
bumptakayuki
0
49
Laravel Applications with DDD x Clean Architecture x Vibe Coding
bumptakayuki
1
130
Laravel × Clean Architecture
bumptakayuki
1
600
エンジニアのキャリア論
bumptakayuki
1
300
地方カンファレンス主催のススメ
bumptakayuki
1
280
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.4k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
830
沖縄観光、名物を一挙紹介!
bumptakayuki
2
830
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
3.5k
Other Decks in Technology
See All in Technology
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
150
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
110
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
270
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
140
My broken English still works: speaking at global OSS events
naruoga
0
110
Model Studio CLI × Token Plan
maigo999
0
190
モダンフロントエンド 開発研修
recruitengineers
PRO
4
730
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
130
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
320
MIRU 2026 チュートリアル
keisuke198619
0
970
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
170
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
470
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Documentation Writing (for coders)
carmenintech
77
5.5k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
450
GraphQLとの向き合い方2022年版
quramy
50
15k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
Designing for Performance
lara
611
70k
Writing Fast Ruby
sferik
630
63k
Transcript
Angularを使ったmodern開ൃ 鈴木孝之 2018/08/31
"KFOEB ࣗݾհ "OHVMBSͷ֓ཁ "OHVMBSͷϝϦοτɾಛ %&.0
0.ࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ※ಉಉ໊ଟͯ͘ࠔͬͯ·͢ɻɻɻ ◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ2017ʹಠཱɻ
ɾݱࡏɺϑϦʔϥϯεͰϊϚυϫʔΧʔΛΓͭͭɺ ىۀʹ͚ͨۀܥͷWebαʔϏεΛ։ൃதɻ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺٿ؍ઓ ◆εΩϧ PHP,Symfony2,CakePHP3,JavaScript,backbone.js,Angular.js,Java
Copyright Re:Build.inc All Rights Reserved. ձࣾհ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝԭೄࢢதԝ̍ஸ̍̒−̕
◆ࣄۀ༰ ɾۀʹ͓͍ͯͷϑʔυϩεΛແ͘͢ ࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 4໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪͯ͠·͢ʂ
1.Angular4ͷ֓ཁ ɾAngular4ɺGoogle͕։ൃΛओಋ͢ΔʮϞμϯWebʯͷͨΊͷΞ ϓϦέʔγϣϯ։ൃϑϨʔϜϫʔΫɻ ɾAngularJSͱݺΕ͍ͯͨόʔδϣϯ1ʢAngularJS 1ʣ͔Βɺόʔ δϣϯ2Ͱେ͖͘มߋ͞ΕͯɺҎ߱AngularͱݺΕ͍ͯ·͢ɻ ɾ20173݄ʹϦϦʔεɻAngularࠓޙɺ͓͓ΉͶ6Χ݄͝ͱͷϝ δϟʔΞοϓσʔτ༧ఆ͕Ξφϯε͞Ε͍ͯΔɻ ࠓޙ֤όʔδϣϯɺҎલͷϦϦʔεͱԼҐޓੑ͕͋Δͱଋ͞ Ε͍ͯ·͢ɻ
ɾv4ظαϙʔτରɺ201810݄·Ͱ1ɻ(LTS) v4Angular͕ఏڙ͢Δ࠷ॳͷLTSͱͳΔ ɾAngular1ܥͱ΄΅ผɻɻ
ݬͷόʔδϣϯ3 ɾόʔδϣϯ3Λඈͨ͠ཧ༝@angular/routerͷӨڹɻ ͜ͷύοέʔδ͚ͩطʹόʔδϣϯ3.3·Ͱ্͕͍ͬͯͯɺ ࠞཚ͕ى͖ͦ͏ͩͬͨͷͰangularࣗମͷόʔδϣϯΛ4ʹ ͋͛ͨɻ
Angular5γϯϓϧԽͱ εϐʔυʹྗ༧ఆ ᶃAngularΞϓϦέʔγϣϯͷίϯύΠϧΛΑΓ γϯϓϧʹ͢ΔɻJITίϯύΠϥ͚ͩͰͳ͘AHTί ϯύΠϥʢA head of timeɿࣄલίϯύΠϥʣΛ ࠾༻͕ͨ͠ɺ͜ͷ2͕ͭ͋Δͱࠞཚ͢Δ͜ͱ͋ ΔɻࠓޙAHTίϯύΠϥΛσϑΥϧτʹ͢Δ͜
ͱͰϏϧυͷखॱΛҰຊԽ͠ɺ༨ܭͳ࡞ۀΛݮΒ ͍ͯͭ͘͠Γͩɻ ᶄεϐʔυͱαΠζͷྗɻMaterialIonicΛ ར༻ͨ͠ͱ͖ͳͲͰ࠷దʹѻ͑ΔΑ͏ʹ͢Δɻ
ֶशίετߴ͍ ֶशίετ͍ ॏྔͰϑϧελοΫ ܰྔͰ൚༻ੑ͋Γ ֤ϑϨʔϜϫʔΫͷൺֱ
ʙੈքతͳτϨϯυʙ 1.Angularͷ֓ཁ
ʙσΟϨΫτϦߏʙ 1.Angularͷ֓ཁ ɾcomponent UIͷ෦ͳͲɻ͜ͷޙͷεϥΠυͰઆ໌ɻ ɾconstant ఆͳͲͷఆٛΛ·ͱΊΔɻ ɾdirective HTMLΛแ͢ΔΑ͏ͳͷɻ jQueryͱͷڝ߹ͳͲΛ͛Δɻ ɾentity
ͷड͚͠Λߦ͏ΦϒδΣΫτJavaͰ͍͏DTOEntityΈ͍ͨͳͷɻ ɾservice αʔόαΠυͱͷAjax௨৴Λߦ͏ɻ ɾutil ڞ௨Ͱ͏Α͏ͳॲཧΛ·ͱΊΔɻ
ʙ֤σΟϨΫτϦͷׂ(PHPͱjsͷWebΞϓϦέʔγϣϯ)ʙ WebΞϓϦέʔγϣϯͰAjax௨৴͢ΔࡍͷॲཧͷྲྀΕ ϑϩϯταΠυ αʔόαΠυ Component HTML CSS TypeScript Service Entity
Util Directive Ajax௨৴ Entity Cons tant ඞཁʹԠͯ͡͏ ඞཁʹԠͯ͡͏
ɾUIͷ෦ΛComponent ͱׂ͍ͯͯ͘͜͠͠ͱ ͰɺෳࡶͳΞϓϦΑΓ ݟ௨͠ͷΑ͘ɺอक͠ ͍͢ίʔυʹ͢Δ͜ͱ͕ Ͱ͖Δɻ ɾ੩తܕ͚͕Ͱ͖Δɻ ɾJavaΈ͍ͨʹॻ͚Δɻ ɾอकੑ͕ߴ·Δ ɾ෦ԽΛਐΊΔͱ໘ʹͳͬ
ͯ͘ΔґଘΫϥεͷཧΛ༰ қʹ͢Δɻ ίϯϙʔωϯτࢤ ґଘੑͷೖ 2.ϝϦοτɾಛ TypeScript͕ਪ͞ΕͯΔ 1 3 2 ʙϝϦοτʙ
Collection 2.ϝϦοτɾಛ ʙίϯϙʔωϯτࢤʙ ίϯϙʔωϯτ1 HTML CSS TypeScript ίϯϙʔωϯτ2 HTML CSS
TypeScript ίϯϙʔωϯτ3 HTML CSS TypeScript
2.ϝϦοτɾಛ ʙίϯϙʔωϯτࢤʙ ίϯϙʔωϯτ ίϯϙʔωϯτ ίϯϙʔωϯτ ίϯϙʔωϯτ ίϯϙʔωϯτ ίϯϙʔωϯτ ίϯϙʔωϯτ
MainComponent SummaryComponent GraphComponent ListComponent 2.ϝϦοτɾಛ ʙίϯϙʔωϯτࢤʙ
䡧ಠࣗ ɾܕऍʢมɺҾɺΓͳͲͷܕએݴʣͱ ίϯύΠϧ࣌ͷܕνΣοΫ ɾܕਪ, ܕΨʔυ - ifจͷ instanceof ͳͲΛར༻ ͨ͠ܕਪ
ɾΠϯλʔϑΣΠε ɾྻڍܕ FOVN ɾMixin ɾδΣωϦοΫ ɾ໊લۭؒ ɾλϓϧ ɾڞ༻ମܕ ɾܕΤΠϦΞε 2.ϝϦοτɾಛ ʙTypeScriptʙ
2.ϝϦοτɾಛ TypeScriptΛಋೖͨ͠ํ͕ྑ͍έʔε ιʔείʔυ͕େͰ ͋Δ߹ɺ·ͨෳͷ ਓ͕ϓϩδΣΫτʹै ࣄ͍ͯ͠Δ߹ɺܕγ εςϜ໌Β͔ͳΤϥʔ Λ͙ͷʹཱͪ·͢ɻ 1 νʔϜϝϯόC#
JavaͷΑ͏ͳڧ͍ܕ͖ ݴޠͷόοΫάϥϯυ Λ࣋ͪɺJavaScriptΛͱ ͜ͱΜֶͿؾͳ͍ͱ͍ ͏߹ɺTS͍͍ସ ҊͩͱࢥΘΕ·͢ɻ 2 Angular ࣗମ͕ TypeScript Ͱ هड़͞Ε͓ͯΓɺϓϩμΫγϣ ϯίʔυͷهड़ TypeScript ͕ਪ͞Ε͍ͯΔɻ 3 ίʔυαΠζ ϝϯόʔͷաڈͷܦݧ AngularΛ͏߹
2.ϝϦοτɾಛ ʙґଘੑͷೖ(DI)ʙ ίϯϙʔωϯτ HTML CSS TypeScript ґଘΫϥεͷ Πϯελϯε ґଘΫϥεͷ Πϯελϯε
ґଘΫϥεͷ Πϯελϯε DI DI DI ɾॳΊͯݺͼग़͞Εͨ࣌ʹ ΫϥεͷΠϯελϯεԽΛߦ͏ɻ ɾίϯϙʔωϯτͷੜɾഁغͷ αΠΫϧʹؔΘΒͣΠϯελϯεΛ อ࣋͢Δɻ ɾґଘੑͷೖΛߦ͏͜ͱͰ ΠϯελϯεԽʹ͕͔͔࣌ؒΔͷΛ ճආ͠ɺύϑΥʔϚϯεΛ ্͛ΒΕΔɻ
Componentͷςετશମߏ ϑϩϯταΠυ αʔόαΠυ Component HTML CSS TypeScript Service Entity Util
Ajax௨৴ Cons tant Base Service http Service ܧঝ DI Service Mock DI ຌྫ ࣮ࡍͷιʔε Mockͷιʔε ·ͨ ͳͲ
ʙDSPͱʙ AD SSP DSP1 DSP3 DSP2 ϝσΟΞ RTB CPMΦʔΫγϣϯ DSP1
80ԁ DSP2 110ԁ DSP3 100ԁ ᶃΠϯϓϨογϣϯൃੜ ᶄDSPೖࡳϦΫΤετ ᶅDSP͕݅ʹԊͬͯೖࡳ ᶆΦʔΫγϣϯ։࠵ ᶇࠂ৴
ʙAdMatrixDSPͰߦ͍ͬͯΔࣄʙ AD SSP AdMatrix DSP ϝσΟΞ CPMΦʔΫγϣϯ DSP1 80ԁ DSP2
110ԁ DSP3 100ԁ ᶃΠϯϓϨογϣϯൃੜ ᶄDSPೖࡳϦΫΤετ ᶅDSP͕݅ʹԊͬͯೖࡳ ᶆΦʔΫγϣϯ։࠵ ᶇࠂ৴ 䡧ཧը໘Ͱओʹߦ͏ૢ࡞ ɾେྔͷࠂϨϙʔτͷ֬ೝ ɾࠂͷ࡞ɾฤू ɾ৴ϢʔβͷλʔήςΟϯά ͳͲ RTB
ɾେྔͷσʔλΛѻ͏ɻ ɾϨϙʔτσʔλͷάϥϑԽɻ ɾϞʔμϧͷىಈɾ̎ॏىಈɻ ɾ༧ࢉͳͲΛදࣔ͢ΔҝɺͷදهͰ όά͕ग़Δͱக໋తɻ ɾւ֎ల։͍ͯ͠Δձࣾͷ߹ɺଟݴޠରԠɻ ࠂཧը໘ͷಛ
WWW.SITE2MAX.PRO Free PowerPoint & KeyNote Templates 3 DEMO TwitterใΛੳ͢Δ Twitter
Analysis Twitter Analysis
ʙ༻͍ͯ͠Δٕज़ʙ ϑϩϯταΠυ αʔόαΠυ ϏϧυɾλεΫཧ ɾऔಘσʔλͷՃ 3 DEMO API