Yanonoblog!

こつこつと

2023-07-01から1ヶ月間の記事一覧

FactoryBotのデータ生成に関する疑問を調べた

はじめに FactoryBot FactoryBotで定義したデータはどのタイミングで生成されるのか FactoryBotのデータ生成は時間がかかるのか 特定のFactoryBotのデータ生成のみを行うことができるのか おしまい コメント はじめに プロジェクトが大きくなってくるにつれ…

TypeとInterfaceの違い

はじめに 継承方法の違い interfaceの場合 typeの場合 再宣言(同名の定義)を行ったときの挙動の違い interfaceの場合 typeの場合 交差型、共用体型、タプル型などが使えるかの違い interfaceの場合 typeの場合 はじめに TypeScriptの開発における型定義で…

バックエンドにNode.jsを採用するメリット

はじめに Node.jsとは サーバーサイドにNode.jsを採用するメリット 学習コストと開発効率 大量の同時接続を効率的に処理することが可能 補足:非同期I/O デメリット おしまい コメント はじめに Node.jsをバックエンドに採用するメリットを調べたのでまとめ…

RSpecの構文メモ(let、shared_context)

はじめに let letは遅延評価 shared_context おしまい コメント はじめに RSpecの基礎に立ち返ります。 let letはRSpecのメソッドで、遅延評価される変数を定義するために使用されます。 RSpec.describe User, type: :model do let(:user) { create(:user) }…

FactoryBotの基本と構文

はじめに FactoryBot Factoryで使用される主な構文 FactoryBot.define do factory sequence association trait おしまい コメント はじめに FactoryBotの復習的な内容です。 FactoryBot FactoryBotはテストデータを簡単に作成するためのライブラリで、テスト…

RSpecで特定の場合だけ実行するテストを書く

はじめに 実行を制御したいSpecにタグをつける 基本構文 実行・制御方法 おしまい コメント はじめに プロジェクトが大きくなってくるにつれてテストの実行時間を最適化することも開発において重要です。 とあるテストでは処理が重くなりがちなので毎回実行…

E2Eテストとは

はじめに E2E (エンドツーエンド) テストとは? E2Eテストの活用方法 E2Eテストの具体例 その他のテスト手法 ユニットテスト(Unit Testing) 統合テスト(Integration Testing) システムテスト(System Testing) 受け入れテスト(Acceptance Testing) お…

Jbuilderと部分テンプレート

はじめに Jbuilderの基本 配列 オブジェクト partialが使える Partialのパフォーマンスへの影響 おしまい コメント はじめに Jbuilderは、Ruby on RailsでJSONを生成するためのテンプレートエンジンです。RailsのビューでHTMLを生成するのと同じように、Jbui…

URNとURLの違い

はじめに URL URNとは? URNの一例 URNの構成要素 スキーム(Scheme) 名前空間識別子(Namespace Identifier) 名前空間特異部(Namespace Specific String) まとめ はじめに URNの基本的な構造とそれぞれの部分が何を意味するのかを解説します。 URL URL…

HTTPメソッドの理解と適切な使用(PATCHとPUT)

はじめに PUTメソッドの概要 PATCHメソッドの概要 PUTとPATCHの違い どちらを使用すべきか? PUTを使用すべき具体的なケース おしまい コメント はじめに HTTPメソッドでリソースを更新する場合に一般的にPUTとPATCHが用いられます。 基本的にはPATCHを使っ…

こういうときはスプレット構文を使うんやで

