なんか書いていこうぜー .com

Let's write something good

2014年のKPT

2014-12-30
  • Share on Facebook
  • Tweet
  • Add to Pocket

さて、2014 年の KPT のようなものを。

Keep

  • 開発の継続
    • Github上のリポジトリを増やす
    • 作ったもののメンテナンス
  • 読書するぞ/したぞ
  • 貼るホワイトボードの活用
  • 新しい地での、コミュニティ活動
  • ゲームによる気分転換

Problem

  • blogとかほぼ日とか足りてない
    • 記録に残すことがちょっと疎かになってるなぁ
    • 記憶はあてにならんからね
  • 運動してない
    • 歩く距離を延ばすか、もっと負荷上げるかしよう
    • 痩せてないからね……
  • いただいたものの消化が疎かになってますよ
    • 賞味期限あと1ヶ月……
  • 休日の寝たきりを少し減らそう
    • 人との交流が足りないのでは……
  • コミュニティへの参加回数が少ないのでは?
    • 機会はあるのに参加できてない
    • 平日だって参加していいんですよ?

Try

  • 代表作を作る
    • 経過をblogにすると、Problemの解決が捗るのでは?
    • blog にコードが載るようにしたいな
  • いろんなジャンルの本を読もう
    • jsとかcssとか、Ruby以外の言語とか
    • ペースを上げる方法を見出す
  • 西東京への遠征
    • 東東京にとどまりすぎるのはよくない
  • ほぼ日がほぼ月なので、まずほぼ週にする
  • 開発環境の整備を何か一つはしたい
  • ラードの量を減らそう
    • 普段の開発が仕事に活きるように
    • 読む量も増やそう
  • emoji-white_large_square の撲滅
    • もっとよいもので名前を売ろうね
    • 魂は売っちゃダメだね

こんな思いを秘めて2015年に向かってみよう。

2014年のふりかえり(思い出す編)

2014-12-30
  • Share on Facebook
  • Tweet
  • Add to Pocket

2014年、皆様お疲れ様でした。そして、お世話になりました。 ちょっと2014年にあったことを振り返ってみようかな、と思います。

全体的にみて

今年はちょっとした転換の年だった気がします。 実際に転職して住居も大阪から東京に変わっているので、変化は大きかったと思います。

ただし、よく「馴染んでる」とは言われるもののまだ本人は「慣れてはいない」感覚があるので、2015年の早い段階でこれは解消していきたいところ。 「きっかけ」だけだと思うんだけど、と本人は思ってるんですが、まだよく見えてはいない感じです。

仕事

  • 出入り業者としてお客さんのところで作業してた(1-6月)
    • 東京への短期出張(4ヶ月 + 2週間)
    • 客先に常駐という働き方
      • 実は客先常駐初体験
    • レビュー大事
      • フルボッコ体験
      • 時間はかかるが、コードの品質上がる
      • プログラマ同士のコミュニケーション、意図の共有ができる
        • コードへの理解進む
        • 知見の共有
        • 良い/悪いを判断できるようになっていく
        • 1プロダクトに対して、議論・試行錯誤が言葉や文字になってされるのが一番良い点だと個人的に思う
    • 頼りにされる、というのは楽しいし、辛い
      • 「青学の柱になれ」
      • ちょっと時間足りなかったけど、6月楽しかったねーという話しをした。(確かに楽しかった)
        • バグ残して迷惑かけた emoji-bow けど、自分たち主体で作ってた感あった
        • システムだけでなく、ビジネスもうまくいってると聞くと嬉しいもんですね
    • 最後に社内Kaigiしたね
  • 2ヶ月ニートしてた(7-8月)
    • 何もしてなかったわけではないけど、思考の整理くらいしかできてなかったなー
    • 直前の仕事が気になってた
    • 前の会社のメンバーが気になっていた
    • 職場どうしようか、アピールできるとこってどこよとかばかり考えていた気がする
      • キャラかよ……
    • 福井に呑みに行ったりしたね、何故かね
  • 永和システムマネジメントへ転職(9月-)
    • 緊張ガッチガチで出社
    • やはりいろいろいじられる……よね
    • 永和二中
    • 一斉会議で自己紹介LTした
    • “馴染んだのは過去最速じゃないですか?”
      • ん……犠牲的キャラだからね……
    • 出入り業者時代の現場へ
      • メンバーはだいぶ変わってた
      • お客さんの体制も変わってた
      • 今もいる
    • 面白い運営の仕方してるなぁ、と思った
      • まさに「下からの突き上げが厳しい」体制
      • 「ふつう」に運営できるように考えたらこうなったのかな?
    • キャラだけではいかんのだよ……
    • 合宿行ったね!
      • 入社順とか言われておっさん迷わず一番後ろに並んだね(当時入社2ヶ月目)
      • 水がもう冷たかったよ
      • “マッスル・ドッキング”

