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
430
達人出版会、技術書典の設計と実装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
21
8.2k
WEB+DB PRESS休刊に寄せて
takahashim
4
2.3k
作品を「つくる」こと
takahashim
0
70
柔軟にカスタマイズできて そこそこ規模の大きい オープンソースRailsアプリって どうすれば作れるんでしょうか…? / omotesandorb 56
takahashim
0
1.7k
「まだないもの」の育て方 / seccamp2020
takahashim
13
4.9k
書籍制作と権利について / books and rights
takahashim
11
6.5k
達人出版会、技術書典の設計と実装1 / JEPA20190529
takahashim
1
780
EPUBCheckのスヽメ / epubcheck-20190529
takahashim
2
69
まだ40代後半のプログラマの話、あるいは50代プログラマについて考える / railsdm 2019
takahashim
24
16k
Other Decks in Technology
See All in Technology
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
180
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
初中級者用如何使用backlog -VALE TUDOEDITION-
in0u
0
140
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
150
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
630
Featured
See All Featured
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
What's new in Ruby 2.0
geeforr
338
31k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
RailsConf 2023
tenderlove
16
720
Infographics Made Easy
chrislema
238
18k
Adopting Sorbet at Scale
ufuk
71
8.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
36
9.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
Building Applications with DynamoDB
mza
89
5.8k
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ฤʰϛχίϛʱ