これからの名前の話をしよう
DESCRIPTION
渋谷.rb[:20140219] で発表しました。 URLの話。TRANSCRIPT
![Page 1: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/1.jpg)
これからの 名前の話をしよう
2014-02-19 #shibuya_rb うさみけんた@ぞ
![Page 2: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/2.jpg)
お前誰よ
• うさみけんた a.k.a Zonu.EXE(ぞ)
• GitHub: zonuexe
• RubyとかPHPとかだいすきです
• 最近ちょっぴりPHPUnitにcontributeしました
• サービスのいけてないところを改善するのは楽しいです (^q^)
![Page 3: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/3.jpg)
はじめに言っておきたい
ことがある
![Page 4: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/4.jpg)
Twitter: @zonu_exe
![Page 5: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/5.jpg)
これはIDじゃない
![Page 6: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/6.jpg)
これまでの 名前の話をしよう
2014-02-19 #shibuya_rb うさみけんた@ぞ
![Page 7: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/7.jpg)
※この発表の内容は 全て個人の見解であり所属する組織を代表するものではありません
![Page 8: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/8.jpg)
twitter.user('zonu_exe').id
![Page 9: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/9.jpg)
twitter.user('zonu_exe').id # => 169159594
![Page 10: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/10.jpg)
twitter.user('zonu_exe') .username
![Page 11: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/11.jpg)
twitter.user('zonu_exe') .username # => "zonu_exe"
![Page 12: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/12.jpg)
数字 → ID 文字列→username
![Page 13: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/13.jpg)
※ただし Twitterに限る
![Page 14: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/14.jpg)
はどうなってるの
![Page 15: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/15.jpg)
![Page 16: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/16.jpg)
![Page 17: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/17.jpg)
![Page 18: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/18.jpg)
数字 →(member)ID 文字列→pixivID
![Page 19: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/19.jpg)
???
![Page 20: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/20.jpg)
ログインするとわかる
![Page 21: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/21.jpg)
![Page 22: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/22.jpg)
pixiv IDは(あまり)
表に出てこない
![Page 23: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/23.jpg)
現状ログインに入力するのみ
+pixiv.me(任意)
![Page 24: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/24.jpg)
![Page 25: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/25.jpg)
数字 →ユーザーID 文字列→pixivID
![Page 26: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/26.jpg)
_人人人人人人_ > 表記揺れ < ‾Y^Y^Y^Y^Y‾
![Page 27: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/27.jpg)
API(json)の一部
(現在このAPIは一般公開して居りません)
![Page 28: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/28.jpg)
_人人人人人人人_ > 統一感皆無 < ‾Y^Y^Y^Y^Y^Y‾
![Page 29: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/29.jpg)
_人人人人人人人_ > 歴史的経緯 < ‾Y^Y^Y^Y^Y^Y‾
![Page 30: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/30.jpg)
(話は変るが)
![Page 31: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/31.jpg)
そもそもの話
![Page 32: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/32.jpg)
ユーザ入力を URIにする ことの是非
![Page 33: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/33.jpg)
これからのWebの 名前の話をしよう
2014-02-19 #shibuya_rb うさみけんた@ぞ
空間
![Page 34: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/34.jpg)
![Page 35: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/35.jpg)
元記事の目的は 「悲しみを防ぎたい」 なので、実用性は 割とどうでもいい
![Page 36: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/36.jpg)
外野
![Page 37: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/37.jpg)
ありがたくないからやめろ の声が多数
![Page 38: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/38.jpg)
個人的見解
![Page 39: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/39.jpg)
/:username は 負債になるので 避けたい(婉曲表現)
![Page 40: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/40.jpg)
負債: ユーザ名とリソースの 名前空間が衝突する
![Page 41: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/41.jpg)
本質の異るものが同一の空間に押し込められる
![Page 42: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/42.jpg)
サブドメインは… それほど悪くない
![Page 43: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/43.jpg)
サブドメインは… それほど悪くないのか? ほんとに?
![Page 45: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/45.jpg)
どちらにせよ やばい語彙を避ける必要はある
![Page 46: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/46.jpg)
URIがどうだろうと、一般ユーザに
@supportとか名乗られると困るのは同じ
![Page 47: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/47.jpg)
システム的には問題はなくてもユーザは混乱
![Page 48: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/48.jpg)
多かれ少なかれ言葉狩りは避けられない
![Page 49: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/49.jpg)
(また別の話題)
![Page 50: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/50.jpg)
自動採番のID以外をURIにしたい
![Page 51: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/51.jpg)
User.find_by(slug: 'user_name') # => <#User: ...>
![Page 52: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/52.jpg)
_人人人人人人人_ > めんどくさい < ‾Y^Y^Y^Y^Y^Y‾
![Page 53: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/53.jpg)
User[:user_name] # => <#User: ...>
class User include ActiveRecord::Bracket end
![Page 54: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/54.jpg)
_人人人人人人人_ > すっきりした < ‾Y^Y^Y^Y^Y^Y‾
![Page 55: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/55.jpg)
#[] メソッド 意外に活用されてない気がする
![Page 56: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/56.jpg)
ActiveSupport::Concernを使ってる
![Page 57: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/57.jpg)
![Page 58: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/58.jpg)
そのうち Rails4
にします
![Page 59: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/59.jpg)
使用フォント セプテンバーM・L
Menlo 游明朝体
_ \ヽ, ,、 `''|/ノ .| _ | \`ヽ、| \, V `L,,_ |ヽ、) .| / ,、 / ヽYノ .| r''ヽ、.| | `ー-ヽ|ヮ | `| ヽ, ,r .| ヽ,r'''ヽ!'-‐'''''ヽ、ノ ,,,..---r'",r, , 、`ヽ、 ヾ ヽ、__/ ./ハレハ i`ヽ、 `''r`ミ_ .レ//r,,,、 レ'レハヾ, L,,_ `ヽ、 "レ, l;;;l l;;;l`i.リレ' リ ̄~~ ヽ、 ワ `"/-'`'`' `''''''''" ┼ヽ -|r‐、. レ | d⌒) ./| _ノ __ノ
![Page 60: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/60.jpg)
忘れてたけど 最後に、
![Page 62: これからの名前の話をしよう](https://reader033.vdocuments.site/reader033/viewer/2022060120/55924db01a28abb9658b45f6/html5/thumbnails/62.jpg)
私からは以上です。