Submit Search
インタフェースのこころ
10 likes
5,934 views
Koichi ITO
Ruby合同勉強会@Sansan (http://connpass.com/event/14398/)
Engineering
Read more
1 of 44
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
More Related Content
PDF
受託開発とRubyGems
Koichi ITO
PDF
The World is Connected
Koichi ITO
PDF
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
Koichi ITO
PDF
INSPIRE FUTURE GENERATIONS
Koichi ITO
PDF
進撃の受託開発
Koichi ITO
PDF
Detroit Programming City
Koichi ITO
PDF
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
Koichi ITO
PDF
Reading 1st dRuby
Koichi ITO
受託開発とRubyGems
Koichi ITO
The World is Connected
Koichi ITO
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
Koichi ITO
INSPIRE FUTURE GENERATIONS
Koichi ITO
進撃の受託開発
Koichi ITO
Detroit Programming City
Koichi ITO
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
Koichi ITO
Reading 1st dRuby
Koichi ITO
What's hot
(20)
PPTX
Spring 12年の歴史
movmov
PDF
ポストJenkins時代のCI戦略
Hiroshi Maekawa
PDF
Spring4-DevLove発表資料
Yuichi Hasegawa
PPTX
こだわりのkintone
Yusuke Amano
PPTX
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
PDF
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
Yusuke Suzuki
PDF
Agile Testing Night #4 LT
Yoshifumi Takeshima
PDF
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
Yusuke Suzuki
PDF
[Java Day Tokyo 2018]50分で最新技術学習の基礎を身につける(SOMPO Systems Daisuke Nishino)
Daisuke Nishino
PDF
decode17
Yahoo!デベロッパーネットワーク
PPTX
5分で出来る!イケてるconfluenceページ
CLARA, Inc.
PPTX
Spring starterによるSpring Boot Starter
Ryosuke Uchitate
PDF
6製品1サービスの開発にPortfolio for JIRAを使ってみた
Hiroshi Ohnuki
PDF
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
Yusuke Suzuki
PDF
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
Daisuke Nishino
PPTX
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
Taichi Watanabe
PDF
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
PDF
エナジャイル設立によせて
Yusuke Suzuki
PDF
Agile japan2016 a 2 ricksoft
Hiroshi Ohnuki
PDF
NoOps?よろしいならば戦争だ
Toru Makabe
Spring 12年の歴史
movmov
ポストJenkins時代のCI戦略
Hiroshi Maekawa
Spring4-DevLove発表資料
Yuichi Hasegawa
こだわりのkintone
Yusuke Amano
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
Yusuke Suzuki
Agile Testing Night #4 LT
Yoshifumi Takeshima
JavaとOSSとAndroid - JavaAPI訴訟問題を考える
Yusuke Suzuki
[Java Day Tokyo 2018]50分で最新技術学習の基礎を身につける(SOMPO Systems Daisuke Nishino)
Daisuke Nishino
decode17
Yahoo!デベロッパーネットワーク
5分で出来る!イケてるconfluenceページ
CLARA, Inc.
Spring starterによるSpring Boot Starter
Ryosuke Uchitate
6製品1サービスの開発にPortfolio for JIRAを使ってみた
Hiroshi Ohnuki
今どきのアーキテクチャ設計戦略 - QCon Tokyo 2016
Yusuke Suzuki
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
Daisuke Nishino
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
Taichi Watanabe
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
エナジャイル設立によせて
Yusuke Suzuki
Agile japan2016 a 2 ricksoft
Hiroshi Ohnuki
NoOps?よろしいならば戦争だ
Toru Makabe
Ad
Viewers also liked
(12)
PDF
パーフェクトBody(仮)
Yuusaku Iwamoto
PDF
Sansan x ESM Ruby合同勉強会 2015.05.15
Tetsuya Mase
PPTX
ヒューマンインタフェースな学会に参加してみた
hcdvalue
PDF
Argカフェ&argフェスト冒頭説明
arg cafe
PDF
音声インタフェースとWebアクセシビリティ
Takuya Nishimoto
PDF
電子書籍小説の「立ち読み」インタフェース 牛尼剛聡
arg cafe
PDF
ユーザーインタフェースの分解
Takehisa Gokaichi
PDF
『UXデザインの教科書』を書きました
Masaya Ando
PDF
インタフェースデザインの心理学 まとめ
akihiro_0228
PDF
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
Ayaka Sumida
PDF
研究サーベイ論文
朋佳 山田
PDF
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
Yotaro Fujii
パーフェクトBody(仮)
Yuusaku Iwamoto
Sansan x ESM Ruby合同勉強会 2015.05.15
Tetsuya Mase
ヒューマンインタフェースな学会に参加してみた
hcdvalue
Argカフェ&argフェスト冒頭説明
arg cafe
音声インタフェースとWebアクセシビリティ
Takuya Nishimoto
電子書籍小説の「立ち読み」インタフェース 牛尼剛聡
arg cafe
ユーザーインタフェースの分解
Takehisa Gokaichi
『UXデザインの教科書』を書きました
Masaya Ando
インタフェースデザインの心理学 まとめ
akihiro_0228
誰に何を伝える?わたしの デザインコンセプトの 作り方、探し方
Ayaka Sumida
研究サーベイ論文
朋佳 山田
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
Yotaro Fujii
Ad
Similar to インタフェースのこころ
(14)
PPTX
Guiを使わないテキストデータ処理
Toshiyuki Shimono
PPTX
インターフェイスによるオブジェクト指向設計
Akineko Shimizu
PDF
Dverseお勉強会 -user interface-
Shogo Numakura
ODP
RubyStation(仮)
yhara
KEY
20120519 #qpstudy インターフェース入門
Hiyou Shinnonome
PDF
GC黄金時代
Narihiro Nakamura
PDF
20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』
Ryo RKTM
PDF
CodingTips+ 基礎編
Yusuke Ito
PDF
2011年10月21日
nukaemon
PDF
RubyKaigi2014: Just in Time compiler for CRuby
imasahiro
PDF
Ruby on rackhub
asonas
PDF
Ruby on rackhub
asonas
PDF
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Takashi Okamoto
PDF
Rubyによる本気のGC
Narihiro Nakamura
Guiを使わないテキストデータ処理
Toshiyuki Shimono
インターフェイスによるオブジェクト指向設計
Akineko Shimizu
Dverseお勉強会 -user interface-
Shogo Numakura
RubyStation(仮)
yhara
20120519 #qpstudy インターフェース入門
Hiyou Shinnonome
GC黄金時代
Narihiro Nakamura
20091010名古屋Ruby会議01 プログラマとプログラマでない人のための課題管理ツール『Redmine』
Ryo RKTM
CodingTips+ 基礎編
Yusuke Ito
2011年10月21日
nukaemon
RubyKaigi2014: Just in Time compiler for CRuby
imasahiro
Ruby on rackhub
asonas
Ruby on rackhub
asonas
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Takashi Okamoto
Rubyによる本気のGC
Narihiro Nakamura
More from Koichi ITO
(20)
PDF
Bundler 2 の胎動
Koichi ITO
PDF
アプリがパッチにまみれたら
Koichi ITO
PDF
Stairway to The Pragmatic Rails Programmer
Koichi ITO
PDF
最軽の開発手法 dX 改
Koichi ITO
PDF
Railsアプリケーションプロジェクトでの読み書きそろばんの1周目、2周目とそれから
Koichi ITO
PDF
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Koichi ITO
PDF
10年生きる Ruby / Rails アプリケーションプログラマーのエコシステム
Koichi ITO
PDF
俺の開発日誌
Koichi ITO
PDF
ghq gem-src and more
Koichi ITO
PDF
RuboCopとXPコーディング規約
Koichi ITO
PDF
俺たちの新人教育!!
Koichi ITO
PDF
スローテスト刑事 (デカ)
Koichi ITO
PDF
Gate of Agile Web Development
Koichi ITO
PDF
RubyKaigi 2015 の Drinkup を支える技術
Koichi ITO
PDF
開発時の探し物を楽にする習慣作り
Koichi ITO
PDF
Motivationware
Koichi ITO
PDF
達人プログラマーへの道
Koichi ITO
PDF
Let's get ready for next Ruby
Koichi ITO
PDF
職と人
Koichi ITO
PDF
Agile Software Development with Edge Ruby
Koichi ITO
Bundler 2 の胎動
Koichi ITO
アプリがパッチにまみれたら
Koichi ITO
Stairway to The Pragmatic Rails Programmer
Koichi ITO
最軽の開発手法 dX 改
Koichi ITO
Railsアプリケーションプロジェクトでの読み書きそろばんの1周目、2周目とそれから
Koichi ITO
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Koichi ITO
10年生きる Ruby / Rails アプリケーションプログラマーのエコシステム
Koichi ITO
俺の開発日誌
Koichi ITO
ghq gem-src and more
Koichi ITO
RuboCopとXPコーディング規約
Koichi ITO
俺たちの新人教育!!
Koichi ITO
スローテスト刑事 (デカ)
Koichi ITO
Gate of Agile Web Development
Koichi ITO
RubyKaigi 2015 の Drinkup を支える技術
Koichi ITO
開発時の探し物を楽にする習慣作り
Koichi ITO
Motivationware
Koichi ITO
達人プログラマーへの道
Koichi ITO
Let's get ready for next Ruby
Koichi ITO
職と人
Koichi ITO
Agile Software Development with Edge Ruby
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