Atom Key Binding Resolver

Atomを使っていてキーバインディングで迷子になった時いつも調べるのでメモ。 基本は cmd+shift+p で keymap を検索して、 もしくは cmd+, で設定の Keybindings からキーバインディング設定を開いて確認する。 ない場合は 「Key Binding Resolver」を使うと…

Terraformで循環参照のエラーが出た時

これは、リソースを変数で参照して整合性?を保とうとしたときに良くなる。 variable "env" { type = "string" default = "dev" } variable "service" { type = "string" default = "foo" } resource "aws_cloudfront_origin_access_identity" "origin_acces…

Terraformでテンプレートを使ってポリシーを定義する

Terraformにはテンプレート機能がある。よく使われるのは、ポリシーの設定などで、ヒアドキュメントで記述されるようなものを、別ファイルに記述し変数を与えて埋めていく。 ポリシーを定義する 例えば、ユーザやグループにポリシーを設定するために、まずポ…

Terraform で変数を使う

Terrafromでは変数が利用でき、variableを定義して、値を注入する。 一番シンプルな例は次の通り。 provider "aws" { region = "ap-northeast-1" } variable "foo" {} resource "aws_s3_bucket" "s3_bucket" { bucket = "${var.foo}" acl = "private" } vari…

Terraform でループして複数のリソースを作成する

