ごっそログ

勉強したことなどを書いていきます

Nuxt 3+Spring BootでREST API #12 フロントのインフラを構築する(手動編)

イントロダクション この回からはデプロイ周りを整備していく。 最終的にはAWS CDKで自動化するが、何をやっているかの理解を深めるために手動→CloudFormation→CDKと段階を踏みながら同じ作業をしていく予定。 今回はマネジメントコンソールをいじりながら手…

Nuxt 3+Spring BootでREST API #11 フロントのテストを自動化する

目次 フロント用のワークフローを定義する ワークフローを分離する (補足)pathsとpaths-ignoreの挙動について フロント側の試運転 API側の試運転 フロント用のワークフローを定義する .github\workflowsにフロント用のワークフローであるui-test.ymlを作成…

Nuxt 3+Spring BootでREST API #10 Jestでテストを書く

目次 Jestのインストール・設定 package.jsonの編集 テストコードを書く テストを走らせる Jestのインストール TypeScriptで記述する前提で必要なライブラリをインストールしていく。 npm install --save-dev jest typescript ts-jest @types/jest 設定ファ…

Nuxt 3+Spring BootでREST API #9 NuxtからHTTPリクエストを送る

目次 フロントの実装 APIサーバの実装 試運転 フロントの実装 <script setup lang="ts"> const onClick = async () => { const uri = "http://localhost:8080/hello"; fetch(uri, { method: "GET", redirect: "follow", }) .then((response) => { return response.json(); }) .then((…

Nuxt 3+Spring BootでREST API #8 フロントプロジェクトを作成する

目次 今回は短め。 プロジェクトの新規作成 試運転 コマンドのインストール npx nuxi init (プロジェクト名) でNuxtプロジェクトを作成する。 試運転 uiディレクトリに移動し、依存パッケージのインストール。 npm run devを実行しhttp://localhost:3000/ に…

Nuxt 3+Spring BootでREST API #7 GitHub ActionsでCI環境を構築する

目次 リポジトリを作成する GitHub Actionsワークフローの定義を行う 試運転 リポジトリを作成する 前回作成したJUnitをCI環境に組み込み、プルリクエストを作成、更新した時点で自動でテストが走るようにしたい。 今回はGitHub Actionsを使用するが、まずは…

Nuxt 3+Spring BootでREST API #6 JUnitでテストを書く

目次 Gradleでテストコマンドを実行できるようにする テスト対象のロジッククラスを記述する テストコードを書く テストを実行する Gradleでテストコマンドを実行できるようにする apiプロジェクトのbuild.gradleに以下の記述を追加する。 testImplementatio…

Nuxt 3+Spring BootでREST API #5 flywayでDBのマイグレーションを行う

目次 flywayのインストール 設定ファイルの記述 package.jsonの編集 マイグレーションファイルの作成 試運転 flywayのインストール 前回で無事にマルチプロジェクト構成にできたので、今回はマイグレーション周りを整備していく。 build.gradle に組み込む方…

Nuxt 3+Spring BootでREST API #4 マルチプロジェクト構成にする

目次 Gradleのインストール プロジェクト構成 ルートプロジェクトの作成 ルートプロジェクトの作成 Gradle Wrapperの導入 & ビルド Gradleのインストール Gradleコマンドを使えるようにする。Gradle Releasesにアクセス。 Downloadからcompleteを選択してダ…

Nuxt 3+Spring BootでREST API #3 DBをDockerイメージとして起動する

目次 Docker経由でMySQLイメージを取得する docker-compose.yml を記述する Dockerイメージを立ち上げて疎通確認 Docker経由でMySQLイメージを取得する MySQLイメージを取得する。 Dockerを起動した状態で以下コマンドを実行。 $ docker pull mysql:latest d…

Nuxt 3+Spring BootでREST API #2 HTTPリクエストを受け付けるコントローラを作成する

目次 コントローラクラスを作成する リクエストを返すことを確認する コントローラクラスを作成する com.sample.apiにcontrollerのパッケージを切って、以下のヘルスチェック用コントローラクラスを作成する。 package com.sample.api.controller; import or…

Nuxt 3+Spring BootでREST API #1 APIプロジェクトを作成する

目次 Spring Initializrでプロジェクトを作成する IntelliJの設定を行う プロジェクトを実行する プロジェクトの雛形を作成する Spring Initializr で雛形を作成する。 今回は以下の内容を設定した。 Project: Gradle Language: Java Spring Boot: 2.7.5 Met…

Nuxt 3+Spring BootでREST API #0 基本構成

イントロダクション ここ数ヶ月、タイトルにあるような技術構成でWebアプリの開発をしている。 構築でいろいろと詰まったりしたので備忘録として作業ログを残していく。 やること APIサーバ、フロントエンド、DBなど基盤構築の手順を記録する。 インフラ(AWS…

[C#] 型引数を変えながらジェネリクスメソッドをループ処理で実行する

C#

メモ。 経緯 引数が指定した型に変換可能であるかを判定して結果を返すジェネリックメソッド CanParse<T>を作った。 シグネチャは以下の通り。 public static bool CanParse<T>(string value) where T : IConvertible, new() { // 判定処理(省略) } このメソッドの</t></t>…

動的計画法をおさらいした

AtCoderのABC問題の解説を見ていたらBitDPを使う問題が出てきたのだが、 解説を見てもよくわからんので、動的計画法を基礎からやり直すことにした。 入門的な問題~ナップサック問題までPythonで実装したので記録しておく。 BitDPまでやろうと思ったのだがナ…

「マスタリングTCP/IP」を読んだ (第2章)

第2章を読み終わった。 TCP/IPの階層モデルと通信例 はなかなか面白かった(小並感) 以下要約 第2章 TCP/IP基礎知識 TCP … Transmission Control Protocol IP … Internet Protocol TCP/IP登場の背景とその歴史 軍事利用のための分散型ネットワークを起源とし…

「マスタリングTCP/IP」を読んだ (第1章)

仕事でTCP周りの処理を書くことが多い。 書くたびに体系的に学んどかないとまずいのではと思うので、名著と言われるこの本を買ってみた。 多分直接的に役に立つのは6章あたりなんだろうけど、知識の整理も兼ねて頭から読んでいく。 以下要約 第1章 ネットワ…

「プログラミングコンテストチャレンジブック」を読んだ (第1章~第2章)

アルゴリズム、データ構造の勉強がてら、「プログラミングコンテストチャレンジブック」の1、2章を読んだ。 7億年前に基本情報の勉強をしていた時に感じていた、結局のところこれ何に使うねん的な疑問が少し解消された気がする。(グラフとか) 2-3 動的計画法…