気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

z.shをbrewを使わず導入する

z.shとは?

z.shって何って人はこちらを参照してください
z.shでよく行くディレクトリに手軽に移動する - Qiita

簡単に説明すると、ディレクトリパス移動が楽になるシェルで
覚えている一部の文字列を入力してtabを押すと、今までの移動履歴から入力文字列を含んだ移動先パス一覧を表示してくれるというもの。

cd、cdでの移動から開放されて、手放せなくなります。

mac以外の環境でも使いたかったので、こちらに導入方法を記載した。

インストール方法

下記よりz.shをダウンロードし、任意のシェルを配置している場所に置く。
https://github.com/rupa/z

z.shを読み込む

source z/z.sh

Eclipseの導入方法

Eclipseの導入において、よく設定する内容を記載します。

下記のEclipse IDE for Java EE Developersをインストール
https://eclipse.org/downloads/

日本語化

エディタでの文字化け対策

ファイルのエンコードUTF-8に変更します。

テキスト内容  

  • メニューのウィンドウ(W)>設定(P)を選択
  • 設定ダイアログの一般>コンテンツ・タイプ
  • テキストを選択し、デフォルト・エンコードUTF-8に更新

その他ファイル

  • メニューのウィンドウ(W)>設定(P)を選択
  • 設定ダイアログの一般>ワークスペース  
  • テキスト・ファイルのエンコードでその他のUTF-8を選択し適用

Vagrant Rails4.2にホストOSから繋ぐ方法

Vagrant+VirtualBox+Ruby+Railsによる仮想環境へのRails環境構築は下記を参照することで実現できました。
【Windows7】VirtualBox + Vagrant + Ruby + Rails4 開発環境の構築【初心者必見】 - Qiita

ただ、仮想環境で実行したrails serverへホストOSへ繋げませんでした。

f:id:tamata78:20160131164114p:plain

下記の2つの設定を行ったところ、アクセスできるようになりました。

仮想環境にホストOSのブラウザからIP指定でアクセスできるようにする設定

Vagrantfileに記載するネットワーク設定をpublic_networkに変更。コメントアウトされている箇所を コメントアウト解除する。

Vagrantfile

config.vm.network = "public_network"

rails serverをオプション付きで起動する

$ rails s -b 0.0.0.0
=> Booting WEBrick
=> Rails 4.2.5.1 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-01-31 07:09:07] INFO  WEBrick 1.3.1
[2016-01-31 07:09:07] INFO  ruby 2.3.0 (2015-12-25) [x86_64-linux]
[2016-01-31 07:09:07] INFO  WEBrick::HTTPServer#start: pid=2766 port=3000

f:id:tamata78:20160131164029p:plain

アクセスできた。。

オプション付きで起動しないと下記のRails4.2の変更が行われた影響でアクセスできなくなるとのこと。

以下、Ruby on Rails 4.2 リリースノートより引用

3.3 rails serverのデフォルトホスト Rackの変更 により、rails serverコマンドを実行した際のデフォルトのホストが0.0.0.0からlocalhostに変更されました。この変更は標準的なローカルでの開発ワークフローにほとんど影響を与えないはずです。http://127.0.0.1:3000 および http://localhost:3000 の動作はどちらも以前と同じであるからです。

ただし、今回の変更により、別のPCからRailsサーバーへのアクセスは以前と同じようにはできなくなります。たとえば、development環境が仮想マシン上にあり、ホストマシンからこのdevelopment環境にアクセスする場合などがこれに該当します。 このような場合、サーバーを起動する際にrails server -b 0.0.0.0とすることで、以前と同じ動作を再現できます。

(追加で設定しておくと便利) interface を手動選択しなくていい方法

Vagrant に public interface を追加した場合、vagrant up時に interface を手動選択する必要が出てきます。

bridge の指定をすることで回避可能

config.vm.network :public_network, bridge: 'en0: Wi-Fi (AirPort)'

ブリッジに使いたい interface は、ホストによって変更する場合は下記を参考にしてください。
環境変数で Vagrant の bridge を指定できるようにする - Qiita

参考URL

Vagrantで作成した仮想環境のRails4.2に繋がらない!! - Qiita
Rails 4.2 - 2014/12 - Rails ガイド

pry上でのRuby APIの使い方

オブジェクトのメソッドを調べる方法

object_name内に「url」文字列を含むメソッドが存在するかを調べる。

[1] pry(Hoge)>object_name.methods.grep(/url/)

DBデータ取得後にパターンマッチする

Gruoupsテーブル内のidが123のレーコード内のname項目で数値を含むものを表示する。

[1] pry(Hoge)>Groups.where(id: 123).pluck(:name).select { |w| w.match /\d/ }

1レコード取得かつ1項目取得する

Userテーブル内のname項目を抽出する。

[1] pry(Hoge)>user.map(&:name)

コマンドライン作業がサクサク進むショートカット

コマンドラインで長いコマンドを打った時、矢印キーで移動したり、間違った内容をバックスペースで1字ずつ消したりしていませんか?

私はやってましたw
コマンドラインにもショートカットが存在することを教えてもらったので、忘れないようにまとめておきます。

矢印キーの代替

ショートカット 概要
Ctrl + f → カーソルを右に移動
Ctrl + b ← カーソルを左に移動
Ctrl + p ↑ コマンド履歴をさかのぼる
Ctrl + n ↓ コマンド履歴を進め

矢印キーに手を伸ばさずに移動が可能。
作業スピードが断然早くなる。

その他よく使うキーの代替

ショートカット 概要
Ctrl + [ ESCキーと同じ
Ctrl + h BackSpaceキーと同じ
Ctrl + j Enterと同じ
Ctrl + m Enterと同じ

移動系

ショートカット 概要
Ctrl + a 行頭に移動
Ctrl + e 行末に移動

1単語移動、削除

ショートカット 概要
ESC f カーソルを右に1単語移動
ESC b カーソルを左に1単語移動
ESC d カーソルの右の1単語削除
ESC Ctrl + h カーソルの左の1単語削除

いろんな削除と削除したものの貼り付け

ショートカット 概要
Ctrl + l バッファをクリアする。clearと同じ効果
Ctrl + k カーソル位置から行末まで削除(キルバッファ入り)
Ctrl + u コマンドラインに入力されたものをすべて消す(キルバッファ入り)
Ctrl + w コマンドラインに入力された単語(スペース、\、:区切り)を消す(キルバッファ入り)
AlT + d ワード単位でカーソルより行末方向の文字列を削除(キルバッファ入り)
Ctrl + y 上記コマンドで格納されたキルバッファの内容をペースト

コマンドラインをエディタで編集

fcコマンドを打つとEDITOR変数で指定されているエディタでコマンドラインを編集することができる。長いコマンドを編集する際にvimの力を借りることができる。fで検索移動とか。

処理プロセスを一時停止。別作業後にすぐに復帰

ショートカット 概要
Ctrl + z 処理中のプロセスを一時停止する
fg 一時停止プロセスを復帰する

参考URL

コマンドラインはショートカットキーで。 - 目の前に僕らの道がある
ターミナル使いこなし! - シェルのショートカットコマンド - FreeBSDいちゃらぶ日記