글
2016의 게시물 표시
Rails 프로젝트에 Sidekiq 세팅하기
- 공유 링크 만들기
- 이메일
- 기타 앱
sidekiq 세팅 Rails 로컬 환경에 sidekiq 세팅 1. Redis 설치 Redis 다운로드 및 빌드 $ wget http://download.redis.io/releases/redis-3.2.5.tar.gz $ tar xzf redis-3.2.5.tar.gz $ cd redis-3.2.5 $ make Redis 실행 $ src/redis-server Redis 클라이언트 접속 $ src/redis-cli 참고자료 2. sidekiq 관련 설치 Gemfile에 추가 gem 'sidekiq' gem 'connection_pool' gem 'redis-objects' bundle install bundle install 3. Rails 프로젝트 세팅 config/sidekiq.yml :pidfile: ./tmp/pids/sidekiq.pid :daemon: true development: :verbose: true :logfile: ./log/sidekiq.development.log :concurrency: 5 :timeout: 30 :queues: - default - test production: :verbose: false :logfile: ./log/sidekiq.production.log :concurrency: 10 :timeout: 5 :queues: - default - test config/redis.yml defaults: &defaults url: redis://localhost:6379/1 object_redis_url: redis://localhost:6379/2 development: <<: *defaults production: <<: *defaults test: <<: *defaults spec:
ExpressJS, Webpack, Gulp 이용해서 프로젝트 시작할 때 yeoman으로 boilerplate 코드 생성
- 공유 링크 만들기
- 이메일
- 기타 앱
ES를 이용한 Rails 로그 분석 시스템 세팅
- 공유 링크 만들기
- 이메일
- 기타 앱
로그 분석 시스템 세팅 관련 ES를 이용한 로그 분석 시스템 세팅 과정 1. 서버에 td_agent 설치 다운로드 Fluentd plugin 설치 $ /usr/sbin/td-agent-gem install elasticsearch excon minitest rake test-unit webmock fluentd fluent-plugin-elasticsearch $ /usr/sbin/td-agent-gem install elasticsearch excon minitest rake test-unit webmock fluentd fluent-plugin-elasticsearch' 2. 서버에 ElasticSearch 설치 CentOS 설치 3. 레일즈 프로젝트에 lograge 설정 Gemfile에 lograge 추가 lograge 젬 설치 lograge 설정 ({project_path}/config/initializers/lograge.rb) config = WheelAdmin::Application.config # lograge : 로그를 특정 기간동안으로 잘라서 기록 config.lograge.enabled = true # 기본 rails 로그도 남겨 놓도록 설정 config.lograge.keep_original_rails_log = true # lograge 결과 파일명 config.lograge.logger = ActiveSupport::Logger.new "#{Rails.root}/log/lograge_#{Rails.env}.log" # json 으로 로그 남기도록 formatting module LogrageFormatter module_function def call(data) result = data.inject({}) { |h, (k, v)| h[k] = v; h } result.to_json end end # lograge 에 jso
루비 코드 커버리지 관련 세팅
- 공유 링크 만들기
- 이메일
- 기타 앱
커버리지 정리 루비 코드 커버리지 관련 세팅 참고자료 https://github.com/colszowka/simplecov https://github.com/fguillen/simplecov-rcov 1. Gemfile에 simplecov, simplecov-rcov 추가 SimpleCov: 루비를 위한 코드 커버리지 분석 툴 SimpleCov-Rcov: SimpleCov를 사용해 Rcov 스타일로 생성해주는 포맷터 gem 'simplecov', require: false gem 'simplecov-rcov' 2. spec_helper 세팅 spec_helper에 커버리지 관련 세팅해서 Rspec 테스트 돌릴 때마다 커버리지 리포트 생성하도록 설정 require 'simplecov' require 'simplecov-rcov' # SimpleCov 포맷터 지정 SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter SimpleCov.start 'rails' do add_filter '/app/' # 커버리지 제외할 디렉토리 설정 add_filter '/spec/' add_filter '/config/' end 3. .gitignore 파일에 coverage 디렉토리 추가 생성된 커버리지 리포트 ignore 적용 coverage/ 4. Rspec 테스트 실행 후 커버리지 리포트 확인 커버리지 리포트로 소스 코드 커버리지 확인 coverage/rcov/index.html