Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
サービスディレクターの 意思決定を支える技術
airreader
July 03, 2017
Programming
1
7.2k
サービスディレクターの 意思決定を支える技術
airreader
July 03, 2017
Tweet
Share
More Decks by airreader
See All by airreader
「おもしろがり」からのサービスリリース 〜てがきはてなブログの場合〜
airreader
0
740
Other Decks in Programming
See All in Programming
僕が考えた超最強のKMMアプリの作り方
spbaya0141
0
180
ペパカレで入社した私が感じた2つのギャップと向き合い方
kosuke_ito
0
140
Form実装基本を学び直してみた
hyugatsukui
0
230
An Advanced Introduction to R
nicetak
0
1.6k
WordPress(再)入門 - 基礎知識・環境編
oleindesign
1
120
10年以上続くプロダクトの フロントエンド刷新プロジェクトのふりかえり
yotahada3
2
300
MapLibre GL JS とCSSアニメーションでできること
satoshi7190
0
200
スタック・オーバーフローに コントリビュートしはじめて良かったこと🐣
takuyakikuchi
1
120
23年のJavaトレンドは?Quarkusで理解するコンテナネイティブJava
tatsuya1bm
1
110
PHPDocにおける配列の型定義を少し知る
shimabox
1
120
Most Valuable Bug(?) ~インシデント未遂から得た学び~
tatsumiakahori
0
140
コンピュータビジョンセミナー2 / computer_vision_seminar_libSGM
fixstars
0
310
Featured
See All Featured
For a Future-Friendly Web
brad_frost
166
7.7k
Happy Clients
brianwarren
90
5.8k
Facilitating Awesome Meetings
lara
33
4.6k
Six Lessons from altMBA
skipperchong
15
2.3k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
214
12k
What's new in Ruby 2.0
geeforr
336
30k
4 Signs Your Business is Dying
shpigford
171
20k
KATA
mclloyd
12
9.7k
The Cult of Friendly URLs
andyhume
68
5.1k
Clear Off the Table
cherdarchuk
79
290k
Atom: Resistance is Futile
akmur
256
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
Transcript
αʔϏεσΟϨΫλʔͷ ҙࢥܾఆΛࢧ͑Δٕज़ id:AirReader
ࠓճ͢͜ͱ
πʔϧΛ͏·͘ར༻ ͠ίετΛԼ͛Δ͜ ͱͰૉૣ͍ҙࢥܾఆ Λߦ͏͜ͱ͕Ͱ͖Δ
ࣗݾհ
ࣗݾհ w ͯͳ*%"JS3FBEFS w ॴଐגࣜձࣾͯͳ w ৬छσΟϨΫλʔ w גࣜձࣾͯͳʹϢʔβʔαϙʔτ৬ͰΞϧό Πτೖࣾ
w Ϣʔβʔαϙʔτࣾһ࠾༻ w σΟϨΫλʔʹస
αʔϏεϓϥοτϑΥʔϜ νʔϜʹॴଐ͍ͯ͠·͢
αʔϏεϓϥοτϑΥʔϜ νʔϜͬͯͳʹΔνʔϜʁ
ݹ͔͘Βӡ༻͍ͯ͠Δ αʔϏεΛ ҰखʹҾ͖ड͚Δ
w ͯͳμΠΞϦʔ w ͯͳΩʔϫʔυ w ਓྗݕࡧͯͳ w ͯͳϑΥτϥΠϑ w ͯͳάϧʔϓ
w ͯͳελʔ w ͯͳಗ໊μΠΞϦʔ w ࣾͷ෦αʔϏεͳͲ
ΊͪΌͪ͘Όଟ͍
ϝΠϯͰऔΓΜͰΔλεΫ
w ݹ͘ͳͬͯ͠·ͬͨ04͔Βͷ ٫ w ඇޮͳϛυϧΣΞ͔Βͷ٫
߈ܸతʹఫୀ͠ αʔϏεͷޮΛ্͛ ے࣭ͳӡ༻Λࢦ͢
͔͠͠ྑ͍αʔϏε๊͍͑ͯΔ
ఫୀ͚ͩͰ͍ͬͨͳ͍ʂ
Ͱఫୀ.VTUҊ݅ མͱͤͳ͍
Ͱ͖Δ͚ͩϝϯόʔͷΛ ΘͣʹཁΛ͑ͨ ։ൃΛߦ͏ඞཁ͕͋Δ
ͲͷΑ͏ͳมߋΛߦ͏͔ ݕ౼͢Δʹใ͕ඞཁ
ͲΕݹ͍αʔϏεͳͷͰ σʔλͷूܭج൫͍ͬͯ ͳ͍͠ɺ͑Δͷେ
ॳख͔Βॏ͗ͯ͢ ಈ͖͕औΕͳ͍ʜ
ͳΜͱ͔ग़དྷͳ͍͔ʜ
ͳΜͱ͔ग़དྷͳ͍͔ʜ
(PPHMFͷπʔϧ͕ࢲΛٹͬ ͯ͘Ε·ͨ͠ʂ
πʔϧΛར༻͢Δ͜ͱͰ ҙࢥܾఆʹඞཁͳڥΛ खܰʹ༻ҙ͢Δ͜ͱ͕Ͱ͖Δ
ͦͦҙࢥܾఆͱʁ
ҙࢥܾఆɺਓஂମ͕ಛఆͷඪΛୡ͢Δͨ Ίʹɺ͋Δঢ়گʹ͓͍ͯෳͷସҊ͔Βɺ࠷ળ ͷղΛٻΊΑ͏ͱ͢ΔਓؒͷೝతߦҝͰ͋Δɻ ҙࢥܾఆ8JLJQFEJB z z
͕ࣗೲಘͰ͖ΔղΛݟ͚ͭΔ͜ͱ ղͱͦ͜ࢸΔಓےΛڞ༗͢Δ͜ͱ
ҙࢥܾఆσΟϨΫλʔ ͚ͩͰ݁͢Δ࡞ۀͰͳ͍
ϝϯόʔʹΘͬͯ࢝Ίͯ ҙࢥܾఆ͕ߦΘΕͨͱ͍͑Δ
ҙࢥܾఆʹඞཁͳͷ
w ༐ؾ w ใऩूɾੳ w ҙࢤୡ
ҙࢥܾఆΛ્Ήͷ
w ։ൃͷ੍ w ࣗͷࣝෆ w ΤϯδχΞͱͷใ֨ࠩ
։ൃͷ ੍
ओλεΫผʹ͍ͬͯΔ ͕֬ߴ͍ࢪࡦΛ ࠷େޮͰ࣮ΛਐΊ͍ͨ
ࢼߦࡨޡ͢Δ༨༟ͳ͠
ࣗͷࣝ ෆ
ෆ͍ͯ͠Δͷ͔ͬͯΔ ͔ͩΒͦ͜ࢼߦࡨޡ͕͍ͨ͠
ੵۃੑ͔Βൃੜࣦͨ͠ഊ ڐ༰͢Δ͠͞ΕΔ͕ ෆ҆ײ͕ᐫʹͳΔ
ΤϯδχΞͱ ͷใ֨ࠩ
ΤϯδχΞΑΓ σΟϨΫλʔ͕͍࣋ͬͯΔ ใͷํ͕ଟ͍
ಉ͡ใΛ࣋ͬͯͳ͍ͱ அཧ༝ΘΒͳ͍
ͰɺͲ͏͍͏ใΛ ϕʔεʹஅ͍ͯ͠Δͷ͔ ͑Δͷ͚ͬ͜͏େม
πʔϧͰग़དྷΔ͜ͱ w ࣗࣾΤϯδχΞͷͰͳ͘σΟϨΫλʔ ͷͰ w ແҋ୫ͱ৭ʑͳ͜ͱ͕Ͱ͖Δ
πʔϧ͕ղܾͯ͘͠ΕΔ͜ͱ w ײͷෆ҆Λղফ͠ w ࢼߦࡨޡͷνϟϯεΛ༩͑ͯ͘ΕΔ w దʹར༻͢Εɺਖ਼͘͠ใ͕औΕΔɾ ఏࣔͰ͖Δ
w ༐ؾ w ใऩूɾੳ w ҙࢤୡ
w ༐ؾ w ใऩूɾੳ w ҙࢤୡ ͜͜Λࢧ͑ͯ͘ΕΔ
ใऩूྫ
5BH.BOBHFS "OBMZUJDT w 5BH.BOBHFSͷॊೈͳใऔಘઃఆ w "OBMZUJDTͷΧελϜσΟϝϯγϣϯɺΠϕϯ τػೳʹΑΔ๛ͳղੳػೳ w మ൘ͷΈ߹Θͤ
ϖʔδͷछผ͕63-ʹදݱ͞Ε ͍ͯͳ͍͚Ͳ͚ͯूܭ͍ͨ͠
ਓྗݕࡧͷ࣭͕ɺ࣭ܗࣜͳͷ͔ Ξϯέʔτܗࣜͳͷ͔औಘ͍ͨ͠
$44ηϨΫλͷࢦఆͰ ใ͕औಘͰ͖Δ w $44ηϨΫλΛॻ͘ͱ֘ͷ%0.ͷJOOFS5FYU ΛऔಘͰ͖Δ w ଐੑ໊ࢦఆ͢ΔͱଐੑͷΛऔಘͰ͖Δ w $44͕ͪΐͬͱΘ͔Ε୭Ͱ͑Δ
w ΞΠίϯͷҧ͍Ͱϖʔδछ͕औΕΔ w ࠩҟ͕ҰఆͷܗͰදݱ͞Ε͍ͯΕ͑Δ
ෳ͋Δճ༡ಈઢͷͲͷಋઢ͕ ར༻͞Ε͍ͯΔ͔Λݟ͍ͨ
None
ಈઢ৭ʑ͋Δ
ηΫγϣϯͷऔಘ function () { var current = {{element}}.parentNode; while(current) {
if(current.hasAttribute('id')) { return current.getAttribute('id'); } else { current = current.parentNode; } } } w ΫϦοΫ͞Εͨॴ͕ͲͷྖҬͳͷ͔Λऔಘ͍ͨ͠ w ͯͳಗ໊μΠΞϦʔͩͱ্ͷ֊ʹJEଐੑ͕͍͍ͯ ΔɻҎԼͷίʔυͰऔಘͰ͖Δ w ΫϦοΫͷλΠϛϯάͰ"OBMZUJDTͷΠϕϯτʹૹ৴͢Δ
݁Ռ͜͏͍͏άϥϑ͕࡞ΕΔ
ϢʔβʔͷߘΞΫγϣϯ ूܭ͍ͨ͠
Ϣʔβʔߘͷऔಘ • TagManagerͰɺFormૹ৴Λݕ͢Δ͜ͱ͕Ͱ ͖Δ • ͜ΕͱAnalyticsͷΠϕϯτΛΈ߹ΘͤΔͱɺ ߘܥσʔλAnalyticsʹอଘͰ͖Δ • AnalyticsͷػೳͱΈ߹ΘͤΒΕΔͷͰϩάΛू ܭ͢ΔΑΓߴػೳͳ߹
w ༐ؾ w ใऩूɾੳ w ҙࢤୡ
ҙࢥୡ
ैདྷͷ
ػೳͷૂ͍ͱ ͦΕʹରԠ͢ΔࢦඪΛ ఏࣔ͢Δͷ͕େม
ࢦඪ"OBMZUJDT͚ͩͰͳ͍ ࢦඪΛ֬ೝ͢ΔͨΊͷ63-ूΛ ࡞ͬͨΓ͢Δඞཁ͕͋ͬͨ
͜Ε࡞ΔͷݟΔͷେม
"OBMZUJDT 4QSFBETIFFU 4FBSDI$POTPMF %BUB4UVEJP
None
ͯͳಗ໊μΠΞϦʔͷਓؾهࣄΞʔ ΧΠϒػೳϦϦʔε͔࣌Βɺػೳ͝ ͱͷϨϙʔτΛ࡞͢ΔΑ͏ʹͨ͠
ҙਤΛ͑Δͷָ͕ʹͳΔ͠ ͻͱͰঢ়گ͕ѲͰ͖ΔͷͰ ΤϯδχΞ֬ೝָ͕ʹͳΔ
σΟϨΫλʔ୯ಠͰͷ ݶքɾσϝϦοτ
σʔλͷऔಘํ๏ͷڞ༗࿙Ε • CSSηϨΫλIDଐੑͰใΛऔಘ͢Δ ߹ɺHTMLߏʹมߋ͕Ճ͑ΒΕΔͱσʔ λ͕औಘͰ͖ͳ͘ͳΔ ➡ ͜ͷσʔλ͕͑Δɺͱ͍͏͜ͱ͕͔ͬ ͨΒɺదͳλΠϛϯάͰΞϓϦέʔγϣ ϯʹΈࠐ͏
σʔλͷऔಘํ๏ͷڞ༗࿙Ε • AppsScriptSpreadsheetͷؔͳͲͰؤ ுͬͯॲཧͯ͠σʔλΛੜ͍ͯ͠Δ߹ɺ յΕͨ࣌ʹ෮چ͕ࠔ ➡ ͜ͷσʔλ͕͑Δɺͱ͍͏͜ͱ͕͔ͬ ͨΒɺυΩϡϝϯτΛ͢ͳͲ͠Α͏
ղܾํ๏ͷݕ౼ෆ • σʔλΛऔಘํ๏͔Βෳͷํ๏͕͋Γɺ JavaScriptॻ͚ͯ͠·͏ɻσʔλͷอଘͰෳ ͷํ๏͕͋ΓɺΈ߹Θͤͨ͘͞Μ͋ͬͯ͠ ͍ • ࣗͷແବʹ࣌ؒΛ͍ͯ͠Δ߹͋Δ ➡ JavaScriptΤϯδχΞϨϏϡʔʹग़͢ɻઃఆ
ʹෆ͕҆͋Δ߹ଞDʹͯ͠ΈΔɻ࡞ۀ࣌ؒ Λ1-2࣌ؒʹ۠Δ
ղܾํ๏ͷݕ౼ෆ ➡ ઃఆ͕ҟৗʹෳࡶʹͳΔ߹ɺΤϯδ χΞʹ૬ஊ͢Δɻͦͦͬͱྑ͍ղ ܾํ๏͕ݟ͔ͭΔ߹͋Δ
%ʹΑΔใऔಘ ͋͘·ͰҰ࣌తͳͷͳͷͰ σʔλ͕͑Δͱ͔ͬͨΒ ΤϯδχΞͱ૬ஊͯ͠ ༷Λ֬ఆͤ͞·͠ΐ͏
·ͱΊ
(PPHMFͷπʔϧΛ͍ %͚ͩͰίετ ແྉ ʹ ҙࢥܾఆΛߦ͏ͨΊͷڥΛ ͑ΒΕ·͢
πʔϧΛ ղܾ͢ΔͨΊʹඞཁͳ ෛ୲ΛݮΒͯ͘͠ΕΔ
͋͘·Ͱղܾͷ ͍ͪखஈͰ͋Γ πʔϧΛ͏͜ͱ͕ తͰͳ͍
ใղੳίϛϡχέʔγϣ ϯʹϑΥʔΧε͢Δ࣌ؒΛ ૿͠ɺҙࢥܾఆΛՃ͞ ͤɺαʔϏεͷະདྷ࡞Γग़ ͍͖ͯ͠·͠ΐ͏
͓ΘΓ