yaotti's diary

QiitaやKobitoを作っています.プログラミングをもっと楽しく.

WEB+DB PRESSでRubyの連載を始めます

今月発売のVol. 81より「切りひらくRuby ── サービスの成長を支える現場の技術」というタイトルでRubyについて連載します.初回はRails開発の待ち時間を減らすというテーマで,SpringやWeb Consoleなどについて書いています.

連載の特徴としては

  • サービス運営者視点からの話
    • 実戦投入までを含めた説明
  • 具体的なプロジェクトでの活用内容
    • Qiitaプロジェクトでの使い方や計測数値など
  • しくみや実装面の解説
    • gemのインストールや使い方だけではなく,各機能がどう実装されているのか
    • 今回はSpringの仕組みとか結構面白いとおもいます

あたりを意識しています. まさかいつも読んでいた雑誌に自分の文章が載る日が来ようとはとそわそわしていますが,どうぞよろしくお願いします.6/24発売です.(目次)

ちなみに執筆はこの前@inaoさんGitHub Kaigiで発表されていたようにGitHub上で書いていますが,普段使い慣れたツール,サービス,フォーマットで書くことができるためとても快適です.markdown++

書籍「パーフェクトRuby on Rails」にはRails開発のベストプラクティスが詰まっている

@joker1007 さんより献本いただきました.ありがとうございます :octocat:

環境構築からアプリケーション開発,そして継続的な改善も含めたRailsのベストプラクティス本

"パーフェクト"とタイトルに入っている通り,この本は単純なRailsのhow-to集やチュートリアルというわけではなくいい感じに踏み込んだ内容が書いてあって楽しく読めました. 情報の鮮度や量の観点だとどうしてもオンラインが強いですが(RailsならRails Guidesはまとまっているし,あとQiitaのRails情報も;)),それらとは綺麗に差別化されていました. 開発環境構築からプロジェクト作成,デプロイなどのインフラ寄りの話,そして継続的にサービス開発をする上で出てくる問題の対処方法までと,広範囲に渡りRailsプロジェクトのベストプラクティスを学ぶのに良い本だと感じました.

個人的には9章以降の話(Fat Modelの解決策やRack層についての話など)が特に参考になりました.値オブジェクトの利用所やサービス層を用いた設計のような話が,具体的なRailsのコードとともに説明されています. また8章のVagrant+Chefでローカル開発環境を作るという話もあるので,BoxenからVagrant+Chefへの移行前に読んでいれば相当役に立っただろうなという気がします.あいまいな理解だったSprocketsについて知ることができたのも収穫でした.

Railsを使って開発しているけれど自分がうまくやれているのかわからない,表面に留まらない理解をしたい,という人におすすめです.

まとまった集中時間を確保するために

Rebuild: 32: How We Work Remotely (Naoya Ito)でのremote workの話で「どう自己管理して集中できる環境を作るか」みたいな話が少しあったので,今の自分の環境をまとめておく.ぼくは割り込みや誘惑にとても(!!!)弱いので,色々と工夫した結果それなりにうまく回るようになった.

デスクトップ環境

普段の工夫

ブラウザ(プロファイルとfacebook)

ポッドキャストでmiyagawaさんが触れていたけれど,ぼくもGoogle ChromeのProfileを仕事用とそうでないものとで分けている. 特にFacebookが問題で,仕事でFacebookメッセージをよく使うため仕事中にfbメッセージを返す→そのままFacebookをしばらく見てしまう→気が付いたら延々Facebook見てた,ということが頻発していた. そのため,今はFacebook基本的に閉じておく&メッセージはiPhoneの通知で確認して,返信するときだけ個人用プロファイルでFacebookを開き,返信し終わったら閉じる,という形に落ち着いた. プロファイルを分けなくても同じことはできるんだけど,区別しておくことで普段開きづらくなる効果は大きかった.

Pocket

仕事中に見付けた面白そうなページは,基本的にはその場で読まず即座にPocketへ記録するようにしている.そうして記録したページを別の時間にiPadiPhoneで読むようにすると割り込み時間が大きく減った.これは習慣にして良かったことの1つ.

集中したいとき

