Soumettre la recherche
Mettre en ligne
YAPC::Asia
•
Télécharger en tant que PPTX, PDF
•
3 j'aime
•
1,390 vues
Seiji Harada
Suivre
Sports
Technologie
Signaler
Partager
Signaler
Partager
1 sur 36
Télécharger maintenant
Recommandé
MA2016 kintone ハンズオン
MA2016 kintone ハンズオン
kintone papers
MA2016 kintone 紹介
MA2016 kintone 紹介
kintone papers
第27回WebSig会議(大崎さんスライド)
第27回WebSig会議(大崎さんスライド)
WebSig24/7
Facebook事例&サービス紹介(2010.9.16セミナープレゼン資料)
Facebook事例&サービス紹介(2010.9.16セミナープレゼン資料)
Hiroshi Tsukamoto
1000speakers#2-5 頼れる執事Hudson
1000speakers#2-5 頼れる執事Hudson
cactusman
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
直生 亀山
6 Thinking Traps that Make Your Life Hell
6 Thinking Traps that Make Your Life Hell
SMN Zaman
Janus @ Meetup Tokyo #12
Janus @ Meetup Tokyo #12
Lorenzo Miniero
Recommandé
MA2016 kintone ハンズオン
MA2016 kintone ハンズオン
kintone papers
MA2016 kintone 紹介
MA2016 kintone 紹介
kintone papers
第27回WebSig会議(大崎さんスライド)
第27回WebSig会議(大崎さんスライド)
WebSig24/7
Facebook事例&サービス紹介(2010.9.16セミナープレゼン資料)
Facebook事例&サービス紹介(2010.9.16セミナープレゼン資料)
Hiroshi Tsukamoto
1000speakers#2-5 頼れる執事Hudson
1000speakers#2-5 頼れる執事Hudson
cactusman
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
直生 亀山
6 Thinking Traps that Make Your Life Hell
6 Thinking Traps that Make Your Life Hell
SMN Zaman
Janus @ Meetup Tokyo #12
Janus @ Meetup Tokyo #12
Lorenzo Miniero
LINE WORKSを活用したチャットボットが現場とkintoneを繋ぐ
LINE WORKSを活用したチャットボットが現場とkintoneを繋ぐ
Tomohisa Hoshino
アドネットワーク凛 媒体資料
アドネットワーク凛 媒体資料
Harumasa Matsushita
What is tmcn for isit
What is tmcn for isit
Yukihiro Kimura
HKkintone20170128v1
HKkintone20170128v1
kintone papers
「マシンリーダビリティ」がユーザー体験を加速する
「マシンリーダビリティ」がユーザー体験を加速する
Yoshinori OHTA
ASP.net MVC で Stripe課金を実装してみた話
ASP.net MVC で Stripe課金を実装してみた話
Yukihito Kataoka
GCPでお手軽IoTに挑戦
GCPでお手軽IoTに挑戦
Masahiro Matsumoto
Order cloud
Order cloud
ssuser6cb2141
kintone dev demo
kintone dev demo
kintone papers
WebとEmailのパーソナライズをGAとZoho CRMで安価に実現する方法
WebとEmailのパーソナライズをGAとZoho CRMで安価に実現する方法
Makoto Shimizu
"Kong Summit, Japan 2022" Kongコミュニティセッション:政府が掲げるデジタル田園都市国家構想の実現に重要なオープンAPI
"Kong Summit, Japan 2022" Kongコミュニティセッション:政府が掲げるデジタル田園都市国家構想の実現に重要なオープンAPI
Junji Nishihara
20160621 KDL_monacaソリューションセミナー
20160621 KDL_monacaソリューションセミナー
kdl_yamanaka
琵琶湖を中心とした世界のようなお話
琵琶湖を中心とした世界のようなお話
MicroAd, Inc.(Engineer)
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
Yasufumi Nishiyama
GRAND FRONTEND OSAKA 2016 kintone説明
GRAND FRONTEND OSAKA 2016 kintone説明
Yoshihiko Takeuchi
人類kintoneマスター化計画
人類kintoneマスター化計画
Cybozucommunity
これからのカスタマーサポートのカタチ ~AIチャットボットの仕組と実績のご紹介~ - 株式会社SHIFT PLUS - GTMF 2018 OSAKA /...
これからのカスタマーサポートのカタチ ~AIチャットボットの仕組と実績のご紹介~ - 株式会社SHIFT PLUS - GTMF 2018 OSAKA /...
Game Tools & Middleware Forum
AIとの付き合い方
AIとの付き合い方
Deep Learning Lab(ディープラーニング・ラボ)
Yapc::Asia 2013
Yapc::Asia 2013
Masaru Hoshino
フルマネージドサービスの活用とIoTシステムのオペレーション
フルマネージドサービスの活用とIoTシステムのオペレーション
Satoshi Nakada
Contenu connexe
Similaire à YAPC::Asia
LINE WORKSを活用したチャットボットが現場とkintoneを繋ぐ
LINE WORKSを活用したチャットボットが現場とkintoneを繋ぐ
Tomohisa Hoshino
アドネットワーク凛 媒体資料
アドネットワーク凛 媒体資料
Harumasa Matsushita
What is tmcn for isit
What is tmcn for isit
Yukihiro Kimura
HKkintone20170128v1
HKkintone20170128v1
kintone papers
「マシンリーダビリティ」がユーザー体験を加速する
「マシンリーダビリティ」がユーザー体験を加速する
Yoshinori OHTA
ASP.net MVC で Stripe課金を実装してみた話
ASP.net MVC で Stripe課金を実装してみた話
Yukihito Kataoka
GCPでお手軽IoTに挑戦
GCPでお手軽IoTに挑戦
Masahiro Matsumoto
Order cloud
Order cloud
ssuser6cb2141
kintone dev demo
kintone dev demo
kintone papers
WebとEmailのパーソナライズをGAとZoho CRMで安価に実現する方法
WebとEmailのパーソナライズをGAとZoho CRMで安価に実現する方法
Makoto Shimizu
"Kong Summit, Japan 2022" Kongコミュニティセッション:政府が掲げるデジタル田園都市国家構想の実現に重要なオープンAPI
"Kong Summit, Japan 2022" Kongコミュニティセッション:政府が掲げるデジタル田園都市国家構想の実現に重要なオープンAPI
Junji Nishihara
20160621 KDL_monacaソリューションセミナー
20160621 KDL_monacaソリューションセミナー
kdl_yamanaka
琵琶湖を中心とした世界のようなお話
琵琶湖を中心とした世界のようなお話
MicroAd, Inc.(Engineer)
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
Yasufumi Nishiyama
GRAND FRONTEND OSAKA 2016 kintone説明
GRAND FRONTEND OSAKA 2016 kintone説明
Yoshihiko Takeuchi
人類kintoneマスター化計画
人類kintoneマスター化計画
Cybozucommunity
これからのカスタマーサポートのカタチ ~AIチャットボットの仕組と実績のご紹介~ - 株式会社SHIFT PLUS - GTMF 2018 OSAKA /...
これからのカスタマーサポートのカタチ ~AIチャットボットの仕組と実績のご紹介~ - 株式会社SHIFT PLUS - GTMF 2018 OSAKA /...
Game Tools & Middleware Forum
AIとの付き合い方
AIとの付き合い方
Deep Learning Lab(ディープラーニング・ラボ)
Yapc::Asia 2013
Yapc::Asia 2013
Masaru Hoshino
フルマネージドサービスの活用とIoTシステムのオペレーション
フルマネージドサービスの活用とIoTシステムのオペレーション
Satoshi Nakada
Similaire à YAPC::Asia
(20)
LINE WORKSを活用したチャットボットが現場とkintoneを繋ぐ
LINE WORKSを活用したチャットボットが現場とkintoneを繋ぐ
アドネットワーク凛 媒体資料
アドネットワーク凛 媒体資料
What is tmcn for isit
What is tmcn for isit
HKkintone20170128v1
HKkintone20170128v1
「マシンリーダビリティ」がユーザー体験を加速する
「マシンリーダビリティ」がユーザー体験を加速する
ASP.net MVC で Stripe課金を実装してみた話
ASP.net MVC で Stripe課金を実装してみた話
GCPでお手軽IoTに挑戦
GCPでお手軽IoTに挑戦
Order cloud
Order cloud
kintone dev demo
kintone dev demo
WebとEmailのパーソナライズをGAとZoho CRMで安価に実現する方法
WebとEmailのパーソナライズをGAとZoho CRMで安価に実現する方法
"Kong Summit, Japan 2022" Kongコミュニティセッション:政府が掲げるデジタル田園都市国家構想の実現に重要なオープンAPI
"Kong Summit, Japan 2022" Kongコミュニティセッション:政府が掲げるデジタル田園都市国家構想の実現に重要なオープンAPI
20160621 KDL_monacaソリューションセミナー
20160621 KDL_monacaソリューションセミナー
琵琶湖を中心とした世界のようなお話
琵琶湖を中心とした世界のようなお話
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
作るツールから支えるツールへ - Movable Typeと外部システムの連携事例 -
GRAND FRONTEND OSAKA 2016 kintone説明
GRAND FRONTEND OSAKA 2016 kintone説明
人類kintoneマスター化計画
人類kintoneマスター化計画
これからのカスタマーサポートのカタチ ~AIチャットボットの仕組と実績のご紹介~ - 株式会社SHIFT PLUS - GTMF 2018 OSAKA /...
これからのカスタマーサポートのカタチ ~AIチャットボットの仕組と実績のご紹介~ - 株式会社SHIFT PLUS - GTMF 2018 OSAKA /...
AIとの付き合い方
AIとの付き合い方
Yapc::Asia 2013
Yapc::Asia 2013
フルマネージドサービスの活用とIoTシステムのオペレーション
フルマネージドサービスの活用とIoTシステムのオペレーション
YAPC::Asia
1.
mixiチェックインの裏側 YAPC::Asia Tokyo 2010 株式会社ミクシィ 原田
星児
2.
●自己紹介 ●mixiチェックインについて ●スポットの絞込み方法 ●高速化 ●まとめ アジェンダ
3.
●原田 星児 ●株式会社ミクシィ サービス本部 コアサービス部
開発グループ コミュニケーション開発チーム 所属 ●最近のお仕事 フォトリニューアル(モバイル) フォトボイス連携(モバイル) mixiチェックイン(モバイル) 自己紹介 8年前 こんなのも作ってました
4.
mixiチェックインについて 「mixiチェックイン」は、携帯電話のGPS機能を利用して、 今いる場所やお店(スポット)を簡単に友人・知人に共有できる 『mixi』の新しいコミュニケーション機能です。(弊社プレスリリースより)
5.
geohashの前方一致 スポットの絞込み方法
6.
緯度経度の範囲を文字列で表す仕組み 例)緯度:+ 35.7298508752137 経度:+ 139.716479647905 →
xn77726mmy ココ geohashとは
7.
geohashから座標を求めよう
8.
xn77726mmy 29|20|7|7|7|2|6|19|19|30 BASE32 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 2進化 1110001101011010100110111 → 経度 1011001011010000110101110
→ 緯度 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 座標を求めてみよう
9.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
10.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
11.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
12.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
13.
11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y 座標を求めてみよう
14.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
15.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
16.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
17.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
18.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y
19.
座標を求めてみよう 11101|10100|00111|00111|00111|00010|00110|10011|10011|11110 x n 7
7 7 2 6 m m y 特定しました!
20.
● geohashが短いと範囲が広がる 青枠の中の座標は 全て XN7772
から始まる XN7772 の前方一致で 範囲内の検索ができる スポットの絞込み方法
21.
落とし穴がある
22.
この辺りも含めたい!! GPSの計測結果 ●矩形の隅っこの場合 スポットの絞込み方法
23.
範囲を広げるには? geohashの文字数を削る なぜ? スポットの絞込み方法
24.
xn7772 → xn777 落とし穴 含めたいのはココ
25.
含むまで削ると・・・ 広がりすぎ 落とし穴
26.
どうすればいい?
27.
とりあえず周囲のマス取ってみた 考えてみた
28.
いい感じ
29.
でも・・・ ・・・明らかに遠いので削る 考えてみた
30.
とてもいい感じ
31.
●geohash ●mysql ●計算処理を早くできないか? ●無駄なクエリを減らす事はできないか? 高速化について
32.
●Geo::Hash (http://search.cpan.org/dist/Geo-Hash/) ●ベンチマーク ●隣接するgeohashを求めるadjacentメソッドがある geohash Encode Benchmark: timing
500000 iterations of Geo::Hash encode, Geo::Hash::XS encode... Geo::Hash encode: 137 wallclock secs (136.95 usr + 0.00 sys = 136.95 CPU) @ 3650.97/s (n=500000) Geo::Hash::XS encode: -1 wallclock secs ( 0.66 usr + 0.00 sys = 0.66 CPU) @ 757575.76/s (n=500000) Rate Geo::Hash encode Geo::Hash::XS encode Geo::Hash encode 3651/s -- -100% Geo::Hash::XS encode 757576/s 20650% -- Decode Benchmark: timing 1000000 iterations of Geo::Hash decode, Geo::Hash::XS decode... Geo::Hash decode: 112 wallclock secs (111.68 usr + 0.03 sys = 111.71 CPU) @ 8951.75/s (n=1000000) Geo::Hash::XS decode: 2 wallclock secs ( 0.79 usr + 0.00 sys = 0.79 CPU) @ 1265822.78/s (n=1000000) Rate Geo::Hash decode Geo::Hash::XS decode Geo::Hash decode 8952/s -- -99% Geo::Hash::XS decode 1265823/s 14041% -- ●Geo::Hash::XS (http://search.cpan.org/dist/Geo-Hash-XS/)
33.
●キャッシュ化 ●スポット情報が頻繁に変わらない ●検索は6文字のgeohash 結果 関東と関西をキャッシュ キー総数は65536 カバー率は38% 6文字のgeohashをキーにして Memcachedに積んじゃえ!! mysql
34.
●6文字のgeohashによる前方一致で絞込み ●最小で1つ、最大で4つのキーで検索 ●geohash周りの計算はGeo::Hash::XSで高速化 ●検索半径250mでキーの平均値は2.66個 (250mの根拠は検証時のGPSのズレの最大値) まとめ ●GPSの精度が上がれば7文字もアリ ●無駄なクエリを減らすためにキャッシュ化
35.
浅草 雷門 位置情報を楽しもう!
36.
ご清聴ありがとうございました
Télécharger maintenant