はじめに
バックエンドエンジニアを目指している方、
目指すわけではないがバックエンドエンジニアの仕事をさせられることになった方、
Rest APIでHello Worldの次のステップに進みたい方
などなどに向けて現場を意識したバックエンド開発練習まとめ記事を作りました。
今後も思いつくことがあれば随時アップデートしていきます。
バックエンド開発環境構築|IntelliJ、jOOQ、Flyway、Keycloak、PostgreSQLなどなど
こちらのまとめ記事を参考に
まずは環境構築をしてみてください!!
IntelliJ IDEA、docker desktop(postgreSQL、keycloak)、Flyway、DBeaverを利用したバックエンド開発環境構築
ローカル環境にdockerを入れてDB、認証認可サーバを立てたり、
Flywayを利用してローカルDBにテストデータをサクッと用意したり、
IntelliJ IDEAでSpring Bootでアプリケーション開発できるように環境を整えたり
などなどします。
ただ、Hello Worldして終わりとならず、
現場で本物のAPIを作ることを想定した環境セットアップとなっています。
Spring BootとJavaでRest APIを作って動かしてみる|jOOQを使ったDB連携まで
こちらの記事を元に、
GET、POSTのRest APIを作って実際に動かしてみてください!!
Spring BootでJavaでRest API(GET)を作って動かしてみる
Spring BootでJavaでRest API(POST)を作って動かしてみる
jOOQ(ORマッパー)を利用してDBからデータを取得したり、
DBにデータを記録するところまでをAPIのサンプルでは実施しています。
Spring SecurityとKeycloakでAPIを保護する!!
APIを誰でも認証もせずに使わせるのはダメなので、、、
認証済みユーザにはトークンを発行し、
そのトークンの有効性をAPIで検証して、
有効ならAPIを利用させるという制御を入れる必要があります。
こちらの記事を参考にAPIを保護してみてください。
keycloakでAPI保護・SPAログイン機能設定例、OIDC・OAuth・PKCE・認可コードフロー図解などまとめ
KeycloakでSpring Bootで作成したRestAPIを保護、
SPAにKeycloakのSSO機能でログイン機能を追加、
OIDCやOAuth2.0の違い解説などなどをまとめたまとめ記事です。
APIの設計を練習する!!|複雑なドメインを想定した設計
とりあえずAPIの開発できるようにはなったら、
いかにビジネスのスピードや変化、成長に柔軟についていけるように設計するか??
を意識できるとさらにいいです。
とりあえず作って納品して終わり。
ではなく、
最近は品質を担保しつつ柔軟にビジネスの変化に対応できる設計ができなければなりません。
自分もまだまだ勉強中ですが、
今まで読んだ本、参加した勉強会、作ったサンプルコード
についてのまとめ記事がこれらです。
初めてドメイン駆動設計を実践する方に向けて〜DDD実践のためのきほん〜
Spring Bootで開発したAPIの保守開発を体験する!!
既存のレガシーシステムを
当時の設計思想を妄想しつつ
リファクタリングしつつ
テストコード書きつつ
設計を見直しつつ・・・
新規でシステム開発を自由にやるより
遥かにスキルが求められるのが保守開発です。
また、現場では新規開発以上に保守開発をさせられることが多いです。
すみません・・・
これは今いいサンプルを考えて作っている最中ですが、
ある程度複雑なお題を用意する予定です。