バックエンド開発環境構築手順まとめ!!IntelliJ IDEAセットアップ〜FlywayでpostgreSQLにテストデータ投入などなど

はじめに

バックエンドのプログラミング練習をするための開発環境構築手順をまとめました。

この手順で環境構築をするとこの辺りが行えます。

 

  •  IntelliJ IDEAでSpring(Java)のAPIが作成できる環境が作成する準備ができる
  • Docker desktopを利用してローカル環境にpostgreSQLとKeycloakを構築できる
  •  Flywayを利用してデータベースに初期データセットアップ(テストデータ登録)ができる
  •  jOOQを利用してSpringからデータベースを操作できる
  • DBeaverを利用してデータベースを操作できる

 

 

これによって本格的なバックエンドのプログラミング練習ができるようになります!!

 

データベース連携や認証認可サーバ連携なども行えるように環境構築するので少し手順が長いですが、

現場でRest APIを開発するのにかなり近い状態でのバックエンドのプログラミング練習ができるようになります!!

 

もっというと、

開発現場ではこういった開発環境構築は参画すると自分で行う必要があります。(新人時代僕は結構それが苦手でした、、、)

現場でのごちゃごちゃした開発環境構築のリハーサルにもなると思うので、

是非最後まで環境構築してみてください!!

 

 

この記事を書いている僕の8年間の職歴についてはプロフィールにまとめているので、

興味のある方はそちらを参照ください!!

釣りキチ翔平プロフィール釣りキチ翔平プロフィール

 

IntelliJ IDEAをインストールして日本語化〜サンプルプログラムをインポートしてビルド、動作確認する

IntelliJ IDEAをインストールして、簡単なRest APIのサンプルプログラムをインポートして、

動作確認していきましょう!!

 

サンプルプログラムをインポートして動かすまでの流れを実際に手を動かして体験し、

InteliJ IDEAをなぜ利用するのかということについてもざっくり理解して頂ければと思います!!

 

詳細はこちらの記事にまとめてありますので参考にしてください。

IntelliJ IDEAをインストールと日本語化〜プロジェクトインポート〜ビルドして動かすまで実施!!バックエンド開発環境を構築する

 

Docker desktopをインストールしてpostgreSQLとKeycloakをローカルPC上で立ち上げる

Docker desktopをインストールして、

postgreSQLというデータベースと、Keycloakというミドルウェアをdocker上に構築しましょう!!

 

Rest APIの開発をして本番環境で運用する際、

データベースや認証認可サーバとの連携がほぼ間違いなく必要になります。

 

まずは、ローカル環境でこれらを構築して触りながら、

ざっくりと理解し、Rest APIと連携させていきましょう!!

 

詳細はこちらの記事にまとめてありますので参考にしてください。

Docker desktopをインストールしてローカル環境でpostgreSQLとKeycloakを立ち上げる!!バックエンド開発環境を構築する

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

spring bootで作成したREST APIをspring securityとkeycloakで保護する

 

Flywayを利用してpostgreSQLにテストデータ登録を登録する

Flywayというデータベースマイグレーションツールを利用してpostgreSQLに対して

テストデータを投入し、Rest APIのテストを行うための準備をしましょう!!

 

Rest APIを作成した際、テストコードを書きますが、

データベースに様々なデータバリエーションを用意しておいてそれを利用したテストを実施したいケースがあります。

 

その際、毎回SQLを書いたり、事前に用意指定おいたSQLをポチポチ実行するのは面倒なので

Flywayというツールを利用してコマンド一発でセットアップできるようにしておくと便利です。

 

詳細はこちらの記事にまとめてありますので参考にしてください。

flywayでテストデータをサクッとローカル環境に準備する!!spring bootで作成したAPIのテストコードを書くための準備編

 

おまけ

テストコードを書かずにリリースを迎えたプロダクトに対して

Flywayなどを利用しつつどうやってテストコードを書いて

リグレッションテストを自動化するか??

について考えたことを以下の記事にまとめました。

興味があれば是非見てください!!

テストコードを書かないままリリースを迎えたプロダクトに対して何から着手していくか!?僕の中でのベストプラクティスをまとめてみました

 

 

jOOQを利用してSpring(Java)からデータベース操作を行う

jOOQというORマッパーを利用してJavaからpostgreSQLに対してクエリを投げたり、

逆に、postgreSQLから取得したデータをJavaの世界で扱いやすくするためにjOOQを利用します。

 

ORマッパーとは何か??

なぜ利用するのか??についてざっくりと抑え、

実際にORマッパーを利用してデータベース操作をしてみましょう!!

 

詳細はこちらの記事にまとめてありますので参考にしてください。

spring bootとjOOQでpostgreSQLと連携!!jOOQの導入〜自動生成〜簡単な使い方までを解説します

 

DBeaverを利用してデータベース操作を行う

DBeaverというデータベースクライアントツールを利用します。

 

データベースに登録しているテーブルのレコードを確認したり、

データベースに対して自由にクエリを発行したり、

データベースに登録されているテーブル間の関係をER図で確認したりなどなど

をデータベースクライアントツールで行います。

 

詳細はこちらの記事にまとめてありますので参考にしてください。

 

まとめ

今回はバックエンド開発における環境構築作業についてまとめました。

 

今回紹介した環境構築を実際に体験し、

それぞれのツールの目的をざっくりと理解しておけば

 

現場に入っても同じような(もしかしたらちょっと違う)ツールを入れるだけなので、

「あの時のツールと同じようなやつね」というノリで行けるので、

環境構築もスムーズにできると思います!!

 

今回で、バックエンドの開発練習の準備が整ったので、

ここから実際にプログラミングの練習をガンガンしていきましょうー

(いい感じの難易度のお題を考えて設計からプログラミングまで体験できる記事をこれから作っていきます)

 

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください