# アーキテクチャを勉強する ## アーキテクチャって何? 答え: マンパワーを最小にする目的でソフトウェアシステムに与える構造 <iframe width="560" height="315" src="https://www.youtube.com/embed/n5VpIr0MnuU?start=740" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> 日本語字幕有り 12:20~ by マーチン先生 > 「アーキテクチャは、"マンパワーを最小にする目的でソフトウェアシステムに与える構造"です。」 > ソフトウェアを開発、維持、デプロイするための。それがアーキテクチャ > それはコストを低く保ための形で、コーディング、設計、高レベルの構造からなるんだ。 > それがソフトウェアアーキテクチャだ。 ## なぜアーキテクチャを勉強するのか?(目的/モチベーション) - イケてるアーキテクチャを創発(emerge)できる・理解できるエンジニアになりたいから ## ざっくりと分類 - インフラアーキテクチャ - CI/CDアーキテクチャ - アプリケーションアーキテクチャ 主に勉強していくのは「アプリケーションアーキテクチャ」 ## 何を勉強する? 1. クリーンアーキテクチャを勉強する 2. DDDのテクニックや考え方を勉強する(軽量DDD的な) ## 具体的に何する? ### 1. [クリーンアーキテクチャとサーバレスで実装するWebAPI](https://www.amazon.co.jp/%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%81%A8%E3%82%B5%E3%83%BC%E3%83%90%E3%83%AC%E3%82%B9%E3%81%A7%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8BWebAPI-%E6%8A%80%E8%A1%93%E3%81%AE%E6%B3%89%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%EF%BC%88NextPublishing%EF%BC%89-%E5%86%85%E5%B1%B1-%E6%B5%A9%E4%BD%91-ebook/dp/B08H1LMW6K)の輪読会 - 使用技術(2つ以上「わからないもの」があると認知負荷は高めに(==成長痛が辛く)なるので注意) - Golang - インターフェースと実装が分かる - AWS DynamoDB - 「テーブルが定義できる」と「Itemがゲットできる」 - Docker・Linux - docker-compose.yamlが書ける - 環境変数がわかる ## どういう頻度でやっていく?(不定期・定期) ## どういう風にすすめる? - 案1:ローカルで完全に動かせるようにする(それぞれが独立して?ペアプロ?モブプロ?) - メリ:具体的なコードが分かる・書ける - デメ:Golang/Dynamo/Dockerの基礎がわからないと辛い - 案2:DDDの用語との紐付け - メリ:DDDも学べる感じ - デメ:DDDをある程度学んでる必要がある ## 参加者に何を期待する?(もちろん主催も参加者) ## 公開範囲どうする?(本の内容をガッツリ書くなら、Publicにしない) - プライベートで行くなら - GitHubのプライベートリポジトリでIssueベース? - HackMDの招待枠 CreateUserユースケース ```yaml UserRepository: # 実装はUserOperator Client: Mapper: UserEmailUniqGenerator: UniqChecker: ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up