目次
はじめに
バックエンドのプログラミング練習をするための開発環境構築手順をまとめました。
この手順で環境構築をするとこの辺りが行えます。
- IntelliJ IDEAでSpring(Java)のAPIが作成できる環境が作成する準備ができる
- Docker desktopを利用してローカル環境にpostgreSQLとKeycloakを構築できる
- Flywayを利用してデータベースに初期データセットアップ(テストデータ登録)ができる
- jOOQを利用してSpringからデータベースを操作できる
- DBeaverを利用してデータベースを操作できる
これによって本格的なバックエンドのプログラミング練習ができるようになります!!
データベース連携や認証認可サーバ連携なども行えるように環境構築するので少し手順が長いですが、
現場でRest APIを開発するのにかなり近い状態でのバックエンドのプログラミング練習ができるようになります!!
もっというと、
開発現場ではこういった開発環境構築は参画すると自分で行う必要があります。(新人時代僕は結構それが苦手でした、、、)
現場でのごちゃごちゃした開発環境構築のリハーサルにもなると思うので、
是非最後まで環境構築してみてください!!
この記事を書いている僕の8年間の職歴についてはプロフィールにまとめているので、
興味のある方はそちらを参照ください!!

IntelliJ IDEAをインストールして日本語化〜サンプルプログラムをインポートしてビルド、動作確認する
IntelliJ IDEAをインストールして、簡単なRest APIのサンプルプログラムをインポートして、
動作確認していきましょう!!
サンプルプログラムをインポートして動かすまでの流れを実際に手を動かして体験し、
InteliJ IDEAをなぜ利用するのかということについてもざっくり理解して頂ければと思います!!
詳細はこちらの記事にまとめてありますので参考にしてください。

Docker desktopをインストールしてpostgreSQLとKeycloakをローカルPC上で立ち上げる
Docker desktopをインストールして、
postgreSQLというデータベースと、Keycloakというミドルウェアをdocker上に構築しましょう!!
Rest APIの開発をして本番環境で運用する際、
データベースや認証認可サーバとの連携がほぼ間違いなく必要になります。
まずは、ローカル環境でこれらを構築して触りながら、
ざっくりと理解し、Rest APIと連携させていきましょう!!
詳細はこちらの記事にまとめてありますので参考にしてください。

Keycloakと連携してAPIにアクセストークン検証機能をさせる流れについてはこちらの記事を参考にしてください。

Flywayを利用してpostgreSQLにテストデータ登録を登録する
Flywayというデータベースマイグレーションツールを利用してpostgreSQLに対して
テストデータを投入し、Rest APIのテストを行うための準備をしましょう!!
Rest APIを作成した際、テストコードを書きますが、
データベースに様々なデータバリエーションを用意しておいてそれを利用したテストを実施したいケースがあります。
その際、毎回SQLを書いたり、事前に用意指定おいたSQLをポチポチ実行するのは面倒なので
Flywayというツールを利用してコマンド一発でセットアップできるようにしておくと便利です。
詳細はこちらの記事にまとめてありますので参考にしてください。

おまけ
テストコードを書かずにリリースを迎えたプロダクトに対して
Flywayなどを利用しつつどうやってテストコードを書いて
リグレッションテストを自動化するか??
について考えたことを以下の記事にまとめました。
興味があれば是非見てください!!

jOOQを利用してSpring(Java)からデータベース操作を行う
jOOQというORマッパーを利用してJavaからpostgreSQLに対してクエリを投げたり、
逆に、postgreSQLから取得したデータをJavaの世界で扱いやすくするためにjOOQを利用します。
ORマッパーとは何か??
なぜ利用するのか??についてざっくりと抑え、
実際にORマッパーを利用してデータベース操作をしてみましょう!!
詳細はこちらの記事にまとめてありますので参考にしてください。

DBeaverを利用してデータベース操作を行う
DBeaverというデータベースクライアントツールを利用します。
データベースに登録しているテーブルのレコードを確認したり、
データベースに対して自由にクエリを発行したり、
データベースに登録されているテーブル間の関係をER図で確認したりなどなど
をデータベースクライアントツールで行います。
詳細はこちらの記事にまとめてありますので参考にしてください。
まとめ
今回はバックエンド開発における環境構築作業についてまとめました。
今回紹介した環境構築を実際に体験し、
それぞれのツールの目的をざっくりと理解しておけば
現場に入っても同じような(もしかしたらちょっと違う)ツールを入れるだけなので、
「あの時のツールと同じようなやつね」というノリで行けるので、
環境構築もスムーズにできると思います!!
今回で、バックエンドの開発練習の準備が整ったので、
ここから実際にプログラミングの練習をガンガンしていきましょうー
(いい感じの難易度のお題を考えて設計からプログラミングまで体験できる記事をこれから作っていきます)