カテゴリー
コンピューター

【Vagrant】はじめての、Box を Atlas へホストする実践手順記録♪

ポイント

  • Atlas でアカウントを作ると、無料で Vagrant Box をホストすることが可能
  • packer push は使えなかった。つまり、無料アカウントの範囲では、packer push による Atlas サーバでの Vagrant Box 生成ができなかった。
  • ローカルで packer を使って Vagrant Box を作成し、Atlas サイトで Vagrant Box をアップロードする、という手順となった。

今回の投稿では、失敗も含めて試行錯誤した記録を残していきますの♪

カテゴリー
Microsoft

【Vim】【Windows】設定ファイルを読み込む設定を確認するコマンド

Vim が起動時に読み込むユーザーホームディレクトリ下のディレクトリを確認したいですわ。

とある言語のシンタックスハイライトを追加する必要がありましたの。この際に、Vim のインストールフォルダには手を触れたくありませんでした、というのが理由ですわ。

:set runtimepath

すると ~/vimfiles および ~/vimfiles/after が、Vim 起動時に読み込まれるユーザーホームディレクトリのデフォルトであることがわかります。

カテゴリー
Microsoft

【Vim】【Windows7】権限不足で netupvim が使用できなかった問題を解決

問題

にしたがって、netupvim を Vim.exe と同じフォルダに展開し、使用してみたところ途中でエラーが発生してしまいました><。

環境

  • Windows7 Professional 32 bit
  • Vim.exe は C:¥Program Files¥vim74-kaoriya-win32 に配置
  • このフォルダに netupvim 1.0 の中身を展開した。
カテゴリー
コンピューター

【Git】追跡対象としてきたファイルを .gitignore に記述しても反映されない問題の対処方法

問題の内容

今まで Git でバージョン管理してきたファイルのいくつかを、.gitignore に記述し、コミットいたしました。

次に、.gitignore に追記したファイルを編集いたしました。

そうしてから git status で状態を確認してみますと、modified と表示され、つまりは追跡対象ファイルとして扱われてしまっておりました><。

解決のポイント

  • 今まで追跡してきたファイルを .gitignore に追記してコミットしただけでは追跡対象外とならない。
  • .gitignore に記入すると同時に、追跡対象外としたファイルをインデックスから削除する必要がある。
  • 「ファイルをインデックスから削除」を実行した時点で、削除した状態がインデックスに記録される。したがって削除した内容を git add する必要はない。
カテゴリー
コンピューター

【Git】コミットやタグを指定して欲しいファイルだけを作業ディレクトリにチェックアウトする方法

コマンド・ポイント

# 指定コミットやタグから指定ファイルだけを作業ディレクトリにチェックアウト
git checkout <tree-ish> -- <paths>
カテゴリー
Microsoft

【MVC5】【Entity Framework】レコードの一部を更新するには、取得して更新する

ポイント

  • スキャフォールディングによる自動生成のコードではすべてのカラムを更新してしまう。
  • ウェブページからレコードの一部分を受け取って更新したい場合、自動生成コードを使うと受け取っていないカラムの値が無くなってしまう。
  • よって、Find でレコードを取得し、値を変更した後、SaveChanges で更新する。
カテゴリー
コンピューター

【Git】複数ブランチをマージするときに git diff の statt オプションが役立ちました♪

複数ブランチをマージするときのポイント

  • 変更量の多いブランチから取り込みたい
  • 変更量を確認するのに、マージ前に git diff –stat を使うと便利
  • 2つ目以降に取り込むブランチの変更量は徐々に減っていくため、取り込みば取り込むほど次第に楽になっていく。
  • ただし、これは精神的なもので、マージ内容、結果には影響を及ぼさない。
  • コンフリクト時は、git checkout –conflict=diff3 でコンフリクトマーカーを書き直す。
    自分たちの分 (ours)、相手側 (マージしようとしているブランチ) の分 (theirs)、共通 (両方のブランチの共通の祖先) の分 (base) の3つを表示する。

コマンド

# 変更量の統計を表示
git diff HEAD origin/feature --stat
# コンフリクトマーカーを書き直す。
# 通常のマーカーである "ours" と "theirs" に加え、"base" も表示
git checkout --conflict=diff3 .
カテゴリー
コンピューター

【Git】バージョン管理したいファイルだけを .gitignore に記述する書き方

.git ディレクトリ以下のファイルはすべてバージョン管理されます。

無視したい、追跡対象外としたいファイルについては .gitignore ファイルを作成し、そこに記述することで管理しないようにできますの。

ブラックリスト方式ですわね♪

逆に、バージョン管理したいファイルだけをリストアップする、ホワイトリスト方式は可能なのかしら?

.gitignore ファイルの記述を工夫することで可能となりましたのでその方法をノートいたします。

ポイント

  • すべてのファイル、フォルダを無視するように設定する。
  • その上で、管理したいファイルを無視しない設定を付けて指定する。
  • 行頭に ! を付けることで無視しないように設定する。
カテゴリー
コンピューター

Vagrant のプロビジョニングのシェルスクリプトファイルに引数を渡す方法

Vagrant でプロビジョニングをして、WordPress を構築したいと思いましたの。

このとき、WordPress の URL を指定しなければなりません。

Vagrant の開発環境ですので、Vagrantfile で設定する IP アドレスを指定したいですわ。

そうなりますと、Vagrantfile からシェルスクリプトファイルに引数を渡せないかしら、と思い当たります。

今回、その方法をノートいたします。

ポイントと Vagrantfile

  • shell プロビジョナーの args オプションを使用する。
  • path オプションには $1 などの引数を記述する必要はない。
# ipアドレスをシェルスクリプトに渡したいので、変数を定義する。
ipadress = "192.168.56.11"

Vagrant.configure(2) do |config|
  config.vm.network "private_network", ip: ipadress
  config.vm.provision "shell" do |shell|
    shell.path = "wordpress.sh"
    shell.args = [ipadress]
  end
end
カテゴリー
Microsoft

Entity Framework で複合主キーを設定する方法と Find の使い方

エラーとなったダメなモデル例

[Key]
public int GroupId { get; set; }

[Key]
public int UserId {get; set; }