オウルです。
はじめての ASP.NET Core ということで第1回目の記事になります。タイトルにありますが、僕自身も ASP.NET Core は初めてのため、澄ました感じで ASP.NET Core を紹介するのではなく、リアルな心の声を表現しながら、ゆるーく学習していきたいと思います。
はじめに
せっかくなのでプログラミングに興味がある、少しプログラミングをかじったことがある初級プログラマーの方に役立つ内容にできればと思っています。何となく理解している程度の javascript や CSS も良い機会なので学習していくつもりです。例えば、僕は javascript でよく ”this” の迷子になります。Java や C# の経験がある人は、javascript でclass を定義していると結構迷子になるんじゃないかなぁ(というのはいいわけで、単に僕が javascript の言語仕様をちゃんと理解していないだけです・・・最近は便利な ”アロー関数” にハマってます)
Web の技術
ASP.NET Core を学習するということは、つまり Webアプリケーションをつくることが目標となります。なので実際に簡単な Webアプリケーションを作るつもりでいます。どういう構成かは、後半に紹介します。Webアプリケーションはわりと幅広い知識が必要となってきます。僕もまだまだ知らないことばかりです。
じゃ、どういう知識が必要なの?って気になるところです。僕が思う技術知識を挙げてみます。
- Webの基本
- javascript
- css
- html
- セキュリティ
- ミドルウエア(WebサーバやRDB、NoSQLやRedis)
たくさんありますね。。。
でも逆に言うと、1つのアプリケーションをつくると、これらの技術の経験が得られるということです。
学ぶときのポイント
- 焦らない
- 何が分からないかを分かるようにする
- 分からないときは、まず公式リファレンスからみるようにする
- 英単語の意味を理解する(例えば constructor)
- 一つの目標の分量を軽くする
特に重要なのが焦らないということです。焦って嫌になって途中で挫折というのが勿体ないです。
有効なサイト
学習を進めていく中で、有効なサイトを紹介します。
teratail
分からないときに質問すると回答してくれる無料サイトです。
ドットインストール
色々なところで紹介されているので、一度は見聞きしたことがあるかもしれません。初心者向けプログラミング学習サイトで、HTML, CSS, JavaScript, PHP, Rubyをはじめ、iPhoneやAndroidアプリの作り方も学べます。豊富な動画を見ることで、はじめての人でも無理なくスキルを身につけていくことができます。
ASP.NET Core の公式リファレンス
javascript
最終目標
とりあえず目標は動作するモノを作ることです。何といってもプログラミングの醍醐味は動くモノを作ることですからね。
※あまり深いところには踏み込みません(例えば、ドメイン駆動設計などのソフトウェア開発手法、デザインパターンなど)
アプリケーションの構成イメージ
Web キューワーカーアーキテクチャスタイル
※もっとシンプルにした構成+すべてローカル環境で完結させる
このアーキテクチャのコアコンポーネントは、クライアント要求(ブラウザ)に応える Web フロントエンドとAPI バックエンド(リソースを集中的に使用するタスク、時間のかかるワークフロー、またはバッチ ジョブを実行するワーカー)です。本来であれば、フロント エンドは非同期メッセージングによってワーカーから切り離され、フロント エンドとワーカーは独立に拡張できます。しかし、今回はフロント エンドとワーカーがデータ スキーマ(Json)を共有しようと思っているので、隠れた依存関係が存在することになります。
まぁ、難しい話はこれくらいにして、簡単に言うと Web API も学習したいのでとりあえず盛り込んでみたって感じです。なので、こんな感じで実装するのか!というのが分かれば僕的には十分です。
次は、Visual Studio を使って ASP.NET Core のプロジェクトを作成したいと思います。僕のブログのサブタイルにあるように、ゆるーくボチボチ学習していきたいと思います。それでは、また。
「はじめての ASP.NET Core」シリーズ
「【初心者向け】ASP.NET Core Identity」シリーズ