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.6k
非正規化おじさんを殴るための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
720
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
58
再発防止策を考える技術 / #phpconsen
sota1235
10
3.6k
How to choose the best npm module for your team?
sota1235
9
500
Realtime Database for high traffic production application
sota1235
7
3.8k
Road to migrate JP Web as a microservice
sota1235
4
1.5k
インターフェース再入門 / Think Interface again
sota1235
6
10k
再発防止策を考える技術 #phpconfuk_rej
sota1235
1
1.1k
Update around Firebase #io18
sota1235
3
4.2k
Other Decks in Technology
See All in Technology
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
初中級者用如何使用backlog -VALE TUDOEDITION-
in0u
0
140
RAGのサービスをリリースして1年3ヶ月が経ちました
segavvy
4
930
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
480
データベース研修 分析向けSQL入門【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
110
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.7k
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
「我々はどこに向かっているのか」を問い続けるための仕組みづくり / Establishing a System for Continuous Inquiry about where we are
daitasu
0
170
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
Featured
See All Featured
Building an army of robots
kneath
301
42k
Embracing the Ebb and Flow
colly
81
4.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
357
18k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
Speed Design
sergeychernyshev
9
270
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
It's Worth the Effort
3n
181
27k
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%#Λ͖ͪΜͱཧղͯ͠܅͚ͩͷ࠷ڧͷσʔλ ϕʔεΛઃܭ͠Α͏ʂ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