スクール生の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で投稿すると以下のような画面が出る。 ここに書いているキーを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を見て正しく書き込まれていることを確認する。