Download presentation
Presentation is loading. Please wait.
1
オレポータビリティ 日本Rubyの会 青木 峰郎
2
自己紹介
3
自己紹介 1/3 文系の大学生 専門は……哲学?
4
開発と言えば自宅
5
自己紹介 2/3 Ruby関係者 標準添付ライブラリ メンテナ 著書いろいろ
6
自己紹介 3/3 著書 『ふつうのHaskellプログラミング』 『ふつうのLinuxプログラミング』 『Javaを独習する前に読む本』
『Rubyソースコード完全解説』 『Rubyレシピブック』 『Rubyを256倍使うための本 無道編』
7
言語は ほぼ確実に RubyかC
8
./lib/bitchannel/syntax.rb:398:
[BUG] Segmentation fault ruby ( ) [x86_64-linux]
9
「開発環境」 って何?
10
部屋
11
ハードウェア
12
ソフトウェア
13
部屋の様子
14
自室
15
自室(本棚)
16
自室(デスクトップ)
17
自室(キーボード)
18
ハードウェア
19
部屋の様子(マシン)
20
5つのアーキテクチャ x86 AMD64 Alpha SPARC POWER
21
7つのOS Linux FreeBSD NetBSD Tru64UNIX Solaris AIX Windows
22
9つのプラットフォーム Linux/x86 Linux/Alpha Linux/AMD64 FreeBSD/Alpha
NetBSD/Alpha Tru64UNIX/Alpha Solaris/SPARC AIX/POWER Windows/x86
23
「こんなに たくさんあって どうすんの?」
24
愛でるため
25
紺筐体 萌え~
26
ついでに Ruby のテストも している
27
テーマ解説
28
前提: マシン台数も プラットフォームも 多すぎる
29
オレポータビリティ
30
俺(の)portability
31
どんな環境でも 同じように開発できる → オレポータビリティ が高い!
32
オレポータビリティを 高める戦略
33
戦略(1) 必須ソフトウェアを 限界まで削る
34
どこでも使える ソフトウェアが そもそも少ない
35
たくさんソフトウェアを使うとインストールがめんどくさい!
37
必ず使うソフトウェア Ruby Cコンパイラなど zsh vi バージョン管理システム 独自の開発ツール
38
使うもの(1) Ruby 開発版 + 安定版ぜんぶ
39
システムに存在する 全バージョンの ruby に 同じオプションを与えて実行
forall-ruby コマンド システムに存在する 全バージョンの ruby に 同じオプションを与えて実行
40
gcc, bison, flex, autoconf, make, …
41
使うもの(3) zsh
42
使うもの(4) vi
43
複数ファイルを 編集するときは ジョブ制御でがんばる
Ctrl-Z でサスペンド fg コマンドで復帰
44
使うもの(5) バージョン管理システム CVSかSubversion
45
使うもの(6) 独自の開発ツール ReFe rdefs
46
Rubyのリファレンスマニュアルを 検索するツール
ReFe Rubyのリファレンスマニュアルを 検索するツール
47
ファイルに定義されている クラスやメソッドを 抜き出して表示する
rdefs コマンド ファイルに定義されている クラスやメソッドを 抜き出して表示する
48
独自ツールのポイント Ruby だけで書く インストーラを付ける
49
戦略(2) カスタマイズしない
50
いちいち カスタマイズ してられるか!
51
カスタマイズしなくても 使う気になる ソフトウェアだけ使う!
52
No configuration is Good configuration.
53
ノウハウを 作らないことが ノウハウ
54
戦略(3) ホームディレクトリの 構造は全マシンで 共通化する
55
各種設定を 減らすためにも 共通化が重要
56
Convention over configuration.
57
慣習じゅーよー
58
bin, etc, lib, share, src, var
UNIXの/usrを真似る bin, etc, lib, share, src, var
59
自分で 作ったものは ~/c に置く
60
戦略(4) 徹底的に バージョン管理
61
共有するため
62
~/c 以下は 例外なく バージョン管理システム で管理する
63
ソースコード
64
開発ツール
65
大学のレポート
66
戦略のまとめ
67
戦略(1) 必須ソフトウェアを 限界まで削る
68
戦略(2) カスタマイズしない
69
戦略(3) ホームディレクトリの 構造は全マシンで 共通化する
70
戦略(4) 徹底的に バージョン管理
71
結論: あたりまえのことを 徹底的にやるのが ポイント
72
ご静聴 ありがとうございました
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.