AWS認定DevOpsエンジニア プロフェッショナル(DOP-C01)に合格した話

結果

f:id:chitans:20210110004730j:plain

学習期間

約1ヶ月

教材

  1. 先人たちの合格ブログ
  2. Black Belt Online資料FAQ
    1. AWS Elastic Beanstalk
    2. Auto Scaling
    3. AWS Code Services
    4. AWS Code Services 2
    5. AWS Cloud Formation
    6. AWS Cloud Formation deep dive
    7. AWS CodeCommit & CodeArtifact
    8. AWS CodeStar & CodePipeline
    9. AWS CodeBuild
    10. AWS OpsWorks
  3. ホワイトペーパー
    1. Infrastructure as Code
    2. AWSモダンアプリケーション開発
  4. 練習問題
    1. サンプル問題
    2. 模擬試験(有料)
  5. eラーニング
    1. Exam Readiness: AWS Certified DevOps Engineer – Professional (Japanese)(無料):この中に練習問題あり
    2. Udemy: AWS認定 DevOpsエンジニア – プロフェッショナル (DOP-C01) 模擬試験 (2020年試験対応版)
    3. Udemy: Practice Exam | AWS Certified DevOps Engineer Professional
    4. Udemy: AWS Certified DevOps Engineer Professional Practice Exams

進め方

Step0

前回、セキュリティ専門知識を取得しましたので、今回はその続きです。DevOpsの出題範囲にもなっているセキュリティ(IAM / Trust Advisor / Config等)とロギングや監視周辺(Cloud Watch Logs/Event等)については習得済みとしてその他の分野を学習しました。また、今回は資料を読み込む形式ではなくひたすら問題を解くことで進めました。

Step1

まずは先人たちの合格ブログを読みます。SAPよりは解きやすい問題が出るようで少し安心します。

Step2

Black Beltとホワイトペッパーにざっと目を通します。問題中心に学習を進めますのでキーワードとポイントだけを拾っていく感じです。細かいところは問題を解きながら再確認します。

Step3

ここからはひたすら問題を解きます。Udemyセール時に購入したので最安値で購入することができました。10問解いては解答を確認し、また10問解いて解答を確認し、、という感じで同じ問題を3〜4回はやりました。徐々に問題を読まなくても正解の選択肢を見つけられてしまうようになるのですが、不正解選択肢の中で気になったキーワードや表現を見つけたら、そこを調べるようにします。問題を覚えるというよりは、内容を理解するようなイメージです。

所感

  • 全体を通してノートは取った方が良いと思います。私はiPadを使いましたが、試験直前やちょっとした空き時間に読むことができるので便利です。
  • AWSの認定試験なのでAWSサービスが中心ですが、gitのブランチ戦略やJenkinsの運用周りも出題されますので馴染みのない方は確認しておいた方が良いです。
  • Udemyの教材は非常に役に立ちました。英語問題の方はChromeの翻訳機能を使えば、日本語で理解できますのでおすすめです。

最後に

DevOpsはSAPと並ぶPro資格となっていますので、細かい部分やマニアックな内容を問われるケースもありますが、全問正解をめざす試験ではないので見たことがない内容が出題されても慌てず、直感で解答して次に進めば良いと思います。このエントリーを読まれた方が合格できますように。

AWS認定セキュリティ専門知識(SCS-C01)に合格した話

結果

f:id:chitans:20201127205634j:plain

学習期間

約2ヶ月

