Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AbemaTVの開発スタイル
Search
Hirotaka Osaki
October 15, 2016
Technology
35
12k
AbemaTVの開発スタイル
AbemaTV Developer Conference 2016
http://developer.abema.io/
Hirotaka Osaki
October 15, 2016
Tweet
Share
More Decks by Hirotaka Osaki
See All by Hirotaka Osaki
プロジェクト開発カードゲーム ルール説明(2016/12/15版)
hiroosak
0
1k
Other Decks in Technology
See All in Technology
AIを前提に、業務を”再構築”せよ IVRyの9ヶ月にわたる挑戦と未来の働き方 (BTCONJP2025)
yueda256
1
750
バクラクの AI-BPO を支える AI エージェント 〜とそれを支える Bet AI Guild〜
tomoaki25
2
770
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
16
8.4k
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
130
CloudFormationコンソールから、実際に作られたリソースを辿れるようになろう!
amixedcolor
1
190
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
150
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
340
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
150
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
180
バフェットコード株式会社 開発チームカルチャーデック
shoe116
1
100
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
2
420
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
340
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Testing 201, or: Great Expectations
jmmastey
46
7.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
1.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Statistics for Hackers
jakevdp
799
220k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Faster Mobile Websites
deanohume
310
31k
Transcript
AbemaTVͷ։ൃελΠϧ ϑϩϯτΤϯυΤϯδχΞ େ㟒 ߒਸ
ࣗݾհ 2015.4 - 2016.7 େ㟒 ߒਸ (id: taizo) FRESH! by
AbemaTV αʔόʔαΠυΤϯδχΞ ݉ εΫϥϜϚελʔ AbemaTV εΫϥϜϚελʔิࠤ (݉) 2016.5 - 2016.7 AbemaTV ϑϩϯτΤϯυΤϯδχΞ 2016.8 -
Podcast ͬͯ·͢ • engineer meeting podcast ( twitter: @engineermeeting )
• https://soundcloud.com/engineer-meeting • 2લ͔ΒࣾͰ׆༂͍ͯ͠ΔํʑΛήετʹݺΜͩΓɺ ແବΛ͢ΔΤϯδχΞܥPodcast • ਂϥδΦܥ IT Podcast Λࢦͯ͠·͢
ΞδΣϯμ • AbemaTV,FRESHͷ։ൃελΠϧͷϕʔε • FRESH, AbemaTVͷదԠʹ͍ͭͯ
લఏ • ࠓճɺ͕ࣗॴଐ͍ͯͨ࣌͠ظ͕த৺ ʮFRESH ͷ৽ن্ཱͪ͛ظʯ ʮAbemaTV ͷϦϦʔεޙͷӡ༻ʯ
جຊతͳ։ൃελΠϧ
ϕʔεεΫϥϜ ४උ εϓϦϯτ εϓϦϯτ εϓϦϯτ
εϓϦϯτΛ͡ΊΔલͷ४උ • ΞδϟΠϧαϜϥΠ ʹ͋ΔΠϯηϓγϣϯσο Ω͕ݩ • ϝϯόʔશମʹͲ͏͍͏αʔϏεΛ࡞Δ͔ͷೝࣝ ߹Θͤ
FRESHͷ߹ 2015-04-02, 03 ʹ࣮ࢪ ΞδϟΠϧαϜϥΠʹ͋Δ ΠϯηϓγϣϯσοΩΛ Ұ௨Γ ͠߹͍ ίϯηϓτΠϝʔδͷ࡞ →
ͬ͘͟Γ12݄಄ϦϦʔε ݟੵΓ→ ݁Ռ ํస͋Γ 2016-01-21 ϦϦʔε
εϓϦϯτ • λΠϜϘοΫε(εϓϦϯτ)2िؒΛ۠Δ • εϓϦϯτܭըϛʔςΟϯάΛ࣮ࢪ͠ɺλεΫͷ༏ઌॱҐΛܾ ΊɺݟੵΓΛߦ͍ɺ͔ͦ͜ΒεϓϦϯτͰΔ͖λεΫΛ ܭը͢Δ • ຖ15͘Β͍ͷσΠϦʔεΫϥϜΛߦ͍ɺνʔϜͷঢ়گΛ֬ ೝ͢Δ
• εϓϦϯτϨϏϡʔͰɺՌͷ֬ೝΛߦ͏ • ͦͷεϓϦϯτͰͷվળͷͨΊʹɺ νʔϜͰ;Γ͔͑ΓΛߦ͏
Α͍ͬͯ͘Δπʔϧ • Slack (chat) • JIRA (νέοτཧ) • Confluence (Wiki)
• esa (Wiki) • GitHub (ιʔείʔυཧ) • CircleCI (CI) • Jenkins (CI) ΞϓϦͷϏϧυͰར༻ • Codecov (ϓϧϦΫͷΧόϨοδࣗಈԽ) • asana (Ψϯτνϟʔτ) ࠓճ ࣌ؒͷ߹Ͱৄࡉলུɻ http://www.atmarkit.co.jp/ait/articles/1609/01/ news032.html ࢀߟ
ϕʔεΛϓϩδΣΫτʹదԠ͢Δ ͦͷ··֤ϓϩδΣΫτʹదԠ͢Δͷ͍͠ • ߟྀ͠ͳ͚Ε͍͚ͳ͍ཁૉ • ৫ • νʔϜ • ਓ
• ঢ়گ ͳͲͳͲ • ͢Ͱʹ͋ΔϧʔϧจԽɺνʔϜϝϯόʔΛݟͯ దͳϓϥΫςΟεͷऔࣺબΛ͍ͯ͘͜͠ͱʹͳΔ
νʔϜਓʹదԠ͢Δ FRESH AbemaTV ։ൃ: 20ਓલޙ ։ൃҎ֎: 10ਓલޙ ։ൃ: 30ਓʙ ։ൃҎ֎:
100ਓʙ? εΫϥϜνʔϜଟͯ͘10ʙ15ਓ͕ݶք • ղ͕ඞཁʹͳΔ
νʔϜΛղ͢Δ • 10ਓޙ͔ΒͻͱͭͷεΫϥϜνʔϜͰ Γ͘Γ͢Δͷ͘͠ͳΔ • FRESHׂͰׂɻ ֤ϦʔμʔͱDir, ऀͷ·ͱΊΛboardͱͯ͠ ঢ়گΛѲ͢ΔΑ͏ʹͨ͠ΓϙʔτϑΥϦΦόοΫϩάΛ ཧͨ͠Γͨ͠
board server front design iOS Android
νʔϜΛղ͢Δ • AbemaTVجຊׂͰׂ • ن͕େ͖͘ͳΔͱԣͷ࿈ܞ͕ऑ͘ͳΔ • ػೳ͝ͱʹϓϩδΣΫτΛ࡞ΓਓΛΞαΠϯ͢Δ͜ͱͰ ԣͷ࿈ܞΛڧΊΔΑ͏ʹͨ͠ board server
front design iOS Android Project A Project B Project C
ঢ়گʹదԠ͢Δ ϕʔεεΫϥϜ։ൃͱ͍ͬͯɺ ΨϯτνϟʔτΛͻ͍ͨΓɺ ΓํΛม͑ͨΓ͢Δ߹͋Δ ྫ) FRESH 201511݄த० ϦϦʔε༧ఆ͕12݄લͩͬͨ࣌ʹɺ ΞϓϦ͕ॎσβΠϯ͔ΒԣσβΠϯʹ͢ΔΑ͏ʹ ͱ͍͏͕͕͋ͬͨ
FRESH ॎ͔Βԣ ࣄ݅ • ܾ·ͬͨ࣌ͰϦϦʔε༧ఆ·ͰΓ2εϓϦϯτ(4ि) ͩͬͨɻ • ༧ఆ͍ͯͨ͠ػೳΛϦϦʔεείʔϓ͔Β֎ͯ͠ ԣରԠʹྗ(είʔϓͷมߋ)ɻظͷมߋͳ͠ •
࠷ॳʹσβΠϯεϓϦϯτΛߦͬͯΰʔϧͷೝࣝ౷Ұ • ͋ͱϝϯόʔʹͤΔ • → ݁Ռɺ։ൃྃʹɻ։ൃͷ֎ؚΊͨ߹Ͱ ϦϦʔε1݄
νʔϜͷߟ͑ํʹదԠ͢Δ νʔϜ࣌ͱ߹ʹΑͬͯࢥߟ͕มΘΔ • ՝͔Β։ൃऀͨͪͰ༷Λམͱ͠ࠐΈ͍ͨ • → FRESH • σΟϨΫλʔɾϓϥϯφʔ͕མͱ͠ࠐΜͰ͔Β ։ൃணख͍ͨ͠
• → AbemaTV
νʔϜͷߟ͑ํʹదԠ͢Δ • FRESH Ͱղੳ(Ϛʔέ)୲͔Β ܭଌ݁ՌΛݟͯɺͲ͜ͷࣈΛ͋͛Δ͖͔Λ νʔϜϝϯόʔͰߟ͑ͯࢪࡦΛग़͢ձΛઃ͚ͨ GAͷඪୡϓϩηεϨϙʔτΛϝϯόʔʹڞ༗ ͦΕͧΕͷվળҊΛߟ͑Δ → ͨͩ͠ࣈΛ্͛Δͷ։ൃऀઢ͚ͩͩͱ
͍͘͢͝͠ (MAU Λ 5% ্͛Δ ͳͲ)
ਓʹదԠ͢Δ • ։ൃऀݸਓͰԿ͕࠷ॏཁ՝͔༷ʑ αʔϏεͷ ࣈ৳͍ͨ͠! ΧϦΧϦʹ νϡʔχϯά ͍ͨ͠ʂ ૣ͘ग़ͯ͠ ࣈݟͯվળ͍ͨ͠ʂ
ਓͷʹ ๙ΊΒΕ͍ͨʂ Ժ͔ʹ Β͍ͨ͠ ࠷ઌΛ ಥ͖ਐΈ͍ͨʂ ͔͍͍ͬ͜ αʔϏε࡞Γ͍ͨʂ ύϑΥʔϚϯεΛ ͞Βʹ্͍͛ͨʂ UX! UX! ϢʔβʔςετΛ ͖ͪΜͱߦ͍͍ͨʂ ΈΜͳʹΘΕΔ αʔϏεΛ࡞Γ͍ͨʂ ᘳͳͷΛ ࡞Γ͍ͨʂ ͜͏͢Ε ͬͱྑ͘ͳΔʂ
ධՁ੍ • AbemaTVͷάϨʔυ੍ͷҙຯ͚ͮ AbemaTVͰͷҙຯ͚ͮ S6 S5+࣮+α ࣮ʹՃ͑ͯɺϩʔϧϞσϧʹͳΓ͑Δ͔(पΓ͔Βଚܟ͞ΕΔ ਓ֨ɺٕज़ऀͱͯ͠ͷ࢟ɺߩݙҙཉ) S5 ϦʔυΤϯδχΞ
+ α ಛఆͷͰलͰٕͨज़ྗ+૯߹తͳٕज़ྗ ࠶ݱੑͷ͋Δύ ϑΥʔϚϯε S4 ϦʔυΤϯδχΞ ٕज़ʹΑͬͯݸཱ͕͓ͬͯΓɺٕज़ͰνʔϜΛϦʔυͰ͖Δ ݸͱͯ͠ɺٕज़қͷߴ͍Ҋ݅ͰՌΛग़ͤΔ S3.5 Ұਓલ + α ࣮ݱ͍ͨ͜͠ͱ(ᐆດͳҊ݅Ͱ)ʹରͯ͠ ࣄ٧ΊεέδϡʔϧௐؚΊͯҰਓশͰऔΓΊ ແࣄʹϦϦʔε·Ͱ͍͚࣋ͬͯΔ S3 Ұਓલ ༩͑ΒΕͨҊ݅ʹ͍ͨͯ͠ɺجຊઃܭɾৄࡉઃܭɾ࣮ɾςε τɾϦϦʔεɾӡ༻·ͰܾΊΒΕͨεέδϡʔϧʹैͬͯࣗ Ͱ͖Δ͜ͱ S2 ਓલ S1
ࣗͰ͖ΔΤϯδχΞ • اۀจԽͱͯ͠ɺ·ͣࣗͰ͖ΔΤϯδχΞʹͳ Δ͜ͱ͕ඪ • ࣗͷϥΠϯͱͯ͠ɺ·ͣ S3.5 ࣮ݱ͍ͨ͜͠ͱ(ᐆດͳҊ݅Ͱ)ʹରͯ͠ ࣄ٧ΊεέδϡʔϧௐؚΊͯҰਓশͰऔΓΊ ແࣄʹϦϦʔε·Ͱ͍͚࣋ͬͯΔ
ࣗͰ͖ΔͳΒݖݶΛ࣋ͯΔ • ࣗͰ͖Δਓʹରͯ͠ ݖݶΛݶΓͳ͘༩͑Δͱ͍͏จԽ • ࣗͰ͖Δਓಛʹཧ͠ͳͯ͘ ϓϩδΣΫτΛճ͢͜ͱ͕Ͱ͖Δ
ཧతͳཱͪৼΔ͍ ※ ͪΖΜେ͖͍λεΫʹ͍ͭͯ ͜ΕͰແ͘ɺ͖ͪΜͱͨ͠ϑϩʔͰܭը͢Δ͠ ͕͔͔࣌ؒΔ༰ͷ߹ɺͦΕΛઆ໌Ͱ͖Δɻ ͜ΕϢʔβʔͷརศੑߟ͑Δͱݫ͍͔͠Β ૣΊʹͯ͠ཉ͍͠Ͱ͢ ͋ɺ͡Ό͋࣍ͷϦϦʔε·Ͱʹؒʹ߹͍ͦ ͏ͳͷͰೖΕ͓͖ͯ·͢ʔ ΑΖ͓͘͠ئ͍͠·͢ʂ
উखʹ՝Λݟ͚ͭͯରԠ͢Δ • ࣗͰ͖Δਓউखʹ ՝Λݟ͚ͭͯରԠͰ͖Δ • ܭը͢Δલʹख͕ಈ͍ͯऴΘΒ͍ͤͯΔ߹ ͋Δ • ཧ͗͢͠Δͱ ݸਓͷύϑΥʔϚϯεΛग़͠Εͳ͍
Մೳੑ͕͋Δ͕࣌͋Δ
AbemaTVͷจԽ • ࣗΛͰ͖ΔਓͨͪΛूΊ͍ͯΔ • ϝϯόʔࡋྔݖΛ༩͑ɺݸਓ͕࠷େݶೳྗΛൃ شͰ͖ΔڥΛ༻ҙ͍ͯ͠Δ • ཧ࠷ݶ • ͳͷͰϦϞʔτ։ൃʹ༰
Ϛωδϝϯτίετ ߴ ݸਓεΩϧ ߴ 1. νʔϜ։ൃͷೝࣝڞ༗ ։ൃޮఈ্͛ͷ ϓϥΫςΟεΛར༻
2. ֤ݸਓΛ࠷େԽͱ ϚωδϝϯτίετͷݮΛ ηοτͰਐΊ͍ͯ͘
AbemaTVͷεϓϦϯτ • λΠϜϘοΫε(εϓϦϯτ)2िؒΛ۠Δ • εϓϦϯτܭըϛʔςΟϯάΛ࣮ࢪ͠ɺλεΫͷ༏ઌॱҐΛܾΊɺ ݟੵΓΛߦ͍ɺ͔ͦ͜ΒεϓϦϯτͰΔ͖λεΫΛܭը͢ Δ • ຖ15͘Β͍ͷσΠϦʔεΫϥϜΛߦ͍ɺνʔϜͷঢ়گΛ֬ೝ ͢Δ
• εϓϦϯτϨϏϡʔͰɺՌͷ֬ೝΛߦ͏ ใڞ༗ձΛ࣮ࢪ • ͦͷεϓϦϯτͰͷվળͷͨΊʹɺ νʔϜͰ;Γ͔͑ΓΛߦ͏
σϝϦοτʁ • ݸਓʹґଘ͢ΔͷͰଐਓԽ͢Δ • ͨͩɺAbemaTVFRESHɺ։ൃεϐʔυΛམ ͱ͢ΑΓଐਓԽͰͬͯޙ͔ΒνʔϜʹڞ༗͢ Δମ੍ • νʔϜͷษڧձͳͲͰ νʔϜશମͷఈ্͛Λੵۃతʹߦ͏
·ͱΊ • AbemaTV, FRESHͷ։ൃελΠϧͷϕʔε εΫϥϜ։ൃ • ਓνʔϜͷੑ࣭ɺঢ়گʹΑͬͯ͋·Γ ݻࣥͤͣʹΓํΛม͍͑ͯΔ • اۀจԽʹΑΓɺ·ཱͣࣗͰग़དྷ͍ͯΔਓ͕
େ͖͘׆༂Ͱ͖Δମ੍ʹͳ͍ͬͯΔ • ͦΕΛޙ͔ΒΧόʔͰ͖Δ ମ੍ͱηοτͰߟ͍͑ͯΔ
උߟ: ࠷ۙνʔϜϏϧσΟϯάͰࢀߟʹͨ͠ࢿྉ εϥΠυ • ͋ͳͨͷνʔϜͷʮ͍͍ਓʯػೳ͍ͯ͠·͔͢ʁ http://www.slideshare.net/MinoruYokomichi/ss-57211075 • ։ൃ৫Ϛωδϝϯτͷίπ https://speakerdeck.com/naoya/kai-fa-zu-zhi-manezimentofalsekotu •
Netflix Culture http://www.slideshare.net/reed2001/culture-1798664 Web • σβΠφʔԣஅ৫ͷมભ http://techlife.cookpad.com/entry/2016/07/15/092518
උߟ: ࠷ۙνʔϜϏϧσΟϯάͰࢀߟʹͨ͠ࢿྉ ຊ • ΞδϟΠϧαϜϥΠ http://amzn.to/2dZMY0Q • νʔϜ͕ػೳ͢ΔͱͲ͏͍͏͜ͱ͔ http://amzn.to/2dZPST8 •
৫ύλʔϯ http://amzn.to/2ejeJG3 • σΟγϓϦϯυɾΞδϟΠϧɾσϦόϦʔ http://amzn.to/2ejej27 • ΤΫετϦʔϜϓϩάϥϛϯά http://amzn.to/2ejeyul • Team Geek http://amzn.to/2dZJFGP • ຊاۀͷࣾһɺ ͳͥ͜ΜͳʹϞνϕʔγϣϯ͕ ͍ͷ͔ʁ http://amzn.to/2dZNITT
Thanks !