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
『Swift実践入門』制作の舞台裏
Search
稲尾尚徳
February 24, 2017
Technology
8
2.8k
『Swift実践入門』制作の舞台裏
「『Swift実践入門』刊行記念 Tech Talks」での発表資料です。
https://connpass.com/event/50546/
稲尾尚徳
February 24, 2017
Tweet
Share
More Decks by 稲尾尚徳
See All by 稲尾尚徳
WEB+DB PRESSと私
inao
51
25k
あなたの知らないコンピュータ書の世界
inao
0
110
人気書籍から読み解くWeb技術の最新動向
inao
0
100
GitHubで雑誌・書籍を作る
inao
0
98
レビューパターン
inao
0
120
Other Decks in Technology
See All in Technology
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
100
20250913_JAWS_sysad_kobe
takuyay0ne
2
190
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
340
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
550
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
500
2025年夏 コーディングエージェントを統べる者
nwiizo
0
160
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
810
Android Audio: Beyond Winning On It
atsushieno
0
120
ガチな登山用デバイスからこんにちは
halka
1
240
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
400
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
4 Signs Your Business is Dying
shpigford
184
22k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Side Projects
sachag
455
43k
Designing for Performance
lara
610
69k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Transcript
ʰ4XJGU࣮ફೖʱ ੍࡞ͷཪ Ҵඌঘಙ 8&# %#13&44ฤू෦ʢٕज़ධࣾʣ ʰ4XJGU࣮ફೖʱץߦه೦5FDI5BMLT
લఏ ͜͜ʹ͍Βͬ͠ΌΔΑ͏ͳษڧ৺ͳํʑɺ ࣥ͝චऀʹͳΓ͏Δํʑͩͱࢥ͍·͢ͷͰɺ ͦͷલఏͰ͓͍͖ͤͯͨͩ͞·͢
ͲΜͳࡶࢽɾॻ੶Λ ࡞͍ͬͯΔ͔ ʢࣗݾհʹ͔͑ͯʣ
8&# %#13&44 wץͷִ݄ࢽ w7PMຊൃചʂ wདྷि7PMͷاըձٞ
8&# %#13&44QMVT wץߦ։࢝ wطץ
γϦʔζۙץ ධൃചத ݄ ൃച༧ఆ
੍࡞ڥ
ओͳπʔϧ w(JU)VCͰݪߘཧ wNEJOBPͰݪߘςΩετͷม w"EPCF*O%FTJHOͰࢴ໘ϨΠΞτ wDPEFHFOTXJGUͰαϯϓϧίʔυநग़ ʢຊॻ༻ͷ৽ฌثʣ
(JU)VCͰݪߘཧ wஶऀͱฤूऀ͕͏ wه๏.BSLEPXO wͦΕͧΕͷ࡞ۀɺ8*1ʢ8PSL*O1SPHSFTTʣͳ 1VMM3FRVFTUΛग़ͯ͠ߦ͏ ૿ʢະఆʣʹ ͚ͯݱࡏਐߦத ͷ1VMM3FRVFTU
NEJOBPͰݪߘͷม wฤूऀ͕͏ w.BSLEPXOͰॻ͔ΕͨݪߘΛɺ8&# %#13&44 8&# %#13&44QMVT༻ͷ*O%FTJHOλά͖ςΩετ ʹม͢Δ w ݟग़͠ɺຊจɺऍͳͲͷจࣈؔΛࣗಈϨΠΞτ w
ը૾ɺදͳͲͷผΦϒδΣΫτͷखಈ w!OBPZB͞Μɺ!IPLBDDIB͞Μɺ!UZQFTUFS͞ΜΒ࡞ wࣗͰ໊͚ͨΘ͚Ͱͳ͍Ͱ͢
"EPCF*O%FTJHOͰ ࢴ໘ϨΠΞτ wϨΠΞτ୲ऀ͕͏ ͜ͷϖʔδʹਤද ͕ͳ͍ͷͰɺ*O%FTJHO λά͖ςΩετΛ ྲྀ͠ࠐΊ΄΅ϨΠ Ξτྃ
͜͜·Ͱͷπʔϧʹ͍ͭͯৄ͘͠ɺ ͷ(JU)VC,BJHJͰͷൃදࢿྉ ʮ(JU)VCͰࡶࢽɾॻ੶Λ࡞ΔʯΛ͝ཡ͍ͩ͘͞ IUUQXXXTMJEFTIBSFOFUJOBPHJUIVCLBJHJ
DPEFHFOTXJGUͰίʔυநग़ wஶऀͱฤूऀ͕͏ wຊॻ༻ʹஶऀ͞Μ͕৽։ൃ wίϚϯυҰൃͰɺݪߘςΩετ͔ΒίʔυΛൈ͖ ग़͠ɺ༻ͷ1MBZHSPVOEϑΝΠϧΛੜ͢Δ wશମͰͷίʔυย͕͋ΔͨΊɺखಈͩͱ ϛε͕ൃੜ͢Δ wಈ࡞֬ೝͰ͖ΔͨΊɺࢴ໘ͷ্࣭ʹ׆༂
͜Μͳײ͡Ͱɺষ͝ͱͷ1MBZHSPVOEϑΝΠϧΛɺ ίʔυย͝ͱʹϖʔδΛ͚ͯੜͯ͘͠ΕΔ
ץߦ·Ͱͷཪ
ϑΣʔζ wاը wࣥච w૬ޓϦϥΠτ wฤू w੍࡞
اըͷਐΊํ wίϯηϓτɺରಡऀɺରൣғͳͲΛݻΊΔ wৄࡉͳΞτϥΠϯʢ࣍ʣʹམͱ͠ࠐΉ ʮରಡऀͷ͏ͪҰ൪લఏࣝͷͳ͍ํ͕ɺ ɹΞτϥΠϯΛಡΉ͚ͩͰɺຊॻͷετʔϦʔΛ ɹཧղͰ͖ΔΑ͏ʹ͍ͯͩ͘͠͞ʯ
اըεέδϡʔϧ wɿΩοΫΦϑ wɿΞτϥΠϯܾఆ ϲ݄ؒ ݟग़͠ ʢץߦ࣌ʣ
ࣥචͷਐΊํ w!JTILBXB͞Μɺલͷجຊষ͔Βॻ͘ w!ZVTFJOJTIJZBNB͞Μɺޙͷ࣮ફষ͔Βॻ͘ ʮಡऀͷํ͕ιʔείʔυදͳͲΛಡΈඈͯ͠ ɹຊจ͚ͩΛಡΜͰɺେҙ͑ΔΑ͏ʹॻ͍ͯ ɹ͍ͩ͘͞ʯ
ࣥචεέδϡʔϧ wɿࣥචελʔτ wɿશষߘ ϲ݄ؒ ͓Ұਓ͋ͨΓ݄ষϖʔε
͔͜͜Β͕ຊ൪ ຊॻͰɺ͔͜͜ΒͷϒϥογϡΞοϓʹ ྗΛ͗·ͨ͠ ߘ ॳߍ ೖߘ
૬ޓϦϥΠτͷਐΊํ w୲ষΛަͯ͠૬ޓϦϥΠτΛߦ͏ w ڞஶʹΑΔσϝϦοτΛͳͨ͘͢Ί w આ໌ͷաෆɺ༻ޠͷෆ౷Ұɺจମͷ૬ҧ wࣥචऀຊਓ͡Όͳ͍ͱमਖ਼Ͱ͖ͳ͍ͷɺ*TTVFԽ͢Δ wϨϏϡϫʔͷํʹΑΔϨϏϡʔฒߦͯ͠ߦ͏ ʮଞਓͷจষΛมߋ͢Δͷؾ͕ͻ͚Δ͔ͱ ɹࢥ͍·͕͢ɺࣗ͝ͷจষΛਪᏏ͍ͯ͠Δͱ
ɹ͓ࢥ͍ʹͳͬͯϦϥΠτ͍ͯͩ͘͠͞ʯ
૬ޓϦϥΠτͷεέδϡʔϧ wɿ૬ޓϦϥΠτɺϨϏϡʔελʔτ wɿ૬ޓϦϥΠτɺϨϏϡʔྃ wɿϑΟʔυόοΫͷରԠྃ ϲ݄ؒ
ฤूͷਐΊํ w૬ޓϦϥΠτͱಉ༷ʹɺϦϥΠτߦ͏ wෳষʹؔΘΔϑΟʔυόοΫɺ*TTVFԽ͢Δ wͦͷষݻ༗ͷϑΟʔυόοΫɺݪߘதʹ˒Ͱ ׅͬͯίϝϯτ͢Δ w ˒˓˓ͳͲͷ˒ϥΠϒϥϦ͕͋Γ·͢ɻ w ˒ͳͥɺ☓☓ͳͷ͔͕ͪΐͬͱΘ͔Γ·ͤΜͰ ͨ͠˒
ฤूεέδϡʔϧ wɿฤू෦ߍਖ਼ελʔτ wɿฤू෦ߍਖ਼ྃ wɿฤू෦࠶ߍਖ਼ྃ w શମతʹେ͖͘มΘͬͨͷͰ͏Ұ w ߘ࣌ʹൺɺഒɺϖʔδ૿͍͑ͯͯযΔ wɿฤू෦࠶ʑߍਖ਼ྃ w
4XJGUରԠɺඇॏཁ߲ͷআͳͲͨͨ͠ΊࠩΛ֬ೝ ϲ݄ؒ ʢ4XJGU߹Θͤʹมߋͨͨ͠Ίͱɺح݄ ɹࡶࢽͷ࡞ۀΛ͍ͯ͠ΔͨΊΏͬ͘Γϖʔεʣ
੍࡞ͷਐΊํ w*O%FTJHOͰ࡞ͬͨຊ൪ήϥͷஶऀ͝ߍਖ਼݁Ռɺ ͜Ε·ͰͲ͓Γ1VMM3FRVFTUͰΒ͏ wͦΕΛϨΠΞτ୲ऀʹ͑ΔͷೖΕͰ w͜ͷஈ֊Ͱͷมߋ࡞ۀϛε͕ൃੜ͍͢͠ͷͰɺ ฤूஈ֊ͰۃྗΫΥϦςΟΛ্͓͛ͯ͘ ʮʯͱ͔ ࠩςΩετͷ൪߸
੍࡞εέδϡʔϧ wɿॳߍ wɿ೦ߍʢෳճʣ wɿҹॴೖߘʂ ϲ݄ؒ
ࣈͰΞϐʔϧ ͜ͷຊɺΑΓྑ͍ຊΛࢦͯ͠ ΈΜͳͰྗΛ߹ΘͤͯΛ͔͚ա͗ ͘Β͍͔͚ͯ࡞ͬͯ͠·͍·ͨ͠ͷͰɺ ʮ͕ΜͬͨΞϐʔϧʯΛ͍ͤͯͩ͘͞͞
(JU)VC wίϛοτɿ w1VMM3FRVFTUɿ w*TTVFɿ ߘ ॳߍ ೖߘ
ϛʔςΟϯάͱΧϯρϝ wϛʔςΟϯάɿճ w ͍͍݄ͩͨҰ͘Β͍ wΧϯρϝɿճ w ༧ఆΑΓΕ͕ੜͨ͡ͱ͖ʹߦ͏ w େஶऀ͞Μ͓ೋਓͰɻͨ·ʹશһͰ w
ʮ૭ͷͳ͍ձٞࣨͰͰ͔͢ʁʯ
ʮ*TTVFରԠɺ˒ରԠɺಈ࡞֬ೝͰ ͓ೋਓͦΕͧΕ͔͔࣌ؒΔ ͱ͍͏ݟੵΓͰ͢Ͷɻ ٳ࣌ؒɺฏຖ࣌ؒɺ ࡞ۀ͍ͯͩ͘͠͞ʯ ͳͱ͖ͷϗϫΠτϘʔυ
ߍਖ਼ wॴཁ࣌ؒɿ࣌ؒ w ࡞ۀ w ͋ͨΓ࣌ؒ wϑΟʔυόοΫʢ˒*TTVFʣɿ ʢલड़ͨ͠ฤूϑΣʔζͰͷͷͰ͢ɻߘஈ֊ॳߍ ɹҎޙͷͷɺܭଌͯ͠ͳ͍ͷͰؚ·Ε͍ͯ·ͤΜʣ
·ͱΊ
͓ೋਓ͔ͩΒͦ͜ɺ͏·͍ͬͨ͘ wࣄલʹ໘ࣝͳ͠ w ஶऀ͞ΜͲ͏͠ɺஶऀ͞Μͱฤूऀ wϲ݄ؒͱ͍͏ظϓϩδΣΫτ w͜͜·Ͱઆ໌͖ͯͨ͠Α͏ͳաෛՙ w͝స৬ɺ͓ࢠ༷ͷੜɺظग़ுɺւ֎సۈ ͳͷʹɺ͔ͤͬ͘ͷٳʹɺ૭ͷͳ͍ձٞࣨͰͷ ΧϯρϝதͰ͋ͬͯɺݥѱͳงғؾʹͳͬͨΓ ͨ͜͠ͱҰ͋Γ·ͤΜͰͨ͠☺
4XJGUͷఆ൪ॻΛࢦ͍ͨ͠ վగΛॏͶͳ͕ΒɺѪ͞ΕΔ4XJGUͷఆ൪ॻ ʹͳΔ͜ͱΛඪʹ͍ͯ͠·͢ɻ Ͱɺॳ൛͕ͪΌΜͱചΕͳ͍͜ͱʹɺվగ Ͱ͖·ͤΜɻ ͥͻɺ͝ߪಡ͍ͩ͘͞ɻ ͦͯ͠ྑ͍ຊͰͨ͠ΒɺपғͷํʹקΊͯͩ͘ ͍͞ʂ
͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