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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Livesense Inc.
PRO
April 21, 2014
Technology
42
0
Share
抽象について #TechLunch
抽象について
2013/03/06 (水) 12:00-13:00 @ Livesense TechLunch
発表者:松坂 高嗣
Livesense Inc.
PRO
April 21, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
Rubyはただの⾔語に⾮ず
livesense
PRO
0
50
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
61
27新卒_総合職採用_会社説明資料
livesense
PRO
0
4.8k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
9.3k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
380
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
610
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
64k
Other Decks in Technology
See All in Technology
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
7
660
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
3
990
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
1
190
コーディングAIが導くリスクベースド探索的テストの実践
lycorptech_jp
PRO
1
120
Geek Woman の育ち方 〜コミュニティとAIと〜
chicaco
0
170
Pythonでベイズモデリング
soogie
0
170
エムスリーテクノロジーズ株式会社 エンジニア向け紹介資料 / M3 Technologies Company Deck
m3_engineering
0
200
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
150
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
220
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
1
140
React Compiler導入の効果と運用の工夫
kakehashi
PRO
3
300
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
780
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
180
Facilitating Awesome Meetings
lara
57
6.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
250
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Building Applications with DynamoDB
mza
96
7k
Design in an AI World
tapps
1
210
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
190
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
120
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Transcript
抽象について あれこれ考えた 松坂 高嗣 @ma2saka
みんな抽象大好き 「あなたの話は抽象的だ」と言われてふられた経 験、男なら誰しもあるものです と、冒頭でふっておいて。
実は先日 人に話をしている時 自分が使っている「抽象度が」「抽象化レイヤーが」 などという言葉がふとよくわからなくなったのです ということで、抽象度って言葉を調べてみた
None
「抽象度をあげろ」は有名らしい この業界とは関係なく、視野の高い低いと関連して 認知科学の人が提唱しているようです。 抽象度高く、意識高く行こうぜ! http://ja.wikipedia.org/wiki/苫米地英 人
抽象とはなんぞ 所与としての実在の世界においては分離されておらず,また場 合によっては分離することが不可能な諸特性をことさらに分離 して,それだけを思考の対象とする知性の働きをいう。具体に 対する。みずからをかこむ環境世界の中からある一群の特性を 捨象して,残りの特性を選別するという働きは,広い意味でいえ ば,最下等なものを含めた生物一般に,生存のための不可欠 の能力として見られるものであり,そのかぎりでは人間に特有 なものではないが,とりわけ高度に発達した分節言語を持つ人 間においては,抽象の能力は他の動物とは比較にならないほ
ど精緻かつ複雑なものになっている。
つまり 概念上の特定をいろいろ選んで分離して、 対象とする精神の働き こと。
そこから、普段使いの抽象まで
考えてみた • 抽象度という尺度 • 抽象化という操作 • 抽象化レイヤー
抽象度という尺度
抽象度とは度合いの違いのこと 「リンゴ」と「草」 「コンバージョン率」と「成功」 「走る」と「移動」 「バグ」と「障害」 「最後の文字」と「コレクションの末尾要素」 どれも抽象度が違う
抽象度という尺度は人工的・精神的 抽象という概念自体が もともと「精神の働き」なわけです どれだけの具体的な側面を切り落としたかという 「抽象度」なるものは、直感ではとらえる事はできま せん
測定できないが感覚的に比較はできる 測定できないのは原器がないからか? 軸を決めればどっちが抽象度が高いか比較はでき る 定量化できないのに「度」とはこれいかに
抽象度には価値判断は含まれない 当たり前のことだけど 高い方がいいわけではない
軸/切り口大事 • ザリガニ • JR 並べられている言葉をどういう概念でとらえるかで 抽象度は変わってくる。 生物-ザリガニ / 企業-JR
同等? 群れ - ザリガニ / JR - 人間 JRの方が抽象?
抽象化という操作
抽象化は「操作」 この業界ではみんなパンを食べるように抽象化し ます 「一般化」とか「モデル化」とか呼ぶ 枝葉末節を切り落とし、独立した概念を抽出する 操作
計算機科学では 抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象 化は動作の抽象化であり、データ抽象化はデータ構造の抽象 化である。例えば、構造化プログラミングでの制御抽象化とは、 サブプログラムや定式化された制御フローの使用を意味する。 データ抽象化とは、本来ビット列であるデータを意味のある方法 で扱うことを意味する。例えば、データ型の背景にある動機は 抽象化である。オブジェクト指向プログラミングはデータとコード を同時に抽象化する試みと見ることもできる。
抽象化は新しい概念を作ったりする 「新しい概念」を作り出すという意味では創造的な 行い たとえば、マーケッターのやる「100万人の人々」と 100万の「人」との間に、10万人ずつのカテゴリ分 けを行うような操作は、まさに新しい概念を創出し ているのだと思う
抽象化はあんまり意識せずに行われる ファイル名つけるとか 文章の見出しつけるとか インターフェイス設計するとか
抽象化/具体化も価値判断は含まない 無条件にやったほうがいいわけではない 変更の頻繁な箇所は具体的で、粗結合に。 安定な箇所は抽象的で、密結合で。 そんな原則ありましたね。
抽象化レイヤーについて少しだけ
よく「抽象化レイヤー」と言いますが 理解しやすい /利用しやすいように抽象度をそろえ たインターフェイスを提供して、詳細を隠蔽する、 「層」。もしくは幕。 • DSL • API •
カプセル化
網羅的な抽象化レイヤーがなくて詳細が 思い切り露出する例 • 法律
ということで、結論
おわり ご清聴ありがとうございました
抽象とうまくつきあう 普段、意識しないで抽象化操作をして、抽象度をそ ろえた抽象化レイヤーを作って、そこで設計作業し ていたりすると思います サーバ構成検討のタスクとか けっこう身近な「抽象」という考え方に、 意識的になってみませんか?
余談
考えてる最中に出てきた面白い例 「よい英語ビジネス文書を書く能力」 を抽象化する 「よい英語を書く能力」 「英語のビジネスコミュニケーション能力」
次回予告 そろそろ Scala について