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.2k
型で語るカタ
関ジャバ'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
340
複数アプリケーションを育てていくための共通化戦略
irof
10
4.8k
SpringBootにおけるオブザーバビリティのなにか
irof
1
1.1k
Javaアプリケーションモニタリングの基本
irof
7
2.7k
Webアプリケーションを作りましょう
irof
0
190
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
6.5k
バッチを作らなきゃとなったときに考えること
irof
2
830
SpringBoot3.4の構造化ログ #kanjava
irof
3
1.5k
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
12
5.5k
Other Decks in Programming
See All in Programming
Improving my own Ruby thereafter
sisshiki1969
1
160
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
250
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
1から理解するWeb Push
dora1998
7
1.8k
Laravel Boost 超入門
fire_arlo
2
210
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
19
11k
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
700
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
450
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
450
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
速いWebフレームワークを作る
yusukebe
5
1.7k
testingを眺める
matumoto
1
140
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
What's in a price? How to price your products and services
michaelherold
246
12k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Music & Morning Musume
bryan
46
6.8k
Visualization
eitanlees
148
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
BBQ
matthewcrist
89
9.8k
Fireside Chat
paigeccino
39
3.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
55k
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