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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yosuke Torii
September 22, 2018
Technology
1.2k
1
Share
Elm 開発サンプル
「Elm でユーザーストーリーマッピングのツールを作ってみた」の完全版
Yosuke Torii
September 22, 2018
More Decks by Yosuke Torii
See All by Yosuke Torii
TEA++
jinjor
2
490
Elm でユーザーストーリーマッピングのツールを作ってみた
jinjor
0
1.1k
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
730
Other Decks in Technology
See All in Technology
100マイクロサービスのTerraform/Kubernetes管理地獄から抜け出すためのAI活用術
markie1009
0
140
小さいVue.jsを30分で作る
hal_spidernight
0
150
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
250
SREの仕事は「壊さないこと」ではなくなった 〜自律化していくシステムに、責任と判断を与えるという価値〜 / 20260515 Naoki Shimada
shift_evolve
PRO
1
130
みんなの考えた最強のデータ基盤アーキテクチャ'26前期〜前夜祭〜ルーキーズ_資料_遠藤な
endonanana
0
300
エージェント時代の UIとAPI、CLI戦略
coincheck_recruit
0
170
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
580
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.5k
[Scram Fest Niigata2026]Quality as Code〜AIにQAの思考を再現させる試み〜
masamiyajiri
1
310
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
400
新卒エンジニア研修、ハンズオンの設計における課題と実践知/ #tachikawaany
nishiuma
2
140
CyberAgent YJC Connect
shimaf4979
1
180
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
330
Speed Design
sergeychernyshev
33
1.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
140
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
340
How to build a perfect <img>
jonoalderson
1
5.5k
How to train your dragon (web standard)
notwaldorf
97
6.6k
The Language of Interfaces
destraynor
162
26k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
130
Automating Front-end Workflow
addyosmani
1370
200k
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