2020-01-01から1年間の記事一覧

産業分類コード一覧(小分類)を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 まずはドキュメントを探す 自分のググり方が悪いのか、解説してい…

Exifとはなんぞや

こんにちは!kossyです! さて、今回は恥ずかしながらExifという用語を初めて耳にしましたので、 備忘録としてブログに残してみたいと思います。 Exifってなんぞや 初耳でしたので調べてみました。以下引用です。 Exifとは、デジタルカメラで撮影した画像デ…

Rubyで例外を起こすためのraiseとfailの違い

こんにちは!kossyです! さて、今回はRubyで例外を起こすためのraiseとfailの違いについて、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 MacOS catalina 両者に違いはない 調べてみましたが、raiseとfailには処理の違いはないようです。Rubyスタイ…

Railsのdependent: :restrict_with_error と :restrict_with_exception はなにが違うのか

こんにちは!kossyです! さて、今回はRailsのdependentオプションに指定できる、 restrict_with_error と restrict_with_exception はなにが違うのかについて、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 MacOS Catalina そもそもdepe…

Rubyのdigメソッドの便利な使い方

こんにちは!kossyです! さて、今回はRubyのdigメソッドの便利な使い方について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 MacOS Catalina まずはドキュメント はい、まずはドキュメントを読んでみましょう。Hashクラスに生えているdigメソッド…

RailsのActiveRecordにidsメソッドが生えてた

こんにちは!kossyです! さて、今回はActiveRecordにidsメソッドの使い方について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 MacOS Catalina まずはドキュメントを見る なにはともあれまずはAPIドキュメントをみてみます。 Pluck al…

Railsでroutingにconstraintsメソッドで制約を与える

こんにちは!kossyです! さて、今回はRailsでroutingにconstraintsメソッドで制約を与える方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 MacOS Cathalina 使い方 例えば、正規表現と組み合わせて、以下のように設定できま…

人事情報をRDBで管理する場合、どの情報を元に突合を行うべきか考えてみた

こんにちは!kossyです! さて、今回は人事情報(姓名、住所、役職、社員番号、メールアドレス、電話番号等)をRDBに格納する際、 どの情報を元に突合(存在確認)を行うべきか、考えてみたいと思います。 結論は、要件次第 はい、この結論だと記事として成立し…

Rubyの分割代入でワンライナーでfreeze付き定数を定義してみる

こんにちは!kossyです! さて、今回はRubyの分割代入でワンライナーでfreeze付き定数を定義する方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 方法 早速コード全晒しです。 INITIAL_PLAN_PRICE, SECOND_PLAN_PRICE, THIRD_PLAN_PRICE =…

RailsのActiveRecordのmergeメソッドを使ってみる

こんにちは!kossyです! さて、今回はRailsのActiveRecordのmergeメソッドを使って、 ActiveRecord Queryを組み立てる方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 MacOS Catalina 前提 テーブル定義は以下とします。・ten…