きり丸の技術日記

技術・エンジニアのイベント・資格等はこちらにまとめる予定です

PlayWrightで動かしているシナリオを動画で記録する

公式ヘルプに設定方法は載っているので、この記事で知れることは「PlayWrightで動画を撮影できる」というのがこの記事の最大の目玉です。

環境

  • PlayWright
    • 1.12.1

対応

new_contextのパラメータにビデオ用のディレクトリを設定するだけです。new_contextしてから、closeするまでの処理を記録してくれます。

なお、PlayWrightを動かす言語によって設定パラメータ名がかなり違うので、公式で再確認してください。

# 撮影開始
context = browser.new_context(
    record_video_dir="videos/", # ビデオの保存ディレクトリ
    record_video_size={"width": 640, "height": 480} # ビデオの画面の大きさ(オプション)
)

# 撮影終了
context.close()

Node.js

const context = await browser.newContext({
  recordVideo: {
    dir: 'videos/',
    size: { width: 640, height: 480 },
  }
});

Python

context = browser.new_context(
    record_video_dir="videos/", 
    record_video_size={"width": 640, "height": 480} 
)

Java

BrowserContext context = browser.newContext(new Browser.NewContextOptions()
  .setRecordVideoDir(Paths.get("videos/"))
  .setRecordVideoSize(640, 480));

.NET

var context = await browser.NewContextAsync(new BrowserNewContextOptions
{
    RecordVideoDir = "videos/",
    RecordVideoSize = new RecordVideoSize() { Width = 640, Height = 480 }
});

終わりに

プラグイン等で動画も取得できるだろう、とは思っていましたが、デフォルトの機能に含まれているのがいいですね。

公式に全て書いてありますが、全てのページに目を通すのはつらいので、この記事がその一助になればと思います。


この記事お役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。

参考記事

f:id:nainaistar:20210826224221p:plain

SpringのAssertクラスで簡単にValidationする【Java】

この記事はAssertクラスを紹介するだけの小ネタです。


Springには、Assertクラスという簡単にValidationしてくれるようなクラスがあります。複雑なことはできませんが、サクっとメソッドのパラメータを検証したい時は便利です。なお、複雑なことをしたければ、Apache Commons Langのorg.apache.commons.lang3.Validate, Google Guavaの Preconditions等のサードパーティを使うようにとAssertクラスのJavaDocに記載されています。

環境

  • Java
    • 15
  • org.springframework.boot
    • 2.4.5

使い方

org.springframework.utilパッケージのAssertクラスを使います。

色々とメソッドはありますが、state(boolean expression , String message)以外は特に使わないと思うので、紹介しません。第一引数に条件、第二引数にエラーメッセージを指定します。

内部的な処理はこれだけです。

public static void state(boolean expression, String message) {
  if (!expression) {
    throw new IllegalStateException(message);
  }
}

今回はnullチェックだけ行っていますが、数値の範囲指定や最大値等のチェックも行うことができます。

// 自作メソッド
public static void notNullValidate(Object obj) {
  Assert.state(obj != null, "param is null");
}

エラーメッセージを修正することができるので、細かくアレンジすることができます。

