takumiblog

新人エンジニアの技術ブログ

Trailblazerって何?

Trailblazerとは? 複雑なアプリケーションでもシンプルなアーキテクチャで実装することができるようになるやつ。 アプリケーションが複雑・大規模になるにつれて、modelやcontrollerが肥大化して、扱いづらくメンテナンスもしづらくなってしまうから、それ…

学習日記8日目

rspec stub テスト専用のダミーメソッド described_class descride 〇〇のモデルの部分を置き換えることができる。 subject{ User.new} 上記のものが、以下と同等のものになる subject{described_class.new} rails,rubyについて raise 例外処理について rais…

学習日記7日目

2021/7/18に学んだことについてまとめていきます。 今日学習したこと rspec subjectについて subjectは、expectの引数を変数として定義し、使いまわせるようにしたもの。 subjectを用いることで、メンテナンス・修正がしやすくなる。 また、dryなテストにす…

学習日記6日目

今日学んだこと React jsx記法について jsファイル内で、htmlを記述して、表示することができる。 const App = () => { return ( <> <h1>こんにちは</h1> <p>お元気ですか</p> ); }; ReactDom.render(<App />, document.getElementById("root")); Appという変数を定義して、return</app>…

学習日記5日目

学習したこと テーブル作成時に、unsigned: trueを追加する 以下のように、unsigned: trueを追加する時で、扱える値の範囲を変更することができる。 create_table :users, unsigned: true do |t| t.integer :post t.timestamps end 基本的にデータ型(数値型)…

学習日記4日目

