Save 37% off PRO during our Black Friday Sale! »

[pixiv summer boot camp] pixivFACTORY

50fc2c295f0049226979b19e76f7a58d?s=47 alpaca-tc
September 24, 2015

[pixiv summer boot camp] pixivFACTORY

pixivで開催した大学生向けインターンで、学生向け講義として話しました。
自分の作ったpixivFACTORYについてと、開発を通じて大事だったことを簡単に盛り込みました。

50fc2c295f0049226979b19e76f7a58d?s=128

alpaca-tc

September 24, 2015
Tweet

Transcript

  1. None
  2. ɾTwitter @alpaca_taichou, Github: @alpaca-tc ɾझຯɿ஄ؙཱྀɾࢄาɾ͓ञɾvim ɾݴޠ VimScript / Ruby /

    PHP / JavaScript ɾϒϥοΫاۀେ޷͖ ࣗݾ঺հ ͍ͬ͘Μ ʢੴҪ ߒ೭ʣ
  3. ࣗݾ঺հ ͍ͬ͘Μ ʢੴҪ ߒ೭ʣ ৽نࣄۀ։ൃνʔϜΤϯδχΞɹBOOTH / pixivFACTORY ɾTwitter @alpaca_taichou, Github:

    @alpaca-tc ɾझຯɿ஄ؙཱྀɾࢄาɾ͓ञɾvim ɾݴޠ VimScript / Ruby / PHP / JavaScript ɾϒϥοΫاۀେ޷͖
  4. ɾpixivFACTORYͱ͸ʁ ɾ։ൃͰେࣄͩͬͨ͜ͱ ίʔυΛॻ͔ͳ͍ ϢʔβʔΛ஌Δ ʮΤϯδχΞʯͷ࢓ࣄΛ͢Δ ࿩͢͜ͱ ɾٕज़తͳpixivFACTORYͷ࿩ ࿩͞ͳ͍͜ͱ

  5. pixivFACTORYͱ͸ʁ

  6. ɾࠓ೥2݄ʹϦϦʔεͨ͠αʔϏε ɾ ΠϥετҰຕͰάοζ͕࡞ΕΔʂ ɾ ॳظඅ༻ɾࡏݿϦεΫͳ͠ pixivFACTORYͱ͸ʁ

  7. pixivFACTORYͱ͸ʁ ղܾ͔ͨͬͨ͠໰୊͸ͳʹ͔ʁ ͱ͋Δࣄ࣮… άοζΛͭ͘Δͷ͸೉͍͠

  8. ɾෳࡶͳϑΝΠϧܗࣜ ɾ໎࿏ͷΑ͏ͳUI ɾి࿩ɾFAXɾϝʔϧͳͲɺ ɹ࣌୅஗Εͳ࿈བྷखஈ pixivFACTORYͱ͸ʁ ղܾ͔ͨͬͨ͠໰୊͸ͳʹ͔ʁ ɾϩοτ਺ͷน ɾͱʹ͔͓͕͔͔ۚ͘Δ http:// www.wave-

    inc.co.jp/data/
  9. pixivFACTORYͱ͸ʁ ղܾ͔ͨͬͨ͠໰୊͸ͳʹ͔ʁ →ը૾ҰຕͰOK →ॳظඅ༻ແྉɾΦϯσϚϯυ →ແྉͰൢചՄೳ http:// www.wave- inc.co.jp/data/

  10. pixivFACTORYͱ͸ʁ ղܾ͔ͨͬͨ͠໰୊͸ͳʹ͔ʁ DEMO ͜Ε͔ΒΞΠςϜΛ࡞ͬͯΈ·͢

  11. pixivFACTORYͱ͸ʁ ϦϦʔε࣌ͷϢʔβʔ͞Μͷ൓Ԡ

  12. pixivFACTORYͱ͸ʁ ϦϦʔε࣌ͷϢʔβʔ͞Μͷ൓Ԡ ͔ͳΓ޷ධʂʂʂ

  13. ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ ʮίʔυΛॻ͔ͳ͍ʯ ϢʔβʔΛ஌Δ ʮΤϯδχΞʯͷ࢓ࣄΛ͠Α͏

  14. ʮίʔυΛॻ͔ͳ͍ʯ ϢʔβʔΛ஌Δ ʮΤϯδχΞʯͷ࢓ࣄΛ͠Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  15. “You ain’t gonna need it” YAGNI ίʔυΛ͢͹΍࣮͘૷͢ΔͨΊʹ࠷΋ྑ͍ํ๏͸ɺ ͋·ΓίʔυΛॻ͔ͳ͍͜ͱͰ͋Δɻ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ ʮίʔυΛॻ͔ͳ͍ʯ

    ɾͦͷ͏ͪඞཁʹͳΔ͔΋͠Εͳ͍ػೳ͸͍Βͳ͍ ɾίʔυΛݮΒ͢͜ͱʹ࣌ؒΛ͔͚Δ ɾແବͳ࣌ؒΛ࢖Θͳ͍ɻ͍ͭͰ΋յ͠΍͍͢ɻ ɾকདྷඞཁͳ͜ͱ͸ɺඞཁʹͳͬͨ࣌ʹ΍Δ
  16. ʮίʔυΛॻ͔ͳ͍ʯ ਓੜ͸ੵΈॏͶͩͱ୭Ͱ΋ࢥ͍ͬͯΔΑ͏ͩɻ΅͘͸ٯʹɺੵΈ΁Β͢΂͖ ͩͱࢥ͏ɻࡒ࢈΋஌ࣝ΋ɺ஝͑Ε͹஝͑Δ΄Ͳɺ͔͑ͬͯਓؒ͸ࣗ༝͞Λ ࣦͬͯ͠·͏ɻ ूத͢ΔͨΊͷݪଇ͸ɺੜ࢈తͰͳ͘ͳͬͨաڈΛࣺͯΔ͜ͱͰ͋Δ ͋ͳͨͷਓੜͷ࣌ؒ͸وॏͰ͋Δɻ͋ͳͨͷೳྗ͸୯ʹίʔυΛॻͨ͘ΊͰ ͸ͳ͘ɺݱ࣮ͷ໰୊ʹूத͢ΔͨΊʹ࢖͏΂͖Ͱ͋Δ YAGNI υϥοΨʔ Ԭຊଠ࿠

    ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
  17. ʮίʔυΛॻ͔ͳ͍ʯ ͋ͬͯ΋Α͍ػೳ ࠓͳͯ͘͸ͳΒͳ͍ػೳ Έͳ͞Μͷوॏͳ10೔ؒ ❌ ⭕ YAGNIΛҙࣝͯ͠ίʔυΛॻ͜͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  18. ʮίʔυΛॻ͔͘ͳ͍ʯ ϢʔβʔΛ஌Δ ʮΤϯδχΞʯͷ࢓ࣄΛ͠Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  19. ϢʔβʔΛ஌Δ ɾʢଟ͘ͷ৔߹ʣސ٬͸਎ۙʹ͍Δ ɾఏڙ͍ͯ͠ΔՁ஋͕ਖ਼͍͔͠ɾސ٬Λ஌Δ ɾΠϯλϏϡʔͳΓɺࡶஊͳΓɺ༡͹ͤͯΈΔͳΓ ɹɹɾ͍ͭ࢖͏ʁࣅͨΑ͏ͳαʔϏε͸ʁͳΜͰΞϨ͸࢖Θͳ͍ͷʁ ɾؒҧ͍ʹ͍ͪૣ͘ؾͮͨ͘Ίʹ΍Δ ɾ਎ۙͳϢʔβʔΛͭ͘Ζ͏ ɹɹɾ͍ͭͰ΋ײ৮Λ͔֬ΊΒΕΔɻ ɹɹɾѱޱΛݴͬͯ΋Β͑ΔϢʔβʔ͸وॏɻ ɹɹɾࣗ෼ͷ஌Βͳ͍஌ࣝ(ΫϦΤΠλʔํ໘)ʹ͍ͭͯฉ͚Δ

    ɾੵۃతʹώτͱҿΈʹߦͬͯαʔϏεΛ࢖ΘͤͯΈΔ ֎ʹग़Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ
  20. ެԂʹ͸਌ࢠ࿈Εɺ ҿΈ԰ʹ͸αϥϦʔϚϯɺ ΪϟϥϦʔʹ͸ΫϦΤΠλʔɺ ձࣾͷத΍ɺ֗ʹग़Ε͹ɺ͍ΖΜͳਓ͕͍Δɻ Έͳ͞Μͷوॏͳ10೔ؒ Ұ౓͸Ϣʔβʔʹฉ͍ͯ ࣦഊ͠Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ ϢʔβʔΛ஌Δ

  21. ʮίʔυΛॻ͔ͳ͍ʯ ϢʔβʔΛ஌Δ ʮΤϯδχΞʯͷ࢓ࣄΛ͢Δ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  22. ʮΤϯδχΞʯͷ࢓ࣄΛ͢Δ ίʔυΛॻ͘͜ͱ ΤϯδχΞͷ࢓ࣄͬͯͳʹʁ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  23. ʮΤϯδχΞʯͷ࢓ࣄΛ͢Δ ίʔυΛॻ͘͜ͱ ΤϯδχΞͷ࢓ࣄͬͯͳʹʁ ❌ Ϣʔβʔͷ໰୊Λղܾ͢ΔͨΊʹ WebαʔϏεΛͭ͘Δ͜ͱ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  24. ʮΤϯδχΞʯͷ࢓ࣄΛ͢Δ ๻Βͷ࢓ࣄ͸डୗ։ൃͰ͸ͳ͍ɻ ɾϢʔβʔαϙʔτۀ຿ ɾΫϦΤΠλʔͱͷ΍ΓͱΓ ɾҹ࡮ۀऀͱͷ΍ΓͱΓ ɾి࿩ରԠ ɾWebαΠτΛͭ͘Δͷ͸Ұ෦ɻ ձࣾͷ੒Ռ͸ιʔείʔυ΍αʔόʔͰ͸ͳ͘ Ϣʔβʔͷͱ͜Ζʹ͔͠ͳ͍ɻ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  25. ʮΤϯδχΞʯͷ࢓ࣄΛ͢Δ ɾαʔϏεʹؔ܎͋Δ͜ͱ͸͢΂ͯΤϯδχΞ͕ؔΘͬͯྑ͍ ɾώτ͸γεςϜΑΓॊೈɻࣗಈԽ͠ͳͯ͘΋Ͱ͖Δ͜ͱ͸͍ͬͺ͍ɻ ɾֶͼ͕ૣ͍ ɾϢʔβʔମݧ͸γεςϜ͚ͩ͡Όͳ͍ ɹɾྫ͑͹ҹ࡮σʔλ͕ζϨ͍ͯͨΒ࠷ѱ ɾͳʹΑΓɺϢʔβʔͱ઀͢Δ͜ͱ͸ࣗ਎ͷϞνϕʔγϣϯʹͳΔ ίʔυ͸ॻ͚ͯ ౰ͨΓલ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  26. ʮࢲ͸ίʔυॻ͘ͷ͕࢓ࣄ͔ͩΒɺผʹ͍͍Ͱ͠ΐʯ Έͳ͞Μͷوॏͳ10೔ؒ ࣗ෼Ͱࣗ෼ͷΤϯδχΞͷ࿮Λ ͙͙ͬͱ޿͛ͯཉ͍͠ ❌ ʮΤϯδχΞʯͷ࢓ࣄΛ͢Δ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱ

  27. YAGNIɻʮඞཁͳ΋ͷ͚ͩॻ͘ʯ ϢʔβʔΛ஌ΔɻͲΜͲΜֶΜͰࣦഊ͠Α͏ ΤϯδχΞͷ࢓ࣄͷ࿮Λࣗ෼Ͱ޿͛Α͏ ։ൃͰେࣄʹ͍ͯ͠Δ͜ͱɺ·ͱΊ