google-api-clientを使ってRailsのDBのデータをスプレッドシートに出力してみた

こんにちは!kossyです! さて、今回は、スプレッドシートを操作できるGem「google-api-client」を使って、 RailsのDBのデータをスプレッドシートに出力する方法について ブログに残してみたいと思います。 google-api-clientの設定 スプレッドシートを操作…

Vue.js & TypeScript でNavigationGuardを実装する

こんにちは!kossyです! さて、今回はVue.js & TypeScriptでのRouterGuardの実装手順をブログに残してみたいと思います。なお、今回はRails APIモードでdevise_token_authを使ってtoken認証を行っていて、VueRouterの導入は済んでいることを前提として書か…

Rails6 API + Vue.js3 + TypeScript で画像アップロード機能を実装してみた

こんにちは!kossyです! さて、今回はRails6 API + Vue.js3 + TypeScript で画像アップロード機能の実装手順をブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 Docker for Mac Vue 3.0.5 Vue CLI 4.5.9 TypeScript 3.9.7 なお、既にRailsA…

RailsのActiveSupportのin_time_zoneメソッドの処理の中身を覗いてみた

こんにちは!kossyです! さて、今回はRailsのActiveSupportのメソッドであるin_time_zoneメソッドの処理の中身を見てみたので、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 Docker for Mac メソッドの定義位置を確認 まずはsource_lo…

開発環境にdockerを使っている場合のrails-erdのセッティング

こんにちは!kossyです! さて、今回は開発環境にdockerを使っている場合のrails-erdのセッティング方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.5 rails-erd 1.6.1 ruby-graphviz docker desktop 2.3.6 docker-compose 1.…

Rails6のHostのホワイトリスト機能の使い方

こんにちは!kossyです! さて、今回はRails6のHostのホワイトリスト機能の使い方について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.5 Docker for Mac Hostのホワイトリスト機能とは? Hostのホワイトリスト機能が入ったPRgithub.com…

アップロードされたファイルのMime-TypeをチェックできるGem 「marcel」の使い方

こんにちは!kossyです! さて、今回はアップロードされたファイルの中身をチェックできるGem 「marcel」の使い方について、 ブログに残してみたいと思います。 GitHub - basecamp/marcel: Find the mime type of files, examining file, filename and decla…

railsでメソッドの定義場所をコンソールから確認してみた

こんにちは!kossyです! さて、今回はRailsでメソッドの定義場所を調べる方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 5.2.4 Docker for mac ActionView::Base#renderの定義場所を調べる 諸事情あってActionView::Base#renderの…

RailsでCOALESCEを使って勤続年数を出してみた

こんにちは!kossyです! さて、今回はRailsでCOALESCEを使って勤続年数を出してみたので、ブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.6 PostgreSQL 12 Docker For Mac 前提 以前書いた拙著のテーブル構成を例にとります。kossy-web-eng…

RailsでSQL直書きでCASE文を書いてみる

こんにちは!kossyです! さて、今回はRailsでSQL直書きでCASE文を書いてみたので、ブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.6 PostgeSQL 12 Docker For Mac 前提 以前書いた拙著のテーブル構成を例にとります。kossy-web-engineer.ha…

graphql-batchでloadするデータにthenメソッドで処理を加える

こんにちは!kossyです! さて、今回はgraphql-batchのthenメソッドを使って、loadしたobjectに処理を加える方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 graphql-batch 0.4.3 方法 post has_many commen…

graphql-rubyでmethodオプションを使って、modelに定義したメソッドをfieldにする方法

こんにちは!kossyです! さて、今回はgraphql-rubyでmethodオプションを使ってmodelに定義したメソッドをfieldにする方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 方法 Userモデルがあるとして、以下のメ…

graphql-rubyでinterfaceを定義してみる

こんにちは!kossyです! さて、今回はgraphql-rubyでinterfaceを定義する方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 created_atとupdated_atをinterface化する ジェネレータを使ってGraphQLのセットア…

graphql-rubyでモデルのカラムの値を加工して返したい

こんにちは!kossyです! さて、今回はgraphql-rubyでカラムの値をよしなに加工して返す方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 graphql-batch 0.4.3 Typeファイル内にfield名と同じ名前の変数を定義…

RailsでPostgreSQLのrank関数を叩いて、ランキングをつけてみた

こんにちは!kossyです! さて、今回はRailsでpostgreSQLのrank関数SQLを直叩きしてランキングをつける方法について、 ブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.6 MacOS Catalina 事前準備 例として社員の売り上げを管理するようなテ…

Cannot create the snapshot because a snapshot with the identifier db_name already exists. と言われたとき

こんにちは!kossyです! さて、今回は、Cannot create the snapshot because a snapshot with the identifier db_name already exists. エラーに遭遇したので、 備忘録としてブログに残してみたいと思います。 スナップショット名の識別子が既に存在してい…

Auth0のログイン機能で取得したaccess_tokenを使ってRails側で認証を通してみた

