cocoapoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

145
CocoaPoderと賢者の宝石 ~ まだ bundle exec で消耗してるの? ~

Upload: niwatako

Post on 27-Jul-2015

2.178 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

CocoaPoderと賢者の宝石~ まだ bundle exec で消耗してるの? ~

Page 2: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

@niwatako on Twitter

Page 3: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

にわとり

タコクラゲ

Page 4: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

I ♡ クラゲ

Page 5: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Apple Watch で クラゲが泳ぐ

Page 6: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Apple Watch 最高

Page 7: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

CocoaPoderと賢者の宝石~ まだ bundle exec で消耗してるの? ~

Page 8: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

よく見かけるCocoaPoderの悲鳴

Page 9: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

• みんな違うバージョンのCocoaPodsを使っていて Podfile.lock の行末バージョン表記が異なって困る

• CocoaPodsバージョンアップしたせいで動かない

• bundle exec が面倒

• bundle exec の alias を作ったったwww

Page 10: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Rubyの仕組みで 解決できる。

Page 11: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

CocoaPodsとは

Page 12: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

– @IT

“生産性ガチアゲなiOSライブラリ管理の神ツール”

Page 13: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

コマンドで簡単にXcodeプロジェクトへライブラリを組み込むことが出来る

Page 14: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ sudo gem install cocoapods$ pod setup

CocoaPodsのインストール

Page 15: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

platform :ios, "6.0" pod 'AFNetworking', '~> 2.0'

PROJECT_DIR/Podfile

Page 16: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$pod install

Page 17: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Podfileに書いたライブラリが取得され、プロジェクトに組み込まれる。

Page 18: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

便利 (/・ω・)/

Page 19: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

だが今の手順は良くない。

Page 20: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

CocoaPodsの正体

Rubyというプログラミング言語で作られた、CocoaPodsというライブラリ(”Ruby Gem” ※Gem=宝石)

Page 21: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

ココアポッダーは Rubyを使っています

Page 22: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ sudo gem install cocoapods

Page 23: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ sudo gem install cocoapods

管理者権限を使用している

Page 24: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ sudo gem install cocoapods

管理者権限を使用している

Macに標準で入ったRubyを使っているからgem追加に管理者権限を要している

Page 25: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

“標準のRubyを使っている”とは

Page 26: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ which ruby

Page 27: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ which ruby /usr/bin/ruby

Page 28: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

こんな人はシステムのRubyを使っている人(=゚ω゚)ノ

Page 29: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Mac に標準で入っているRubyに依存している。

Page 30: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

だが、Rubyのバージョンは Mac OS のバージョンによって

異なる可能性がある

Page 31: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

例えば Mountain Lion は Ruby 1 系 Mavericks は Ruby 2 系

Page 32: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

ある日突然、OSにつられて メジャーバージョン

が 変わる

Page 33: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

システムRuby ユーザーは 一体 Ruby の何を信じているのか。

Page 34: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

こんなモノへの依存は 排除すべし

やるべきこと1

Page 35: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ sudo gem install cocoapods

Page 36: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ sudo gem install cocoapods

“RubyにCocoaPodsライブラリを追加”

Page 37: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ sudo gem install cocoapods

“RubyにCocoaPodsライブラリを追加”

グローバルにCocoaPodsが入ってしまう

Page 38: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

むかーしのプロジェクトを触る時、今のバージョンのCocoaPodsで

いいんですか?

Page 39: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ gem install cocoapodsする人は 一体 CocoaPods の何を信じているのか。

Page 40: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

こんな方法への依存は 排除すべし

やるべきこと2

Page 41: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle install

別の方法について

Page 42: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle install

Bundler という Ruby の ライブラリ管理ツール

Page 43: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle install

Bundler という Ruby の ライブラリ管理ツール

Ruby版CocoaPod、 というか

こっちが本家。

Page 44: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

CocoaPodがPodfileに 必要なライブラリを書くように、

BundlerはGemfileに 必要なライブラリを書く。

Page 45: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Gemfileに cocoapods を書いて $ bundle install すれば

cocoapods がインストールされる

Page 46: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle install

Page 47: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle install

正解の可能性と 過ちの可能性

Page 48: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

2つのチェックポイント

• Gemグローバルインストールしていないか=プロジェクトのディレクトリ内に インストールしたGemを閉じ込めているか

• bundle exec … して消耗していないか=省略出来る。 知らずに繰り返すと指を痛めるリスクが高まる

Page 49: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

グローバルインストール していないか

Page 50: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Bundlerは放っておくと グローバルにGemを追加してしまう。

グローバルインストール していないか

Page 51: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Bundlerは放っておくと グローバルにGemを追加してしまう。

グローバルインストール していないか

Page 52: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Bundlerは放っておくと グローバルにGemを追加してしまう。

