1 mhackathon

36
$1M Hackathon に参加して 古城 篤

Upload: atsushi-kojo

Post on 12-Jun-2015

469 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 mhackathon

$1M Hackathon に参加して 古城 篤

Page 2: 1 mhackathon

自己紹介

Ø  株式会社ウフル在籍

Ø  直感エンジニア

Ø  ウフル技術ブログメイン執筆者

Ø  ブログ→http://artsnet.jp/

Ø  SFDCの音楽イベントに参加 •  2011年 Base

•  2013年 Guitar

Twitter: @joeartsea

Page 3: 1 mhackathon

ついでにウフルメンバー紹介1

Twitter: @yoshiro_ma Blog: http://creators-delight.blogspot.jp/

Page 4: 1 mhackathon

ついでにウフルメンバー紹介2

Twitter: @daidouzi Blog: http://blog.livedoor.jp/volvic_beer/

Page 5: 1 mhackathon

ついでにウフルメンバー紹介3

Twitter: @nakayama_san Blog: http://nakayamalog.blogspot.jp/

Page 6: 1 mhackathon

なかやまさんの和み系イラスト

Twitter: @nakayama_san Blog: http://nakayamalog.blogspot.jp/

Page 7: 1 mhackathon

$1M Hackathon に参加して

一億円は

オレのもの

Page 8: 1 mhackathon

何を作ろう?

Ø  モバイル絡みじゃないといけないみたい

Ø  実質1人だから大きなものは作れない

Ø  みんな本気っぽいからネタアプリで勝負

Ø  そういえば日々書き留めてあるアイデアメール(下書き)があった!

Page 9: 1 mhackathon

メールで「いいね」アプリだ!

Ø  DFのちょっと前のLinkedInの騒動で思いついた

Ø  IMAPプロキシくらい作った程度

Ø  優先度低だったのに急上昇w

Page 10: 1 mhackathon

LinkedIn Intro?

これが

こうなる

引用: http://engineering.linkedin.com/mobile/linkedin-intro-doing-impossible-ios

Page 11: 1 mhackathon

IMAP Proxy?

※IMAP Proxyサーバを設定するにはプロファイルをインストール?

引用: http://blog.masuidrive.jp/2013/10/24/linkedin-intro/

Page 12: 1 mhackathon

プロファイル?

引用: http://wazanova.jp/post/64993376597/linkedin-intro

プロファイル配布で

こげなことができる

Page 13: 1 mhackathon

とりあえずIMAP Proxyは?

引用: http://tobinindustries.com/blog/2013/09/09/inspect-imap-traffic-using-a-nodejs-proxy/

Javascript版: https://github.com/joeartsea/nodejs-imap-proxy/blob/master/server.js

ソー

ス見っけ

ありがとう :D

Page 14: 1 mhackathon

構想はこんな感じ

Chatter

FeedLike

FeedItem

ユーザ

メールサーバ

FETCH

・ユーザ情報・メール情報・Chatter情報

・メール改竄

IMAP Proxy 設定サイト

メールのいいね!リンククリック

メール内容投入&いいね!

Page 15: 1 mhackathon

1日目終了

やべぇ

一億ホントに

もらっちゃうかも

Page 16: 1 mhackathon

2日目午前は基調講演

GGrreeeenn DDaayy

なんで

かからんの?

Page 17: 1 mhackathon

午後だけで大丈夫?

実装?

余裕

余裕

Page 18: 1 mhackathon

あれ?やばいかも

Ø  FETCHしたメールのBodyをちょろっといじれば良いとタカをくくってた

Ø  Mailparser (npm) で良きに計らってくれ…ない!(Parseしたのを戻してほしかったのに)

Ø  色々ライブラリあさって諦めてboundaryとか探すコードを書き始める

Ø  なんとか本文へのリンク挿入に成功!

Ø  ここで初めてHerokuに上げたが…動かない…

Page 19: 1 mhackathon

2日目終了

やべぇ

明日で終わり?

 

