SlideShare a Scribd company logo
레일스 환경 변수
박유진
RORLAB
2016.7.10
레일스를 배우면
세련된
웹 애플리케이션을
쉽고 재미있게
만들 수 있습니다.
처음엔
누구나
겪는 문제
이런 문제를 해결하기 위해
재능있는 사람들이
도구를 만들었습니다.
bundler, RVM, rbenv, chruby
어떻게 작동할까요?
환경 변수
Environment variable
$ > env
$ > echo $PATH | tr : “n”
$ > gem env
$ > bundle exec env
$ > export FOO=bar

FOO=bar
$ > ruby -e "puts ENV[‘FOO’]"
bar
$ > ruby -e “ENV[‘FOO’]=‘baz’"

bar
$ > unset FOO
환경 변수는 아니지만
Ruby에는 $LOAD_PATH
전역 변수가 있습니다.
$LOAD_PATH
$ > echo “puts ‘hello’” > hello.rb
$ > ruby -e “require ‘hello’”
undefined local variable or method
$ > ruby -I . -e “require ‘hello’”
hello
$ > ruby -e ‘p $LOAD_PATH’
$ > ruby -I . -e "p $:”
$ > ruby -r rails -e "p $:"
또 다른
환경 변수 이야기
12 Factor App
설정을 코드에서
엄격하게 분리해
환경 변수에 저장
$ > export KEY=“YOURKEY”
이 또한 쉽게 할 수 있도록
재능있는 사람들이
도구를 계속 만들고 있습니다.
dotenv, figaro …
dotenv
.env
.env.<current env>
#.env
S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEY
figaro
# config/application.yml
stripe_publishable_key: pk_test_TLr…
stripe_secret_key: sk_test_Qbp…
# config/initializers/stripe.rb
Stripe.api_key = ENV["stripe_secret_key"]
heroku
질문은
슬랙 Q & A 채널에
남겨 주세요.
http://slack.rorlab.org
Reference
• RubyConf 2015 - Ruby's Environment Variable API by Jack Danger
Canty
• http://blog.honeybadger.io/ruby-guide-environment-variables/
• http://weblog.rubyonrails.org/2009/9/1/gem-packaging-best-
practices/
• http://guides.rorlab.org/configuring.html
• http://railsapps.github.io/rails-environment-variables.html
• https://withrails.com/2015/11/25/rbenv-작동원리/
• http://12factor.net/ko/

More Related Content

Viewers also liked

Posibles inventos en los proximos 100 años
Posibles inventos en los proximos 100 añosPosibles inventos en los proximos 100 años
Posibles inventos en los proximos 100 años
MaZoS
 
Addressing Quality Performance Across Supply Partners 2012
Addressing Quality Performance Across Supply Partners 2012Addressing Quality Performance Across Supply Partners 2012
Addressing Quality Performance Across Supply Partners 2012Jon Halladay
 
Samoocenka 2014-2015
Samoocenka 2014-2015Samoocenka 2014-2015
Samoocenka 2014-2015
eisgroup
 
Transition Training - Postsecondary Goals
Transition Training - Postsecondary GoalsTransition Training - Postsecondary Goals
Transition Training - Postsecondary Goals
Jamie Thieman
 
Fall 2015 Final Presentation
Fall 2015 Final PresentationFall 2015 Final Presentation
Fall 2015 Final PresentationNathan Lex
 
Tech Paper Dismantling WAGR PVandI 1999
Tech Paper Dismantling WAGR PVandI 1999Tech Paper Dismantling WAGR PVandI 1999
Tech Paper Dismantling WAGR PVandI 1999Jon Halladay
 
Transition assessment power point
Transition assessment power pointTransition assessment power point
Transition assessment power point
Jamie Thieman
 
Funtional Web Service Composition
Funtional Web Service CompositionFuntional Web Service Composition
Funtional Web Service CompositionRohit Kumar Gupta
 
Practical-bayesian-optimization-of-machine-learning-algorithms_ver2
Practical-bayesian-optimization-of-machine-learning-algorithms_ver2Practical-bayesian-optimization-of-machine-learning-algorithms_ver2
Practical-bayesian-optimization-of-machine-learning-algorithms_ver2Rohit Kumar Gupta
 
Transition Training - IDEA
Transition Training - IDEATransition Training - IDEA
Transition Training - IDEA
Jamie Thieman
 
Financial software
Financial softwareFinancial software
Financial software
Hannelore Anthonissen
 
Werving en selectie
Werving en selectieWerving en selectie
Werving en selectie
Hannelore Anthonissen
 
하루 안에 페이스북 웹 앱 만들기
하루 안에 페이스북 웹 앱 만들기하루 안에 페이스북 웹 앱 만들기
하루 안에 페이스북 웹 앱 만들기YongHui Lee
 

Viewers also liked (14)

Posibles inventos en los proximos 100 años
Posibles inventos en los proximos 100 añosPosibles inventos en los proximos 100 años
Posibles inventos en los proximos 100 años
 
Addressing Quality Performance Across Supply Partners 2012
Addressing Quality Performance Across Supply Partners 2012Addressing Quality Performance Across Supply Partners 2012
Addressing Quality Performance Across Supply Partners 2012
 
Samoocenka 2014-2015
Samoocenka 2014-2015Samoocenka 2014-2015
Samoocenka 2014-2015
 
Transition Training - Postsecondary Goals
Transition Training - Postsecondary GoalsTransition Training - Postsecondary Goals
Transition Training - Postsecondary Goals
 
Fall 2015 Final Presentation
Fall 2015 Final PresentationFall 2015 Final Presentation
Fall 2015 Final Presentation
 
Tech Paper Dismantling WAGR PVandI 1999
Tech Paper Dismantling WAGR PVandI 1999Tech Paper Dismantling WAGR PVandI 1999
Tech Paper Dismantling WAGR PVandI 1999
 
Transition assessment power point
Transition assessment power pointTransition assessment power point
Transition assessment power point
 
Funtional Web Service Composition
Funtional Web Service CompositionFuntional Web Service Composition
Funtional Web Service Composition
 
report.docx
report.docxreport.docx
report.docx
 
Practical-bayesian-optimization-of-machine-learning-algorithms_ver2
Practical-bayesian-optimization-of-machine-learning-algorithms_ver2Practical-bayesian-optimization-of-machine-learning-algorithms_ver2
Practical-bayesian-optimization-of-machine-learning-algorithms_ver2
 
Transition Training - IDEA
Transition Training - IDEATransition Training - IDEA
Transition Training - IDEA
 
Financial software
Financial softwareFinancial software
Financial software
 
Werving en selectie
Werving en selectieWerving en selectie
Werving en selectie
 
하루 안에 페이스북 웹 앱 만들기
하루 안에 페이스북 웹 앱 만들기하루 안에 페이스북 웹 앱 만들기
하루 안에 페이스북 웹 앱 만들기
 

레일스 환경 변수