はじめに リファクタ前 リファクタ後 おしまい コメント はじめに こういうときはこう書け! というやつです。適当なサンプルコードです。 リファクタ前 まず、元のコードは以下のようになっています。 const fetchShop = () => { axios.get('/api/hoge/shop…

ChatGPTで二次会の会場を探してみた

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

GitHub Actionsの概要

はじめに GitHub Actions 用途 テストの自動化 デプロイの自動化 定期的なタスクの実行 設定方法 name: Run tests on: [push] runs-on: ubuntu-latest uses: actions/checkout@v2 uses: actions/setup-node@v2 run: npm ci run: npm test おしまい コメント …

ChatGPTのLink Readerを使って外部サイトの情報を解析する

はじめに Link Reader 仕組み コンテンツ取得 Google検索 導入 使い方 Youtubeのリンクを解析する 音声を認識できるわけではない おしまい はじめに 開発者として色々なツールを日々活用していますが、あらゆる業務を効率化するために、ChatGPTを中心とした…

話題のCode Interpreterを使ってみた

はじめに Code Interpreter 使い方 ChatGPT4のSettingをクリック Code InterpreterのスイッチをONにする Code Interpreterを選択 試してみる 結果 できるようになること CSVを扱う例 実行 Show Workを押すとソースを確認することができる チャートやグラフを…

DB設計で意識すること

はじめに やり直しや不要な複雑化は極力抑えたい 現行の仕様を把握する 目的の明確化 将来の実装を考慮に含める 正規化を行う 適切な命名を行う さいごに おしまい コメント はじめに データベース設計に関する話が挙がった際に話したことを振り替えつつまと…

正規化のメリットとデメリット

はじめに 正規化 正規化のメリット 正規化のデメリット パフォーマンスの低下 クエリの複雑化 データベース設計の複雑性 まとめ おしまい コメント はじめに データベース設計に関する話が挙がった際に話したことを振り替えつつまとめていきます。 正規化 正…

Reactにおけるフォームのバリデーションと状態管理

はじめに 全体のフロー コード例 resultステート 更新処理 入力処理 validate バリデーションチェックを統括する 続く… コメント はじめに Reactアプリケーションを作る際に、ユーザーからの入力内容を管理し、その内容が有効なものであるかを確認するという…

リクエストとレスポンス

はじめに リクエストとレスポンス リクエスト レスポンス ブラウザでの確認方法 クライアントで行われること サーバーで行われること 参考 おしまい コメント はじめに 本記事では「Webを支える技術」で学んだ内容と別途気になって調べた内容や知識も含めア…

インフラ - Amazon SES の概要

背景 Amazon SES Amazon SESとは? 特徴 低い導入コスト 従量制の料金設定 高い配信性能 Amazon SESの活用方法 マーケティングとプロモーション用途 トランザクションメール システム通知 カスタムEメールサービスの開発 Amazon SESのメリット 無料枠が変わ…

TCP/IPの基本

はじめに TCP/IPとは TCP (Transmission Control Protocol) IP (Internet Protocol) HTTPはTCP/IPがベース パケットとは 階層型プロトコル ネットワークインタフェース層 インターネット層 トランスポート層 アプリケーション層 参考 おしまい コメント はじ…

URIの構文、絶対URIと相対URI

はじめに URI(Uniform Resource Identifier) URIの一例 URIの構成要素 スキーム(Scheme) ホスト(Host) ポート(Port) パス(Path) クエリ(Query) フラグメント(Fragment) 絶対URIと相対URI 絶対URI 相対URI 参考 おしまい コメント はじめに 本…

RESTの原則

はじめに REST アーキテクチャスタイル マイクロアーキテクチャパターン RESTの4つの原則 アドレス可能性 (Addressability) 統一インターフェース (Uniform Interface) ステートレス性 (Stateless) 接続性 (Connectability) 実は6つの原則がある? クライア…

懐かしきJavaScriptのクロージャー

はじめに クロージャーとは クロージャーが動く仕組み1:静的スコープ クロージャーが動く仕組み2:メモリ管理の仕組み クロージャー クロージャー自分の言葉で簡潔に 変数に代入して特定の変数を参照し続けている状態となっている一意な関数のことをクロー…

Webを支える技術と特徴

はじめに Webを支える技術 HTTP(Hypertext Transfer Protocol) URI(Uniform Resource Identifier) HTML(Hypertext Markup Language) Webが持つ性質 ハイパーメディアシステム 分散システム 参考 おしまい コメント はじめに 本記事では「Webを支える技術…

Webの3つの用途

はじめに Web Webの用途は大きく分けて3つ Webサイト ユーザインタフェースとしてのWeb メモ - UIとは プログラム用APIとしてのWeb XML まとめ 参考 おしまい コメント はじめに 本記事では「Webを支える技術」で学んだ内容と別途気になって調べた内容や知識…

RailsとReactでCSVダウンロード機能を実装する例

はじめに CSVファイルサンプル CSVをRubyで出力する /api/v1/hoge/export.csv.ruby - CSV /api/v1/hoge/addresses_controller.rb - コントローラー /config/routes.rb - ルーティング フロント側 - ダウンロードボタン onClickなどでダウンロード実行 ダウン…

カスタムフック

はじめに カスタムフック 定義方法 クリーンアップ関数とは クリーンアップ関数呼び出されるタイミング カスタムフックを使用する メリット 再利用性 分離性 可読性 ディレクトリ構成の例 まとめ 参考 続く… コメント はじめに 本記事では「モダンJavaScript…

ジェネリクスの概要と利用ケース

はじめに ジェネリクス 定義方法 ジェネリクスの特徴 ジェネリクスの実際の使用例 参考 続く… コメント はじめに 本記事では「モダンJavaScriptの基本から始める React実践の教科書」で学んだ内容と別途気になって調べた内容や知識も含めアウトプットしてい…

Reactのパフォーマンス考慮例 - memo, Lazy loading

はじめに 再レンダリングの最適化 再レンダリングが起きる条件 React.memo useCallback API呼び出しの最適化 Lazy loading (遅延読み込み) Suspence React.lazy 参考 続く… コメント はじめに Reduxの公式ドキュメントに沿って概要を押さえつつ、気になっ…