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
脱★JSON色付け係
Search
Watanabe Jin
January 30, 2026
Programming
210
0
Share
脱★JSON色付け係
Watanabe Jin
January 30, 2026
More Decks by Watanabe Jin
See All by Watanabe Jin
シン・リスコフの置換原則 〜現代風に考えるSOLIDの原則〜
jinwatanabe
0
190
ソフトウェアを 「道具」にする技術 〜OOUIとAIが交差するフロントエンドのドメインモデリング〜
jinwatanabe
0
130
キーフレーズ抽出手法「SIFRank」について
jinwatanabe
0
800
Other Decks in Programming
See All in Programming
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
330
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
340
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
2
130
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
790
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
200
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
Don't Prompt Harder, Structure Better
kitasuke
0
650
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
240
へんな働き方
yusukebe
6
2.9k
Swift Concurrency Type System
inamiy
0
420
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
0
420
A Tale of Four Properties
chriscoyier
163
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
260
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
GraphQLとの向き合い方2022年版
quramy
50
14k
エンジニアに許された特別な時間の終わり
watany
106
240k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
350
Navigating Team Friction
lara
192
16k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Paper Plane
katiecoart
PRO
1
49k
Transcript
脱★JSON色付け係 わたなべじん
とあるところに重要人物の言及がありました
品質向上で人物名の構造が変わりました
HTML上で文字列結合しようとするドライバー それは絶対だめだ!と叫ぶナビゲーター
フロントエンドのドメインについて 考え方がサーバーと混ざってしまってない?
脱★JSON色付け係
そもそもドメインとはなにか?
すべてのソフトウェアプログラムは、 使用するユーザの何らかの活動や関心と関係がある。 ユーザがプログラムを適用する対象領域が、 ソフトウェアのドメインである。
フロントエンドにおける 「ユーザーの何らかの活動や関心」とはなんだろう
当時のコンピュータは、文字を動かすだけでも複雑なコマンドや「モード」の切り替えが必 須で、専門家にとっても手間のかかる「特殊な操作」でした。ラリー・テスラーはこの不便さ を解消し、現実世界のハサミと糊のように誰もが直感的に行える「当たり前の動作」として 編集作業を再定義しました。 彼がその成果を披露した際、歴史的な場面が訪れます。ラリーがいつものカット・アンド・ ペーストをやったとき、突然ピーター・ドゥイッチが立ち上がって、 スクリーンを指さして叫んだ。 「今やったのは、やったんじゃないかと俺が思ってることか?」 ドゥイッチが衝撃を受けたのは、かつては苦労した操作が「ユーザーがこうしたいと意図し た通り」に、一瞬で完了したその魔法のような簡潔さにあったのです。
『未来をつくった人々』の Chapter 15要約
フロントエンドのドメインはユーザーが 「した」と思ったことを、画面に「表す」こと
つまり「操作」と「表示」
サーバーサイドのドメインは ビジネス(業務)ロジック ビジネスロジックはフロントエンドには「ない」
フロントエンド開発中は ビジネスロジックという言葉は使われない サーバー感覚でやるとドメインを見失う
我々はJSON色付け係ではない
フロントエンド開発中は ビジネスロジックという言葉は使われない サーバー感覚でやるとドメインを見失う
HTML上で文字列結合しようとするドライバー
None
Viewはユーザーに何を示すのかに注力する
None
ドメインオブジェクトはあくまで「このデータは今 『エラー状態』である」という業務上の判断(意味) だけを返し、それをどう装飾するかはViewが決め るので下はNG
None
フロントエンドの多くは「画面設計」に注力されがちだが 「ソフトウェア設計」も大切にしよう
参考文献 WEBフロントエンドにおけるソフトウェア設計の考察 現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 エリック・エヴァンスのドメイン駆動設計 未来をつくった人々: ゼロックス・パロアルト研究所とコンピュータエイジの黎明