{"componentChunkName":"component---src-templates-post-template-js","path":"/posts/udemy-learning-application-architecture-with-reversi","result":{"data":{"markdownRemark":{"id":"d5aaa928-ce04-5ed0-9f78-e69f57896446","html":"<p>先日、Udemy で「リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜」というコースをリリースしました。</p>\n<p>どんなコースなのか、この記事で少し紹介させていただきます。</p>\n<p>※ 著者が出した Udemy 講座の一覧は <a href=\"https://www.nextskill.co.jp/courses\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">こちら﻿</a> です。</p>\n<h2 id=\"コース概要\" style=\"position:relative;\"><a href=\"#%E3%82%B3%E3%83%BC%E3%82%B9%E6%A6%82%E8%A6%81\" aria-label=\"コース概要 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>コース概要</h2>\n<p>プログラミングの基礎を学び、アプリケーション開発に実践的に関わり始めると、<strong>「MVC」「3 層アーキテクチャ」「サービス (Service) クラス」「ドメインモデル」「クリーンアーキテクチャ」</strong>といった、なかなか理解できない単語に遭遇します。</p>\n<p>とくに、</p>\n<ul>\n<li>「Controller にビジネスロジックを書くな」と言われて困っている</li>\n<li>「サービス (Service) クラス」には何を書けばいいのか分からない</li>\n</ul>\n<p>といった方は少なくないと思います。</p>\n<p>これはいわゆる「アプリケーションアーキテクチャ」という分野の話で、アプリケーション開発に関わり始めると、誰もが突き当たる壁の一つです。</p>\n<p>そこでこのコースでは、上記のような疑問を解消すべく、多くの方がふれたことのある「リバーシ」を題材として、TypeScript で実際にコードを書きながら、アプリケーション設計の基本を学びます。</p>\n<p>キーワード: <strong>MVC、3 層アーキテクチャ、ビジネスロジック、サービス (Service) クラス、トランザクションスクリプト、ドメインモデル、レイヤードアーキテクチャ、クリーンアーキテクチャ</strong></p>\n<h2 id=\"主な対象者\" style=\"position:relative;\"><a href=\"#%E4%B8%BB%E3%81%AA%E5%AF%BE%E8%B1%A1%E8%80%85\" aria-label=\"主な対象者 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>主な対象者</h2>\n<ul>\n<li>実務に入って<strong>「ビジネスロジック」や「サービス (Service) クラス」</strong>といった単語に遭遇し、何を指しているのか分からず困っている方</li>\n<li><strong>アプリケーションのどこにどんなコードを書くのか</strong>、例を学びたい方</li>\n<li><strong>1 ファイルに大量のコードが書かれている</strong>のを見て、そのようなコードを改善する方針を学びたいと感じている方</li>\n<li><strong>「ドメイン駆動設計」や「クリーンアーキテクチャ」</strong>を学ぼうとしたが、なかなか理解が進まず困っている方</li>\n</ul>\n<p>得意なプログラミング言語で、ある程度すらすらコードを書ける (「リバーシを作ってください」と言われて、自分なりに実装できるくらい) から、ステップアップしたい方におすすめの講座です。</p>\n<h2 id=\"このコースの特徴\" style=\"position:relative;\"><a href=\"#%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%AE%E7%89%B9%E5%BE%B4\" aria-label=\"このコースの特徴 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>このコースの特徴</h2>\n<p>ここから、このコースの特徴を紹介させていただきます。</p>\n<h3 id=\"アプリケーション設計に大きく関わる、仕様の整理から始める\" style=\"position:relative;\"><a href=\"#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%A8%AD%E8%A8%88%E3%81%AB%E5%A4%A7%E3%81%8D%E3%81%8F%E9%96%A2%E3%82%8F%E3%82%8B%E3%80%81%E4%BB%95%E6%A7%98%E3%81%AE%E6%95%B4%E7%90%86%E3%81%8B%E3%82%89%E5%A7%8B%E3%82%81%E3%82%8B\" aria-label=\"アプリケーション設計に大きく関わる、仕様の整理から始める permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>アプリケーション設計に大きく関わる、仕様の整理から始める</h3>\n<p>実はアプリケーションの設計には、仕様の整理の段階が大きく関わります。</p>\n<p>また、アプリケーションをうまく作れないというとき、設計や実装の問題ではなく、仕様をうまく整理できていないことが原因のことも多いです。</p>\n<p>そこでこのコースでは、リバーシのアプリケーションの仕様を整理する段階から一緒に体験していきます。</p>\n<h3 id=\"1-ファイルに全てのコードがある状態から、徐々に改善\" style=\"position:relative;\"><a href=\"#1-%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E5%85%A8%E3%81%A6%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E3%81%82%E3%82%8B%E7%8A%B6%E6%85%8B%E3%81%8B%E3%82%89%E3%80%81%E5%BE%90%E3%80%85%E3%81%AB%E6%94%B9%E5%96%84\" aria-label=\"1 ファイルに全てのコードがある状態から、徐々に改善 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1 ファイルに全てのコードがある状態から、徐々に改善</h3>\n<p>実装する段階では、まずはあまり何も考えず、1 ファイルにコードを書いていきます。</p>\n<p>複雑になったコードに<strong>様々な手法を適用して少しずつ改善していく</strong>ことで、設計手法の効果を味わいます。</p>\n<p>本で読んだりするだけではメリットが分かりにくい設計手法も、実際に動くコードを見ることでしっかり理解できます。</p>\n<h2 id=\"おわりに\" style=\"position:relative;\"><a href=\"#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB\" aria-label=\"おわりに permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>おわりに</h2>\n<p>自分自身なかなか学習するのが難しかった分野なので、過去の自分が受けたかったコースになるように作りました。</p>\n<p>最後に、著者が出した Udemy 講座の一覧（割引クーポン付き）は、以下のページにまとまっています。</p>\n<p><a href=\"https://www.nextskill.co.jp/courses\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://www.nextskill.co.jp/courses</a></p>\n<p>ご興味ある方はこちらからアクセスしてみてください。</p>","fields":{"slug":"/posts/udemy-learning-application-architecture-with-reversi","tagSlugs":["/tag/udemy/","/tag/architecture/","/tag/ddd/"],"autoRecommendPosts":["udemy-mnist-app","udemy-langchain-apps","udemy-step-up-python","udemy-llm-apps"]},"frontmatter":{"date":"2022-10-21T04:47:22.263Z","description":"先日、Udemy で「リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜」というコースをリリースしました。\nどんなコースなのか、この記事で少し紹介させていただきます。","tags":["udemy","architecture","ddd"],"title":"Udemy で「リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜」をリリースしました","socialImage":null,"recommendPosts":null}}},"pageContext":{"slug":"/posts/udemy-learning-application-architecture-with-reversi"}},"staticQueryHashes":["251939775","3942705351","401334301"]}