VueRouterのuseRoute()とuseRouter()の違い

こんにちは!kossyです! さて、今回はVueRouterのuseRouteとuseRouterの違いについて、 ブログに残してみたいと思います。 環境 @vue/cli 4.5.9 vue @3.0.4 npm 6.14.8 node 14.15.0 useRoute()は現在のルートを表す useRoute()およびuseRouter()の定義元を…

VueRouterのナビゲーションガードのto, from, nextに型を当てる

こんにちは!kossyです! さて、今回はVueRouterでナビゲーションガードを実装するときのto, form, nextに型を当てる方法について、 ブログに残してみたいと思います。 環境 @vue/cli 4.5.9 vue 3.0.5 node 14.15.0 npm 6.14.8 状況 以下のようなrouter/inde…

npm-check-updatesを使ってサクッとライブラリをアップデートする

こんにちは!kossyです! さて、今回はnpm-check-updatesを使ってサクッとライブラリをアップデートする方法について、 ブログに残してみたいと思います。 環境 node 12.13.1 npm 6.14.8 npm-check-updates 10.2.5 Documentを見る 何はともあれ公式Docmentを…

Ansible2.9の環境構築をしてみた

こんにちは!kossyです! さて、今回はAnsible2.9の環境構築をしてみたので、その手順をブログに残してみたいと思います。 環境 MacOS catalina python2系 Ansible2.9 手順 まずはお手元の環境にAnsibleがinstallされているかどうかを確認 $ ansible --versi…

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メソッドのコードリーディングをしてみたので、 ブログに残してみたいと思います。 偉大なる本家リポジトリはこちら なお、前提としてSupervisorというdeviseを利用したモデルが定…

産業分類コード一覧(小分類)を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…

技術ブログネタがない時のTIPS

こんにちは!kossyです! さて、今回は、ブログネタがない時のTIPSをブログに残してみたいと思います。 はじめに 年末年始毎日ブログ更新をすると決めた筆者ですが、 そう毎日ネタを思いつくこともなく、日々何を書こうか思い悩む日々になっています。一生懸…

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

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

curlでproxyを設定する

こんにちは!kossyです! さて、今回はcurlでproxyを設定したくなるシチュエーションに出会ったので、 ブログに残してみたいと思います。 困った Rails APIモードでAPIサーバーを開発しているときに、リクエスト元のIPアドレスを保存する要件がありました。…

Postmanでリクエスト元のIPアドレスを変更する方法について

こんにちは、kossyです! さて、今回はPostmanでリクエスト元のIPアドレスを変更する方法について、 ブログに残してみたいと思います。 方法 下記の添付画像のように、settingを選択します。 その後、Proxyタブを選択し、 Proxy Serverの入力フォームに、変…

AngularのToken認証ライブラリ「angular-token」のInterceptor周りのソースコードを読んでみた

こんにちは!kossyです! さて、今回はAngularのToken認証ライブラリである、「angular-token」の Interceptor周りのコードを読んで見たので、ブログに残したいと思います。 環境 Angular 11.0.4 npm 6.14.8 node 12.13.1 TypeScript 4.0.5 Interceptorとは…

graphqlクライアントの Altairでトークン認証を行う方法

こんにちは!kossyです! さて、今回はgraphql-ruby + Rails APIモードでdevise_token_authを用いてトークン認証する開発において、 Altairを使ってトークン認証をパスする方法についてブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.3 MacO…

Rails6からデフォルトで付与されるようになったprecisionとは?

こんにちは!kossyです! さて、今回はRails6系からデフォルトで付与されるようになった、 precisionオプションについて、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 MacOS catalina precisionとは? Railsガイドによると、 precision: …

exifrでExifを自在に操ってみた

こんにちは!kossyです! さて、今回は画像に付記されることがあるExif情報をRubyで操作できるGem、 exifrの使い方について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 exifr 1.3.9 # 使い方 exifrはjpegまたはtiff拡張子の形式の画像に対応してい…

HEYのGemfileが公開されていたので見てみた(その1)

こんにちは!kossyです! さて、今回はRuby on Railsの作者として知られているDHHが開発に参加している、HEYという有料の電子メールサービスの GemfileがGithub上に公開されていたので、どんなGemが使われているかを見てみたいと思います。 connection_pool …

chromeの検証ツールでQiitaの通信を覗き見してみた

こんにちは!kossyです! さて、今回はchromeの検証ツールを使って、 QiitaのXHR通信を覗いて見る方法について、ブログに残してみたいと思います。 環境 MacBookAir chrome検証ツールの開き方 chrome検証ツールは、Macの場合、command + option + i で開くこ…

graphql-rubyのGeneratorsを翻訳してみる

こんにちは!kossyです! さて、今回はgraphql-rubyの公式ドキュメント翻訳第2弾として、 generatorsの翻訳をしてみようかと思います。 偉大なる本家リポジトリはこちら ジェネレーター Ruby on RailsでGraphQLを使用している場合は、ジェネレーターを使用し…

ActiveRecordでpluckの代わりにselectを使ってサブクエリ化する

こんにちは!kossyです! さて、今回はActiveRecordのpluckではなくselectを使ってサブクエリを書いて、 一回のSQL発行でデータを取得する方法について、ブログに残してみたいと思います。 環境 Ruby 2.5.1 Rails 6.0.3.2 MacOS Catalina サブクエリとは 「…

Rspecで配列の値を検証するcontain_exactly

こんにちは!kossyです! さて、今回はRspecで配列の値を検証するcontain_exactlyの使い方を ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.2 rspec-rails 4.0.1 使い方 前提として、TenantモデルとUserモデル(自己参照付き)があるとして、…

Angular CLI 11 で ng new してみた

こんにちは!kossyです! さて、今回はAngular11が最近リリースされたとのことで、 早速ng newコマンドを試して、何が変わったのか検証してみたいと思います。 環境 node 12.13.1 npm 6.14.8 Angular 11.0.1 コマンド実行! $ ng new sample ? Do you want t…

Angular 11 へのアップデート時の 'name' is defined as an accessor in class 'CdkColumnDef' エラーの対処法

こんにちは!kossyです! さて、今回はAngular 9のアプリケーションを11にアップデートした際に発生した、 'name' is defined as an accessor in class 'CdkColumnDef' エラーの対処法について、 ブログに残してみたいと思います。 環境 node 12.13.1 npm 6.…

graphql-rubyのGetting Startedを翻訳してみる

こんにちは!kossyです! さて、今回はGraphQLの勉強がてら、graphql-rubyのreadmeを翻訳してみようと思います。(こうでもしないと真面目に読まない気がして、、、) Getting Startedまでの翻訳を頑張ってみます。 偉大なる本家様リポジトリはこちら Getting …

RailsのGem devise のvalidatableのソースコードを読んでみた

こんにちは!kossyです。 さて、今回はRailsプロジェクトにおいて認証機能を作成する時に用いられるGemであるdeviseの、 validatableのソースコードを読んでみたので、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 devise まずはドキュメ…

RailsのRspecでランダムに落ちるテストを再現したい

こんにちは!kossyです! さて、今回はRailsでテストツールにRspecを採用している際に、 ランダムに落ちるテストをseed値を指定することでもう一度再現する方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 MacOS catalina 設…

Railsのcreated_atとupdated_at周りのソースコードを読んでみた

こんにちは!kossyです! さて、今回はRailsのcreated_atとupdated_at周りのソースコードを読んでみたので、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 MacOS catalina まずはドキュメントを探す 自分のググり方が悪いのか、解説してい…