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
質とスピード(2020秋100分拡大版) / Quality and Speed 2020 A...
Search
Takuto Wada
PRO
November 20, 2020
Programming
140
180k
質とスピード(2020秋100分拡大版) / Quality and Speed 2020 Autumn Edition
質とスピード(2020秋100分拡大版)
2020/11/20 @ JaSST'20 Kyushu
Takuto Wada
PRO
November 20, 2020
Tweet
Share
More Decks by Takuto Wada
See All by Takuto Wada
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
26
8k
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
123
44k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
103
78k
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
80
31k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
36
12k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
2.3k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
14
6.9k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
33
28k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
twada
PRO
37
34k
Other Decks in Programming
See All in Programming
テスト環境にCDを導入してみた
yasaigaoisi
0
100
NEWT Backend Evolution
xpromx
1
150
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
1
220
GPUを計算資源として使おう!
primenumber
1
290
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
2
130
ソフトウェア設計とAI技術の活用
masuda220
PRO
25
6.7k
リッチエディターを安全に開発・運用するために
unachang113
1
230
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
260
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
140
[SRE NEXT] 複雑なシステムにおけるUser Journey SLOの導入
yakenji
0
740
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.3k
Jakarta EE Meets AI
ivargrimstad
0
260
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
134
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Git: the NoSQL Database
bkeepers
PRO
431
65k
Code Review Best Practice
trishagee
69
19k
KATA
mclloyd
30
14k
Building Adaptive Systems
keathley
43
2.7k
Faster Mobile Websites
deanohume
308
31k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
990
The World Runs on Bad Software
bkeepers
PRO
70
11k
Writing Fast Ruby
sferik
628
62k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
࣭ͱεϐʔυ ాਓ !U@XBEB ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ /PW !+B445,ZVTIVجௐߨԋ ʢळόʔδϣϯʣ
t-wada t_wada twada #jasstkyushu ࣗݾհ
t-wada t_wada twada #jasstkyushu ࣗݾհ illustrated by @mty_mno
ٕज़ॻͷग़൛ʹؔΘ͍ͬͯ·͢
ΑΖ͓͘͠ئ͍͠·͢ #jasstkyushu illustrated by @mty_mno
ߥͿΔ࢛ఱԦ͕͋ΒΘΕͨʂ ༩͑ΒΕͨ࣌ؒʹରͯ͠Δ͖͜ͱ͕ଟ͗͢Δ߹ɺͲ͏͖͔͢ B είʔϓΛΔ C ͬͱਓΛ૿͢ D ϦϦʔεΛԆظ͢Δ E
࣭Λ٘ਜ਼ʹ͢Δ ʰΞδϟΠϧαϜϥΠʱQ
wظతʹಘΒΕΔ wதظతʹٯޮՌʹͳΔ wظతʹக໋ইʹͳΔ ࣭Λ٘ਜ਼ʹ͢ΕεϐʔυಘΒΕΔʁ
ʮظతதظతʯͷڥʁ ͜͜Ͱ͍͏ʮ࣭ʯͱʁ
ʮظతதظతʯͷڥʁ ͜͜Ͱ͍͏ʮ࣭ʯͱʁ
l࣭ͱ୭͔ʹͱͬ ͯͷՁͰ͋Δz (FSBME8FJOCFSH IUUQTXXXBNB[PODPKQEQ9
Accessibility Adaptability Administrability Analyzability Auditability Availability Calibrability Changeability Compatibility Configurability
Exploitability Extensibility Flexibility Functionality Installability Integrability Internationalizab ility Interoperability Learnability Maintainability Marketability Maturity Modifiability Operability Personalizability Portability Recoverability Reliability Replaceability Reusability Scalability Security Sensitivity Stability Suitability Supportability Testability Traceability Transactionality Understandability Upgradeability Usability ... and lots more! JMJUJFT
IUUQTXXXKVTFPSKQEFQBSUNFOUBMQPJOUIUNM ङϞσϧ
ʢ͓٬༷͔Βʣݟ͑Δ࣭ͱݟ͑ͳ͍࣭ w֎෦࣭ͱ෦࣭ wར༻࣌ͷ࣭ͱ࣭ wػೳཁ݅ͱඇػೳཁ݅
External Quality: Correctness, Usability, Efficiency, Reliability, Integrity, Adaptability, Accuracy, Robustness
Internal Quality: Maintainability, Flexibility, Portability, Re-usability, Readability, Testability, Understandability ֎෦࣭ͱ෦࣭
ιϑτΣΞͷ࣭Λ֎෦ࢦඪͰಛ͚ͮΔਓଟ͍ɻਖ਼͍͜͠ͱΛ͢ Δɺόά͕ͳ͍ɺ͍ɺͳͲͩɻ͕ͩɺͦΕΒΑΓਂ͍ݪҼͷঢ়ʹ ͗͢ͳ͍ɻ ຊॻͰઆ໌͢ΔιϑτΣΞͷ࣭෦࣭Ͱ͋Δɻ෦࣭Λ࡞Γ ࠐΜͩ݁Ռͱͯ͠ɺ֎෦࣭ͱͯ͠ఆٛ͞ΕΔಛੑͷ࣮ݱʹۙͮ͘͜ͱ ͕Ͱ͖Δɻ෦࣭݁ՌͰͳ͘ݪҼͰ͋Γɺྑ͍ιϑτΣΞ͕උ ͍͑ͯΔ͖ͷͩɻ ʰϨΨγʔίʔυ͔Βͷ٫ʱQ
External Quality: Correctness, Usability, Efficiency, Reliability, Integrity, Adaptability, Accuracy, Robustness
Internal Quality: Maintainability, Flexibility, Portability, Re-usability, Readability, Testability, Understandability ෦࣭ʢ*OUFSOBM2VBMJUZʣ ࣗͨͪͷࣹఔʹ͋Δ ෦࣭ͷํΛ٘ਜ਼ʹ͢Δͱ͍͏ அΛ͕ͪ͠ͳͷͰͳ͍͔
ాਓ !U@XBEB ࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ాਓ !U@XBEB ෦࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ͰͲͷΑ͏ͳ ɹ෦࣭Λ ٘ਜ਼ʹ๋͛ͨͷ͔
External Quality: Correctness, Usability, Efficiency, Reliability, Integrity, Adaptability, Accuracy, Robustness
Internal Quality: Maintainability, Flexibility, Portability, Re-usability, Readability, Testability, Understandability ෦࣭ʢ*OUFSOBM2VBMJUZʣ
External Quality: Correctness, Usability, Efficiency, Reliability, Integrity, Adaptability, Accuracy, Robustness
Internal Quality: Maintainability, Flexibility, Portability, Re-usability, Readability, Testability, Understandability อकੑʢ.BJOUBJOBCJMJUZʣ
อकੑ Maintainability
#PFIN #SPXO BOE-JQPXT2VBMJUZ$IBSBDUFSJTUJDT IUUQTXXXUIPNBTBMTQBVHIPSHQVCGOEJMJUZIUNM
#PFIN #SPXO BOE-JQPXT2VBMJUZ$IBSBDUFSJTUJDT IUUQTXXXUIPNBTBMTQBVHIPSHQVCGOEJMJUZIUNM
#PFIN #SPXO BOE-JQPXT2VBMJUZ$IBSBDUFSJTUJDT IUUQTXXXUIPNBTBMTQBVHIPSHQVCGOEJMJUZIUNM
.BJOUBJOBCJMJUZʢอकੑʣΛߏ͢Δͷ w5FTUBCJMJUZςετ༰қੑ w6OEFSTUBOEBCJMJUZཧղ༰қੑ w.PEJpBCJMJUZมߋ༰қੑ
w ࣮ߦԁੑʢ0QFSBCJMJUZʣ w ࣗಈ࣮ߦ͕༰қͰ͔ͭߴ w ؍ଌ༰қੑʢ0CTFSWBCJMJUZʣ w ςετ݁ՌͷऔಘɾظൺֱΛࣗಈԽ͍͢͠ w ੍ޚ༰қੑʢ$POUSPMMBCJMJUZʣ
w ࣄલঢ়ଶΛ੍ޚ͠ɺςετରΛࣗಈૢ࡞͍͢͠ w ղՄೳੑʢ%FDPNQPTBCJMJUZʣ w ςετରͷΓग़͠ɺςετڥͷ෦ஔ͕༰қ IUUQTTQFBLFSEFDLDPNHPZPLJUFTUBCJMJUZJOFNCFEEFETPGUXBSF ࣗಈςετʹ͓͚ΔςελϏϦςΟ
ాਓ !U@XBEB ෦࣭ͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
ాਓ !U@XBEB อकੑͱεϐʔυ ʙιϑτΣΞ։ൃͷయܕతͳޡղΛղ͘ʙ
อकੑΛ ٘ਜ਼ʹ๋͛Δͱ Ͳ͏ͳΔ͔
ʮ͋ͱͰΫϦʔϯʹ͢Ε͍͍Αɻઌʹࢢʹग़͞ͳ͚Εʂʯ ։ൃऀͦ͏͍ͬͯͭ͝·͔͢ɻ͕ͩɺ͋ͱͰΫϦʔϯʹ͢Δ͜ͱͳ ͍ɻࢢ͔ΒͷϓϨογϟʔࢭ·Βͳ͍͔Βͩɻʮઌʹࢢʹग़͞ͳ͚ Εʯͱ͍͏͜ͱɺޙΖʹڝ߹ଞ͕ࣾେ͍Δͱ͍͏͜ͱͰ͋Δɻڝ߹ ଞࣾʹ͍ൈ͔Εͳ͍ͨΊʹɺ͜Ε͔ΒΓଓ͚Δ͔͠ͳ͍ɻ ͦͷ݁Ռɺ։ൃऀϞʔυΛΓସ͑Δ͜ͱ͕Ͱ͖ͳ͍ɻ࣍ͷػೳɺ·ͨ ࣍ͷػೳɺ·ͨ·ͨ࣍ͷػೳΛՃ͢Δ͜ͱʹͳΓɺίʔυΛΫϦʔϯʹ ͢Δ͜ͱ·Ͱख͕ճΒͳ͍ɻ ͦͯ͠ɺ่յ͕࢝·Δɻੜ࢈ੑ͕θϩʹ͍͍ۙͮͯ͘ɻ ʰ$MFBO"SDIJUFDUVSFʱQ
IUUQTUXJUUFSDPNOFLPZBTUBUVT
IUUQTNBSUJOGPXMFSDPNBSUJDMFTJTRVBMJUZXPSUIDPTUIUNM อकੑͷ͕ͨ͞Β͢ͷ ͻͱͭͻͱͭͷมߋʹ ༨ܭͳ͕͔͔࣌ؒΔ
อकੑΛ٘ਜ਼ʹ͢ΕεϐʔυಘΒΕΔʁ wظతʹಘΒΕΔ wதظతʹٯޮՌʹͳΔ wظతʹக໋ইʹͳΔ
Ͱ εϐʔυΛམͱͤ อकੑ্͕Δʁ
IUUQTUXJUUFSDPNWPMVOUBTTUBUVT
IUUQTPTBIBUFOBCMPHDPNFOUSZ ٕज़ྗͷ͋Δਓ͋Δఔٸ͍Ͱ࡞ͬͨͱͯ͠Ұఆ Ҏ্ͷ࣭ͷίʔυΛॻ͘͠ɺҙਤతʹ࣭Λམͱ͠ ͨͱͯ͋͠·Γ্͕Βͳ͍ɻ ٯʹɺٕज़ྗ͕ߴ͘ͳ͍ਓ͕࣌ؒΛ͔͚ͯ࡞ͬͨͱ͠ ͯͦͷਓͷٕज़ྗҎ্ͷ࣭ͷίʔυॻ͚ͳ͍ɻ
ܦӦతͳཁٻʹ߹Θͤͯɺ༩͑ΒΕͨ։ൃظ͔ؒΒॊೈʹԚ͞ͱ͞Λબ͢Δͱ͍͏Α͏ ͳث༻ͳܳ΄ͱΜͲෆՄೳͩͱ͍͑·͢ɻ͜ΕɺۃΊͯجૅతͳͱ͜ΖͰ͋Εଟগ Ͱ͖Δ͔͠Ε·ͤΜ͕ɺ࣮ࡍʹɺιʔείʔυ͕Ԛ͍ͯ͘ਓ͍Εɺ៉ྷͰ͍ ਓଟ͍͘·͢ɻ ʰΤϯδχΞϦϯά৫ͷটʱQ ΫΠοΫμʔςΟͷਆ
ͭ·Γ τϨʔυΦϑͰͳ͍
IUUQTUXJUUFSDPNLBU[DIBOHTUBUVT
࣭ อकੑ εϐʔυ τϨʔυΦϑͱߟ͑Δͷయܕతͳޡղ നؙ͖ҹෛͷଓࠜݩ͕૿͑ΕઌݮΔɻࠜݩ͕ݮΕઌ૿͑Δ
࣭Λ٘ਜ਼ʹ͢ΔͷɺޮՌతͳίϯτϩʔϧํ๏Ͱͳ͍ɻ࣭ ੍ޚมͰͳ͍ɻ ࣭Λड͚ೖΕΔ͜ͱͰɺϓϩδΣΫτ͕͘ͳΔ͜ͱͳ͍ɻ ߴ࣭Λཁٻ͢Δ͜ͱͰɺϓϩδΣΫτ͕͘ͳΔ͜ͱͳ͍ɻ Ή͠Ζ࣭ΛߴΊΔ͜ͱͰɺσϦόϦʔ͕ߴʹͳΔ͜ͱ͕ଟ͍ɻ ࣭ج४ΛԼ͛ͯ͠·͏ͱɺσϦόϦʔ͕͘ͳΓɺ ༧ଌͰ͖ͳ͘ͳͬͯ͠·͏ɻ ʰΤΫετϦʔϜϓϩάϥϛϯάʱQ
ઌ΄Ͳͷ։ൃऀͷ͝·͔͠ɺ่յͨ͠ίʔυΛॻ͚ظతʹ͘ͳ Δͷͷɺظతʹ্͕͕Δͱ͍͏ߟ͑ํʹͱ͍͍ͮͯΔɻ ͜ͷ͜ͱΛ৴͍ͯ͡Δ։ൃऀɺ่յͨ͠ίʔυΛॻ͘Ϟʔυ͔Βɺ ͍ͣΕͲ͔͜ͰΫϦʔϯʹ͢ΔϞʔυʹΓସΘΕΔɺͱ͍͏ ʢαΪͱΧϝͷʣαΪͷΑ͏ͳࣗ৴Λ͍࣋ͬͯΔɻ ͕ͩɺͦΕࣄ࣮ޡೝͰ͋Δɻ ࣄ࣮ɺظతʹظతʹɺ่յͨ͠ίʔυΛॻ͘΄͏͕ ΫϦʔϯͳίʔυΛॻ͘ΑΓৗʹ͍ɻ ʰ$MFBO"SDIJUFDUVSFʱQQ
ظతʹظతʹɺ ่յͨ͠ίʔυΛॻ͘΄͏͕ ΫϦʔϯͳίʔυΛॻ͘ΑΓ ৗʹ͍ɻ #PC.BSUJO ʰ$MFBO"SDIJUFDUVSFʱQ
࠷ߴͷ։ൃऀ͕͍ͪΜ͖Ε͍͖ͳ։ൃऀͰ͋Δ͜ͱʹؾͮ ͍ͨͱ͖ɺࢲͼͬ͘Γͨ͠ɻ͍ϓϩάϥϚʔࡶͳϓϩά ϥϚʔͩͱࢥ͍͔ͬͯͨΒͩɻ ͕ͩɺ࣮ࡍਖ਼ରͩͬͨɻࢲ͕ձͬͨதͰ࠷ͷϓϩάϥ ϚʔɺίʔυΛѻ͍͍͢Α͏ʹอͭ͜ͱʹಛʹҙΛͬ ͍ͯͨɻ ʰϨΨγʔίʔυ͔Βͷ٫ʱQ
ίʔυΛॻ͘͞ͱίʔυͷ͖Ε͍͞ʹؔ࿈͕͋Δͱೝࣝͨ͠ ͋ͱͰɺࢲͦͷͭͷ͍͋ͩͷҼՌؔΛݟ͚ͭΔͷʹ࣌ ؒΛཁͨ͠ɻ ίʔυͷ࣭Λߴ͘อ͍ͬͯͨʮʹؔΘΒͣʯ͍ͷͰͳ ͍ɻίʔυͷ࣭Λߴ͘อ͍ͬͯͨʮ͔Βͦ͜ʯ͍ͷͩɻ ͜ͷ͜ͱΛཧղͨ͠ΒɺιϑτΣΞ։ൃʹର͢Δ ݟํ͕มΘͬͨɻ ʰϨΨγʔίʔυ͔Βͷ٫ʱQQ
ίʔυͷ࣭Λߴ͘อ͍ͬͯͨ ʮʹؔΘΒͣʯ͍ͷͰͳ ͍ɻίʔυͷ࣭Λߴ͘อͬͯ ͍ͨʮ͔Βͦ͜ʯ͍ͷͩɻ %BWJE4DPUU#FSOTUFJO ʰϨΨγʔίʔυ͔Βͷ٫ʱ QQ
࣭ อकੑ εϐʔυ ίʔυͷ࣭Λ٘ਜ਼ʹ͔ͨ͠Β͍ͷͰͳ͘ നؙ͖ҹෛͷଓࠜݩ͕૿͑ΕઌݮΔɻࠜݩ͕ݮΕઌ૿͑Δ
࣭ อकੑ εϐʔυ ίʔυͷ࣭Λߴ͘อ͍ͬͯͨʮ͔Βͦ͜ʯ͍ ҹਖ਼ͷଓࠜݩ͕૿͑Εઌ૿͑Δɻࠜݩ͕ݮΕઌݮΔ
Ͱ εϐʔυ͔Β࣭ͷ ӨڹͲ͏͔
࣭ อकੑ εϐʔυ Ͱεϐʔυ͔Β࣭ อकੑ ͷӨڹͲ͏͔
࣭ѱ͍ͱجຊతʹखΓΛੜΉͷͰʹͶฦΔɻखͬͯ Δֶ࣌ؒͼΛ͏·ͳ͍࣌ؒɻ࣭ΛԼ͛Δͱ͍͏அֶͼͷ ԼΛڐ༰͢Δͱ͜ͱɻ ैདྷͷమ൘ ͩͱޡղ͞Ε͍ͯͨ ࣭ͩͬͨͯͯ͋͛͢Α͏ ࣭ྼԽ͢ΕखΓ͕ൃੜ͢Δ͚ͩͰɺ݁ہϦʔυλΠϜͷ ૿ՃʹͶฦΔͷͰΊ·͠ΐ͏ɻ ࣭ྼԽ͢ΕϦʔυλΠϜͷ૿ՃʹͶฦΔ IUUQJLFZIBUFCMPKQFOUSZ
ϦʔυλΠϜ͕૿Ճ͢ΔͱԾઆݕূϓϩηε͕ճΒͳ͍ IUUQJLFZIBUFCMPKQFOUSZ
ຊͷؔ
ຊͷؔɹ w෦࣭͕εϐʔυΛੜΈ wεϐʔυֶ͕ͼͷϧʔϓΛੜΈ wֶͼͷϧʔϓ͕֎෦࣭ΛੜΈ w֎෦࣭͕ڝ૪ྗΛੜΈ wڝ૪ྗ͕ച্ΛੜΈ wച্͕෦࣭ΛҭΉ ˞ྑ͍ͷΛ࡞ΕചΕΔͱ ͍͏Θ͚Ͱͳ͍ͷͰɺ͜͜ ͦ͏؆୯Ͱ୯७Ͱͳ͍
࣭ εϐʔυ ຊͷؔɹ ҹਖ਼ͷଓࠜݩ͕૿͑Εઌ૿͑Δɻࠜݩ͕ݮΕઌݮΔ
ʮ࣭WTεϐʔυʯͱ͍͏֓೦ࠜຊతʹؒҧ͍ͬͯΔͱࢥ͏ɻ ͩͬͯૉૣ͘։ൃΛ͠ͳͯ͘ڥɺ͋Δ͍ࣗͷڥͷཧղͷม ԽʹιϑτΣΞ͕͍ͭͯ͜ΕͣɺιϑτΣΞ͕ղܾ͖͕͢ ղܾͰ͖ͳ͘ͳΓɺඞવతʹ࣭͕མͪͯ͠·͏ɻ ٯʹɺ࣭ͷߴ͍ιϑτΣΞΛॻ͔ͳͯ͘ɺͳʹ͔͋ΔʹΠϯϑ ϥ่͕յ͠ɺૉૣ͘։ൃΛ͢Δ͜ͱ͕Ͱ͖ͳ͘ͳͬͯ͠·͏ɻΠϯϑ ϥͷ่յɺΔؾΛ͙ͷͰಛʹ͕ͨͪѱ͍ɻ IUUQTLOPIKQBOTXFSTEDB Evan Priestley
࣭WTεϐʔυͱ͍͏ೋഎͷؔɺ ہॴతͳͷͰ͔͠ͳ͍ɻ େҬతʹɺยํΛ٘ਜ਼ʹͨ͠߹ɺ Β͵͏ͪʹ͏Ұͭ٘ਜ਼ʹ͍ͯ͠Δͱ ͍͏͜ͱΛ͓Εͳ͘ɻ IUUQTLOPIKQBOTXFSTEDB Evan Priestley
ݱʹ͓͚Δ࣭ͱεϐʔυͭͷΩʔϝτϦΫε wϦʔυλΠϜ wσϓϩΠස w.553 ฏۉम෮࣌ؒ wมߋࣦഊ IUUQTXXXBNB[PODPKQEQ
ϦʔυλΠϜͱσϓϩΠසԾઆݕূϓϩηεΛਝʹճ͢ IUUQJLFZIBUFCMPKQFOUSZ
IUUQJLFZIBUFCMPKQFOUSZ ϦʔυλΠϜͱσϓϩΠසϑϩʔޮͱϦιʔεޮ Ϧιʔεޮ ϑϩʔޮ
MTTR .553.FBOUJNFUP3FDPWFSZ3FQBJS IUUQTXXXTMJEFTIBSFOFUEFDPEFEPTSFTJUFSFMJBCJMJUZFOHJOFFSJOHJOB[VSFPOB[VSF Ұ෦վม
.5#'ΛࣺͯΔͷͰͳ࣭͘ΛϓϩηεͰ࡞ΓࠐΉ IUUQTXXXSZV[FFDPNDPOUFOUTCMPH
IUUQTDMPVEHPPHMFDPNEFWPQTTUBUFPGEFWPQT
ΤϦʔτ ϋΠύϑΥʔϚʔ ϛσΟΞϜ ύϑΥʔϚʔ ϩʔύϑΥʔϚʔ ϦʔυλΠϜ ະຬ ͔Βिؒ ि͔ؒΒϱ݄ ϱ݄͔Βϱ݄
σϓϩΠස ΦϯσϚϯυ ෳճ ճ͔Βिճ िճ͔Β݄ճ ϱ݄͔Βϱ݄ .553 ࣌ؒະຬ ະຬ ະຬ ि͔ؒΒϱ݄ มߋࣦഊ ͭͷΩʔϝτϦΫεͷௐࠪʢສ݅Ҏ্ͷճΛΫϥελʔੳʣ w։ൃͱ࣭τϨʔυΦϑͷؔͰͳ͍ w৫ؒͷ͔ࠩͳΓେ͖͘ɺ͞Βʹ։͍͍ͯΔʢʣ wѹతͳࠩܧଓతσϦόϦ%FW0QTͷ৫తͳࢿͷࠩ IUUQTXXXTMJEFTIBSFOFU%FW0QT8FCJOBSTBDDFMFSBUFTUBUFPGEFWPQTTVSWFZSFTVMUTBSFJO
ΤϦʔτ ΤϦʔτͱϩʔύϑΥʔϚʔͷࠩ ϩʔύϑΥʔϚʔ ϦʔυλΠϜ ະຬ ഒ ϱ݄͔Βϱ݄ σϓϩΠස ΦϯσϚϯυ ෳճ
ഒ ϱ݄͔Βϱ݄ .553 ࣌ؒະຬ ि͔ؒΒϱ݄ มߋࣦഊ ͭͷΩʔϝτϦΫεΤϦʔτΫϥελͱϩʔύϑΥʔϚʔΫϥελͷࠩ w։ൃͱ࣭τϨʔυΦϑͷؔͰͳ͍ w৫ؒͷ͔ࠩͳΓେ͖͘ɺ͞Βʹ։͍͍ͯΔʢʣ wѹతͳࠩܧଓతσϦόϦ%FW0QTͷ৫తͳࢿͷࠩ IUUQTXXXTMJEFTIBSFOFU%FW0QT8FCJOBSTBDDFMFSBUFTUBUFPGEFWPQTTVSWFZSFTVMUTBSFJO
อकੑΛ٘ਜ਼ʹ͢ΕεϐʔυಘΒΕΔʁ wظతʹಘΒΕΔ wதظతʹٯޮՌʹͳΔ wظతʹக໋ইʹͳΔ
ʮظతதظతʯͷڥʁ ͜͜Ͱ͍͏ʮ࣭ʯͱʁ
ςετࣗಈԽͷଛӹذʮճʯ IUUQTXXXBNB[PODPKQEQ ͓ΑͦճͰ खಈςετͱࣗಈԽ͞Εͨςετͷ ίετ͕ٯస͢Δ
IUUQTXXXBNB[PODPKQEQ "1IJMPTPQIZPG4PGUXBSF%FTJHO good design eventually pays for itself, and sooner
than you might think.
͜ΓͷδϨϯϚ illustrated by @mty_mno IUUQUFTUFSDIBOIBUFOBEJBSZDPNFOUSZ
෦࣭ͷࢿͷଛӹذ ޙͱ͔Ͱͳ͘ ϲ݄ҎʹݱΕΔ IUUQTNBSUJOGPXMFSDPNBSUJDMFTJTRVBMJUZXPSUIDPTUIUNM ෦࣭ͷࢿͷଛӹذϲ݄ҎʹݱΕΔ
wظతʹಘΒΕΔ wϲ݄ޙʹٯޮՌʹͳΔ wظతʹக໋ইʹͳΔ อकੑΛ٘ਜ਼ʹ͢ΕεϐʔυಘΒΕΔʁ ϲ݄ҎͰ͋Εɺ෦࣭ͷࢿͷडӹऀࣗͨͪࣗ Ͱ͋Γɺͭ·ΓಓಙᛗዟͷͰͳ͘ଛಘͷͰ͋Δ
ϦϑΝΫλϦϯά༻ͷϦιʔεΛ७૿ͨ͠༁Ͱͳ͍ɻTQSJOU ͷΛࢿ͢ΔͱܾΊͨɻ࠷ॳϕϩγςΟ͕མ͕ͪͨɺ ϲ݄ܦͬͨޙ໌֬ʹσϦόϦʔ͕ߴ·ͬͨɻʢྫΛڍ ͛Δͱɺϲ݄͔͔ΔͱݴΘΕ͍ͯͨنͷ։ൃ͕ͰऴΘΔΑ ͏ʹͳͬͨʣ ͨ·ͨ·ࢀՃͨ͠ΠϕϯτͰU@XBEB͞Μͷ ʮ࣭ͱεϐʔυʯʹؔ͢ΔߨԋΛฉ͖ɺ ͱͱΜͰ͍ͨϙΠϯτͩͬͨͷͰ ਧͬΔ͜ͱ͕Ͱ͖ͨɻ ΩϟσΟגࣜձ༷ࣾͷࣄྫ
IUUQTDBEEJUFDIBSDIJWFT
ߥͿΔ࢛ఱԦείʔϓΛΕ ༩͑ΒΕͨ࣌ؒʹରͯ͠Δ͖͜ͱ͕ଟ͗͢Δ߹ɺͲ͏͖͔͢ B είʔϓΛΔ C ͬͱਓΛ૿͢ D ϦϦʔεΛԆظ͢Δ E
࣭Λ٘ਜ਼ʹ͢Δ ʰΞδϟΠϧαϜϥΠʱQ
͔͜͜ΒԆઓ
Ͱεϐʔυ͓Αͼ࣭ ԿͱτϨʔυΦϑͳͷ͔
IUUQTCIBUFOBOFKQFOUSZTTQFBLFSEFDLDPNUXBEBRVBMJUZBOETQFFE Ͱεϐʔυͱ࣭ԿͱτϨʔυΦϑͳͷ͔࣍ੈͷڭҭɺ৽ٕज़ͷௐࠪɺଟ༷ੑͷ֬อ
IUUQTPTBIBUFOBCMPHDPNFOUSZ Ͱɺ࣭ͱʹ͍ͭͯͷτϨʔυΦϑ͕ҙࣝ͞ΕΔ ͱ͖ɺ࣮ࡍʹԿͱԿ͕ṝʹ͔͚ΒΕ͍ͯΔͷ͔ɻ ͦΕ֤ݸਓͰͳ͘ϓϩμΫτશମͷ࣭ͱ͕ṝ ʹ͔͚ΒΕ͍ͯΔͷͰͳ͍͔ɻݴ͍͑Εɺϓϩμ Ϋτͷ࣭Λࢧ͑ΔͨΊʹඞཁͳϝϯόʔͷͱͦͷ ͷͨΊʹඞཁͳϑΟʔυόοΫֶशͷ͕࣌ؒṝʹ ͔͚ΒΕ͍ͯΔͷͰͳ͍͔ͱࢥ͏ɻ
ຊͷྗΛ͚ͭΔʹ ͕͔͔࣌ؒΔ
ιϑτΣΞͷ։ൃʹ࠷ॳ͔Β࠷ޙ·ͰؔΘΔͱ͍͏ܦݧͱͯوॏ ͩͬͨΜ͡Όͳ͍ͩΖ͏͔ɻͳͥͳΒɺϓϩδΣΫτ։࢝࣌ͷμϝͳσβ Πϯͷͬ͠ฦ͠ΛɺޙͰࣗͰϞϩʹड͚Δ͔Βͩɻ ॳ΅͘ɺ΄ͱΜͲߟ͑ͣίʔυΛʮΞϯμʔΤϯδχΞϦϯάʯ͍ͯ͠ ͨɻޙʑ͜ΕΛաʹमਖ਼ͯ͠͠·͍ɺશͯΛʮΦʔόʔΤϯδχΞϦϯ άʯ͠࡞ΓࠐΈ͗ͯ͢͠·ͬͨɻ̎ͱ͍͏࣌ؒ͜͏͍ࣦͬͨഊΛܦ ݧ͢Δʹेͳ࣌ؒͰɺࣙΊΔ͜ΖʹγεςϜͷσβΠϯͷԘക͕ɺ ͔ͳΓΘ͔ΔΑ͏ʹͳ͍ͬͯͨͱࢥ͏ɻ IUUQTLOPIKQBOTXFSTEDB Evan
Priestley
Ұ൪ॏཁͰҰ൪͔͍ͬͳεΩϧγεςϜΛઃܭ͢ΔͨΊͷஅྗͩɻ ݶΓͳ͘γϯϓϧͳσβΠϯͱ͍͏ͷͳ͔ͳ͔ڭ͑ΒΕΔͷͰͳ ͘ɺେํܦݧΛॏͶ֮ͯ͑Δͷͩɻ ͜ͷʮஅྗʯɺϓϩάϥϚʔʹͱͬͯඇৗʹॏཁͳͷ͕ͩɺͦ͏؆୯ ʹڭ͑ΒΕΔͷͰͳ͍ɻ΅͕͘ΔݶΓɺஅྗΛ͚ͭΔ Ұ൪ͷํ๏ɺࣗͰઃܭͨ͠γεςϜΛ͍ؒϝϯς͢Δ ͜ͱͩͱࢥ͏ IUUQTLOPIKQBOTXFSTEDB Evan Priestley
࣭ͱίετ τϨʔυΦϑ͔
1IJMJQ$SPTCZ2VBMJUZJT'SFF࣭ΞοϓίετΞοϓ͔μϯ͔ ίετΞοϓઆ ίετμϯઆ
IUUQTTQFBLFSEFDLDPNTIJNBTIJNBTUBSURVBMJUZSFBMGSFFDBNQBJHO 2VBMJUZJT'SFF㲈࣭࣮࣭ແྉ
Ͳͷ͘Β͍ ઃܭʹࢿ͢Δ͔
ΞʔΩςΫςΟϯά͍ͭɺͲΕ͚ͩʁ ,4-0$ສߦͷϓϩδΣΫτͷ ઌߦઃܭͷεΠʔτεϙοτ IUUQTXXXPSFJMMZDPKQCPPLT
ιϑτΣΞͷن͕εΠʔτεϙοτʹ༩͑ΔӨڹ IUUQTXXXPSFJMMZDPKQCPPLT
ιϑτΣΞͷن͕εΠʔτεϙοτʹ༩͑ΔӨڹ w ιϑτΣΞγεςϜ͕େ͖͘ͳΕͳΔ΄Ͳɺલ͍ͷΞʔΩς Ϋνϟઃܭ͔Βड͚ΔԸܙେ͖͘ͳΔ w খنʢສߦʣͷιϑτΣΞγεςϜͰɺલ͍ͷΞʔΩς Ϋνϟࡦఆ͔Β΄ͱΜͲԸܙΛड͚ΒΕͳ͍ w ΞʔΩςΫνϟઃܭʹগ͔͠͠ࢿ͠ͳ͍ͱɺڧͳͬ͠ฦ͕͠ དྷΔ͜ͱ͕༧͞ΕΔ
w ΞʔΩςΫνϟʹࢿ͢Ε͢Δ΄Ͳɺඞཁͳख͠গͳ͘ͳΔ IUUQTXXXPSFJMMZDPKQCPPLT
ཁٻͷมಈܽؕίετ͕εΠʔτεϙοτʹ༩͑ΔӨڹ ཁٻͷมಈ͕େ͖͍߹ ɺٸͳมԽʹରԠ͢Δ ͨΊͷੳจॻԽͷख ΓͷͨΊɺઌߦઃܭͷޮՌ Լ͕Δ ߴ͍৴པੑΛٻΊΒΕܽؕ ίετ͕ߴ͍߹ɺΞʔ ΩςΫςΟϯάͷඞཁੑ͕ ߴ·Δ
IUUQTXXXPSFJMMZDPKQCPPLT
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ w ʮ࣭ͱεϐʔυτϨʔυΦϑͷؔʹ͋Δʯେ͖ͳޡղ w ʮ࣭ʯͷ໊ͷͱʹ٘ਜ਼ʹ͞ΕΔͷ෦࣭ͷಛʹอकੑ ʢςετ༰қੑɺཧղ༰қੑɺมߋ༰қੑʣ w ࣮ࡍʹอकੑΛߴΊΕεϐʔυ্͕Δ͠ɺอकੑΛམͱͤ εϐʔυԼ͕Δ w
εϐʔυΛམͱͯ͠อकੑ্͕Βͳ͍͠ɺεϐʔυΛམͱ͢ͱԾઆݕ ূϓϩηε͕ճΒͳ͍ w ෦࣭ͷࢿͷଛӹذҙ֎ͱૣ͘ ϲ݄Ҏ ͬͯ͘Δ w ϲ݄Ҏͱ͍͏͜ͱडӹऀࣗͨͪࣗͰ͋Γɺͭ·Γಓಙᛗዟ ͷͰͳ͘ଛಘͷͰ͋Δ w εϐʔυ͓Αͼ࣭ͱτϨʔυΦϑͳͷڭҭɺɺଟ༷ੑͷࢿ