2016의 게시물 표시

IntelliJ에서 스프링 부트 시작하기

이미지

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 코드 생성

매번 프로젝트를 시작할 때마다 설정하기 번거로워서 yeoman으로 프로젝트 업로드! https://github.com/godong9/express-webpack

Rails ActiveRecord에 Hash 머지하기

Rails ActiveRecord로 Hash 머지 Rails ActiveRecord에 Hash 머지하기 user_active_record = User.first user_active_record_hash = user_active_record.attributes new_hash = {"h1"=>"1", "h2"=>"2"} merged_hash = user_active_record_hash.merge(new_hash) User.new merged_hash

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