blog-hero-img

はじめてつくるバックエンドサーバー発展編【改訂版発売】

pen-icon2024.9.12

この記事は約3分で読めます

Profile Pic

この記事の筆者:三好アキ


🟢 専門用語なしでプログラミングを教えるメソッドに定評があり、1200人以上のビギナーを、最新のフロントエンド開発入門に成功させる。
🟢『はじめてつくるReactアプリ with TypeScript』、『動かして学ぶ!Next.js/React開発入門(翔泳社/*韓国でも出版)』著者。


▼ Amazon著者ページはこちら
amazon.co.jp/stores/author/B099Z51QF2



2年ぶりのアップデート

『はじめてつくるバックエンドサーバー発展編(Node.js & Express & MongoDB)』の改訂版を発売しました。

電子書籍とペーパーバック、両方でご利用いただけます。

はじめてつくるバックエンドサーバー発展編(Node.js & Express & MongoDB)

【2024年9月改訂版リリース。ログイン機能を持った本格的なNode.jsアプリ開発を、ビギナー向けにわかりやすく解説】

2069円0円

Amazonのページに移動する

改訂の理由

『はじめてつくるバックエンドサーバー発展編』を書いたのは2022年4月なので、発売からすでに2年半ほど経っていました。

2年半といえば、npmパッケージのバージョンが上がり、コードの書き方が変わっていてもおかしくはない時間の長さです。

実際、書籍内で使っているコードで動かないところが出ており、Amazonのレビューのコメント欄でもその点に触れたものがありました。

コードの変更点

コード上の変更点は、書籍内で使っているmongoose関係のコードです。

2年半前の初版執筆時、mongooseのバージョンは6.2.9で、次のように書いていました。

// 初版のコード

app.post("/blog/create", (req, res) => {
    BlogModel.create(req.body, (error, savedBlogData) => {
        if(error){
            res.render("error", {message: "/blog/createのエラー"})
        }else{
            res.redirect("/")
        }
    })     
})

しかし最新のmongooseはバージョンが8.6.1で、上のようなcallbackは使えなくなっており、「MongooseError: Model.create() no longer accepts a callback」といったエラーが出ます。

そこでcallbackベースのアプローチから、promiseベースのアプローチに変え、then()を使った記法に変えました。

// 改訂版のコード

app.post("/blog/create", (req, res) => {
    BlogModel.create(req.body) 
        .then(() => {
            res.redirect("/") 
        })
        .catch((error) => {
            res.render("error", {message: "/blog/createのエラー"}) 
        })
})     

実はここでthen()を使うべきか、それとももっとモダンなtry ~ catchを使うべきかで迷ったのですが、私の他の書籍(「MERNでつくるフルスタックアプリ」など)ではtry ~ catchをよく使っているので、私の本を複数読まれている読者が触れるコードのバリエーションを増やすため、この本ではあえてthen()で書きました。

時間のかかったこと

コードの変更があるとはいえ、その規模はそこまで大きくないので、改訂版の作業もすぐに終わると思っていました。

しかし実際には予想以上に時間がかかったのは、コードの変更作業ではなく、文章の修正に時間を取られたからです。

2年半も経っていると私の言葉づかいも変わっており、いま読み返すと「おかしな日本語だな」と感じるところが多々ありました。

この本は技術書なので、文章の正しさだとか言葉づかいだとかに過度に注目する人はいないと思います。

それでも書き手としては、そういう「些細な点」が気になり、修正するところが多くあったのです。

すべての部分を直すと終わらないので、平均以上に気になるところしか修正していませんが、それでも初版よりは幾分まともな文章になったかと思います。

コード、文章以外では、書籍内で使っているMongoDBとRenderのウェブサイトのUIが変わっており、その画像の変更にも意外と時間をとられました。

うれしかったこと

先日、X(Twitter)で次のようなポストを見かけました。

image

https://x.com/OUC_Library/status/1830841332870586418

電子書籍版もペーパーバック版も、個人の方が購入・利用するものだと私は考えていたので、図書館のような公共機関に購入していただいているとは思っていませんでした。

手に触れられず共有もできない電子書籍ではなく、物理的な「モノ」としてのペーパーバックには、こういう強みもあるんですね。

そして大学の図書館という、若い学生の方たちが無料で読める環境に私の本があることもうれしく思いました。

私自身学生の時には、1000円、いや500円の文庫本を買うのにもためらいを覚えていたので、このように大学図書館に購入いただいたことで、間接的にも学生の方たちの助けになればと思っています。

目次

はじめてつくるバックエンドサーバー発展編(Node.js & Express & MongoDB)

【2024年9月改訂版リリース。ログイン機能を持った本格的なNode.jsアプリ開発を、ビギナー向けにわかりやすく解説】

2069円0円

Amazonのページに移動する


image

▼【無料フロントエンド・ガイド】は下記ページで受け取れます。

https://monotein.com/present-for-readers

Profile Pic

🟩 フロントエンド開発者入門ガイド【無料配布中】


最初にこれが知りたかった!
フロントエンド初心者が必ず押さえておきたい ― 『挫折しない勉強法』とその具体的ステップ、無料配布中。
(*名前不要・メールアドレスだけで受け取り可能です)