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
1.2k
Elm 開発サンプル
「Elm でユーザーストーリーマッピングのツールを作ってみた」の完全版
Yosuke Torii
September 22, 2018
Tweet
Share
More Decks by Yosuke Torii
See All by Yosuke Torii
TEA++
jinjor
2
450
Elm でユーザーストーリーマッピングのツールを作ってみた
jinjor
0
1.1k
Friendly Elm (怖くないElm)
jinjor
3
1.8k
Elmのさわれる副作用
jinjor
2
1.3k
Elm for React.js Users
jinjor
5
2.8k
Let's learn Elm
jinjor
3
700
Other Decks in Technology
See All in Technology
SOC2取得の全体像
shonansurvivors
1
340
FastAPIの魔法をgRPC/Connect RPCへ
monotaro
PRO
1
580
Deep Research と NotebookLM を使い倒す!レガシーリプレイスの技術選定と学習コスト削減術
tet0h
0
2.8k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
110
#普通の文系サラリーマンチャレンジ 自分でアプリ開発と電子工作を続けたら人生が変わった
tatsuya1970
0
840
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
320
PythonとLLMで挑む、 4コマ漫画の構造化データ化
esuji5
0
120
GA technologiesでのAI-Readyの取り組み@DataOps Night
yuto16
0
240
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
300
PyCon JP 2025 DAY1 「Hello, satellite data! ~Pythonではじめる衛星データ解析~」
ra0kley
0
830
Goを使ってTDDを体験しよう!
chiroruxx
1
240
Findy Team+のSOC2取得までの道のり
rvirus0817
0
240
Featured
See All Featured
Designing for humans not robots
tammielis
254
25k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
950
Balancing Empowerment & Direction
lara
4
670
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Bash Introduction
62gerente
615
210k
Navigating Team Friction
lara
189
15k
YesSQL, Process and Tooling at Scale
rocio
173
14k
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