Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
How to survive in post Rails' world. SHIBATA Hiroshi Eiwa System Management,Inc.
Slide 2
Slide 2 text
1SPpMF
Slide 3
Slide 3 text
SHIBATA Hiroshi a.k.a hsbt tDiary commiter shibata.hiroshi@gmail.com
Slide 4
Slide 4 text
http://twitter.com/hsbt/ http://www.hsbt.org/ http://github.com/hsbt/
Slide 5
Slide 5 text
asakusa.rb
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
RubyKaigi 2010
Slide 8
Slide 8 text
Theme
Slide 9
Slide 9 text
Conflicts and Resolutions িಥͱղܾ
Slide 10
Slide 10 text
ࠓ͢͜ͱ ITCU͕ʹӬγε ςϜϚωδϝϯτʹೖࣾͯ͠ ͔ΒؒͰಘΒΕͨ3VCZ ͱ3BJMTͰָ͘͠աͨ͢͝ Ίʹඞཁͳ͜ͱʹ͍ͭͯ͝ հ͠·͢ɻ
Slide 11
Slide 11 text
Conflict Learning Methodology Resolution
Slide 12
Slide 12 text
ࠓ͞ͳ͍͜ͱ tDiary
Slide 13
Slide 13 text
Conflict Learning Methodology Resolution
Slide 14
Slide 14 text
RubyKaigi2009
Slide 15
Slide 15 text
SapporoRubyKaigi02
Slide 16
Slide 16 text
݄ ӬγεςϜϚωδϝϯτೖࣾ
Slide 17
Slide 17 text
ursm hsbt ͜Μʹͪ ண੮͍ͯ͠·͢
Slide 18
Slide 18 text
1SPHSBNNFS`T 4QFD
Slide 19
Slide 19 text
hobby tDiary(cgi) gentoo work excel rails ecosystem before rails post rails
Slide 20
Slide 20 text
before Rails IUUQXXXqJDLSDPNQIPUPT!/
Slide 21
Slide 21 text
tDiary Hiki Kagemai
Slide 22
Slide 22 text
sourceforge
Slide 23
Slide 23 text
RubyForge
Slide 24
Slide 24 text
RAA
Slide 25
Slide 25 text
post Rails IUUQXXXqJDLSDPNQIPUPTQBUDBSE
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
(JU)VC
Slide 29
Slide 29 text
Conflict Learning Methodology Resolution
Slide 30
Slide 30 text
ursm hsbt ͜Μʹͪ ண੮͍ͯ͠·͢
Slide 31
Slide 31 text
Conflicts and Resolutions িಥͱղܾ
Slide 32
Slide 32 text
3VCZ3BJMT 1SPHSBNNJOH
Slide 33
Slide 33 text
Enumrator IUUQXXXqJDLSDPNQIPUPTSBDIFMLJMMTFNP
Slide 34
Slide 34 text
͓ ͔Β·Ͱͷ Λ߹ܭͨ͠Λ ද͍ࣔͨ͠
Slide 35
Slide 35 text
ITCUղ s = 0 [1, 2, 3, 4, 5].each do |v| s += v end s
Slide 36
Slide 36 text
ursmղ (1..5).inject(&:+)
Slide 37
Slide 37 text
Railsղ (1..5).sum
Slide 38
Slide 38 text
͓ ͔Β·Ͱͷ Λුಈখʹͨ͠ ྻΛ࡞͍ͨ͠
Slide 39
Slide 39 text
hsbtղ v = [] [1, 2, 3, 4, 5].each do |i| v << i.to_f end v
Slide 40
Slide 40 text
VSTNղ (1..5).map(&:to_f)
Slide 41
Slide 41 text
͓ ͔Β·Ͱͷͷ ͏ͪΛ࠷ॳʹӽ͑ͨ ΛऔΓग़͍ͨ͠
Slide 42
Slide 42 text
͓ ͔Β·Ͱͷͷ ͏ͪΛӽ͑ͨ શͯΛऔΓग़͍ͨ͠
Slide 43
Slide 43 text
͓ SZ
Slide 44
Slide 44 text
map / inject reject / detect select / each
Slide 45
Slide 45 text
)BTIFSJUJT
Slide 46
Slide 46 text
Symbol {:ruby => ‘programming’}
Slide 47
Slide 47 text
ͨͱ͑IBTIͷLFZͩͬͨ ΓɺΞΫηαͷҾͰ͢Πϯ ελϯεม໊ͩͬͨΓɺ BMJBT@NFUIPEͷҾͰ͢ ϝιου໊ͩͬͨΓͱɺจࣈʹ ҙຯ͚͍ͮͨ࣌͠ʹ͑·͢ɻ http://d.hatena.ne.jp/secondlife/20051026/1130319610
Slide 48
Slide 48 text
h1 = {‘ruby’ => ‘programming’} h2 = {‘ruby’ => ‘programming’} h1.each {|k,v| p k.object_id} => 2164547280 h2.each {|k,v| p k.object_id} => 2164501920 IUUQSBJMTPOFEHFCMPHTQPUDPNVTJOHTZNCPMTIUNM
Slide 49
Slide 49 text
h1 = {:ruby => ‘programming’} h2 = {:ruby => ‘programming’} h1.each {|k,v| p k.object_id} => 388828 h2.each {|k,v| p k.object_id} => 388828
Slide 50
Slide 50 text
meta programming
Slide 51
Slide 51 text
send / method_missing block / Proc / lambda included / extended eval / instance_eval
Slide 52
Slide 52 text
Conflict Learning Methodology Resolution
Slide 53
Slide 53 text
)PX
Slide 54
Slide 54 text
VSTN ITCU ͜Μʹͪ ண੮͍ͯ͠·͢
Slide 55
Slide 55 text
(JU)VC
Slide 56
Slide 56 text
(JU)VC TPNNFMJF
Slide 57
Slide 57 text
Watch ϑΥϧμߏ ίϛοτϝοηʔδ Commits History
Slide 58
Slide 58 text
HJUDMPOF
Slide 59
Slide 59 text
CVOEMFJOTUBMM CVOEMFPQFO
Slide 60
Slide 60 text
)'"
Slide 61
Slide 61 text
happy hacking!
Slide 62
Slide 62 text
HJUDPNNJU HJUQVTI
Slide 63
Slide 63 text
pull request git format-patch origin/master or
Slide 64
Slide 64 text
3VCZJTUʹͰ͖Δ͜ͱ IUUQKQSVCZJTUOFUNBHB[JOF 8IBU8F$BO%P
Slide 65
Slide 65 text
Head First Rails
Slide 66
Slide 66 text
meta programming
Slide 67
Slide 67 text
Conflict Learning Methodology Resolution
Slide 68
Slide 68 text
CFGPSF 3BJMT ͷ࣌ͷؾ࣋ͪ
Slide 69
Slide 69 text
ΦϨͬͯεήʔײ
Slide 70
Slide 70 text
ΦϨͬͯεήʔײ ৄ͍͜͠ͱΑ͘Θ͔Βͳ͍ ͚Ͳɺ3VCZͰιέοτΛ ͏ίʔυΛॻ͍ͯΈͨΒ͍ ͱ؆୯ʹಈ͍ͯ͠·ͬͨ࣌ ͷؾ
Slide 71
Slide 71 text
ΦϨͬͯεήʔײ
Slide 72
Slide 72 text
ΦϨͬͯεήʔײ 3VCZΛ࢝Ίͱͨ͠--ͷଟ͘ ɺιέοτεϨουɺ (6*ɺਖ਼نදݱͱ͍ͬͨগ͠ෑ ډͷߴ͍ٕज़ཁૉͷΠϯλʔ ϑΣʔεΛɺγϯϓϧͰ͍ ͍͢ܗͰఏڙͯ͘͠Ε͍ͯΔ
Slide 73
Slide 73 text
ΦϨͬͯεήʔײ ͕ࣗ༨Γৄ͘͠ͳ͍ٕज़ Ͱ͋ͬͯɺඞཁ࠷খݶͷϝ ιουݺͼग़͠Ͱ͜ΕΒͷٕज़ ཁૉΛମݧ͢Δ͜ͱ͕Ͱ͖ɺख ܰʹʮΦϨͬͯεήʔʯײΛ ຯΘ͑ΔͷͰ͋Δɻ
Slide 74
Slide 74 text
ΦϨͬͯεήʔײ
Slide 75
Slide 75 text
QPTU3BJMT ͷ࣌ͷؾ࣋ͪ
Slide 76
Slide 76 text
ͬͱΦϨͬ ͯεήʔײ
Slide 77
Slide 77 text
ΦϨͬͯεήʔײ IUUQXXXNBDIVKQEJBSZIUNMQ
Slide 78
Slide 78 text
HJUIVC
Slide 79
Slide 79 text
ͬͱΦϨͬͯεήʔײ HJUIVCͰͱΓ͋͑ͣGPSL ͯࣗ͠Έʹվͯ͠ QVTI͓͍ͯͨ͠Β͍ͭͷ ؒʹ͔GPSLݩʹऔΓࠐ·Ε ͓ͯྱ·ͰݴΘΕͨ࣌ͷؾ
Slide 80
Slide 80 text
ͬͱ ΦϨͬͯεήʔײ ΦϨͬͯεήʔײ
Slide 81
Slide 81 text
TPVSDFGPSHF GFFECBDL
Slide 82
Slide 82 text
social communication
Slide 83
Slide 83 text
εήʔײͷՃஔ IUUQXXXqJDLSDPNQIPUPTWJMMFT
Slide 84
Slide 84 text
HJUIVCFYQMPSFS
Slide 85
Slide 85 text
PUIFSMBOHVBHF
Slide 86
Slide 86 text
HJUIVCTQBDF
Slide 87
Slide 87 text
U%JBSZ PO HJUIVC
Slide 88
Slide 88 text
U%JBSZ 3FMFBTFE
Slide 89
Slide 89 text
Conflict Learning Methodology Resolution
Slide 90
Slide 90 text
3VCZJTUʹͰ͖Δ͜ͱ IUUQKQSVCZJTUOFUNBHB[JOF 8IBU8F$BO%P
Slide 91
Slide 91 text
ͬͱΦϨͬ ͯεήʔײ
Slide 92
Slide 92 text
HJUIVCFYQMPSF
Slide 93
Slide 93 text
(PPE3VCZ-JGF