狠狠撸

狠狠撸Share a Scribd company logo
和田 卓人 (@t_wada)
Aug 31, 2015
@論理削除 Casual Talks
SQLアンチパターン
幻の26章
「とりあえず削除フラグ」
#ronsakucasual
和田 卓人
id: t-wada
@t_wada
github: twada
スタンド名は「ワイルド?サバンナ」
おかげさまで高评価を顶いております
第26章?
本書に入れてみたかっ
た章の話をします
(『SQLアンチパターン』は25章まで)
愚者は経験に学び、賢者は歴史に学ぶ。
─オットー?フォン?ビスマルク
テーマについて
諸君は自らの経験からいくらか学ぶことがで
きるという、全く愚かな考えであろうが、
余はむしろ他人の失敗を学ぶことで、自分の
失敗を回避することを好む。
─オットー?フォン?ビスマルク
Nur ein Idiot glaubt, aus den eigenen Erfahrungen zu lernen.
Ich ziehe es vor, aus den Erfahrungen anderer zu lernen, um
von vorneherein eigene Fehler zu vermeiden.
アンチパターンとは
単なる
べからず集
あるある集
では無い
0. 名前
1. 目的
2. アンチパターン
3. アンチパターンの見つけ方
4. アンチパターンを用いても良い場合
5. 解決策
アンチパターンの構成
アンチパターン名
とりあえず
削除フラグ
0. 名前
1. 目的
2. アンチパターン
3. アンチパターンの見つけ方
4. アンチパターンを用いても良い場合
5. 解決策
アンチパターン: とりあえず削除フラグ
目的: データを消さずに、無いことにしたい
エンドユーザから見るとデータが無いことに
したいけど、実際のデータは消したくない
「削除した」データを検索したい
データを消さずにログとして簡単に残したい
誤った操作をなかったことにしたい、すぐに
元に戻したい
0. 名前
1. 目的
2. アンチパターン
3. アンチパターンの見つけ方
4. アンチパターンを用いても良い場合
5. 解決策
アンチパターン: とりあえず削除フラグ
CREATE TABLE Bugs (
id SERIAL PRIMARY KEY,
bug_code VARCHAR(20) NOT NULL,
date_reported DATE NOT NULL,
summary VARCHAR(80),
description VARCHAR(1000),
is_deleted TINYINT(1) DEFAULT '0',
...
);
1/true の場合削除されていると見なす
アンチパターン: 削除フラグの導入
アンチパターンのメリット(?)
簡単に元に戻せる気がする
なんとなく安心
UPDATE Bugs
SET is_deleted = 0
WHERE bug_code = ‘hoge'
AND is_deleted = 1
アンチパターンとは何でしょうか。それは、
問題の解決を意図しながらも、しばしば他の
問題を生じさせてしまうような技法を指しま
す。
─ Bill Karwin
よかれと思って裏目
に出てしまうもの
アンチパターンにより起こること
常に WHERE 句が必要
コードが削除フラグだらけ
認識の齟齬を生みやすい
SELECT bug_code, date_reported, summary
FROM Bugs
WHERE is_deleted = 0
class Bug < ActiveRecord::Base
default_scope ->{ where( is_deleted: false ) }
…
アンチパターンにより起こること
よかれと思ってコードレベルでデフォル
トを変えたらバグがゴロゴロ
SELECT bug_code, date_reported, summary
FROM Bugs
WHERE is_deleted = 0
ORDER BY id DESC LIMIT 1
アンチパターンにより起こること
データ不整合と
場当たり的クエリの巣窟
アンチパターンにより起こること
削除フラグの立ったデータが
テーブルに隠れている
https://www.?ickr.com/photos/usoceangov/8290528771
あるエンティティ定義に、論理削除有無を設
定する属性が定義されている時点で、開発者
は『ああ、この表のデータって削除していい
んだ』という暗黙の了解に思考を縛られる
─ @dekasasaki
泥箱的なメモ ? 論理削除が奪うもの
http://dekasasaki.tumblr.com/post/69487259373/論理削除が奪うもの
アンチパターンにより起こること
0. 名前
1. 目的
2. アンチパターン
3. アンチパターンの見つけ方
4. アンチパターンを用いても良い場合
5. 解決策
アンチパターン: とりあえず削除フラグ
直面している問題の種類や、メンバー間の会
話での何気ない言葉が、そこにアンチパター
ンがあるかもしれないことに気づくヒントに
なります。
─ Bill Karwin
アンチパターンの見つけ方
Q: この is_deleted 列はどういう目的で必要なのですか?
A: データ上は無い事にしたいけど、実際のデータは消したく
ないからです (http://qiita.com/Jxck_/items/156d0a231c6968f2a474 より)
Q: なぜこのテーブルにも削除フラグが付いているのですか?
A: プロジェクトのルールで、全てのテーブルに削除フラグを
定義することになっているんです
Q: この is_deleted2 というカラムは何者ですか?
A: ああ、それは管理用フラグです。管理者が非公開設定にし
たときに true になります。 is_deleted との組み合わせで表
示を制御します
0. 名前
1. 目的
2. アンチパターン
3. アンチパターンの見つけ方
4. アンチパターンを用いても良い場合
5. 解決策
アンチパターン: とりあえず削除フラグ
アンチパターンを用いても良い場合
論理削除(UPDATE)は物理削除(DELETE)より
も大概の場合速い
物理削除(DELETE)と天 に掛ける際に、高ト
ラフィックのサイトで UPDATE ベースの解を
採用することはある
……ただし、できればフラグ以外の実現方法で
0. 名前
1. 目的
2. アンチパターン
3. アンチパターンの見つけ方
4. アンチパターンを用いても良い場合
5. 解決策
アンチパターン: とりあえず削除フラグ
私の経験上は、ユーザーから「論理削除」という言葉を聞いたことが
ありません。 次のような要件は、聞いたことがあります
?社員が退職(転属)する
?(売掛金の回収を諦めて)売上を打ち消す
?「お知らせメッセージ」を公開日がくるまで非表示にする
?既読メッセージを表示しない
?保存期間が過ぎたアンケート結果をオペレーターが見れなくする
─ @ledsun
論理削除フラグという名の死亡フラグ - @ledsun blog
http://ledsun.hatenablog.com/entry/2015/03/27/015203
解決策への糸口
解決策1: (問題解決になっていないが)せめて削除日にしてみる
CREATE TABLE Bugs (
id SERIAL PRIMARY KEY,
bug_code VARCHAR(20) NOT NULL,
date_reported DATE NOT NULL,
summary VARCHAR(80),
description VARCHAR(1000),
deleted_at DATETIME,
...
);
Rails の論理削除プラグインの多くがこの設計
(機械的な WHERE 句は減らないが、プラグインに書かせる)
しかしカラムに NULL が入るとインデックスを使えないデメ
リットがある
解決策1: (問題解決になっていないが)せめて削除日にしてみる
CREATE TABLE Bugs (
id SERIAL PRIMARY KEY,
bug_code VARCHAR(20) NOT NULL,
date_reported DATE NOT NULL,
summary VARCHAR(80),
description VARCHAR(1000),
deleted_at DATETIME,
...
);
Rails の論理削除プラグインの多くがこの設計
(機械的な WHERE 句は減らないが、プラグインに書かせる)
しかしカラムに NULL が入るとインデックスを使えないデメ
リットがある
問題解決に
なっていない
解決策1: もうちょっとマシに
CREATE TABLE Bugs (
id SERIAL PRIMARY KEY,
bug_code VARCHAR(20) NOT NULL,
date_reported DATE NOT NULL,
summary VARCHAR(80),
description VARCHAR(1000),
closed_at DATETIME NOT NULL
DEFAULT ‘9999-12-31 23:59:59’,
...
);
ドメインの言葉(closed_at)を使いつつ、加えてカラムに
NOT NULL 制約を付ける(未来日のマジックナンバー)
解決策1: もうちょっとマシに
CREATE TABLE Bugs (
id SERIAL PRIMARY KEY,
bug_code VARCHAR(20) NOT NULL,
date_reported DATE NOT NULL,
summary VARCHAR(80),
description VARCHAR(1000),
closed_at DATETIME NOT NULL
DEFAULT ‘9999-12-31 23:59:59’,
...
);
ドメインの言葉(closed_at)を使いつつ、加えてカラムに
NOT NULL 制約を付ける(未来日のマジックナンバー)
まだ問題解決に
なっていない
We won t support soft-delete at all.
If you want to implement a soft-delete
alike behaviour its probably a good
idea to look into the State pattern
instead.
? Doctrine 2 Behaviours in a Nutshell
http://www.doctrine-project.org/2010/02/17/doctrine2-behaviours-nutshell.html
解決策2: それはフラグではなく状態である
CREATE TABLE Bugs (
id SERIAL PRIMARY KEY,
bug_code VARCHAR(20) NOT NULL,
date_reported DATE NOT NULL,
summary VARCHAR(80),
description VARCHAR(1000),
status VARCHAR(20) NOT NULL DEFAULT ‘NEW',
...
FOREIGN KEY (status) REFERENCES BugStatus(status)
);
IsDeletedフラグを使う代わりに、Dahan氏はデータの状態を表
すフィールドを保持することを提案している。
例えば、有効、中止、キャンセル、廃止予定のような状態だ
http://www.infoq.com/jp/news/2009/09/Do-Not-Delete-
Rails のプラグインでは AASM が便利
解決策2: それはフラグではなく状態である
解決策3: 履歴テーブルに移す
CREATE TABLE BugHistories (
bug_id INTEGER PRIMARY KEY,
bug_code VARCHAR(20) NOT NULL,
date_reported DATE NOT NULL,
summary VARCHAR(80),
description VARCHAR(1000),
archived_at DATETIME,
...
);
二つのテーブルの間の整合性はトリガー等で
保つ (詳しくは『理論から学ぶデータベース実践入門』を)
解決策4: そもそも削除も更新もしない
アプリケーションは現実を何かの業務等々の
観点で抽象化したものであり、それが扱うデー
タは事実に忠実にモデル化されたのなら残り
続けているはずなのです。現実から事実を消
し去ることは不可能。
─ @dekasasaki
泥箱的なメモ ? 論理削除が奪うもの
http://dekasasaki.tumblr.com/post/69487259373/論理削除が奪うもの
解決策4: そもそも削除も更新もしない
T字形ER手法というのをベースにしたテーブル設計をしていて、そこでかなり鍛え
られたわけですが、その時にはだいたいこのような原則を叩きこまれました。
?テーブルに状態を持たせない
?究極には機械が認識するキーと、人間にとって意味のあるデータだけのエンティティ
だけですべての業務のデータを構成できる
?日付を持つデータはイベント(これもひとつのエンティティ)
?NULLのデータは絶対に持ってはならない
?テーブルはでかく作るな、小さく作れ
?テーブル同士の関連は直接持つな、関連を表すテーブルを作れ
?1:1の関連になったとしても、イベントとそれに付随するデータは分離しろ
?データが増える?金と物理で殴れ(ディスク増強しろ)
─ @mike_neck
論理削除が云々について - mike-neckのブログ
http://mike-neck.hatenadiary.com/entry/2015/03/24/231422
解決策4: そもそも削除も更新もしない
解決策4: そもそも削除も更新もしない
https://twitter.com/takezoen/status/580147622427537408
解決策4: そもそも削除も更新もしない
http://www.datomic.com/
解決策5: オペミスを防ぐには
「誤った操作をなかったことにしたい、すぐ
に元に戻したい」の解が無い
これは難しい課題
? 間違えにくい UI を作ったり
? 「確認画面」を用意したり
解決策5: 遅延レプリケーションはどうか?
http://dev.mysql.com/doc/refman/5.6/ja/replication-delayed.html
? 「とりあえず」が思考停止
? 全てのテーブルに削除フラグはおかしい
? 「削除」は設計不足を示す
? お客様は本当に「削除」と言っているか?
? 「フラグ」以外もある
? 状態遷移で考えるほうがマシ
? 更新/削除をしない世界もある
? それでもよく考えた末の削除フラグなら OK.
まとめ: とりあえず削除フラグ
まとめ: 二つの世界
Web システムにおける RDBMS はトランザ
クショナルなキャッシュとしての側面と永続
的データストアとしての両面を持っている
企業システムにおける RDBMS は企業活動に
おいて発生した事実を余さず記録するトラン
ザクショナルで永続的なデータストアとしての
側面が強い
ご清聴ありがとうございました

More Related Content

What's hot (20)

PDF
惭测厂蚕尝で论理削除と正しく付き合う方法
yoku0825
?
PDF
Where狙いのキー、order by狙いのキー
yoku0825
?
PPTX
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
Hiroshi Ito
?
PDF
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
?
PDF
顿叠スキーマもバージョン管理したい!
kwatch
?
PDF
ソーシャルゲームのためのデータベース设计
Yoshinori Matsunobu
?
PDF
あなたの知らない笔辞蝉迟驳谤别厂蚕尝监视の世界
Yoshinori Nakanishi
?
PDF
痴补肠耻耻尘彻底解説
Masahiko Sawada
?
PDF
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
?
PDF
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
Shohei Koyama
?
PDF
Javaコードが速く実?される秘密 - JITコンパイラ??(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
?
PDF
ソーシャルゲーム案件における顿叠分割の笔贬笔実装
infinite_loop
?
PDF
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
?
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
?
PPTX
搁别诲颈蝉の特徴と活用方法について
Yuji Otani
?
PPTX
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
?
PPTX
本当は恐ろしい分散システムの话
Kumazaki Hiroki
?
PDF
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Kohei Tokunaga
?
PDF
オブジェクト指向の设计と実装の学び方のコツ
増田 亨
?
PPTX
イベント?ソーシングを知る
Shuhei Fujita
?
惭测厂蚕尝で论理削除と正しく付き合う方法
yoku0825
?
Where狙いのキー、order by狙いのキー
yoku0825
?
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
Hiroshi Ito
?
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
?
顿叠スキーマもバージョン管理したい!
kwatch
?
ソーシャルゲームのためのデータベース设计
Yoshinori Matsunobu
?
あなたの知らない笔辞蝉迟驳谤别厂蚕尝监视の世界
Yoshinori Nakanishi
?
痴补肠耻耻尘彻底解説
Masahiko Sawada
?
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
?
インフラエンシ?ニアの綺丽て?优しい手顺书の书き方
Shohei Koyama
?
Javaコードが速く実?される秘密 - JITコンパイラ??(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
?
ソーシャルゲーム案件における顿叠分割の笔贬笔実装
infinite_loop
?
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
?
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
?
搁别诲颈蝉の特徴と活用方法について
Yuji Otani
?
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
?
本当は恐ろしい分散システムの话
Kumazaki Hiroki
?
顿辞肠办别谤から肠辞苍迟补颈苍别谤诲への移行
Kohei Tokunaga
?
オブジェクト指向の设计と実装の学び方のコツ
増田 亨
?
イベント?ソーシングを知る
Shuhei Fujita
?

Viewers also liked (20)

PPTX
やってはいけない空振り顿别濒别迟别
Yu Yamada
?
PDF
厂蚕尝アンチパターン~スパゲッティクエリ
Itabashi Masayuki
?
PDF
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
Uptime Technologies LLC (JP)
?
PPTX
技术选択とアーキテクトの役割
Toru Yamaguchi
?
PDF
偶然にも500万个の厂厂贬公开键を手に入れた俺たちは
Yoshio Hanawa
?
PDF
プログラム组んだら负け!実は贬罢惭尝/颁厂厂だけでできること2015夏
Yusuke Hirao
?
PDF
运用に自动化を求めるのは间违っているだろうか
Masahito Zembutsu
?
PDF
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
?
PDF
実践イカパケット解析
Yuki Mizuno
?
PDF
惭测厂蚕尝テーブル设计入门
yoku0825
?
PDF
ウェブパフォーマンスの基础とこれから
Hiroshi Kawada
?
PPTX
奥别产アプリケーション负荷试験実践入门
樽八 仲川
?
PDF
オンラインゲームの仕组みと工夫
Yuta Imai
?
PDF
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
Takeshi HASEGAWA
?
PPTX
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発
慎一 古賀
?
PDF
中の下のエンジニアを脱出するための仕事术
Noriaki Kadota
?
PDF
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
闯补惫补女子部
?
PDF
厂厂尝/罢尝厂の基础と最新动向
shigeki_ohtsu
?
PDF
フーリエ変换と画像圧缩の仕组み
yuichi takeda
?
PDF
MySQL 5.7の罠があなたを狙っている
yoku0825
?
やってはいけない空振り顿别濒别迟别
Yu Yamada
?
厂蚕尝アンチパターン~スパゲッティクエリ
Itabashi Masayuki
?
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
Uptime Technologies LLC (JP)
?
技术选択とアーキテクトの役割
Toru Yamaguchi
?
偶然にも500万个の厂厂贬公开键を手に入れた俺たちは
Yoshio Hanawa
?
プログラム组んだら负け!実は贬罢惭尝/颁厂厂だけでできること2015夏
Yusuke Hirao
?
运用に自动化を求めるのは间违っているだろうか
Masahito Zembutsu
?
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
Ken'ichi Matsui
?
実践イカパケット解析
Yuki Mizuno
?
惭测厂蚕尝テーブル设计入门
yoku0825
?
ウェブパフォーマンスの基础とこれから
Hiroshi Kawada
?
奥别产アプリケーション负荷试験実践入门
樽八 仲川
?
オンラインゲームの仕组みと工夫
Yuta Imai
?
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
Takeshi HASEGAWA
?
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質?低コスト?保守性の高い開発
慎一 古賀
?
中の下のエンジニアを脱出するための仕事术
Noriaki Kadota
?
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
闯补惫补女子部
?
厂厂尝/罢尝厂の基础と最新动向
shigeki_ohtsu
?
フーリエ変换と画像圧缩の仕组み
yuichi takeda
?
MySQL 5.7の罠があなたを狙っている
yoku0825
?
Ad

More from Takuto Wada (20)

PDF
组织にテストを书く文化を根付かせる戦略と戦术
Takuto Wada
?
PDF
翱厂厂活动の活発さと评価の関係について
Takuto Wada
?
PDF
unassert - encourage reliable programming by writing assertions in production
Takuto Wada
?
PDF
OSS についてあれこれ
Takuto Wada
?
PDF
power-assert, mechanism and philosophy
Takuto Wada
?
PDF
アジャイルサムライの次に読む技术书
Takuto Wada
?
PDF
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
?
PDF
テスト用ライブラリ power-assert
Takuto Wada
?
PDF
Reviewing RESTful Web Apps
Takuto Wada
?
PDF
power-assert in JavaScript
Takuto Wada
?
PDF
TDD のこころ @ OSH2014
Takuto Wada
?
PDF
テストを书く文化を育てる戦略と戦术
Takuto Wada
?
PDF
私にとってのテスト
Takuto Wada
?
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
Takuto Wada
?
PDF
爱せないコードを书くには人生はあまりにも短い
Takuto Wada
?
PDF
ペアプログラミング ホントのところ
Takuto Wada
?
PDF
RESTful Web アプリの設計レビューの話
Takuto Wada
?
PDF
TDDBC お題
Takuto Wada
?
PDF
DevLOVE DDDBC
Takuto Wada
?
PDF
TDDBC Fukuoka Day1
Takuto Wada
?
组织にテストを书く文化を根付かせる戦略と戦术
Takuto Wada
?
翱厂厂活动の活発さと评価の関係について
Takuto Wada
?
unassert - encourage reliable programming by writing assertions in production
Takuto Wada
?
OSS についてあれこれ
Takuto Wada
?
power-assert, mechanism and philosophy
Takuto Wada
?
アジャイルサムライの次に読む技术书
Takuto Wada
?
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
?
テスト用ライブラリ power-assert
Takuto Wada
?
Reviewing RESTful Web Apps
Takuto Wada
?
power-assert in JavaScript
Takuto Wada
?
TDD のこころ @ OSH2014
Takuto Wada
?
テストを书く文化を育てる戦略と戦术
Takuto Wada
?
私にとってのテスト
Takuto Wada
?
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
Takuto Wada
?
爱せないコードを书くには人生はあまりにも短い
Takuto Wada
?
ペアプログラミング ホントのところ
Takuto Wada
?
RESTful Web アプリの設計レビューの話
Takuto Wada
?
TDDBC お題
Takuto Wada
?
DevLOVE DDDBC
Takuto Wada
?
TDDBC Fukuoka Day1
Takuto Wada
?
Ad

Recently uploaded (9)

PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?

SQLアンチパターン 幻の第26章「とりあえず削除フラグ」