Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
抽象について #TechLunch
Livesense Inc.
PRO
April 21, 2014
Technology
0
25
抽象について #TechLunch
抽象について
2013/03/06 (水) 12:00-13:00 @ Livesense TechLunch
発表者:松坂 高嗣
Livesense Inc.
PRO
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
Tech Award 2021 選出方法
livesense
PRO
0
470
株式会社リブセンス エンジニアリング組織を支える風土と制度
livesense
PRO
0
210
株式会社リブセンス・マッハバイト 採用候補者様向け資料
livesense
PRO
0
47
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
240
brain.optimizerのレコメンド取得API
livesense
PRO
0
1.3k
リブセンスでのMLシステム開発・運用と 研究・開発アシスタントの取り組み
livesense
PRO
2
1.8k
Argo Workflow による機械学習ワークフロー管理
livesense
PRO
2
2.7k
事業横断組織でのMLシステム開発・運用と基盤設計
livesense
PRO
0
2.5k
Argo Workflow によるMLジョブ管理
livesense
PRO
2
550
Other Decks in Technology
See All in Technology
Istioを活用したセキュアなマイクロサービスの実現/Secure Microservices with Istio
ido_kara_deru
3
430
[Journal club] Vision Transformer with Deformable Attention
keio_smilab
PRO
0
110
DevelopersIO 2022 俺のTerraform Pipeline
takakuni
0
440
Oblivious Online Monitoring for Safety LTL Specification via Fully Homomorphic Encryption
anqou
0
280
SPAとWebアプリケーションでCognitoの使い方はどう変わるのか? / How do we use cognito with SPA and web applications?
kitano_yuichi
0
410
SBOMを利用したソフトウェアサプライチェーンの保護
masahiro331
1
200
森林情報のオープンデータと QGISでの利用
kou_kita
0
330
psql, my favorite tool!
nuko_yokohama
1
180
ここが好きだよAWS管理ポリシー_devio2022/i_am_iam_lover
yukihirochiba
0
3.2k
PMMやプロダクト関係者と協働するために役割を整理した話 / 20220810_pdmtipslt
rakus_dev
0
120
GCCP Creator @ COSCUP 2022
line_developers_tw
PRO
0
1.4k
2022 COSCUP - GKE Backend Cluster 除雷分享
brentchang
0
120
Featured
See All Featured
BBQ
matthewcrist
74
7.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
15k
Designing for humans not robots
tammielis
242
24k
Music & Morning Musume
bryan
35
4.3k
Facilitating Awesome Meetings
lara
29
4.1k
The Cult of Friendly URLs
andyhume
68
4.8k
The Power of CSS Pseudo Elements
geoffreycrofte
47
4k
Raft: Consensus for Rubyists
vanstee
127
5.5k
Practical Orchestrator
shlominoach
178
8.7k
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
940
What's in a price? How to price your products and services
michaelherold
229
9.4k
Transcript
抽象について あれこれ考えた 松坂 高嗣 @ma2saka
みんな抽象大好き 「あなたの話は抽象的だ」と言われてふられた経 験、男なら誰しもあるものです と、冒頭でふっておいて。
実は先日 人に話をしている時 自分が使っている「抽象度が」「抽象化レイヤーが」 などという言葉がふとよくわからなくなったのです ということで、抽象度って言葉を調べてみた
None
「抽象度をあげろ」は有名らしい この業界とは関係なく、視野の高い低いと関連して 認知科学の人が提唱しているようです。 抽象度高く、意識高く行こうぜ! http://ja.wikipedia.org/wiki/苫米地英 人
抽象とはなんぞ 所与としての実在の世界においては分離されておらず,また場 合によっては分離することが不可能な諸特性をことさらに分離 して,それだけを思考の対象とする知性の働きをいう。具体に 対する。みずからをかこむ環境世界の中からある一群の特性を 捨象して,残りの特性を選別するという働きは,広い意味でいえ ば,最下等なものを含めた生物一般に,生存のための不可欠 の能力として見られるものであり,そのかぎりでは人間に特有 なものではないが,とりわけ高度に発達した分節言語を持つ人 間においては,抽象の能力は他の動物とは比較にならないほ
ど精緻かつ複雑なものになっている。
つまり 概念上の特定をいろいろ選んで分離して、 対象とする精神の働き こと。
そこから、普段使いの抽象まで
考えてみた • 抽象度という尺度 • 抽象化という操作 • 抽象化レイヤー
抽象度という尺度
抽象度とは度合いの違いのこと 「リンゴ」と「草」 「コンバージョン率」と「成功」 「走る」と「移動」 「バグ」と「障害」 「最後の文字」と「コレクションの末尾要素」 どれも抽象度が違う
抽象度という尺度は人工的・精神的 抽象という概念自体が もともと「精神の働き」なわけです どれだけの具体的な側面を切り落としたかという 「抽象度」なるものは、直感ではとらえる事はできま せん
測定できないが感覚的に比較はできる 測定できないのは原器がないからか? 軸を決めればどっちが抽象度が高いか比較はでき る 定量化できないのに「度」とはこれいかに
抽象度には価値判断は含まれない 当たり前のことだけど 高い方がいいわけではない
軸/切り口大事 • ザリガニ • JR 並べられている言葉をどういう概念でとらえるかで 抽象度は変わってくる。 生物-ザリガニ / 企業-JR
同等? 群れ - ザリガニ / JR - 人間 JRの方が抽象?
抽象化という操作
抽象化は「操作」 この業界ではみんなパンを食べるように抽象化し ます 「一般化」とか「モデル化」とか呼ぶ 枝葉末節を切り落とし、独立した概念を抽出する 操作
計算機科学では 抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象 化は動作の抽象化であり、データ抽象化はデータ構造の抽象 化である。例えば、構造化プログラミングでの制御抽象化とは、 サブプログラムや定式化された制御フローの使用を意味する。 データ抽象化とは、本来ビット列であるデータを意味のある方法 で扱うことを意味する。例えば、データ型の背景にある動機は 抽象化である。オブジェクト指向プログラミングはデータとコード を同時に抽象化する試みと見ることもできる。
抽象化は新しい概念を作ったりする 「新しい概念」を作り出すという意味では創造的な 行い たとえば、マーケッターのやる「100万人の人々」と 100万の「人」との間に、10万人ずつのカテゴリ分 けを行うような操作は、まさに新しい概念を創出し ているのだと思う
抽象化はあんまり意識せずに行われる ファイル名つけるとか 文章の見出しつけるとか インターフェイス設計するとか
抽象化/具体化も価値判断は含まない 無条件にやったほうがいいわけではない 変更の頻繁な箇所は具体的で、粗結合に。 安定な箇所は抽象的で、密結合で。 そんな原則ありましたね。
抽象化レイヤーについて少しだけ
よく「抽象化レイヤー」と言いますが 理解しやすい /利用しやすいように抽象度をそろえ たインターフェイスを提供して、詳細を隠蔽する、 「層」。もしくは幕。 • DSL • API •
カプセル化
網羅的な抽象化レイヤーがなくて詳細が 思い切り露出する例 • 法律
ということで、結論
おわり ご清聴ありがとうございました
抽象とうまくつきあう 普段、意識しないで抽象化操作をして、抽象度をそ ろえた抽象化レイヤーを作って、そこで設計作業し ていたりすると思います サーバ構成検討のタスクとか けっこう身近な「抽象」という考え方に、 意識的になってみませんか?
余談
考えてる最中に出てきた面白い例 「よい英語ビジネス文書を書く能力」 を抽象化する 「よい英語を書く能力」 「英語のビジネスコミュニケーション能力」
次回予告 そろそろ Scala について