Webアプリ作成環境構築方法

●rvmでRubyのバージョンアップ

#rvmコマンドが実行できるよう、権限を変更
$ sudo chown ec2-user:wheel /usr
$ sudo chown ec2-user:wheel /usr/local
$ sudo chown -R ec2-user:rvm /usr/local/rvm

#Rubyの2.5.1をダウンロード
$ rvm install 2.5.1

#バージョン確認、2.5.1と表示されれば成功
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

#デフォルトのバージョンを2.3.1に設定
$ rvm --default use 2.5.1

mySQLのインストール

$ sudo yum install mysql-devel

$sudo service mysqld start

●Gem

Rubyを便利に扱うためのアプリの総称

ターミナルからGemがもつコマンドを実行することで使用できる

●bundlerというGemをインストール

get install bundler

Ruby on Railsをインストール

gem install rails --version="5.2.1"

●アプリ作成

rails new アプリ名 -オプション名

例:$ rails _5.2.1_ new pictweet -d mysql

●Gemの追加

Gemfileというファイルにgem'Gem名'と記述

➡bundle installでインストールされる(Gemfile.lockをもとに)

追加したいときはbundle updateでGemfileの内容をGemfile.lock(バージョン指定を管理しているファイル)に反映

●データベースの作成

運用環境は3種類➡development(開発環境),production(本番環境),test(テスト環境)

database.ymlにデータベースの設定の記述をする

rake db:createで新しくデータベースを作成

$ sudo yum install phpmyadminでデータベースを視覚的に管理

phpMyAdminをブラウザから確認

shellファイルを取り込む

apacheを起動$ sudo service httpd start

➡shellの中のmove.shを実行 sh move.sh

ブラウザに投げると表示される

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ハッシュと配列

#ハッシュの定義
hash = {title:  "時をかける少女"}
puts hash[:title]
hash[:title] = "るろうに剣心"
puts hash[:title]

#配列の定義
pencil_case = ["ペン", "消しゴム", "定規"]
  puts pencil_case

#メソッドの定義
def rename(name)
  name = "Mr.#{name}"
end

name = "Tanaka"
rename(name)
puts name

#eachの使い方
animals = ["いぬ", "ねこ", "ねずみ"]
animals.each do |animal|
  puts animal
end
<||



●ハッシュと配列の違い
hashは{キー: 値}で定義し、hash[:キー]で値を出力

クラスとインスタンス

●クラス

オブジェクトの共通の属性とメソッドをまとめて定義しておく型

メソッドにはselfをつける

変数には@@をつける

インスタンス

クラスに基づいてつくられたオブジェクトのこと

メソッド

変数には@をつける

クラスメソッドは全体を通して用いるメソッド。合計とか
インスタンスメソッドはインスタンス毎に値を変える必要のある時に使うメソッド
インスタンス変数はインスタンスによって値を変える時に使う変数。インスタンスメソッドの中にある


 

class Dog
@@type = "犬"

def initialize
@name = "ポチ"
@dog_type ="柴犬"
end

def self.say
puts "ワン"
end

def type
puts "名前は#{@@type}です"
end
def introduction
puts "名前は#{@name}で犬類は#{@dog_type}です"
end
end

dog = Dog.new
Dog.say
dog.type
dog.introduction