akishin999の日記

調べた事などを書いて行きます。

2013-01-01から1年間の記事一覧

Vagrant 1.4.0 で private_network を指定しているとエラーになる件

Vagrant 1.4.0 で追加された Docker provisioner などを試してみたいと思い、勇んでアップデートしてみたところ vagrant up でエラー。 ・ ・ ・ [default] Configuring and enabling network interfaces... The following SSH command responded with a non…

CentOS 6.4 で Docker 0.7 を使ってみる

Docker がバージョン 0.7 から RedHat 系 OS に正式に対応した、という事なのでインストールして軽く触ってみました。Requirements and Installation on Red Hat Enterprise Linux / CentOS - Docker Documentation http://docs.docker.io/en/latest/install…

CentOS 6.5 へアップグレード

CentOS 6.5 が出たみたいです。RHEL 6.5互換となるLinuxディストリビューション「CentOS 6.5」リリース | SourceForge.JP Magazine http://sourceforge.jp/magazine/13/12/04/143000Manuals/ReleaseNotes/CentOS6.5 - CentOS Wiki http://wiki.centos.org/Ma…

ファイルやディレクトリのパーミッションを8進数表記で確認する

ファイルやディレクトリのパーミッションを確認したい場合、ls コマンドではアルファベットでしか確認できませんが、stat コマンドを使う事で8進数表記でパーミッションを確認することが出来ます。 % stat -c %a /home/akishin 755 % stat -c %a /tmp 1777 …

後置の rescue では例外クラスを指定できない

タイトルの通りなんですが、知らなくてちょっと悩んだので忘れないようにメモ。require 時の LoadError を無視したくて以下のようにしたところ、何度試しても rescue 出来ませんでした。 require 'hoge' rescue LoadError #=> cannot load such file -- hoge…

公式の yum リポジトリから MySQL をインストール

MySQL yum repositories | MySQL Server Blog http://mysqlserverteam.com/mysql-yum-repositories/こちらの記事で公式の yum リポジトリが公開されたのを見かけたので早速使ってみました。 OS は CentOS 6.4 x86_64 です。 リポジトリの追加 まずは yum リ…

Vim で英語を書く時に便利なプラグインいくつか

Vim

情けない事にいつまで経っても英語は苦手なままなのですが、プログラマたるもの、自分のプログラム内できちんとした名前を付けるためには避けて通る事は出来ません。 とはいえ、毎回毎回 Web で検索するのにも疲れてきたので、 Vim で英語を書いたり調べたり…

FakeFS でファイルアクセスをテストする

ファイルシステムの操作に関連するクラスのモックオブジェクトを提供するライブラリ「FakeFS」を使ってみたので、使い方をメモしておきます。defunkt/fakefs https://github.com/defunkt/fakefs インストール % gem install fakefs --no-rdoc --no-ri Rails …

lightline.vim で Ricty を使う

Vim

vim のステータスライン用のプラグインを vim-powerline から lightline.vim に変更してみました。 ついでにフォントも Ricty に powerline 用パッチを当てたものに変更したのでやり方をメモ。作業環境は Ubuntu 13.04 32bit です。 Ricty をビルドする Rict…

Ansible で標準のパス以外の場所に入れた Python を使用する

Ansible はデフォルトではリモートのホストに入っている標準の python を使用します。 これを virtualenv 環境など、標準のパス以外の場所の python を使いたい場合には、ansible_python_interpreter 変数で python インタプリタのパスを指定するようです。L…

GitLab 5.4 から 6.0 へアップデートする

GitLab 6.0 がリリースされました。グループ機能を強化した「GitLab 6.0」リリース、有償版の提供も開始 http://sourceforge.jp/magazine/13/08/23/140000Fork したプロジェクトからオリジナルへの MergeRequest が可能になるなど、より GitHub に近付いた感…

条件によって実行する task を定義する

when による条件分岐について調べたのでまとめておきます。host の情報や他のコマンドの実行結果の値により実行する task を定義する事が出来ます。 task を実行するための条件は when 句で指定します。when 句では変数を指定できるので、例えば --extra-var…

20分(くらい)で GitLab をインストールする方法

この間構築手順を書きましたが、改めて見ると GitLab の構築って結構手間がかかって面倒臭いですよね。 私の周りでも構築は面倒というような話をよく聞きます。こんな時こそ自動化だ、という訳で Ansible で GitLab インストール用の Playbook 書いてみまし…

Playbook 実行時に任意の値を指定する

Playbook 内に直接値を定義せず、実行時に外部から値を渡したい場合、 --extra-vars 引数を使う方法と vars_prompt を使う方法があります。 --extra-vars Passing Variables On The Command Line http://docs.ansible.com/ansible/playbooks_variables.html#…

Ansible で複数行の文字列置換

ansible で設定ファイル内の文字列を置換したかったので、 lineinfile モジュールを試してみました。lineinfile http://www.ansibleworks.com/docs/modules.html#lineinfile対象サーバに以下のようなファイルを用意。 /tmp/test.conf foo bar baz bar bar ba…

GitLab 5.4.0 を CentOS 6.4 にインストールする

