Slide 1

Slide 1 text

ϦϑΝΫλϦϯάͱtsort 2013-10-16 / Shibuya.rb @ainame

Slide 2

Slide 2 text

ࣗݾ঺հ @ainame / Satoshi Namai גࣜձࣾϛΫγΟ εϚϗΞϓϦΤϯδχΞʹͳΔ༧ఆͩͬͨͷͰ͢ ͕ɺ૬มΘΒͣPerlॻ͍ͯ·͢ ࠷ۙɺRubyMotion΍ͬͯΔ ΋͘΋͘ձ / RubyMotion Tokyo meetups

Slide 3

Slide 3 text

ࠓ೔ͷ࿩ 1.ϦϑΝΫλ1 - ςϯϓϨʔτΤϯδϯಋೖ 2.ϦϑΝΫλ2 - Hash & ArrayΛΦϒδΣΫτԽ 3.tsortಋೖͰػೳվળ gemΛ͍ͬͨ͡࿩

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

ibʹ͍ͭͯ RubyMotionͰInterfaceBuilderΛ࢖͏ͨΊͷgem rake ib:open app/*.rbΛparseͯ͠Stubs.hΛు͘ Interface Builder্ͰOutletΛUIͱ࿈ܞͰ͖Δ https://github.com/yury/ib

Slide 7

Slide 7 text

ib͕Ruby͔Βੜ੒

Slide 8

Slide 8 text

super class͕ઌʹఆٛ ͞Εͯͳ͍ͱμϝ Τϥʔ͕ग़Δͷ ݏͩͬͨ

Slide 9

Slide 9 text

Կͱͳ͘௚͍ͨ͠ͳʔ ͱࢥͬͯιʔείʔυಡΜͰΈͨΒ खΛೖΕΔͷ͕ਏͦ͏ͩͬͨͷͰ ϦϑΝΫλϦϯάͯ͠Έͨ

Slide 10

Slide 10 text

templateΤϯδϯͷಋೖ Stubs.hΛग़ྗ͢ΔͨΊʹίʔυͷதʹͻͳܗίʔ υ͕ຒΊࠐ·Ε͍ͯͨ 1ຕϑΝΠϧΛςϯϓϨʔτϑΝΠϧɺςϯϓϨʔ τͷhelperɺϑΝΠϧੜ੒ॲཧͷ3ͭʹ෼཭ `tilt` gem͕໾ཱͭ SinatraͰ࢖ΘΕͯΔ

Slide 11

Slide 11 text

Before

Slide 12

Slide 12 text

writeϝιουʹ ॲཧ͕ϕλॻ͖ ඞͣIOॲཧ͕ൃੜͯ͠ ςετͮ͠Β͍

Slide 13

Slide 13 text

ϔϧύʔͷ தͰϔϧύʔ͕ݺ͹Εͯ ॲཧ͕௥͍ͮΒ͍ ഑ྻΞΫηε ͕Ή͍ͣ

Slide 14

Slide 14 text

After

Slide 15

Slide 15 text

tiltͰrender͢Δॲཧ RenderingHelperΫϥεʹ viewͷϔϧύʔΛ࣮૷ ϔομͱ ࣮૷ϑΝΠϧΛ ϑΝΠϧʹॻ͖ग़͠

Slide 16

Slide 16 text

͜ͷޙ ঺հ͢ΔϦϑΝΫλϦϯάͰ ϔϧύʔ͸γϯϓϧʹ

Slide 17

Slide 17 text

Hash & ArrayΛΦϒδΣΫτԽ HashͱArrayͰԿͰ΋σʔλΛදݱ͍ͯ͘͠ͷ͸͏Μ͟Γ͢Δ data[‘a.rb’][0][:class][0][0] ????????? ڞಉ։ൃ͢Δ࣌ʹۤ͠Ή σʔλΛϥοϓ͢ΔΦϒδΣΫτΛ࣮૷ def [](key); @data[key] endͰޓ׵Λ࣋ͨͤΔ ΞΫηαʔΛ༻ҙͯ͠ෳࡶͳΞΫηεΛղܾ

Slide 18

Slide 18 text

Before

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

After

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

ߏ଄ମͰ͞Βʹ ߏ଄Խ ϔϧύʔ ݩσʔλʹΞΫηεग़དྷΔ

Slide 23

Slide 23 text

ݩͷinfo[:class][0][0] ΑΓ෼͔Γ΍͍͢

Slide 24

Slide 24 text

ґଘؔ܎ղܾ Կ΋ߟ͑ͣʹϔομʔϑΝΠϧʹॻ͖ͩ͢ͱ XCode্Ͱ͸Τϥʔˍwarn͕ग़Δ ্͔Βॱʹ͖ͪΜͱΫϥεఆٛ͞Εͯͳ͍ͱμϝ ґଘؔ܎ͷղܾ͕ඞཁʂʂʂʂʂʂʂ tsort࢖͏ͱ໰୊͕؆୯ʹղ͚Δʂ

Slide 25

Slide 25 text

super class͕ઌʹఆٛ ͞Εͯͳ͍ͱμϝ

Slide 26

Slide 26 text

tsort tsortͱ͸ʁ Rubyͷඪ४ϥΠϒϥϦ τϙϩδΧϧιʔτͷRubyͷ࣮૷ ґଘؔ܎ͷղܾʹ࢖͑Δ rubygems, bundlerͱ͔ʹ࢖ΘΕͯΔ

Slide 27

Slide 27 text

τϙϩδΧϧιʔτ ༗޲ແด࿏άϥϑ άϥϑͷ௖఺ؒͷґଘؔ܎Λݩͱʹιʔτ͢Δ ӈͷਤͷ৔߹ B, A, D, C, Eͷॱ

Slide 28

Slide 28 text

IB::DependencyResolver ґଘؔ܎ղܾ༻ͷΫϥεΛ࣮૷ parse݁ՌΛड͚औΔ ༗޲ແด࿏άϥϑʹม׵ tsortͰฒͼସ͑ ฒͼସ͑݁ՌΛฦ͢

Slide 29

Slide 29 text

Τϥʔ 0 !!!

Slide 30

Slide 30 text

·ͱΊ طଘgemʹػೳ௥Ճ͢Δ࣌ʹ͙͢ʹػೳ௥Ճ͕ແ ཧͦ͏ͩͬͨΒগͮͭ͠ϦϑΝΫλϦϯά ύʔϑΣΫτRubyʹ͸ࡌͬͯͳ͍͚Ͳɺ tsortͱ͔tiltͱ͔ศརͳͷͰϢʔςΟϦςΟܥͷ ϥΠϒϥϦ࡞Δ࣌͸࢖͍·͠ΐ͏ʂʂʂ

Slide 31

Slide 31 text

RubyMotion meetup •@ainameͱ@HIROCASTER͕ओ࠵ •ຖ݄ͷୈೋՐ༵ʹ։࠵Ͱ΋͘΋͘ձελΠϧ •RubyMotion։ൃऀͷ@watson1978͞ΜࢀՃ •ձ৔͸ϛΫγΟͷίϥϘϧʔϜ •࣍ճ͸2013೥11݄5೔(Ր)Ͱ͢