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
How Developer Support Works
Search
Naoki Ainoya
March 11, 2017
Programming
10
2.6k
How Developer Support Works
「開発支援という仕事」
Battle Conference U30 登壇資料
https://battleconference-u30.connpass.com/event/49985/
Naoki Ainoya
March 11, 2017
Tweet
Share
More Decks by Naoki Ainoya
See All by Naoki Ainoya
Looker BEACON 2021 / How we implemented Scalebase Analytics with Looker
ainoya
0
2.8k
Salesforce Application Development with GitHub Actions and sfdx-cli
ainoya
1
3.8k
Scalebase Analytics powered by Looker
ainoya
0
2.3k
SPIFFE in Action
ainoya
4
1.5k
リクルートマーケティングパートナーズでのDeployGate活用事例
ainoya
2
4.4k
[RMPxQuipper meetup #3]開発のための開発~スマホアプリ向けe2eテストの検証導入事例を通じて~
ainoya
1
2.3k
How to play Scala on dockerized infrastructure
ainoya
4
3k
prevs.io開発の裏側とコンテナ仮想化時代のAPI運用
ainoya
4
2.4k
ビルドパイプラインツールをGoで作った話
ainoya
3
2.5k
Other Decks in Programming
See All in Programming
TypeScript LSP の今までとこれから
quramy
0
220
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
140
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
130
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
400
ワンバイナリWebサービスのススメ
mackee
10
7.6k
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.8k
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
670
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.8k
プロダクト改善のために新しいことを始める -useContextからの卒業、Zustandへ-
rebase_engineering
1
100
漸進。
ssssota
0
1.4k
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.7k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Git: the NoSQL Database
bkeepers
PRO
430
65k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Docker and Python
trallard
44
3.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
։ൃࢧԉͱ͍͏ࣄ !OBPLJBJOPZB 3FDSVJU.BSLFUJOH1BSUOFSTDP MUE
w BJOPZB w dNJYJ w dOPXSFDSVJU w ΠϯϑϥͱΞϓϦ։ൃ͕ ŧŔŕŪũƄŝſΤϯδχΞ BJOPZBJP
None
γϯϓϧͳϏϧυύΠϓϥΠϯπʔϧXBMUFSΛϦϦʔε͠·ͨ͠c"EWBODFE5FDIOPMPHZ-BC IUUQBUMSFDSVJUUFDIDPKQCMPH 8BMUFSWCFUBΛϦϦʔε͠·ͨ͠c"EWBODFE5FDIOPMPHZ-BC IUUQBUMSFDSVJUUFDIDPKQCMPH
)PXUPQMBZ4DBMBPOEPDLFSJ[FEJOGSBTUSVDUVSF4QFBLFS%FDL IUUQTTQFBLFSEFDLDPNBJOPZBIPXUPQMBZTDBMBPOEPDLFSJ[FEJOGSBTUSVDUVSF
IUUQTFJHPTBQVSJKQ
ΪϦΪϦ6OEFS ͋ͱ̑ϲ݄Ͱ͍̏͞Ͱ͕͢ ͕ΜΓ·͢
ࠓ͍ͬͯΔ͜ͱ
l։ൃࢧԉz
4JUF3FMJBCJMJUZ&OHJOFFSJOH %FWFMPQFS1SPEVDUJWJUZ&OHJOFFSJOH ηΩϡϦςΟରԠ ΤϯδχΞ࠾༻ɾਓࣄɾ৫׆ੑ ࣾ*5 FUDʜ
ࢧԉର ฐࣾ։ൃ৫ͷ ෳϓϩμΫτ܈
l։ൃΛՃͤ͞ΔͨΊͷ։ൃz ͳΒ ͳΜͰΔ
ͳͥΔͷ͔ʁ
ΤϯδχΞʹ σΟʔϓɾϫʔΫ ͯ͠Β͏ͨΊ
None
େࣄͳ͜ͱʹूத͢Δ ϢʔβʹՁΛಧ͚Δ͜ͱ ͨͩҰʹूதͰ͖Δ ڥͷͨΊʹ
ϢʔβʹՁΛಧ͚ΔͨΊʹ ຊ࣭తͰͳ͍ɺෆཁͳ ίετɾ࣌ؒɾ࣌ؒΛΔ γϟϩʔϫʔΫΛۃখԽ͢Δͷ͕త
ྫ͑
ϋΠύϫʔ$*ϚγϯಋೖͰ Ϗϧυ࣌ؒॖ
Ϗϧυ࣌ؒͷ ॖ 4DBMBϓϩδΣΫτͷ ίϯύΠϧ ʴ ςετ ʴ EPDLFSJNBHFੜ ࣌ؒΛʹ
Ϗϧυ࣌ؒͷॖ ʹ ࣌ؒۚͰങ͑Δ ʢ͔͔ͨͩ̎̌ສͰ
ͱ͍͑ɺ ͓ۚͷແବݣ͍
ྫ͑ɺ2"
Ͱςελʔ͞ΜΛूΊͯ ࿑ಇूతʹςετ
େྔͷςετ߲Λ ख࡞ۀͰ࣮ࢪ ϦϦʔε·ͰӋ٧·͍ͬͯΔͱ͋Γ͕ͪ
ఆٛʹैͬͯػցతʹ ͜ͳͤΔͷ ࣗಈԽ͢Δ͖
ςελʔ͞Μʹ ਓؒͰͳ͍ͱൃݟ͕ ͍͠όάΛ୳͢͜ͱʹ ूதͯ͠΄͍͠
εϚϗΞϓϦͷςετ ࣗಈԽج൫ͷಋೖ
0QFO45'ͷ ಋೖ ݕূͷςετϑΝʔϜߏங αΠόʔ͞Μ͓ੈʹͳͬͯ·͢
0QFO45'ͷ ಋೖ ϦϞʔτϫʔΫ࣌ ݕূར༻͕༰қʹ
"QQJVNʹΑΔ ࣮ػFFςετ ݕূɾಋೖ 0QFO45'4BVDFMBCTΛ ςετϑΝʔϜͱͯ͠ ࣗಈԽج൫Λߏங <3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDL IUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF
"QQJVNʹΑΔ ࣮ػFFςετ ςετ࣮ߦͷΈΛ ͑ͨ <3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDL IUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF
"QQJVNʹΑΔ ࣮ػFFςετ $IBMMFOHJOHͳ औΓΈ Perceptual diffsʹΑΔσάϨͷݕग़ڧԽ https://github.com/uber/image-diff <3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDL IUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF
ࣗಈԽʹΑΔݮ ͚ͩͰͳ͘ʜ
2"σΟϨΫγϣϯͷ ෛՙݮ σΟϨΫλʔͷ γϟϩʔϫʔΫݮ
σΟϨΫλʔҎ֎ʹʜ ΤϯδχΞ୲֎ͷࣄ γϟϩʔϫʔΫͩΒ͚
ྫ͑ ϚʔέςΟϯά୲ σʔλूܭۀ
ڪΔ͖ ਓྗεΫϨΠ ϐϯά ച্ूܭγεςϜ σʔλग़ྗ"1* σʔλμϯϓػೳ͕ͳ͔ͬͨ ػೳՃͷॲͨͨͳ͍ ˣ ଞࣾཧԼͷച্ूܭը໘Λ
̍ϖʔδͣͭΊͬͯ͘ &YDFMʹసࣸʜ
4DSBQZʹΑΔ ͓खܰ εΫϨΠϐϯά ਓखͰ࣮ݱෆՄೳͩͬͨ සͰͷച্ܭଌ͕ Ͱ͖ΔΑ͏ʹ
4DSBQZʹΑΔ ͓खܰ εΫϨΠϐϯά 4DSBQZΫϩʔϥ͚ ϑϨʔϜϫʔΫ ेߦॻ͚ͦͦ͜͜ಈ͘ Ϋϩʔϥ͕ͭ͘ΕΔ ͓͢͢Ί http://asheesh.org/pub/scrapy-talk/#1
ϧʔνϯϫʔΫ ଞʹ·ͩ·ͩͨ͘͞Μ͋Δ
ձٞࣨ༧
શࣾඪ४ͷձٞࣨ༧γεςϜ ͋ΒΏΔ*5Ϧςϥγɾۀܗଶͷશࣾһ ສਓن ͕ ͑͘͠Δ͘࡞ΒΕͨݹͷγεςϜ
ՄೳͳݶΓ͍͘͢ ม͑Δ͜ͱ͕͍͠ͷΛ ͕ࣗͨͪม͑ΒΕΔൣғͰม͍͑ͯ͘ ձٞࣨ༧ΞϓϦΛ ձٞࣨલʹઃஔ 4MBDLJOUFHSBUJPO
ଞʹ͍Ζ͍Ζ ίπίπࣗಈԽ
w ϝʔϧͰ͔͠ల։͞Εͳ͍ใڞ༗ɻΤϯδχΞ औΓ͜΅͢ 4MBDLʹྲྀ͢Έ࣮ .JDSPTPGUqPXΛར༻ w QSJWBUFͳTMBDLDIBOOFMͷQVCMJDԽ DIBOOFMͷΞʔΧΠϒɾϦωʔϜͱ৽ن࡞Λ ߦ͏CPU࣮
w ۀπʔϧ܈ͷΞΧϯτਃɾཧ (PPHMF'PSN 4MBDLͰDIBUPQTͳ͍ग़͠
γϟϩʔϫʔΫΤϯδχΞ͔Β ݟ͑ͳ͍ͱ͜Ζʹ ࢁ΄Ͳ͋Δ
ίετͱ࣌ؒ ͪΓͭࣜʹ૿͑ͯ ϦϦʔεΛͤ͘͞Δ
–Tom DeMarco, দݪ ༑༁ ʮϐʔϓϧΣΞʯ lձࣾͷϧʔνϯϫʔΫɺबۀ࣌ؒʹݟ߹͏ͱ ͜Ζ·Ͱு͢Δ͕͋Δz
ΤϯδχΞྲྀͷղܾ๏Ͱ γϟϩʔϫʔΫΛ ௵͍͖ͯ͠·͠ΐ͏
(4ͷهࣄ IUUQTXXXUFDIOPMPHZSFWJFXKQTBTHPMENBOFNCSBDFTBVUPNBUJPOFWFOUIFNBTUFSTPGUIFVOJWFSTFBSFUISFBUFOFE
–Joel Spolsky ੨ ༃༁ ʮMore Joel on Softwareʯ l͝Έ͋Δͱ͜Ζʹۚ͋Δz
–Eric Sink, ੨ ༃༁ ʮֵ৽తιϑτΣΞاۀͷ࡞Γํʯ lιϑτΣΞ։ൃऀձࣾͷதͰ͕ࣗ࠷ॏཁͳਓؒͩͱࢥ͍ ࠐΉ͕͋Δɻ͍͋ʹ͘ͱ͜ͷଚେ͞ʹ͍ͬΜͷਅ࣮͕͋Γɺ ։ൃऀ͕ଞͷਓͨͪͱ͏·͘ંΓ߹͏ͷΛ͍ͯ͘͠͠ΔɻͦΕͰ ࢲͷओுมΘΒͳ͍ɻ։ൃऀͷεΩϧίʔσΟϯάҎ֎ͷ͞ ·͟·ͳλεΫʹద༻Մೳͳͷͩɻ
ɾΧελϚαʔϏε୲ͱͯ͠ɺͷΈΛཧղ͍ͯ͠Δ ։ൃऀΛΑΓૣ͘ݟ͚ͭΔ͜ͱ͕Ͱ͖Δ ɾηʔϧεΨΠͱͯ͠ɺͷΈΛཧղ͍ͯ͠Δ։ൃऀ ͦΕͰԿ͕Ͱ͖Δͷ͔ͱ͍͏࣭ʹ༰қʹ͑Δ͜ͱ͕Ͱ͖Δɻ ɾϚʔέςΟϯά୲ͱͯ͠ɺ։ൃऀϚʔέοτઓུʹӨڹ͢Δ ٕज़తͳબ͕͔͔ΘΔܾஅʹཱͭ͜ͱ͕Ͱ͖Δɻ اۀ։ൃऀ͕ιϑτΣΞߏஙҎ֎ͷ׆ಈʹ͔͔ΘΔ͜ͱΛ ڪΕΔ͖Ͱͳ͍ɻz