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 Semina...
Search
Mikio Fujita
February 05, 2020
0
2.4k
エンジニアから見た出版社との共同開発の暮らし / 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
870
GraphQLを使い続けて気づいたこと ~Hatena Engineer Seminar #21~
benevolent0505
3
2.6k
マンガチームとDevOps / Hatena Engineer Seminar #11
benevolent0505
0
1k
授業でWebアプリを作っている?話
benevolent0505
0
960
日曜日といったら
benevolent0505
1
130
朝起きる
benevolent0505
1
89
休講
benevolent0505
0
1.2k
◯◯駆動開発
benevolent0505
0
190
WebRTCで絵チャットを作った話し
benevolent0505
0
830
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Scaling GitHub
holman
461
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
The Invisible Side of Design
smashingmag
301
51k
Side Projects
sachag
455
43k
Embracing the Ebb and Flow
colly
86
4.8k
Agile that works and the tools we love
rasmusluckow
329
21k
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