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
達人出版会、技術書典の設計と実装2 / JEPA20190529-2
Search
Masayoshi Takahashi
May 29, 2019
Technology
3
500
達人出版会、技術書典の設計と実装2 / JEPA20190529-2
JEPAのセミナーで使った資料(訂正版)です。
https://speakerdeck.com/takahashim/jepa20190529
の続きです。
Masayoshi Takahashi
May 29, 2019
Tweet
Share
More Decks by Masayoshi Takahashi
See All by Masayoshi Takahashi
2024年のRailsと自由について考える
takahashim
26
11k
WEB+DB PRESS休刊に寄せて
takahashim
4
2.5k
作品を「つくる」こと
takahashim
0
110
柔軟にカスタマイズできて そこそこ規模の大きい オープンソースRailsアプリって どうすれば作れるんでしょうか…? / omotesandorb 56
takahashim
0
1.8k
「まだないもの」の育て方 / seccamp2020
takahashim
13
5.1k
書籍制作と権利について / books and rights
takahashim
10
7k
達人出版会、技術書典の設計と実装1 / JEPA20190529
takahashim
1
890
EPUBCheckのスヽメ / epubcheck-20190529
takahashim
1
95
まだ40代後半のプログラマの話、あるいは50代プログラマについて考える / railsdm 2019
takahashim
24
16k
Other Decks in Technology
See All in Technology
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
440
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
150
VGGT: Visual Geometry Grounded Transformer
peisuke
1
220
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
180
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
160
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
21k
面倒な作業はAIにおまかせ。Flutter開発をスマートに効率化
ruideengineer
0
400
TableauLangchainとは何か?
cielo1985
1
120
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
1
130
ビギナーであり続ける/beginning
ikuodanaka
3
790
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
3
190
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why Our Code Smells
bkeepers
PRO
336
57k
We Have a Design System, Now What?
morganepeng
53
7.7k
Fireside Chat
paigeccino
37
3.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Side Projects
sachag
455
42k
The Language of Interfaces
destraynor
158
25k
Bash Introduction
62gerente
613
210k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Raft: Consensus for Rubyists
vanstee
140
7k
Transcript
ୡਓग़൛ձɺٕज़ॻయͷ ઃܭͱ࣮ʢ̎ʣ גࣜձࣾୡਓग़൛ձ ߴڮٛ
ٕज़ॻయͷ֤छσʔλ
ٕज़ॻయͰͷ࣋ࠐ෦ w ෦ʗαʔΫϧ w ৽ץɿฏۉ෦ɺதԝ෦ w طץɿฏۉ෦ɺதԝ෦ w ৽ץҹ෦ͳͷͰ͖ΓͷΑ͍ʹͳΔ w
͜͜ʹ͞Βʹిࢠ͕ՃΘΔ
ٕज़ॻయͰͷൢച෦ w ෦ʗαʔΫϧ w ചɿ w ిࢠ൛ͷൢചΛܧଓͨ͠ͷ͕ w ٕज़ॻయͰͷച
Πϕϯτผ൦ɾൢച෦ൺֱ ˞ίϛοΫϚʔέοτͷपه೦ௐࠪͷσʔλ͔Βਪଌ ɹίϛςΟΞͷςΟΞζϚΨδϯ߸ʹΑΔ
ചͨ࣌͠ࠁ
αʔΫϧͷٻΊΔͷ
ٕज़ॻయʹࢀՃ͢Δํͷ ຊͷ࡞Γํ
ٕज़ॻయͰͷຊͷ࡞Γํ w ωοτੑͷߴ͍*5ΤϯδχΞ͕ଟ͍ͷͰɺී௨ʹσδ λϧͰ࡞Δ w ࢴʹͳΔͷ࠷ޙʢೖߍޙʣ͚ͩɺͱ͍͏ͷΊͣΒ͠ ͘ͳͦ͞͏ w ͱͱʮͳ͍ͷʢࣗͨͪͰʣ࡞Δʯͱ͍͏จԽ ͕͋Δ
༨ஊɾʮిࢠग़൛ʯͱ͍͏ݴ༿ w ʮిࢠԻָʯΞφϩάഔମʹԻͨ͠ͷΛฉ͍ͯ ʮిࢠԻָʯͰྑͦ͞͏ w ʮిࢠग़൛ʯ࠷ޙҎ֎શ෦σδλϧԽ͞Ε͍ͯΕ ʮʢ΄΅ʣిࢠग़൛ʯͱݴͬͯྑ͍ͷͰʁ w ී௨ͷిࢠॻ੶ͷ࡞ΓํΑΓͣͬͱిࢠͳग़൛ʹͳͬ ͯͦ͏
ιϑτΣΞ։ൃͷΑ͏ʹݪߘΛॻ͘ w ͏πʔϧಉ͡ w (JUʹΑΔ൛ཧ w (JU)VCʹΑΔमਖ਼ϦΫΤετ w $JSDMF$*ʹΑΔࣗಈ൛ w
ͦͷลͷϊϋࣗମಉਓࢽʹͳͬͨΓϒϩάهࣄʹ ͳͬͨΓ͢Δ
੍࡞πʔϧ w खͰ࡞ۀ͢Δͷ·ͬͨ͘͏Ε͘͠ͳ͍ w ࣗಈ൛πʔϧͷಋೖ w ൛ͷ࣭ଟগѱͯ͘ؾʹ͠ͳ͍ w -B5F98FCͷϨϯμϦϯάΤϯδϯʢͦΕͳΓʹʣ ༏ल
w ిࢠ൛1%'Ͱ੍࡞ w &16#Λ࡞Δ͘͝গʁ
੍࡞πʔϧ w 3F7*&8ʢಠࣗه๏ʣ w 4QIJOYʢಠࣗه๏ʣ w 1BOEPDʢ.BSLEPXOʣ w -B5F9ʢಠࣗه๏ʣ w
7JWMJPTUZMFʢ$44൛ʣ w ࣗ࡞
3F7*&8 w ٕज़ॻయͰ͓ͦΒ͘Ұ൪ΘΕ͍ͯΔ w &16#ͱ1%'ͱ*O%FTJHO༻9.-ΛੜͰ͖Δ w *O%FTJHOʹྲྀ͠ࠐΜͰۀग़൛ʹ w 1%'-B5F9 EWJQEGNY͔Βੜ
w 5FDI#PPTUFS͕͍ͬͯΔςϯϓϨʔτ͕ެ։͞Ε͍ͯ ΔͷͰɺͦΕΛར༻Ͱ͖Δ
None
None
ిࢠ൛ͷҐஔ͚ͮ
ిࢠ൛ͷҐஔ͚ͮ w ࢴͷຊ͕ཉ͘͠ͳ͍ਓ͚ w ࢴͷຊ͕ചͨ͠ͱ͖ͷϑΥϩʔΞοϓ w ࢴΛ༻ҙ͠ͳ͍߹ͷʮຊʯ
ࢴͷຊ͕ཉ͘͠ͳ͍ਓ w Ұఆ͍Δ w ిࢠ͕͋ΔͱتΕΔ w ిࢠ͕ͳ͍ͱങͬͯ͘Εͳ͍
ച࣌ͷϑΥϩʔΞοϓ w ։࢝ޙ࣌ؒͰ͢ͰʹചΓΕɺͱ͍͏αʔΫϧ ͋Δ w ͔ͤͬ͘དྷͨͷʹखͿΒͰฦ͢ͷਃ͠༁ͳ͍͠ ͍ͬͨͳ͍ w ిࢠ͚ͩͰΊ͍ͨ
ࢴͷຊ͕ͳ͍߹ w ྔ͕ଟ͗ͯ͢গͳ͗ͯ͢ࢴબͼͮΒ͍ w ͗͢Δͱҹίετ͕͔͔Δ w ബ͗͢Δͱ͔͚ͨίετͷׂʹ͋Γ͕ͨΈʹ͚ܽΔ
ҹॴʹ͍ͭͯ
ҹॴʹ͍ͭͯ w ຊʹಉਓࢽɾݸਓࢽ͕ಘҙͳҹॴ͕͋Δ w ޙड़ͷόοΫΞοϓҹॴ͋Δ w ೲ8FCͰߦ͑Δ w ࡶͳݪߘͰṖͷྗͱܦݧͰͳΜͱ͔ͯ͘͠ΕΔ
όοΫΞοϓҹॴ w ҹॴ͔ΒૹΒΕͯ͘ΔҹΛൖೖՄೳͳ͕͍࣌ؒ w ͷேͷΈ w ۃྗ·ͱΊͯൖೖͰ͖Δͱ͏Ε͍͠ w ಛผʹޫاըͱͶ͜ͷͬ͠ΆͷࣾʮόοΫΞοϓ ҹॴʯͱͯ͠ൖೖ͍͍͍ͯͨͩͯ͠Δ
w ͦΕҎ֎ϠϚτӡ༌ͷศͰ͓ئ͍͍ͯ͠Δ
ٕज़ॻయͷӡӦ
ٕज़ॻయͷӡӦ w ͷձ w 8FCαΠτɾΞϓϦ w ͔ΜͨΜޙ͍
ٕज़ॻయͷӡӦͷେࣄͳ͜ͱ w҆શୈҰ wͰ͖ΔݶΓిࢠԽ͢Δ
҆શୈҰ w ਓ͕ू·Γ͗͢Δͱ࠷ѱࢮࣄނ͕ى͜Δ w ʮࡶ౿ܯඋͷखҾ͖ʯIUUQTXXXQPMJDFQSFGIZPHPMHKQ [BUUPVJOEFYIUN w ެಓͰػྻ͕৳ͼ͗ͨ͢߹ɺܯ͔Βղࢄ໋ྩ͕ग़Δ͜ͱ͋Δ w ॳճةͳ͍ͱ͜Ζͩͬͨ
w Πϕϯτอݥ w ࠓͷͱ͜Ζେ͖ͳτϥϒϧճආͰ͖͍ͯΔ w ࢀՃऀͷΈͳ͞Μͷ͝ڠྗͷࣀ
Ͱ͖ΔݶΓిࢠԽ͢Δ w ࢴɺ༣ศӡ༻ίετ͕Ͷ্͕Δ w ελοϑ͕ཧతʹಉ͡ॴʹ͍ͳ͍ͷͰɺԿʹ͚ͭͯ ۃྗωοτͰࡁ·ͤͳ͍ͱ٧Ή w ਃࠐωοτͷΈʹ͢Δ w ࢧ͍1BZ1BMͱ4USJQFʹ౷Ұ
w ॻྨۃྗεΩϟϯ͢Δ w ձͷෳࣸࣜਃࠐॻ͕ݫ͍͠ʜ
ձʹ͍ͭͯ w ॳͷʮळ༿ݪʯͱ͍͏ॴͷڧ͞ w ॳճͷگ։࠵ͷ͓͔͛͋ͬͨͣ w ݱࡏାʹҠಈ͍ͯ͠Δ w ळ༿ݪʹ͏͍ॴ͕ͳ͍ͷͰ͍͠
ձʹ͍ͭͯ w आΓΔͷͷΈɺલઃӦ͍ͯ͠ͳ͍ w ͷே͔Β࢝ΊͯɺશͯͷصɾΠεͷஔɺൖೖͱ ஔ·ͰΛߦ͏ඞཁ͕͋Δ w ͦΖͦΖݶք͕དྷͦ͏
8FCαΠτ w ($1 (PPHMF$MPVE1MBUGPSN ্Ͱߏங w ϑϩϯτΤϯυͱόοΫΤϯυͷ41"ߏ w αʔΫϧొʹձһొ͕ඞਢ w
ձһใΞϓϦͱ࿈ܞ w ࠷ݶͷཧը໘ w ࠔͬͨͱ͖ʹ#JH2VFSZΛୟ͘
ΞϓϦͱͷ࿈ܞ w αʔΫϧਃࠐͷిࢠԽ w αʔΫϧೖ݊ʢαʔΫϧνέοτʣͷిࢠԽ w දऀʴڠྗऀʹ23ίʔυΛൃߦ w αʔΫϧʹΑΔॻ੶ใͷొ w
͔ΜͨΜޙ͍ͱ࿈ಈ
͔ΜͨΜޙ͍ʹ͍ͭͯ
͔ΜͨΜޙ͍ͱ w ٕज़ॻయઐ༻ͷܾࡁαʔϏε w 23ίʔυͰαʔΫϧ͝ͱͷΛߪೖͰ͖Δ w ऴྃޙʹ1BZ1BM·ͨ4USJQFͰࢧ͏ w αʔΫϧʹۜߦৼࠐͰରԠ͢Δ
ͳͥޙ͍ͳͷ͔ wલ͍๏తʹ͍Ζ͍Ζͱ͍͠ wࢿܾۚࡁ๏ͳͲ wϦΞϧλΠϜͷܾࡁԆ௨৴͕ݫ͍͠ wޙ͍ͦͷΑ͏ͳ͜ͱʹͳΓͮΒ͍ wϦεΫ͋Δ͕ɺݱঢ়ଟ͘ͷํ͕͙͢ʹࢧͬͯ͘ΕΔ wར༻ʹ͍ͭͯɺ1BZ1BM4USJQFͷαϙʔτʹ͍߹Θͤͨ ʹͳͦ͞͏ͱͷ͜ͱ
͔ΜͨΜޙ͍ͷಋೖ w ٕज़ॻయઐ༻ΞϓϦͷ։ൃ w όοΫΤϯυ8FCαΠτͱಉ͡(PPHMF$MPVE 1MBUGPSNͰτϥϯβΫγϣϯΛอଘ w ΠϨΪϡϥʔσʔλͷഉআ w ܾࡁσʔλ͔Βूܭޙɺ·ͱΊͯۜߦৼࠐ
μϯϩʔυαʔϏε w ͔ΜͨΜޙ͍ͱ࿈ಈͨ͠μϯϩʔυαʔϏεٕज़ ॻయΑΓఏڙ։࢝ʢЌ൛ʣ w ిࢠσʔλ͕༻ҙͯ͋͠Δ߹ɺߪೖऀ͕αΠτ͔Β μϯϩʔυͰ͖ΔΑ͏ʹ͢Δ w ଞͷαʔϏεΛར༻͠ͳͯ͘ࡁΉͨΊศར
ٕज़ॻయͷ՝
ٕज़ॻయͷ՝ w͍͘ΒͰ͋Γͦ͏ w8FCαΠτ w։࠵ॴ wӡӦମ੍
ٕज़ॻయͷ8FCαΠτ w ͦΖͦΖϦχϡʔΞϧ͠ͳ͍ͱݫ͍͠ w ن͕େ͖͘ͳΔʹͭΕαΠτͷ͍উखʹݶ ք͕དྷΔʢདྷ͍ͯΔʣͷͰ w ύϑΥʔϚϯε·ͩԿͱ͔ͳΓͦ͏ w ػೳΛͲ͜·Ͱ૿͔͢ɾ૿ͤΔ͔
ٕज़ॻయͷ։࠵ॴ w ାจԽձ͍ؗͩͿखڱʹͳͬͯ͠·ͬͨ w ݱঢ়ͱಉ͡··Ͱݶք͕དྷ͍ͯΔ w ։࠵ॴΛؚΊͯυϥεςΟοΫͳมߋ͕ඞཁʹͳΔͷ Ͱ w ࣍ճͷձʹ͍ͭͯۙதʹΞφϯε༧ఆ
ٕज़ॻయͷӡӦମ੍ w εέʔϥϏϦςΟ͕ͳ͍ w ٕज़ॻయϘϥϯςΟΞʹΑΓʮΈΜͳͰ࡞Δʯͱ͍͏ ΑΓɺϓϥοτϑΥʔϜԽΛࢦ͍ͯ͠ΔΑ͏ʹײ͡ Δʢࢲݟʣ w ͔ͱ͍͕ͬͯͬͪΓͱاۀΆ͘Γ͍ͨΘ͚Ͱͳ͍ w
ίϛϡχςΟͱ๏ਓͷόϥϯεײ
๏ਓͱͯ͠ӡӦʹؔΘΔ͜ͱ w ਖ਼ʹݴ͏ͱϦεΫ͔͠ͳ͍ w 5FDI#PPTUFS͕໘നͦ͏ͳ͜ͱΛΔͷΛϦεΫΛঝ Ͱࢧ͑Δɺͱ͍͏ཱ w ໘ന͚Ε·͍͍͔͋ɺͱ͍͏։͖Γ
ిࢠग़൛ʹ͍ͭͯ
ిࢠग़൛ʹ͍ͭͯ w ిࢠॻ੶Λ࡞Δ͜ͱΑΓɺ͋ΒΏΔϫʔΫϑϩʔɾ ΤίγεςϜΛిࢠԽ͢Δํ͕ॏཁ͕ߴ͍ͷͰ w ʮిࢠԽʯ͔ΒʮࣗಈԽʯ w "*ɾػցֶशͦͷྲྀΕͷͣ w ͦͷ্ͰɺͲ͜ΛࣗಈԽ͠ͳ͍Ͱ͔͕ࠩ͢ผԽཁҼ
·ͱΊ
·ͱΊ w ಡऀɾஶऀͷʹΑ͍ͬͯΖΜͳՄೳੑ͕͋Δ w ٕज़ॻ·ͩ·ͩ๛͔ʹͳΕΔͣ w ίϯϐϡʔλॻͬͱग़ͯ͠ཉ͍͠ w ग़൛ϫʔΫϑϩʔɾΤίγεςϜͷిࢠԽΛظ
ࢀߟจݙ w தϞϞɺΔ΅Βʰຊͷ;*/&ʹ͍ͭͯͬͯΔ͜ͱͯ͢ ಉਓࢽɺϛχίϛɺϦτϧϓϨεʱ w ίϛέοτʰUI$0.*$."3,&5$)30/*$-&ʱ w ૼ݄͔ͨͳ͔ʰίϛοΫϚʔέοτੈهʱ w ʰςΟΞζϚΨδϯ7PMʱ
w தଜެʰςΟΞζϚΨδϯͷ͍͋ͭ͝͞૯ूฤʙʱ w จֶϑϦϚެࣜαΠτ IUUQTCVOGSFFOFU w ੴཧܙʰϦτϧϓϨεΛͭ͘Δʱ w ,"*:06ฤʰϛχίϛʱ