ruby on vim yokohama.vim発表資料

45
Vimで捗るRuby開発 2014/4/5 Yokohama.vim 小林 翔平@srocktyle

Upload: shohei-kobayashi

Post on 28-May-2015

5.343 views

Category:

Internet


0 download

DESCRIPTION

Yokohama.vim #5発表資料です。 Railsアプリケーション開発とサーバ/インフラ開発におけるVim活用について。 補足説明記事は以下です。 http://blog.srockstyle.com/event/146/

TRANSCRIPT

Page 1: Ruby on vim yokohama.vim発表資料

Vimで捗るRuby開発2014/4/5 Yokohama.vim 小林 翔平@srocktyle

Page 2: Ruby on vim yokohama.vim発表資料

注意!

Vimmer歴短いけど頑張るのでよろしくお願いします

→サーバでviやってたから短期間で習得はできた

発表している人間は黒い画面中毒者なのでそれを前提に聞いてもらえるとマイルドな感じになります。

Page 3: Ruby on vim yokohama.vim発表資料

お前のvimrc見せろよ

ここおいときました

(フォローしてね)

https://github.com/srockstyle/vimrc

Page 4: Ruby on vim yokohama.vim発表資料

Shohei KobayashiBackend & ServerSide Engineer

Page 5: Ruby on vim yokohama.vim発表資料

My Profile

• 言語:Ruby、PHP、Perl、Python、JavaScript

• 元インフラエンジニア

• Github、Qiita、Twitter、Facebook:@srockstyle

Page 6: Ruby on vim yokohama.vim発表資料

なにしてる人なの?

• 女の子写真共有アプリSnapeeeを運営しているマインドパレットという会社でWeb&バックエンドを見てます。

• 設計、サーバ構築~フレームワーク選定からコーディングまで。

• 開発は全部Vimでやってるよ。

• なぜかエンジニア採用担当です。

Page 7: Ruby on vim yokohama.vim発表資料

今日のテーマ 「Ruby on Vim」

vimを使ったRuby開発だよ

Page 8: Ruby on vim yokohama.vim発表資料

はじめに活用事例

vimを使ったRuby開発だよ

Page 9: Ruby on vim yokohama.vim発表資料

アジェンダ

• VimでRuby on Rails開発

• VimとRubyでサーバ・インフラ面開発

• おまけ

Page 10: Ruby on vim yokohama.vim発表資料

第1部:Rails on VimRails開発はVimでやろーよ。

Page 11: Ruby on vim yokohama.vim発表資料

Railsやるとき主に使うプラグイン

• unite.vim

• neocomplcache.vim

• vim-rails

• unite-rails 

• vim-endwise

• neosnippet

Page 12: Ruby on vim yokohama.vim発表資料
Page 13: Ruby on vim yokohama.vim発表資料

unite.vimって?

• 直感的なインターフェイスを提供するプラグイン

• unite-なんとかっていうプラグインいっぱい

• これがあるとないではRails開発が三倍違うぜ

Page 14: Ruby on vim yokohama.vim発表資料

unite-railsこれ最強。

三倍……だと......

Page 15: Ruby on vim yokohama.vim発表資料

とあるRailsプロジェクト

Page 16: Ruby on vim yokohama.vim発表資料

vi Gemfileとかやります

Page 17: Ruby on vim yokohama.vim発表資料

unite-rails発動

Page 18: Ruby on vim yokohama.vim発表資料

Unite rails/viewを実行

Page 19: Ruby on vim yokohama.vim発表資料

編集したいファイルを選択でエンターで開く

Page 20: Ruby on vim yokohama.vim発表資料

これの何がいいか

• Railsのフォルダ構造をなぞってファイルを開かなくてよい

• 2ステップで目的のファイルにたどり着ける

• タブ補完が普通に使える←重要

Page 21: Ruby on vim yokohama.vim発表資料

neocomplcache.vim

Page 22: Ruby on vim yokohama.vim発表資料

Shougoさん お世話になっております。 いつか会いたいです。 抱きしめたいです!

Page 23: Ruby on vim yokohama.vim発表資料

neocomplcache.vimって?• 補完機能をやってくれるプラグイン

• 一度プロジェクト内で使った変数はもちろん、関数とかもちゃんと補完してくれる。

Page 24: Ruby on vim yokohama.vim発表資料

vim-endwise

• if文とかdefとかのメソッド始まりがあったらendを自動入力してくれるプラグイン。

• 閉じ忘れとかなくなるYO!

