きり丸の技術日記

技術検証したり、資格等をここに残していきます。

Pythonの辞書型の値がNoneならキーを削除する(value-is-none-so-remove-key-in-Python-dictionary)

辞書型の値がNoneの場合に、キーを削除したいことがあったので残します。

前提

  • Python
    • 3.11

対応

辞書型の値がNoneのとき、キーを削除するのは次のコードです。

{k: v for k, v in dict.items() if v is not None}
dict = {"a": "1", "b": "2", "c": None}
all_key_has_value_dict = {k: v for k, v in dict.items() if v is not None}
# {"a": "1", "b": "2"}

ソースコード

終わりに

小ネタですが地味に使う場面があったので残します。これを使うに至ったユースケースについては、別の記事にします。

参考情報

AWS 認定ソリューションアーキテクト(AWS SAA-C03)の合格記

掲題のとおり、AWS認定ソリューションアーキテクト(SAA-C03)を受験し、合格したので合格記を記します。

前提

  • AWSは本業でほぼ使ったことがない
    • 副業で使ってはいるが、基本的にAWSにログインして操作することはない

合格日

  • 2023年03月30日(木)

合格した時の点数

786点。

合計1000点、合格ラインは720点です。3-4問ほど余力を持って合格できたようです。

どんな試験か

公式引用。

AWS 認定ソリューションアーキテクト – アソシエイトは、幅広い AWS のサービスにわたる AWS テクノロジーに関する知識とスキルを示します。この認定の焦点は、コストとパフォーマンスが最適化されたソリューションの設計にあり、AWS Well-Architected フレームワークに関する深い理解を示します。この認定は、認定された個人のキャリアプロファイルと収益を向上させ、利害関係者やお客様とのやり取りにおける信頼性と自信を高めます。

この試験では、コーディングの深い実務経験は必要ありませんが、基本的なプログラミングの概念に精通していると有利です。

分野 試験における比重
セキュアなアーキテクチャの設計 30%
弾力性に優れたアーキテクチャの設計 26%
高性能アーキテクチャの設計 24%
コストを最適化したアーキテクチャの設計 20%

試験ガイドから取得。

公式ページ

https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/

受験料

受験料金:16,500円(税込)

公式の金額自体は150 USDとなっていますが、特に為替レートによる影響は受けません。

また、2023年04月17日までは再受験無料キャンペーンがあります。

受験会場

ピアソンVUEに対応している全国のテストセンターにて通年オンサイト監視試験が可能です。オンラインでの受験も可能です。

問題数/出題形式/試験時間

  • 問題数
    • 65問
      • 正確には採点対象が50問、採点対象外が15問のようです
  • 出題形式

    • 択一選択問題
      • 複数の選択肢から1つの正答を選びます
    • 複数選択問題
      • 5つ以上の選択肢のうち正答を2つ以上を選びます。試験問題サンプルでは選択数も提示していますので、その点は優しい試験となっています
  • 試験時間

    • 130分

1問あたり1分弱かかったので、1時間くらいで退席しました。

単純な機能名を答える問題は非常に少なく、実践的なユースケースを元に選択すべきソリューションを提示する必要があります。

出題範囲

公式ページを参考にしてください。

難易度

合格に向けた勉強時間と対策

勉強時間:3週間。

60時間くらいかけています。2年前にAWS CLFも合格しているので、機能名に関してはおおよそ覚えていました。しかしAWS CLFよりも深く理解をしないといけない点や、AWS SAA-C03で試験問題が改定されたことも相まって、基本的には覚え直しました。

公式サンプル問題

公式にサンプル問題が記載されています。

サンプル問題を解いているYouTube等々も確認しました。

Udemy

基本的にはUdemyをメインに勉強していました。

短期突破講座で主要な機能を抑えてから、模擬試験問題集を解きました。特にネットワーク関連は構成図を抑えたのちに、それぞれの機能の解説がないと覚えられませんでした。

Ping-t

IT試験学習サイトで一番お世話になりました。他のAWS学習サイトが多すぎて検索上位には上がってきませんが、ネットワーク構成図や備考をつけてくれるので、知識の補完がしやすかったです。

終わりに

AWS CLFのインフラ知識が無くて苦労したときに比べたら覚えやすかったです。しかし、中級試験だけあって実践的な内容が多いので苦労しました。正直なところ、自分でインフラを構築する時に本当に適切かどうかという観点は難しいので、AWSをたくさん使うようになったらSAPの受験も見据えて頑張りたいと思います。

類似情報

Dockerfileを静的解析できるhadolintを使う(Haskell Docker Linter)

Dockerfileを静的解析できるhadolint(Haskell Docker Linter)を使ってみました。詳細は公式やほかの方のブログを見てください。

環境

  • 20230312時点

対応

Dockerfileが存在するディレクトリで、次のコマンドを実行するとDockerfileに対してlintをかけられます。

docker run --rm -i hadolint/hadolint < Dockerfile

GitHub Actionsもあるため、次の使い方でlintをかけられます。

- uses: hadolint/hadolint-action@v3.1.0
  with:
    dockerfile: Dockerfile

ソースコード

終わりに

カスタマイズもできるのですが自分が活用しているDockerfileがシンプルだったのか、特に修正箇所もなかったのでかなり薄い記事になっています。

自分が使用しているDockerfileについてベストプラクティスに従っているかどうかを確認したい場合は、簡単に使用できるので確認してみてはいかがでしょうか。

参考情報