TerraformでListの変数を使ってループさせたい時がある。 例えば、ユーザアカウントを複数作りたいとき。 以下のようなリソース定義を必要な分だけ書かないといけない。10個あったら10個。メッチャ大変。 resource "aws_iam_user" "developer" { name = "foo…

PebbleのWatchFaceを作ってみた

去年、PebbleがFitBitに買収されてたので、在庫が無くなる前にPebble Time Roundを買った。 今までは、Pebble Timeを使っていたんだけど、四角いし厚いしいまいちオシャレじゃないなーと思ってたのでよい機会。 毎年、正月休みに新しい何かを触ってみようと…

Alfred 3 のテーマ

先日、Alfred 3がリリースされた。パワーパックは2で購入していたので £12 でアップグレードできる。 とはいえ、2で満足できてたし1,600円払ってまでアップグレードするほどの目玉機能入ったの?? 早くなった?ワークフローが強くなった?いやー、2で十分で…

沖縄の岩場 読谷ボルダーと瀬底ボルダー

ぼくは、趣味であるスキューバダイビングをするため、年に一度くらいのペースで沖縄に行く。 さらに、もう一つの趣味であるボルダリングもついでにやろうと思い登れる岩場を調査した。調べてみると、あまり多くの情報は無く(あっても古く)トポなどは存在し…

Terraform に入門してみる

Terraformを使うのでとりあえず入門記事を漁って見る。 Terraform簡易チュートリアル on AWS - Qiita EC2の起動から削除までを一通り説明している最小構成のチュートリアルだと思う。一番最初にやるのがよいかな。内容は事前準備、Terraformの導入、Terrafor…

Amazon Fire TV Stick のリモコンを忘れた話

正月は実家に帰ってAmazon Fire TV Stick 海外ドラマ見てダラダラ過ごす他ほかないと計画し、TV Stick を忘れずにカバンに入れて安心しきっていた。いざ、ゴロゴロしようと思ったらリモコンを忘れていたことに気づいた*1。 色々調べてみると、BRAVIA とかだ…

dockerがVPNのせいで繋がらなくなった時は面倒くさい

VPNとか繋いだりすると、詳しいことはよくわからないがdockerコマンドが返ってこないことがよくある。 そういう時は、次のコマンドを打つと直る。 boot2docker down sudo route -nv delete -net 192.168.59 -interface vboxnet1 sudo route -nv add -net 192…

OSX docker のセットアップ

今更、書くことでもないが。 基本的に公式ドキュメント見ればいいと思う。 Installation on Mac OS X VertualBoxが必要なので、予めインストールしておくとよい。 インストール インストールは homebrew でサックっと行う。 brew update brew install boot2d…

IntelliJ をターミナルから開く

これも、一年前くらいの下書きを放出。 sbt経由でIntelliJを起動する方法があったが、sbtの起動がおそいので辛い気持ちがあった。 d.hatena.ne.jp もう、直接起動すれば良いのではないかということで、以下の関数を bashrc なり zshrc なりに追加する。 idea…

octocatが居るとターミナルで文字がずれる

いつも使っている別のPCで、いろいろと環境を整えていた。 ところが、タブで補完しようとすると、今まで入力していたところが位置も自分ずれてしまう現象が発生した。 原因は、表示されているoctocatであることはすぐに確認できた。 文字幅が2つ分とられてい…

IntelliJでSpecs2をs2形式で書くと重い

ここに、同じ症状の方が居た。 Präparat Blog: IntelliJ IDEA + Specs2 が劇重な件は文字列フォーマット検証をオフに やっても改善せず。 ついでに、なぜか一つめに赤線がひかれる。 MatcherResultがかえってるけど、Resultがほしいからエラーっぽい。 ただ…

Scientific Linux 7.0, 7.1 の Docker ベースイメージを作る

タイトルのまんまですが、ScientificLinux 7.0, 7.1用の Dockerベースイメージを作りました。 一年くらい前に6.5のものを使っ他やり方(Scientific LinuxのDockerイメージを作成する - リジェクトされました)でつくろうとしたらうまく行かなかったのでメモ…

VirtualBox で Scientific Linux 7.0 を起動しようとしたら Guest Additions のインストールに失敗

Scientific Linux 7.0 の Docker用ベースイメージをつくろうと思い、 vagrant up をしたらエラーが発生してうまく行かなかった。人生は厳しい。 おかげで、 /vagrant がマウントされなかった。 環境 $ vagrant --version Vagrant 1.7.4 $ VBoxManage --versi…

nodebrew をアップデートしたら exec format error: nodebrew がでた

久しぶりにnodeを最新にあげようと思って、まずnodebrew self updateしたら exec format error: nodebrewがでてきて動かなくなってしまった。が、調べたらすぐ解決できた。よかった。 @Jxck_ GithubのURL変更で動かなくなったやつですかね? https://t.co/MwL…

rbenv で ruby の環境を整える

忙しい人のためのまとめ インストール Macは brew install rbenv ruby-build でインストール。 git clone https://github.com/sstephenson/rbenv.git ~/.rbenv git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build apt-ge…

Dockerコンテナのようなランダムに名前を生成する`name`コマンドを作った(?)

“Dockerコンテナのような"とタイトルには書いたが、まんまDockerで使われているLibraryをコマンド化しただけのもの。果たして、作ったと言っていいのか疑わしいレベル。 イマ作っているアプリケーションでランダムな名前ユーザのディレクトリを幾つか作る必…

React.jsでES6の文法を使って defaultProps などを設定する

環境 Tools Version react-tools 0.13.1 jsx 0.12.2 react.js 0.13.1 JSXTransformer.js 0.13.1 react-toolsをnpmでインストールし、jsxに--harmonyオプションを付けてコンパイルした。 npm install -g react-tools jsx --harmony -w src build 方法 var Hel…

DockerRegistryのコンテナ一覧を見るDockerIndexをつくった

先日、会社のエンジニア全員が参加するハッカソンでDocker Indexというアプリを作りました。 名前はさておき、Docker Index とは、Docker Registoryに登録されているコンテナを一覧表示するWebApplicationです。 Docker RegistoryはDocker Hub(のようなもの…

Macのdockerを1.0にアップグレードする

まだ、docker 1.0になってからアップグレードしてないMacがあったので、アップグレードしました。 古いboot2dockerのアンインストール 次の手順でboot2dockerをインストールしていた人はこの手順を行う必要があります。 # これでインストールしてた人は一度…

Scientific LinuxのDockerイメージを作成する

Docker Indexに公式に提供されている、 Scientific Linuxのベースイメージがなかったので、 自分で作ってみました。 成果物はこちら。 Scientific Linuxのベースイメージ: ringo/scientific ベースイメージを作成するのに利用したスクリプト: github.com/rin…

Packer で Scientific Linux 6.5 の base box を作成してみる

VagrantでScientificLinux 6.5を使いたかったんだけど、 vagrantbox.esには明示的に6.5って書いてあるboxは無かった。 (Scientific Linux 6はあったけど) なので、ScientificLinux 6.5 のvagrant用base boxをpackerで作成してみた。 成果物のtemplateはGit…

knife solo cook コマンドの誤爆を防ぐ

knife solo cookコマンドはchefリポジトリ内で実行しないと、失敗するだけでなく、 余計なnodeファイルなどが作成されてしまう。 ただ、エラーで終了してくれればいいんだけど。。。 しばらく、失敗している原因(実行するディレクトリが違う事)に気づかい…

Vagrantで起動しているVMを一覧する

VagrantでVMをポコポコ起動していると、どこで何を起動して、どのVMが生きているのか良くわからなくなる。 いつも、VirtualBoxを起動して確認するのも面倒くさいしイケてないきがする。 vagrant statusはVagrantfileがある場所でしか表示されないし、 表示さ…

VagrantでSnapShotを撮る

Vagrantプラグインにvagrant-vbox-snapshotというものがある。 これを使うと簡単にスナップショットが撮れて便利なのでメモ。 スナップショットを使うと、その瞬間のVMの状態をまるごと記憶しておくことができる。 例えば、サーバに様々なミドルウェアをイン…

nodebrewでnode.jsのインストール

環境 Scientific Linux 6.5 Mac OSX 10.7, 10.9 前準備(Scientific Linux) ビルドに必要なパッケージをインストールします。 飛ばして、エラーが出てきたら実行するでもいいかも。 sudo yum install gcc-c++ nodebrewを使ってnode.jsをインストール nodebr…

``git branch -a''で消したはずのリモートブランチが出てくる

毎回、調べ直してるのでメモ。 gitで不要なリモートブランチを狩った後に、ローカルでgit branch -aを実行すると、 消したはずのブランチが残っていることがある。 これを消すには以下のコマンドを実行する。 git fetch --prune また、remoteの状態を見たい…

Devsumi 2014: 「サーバプロビジョニングのこれまでとこれから」の感想とメモ

サーバプロビジョニングのこれまでとこれから 宮下 剛輔 さん @gosukenator github.com/mizzy paperboy&co. サーバプロビジョニングのこれまでとこれから [Slide] Future of Server Provisioning at Developers Summit 2014 感想 Developers Summit 2014 に…

MongoDB のタイムゾーンについて

MongoDB ではタイムゾーンを指定できない. すべて,協定世界時(UTC)で表現される. JSTの時刻を扱いたい場合は,mongoから取り出した時に+09:00したりしないといけない. db.things.insert( { "time1": new Date() } ) db.things.find() すると, { "_id"…

OSXでJavaのバージョンを切り替える

先日,Java8で遊んでみようと思って,OSXにインストールしました. java -versionを打つと java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b121) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b63, mixed mode) がでて,ちゃ…

Node Knockout 2013 にでたよ!

一人アドベントカレンダーも達成できず,年明けるまでにこの記事も投稿しておこうと思うも投稿できず,酔っ払ってテレビ見てました.あけましておめでとうございます. 先日(11/9-11),Node Knockout 2013に出ました! 書こう,書こうと思ってずっとほったら…

bashでビープ音を消す

いつもzshでは,.zshrcにsetopt no_beepを書いて,ビープ音を消していた. bashでも同じ設定をしたくて,調べるとset bell-style noneを書くといいらしということがわかったので, .bashrcに記述したが反映されなかった. この設定はどうやら.inputrcに書か…

bash: scp: コマンドが見つかりません

SCPでファイルをサーバにコピーしようとしたら, bash: scp: コマンドが見つかりません というエラーが出てしまい,送信できなかった. 調べてみたら,openssh-clientsが入っていないことが原因らしい. Scientific Linux 6.xを最小インストールするとインス…

vimで貼付け時に自動でpasteモードにする

vimでOSのクリップボードから貼り付けたいときは, 一度set pasteでペーストモードにしてから貼り付ける. これが,結構面倒くさいんだけど以下のスクリプトを使うと簡単に貼り付けができるようになる. ノーマルモードでペーストを行うと自動でペーストモー…

gitでpull(fetch) 専用のremoteを登録する方法

gitでリポジトリをforkした時に,fork元のリポジトリを追いかけたいっていう事があった. でも,間違ってpushしたくないので何とかしたい. そんなときには,pull(fetch)専用のremoteを登録するといい. git remote set-url --push origin no-pushing 参考 G…

git で dry-run

svnで使っているdry-runをgitでも実行したい時があると思います. しかし,gitにdry-runに当たるものはないっぽいです. 一度マージを実行して,コミットせずに手動で戻すという形をとるようです. --no-commitをつけてdevelopをコミットなしでマージします…

gitでディレクトリ構成を維持する

今日もgitネタ. gitでディレクトリ構成を維持したい時が度々ある. しかし,空のディレクトリはgitで管理されない. そこで,ディレクトリを保持したい場合は,中に.gitkeepをおいておくといいそうな. git gitkeep すべてのディレクトリに,いちいち作成し…

git ignore のデフォルトを設定する

chefネタがevernoteからなくなってきたので,前々回に続きgitネタを. 一人Advent calendar結構しんどいね.. はじめに 毎回,git initして.gitignoreつくって,.DS_StoreとかThumbs.dbとかを追加する. これはすごい面倒くさいので,デフォルトで何とかし…

DisplayLinkの暴走

CPU異様に食ってるからなにかおかしい. CPUバカ食いするChromeも閉じたし,再起動してみても直らない. ActivityMonitorでCPU使用率を見てみるとReportCrashというのが, ポールポジションとフロントローを独占している. さらにConsoleでログを見てみると…

gitでcommitのメールアドレスを変更する

コミットログのメールアドレスを書き換えようと思って,git filter-branch --commit-filterしたらターミナルが落ちた. 環境は以下のとおり. OSX 10.7.5 git version 1.8.3.4 iTerm2 Build 1.0.0.20131124 zsh 5.0.2 (x86_64-apple-darwin11.4.2) 発生事象 …

Chefのrecipeを書いてみる その5 -変数をAttribute化してみる編-

前回書いた,Chefのrecipeを書いてみる その4 -インストール済みの場合は実行しないようにしてみる編-に引き続きchefのrecipeを順を追って書いていきます.今日は,バージョンやインストールするディレクトリをnodeファイルから指定できるようにしてみようと…

Chefのrecipeを書いてみる その4 -インストール済みの場合は実行しないようにしてみる編-

前回書いた,Chefのrecipeを書いてみる その3 -recipeを分割してみる編-に引き続きchefのrecipeを順を追って書いていきます.今日は,すでにソフトウェアがインストールされていたら,実行しないようにガードをつけてみようと思います. 実行する前にインス…

Chefのrecipeを書いてみる その3 -recipeを分割してみる編-

前回書いた,Chefのrecipeを書いてみる その2 -recipeからインストールするversionを指定してみる編-に引き続きchefのrecipeを順を追って書いていきます.今日は,recipeを分割してみようと思います. Recipeを分ける 現時点のrecipeを実行すると,mysql-con…

Chefのrecipeを書いてみる その2 -recipeからインストールするversionを指定してみる編-

前回書いた,Chefのrecipeを書いてみる その1 -とりあえずrecipeを書いてみる編-に引き続きchefのrecipeを順を追って書いていきます.今日は,versionを指定できるように改造しようと思います. versionを指定できるようにしてみる recipeをみてみると,いろ…

Chefのrecipeを書いてみる その1 -とりあえずrecipeを書いてみる編-

Chefのcookbookを順を追って,説明しながら書いていこうと思います. 最初はナイーブにインストールすることを目標として,次にrecipeを分けてみたり,attributeを設定してみたりします. 今回はナイーブにインストールするところまで. インストールするも…

ActionScriptからcookieやSharedObjectを触る

ActionScriptからcookieは直接触れないらしい. ActionScriptのExternalInterfaceを使って,JavaScriptからcookieを書いたり取得したりする方法がある. ただ,callはglobalにある関数しかよべない(?)ので,名前空間が汚される. なのであんまり使いたく…

Ringo Advent Calendar

Advent Calendarとは Advent Calendarは本来、12月1日から24日までクリスマスを待つまでに1日に1つ、穴が空けられるようになっているカレンダーです。WebでのAdvent Calendarは、その風習に習い、12月1日から25日まで1日に1つ、みんなで記事を投稿していくと…