Railsのファットモデルを考える

今日は10:00-19:00で在宅バイト.

どうも時間の見積と実装時間が合わず微妙な感じです. 5時間と見積もって5時間かかった場合と3時間と見積もって5時間かかった場合では,終わった後の印象がだいぶ違うので長めに見積もるのがいいのかなぁとも感じます.

ファットモデルについて

Railsのファットモデルについて,以前までは「コントローラが太らなければモデルが太ってもいいんじゃないの?」的な発想でしたがさすがにメソッド数が増えまくってくるとモジュール分離はするべきだなぁと感じています. すぐ出来る事として,モデルに書かれたViewとの関連が強いコードを分離するようなDecorator/Presenterパターンを実装することがあるので,これらから始めてみると良さそうです.有名どころのGemだと以下の2つですかね

drapergem/draper · GitHub

amatsuda/active_decorator · GitHub

Railsなどフレームワークを使ってると,使わない時に比べて怠ける部分が出る傾向があるのでActiveRecordにとらわれすぎず,クエリの最適化とかモジュール分離などについて考えるべきだと思います. これについては,以前紹介してもらった記事がファットモデルの処方箋としてかなり良さそうなので本格的に読んで見ようと思います.

7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog

Railsは楽な反面,その特性上メンテナンスが大変だったり,プログラマフレームワークを超えた発想をしない(しなくていい?)ため,ある規模を超えると一気に破綻が起きるなんてことが起きてきそうです. そうなってくるとメンテナンス性に嫌気がさした人たちが,静的型付けで規約より設定的なフレームワークを使い出し…なんてことが起きそうですね. とはいえ,今でもphpperlを使っている企業は多くあるので,Railsが全くなくなることは無いのでしょうが.

流行り廃りが激しい分,デザインパターンなど設計に関するノウハウは整理しておいたほうが良いかもしれません.

さてさて

ウィークデーが終わったので週末は研究を進める期間.実験が終わりかけているので論文を書き上げて速いこと研究に決着を付けたいところです.

というわけで明日からも頑張りましょー!

『プラットフォームリーダーシップ』を読み始める

今日からまた本を1冊読むことにしました.

プラットフォーム・リーダーシップ―イノベーションを導く新しい経営戦略

プラットフォーム・リーダーシップ―イノベーションを導く新しい経営戦略

日本語版では2005年の発売ですが,原書は2002年に発売されていたようです. 2002年というと今から12年も前で,ムーアの法則が8回も適応できるくらい過去のお話ですね.

まだ序論しか読んでいないのですが,この本ではインテルマイクロソフト,シスコ,パーム,LinuxNTTドコモが採用する戦略を取り上げているようです. 12年前のIT業界をリードする企業が当時どのような戦略を取っていたか,そしてArm,AppleAmazonGoogleがいかにしてそのシェアを崩していったのか考えられたらと思います.

今は「Googleのやることは正しい」「Googleに従うべき」みたいな論調が多くありますが,少し昔の本を読み著者が本当に冷静であったかを判断できれば,流行に惑わされない考え方ができるのではないでしょうか. 歴史は繰り返すのか,はたまた違う結果になるのか,GoogleFacebookTwitter,Lineなどの今後の動向も気になるところです.


本を読み始めてから,IT業界の年表が欲しくなってきたので読みながら情報をまとめてみようと思います!

なぜmixiは無料でフォトブックを配るのか -- ビッグデータの観点から考える

ビッグデータ」という単語に対して漠然とした認識しか持っていなかったので『ビッグデータビジネスの時代』という本を読みました.

ビッグデータビジネスの時代 堅実にイノベーションを生み出すポスト・クラウドの戦略

ビッグデータビジネスの時代 堅実にイノベーションを生み出すポスト・クラウドの戦略

この本はビッグデータを扱う具体的方法(hadoopなど)ではなく,ビッグデータを使ってどうビジネスをするかに重点が置かれており,エンジニアの僕には「そこまで考えてなかったな」という内容がいくつかありました.

様々な事例が掲載されており,発想の幅がほんの少しだけ広がった気がするので,ビッグデータの関連から最近の事例について考えてみます.

mixiはなぜ無料でフォトブックを配っているのか?

mixiが運営する,毎月無料フォトブックを自宅に送ってくれる「ノハナ」というサービスをご存じの方は多いと思います.

このサービスビッグデータの観点からこのサービスを考えてみましょう.

個人情報を自然にアップロードしてもらう

ビッグデータビジネスの時代』では,Google

プライベートなデータを,無料かつ高性能のオンラインアプリケーションを介して吸い上げる

という戦略を紹介しており,事例としてGmailPicasaを上げています.

