Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20230630_QiitaEnginnerFesta登壇資料
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ayumun
June 30, 2023
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20230630_QiitaEnginnerFesta登壇資料
初社外登壇です。
ayumun
June 30, 2023
More Decks by ayumun
See All by ayumun
人の介在回数を減らす開発フロー設計の検証
ayumu11
1
22
AI Builders Day 懇親会LT
ayumu11
1
930
Claude Codeを使ったAI駆動開発の実践的プラクティス
ayumu11
0
29
jaws-ug 東京 ランチタイムLT会 20240416
ayumu11
0
470
Notionでの快適メモ術
ayumu11
0
1.4k
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
For a Future-Friendly Web
brad_frost
183
10k
The Limits of Empathy - UXLibs8
cassininazir
1
360
The Language of Interfaces
destraynor
162
27k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
BBQ
matthewcrist
89
10k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
330
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
We Are The Robots
honzajavorek
0
250
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Transcript
インフラSEからの異世界転⽣︕ 〜Web開発 2ヶ⽉ちょい学習記〜 KDDIアジャイル開発センター ⼭⼝ 歩夢
⾃⼰紹介 u ⽒名(年齢) ⼭⼝ 歩夢 (26歳) u 経歴 2021年4⽉にKDDI新卒⼊社、⾃社クラウドサービスのストレージ基盤/⾃動化ツールを開発 2023年4⽉からKDDIアジャイル開発センター(KAG)へ出向、Webサービスの開発に従事
u 業務 Webサービスをアジャイル開発(フロント/バック/インフラ) u 趣味 筋トレ、ビール、SixTones u 好きな痛み 筋⾁痛
本発表で知れること/知れないこと
情報発信(QiitaやLT) Udemy/YouTube/技術記事を漁りつつ⼿を動かす (もちろんChatGPTにも聞きまくる) チームでの開発(仕事) ・わからない ・スキル不⾜ 仕事に活かせる ネットワーク拡⼤ アウトプットできる >>勉強のモチベにもなる
・知識の定着率up ・いつでも参照可な メモ代わり ・Nuxt/Vue/Typescript/Python/CSS,Vuetify ・AWS ・Terraform ・GraphQL ・Github, Github Actions ・OpenID Connect, JWT, Web Storage, ・TDD ・オブジェクト指向,クリーンアーキ …etc 刺激を受けモチベup 莫⼤なエネルギーを使⽤ >すぐにHPは⾚⾊に (脳みそが焼ける) すごいキズぐすり、やけどなおし (筋トレ/サウナ/ビール/うまい飯) キズ治すぜ
Vuetify3/Firebase/Nuxt3(Vue,Typescript)で 認証フォーム構築 l 技術 Ø Nuxt3(Vue.js,Typescript),Vuetify3,Firebase Auth l 作成したログイン機能の認証フロー •
デザインフレームワーク(ライブラリ) Web開発に必要なボタンやメニューなどの テンプレートがあるので簡単/⾼速にwebサイトを作成できる • Firebase バックエンドの機能を担ってくれるMbaaS(Mobile backend as a Service)のこと
デモ
ところでVuetifyってなにがいいんですか l Vuetifyとは︖ Ø Vue.jsのUIライブラリ Ø Googleが提唱するマテリアルデザインにのっとり、 直感的で使いやすいUIをデザインの知識が皆無でも簡単に作成できる l マテリアルデザインとは︖
l 現実世界の物理法則に従うデザイン l つまり、ユーザが直感的に操作可能なデザイン (例︓Twitterの下のボタンは浮いているから押すものだとわかる) 簡単⾼速にバリデーション込みのマテリアルデザインを実現可能︕ (カスタマイズは、ちとむずい) Vuetifyを使うことで・・・
クリーンアーキテクチャのお勉強 View • (例)ログイン時⼊⼒エラー 1. View︓UI表⽰,⼊⼒ 2. Controller︓データを渡す 3. Usecase︓ロジック適⽤
4. Presenter︓データ加⼯ 5. View︓UI表⽰ • クリーンアーキテクチャってなに︖ 再利⽤可能な設計のこと。 ソフトウェアをレイヤー分けすることで 依存関係の分離を実現し⾼品質なシステムを 構築するアプローチ。 ディレクトリ構造や各ファイルの役割、 データの流れを意識し開発︕
テスト l UTにはVitestを使⽤ u Viteベースのシンプルで強⼒なテストユーティリティライブラリ u 例えば、関数をモック化することで、依存関係のあるコードや外部のリソースとのやり取りを シミュレートできる u コードの振る舞いをテストすることで、コードの品質や信頼性を向上させる
・ ・ vite︓⾼速にビルドをしてくれるツール
Terraformでコード化(IaC︓Infrastructure as a Code) l What’s Terraform︖ Ø コードでインフラストラクチャを作成・管理するためのツール Ø
インフラ構築の再現性を担保できる
TerraformでS3バケットを作成 l S3バケットを作成して Webホスティングをする準備 u Terraformをインストール u AWSでIAMユーザ作成 u 構築内容を記述(HCL)
u 作成するバケット u ホスティング設定 u ACL u バケットの公開設定 u バケットポリシー u Terraformコマンド実⾏
Github ActionsでCI/CD l Githubに完全統合されているCI/CD Ø Github以外のダッシュボードを⾒に⾏く必要がなく、 あらゆるGithubイベントに対応 l 今回やったこと Ø
リポジトリへのPush処理をトリガーとしてWorkflowに 定義した処理を⾃動で実⾏するように設定 Ø Nuxt3で構築した認証フォームを静的コンテンツ化し、 予め⽤意したAWS S3のバケットにデプロイ Ø S3はGithub actionsを使ってTerraform applyして構築 .github/workflows/actions.yml
全体像 2︓Vscode > Github Actions > アプリをS3にデプロイ 1︓Vscode > Github
Actions > Terraform > S3バケット作成 ユーザー
まとめ l 社外登壇は初めて l Web開発着⼿2ヶ⽉ちょいで勉強したことの⼀部を紹介 l すごいキズくすりを使って、こまめに回復することが⼤切(教訓) l ふしぎなアメはないので、こつこつ頑張る(重要)
Thank you, catch you later! @sw_ayumu_jp @ayumu_