コミュニティ活動

  • Ruby 関西
    • 私、身体が違うとこにいっちゃったね……
      • 関わり方が難しくなったなぁという率直な感想
      • 外側からの意見しか出せないからなぁ
        • 中の人からすると、求めているのはそういうのじゃないんだよ感、になるのでは
    • LT 1本だけかしらん
  • 大江戸Ruby会議04
    • 出張してる間に行けた
      • 豪華すぎなのでは……
  • XP祭り2014
    • 初XP祭り参加
    • 同僚がいっぱいおった
      • 参加者としては多かったらしい
  • Yokohama.rb
  • RubyKaigi, RubyHiroba
    • 参加者でした
    • 英語力……
    • 全国のRubyistに再び会えたかんじ
    • あいかわらず(なところがすごいのであるが)圧倒的コンテンツ力
    • 今年は飛び込みでHirobaでLTした
  • るびま
    • 前半はいるようないないような感じでした…… emoji-bow
      • 主にプルーフリーディングな参加しか……ウッ
    • 0049号の進行役をしてみた
      • 一般 Rubyist が進行役してみてもいいんだぞ、と
      • いろいろ難しいと思うこともあった
      • うまく伝えられないし伝わらないもどかしさ
        • 力が欲しい感あった
  • 地域 Ruby 会議
    • 大江戸しか行けなかったな

その他

  • 初めてgemをpushしてみた
    • パーフェクトRubyと、Bundler とその他インターネッツに助けてもらってみた
    • もっと有用なものを作りたいな。代表作大事
  • emoji-white_large_square - 以後、この呪いと付き合っていくことになる - 笑いのネタになったり、されたり - 「muryoimpl、杏仁豆腐辞めるってよ」って言われてるけど、だいたい言った人がいじってきたりする - 割りと代わりになるちゃんとしたコンテンツを産み出さないと呪縛から解放されない危機感はある
  • 27inchディスプレイとキーボード
  • 電子書籍のリーダーを iPod mini にした
    • コードが載る書籍を読むにはそれなりのサイズが欲しかった
    • リーダー以外にも使えるし
      • 実際音楽流しながら読むこと多いのでよかった
  • KPTとかふりかえり用のシートを買った
    • どこでもシート
    • 本当に壁に静電気でくっつく。ホワイトボードマーカーで字も書ける。
    • 適当にcurrent, done, backlog, icebox エリア作って付箋貼ってる
      • やること、やったことの視覚化によい
      • trello とか pivotal よりも “やった感” が強いのがよい
      • 目につくし、操作も簡単なので
    • KPTシートも貼って使ってみてる。なかなかよい
      • 薄いので、貼って剥がしてみたいなことするにはあまり向いてないかも。
      • 付箋貼る分には全く問題ない
    • 年明けから 2スプリント目の運用開始
  • 開発に対する考え方がちょっと変わった
    • 「つくらなければ」から「つくりたい」へ
      • 変な義務感がなくなった
      • 少しずつだけど手が動くようになった
  • なんだかんだ言って、今年は結構LTしてるね
  • 勉強会、meetup 等にもう少し行きたい
  • 古いハードでもゲームするの、よい
    • 結構いい気分転換になる
    • やる気が戻ってくるのがよい
      • ゲームをやることが目的にならなければ、の話

感想

ざっと書いてみたらこんだけ書けた。 生活環境が変わって 1Q 経ったので、そろそろちゃんと動きをみせないとなぁ〜

