コーディングを支える技術読んだ

プログラミング言語に実装されているいろいろな概念について,なぜ実装する必要があるのか,どういう問題がおきてきたのかを歴史的な過程とともに見ることで説明されている.また,他の言語ではどう実装して問題を解決しているのか,比較することを通しても学ぶことができる.一つ一つ丁寧に例とソースコードと図を用いて説明されていて,とてもわかりやすい.具体的に何を扱っているかは,目次とかを参照されたい.

この本を読んで,プログラミング言語に対する接し方が変わったと思う.ただ単にプログラミング言語の使い方を学ぶだけでなく,この言語は,この問題に対してはこういうアプローチを取っている,というような言語間の大局的なところまで考えるようになる.

Team Geek読んだ

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

ずっと読もうと思っていたんだけど,勝手にチーム開発に関する本だと思っていて,後回しにしていた.エンジニア同士で人間関係に悩んだ時にはHRT(謙虚・尊敬・信頼)を大切にしてコミュニケーションしろということが中心に書かれているのはよく言われていて,それだけで読んだ気になってたんだけど想像以上に有益だった.

実際に読んでみると,もちろんチーム開発に関する要素もあるのだけど,それよりも1人のエンジニアとして会社でどう生きるのかみたいな話のほうが印象に残った.

個人的には,自分をよく見せようという個人のエゴをやめて,集団のエゴ(チームの功績.グループの誇り)を考えるようにすると良いという話がためになった.社内の政治についてもいろいろ書かれてたのが好印象だった.

エンジニアは実力勝負の世界ではあるのだけど,他の人とのコミュニケーションを通した自分の価値の高めることの重要さがわかる.

薄くて早く読めるし,エンジニアなら1度は読んでみる価値はあるはず.

Ruboty Slack 入れ方

Rubyで開発されたbotにRubotyというものがある

このRubotyをHerokuで動かしてSlackで使う方法について詳しく書く

1. Slackでチームをつくる

2. XMPPを許可する

RubotyはXMPP通信を用いている.設定は,ここでできる(/admin/settings)

f:id:tsuwatch:20140911152452p:plain

3. bot用アカウントをつくる

4. RubotyをHerokuで動かす

XMPP用のパスワードは,各アカウントごとにここにある(/account/gateways)

$ mkdir mybot
$ cd mybot
$ echo 'source "https://rubygems.org"' >> Gemfile
$ echo 'gem "ruboty"'                  >> Gemfile
$ echo 'gem "ruboty-slack"'            >> Gemfile
$ echo 'bot: bundle exec ruboty'       >> Procfile
$ bundle install
$ git init
$ git add .
$ git commit -m "Initial commit"
$ heroku create
$ git push heroku master
$ heroku scale bot=1
$ heroku config:set ROBOT_NAME=mybot SLACK_TEAM=tsuwatch SLACK_USERNAME=mybot SLACK_ROOM=general SLACK_PASSWORD=XXX

5. 動作確認

f:id:tsuwatch:20140911153916p:plain

6. Redis導入

このままだとRubotyが再起動するごとにruboty-cronなどの情報は失われてしまう.そこでRedisを入れることで永続化することができる.

Redisには無料で使えるこれを使った.

そして,URLを設定する

heroku config:set REDIS_URL=redis://Resource Name:Redis Password@example.com:6379

【参考】