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
Concerns about Concerns
Search
Shinichi Maeshima
September 15, 2019
Technology
11
35k
Concerns about Concerns
大阪Ruby会議02での発表スライドです
Shinichi Maeshima
September 15, 2019
Tweet
Share
More Decks by Shinichi Maeshima
See All by Shinichi Maeshima
メタプログラミングRuby問題集の活用
willnet
2
790
rails g authenticationから学ぶRails8.0時代の認証
willnet
5
3.7k
What's a well-behaved Rails extension gem?
willnet
0
590
Sidekiq vs Solid Queue
willnet
14
13k
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
6
1.6k
Exceptional Rails
willnet
6
7.9k
Breaking the Flaky Test Cycle
willnet
2
2.3k
mrskで広がるインフラの選択肢
willnet
1
1.1k
アプリケーションを長期にわたって無理なく運用するためのたったひとつの方法
willnet
2
2.2k
Other Decks in Technology
See All in Technology
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
2
850
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
9
3.1k
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
6
420
コンピューティングリソース何を使えばいいの?
tomokusaba
1
160
Flutter DevToolsで発見! 本番アプリのパフォーマンス問題と改善の実践
goto_tsl
1
520
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
300
旧から新へ: 大規模ウェブクローラの Perl から Go への移行 / YAPC::Fukuoka 2025
motemen
3
850
Dart and Flutter MCP serverで実現する AI駆動E2Eテスト整備と自動操作
yukisakai1225
0
430
Quarkusで作るInteractive Stream Application
joker1007
0
130
"おまじない"はもう卒業! デバッガで探るSpring Bootの裏側と「学び方」の学び方
takeuchi_132917
0
140
CDKの魔法を少し解いてみる ― synth・build・diffで覗くIaCの裏側 ―
takahumi27
1
150
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
50
15k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Raft: Consensus for Rubyists
vanstee
140
7.2k
What's in a price? How to price your products and services
michaelherold
246
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Bash Introduction
62gerente
615
210k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Code Review Best Practice
trishagee
72
19k
Transcript
Concerns about Concerns @willnet
Shinichi Maeshima ! " # @netwillnet @willnet https://blog.willnet.in Willnet Inc.
ٕज़ސۀΛ͍ͯ͠·͢
͓ࣄ4/4తͳͷΛ։ൃ ͍ͯ͠·͢
Concerns about Concerns
Concern
関心 懸念
Concerns about Concerns $PODFSOT ʹؔ͢Δݒ೦
Concerns about Concerns Α͘ͳ͍$PODFSOTͷ ͍ํΛݮΒ͍ͨ͠
ͦͦ$PODFSOTͬͯʁ w 3BJMT͔Βಋೖ͞ΕͨσΟϨΫτϦ w BQQNPEFMTDPODFSOT w BQQDPOUSPMMFSTDPODFSOT w தͳ͍ w
ެࣜͷػೳઆ໌ͳ͍ 3BJMTΨΠυͳͲʹهࡌ͕ͳ͍ w େͷ߹ɺNPEVMFͱͯ͠ෳΫϥεʹڞ௨ͨ͠ఆ͕ٛஔ͔Ε Δ
$PODFSOTͷྫ
ؔ৺ࣄΛNPEVMFͱ͠ ͯ͢Δ
ؔ৺ࣄʁ
ʮؔ৺ࣄʯͱ͍͏ͷ͕;Θͬ ͱ͍ͯ͠ΔͷͰ;Θͬͱͨ͠ ͍͔͕ͨ͞Ε͕ͪ
Ͳ͏͢ΔͱΑ͍ͷ͔ʜͱ͍͏ ͷલʹ͏গ͠ࣄલઆ໌
͜ΕɺͳΜͱͳ͘ఆٛͯ͠·ͤΜ͔ʁ
"DUJWF4VQQPSU$PODFSO w NPEVMFΛ֦ுͯ͠DPODFSOTΛ؆୯ʹ࡞ΕΔΑ͏ʹ͢Δ ͷ w NPEVMFಉ࢜ʹґଘ͕ؔ͋Δͱ͖ͷΛΑ͠ͳʹղܾ ͯ͘͠ΕΔͷ
ެࣜυΩϡϝϯτͷίʔ υΛར༻ͯ͠આ໌͠·͢ IUUQTBQJSVCZPOSBJMTPSHWDMBTTFT"DUJWF4VQQPSU$PODFSOIUNM
ྫ "DUJWF4VQQPSU$PODFSO ͷͳ͍DPODFSOT
͜ΜͳܗʹͳΔ͜ͱ͕͋Δ
Ṗͷ͓࡞๏ͨͪ
NPEVMFͦͷ··ͰΫϥεϝιουΛ ՃͰ͖ͳ͍ ͷͰJODMVEFEϝιουͰIPPLͯ͠ FYUFOE͢Δ
JODMVEFͨ͠ΫϥεͷίϯςΩετͰͳʹ͔࣮ߦ͍ͨ͠ ߹DMBTT@FWBMΛ͏
ॳ৺ऀ͕औΓѻ͏ͷ ͍͠
ྫ "DUJWF4VQQPSU$PODFSO ͋ΓͷDPODFSOT
None
JODMVEFͨ͠ΫϥεͷίϯςΩετͰͳʹ͔࣮ߦ͍ͨ͠ ߹͜͜ʹఆٛ͢Δ
Ϋϥεϝιου͜͜ʹఆٛ͢Δ
ϝλϓϩͷ͕ࣝͳͯؔ͘ ৺ࣄͷ͕Ͱ͖ΔΑ͏ʹͳ Δ
Ϟδϡʔϧಉ࢜ʹґଘ͕ؔ ͋Δͱ͖ͷͷղফ
None
#BS͕'PPʹґଘ͍ͯ͠Δ
ॱ൪Λؒҧ͑ΔͱΤϥʔʹ
#BSʹ'PPΛJODMVEFͨ͠Β )PTUJODMVEFͷॱ൪Λؾʹ͠ͳͯ͘͢Ήʁ
CBTF͕#BSϞδϡʔϧʹͳͬͯ͠·͏ͷͰ )PTUʹNFUIPE@JOKFDUFE@CZ@GPP͕Ճ͞Εͳ͍
"DUJWF4VQQPSU$PODFSOΛFYUFOE͍ͯ͠Δͱ Α͠ͳʹղܾ͞ΕΔʂ
"DUJWF4VQQPSU$PODFSOΛFYUFOE͍ͯ͠Δͱ Α͠ͳʹղܾ͞ΕΔʂ Ͳ͏࣮ͬͯݱ͍ͯ͠Δ͔ ϝλϓϩ3VCZ࣮ࡍͷίʔ υΛಡΜͰΈ͍ͯͩ͘͞
ෳࡶͳNPEVMFΛෳ ѻ͏ͱ͖ʹΜΓ
ؓٳ
DPODFSOTͷΞϯνύλʔϯ w ίϯτϩʔϥͷϏδωεϩδοΫΛDPODFSOTʹ͢Δ w SVCPDPQͷ$MBTT-FOHUIରࡦͰDPODFSOTʹ͢Δ w ෳࡶͳϩδοΫΛͦͷ··DPODFSOTʹ͢Δ w IPPLΛDPODFSOTʹ͢Δ
ίϯτϩʔϥͷϏδωεϩ δοΫΛDPODFSOTʹ͢Δ
None
$POUSPMMFSΛϦϑΝΫλϦϯά͢ΔͨΊʹ DPODFSOTͱͯ͠Γग़ͨ͠ʂ
$POUSPMMFS͕͖ͬ͢Γͨ͠ʁ
None
ͦͦϏδωεϩδο ΫϞσϧʹॻ͖͘
Ϟσϧͷϝιουͱͯ͠Ҡಈͤͨ͞
1PTUT$POUSPMMFS͔Β TBNF@DBUFHPSZ@QPTUTϝιου͕ݟ͑ͳ͘ͳ͚ͬͨͩͰͳ͘ ϝιουͦͷͷΛ࣋ͨͳ͘ͳͬͨʂ
1030Ͱ࣮͢Δํ๏͋Δ
ίϯτϩʔϥΛϦϑΝΫλϦ ϯά͢Δͱ͖ʹ·ͣϞσϧ ʹϩδοΫΛد͔ͤͯΒ
SVCPDPQͷ$MBTT-FOHUI ରࡦͰDPODFSOTʹ͢Δ
None
$MBTT-FOHUIΛ ͑Δͱ$*͕ίέΔ
ϞδϡʔϧʹΓग़ͨ͠Β$*͕௨ͬͨ 1PTUͰ͔͠ΘΕ͍ͯͳ͍NPEVMFͨͪ
None
ϑΝΠϧ͕͔Ε͚ͨͩͰɺ 1PTUΫϥεࣗମͳʹม Θ͍ͬͯͳ͍
ϞδϡʔϧʹΓग़ͯ͠ ΫϥεͷݮΒͳ͍
໊લ͕͍ͭͯΓग़͞Εͨ ݟ͘͢ͳͬͨͷͰʁͱ͍ ͏ҙݟ͋Γͦ͏
DPODFSOJOHͰಉ͜͡ͱ͕Ͱ͖ΔͷͰ ϑΝΠϧΛ͚Δඞཁͳ͍
SVCPDPQͷ$MBTT-FOHUIͷܯࠂ Λ࣋ͪ͗ͩ͢ɺͱ͍͏ҙຯͳͷͰ ଞͷΫ ϥεͱڞ௨Ͱͳ͍ ϩδοΫผͷΫϥε ͱͯ͠Γग़͢ͷ͕
ෳࡶͳϩδοΫΛͦͷ ··DPODFSOTʹ͢Δ
طଘͷϞσϧΛܾΊΒΕͨܗࣜ +40/ ܦ༝Ͱ ߋ৽ɺআ͢ΔͨΊͷϝιου
আͷ݅ όϦσʔγϣϯ ߋ৽͞ΕΔ طଘͷϞσϧΛܾΊΒΕͨܗࣜ +40/ ܦ༝Ͱ ߋ৽ɺআ͢ΔͨΊͷϝιου
ϦϑΝΫλϦϯάͷ ༨͕͋Δ
ҕৡͰ࣮ͯ͠ΈΔ
None
ॲཧͷ֓ཁΛ͔ͭΈ͘͢ͳͬͨʂ
ϝιουͱͯ͠Γग़ͯ͠ɺ ໊લͰ࣮ଶΛදݱ͢Δ͜ͱ͕Ͱ͖ͨʂ আͷ݅ όϦσʔγϣϯ ߋ৽͞ΕΔ
ҕৡͰ࣮͢Δͱɺ ϓϥΠϕʔτϝιουΛΓ ग़͍͢͠
ϞδϡʔϧͰϝιουׂͰ͖ΔͷͰʁ
"DUJWF3FDPSE͕ఏڙ͍ͯ͠Δ JOWBMJE ϝιουΛΦʔόϥΠυͯ͠͠·͏
͜ͷΠϯελϯεมϝιου໊ɺ΄͔Ͱͬͯͳ͍͔ͳʜʁ ͱߟ͑Δඞཁ͕͋Δ
໊લͷিಥΛආ͚ΔͨΊʹɺ Ϟδϡʔϧʹͻͱͭͷϝιουʹ ϩδοΫ͕ଟ͘ॻ͔Εͯ͠·͍͕ͪ
https://twitter.com/dhh/status/964244090224128001
None
Իָੑͷҧ͍
ϞδϡʔϧͰ࣮͢Δͱɺͯ͢ͷ ͕࠷ऴతʹͻͱͭͷΫϥεʹू͞ Εͯ͠·͏ͷͰߟ͑ͳ͚Ε͍͚ͳ͍ ࣄ͕૿͑Δ
ҕৡͰ࣮͢Δͱ ໊લۭ͕͔ؒΕ͍ͯΔͷͰ ߟ͑Δ͜ͱ͕ݮΔ
DPODFSOT͋͘·ͰHMVF
IPPLΛDPODFSOTʹ ͢Δ
None
ͻͱͭͷIPPLΛ DPODFSOTʹ·ͱΊ͍ͯΔ
ίʔϧόοΫʹΫϥε Λ͢΄͏͕Θ͔Γ͘͢ͳ͍Ͱ͔͢ʁ
·ͱΊ w $PODFSOTͱͳΜͳͷ͔ w "DUJWF4VQQPSU$PODFSOͱͳʹ͔ w $PODFSOTͷΞϯνύλʔϯͱճආࡦ w ʹ͍ͭͯͳ͠·ͨ͠
$PODFSOTͱͯ͠Γग़͢ͱ͖Ε͍ʹ ͳͬͨؾʹͳΓ·͕͢ɺՙΛ෦ ͷ۱ʹҠಈͤͯ͞আͨ͠ؾ࣋ͪʹͳ Δͷʹࣅ͍ͯ·͢
$PODFSOTͱͯ͠Γग़͢͜ͱͰຊ ʹίʔυ͕ཧ͞ΕΔͷ͔ɺݟ͢ ͘ͳΔͷ͔͏Ұߟ͑ͯΈ·͠ΐ͏
DMFBOSBJMTPSH
Մಡੑͷߴ͍3BJMTͷ ίʔυʹ͍ͭͯ ͢ίϛϡχςΟ
ҙݟ͕͋ͬͨΒ DMFBOSBJMTPSHͰ