Ruby on Rails Lazy developer
-
Upload
phamon-symbolet -
Category
Technology
-
view
120 -
download
1
Transcript of Ruby on Rails Lazy developer
ความเป็นจริง
อยากกลับบ้าน
ทุกครั้งที่แก้ต้อง restart server
reproduce บั๊กไม่ได้เจอแต่บน production
ไม่ได้กลับบ้านมา 2 วัน
โปรเจคเลย deadline มาแล้ว 1 เดือน
www.symbolet.com4
1. less code
9
less codesolve more problems
10
ธรรมชาติของ html
html
11
htmlเปิด tags
ปิด tags
ย่อหน้า
ตัวอักษร < >
12
ธรรมชาติของ html
htmlเปิด tags
ปิด tags
ย่อหน้า
ตัวอักษร < >
13
ธรรมชาติของ html
htmlเปิด tags
ปิด tags
ย่อหน้า
ตัวอักษร < >
14
ธรรมชาติของ html
ความไม่สอดคล้องกันของ html และ css class=“navbar” -> .navbar
id=“app” -> #app
16 www.symbolet.com
21 www.symbolet.com
22 www.symbolet.com
“I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the
primary purpose of Ruby language.”
หลักปรัชญา Ruby
–Matz, the creator of Ruby
28 www.symbolet.com
less codesolve more problems
less mistakes
fast development
31 www.symbolet.com
Ruby Stackslim + sass + coffeescript
nginx / apache
unicorn / passenger
memcached / redis
postgresql / mysql / ..
rails / sinatra / lotus
35 www.symbolet.com
Dependency management
maven / gradle bundler
composer bower npm
cocoapod
37 www.symbolet.com
Gem supermarket
https://www.ruby-toolbox.com/categories/by_group
39 www.symbolet.com
Gem supermarket
https://www.ruby-toolbox.com/categories/rails_authentication
40 www.symbolet.com
https://github.com/plataformatec/devise
Devise - Authentication
42 www.symbolet.com
Library networking
Cancancan
Device
OmniAuth(Authorization) (OAuth)
Active Admin(User Management)
46 www.symbolet.com
Ruby supermarket•Tagging •Background Job •Json parser •Blog engine •CRM •Shopping cart •Cache engine
•PDF Generate •Payment •Server monitor •CDN •File upload •A/B Testing •more more …
47 www.symbolet.com
Query N+1 Problem@places = Place.all
place.title place.category.name place.latitude place.longitude
50 www.symbolet.com
Solve Query N+1 Problem@places = Place.includes(:place_category)
1
2
tuning query -> 2 queries
52 www.symbolet.com
Solve Query N+1 Problem
auto detect & how to fix
line of code
54 www.symbolet.com
https://github.com/bbatsov/ruby-style-guide
Ruby Guide Style
55 www.symbolet.com
https://github.com/bbatsov/rubocop
Ruby Guide Style
58 www.symbolet.com
–Mike Co-founder Instagram
“Replace all components of a car while driving it at 100 mph”
62 www.symbolet.com
Mina - Deploy
1. ssh 2. git pull master 3. build 4. create new version 5. restart
66 www.symbolet.com
68
www.symbolet.com
www.symbolet.com
ลงทุนกับความรู้
Summary
1. less code 2. use available library 3. use available tools 4. automate 5. Invest
69 www.symbolet.com