今日の学び アソシエーションのrspecについて こんな感じでアソシエーションについてのテストを簡単にできる。 shoulda-matchersというgemを使用するとできるらしい。 it { is_expected.to belong_to(:user) } it { is_expected.to have_many(:user_live_bac…

学習日記3日目

今日やったこと・学んだこと rollback rollbackは、基本的に、一個ずつしか戻すことができない 何個か前に戻りたいときは、STEP=nを指定することできる migaritionファイル削除 rails fb:migrate:statusでmigrationの状況を確認 upであれば、downに変更して…

学習日記2日目

やったこと・学んだこと 業務 配列の中身を検証するテスト contain_exactlyマッチャ SQLで複数のカラムが重複しているレコードを抽出する 本番環境のDBを操作したいときは、Sequel Aceなどのクエリを使用すると簡単に操作することが出来る だいたいこんな感…

学習日記1日目

やったこと・学んだこと エンキューされたjobの引数を検証するテストの書き方 have_enqueued_job(job).with('引数').on_queue('期待する値') 複合ユニーク制約のmodel specの作成方法 it { is_expected.to validate_uniqueness_of(:キー).scoped_to(:キー, :…

GCP入門⑤(GCSについて)

本記事は、以下のUdemyの教材をもとに学習したGCP入門まとめになります。 最速で学ぶ - Google Cloud Platform(GCP)入門完全攻略コース GCSとは? Google Cloud StorageGoogleが提供しているストレージサービス画像、動画、静的webサイト、ログの保管を行…

GCP入門④(Cloud DNSとは?、特徴について)

本記事は、以下のUdemyの教材をもとに学習したGCP入門まとめになります。 最速で学ぶ - Google Cloud Platform(GCP)入門完全攻略コース Cloud DNSとは、特徴 Googleが提供するDNSドメイン名で、サービスにアクセスするために必要な設定が、DNS100%の可用…

GCP入門③(VPC,ネットワーク事前知識)

本記事は、以下のUdemyの教材をもとに学習したGCP入門まとめになります。 最速で学ぶ - Google Cloud Platform(GCP)入門完全攻略コース VPCとは、特徴 Virtual Private CloudGCP上に仮想ネットワークを構築することができる機能何も設定しなければ、デフォ…

GCP入門②(GCEについて)

本記事は、以下のUdemyの教材をもとにGCP入門の学習まとめになります。 最速で学ぶ - Google Cloud Platform(GCP)入門完全攻略コース GCEとは Google Compute Engine仮想マシン(VM,一台の物理的PC内で複数のPCを動かすことのできる技術)を提供できるサービ…

GCP入門①(GCPの概要について)

はじめに 本記事は、以下のサイトで学習しているGCP入門についての内容をまとめたものになります。 最速で学ぶ - Google Cloud Platform(GCP)入門完全攻略コース あくまで自分用メモ・学習の振り返りなので、読みづらい部分があると思いますが、ご了承くだ…

N+1問題が本当に解消されているのか確認して見た

はじめに ポートフォリオをアップしたところ、処理が遅いことに気づきました。 そこで少しでも負担を軽減できないかと考え、N+1問題の対策をしてみたのですが、あまり処理速度が変わらずほんとに対策できているのか気になったので、その確認のメモとして残し…

Reactでモーダル実装するための仕組みについて

この記事について モーダル実装の仕組みについて理解を深めるために、書き留めておきます。 完成コード [Main.js] import React from 'react'; import Lesson from './Lesson'; class Main extends React.Component { render() { const lessonList= [ { name…

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)

sqlに接続しようとしたらエラーがCan't connect to local MySQL server through socket '/tmp/mysql.sock' (38)エラーが発生した。 エラー内容 /tmp/mysql.sockがないとのこと。 存在していないか確認してみる。 cd /tmp ls mysql.sock my.sockは存在してい…

ゲストログイン機能追加

はじめに ポートフォリオサイトにゲストログイン機能を追加したのでその学習メモとして残していきます。 ルーティング resources :guest_sessions, only: [:create] guest_sessions_pathで取得できる。onlyでcreateのみに指定している。 コントローラ def cr…

factory_bot_railsの導入と基本的な使い方

初めまして、takumiと申します! 今回はFactory_bot_railsの基本的な使い方について学習したのでそれをまとめていきます。 説明に不備がありましたらご指摘頂けると嬉しいです。 記事のゴール ・facotory_botは何のために使うのか?について理解できる。 ・f…

nilはemptyにはならない??テストが失敗する原因について考察してみた。

はじめに 初めまして、takumiです! 今回はRSpecのテストが思った通りの動作がしなかったのでその原因について考察していこうと思います。 ※nilに関してちゃんと理解できる方であれば超絶簡単な内容かと思います。少しお付き合い頂ければ幸いです。 内容 not…

uniqueness: { scope: :〇〇 }について検証してみた

はじめに railsを学習していく中でscopeを使用したユニーク制約がいまいち理解できなかったのでまとめてみました。 uniqueness: true uniqueness: trueは、至ってわかりやすく重複していないことを検証するバリデーションになります。 uniqueness: { scope: …

よく使用されているIT用語について

こんにちは! 駆け出しエンジニアのタクミです! 今回は、IT用語についてまとめていこうと思います! この記事について wantedlyの記事の中でよく使われているIT用語(専門用語)について理解を深めるため、まとめていきます。 この記事のゴールとしては、基本…

herokuで画像が表示されない(AWS,S3の導入手順)

この記事について ポートフォリオをherokuでデプロイした所、画像が表示されませんでした。 どうやらherokuでは無料版の容量は限られているため、外部ストレージのS3を使用することにしましたので、そのメモとして書いていきます。 Ruby on RailsのCarrierWa…

保存が失敗した時のデバック方法

この記事について ユーザー情報などの保存がうまくいかない時に、何が原因か調査することのできる方法についてまとめていきます。 他にも方法がある場合、コメントしていただけると嬉しいです! 設定 調査の仕方について具体例を用いながら解説していきます…

編集機能が失敗してしまう原因(バリデーションについて)

はじめに ユーザー情報の編集機能を実装する際に、つまづいたエラーについてまとめていきたいと思います。 開発環境 MacOS 10.15.7 Rails 6.1.3 今回はdeviceのgemは使用していません。 コード edit.html.erb <%= form_tag("/users/#{@user.id}/update",{mul…

pushするまでに必要なコマンドとその動きについて③

本記事のゴール ・GitHub上にpushするまでに必要なコマンド操作について理解できる ・コマンド操作をすることでGitの裏側で何が起こっているのがイメージすることができる pushするまでの流れ Gitの登録からリモートリポジトリへpushするまでの流れを解説し…

pushするまでに必要なコマンドと動きについて②

本記事のゴール ・GitHub上にpushするまでに必要なコマンド操作について理解できる ・コマンド操作をすることでGitの裏側で何が起こっているのがイメージすることができる pushするまでの流れ Gitの登録からリモートリポジトリへpushするまでの流れを解説し…

pushするまでに必要なコマンドとその動きについて①

本記事のゴール ・GitHub上にpushするまでに必要なコマンド操作について理解できる ・コマンド操作をすることでGitの裏側で何が起こっているのがイメージすることができる pushするまでの流れ Gitの登録からリモートリポジトリへpushするまでの流れを解説し…

GitとGitHubの基本用語まとめ

はじめに GitとGitHubの用語に関して、「意味」「特徴」「コマンド例」等を踏まえながらイメージしやすい様にまとめてみましたので、同じGit学習者等の参考になれば幸いです。 リポジトリ 意味 履歴を管理する場所のこと 特徴 ・ファイル内容をリポジトリに…

GitHub fatal: remote origin already exists.エラーの解決方法 

この記事について 今回githubのリモートリポジトリにローカルリポジトリを登録する際に発生した「fatal: remote origin already exists.」エラーについての解決方法をまとめていきます。 結論 git remote rm originでリモートリポジトリ の登録を一度削除し…