YAPC::Asia Tokyo 2014 に行ってきた

http://yapcasia.org/2014/ YAPC::Asia Tokyo 2014

初日のみ参加してきた。一部満席になって、PC を開く余裕もなかったけれど、予定していた話はおおよそ聞けたので満足。個人スポンサーにもなってみて、パーカーももらったし、他にもノベルティが色々ついてきた。

Go For Perl Mongers

最近 golang を書いたりしているので、気になって。
golang を書く上での注意点がまとめられていて、良かった。これから golang を書く人は一度資料を見ておくといいかも。
特に goroutine の注意点は、自分なら pthreads なら・・・と考えてしまうから、今知っておいて良かった。fmt = ふむと。あと、エラー処理は増えてしまうということだが、C をやっているとそれほど苦にならないような気がしている。

コマンドラインツールについて語るときに僕の語ること

Readme Driven Development という言葉は初めてだった。実践していることの一つ一つはしっくりくることばかりだった。一つでも欠けないようにするのが大事なんだろうと。「一番テンションの高いときにドキュメントが書ける」これに尽きると思う。良い CLI ツールということだったが、アプリを作る際も応用できそう。Configuration Pattern とか。

WHERE狙いのキー、ORDER BY狙いのキー

トランプの例えが印象的で、Where や Order by に限らずインデックスの辿り方を考えながら、SQL を組むといつもよりよいものが書けそうな気がしてきた。

Go 付属のcompletion使うと `_get_cword: command not found` エラーになる

OS X に go1.3 をインストールし、bash の completion を使おうとすると以下のようなエラーメッセージが出力される。

-bash: _get_cword: command not found

この関数は bash-completion に含まれているので、それをインストールする。

$ brew install bash-completion

インストール時に出力される以下のメッセージ通りに設定する。

if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion
fi

terminal を開き直すと、設定が有効になる。これで go コマンドの補完が効くようになって、少し便利になる。

OS X Mavericks 10.9.4 に rbenv をインストールする

手順

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ rbenv -v
rbenv 0.4.0-98-g13a474c

追加で install プラグインをインストールする

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

インストール可能なバージョンを表示する

$ rbenv install -l
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
...(省略)

ruby 2.1.2 をインストールする

$ rbenv install 2.1.2

インストールされているバージョンを確認する

$ rbenv versions
* system (set by /Users/foo/.rbenv/version)
  2.1.2

ruby 2.1.2 に切り替える

$ rbenv global 2.1.2
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

Hadoop Conference Japan 2014に参加してきた

Hadoopを使っているわけではないのだけれども、分散処理に興味があり、多少本で読んだことあったので取っ付きやすいかと思い、参加してみた。
一通り網羅するようにセッションを選び、その中でも Presto と Impala の話が面白かった。どう使うのだろうというより、どういう仕組みなのだろうという点で。
他には、tagomoris/shib は業務的な課題を解決するのに役立ちそうでこういうツールなら使ってみたいと。Apache Sentry (incubating) の仕組みに興味がわきつつ、まだ手を付けられていない。

Hadoop Conference Japan 2014 Tickets - Eventbrite

ドワンゴC++勉強会に行ってきた

最近ふとC++のことを思い出した矢先に勉強会を見つけ、参加してみました。 C++の経験はなく、Cならやったことがあるレベル。過去、何度かやってみようと思うも、自然消滅。

フツーの陶芸家がC++をやっているということに驚いたり、歴史に重みがあったり、C++の面白みに触れられた気がしました。
コンパイル時にあれこれ機能を付加できる constexpr には驚き、まだまだ成長を続けているのだと思いました。
ただ、仕様にコンパイラの実装が追いついていっていないような感じがしまいした。すべて追いかける必要はないにしても、どの程度カバーしているか気になったところです。

次回もあるかも、ということなので、もう少しC++を追いかけてみようと思います。 Web界隈におけるC++の使いどころはどこなのだろう。

ドワンゴC++勉強会 #1 - connpass

JTF2014 に行ってきた

JTF2014、JTF2014: July Tech Festa 2014 に行ってきました。

最近拾いきれなかった技術やインフラエンジニアの雰囲気を肌で感じることができたと思います。今回参加して、インフラエンジニアのイメージが少し変わりました。主にケーブルや機器を触っているというイメージでしたが、アプリケーションの土台となる部分を構築するというイメージもあるようです。こういうイメージは、DevOps という言葉が出てからなのかな。

参加してみて、Docker のセッションには何かしら多大な期待があるように思いました。基本的な知識よりも、本番運用の実績が知りたいとか、実践ノウハウみたいなもの。それと、運用には go-lang で書かれたアプリは使われやすいのかなと思いました。対応しているプラットフォームも多く、実行ファイル一つになる。ツールがシンプルだと使われやすいし、依存も少ない。Serverspec のセッションでも ”シンプルだけれど拡張しやすい”、”エージェントレス” など広まった理由を説明していたが、”使うまでの敷居を下げる” といった考えが似ているような気がしました。

参加したセッションの資料