EC2インスタンスにログインできる新ユーザー作成及びローカルで鍵を作成しSSH通信によるインスタンスへのログイン

どうもどハマりエンジニアです。 <対象> ・すでにEC2インスタンスを作成 ・Elstatic IP アドレスの関連付けができている。 <さっそくやってみよう!!!> インスタンス作成時にEC2にログインするために必要となるキーペアをダウンロードしたと思います。作成し…

swiperの使い方にについて

どうもどハマりエンジニアです。 本日はswiperを導入し、トップページに一定間隔で複数の画像の切替を行っていきたいと思います。 Swiper.jsとは何? Swiper.jsとはスライダーが作れるJavaScriptのライブラリです。 CSSとJSを適用することで、画像などをスラ…

検索機能の追加

どうもどハマりエンジニアです。 本日はActiceModelでDBに依存しないモデルを作り、検索機能の実装を行っていきます。 今回の勉強内容 ・form object ・Active Model ・scope form objectとは? form_withのmodelオプション*1にActive Record以外のオブジェ…

Rakeタスクを作り

どうもどハマりエンジニアです。 本日は簡単にRakeタスク について実装したので、まとめていきます。 記事ステータスの追加 まずenumのメソッドが使えるように定義していきます。 i18nの設定 state: draft: '下書き' published: '公開' publish_wait: '公開…

パンクズの設定について

どうもどハマりエンジニアです。 パンくずとは、パンくずリストを省略した表現で、ユーザーが今WEBサイト内のどの位置にいるのかを視覚的に分かりやすくするため、上位の階層となるWEBページを階層順にリストアップしてリンクを設置したリストのことを指して…

Rspecの環境構築から必須のgemの解説と

どうもどハマりエンジニアです。 ここ最近は仕事等が忙しく更新出来ませんでしたが、仕事も落ち着いてきたので本日からまたしっかりと更新できるように頑張りたいと思います。 目次 Rspecの環境構築 gem(factory_bot_rails や capybara) モデルスペック シス…

SNS(Facebook)ログイン機能の追加

どうもどハマりエンジニアです。 Facebook認証によるユーザー登録・ログイン機能を追加していきます。 authenticationsテーブルを作成 $ rails g sorcery:install external --only-submodules migrate/2020020311301_sorcery_external.rb class SorceryExter…

404、500エラー発生時のSlack通知

どうもどハマりエンジニアです。 目的 slack-notifier exception_notification 上記の2つのgemを追加・適切な記述をし、Slackの該当チャンネルに通知できるようにします。Slackの通知設定でWebhookURLに指定するURL情報は、credentials(日本語だと信任状)を…

掲示板/ユーザのCRUD機能の作成(管理者画面)

どうもどハマりエンジニアです。 本日は前回の引き続きで、管理者画面の掲示板及びユーザーのCRUD機能を作成していきます。 ユーザーと掲示板のコントローラー作成 $rails g controller admin::users $rails g controller admin::boards コントローラーは普…

AdminLTE 3を使って簡単な管理者ページを実装

どうもどハマりエンジニアです。 本日は管理画面へのログイン機能、管理画面トップページの作成 を作成していきます。 AdminLTE3のインストール まず今回はyarnを使ってAdminLTEをインストールしていきます。 yarnとはJavaScriptのパッケージマネージャーの…

sorceryのreset_passwordモジュールを使用したパスワードリセット機能

どうもどハマりエンジニアです。 本日はパスワードのリセット機能について実装していきます。 使う概念 soceryのreset_passwordモジュール letter_opener_web config sorceryのreset_passwowrdモジュールをインストールする $rails g sorcery:install reset_…

ransackを使った検索機能の実装

どうもどハマりエンジニアです gemの導入 gem 'ransack' → $bundle install 要件 掲示板のタイトルor本文の部分一致検索ができること ブックマーク一覧画面で検索した場合はブックマークした掲示板のみが検索対象であること。 検索フォームのテンプレートを…

掲示板のページネーション

どうもどハマりエンジニアです。 今回は掲示板の下部にページネーションを付け加える実装を行っていきます。 ①gem 'kaminari' → bundle install ②rails g kaminari:config ここで設定等を決めることができるファイルが作成させます ③rails g kaminari:views …

コメント(編集)のAjax化について

どうもどハマりエンジニアです。 今回はコメント(編集)のAjax化について行っていきます。 流れとして下記の4つを実装していきます。 機能を四つに分けて実装していきます。1. 編集ボタンクリックでラベル非表示、コメントエリアとボタン表示2. キャンセル…

コメント(投稿・削除)のAjax化について

