Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
バックエンド基盤チームのお仕事 / The value of the backend base...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takuya Matsumoto
November 29, 2019
Programming
3.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
バックエンド基盤チームのお仕事 / The value of the backend base team
https://connpass.com/event/150920/
Takuya Matsumoto
November 29, 2019
More Decks by Takuya Matsumoto
See All by Takuya Matsumoto
STORES におけるセッションストアへの Amazon MemoryDB for Redis の活用と、移行戦略 / MemoryDB for STORES Session Store
upinetree
2
5k
STORES へのID基盤の導入と、ユーザーアカウントの移行を振り返って
upinetree
5
3.4k
CSSの技術的負債との向き合い方 / How to Deal with Technical Debt of CSS (ja)
upinetree
5
4.5k
How to Deal with Technical Debt of CSS
upinetree
1
640
書籍紹介LT:現場で使える Ruby on Rails 5 速習実践ガイド
upinetree
0
220
Introduction to Entering Test Design (Japanese)
upinetree
0
910
Hello React
upinetree
4
310
history of nicorepo gem and me
upinetree
0
190
Visualize team communications on github
upinetree
4
1.3k
Other Decks in Programming
See All in Programming
Modernizing iOS Apps
seyfoyun
0
120
contenteditable と日本語入力に向き合う
colorful12
0
220
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1k
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
2
220
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
120
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.3k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
960
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
310
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.8k
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
150
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
150
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
970
Featured
See All Featured
Design in an AI World
tapps
1
360
Being A Developer After 40
akosma
PRO
92
590k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
650
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
370
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
590
Docker and Python
trallard
47
4.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Deep Space Network (abreviated)
tonyrice
0
380
Transcript
ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ
ͷ ͓ ࣄ 2 0 1 9 / 1 1 / 2 9 We b α ʔ Ϗ ε ։ ൃ ͷ ͨ ͷ ͠ Έ ํ - ϕʔ γ ο Ϋ x S T O R E S . j p Ta k u y a M a t s u m o t o @ u p i n e t re e
দຊ @upinetree STORES.jp, Inc. ϓϩάϥϚ (2019/05 - current)
2 0 1 2
S T O R E S . j p
ੜ
ੜ ͔ Βͣͬ ͱ Γ ଓ ͚ ͯ
͖ ͯ … 2012
ఏ ڙ ͯ͠ ͖ ͨ Ձ ͱ ͱ
ʹ ੵ Έ ॏ ͳ ͬ ͨ ٕ ज़ త ෛ ࠴ 2012
ڊ େ ͳ Ϟ ϊ Ϧε ɺ ֦ େ ͢
Δ ν ʔϜ ɺ ݹ ͍ ϥ Π ϒ ϥ Ϧ ɺ བྷ · ͬ ͨ ෳ ࡶ ੑ ɺ ෆ ཁ ͳ ί ʔ υ … 2019 2012
ʮ ό ο Ϋ Τ ϯ υ ج ൫ ʯ
ν ʔϜ ͷ ొ
S T O R E S . j p ͷ
Τ ϯ δχΞ ν ʔϜ 2 (+1) ໊ Τ ϯ δχ Ξ Ϧ ϯ ά D i v ج ൫ վ ળ G ϓ ϩ μΫ τ ਪ ਐ G ۀ վ ળ S R E ό ο Ϋ Τ ϯ υ ج ൫
ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ
ͷ ۙ ͷ ϛ ο γ ϣ ϯ • ֤छϥΠϒϥϦͷόʔδϣϯΞοϓ • ΞϓϦέʔγϣϯͱσʔλج൫ͷඋ • શମͷ։ൃޮͷ্ • νʔϜԣஅͨ͠ϨϏϡʔɺٕज़తͳϝϯλϦϯά
͜ ͜ Ͱ ͷ औ Γ Έ
• Ruby 2.3 㱺 2.5 • Rails 5.0 㱺 5.1 • Mongoid (※) 6.1 㱺 6.4 • Dependabot ͷಋೖͱ֤ gem ͷΞοϓσʔτ • ෆཁͳ gem ίʔυͷ͓আ • CI ߴԽ • ίʔυঢ়گͷՄࢹԽ ※STORES.jp ͷΞʔΩςΫνϟͷಛతͳɺMongoDB ΛΨοπϦ͍ͬͯΔͱ͜Ζ
͜ ͜ Ͱ ͷ औ Γ Έ
• Ruby 2.3 㱺 2.5 • Rails 5.0 㱺 5.1 • Mongoid (※) 6.1 㱺 6.4 • Dependabot ͷಋೖͱ֤ gem ͷΞοϓσʔτ • ෆཁͳ gem ίʔυͷ͓আ • CI ߴԽ • ίʔυঢ়گͷՄࢹԽ ※STORES.jp ͷΞʔΩςΫνϟͷಛతͳɺMongoDB ΛΨοπϦ͍ͬͯΔͱ͜Ζ Ξοϓσʔτ ޮԽ ࠐΈ
· ͩ · ͩ ϨΨ γ ʔ ͳ ෦
ଟ ͘ ͋ Δ ͷ ͷ ண ࣮ ʹ ྑ ͍ ঢ় ଶ ʹ ͯ͠ ͍ ͬͯ ͍ Δ
· ͩ · ͩ ϨΨ γ ʔ ͳ ෦
ଟ ͘ ͋ Δ ͷ ͷ ண ࣮ ʹ ྑ ͍ ঢ় ଶ ʹ ͯ͠ ͍ ͬͯ ͍ Δ
ʮ ྑ ͍ ঢ় ଶ ʯ ͱ ʁ
ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ
ͱ ͯ͠ Ͳͷ Α ͏ ʹ ʮ ྑ ͍ ঢ় ଶ ʯ ʹ ͔ ͏ ͖ ʁ
ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ
ͷ Ձ Λ ߟ ͑ͯ Έ Δ
ι ϑ τ Σ Ξ ͷ Ձ •
Ϣʔβ͔Βݟ͑ΔՁ • ྫʣຬ͢Δػೳ͕͋Δ͔ɺ ɹɹ͔͍͍͔ͭ͢ ֎ ෦ త ͳ Ձ ෦ త ͳ Ձ • Ϣʔβ͔Βݟ͑ͳ͍Ձ • ྫʣ҆ఆతʹػೳΛఏڙ͠ଓ͚ ΒΕΔ͔
ι ϑ τ Σ Ξ ͷ Ձ ֎
෦ త ͳ Ձ ෦ త ͳ Ձ • Ϣʔβ͔Βݟ͑ΔՁ • ྫʣຬ͢Δػೳ͕͋Δ͔ɺ ɹɹ͔͍͍͔ͭ͢ • Ϣʔβ͔Βݟ͑ͳ͍Ձ • ྫʣ҆ఆతʹػೳΛఏڙ͠ଓ͚ ΒΕΔ͔
෦ త ͳ Ձ Λ ࢧ ͑Δ S
R E • SRE (Site Reliability Engineer) • ओʹγεςϜͷ৴པੑ্ʹऔΓΉ • ۙͦͷඞཁੑͷཧղ͕༷ʑͳ৫ʹ͕͖ͬͯͨ
෦ త ͳ Ձ Λ ࢧ ͑Δ ό
ο Ϋ Τ ϯ υ ج ൫ • ٕज़తෛ࠴Λฦࡁ͠ɺ։ൃ͘͢͢͠Δʁ • ٕज़తෛ࠴ͬͯͳΜͩʁ • ۷ΓԼ͛ͯߟ͑ͯΈΔ
I S O / I E C 2 5 0
1 0 ͷ ࣭ Ϟ σϧ : 8 ͭ ͷ ಛ ੑ ˞*1"ʮͭͳ͕ΔੈքͷιϑτΣΞ࣭ΨΠυʯΑΓҾ༻
I S O / I E C 2 5 0
1 0 ͷ ࣭ Ϟ σϧ : อ क ੑ • ػೳՃมߋΛɺޮతʹɺطଘΛյͣ͞ ʹͰ͖Δ͔ • յΕͨͱ͖ʹɺͲ͕͜ݪҼͰɺͲ͜·ͰӨڹ ͢Δ͔Λஅ͍͔͢͠
෦ త ͳ Ձ Λ ࢧ ͑Δ ό
ο Ϋ Τ ϯ υ ج ൫ • γεςϜͷอकੑ্ʹऔΓΉ
อ क ੑ ͱ ͍ ͏ ͱ ʮ क Γ
ʯ ͷ ҹ ͕ ͋ Δ
क Γ ͩ ͚ Ͱ ͳ ͍ ʂ •
อकੑ͕͋Δ͔Βͦ͜ɺ͘͢ϦϦʔεͰ͖Δ • ͘͢ϦϦʔεͰ͖ΔͱɺԾઆݕূΛճ͘͢͠ͳΔ • => ϓϩμΫτ͕Γଓ͚ɺਐԽ͢ΔͨΊʹٻΊΒΕΔཁૉ ؔ࿈ɿ https://speakerdeck.com/twada/quality-and-speed
อ क ੑ ߈ Ί ͷ ͨ Ί ͷ
࣭ Ͱ ͋ Δ
෦ త ͳ Ձ Λ ࢧ ͑Δ ό
ο Ϋ Τ ϯ υ ج ൫ • γεςϜͷอकੑ্ʹऔΓΉ • कΓ͚ͩͰͳ͍ɺ߈ΊͷͨΊͷऔΓΈ
ઐ Ͱ ͳ ͘ ɺ ػ ೳ ։
ൃ ν ʔϜ Ͱ Ε े Ͱ ʁ
ػ ೳ ։ ൃ ν ʔϜ ͕ อ क ੑ
Λ ୲ อ ͢ Δ ʹ • ܭըతʹඞཁͳอकੑΛఆٛ͠ɺධՁ͠ɺվળ͍ͯ͘͠ • ৽͘͠ॻ͘ίʔυઓུతʹରॲՄೳ • ͢Ͱʹอकੑʹରͯ͠ଟ͘ͷ՝Λ๊͍͑ͯͨ߹ʁ
͢ Ͱ ʹ อ क ੑ ͷ ՝ Λ
๊ ͑ͯ ͍ Δ γε ςϜ • STORES.jp ͦ͏͍ͬͨγεςϜͷ̍ͭ • େ͖ͳมߋΛ͏՝͋ΔʢRails ͷόʔδϣϯΞοϓͳͲʣ • ػೳ։ൃͱͷฒߦͩͱΏͬ͘ΓਐΊ͟ΔΛಘͳ͍ • ߴ͍ίϯϑϦΫτϦεΫௐίετ • ༏ઌͷߴׂ͍ΓࠐΈλεΫʹΑΔதஅͷՄೳੑ
ͦ ͜ Ͱɺ ό ο Ϋ Τ ϯ υ ج
൫ ν ʔϜ • ݪଇతʹׂΓࠐΈλεΫͷӨڹΛड͚ͳ͍ɺઐνʔϜͱͯ͠׆ಈ͢Δ • ް͍՝ͷนΛɺ͍Λ͚ͭͯഁ͍ͬͯ͘
ࢲ ͕ ߟ ͑Δ ό ο Ϋ Τ ϯ υ
ج ൫ ν ʔϜ ͷ Ձ • γεςϜͷอकੑ্ʹऔΓΉ • कΓ͚ͩͰͳ͍ɺ߈ΊͷͨΊͷऔΓΈ • ް͍՝ͷนΛɺ͍Λ͚ͭͯഁ͍ͬͯ͘
͜ ΕͰ ͬͯ ͍ ͚Δ ͧ ʂ
ό ο Ϋ Τ ϯ υ ج ൫ ν ʔϜ
ͷ ͠ ͞
͠ ͍ • Γ͍ͨ͜ͱ͕ͨ͘͞Μ͋Δ • ͲΕ͕কདྷޮ͍ͯ͘Δ͔ෆ࣮֬ɻ༏ઌશ෦ߴ͘ݟ͑Δ • ཱ͔ͪ͏૬ख͕Ͱ͔͍ɻ՝Ͱ͔͍ •
ԿͷੵΈॏͶ͕͋ΔίʔυϕʔεɻࠓࠁʑͱมԽ͢Δ
ࣗ ͨ ͪ ͩ ͚ Ͱ ͳ Μ ͱ
͔ ͠ Α ͏ ͱ ͠ ͳ ͍
ν ʔϜ ͕ อ क ੑ Λ ֬ อ ͠
͢ ͍ Α ͏ ͳ ߏ Λ ࡞ ͬͯ ͍ ͖ ͨ ͍
อ क ੑ Λ ֬ อ ͠ ͢ ͍
Α ͏ ͳ ߏ Λ ߟ ͑Δ • => ΞϓϦέʔγϣϯ৫͕ɺ࣋ଓతʹਐԽͰ͖ΔΑ͏ʹ༠ಋ͢Δߏ Λ͍͔ʹ༩͑Δ͔ • ͲΜͳ͕ࣝͲͷΑ͏ʹڞ༗͞ΕͨΒɺશһͰऔΓΈ͍͔͢ • ͲΜͳࢦඪ͕ՄࢹԽ͞Ε͍ͯͨΒɺอकੑΛҙ͍͔ࣝ͢͠ • ΞϓϦέʔγϣϯΛͲͷΑ͏ʹ۠ͬͨΒอक͍͔͢͠ɻͦͷͱ͖ͷ ৫ߏͲ͏͋Δ͖͔
ઌ ͷ ཧ Λ ඳ ͍ͯ
ಓ ʹ ͬͯ ͍ ͘ • ཧঢ়ଶʹͲ͏ਐΜͰ͍͘ͷ͕Α͍ͩΖ͏͔ʁ • ͦͷաఔͰͲΜͳ͜ͱ͕োʹͳΓಘΔͩΖ͏͔ʁ • োΛͳΔ͘ճආ͢ΔͨΊʹɺࠓԿΛΔ͖ͩΖ͏͔ʁ
͠ ͍ ɺ Կ Θ ͔ Β ͳ
͍
͜ Ε Β ͷ ͑Λ ୳ ͠ ͳ ͕
Β ɺ Ռ ͱ ͠ ͯ ൃ ද Ͱ ͖ Δ Α ͏ ͕Μ Γ · ͢
· ͱ Ί • όοΫΤϯυج൫νʔϜɺSTORES.jp ͕߈Ί͍ͯͨ͘Ίʹγε ςϜͷอकੑ্ʹऔΓΉ • Ұ෦ͷνʔϜ͚ͩͰ՝ʹཱ͔ͪ͏ͷݶք͕͋Δ •
ઌͷཧΛඳ͍ͯɺ՝Λղܾ͢ΔͨΊͷߏΛߟ͍͑ͯ͘
͓ Θ Γ ʹ • όοΫΤϯυج൫νʔϜ͕ଘࡏ͢Δɺͱ͍͏͜ͱɺϝλͳࢹ Ͱ՝ղܾΛ༠ಋ͢Δߏͱ͍͑Δ • όοΫΤϯυج൫νʔϜΛؚΉج൫վળGͱ͍͏ମ੍Λ͔ͬ͠Γͱ ΕΔࠓͷ৫͢Β͍͠ͱࢥ͏
A p p e n d i x
I S O / I E C 2 5 0
1 0 • ιϑτΣΞͷ࣭Λද͢ಛੑΛఆΊͨࠃࡍن֨ • ࣭ͷఆٛɺධՁʹࢀߟʹͳΔɻ࣭ཁٻͱ͍͏ͷେମಉ͡Α͏ͳ؍͕ٻΊΒΕΔ͜ͱ͕ଟ͍ͷ Ͱɺن͕͔֨Γͱͯ͠ॿ͚ʹͳΔ • JIS X 25010 ͱͯ͠JISԽ • https://www.jisc.go.jp/app/jis/general/GnrJISSearch.html • X25010 Ͱݕࡧͯ͠ӾཡՄೳɻͨͩ͠ɺμϯϩʔυෆՄ… • IPAͷࢿྉࢀߟʹͳΔ • https://www.ipa.go.jp/sec/publish/20150529.html
ι ϑ τ Σ Ξ ͷ Ձ ֎
෦ త ͳ Ձ ෦ త ͳ Ձ • Ϣʔβ͔Βݟ͑ΔՁ • ྫʣຬ͢Δػೳ͕͋Δ͔ɺ ɹɹ͔͍͍͔ͭ͢ • Ϣʔβ͔Βݟ͑ͳ͍Ձ • ྫʣ҆ఆతʹػೳΛఏڙ͠ଓ͚ ΒΕΔ͔ Өڹ ཁٻ
͠ ͞ 1 : Γ ͨ ͍ ͜
ͱ ͕ ͨ ͘ ͞ Μ ͋ Δ • ϦιʔεʹવݶΓ͕͋Δ • ༏ઌ͚͕͍͠ • ͲΕ͕কདྷޮ͍ͯ͘Δ͔ෆ࣮֬ɻ༏ઌશ෦ߴ͘ݟ͑Δ
͠ ͞ 2 : ཱ ͪ ͔ ͏
૬ ख ͕ Ͱ ͔ ͍ • ͷੵΈॏͶ͕͋Δେ͖ͳίʔυϕʔε • 1ͭ͋ͨΓͷ՝େ͖͍ • গਓͰ૬खΛ͍ͯͯ͠ɺԿ͔͔Δ • ରॲ͍ͯ͠ΔؒʹίʔυࠁʑͱมԽ͢Δ
อ क ੑ ʹ ؔ ͢ Δ ՝ ͷ
ੑ ࣭ • ॏཁ͕ߴͯ͘ۓٸ͕͍ • ධՁ͕ਓͦΕͧΕͰɺӨڹΛೝࣝͮ͠Β͍ • ػೳ։ൃͷओཁͳؔ৺ͷ֎ͳͷͰɺޙճ͠ʹͳΓ͕ͪ • ͍ͭͷ·ʹ͔։ൃεϐʔυݮ͠ɺόάΛੜΈ͘͢ͳͬͯΔʢා͍ʣ