誰でも本名や住所,写真などの個人情報をWebへアップロードすることには抵抗感があると思います.自分の子供の写真ともなると細心の注意を払うはずです. しかし,無料でフォトブックを送ってくれるとなれば,その「抵抗感」は「お得感」にかき消され,ユーザーはどんどん写真をアップロードするようになります.

つまりmixiは写真を現像して自宅まで届けるというサービスを運営することによって,ユーザーに抵抗感を抱かせることなく,多く写真とユーザー情報を得ていると言えるわけです.

なぜ家族写真にフォーカスしているか

写真を現像して届けるサービスならば,特に被写体は限定しなくて良いはずです. ではなぜノハナは家族写真(特に子供の写真)にフォーカスしているのでしょうか?

様々な見方があるでしょうが,あえてビッグデータ的な観点から考えるとそれは,"同一人物の成長過程の写真を得られる"からだと考えられます.

Picasaのような,いわば汎用写真ストレージでは,同一人物の写真は集められません.Instagramも同様です. しかし家族写真にフォーカスしたノハナであれば,生まれてから大人になる過程の貴重なデータが集まります. また,兄弟というコンピュータには非常に識別が難しい人物のデータが大量に集まるとなれば,そのデータを欲しがるのは画像認識系の研究者だけではないはずです.

こう考えると,他の企業には集めづらいこれらのデータはmixi社の強力な武器になりえそうですね.

勝手な予想をしてみましたが

素人の個人的な予測であり本当にそのような意図があるのかは分かりませんし,個人情報の悪用だなどというつもりは全くありません.

ノハナは,ユーザー側は現像する手間やお金をかけること無くフォトブックが貰える,mixi社側は多くの写真データを得られる,最近ではプロのカメラマンを派遣できるようなので,カメラマンの雇用も作れると三方良しの素晴らしいサービスだと思います.

SNSとしてのmixiはあまり元気がないですが,mixi社としてみるとノハナやデプロイゲート,Find Jobなど面白いサービスをリリースしているので,今後のリリースにも注目していこうと思います.

最後に...

最初に上げた『ビッグデータビジネスの時代』でO2Oという単語が(Online to Offline)という意味だと知りました.今度はO2Oの観点からもこのサービスを考えてみるのも面白そうですね.

『グロースハッカー』を読んで美容室のマーケティングを考えてみた

Kindleで買ったグロースハッカーを通勤時間で読みました. アルバイトで東京に行くと大体往復で2時間半くらい電車に乗っているので,ちょうどいい分量でした.

内容的には,マーケティングでもアジャイル開発のように小さく始めてPDCAサイクルを回しましょう,数値ベースで測定をしましょう,お金ではなくアイデアを使いましょう,アーリーアダプタにリーチしましょう.のようなことが実際の事例とともに取り上げられています. 真新しいことは書いてありませんが,地道な行動こそが大切で,これが正解というような近道がないということでしょう.この事については何度も本文の中で触れています.

主にtoC向けの内容となっていましたが,toB向けにも同じ戦略が使えるのでしょうか,ここは関連書籍なども読んでみましょう.

美容室のグロースハックを考える

さて,せっかく本を読んだので少し頭を動かしてみることにしましょう. 私は,マーケティングの勉強をしたこともなければ美容師になろうと思ったことが無いのですが,つい最近髪を切ったので美容室について考えてみます.

僕がカットに行くまでの流れを追ってみると,前のカットから1ヶ月半で髪切ろうかなぁと思い始めるも行動に起こさず,2ヶ月でさすがに邪魔になり髪を切るのような感じになっています. 1ヶ月半周期と2ヶ月周期では,年間で2回,トータル1万円弱も収入が変わるわけで,それが各お客さんごとに発生することを考えると結構大きな差になってくると思います.

特定の美容室に通ってる時点で,すでにコンバージョンしているしていると見れるわけですが,利益を最大化しているとはいえません. お店側としては,客がもう切ってもいいかなって思う頃に(僕に対しては1ヶ月半の段階で)何らかのアプローチを取ることが必要です.

例えばダイレクトメールならカットからx週目に,◯◯◯という内容を送ると,平均来店間隔がa日になった,みたいなデータが取れるかなぁと思います.

と,非常にありきたりすぎることしか考えられないわけですが,それでもいくつか改善すべき点は見つかりました. 他にも,ポイントカードについて,お友達紹介精度について,年会費制にしたらどうなる?とかとか,身近なだけに考えてみると意外と面白いです.

終わりに

この本を読んで「なるほど,グロースハッカーとは社内にいるあの人達のことか」と納得出来ました. バズワードとなりつつある(もうなってる?)グロースハッカー.聞いたことあるけど,どんな人のことなのか分からないという方は読んでみてはいかがでしょうか.