何を信じているのか。

グローバルインストール していないか

Page 53: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

ProjectAのためにインストールしたGemが ProjectBにも適用される。

気づかぬうちに無いはずのGemを使ってしまったり他プロジェクトによって別VerのGemに

上書きされる恐れ

グローバルインストール していないか

Page 54: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

適切な設定やオプションでGemを ディレクトリローカル にインストールさせることが出来る

グローバルインストール していないか

Page 55: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

プロジェクトが互いの環境から 独立 してエレガントになる

グローバルインストール していないか

Page 56: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

だから$ bundle install は正解の可能性がある。

グローバルインストール していないか

Page 57: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

しかし ディレクトリローカルにインストールしたGemは PATHが通っておらず直接実行出来ない。

bundle exec で 消耗していないか

Page 58: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundle exec pod… などと bundler を介すると実行できる

bundle exec で 消耗していないか

Page 59: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

だがbundle exec は打ちにくい。

bundle exec で 消耗していないか

Page 60: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

繰り返すと最悪指を痛める。

bundle exec で 消耗していないか

Page 61: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

やるべきこと3

こんなコマンドへの依存は 排除すべし

Page 62: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

それでは はじめましょう

Page 63: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Harry Potter and

the Philosopher's Gem

Page 64: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

エコで(グローバル環境を汚さない) 独立した(システム環境に依存しない) 再現性のある(誰のPCでも動く)

Rubyを使ったプロジェクトの作り方

Page 65: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

できるようになること

Page 66: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

プロジェクトごとに 利用するRubyを分ける

Page 67: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Rubyのバージョンを コードで管理する

Page 68: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

プロジェクトごとに 利用する gem を 独立させる

Page 69: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundler で gem を ディレクトリローカル

に 管理する

Page 70: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundle exec を省略する

Page 71: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

指に優しく

Page 72: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

_人人 人人_ > 消耗しない < ‾Y^Y^Y^Y‾

できるようになること

Page 73: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

~1~ Rubyのバージョンを コードで管理する

Page 74: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenv

Page 75: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Ruby環境を 総合的に管理できる

Page 76: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbevnでできる事

• 複数の異なるバージョンのRubyを同一PC内で時と場合によって切り替えながら使用することが出来る

• ディレクトリに .ruby-version ファイルを設置してコードによって “このディレクトリで使うRuby”を 指定できる。

Page 77: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenvを使った トータルでエレガントな Ruby環境構築をしよう

Page 78: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenvをインストール• MacPortsをアンインストール(もしあれば)

• Xcode Command line tools をインストール

• Homebrewをインストール

• rbenvのインストール

• rbenvを使ってRubyをインストール

Page 79: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

細かくはWEBで

Page 80: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜
Page 81: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

この記事がわかりやすいらしいですよ

Page 82: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

この記事がわかりやすいらしいですよ

※私の記事です

rbenvつかってrailsチュートリアルやってみよう! http://niwatako.tips/20140724/article121.html

Page 83: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenv と Ruby のインストール# インストールできるRubyの一覧$ rbenv install -l

# インストール$ rbenv install 2.1.2

# インストール済みの一覧 $ rbenv versions* system 1.9.3-p547 2.0.0-p481 2.1.2

Page 84: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

使用するRuby バージョンを指定する

# システム全体で使うバージョンを指定$ rbenv global 1.9.3-p125

# Mac標準のRubyに戻す$ rbenv global system

# 特定のディレクトリで使うバージョンを指定$ rbenv local 1.9.3-p125

Page 85: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

使用するRuby バージョンを指定する

# システム全体で使うバージョンを指定$ rbenv global 1.9.3-p125

# Mac標準のRubyに戻す$ rbenv global system

# 特定のディレクトリで使うバージョンを指定$ rbenv local 1.9.3-p125

重要

Page 86: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ rbenv local 2.1.2

Page 87: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

.ruby-version

カレントディレクトリに生成される

Page 88: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ cat .ruby-version 2.1.2

Page 89: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenv を使っていれば、 そのディレクトリの .ruby-version に書かれたRubyが

自動で有効になる

Page 90: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

インストールしていないRubyのバージョンが記載されていたら