この暑さのせいか、自宅サーバの HDD がクラッシュしてしまったので、ここしばらく復旧作業に明け暮れていました。 ただ元の環境に戻すのも面白くないので、いい機会だと OS 含めいろいろと最新バージョンをインストールする事に。その流れで GitLab も 5.4.…

Ansible の Playbook を使ってみる

構成管理ツール Ansible を使ってみる の続きです。 今回は Playbook について調べた事をまとめてみます。Playbook は Ansible のモジュールを使用した処理の組合せにより対象サーバの構成を記述したものです。例えば Apache を使用して Web サーバを構築す…

構成管理ツール Ansible を使ってみる

最近は話題のサーバ構成管理ツール Ansible を試したりしています。Ansible 自体は Python 製ですが、使うに当たっては特に Python の知識は必要とされる事もなく、定義ファイル(Playbook)も YAML ファイルなので気軽に始める事ができました。また、Capistra…

Veewee による Vagrant の Box 作成環境構築 Windows 版 その2

Veewee による Vagrant の Box 作成環境構築 Windows 版 その1 の続きになります。 前回構築した環境を使って、Veewee で実際に Box を作成していきます。 Box の作成 まずは以下を実行して Veewee が対応している box のテンプレートを表示します。 >bundle…

Veewee による Vagrant の Box 作成環境構築 Windows 版 その1

遅ればせながら流行りの Vagrant 環境を Windows 上で構築してみました。Vagrant 単体で公式で用意されている Box を使うだけでもそれはそれで便利なんですが、やはり自分で Box を作りたいので、Veewee を使用して Vagrant の Box を作成できる環境も併せて…

Monit で pidfile が存在しないプロセスを監視する

Monit で pid ファイルが存在しないプロセスを監視する方法を調べたのでメモ。Monit でのプロセス監視の例として、以下のように pidfile を使用してプロセスID を指定するものをよく見かけるかと思います。 check process sshd with pidfile "/var/run/sshd.…

Capistrano でローカルに置いてあるアプリケーションをデプロイ

Rails アプリケーション開発中に、ローカル環境で Passenger + production モードの確認を簡単に出来るようにしたかった事もあり、試しに Capistrano でデプロイできるようにしてみました。Apache、Ruby、Passenger 辺りはインストール・設定済みとします。 …

Rails で ReadOnly なデータベースを扱う場合のいろいろ

Rails で書き込みをしたくない参照専用の DB を扱った際に、間違えて更新してしまわないために変更した箇所を備忘録代わりにメモ。 バージョンは 3.2.13 です。 ActiveRecord 使っているのは Rails 3 なんですが、なんとなく Rails 4 の concerns っぽくして…

出力される JSON の形式をカスタマイズする

to_json で出力される JSON 文字列の形式をカスタマイズする方法を調べてみました。 Ruby 2.0.0p247 で確認しています。まずは普通に to_json してみるとこんな感じ。 require 'json' t = Time.local(1978, 5, 31, 19, 30, 40, 205000) h = {id: 100, name: …

Rails 以外で Settingslogic を使う

最近は Rails で環境毎に変更する必要がある独自設定の管理に Settingslogic を使っています。binarylogic/settingslogic https://github.com/binarylogic/settingslogic使い方はこの辺が分かりやすいです。Rails - settingslogicで定数を管理する - Qiita […

タブ型ターミナルエミュレータ「RLogin」を使ってみた

職場の人に教えてもらった Windows 用のタブ型ターミナルエミュレータ「RLogin」を使ってみました。rlogin/telnet/ssh(クライアント)ターミナルソフト http://nanno.dip.jp/softlib/man/rlogin/恥ずかしながら教えて貰うまで全くその存在を知らなかったので…

rbenv を anyenv で管理する

rbenv や plenv などをまとめて管理する anyenv を使ってみました。riywo/anyenv https://github.com/riywo/anyenvanyenv を使う事で、新しい *env 系コマンドを導入する度に初期化処理を .bash_profile に書く、といった作業から解放されます。現在は以下の…

tmux + rbenv の環境で指定した Ruby が使われない件

以前、tmux + rbenv の環境で、指定したバージョンの Ruby が何故か使われなくなってしまった件がありました。tmux + tmuxinator + rbenv の環境で RBENV_VERSION が勝手に設定されてしまう件 http://d.hatena.ne.jp/akishin999/20130303/1362308566この時は…

redis-rb で自動的に圧縮して保存する

redis-rb を使って Redis に値を保存する際に自動的に圧縮して、取り出す時には自動的に展開してくれたら便利だな、と思って試しに作ってみました。Redis::Client へのモンキーパッチで、コマンド判別して Zlib::Deflate と Zlib::Inflate 使って圧縮・展開…

CentOS 6.4 に MariaDB 5.5 をインストールする

RHEL 7 からデフォルトでインストールできる DB が MySQL から MariaDB に変わるかも、という話を読んだので、ちょっと使ってみようと思い立ちインストールしてみました。 OS は CentOS 6.4 x86_64 です。 インストール MariaDB - Setting up MariaDB Reposi…