Presentation is loading. Please wait.

Presentation is loading. Please wait.

オレポータビリティ 日本Rubyの会 青木 峰郎.

Similar presentations


Presentation on theme: "オレポータビリティ 日本Rubyの会 青木 峰郎."— Presentation transcript:

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 たくさんソフトウェアを使うとインストールがめんどくさい!

36

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 ご静聴 ありがとうございました


Download ppt "オレポータビリティ 日本Rubyの会 青木 峰郎."

Similar presentations


Ads by Google