Slide 1

Slide 1 text

Ruby͔Β PHP΁ @kuromatu ൃද -ΤϯδχΞͷͨΊͷࢥߟҠߦΨΠυ-

Slide 2

Slide 2 text

͸ͳ͢ͻͱ • ຀໺༟೭ʢ@kuromatuʣ • גࣜձࣾVOYAGE GROUP ECφϏॴଐ • ΤϯδχΞ7೥໨ʢRuby4೥ɺPHP2೥ʣ • ήʔϚʔʢఏಜɺङਓɺͳͲͳͲʣ

Slide 3

Slide 3 text

ΤϯδχΞͱͯ͠Ͳ͏Αʁ • ࣾձਓʹͳ͔ͬͯΒຊ֨తʹϓϩάϥϛϯά Λ࢝Ί·ͨ͠ • ൃදͰ͖ΔΑ͏ͳେͦΕͨ͜ͱ͸΍ͬͯͳ͍ ͚Ͳɺͦͦ͜͜ͷ͓࢓ࣄΛ͖ͯͨͭ͠΋Γ • ߴͦ͏Ͱߴ͘ͳ͍গ͠ߴ͍ҙࣝ

Slide 4

Slide 4 text

Ruby(Rails)ͷ͓͠͝ͱྺ • SNSύοέʔδɾडୗ։ൃ(Rails1.2)Λ2೥ؒ • ๭өըϝσΟΞαΠτ(Rails2.2)Λ2೥ؒ • Rubyόʔδϣϯ͸1.8.6 / 1.8.7

Slide 5

Slide 5 text

PHPͷ͓͠͝ͱྺ • ECφϏ(PHP5)Ͱ3೥໨ɻ৭ʑͱ΍ͬͯ·͢ ࠓ͸ࣗࣾϙΠϯτίϯςϯπ෦໳୲౰ ϨΨγʔίʔυ -> ΦϨΦϨϑϨʔϜϫʔΫ Ͱͷ࠶ߏங͕࠷ۙͷओͳ͓͠͝ͱ

Slide 6

Slide 6 text

͜ͷτʔΫͷͬ͘͟Γ಺༰ • ৽ଔ͔Β࢓ࣄͰRubyɾRuby on RailsͰ։ൃ͠ ͯࢥͬͨ͜ͱɺ᩵୔ͳ೰Έ • ྺ࢙͋ΔPHP੡αʔϏεʹܞΘΓࢥͬͨ͜ͱ • ʲຊ୊ʳPHPʹܞΘΔํʑʹݴ͍͍ͨ͜ͱ

Slide 7

Slide 7 text

͜ͷτʔΫΛฉ͍ͯ΄͍͠ਓ • Ruby౳ͷΑ͘ग़དྷͨݴޠ͔ΒPHPʹҠͬͨਓ • Pͷͭ͘ݴޠʹܞΘΔͷʹগ͠ർΕͨํ • ຾͍ਓɺ΅ʔͬͱ͍ͨ͠ਓ • Ϟϯϋϯ4Λ΍Γ͍ͨਓʢ΍ͬͯ΋͍͍Ͱ͢ʣ

Slide 8

Slide 8 text

session_start();

Slide 9

Slide 9 text

৽ଔ͔ΒRubyͰ

Slide 10

Slide 10 text

Railsͷ্ͷ։ൃ

Slide 11

Slide 11 text

Railsͷ্ͷ։ൃ • ؀ڥ͸ࠓఔܙ·Εͯͳ͍͚ͲRubyͳͷͰշద • RailsͷίΞ͕೉ͯ͘͠Α͘Θ͔Μͳ͍ • Rails͔Β֎Εͨ͜ͱ͸͋·Γ΍ͬͯͳ͍ • ઃܭ͢ΔԼ஍͕ແ͍ɾςετ͕ແ͍ͷͰɺ Ϟσϧ΋ίϯτϩʔϥ΋Ϗϡʔ΋Ԛ͍͜ͱ…

Slide 12

Slide 12 text

Railsͷ্ͷ։ൃ • ৽ଔ΍Rails࢖ͬͨ͜ͱແ͍ਓ͕ଟΊͰɺ׆ ༻ɾઃܭʹशख़ͨ͠ΤϯδχΞͱͷ࡞ۀ͸๬ Έʹ͍͘ঢ়گʹ͋ͬͨ • ΤϦοΫɾΤϰΝϯεͷυϝΠϯۦಈઃܭͰ ݴ͏ʮརޱͳUIʯʹͳΓ͕ͪͩͬͨ ->ϏδωεϩδοΫΛUIʹͿͪ͜Ή΍Γํ

Slide 13

Slide 13 text

