Skip to content

Commit a65871b

Browse files
committed
Add eslint-disable for set-state-in-effect as a temporary workaround
1 parent 3588f8e commit a65871b

152 files changed

Lines changed: 33581 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package-lock.json

Lines changed: 13069 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
title: 【新人プログラマ応援】インフラに詳しくない僕が3週間でSAAを取得した方法 【SAA】
3+
tags:
4+
- AWS
5+
- ポエム
6+
- 資格
7+
- saa
8+
- 新人プログラマ応援
9+
private: false
10+
updated_at: "2024-06-05T12:17:54+09:00"
11+
id: 014c8f26ffe16f1381ed
12+
organization_url_name: qiita-inc
13+
slide: false
14+
ignorePublish: false
15+
---
16+
17+
## はじめに
18+
19+
2022年9月にAWSのSAA(AWS Certified Solutions Architect - Associate)を取得したので、インフラに詳しくないエンジニアがわずか**3週間**でどのように合格をしたかをまとめようと思います!
20+
21+
~~C02からC03に変更になり難易度もやや上がり範囲も増えたので当時は
22+
なんで後1ヶ月早く受けなかったんだろうと悔やんでいました~~
23+
24+
資格に至った経緯としては、同年の6,7月頃からAWSを触る機会が増えてきたので
25+
まずは基礎を固めるために取得しました
26+
27+
当時の筆者のスペックとして
28+
29+
- エンジニア歴がちょうど2年弱
30+
- phpとvue.jsを用いたwebアプリケーションの開発がメイン
31+
- インフラについてはITパスポートレベルの知識のみ
32+
33+
といったレベル感でそもそもAWSの知識も乏しく、インフラも詳しくありませんでした。
34+
35+
## 勉強時間について
36+
37+
基本的には平日は1日1時間、休日は2時間程度でテスト前日8時間と当日の朝に4時間
38+
といった形で良くはないですが所謂大学のテスト対策のようなカリキュラムで行なっておりました。
39+
40+
合計の勉強時間は40時間弱ほどです。
41+
電車や病院の待ち時間なども上手く活用しておりました。
42+
43+
どんな勉強法、学習ロードマップで取得したか気になりますよね?
44+
今回は**最短**でSAAを取得する学習ロードマップについて説明していきます。
45+
46+
## そもそもSAAって?
47+
48+
AWS Certified Solutions Architect – Associateの略称のことです。
49+
AWSの知識やスキルを認定する資格試験となっており、試験時間は130分で問題数は65問で選択式となっております。
50+
51+
内容としては以下の通りになります。
52+
|分野 |出題の比較 |
53+
|---|---|
54+
| セキュアなアーキテクチャの設計 |30%|
55+
|弾力性に優れたアーキテクチャの設計 |26% |
56+
|高パフォーマンスなアーキテクチャの設計 |24% |
57+
|コストを最適化したアーキテクチャの設計 |20% |
58+
|**合計** |**100%** |
59+
60+
## 学習ロードマップ
61+
62+
概要から説明します
63+
64+
1.何かしらの入門書を1週する
65+
2.Youtubeで学習する
66+
3.Cloud Techで問題集を解く
67+
4.Udemyで模擬問題集を解く
68+
69+
正直言って、**資格に合格する**という観点だけで見ればハンズオンの方は一切やる必要はありません😇
70+
ですが、知識だけのインプットを行なっても実務で役立てにくいかなと思うので
71+
業務でAWSを触る機会or予定がある方はハンズオンも並列して進めることをおすすめいたします。
72+
73+
自分は、資格勉強期間はハンズオンは極力せず(取得後にした)に
74+
勉強期間中はテストに出そうな部分は記事などにまとめてアウトプットするくらいでした。
75+
76+
https://qiita.com/kim_t0814/items/215e82f4873149db6f6b
77+
78+
### 1.何かしらの入門書を1週する
79+
80+
いきなり過去問を解いたとしても、そもそも問題文の単語の意味がわからなければ
81+
過去問を解き答え合わせをしても何の定着もしません。
82+
83+
自分はちょうどC02からC03の移行期間で受験したので下記の教材を使用いたしました。
84+
85+
https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88-%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88-%E6%94%B9%E8%A8%82%E7%AC%AC2%E7%89%88-NRI%E3%83%8D%E3%83%83%E3%83%88%E3%82%B3%E3%83%A0%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE/dp/4815607389/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3TWV9AZYBU9BA&keywords=saa+aws&qid=1681962485&sprefix=saa+aw%2Caps%2C163&sr=8-2
86+
87+
### 2.Youtubeで学習する
88+
89+
資格試験においても動画教材は自分的にはめちゃくちゃおすすめです。
90+
メリットとして
91+
92+
- 概要を網羅的に覚えることが出来る
93+
- 文字より音声込みの方が頭に入る(特に自分は)
94+
- 電車の移動時間中に学習しやすい
95+
96+
### Youtubeおすすめ教材
97+
98+
##### ・ AWS ソリューションアーキテクト アソシエイト試験 対策動画
99+
100+
<iframe width="560" height="315" src="https://www.youtube.com/embed/fsz6G45A4H4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
101+
102+
Udemyの講師でもあるMaruchinさんが無料で出しているYoutubeの教材になります。
103+
何本か他の動画も見ましたが、こちらの動画が **テストでよく出る範囲を網羅** しつつ **短時間(1時間50分弱)** で学習することができます。
104+
Udemyの講師だけあって、かなり分かりやすいです。
105+
テスト前日の復習にもおすすめです。
106+
107+
## 3.Cloud Techで問題集を解く
108+
109+
1と2を取り組んだら大体の基礎知識はついていると思います!
110+
自分はその後に、Cloud Techの問題を1~200まで3周ほどしました。
111+
112+
ポイントとしては1度に沢山解くというよりは、10問単位の小テスト形式にして9点数以上取るまでは
113+
次に進まないという形式を取っていました。
114+
115+
問題集の効率の良い学習方法はCloud Techの運営者である黒川さんの動画で詳しく説明されております。
116+
117+
<iframe width="560" height="315" src="https://www.youtube.com/embed/lJTh8n_q3Zw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
118+
119+
## 4.Udemyで模擬問題集を解く
120+
121+
【SAA-C03版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集(6回分390問)
122+
123+
https://www.udemy.com/course/aws-knan/
124+
125+
自分が受験した際はSAA-C02版での学習でしたが、C03に改訂後も変わらずおすすめとなっております!
126+
自分は演習試験の方を2-3往復ほどして、通常難易度の方は9割弱取れるようにして高難易度のものは
127+
8割ほど取れるようにしました。
128+
129+
正直、高難易度のものは**試験の本番よりも難しい**です。
130+
131+
テスト3日前に初見では4-5割ほどしか取れなかったので
132+
高難易度に関しては、初見で720点を切っても本番よりも難しいので諦めないでください!
133+
134+
## 最後に
135+
136+
今回は未経験の方やインフラの知識が無い方を対象にSAAの学習ロードマップを紹介しました。
137+
SAAはAWSの中で最も人気な資格ですし、インフラの知識が無い方でも勉強すれば取れる資格かなと思います。
138+
139+
最初のうちは殆どがわからない単語だらけなので、過去問を解く前に最低限のインプットすることも頭の片隅に置いておいてください。
140+
141+
SAAの勉強方法が分からない方の役に立てれば嬉しいです。
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
title: 【第1章】要求を仕様化する技術・表現する技術 【要件定義】
3+
tags:
4+
- 読書
5+
-
6+
- 設計
7+
- 仕様
8+
- 要件定義
9+
private: false
10+
updated_at: "2024-12-25T15:17:19+09:00"
11+
id: 07826324801ef80ca977
12+
organization_url_name: qiita-inc
13+
slide: false
14+
ignorePublish: false
15+
---
16+
17+
## はじめに
18+
19+
ここ最近、仕事で要件を考える、擦り合わせるという機会が増えてきており その重要性を改めて実感しています。
20+
21+
設計が決まっているものをただ、実装する能力は身についている一方 要件定義や仕様書作成の能力が まだ足りないと感じることが多かったので今回は備忘録として「要求を仕様化する技術・表現する技術」で自分が覚えておきたいポイントをまとめていきます。
22+
23+
殴り書きの側面が強いかもしれませんが、ご容赦ください。
24+
25+
## 第1章
26+
27+
大きなシステムでは、5000件を超えるようなバグが発生することもある。
28+
そのバグを修正するためには数万時間にも達するとのこと、時間にすると1人の作業員の10年分にも相当する。
29+
30+
ここで注目したいのは、バグの過半が、**要求仕様に関連するもの**ということ。
31+
32+
### 1.1 どこで問題が発生しているか?
33+
34+
- バグなどの "エラー" の原因プロセス
35+
- 5:3:2(仕様:設計:実装) の割合でプロセスエラーが発生している
36+
- 設計者テストが十分にできているところでは...
37+
- 7:2:1(仕様:設計:実装) の割合でプロセスエラーが発生している
38+
- 実装上の仕様を設計の中で決めていくという考え方を変える必要がある
39+
- 変えていかないと、派生開発での変更モレが起きる
40+
41+
自分のイメージだと、 3:3:4(仕様:設計:実装)の感覚でした。
42+
ここから見るに、要件定義が重要ということがよくわかると思います。
43+
44+
### 1.2 要件仕様のトラブルの実態
45+
46+
- トラブルのケースは以下のようなものがある
47+
- 要求していた仕様が実現していない
48+
- 途中で変更を指示した部分が十分に調整されていない
49+
- 仕様のモレが次々と発見されて、テストがまともに進まない
50+
- 仕様漏れ
51+
- 仕様として記述するのが漏れてたために、対応するソースコードが書かれなかった状態
52+
- 例えば...
53+
- 本来なら受け取ったところで、必要な項目をチェックして問題ないことを確かめてから使用すべきだったがされていなかった(チェックすることが仕様書に書かれていなかった)
54+
- そのまま数値を計算したところ累積データに異常な値が更新されてしまった
55+
- 解釈に違い
56+
- 単純な仕様漏れと比べて、複雑である
57+
- 例えば...
58+
- 顧客(要件を出す人)と設計者の間での解釈の違い
59+
- 設計者同士の認識の違い
60+
- 仕様の衝突
61+
- 個々の機能で必要または有効と考えられる仕様をすべて実現しようとすると、異なる機能のいくつかの仕様間で衝突するという状態
62+
- 早い段階で全体の仕様化を進めないと防げない
63+
64+
### 1.3 曖昧な状態で作業に入っている
65+
66+
- 構造が傷ついていく
67+
- 現場では、「納期に間に合わない」という圧力がかかる
68+
- 強引に送信のタイミングを遅らせたり、データをグローバルで参照したり
69+
- 結果、プログラムの構造が崩れていく
70+
- 潜在バグの意味
71+
- 潜在バグとは、今回自分が埋め込んだバグではない、前の人が埋め込んで発見されないままになっていたのを"たまたま" 自分が掘り出してしまった
72+
- 潜在バグとして、分類した瞬間原因を踏み込んで探すことがなくなってしまう
73+
- 次の担当者に向けた潜在バグを**仕込む** ことになる
74+
75+
### 1.4 顧客からの仕様変更
76+
77+
- 仕様の変更率が **50%** を超える組織もある
78+
- 設計者がプログラムのコーディングを進めていく中で仕様な曖昧な箇所に遭遇
79+
- そこで、依頼者に質問メールや確認のメールを発して仕様変更へ...
80+
- 最後になって機能に制限がつく
81+
- 担当者も、ソースコードには「具体的な仕様」が必要になり、「具体的な仕様を見つける目」になっている
82+
83+
### 1.5 要求した機能を満たしていない
84+
85+
- 要求を満たさない最大の理由
86+
- 1.「要件仕様書」が「仕様」といえるレベルに達していない
87+
- 2.完成品として含まれるべき 「品質要求」も記述されていない
88+
- 3.関係者が、その不十分さに気づくためのスキルを持ち合わせていないこと
89+
90+
関係者が、仕様書の不十分さに気づかない、仕様と呼ばれるレベルに達していないことはよくある事象ですね。
91+
92+
### 1.6 納期の遅れとなって表面化する
93+
94+
- 要件の仕様化が不十分だと、"予定通り"に設計工程に入っても何をやれば良いかわからない
95+
- 結果として、**設計作業** が進まなくなる
96+
- 何度も作り直している
97+
- 仕様には設計方法を `誘導`する力がある
98+
- 仕様によって設計する際のデータ構造の選択や処理方法が決まっていく
99+
100+
### 1.7 品質要求に応えられないSE
101+
102+
- 保守性要求に居直るソフト会社
103+
- 「品質要求」を加えた顧客に対して、追加で料金をもらおうとする
104+
- 家を建てる際に、`使いやすさ`を要求して追加料金を請求された
105+
- それでいてコピペで3000行にも達するプログラムを平気で作ってしまう...
106+
- 品質要求を課さなかった発注側にも責任はある
107+
108+
### 1.8 派生開発での仕様トラブル
109+
110+
- 派生開発はトラブルが多い
111+
- 逆にいうと、派生開発の中でこそ、**要求の捉え方と仕様化の能力が試される**
112+
- ソースから仕様を理解できるか
113+
- 人のソースコードを読んで、要求の具現化の様子や設計の理解には、相当の修練と適切な経験が必要c
114+
- 変更要求(仕様)が表現されていない
115+
116+
### 1.9 設計書が省かれてしまう原因になっている
117+
118+
- 要求仕様書がうまく書かれない原因
119+
- 「適切な設計書」が書かれていない
120+
- 設計レベルの仕様と混同
121+
- 「設計仕様書」として書かれている
122+
- 設計書に仕様が捕捉されている
123+
- 仕様書と呼ばれるものが複数ある
124+
125+
## まとめ
126+
127+
いかがでしたでしょうか。
128+
129+
「仕様のモレが次々と発見されて、テストがまともに進まない」 というのは、皆さんもあるのではないでしょうか。
130+
131+
自分も直近のプロジェクトで、要件定義が甘かったために、後戻りが多くなり、実装が進まないという状況になってしまいました。
132+
特に、仕様を決めた後に実装を進めてる最中に仕様が曖昧なところを見つける(見つけてもらう)という部分に近いこともありこの本の内容は非常に役立ちそうだと感じました。
133+
134+
単純に実装するスキルもそうですが、自分のためも兼ねて2章以降もまとめていきたいと思います。
135+
136+
## 参照
137+
138+
https://gihyo.jp/book/2010/978-4-7741-4257-9

0 commit comments

Comments
 (0)