こんにちは!kossyです! さて、今回はdevise-securityのpassword_expirableのソースコードを読んでみたので、 ブログに残してみたいと思います。 環境 devise-security 0.15.0 コメントアウト部分の翻訳 まずはコメントアウト部分を読んでみます。 Password…
こんにちは!kossyです! さて、今回はdeviseのextensionであるdevise-securityを使ってみましたので、使い方をブログに残してみたいと思います。 なお、devise_token_authを用いてToken認証をしていることを前提とします。 環境 Ruby 2.6.6 Rails 6.0.3.6 d…
こんにちは!kossyです! さて、今回はActiveSupport::HashWithIndifferentAccessというクラスを発見してしまったので、 何をしているものなのかを検証してみようかと思います。 環境 Ruby 2.6.6 Rails 6.0.3.6 Docker for Mac params.to_unsafe_hでActiveSu…
こんにちは!kossyです! さて、今回はdevise_token_authの update password の仕組みを理解するため、ソースコードを読んでみたのでブログに残してみたいと思います。 バージョン devise_token_auth 1.1.5 devise_token_authのパスワード更新はどのcontroll…
こんにちは!kossyです! さて、今回はGithubでdependabotを適用するレポジトリを変更する方法について、ブログに残してみたいと思います。 方法 GIthubで以下URLにアクセスすると、installしているApplicationの一覧を確認することができます。https://gith…
こんにちは!kossyです! さて、今回はActiveStorageでvalidationを行う際に用いるGem、activestorage-validatorのコードリーディングをしてみようと思います。 バージョン activestorage-validator 0.1.3 コードを読む 40行程度のコードで簡潔にvalidation…
こんにちは!kossyです! さて、今回はTailwind CSS IntelliSenseの補完がうまく効かない場合の対処法について、ブログに残してみたいと思います。 環境 VSCode 1.54.1 Tailwind CSS IntelliSense 0.5.9 settings.jsonの設定を変更する 結論から申し上げます…
こんにちは!kossyです! さて、今回はaxiosのinterceptorsを使って、HTTPリクエストの際に処理を挟む方法を検証してみたいと思います。 環境 Vue 3.0.5 Vue CLI 4.5.9 npm 6.14.8 node 14.15.0 axios 0.21.1 TypeScript 3.9.7 方法 リクエストの際にTokenを…
こんにちは!kossyです! さて、今回はVue.js & TypeScriptでのRouterGuardの実装手順をブログに残してみたいと思います。なお、今回はRails APIモードでdevise_token_authを使ってtoken認証を行っていて、VueRouterの導入は済んでいることを前提として書か…
こんにちは!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…
こんにちは!kossyです! さて、今回はRailsのActiveSupportのメソッドであるin_time_zoneメソッドの処理の中身を見てみたので、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 Docker for Mac メソッドの定義位置を確認 まずはsource_lo…
こんにちは!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.…
こんにちは!kossyです! さて、今回はRails6のHostのホワイトリスト機能の使い方について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.5 Docker for Mac Hostのホワイトリスト機能とは? Hostのホワイトリスト機能が入ったPRgithub.com…
こんにちは!kossyです! さて、今回はアップロードされたファイルの中身をチェックできるGem 「marcel」の使い方について、 ブログに残してみたいと思います。 GitHub - basecamp/marcel: Find the mime type of files, examining file, filename and decla…
こんにちは!kossyです! さて、今回はRailsでメソッドの定義場所を調べる方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 5.2.4 Docker for mac ActionView::Base#renderの定義場所を調べる 諸事情あってActionView::Base#renderの…
こんにちは!kossyです! さて、今回はRailsでSQL直書きでCASE文を書いてみたので、ブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.6 PostgeSQL 12 Docker For Mac 前提 以前書いた拙著のテーブル構成を例にとります。kossy-web-engineer.ha…
こんにちは!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…
こんにちは!kossyです! さて、今回はgraphql-rubyでmethodオプションを使ってmodelに定義したメソッドをfieldにする方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 方法 Userモデルがあるとして、以下のメ…
こんにちは!kossyです! さて、今回はgraphql-rubyでinterfaceを定義する方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 created_atとupdated_atをinterface化する ジェネレータを使ってGraphQLのセットア…
こんにちは!kossyです! さて、今回はgraphql-rubyでカラムの値をよしなに加工して返す方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 graphql-batch 0.4.3 Typeファイル内にfield名と同じ名前の変数を定義…
こんにちは!kossyです! さて、今回はRailsでpostgreSQLのrank関数SQLを直叩きしてランキングをつける方法について、 ブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.6 MacOS Catalina 事前準備 例として社員の売り上げを管理するようなテ…
こんにちは!kossyです! さて、今回は、Cannot create the snapshot because a snapshot with the identifier db_name already exists. エラーに遭遇したので、 備忘録としてブログに残してみたいと思います。 スナップショット名の識別子が既に存在してい…
こんにちは!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…
こんにちは!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のボイラープレート…
こんにちは!kossyです! さて、今回はRspecでテストを実行する際に、RuntimeError: Circular dependency detected while autoloading constantが出た場合の対処法をブログに残してみたいと思います。 環境 Ruby 2.6.5 Rails 5.1.7 Docker for Desktop 原因 …
こんにちは!kossyです! さて、今回はVue.jsで環境変数を扱う時に、VUE_APPを付与し忘れて10分ほどハマってしまったので、 備忘録としてブログに残してみたいと思います。 環境 vue/cli 4.5.9 vue 3.0.4 node 14.15.0 npm 6.14.8 事象 .envファイルに以下の…
こんにちは!kossyです! さて、今回はRailsのvalidationで値が空であることを検証する absence: trueの使い方について、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina まずはドキュメントを読んで使い方を把握しよう 2.…
こんにちは!kossyです! さて、今回はRailsでvalidationを行う際のwith_optionsの使い方について、ブログに残してみたいと思います! 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina Documentを読んで使い方を学ぶ まずはドキュメントを読んでみましょう。 …
こんにちは!kossyです! さて、今回はVue.js 3 系で globalProperties を使ってグローバルなプロパティを定義する方法について、 ブログに残してみたいと思います。 環境 vue/cli 4.5.9 vue 3.0.4 node 14.15.0 npm 6.14.8 方法 Vue.js 3系では、従来の「Vu…
こんにちは!kossyです! さて、今回はVue.js 3系で子コンポーネントに渡ってきたpropsに PropTypeを使って型を付与する方法についてブログに残してみたいと思います。 環境 vue/cli 4.5.9 vue 3.0.4 node 14.15.0 npm 6.14.8 実装例 <script lang="ts"> import { defineCompon…