java.lang.IllegalStateException: param is null

    at org.springframework.util.Assert.state(Assert.java:76)
    at kirimaru.biz.domain.AssertPractice.notNullValidate(AssertPractice.java:13

ソースコード

終わりに

正直、小ネタも小ネタです。このメソッドを知らなくても、簡単にハンドリングできますからね。

Objects.requireNonNull()だとNullPointerExceptionが発生して、意図的なエラーか意図していないエラーかが分かりません。Assert.state()だとIllegalStateExceptionですので、そこの使い分けができるかもしれません。

アプリケーションの起動時のチェックとして使用すると、良いと思います。もし、アプリケーションの起動時チェックとして扱いたい時は、こちらの記事も参考にしてください。


この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。

類似記事

f:id:nainaistar:20210611000203p:plain

GCPのACE(Associate Cloud Engineer)の合格記

掲題のとおり、Google Cloud PlatformのAssociate Cloud Engineerを受験し、合格したので合格記を記します。

前提

合格日

  • 2021年10月01日(土)
    • 受験日は前日の2021年09月30日(金)

合格した時の点数

不明。自信はなかったので、かなりぎりぎりだったと思われる。

普段、テストセンターでは受験直後に点数を印刷してもらったり、画面で点数表示してもらっていました。しかし、GCPの試験では試験終了時にテストセンターの人に入力してもらう項目があり、入力後画面上に点数が出力されるらしいのですが、それを観る前に退室してしまいました。

もし、同様にGCPの試験をテストセンターで受ける人は退室前にテストセンターの人を呼んで、結果を確認してから退出しましょう。

どんな試験か

公式引用。

Associate Cloud Engineer は、アプリケーションのデプロイ、オペレーションのモニタリング、エンタープライズ ソリューションの管理を行います。Google Cloud Console とコマンドライン インターフェースを使用してプラットフォームベースの一般的なタスクを実行し、Google Cloud 上の Google マネージド サービスまたはセルフマネージド サービスを利用してデプロイされたソリューション管理できるようになります。

Associate Cloud Engineer 認定試験では、以下に関する能力が評価されます。

- クラウド ソリューション環境の設定
- クラウド ソリューションの計画と構成
- クラウド ソリューションのデプロイと実装
- クラウド ソリューションの安定稼働の実現
- アクセスとセキュリティの構成
分野 試験における比重
公式では発表されていない

https://cloud.google.com/certification/guides/cloud-engineer

公式ページ

cloud.google.com

受験料

受験料金:$125(税込)

ドルなのでレートに寄ります。私の場合は14,172円でした。領収書も$125ですので、会社が受験料を負担してくれる場合は、提出物について確認したほうがよいかもしれません。

受験会場

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

ただし、Kryterionに対応しているテストセンターがかなり少ないので、地方で受験したい方は最寄りのテストセンターを確認しましょう。現時点(2021/10/03)では、全国で15箇所、うち7箇所が東京です。

自宅での受験はできるようでしたが、回線問題と環境問題に不安があったので、テストセンターで受験しました。

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

  • 問題数
    • 50問
  • 出題形式
    • 択一選択問題
      • 複数の選択肢から1つの正答を選びます
  • 試験時間
    • 120分

選択問題ですので、試験時間よりも早く終わります。とはいえ、個人的に難しい内容だったので70分くらいかかりました。

出題範囲

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

難易度

範囲が広い、参考になる模擬試験がなかったり、個人的には難易度は高かったです。

ドキュメント自体は公式で大量に用意されているので、試験範囲を確認しつつ、全部読むべきです。細かいIAMロールを覚えていなかったので、かなり悩みました。

かなり実務的な試験内容で、「最小の手順・金額で実現する方法は何でしょう」「Aをしたい場合、何をすればよいでしょうか」等々のちゃんとGCPを使っていないと、思いつかないような試験問題です。

一方で、クラウドで運用しているのに手動の処理手順が選択肢に出てきたりしました。自信をもって除外できる選択肢もありますので、諦めずに問題文は読んでおきましょう。

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

勉強時間:1ヵ月(30時間)。

ドキュメント自体は充実しているのですが、インフラが苦手なので十分に準備しました。

正直、AzureもAWSもそうなんですけど、サービス名と機能を持っているのかが分かりづらいので、1度ハマると苦労します。BigTableBigQueryの違い等々。

ただし、AzureやAWSと比べるとGCPはサービス名が素直な名前ですので、大まかな機能についてはすぐに理解できます。

公式ドキュメント

量は多いですが、丁寧なドキュメントですので1回は読んでおいた方がよいです。

https://cloud.google.com/docs?hl=ja

公式模擬試験

公式に出している模擬試験も受けるとよいです。ただし、あくまでも模擬試験ですので、実際の試験問題よりはかなり簡単です。公式模擬試験と同じ問題は出なかったので、問題を暗記するためではなく、知識を付けるために受けましょう。

https://cloud.google.com/certification/sample-questions/cloud-engineer?hl=ja

他者の合格記

どんな勉強をしたかという点が書いてあって非常にためになりました。

Udemy

こちらのUdemyで模擬試験を受けていました。ただし、参考にしていた合格記にもありますが、コマンドを問う問題は実際の試験では少なかったので知識をつけるために勉強しましょう。

ハンズオン

知識を確実につけるために、ハンズオンを利用して手を動かすと良いです。

直接ACEの知識を教えてくれるわけではありませんが、非常にためになります。

https://cloud.google.com/certification/cloud-engineer?hl=ja

試験対策本

「Google Cloud認定資格Associate Cloud Engineer公式ガイド」を買って読んでいました。

600ページ弱もあって、値段相応のページ数はあります。試験対策問題も大量に載っていて、役に立ちました。

ただし、値段相応の価値があったかといわれると怪しいので、買わなくてもよかったかもしれません。解説は公式ドキュメントの方が最新ですので、あくまで試験問題対策の部分だけを読めば十分です。

合格資格へのリンク

こちらのリンクで私の資格リンクへと遷移できます。

https://googlecloudcertified.credential.net/profile/965ccbfde4ca4f96a96901ccd7ba56fd42c87c42

終わりに

GCPのACEをもって、Azure、AWSも含めたクラウドの基礎ベンダー資格を得られました。(ACEはAssociateレベルですので、基礎ではありませんが)

今後も粛々と資格を狙っていき、自分の能力を高めていきたいです。


この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。

類似情報

f:id:nainaistar:20211003223842p:plain