🎉

【Blazor】約300ページにわたる技術書をひとりで執筆した話

2022/05/03に公開

こんにちは!
ねこじょーかーです。

みなさんは「Blazor」を知っていますか?

Blazor は、C# と .NET Core を用いて Web アプリケーションの開発ができるようになるフレームワークのことです。
ASP.NET Core Blazor とも呼ばれます。
フロントエンドに HTML と CSS を使用するのは変わりませんが、バックエンドのロジック部分を C# で書くことができます。

この記事は、Blazor をゼロから学習して、簡易的な EC サイトが作れるように解説した本を執筆した話をします。

執筆したお知らせツイートと EC サイトの完成イメージはこちら↓

執筆した話の 5W や EC サイトに実装されている機能を紹介していきたいと思います。

執筆した話の5W

執筆者は誰?

普段は「ねこじょーかー」という名前で発信しています。
C# と執筆が好きで、書籍は 11 冊を執筆しました。
個人的にブログも運営していて、学びながらアウトプットすることを習慣にしています。
その中でも、Blazor は特に力を入れて学習している分野のひとつです。

何を執筆したの?

簡易的な EC サイトを作れるように解説した本です。
また、基礎文法など基本的な内容も学習できる内容も取り入れました。

いつ執筆したの?

表紙を作成したのが 3/27、販売開始が 5/1 なので、だいたい1ヶ月くらいで執筆しました。

なぜ執筆したの?

「Blazor を日本語で基礎から応用まで学習できる教材があればいいのに」と思ったからです。
私は Blazor を1年ほど勉強していく中で、かなり苦労しました。

「今から勉強する人が、自分のように苦労するのはもったいないな」と思い、情報をまとめることにしました。
自分で書いた本が、Blazorを勉強する足がかりなれば嬉しいです。

どこで執筆したの?

ほとんど自宅です。
たまにカフェに行ったりして気分転換していました。

全体の構成図

アプリ全体の構成図はこんな感じになっています。

実装されている機能

今回作成したアプリには、ECサイトの基本機能である以下の機能が実装されています。

ログイン

Azure Active Directory B2C と連携して、ユーザー管理の機能を実装しました。

ゼロからユーザー管理の機能を実装するのはかなり大変なので、あらかじめ用意されている仕組みがあれば、それを使ったほうが効率的だと判断しました。

商品(一覧表示、個別ページ)

トップページでは、商品の一覧を表示します。
商品のデータは SQL Server で管理し、Entity Frameworkを使ってデータの操作をしました。

カート

ショッピングカートの機能は、ブラウザ上にデータを保存する「ローカルストレージ」を使って実現しました。
カートに入っている商品を削除したり、合計金額を計算する機能もつけています。

決済

決済処理は Stripe を使用しました。
購入後は Webhook の形式でイベントを検知して、注文履歴を DB に書き込んでいます。

注文履歴

注文履歴も一覧で見れるようにしました。
注文番号は Stripe 上の管理番号となっているため、紐付けできるようにしています。
購入した商品は、レビューができるようにボタンを追加しました。

レビュー(一覧表示、新規、修正、削除)

レビューは5段階で評価して、全体の件数と平均値も表示するようにしました。
自分のレビューのみ、修正と削除ができるようにもなっています。

ユーザープロフィール(参照、修正)

Azure Active Directory B2C と連携してユーザー管理をしているため、アクセスするために Microsoft Graph を使用しました。

API のデバッグ

API をデバッグする手段として、Swagger を統合しました。
ログインしなければ実行できない API も、Swagger にログイン機能をつけて実行できるようにしています。

書籍を執筆した感想

プログラムを書いてひとつのアプリを作るのも楽しいですし、それを体系化して書籍にまとめるのも楽しいです。

自分で考えて作った商品を購入していただいて、購入された方から感謝の言葉が届くときは、本当に作ってよかったなと思います。

会社で仕事をしていて外部の人から感謝されることもありましたが、それは会社が提供するサービスに対しての感謝であって、個人に対する感謝ではないことが多いです。

一方で、自分で作った商品は個人に対する感謝になるので、感謝の言葉が届いたときのインパクトが大きいんですよね。

それがやりがいになって、これまで書籍を 11 冊も書き続けられたのかもしれません。

また、私が執筆している本は「まだ世の中に浸透しきっていない、少しニッチな分野」であることが多いです。
こういった分野を率先して調べ、自分のものにしていく過程も好きなのかもしれません。

これからも自分で考えた商品やサービスを世の中に出して、たくさんの人の役に立てればいいなと思います。

書籍を好評販売中

執筆した書籍について、もし興味がありましたら無料版だけでもご覧いただけると嬉しいです。
https://nekojoker.booth.pm/items/3813171

Discussion