2013/11/28

tmuxを使うことにした

最近はGNU screenよりもtmuxのほうがモダンらしいのでMacBookにtmuxを入れた。

インストールはHomebrewでサクっと。
$ brew install tmux
.tmux.confは以下のようにした。
# PrefixはC−t set-option -g prefix C-t # Default prefixをunbind unbind C-b # tmux.confの再読み込み bind r source-file ~/.tmux.conf \; display-message "Reloaded config done." # Esc遅延を1msに変更 set -sg escape-time 1 # ペイン分割を変更 unbind-key % unbind-key '"' bind-key - split-window -v bind-key | split-window -h # ペイン移動をvi likeに bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # ペインのサイズ変更 bind -r H resize-pane -L 5 bind -r J resize-pane -D 5 bind -r K resize-pane -U 5 bind -r L resize-pane -R 5 # コピーモードをvi likeに setw -g mode-keys vi
ついでに、最近はdotfilesはgithubに置くのがモダンらしいので、僕も置いてみた。
smokeymonkey/dotfiles
なお、なんか最近は「モダンな○×△」って言うのがモダンらしいので、あえて本文中にモダンって連呼してみた。ちょっとアホっぽい。

2013/11/26

Ruby開発環境を作る on 初めてのMacBook

生まれて初めて触るMacBookに戸惑いつつ、開発環境についてFacebookで相談してみて、いろんな人のご意見を頂いた結果、
  • すぐに触れる環境としてOS Xの中でrbenv + ruby-build + gitの環境を作る
  • ミドルウェアのような環境丸ごと試したい場合はVagrant
にしてみようと思っています。

まずはrbenv + ruby-build1 + gitの環境を構築してみました。

2013/11/25

初めてMacを使ったWindowsユーザの俺がブチ切れた7つのこと

Windows95以来ずーっとWindowsユーザだった僕ですが、故あってMacBook Airを使うことになりました。


しかし、だがしかしだ。ここ数年ThinkPadかLet's Noteしか触ってなかった僕が初めてMacBook Airを触ったところ、もうわけわからん。イライラする。イライラする!そんなイライラの原因とその対策をまとめました。

後元々Macユーザの人にとって見れば標準こそ効率的で美しいんだと思いますが、これはあくまでWindowsユーザの僕にとってブチ切れるポイントなので、軽くスルーして下さい。


2013/11/22

Using elasticfox-ec2tag on Windows

はじめに

今日はとても良い記事がありました。


@mirakuiさんによるre:Inventの参加レポなのですが、
「サーバに名前をつけるという行為はもはや古い慣習であり、クラウドネイティブな思考を妨げる足かせになる」
という考え方はすごく良いと思いました。

で、この記事の中で紹介されていたelasticfox-ec2tagが興味深かったので使ってみました!

2013/11/21

Amazon EBSをコマンドで操作する

第2回読書会 - Amazon Web Services クラウドデザインパターン実装ガイドは業務上の都合で参加出来ませんでした。無念。次回第3回読書会は11/25(月)開催なので、なんとしても参加したいと思います!

で、第2回では第2章を読んだということで、僕は独習しないといけません。そこで今日は今日はAmazon Elastic Compute Cloud ユーザーガイドの「Amazon Elastic Block Store(Amazon EBS)」章を読みました。

2013/11/18

仕事用カバンをバックパックにした - NIXON LANDLOCK II

かれこれ6年間、仕事用のカバンとしてトートバッグであるJetSetBagを使っていた。これはとてもたくさんモノが入るしインナーポケットもたくさんあるしととても重宝していたのだけれど、トートバッグの特性上片方の肩にだけ加重がかかることからすっかり身体が歪んでしまい、荷物を持たずに普通に立っていても左肩が右肩より下がっているという体型になってしまった。右肩に持ち直すという方法もあるのだけど、僕の右肩はインピジメント症候群になっているため荷重を加えたくない。

