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
AngularDart
Search
yujikawa
January 23, 2019
Programming
320
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AngularDart
yujikawa
January 23, 2019
More Decks by yujikawa
See All by yujikawa
Tauriでデスクトップアプリを作る with ChatGPT
yujikawa
0
160
データ品質について考えてみた
yujikawa
0
300
大問題を解決する
yujikawa
1
190
Airflowの話/about airflow
yujikawa
0
260
FastAPIに入門してみた/fastAPI
yujikawa
0
610
Jupyterでダッシュボードを簡単に作る!
yujikawa
2
980
私がUXの大切さを知った瞬間/uxjam_kitaq_1
yujikawa
0
100
Introduce Flutter
yujikawa
0
410
グロースハック完全読本を読んでみた
yujikawa
0
640
Other Decks in Programming
See All in Programming
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
Agents on Rails - Rails at Scale 2026
irinanazarova
0
150
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
2.7k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
650
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
230
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
560
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
180
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.2k
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
150
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
340
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.1k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
350
Featured
See All Featured
Leo the Paperboy
mayatellez
10
2.3k
First, design no harm
axbom
PRO
2
1.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
580
The Cult of Friendly URLs
andyhume
79
7k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
340
How STYLIGHT went responsive
nonsquared
100
6.3k
Believing is Seeing
oripsolob
1
220
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Transcript
"OHVMBS%BSUʹೖͯ͠Έͨ GVLVPLBEBSU Ώ͔͡Θ!ZVKJLBXB@MFF
*O<>໊લ c্༞࢘ Ώ͔͡Θ *O<>ॴଐ cΧϥϏφςΫϊϩδʔ *O<>৬छʢࣗশʣ cݟश͍άϩʔεϋοΧʔ *O<>ීஈͷ͓ࣄ c8FCΞϓϦ։ൃ
*O<>ඪ cάϩʔεϋοΧʔʹͳΓ͍ͨ ࣗݾհ ZVKJLBXBMFF ZVKJLBXB@MFF
"OHVMBS%BSU IUUQTXFCEFWEBSUMBOHPSHBOHVMBS "OHVMBSͷ%BSUόʔδϣϯɺຊՈ"OHVMBSͱϓϩδΣΫτ͕ผΒ͍͠ ݱࡏͷW̑ʢʣ
Πϯετʔϧ dCSFXUBQEBSUMBOHEBSU dCSFXJOTUBMMEBSU dQVCHMPCBMBDUJWBUFBOHVMBS@DMJ dQVCHMPCBMBDUJWBUFXFCEFW ˞.BDͰͷ։ൃखॱΛॻ͍ͯ·͢
ϓϩδΣΫτ࡞ OHEBSUOFXRVJDLTUBSU ʲ࣮ߦ݁Ռʳ dOHEBSUOFXRVJDLTUBSU */'04BWJOHRVJDLTUBSUXFCJOEFYIUNM */'04BWJOHRVJDLTUBSUXFCNBJOEBSU */'04BWJOHRVJDLTUBSUXFCTUZMFTDTT */'04BWJOHRVJDLTUBSUBOBMZTJT@PQUJPOTZBNM */'04BWJOHRVJDLTUBSUHJUJHOPSF */'04BWJOHRVJDLTUBSUQVCTQFDZBNM
*/'04BWJOHRVJDLTUBSUMJCBQQ@DPNQPOFOUEBSU */'04BWJOHRVJDLTUBSUMJCBQQ@DPNQPOFOUIUNM ࢥͬͨҎ্ʹग़ྗ͞ΕΔͷ͕গͳ͍
ϑΥϧμߏ RVJDLTUBSU ᵓᴷᴷBOBMZTJT@PQUJPOTZBNM ᵓᴷᴷMJC ᴹᵓᴷᴷBQQ@DPNQPOFOUEBSU ᴹᵋᴷᴷBQQ@DPNQPOFOUIUNM ᵓᴷᴷQVCTQFDMPDL ᵓᴷᴷQVCTQFDZBNM ᵋᴷᴷXFC ᵓᴷᴷJOEFYIUNM
ᵓᴷᴷNBJOEBSU ᵋᴷᴷTUZMFTDTT
OHEBSUίϚϯυΛݟͯΈΔ dOHEBSUI /HEBSUJTBDPNNBOEMJOFJOUFSGBDFGPS"OHVMBS%BSU 6TBHFOHEBSUDPNNBOE<BSHVNFOUT> (MPCBMPQUJPOT I IFMQ1SJOUUIJTVTBHFJOGPSNBUJPO W <OP>WFSCPTF0VUQVUFYUSBMPHHJOHJOGPSNBUJPO "WBJMBCMFDPNNBOET
HFOFSBUF(FOFSBUFDPNQPOFOUPSUFTU IFMQ%JTQMBZIFMQJOGPSNBUJPOGPSOHEBSU OFX$SFBUFBO"OHVMBS%BSUQSPKFDU 3VOOHEBSUIFMQDPNNBOEGPSNPSFJOGPSNBUJPOBCPVUBDPNNBOE
OHEBSUίϚϯυΛݟͯΈΔ dOHEBSUHFOFSBUFI (FOFSBUFDPNQPOFOUPSUFTU 6TBHFOHEBSUHFOFSBUFTVCDPNNBOE I IFMQ1SJOUUIJTVTBHFJOGPSNBUJPO "WBJMBCMFTVCDPNNBOET DPNQPOFOU(FOFSBUF"OHVMBS%BSUDPNQPOFOU EJSFDUJWF(FOFSBUF"OHVMBS%BSUEJSFDUJWF QJQF(FOFSBUF"OHVMBS%BSUQJQF
UFTU(FOFSBUF"OHVMBS%BSUDPNQPOFOUUFTU UIJTDPNNBOE TIPVMECFSVOVOEFSSPPUEJSFDUPSZPGUIFQSPKFDU 3VOOHEBSUIFMQUPTFFHMPCBMPQUJPOT
࣮ࡍʹ্ཱͪ͛ͯΈΔ ϓϩδΣΫτ࡞ dDERVJDLTUBSU dQVCHFU dXFCEFWTFSWF ฤूͨ͠ΒͪΌΜͱϗοτϦϩʔυͯ͘͠Ε·͢
None
7FSZTJNQMF
OH.PEFMΛ͏ "OHVMBSͷόΠϯσΟϯάʹ͏OH.PEFMΛ͏ͨΊʹ BOHVMBS@GPSNTͱ͍͏ϥΠϒϥϦʔΛՃ͢Δඞཁ͕͋Δ dependencies: angular: ^5.0.0-beta+2 angular_forms: ^2.0.0 QVCTQFDZNM
OH.PEFMΛ͏ EJSFDUJWFTϓϩύςΟʹGPSN%JSFWUJWFTΛՃ͢Δɺ͜ΕͰ ͑ΔΑ͏ʹͳΔɻ import 'package:angular/angular.dart'; import 'package:angular_forms/angular_forms.dart'; import './hero.dart'; @Component(
selector: 'app-component', templateUrl: 'app_component.html', directives: [formDirectives] ) class AppComponent { final String title = 'Tour of Hero'; Hero hero = Hero(1, 'Windstorm'); } BQQ@DPNQPOFOUEBSU IUUQTXFCEFWEBSUMBOHPSHBQJBOHVMBS@GPSNTBOHVMBS@GPSNTGPSN%JSFDUJWFTDPOTUBOU
OH.PEFMΛ͏ IUNMʹόΠϯσΟϯά͍ͨ͠มΛબ͢Δ <h1>{{title}}</h1> <h2>{{hero.name}}</h2> <div><label>id: </label>{{hero.id}}</div> <div><label>name: </label>{{hero.name}}</div> <div> <label>name:
</label> <input [(ngModel)]="hero.name" placeholder="name"> </div> BQQ@DPNQPOFOUIUNM
݁Ռ
OH*GOH'PSΛ͏ EJSFDUJWFTϓϩύςΟʹDPSF%JSFDUJWFTΛՃ͢Δɺ͜ΕͰ ͑ΔΑ͏ʹͳΔɻ import 'package:angular/angular.dart'; import 'package:angular_forms/angular_forms.dart'; import './hero.dart'; @Component(
selector: 'app-component', templateUrl: 'app_component.html', directives: [coreDirectives, formDirectives] ) class AppComponent { final String title = 'Tour of Hero'; Hero hero = Hero(1, 'Windstorm'); } BQQ@DPNQPOFOUEBSU IUUQTXFCEFWEBSUMBOHPSHBQJBOHVMBSBOHVMBSDPSF%JSFDUJWFTDPOTUBOU
OH*GOH'PSΛ͏ OH'PSOH*GΛςϯϓϨʔτʹՃ͠·͢ɻ͜ͷลͷॻ͖ํ ຊՈ"OHVMBSͱಉͩͬͨ͡ <h1>{{title}}</h1> <h2>Heroes</h2> <ul class="heroes"> <li *ngFor="let hero
of heroes" (click)="onSelect(hero)" [class.selected] = "hero === selected"> <span class="badge">{{hero.id}}</span> {{hero.name}} </li> </ul> <div *ngIf="selected != null"> <h2>{{selected.name}}</h2> <div><label>id: </label>{{selected.id}}</div> <div> <label>name: </label> <input [(ngModel)]="selected.name" placeholder="name"> </div> </div> BQQ@DPNQPOFOUIUNM
৽͍͠ίϯϙʔωϯτΛ࡞ OHEBSUHFOFSBUFDPNQPOFOUQ\1BUI^\/BNF^ dOHEBSUHFOFSBUFDPNQPOFOUQMJCTSDIFSP@DPNQPOFOU */'04BWJOHMJCTSDIFSP@DPNQPOFOUEBSU */'04BWJOHMJCTSDIFSP@DPNQPOFOUIUNM
!*OQVUΛ͏ ֎͔ΒΛड͚ΔͨΊʹ!*OQVUΛ͏ɻ͜ΕʹΑΓηϨΫ τ͞ΕͨIFSPΛऔಘ import 'package:angular/angular.dart'; import 'package:angular_forms/angular_forms.dart'; import './hero.dart'; @Component(
selector: 'hero-component', templateUrl: 'hero_component.html', directives: [coreDirectives, formDirectives], ) class HeroComponent { @Input() Hero hero; } MJCTSDIFSP@DPNQPOFOUEBSU
ςϯϓϨʔτͷҰ෦ΛҠಈ IFSPͷৄࡉΛදࣔ͢ΔϩδοΫΛBQQ@DPNQPOFOUIUNM͔ ΒIFSP@DPNQPOFOUIUNMҠಈͤ͞Δ <div *ngIf="hero != null"> <h2>{{hero.name}}</h2> <div><label>id: </label>{{hero.id}}</div>
<div> <label>name: </label> <input [(ngModel)]="hero.name" placeholder="name"> </div> </div> MJCTSDIFSP@DPNQPOFOUIUNM
֎ग़͠ςϯϓϨʔτΛ͏ ઌ΄Ͳ֎ʹग़ͨ͠IFSP@DPNQPOFOUIUNMΛBQQ@DPNQPOFOUIUNMͰ ͏ɻBQQ@DPNQPOFOUEBSUͷEJSFDUJWFTʹՃ͢Δ͜ͱΛΕͣʹ // লུ <hero-component [hero]="selected"></hero- component> BQQ@DPNQPOFOUIUNM import
'./src/hero_component.dart'; @Component( selector: 'app-component', templateUrl: 'app_component.html', directives: [coreDirectives, HeroComponent], styleUrls: ['app_component.css'], ) // লུ BQQ@DPNQPOFOUEBSU
·ͱΊ "OHVMBSΛීஈ͔Βॻ͍͍ͯͨͱͯ͠؆୯ʹೃછΊͨؾ ͕͢Δ͕ɺϧʔςΟϯάΨʔυͱ͍ͬͨ෦ΛͲ͏࣮͢ Δͷ͔ؾʹͳΔͱ͜Ζɻ·ͨຊ൪ϓϩμΫτʹ͚ͭΔ͔Ͳ͏ ͔ͳͲΛݟۃΊΔͨΊʹͬͱॻ͍ͯΈΑ͏ͱࢥ͏ɻ IUUQTXFCEFWEBSUMBOHPSHBOHVMBSUVUPSJBM
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