間に合わんかも

Page 20: 1 mhackathon

3日目朝から激しく実装

設定サイトは

過去のリソー

全投入�やでL

IIMMAAPP--PPrrooxxyy

は EECC

22で速攻立てて

Page 21: 1 mhackathon

ちなみに3日目の私の開発風景

Page 22: 1 mhackathon

え?どこ?

Page 23: 1 mhackathon

ここ!

Page 24: 1 mhackathon

ホントにぼっち…

Page 25: 1 mhackathon

設定サイトはAngularJS+Deployd

Ø  ゼロからごにょごにょするより作りかけの会員サイト(AngularJS+Deployd)を流用(反則?)

Ø  1時間で会員サイトは完成

Ø  会員サイトからSalesforceへのOAuthやってみる

Ø  なんかプロキシ(サーバサイド)要る?PHP?

Ø  よくわからんが時間がないのでExpressで!

Ø  Node-salesforce (npm) も使わしていただきました

Page 26: 1 mhackathon

設定サイト

http://mailiker.herokuapp.com/

Page 27: 1 mhackathon

メールからChatterへ

Page 28: 1 mhackathon

結局こうなった

Chatter

FeedLike

FeedItem

ユーザ

メールサーバ

FETCH

・ユーザ情報・メール情報・Chatter情報

・メール改竄

IMAP Proxy 設定サイト

メールのいいね!リンククリック

メール内容投入&いいね!

Deployd

Page 29: 1 mhackathon

セキュリティは?

Ø  メールに挿入されるURLのパラメータはメールアドレスとメッセージID?じゃあ両方解った場合は誰でも抜けるよね?

Ø  DeploydのAPIフルオープンなんですけどw •  ソコいじると急遽追加したサーバサイド側でもログインしなきゃいけない?とか色々大変で…

Ø  いやw そのままじゃ誰でも会員情報もメールも抜けるじゃんwww 正気ですか?

Page 30: 1 mhackathon

・・・

わたしは

考えない

 

ことにした

Page 31: 1 mhackathon

動かないですけどw

Ø  メール10行超えてくるとリンクが挿入されないよ? •  メール本文へのリンク挿入には成功したけど、Bodyサイズが何かで固定されててHTML部分が切れる。もっとオーバーするとTEXT部分まで切れる、という謎が解明されるまで仕様です

Ø  マジ?w じゃあ添付有りの時は? •  同上です

Ø  他の人が同じメールいいね!した場合は同じ投稿にいいねされるよね? •  まだですね、ロードマップにはあります

Ø  そもそもHTMLメールになんないじゃんwww •  Bodyサイズの謎のせい(たまーにHTMLになります)

Page 32: 1 mhackathon

・・・

それ全部

制約なんです

Page 33: 1 mhackathon

後日談

Ø  提出しようとしたが動くケースさえも動かなかくなっていたので流石にまずいと思って提出しなかった

Ø  調べたらHerokuに上げたDeploydを直接いじってた時の設定は全てファイルに書き出されるので、時間が経つとファイルが消滅し元の状態に戻っていた…

Ø  そうだった。HerokuではGitで管理されてないファイルは消えるんだった…

Page 34: 1 mhackathon

気をつけよう

Ø  Heroku上のDeploydの設定をいじる時はローカルで設定してHerokuにPushしよう

Ø  わかっていても焦ってるとそういうこと忘れるみたい

Ø  ちなみにhttp://artsnet.jp/ もHeroku+Wordpressで動かしてる

Ø  本体やプラグインのアップデートめんどくさいよね

Page 35: 1 mhackathon

Meetupでわかったこと

なんと、応募に動画が必須だったとMeetupで知りましたw

みんな動画まで作って本気だね〜とか思ってました(笑)

更に本気で3日間で作ろうとしたのは多分自分だけ…

私は一体、何と戦ってたんでしょう?

それは…自分です!^_^

Page 36: 1 mhackathon

チームひとりの奮闘記

おわり