スクール生のAWSクラウドプラクティショナー(CLF)合格体験記

私は、

・プログラミング未経験 ・プログラミングスクール生 ・AWSの知識(VPC、EC2、RDSハンズオン経験のみ)

です。

毎日勉強3~4時間を1週間続けて、無事合格できました。 具体的に勉強に使ったサイトや書籍を紹介したいと思います。

やったこと

①まずは問題を1回分解いてみる とにもかくにも、どんな問題が出るか把握することが第1ステップだと思います。

②udemyや本で、浅く全体を理解 正直、意味不明ですが、あまり気にせずに進みました。

使った教材  書籍   ・AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版  udemy   ・AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得]

③問題集をたくさん解いて、反復する 正解率30%とかでしたが、あまり気にせずやりました。 正直回答も意味不明なものが多かったです。 意味不明にも2種類ありました。 ・反復するうちに理解できたもの ・何度やっても理解不能

何度やっても理解不能は、 ・Amazon Web Services Japan 公式YOUTUBEを観ました。ストレージやデータベースの説明がめちゃくちゃ分かりやすいです。 ・AWS系YOUTUBER動画を観ました。再生回数が少なくても分かりやすい動画はたくさんありました。

使った問題集   udemy   この問題だけで合格可能!AWS 認定クラウドラクティショナー 模擬試験問題集(7回分455問)   web問題集   ・https://learn-aws.cafe/clf   ・https://aws-exam.net/clf/clf_question.php

試験当日の状態(※この程度でも受かりました。)

udemyの基礎問題 正解率80%(3回反復してるにも関わらず) udemyの応用問題 正解率48%(初見) ゴリ押しの暗記(例. ”ストリーミング”で書いてたら、脳筋で"Kinesis"を選ぶ。)

 

さいごに

クラウドラクティショナーに関しては、"質"より"量"が良いと思いました。 とにかく、過去問を解きまくるのが良かったのかもしれません。 ソリューションアーキテクトの合格体験記も書ければいいなと思います。

  少しでも参考になれば幸いです。

refileを使った画像投稿機能導入方法

ターミナルでImageMagickのインストール

#上から順番に実行する(実行するディレクトリは、どこでもいい。)
sudo yum -y install libpng-devel libjpeg-devel libtiff-devel gcc
cd
wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar -vxf ImageMagick.tar.gz
ls
cd ImageMagick-x.x.x-xx
./configure
make
sudo make install

rails側の設定

gem

# 画像投稿用gem
gem "refile", require: "refile/rails", github: 'manfe/refile'
# 画像加工用(サイズ調整など)gem
gem "refile-mini_magick"
bundle

データベース

以下のように、画像を保存したいテーブルにimage_idを追加する。

create_table "posts", force: :cascade do |t|
:
:
    #image_idと書いているが、実際は文字列。(後述)
    t.string "image_id" 
:
:
  end

モデル

attachment :image

投稿

:
:
  <%= f.attachment_field :image %>
:
:

とりあえず、rails sで投稿すると以下のような画面が出る。 スクリーンショット 2021-02-02 19.41.34.png ここに書いているキーをconfigに貼り付ける。

# Be sure to restart your server when you modify this file.

# ActiveSupport::Reloader.to_prepare do
#   ApplicationController.renderer.defaults.merge!(
#     http_host: 'example.org',
#     https: false
#   )
# end

Refile.secret_key = '3238beb2f9945d440d0140ba9a28ace320d1a8a67178697999696c08e6655867768c5b002538b2b5e6ec4f0bbdfb03b06aa0ee7679999bd58bfeb4bdd5ead8a3'

保存

  def create
    Post.new(post_params).save
  end
:
:
  def post_params
    params.require(:post).permit(:title, :body, :image)
  end

〜参考〜 投稿時、binding.pryでparamsを覗いてみる。

[1] pry(#<PostsController>)> post_params
=> <ActionController::Parameters 
{
"title"=>"aaaa", 
"body"=>"aaaaaa", 
"image"=>#<ActionDispatch::Http::UploadedFile:0x00007fb0b00af588 @tempfile=#<Tempfile:/tmp/RackMultipart20210202-14306-orj859.jpeg (closed)>, @original_filename="54b7e1f981b7df7c817af48d1b96ad5e_400x400.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"list[image]\"; filename=\"54b7e1f981b7df7c817af48d1b96ad5e_400x400.jpeg\"\r\nContent-Type: image/jpeg\r\n">
} permitted: true>

保存後、SQLでimage_idを覗いてみる。

rails dbconsole
sqlite> SELECT image_id FROM posts;                        
/* 以下のように画像が文字列で保存されている事がわかる。 */
/* 1枚目(コメント) */
d64ff76c065fc7b98c995e2c07611856ca20b2caae61632c2ac0f201c878
/* 2枚目(コメント) */
c675db59c69164df9a1f487146f676d2f32827943ed346caf443f01e7fa7v
:
:

表示

:
:
<%= attachment_image_tag @post, :image, :fill, 300, 300, format: 'jpeg' %>
:
:

以上で画像が表示されるはず。

BootstrapとFont-Awesome導入(Rails)

導入方法(rails

Gemfileを編集する

gem 'bootstrap', '~> 4.5'
gem 'jquery-rails'
gem 'font-awesome-sass', '~> 5.13'
$ bundle

SCSSに読み込ませる

@import "bootstrap";
@import 'font-awesome-sprockets';
@import 'font-awesome';

application.jsファイル

//= require jquery3
//= require popper
//= require bootstrap-sprockets

application.cssの拡張子を変更する。

デフォルトでは、application.css」だが、「application.scss」に変更する。 「SCSS」はCSSの拡張言語で、bootstrapを使用できるようになる。

 mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss

記述方法

<i class="fas fa-アイコン名"></i> 

アイコン名検索

Railsのデータベースのカラムの追加や編集

1. Migrationファイルを作成する。

  #[カラム追加]カラムの追加のためのマイグレーションファイル発行
$ rails g migration Addカラム名Toテーブル名 カラム名:型名
  #[カラム削除]カラムの削除のためのマイグレーションファイル発行
$ rails g migration Removeカラム名Fromテーブル名 カラム名:型名
  #[カラム名前変更]カラムの変更のためのマイグレーションファイル発行
$ rails g migration rename_カラム名_column_to_頭大文字テーブル名
  #[カラムデータ型変更]カラムの追加のためのマイグレーションファイル発行
$ rails g migration Addカラム名Toテーブル名 カラム名:型名

2. 作成したマイグレーションファイルを見て、内容を確認・記載する。

2-1. 名前だけ間違えてしまった場合

class Renameカラム名ColumnTo頭大文字テーブル名 < ActiveRecord::Migration[5.2]
  def change
    rename_column :テーブル名, :変更前カラム名, :変更後カラム名
end

データ型レベルで間違えた場合

class Addカラム名Toテーブル名 < ActiveRecord::Migration

 #新たに追加するカラム
  def up
    add_column :items, :customer_id, :integer
  end

 #削除したいカラム
  def down
    remove_column :items, :customer_id, :string
  end
end

3. SQLに反映する。

$ rails db:migrate

うまく行かなかったらすごい数のエラー文が出る。

schema.rbを見て正しく書き込まれていることを確認する。