25
1 PythonistaRailsの会社で3ヶ月生き延びた話 ところてん

Rubyの会社でPythonistaが3ヶ月生き延びた話

Embed Size (px)

DESCRIPTION

Rails勉強会でRailsにまったく関係ない話をするテロ。

Citation preview

Page 1: Rubyの会社でPythonistaが3ヶ月生き延びた話

1

PythonistaがRailsの会社で3ヶ月生き延びた話

ところてん

Page 2: Rubyの会社でPythonistaが3ヶ月生き延びた話

自己紹介

@tokoroten

好きな言語はPythonとawk 画像処理、セキュリティ、自然言語処理、機械学習

2012年2月 ドリコム中途入社 前職は某通信会社研究所、会社を三年で辞めた若者

入社時点でRuby経験ゼロ

うんこ部屋入社 http://onk.bz/data/2008-02-24/1000speakers2.html

ソーシャルゲーム基盤開発本部 R&D&火消し&インフラ&データ収集&データ解析

=高機能雑用

Page 3: Rubyの会社でPythonistaが3ヶ月生き延びた話

本日のアジェンダ

データ解析の仕事の紹介 データ解析の基盤の紹介

データ解析の仕事の流れ

データ解析の恐怖

ソーシャルゲーム屋の仕事の速さ

Rubyの会社でRubyを書かないお仕事

リクルーティング的な何か

Page 4: Rubyの会社でPythonistaが3ヶ月生き延びた話

ドリコムのデータ解析基盤

データ解析 Hadoop

Hive

MySQL

Rubyでゴリゴリ

Pythonでゴリゴリ

VBAでデータ加工

詳しくは川上のプレゼンを参照 http://www.slideshare.net/drecom/nosql-

11668093

Page 5: Rubyの会社でPythonistaが3ヶ月生き延びた話

データ解析のお仕事の流れ1

仮説ドリブン 「○○したユーザって× × な特性なのでは?」

ログを元に仮説検証する

成功しているサービス 失敗しているサービス

縦軸と横軸が何かは言えないです。ゴメンナサイ

→インセンティブデザインの見直し、導線の見直し

Page 6: Rubyの会社でPythonistaが3ヶ月生き延びた話

データ解析のお仕事の流れ2

依頼ドリブンの仕事

広告効果の計測

広告を打つための事前調査

条件Aユーザ群

条件Bユーザ群

縦軸と横軸が何かは言えないです。ゴメンナサイ

マーケの仮説すげええ

Page 7: Rubyの会社でPythonistaが3ヶ月生き延びた話

ソーシャルゲーム業界の速度の速さ

3月上旬 予備調査、実証

3月中旬 コンソールプロトタイプの実装

3月下旬 HTTPサーバの実装、API公開

4月上旬 負荷試験、アプリ組み込み

4月中旬 段階的にユーザ開放

4月下旬 ABテスト実施中

Page 8: Rubyの会社でPythonistaが3ヶ月生き延びた話

運用の隣でデータ解析する

大量のログが目の前にある ドリコムがソーシャルゲームを始めてからの

二年分のログが解析しほうだい

動いているサービスが目の前にある 足りないと思ったら追加でログ収集

ABテストで評価試験

速度が速い 仮説構築からサービスインまで2ヶ月

Page 9: Rubyの会社でPythonistaが3ヶ月生き延びた話

本当にあった怖い話1

Rubyで書かれたログ解析が遅い! 1バッチ2時間コース

良く見たら三重ループの中でfopenしてた

Pythonでフルスクラッチで書きなおし 全部オンメモリで持つようにした

1バッチ100秒に短縮

ログ解析怖い もうちょっとでOut of memoryだった… …

HDFS上には7TBほどのログが… …

( ゚Д ゚) 使用メモリ 10GB

Page 10: Rubyの会社でPythonistaが3ヶ月生き延びた話

本当にあった怖い話2

来月リリースのアプリのために、

過去のアプリのログ解析しておいて

コード書いてポチっとな

ゴールデンウィーク中に終わらんかった…

まだ解析してます・・・ おかしい、まだ30%しか終わってない・・・

あと二週間くらいかかりそう・・・

( ゚Д ゚) 推定処理時間9日

Page 11: Rubyの会社でPythonistaが3ヶ月生き延びた話

