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
API開発で私たちが やってきたこと・やっていくこと / CITS Open Seminor #55
Search
HikaruMaruyama
June 21, 2017
Programming
1
780
API開発で私たちが やってきたこと・やっていくこと / CITS Open Seminor #55
HikaruMaruyama
June 21, 2017
Tweet
Share
More Decks by HikaruMaruyama
See All by HikaruMaruyama
OSS CMS「Drupal 10」 エッセンシャル:最新版でのWeb開発の魅力を探る #oscnagoya
hmaruyama
0
230
スタイリッシュでモダンな「Gin」管理テーマの紹介 #drupal_haneda
hmaruyama
0
170
DrupalのWeb Profiler #drupal_haneda
hmaruyama
0
280
非エンジニアから開発者まで!DrupalPodを使用したDrupal環境の作成
hmaruyama
1
280
Drupal認定試験にチャレンジしよう!アクイア認定プログラムのご紹介 / introduction of Acquia Drupal Certification Program
hmaruyama
0
890
「Docker/Kubernetes実践コンテナ開発入門」学習のポイント #dockerbg / 20191108
hmaruyama
0
110
enebularでobnizを Lチカ してみた #enebular / 20181122
hmaruyama
0
530
駅すぱあとWebサービス連携ハンズオンパート ノンプログラミングでClovaスキルハンズオン&お茶会 #linebootawards #Clova_CEK / 20180919
hmaruyama
1
570
Agent Friends Xperia Ear Duoで誰でも コミュニケーションにコミット #linebootawards / 20180826
hmaruyama
0
88
Other Decks in Programming
See All in Programming
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
400
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
690
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
250
2025.01.17_Sansan × DMM.swift
riofujimon
1
240
テストコード書いてみませんか?
onopon
2
310
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
140
Beyond ORM
77web
11
1.5k
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
840
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
400
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
220
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
360
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
210
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
How to Ace a Technical Interview
jacobian
276
23k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
We Have a Design System, Now What?
morganepeng
51
7.3k
Building Adaptive Systems
keathley
38
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Scaling GitHub
holman
459
140k
The World Runs on Bad Software
bkeepers
PRO
66
11k
Transcript
API։ൃͰࢲ͕ͨͪ ͖ͬͯͨ͜ͱɾ͍ͬͯ͘͜ͱ 2017/6/21 גࣜձࣾϰΝϧݚڀॴ ؙࢁͻ͔Δ
Profile גࣜձࣾϰΝϧݚڀॴ ؙࢁͻ͔Δ ςΫχΧϧΤόϯδΣϦετ ਆಸݝ૬ݪࢢࡏॅ IJLBSVNBSVZBNB NBSVZBNBIJBLSV IUUQIJJJJJJJIJLBSVIBUFOBEJBSZDPN
None
ͪΐͬͱ͚ͩ ձࣾհ
None
ܦ࿏୳ࡧ Ҋ ͱฉ͍ͯɺࢥ͍ු͔ͿϞϊʁ
None
None
Ӻ͢ͺ͋ͱͷWebAPI Ӻ͢ͺ͋ͱWebαʔϏε
ɾ2010ʹαʔϏεΠϯ ɾӺ͢ͺ͋ͱͷػೳΛWebAPIͱͯ͠ఏڙ ɾREST API ɾࣗࣾαʔϏεͷج൫ͱͳ͍ͬͯΔ ɾDailyΞΫηεɺ֎߹Θͤͯ1,300ສఔ ʢ2017/3ݱࡏʣ ɾ͜͜ͷલൺ̎ഒҎ্Λҡ࣋ Ӻ͢ͺ͋ͱWebαʔϏε
ࠓͷ͓ɿ Ӻ͢ͺ͋ͱwebαʔϏεͰ ɾಋೖ͍ͯ͠Δπʔϧ ɾ࣮ફ͍ͯ͠Δ։ൃϓϩηε ɾDevRel׆ಈ ʹ͍ͭͯհ͠·͢
API։ൃΛ͍ͯ͠Δ/͢Δ༧ఆͷํ ʹݶΒͣɺ৭Μͳਓͱ ใަͰ͖ͨΒ͍͍ͳͱ ࢥ͍ͬͯ·͢
ɾಋೖ͍ͯ͠Δπʔϧ ɾ࣮ફ͍ͯ͠Δ։ൃϓϩηε ɾDevRel׆ಈ
ɾಋೖ͍ͯ͠Δπʔϧ ɾ࣮ફ͍ͯ͠Δ։ൃϓϩηε ɾDevRel׆ಈ
ಋೖ͍ͯ͠Δπʔϧ
ϙΠϯτɿ ίΞͷՁ্ʹूத͢ΔͨΊʹ ͢Ͱʹੈͷதʹ͋Δͷ “ͳΔ͘”࡞Βͳ͍
ྑ͍αʔϏεΛ࡞Δʹ ྑ͍αʔϏεΛΔ
ɾࢹ ɾϩάपΓ ɾ͓͍߹Θͤ ɾίϛϡχέʔγϣϯ
ࢹ • pingdomͰ֎ܗࢹ • mackerelͰCPUϞχλϦϯά • PagerDutyͱpingdomΛ࿈ܞ ͯ͠Ξϥʔτ௨ • StatusPageͱpingdomΛ࿈ܞ
ͯ͠Σϒ্ʹঢ়ଶՄࢹԽ • ϥζύΠͱpingdomΛར༻͠ ͓ͯखͷΤΫετϦʔϜ ϑΟʔυόοΫσόΠε(ޙड़)
ϩάपΓ • elasticsearch+kibana ͰAWS ELBϩάՄࢹԽ • AWS Lambda+AWS Kinesis Stream
Ͱ elasticsearchʹELBͷϩ άΛΠϯϙʔτ
͓͍߹Θͤ GithubͷissueͰ ͍߹Θͤཧ ओʹٕज़తͳ༰ Ϣʔβͷ૭ޱ ͍͍ͩͨͷ͍߹Θͤ ͪ͜ΒͰٵऩ αϙʔτແྉ ʢΦϓγϣϯྉۚͳ͠ʣ Ϣʔβ
αϙʔτɾӦۀ ։ൃ
Github IssueͰ͍߹Θͤཧ • ҎલRedmineͷνέοτ • υΩϡϝϯτڞ༗RedmineͰߦͳ͍͕ͬͯͨɺesaʹҠߦ • νέοτ͚ͩੜ͖ͯΔঢ়ଶʹ • Github
issueʹҠߦ • ଞπʔϧͱͷ࿈ܞͷ͢͠͞
ίϛϡχέʔγϣϯʹslack • ҎલGoogleϋϯάΞτ • άϧʔϓνϟοτͩͱɺϝϯγϣϯඈͤͳ͍ͷ͕ෆ ศ • ίʔυషΓ͚ͨ࣌ͷՄಡੑͷແ͞… • slack
• ͔Ώ͍ͱ͜Ζʹख͕ಧ͘ײ͡ • ଞαʔϏεͱͷ࿈ܞɺจࣈͷ০ɺֆจࣈɺbot… • 2016͋ͨΓ͔Βશࣾಋೖ
ɾಋೖ͍ͯ͠Δπʔϧ ɾ࣮ફ͍ͯ͠Δ։ൃϓϩηε ɾDevRel׆ಈ
։ൃϓϩηε
ɾՄࢹԽ ɾKAIZEN DAY ɾࣾ֎͚ APIυΩϡϝϯτվળ ɾϞϒϓϩάϥϛϯά
ݟ͑ΔԽ
Χϯόϯ
Χϯόϯ Χϯόϯͷత “͕͍ࣗͬͯΔ͜ͱΛνʔϜʹࣔ͢”
ࢹπʔϧ Ի͕໐ΔΑʂ
ࢹ • pingdomͰ֎ܗࢹ • mackerelͰCPUϞχλϦϯά • PagerDutyͱpingdomΛ࿈ܞ ͯ͠Ξϥʔτ௨ • StatusPageͱpingdomΛ࿈ܞ
ͯ͠Σϒ্ʹঢ়ଶՄࢹԽ • ϥζύΠͱpingdomΛར༻͠ ͓ͯखͷΤΫετϦʔϜ ϑΟʔυόοΫσόΠε(ޙड़)
ΞϓϦέʔγϣϯߏਤɾཧߏਤ
VSM (όϦϡʔετϦʔϜϚοϓ)
αʔϏεར༻ؔ࿈ਤ
Ϙʔυ
ग़యݱྗΛߴΊΔݟ͑ΔԽख๏ϓϩδΣΫτϑΝγϦςʔγϣϯCZฏು݈ࣇ͞Μ IUUQTXXXTMJEFTIBSFOFUIJSBOBCFQSPKFDUGBDJMJUBUJPO ݟ͑ΔԽͷత
ݟ͑ΔԽͷྑ͍ͱ͜Ζ • ͕ۭٞதઓʹͳΓʹ͍͘ • ʮ͋ΕʯʮͦΕʯࢦ໊ࣔࢺ͕͑Δͷָ͕ • ʢձࣾʹډΕʣ͙͢ʹݟ͑Δ • σδλϧͰཧ͢Δͱງʹߦ͔ͳ͚ΕͳΒ ͳ͍
KAIZEN DAY • What KAIZEN DAY ? • ؙҰɺνʔϜͷվળ׆ಈΛߦ͏ •
݄1ճͷϖʔεͰ࣮ࢪ • Why KAIZEN DAY ? • ࣗͨͪͷࣄΛΑΓʮ҆શʯʹʮ؆୯ʯʹߦ͑ΔΑ͏ʹ ͢Δ • ڧ੍తʹཱͪࢭ·Δ࣌ؒΛ࡞ΔͨΊɺΈԽͯ͠͠·͏
KAIZEN DAY • ೋ͘Β͍ଓ͚͍ͯΔ • ࠓ·Ͱ͖ͬͯͨ͜ͱ(ൈਮ) • APIͷ෦Τϥʔίʔυඋ • ίʔυنඋ
• Ӻ͢ͺ͋ͱwebαʔϏε༻ޠఆٛ • ڞ༗αʔόʔʹཷ·͍ͬͯͨศརεΫϦϓτͷআ • ཷ·͍ͬͯͨϓϧϦΫͷফԽ • ख࡞ۀͷࣗಈԽ • ࠷ۙLABODAY(৽͍ٕ͠ज़Λ৮Δ)ɺRETRODAY(ৼΓฦΓ)ͳ Δͷ
ࣾ֎͚APIυΩϡϝϯτվળ • What ࣾ֎͚APIυΩϡϝϯτʁ IUUQEPDTFLJTQFSUDPNW
• Why ࣾ֎͚APIυΩϡϝϯτվળʁ • υΩϡϝϯτ͔Βඞཁͳใ͕ΈऔΕͳ͔ͬͨ(৽ਓͷࠒͷײ) • ࣅͨΑ͏ͳ͓͍߹Θ͕ͤଟ͔ͬͨ • How υΩϡϝϯτվળʁ
• Ӻ͢ͺ͋ͱwebαʔϏεʹؔΘΔ෦ॺΛؚΊͨগਓ੍ͷνʔϜ Λ݁ • ։ൃɺӦۀɺαϙʔτ • ݄ʹҰճఆྫMTG • ඇΤϯδχΞΛؚΊͨgithubӡ༻ ࣾ֎͚APIυΩϡϝϯτվળ
• ޮՌ • Ϣʔβ͔ΒυΩϡϝϯτ͕๙ΊΒΕΔΑ͏ʹ • ։ൃʹ߱Γͯ͘ΔϢʔβ͔Βͷ͍߹Θ͕ͤݮগ • ͍߹ΘͤͨϢʔβͷճεϐʔυͷ্ • ࠓ·ͰҰ͔Βઆ໌ˠURLΛ͓͑͢Δ͚ͩʹ
• ݱࡏܧଓͯ͠վળΛଓ͚͍ͯΔ ࣾ֎͚APIυΩϡϝϯτվળ
Ϟϒϓϩάϥϛϯά • What Ϟϒϓϩάϥϛϯάʁ • ෳਓ(=Ϟϒ)ͰҰՕॴʹू·Γɺಉ͡PCΛͬͯ՝ʹऔΓΉ։ ൃख๏ • Why Ϟϒϓϩάϥϛϯάʁ
• Agile Japan 2017※1Λ͖͔͚ͬʹϞϒϓϩάϥϛϯάͷଘࡏΛΔ • औΓΜͰΈͨΒָ͔ͬͨ͠ʂ • ৭ʑϝϦοτ͕͋Δͱ᷿ͰݴΘΕ͍ͯ·͕͢ɺʮͬͯΈͨΒָ͠ ͔ͬͨʯ͜Εʹਚ͖Δ ※1 ຊͷݖҖ͋ΔΞδϟΠϧͷΠϕϯτ
Ϟϒϓϩάϥϛϯά • νʔϜͰͬͯΈͨ • งғؾ͕ͪΐͬͱݻ͍ • ͕ࣝҰਓʹภ͍ͬͯͯɺͦͷਓͷφϏཔΈʹͳͬͯ͠·͏ • ࢲͷϑΝγϦςʔγϣϯྗͷݶք •
ָ͠ɾɾɾ͘ͳ͍ • ఘΊΔͷ·ͩૣ͍ • ࣾ֎ͰͷϞϒϓϩΠϕϯτͰݟΛूΊ͍ͨ • ͜Ε͔ΒԿճ͔τϥΠ͢Δ༧ఆ
ɾಋೖ͍ͯ͠Δπʔϧ ɾ࣮ફ͍ͯ͠Δ։ൃϓϩηε ɾDevRel׆ಈ
DevRel׆ಈ
DevRel?
What DevRel? • Developer Relations • ϚʔέςΟϯάख๏ͷҰछ • ֎෦ͷ։ൃऀͱͷܨ͕ΓΛܗ͠ɺࣗࣾͷΛͬͯ Β͏
• ͍ΖΜͳاۀ͕औΓΜͰ͍Δ • Google, Facebook, AWS, Microsoft, IBM, LINE, PayPal, Stripe, αΠϘζ...etc
ɾษڧձ/ηϛφʔ։࠵ ɾιʔγϟϧϝσΟΞӡӦ ɾίϛϡχςΟӡӦ ɾΠϕϯτొஃ ɾϒϩάࣥච
ฐࣾ DevRel׆ಈ࢝Ί·ͨ͠
ϋοΧιϯٕज़ఏڙ
͘͞ΒΠϯλʔωοτ×ϰΝϧݚڀॴ ڞ࠵ϋϯζΦϯ
͘͞ΒΠϯλʔωοτ×ϰΝϧݚڀॴ ڞ࠵ϋϯζΦϯ ࣍ճ6/23@େࡕ!
৭Μͳͱ͜ΖͰొஃͯ͠·͢
ɹϒϩάॻ͍ͯ·͢ http://hiiiiiiihikaru.hatenadiary.com/
ࢲ͕ΤόϯδΣϦετͱͯ͠ ͜ͷ׆ಈΛߦͳ͍ͬͯΔཧ༝
“Ӻ͢ͺ͋ͱWebαʔϏε͕͖͔ͩΒ” Ҏ֎ͷͳʹͷͰͳ͍
ϓϩμΫτΛͬͱ͍ͤͨ͞ ͍͍͢ͷΛఏڙ͍ͨ͠ ৭ΜͳਓʹͬͯΒ͍͍ͨ ৭ΜͳਓʹͬͯΒ͍͍ͨ ͬͨਓͷ͕ฉ͖͍ͨ ͜Ε͕Ϟνϕʔγϣϯˢ
Կ͔ҰॹʹͰ͖ͨΒ ໘ന͍Ͱ͢Ͷʂ
·ͱΊ
ࠓͷ͓ɿ Ӻ͢ͺ͋ͱwebαʔϏεͰ ɾಋೖ͍ͯ͠Δπʔϧ ɾ࣮ફ͍ͯ͠Δ։ൃϓϩηε ɾDevRel׆ಈ ʹ͍ͭͯհ͠·ͨ͠
νʔϜͷจԽ • తओٛత • “Be Lazy” • ΧΠθϯϚΠϯυ • ָ͘͠
• ͨ·ʹඒຯ͍͠ͷΛ৯Δ
·ͩ·ͩ՝ࢁੵΈorz
API։ൃΛ͍ͯ͠Δ/͢Δ༧ఆͷํ ʹݶΒͣɺ৭Μͳਓͱ ใަͰ͖ͨΒ͍͍ͳͱ ࢥ͍ͬͯ·͢
ҰॹʹAPIࢢ Γ্͍͖͛ͯ·͠ΐ͏ʂ
Thank you!