Page 91: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ ruby rbenv: version `2.1.3' is not installed

Page 92: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Rubyを実行しようとしても rbenvが止めてくれる

Page 93: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenvを標準開発環境として採用し 各プロジェクトで

.ruby-version をリポジトリにコミットすれば 誰のどの端末で clone / checkout しても 開発環境のRubyのバージョンが担保される

Page 94: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Rubyのバージョンを コードで管理する

Page 95: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Rubyのバージョンを コードで管理する

クリア!

Page 96: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

~2~ bundler で gem を ディレクトリローカル

に 管理する

Page 97: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundler を使いましょう。 Gemfile を書いて bundle install

Page 98: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundle install 時に オプションを付ける

Page 99: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle install --path=vendor/bundle

Page 100: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

カレントディレクトリ(Gemfileがあるプロジェクトルート)の

vendor/bundle ディレクトリに インストールした gem を詰め込む

$ bundle install --path=vendor/bundle

Page 101: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

カレントディレクトリ(Gemfileがあるプロジェクトルート)の

vendor/bundle ディレクトリに インストールした gem を詰め込む

$ bundle install --path=vendor/bundle

インストールされたgemはこのプロジェクトでのみ有効。

Page 102: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

環境にやさしい。

Page 103: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundler で gem を ディレクトリローカル

に 管理する

Page 104: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundler で gem を ディレクトリローカル

に 管理するクリア!

Page 105: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

~3~ 指に優しく

Page 106: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

カレントディレクトリ(Gemfileがあるプロジェクトルート)の

vendor/bundle ディレクトリに インストールした gem を詰め込む

$ bundle install --path=vendor/bundle

インストールされたgemはこのプロジェクトでのみ有効。

Page 107: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

カレントディレクトリ(Gemfileがあるプロジェクトルート)の

vendor/bundle ディレクトリに インストールした gem を詰め込む

$ bundle install --path=vendor/bundle

インストールされたgemはこのプロジェクトでのみ有効。

PATHが通らない

Page 108: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle exec …で実行が必要

Page 109: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenv にプラグインを入れる

Page 110: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

git clone git://github.com/ianheggie/rbenv-binstubs.git ~/.rbenv/plugins/rbenv-binstubs

Page 111: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

あとは bundle install にオプションを追加

Page 112: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

--binstubs=vendor/bin

Page 113: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle install\ --path=vendor/bundle\ --binstubs=vendor/bin

Page 114: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

vendor/bin にbundle install した gem の実行ファイルが入り、

自動でパスが通るようになる

Page 115: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundle exec 不要に!

Page 116: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

ちなみに、これらのオプション  --path=vendor/bundle  --binstubs=vendor/bin は、プロジェクトルートの .bundle/configの中に記録されていて、 2度目以降はオプション不要な上、 リポジトリにコミットして コードで管理できる。

Page 117: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

指に優しく

Page 118: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

指に優しく

クリア!

Page 119: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

補足

Page 120: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenvの面倒な所

Page 121: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

gemをインストールするなど 構成に変更を加える度 $ rbenv rehash

コマンドの実行が必要

Page 122: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

新たなる消耗要因!!

Page 123: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

プラグインで解決しましょう

Page 124: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash

Page 125: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenv rehash が必要なタイミングで 自動で rbenv rehash してくれる。

Page 126: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

まとめ

Page 127: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenvを使って快適Ruby環境• Rubyのバージョン管理はrbenvが人気

• rbenvでプロジェクトごとに独立したRuby環境を作れる

• rbenvはプロジェクトのRuby環境をコードで管理出来る

• rbenvはプラグインで便利に。

• rbenv-binstubs で bundle exec による消耗を回避

• rbenv-gem-rehash で rbenv rehash による消耗を回避

Page 128: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

rbenv

Ruby

OS

User

Ruby X.X.X Ruby Y.Y.Y

Bundler Bundler

Project A

cocoapods

User User

Ruby Y.Y.Y

Bundler

B

gem

gemgem

gem gem

Page 129: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

上級編

Page 130: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

RubyGem 信じるんですか?

Page 131: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

DNSimpleがDDoS攻撃受けて仕事が出来ない GitHubがDDoS攻撃受けて仕事ができない Gem開発者が勝手にGemの名前変えて行方不明 Gem消えた

Page 132: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

冪等性とは何だったのか

Page 133: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

$ bundle package vendor/cacheフォルダにgemがキャッシュされる。

$ bundle install --local vendor/cacheフォルダからgemをインストールする。

gemをローカルにキャッシュしてローカルから復元する方法がある!

Page 134: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

_人人 人人_ > 想定の範囲内 < ‾Y^Y^Y^Y‾

Page 135: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundler、素晴らしい。

Page 136: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

でも bundler 信じるんですか?

Page 137: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

・・・bundler自体手に入らなかったら?

Page 138: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundle install --standalone

Page 139: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

bundlerがない環境でも動くようになるらしい。 まだ、調べきれていません。。。

Page 140: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

Ruby、homebrew、rbenv 信じるんですか?

Page 141: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

宿題 ┐(́ω`)┌

Page 142: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

紹介

Page 143: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

CPU、半導体エンジニアから インフラ、WEB、スマホアプリまで フルスタックハウス…!!

ギークハウスに住んでます

Page 144: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜

風呂の順番待ちを iBeaconで解消 furobeacon

Page 145: CocoaPoderと賢者の宝石 〜 まだ bundle exec で消耗してるの? 〜