こんにちは!kossyです! さて、今回はAuth0のログイン機能で取得したaccess_tokenを使ってRails側で認証を通してみたので、 備忘録としてブログに残してみたいと思います。 環境 Rails Ruby 2.6.3 Rails 6.0.3.4 Docker-Desktop Vue @vue/cli 4.5.9 vue@3.0…

Vue.jsのAuth0の認証チュートリアルを Vue.js 3 + TypeScriptで書き直してみた

こんにちは!kossyです! さて、今回はVue.jsのAuth0の認証チュートリアルを Vue.js 3 + TypeScriptで書き直してみたので、 備忘録としてブログに残してみたいと思います。 環境 vue/cli 4.5.9 vue 3.0.4 node 14.15.0 npm 6.14.8 Vue.jsのボイラープレート…

RspecでRuntimeError: Circular dependency detected while autoloading constant が出た場合の対処法

こんにちは!kossyです! さて、今回はRspecでテストを実行する際に、RuntimeError: Circular dependency detected while autoloading constantが出た場合の対処法をブログに残してみたいと思います。 環境 Ruby 2.6.5 Rails 5.1.7 Docker for Desktop 原因 …

Vue.jsで環境変数を扱う時はVUE_APPを接頭辞に付与するのを忘れないようにしよう

こんにちは!kossyです! さて、今回はVue.jsで環境変数を扱う時に、VUE_APPを付与し忘れて10分ほどハマってしまったので、 備忘録としてブログに残してみたいと思います。 環境 vue/cli 4.5.9 vue 3.0.4 node 14.15.0 npm 6.14.8 事象 .envファイルに以下の…

Railsのvalidationで値が空であることを検証する absence: true

こんにちは!kossyです! さて、今回はRailsのvalidationで値が空であることを検証する absence: trueの使い方について、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina まずはドキュメントを読んで使い方を把握しよう 2.…

Railsでvalidationを行う際のwith_optionsの使い方

こんにちは!kossyです! さて、今回はRailsでvalidationを行う際のwith_optionsの使い方について、ブログに残してみたいと思います! 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina Documentを読んで使い方を学ぶ まずはドキュメントを読んでみましょう。 …

AWS CLI の aws configure コマンドで設定したcredentials情報が反映されない問題

こんにちは!kossyです! さて、今回はAWS CLI の aws configure コマンドで設定したcredentials情報が反映されない問題に遭遇したので、 解決した方法をブログに残してみたいと思います。 環境 aws-cli/2.1.15 Python/3.9.1 Darwin/19.6.0 事象 以下のコマ…

ActionController::Parametersのマイナーなメソッドを紹介

こんにちは!kossyです! さて、今回はActionController::Parametersのマイナーなメソッドを ブログで紹介できればと思います。 環境 Ruby 2.6.3 Rails 6.1.0 MacOS Catalina 公式Documentはこちら fetch params.fetch(key, *args)のように呼び出します。 $ …

Terraform環境構築時の「Version could not be resolved」エラーの解消方法

こんにちは!kossyです! さて、今回はTerraform環境構築時にハマったエラーの解消方法について、 ブログに残してみたいと思います。 環境 Homebrew 2.6.2 tfenv 2.0.0 terraform 0.12.28 tfenvのインストール まずはTerraformのバージョン管理ツールであるt…

Railsで様々なrequest.user_agentを取得したい

こんにちは!kossyです! さて、今回はRailsで開発中にMacOS以外の様々なユーザーエージェントを試す方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 MacOS Catalina Chrome 87 検証ツールを使う chromeの検証ツールは、右…

devise_token_authのset_user_by_tokenの中身を見てみた

こんにちは!kossyです! さて、今回はdevise_token_authのset_user_by_tokenメソッドのコードリーディングをしてみたので、 ブログに残してみたいと思います。 偉大なる本家リポジトリはこちら devise_token_authのset_user_by_tokenメソッドはとても長い …

産業分類コード一覧(小分類)をCSVファイルにしました

こんにちは!kossyです! さて、今回は日本標準産業分類の小分類のコードと名称を CSVファイルにしましたので、ブログに残してみたいと思います。 日本標準産業分類とは? https://www.soumu.go.jp/toukei_toukatsu/index/seido/sangyo/index.html総務省が定…

devise_token_authのtoken_validation_responseをオーバーライドする

こんにちは!kossyです! さて、今回はRailsでのトークン認証機能を提供するGem、devise_token_authの token_validatio_responseメソッドをオーバーライドする方法をブログに残してみたいと思います。 方法 devise_token_authのsessions_controller.rbのcrea…

deviseでパスワードが正しいか未定義かを確認する方法とvalid_password?のコードリーディング

こんにちは!kossyです! さて、今回は認証機能を提供するRubyのGemである「devise」を使っている際に、 パスワードが正しいか未定義かを確認する方法と、valid_password?メソッドのコードを読んでみたので、 ブログに残してみたいと思います。 deviseを使っ…