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
非正規化おじさんを殴るためのPrinciple of explosion
Search
Sota Sugiura
February 19, 2016
Technology
3
2.7k
非正規化おじさんを殴るためのPrinciple of explosion
正規化って大事だよねって話です。
雑兵Meetup #3にて発表
Sota Sugiura
February 19, 2016
Tweet
Share
More Decks by Sota Sugiura
See All by Sota Sugiura
内製したSlack Appで頑張るIncident Response@Waroom Meetup #1 / Incident Response with Slack App in 10X
sota1235
0
1.4k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
99
再発防止策を考える技術 / #phpconsen
sota1235
10
3.8k
How to choose the best npm module for your team?
sota1235
9
570
Realtime Database for high traffic production application
sota1235
7
3.9k
Road to migrate JP Web as a microservice
sota1235
4
1.6k
インターフェース再入門 / Think Interface again
sota1235
6
10k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.2k
Update around Firebase #io18
sota1235
3
4.3k
Other Decks in Technology
See All in Technology
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
390
EDRの検知の仕組みと検知回避について
chayakonanaika
12
5k
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
100
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
130
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
910
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
160
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
11
3.9k
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
140
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
300
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
650
Featured
See All Featured
Building an army of robots
kneath
303
45k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Git: the NoSQL Database
bkeepers
PRO
427
65k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
640
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Documentation Writing (for coders)
carmenintech
67
4.6k
Docker and Python
trallard
44
3.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Facilitating Awesome Meetings
lara
52
6.2k
Transcript
/6--͓͡͞ΜΛԥΔͨΊͷ 1SJODJQMFPGFYQMPTJPO !TPUB
ँࡑ
Զʮ/6--શવؔͳ͔ͬͨʜʯ
ඇਖ਼نԽ/6--͓͡͞ΜΛԥΔͨΊͷ 1SJODJQMFPGFYQMPTJPO !TPUB
ࣗݾհ w ˏTPUB w JTUZMF *OD w 1)1+BWB4DSJQU
'PMMPXNF
%#ͷ͓͠·͢ ϚαΧϦίϫΠσε
Έͳ͞Μඇਖ਼نԽ͓͡͞ΜΛ ͝ଘͰ͔͢ʁ
ඇਖ਼نԽ͓͡͞Μͱ w ʮ+0*/͢Δͱ͘ͳΔ͔Βਖ਼نԽΊΕʯ w ʮσʔλ͕ࢄΒΔ͔Βਖ਼نԽΊΕʯ
ࡶฌʮ͙͵͵ʜʯ w ਖ਼͘͠3%#Λཧղͯ͠ͳ͍ͱඇਖ਼نԽ͓͡͞Μ Λ͢ͷ͍͠ w ᐆດͳཧͩͱzܦݧzΛثʹෛ͚ͯ͠· ͏͜ͱ͕ଟ͍
ʮͦ͏ͩɺཧ͠Α͏ʯ
ຊಡΜͩ ཧ͔ΒֶͿσʔλϕʔε࣮ફೖ 8&# %#13&44QMVT Ԟװ ஶ
ਖ਼نԽͷඞཁੑΛ ͱ͋ΔҰ໘͔ΒΓࠐΜͰΈΔ
ͦͦਖ਼نԽͱ
ਖ਼نԽͱ w 3%#ͷઃܭख๏ͱཱͯ֬͠͞Εͨख๏ w ͻͱ͜ͱͰݴ͏ͱʮσʔλϕʔε͔ΒॏෳΛͳ͘ ͢ʯ࡞ۀ
ͱ͋Δςʔϒϧ ໊લ ֶ ͖ͳ৯ ࡶฌଠ όφφ ࡶฌՖࢠ εΠΧ
ࡶฌଠ ࡶฌՖࢠ ΓΜ͝
ͱ͋Δςʔϒϧ ໊લ ֶ ͖ͳ৯ ࡶฌଠ όφφ ࡶฌՖࢠ εΠΧ
ࡶฌଠ ࡶฌՖࢠ ΓΜ͝ ʮ̋̋͞Μ̋ੜʯͱ͍͏ใ͕ ॏෳ͍ͯ͠Δ
ਖ਼نԽ͢Δ ໊લ ֶ ͖ͳ৯ ࡶฌଠ όφφ ࡶฌՖࢠ εΠΧ
ࡶฌଠ ࡶฌՖࢠ ΓΜ͝ ໊લ ͖ͳ৯ ࡶฌଠ όφφ ࡶฌՖࢠ εΠΧ ࡶฌଠ ࡶฌՖࢠ ΓΜ͝ ໊લ ֶ ࡶฌଠ ࡶฌՖࢠ
ਖ਼نԽ͠ͳ͍ͱʜ ໊લ ֶ ͖ͳ৯ ࡶฌଠ όφφ ࡶฌՖࢠ εΠΧ
ࡶฌଠ ࡶฌՖࢠ ΓΜ͝ ࡶฌଠ ύΠφοϓϧ */4&35
ਖ਼نԽ͠ͳ͍ͱʜ ໊લ ֶ ͖ͳ৯ ࡶฌଠ όφφ ࡶฌՖࢠ εΠΧ
ࡶฌଠ ࡶฌՖࢠ ΓΜ͝ ࡶฌଠ ύΠφοϓϧ */4&35 ໃ६ͨ͠σʔλ
͢ͳΘͪ ਖ਼نԽ͠ͳ͍ͱ͍͏͜ͱໃ६ͨ͠σʔλ͕ ૠೖ͞ΕΔཱ֬Λ্͛Δ͜ͱ
ໃ६ͷޭࡑ
3%#ͷૅ w 3%#ϦϨʔγϣφϧϞσϧΛ࣮ͨ͠ͷ w ϦϨʔγϣφϧϞσϧू߹ཧֶΛݩʹ͠ ͨσʔλϞσϦϯά
3%#ͷૅ w 3%#ϦϨʔγϣφϧϞσϧΛ࣮ͨ͠ͷ w ϦϨʔγϣφϧϞσϧू߹ཧֶΛݩʹ͠ ͨσʔλϞσϦϯά w ໃ६ཧֶΛࡴ͢
ࡶฌʮཧֶʜ ꒪⌓꒪ ʁʯ
ඵͰཧղ͢Δཧֶ w ཧֶͱz໋zΛ͜Ͷ͘Γ·Θֶ͢ w ໋ͱਅِΛ࣮֬ʹ͑Δͷ w ʮਿӜஉͰ͋Δʯ w ʮࡊ͓͍͍͠ʯ
ඵͰཧղ͢Δཧֶ w ཧֶʹఆཧ͕ଘࡏ͢Δ w ֶͰݴ͏ʮެࣜʯ w ఆཧΛݩʹ͋ΒΏΔ໋ͷਅِΛಋ͖ग़͢
ཧֶʹ͓͚Δఆཧ w ೋॏ൱ఆͷআڈ • not (not A) = true ->
A = true w ཧੵͷಋೖ • A = true, B = true -> (A and B) = true • ཧͷಋೖ • A = true -> (A or B) = true
ࠓͷओ͜ͷఆཧͷ͏ͪͷͭ
ʊਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ1SJODJQMFPGFYQMPTJPOɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ
1SJODJQMFPGFYQMPTJPO w ༁͢Δͱʮരൃͷ๏ଇʯ w ཧֶʹ͓͚Δఆཧͷͭ w ໃ६͔Β͋ΒΏΔ໋Λಋ͘ΦιϩγΠఆཧ • (A and
not A) = true -> B = true
1SJODJQMFPGFYQMPTJPO w ༁͢Δͱʮരൃͷ๏ଇʯ w ཧֶʹ͓͚Δఆཧͷͭ w ໃ६͔Β͋ΒΏΔ໋Λಋ͘ΦιϩγΠఆཧ • (A and
not A) = true -> B = true
ཁ͢Δʹʜʁ w ʮਿӜࡶฌͰ͋ΔʯͱʮਿӜࡶฌͰͳ͍ʯ ͕ڞʹਅ࣮Ͱ͋Δͱ͢Δ
ཁ͢Δʹʜʁ w ʮਿӜࡶฌͰ͋ΔʯͱʮਿӜࡶฌͰͳ͍ʯ ͕ڞʹਅ࣮Ͱ͋Δͱ͢Δ w ʮਿӜࡀͰ͋Δʯͱ͍͏ಥഥࢠͳ໋͍ ਅͱ͢Δ͜ͱ͕Մೳ
ূ໌ͯ͠ΈΔ w A and not A͕ਅͱͳΔ"͕ଘࡏ͢ΔͱԾఆ͢Δ
ূ໌ͯ͠ΈΔ w ҙͷ໋Λ#ͱ͢Δ • A or B ਅ • (B
or A) and not A ਅ • ਪنଇʹΑΓBਅ
ূ໌Ͱ͖ͯ͠·ͬͨʜ w A and (not A)͕ਅͰ͋Δ͜ͱͰɺಥഥࢠ ͳ͘ग़໋͖ͯͨ#͕ਅͩͱূ໌Ͱ͖ͯ͠·ͬͨ
ࡶฌ 1SJODJQMFPGFYQMPTJPOΛ֮͑ͨʂ
ໃ६JT&WJM w ϦϨʔγϣφϧϞσϧͷϕʔεཧֶ w ཧֶΛഁյ͢Δໃ६͕ଘࡏ͢ΔͱϦϨʔγϣ φϧϞσϧ·่ͨյ͢Δ w ʮਖ਼͍͠σʔλʯΛฦ͞ͳ͍3%#ʹՁ͋Δ ͷ͔
ໃ६Λආ͚Δʹʁ w σʔλʹໃ६ΛؚΊͳ͍ॏෳΛۃྗආ͚Δ w ॏෳΛආ͚ΔͨΊʹਖ਼نԽΛ͏
ඇਖ਼نԽ͓͡͞ΜʹऻΘΕͨΒ w ਖ਼نԽͷతΛ͑Α͏ w ਖ਼نԽໃ६ΛؚΉՄೳੑΛԼ͛ΔͨΊͷͷ w ໃ६3%#ͷੈքΛյ͠͏Δ w ࠔͬͨΒໃ६ͷΛ͠Α͏ w
ʮ1SJODJQMFPGFYQMPTJPOͱ͍͏ͷ͕͋ͬͯͰ͢Ͷʜʯ
ͱ͍͑ w ݱ࣮ੈքΛશͯཧֶͷੈքʹϚοϐϯά͢Δ͜ͱ ෆՄೳ w ݱ࣮ͷσʔλϕʔεϋʔυΣΞ͓ͩۚ͠༗ݶ
΄ͲΑ͘ਖ਼نԽ͠Α͏ w ਖ਼نԽʹϨϕϧ͕͋Δ d/' #/' d/' w 3%#Λ͖ͪΜͱཧղͯ͠܅͚ͩͷ࠷ڧͷσʔλ ϕʔεΛઃܭ͠Α͏ʂ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