Suche senden
Hochladen
kay-jpmobile
•
2 gefällt mir
•
3,757 views
Tasuku Suenaga
Folgen
Google App Engine用フレームワークKayで、日本の携帯電話に対応するためのモジュールについて発表したものです。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 19
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
俺と LightSail 概要と使ってみた
俺と LightSail 概要と使ってみた
Masayuki KaToH
軽量のススメ
軽量のススメ
hirokiky
Biblnk
Biblnk
繁史 河久保
Python勉強会資料(MessageBoard作成)
Python勉強会資料(MessageBoard作成)
Kimihiro N
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
hirokiky
hello waf, hello phoenix
hello waf, hello phoenix
Tsunenori Oohara
Empfohlen
俺と LightSail 概要と使ってみた
俺と LightSail 概要と使ってみた
Masayuki KaToH
軽量のススメ
軽量のススメ
hirokiky
Biblnk
Biblnk
繁史 河久保
Python勉強会資料(MessageBoard作成)
Python勉強会資料(MessageBoard作成)
Kimihiro N
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
hirokiky
hello waf, hello phoenix
hello waf, hello phoenix
Tsunenori Oohara
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Shinichi Nakagawa
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
Shinya Okano
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
makoto tsuyuki
Python札幌201406
Python札幌201406
Shinya Okano
Gunma.web #24 MySQL HA
Gunma.web #24 MySQL HA
Yusuke Muraoka
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
Takayuki Shimizukawa
Django learning Part2
Django learning Part2
Yusuke Muraoka
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
hirokiky
ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!
Hasegawa Yusuke
Pycon2014 django performance
Pycon2014 django performance
hirokiky
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
predictori
Django 1.9
Django 1.9
OMEGA (@equal_001)
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法
Ian Lewis
AWS Lambda を使ってみた話 at づや会Vol.3
AWS Lambda を使ってみた話 at づや会Vol.3
ko ty
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Shinichi Nakagawa
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016
Akinori Kohno
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
Yusuke Miyazaki
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
Daisuke Futatsumori
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティ
SwapSkills
Weitere ähnliche Inhalte
Andere mochten auch
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Shinichi Nakagawa
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
Shinya Okano
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
makoto tsuyuki
Python札幌201406
Python札幌201406
Shinya Okano
Gunma.web #24 MySQL HA
Gunma.web #24 MySQL HA
Yusuke Muraoka
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
Takayuki Shimizukawa
Django learning Part2
Django learning Part2
Yusuke Muraoka
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
hirokiky
ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!
Hasegawa Yusuke
Pycon2014 django performance
Pycon2014 django performance
hirokiky
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
predictori
Django 1.9
Django 1.9
OMEGA (@equal_001)
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法
Ian Lewis
AWS Lambda を使ってみた話 at づや会Vol.3
AWS Lambda を使ってみた話 at づや会Vol.3
ko ty
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Shinichi Nakagawa
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Satoshi Nagayasu
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016
Akinori Kohno
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
Yusuke Miyazaki
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
Takayuki Shimizukawa
Andere mochten auch
(19)
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
Python札幌201406
Python札幌201406
Gunma.web #24 MySQL HA
Gunma.web #24 MySQL HA
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
Django learning Part2
Django learning Part2
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!
Pycon2014 django performance
Pycon2014 django performance
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
Django 1.9
Django 1.9
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法
AWS Lambda を使ってみた話 at づや会Vol.3
AWS Lambda を使ってみた話 at づや会Vol.3
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Pythonではじめる野球プログラミング PyCon JP 2014 9/14 Talk Session
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
Django/Celeyを用いたデータ分析Webアプリケーションにおける非同期処理の設計と実装
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016
Django から各種チャットツールに通知するライブラリを作った話
Django から各種チャットツールに通知するライブラリを作った話
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
Ähnlich wie kay-jpmobile
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
Daisuke Futatsumori
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティ
SwapSkills
実行速度の最適化のあれこれ プラス おまけ
実行速度の最適化のあれこれ プラス おまけ
エピック・ゲームズ・ジャパン Epic Games Japan
SkyWay HandsOn
SkyWay HandsOn
Yusuke Naka
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
Takashi Okamoto
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
NTT DATA Technology & Innovation
Zend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイト
清水樹
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Uehara Junji
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM,INC
PhoneGap勉強会 in 熊本
PhoneGap勉強会 in 熊本
Suguru Murakami
AmazonElasticBeanstalk
AmazonElasticBeanstalk
Taisuke Oe
Mobile + HTML5
Mobile + HTML5
Shinobu Okano
2012_07_06_gxeb_05
2012_07_06_gxeb_05
ryo katsuma
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋
Hiroki Mizuno
ScalableCore system at SWoPP2010 BoF-2
ScalableCore system at SWoPP2010 BoF-2
Shinya Takamaeda-Y
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Yuji Kubota
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
Kiro Harada
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
Yuji Kubota
Ähnlich wie kay-jpmobile
(20)
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
スマートフォンサイトのトレンドとユーザビリティ
スマートフォンサイトのトレンドとユーザビリティ
実行速度の最適化のあれこれ プラス おまけ
実行速度の最適化のあれこれ プラス おまけ
SkyWay HandsOn
SkyWay HandsOn
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
Zend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイト
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
PhoneGap勉強会 in 熊本
PhoneGap勉強会 in 熊本
AmazonElasticBeanstalk
AmazonElasticBeanstalk
Mobile + HTML5
Mobile + HTML5
2012_07_06_gxeb_05
2012_07_06_gxeb_05
Coq for Moblie Phone @ ML名古屋
Coq for Moblie Phone @ ML名古屋
ScalableCore system at SWoPP2010 BoF-2
ScalableCore system at SWoPP2010 BoF-2
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Prepare for Java 9 #jjug
Prepare for Java 9 #jjug
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
Kürzlich hochgeladen
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Kürzlich hochgeladen
(9)
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
kay-jpmobile
1.
Kay-jpmobile 末永 匡 a.k.a.
グニャラくん (株)wktk
2.
開発の経緯 ∗
Kayでとにかく何か作ってみよう ∗ 掲示板サイトを作ろう ∗ 携帯に対応したい ∗ 携帯に対応するなら絵文字も対応したい
3.
Django-bpmobile ∗神 ∗ パクろうインスパイアされよう
4.
Kay-jpmobile命名の由来 ∗ Django ->
Kay ∗ これはいいけど ∗ bpmobile-> jpmobile ∗ 苦肉の策
5.
Kay-jpmobileで は何ができる の?
6.
Kay-jpmobileでできること (1) ∗ 推奨文字コードでリクエスト・レスポンスを扱う
ことができる ∗ DoCoMo / au : cp932 ∗ Softbank : utf-8
7.
Kay-jpmobileでできること (2) ∗ ビューでキャリアの判定を行う
ことができる ∗ request.agent.is_docomo() など ∗ テンプレートでキャリアの判定を行うことができ る ∗ {% if agent.is_docomo %} DoCoMo {% endif %}
8.
Kay-jpmobileでできること (3) ∗ 絵文字を受け取り、保存することができる
∗ 内部文字コードとして、Google絵文字コードを採用 ∗ テンプレートで絵文字を扱うことができる ∗ キャリアごとの絵文字、もしくは<img>タグに変換 {{ "¥U000fe000"|emoji_html_filter }} ∗ 識別名を用いた埋め込み {% emoji_html "BLACK SUN WITH RAYS" %}
9.
Kay-jpmobileはスマート!? ∗ テンプレートでスマートにキャリアの判定を行う
ことができる ∗ スマート…?
10.
どういうこと? {% if agent.is_docomo
%} DoCoMoです。 {% else %} {% if agent.is_docomo %} {% if agent.is_ezweb %} DoCoMoです。 EZWebです。 {% elif agent.is_ezweb %} {% else %} EZWebです。 {% if agent.is_softbank %} {% elif agent.is_softbank %} SoftBankです。 SoftBankです。 {% else %} {% else %} その他です。 その他です。 {% endif %} {% endif %} {% endif %} {% endif %} ∗ Jinja2のelifのおかげじゃねーか!
11.
Kay-jpmobileで は何ができて ないの?
12.
Kay-jpmobileの実装 ∗ テスト実装という名のもとに、結構ひどい実装 ∗ でも、ないよりも、あったほうがマシだよね
13.
middlewareで何やってるか ∗ Request
∗ 各携帯の推奨エンコーディングを、utf-8に正規化 ∗ 絵文字もGoogle絵文字コードに正規化 ∗ Response ∗ utf-8を、各携帯推奨エンコーディングに変更 ∗ (Google絵文字コードを各携帯の絵文字コードに変更)
14.
werkzeug.Request ∗ Request.args/formはImmutableMultiDict
∗ Request.charsetをキャリア推奨charsetに変更 ∗ ImmutableMultiDictをコピー ∗ 絵文字コードをGoogle絵文字コードに変換 ∗ 新しいImmutableMultiDictを作り、args/formに代入
15.
このアプローチの問題点 ∗ 携帯電話からのアクセス時に、必ず
request.args/formが評価されてしまう ∗ もともと、request.args/formは遅延評価 ∗ 本来は、遅延評価にすべき
16.
解決策の提案 ∗ Kayのsettings.pyで、Requestのクラスを指定できれ
ばよい? ∗ REQUEST_CLASS = ‘jpmobile.class.Request’ ∗ klass = import_string(self.app_settings.REQUEST_CLASS) ∗ local.request = request = klass(environ)
17.
DoCoMoでcookieが食えないヤツ ∗ 基本cookieが食えることを前提 ∗ Cookieが食えないDoCoMoだけ、iモードIDを用いて
疑似Cookieを作ってあげればOK? ∗ iモードIDをキーとして、Response.cookieを保存。 ∗ Request.cookieは、iモードIdをキーとして保存先から 取得 ∗ やっぱりRequestクラスを指定できるようになると いいのかも
18.
まとめ ∗ DoCoMoの件がなんとかなれば、それなりに実用的
になるのではないか ∗ 是非patchを! ∗ このIssueでマジ困っているので誰か助けて http://code.google.com/p/googleappengine/issues/ detail?id=4388
19.
Jinja2の拡張 ∗ 意外とサンプルが少なく、書き方で悩んだ ∗
のでメモ ∗ contextに渡っている値の取り出し方 ∗ agentの値をfilter内で取り出したかった ∗ parse時にnodes.ContextReference()を埋め込んでおけ ばOK
Jetzt herunterladen