例えば溜まっているコードレビューに一気に対応するとかブログ記事を書くといった,まとまった時間を取りたいときは以下のようにしている.

  • メーラー(Sparrow),GrowlTwitterクライアント(夜フクロウ)を落とす
    • メーラーを落とすという発想はずっと無かったのだけれど,やってみると激しく捗った
  • チャット(HipChat)は"Do not disturb"ステータスにする
  • BGMを変える
  • 考え事をするときはマシンから離れて,紙+ペンのみ使う

モバイル環境

NO SNS

ぼくはiPhoneからFacebook, Twitterアプリは削除している.年始に消したのでもう2ヶ月ほどこれらのアプリ無しで過ごしているが,無いせいで困ることはほぼない. 最初はTwitterのDMやFacebookでのコメント(メッセージは専用アプリを使う)に気付けない,対応できないなと思ったけれど,確認はメールからできるしブラウザでtwitterFacebookのサイトに行けば一通りの操作はできるので全く問題なかった.空き時間にとりあえずFacebookTwitterをひたすらスクロールすることが無くなったので,時間だけでなく精神衛生面でも良い.

インプット

SNS関連のアプリを削除することで,PocketHBFavGunosyKindleなど,自分にとって価値がある可能性の高い情報だけ読むようになった.

通知

メールアプリ(Mailbox)の通知をオフにしてみるととても捗ることがわかった.即座に確認,対応が必要なメールなんてそうそうない.他もだいたいのアプリの通知はオフにしている.

まとめ

なんとなく受け取っている通知とか割り込みを見直してみると,ぼくの場合はほとんどはリアルタイムに受け取る必要がなかったので,一度見直して積極的に削ったりpullで情報取得するように変えるといいと思います.

やること/やらないことリスト

Twitter共同創業者でSquareの創業者でもあるJack Dorseyの講演(Jack Dorsey at Startup School 2013 - YouTube, 翻訳: 「自分が見たいものを世の中に生み出せ」 Twitter創業者ジャック・ドーシーが初めて語った"成功のためのリスト" | ログミー)で話されていたやることリスト/やらないことリストを作ってみた. 日々更新していくものだと思うけれど,いま思いついた項目で作ったバージョン1を残しておく.

やること

  • まっすぐ立つ,座る
  • 腕立て伏せとスクワットを20回x6
  • 水をしっかり飲む
  • 7時間の睡眠をとる
  • 皆に挨拶する
  • ペンと紙を使う

やらないこと

  • 意図せず無為に過ごさない
  • アイコンタクトを避けない
  • 二度寝しない
  • 面倒かどうかを行動の判断基準にしない

話の最後に触れられている曲.最近良く聞いてる.

remote work1日目

今日から会社でリモートでの仕事を試験的に部分導入してみた。
思っていた以上に不便は少なく、良い形で仕事することが出来たように思う。Google hangout便利。
しばらくは毎週月曜は各自リモートで仕事するようにし、良さそうなら順次割合を増やして完全リモートでも回る形にしたい。
リモートの善し悪しについては、数週間ほど試してからまとめる。

Increments.age++

Increments株式会社は2013/03/01で(正確には2/29創業ですが)1歳になりました. そして同じタイミングで初の社員が入社し(welcome @camelmasa!!(Incrementsに入社しました。 - @camelmasaの開発日記)),またオフィスもお世話になった(と一言では済ませられないほどですが…)Open Network Labから恵比須駅近くへの新オフィスへと移転しました. 他にもtwitterQiita寿司祭りがあったりと,2013/03/01は忘れられない一日となりました.Qiitaは寿司屋ではありません

第1号社員としてcamelmasaが++に入社!そして会社設立1周年、オフィス移転のお知らせ - The Official Qiita Blog

f:id:yaotti:20130302162829p:plain

会社にしてからもうそんなに経ったのだなあと感傷に浸りそうになりますが,振り返りエントリーを書くには時期尚早だと思うので書きません.まあとにかく色々と恵まれているなというのがこの一年の感想です.期待に応えます.

また最近個人的に大きかったのはRailsのコントリビューターとなったことでした.(1コミットだけだけど) Qiitaも大きなサービスになってきたので,Railsを始めとしたOSSの世界にも色々貢献してお返ししたいと思っています.

今後も社名の通りじわじわと積み上げていきますので,Qiita/Kobitoをよろしくお願いします.

f:id:yaotti:20130301142529j:plain

P.S. Incrementsの誕生日祝いを買ってプレッシャーを一段とかけたい応援したい方はこちらからどうぞ :) New Office & Increments創業​1年ウィッシュリスト