Rails࢖͍ͬͯͯ͜͏ࢥͬͨ • 2+2=4೥ಇ͍ͯRubyɾRails͸ͦͦ͜͜Θ͔ͬ ͚ͨͲɺଞͷٕज़ͱൺֱ͍ͨ͠ΑͶ • θϩ͔Βઃܭ࣮ͯ͠૷Ͱ͖ΔΑ͏ʹͳΓ͍ͨ • ͪΌΜͱςετॻ͍࣮ͯ૷͍ͨ͠ • ΋͏ͪΐͬͱۤ࿑ͨ͠ํ͕͍͍Μ͡Όͳ͍͔

Slide 14

Slide 14 text

ͱ͍͏Θ͚Ͱɺ ྺ࢙͋ΔPHP੡αʔϏεͷ ͋Δձࣾʹస৬͠·ͨ͠ɻ

Slide 15

Slide 15 text

RailsΛ߱ΓͯPHP΁

Slide 16

Slide 16 text

Θ͔ͬͯ͸͍͚ͨͲPHP͸ • ؔ਺͕ΞϨͩ͠ଟ͖֮͗ͯ͑͢Εͳ͍ (php.netͱstackoverflow.com͕ແ͍ͱ٧Ή) • ௚ײɾ੎͍ɾߟ͑Λίʔυʹ൓ө͠ʹ͍͘ ൓ө͢Δ·Ͱʹ͕͔͔࣌ؒΓ͗͢Δ

Slide 17

Slide 17 text

ϓϩμΫτ΋݁ߏେม • ྺ࢙ -> Ҩ࢈ -> ϨΨγʔίʔυ • ΦϨΦϨϑϨʔϜϫʔΫɺSymfony1ܥɺૉͷ PHPʹحົͳໟ͕ੜ͑ͨΑ͏ͳ΋ͷɺetc... • །ҰΦϨΦϨϑϨʔϜϫʔΫ͕Ұ൪·ͱ΋ͳͷ ͰɺͦΕʹ౷Ұ͍͖ͯͬ͘͠Όͳ͍

Slide 18

Slide 18 text

͜͏͍͏ΞϓϩʔνΛऔͬͨ • ૉ๿ͳ࡞ΓͷΦϨΦϨϑϨʔϜϫʔΫ͕Ұ௨Γ ͷػೳΛ͍࣋ͬͯͨͷͰɺͦΕΛ֦ு͠࢖͏ • ݴޠ΋طଘίʔυ΋੍໿ͩΒ͚Ͱઃܭେࣄʹ • ୯ମςετʢPHPUnit + PhakeʣΛॻ͍ͯ͘ • දࣔ֬ೝ͸͓޷͖ʹʢthor + selenium, etcʣ

Slide 19

Slide 19 text

Ͱ΋Rails࢖ͬͯ͜͏ࢥͬͯͨ • 2+2=4೥ಇ͍ͯRubyɾRails͸ͦͦ͜͜Θ͔ͬ ͚ͨͲɺଞͷٕज़ͱൺֱ͍ͨ͠ΑͶ • θϩ͔Βઃܭ࣮ͯ͠૷Ͱ͖ΔΑ͏ʹͳΓ͍ͨ • ͪΌΜͱςετॻ͍࣮ͯ૷͍ͨ͠ • ΋͏ͪΐͬͱۤ࿑ͨ͠ํ͕͍͍Μ͡Όͳ͍͔

Slide 20

Slide 20 text

ࠓͷ͓͠͝ͱ͔ΒݟΔͱ • RubyɾRailsҎ֎ͷٕज़ͱൺֱ͍ͨ͠ => OK • θϩ͔Βઃܭ࣮ͯ͠૷ => OK • ͪΌΜͱςετॻ͍࣮ͯ૷͢Δ => OK • ΋͏ͪΐͬͱۤ࿑͢Δ => OK

Slide 21

Slide 21 text

๬Μͩ௨Γ͡Όͳ͍͔ʂ

Slide 22

Slide 22 text

ͦΕʹ͜Μͳ͍͍͜ͱ΋͋Δ • ݴޠͱΦϨΦϨϑϨʔϜϫʔΫͷ੍໿্ɺૉ๿ ͳ࡞Γʹͤ͟ΔΛಘͳ͍ ->νʔϜͱͯ͠͸ίʔυڞ༗͠΍͍͢ • WebΞϓϦέʔγϣϯͷجૅ͔Βߟ͑௚ͤΔ

Slide 23

Slide 23 text

ͦΕʹ͜Μͳ͍͍͜ͱ΋͋Δ • ෆ۩߹ʹख͔ͭͣͷ؅ཧը໘Λͪΐ͍ͱ࡞Γ ௚͚ͨͩ͠Ͱӡ༻ෛՙେ෯ܰݮ -> େײँ • ػೳͱͯ͠͸े෼ͳͷʹ௨஌͕଍Γͯͳ͍ͷ Ͱγϯϓϧͳ௨஌ػೳ௥Ճ -> PVര্͛ • ϨΨγʔίʔυ͕ແ͘ͳͬͨͱ͖ͷṖͷײಈ

Slide 24

Slide 24 text

