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
抽象について #TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
0
38
抽象について #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.
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
100
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
15
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.4k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
390
26新卒_総合職採用_会社説明資料
livesense
PRO
0
8.8k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
27k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
12k
中途セールス職_会社説明資料
livesense
PRO
0
250
EM候補者向け転職会議説明資料
livesense
PRO
0
120
Other Decks in Technology
See All in Technology
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
340
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
370
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
1
290
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
680
本が全く読めなかった過去の自分へ
genshun9
0
710
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
180
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
0
280
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
300
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
1.3k
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
2
310
AI専用のリンターを作る #yumemi_patch
bengo4com
4
2.1k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
GitHub's CSS Performance
jonrohan
1031
460k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Thoughts on Productivity
jonyablonski
69
4.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Music & Morning Musume
bryan
46
6.6k
Designing for Performance
lara
609
69k
The Pragmatic Product Professional
lauravandoore
35
6.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
The Cult of Friendly URLs
andyhume
79
6.5k
Transcript
抽象について あれこれ考えた 松坂 高嗣 @ma2saka
みんな抽象大好き 「あなたの話は抽象的だ」と言われてふられた経 験、男なら誰しもあるものです と、冒頭でふっておいて。
実は先日 人に話をしている時 自分が使っている「抽象度が」「抽象化レイヤーが」 などという言葉がふとよくわからなくなったのです ということで、抽象度って言葉を調べてみた
None
「抽象度をあげろ」は有名らしい この業界とは関係なく、視野の高い低いと関連して 認知科学の人が提唱しているようです。 抽象度高く、意識高く行こうぜ! http://ja.wikipedia.org/wiki/苫米地英 人
抽象とはなんぞ 所与としての実在の世界においては分離されておらず,また場 合によっては分離することが不可能な諸特性をことさらに分離 して,それだけを思考の対象とする知性の働きをいう。具体に 対する。みずからをかこむ環境世界の中からある一群の特性を 捨象して,残りの特性を選別するという働きは,広い意味でいえ ば,最下等なものを含めた生物一般に,生存のための不可欠 の能力として見られるものであり,そのかぎりでは人間に特有 なものではないが,とりわけ高度に発達した分節言語を持つ人 間においては,抽象の能力は他の動物とは比較にならないほ
ど精緻かつ複雑なものになっている。
つまり 概念上の特定をいろいろ選んで分離して、 対象とする精神の働き こと。
そこから、普段使いの抽象まで
考えてみた • 抽象度という尺度 • 抽象化という操作 • 抽象化レイヤー
抽象度という尺度
抽象度とは度合いの違いのこと 「リンゴ」と「草」 「コンバージョン率」と「成功」 「走る」と「移動」 「バグ」と「障害」 「最後の文字」と「コレクションの末尾要素」 どれも抽象度が違う
抽象度という尺度は人工的・精神的 抽象という概念自体が もともと「精神の働き」なわけです どれだけの具体的な側面を切り落としたかという 「抽象度」なるものは、直感ではとらえる事はできま せん
測定できないが感覚的に比較はできる 測定できないのは原器がないからか? 軸を決めればどっちが抽象度が高いか比較はでき る 定量化できないのに「度」とはこれいかに
抽象度には価値判断は含まれない 当たり前のことだけど 高い方がいいわけではない
軸/切り口大事 • ザリガニ • JR 並べられている言葉をどういう概念でとらえるかで 抽象度は変わってくる。 生物-ザリガニ / 企業-JR
同等? 群れ - ザリガニ / JR - 人間 JRの方が抽象?
抽象化という操作
抽象化は「操作」 この業界ではみんなパンを食べるように抽象化し ます 「一般化」とか「モデル化」とか呼ぶ 枝葉末節を切り落とし、独立した概念を抽出する 操作
計算機科学では 抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象 化は動作の抽象化であり、データ抽象化はデータ構造の抽象 化である。例えば、構造化プログラミングでの制御抽象化とは、 サブプログラムや定式化された制御フローの使用を意味する。 データ抽象化とは、本来ビット列であるデータを意味のある方法 で扱うことを意味する。例えば、データ型の背景にある動機は 抽象化である。オブジェクト指向プログラミングはデータとコード を同時に抽象化する試みと見ることもできる。
抽象化は新しい概念を作ったりする 「新しい概念」を作り出すという意味では創造的な 行い たとえば、マーケッターのやる「100万人の人々」と 100万の「人」との間に、10万人ずつのカテゴリ分 けを行うような操作は、まさに新しい概念を創出し ているのだと思う
抽象化はあんまり意識せずに行われる ファイル名つけるとか 文章の見出しつけるとか インターフェイス設計するとか
抽象化/具体化も価値判断は含まない 無条件にやったほうがいいわけではない 変更の頻繁な箇所は具体的で、粗結合に。 安定な箇所は抽象的で、密結合で。 そんな原則ありましたね。
抽象化レイヤーについて少しだけ
よく「抽象化レイヤー」と言いますが 理解しやすい /利用しやすいように抽象度をそろえ たインターフェイスを提供して、詳細を隠蔽する、 「層」。もしくは幕。 • DSL • API •
カプセル化
網羅的な抽象化レイヤーがなくて詳細が 思い切り露出する例 • 法律
ということで、結論
おわり ご清聴ありがとうございました
抽象とうまくつきあう 普段、意識しないで抽象化操作をして、抽象度をそ ろえた抽象化レイヤーを作って、そこで設計作業し ていたりすると思います サーバ構成検討のタスクとか けっこう身近な「抽象」という考え方に、 意識的になってみませんか?
余談
考えてる最中に出てきた面白い例 「よい英語ビジネス文書を書く能力」 を抽象化する 「よい英語を書く能力」 「英語のビジネスコミュニケーション能力」
次回予告 そろそろ Scala について