はじめに 従来の物理サーバー(オンプレミス)ではなく、クラウドコンピューティングを導入する企業が増えてきており、その中でもAWSを導入している企業が多いのではないでょうか。 なので、AWSを勉強しようと思いましたが、基本的なネットワークの知識が欠…
エラーが発生した経緯 コントローラとアクションの作成とルーティングの設定をし bin/rails s してからビューを確認しようとすると、下記のエラーが発生しました ActionController::RoutingError (uninitialized constant ManagementController): Management…
seedデータとは データベースに投入する初期データのことです 開発環境と本番環境にそれぞれseedデータを作成してみます 1. 開発環境にseedファイル「members.rb」を作成します myapp $ touch db/seeds/development/members.rb 2. 作成された「members.rb」…
マイグレーションとは 「移動」「移入」「移住」といった意味をもつ言葉です。 マイグレーションの機能 データベース内にテーブルを作成することができます。 SQLよりも簡単にテーブル作成ができる? SQLを使ってテーブルを作成する場合 1. テーブルを作成す…
はじめに Rails アプリを Heroku にデプロイしようとしたら remote: An error occurred while installing sqlite3 (1.3.13), and Bundler cannot remote: continue. remote: Make sure that `gem install sqlite3 -v '1.3.13'` succeeds before bundling. re…
はじめに アプリケーションの文言を日本語化するために、「rails-i18n」というgemをインストールする際に下記のエラーが発生しました。 Could not find gem 'rails-il8n (~> 5.1)' in any of the gem sources listed in your Gemfile or in gems cached in v…
はじめに NOT INまたは<>ALLで判定するサブクエリ(副問合せ)の結果にNULLが含まれると、全体の結果もNULLとなります。 データにNULLが含まれると、取得されるはずのデータが取得できなくなることがあるので、サブクエリの結果からNULLを除外する方法を調べ…
はじめに 動作が似ているrenderとredirect_to あまり意識せずに両者を使っていたので、それぞれの違いを調べてみました renderとredirect_toの動き方の違い redirect_toの方が多くの過程があり、具体的には以下のような過程の違いがあります。 ・render: co…
はじめに Rubyはif文やunless文の場合、実際にローカル変数に代入がされていなくても、代入を行う記述が存在すればローカル変数を宣言したこととなる 以下のコードでは変数「num」が宣言されていないので、エラーが発生する if num % 2 == 0 message = "偶数…
どちらも絞り込みを行うが、WHEREとHAVINGはなにが違うのか → 呼ばれるタイミングが違う SQLが実行される順序 FROM → WHERE → GROUPBY → HAVING → SELECT → ORDERBY 呼ばれるタイミングが違うとどう変わる? WHEREとGROUP BYを併用した場合 WHERE → GROUP BY…
メールアドレスの正規表現をネットで検索してみると、、、 短くシンプルなものから [^\s]+@[^\s]+ このような長いものまであった。 /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ 自分でもメールアドレスのルールを以下のように…
テーブル設計を試みた際に、テーブルの構造をどうすれば良いのか不明確だったため、調べつつ4つのルールにまとめてみた。 テーブル設計のルール ルール1 テーブルはある共通の属性を持ったモノの集合であること 表1はテーブルとはいえない。表2はテーブ…
nil? empty? blank? present? 比較表 nil? empty? blank? present? nil true NoMethodError true false true false NoMethodError false true false false NoMethodError true false 0 false NoMethodError false true 123数字 false NoMethodError false tr…
標準入力される整数 3, 100(この順で半角スペース区切り)の値を、int型にしてそれぞれの変数に代入する! やることはこれだけですが、リファクタリングする前と後でコードが見違えた。 リファクタリングする前 input_value = gets.split(' ') value1 = inp…
Rubyで文字列を結合する主な方法が3つあったので、それぞれの違いを調べてみた。 1. +メソッドで文字列と文字列を連結する方法 str1 = 'Hello ' str2 = 'World!' p str1 + str2 # => Hello World! p str1 # => "Hello" p str2 # => "World!" ちなみに+メソッ…
andと&&って特に挙動に違いはなく、 「個人の好みによってどっち使ってくれても大丈夫ですよ〜」 って感じだと思ってた、、、けど違った! 例えば a = true && false p a # => false b = true and false p b # => true どちらもfalseになると思ってたけど、…
3を2で割ってみる。 普通だったら1.5となるはずだが、、、 p 3 / 2 # => 1 1.5にならない! なぜ1になっているのか? Rubyは、整数同士で割り算をした場合、計算結果は小数点以下が省かれて整数となる仕様となっている。 では、小数を含めた結果が欲しいと…
gitにpushするまでのルーチン 1. 変更したファイルの確認 $ git status 2. 変更したファイルのソースコードを確認 git diff 3. コミットするファイルを選択 $ git add ファイル名 4. コミット (オプション-m でメッセージも一緒に) $ git commit -m "コミ…
MVCモデルってなに?便利なの? MVCモデルとは MVCとはModel・View・Controllerの略で、処理を3つの役割に分割してアプリケーションソフトウェアを実装する手法(デザインパターン)。 Controller ModelとViewの仲介役で、View(ユーザーの入力)から受け取…