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
Elm 開発サンプル
Search
Yosuke Torii
September 22, 2018
Technology
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elm 開発サンプル
「Elm でユーザーストーリーマッピングのツールを作ってみた」の完全版
Yosuke Torii
September 22, 2018
More Decks by Yosuke Torii
See All by Yosuke Torii
TEA++
jinjor
2
520
Elm でユーザーストーリーマッピングのツールを作ってみた
jinjor
0
1.2k
Friendly Elm (怖くないElm)
jinjor
3
1.9k
Elmのさわれる副作用
jinjor
2
1.4k
Elm for React.js Users
jinjor
5
2.9k
Let's learn Elm
jinjor
3
750
Other Decks in Technology
See All in Technology
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.5k
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
200
VPCでもFloatingIPを使いたいんだ
y_kotani
1
120
OpenID for Verifiable Credentials 実装から見えた相互運用性確保までの道のり(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
360
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
「面白い!」を信じ抜け。激動の時代を貫く、オンリーワン・エンジニアの条件
kizawa2020
1
380
atproto spaces概要
yamarten
0
110
現場の暗黙知を継承するAIエージェント — 対話から生まれる長期記憶と Skills
atsukish
0
130
GopherCon @シアトル に行ってきました
logica0419
0
370
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
130
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
0
430
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
290
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
What's in a price? How to price your products and services
michaelherold
247
13k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The Pragmatic Product Professional
lauravandoore
37
7.4k
It's Worth the Effort
3n
188
29k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Designing for Performance
lara
611
70k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
&MN։ൃαϯϓϧ &MNೖϋϯζΦϯʹͯ :PTVLF5PSJJ
ࣗݾհ :PTVLF5PSJJ!KJOKPS w &MNྺ΄Ͳ w &MNຊࣥචத w *EFJO*ODۈ ରԠʂʢॏཁʣ
ϋϯζΦϯ͓ർΕ༷Ͱͨ͠
ͩΜͩΜγϯλοΫεʹ׳Ε͖ͯͨ
ͩΜͩΜγϯλοΫεʹ׳Ε͖ͯͨ ϥΠϒϥϦͷυΩϡϝϯτಡΊΔΑ͏ʹͳͬͨ
ͩΜͩΜγϯλοΫεʹ׳Ε͖ͯͨ ϥΠϒϥϦͷυΩϡϝϯτಡΊΔΑ͏ʹͳͬͨ ؆୯ͳ50%0ΞϓϦॻ͚ͨ
ͩΜͩΜγϯλοΫεʹ׳Ε͖ͯͨ ϥΠϒϥϦͷυΩϡϝϯτಡΊΔΑ͏ʹͳͬͨ ؆୯ͳ50%0ΞϓϦॻ͚ͨ Ͱʜ
ͩΜͩΜγϯλοΫεʹ׳Ε͖ͯͨ ϥΠϒϥϦͷυΩϡϝϯτಡΊΔΑ͏ʹͳͬͨ ؆୯ͳ50%0ΞϓϦॻ͚ͨ Ͱʜ ·ͱͳΞϓϦ͕͢ΔΠϝʔδ͕࣋ͯͳ͍
ࠓ͓͍͑ͨ͜͠ͱ
ࠓ͓͍͑ͨ͜͠ͱ &MNͰී௨ͷΞϓϦ͕ී௨ʹ࡞ΕΔ
ϢʔβʔετʔϦʔϚοϐϯά
&MNͰ ϢʔβʔετʔϦʔϚοϐϯά ͷπʔϧΛ࡞ͬͯΈͨ
TUPSZOPUFTIFSPLVBQQDPN 4UPSZ/PUFT .71WFS
TUPSZOPUFTIFSPLVBQQDPN 4UPSZ/PUFT .71WFS ͬ͘͟Γ͍͏ͱɺετʔϦʔʹԊͬͯ ΞϓϦέʔγϣϯͷػೳΛݟੵΔπʔϧͰ͢
ܦҢ
ܦҢ w *EFJO*ODͰ։ൃதͷ8FCαʔϏε
ܦҢ w *EFJO*ODͰ։ൃதͷ8FCαʔϏε w ్த͔ΒεΫϥϜಋೖ
ܦҢ w *EFJO*ODͰ։ൃதͷ8FCαʔϏε w ్த͔ΒεΫϥϜಋೖ w ϢʔβʔετʔϦʔϚοϐϯάͰͬͯΈΔ͔
ܦҢ w *EFJO*ODͰ։ൃதͷ8FCαʔϏε w ్த͔ΒεΫϥϜಋೖ w ϢʔβʔετʔϦʔϚοϐϯάͰͬͯΈΔ͔ w ୭ᝦΛݟͳ͘ͳͬͨ w
੮͔Βԕ͍ ϦϞʔτϫʔΫଟ͍
ܦҢ w *EFJO*ODͰ։ൃதͷ8FCαʔϏε w ్த͔ΒεΫϥϜಋೖ w ϢʔβʔετʔϦʔϚοϐϯάͰͬͯΈΔ͔ w ୭ᝦΛݟͳ͘ͳͬͨ w
੮͔Βԕ͍ ϦϞʔτϫʔΫଟ͍ w ΦϯϥΠϯͷπʔϧͰ࡞ͬͯΈΔ͔ w ΄΅झຯ
%&.0
ղઆ
ߏ w %#1PTUHSF42- w 4FSWFS/PEFKT &YQSFTT 5ZQF4DSJQU w 'SPOUFOE&MN
ߏ w %#1PTUHSF42- w 4FSWFS/PEFKT &YQSFTT 5ZQF4DSJQU w 'SPOUFOE&MN
Ϗϧυ w OQNTDSJQUͰେମͲ͏ʹ͔ͳΔ w XFCQBDL͓͏ͱࢥ͑͑Δ w EPDLFSDPNQPTF
σϓϩΠɾͦͷଞ w )FSPLV w $JSDMF$*
$44 w ී௨ͷ$44ϑΝΠϧ DTT w ΠϯϥΠϯΛਪ͍ͯ͠ΔΘ͚Ͱͳ͍ w είʔϓ͕ཉ͚͠ΕFMNDTTͱ͔͋Δ
ϩάΠϯ w ී௨ͷ0"VUI w QBTTQPSUϞδϡʔϧ༻ w GPSNཁૉͰը໘ભҠ w DPPLJF
ಉ࣌ฤू
ಉ࣌ฤू .PEFM 7JFX 6QEBUF
ಉ࣌ฤू %# .PEFM 7JFX 6QEBUF
ಉ࣌ฤू %# .PEFM 7JFX 6QEBUF .PEFM 7JFX 6QEBUF
ಉ࣌ฤू %# .PEFM 7JFX 6QEBUF .PEFM 7JFX 6QEBUF 1 1
ಉ࣌ฤू %# .PEFM 7JFX 6QEBUF .PEFM 7JFX 6QEBUF 1 1
1
ಉ࣌ฤू %# .PEFM 7JFX 6QEBUF .PEFM 7JFX 6QEBUF 1 1
1 1
ಉ࣌ฤू %# .PEFM 7JFX 6QEBUF .PEFM 7JFX 6QEBUF 1 1
1 1 1
ಉ࣌ฤू %# .PEFM 6QEBUF 1 1 1 1 .PEFM 6QEBUF
1 1 1 1 7JFX 7JFX
ಉ࣌ฤू 1
ϧʔςΟϯά w ϋογϡͰϫʔΫεϖʔεΓସ͑ w Bʜ
ϧʔςΟϯά w ϋογϡͰϫʔΫεϖʔεΓସ͑ w Bʜ w 3PVUFΛܕͰఆ͓ٛͯ͘͠ͱศར
ϧʔςΟϯά w #SPXTFSBQQMJDBUJPOΛ͏
ϧʔςΟϯά w #SPXTFSBQQMJDBUJPOΛ͏
ϧʔςΟϯά .PEFM 7JFX 6QEBUF %#
ϧʔςΟϯά .PEFM 7JFX 6QEBUF %# PO6SM3FRVFTU
ϧʔςΟϯά 7JFX 6QEBUF %# PO6SM3FRVFTU PO6SM$IBOHF .PEFM
ϧʔςΟϯά 7JFX 6QEBUF %# PO6SM3FRVFTU PO6SM$IBOHF .PEFM #3322a08…
ϧʔςΟϯά 7JFX 6QEBUF %# PO6SM3FRVFTU PO6SM$IBOHF .PEFM #3322a08… Workspace “3322a08…”
ϧʔςΟϯά .PEFM 7JFX 6QEBUF %# PO6SM3FRVFTU PO6SM$IBOHF #3322a08… Workspace “3322a08…”
ϧʔςΟϯά .PEFM 7JFX 6QEBUF %# PO6SM3FRVFTU PO6SM$IBOHF #3322a08… Workspace “3322a08…”
ϧʔςΟϯά .PEFM 6QEBUF %# PO6SM3FRVFTU PO6SM$IBOHF #3322a08… Workspace “3322a08…” 7JFX
εΫϩʔϧͷ࣮
εΫϩʔϧͷ࣮
εΫϩʔϧͷ࣮ 6QEBUF .PEFM scroll = { x = .., y
= .. }
εΫϩʔϧͷ࣮ 6QEBUF .PEFM scroll = { x = .., y
= .. }
%SBHBOE%SPQͷ࣮
%SBHBOE%SPQͷ࣮ 6QEBUF .PEFM type_ = Note 1 start = {
x = .., y = .. } current = { x = .., y = .. }
ඳըͷύϑΥʔϚϯεΛߟྀ [ viewBackground backgroundState , viewNotes notes , viewDraggingNote dragState
]
ඳըͷύϑΥʔϚϯεΛߟྀ [ lazy viewBackground backgroundState , lazy viewNotes notes ,
viewDraggingNote dragState ]
ඳըͷύϑΥʔϚϯεΛߟྀ [ lazy viewBackground backgroundState , lazy viewNotes notes ,
viewDraggingNote dragState ] 1VSF$PNQPOFOUXJUIPVUUIF)FBEBDIF
ෳࡶ͞ʹཱ͔ͪ͏
ෳࡶ͞ʹཱ͔ͪ͏ wܕ
ෳࡶ͞ʹཱ͔ͪ͏ wܕ w ΞΫηε੍ޚ
ෳࡶ͞ʹཱ͔ͪ͏ wܕ w ΞΫηε੍ޚ %BUB 6QEBUF JOUFSGBDF
·ͱΊ
·ͱΊ &MNͰී௨ͷΞϓϦ͕ී௨ʹ࡞ΕΔ w Ұൠతͳ41"ʹඞཁͳಓ۩͋Δ w ྗΛೖΕ͍ͨͱ͜ΖҎ֎खΛൈ͍͍͍ͯ
5IBOLZPV !KJOKPS