Page 25: Ruby on vim yokohama.vim発表資料

使用例

!

• 上の例だとdef testとか書いて、enter押すと……

Page 26: Ruby on vim yokohama.vim発表資料

勝手に補完!

!

• 勝手に補完してくれます!

Page 27: Ruby on vim yokohama.vim発表資料

第一部まとめ

• unite、unite-rails、neocomplcache.vim、vim-endwiseあたりはとりあえずいれとけば捗るよ

• あとvim-railsとかあの辺は一応

• rubocopとかコーディングルール系もいれとくといいかも。

Page 28: Ruby on vim yokohama.vim発表資料

第二部 VimとRubyでサーバ・インフラ開発

~プログラミングできることが全てじゃないよ編~

Page 29: Ruby on vim yokohama.vim発表資料

活用事例の復習

こんな感じ。

Page 30: Ruby on vim yokohama.vim発表資料

サーバ/インフラでなぜVimが必要か

• Linuxにたいていviっていうvimの原型が入ってる

• viが使えるというのはサーバ設定をする上で超大事

• vimを覚えればviを自然と使えるようになるので、サーバ周りも学ぶのだいぶ楽になるよ!

Page 31: Ruby on vim yokohama.vim発表資料

声を大にして言いたいこと !

!

「vi使えないくせにエンジニア名乗ってんじゃねえ!」 !

!

~Linuxやるならviぐらい使えるようになろうね~

Page 32: Ruby on vim yokohama.vim発表資料

すいません取り乱しました

Page 33: Ruby on vim yokohama.vim発表資料

Rubyは?• Chefっていうサーバ構築ツールがあり、会社でそれの設定編集するのにVim使ってます。

• 設定ファイルがRubyで書かれているので、Rubyのプラグインいれとけばとりあえずかけます。

• 結構開いたり閉じたりを頻繁にするので、Emacsと違って素早くできるvimが一番便利です。

Page 34: Ruby on vim yokohama.vim発表資料

Chefのレシピ

Page 35: Ruby on vim yokohama.vim発表資料

基本Rubyプロジェクトです

• こんな感じ。

Page 36: Ruby on vim yokohama.vim発表資料

レシピ(設定)ファイルはこんな感じ

Page 37: Ruby on vim yokohama.vim発表資料

Chefとは別にサーバにログインして作業するときvi使うんだ

• サーバ設定においてviを扱える能力は必須。

• Chefでローカルで編集して自動プロビジョニングしてもvi使える使えないではやっぱり違う

• サーバエンジニア並みとはいわなくてもvimを使えるってことはvi使えるってことだからだいぶ楽だよ

Page 38: Ruby on vim yokohama.vim発表資料

時代はImutable Infra

• Imutable Infraをやる上でAWSをターミナルから叩けるのは必須

→vimからAWSコンソールいじれるプラグイン欲しい

→作れ!

Page 39: Ruby on vim yokohama.vim発表資料

インフラ開発のためのプラグイン欲しい

• Chefのプロジェクトを行ったり来たりできるvimのプラグインが欲しい。

• AWSコンソールいじれるプラグインほしい

• VagrantやDocker・・・

Page 40: Ruby on vim yokohama.vim発表資料

第二部まとめ• Chefというツールを使うときにvim使ってるしRubyのプラグインが生きてくるよ

• vimが使えるとvi使えるからサーバに入ったとき戸惑わなくて済むよ

• unite-chefが欲しいから誰か一緒に作ろう?(弱気)

Page 41: Ruby on vim yokohama.vim発表資料

今後の課題• Vimを立ち上げたままのrvmきりかえプラグイン欲しい(今いちいち立ち上げ直してる)

• unite-chefが欲しい(やっぱり:eからの移動面倒)

• unite-awsが欲しい(ターミナルからawsしたい)

だれか解決策教えて!

Page 42: Ruby on vim yokohama.vim発表資料

お願い

ここにいる何人かとvimプラグイン開発したいです!

勇者求む!

Page 43: Ruby on vim yokohama.vim発表資料

おまけ

Page 44: Ruby on vim yokohama.vim発表資料

Rubyエンジニア募集しているよ!

• マインドパレットではエンジニア募集してます。

• Rubyが必須、Javaができれば尚可。

• ChefとかRailsとかAWSとかHadoopとか、その辺のワードにぴんぴんくるひとは言ってね。

Page 45: Ruby on vim yokohama.vim発表資料

ご清聴ありがとうございました