ͱ͍͏Θ͚Ͱ·ͱΊ • Ruby͔ΒPHPʹҠ͍͍ͬͯษڧʹͳͬͯΔ • ྲྀߦͷٕज़ʹ௥͍ͭ͘ͷ΋େࣄ͚ͩͲɺͦΕ ΛטΈࡅ͍ͯཧղ͢ΔϑΣʔζ΋େࣄͩΑ • ݹͯ͘ݱ໾ͳϏδωεϩδοΫΛ͍͍ײ͡ʹ ॻ͖׵͑Δ͓࢓ࣄ͸Ձ஋͕͋ΔΑ

Slide 25

Slide 25 text

ͱ͍͏ɺ ݸਓతͳ;Γ͔͑ΓͰͨ͠ɻ

Slide 26

Slide 26 text

ʲຊ୊ʳ PHPʹܞΘΔΑ͏ʹ ͳͬͨ OR ͳΔํʑʹ ݴ͍͍ͨ͜ͱ

Slide 27

Slide 27 text

ʲ݁࿦ʳ PHP͸΍ͬͺΓ࢖͍ʹ͍͘ Ϟνϕʔγϣϯ͕Լ͕Δͷ͸ ͠ΐ͏͕ͳ͍ʂ

Slide 28

Slide 28 text

Ϟνϕʔγϣϯ͸ ߟ͑ํΛม͑Ε͹OK • ࢹ఺Λม͑Α͏ • ϏδωεΛֶ΅͏ • ਓΛ஌Ζ͏ • PHPΛ࠶ධՁ͠Α͏

Slide 29

Slide 29 text

ࢹ఺Λม͑Α͏ • ϐϯν͸νϟϯε • ίʔυ͕Ԛ͗ͯ͢ϝϯςͰ͖ͳ͍ʁςετΛ ॻ͍ͯϦϑΝΫλϦϯά͢Δͱ͖ͩʂ • ͍ͭͰʹઃܭΛֶͿઈ޷ͷػձͰ͢

Slide 30

Slide 30 text

ࢹ఺Λม͑Α͏ • ࢓ࣄͰ΋ͳ͍ͱઃܭͱֶ͔͹ͳ͍Ͱ͠ΐʂ • ר͖ࠐ·Εܕͷड͚਎ମ࣭ͩͬͨΓɺՆٳΈ ͷ॓୊Λ࠷ऴ೔ʹ΍Δਓؒʹ͸͍͍͔΋ • ҙࣝͷߴ͍օ͞Μ͝ΊΜͳ͍͞

Slide 31

Slide 31 text

ϏδωεΛֶ΅͏ • ϓϩάϥϛϯάͷ੒ޭ ≠ Ϗδωεͷ੒ޭ • ʲॏཁʳେଟ਺ͷਓʹͱͬͯେࣄͳͷ͸ίʔυ ϕʔεͰ͸ͳ͘Ϗδωε • ໨తͱखஈΛऔΓҧ͑ͪΌμϝ • ޿͘࢖ΘΕ͖ͯͨྺ࢙ͱݱঢ়͸ֶͿՁ஋͕͋Δ

Slide 32

Slide 32 text

ਓΛ஌Ζ͏ • શһ͕ϓϩάϥϛϯάLOVEͳΘ͚͡Ό͋ͳ͍ • ҙࣝͷ௿͍ਓ΋౰વ͍Δ • ޷͖ͳϓϩάϥϛϯά≠ۚͷՔ͛Δϓϩάϥϛϯά ͱ͍͏ߟ͑ͷํ΋͍Δ • ൴Β൴ঁΒͷࢥ͍Λେࣄʹ͢Δͷ͸ɺؾ࣋ͪΑ͘ ͓͠͝ͱ͢Δ্Ͱେࣄͳ͜ͱ

Slide 33

Slide 33 text

PHPΛ࠶ධՁ͠Α͏ • PHP5.5͸͍ͩͿਐԽͨ͠ • ઃܭ΁ͷҙࣝɾऔΓ૊ΈΛධՁ͠Α͏ • SlimɺSymfony2ɺBEAR.SundayɺComposer • ֶशίετͷ௿͞͸νʔϜ։ൃͰͷϝϦοτ

Slide 34

Slide 34 text

͋ͱ͕͖

Slide 35

Slide 35 text

Rubyist͕PHPΛDISΔͷ͸ ݟ๞͖ͨ͠΋͏΍ΊΑ͏Α • ͦ΋ͦ΋ྺ࢙ɾจ຺͕ҧ͏͜ͱΛߟྀ͠Α͏ • DisΔՋ͕ͳ͍͙Β͍ʹ͸ݟॴ͕͋Γ·͢Α • PHPΛ࢖ͬͯ΋ΩϨͳ͍͙Β͍ʹ͸͓͓Β͔ ͳؾ࣋ͪΛཆ͓͏

Slide 36

Slide 36 text

͓ΘΓ