本日のアジェンダ

データ解析の仕事の紹介 データ解析の基盤の紹介

データ解析の仕事の流れ

データ解析の恐怖

ソーシャルゲーム屋の仕事の速さ

Rubyの会社でRubyを書かないお仕事

リクルーティング的な何か

全部Python

Page 12: Rubyの会社でPythonistaが3ヶ月生き延びた話

Rubyが書けないで仕事できるの?

Rubyで正常系だけ書く 正常系はどの言語で書いてもだいたい同じ

エラートラップとか、Railsの流儀が分からん

正常系の参考実装を書いて、

アプリエンジニアにリファクタリングを依頼

APIを公開してRailsから叩いてもらう APIベースだったらRailsからでも叩ける

将来Railsを捨てても安心(笑)

スマホのネイティブアプリからも叩ける

Page 13: Rubyの会社でPythonistaが3ヶ月生き延びた話

Railsを書かないお仕事

Pythonで書かれたサーバが本番投入 名状しがたいサービスが本番投入中

分かる人にだけわかってほしいコード

HTTP-JSONでAPIをRails側に提供

Railsの中に組み込まないで独立系として実装

Page 14: Rubyの会社でPythonistaが3ヶ月生き延びた話

Rubyの勉強:Ruby/SDLでゲーム開発(3時間)

ゲームを作る 当たり判定

分岐

敵 Classの作り方

敵をたくさん出す 配列の使い方

ループの使い方、for each

画像の描画 Viewとロジックの分離

生存判定 ガベコレの挙動

当たり判定の高速化 メモ化、辞書の利用

https://gist.github.com/1781444

http://www.nicovideo.jp/watch/sm16925689

Page 15: Rubyの会社でPythonistaが3ヶ月生き延びた話

本日のアジェンダ

データ解析の仕事の紹介 データ解析の基盤の紹介

データ解析の仕事の流れ

データ解析の恐怖

ソーシャルゲーム屋の仕事の速さ

Rubyの会社でRubyを書かないお仕事

リクルーティング的な何か

Page 16: Rubyの会社でPythonistaが3ヶ月生き延びた話

その他ドリコムのRubyを書かないお仕事

インフラエンジニア 鯖が落ちてたら直す

DBエンジニア クエリがパンクしたら直す

DBがパンクしたら直す

フロントエンジニア UIがクソだったら直す

Page 17: Rubyの会社でPythonistaが3ヶ月生き延びた話

う○ことかち○こを見つける仕事はもう嫌だお

Abuseな発言、出会い系発言の抽出

まじめに自然言語処理で抽出したい

自然言語処理ができる人はよ!

Page 18: Rubyの会社でPythonistaが3ヶ月生き延びた話

ところで、弊社の採用条件を見ると・・・

Page 19: Rubyの会社でPythonistaが3ヶ月生き延びた話

プログラミング遍歴

HR2、カルネージハート

N88BASIC

HSP

C、Verilog、C++、VBA、Forth

Python、JavaScript

x86アセンブラ、 C++、 C#、Awk

Python、Ruby

小学生

中学生

高校生

学部生

大学院生

社会人

なう

Page 20: Rubyの会社でPythonistaが3ヶ月生き延びた話

ところで、弊社の採用条件を見ると・・・

Page 21: Rubyの会社でPythonistaが3ヶ月生き延びた話

まとめ

データ解析楽しいよ!

Rails書けなくてもなんとかなるよ!

ドリコムではRailsを書かない人も募集中 インフラエンジニア

DBアーキテクト

機械学習、データサイエンティスト

フロントUI/UXエンジニア

自然言語処理

採用ページのスキルセットは無視してOK 人事仕事しろ、ページ直せ

Page 22: Rubyの会社でPythonistaが3ヶ月生き延びた話
Page 23: Rubyの会社でPythonistaが3ヶ月生き延びた話

ドリコムは、あっとほーむな会社です

Page 24: Rubyの会社でPythonistaが3ヶ月生き延びた話
Page 25: Rubyの会社でPythonistaが3ヶ月生き延びた話

ところで、うんこ部屋って何?

社内コミュニケーションにおける unk の可能性 @onk

うんこは社是、うんこは正義

http://onk.bz/data/2008-02-24/1000speakers2.html