$30 off During Our Annual Pro Sale. View Details »

『pixivエンジニアが教えるプログラミング入門』出版記念特別編基調講演

 『pixivエンジニアが教えるプログラミング入門』出版記念特別編基調講演

Kaneko Tatsuya

March 27, 2015
Tweet

More Decks by Kaneko Tatsuya

Other Decks in Programming

Transcript

  1. ʰQJYJWΤϯδχΞ͕ڭ͑Δϓϩάϥϛϯάೖ໳ʱ
    ग़൛ه೦ಛผฤ
    جௐߨԋ
    ϐΫγϒΠϯϑϥDBUBUTVZ

    View Slide

  2. ࣗݾ঺հ
    • catatsuy ͱ͍͏ ID ͰΠϯλʔωοτ্Ͱ׆ಈ
    • ͔͍ͨͭͬͯݺ͹Ε͍ͯΔ
    • ຊ໊͸ۚࢠୡ࠸Ͱࠓճͷຊͷஶऀ
    • 2013/9ʹେֶΛଔۀޙʹϐΫγϒೖࣾ
    • ΠϯϑϥͰमߦத
    • ޿ࠂαʔόʔͷΠϯϑϥ୲౰ʹ
    • ISUCON4४༏উ

    View Slide

  3. ࣄͷൃ୺
    • ඇΤϯδχΞͷ৽ଔʹ޲͚ͯϓϩάϥϛϯάݚमΛ͢Δ͜ͱʹ
    • ඇΤϯδχΞͷ৽ଔʹϓϩάϥϛϯάݚमΛߦ͍·ͨ͠ - pixiv
    engineering blog http://inside.pixiv.net/entry/2014/04/28/140859
    • ͜ͷϒϩάެ։ޙʹ੕ւࣾ͞Μ͔Βॻ੶Խͷ࿩͕ձࣾܦ༝Ͱࣗ෼ʹ
    • ձࣾͷ৚݅ͱͯ͠ݸਓͱͯ͠࢓ࣄΛड͚Δ͜ͱͱձࣾͷ޿ใʹ໾ཱͭ಺༰
    ʹ͢Δ͜ͱΛڍ͛ΒΕΔ
    • ͜ΕΛར༻࣮ͯ͠ࡍͷpixivͷ։ൃʹབྷΊͨ࿩ͳͲΛຊͷதʹ੝ΓࠐΉ
    ͜ͱ͕ՄೳʹͳΓ࣮༻తͳ಺༰ʹ
    • ʰ΅͘ͷ͔Μ͕͍͖͑ͨ͞ΐ͏ͷ…ʱͬͯλΠτϧͩͱചΕͳͦ͞͏w

    View Slide

  4. ຊͷେࡶ೺ͳ಺༰
    • ʰMacͰ࣮ࡍʹಈ͘ը૾౤ߘܝࣔ൘Λ࡞Δʱͱ͍͏໨ඪʹ޲͚ͯͻͨ͢Βඞ
    ཁͳ஌ࣝΛղઆ͢Δ
    • ࣮ࡍʹࣾ಺Ͱߦͬͨϓϩάϥϛϯάݚमͱ΄΅ಉ಺༰
    • UNIXίϚϯυɾRubyɾSQLiteɾGitɾJavaScriptɾjQueryͳͲΛ࢖͏
    • ֶੜΠϯλʔϯͩͱ͜ͷϨϕϧͰ΋஌Βͳ͍ਓ͸͍Δ
    • RubyΛ࢖ͬͨཧ༝͸ࣾ಺Ͱ΋࠾༻ྫ͕ଟ͍ͷͱMacͰඪ४Ͱ࢖͑Δ͜ͱ
    ͱSinatra͕࢖͑ΔͷͰબ୒
    • SQLite͸MacͰඪ४Ͱ࢖͑Δ͜ͱͱSQLҎ֎ͷ෦෼Ͱ೰ΜͰཉ͘͠ͳ͔ͬ
    ͨͷͰબ୒

    View Slide

  5. ͳͥը૾౤ߘܝࣔ൘͔
    • ݚमͷςʔϚΛߟ͑Δ্Ͱࣾ௕͔Βग़ͨΞΠσΟΞ
    • େม͕ͩpixivʹ௨͡Δͱ͜Ζ΋͋Γɼ͓΋͠Ζ͍ͱ൑அ
    • id:naoya͞Μͷݴ༿Λࢥ͍ग़ͨ͠
    • ʰπʔϧͱͯ͠ͷιʔγϟϧϝσΟΞ͍ͬͯ͏ͷ͸ɺ͔ͭͯͷʮܝࣔ൘ʯ͕15
    ೥͘Β͍͔͚ͯܗΛม͚͑ͨͩͩͱࢥ͏ʱ
    • ݩ͸ͯͳɾGREEͷϓϩάϥϚ ҏ౻௚໵͕ޠΔɺιʔγϟϧϝσΟΞͷޭࡑɻ
    ʦલฤʧ | CAREER HACK http://careerhack.en-japan.com/report/detail/34
    • WebΞϓϦΛ࡞Δ্Ͱجຊతͳ஌ࣝʢHTMLɾCSSɾSQLɾαʔόʔαΠυϓϩ
    άϥϛϯάetcʣ͕શͯඞཁͰςʔϚͱͯ͠ద౰

    View Slide

  6. ී௨ͷϓϩάϥϛϯάݚमͱҧ͏ͱ͜Ζ
    • ී௨ͷϓϩάϥϛϯάݚम͸঎ۀతͳ΋ͷͰ͓٬༷ͷύιίϯͰແཧ΍ΓʹͰ΋ձ
    ͕ࣾٻΊΔ΋ͷΛಈ͔ͯ͠ݚम಺༰ΛऴΘΒͤΔͷ͕໨త
    • ঎ۀతʹ͸ਖ਼͍͕͠ɼ؀ڥߏஙͰ΄ͱΜͲͷ࣌ؒΛ࢖ͬͯ͠·͏
    • େਓ਺Λ࣮֬ʹશһݚम಺༰ΛऴΘΒͤΔͨΊʹ؆୯ͳ಺༰ʹͤ͟ΔΛಘͳ͍
    • ࣾ಺ͷݚमͷ໨త͸ඇΤϯδχΞͷਓ͕ͨͪ͜Ε͔ΒΤϯδχΞͱ࢓ࣄΛ͢Δʹ͋
    ͨͬͯ࢓ࣄʹࢧো͕ग़ͳ͍Α͏ʹ͢Δ͜ͱ͕໨త
    • ϐΫγϒࣾ಺Ͱ͸ඇΤϯδχΞͰ΋GitɾHTMLɾCSS͸࢖͏͜ͱ͕͋Δ
    • ٕज़తͳ༻ޠͳͲͰ໘৯Β͏͜ͱ͕ͳ͍Α͏ʹ͍ͨ͠
    • ͜Ε͔ΒҰॹʹ࢓ࣄΛ͢ΔਓୡͷͨΊ؆୯ͳ಺༰͔͠΍Βͳ͚Ε͹ෆརӹΛ͜
    ͏ΉΔͷ͸ࣗ෼ͨͪ

    View Slide

  7. ͩ͜Θͬͨͱ͜Ζ
    • ࣮ࡍʹखݩͰಈ͍ͯɼ࣮ࡍͷWebΞϓϦΛ࿈૝ͤ͞Δ͜ͱ
    • ࣮ࡍͷWebΞϓϦͱ͋·Γʹ͔͚཭Ε͍ͯΔͱ΍Δؾ͕ແ͘ͳΔ
    • ؀ڥߏஙΛ࠷খݶʹͯ͠ϓϩάϥϛϯά͚ͩʹۤ͠ΉΑ͏ʹ
    • ΄ͱΜͲͷਓ͸؀ڥߏஙͰͭ·͍ͣͯϓϩάϥϛϯά͕ݏ͍ʹͳΔ
    • XSSɾSQLΠϯδΣΫγϣϯͳͲηΩϡϦςΟΛଥڠͤͣ੝ΓࠐΉ
    • ࢓ࣄΛ͢Δ্Ͱग़ͯ͘ΔͷͰ஌͍ͬͯͯཉ͍͠
    • ࣮ࡍʹϢʔβʔ͕౤ߘ͢Δը૾౤ߘܝࣔ൘ͳΒ௚໘͢Δ໰୊
    • جຊతͳ಺༰ΛͩΒͩΒڭ͑ͳ͍
    • ࠷ॳʹڭ͑ͨ͜ͱ͸جຊతʹը૾౤ߘܝࣔ൘Λ࡞Δ࣌ʹશ෦ग़ͯ͘ΔΑ͏ʹ

    View Slide

  8. ͖͋ΒΊͨͱ͜Ζ
    • WindowsͰͷ؀ڥߏங
    • ॳ৺ऀ͕ҰਓͰઈରͰ͖ͳ͍͠ɼϓϩάϥϛϯάͷ؀ڥ͸ಛघͩͱࢥΘΕͨ͘ͳ͍
    • UNIXίϚϯυΛڭ͍͑ͨ
    • ϞϯελʔϚγϯ໰୊
    • GitΛ࢖ͬͨ։ൃաఔ
    • ։ൃͨ͜͠ͱ͕ͳ͍ਓʹ͸࣮ײ͕ͳ͍
    • ͨͩͰ͑͞೉͍͠ϓϩάϥϛϯάաఔͷதʹ੝ΓࠐΊΔࣗ৴͕ͳ͔ͬͨ
    • RubyͷγϯϘϧͳͲࡉ͔͍આ໌
    • ಈ͘ͱ͍͏ײಈΛ༩͑ΒΕΕ͹Α͠ͱͨ͠

    View Slide

  9. ͖͋ΒΊͨͱ͜Ζ
    • AmazonͷϨϏϡʔ
    • ߥΕΔ͜ͱ͸૝ఆࡁΈ
    • ͦΜͳ͜ͱΑΓ΋෼͔Γ΍͍͢΋ͷΛఏڙ͍ͨ͠
    • ചΓ্͛
    • ͨ͘͞ΜചΓ͍ͨͳΒWindows޲͚ʹΠϯετʔϧաఔͷεΫγϣΛష
    Γ·ͬͯ͘ద౰ͳ಺༰Λॻ͘ํ͕͍͍
    • ͜Ε͔ΒҰॹʹ࢓ࣄΛ͢Δਓʹ޲͚ͯ࡞ͬͨ಺༰ͷॻ੶ԽͳͷͰͦΜͳ͘
    ͩΒͳ͍಺༰ʹͨ͘͠ͳ͍
    • ֶͼ͍ͨਓ͕ຊ౰ʹֶͼ͍ͨ಺༰Λॻ͖͍ͨ

    View Slide

  10. ࣭໰λΠϜ
    ʢπΠʔτېࢭ΋͋ΔΑʂʣ

    View Slide