メッセージプレビューあるある

2014-11-23
  • Share on Facebook
  • Tweet
  • Add to Pocket

メッセージ機能で実際にあったお話。

メッセージを送るのに、以下のように preview で内容のバリデーションをしつつ見た目の確認をし、create で保存、かつ、通知メールを出す、という処理があったとする。 (実際のコードは書けないので、かなり適当にサンプルコードは書いてる。。。)

class MessagesController < ApplicationController
  def new
    # 略
  end

  # メッセージのプレビュー
  def preview
    @message = Message.new
    @message.attributes = message_params

    return if @message.valid?

    render :new
  end

  # メッセージ作成
  def create
    @message = Message.new
    @message.attributes = message_params

    Message.transaction do
      @message.save!

      UserMailer.message_notification(@message.receiver)
    end
  end

  private

  def message_params
    # 略
  end
end

※実際の処理には、Message モデルの validation で利用可能文字の制限や文字列の長さ制限をしている。

普通の使い方をしていれば、preview -> create の間に validation エラーになるようなものは発生しない…はずだが…問題が起こることがある。 実際に下記のことが発生していた。

文字コードの誤判定

おそらくブラウザの文字コード誤判定か何かだと思うのだけど、UTF-8で書かれるべき文字列がSJISと思われる化けた文字で送信されていた。

※「と思われる」というのは再現できたけど、ユーザがそうしたかどうかわからないから。ログには化けた文字が送信されていることが記録されていた。

↑の理由により、利用可能文字制限にひっかかってsave! による例外発生で、システムエラーになっていた。

ブラウザの文字コード変換機能を利用するとたしかに再現できた。(見た目も化けるから普通おかしいと思って送信しないとは思うけど…)ので、preview しているとはいえ、validation にひっかかる値が混入する可能性がある。

対応

とりあえず、create のときも、validation でエラーになることを想定し、エラーの場合は編集画面に飛ばすということをしています。

class MessagesController < ApplicationController
  # 略

  # メッセージ作成
  def create
    @message = Message.new
    @message.attributes = message_params

    begin
      Message.transaction do
        @message.save!

        @message.sent_notification(@message.receiver)
      end
    # ここで save! で例外が発生したときは編集画面に戻す
    rescue ActiveRecord::RecordInvalid
      render :new
      return
    end
  end

  # 略
end

まとめ

preview で安心せずに、create でもバリデーションエラーに備える。

自己紹介LTと歓迎会

2014-09-27
  • Share on Facebook
  • Tweet
  • Add to Pocket

9/26 に支社でミーティングがあるので、そこで自己紹介LTをしてくれ、との依頼があって数週間… 昨日、ついにLTをする日が来た。。

上は公開版でちょっと内容差し替えて入るけど、まぁ、こんな感じのLTをしました emoji-white_large_square 特にネタは仕込んでありません。 emoji-vemoji-trollfaceemoji-v

杏仁豆腐は封印するつもりだったのですが、5分間自分のことを語れるだけのネタがない、みんな知ってる…ということで使うことにしました。 こういうことしか語ることができないというのは厳しいので、誇れる仕事を公に残したいと思ったりした。

その日に歓迎会を開いていただきました。ありがとうございました!!!!

たくさんの方に来ていただいたのですが、私のコンテンツ力不足により、いつも参加される人数より少なかったらしい…です… やはり、ぽっと出の a new hope でない新人のおっさんが社内のアイドルに勝てるわけがないということか。。。

地域の Ruby コミュニティの話とか、苗字の話とか、離れた現場のその後とかとか、いい話ができました。 いろんな人としゃべることができたし、ネタにされたし、「無量井」って名前をこんなに呼ばれた日はないのではないか?というくらい名前呼ばれた一日でした。

その後、二次会で一杯飲んで、例のほんま門に言って熱く語るお二人を見ながらたこ焼きを食べ、タクシーで帰ってきたのでした。 酒とタクシーに酔って家についたら即バタンキューでありました。。。

RubyKaigi2014とRubyHiroba2014に参加してました

2014-09-23
  • Share on Facebook
  • Tweet
  • Add to Pocket

RubyKaigi 2014