どうもどハマりエンジニアです。 本日は前回のブックマーク機能のAjax化に引き続き、コメント(投稿・削除)のAjax化をしていきたいと思います。 ①コントローラー (comments_controller.rb) def create @comment = current_user.comments.build(comment_para…

ブックマークボタンのajax化について

どうもどハマりエンジニアです。 本日はajaxについて説明してくよ! ajaxとは、Asynchronous JavaScript + XML の略で、非同期通信と呼ばれる通信方法のことを指す。 railsにおいてajax通信を実装する場合二通りある。 remote: trueを指定する方法 JSファイ…

ブックマーク機能の実装について

どうもどハマりエンジニアです。 ブックマーク機能の実装を行っていきます。既にコメント機能まで完成しています。 ①bookmarkモデルの作成 ②bookmarksコントローラの作成。 ③各モデルに関連付けを行う (bookmark.rb) class Bookmark < ApplicationRecord bel…

動的なタイトル表示について

どうもどハマりエンジニアです。 本日は動的なタイトル表示について書いていきます。 content_forメソッドとは content_forメソッドは、Railsにデフォルトで用意されているもので、画面毎に異なる内容を呼び出したい場合使う。 <application_helper.rb> module ApplicationHelper de</application_helper.rb>…

コメント機能の作成について

どうもどハマりエンジニアです。 ここからリレーションなども絡んできてかなり初学者(自分)には難しく感じるとろこになりました。ですが気合を入れて頑張っていきましょう! ではまず最初にイメージ図(ER図)を簡単に手書きでパパッと書いておくとイメー…

APIとは何か?

どうもどハマりエンジニアです。 本日はAPIについて簡単にまとめてみました。 APIとは「Application Programming Interface」の頭文字である。APIはソフトフェアやアプリケーションなどの一部を外部にむけて公開することにより、第三者が開発したソフトウェ…

Draperの使い方 まとめ

どうもどハマりエンジニアです。 本日はDraperの簡単な使い方について説明するよ。 まずgemをインストール gem 'draper' $bundle install そして、 システムにデコレーター層を追加するために下記のコマンドを実行する $rails g draper:install 指定したモデ…

「Bootstrap」「font-awesome」の設定方法について

どうもどハマりエンジニアです。 「Bootstrap」「font-awesome」の設定方法について説明をしていくよ! まずhttps://rubygems.org/のサイトにて最新バージョンを確認する そしたらGemfileにコードを書き、bundle install gem 'bootstrap', '~> 4.3.1' gem 'f…

gitの基本知識について(初心者用)

どうもどハマりエンジニアです。 本日はgitの基本的な知識についてアウトプットしていきます。 ・リポジトリとは リポジトリとはファイルの変更履歴をためておく「貯蔵庫」のようなもので、いくつでも作成することができる。 git init で作成することができ…

renderの繰り返し処理の正しい表記方法について

どうもどハマりエンジニアです。 本日はrenderを使う際にeachを使って初心者は使いがちになってしまい、パフォーマンスを落としてうことが多いです。(実際私もそうでした) 下記の流れのように最終的には 「render @user」だけで済む上に、パフォーマンスも…

carrier_waveとmini_magickを使った掲示板の画像アップロード機能の作成

どうもどハマりエンジニアです。 本日は掲示板の画像アップロード機能の作成を行ったよ。 あくまで自分で確認するためと、アウトプットして覚えるためようです。 carrierwaveのgemをインストール Gemfile gem carrierwave bundle installを行う。 uploaderを…

掲示板の一覧機能の作成(アソシエーション)

どうもどハマりエンジニアです。 本日は掲示板の一覧機能を実装! 本日の行ったことをまとめるよ! Boardモデルを作成したら、Userモデルと関連付を行う。(アソシエーション) belongs_to :user validates :title, presence: true, length: { maximum: 255 }…

Flashの使用の流れについて(パーシャルを使用)

< Flashの使用方法について> どうもどハマりエンジニアです。 本日は基礎中の基礎のFlash機能について今日学んだことをアウトプットするよ。 ※個人的に理解するためのものなので、他の人からみるととても分かりづらいと思います。ご了承ください。 まずfla…

公務員からなぜエンジニアへ?? こんにちは、どハマりエンジニアです。私は、25歳になった年に、公務員を辞めてエンジニアになることを決意しました。なぜ、私が公務員という職を辞めてまでエンジニアになろうと思ったのかをまとめたいと思います。まず、簡…

〜公務員からエンジニアへ〜 <本日学んだこと> 認証機能について 認証機能とは、ユーザの情報を検証して、システムへのログインやユーザの有効性確認を行うための機能。そしてこの認証機能の中でも、特に使用頻度が高いのが、ログイン機能。 では、ユーザ…