以下の問いに答えられるようにする。
- その機能を利用できるのはユーザー何%か?(ユーザーのプランによって利用可否がある場合など)、頻繁に利用されているか?
- それらのユーザーの生み出す収益は何%か?
| /* Event Parameters | |
| { | |
| "accessKeyId": "...", | |
| "secretAccessKey": "...", | |
| "region": "ap-northeast-1", | |
| "instanceId": "i-XXXXXXXX" | |
| } | |
| */ | |
| exports.handler = function(event, context) { | |
| console.log('instanceId =', event.instanceId); |
| # Custom log formatter module for rails_12factor | |
| # | |
| module CustomLogFormatter | |
| # Custom formatter for development environment. | |
| # | |
| # Examples | |
| # | |
| # # in controller | |
| # logger.error(self.class) { 'This is a error message' } | |
| # logger.info { 'This is a info message' } |
| # Custom logger formatter for development environment. | |
| # | |
| # Examples | |
| # | |
| # # in config/environments/development.rb | |
| # config.log_formatter = ::DevelopmentLoggerFormatter.new | |
| # | |
| # # in controller | |
| # logger.error(self.class) { 'This is a error message' } | |
| # logger.info { 'This is a info message' } |
| RSpec.configure do |config| | |
| config.before(:each) do |example| | |
| # Poltergeistの言語設定をja,enにする | |
| if example.metadata[:type] == :feature && example.metadata[:js] | |
| page.driver.headers = { | |
| 'Accept-Language' => 'ja,en', | |
| } | |
| end | |
| end | |
| end |
以下の問いに答えられるようにする。
Why use Event Sourcing - Arkency Blog
| describe Foo do | |
| describe '.process', active_job: true do | |
| it 'キューにジョブを2件保存する' do | |
| expect { | |
| described_class.process | |
| }.to change{ActiveJob::Base.queue_adapter.enqueued_jobs.size}.by(2) | |
| end | |
| end | |
| end |
| require 'octokit' | |
| owner = 'juno' | |
| repo = 'foo' | |
| branch_name = 'fix-issue-1' | |
| Octokit::Client.new(access_token: ENV['GITHUB_ACCESS_TOKEN']) | |
| pull_id = client.pulls("#{owner}/#{repo}", head: "#{owner}:#{branch_name}").first.number |
Original: 5 mistakes we all make with product feedback
Original: https://segment.com/blog/calculating-customer-acquisition-costs/
算出式は以下のとおり。