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
2.8k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
非正規化おじさんを殴るためのPrinciple of explosion
正規化って大事だよねって話です。
雑兵Meetup #3にて発表
Sota Sugiura
February 19, 2016
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
2k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
210
再発防止策を考える技術 / #phpconsen
sota1235
10
4.1k
How to choose the best npm module for your team?
sota1235
9
670
Realtime Database for high traffic production application
sota1235
7
4.3k
Road to migrate JP Web as a microservice
sota1235
4
1.8k
インターフェース再入門 / Think Interface again
sota1235
6
11k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.4k
Update around Firebase #io18
sota1235
3
4.5k
Other Decks in Technology
See All in Technology
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
130
ブラウザ研修 2026
recruitengineers
PRO
5
800
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
670
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
370
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
350
AI ネイティブな組織に Gemini Enterprise Agent Platform がなぜ必要なのか
asei
1
190
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
新しい SLO が良い感じにハマっている話
z63d
5
2.2k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
250
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
12
8.4k
AI時代の強いチームの作り方
yuukiyo
26
16k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Marketing to machines
jonoalderson
1
5.7k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
420
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
The Invisible Side of Design
smashingmag
301
52k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
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%#Λ͖ͪΜͱཧղͯ͠܅͚ͩͷ࠷ڧͷσʔλ ϕʔεΛઃܭ͠Α͏ʂ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