Yanonoblog!

こつこつと

GitHub Actionsのワークフローの基本的な解説

はじめに 参考 完成版 .github/workflows/auto_assign.yml ワークフローのトリガー on ジョブの定義 job ステップの定義 name uses with スクリプトの定義 script github.rest.issues.addAssignees メソッド owner / repo issue_number assignees コンテキス…

Reactにおける多重クリック対策について

はじめに 多重クリック問題について useStateを利用した多重クリック防止 useStateのデメリット 再レンダリングのコスト 非同期処理の複雑性 useRefを利用した多重クリック防止 useRefを利用したアプローチのメリット 再レンダリングコストの削減 シンプルな…

フロントエンド(React)における検索機能の実装例

「OpenAPI仕様に基づいて構築されたオープンソースツールセットでありREST APIの設計、作成、文書化に役立つツールです。」https://outputky.hatenablog.com/entry/2023/03/06/015044 はじめに 実装内容 実装手順 必要なモジュールをインポート parseQueryPa…

Mechanizeを用いた外部サイトへのアクセス処理の解説

はじめに Mechanizeとは スクレイピングとは 実装 1. モジュールの概要 2. 定数の定義 3. プライベートメソッド agentメソッド loginメソッド logoutメソッド おしまい コメント はじめに 本記事はRailsのMechanizeを使用してスクレイピングする際に、外部サ…

HTML要素のiframeタグについて

はじめに iframe(Inline Frame) 基本 基本構文 src width & height その他の主要な属性 allow allowfullscreen sandbox srcdoc サンプル 活用方法 サードパーティーコンテンツの埋め込み サイト内コンテンツの分離 注意点 セキュリティ レスポンシブデザイ…

Material-UIのMenuコンポーネント

はじめに 完成形 サンプルコード 詳細 Menu Anchor 開閉の管理 メニューアイテム おしまい コメント はじめに Material-UIのMenuコンポーネントを使ってドロップメニューを実装するサンプルを動かしていたのでまとめていきます。 完成形 https://codesandbox…

Macアップデート後、ポート5000が立ち上がらなくなる現象

はじめに サーバー起動時にポート5000が立ち上がらない エラー自体の主な原因 通常のエラー解決方法 1. 使用中のポートのプロセスを確認 2. プロセスの強制終了 プロセスについて解説 具体的なエラーの原因特定 原因の解消方法 (Macの設定変更) おしまい コ…

Rubyのハッシュとシンボルについて調べた内容

はじめに ハッシュ 要素の追加、変更、取得、繰り返し処理 ハッシュの比較、要素数の取得、要素の削除 シンボル シンボルと文字列の違い シンボルの特徴と用途 ハッシュのキーにシンボルを使う メソッドのキーワード引数とハッシュ シンボルを%記法で表す …

スプリント開発の基本概念、役割について

はじめに スプリント開発の背景 基本概念 アジャイル スプリント スプリントの定義と目的 スプリントの流れ スプリント開発の役割 開発者 プロダクトオーナー スクラムマスター おしまい コメント はじめに 本記事では、スプリント開発の基本概念をわかりや…

RSpecによるテストの種類とその特徴