グロースハッカー

グロースハッカー

iPhoneでメールを送信するときに「iPhoneから送信」とメールの文末に挿入されるようになった歴史みたいな部分はこの本で初めて知りました.

1月20日

  • 10:00 - 19:30: 在宅でアルバイト
  • 19:45 - 22:00: TsukubaTDD勉強会へ参加

アルバイト

テストを中心の内容. ユーザーから直接のフィードバッグが帰ってこない分,メール周りが機能しているかはしっかりテストをしたほうがよいと感じました.

TDD勉強会

参加者が少なくLTは延期に.ブラッシュアップした内容で次回発表します. 今日は参加者の人にコード見せてもらいながら,MockやStubの使い方について教えてもらえたのがとても有意義でした. 同じテストをするにしてもいろいろな書き方ができる分,どれが効率的なのかは判断が難しいのですが,こういった勉強会は刺激になって良いですね.

この勉強会はとても小さな規模のアプリケーションに対して徹底的にテストを書いていく方針で進められていて,業務では意識しないようなことまでじっくり考えられるのがとても参考になります.3~5人くらいの少人数でコミュニケーションを取りながらできるのもポイント高いですね.

所感など

朝ごはんをガッツリ目に食べてみたら夜までお腹が空かず,すごくいい感じでした. 朝はなるべく食べるようにしてるんですが,昼前にお腹すいたーって状態にならないくらいにはしっかり食べたいものです.

月曜・火曜は開発の日,明日も頑張りましょうー!

1月19日

午前

  • ブログを書きつつ,今後の計画を考える

午後

所感など

今日からデータ解析・UDXの勉強を…と思いつつも研究と勉強会の資料作成をしなければなったので,まずこちらを進めることに. 明日のTDD勉強会では,クラウドストレージを用いる場合のテストの書き方についてLTをしようと思います.

今日はあまりアクションを起こせなかったので,ひとまず書籍グロースハッカーkindleで購入して読み始めました.分量的に火曜日の通勤時間で読み切れそうな感じです.

夜はDMM英会話で久しぶりに英会話をしてみたけど,25分のうち22分位は相手が話しているのを聞いている感じで,何とも微妙な感じに終わってしまいました. Don't be shy!的なことを度々言われて とりあえず何か喋ること,聞き取れない内容を喋られた時に適切に聞き返えすことあたりをまずはやっていこうと思います.

講師の先生からJust keep on practicing and stay positive.のコメント共に勉強法や心持ちなど教えてもらったので明日も頑張ります!

グロースハッカー

グロースハッカー

リクルートホールディングスの2WEEKS アメリカ横断Workshop2014がすごい!

2WEEKS アメリカ横断Workshop2014

リクルートホールディングス-|2WEEKS アメリカ横断Workshop2014

内容は,2週間でBoston→NewYork→San Franciscoとアメリカを横断しながらワークショップを行うもの. ゲスト・コラボレーターにはMIT Media Lab,PARTY,500 Startups,AppSociallyと錚々たる企業・大学が集まっています.

各地で行われるイベントもとても魅力的で〜インターネットの未来に触れる2週間の体験〜というタイトルがまさにぴったりな内容です.

日程は公式アナウンスを見ていただくとして,各締め切りまでのざっくりした残り日数は

エントリー締め切りまで2週間,一次面接まで3週間,2次面接まで4週間,キックオフまで5週間,出発までが6週間

正直なところ,今の自分のスキルや経験ではイベント参加できるか何とも微妙なところではあるので,各締め切りごとに自分を更にアピールできるような内容を作り出します.

締め切りまでに何をやるか

アピールできる内容として「UXD」と「データ解析」の2つの分野が提示されていますが,自分の興味とスキルから「データ解析」を中心に学習・実装を進めます.

エントリー締め切りまでのタスクとして,データ解析周辺の学習内容をまとめてブログで発信します. 平行して面接までにデータ解析の知識を使用したサービスやアプリなどのプロトタイプを作成します. キックオフまでには,制作物をブラッシュアップ,もしくは新たなサービスの制作を行い,出発までに形にします.

言語経験は不問とはありますが,会話ができるのとできないのでは得られるものが全然違うので,DMM英会話で英会話のスキルを習得します.

別タスクとしてパスポートを持っていないので発行手続きをします.

わくわくしてきた!

参加までに制作物を用意していろんな人にフィードバッグしてもらえるような機会にできたらいいなと思います. 現在修士課程1年なので,学生でいられるのはあと1年,こんな機会はもう多くは無いはず! 頑張ろう!!