コマンドに別名をつける例のアレ。
$ alias ls='ls -l'
エイリアスの解除は
$ unalias lsmore
一時的に無効にするには
$ \ls
でおk
出典については…気にするな!
GREE開発本部 広告統括部
Python java(hadoop) PHPをよく書く
ネット広告の課金方法
ネット広告は期限付きのものが多い
Imp, click, conv(コンバージョン)のログを取る
GREEのトップ以外(インプレッション)
アドワーズ(クリック)
ニコニコ市場(コンバージョン)
広告ログシステムの全体像
ADサーバー→インプレッションログ
AD掲載ページ
Redirectサーバー→click log
リダイレクト
ランディングページ
コンバージョンサーバー→ conv log
fluentd と Hadoopを利用して、ログを集計してサーバーに送り、レポートを作る
Fluentd(リアルタイムのログ収集ツール JSON形式で収集する)
フォーマット化することでパーサーの負担も少ない
似たようなのに、ScribeやFlumeがある。
が、Docsとプラグインが豊富なので採用した
利点
欠点
プロセスが落ちると再送されない(アドホックなスクリプトで拾う必要がある)
Hadoop
大規模データを効率的に分散処理、管理するためのソフトウェア基盤
多数の汎用サーバで大規模データを処理できるが、
細かいデータは処理できない
Java MapReduce(実装に時間がかかるがハイパフォーマンス)
Hive SQLっぽくかける
Pig 独自言語
Streaming 好きな言語で書ける、おそい
いまのところMapReduceを使う。
Streamingで好きな言語でも書けるが、
処理の見積りが難しい
NameNodeが単一障害点
10xLab(GaiaXの福岡開発拠点)
Railsを使ったBtoB向け自社プロダクトを新規開発
開発のなかでアーキテクチャがどう変遷したか
所謂MVC
モデルとテーブルは1:1
コントローラとモデルは1:多
課題
コントローラが太っていく
保守性、可読性の低下
モデルにビジネスロジックを移していく
1つのモデルに紐付いていない処理はどこに書くのか?
MVC wiht Logic
Logic層の導入
データを疎結合で扱える
ビュー 表示
コントローラ ビューに一連のデータを渡す
ロジック 一連の処理を処理する
モデル データを保存する
サイドバー、ヘッダーなどの共通パーツに必要なデータを
用意しなければならないので面倒。
→Cellsを用意する
コンポーネントに必要な要素を切り離す
テンプレートを用意できる。
MVC with Logic and Cells
ヘッダーやサイドバーなど共通パーツのテンプレをCellsで用意する
サイドバー単位でキャッシュをクリアできる利点もある
validationをどこでするか
helperが太る…
どこかで箱をまとめて再構成するフレーズが必要になるのだろうか
fluxflex
米国決済市場が尋常じゃないほど白熱してれぅ
Recurly(継続課金を簡単に)
wepay(集金を楽に)
stripe(ウェブ決済を簡単に)
Braintree(モバイル決済を簡単に)
物販のアプリも白熱してれぅ
→愕然とするほど未開拓な日本の決済市場
苦しみ1
なんでもかんでも「お問い合わせください」で片付けようとするのでUXのかけらもない
苦しみ2
冗長かつ大量なドキュメント
独自仕様のURLスキーマ (GET/seikyuu.cgi で決済とか)
不必要に複雑なAPI設計
苦しみ3
不透明かつ足下を見た価格体系(交渉する術もないししたくない)
もう死んでくれ。
能力の問題じゃなくて、文化の問題なんじゃ…
開発者が稼ぐためにつかいやすい決済システム WebPay
簡単に使えるテスト環境
分かりやすいUI
わかりやすいRest API
ユーザーに最適化したドキュメント
試しながら開発が出来る!!!
多種多様な言語への対応(stripのライブラリと互換性がある)
オブジェクト化して投げればだいたいおk
PHP ruby python windows8 iOS android
月額200円 各取引ごと 3.4% + 30円
年内公式リリースを目指してれぅ
DeNAのひと
comm作ったので話題になってる会社だけど、comm作ってはいない
ユーザー
売上
PV
コンバージョン など…
メトリクスを見ないと状況把握出来ない
Metrics is important
新機能開発に時間を割かないといけないので、
メトリクスにかまけてる時間がない
そこで、GrowthForecast!!
利点
インストールは簡単
使い方は、HTTPでPOSTするだけ!!
どんな言語でもだいたい対応できる
処理するデータも多くない多くならない
欠点
グラフのカスタマイズが難しい
過去のメトリクスを作成できない
便利なプラグイン Auto Refresh Plus
Metrics is important and you can make metric easily by GrowthForecast
メトリクス用のツールは色々と使い分けてる
ご指摘頂いた箇所を修正しました
ランサーズ アウトソーシングの会社
時間や場所に囚われないネットを活用した新しい働きかたの創出したいので、
鎌倉でやってみようとした。
構成
apache
mysql
cakephp
jenkins
nagios
munin
jenkins
aws
awsに特化したサービスを作る
WBSに取り上げられたら大反響
アクセス予測 (某ブログを参考に)
コンテンツ軽量化 コンテンツ静的化など
仮想サーバ増設
負荷テスト JMeter AMIを仕様
ELB(Elastic Load Balancing)スケールアップ アプリケーショントラフィックの負荷を自動的に分散してくれるロードバランサ
5分間のトラフィック量を測定しオートスケールを判断する
→有料のものを使うことで解決!!
結果
落ちなかった
大幅なアクセス遅延もなし
アクセス数 会員登録数も急増
AWSの営業のひととは仲良くするとサポート料が安くなりそう
社内からの負荷テストは注意(ネット止まるかも)
インスタンスの立ち上げすぎには注意(従量課金なので…)