はじめに 単体テスト (ユニットテスト) 結合テスト (インテグレーションテスト) 概要 システムテスト 概要 その他のテスト ディレクトリ構造例 おしまい コメント はじめに 本記事では、RSpecのテストの種類とその特徴についてまとめています。 単体テスト (…

RSpecにおける特定のディレクトリを除外する方法、設定について

はじめに RSpecの設定変更 設定ファイルの編集 filter_run_excluding の基本的な使い方 テストファイルへのタグ追加 タグの追加 Rakeタスクの作成 カスタムRakeタスク おしまい コメント はじめに テストの実行時に特定のディレクトリやファイルを除外する方…

GraphQL - スキーマとタイプ

はじめに スキーマとタイプ タイプシステム サンプルコード スキーマの役割 オブジェクトタイプとフィールド サンプルコード おしまい コメント はじめに GraphQLのドキュメントを読んでまとめていきます。 ところどころ気になった部分を調べて補足したり解…

GraphQL - ディレクティブとミューテーション

はじめに ディレクティブの使用 サンプルコード ミューテーション サンプルコード インラインフラグメント サンプルコード メタフィールド サンプルコード おしまい コメント はじめに GraphQLのドキュメントを読んでまとめていきます。 ところどころ気にな…

RSpecで特定のディレクトリのテストのみを実行する方法

はじめに Rakeタスクのカスタマイズ Rakeタスクのカスタマイズにおける詳細解説 Rake::Task["spec"].clear RSpec::Core::RakeTask.new(:spec) do |t| t.pattern = './spec/positions/*/_spec.rb’ Rake::Task["spec"].execute RSpecのテスト実行時の読み込み…

GraphQL - オペレーションと変数の使用

はじめに オペレーション名の利用 サンプルクエリ オペレーションの種類 変数の使用 サンプルクエリ サンプル変数 変数の定義 デフォルト変数 サンプルクエリ おしまい コメント はじめに GraphQLのドキュメントを読んでまとめていきます。 ところどころ気に…

GraphQL - 引数とエイリアス

はじめに フィールドへの引数の追加 サンプルクエリ サンプル結果 複数の引数の利用 サンプルクエリ サンプル結果 エイリアスの使用 サンプルクエリ サンプル結果 おしまい コメント はじめに GraphQLのドキュメントを読んでまとめていきます。 ところどころ…

GraphQL - クエリとミューテーション

はじめに クエリとミューテーションの基本 シンプルなクエリの例 クエリ 結果 フィールドの型 インタラクティブなクエリ オブジェクトへの参照 クエリ 結果 おしまい コメント はじめに GraphQLのドキュメントを読んでまとめていきます。 ところどころ気にな…

GraphQLのドキュメントを読む

はじめに GraphQLとは? タイプとフィールドの定義 関数の提供 クエリの受信と実行 まとめ 活用方法 クエリの定義 サーバーの実装 レスポンスの取得 公式URL おしまい コメント はじめに GraphQLのドキュメントを読んでまとめていきます。 ところどころ気に…

Railsのform_withで読み取り専用にするいくつかの書き方

はじめに 条件分岐を使用する コード例 方法2: 等価演算子を使用する ケース: 学生の登録と編集 コード例 読み取り専用属性の使用 コード例 disabled属性 機能 送信 見た目 使用ケース readonly属性 機能 送信 見た目 使用ケース まとめ はじめに railsでは…

Rakeタスクで異なる条件下でのRSpecを実行する手法

はじめに 今回の手法が役に立つケース 異なるユーザーロールのテスト マルチテナント環境のテスト 異なるデバイスやブラウザのテスト 異なる設定オプションのテスト 時間帯や日付に依存するテスト Rakeタスクの作成 エラーハンドリング 環境変数の使用 Rake…

Jest - スコープとフックの概要

はじめに スコープとフックの概要 全体のフック ネストされたフック フックの実行順序 おしまい コメント はじめに Jestのドキュメントを読んでまとめていきます。 ところどころ気になった部分を調べて補足したり解釈を入れています。 https://jestjs.io/ja/…

Rakeタスクの概要

はじめに Rakeタスク 主な用途 ビルドの自動化 デプロイの自動化 データベースの操作 カスタムスクリプトの実行 Rakeはデフォルトで使えるのか Linuxのスクリプトとの比較 おしまい コメント はじめに Rakeタスクを使用してテストの幅を広げたく、調ベた内容…

RSpec実行時の挙動

はじめに コマンドライン引数の解析 設定ファイルの読み込み オプションの例 spec_helper.rb と rails_helper.rb の読み込み rails_helper.rbで一般的に使われる設定例 テストファイルの探索と読み込み フックの実行 テストの実行 フックの後処理 結果の出力…

Jest - ワンタイムセットアップ

はじめに ワンタイムセットアップとは Jestでのワンタイムセットアップ例 ポイント おしまい コメント はじめに Jestのドキュメントを読んでまとめていきます。 ところどころ気になった部分を調べて補足したり解釈を入れています。 https://jestjs.io/ja/doc…

Jestにおけるセットアップヘルパー

はじめに テストを繰り返し行うセットアップ beforeEachフック afterEachフック おしまい コメント はじめに Jestのドキュメントを読んでまとめていきます。 ところどころ気になった部分を調べて補足したり解釈を入れています。 https://jestjs.io/ja/docs/s…

Jestのテストを非同期に実行する

はじめに 非同期コード プロミス コールバック コールバックの注意点 Async/Await おしまい コメント はじめに Jestのドキュメントを読んでまとめていきます。 ところどころ気になった部分を調べて補足したり解釈を入れています。 https://jestjs.io/ja/docs…

Jestで基本的に使用するMatcher

はじめに Jestのマッチャー toBe - 等価性をチェックする toEqual - オブジェクトや配列の等価性をチェックする toBeUndefined - undefinedであるかチェック toBeNull - nullであるかチェック toBeFalsy - falsyな値であるかチェック 数値の比較を行うマッチ…

Jestのドキュメントを読む

はじめに Jestとは 導入 Jestによる簡単なテストの作成 テストケースの作成 test関数と構文 テストの実行設定 テストの実行 補足 続く… コメント はじめに Jestのドキュメントを読んでまとめていきます。 https://jestjs.io/ja/docs/getting-started Jestと…

FactoryBot 生成時のNameErrorを解消する

はじめに 発生したエラー エラーの原因 OfficialPersonという名前のモデルが存在しない 試したこと FactoryBotで定義したofficial_personを確認 試しにクラスを定義してみた 解決 おしまい コメント はじめに 同じモデルのFactoryBotを複数扱う際に発生した…

PluginpediaでChatGPTでプラグインを探せるようにしてみた

はじめに 完成系 導入 ChatGPT4のSettingをクリック PluginsのスイッチをONにする Plugins Storeを開く 検索してインストール おしまい はじめに 開発者として色々なツールを日々活用していますが、あらゆる業務を効率化するために、ChatGPTを中心としたツー…