エンジニアになりたい

エンジニアです

Vagrantで作った仮想環境上のサーバに他の端末からアクセスする

概要

Vagrantの仮想環境上に立てたサーバに、Androidなどの端末からアクセスする

やりかた

Vagrant

Vagrantのネットワーク機能には大きく分けて3つあり、目的によって使い分ける。

参考:Vagrantのネットワーク周りのあれこれ | Septeni Engineers' Blog | セプテーニ エンジニアブログ


種類 概要
プライベートネットワーク ホストOSとゲストOS間でのみ通信が行える
ポートフォワーディング ホストOSへの特定のポートを使った接続をゲストOSに転送する
パブリックネットワーク 同一ネットワーク内のどの端末からでもゲストOSと通信が行える


今回はポートフォワーディングを使ってホストOSの特定のポートへのアクセスをゲストOSへ転送する。

Vagrantfileのネットワークの設定をを以下のようにする。

config.vm.define :db1 do |db|
    db.vm.network :forwarded_port, guest: 80, host: 8080, :bridge => "en0: Wi-Fi (AirPort)"
end

ネットワークを forwarded_portにし、ゲストOSとホストOSのポートを指定、ネットワークインタフェースに bridge オプションを付けて、Wi-Fiネットワークからのアクセスを可能にする。

この状態で

$ vagrant up

を実行する。

既にupされていた場合は

$ vagrant reload

を実行する。

ローカル

無線LANIPアドレスを確認する。

$ ifconfig
wlan0     inetアドレス:192.168.0.2

これで、仮想環境上のサーバが動いていれば、同一のネットワークに繋いでいる端末で192.168.0.2:8080にアクセス出来るはず。

f:id:pro_shunsuke:20140922060714p:plain

WebStormからリモート上のファイルを編集する

概要

vagrantで作った仮想環境上のファイルをWebStormで編集する

SFTPでローカルとサーバを同期する

やり方

リモートホストの設定

f:id:pro_shunsuke:20140921212634p:plain

  • Mappingsタブにパスの設定をする
プロジェクトを作成する
  • File -> New Project from Existing Files...
  • Web server is on remote host, files are accessible via FTP/SFTP/FTPS

    f:id:pro_shunsuke:20140921223153p:plain

  • Next
  • Project nameを決定し、Deployment optionsはCustomを選択
  • Next
  • Exclude items by nameの項目の .git; を消去
  • Upload changed files automatically to the default serverの項目を Always に

f:id:pro_shunsuke:20140921223615p:plain

  • Next
  • Use existing server から、先程追加したサーバを選択
  • Next
  • リモートサーバのルートフォルダを選択し、左上の Project Root を押す

f:id:pro_shunsuke:20140921224011p:plain

  • Next
  • Finish

これでプロジェクトが作成される

ここでサーバからファイルをダウンロードするため、時間がかかる場合がある

これで、ローカルのファイルを編集するとその変更がリモートサーバに反映される

f:id:pro_shunsuke:20140921224645p:plain

gitによる開発

gitでバージョン管理をする場合、変更がうまく反映されないため少し面倒な事をする必要がある。

これをしないと、ローカルではdevブランチで開発をしているはずなのにリモートではmasterブランチにファイルの変更がなされてしまう、といったことが起きる。

gitによる開発の具体的な方法

何かしらgitの操作をする度に、.git ディレクトリ以下をリモートサーバにアップロードする

  • 右画面のRemote Hostを表示
  • ルートディレクトリの.gitディレクトリを右クリック
  • Upload here を選択

f:id:pro_shunsuke:20140921230358p:plain

最後に

これが正解だとは思っていません。もっと正しい方法があると思うので、あったら教えてください。

 

素直になろう

みなさんは素直になれていますか?

例えば好きな人には好きと、嫌いな人には嫌いと、

ちゃんと言えますか?

 

相手のよくない所はっきり指摘して、

「それって良くないよ、直したほうがいいよ」

とか言えますか?

 

僕は言えません。とても弱い人間だからです。

傷つくのが怖いから言えないんです。

「言ったら嫌われるんじゃないか・・・」

「嫌な奴、とか思われるんじゃないか・・・」

ネガティブなことばかり考えてしまいます。

 

違うんです。

はっきりと言わなければならないんです。

そうでないと信用を失うのです。

はっきり言えないのは、相手が傷つくから、とか

相手に嫌な思いさせたくない、とかではないんです。

 

自分が傷つきたくないのです。

 

相手のことを思うなら、そして自分が相手から信用されたいと思うなら

ダメなところははっきり言いましょう。

これは僕自身への戒めでもあります。

 

素直になって、真正面から正々堂々相手と向き合って、

自分も相手も、お互いダメなところを言い合って、

いい関係を築きましょう。

 

それではおやすみなさい。。。

やってないと忘れる!

今日は日曜なのに研究室に行ってました。

そしてほとんどニコ生見てました_| ̄|○

あまり課題も進まなかった1日ですが、

少し教訓を得られたので紹介します。

 

ニコ生で英単語クイズをしていたんです。

そこで1つの問題で、「靴」を英語で書く、

というものがあったんです。

そうです、「靴」は英語で「shoes」です。当たり前です。

それで僕は何と答えたかと言うとですね、

 

「kutuu」

 

はい、終わってます。これが大学院生だとは笑わせますわ・・・。

「高校生の俺だったら楽勝だったからwww」

とか思いました。

でもそれだと意味がないんですね。過去の自分は今の自分では無いですから。

 

人間、一部の天才を除いては、そう長くは物事を覚えていられないです。

 

f:id:pro_shunsuke:20130610044821p:plain

ヘルマン・エビングハウスによって導かれた忘却曲線というやつです。

縦軸がどれくらい覚えているか、横軸が時間です。

緑の線は定期的に復習をした場合のグラフで、赤の線は全く復習を

しなかった場合のグラフです。

 

この忘却曲線を見れば一目瞭然、人は復習しなければどんどん忘れていく

生き物だということがわかります。

 

復習しましょう!

 

今日得られた教訓です。

さすがに靴を応えられなかったのはまずかった・・・。

絶対に靴だけは覚えます!!!

shoes,shoes,shoes,shoes.............