教材

  1. 先人たちの合格ブログ
  2. 書籍
    1. 要点整理から攻略する『AWS認定 セキュリティ-専門知識』:この中に練習問題あり
    2. AWSの薄い本 IAMのマニアックな話
    3. AWSの薄い本Ⅱ アカウントセキュリティのベーシックセオリー
  3. Black Belt Online資料FAQ
    1. AWS Shield
    2. Amazon GuardDuty
    3. AWS Trusted Advisor
    4. AWS Direct Connect
    5. AWS Key Management Service
    6. AWS Well-Architected Framework
    7. AWS Certificate Manager
    8. AWS IAM part1, part2
    9. Amazon VPC
    10. Amazon CloudWatch
    11. AWS Config
    12. AWS CloudTrail & AWS Config
    13. AWS Cloud HSM
    14. AWS Transit GateWay
    15. AWS System Manager
    16. AWS WAF
    17. Amazon Cognito
    18. AWSアカウント シングルサインオンの設計と運用
    19. Amazon Macie
  4. ホワイトペーパー
    1. アマゾンウェブサービス セキュリティプロセスの概要
    2. AWSセキュリティのベストプラクティス
    3. AWS Well-Architectedフレームワーク
    4. AWS Key Management Serviceのベストプラクティス
    5. DDoSに対するAWSのベストプラクティス
  5. 練習問題
    1. サンプル問題
    2. 模擬試験(有料)
  6. eラーニング
    1. AWS Security Fundamentals (Second Edition) (Japanese) (無料)
    2. Exam Readiness: AWS Certified Security - Specialty (Japanese) (無料):この中に練習問題あり

進め方

Step1

先人たちの合格ブログを読み、試験の雰囲気、難易度、受験までの流れ、学習時間、ざっくりとしたキーワード等を理解し、全体の概要を掴むようにしました。

Step2

2-1の市販本で試験範囲のサービスをざっくり把握しました。初見のサービスが多く、今思えば1回目に読んだ時はほとんど理解できていなかったなぁと思いますが、理解した気分になることが重要だと思います。巻末に練習問題がついていますが、この時点ではまだ実施しませんでした。

Step3

ここからが本番です。試験範囲のサービスのBlack Belt資料を読んでいきました。私は動画を見ながらでしたが、ひとつのサービスにつき約1時間の動画になっているので、時間のない方は資料だけで学習を進めても良いかもしれません。

Step4

ここで練習問題に取りかかりました。無料のサンプル問題集と2-1の市販本の問題を解きながらその周辺知識を補っていくイメージです。合ってる間違ってるは気にせず、答えだけでなく周辺知識を獲得するように意識しました。不明瞭なところはAWSのユーザガイドや個人のブログ等を参考にしました。

Step5

有料の模擬試験を受けました。結果は散々でしたが、画面キャプチャをとって後で復習できるようにしました。

Step6

AWS認定サイトに2つの無料のeラーニングがあることに気付き、このタイミングで学習しましたが、もっと早い段階で見た方が良いと思います。eラーニング内の練習問題はとても役に立ちました。

Step7

ここからは市販本、Black Belt資料、ホワイトペーパー、FAQ、各種練習問題を時間のある限り繰り返し読み記憶に残るように努力しました。2-1の市販本は5,6回は読みましたし、主要サービスのBlack Belt資料は3,4回は読みました。ユーザーガイドを最初から最後まで読むのは辛いので、リファレンス的に使用しました。合わせて、AWSの薄い本2冊も読みました。

所感

  • 全体を通してノートは取った方が良いと思います。私はiPadを使いましたが、試験直前やちょっとした空き時間に読むことができるので便利です。
  • 本番試験は、個別のサービス内容を問われるというより、トラブル事例や複数サービスが関係する問題が多いように感じました。各サービスの内容はもちろん把握する必要がありますが、各サービスの関連性を意識しながら学習を進めることが大切だと感じました。

最後に

セキュリティは範囲が広い試験だと思いますが、ゆっくりひとつずつ取り組むと自然と関連性が見えてきますので、焦らずじっくり進める方が良いと思います。このエントリーを読まれた方が合格できますように。

Vue.js : v-forはkeyが必要

Vue.jsの繰り返し構文v-forを以下のように書いたらエラーになりました。

<li v-for="(item, key) in items">

エラーメッセージはこんな感じ。

Elements in iteration expect to have 'v-bind:key' directives

どうやら、v-bind属性が必要のようです。こんな感じに修正したら動いてくれました。

<li v-for="(item, key, index) in items" v-bind:key="index">

