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
1.1k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
75
再発防止策を考える技術 / #phpconsen
sota1235
10
3.7k
How to choose the best npm module for your team?
sota1235
9
550
Realtime Database for high traffic production application
sota1235
7
3.9k
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
Lambdaと地方とコミュニティ
miu_crescent
2
370
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
5
590
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
いざ、BSC討伐の旅
nikinusu
2
780
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
170
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Practical Orchestrator
shlominoach
186
10k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Thoughts on Productivity
jonyablonski
67
4.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Building an army of robots
kneath
302
43k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
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%#Λ͖ͪΜͱཧղͯ͠܅͚ͩͷ࠷ڧͷσʔλ ϕʔεΛઃܭ͠Α͏ʂ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