Slide 1

Slide 1 text

photo by Crashmaster007 Ruby ໵ՄṜᒬሜ ߴݟཾ

Slide 2

Slide 2 text

a.k.a Eddie or Aquarianboy Live and work in Taipei, Taiwan. Developing Ruby / Rails / iOS app for living. Technical Education and Consultant. PTT Flash BM (since 2007/4). Ruby Certified Programmer (Since 2012/1). Adobe Certified Flash Developer (Since 2006/7). Linux Professional Institute Certification (Since 2005/3). ߴݟཾ photo by Eddie @eddiekao

Slide 3

Slide 3 text

ޒഒߚሞੴ http://5xruby.tw/

Slide 4

Slide 4 text

ޒഒߚሞੴ http://5xruby.tw/events/space/

Slide 5

Slide 5 text

ࠓఱɼզ၇ိᡅᡅ… Ұࠣ Ruby ༗झ(҃حո)తޠ๏ 㟬ՄҎ༻ Ruby ၏ࠣॄኄࣄ (without Rails)

Slide 6

Slide 6 text

౤ࢿҰఆ༗෩ᯃɼجۚ౤ࢿ༗ᩲ༗ഛɼ ਃߪલጯৄ㕕ެ։㘸໌ॻ

Slide 7

Slide 7 text

ሜ Ruby ҃ሜ Rails ᔒ༗ൺֱை! Մೳ။ൺֱ䰭ɼଏ᜝େ䰭

Slide 8

Slide 8 text

။፛䤕తबੋ޷䤕!

Slide 9

Slide 9 text

喵~

Slide 10

Slide 10 text

୆ᖯ Ruby ੜଶᅲ

Slide 11

Slide 11 text

Ruby Tuesday https://www.facebook.com/groups/142197385837507/ photo by othree

Slide 12

Slide 12 text

RubyConf Taiwan http://rubyconf.tw/

Slide 13

Slide 13 text

Rails Girls Taipei https://www.facebook.com/railsgirlstw

Slide 14

Slide 14 text

Ruby ੋॄኄ?

Slide 15

Slide 15 text

Ruby ੋҰछిᡵఔࣜޠݴ Ruby on Rails ੋҰछ࢖༻ Ruby ݐߏग़ိత ໢᜾։ᚙᐽՍ (Web Framework)

Slide 16

Slide 16 text

Ruby on Rails ෆੋҰछిᡵఔࣜޠݴ

Slide 17

Slide 17 text

Ruby != Ruby on Rails

Slide 18

Slide 18 text

੥࢖༻ “Rails”ɼုྔෆཁ࢖༻ “RoR”

Slide 19

Slide 19 text

Rails ঱ީ܈ͷݚڀ೭঱ྫɿ ʮRuby ͕Կ͔Θ͔͍ͬͯͳ͍ʯ ref: http://shugo.net/tmp/rails-syndrome.pdf

Slide 20

Slide 20 text

ʮRuby ౎ੋঞ Rails త䬨!ʯ

Slide 21

Slide 21 text

Ruby ੋҰछ෺݅ಋ޲తఔࣜޠݴ

Slide 22

Slide 22 text

“everything in Ruby is an object”

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

෼ࢧ & መ࡞඼

Slide 25

Slide 25 text

RVM or Rbenv RVM http://rvm.io/ Rbenv https://github.com/sstephenson/rbenv RVM and gemsets http://blog.eddie.com.tw/2011/04/08/rvm-and-gemsets/ Introduce to RVM http://blog.eddie.com.tw/2011/11/16/rvm/

Slide 26

Slide 26 text

Ruby 1.8 has no future, 1.9 is dying, please use Ruby 2.0 +

Slide 27

Slide 27 text

ᡒ㘸... Ruby ኷ຫ!

Slide 28

Slide 28 text

ᡒ㘸... ሜ Ruby ཁઌങ Mac?

Slide 29

Slide 29 text

Ruby ՄҎṜᒬሜ...

Slide 30

Slide 30 text

IF..ELSE 1/5

Slide 31

Slide 31 text

IF..ELSE 2/5

Slide 32

Slide 32 text

IF..ELSE 3/5

Slide 33

Slide 33 text

IF..ELSE 4/5

Slide 34

Slide 34 text

IF..ELSE 5/5

Slide 35

Slide 35 text

STEP 1/2

Slide 36

Slide 36 text

STEP 2/2

Slide 37

Slide 37 text

STEP 1/3

Slide 38

Slide 38 text

STEP 2/3

Slide 39

Slide 39 text

STEP 3/3

Slide 40

Slide 40 text

OPEN CLASS 1/6

Slide 41

Slide 41 text

OPEN CLASS 2/7

Slide 42

Slide 42 text

OPEN CLASS 3/7

Slide 43

Slide 43 text

OPEN CLASS 4/7

Slide 44

Slide 44 text

OPEN CLASS 5/7

Slide 45

Slide 45 text

OPEN CLASS 6/7

Slide 46

Slide 46 text

OPEN CLASS 7/7

Slide 47

Slide 47 text

