SlideShare a Scribd company logo
1 of 12
ポケ森のフレンド登録が面倒
だったので gem を作った話
滝谷 修(Osamu Takiya
)
2018/03/01 アキバエンジニア懇親会
自己紹介
普段は Ruby / Rails
最近は React
次は Golang, Rust, GraphQL,
Kubernetes
技術書典4 出ます(まだ真っ白)
本日の内容
1. 「ポケ森(どうぶつの森 ポケットキャン
プ)」でフレンド登録をしようとした
2. とてつもなく面倒だった
3. 自動化した
何が面倒だったか?
プロフ画像内のフレンドIDをポチポ
チ入力しなければいけない
アプリの切り替えをすると、それま
での入力がリセットされる
登録の手間を軽減したい
プロフ画像からフレンドIDを自動で
抽出できればよい
作った
実演
1. bundle install
2. require
3. exec
抽出されるファイル
1. 顔アイコン
2. ユーザー名
3. フレンドID(数字だけ)
4. フレンドID(行頭に「ID :」付き)
抽出の仕組み
「ポケ森のプロフ画像」であること
を判定する
「画像内の特定のエリアの色」で
判定した(ImageMagick)
画像を正規化してから判定した
問題点
判定方法が荒い
なので、ちょっと遅い
テスト書いてない
16:9 の画像しか想定していない
iOS だとダメ
気を利かせてトリミングしてくれた画像だとダメ
そして最大の問題点
作ったのが12月下旬
「ポケ森」のリリース日は11月下旬
もはや誰もプロフ画像を
流してはいなかった……
結論
リリース時期が重要な
プロダクトはサクッと
形にして公開してみる
とらのサイトへの要望
スマホもうちょっと頑張ってほしい

More Related Content

What's hot

パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理Kouji Matsui
 
まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3Shinobu Okano
 
Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談Yuichi Yoshida
 
Django と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMSDjango と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMSIosif Takakura
 
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な APIHiroshi Kikuchi
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけようKouji Matsui
 
まったりAndroid framework code reading #2
まったりAndroid framework code reading #2まったりAndroid framework code reading #2
まったりAndroid framework code reading #2Shinobu Okano
 
ObjectMapperでJSONマッピング
ObjectMapperでJSONマッピングObjectMapperでJSONマッピング
ObjectMapperでJSONマッピングSyo Ikeda
 
2007 It合宿 発表資料/佐瀬 武志
2007 It合宿 発表資料/佐瀬 武志2007 It合宿 発表資料/佐瀬 武志
2007 It合宿 発表資料/佐瀬 武志kurubushionline
 
ASP.NETの今とこれから
ASP.NETの今とこれからASP.NETの今とこれから
ASP.NETの今とこれからTsubasa Yoshino
 
Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1Shinobu Okano
 

What's hot (14)

パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
 
まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3
 
Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談
 
Inside Android N
Inside Android NInside Android N
Inside Android N
 
React introduntion
React introduntionReact introduntion
React introduntion
 
Rancher select
Rancher selectRancher select
Rancher select
 
Django と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMSDjango と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMS
 
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
まったりAndroid framework code reading #2
まったりAndroid framework code reading #2まったりAndroid framework code reading #2
まったりAndroid framework code reading #2
 
ObjectMapperでJSONマッピング
ObjectMapperでJSONマッピングObjectMapperでJSONマッピング
ObjectMapperでJSONマッピング
 
2007 It合宿 発表資料/佐瀬 武志
2007 It合宿 発表資料/佐瀬 武志2007 It合宿 発表資料/佐瀬 武志
2007 It合宿 発表資料/佐瀬 武志
 
ASP.NETの今とこれから
ASP.NETの今とこれからASP.NETの今とこれから
ASP.NETの今とこれから
 
Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1
 

ポケ森のフレンド登録が面倒だったので gem を作った話(アキバエンジニア懇親会 2018/03/01)