開発の流れ(基本的な物)

基本的下記一セットの環境の用意

一日目 自分のポートフォリオを作成してLambdaにアップ(テンプレートから自動作成)

→初期ツールで自分のポートフォリオを作成

 ノーコーディングでデータ設定のみで、作成(ポートフォリオシステム)を元に、詳細を学んでいく

 テンプレートとソフトは雛型は用意

 →プログラムを出来なくても、業務システムは作成出来るのを体験 実際に業務的に使われるものを作りながら詳細を勉強

スクラム開発形式でJIRAに沿って講習(表面上はスクラムでも実際はざっくばらんにアジャイルで

→仕事上スクラムで決まったやり方を出来ないといけない際もあるので

JIRAの設定はして、招待を送ります

一つ終わったら、終了にしていく方法など

AWSは無いので、チャットボットに作成する

ChatGPT使いかたの説明 部分的な技術はChatGPTに質問 AIに質問が実用となってきたので(調べていたのがAIが答える時代)

 大きいプログラムと言うよりマイクロフレームワークで部分的にいれれるような。システムもその規模で開発

ChatGPT インフラ管理で、AWSを管理するコマンドを教えて

GhatGPT AMIの意味を教えて

ChatGPT REACTで、電卓のコードを教えて 

ChatGPT AWSのチーム開発方法を教えて

ChatGPT CloudFormationでEC2を作成するコードを教えて 

ChatGPT  それを実行するAWSCLIのコマンドを教えて 

技術的に使う物

APIGATEWAY

Route53(ドメイン取得)

LAMBDA

ELB(ドメイン設定、ルーティング)

AWSCLI

GITHUB

GITHUB Action CICD

Python Django FastAPI

RDS MYSQL

CloudWatch

SWAGGER

JIRA

ステップ1 ソフトの設定(今回講習で使うサンプルを動くように設定)

1,AWSアカウントの取得

2,AWSキーの設定

3,GITHUBアカウント取得

4,サンプルリポジトリーの設定

 →講習用のリポジトリーを送ります

5,GITHUB Action CICDの設定

 →AWS Lambda への自動アップの設定をします

6.動作確認

 →画面共有をしてLambdaにアップされたか確認

7,Lambdaのソースを修正して手動で更新

 動作テスト(雛型の設定)

8,CloudWatchでのログの見方

 →サーバーのログの管理

9,作成したシステムのクラウドフォーメーションを見る

 →AWS上から自動作成されたクラウドフォーメーションのソースの確認

ステップ2 開発環境の設定(サーバーも含めてソース管理)

GITHUBのリポジトリーを開きます

リモート環境の作成(GITHUBから開発環境を自動作成)

GITPODに自動インストールの設定

SLS サーバーレス用プログラム(今回はこちらを使用)

SAM サーバーレス用プログラム

AWSのコマンドでソースをアップしてLambdaの更新を確認


GITHUBのソースをリモートで開発します

*)python notebookの使い方

 →必要なコマンドなどファイル化して、管理出来るように設定

ステップ3 GitHubFlow(チーム開発)

連携してソースをアップしてみます


GITで開発した内容を アップして問題なければ本番アップ依頼という作業

開発→ソースレビュー→本番アップ

 

 →Pre-Commit(構文チェック)で、ソース自動チェック

 →自動テストでのエラーチェック(pytest)

→GITでCICDで自動テスト


 一連の開発の流れ

ステップ4 CloudFormationでRDSの作成

クラウドフォーメーションでサーバーを管理

   

 →インフラの管理

 →作成→確認→削除を試します

 *)インフラは無料枠でもお金がかかる場合があるので作成したら削除

ステップ5 管理システムの設定

PYTHON Django

Lambda上で、管理システムでデータを管理します

   

1データベースの向き先の変更

2リモートサーバーでの確認

3GITへアップしてLambdaで確認

ステップ6 APIの作成

 Python FastAPI


  1,WEBAPIの作成

  2,マイクロフレームワークでAPIからデータベースへ入力の確認

  3,データベースへの接続

  4,SWAGGERでデータの確認

     →ソースがそのまま仕様書とテストシステムになります

ステップ7 フロントエンドの作成(作成したWEBAPIのフロント)Jinja2

 1,公開するページを作製

 2,ポートフォリオ用のサイトの作成