Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

kay-jpmobile

5 000 vues

Publié le

Google App Engine用フレームワークKayで、日本の携帯電話に対応するためのモジュールについて発表したものです。

Publié dans : Technologie
  • Dating for everyone is here: ♥♥♥ http://bit.ly/2ZDZFYj ♥♥♥
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Sex in your area is here: ❶❶❶ http://bit.ly/2ZDZFYj ❶❶❶
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Download or read that Ebooks here ... ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... .........................................................................................................................
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

kay-jpmobile

  1. 1. Kay-jpmobile末永 匡 a.k.a. グニャラくん (株)wktk
  2. 2. 開発の経緯∗ Kayでとにかく何か作ってみよう∗ 掲示板サイトを作ろう∗ 携帯に対応したい∗ 携帯に対応するなら絵文字も対応したい
  3. 3. Django-bpmobile∗神∗ パクろうインスパイアされよう
  4. 4. Kay-jpmobile命名の由来∗ Django -> Kay ∗ これはいいけど∗ bpmobile-> jpmobile ∗ 苦肉の策
  5. 5. Kay-jpmobileでは何ができるの?
  6. 6. Kay-jpmobileでできること (1)∗ 推奨文字コードでリクエスト・レスポンスを扱う ことができる ∗ DoCoMo / au : cp932 ∗ Softbank : utf-8
  7. 7. Kay-jpmobileでできること (2)∗ ビューでキャリアの判定を行う ことができる ∗ request.agent.is_docomo() など∗ テンプレートでキャリアの判定を行うことができ る ∗ {% if agent.is_docomo %} DoCoMo {% endif %}
  8. 8. Kay-jpmobileでできること (3)∗ 絵文字を受け取り、保存することができる ∗ 内部文字コードとして、Google絵文字コードを採用∗ テンプレートで絵文字を扱うことができる ∗ キャリアごとの絵文字、もしくは<img>タグに変換 {{ "¥U000fe000"|emoji_html_filter }} ∗ 識別名を用いた埋め込み {% emoji_html "BLACK SUN WITH RAYS" %}
  9. 9. Kay-jpmobileはスマート!?∗ テンプレートでスマートにキャリアの判定を行う ことができる ∗ スマート…?
  10. 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. 11. Kay-jpmobileでは何ができてないの?
  12. 12. Kay-jpmobileの実装∗ テスト実装という名のもとに、結構ひどい実装∗ でも、ないよりも、あったほうがマシだよね
  13. 13. middlewareで何やってるか∗ Request ∗ 各携帯の推奨エンコーディングを、utf-8に正規化 ∗ 絵文字もGoogle絵文字コードに正規化∗ Response ∗ utf-8を、各携帯推奨エンコーディングに変更 ∗ (Google絵文字コードを各携帯の絵文字コードに変更)
  14. 14. werkzeug.Request∗ Request.args/formはImmutableMultiDict ∗ Request.charsetをキャリア推奨charsetに変更 ∗ ImmutableMultiDictをコピー ∗ 絵文字コードをGoogle絵文字コードに変換 ∗ 新しいImmutableMultiDictを作り、args/formに代入
  15. 15. このアプローチの問題点∗ 携帯電話からのアクセス時に、必ず request.args/formが評価されてしまう ∗ もともと、request.args/formは遅延評価 ∗ 本来は、遅延評価にすべき
  16. 16. 解決策の提案∗ Kayのsettings.pyで、Requestのクラスを指定できれ ばよい? ∗ REQUEST_CLASS = ‘jpmobile.class.Request’ ∗ klass = import_string(self.app_settings.REQUEST_CLASS) ∗ local.request = request = klass(environ)
  17. 17. DoCoMoでcookieが食えないヤツ∗ 基本cookieが食えることを前提∗ Cookieが食えないDoCoMoだけ、iモードIDを用いて 疑似Cookieを作ってあげればOK? ∗ iモードIDをキーとして、Response.cookieを保存。 ∗ Request.cookieは、iモードIdをキーとして保存先から 取得∗ やっぱりRequestクラスを指定できるようになると いいのかも
  18. 18. まとめ∗ DoCoMoの件がなんとかなれば、それなりに実用的 になるのではないか∗ 是非patchを!∗ このIssueでマジ困っているので誰か助けて http://code.google.com/p/googleappengine/issues/ detail?id=4388
  19. 19. Jinja2の拡張∗ 意外とサンプルが少なく、書き方で悩んだ ∗ のでメモ∗ contextに渡っている値の取り出し方 ∗ agentの値をfilter内で取り出したかった ∗ parse時にnodes.ContextReference()を埋め込んでおけ ばOK

×