DC4

最強のオプション filter-branchを使ってみた

プライベートプロジェクトをパブリックに移動する際に
一部のファイルは移動したくないし、
歴史からも抹消したいなぁと思い調べてみると、
Gitにはfilter-branchというコマンドがある事を知りました。

このfilter-branchは最強らしいです。

6.4 Git のさまざまなツール - 歴史の書き換え

今回使ったコマンド

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch 消したいファイル" --prune-empty -- --all

--index-filter " gitコマンド " が全てのコミットに適用されるコマンドになります。

参照


githubで二段階認証を設定するとhttpsプロトコル使用時にpushでエラーが出る。

GitHubでは二段階認証の設定が可能です。

Two-factor Authentication

二段階認証を設定している状態でhttpsプロトコルを使用するとアクセストークンが必要になります。

$ git push origin master 
Username for 'https://github.com': ***
Password for 'https://***@github.com': 

fatal: Authentication failed for 'https://github.com/`UserID`/`brunch`.git/'

セットアップ時のgit remote add originSSHを指定していれば問題ないのですが、 httpsを選択してしまっている場合

$ git remote -v
origin  https://github.com/`UserID`/`brunch`.git (fetch)
origin  https://github.com/`UserID`/`brunch`.git (push)

$ git remote set-url origin git@github.com:`UserID`/`brunch`.git

$ git remote -v
origin  git@github.com:`UserID`/`brunch`.git (fetch)
origin  git@github.com:`UserID`/`brunch`.git (push)

こんな感じで変更できます。


Xcode5.1で突然のコンパイルエラー

とある改修のため実機での動作確認を行おうとした所、以下エラーが発生。

No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

プロジェクトファイルを確認すると、buildSettingsに変更が加えられていた。

ググってみると、Xcode 5.1からデフォルトで64bitのアーキテクチャが指定されるとの事。

参考URL: http://lab.dolice.net/blog/2014/03/15/xcode5-architectures-32bit/

Architecturesの設定を以下のように修正した所、無事解決

f:id:Yasun:20140623172522p:plain


Vagrant + Docker入門

やりたい事

  • VagrantVirtualBox → docker で起動。
  • 既に作成済のWebアプリケーションを動作させたい。

Vagrantのセットアップ

参考サイト


Vagrantのメモ

  • Provider
  • Box
    • 仮想環境のベースとなるファイル、ubuntとかcentosとか。
  • Vagrantfile
    • 構築するVirtualBoxのスペック、使用するプロビジョニングツールの指定など。
  • Provision

参考サイト - Vagrant日本語ドキュメント - Vagrantの基本


VagrantのDocker provisioner

今まではGithubのdockerリポジトリにVagrantfileが存在し、 サンプルではそれを使用する事が多かったが、Docker provisionerVagrant1.4より導入され、そちらを使用する流れになったらしい
- ざっくり分かる Vagrant 1.4 / Docker Provisioner

Vagrantfileに以下の記載を追加後、 vagrant upをするとdockerubuntuイメージが入った状態で構築される。

  config.vm.box = "precise64"
  config.vm.provision :docker do |d|
    d.pull_images "ubuntu"
  end  

Hello docker

vagrant@precise64:~$ docker run ubuntu /bin/echo Hello,docker
Hello,docker

コンテナのイメージ保存

vagrant@precise64:~$ docker run -i -t ubuntu /bin/bash
root@6741f819921b:/# apt-get update
root@6741f819921b:/# apt-get install -y memcached
root@6741f819921b:/# exit
exit
vagrant@precise64:~$ docker commit `コンテナID` yasu/memcached
vagrant@precise64:~$ docker images yasu/memcached
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
yasu/memcached      latest              cba457033634        53 seconds ago      261.3 MB

イメージからのコンテナ起動

# コンテナの11211ポートを公開
vagrant@precise64:~$ docker run -p 11211 -i yasu/memcached /usr/bin/memcached -u memcache -vv

Dockerfileの書き方

/home/vagrant/Dockerfiles/Dockerfile

FROM ubuntu

RUN apt-get update
RUN apt-get install -y git
RUN apt-get clean

DockerfileのBuild

docker build -t yasu/git_for_dockerfile /home/vagrant/Dockerfiles/

Dockerfileではなく、Dockerfileが存在するディレクトリを指定する事

vagrant@precise64:~$ docker run -i -t yasu/git_for_dockerfile /bin/bash
root@4015bceae1c4:/# git --version
git version 1.7.9.5

所感

  • Vagrant / VirtualBox を使用した事が無かったため、そちらを先に入門すべき。
  • 今回の目的ではVagrant + VirtualBoxで達成できるっぽい。
  • イメージのDLに時間が掛かるので作業中はやめたほうがいいかも。


ダークソウル2のマッチングサイトを作りました。

ダークソウル2がついに発売されました!

太陽!万歳! ということでダークソウル2のマッチングサイトを作ってみました。

干か指α

使い方

【募集側】

  • 左のメニューから募集したいエリアを選択します。
  • [投稿]ボタンから以下を入力します。
    • 募集対象
    • SL帯
    • 周回数
    • コメント(任意)
  • 待ちます。誰か来るかもしれません。

【参加側】

  • 左のメニューから参加したいエリアを選択します。
  • 条件を絞り込みます。
  • 向かいます。
  • 合流できるかもしれません。

使った技術とか

  • Perl
  • mojolicious
  • Redis
  • bootstrap3
  • Nginx
  • Starman
  • supervisor
  • Cinnamon ...etc

f:id:Yasun:20140316123902p:plain

f:id:Yasun:20140316123909p:plain

絶望を焚べよ。