BLOCK 1/9

Slide 48

Slide 48 text

BLOCK 2/9

Slide 49

Slide 49 text

BLOCK 3/9

Slide 50

Slide 50 text

BLOCK 4/9

Slide 51

Slide 51 text

BLOCK 5/9

Slide 52

Slide 52 text

BLOCK 6/9

Slide 53

Slide 53 text

BLOCK 7/9

Slide 54

Slide 54 text

BLOCK 8/9

Slide 55

Slide 55 text

BLOCK 9/9

Slide 56

Slide 56 text

RESCUE 1/3

Slide 57

Slide 57 text

RESCUE 2/3

Slide 58

Slide 58 text

RESCUE 3/3

Slide 59

Slide 59 text

PRIVATE 1/8

Slide 60

Slide 60 text

PRIVATE 2/8

Slide 61

Slide 61 text

PRIVATE 3/8

Slide 62

Slide 62 text

publicɺprotected Ҏٴ privateࡏ Ruby ཫฒෆੋ᮫伴ࣈɼሏ୞ੋํ ๏ࣕቮɻ

Slide 63

Slide 63 text

PRIVATE 4/8

Slide 64

Slide 64 text

PRIVATE 5/8

Slide 65

Slide 65 text

Ruby త privateํ๏ɼ୞ཁᔒ༗໌ ֬తࢦग़ recevier बՄҎݺڣɻ

Slide 66

Slide 66 text

PRIVATE 6/8

Slide 67

Slide 67 text

Ruby త privateํ๏໵ෆੋਅతಹ ኄ privateɻ

Slide 68

Slide 68 text

PRIVATE 7/8

Slide 69

Slide 69 text

ref: http://goo.gl/4OeAQD PRIVATE 8/8

Slide 70

Slide 70 text

When you say protected in Ruby, you might 99% be meaning private.

Slide 71

Slide 71 text

Dynamic Method 1/5

Slide 72

Slide 72 text

DRY = Don’t Repeat Yourself

Slide 73

Slide 73 text

Dynamic Method 2/5

Slide 74

Slide 74 text

Dynamic Method 3/5

Slide 75

Slide 75 text

Dynamic Method 4/5

Slide 76

Slide 76 text

Dynamic Method 5/5

Slide 77

Slide 77 text

Method Missing 1/3

Slide 78

Slide 78 text

Method Missing 2/3

Slide 79

Slide 79 text

Method Missing 3/3

Slide 80

Slide 80 text

༗झ(҃حո)త Ruby ޠ๏

Slide 81

Slide 81 text

ref: https://github.com/tric/trick2013

Slide 82

Slide 82 text

ref: https://github.com/tric/trick2013

Slide 83

Slide 83 text

No content

Slide 84

Slide 84 text

No content

Slide 85

Slide 85 text

No content

Slide 86

Slide 86 text

No content

Slide 87

Slide 87 text

No content

Slide 88

Slide 88 text

No content

Slide 89

Slide 89 text

No content

Slide 90

Slide 90 text

No content

Slide 91

Slide 91 text

Rails 4.2 beta

Slide 92

Slide 92 text

Rake Make, but Ruby version. Rack http://rake.rubyforge.org/

Slide 93

Slide 93 text

No content

Slide 94

Slide 94 text

No content

Slide 95

Slide 95 text

No content

Slide 96

Slide 96 text

໢࿏ᗡᦚ Crawler

Slide 97

Slide 97 text

։ᚙ iOS app?

Slide 98

Slide 98 text

ref: http://www.rubymotion.com/

Slide 99

Slide 99 text

ref: http://www.rubymotion.com/

Slide 100

Slide 100 text

៸ᅷɺӨ૾႔ཧɺԻᒜ...

Slide 101

Slide 101 text

ref: https://www.youtube.com/watch?v=0CHaHR7FU6g

Slide 102

Slide 102 text

ෆཁᩋผਓ᧷ಘզ၇Ѩ୐୞။ሜఔࣜ

Slide 103

Slide 103 text

࠷ޙ…

Slide 104

Slide 104 text

େࢣᢛ৽ख೭ؒతࠩผ? difference between a master and a beginner?

Slide 105

Slide 105 text

େࢣࣦഊաత࣍Ꮠɼൺ৽खঐࢼա త࣍Ꮠؐଟ The master has failed more times than the beginner has even tried.

Slide 106

Slide 106 text

there's no MAGIC!

Slide 107

Slide 107 text

photo by redjar

Slide 108

Slide 108 text

photo by Quality & Style

Slide 109

Slide 109 text

https://www.ruby-lang.org/zh_tw/

Slide 110

Slide 110 text

The only limitation is your imagination.

Slide 111

Slide 111 text

૝૾ྗੋ㟬త௒ೳྗ!

Slide 112

Slide 112 text

ߴݟཾ Blog Plurk Facebook Twitter Email Mobile http://blog.eddie.com.tw http://www.plurk.com/aquarianboy http://www.facebook.com/eddiekao https://twitter.com/eddiekao [email protected] +886-928-617-687