railsのアプリケーション作成方法まとめ
rails new myapp
└--skip-bundleをつけるとbundleをインストールしないので早い
cd myapp
gemファイルを必要に応じて変更
bundle install
└install後であればbundle updateでも同じ?
rake db:create
rake db:migrate
rails s
アプリケーションが立ち上がっていることを確認し、サーバを落とす
rails generate controller home index
└controller "home"が作成される
└index.htmlも作成される
routes.rbを開き、「root :to => "home#index"」を追記
└ルートアクションがhomeコントローラのindexアクションに結び付けられる
Rubyを始めてみたのでメモ
メソッド
各オブジェクトのメソッドが知りたいときはここから調べる。
http://www.ruby-doc.org/core-2.0/
■hashオブジェクトのメソッド例
.size : 配列の数が帰ってくる
.empty?["◯◯"] : 該当の配列にデータがあるかどうかが返ってくる
■Timeオブジェクトのメソッド例
.now
.strftime("%Y/%m/%d")
繰り返し
■表記方法は以下の3種類
10.times do |i|
puts "#{i}hi!"
end
for i in 1..10 do
puts i
end
i=1
while i<10 do
puts i
i = i+1
end
配列データのアウトプット
users = ["taguchi","fkoji","dotinstall"]
例えば上記の配列の場合、表記方法は以下の2種類。
for user in users do
puts user
end
users.each do |user|
puts user
end
ハッシュオブジェクトのアウトプット
scores = {"taguchi"=>200,"fkoji"=>300,"dot"=>120}
例えば上記データの場合、以下のように書けばOK。
scores.each do |name,score|
printf("%s's score is %d\n",name,score)
end
メソッドの定義
・メソッド名の定義はdef
・メソッド名は数字から始めるのはNG
こんな書き方
def sing(word = "la")
puts word + word + word + "~"
end
sing()
sing("hu")
こんな形でもOK。
def sing(word = "la", num)
s = ""
for i in 1..num do
s += word
end
s += "~"
return s
endres = sing("hu",10)
puts res
classの定義
・classの名前は大文字から
class Monster
def initialize(name)
@name = name
@hp = 100+rand(100)
printf("%s appeard. His hp is %d\n", @name, @hp)
end
def damage
@hp -= 10 + rand(10)
printf("%s's hp is now %d\n",@name, @hp)
printf("%s is now dead!\n", @name) if @hp < 0
end
endslime = Monster.new("slime")
i=0
while i < 10 do
slime.damage
i += 1
end
Rails4にDeviseを導入してみる
基本は以下に沿って導入。
http://inoccu.net/blog/2013/04/28/122144.html
ただ、
rails g devise:install
をすると
Could not find generator generate.
のエラーが出た。
どうやらRails4を使っている場合はDeviseのバージョン指定が必要のよう。
http://stackoverflow.com/questions/16513066/devise-with-rails-4
GemFileでdeviceのバージョンを以下に指定し再度rails g devise:installをしたところうまくいった。
gem 'devise', '~>3.0.0rc'
その後もマニュアルに沿って設定。
config/environment/development.rbに下記を追加。
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => 'smtp.gmail.com',
:port => 587,
:authentication => :plain,
:user_name => "自分のメールアドレス",
:password => "自分のパスワード",
}
ただ、Signupしようとしたところ、以下のエラー。
Errno::ECONNREFUSED in Devise
どうやらSMTPの設定が必要みたい。
よく分からんので今日はこのへんで終了。
僕の理想の人生
少し前まで、とにかく多くの人に影響を与えるような、大きい事業を作りたいと思っていた。
ただ、最近になって考え方が大きく変わった。頭でっかちに「関係のないことに時間を割くことはなるべく避け、必要なスキルを獲得できることだけに集中しよう」なんて考えることはやめよう。そして、いろんなことに興味を持って、いろんなことにチャレンジしよう。
僕は、コカコーラを発明したジョン・ペンバートンの話と、リーバイスを発明したリーバイ・ストラウスの話が大好きだ。2人が世界トップシェアを持つ商品を発明できた背景には確かに運もあると思うけど、今の僕が彼等と同じ状況に対峙したとして、おそらくそのチャンスを簡単に見逃してしまっているはずだ。本当に必要なことは、「どれだけ規模があるのか」「本当にニーズが存在するのか」などを頭でっかちに考えるのではなく、面白いと感じたことをいろいろ試してみること。
ルイヴィトン表参道店を観察してみた
少し時間が空いたので、ルイヴィトン表参道店の前で約1時間お客さんの観察をしてみた。なんと、1時間で購入した人はたったの3組だった。
ざっくり購入単価を10万円として、1時間30万円の売上なので、一日の売上は30万円×10時間=300万円といったところか。月商1億、年商12億円程度の計算になる。
表参道の一等地の家賃っていくらかわからないけど、多分2000万円〜5000万円の間ぐらいかな?店舗のみの収支でいうと多分損益分岐点ギリギリ、ってとこだと思う。
ただ、店の前を通過する人の様子も見ていたのだが、ショーウインドウをガン見する人が本当に多い。きっと凄まじいブランディング効果なんだろう。
ざっくり考えるとき、なんとなくリアル店舗の店舗建設費や内装費はWEBにおけるサイト構築コスト、賃料はWEBにおける集客コストに対応するイメージで考えているんだけど、例えばECサイトで毎月2500万円の集客コストで月商1億円を獲得するためには、仮に売上の半分がリピート顧客だとするとCPA5万で毎月500件の新規顧客を獲得しなければならない計算になる。高級ブランド品でこのCPAって結構ハード。
意外と銀座や表参道への店舗出店って効率良いのかもな、って感じました。まあSPAでないと間違いなく収支合わないから無理だけど。