青空な日々

ITエンジニア関連で興味あることをアウトプットして共有したいブログ

#技術書典 応援祭の新刊「もっと実践!サーバーサイドKotlin」について

はじめに

新型コロナウイルスの影響で技術書典8は中止されてしまいましたが、
本日(2020/03/07)の20時から応援祭りというオンライン頒布イベントが開催されることになりました。

せっかく書いた新刊ですし、電子版だけでも頒布するので、
新刊の紹介ブログを書いておこうと思います。

応援祭のページ

techbookfest.org

BOOTHのページ

fortegp05.booth.pm


この表紙が目印!

f:id:fortegp05:20200307171127j:plain


本の内容

今回の新刊は「もっと実践!サーバーサイドKotlin」ということで、
前著「入門!実践!サーバーサイドKotlin」の続編となります。

前著で作成した掲示板アプリケーションにユーザー登録機能を追加し、
アプリケーションをデプロイして公開する手順を紹介しています。

もちろん、WindowsMacに両対応、IntelliJ Idea、VS Codeのどちらでも動作確認をしています。
と言っても、環境構築などは少ないので大した差はないですけども。

第1章 Spring Security による認証とユーザー登録

ユーザー登録機能はSpring Securityを使用して紹介しています。
いわゆる認可と認証を実装し、
事前に用意した管理者ユーザーと、任意のメールアドレスでユーザー登録する機能を実現しています。

非常に簡単な認証から、
データベースを用いたユーザー認証までを解説しています。
また管理者と一般ユーザー、認証なしユーザーで認可が必要なページを分けています。

認証ありのページに対するテストの書き方(JUnit)も紹介しています。

第2章 デプロイ

今回はデプロイ先として heroku(ヘロク) を用いました。
herokuはサンプルや小規模なアプリを公開する分には非常に便利なサービスです。
heroku を用いることで Spring Boot アプリケーションを動作させるまでの苦労がほぼなくなったといえるくらい簡単にできました。

デプロイの手順も当然WindowsMac の両方で解説しています。

この本で解説できていないこと

今回はどうしても100ページで収めたかったので、以下の項目は解説できていません。

  • ユーザー登録時にメールアドレス検証を行う
  • デプロイしてもセキュリティに問題がないことの確認

メールアドレスの検証は実際にメールを送信して、
トークンのやりとりを通してチェックを行う予定でした。
しかし、準備とその解説が大変であり、紙面の都合で割愛しました。
いつかやりたい。

紹介しているアプリについて公開してもセキュリティに問題ないかの検証ができていません。
こちらも一般的に行われている実装時の注意点や、脆弱性検査などを通して問題がないことを確認したかったのですが、
調査期間と解説量から断念しました。

どちらも自身でサービス公開、運用をしてみた結果を、技術同人誌という形で発表したいと思っています。

その他の特徴「ハマリポイント」

今回は本著を書く上でハマったポイントを解説するコラムを追加しました。
というのも、私は学習したことを技術同人誌にしているわけですが、
出来上がった技術同人誌という結果よりもそこまでの経緯のほうが価値があるのでは?と思ったからです。

結果だけ見ると動くものができあがっているわけですが、
その過程でハマったポイントを紹介することは結果以上に価値があるでしょう。

まぁ単なるケアレスミスみたいな内容もありますが、
その分生々しいかと思いますw

サンプルPDF

以下のサイトでサンプルPDFを公開中ですー。
よかったら見てね!

サンプルPDF自体はGitHubにもあがってますー。

github.com


物理本について

いまのところ技書博3で頒布予定ですが、
まだサークル登録もしていませんw

Twitterで進捗はつぶやいていこうと思うので気になる方はたまーに見てあげてください。

さいごに

執筆していた状況は#もっと実践サーバーサイドKotlin - Twitter Searchで見れます。

イベントでの「本だ、本になってる…!」がないと何かこう新刊を書いた感じがないですが、
実際にそこに物はあるので応援祭を楽しんでいきたいと思います。

僕もまた応援祭で積ん読を増やしていこうと思いますので、
よければ「もっと実践!サーバーサイドKotlin」をよろしくお願いします!