Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Koichi ITO
PDF, PPTX
5,935 views
インタフェースのこころ
Ruby合同勉強会@Sansan (http://connpass.com/event/14398/)
Engineering
◦
Read more
10
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 44
2
/ 44
3
/ 44
4
/ 44
5
/ 44
6
/ 44
7
/ 44
8
/ 44
9
/ 44
10
/ 44
11
/ 44
12
/ 44
13
/ 44
14
/ 44
15
/ 44
16
/ 44
17
/ 44
18
/ 44
19
/ 44
20
/ 44
21
/ 44
22
/ 44
23
/ 44
24
/ 44
25
/ 44
26
/ 44
27
/ 44
28
/ 44
29
/ 44
30
/ 44
31
/ 44
32
/ 44
33
/ 44
34
/ 44
35
/ 44
36
/ 44
37
/ 44
38
/ 44
39
/ 44
40
/ 44
41
/ 44
42
/ 44
43
/ 44
44
/ 44
More Related Content
PDF
受託開発とRubyGems
by
Koichi ITO
PDF
The World is Connected
by
Koichi ITO
PDF
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
by
Koichi ITO
PDF
INSPIRE FUTURE GENERATIONS
by
Koichi ITO
PDF
進撃の受託開発
by
Koichi ITO
PDF
Detroit Programming City
by
Koichi ITO
PDF
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
by
Koichi ITO
PDF
Reading 1st dRuby
by
Koichi ITO
受託開発とRubyGems
by
Koichi ITO
The World is Connected
by
Koichi ITO
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
by
Koichi ITO
INSPIRE FUTURE GENERATIONS
by
Koichi ITO
進撃の受託開発
by
Koichi ITO
Detroit Programming City
by
Koichi ITO
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
by
Koichi ITO
Reading 1st dRuby
by
Koichi ITO
What's hot
PPTX
Spring 12年の歴史
by
movmov
PDF
ポストJenkins時代のCI戦略
by
Hiroshi Maekawa
PDF
Spring4-DevLove発表資料
by
Yuichi Hasegawa
PPTX
こだわりのkintone
by
Yusuke Amano
PPTX
さくっと理解するSpring bootの仕組み
by
Takeshi Ogawa
PDF
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
by
Yusuke Suzuki
PDF
Agile Testing Night #4 LT
by
Yoshifumi Takeshima
PDF
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
by
Yusuke Suzuki
PDF
[Java Day Tokyo 2018]50分で最新技術学習の基礎を身につける(SOMPO Systems Daisuke Nishino)
by
Daisuke Nishino
PDF
decode17
by
Yahoo!デベロッパーネットワーク
PPTX
5分で出来る!イケてるconfluenceページ
by
CLARA, Inc.
PPTX
Spring starterによるSpring Boot Starter
by
Ryosuke Uchitate
PDF
6製品1サービスの開発にPortfolio for JIRAを使ってみた
by
Hiroshi Ohnuki
PDF
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
by
Yusuke Suzuki
PDF
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
by
Daisuke Nishino
PPTX
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
by
Taichi Watanabe
PDF
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
by
Yusuke Suzuki
PDF
エナジャイル設立によせて
by
Yusuke Suzuki
PDF
Agile japan2016 a 2 ricksoft
by
Hiroshi Ohnuki
PDF
NoOps?よろしいならば戦争だ
by
Toru Makabe
Spring 12年の歴史
by
movmov
ポストJenkins時代のCI戦略
by
Hiroshi Maekawa
Spring4-DevLove発表資料
by
Yuichi Hasegawa
こだわりのkintone
by
Yusuke Amano
さくっと理解するSpring bootの仕組み
by
Takeshi Ogawa
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
by
Yusuke Suzuki
Agile Testing Night #4 LT
by
Yoshifumi Takeshima
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
by
Yusuke Suzuki
[Java Day Tokyo 2018]50分で最新技術学習の基礎を身につける(SOMPO Systems Daisuke Nishino)
by
Daisuke Nishino
decode17
by
Yahoo!デベロッパーネットワーク
5分で出来る!イケてるconfluenceページ
by
CLARA, Inc.
Spring starterによるSpring Boot Starter
by
Ryosuke Uchitate
6製品1サービスの開発にPortfolio for JIRAを使ってみた
by
Hiroshi Ohnuki
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
by
Yusuke Suzuki
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
by
Daisuke Nishino
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
by
Taichi Watanabe
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
by
Yusuke Suzuki
エナジャイル設立によせて
by
Yusuke Suzuki
Agile japan2016 a 2 ricksoft
by
Hiroshi Ohnuki
NoOps?よろしいならば戦争だ
by
Toru Makabe
Viewers also liked
PDF
パーフェクトBody(仮)
by
Yuusaku Iwamoto
PDF
Sansan x ESM Ruby合同勉強会 2015.05.15
by
Tetsuya Mase
PPTX
ヒューマンインタフェースな学会に参加してみた
by
hcdvalue
PDF
Argカフェ&argフェスト冒頭説明
by
arg cafe
PDF
音声インタフェースとWebアクセシビリティ
by
Takuya Nishimoto
PDF
電子書籍小説の「立ち読み」インタフェース 牛尼剛聡
by
arg cafe
PDF
ユーザーインタフェースの分解
by
Takehisa Gokaichi
PDF
『UXデザインの教科書』を書きました
by
Masaya Ando
PDF
インタフェースデザインの心理学 まとめ
by
akihiro_0228
PDF
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
by
Ayaka Sumida
PDF
研究サーベイ論文
by
朋佳 山田
PDF
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
by
Yotaro Fujii
パーフェクトBody(仮)
by
Yuusaku Iwamoto
Sansan x ESM Ruby合同勉強会 2015.05.15
by
Tetsuya Mase
ヒューマンインタフェースな学会に参加してみた
by
hcdvalue
Argカフェ&argフェスト冒頭説明
by
arg cafe
音声インタフェースとWebアクセシビリティ
by
Takuya Nishimoto
電子書籍小説の「立ち読み」インタフェース 牛尼剛聡
by
arg cafe
ユーザーインタフェースの分解
by
Takehisa Gokaichi
『UXデザインの教科書』を書きました
by
Masaya Ando
インタフェースデザインの心理学 まとめ
by
akihiro_0228
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
by
Ayaka Sumida
研究サーベイ論文
by
朋佳 山田
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
by
Yotaro Fujii
Similar to インタフェースのこころ
PPTX
Guiを使わないテキストデータ処理
by
Toshiyuki Shimono
PPTX
インターフェイスによるオブジェクト指向設計
by
Akineko Shimizu
PDF
Dverseお勉強会 -user interface-
by
Shogo Numakura
ODP
RubyStation(仮)
by
yhara
KEY
20120519 #qpstudy インターフェース入門
by
Hiyou Shinnonome
PDF
GC黄金時代
by
Narihiro Nakamura
PDF
20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』
by
Ryo RKTM
PDF
CodingTips+ 基礎編
by
Yusuke Ito
PDF
2011年10月21日
by
nukaemon
PDF
RubyKaigi2014: Just in Time compiler for CRuby
by
imasahiro
PDF
Ruby on rackhub
by
asonas
PDF
Ruby on rackhub
by
asonas
PDF
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
by
Takashi Okamoto
PDF
Rubyによる本気のGC
by
Narihiro Nakamura
Guiを使わないテキストデータ処理
by
Toshiyuki Shimono
インターフェイスによるオブジェクト指向設計
by
Akineko Shimizu
Dverseお勉強会 -user interface-
by
Shogo Numakura
RubyStation(仮)
by
yhara
20120519 #qpstudy インターフェース入門
by
Hiyou Shinnonome
GC黄金時代
by
Narihiro Nakamura
20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』
by
Ryo RKTM
CodingTips+ 基礎編
by
Yusuke Ito
2011年10月21日
by
nukaemon
RubyKaigi2014: Just in Time compiler for CRuby
by
imasahiro
Ruby on rackhub
by
asonas
Ruby on rackhub
by
asonas
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
by
Takashi Okamoto
Rubyによる本気のGC
by
Narihiro Nakamura
More from Koichi ITO
PDF
Bundler 2 の胎動
by
Koichi ITO
PDF
アプリがパッチにまみれたら
by
Koichi ITO
PDF
Stairway to The Pragmatic Rails Programmer
by
Koichi ITO
PDF
最軽の開発手法 dX 改
by
Koichi ITO
PDF
Railsアプリケーションプロジェクトでの読み書きそろばんの1周目、2周目とそれから
by
Koichi ITO
PDF
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
by
Koichi ITO
PDF
10年生きる Ruby / Rails アプリケーションプログラマーのエコシステム
by
Koichi ITO
PDF
俺の開発日誌
by
Koichi ITO
PDF
ghq gem-src and more
by
Koichi ITO
PDF
RuboCopとXPコーディング規約
by
Koichi ITO
PDF
俺たちの新人教育!!
by
Koichi ITO
PDF
スローテスト刑事 (デカ)
by
Koichi ITO
PDF
Gate of Agile Web Development
by
Koichi ITO
PDF
RubyKaigi 2015 の Drinkup を支える技術
by
Koichi ITO
PDF
開発時の探し物を楽にする習慣作り
by
Koichi ITO
PDF
Motivationware
by
Koichi ITO
PDF
達人プログラマーへの道
by
Koichi ITO
PDF
Let's get ready for next Ruby
by
Koichi ITO
PDF
職と人
by
Koichi ITO
PDF
Agile Software Development with Edge Ruby
by
Koichi ITO
Bundler 2 の胎動
by
Koichi ITO
アプリがパッチにまみれたら
by
Koichi ITO
Stairway to The Pragmatic Rails Programmer
by
Koichi ITO
最軽の開発手法 dX 改
by
Koichi ITO
Railsアプリケーションプロジェクトでの読み書きそろばんの1周目、2周目とそれから
by
Koichi ITO
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
by
Koichi ITO
10年生きる Ruby / Rails アプリケーションプログラマーのエコシステム
by
Koichi ITO
俺の開発日誌
by
Koichi ITO
ghq gem-src and more
by
Koichi ITO
RuboCopとXPコーディング規約
by
Koichi ITO
俺たちの新人教育!!
by
Koichi ITO
スローテスト刑事 (デカ)
by
Koichi ITO
Gate of Agile Web Development
by
Koichi ITO
RubyKaigi 2015 の Drinkup を支える技術
by
Koichi ITO
開発時の探し物を楽にする習慣作り
by
Koichi ITO
Motivationware
by
Koichi ITO
達人プログラマーへの道
by
Koichi ITO
Let's get ready for next Ruby
by
Koichi ITO
職と人
by
Koichi ITO
Agile Software Development with Edge Ruby
by
Koichi ITO
インタフェースのこころ
1.
インタフェースの Sansan株式会社さまオフィス (株) 永和システムマネジメント アジャイル事業部 Ruby x
Agile グループ 伊藤 浩一 (@koic) 2015.05.15 (Fri) Ruby合同勉強会@Sansan From IDE to Terminal こころHead First Readline
2.
http://www.ruby.or.jp/ja/news/20150326_2.html Computer programmer, guitarist. Leader
of an Agile software development team at Eiwa System Management, Inc. Lives in Shinjuku. @koic photo token by @NaCl
3.
COMING SOON! http://agile.esm.co.jp/cases/sansan.html にて公開予定
7.
今日の話
9.
GUIのメリットはYSIWYG̶What You See Is
What You Get (見たとおりのも のが結果を得られる) ーというものです。そ してデメリットはWYSIAYGーWhat You See Is All You Get (見たとおり以上のも のは得られない) ーなのです。 21. コマンド・シェルの力を使うこと 『達人プログラマー』78 ページより抜粋
10.
GUIが使えない場合 はシェルを使う。
11.
「黒い画面」の異名で有名
12.
入力インタフェースと 実装インタフェース話
13.
http://ja.wikipedia.org/wiki/GNU_readline
14.
•#1 入力インタフェース •#2 Ruby標準ライブラリ •#3
異言語バインディング Readlineの歩き方
15.
#1 •#1 入力インタフェース •#2 Ruby標準ライブラリ •#3
異言語バインディング Readlineの歩き方
16.
• 人とコンピュータのインタフェース • 考えるために考えない
by @mtsmfm • 「思考の速さで入力する」 • キーバインディング重要、ショートカット重要 • 如何に指の筋肉運動を変えずに操作するか? • コマンドラインに限らず、Readline のインタフェー スで操作できるアプリケーションがさりげなくある 入力デバイスの重要性 https://speakerdeck.com/mtsmfm/find-your-favorite-tools?slide=26
17.
• Ctrl+a (行頭へ移動) •
Ctrl+e (行末へ移動) • Ctrl+f (1文字進む) • Ctrl+b (1文字戻る) • Ctrl+p (入力履歴を戻る) • Ctrl+n (入力履歴を進める) • Ctrl+h (現直前の文字削除) • Ctrl+l (画面をクリアする) 私がターミナルでよく使う行内編集 • Ctrl+r (入力履歴から補完) • Meta+f (1ワード進む) • Meta+b (1ワード戻る) • 入力中のCtrl+d (現位置削除) • Ctrl+k (現位置以降を行末ま で削除してバッファへ) • Ctrl+y (バッファを貼付ける) ほかにあったかな?
18.
ショートカット は早く覚えた 分効果も高い
19.
https://twitter.com/koic/status/18370534918
20.
ちなみにデフォルト ではEmacsという エディタの操作らし いですよ (ステマ)
22.
#2 •#1 入力インタフェース •#2 Ruby標準ライブラリ •#3
異言語バインディング Readlineの歩き方
23.
http://docs.ruby-lang.org/ja/2.2.0/library
24.
http://docs.ruby-lang.org/ja/2.2.0/class/Readline.html
25.
https://github.com/koic/acappella/commit/bbebaa99cea88c1559e683a8739112ed08977187?diff=split
27.
#3 •#1 入力インタフェース •#2 Ruby標準ライブラリ •#3
異言語バインディング Readlineの歩き方
28.
異世界を繋げる バインディング インタフェース
29.
https://github.com/ruby/ruby/blob/ruby_2_2/ext/readline/readline.c
30.
ruby.h readline.c C言語による拡張実装の世界 Client Readline <<ruby>> Rubyの世界 C言語実装をRubyのインタフェース実装で使えるようにアダプタされてる Readlineの作り概要 ※1…readline.hは環境により互換実装editlineが使われる ※2…ruby.h直接ではなくinternal.h経由で読んでる (internal.hは外に使わせないヘッダっぽい。理解が足らず) readline/ readline.h <<readline>> ロードパスに含まれた.rbに継ぎ .so, .bundle,
.dllを読む ビルドによる越境 ※1 ※2
31.
世界を渡る 時の決め事 http://ja.wikipedia.org/wiki/%E5%A4%A7%E8%88%AA%E6%B5%B7%E6%99%82%E4%BB%A3#/media/File:CantinoPlanisphere.png
32.
Cの変数には型があり,データには 型がありません.(中略) 逆にRuby の変数には型がなく,データに型が あります.この違いのため,Cと Rubyは相互に変換しなければ,お 互いのデータをアクセスできません. https://github.com/ruby/ruby/blob/trunk/doc/extension.ja.rdoc
33.
• 用途 • 既存のC言語ライブラリを使いたいとき •
開発速度を犠牲にしても実行速度を得たいとき • RubyのAPIの知識、考え方を流用可能 (呼び出し方はC言語の流 儀に乗る) • メモリ管理をRubyの処理系に任せられたり、そうじゃなかったり • Rubyの拡張を C言語で書くなら、こうあって欲しいのインタ フェースになっている C言語による拡張
34.
readline.c https://github.com/ruby/ruby/blob/ruby_2_2/ext/readline/readline.c#L1800
35.
• void Init_readline(void)
がライブラリ定義のエン トリ • Rubyは拡張ライブラリをロードする時に「Init_ラ イブラリ名」という関数を自動的に実行します (中略) この関数の中でクラス,モジュール,メソッド,定数 などの 定義を行います. • 組み込みライブラリの String であれば、string.c に void Init_string(void) という具合になっている ライブラリ定義の入り口 https://github.com/ruby/ruby/blob/ruby_2_2/ext/readline/readline.c#L1800 (extension.ja.rdoc より抜粋)
36.
モジュール定義 https://github.com/ruby/ruby/blob/ruby_2_2/ext/readline/readline.c#L1828 https://gist.github.com/koic/cf46eccf3cc6e7c066fe C言語の関数でありながら Rubyのインタフェースに 置き換えて考えられる • メソッド名と実装の関数を紐付ける
37.
インターフェイスの三原則 『インターフェイス指向設計』15 ページより抜粋 • 原則1
インターフェイス実装は、そのメソッ ド名が示す通りの処理をしなければならない • 原則2 インターフェイス実装は他に危害を加 えてはならない • 原則3 インターフェイス実装は、責務を果た せない場合にそれを呼び出し元に伝えねばな らない
38.
驚き最小の 原則 Principle of Least
Surprises Rubyに慣れた人にとっての (入り口は><)
39.
Ruby拡張ライブラリ 流儀 C言語で構成されたフレームワークの世界 郷に入っては郷に従え TO
40.
BE
41.
CONTINUED
42.
予習復習研究はこちら http://www.amazon.co.jp/dp/4274066428 プログラミングRuby 第2版 言語編 Rubyのしくみ -Ruby
Under a Microscope- http://www.amazon.co.jp/dp/4274050653 Rubyソースコード完全解説 http://www.amazon.co.jp/dp/4844317210 青木 峰郎 (著), まつもと ゆきひろ (監修) Dave Thomas (著), Chad Fowler (著), Andy Hunt (著), 田和 勝 (翻訳), まつもと ゆきひろ (翻訳) Pat Shaughnessy (著), 島田 浩二 (翻訳), 角谷 信太郎 (翻訳)
43.
おわりに
44.
http://fkino.net/20150225.html
46.
See you later, in
the Ruby community. https://www.facebook.com/photo.php?fbid=819944131416418set=p.819944131416418
Download