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
型で語るカタ
Search
irof
July 11, 2025
Programming
2
1.5k
型で語るカタ
関ジャバ'25 7月度
https://kanjava.connpass.com/event/360931/
20分程度のセッションです。
irof
July 11, 2025
Tweet
Share
More Decks by irof
See All by irof
視座の上げ方
irof
1
64
アーキテクチャと考える迷子にならない開発者テスト
irof
9
3.8k
技術的負債の正体を知って向き合う
irof
0
740
関ジャバと言う場
irof
0
210
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
430
複数アプリケーションを育てていくための共通化戦略
irof
9
5.2k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.3k
Javaアプリケーションモニタリングの基本
irof
7
2.8k
Webアプリケーションを作りましょう
irof
0
230
Other Decks in Programming
See All in Programming
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
720
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
160
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
160
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
CSC307 Lecture 04
javiergs
PRO
0
630
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.1k
Grafana:建立系統全知視角的捷徑
blueswen
0
280
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
170
Deno Tunnel を使ってみた話
kamekyame
0
320
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2.1k
dchart: charts from deck markup
ajstarks
3
960
Featured
See All Featured
How to make the Groovebox
asonas
2
1.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Color Theory Basics | Prateek | Gurzu
gurzu
0
170
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Scaling GitHub
holman
464
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
420
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
220
Raft: Consensus for Rubyists
vanstee
141
7.3k
Transcript
型 語 関 '25 7 月 度 @irof
前置  2
型 話 型 話 正直 思 役 立 型 言
言 葉 自 体 広 意味 持 焦点 合  3
型 話 型 扱 型 型 各部分 計算 値 種類
分類 種 振 舞 起 保証 計算量的 扱 構文 的 手 法 -- TaPL 型 話 型 前提 多 型 勢 人 ձ話 際 必ਢ知識  4
型 is ... 軽量 形式 手 法 振 舞 制御
制約 前提 機能 型 活用 言 語機能 言 語 機能 使 型 創 型設計  5
Kata 武道 CodeKata 開発文脈 使 最ۙ 聞 型 活用 見
方 ײ 1 ≒  6
型 検出 抽象Խ Խ 言 語 安全性 効率性  7
7原則 型 全数 不可能 型 制約 範囲 全数 可能 可能
範囲 少 広 早期 時間 節約 型 検査 時 実装後 動作検証 早期 確実 行  8
型 語  9
型 語 զʑ 語 手 段 語 際 型 使
ײ 話 型 扱 型 限 広ٛ 型 話 ؚ  10
語 相 手 向 語 人 向 語 本 主
話  11
語 Java標準 1 var ... 設計 1 関連 名前 ...
 12
1  13 Grok 突 込 作 画像
1  14
1 語 人 向 : null 入 否 向 :
効率性 …… 語 ʁ  15
1 語 null 入 否 1 語 微妙 ׳習的 読
取 得 語 読 取 場合 int -> Integer OptionalInt 使 明 示 的 聞 型 語 双方׳ 導入 悩  16
null 話 Optional 話 飛 被 省略  17
 18
 19 https://docs.oracle.com/javase/jp/21/core/creating-sequenced-collections-sets-and-maps.html
語  20 Collection: 集合 Set: 重複 List: 順序 詳
CollectionsFramework Javadoc読
語  21 集合 常 順序 重複ڐ容 期待 List 十
分 多 私 …… 順序未定ٛ List 使 避 Կ順 ʁ 探 未定ٛ Set List Collection 使
参考: JIG ADR  22 https://github.com/dddjava/jig/blob/main/docs/adr/collections-usage.md 一般的 自 分 思
規則 形式Խ
発展: Java 限 標準 集合 語 使 扱 要素 語
程度 歴史的経緯 実 行 時例外 操作 静的型検査 機能 操作 限定 集合ԋ算 追Ճ 対 興味 持 語  23
語 要素数0以上 以上 重要 使 側 要素 関 興味 要素選択
要素 一 一 興味 特定 条件 満 1 要素 興味 or 要素 集合 興味 要素 興味 設計 …… 他 色 ʑ  24
共通 EventId 対 EventIds 作 文脈 異 AllEventIds FutureEventIds 色
ʑ作 片方 統一  25
var  26
var 変数 変数型 書 勝 手 解決 仕組  27
var 語 変数 型 興味 右辺 十 分語 変数名 十
分語 本当 知 必要  28
var  29 同 var ArrayList<String> 私 思想 行 左側
一等地 上 選 最ۙArrayList new 自 体 見
右辺 var  30
右辺 var  31
var 書 ʁ var jshell 普段 IDE *常 右辺 変数宣
言 生 成 * ק 際 var IDE 設定  32
var 語 var 削減 技術 同時 有用 情報量 削減 注意
強制 型情報 lambda 宣 言 右辺 場 合 表現 右辺 型 示 変数名 右辺 型 示 型 知 必要 扱  33
enum, sealed 他 被 思 省略 switch 抜ṅ switch使 新
追Ճ 既存 Ԇ長 Optional 系 扱 型 活用 余白 書 ڱ  34
1  35
1 語 不変 型 示 動的 状態 相 手 動作
予測可能性 向 上 予想外 動作 不具合 減 変更 実務的 実質的 1 十 分 完全 1  36
 37
語 値 取 範囲 ۀ務 扱 数値 int 大抵 場合
過剰 場合 21ԯ 扱 場合 short 話 Always-Valid domain model 1  38
関連  39
関連 語 扱 間 関連 型 語 型 関連 関連
方向 語  40
関連 語 出ՙ 受注 作 出ՙ static 出ՙ from(受注) 受注
出ՙ 変換 受注 to出ՙ() 受注 出ՙ 無関係 …… 型 関連 語  41
実務 関連 語 ؚ 型 関連 語 細ʑ 全体 語
ڑ離 程度固 関連 語 良 JIG 使  42 https://github.com/dddjava/jig
名前  43
名前 型 語 上 名前 大事 命名 設計 名前 㚽
語 名前 一発 命名 技術 身  44
紹介: Naming as a Process  45 https://www.digdeeproots.com/articles/naming-process/ 1 話
大体書 読
 46
型  47