Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby on Rails Lazy Developer
Search
phamon
April 26, 2015
Programming
0
95
Ruby on Rails Lazy Developer
Ruby on Rails
www.symbolet.com
phamon
April 26, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
Grafana:建立系統全知視角的捷徑
blueswen
0
320
Vibe codingでおすすめの言語と開発手法
uyuki234
0
220
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
120
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
CSC307 Lecture 07
javiergs
PRO
0
550
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
140
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
190
Implementation Patterns
denyspoltorak
0
280
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
170
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
590
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
63
GraphQLとの向き合い方2022年版
quramy
50
14k
Navigating Team Friction
lara
192
16k
Optimizing for Happiness
mojombo
379
71k
Faster Mobile Websites
deanohume
310
31k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Test your architecture with Archunit
thirion
1
2.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
50
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Transcript
Lazy developer www.symbolet.com Symbolet
สิ่งที่คิด www.symbolet.com 2
สิ่งที่ลูกค้ามอง www.symbolet.com 3
ความเป็นจริง อยากกลับบ้าน ทุกครั้งที่แก้ต้อง restart server reproduce บั๊กไม่ได้เจอ แต่บน production ไม่ได้กลับบ้านมา
2 วัน โปรเจคเลย deadline มาแล้ว 1 เดือน www.symbolet.com 4
มันเกิดอะไรขึ้นกับการพัฒนา Software บ้านเรา ? www.symbolet.com 5
lazy developer www.symbolet.com 6
lazy developer be productive www.symbolet.com 7
but.. How ? www.symbolet.com 8
1. less code 9
less code solve 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
html -> slim lightweight template engine 15 www.symbolet.com
16 www.symbolet.com
js -> little language that compile to javascript 17 www.symbolet.com
http://coffeescript.org 18 www.symbolet.com
ถ้าต้องการ reuse font และ css หล่ะ ? css 19 www.symbolet.com
css -> ใช้ Sass เพื่อเพิ่มความสามารถให้ css 20 www.symbolet.com
21 www.symbolet.com
22 www.symbolet.com
hello world java php ruby 23 www.symbolet.com
find element in array java php ruby 24 www.symbolet.com
find element in array java 25 www.symbolet.com
find element in array java php 26 www.symbolet.com
find element in array java php ruby 27 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 code solve more problems 29 www.symbolet.com
less code solve more problems less mistakes 30 www.symbolet.com
less code solve more problems less mistakes fast development 31
www.symbolet.com
don’t build from scratch 32 www.symbolet.com
don’t build from scratch framework 33 www.symbolet.com
Rails mvc / db-migrate / scaffold / i18n / log
34 www.symbolet.com
Ruby Stack slim + sass + coffeescript nginx / apache
unicorn / passenger memcached / redis postgresql / mysql / .. rails / sinatra / lotus 35 www.symbolet.com
2. use available library 36 www.symbolet.com
Dependency management maven / gradle bundler composer bower npm cocoapod
37 www.symbolet.com
Library = Gem 38 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
Devise - Authentication Features 41 www.symbolet.com
https://github.com/plataformatec/devise Devise - Authentication 42 www.symbolet.com
Devise - Authentication 43 www.symbolet.com
Devise - Authentication 44 www.symbolet.com
Library networking Device 45 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
3. use available tools 48 www.symbolet.com
Query N+1 Problem Places Categories m 1 49 www.symbolet.com
Query N+1 Problem @places = Place.all place.title place.category.name place.latitude place.longitude
50 www.symbolet.com
Query N+1 Problem @places = Place.all 1 n 4 queries
!! 51 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 Bullet 53 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
Ruby Guide Style 56 www.symbolet.com
Ruby Guide Style 57 www.symbolet.com
https://github.com/bbatsov/rubocop Ruby Guide Style 58 www.symbolet.com
Ruby Guide Style 59 www.symbolet.com
Ruby Guide Style 60 www.symbolet.com
4. Automate 61 www.symbolet.com
–Mike Co-founder Instagram “Replace all components of a car while
driving it at 100 mph” 62 www.symbolet.com
Chef - Provision 63 www.symbolet.com
Vagrant - Test config 64 www.symbolet.com
Docker 65 www.symbolet.com
Mina - Deploy 1. ssh 2. git pull master 3.
build 4. create new version 5. restart 66 www.symbolet.com
5. Invest 67 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
lazy developer be productive Focus More 70 www.symbolet.com