『Swift実践入門』制作の舞台裏

Fde2bc2419d5f9c009d752fcb82f64b7?s=47 inao
February 24, 2017
1.8k

 『Swift実践入門』制作の舞台裏

「『Swift実践入門』刊行記念 Tech Talks」での発表資料です。

https://connpass.com/event/50546/

Fde2bc2419d5f9c009d752fcb82f64b7?s=128

inao

February 24, 2017
Tweet

Transcript

  1. ʰ4XJGU࣮ફೖ໳ʱ
 ੍࡞ͷ෣୆ཪ Ҵඌঘಙ 8&# %#13&44ฤू෦ʢٕज़ධ࿦ࣾʣ ʰ4XJGU࣮ફೖ໳ʱץߦه೦5FDI5BMLT

  2. લఏ ͜͜ʹ͍Βͬ͠ΌΔΑ͏ͳษڧ೤৺ͳํʑ͸ɺ ࣥ͝චऀʹͳΓ͏Δํʑͩͱࢥ͍·͢ͷͰɺ ͦͷલఏͰ͓࿩͍͖ͤͯͨͩ͞·͢

  3. ͲΜͳࡶࢽɾॻ੶Λ
 ࡞͍ͬͯΔ͔
 ʢࣗݾ঺հʹ͔͑ͯʣ

  4. 8&# %#13&44 w೥૑ץͷִ݄ࢽ w7PM͸ຊ೔ൃചʂ wདྷि7PMͷاըձٞ

  5. 8&# %#13&44QMVT w೥ץߦ։࢝ wطץ࡭

  6. γϦʔζۙץ ޷ධൃചத ݄೔ ൃച༧ఆ

  7. ੍࡞؀ڥ

  8. ओͳπʔϧ w(JU)VCͰݪߘ؅ཧ wNEJOBPͰݪߘςΩετͷม׵ w"EPCF*O%FTJHOͰࢴ໘ϨΠΞ΢τ wDPEFHFOTXJGUͰαϯϓϧίʔυநग़
 ʢຊॻ༻ͷ৽ฌثʣ

  9. (JU)VCͰݪߘ؅ཧ wஶऀͱฤूऀ͕࢖͏ wه๏͸.BSLEPXO wͦΕͧΕͷ࡞ۀ͸ɺ8*1ʢ8PSL*O1SPHSFTTʣͳ
 1VMM3FRVFTUΛग़ͯ͠ߦ͏ ૿࡮ʢະఆʣʹ
 ޲͚ͯݱࡏਐߦத ͷ1VMM3FRVFTU

  10. NEJOBPͰݪߘͷม׵ wฤूऀ͕࢖͏ w.BSLEPXOͰॻ͔ΕͨݪߘΛɺ8&# %#13&44 8&# %#13&44QMVT༻ͷ*O%FTJHOλά෇͖ςΩετ ʹม׵͢Δ w ݟग़͠ɺຊจɺ஫ऍͳͲͷจࣈؔ܎ΛࣗಈϨΠΞ΢τ w

    ը૾ɺදͳͲͷผΦϒδΣΫτ΋ͷ͸खಈ w!OBPZB͞Μɺ!IPLBDDIB͞Μɺ!UZQFTUFS͞ΜΒ࡞ wࣗ෼Ͱ໊෇͚ͨΘ͚Ͱ͸ͳ͍Ͱ͢
  11. "EPCF*O%FTJHOͰ
 ࢴ໘ϨΠΞ΢τ wϨΠΞ΢τ୲౰ऀ͕࢖͏ ͜ͷϖʔδʹ͸ਤද ͕ͳ͍ͷͰɺ*O%FTJHO λά෇͖ςΩετΛ
 ྲྀ͠ࠐΊ͹΄΅ϨΠ Ξ΢τ׬ྃ

  12. ͜͜·Ͱͷπʔϧʹ͍ͭͯৄ͘͠͸ɺ
 ೥ͷ(JU)VC,BJHJͰͷൃදࢿྉ
 ʮ(JU)VCͰࡶࢽɾॻ੶Λ࡞ΔʯΛ͝ཡ͍ͩ͘͞ IUUQXXXTMJEFTIBSFOFUJOBPHJUIVCLBJHJ

  13. DPEFHFOTXJGUͰίʔυநग़ wஶऀͱฤूऀ͕࢖͏ wຊॻ༻ʹஶऀ͞Μ͕৽։ൃ wίϚϯυҰൃͰɺݪߘςΩετ͔ΒίʔυΛൈ͖ ग़͠ɺ഑෍༻ͷ1MBZHSPVOEϑΝΠϧΛੜ੒͢Δ wશମͰ΋ͷίʔυย͕͋ΔͨΊɺखಈͩͱ ϛε͕ൃੜ͢Δ wಈ࡞֬ೝͰ͖ΔͨΊɺࢴ໘ͷ඼࣭޲্ʹ΋׆༂

  14. ͜Μͳײ͡Ͱɺষ͝ͱͷ1MBZHSPVOEϑΝΠϧΛɺ
 ίʔυย͝ͱʹϖʔδΛ෼͚ͯੜ੒ͯ͘͠ΕΔ

  15. ץߦ·Ͱͷ෣୆ཪ

  16. ϑΣʔζ wاը wࣥච w૬ޓϦϥΠτ wฤू w੍࡞

  17. اըͷਐΊํ wίϯηϓτɺର৅ಡऀɺର৅ൣғͳͲΛݻΊΔ wৄࡉͳΞ΢τϥΠϯʢ໨࣍ʣʹམͱ͠ࠐΉ ʮର৅ಡऀͷ͏ͪҰ൪લఏ஌ࣝͷͳ͍ํ͕ɺ
 ɹΞ΢τϥΠϯΛಡΉ͚ͩͰɺຊॻͷετʔϦʔΛ
 ɹཧղͰ͖ΔΑ͏ʹ͍ͯͩ͘͠͞ʯ

  18. اըεέδϡʔϧ wɿΩοΫΦϑ wɿΞ΢τϥΠϯܾఆ ϲ݄ؒ ݟग़͠਺͸ ʢץߦ࣌͸ʣ

  19. ࣥචͷਐΊํ w!JTILBXB͞Μ͸ɺલ൒ͷجຊষ͔Βॻ͘ w!ZVTFJOJTIJZBNB͞Μ͸ɺޙ൒ͷ࣮ફষ͔Βॻ͘ ʮಡऀͷํ͕ιʔείʔυ΍දͳͲΛಡΈඈ͹ͯ͠ ɹຊจ͚ͩΛಡΜͰ΋ɺେҙ͸௥͑ΔΑ͏ʹॻ͍ͯ
 ɹ͍ͩ͘͞ʯ

  20. ࣥචεέδϡʔϧ wɿࣥචελʔτ wɿશষ୤ߘ ϲ݄ؒ ͓Ұਓ͋ͨΓ݄ষϖʔε

  21. ͔͜͜Β͕ຊ൪ ຊॻͰ͸ɺ͔͜͜ΒͷϒϥογϡΞοϓʹ
 ྗΛ஫͗·ͨ͠ ୤ߘ ॳߍ ೖߘ

  22. ૬ޓϦϥΠτͷਐΊํ w୲౰ষΛަ୅ͯ͠૬ޓϦϥΠτΛߦ͏ w ڞஶʹΑΔσϝϦοτΛͳͨ͘͢Ί w આ໌ͷաෆ଍ɺ༻ޠͷෆ౷Ұɺจମͷ૬ҧ wࣥචऀຊਓ͡Όͳ͍ͱमਖ਼Ͱ͖ͳ͍΋ͷ͸ɺ*TTVFԽ͢Δ wϨϏϡϫʔͷํʹΑΔϨϏϡʔ΋ฒߦͯ͠ߦ͏ ʮଞਓͷจষΛมߋ͢Δͷ͸ؾ͕ͻ͚Δ͔ͱ ɹࢥ͍·͕͢ɺࣗ͝਎ͷจষΛਪᏏ͍ͯ͠Δͱ

    ɹ͓ࢥ͍ʹͳͬͯϦϥΠτ͍ͯͩ͘͠͞ʯ
  23. ૬ޓϦϥΠτͷεέδϡʔϧ wɿ૬ޓϦϥΠτɺϨϏϡʔελʔτ wɿ૬ޓϦϥΠτɺϨϏϡʔ׬ྃ wɿϑΟʔυόοΫ΁ͷରԠ׬ྃ ϲ݄ؒ

  24. ฤूͷਐΊํ w૬ޓϦϥΠτͱಉ༷ʹɺϦϥΠτ͸௚઀ߦ͏ wෳ਺ষʹؔΘΔϑΟʔυόοΫ͸ɺ*TTVFԽ͢Δ wͦͷষݻ༗ͷϑΟʔυόοΫ͸ɺݪߘதʹ˒Ͱ ׅͬͯίϝϯτ͢Δ w ˒˓˓ͳͲͷ˒ϥΠϒϥϦ͕͋Γ·͢ɻ w ˒ͳͥɺ☓☓ͳͷ͔͕ͪΐͬͱΘ͔Γ·ͤΜͰ ͨ͠˒

  25. ฤूεέδϡʔϧ wɿฤू෦ߍਖ਼ελʔτ wɿฤू෦ߍਖ਼׬ྃ wɿฤू෦࠶ߍਖ਼׬ྃ w શମతʹେ͖͘มΘͬͨͷͰ΋͏Ұ౓ w ୤ߘ࣌ʹൺ΂ɺ໿ഒɺϖʔδ૿͍͑ͯͯযΔ wɿฤू෦࠶ʑߍਖ਼׬ྃ w

    4XJGUରԠɺඇॏཁ߲໨ͷ࡟আͳͲͨͨ͠Ίࠩ෼Λ֬ೝ ϲ݄ؒ ʢ4XJGU߹Θͤʹมߋͨͨ͠Ίͱɺح਺݄͸
 ɹࡶࢽͷ࡞ۀΛ͍ͯ͠ΔͨΊΏͬ͘Γϖʔεʣ
  26. ੍࡞ͷਐΊํ w*O%FTJHOͰ࡞ͬͨຊ൪ήϥ΁ͷஶऀ͝ߍਖ਼݁Ռ΋ɺ ͜Ε·ͰͲ͓Γ1VMM3FRVFTUͰ΋Β͏ wͦΕΛϨΠΞ΢τ୲౰ऀʹ఻͑Δͷ͸੺ೖΕͰ w͜ͷஈ֊Ͱͷมߋ͸࡞ۀϛε͕ൃੜ͠΍͍͢ͷͰɺ
 ฤूஈ֊ͰۃྗΫΥϦςΟΛ্͓͛ͯ͘ ʮʯͱ͔͸
 ࠩ෼ςΩετͷ൪߸

  27. ੍࡞εέδϡʔϧ wɿॳߍ׬੒ wɿ೦ߍ׬੒ʢෳ਺ճʣ wɿҹ࡮ॴೖߘʂ ϲ݄ؒ

  28. ਺ࣈͰΞϐʔϧ ͜ͷຊ͸ɺΑΓྑ͍ຊΛ໨ࢦͯ͠
 ΈΜͳͰྗΛ߹Θͤͯ޻਺Λ͔͚ա͗
 ͘Β͍͔͚ͯ࡞ͬͯ͠·͍·ͨ͠ͷͰɺ
 ʮ͕Μ͹ͬͨΞϐʔϧʯΛ͍ͤͯͩ͘͞͞

  29. (JU)VC wίϛοτ਺ɿ  w1VMM3FRVFTU਺ɿ w*TTVF਺ɿ ୤ߘ ॳߍ ೖߘ

  30. ϛʔςΟϯάͱΧϯρϝ wϛʔςΟϯάɿճ w ͍͍݄ͩͨҰ͘Β͍ wΧϯρϝɿճ w ༧ఆΑΓ஗Ε͕ੜͨ͡ͱ͖ʹߦ͏ w େ൒͸ஶऀ͞Μ͓ೋਓͰɻͨ·ʹશһͰ w

    ʮ૭ͷͳ͍ձٞࣨͰͰ͔͢ʁʯ
  31. ʮ*TTVFରԠɺ˒ରԠɺಈ࡞֬ೝͰ
 ͓ೋਓͦΕͧΕ໿͔͔࣌ؒΔ
 ͱ͍͏ݟੵ΋ΓͰ͢Ͷɻ ٳ೔͸೔࣌ؒɺฏ೔͸ຖ೔࣌ؒɺ ࡞ۀ͍ͯͩ͘͠͞ʯ
 
 ͳͱ͖ͷϗϫΠτϘʔυ

  32. ߍਖ਼ wॴཁ࣌ؒɿ࣌ؒ w ࡞ۀ೔ w ೔͋ͨΓ࣌ؒ wϑΟʔυόοΫ਺ʢ˒΍*TTVFʣɿ  ʢલड़ͨ͠ฤूϑΣʔζͰͷ΋ͷͰ͢ɻ૲ߘஈ֊΍ॳߍ׬੒
 ɹҎޙͷ΋ͷ͸ɺܭଌͯ͠ͳ͍ͷͰؚ·Ε͍ͯ·ͤΜʣ

  33. ·ͱΊ

  34. ͓ೋਓ͔ͩΒͦ͜ɺ͏·͍ͬͨ͘ wࣄલʹ໘ࣝͳ͠ w ஶऀ͞ΜͲ͏͠΋ɺஶऀ͞Μͱฤूऀ΋ w೥ϲ݄ؒͱ͍͏௕ظϓϩδΣΫτ w͜͜·Ͱઆ໌͖ͯͨ͠Α͏ͳաෛՙ w͝స৬ɺ͓ࢠ༷ͷ஀ੜɺ௕ظग़ுɺւ֎సۈ ͳͷʹɺ͔ͤͬ͘ͷٳ೔ʹɺ૭ͷͳ͍ձٞࣨͰͷ
 ΧϯρϝதͰ͋ͬͯ΋ɺݥѱͳงғؾʹͳͬͨΓ
 ͨ͜͠ͱ͸Ұ౓΋͋Γ·ͤΜͰͨ͠☺

  35. 4XJGUͷఆ൪ॻΛ໨ࢦ͍ͨ͠ վగΛॏͶͳ͕Βɺ௕೥Ѫ͞ΕΔ4XJGUͷఆ൪ॻ ʹͳΔ͜ͱΛ໨ඪʹ͍ͯ͠·͢ɻ Ͱ΋ɺॳ൛͕ͪΌΜͱചΕͳ͍͜ͱʹ͸ɺվగ Ͱ͖·ͤΜɻ ͥͻɺ͝ߪಡ͍ͩ͘͞ɻ ͦͯ͠ྑ͍ຊͰͨ͠Βɺपғͷํʹ΋קΊͯͩ͘ ͍͞ʂ

  36. ͝੩ௌ͋Γ͕ͱ͏
 ͍͟͝·ͨ͠