去年はスタッフっぽいことをしていたけど、今年は純粋に参加者として参加しました。

今年は日本人が英語で発表するだけでなく、英語圏の人が日本語で発表するというセッションがあってびっくりしました。 また、去年からリスニング力が落ちているらしく、英語の発表を聴きながらメモとか無理だったし、そもそも聴き取り自体が難しかった…orz

体力落ちてるのか、去年と同じ3日間の参加なのに去年より疲れた気がします。今年はかなり内容が濃かった気がするし、ぶっ続けで聴いてることが多かったから、まぁ当然といえば当然。(去年はぶっつづけかつメモしてたんだけどなぁ…) 寄る年波には勝て(ゲフンゲフン

今回の Keynote 陣が豪華過ぎて… tmm1 氏は ruby-trunk-changes で名前はいくらかみたことあったけど、あんなブットンダもの作っていたとは…日本に住んでいたら確実に「変態」認定されてる。

あの規模で、あの Speakers が揃ってってのが、数年前まであの値段でやってたとか今思えば狂気の沙汰よね…

いろんな話聴けたし、いろんな人に会えたし、今年もばっちり RubyKaigi を楽しんだ!!!

RubyHiroba 2014

さて、去年に引き続き、今年も参加してきた RubyHiroba。 今回は事前に LTthon の申し込みとかしてなかったんだけど、パイセン からの突き上げが厳しかったので、前日深夜に急遽用意して話してきました。 (急遽3分になったので、ペースわからずくっちゃべって、噛み噛みでした…)

特に最近、るびまの記事ストックがない感じなのと、地域 Ruby コミュニティのアピールの場って何があるだろうか? と RubyKaigi 2日目に hokkai7go さんと飯を食べていたときに思ったので、それを LT にしてみた感じ。

スライドには書けてないけど、以下の想いがあってですね。。

  1. 地域 Ruby コミュニティ(特に関東地方以外) にもっとフォーカスあたっていいのでは?
  2. 地域 Ruby 会議の新しいもの(いわゆる “01” ) がもっと出てきていいのでは?(コミュニティはいっぱいあるだろうし)
  3. 地域 Ruby 会議が大きい規模のものでなければならない、という固定概念を撤廃したい

1 は、RUBY KAJARuby Prize でフォーカスがあたっているけど、いわゆる「賞」でだけというのは非常に寂しいし、彼ら彼女らの活躍している場がわかったほうがより伝わると思う。

2 は、私の観測範囲では、最近の Ruby コミュニティは地域に限らず細分化されてきていて、数が増えてきている気がします。だから、新しい地域 Ruby 会議、新しい風が吹いてもおかしくないと思っています。「地域 Ruby 会議」は、コミュニティが開催する上ではハードルが低いので、もっとやってほしいという私の願いも入っています。

3 は、地域 Ruby 会議は大きくある必要はない。基本的に開催地域の Rubyist が集まってなんかすればいいんですよ。なんかこう、ただ聴くんじゃなくて、集まってなんかする感じだったらいいんですよ。100人とか集める必要ないし、集まる場所で開催する必要もないし。なんでも大きくしたいとか、するべきとかいうのは疲れるし、次回開催のハードルをあげるだけ。

でも 地域(もう「地域」でないのかもしれないけど) Ruby 会議 するのは確かにパワーがいるので、コミュニティアピール出来る場として るびま を活用してみませんか? というのを提案してみたつもりです。

本当はもっと人数のいる、特に関東以外から来ている人たちがいる場面で言ったほうがよかったのかもしれないけど、事前登録もしてないし、だいぶ後半の遠方の方々は帰り始める時間だったので、詰めが甘い感じだったけど、思ったことは言ったつもり。(ラード案件…)

なんかできることがあるかなぁと思いつつ、遠方のコミュニティにリーチして協力できるよい方法が浮かんでないのでした。

** ※ 「関東以外」 と言っているのは、明らかに関東の Rubyist はイベントごとを開催する練度が高く、相談相手が周りに多いことからそう言っています。 **

** ※ そもそも自分の地域 Ruby 会議スキル的なものは高くないことをここに示しておきます。ただ好きなだけ **