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
エンジニアから見た出版社との共同開発の暮らし / Hatena Engineer Seminar #13
Search
Mikio Fujita
February 05, 2020
0
2.1k
エンジニアから見た出版社との共同開発の暮らし / Hatena Engineer Seminar #13
Hatena Engineer Seminar #13 でお話した資料です
https://hatena.connpass.com/event/164042/
Mikio Fujita
February 05, 2020
Tweet
Share
More Decks by Mikio Fujita
See All by Mikio Fujita
社内にアクセシビリティ改善を広める際に意識したこと
benevolent0505
0
690
GraphQLを使い続けて気づいたこと ~Hatena Engineer Seminar #21~
benevolent0505
3
2.3k
マンガチームとDevOps / Hatena Engineer Seminar #11
benevolent0505
0
900
授業でWebアプリを作っている?話
benevolent0505
0
870
日曜日といったら
benevolent0505
1
120
朝起きる
benevolent0505
1
77
休講
benevolent0505
0
1.2k
◯◯駆動開発
benevolent0505
0
140
WebRTCで絵チャットを作った話し
benevolent0505
0
720
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Scaling GitHub
holman
457
140k
Clear Off the Table
cherdarchuk
84
310k
The Cult of Friendly URLs
andyhume
74
5.7k
Faster Mobile Websites
deanohume
299
30k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
14
1.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
Docker and Python
trallard
34
2.7k
4 Signs Your Business is Dying
shpigford
175
21k
GitHub's CSS Performance
jonrohan
1025
450k
Transcript
ΤϯδχΞ͔Βݟͨग़൛ࣾͱͷ ڞಉ։ൃͷΒ͠ JENJLJ@CFOF )BUFOB&OHJOFFS4FNJOBS 1
ࣗݾհ w JENJLJ@CFOF w 8FCΞϓϦέʔγϣϯΤϯδχΞ w αʔόʔαΠυɾϑϩϯτΤϯυ྆ํ w νʔϜวྺ w
৽ଔೖࣾ w ʙதࠒϚϯΨνʔϜ (JHB7JFXFS w தࠒʙϊϕϧνʔϜ ΧΫϤϜ w ࠓݱࡏॴଐ͍ͯ͠ΔΧΫϤϜʹ͍ͭͯͷΛ͠·͢ 2
3
ΧΫϤϜ w ,"%0,"8"͞ΜͱͯͳͰڞಉ։ൃ͍ͯ͠Δ8FCখઆαΠτ w αΠτػೳͱͯ͠খઆߘॎΈରԠࠂऩӹؐݩ w ॻ੶ԽΞχϝɾυϥϚԽ͞ΕΔ࡞ଟ w Πϯλʔωοτ4/4ͷจ຺ͩͱʰԣӺ4'ʱʰ৻ॏ༐ ऀʱͱ͍ͬͨ࡞͕༗໊
4
ʙڞಉ։ൃͷΒ͠ʙ 5 ࠓ͓͢Δ͜ͱ ͚ࣗࣾͩͰͳ͍ɺଞͷձࣾ͞ΜͱҰॹʹ 8FCαʔϏεͷ։ൃΛ͍ͬͯΔ༷ࢠΛ͝հ͠·͢
ʙڞಉ։ൃͷΒ͠ʙ 6 ࠓ͓͢Δ͜ͱ ˞۩ମతͳํ๏νʔϜ։ൃͷମ੍ͳͲ ͓͠͠·ͤΜ
͜ͷΛ͠Α͏ͱࢥͬͨཧ༝ w ͋·ΓࣗࣾαʔϏεҎ֎Λߦ͍ͬͯΔ͜ͱΛΒΕ͍ͯͳ͍ w ʮͯͳͬͯϒϩά.BDLFSFMҎ֎ʹͬͯͨΜͰ͢Ͷʯ w ʮडୗ։ൃͬͯΔΜͰ͢Ͷʯ w ʮ͜ͷαΠτͯͳͩͬͨΜͩʯ w
ͬͱଞࣾ͞ΜͱҰॹʹαʔϏεΛ࡞͍ͬͯΔνʔϜ͔Βͷൃ ৴Λ૿͍͖͍ͯͨ͠ 7
͜ͷΛ͠Α͏ͱࢥͬͨཧ༝ w ࠓճͷηϛφʔͷςʔϚ w ʮࠓճͯͳͰಇ͘एखΤϯδχΞ͕Ͳ͏͍͏ࣄΛ͍ͯ͠Δ ͔ʯ w ͯͳͷडୗɾڞಉ։ൃͷ༷ࢠΛ͑ΔΑ͍ػձ w ೖࣾҎདྷɺଞࣾ͞ΜͱࣄΛ͢ΔνʔϜʹܞ͖ͬͯͨઢ͔Βͷɺ
ΤϯδχΞͷ༷ࢠΛ͍͑ͨ 8
վΊͯ ࠓ͓͢Δ͜ͱʙڞಉ։ൃͷΒ͠ʙ wΧΫϤϜͷڞಉ։ൃελΠϧ wΤϯδχΞ͔Βݟͨڞಉ։ൃ wࣗࣾαʔϏεͷ։ൃͱൺֱͯ͠Έͨײ 9
খωλ λΠτϧʹ͋ΔʮΒ͠ʯ wࣾͰ࣌ʑݟΒΕΔۀੜ׆ࣄͷ༷ࢠΛද͢දݱ w༻๏ʮ(SBQI2-"1*Λಋೖ͓ͨ͠ӄͰΒ͕͠ྑ͘ ͳ͖ͬͯͨʯ 10
ΧΫϤϜͷڞಉ։ൃελΠϧ 11
ΧΫϤϜͷڞಉ։ൃελΠϧ 12 ,"%0,"8" ͯͳ ϊϕϧνʔϜ σΟϨΫλʔ σβΠφʔ ΤϯδχΞ ొਓհ ΧΫϤϜฤू෦
˞ࠓͷൃදΛΘ͔Γ͘͢͢ΔͨΊͷ؆қͷମ੍ਤͰ͢
ͯͳ ϊϕϧνʔϜ σΟϨΫλʔ σβΠφʔ ΤϯδχΞ ΧΫϤϜͷڞಉ։ൃελΠϧ 13 w ΧΫϤϜͰ࣮ݱ͍ͨ͠8FCখઆͷϏδϣϯ w
Ϗδωεతͳઓུ w αʔϏεతͳӡ༻ ϒϩάӡ༻ͳͲ ,"%0,"8" ΧΫϤϜฤू෦ ΧΫϤϜฤू෦
,"%0,"8" ΧΫϤϜฤू෦ ΧΫϤϜͷڞಉ։ൃελΠϧ 14 w ΧΫϤϜΛ։ൃɾӡ༻͢ΔνʔϜ w σΟϨΫλʔαʔϏεͷΦʔφʔ w σβΠφʔɾΤϯδχΞαʔϏεΛ࡞Δ
ͯͳ ϊϕϧνʔϜ σΟϨΫλʔ σβΠφʔ ΤϯδχΞ ϊϕϧνʔϜ 14
ݴΘΕͨͷΛͨͩ࡞Δ͚ͩͰͳ͘ ͯͳҰॹʹԿΛ࡞Δ͔ߟ͑Δ 15 ΧΫϤϜͷڞಉ։ൃελΠϧ
ΧΫϤϜͷڞಉ։ൃελΠϧ 16 ʮݴΘΕͨͷΛ࡞ΔͷͰͳ͘ɺԿΛ࡞Δ͔ΛҰॹʹߟ͑Δʯ ,"%0,"8" ͯͳ ϊϕϧνʔϜ σΟϨΫλʔ σβΠφʔ ΤϯδχΞ ΧΫϤϜฤू෦
͚ͩͰͳ͘
ΧΫϤϜͷڞಉ։ൃελΠϧ 17 ʮݴΘΕͨͷΛ࡞ΔͷͰͳ͘ɺԿΛ࡞Δ͔ΛҰॹʹߟ͑Δʯ ,"%0,"8" ͯͳ ϊϕϧνʔϜ σΟϨΫλʔ σβΠφʔ ΤϯδχΞ ΧΫϤϜฤू෦
ͯͳҰॹʹߟ͑Δ
ΧΫϤϜͷڞಉ։ൃελΠϧ w ΧΫϤϜͰ࣮ݱ͍ͨ͠ϏδϣϯɾઓུΧΫϤϜฤू෦͕͍ͬͯΔ w ࢪࡦɾػೳݕ౼ͰΧΫϤϜฤू෦ͱɺͯͳͷ%ͳͲ͕Ұॹʹߟ͑Δ w ઓུɾํੑͯͳ͔ΒఏҊ͢Δ͜ͱ͋Δ w ͜Ε·Ͱͷ8FCαʔϏεӡӦͷݟΛ׆͔ͯ͠ 18
ʮݴΘΕͨͷΛ࡞ΔͷͰͳ͘ɺԿΛ࡞Δ͔ΛҰॹʹߟ͑Δʯ
ΧΫϤϜͷڞಉ։ൃελΠϧ w ϦϦʔεॳͷͰ͋Γ·͕͢ɺ ͪ͜Βซͤͯ͝ཡ͍͚ͨͩͨΒ w ʮΧΫϤϜͷ։ൃൿͯͳº,"%0,"8"͕ޠΔʯ w IUUQTIBUFOBDPSQKQSFDSVJUJOUFSWJFXLBLVZPNV 19
ΤϯδχΞ͔Βݟͨڞಉ։ൃ 20
wΤϯδχΞೲಘײΛ࣋ͬͯ։ൃʹऔΓΊ͍ͯΔ wαʔϏεΛࣗͷ͜ͱͱͯ͠ଊ͑ΒΕ͍ͯΔ 21 ಛʹݴ͍͍ͨͷ͜ͷ
w ฤू෦ͷϏδϣϯઓུΛ͔ͬ͠Γઆ໌ͯ͠Β͍͑ͯΔͷͰ ೲಘײΛ͍࣋ͯͯΔ w ػೳ։ൃʹ͍ͭͯͯͳͷ%ͳͲ͔ΒఏҊ͍ͯ͠ΔͷͰ ؾܰʹ࣭Λ͛ΒΕΔ 22 ΤϯδχΞೲಘײΛ࣋ͬͯ։ൃʹྟΊ͍ͯΔ
αʔϏεΛࣗͷ͜ͱͱͯ͠ଊ͑ΒΕ͍ͯΔ w ΤϯδχΞಉ༷ʹαʔϏεʹରͯ͠ϑΟʔυόοΫΛ͢Δ w ։ൃʹೲಘͰ͖͍ͯΔͨΊ w ػೳͷఆٛ6*ɾ69ͷઃܭ࣮ͯͳͷࣄͳͷͰɺͦ͜ʹ ରͯ͠ΤϯδχΞఏҊग़དྷΔ w ৽ػೳΛ࣮͢Δͱ͖ʹʮ͜͏ͨ͠ํ͕Ϣʔβخ͍͠Μ
͡Όͳ͍ͩΖ͏͔ʯͳͲݴͬͨΓ͍ͯ͠Δ 23
ΤϯδχΞ͔ΒαʔϏεʹରͯ͠ͷ'#ྫ wߦ͖ಧ͍͍ͯͳ͍͓Βͤͷܝࡌվળ wσβΠϯϞοΫΛݟΔձ 24
ΤϯδχΞ͔ΒαʔϏεʹରͯ͠ͷ'#ྫ wߦ͖ಧ͍͍ͯͳ͍͓Βͤͷܝࡌվળ wσβΠϯϞοΫΛݟΔձ 25
ߦ͖ಧ͍͍ͯͳ͍͓Βͤͷܝࡌվળ 26 https://kakuyomu.jp/info/entry/kakuyomu_reward_1st w ࠂऩӹͷϢʔβؐݩʹؔ͢ΔࠂΛԿ ͔ϒϩάʹܝࡌ͍ͯͨ͠ w 4/4Ͱࠂྲྀ͍ͯͨ͠ w ͕ɺಧ͍͍ͯͳ͍Ϣʔβ͞Μଟ͍ҹ
ͩͬͨ
ߦ͖ಧ͍͍ͯͳ͍͓Βͤͷܝࡌվળ w ͦ͜Ͱීஈܝࡌ͕ແ͍͕ɺݟ͍͑͢ ҐஔʹಋઢΛઃஔͯ͠ΈͯͱఏҊ w ฤू෦ͷํ%ͷԠΑ͔ͬͨͷͰ ͦͷ··ઃஔ͢Δ͜ͱʹ w δϟετΞΠσΞ͕ͩͬͨ ࣗͷఏҊ͕αʔϏεʹߩݙͰ͖ͨ
27
4MBDLͰͱΜͱΜഥࢠʹ͕ਐΉ༷ࢠ 28 ͯͳ4MBDLʹͯ
4MBDLͰͱΜͱΜഥࢠʹ͕ਐΉ༷ࢠ 29 ΧΫϤϜ4MBDLʹͯ ఏҊ͔ΒਐΊΔ͜ͱͷܾఆ·ͰΘ͔ͣ
ͳͥ͜͜·ͰരͰʁ w ػೳΛग़ͨ͠ΓࠂΛग़͢͜ͱʹؔ͢Δ૬ஊΛ͍ͯͨ͠λΠϛϯάͩͬͨ w ؔऀͷϑοτϫʔΫͷܰ͞ w ྆ࣾͷϝϯόʔ͕ಉ͡4MBDLͷϫʔΫεϖʔεʹೖ͍ͬͯͨ w ͕ࣗࠂɺࠂͷਁಁ۩߹ʹ͍ͭͯΕͨ 30
ΤϯδχΞ͔ΒαʔϏεʹରͯ͠ͷ'#ྫ wߦ͖ಧ͍͍ͯͳ͍͓Βͤͷܝࡌվળ wσβΠϯϞοΫΛݟΔձ 31
σβΠϯϞοΫݟΔձ w σβΠϯϞοΫΛݟͳ͕Βɺදࣔཁૉදࣔͷํʹ͍ͭͯΤϯ δχΞɾσβΠφͰձ w ٕज़తͳ࣮ݱՄೳੑͬ͘͟Γͨ͠ݟੵΓײΛڞ༗ w ࡞ΔͷͷΠϝʔδΛἧ͑ΔͱڞʹɺΤϯδχΞઢͰ'#Λ͢Δ 32
σβΠϯϞοΫݟΔձ 33 w ʮ͜ͷ17ͷݟͤํطଘͷσʔλΛՃ͢Ε࡞Ͱ͖ΔͷͰ࣮ ݱՄೳͰ͢ʯ w ʮ͜ͷ6*Λ࣮͢ΔͷʹY͔͔Γ·͕͢ɺ͔͚Δ࣌ؒͷׂʹϢʔ βʹͱͬͯϝϦοτগͳ͍͔ ʯ w
ʮ͜ΕΧοίΠΠͰ͢Ͷʂʯ
σβΠϯϞοΫݟΔձ w ʮ͜ͷ17ͷݟͤํطଘͷσʔλΛՃ͢Ε࡞Ͱ͖ΔͷͰ࣮ݱՄೳͰ͢ʯ w વ࣮ݱՄೳੑʹ͍ͭͯٞ͢Δ w ʮ͜ͷ6*Λ࣮͢ΔͷʹY͔͔Γ·͕͢ɺ͔͚Δ࣌ؒͷׂʹϢʔβʹͱͬͯϝ Ϧοτগͳ͍͔ ʯ w
ग़དྷΔ͔Ͳ͏͔͚ͩͰͳ͘ɺϢʔβͷϝϦοτσϝϦοτߟ͑Δ w ʮ͜ΕΧοίΠΠͰ͢Ͷʂʯ w ྑ͍σβΠϯ๙ΊΔ 34
ٕज़తͳ੍ͱ࣮ݱ͍ͨ͜͠ͱͷ伱ؒΛఏҊ͢Δ w ͕ࣗఏҊ'#ͷࡍʹߟ͍͑ͯΔ͜ͱ w ฤू෦ͷํσβΠφʔͷ࣮ݱ͍ͨ͜͠ͱग़དྷΔ͚࣮ͩݱ͍ͨ͠ w ͔࣌ؒ͠͠༗ݶͰɺ࣌ʹٕज़త੍͕นʹͳͬͯ͠·͏໘ ͋Δʜʜ w ͜͏͍͏໘Ͱٕज़తͳ੍ͱ࣮ݱ͍ͨ͜͠ͱΛཧղͭͭ͠ɺͲ͏
ʹ͔࣮ݱͰ͖ΔఏҊ͕ग़དྷͳ͍͔Λࢼߦࡨޡ͢Δ 35
͜͏͍͖͍ͯͨ͠ w ฤू෦ͷํͱΤϯδχΞͷؒͰࡶஊͳͲͷίϛϡχέʔγϣϯ Λ૿ͤΔͱ໘ന͍ͷͰ w ΧΫϤϜฤू෦ͱͯͳͷσΟϨΫλʔؒͰिʹఆྫΛ ߦ͍ͬͯΔ͕ɺΤϯδχΞ͕إΛ߹ͤΔػձগͳ͍ w ڞ௨ͷ4MBDLϫʔΫεϖʔεଘࡏ͢Δͷͷʜʜ w
Ҏલର໘ͰձΛ͢Δػձ͕͋ΓɺҎདྷҰॹʹࣄΛ͢Δਓͷ ਓͱͳΓΛΔͷେͩͳͱײ͍ͯ͡Δ 36
ࣗࣾαʔϏεͷ։ൃελΠϧͱ ൺֱͯ͠Έͯ 37
ࣗࣾαʔϏεͷ։ൃελΠϧͱͷҧ͍ w গͳ͘ͱΤϯδχΞͷϨϕϧͰແ͍ͱײ͍ͯ͡Δ w ͯͳͷΤϯδχΞʹ Ϣʔβʔʹରͯ͠ՁΛఏڙ͢Δ͕࢟ٻΊΒΕ͍ͯΔ w ͜ͷʹؔͯࣾ͠ɾڞಉ։ൃͰҧ͍ແ͍ͱࢥ͏ 38 ࣗࣾαʔϏεΛ։ൃ͢ΔࡍͷελΠϧ࢟ʹ
ҧ͍ແ͍ͱߟ͍͑ͯΔ
ڞಉ։ൃͰྑ͍ͳͱࢥ͍͑ͯΔ͜ͱ w ΧΫϤϜฤू෦ͷํୡখઆจԽɾ׆ࣈจԽʹ͘͢͝ҙͷ͋Δํୡ w ग़൛ࣾͰͳ͍ɺͯͳ͚ͩͰ࣋ͪͮΒ͍ྔ w ҙΛ࣋ͬͨਓୡͱࣄΛ͢Δͷָ͍͠͠ɺΧΫϤϜͰ࣮ݱ͍ͨ͠ ͜ͱΛ࣮ݱ͍ͤͯ͋͛ͨ͞ͱ͍͏ؾ࣋ͪʹͳΔ 39 ͯͳ͚ͩͰग़དྷͳ͍͜ͱ͕ग़དྷΔ
·ͱΊ w ΧΫϤϜʹ͓͚Δڞಉ։ൃͷΒ͠ʹ͍ͭͯհ w ΤϯδχΞઢͰɺࣗࣾαʔϏεͷ։ൃελΠϧͱมΘΔͱ͜Ζ ແ͘ɺࣗͷ͜ͱͱͯ͠ଊ͑ΔҙࣝΛ࣋ͬͯؔΘ͍ͬͯΔ w Ή͠Ζ͚ࣗࣾͩͰग़དྷͳ͍͜ͱΛҰॹʹ࣮ݱͰ͖ΔͷͰେม໘ന ͍ࣄ 40