XcodeからGitHubにアクセスするとリジェクトされる

Xcode(10.1)からGitHubにアクセスしたとき、

Authentication failed because the credentials were rejected

というエラーが発生しました。 ssh-keygenコマンドは以下のように実行しましたがこれが間違いだったようです。

$ ssh-keygen -t rsa

以下のように鍵を再作成したら、アクセスできるようになりました。PEMとして作成する必要があるようです。

$ ssh-keygen -t rsa -m PEM

macOS Mojaveで常に半角スペースを入力できるようにする

  1. Mac起動時にリンゴマークが出るまで「command + R」を押し続ける。

  2. 言語選択画面が出たら「日本語」を選択する。

  3. 画面が出たら、メニューの「ユーティリティ」→「ターミナル」を選択する。

  4. 以下のコマンドを入力し再起動する。

    $ csrutil disable
    $ reboot

  5. 通常通り起動するので、ターミナルを開き、まずは目的のディレクトリまで移動する。

    $ cd /System/Library/Input\ Methods/JapaneseIM.app/Contents/PlugIns/JapaneseIM.appex/Contents/Resources/

  6. KeySetting_Default.plistが編集ファイルなので、念の為バックアップを取っておく。

    $ cp KeySetting_Default.plist ~/

  7. vimでKeySetting_Default.plistを開く。

    $ sudo vim KeySetting_Default.plist

  8. 14行目の以下の記述を削除する。

    <string>contextual_space</string>

  9. 削除した場所に以下を追加する。

    <string>direct_input</string>
    <key>character</key>
    <string> </string>

  10. 同様に19行目を削除する。

    <string>contextual_space_reverse</string>

  11. 削除した場所に以下を記述する。

    <string>direct_input</string>
    <key>character</key>
    <string> </string>

  12. 以下のコマンドで設定を反映させる。そして動作確認。アルファベット入力/日本語入力関係なく、スペースを押すと半角スペース、シフト+スペースで全角スペースが入力できればOK。

    $ killall JapaneseIM

  13. 最初と同じように「command + R」で起動、ターミナルから以下のコマンドを実行する。

    $ csrutil enable
    $ reboot

Xcode6でUIWebViewを画面サイズぴったりで表示する

Xcode6でStory Boardを使ってUIWebViewを中央に配置しそのままのレイアウトで実行すると残念な感じになります。

f:id:chitans:20141214215704p:plain

上側はステータスバーに重なり、右側ははみ出し、下側は足りない...これを綺麗に画面に収まるようにします。

まずは、Constraintsの設定をします。下図のように上下左右にConstraintsを張り、上側だけ20(ステータスバーの分だけずらす)、その他は0に設定します。左右を −16に設定して調整する方法もありますが、長さがマイナスというのは気持ちが悪ので、ここではゼロに設定し、Add 4 Constraintsを押します。

f:id:chitans:20141214220421p:plain

これで実行してみます。

f:id:chitans:20141214220544p:plain

左右に16ピクセルのマージンが空いています。次はこの部分を調整します。

Document Outlineを開き、WebViewの下のConstraintsを開きます。

f:id:chitans:20141214221050p:plain

「Horizontal Space - View - Web View」を選択し、Attributes Inspectorを表示し、「 First Item」の「Relative to margin」のチェックを外します。

f:id:chitans:20141214221239p:plain

同様に、「Horizontal Space - Web View - View」を選択し、「Second Item」「のRelative to margin」のチェックを外します。

f:id:chitans:20141214221731p:plain

そして、実行すると、UIWebViewの上下左右が画面サイズぴったりになります。

f:id:chitans:20141214221456p:plain

ちなみにUIWebViewにAppleのサイトを表示するコードはこんな感じです。

- (void)viewDidLoad {
    [super viewDidLoad];
    NSURL *url = [NSURL URLWithString:@"http://www.apple.com/"];
    NSURLRequest *urlReq = [NSURLRequest requestWithURL:url];
    [_webview loadRequest:urlReq];
}