そんなわけで仕事用のカバンをバックパックにした。バックパックだと両肩に荷重を分散できるため身体への負担が少ないというのが選んだ理由。スーツだとトートバッグやショルダーバッグのほうが合うんだけど、もうそんなこと言ってられん。楽なの優先。

購入したのはNIXONLANDLOCK II BACKPACKというモデル。妻様に買って頂きました。ありがとう妻様。



NIXONというブランド自体に深い思い入れは無かったんだけど、よく学生さんが持っているのを見ていて、サイズの大きさと黒に白のワンポイントというデザインが気に入ったので選択した。

ストリートブランドらしく細かいポケットみたいなのはほぼ無くて、インナーにメッシュポケットが一つあるだけ。でも容量はさすがに大きくお弁当や水筒を入れても余裕があるし、サイドにジッパーが付いていてそこから取り出しが出来るようになっている。電車で本を取り出すときはこの口が便利。
僕の用途だとノートPC+ノート+手帳+本+水筒+弁当がメインなので、他の細かいのはポーチに入れて突っ込んでおけば充分。

さっそく今日から通勤で使ってみたけれど、やっぱ肩にかかる負担が段違い。とても楽。少し肩が良くなるといいなぁ。



[ニクソン] NIXON LANDLOCK II NC19531253-00 1253 (WOODLAND CAMO)[ニクソン] NIXON LANDLOCK II NC19531253-00 1253 (WOODLAND CAMO)


NIXON(ニクソン)

Amazonで詳しく見る by AZlink

2013/11/08

elasticsearch-headを使ってみる

今日はelasticsearch-headを使ってみました。

インストール
2台のEC2インスタンスを作成し、ElasticSearch + AWS Cloud Plugin for ElasticSearchでクラスタ構成にします。手順は「AWS Cloud Plugin for ElasticSearchを使う – AWSで始めるElasticSearch(3)」を参照して下さい。

elasticsearch-headはpluginコマンドでインストールします。
$ sudo /usr/share/elasticsearch/bin/plugin -install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip...
Downloading .......................DONE
Installed mobz/elasticsearch-head into /usr/share/elasticsearch/plugins/head
Identified as a _site plugin, moving to _site structure ...
インストール後、elasticsearchのサービスを再起動し、「http://IPアドレス:9200/_plugin/head/」にWebブラウザでアクセスすると、elasticsearch-headのWebUI画面が表示されます。

2013/11/06

はじめてのCloudFormation

やろうやろうと思っていながら中々手が出ていなかったCloudFormation、ようやっと勉強始めました。

テンプレートを作る
まずはAWS-SDK for rubyがセットアップされたEC2を立ち上げるだけの簡単なtemplateを作成してみました。それぞれの項目の意味合いは以下の通り。
  • AWSTemplateFormatVersion ... テンプレートフォーマットのバージョン。AWS CloudFormation User Guideを見ると、現在は「2010-09-09」しか無いため、事実上固定値になっているようだ。
  • Parameters ... ここに記載したパラメータは、スタック作成時指定出来るようになる。この例だと、「KeyName」というパラメータ名で鍵ファイルを指定出来る。またパラメータはRef関数にて参照可能({ "Ref" : "KeyName" })。
  • Mappings ... マッピング定義。引数に対しての戻り値をリストで設定できる。マッピング定義はFn::FindInMap関数にて参照可能。例では{ "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]}の部分。CloudFormationが自動的に設定したリージョン名が入っている擬似パラメータであるAWS::RegionをRef関数にて取り出して、Fn::FindInMap関数に渡している。なお各リージョンで使われているAmazon Linux AMIのIDはAWSのWebサイトで確認できる。
  • Resource ... 作成するリソースに対する定義。例ではセキュリティグループとEC2インスタンスを作成している。
  • Outputs ... スタックを作成した結果で出力したい項目を定義する。CloudFormationのOutputsタブにて参照できる。