Halcyon Days

海のように穏やかに生きたい

AWS Cloud Practitionerを取得したので勉強と反省点まとめ

先日AWS Cloud Practitionerを取得しました。

 

748点とめちゃくちゃ低い点数での合格だったのですが、まぁ受かったんで許してください。

 

正直、受かると思っていなかったので試験終わって「合格」の文字が出た時は思わずガッツポーズしました。

 

よかったよかった。

 

さて、前置きはここまでにして、合格までに何をしたか、何がいけなかったかなどをまとめておこうと思います。

 

やったこと

やったことは以下の通りです。

学習期間はだいたい2週間くらいでした。毎日の通勤の時間(往復2時間)と寝る前1時間くらいの勉強でした。休日は3時間くらい?

 

まずはSkill Builderと教科書で知識を頭に入れ、問題集をひたすら解く、という王道の方法でした。

 

どうしても覚えられないものだけAnkiに入れて復習していました。

 

最後の方は覚えることができたのですが、もっと効率的にできたよなぁと思います。

 

反省点

では、ここから反省点です。

 

多くの人がやっていた「Udemyの問題集を解いて答えを読む」が合わなかった

問題集を解いた人はわかるかもしれませんが、解答を見られるのは全部解き終えてからです。

それが本当に合いませんでした。

問題文を再度読む必要があるし、どうしてこの選択肢を選んだかを思い出さなければならないからです。

ITパスポートや基本情報なのでよく使われる「過去問道場」のようなすぐ答えが見られるような形式の方が自分にはあっているなと思いました。

 

Ankiの作成に時間をかけすぎた

「解く→答えを見る」というフローを作りたかったのでAnkiを使うことにしました。

しかし、Ankiの作成って案外時間がかかるのです。

土日の貴重な時間を作成に費やしてしまったのは本当に失敗でした。

「作成して満足」みたいな感じにもなっていましたから。

Ankiは回してからが本当のスタートです。

 

電車の中は意外と集中力が削がれる

騒音や他人の会話、通過駅への意識など、様々な要因で集中力が削がれました。

Ankiのようなフラッシュカードを回したり、動画見たりするにはいいかもしれませんが、問題を解くみたいな集中力が必要なタスクには不向きですね。

 

改善点

次はDeveloperを受験します(AssociateコンプリートとDevOps取得が目標)。

 

正直、もっと効率よく合格できると思います。

そのためには今回の反省を活かさねば〜と思ったのでやり方を変えてみました。

 

Udemyを一問一答みたいにした

「天才かよ」ってやり方をしていた方がいたので真似させていただきました(記事が削除されてしまったっぽい)。

 

やり方は簡単。

 

アプリとウインドウでUdemyを2つ開きます。

ひとつは問題を、もうひとつは答えを開きます。

解答したら答えを見る。

 

それだけです。

このやり方を知った時は「なぜ思いつかなかったんだ……」と感じました。

 

この方法のいいところは、反省点をカバーできる以外に、これから解く問題でアウトプットができるということ。

 

例えば、1問目の解答で読んだ知識を10問目の解答に活かせるみたいな感じです。

 

問題集の中でインプットとアウトプットができるようになるのがいいなと思いました。

 

UdemyじゃなくてTechStockでもいいなと思った

TechStockというWeb問題集を使うと、わざわざUdemyを2つ開くという力技( )をしなくてもよくなります。

 

https://cloud-license.com/

 

90日間で4500円くらいの料金で様々な認定試験問題の解くことができます。

 

Udemyで試験ごとに2000円で問題集を買うより、こちらの方がお得だと思います。

 

90日間という縛りはありますが、3ヶ月で必要なものだけとって仕舞えばいいのですから。

 

以上、もっと効率的にやれたなってお話でした。

 

次回も頑張ろう〜〜〜。

はじめて参加したカンファレンスは新しい領域との出会いの場だった

こんにちはしょまです。

 

2024年4月13日に開催されたPHPカンファレンス小田原に参加してきました〜!

 

phpcon-odawara.jp

 

初カンファレンス参加ということもありどきどきでした。

そもそもPHP歴もエンジニア歴も短かったので、行ってもためになることがあるのかとめちゃくちゃ不安だったからです。

 

知識もないから行っても楽しいのだろうか、と。

 

参加されるのは社会の前線で活躍されている方々ばかりだから、ひよっこの自分がばかにされるんじゃないか、と。

 

こんな感情を抱えながら参加しました。

 

参加しなきゃわからないことばかり!!

f:id:Hal40n:20240414162322j:image

 

結論、参加してよかったです!!!

 

めーちゃくちゃ良かった!

 

エンジニアとして活動していくモチベーション上がったし、CSもっと勉強しようと音持ったし、次はLTやりたいし、もういろんなことを思いました。

 

もっと頑張ろうって思えたことが一番良かったです。

 

最近、少しモチベーションが下がり気味(どの道に進むか迷子になっていたから)だったので、そのモチベーションが再び上がり気味になりました。

 

特にSRE分野との出会いが大きかったです。

 

SREとの出会い

私が所属している部は親切の部で、全く制度が整っていません。

コーディングや運用規約、システムの利用基準など、様々なものが決められていない状態です。

 

まだ入って間もないですが、僕自身、そのような状態がとても気持ち悪いと思ってしまうので、どうにかしてやろうと考えていました。

 

もっと開発や運用がしやすい環境にできれば、自分もメンバーも楽しく開発できるのではないかと。

 

そのような思いを抱えている中で、Shotaさん横山さんのSREに関するセッションを拝聴して、

 

「あ、自分のやりたいことってこれだ」

 

とほぼ直感で思いました。

 

深い霧がぱっと晴れた、そんな感じでした。

 

Shotaさんのセッションで運用の具体例を知ってワクワクして、その後の横山さんのセッションで類型を知ってもっと調べたいと思ったので、

 

この順番にしてくれた運営の皆さんは神か? と思ってます。

 

本当にありがとうございます……。

 

少しずつSREについて調べて、社内で実施していきたいと思っています。

まずは一歩前進した気がします。

 

Shotaさんのプレゼン資料

PHPカンファレンス小田原2024 - Speaker Deck

 

横山さんのプレゼン資料

SREとその組織類型 - Speaker Deck

 

素敵なカンファレンスありがとうございました!

企画してくれたあすみさん、

そして運営をしてくださった皆様、

他の参加者の皆様

本当にありがとうございました!!

 

めちゃくちゃいい1日でした!!

 

もっと知識をつけて、

エンジニアの友達作って一緒に参加したら

 

もっと楽しいだろうなと思ったので、

 

来年は誰か一緒にいきましょう。

ぜひ。

 

楽しかった〜〜!!!

 

余談

久々に海見て、花見もしてきた。

f:id:Hal40n:20240414162352j:image

f:id:Hal40n:20240414162418j:image

Obsidian_to_Ankiでフラッシュカードを作成するためのプロンプト

Obsidian_to_AnkiとNotion AIを組み合わせて爆速でフラッシュカードを大量に作成するためのプロンプトを作りました。

 

 

実行環境

Obsidian
Obsidian_to_Anki
Notion AI
Anki
AnkiConnect

生成AIであればなんでもいいと思います。

学習内容をNotionのページにまとめる→学習の最後にページの内容を基にフラッシュカードを作成
というフローを踏みたかったので、Notion AIがベストでした。

作成したプロンプト

あなたはAWSの問題の作成者です。
下記の仕様に従って、このページ内の内容を基に{ ここに作成したい認定テストの名称を入力 }版の問題を作ってください。

# 仕様
- 問題は下記の「問題の形式」に従って作成する
- 難易度は基礎的なものから難しいものまで幅広く作成する
- ページ内の内容を理解できるような問題を作成する
- 作成した問題はフラッシュカードとして利用するため解答はできるだけサービス名称や用語にする
- 問題は重複しないように作成する
- 問題は{ 作成したい問題数を入力 }問作成する

# 問題形式
下記の形式に従って作成すること
START
基本 // 必ず基本にすること
{ ここに問題文を入力する } // {}を入力しない
裏面: { ここに答えを入力する } // {}を入力しない
Tags: AWS {問題の分野やテストに適したタグをつける }
END

今回作成したCLF‐C02番を例にしてみます。

あなたはAWSの問題の作成者です。
下記の仕様に従って、このページ内の内容を基にAWS CLF-002版の問題を作ってください。

# 仕様
- 問題は下記の問題の形式に従って作成する
- 難易度は基礎的なものから難しいものまで幅広く作成する
- ページ内の内容をすべて理解できるように問題を作成する
- 作成した問題はフラッシュカードとして利用するため解答はサービス名称や用語にする
- 問題は重複しないように作成する
- 作成する問題は30問とする

# 問題形式
下記の形式に従って作成すること
START
基本 // 必ず基本にする
{ ここに問題文を入力する } // { }を入力しない
Back: { ここに答えを入力する } // { }を入力しない
Tags: AWS CCP { AWSの設計原則、AWS利用ツール、データベース、EC2、IAM・認証、クラウド全般、コスト最適化、サーバーレス、ストレージ、セキュリティ、ネットワーク、移行・接続、運用上の優秀性、環境の自動化の中から適したものを1つ追記する }
END

このように命令を与えてAIを実行するとObsidian_to_Ankiの形式に準じた形式で問題を作成してくれます。たとえば、こんな感じ。

START
基本
AWS Lambdaの料金は何に対してのみ発生しますか?
Back: 使用したコンピューティング時間
Tags: AWS CCP サーバーレス
END

START
基本
Amazon EKSは何を実行するときに使用できるフルマネージドサービスですか?
Back: Kubernetes
Tags: AWS CCP EC2
END

実際に作成されたスクリプト

あとはこれをObsidianのページに貼り付けて、Obsidian_to_Ankiプラグインを実行するだけです。

プラグインの設定や重複、構文ミスなどがなければうまくフラッシュカードが作成されるかと思います。

詳しい使い方や注意点、失敗したことを後述しますので、参考にしてください。

How to use

  1. 問題を作成したい内容をページに貼りつける
  2. Notion AIを起動してPromptを貼り付ける
  3. 作成された問題を全部コピーしてObsidianに値で貼り付ける
  4. Ankiを立ち上げる
  5. Obsidian_to_Ankiを実行する
  6. Ankiで「同期」をクリックして反映されているか確かめる

Obsidian_to_AnkiとAnkiのインストールとセットアップをしている必要がある。

できていない場合は下記の記事を参考にしてインストールとセットアップを行う。

フラッシュカード化できない場合

フラッシュカード化できない場合、下記の点に当てはまっていないかを確認すると解消するかも。

  • カードタイプが正しく設定されているか
    • 存在しないカードタイプだとカード化されないので注意
  • 同じ内容のカードを作成していないか
    • 重複したものはカード化されないようになっている

失敗事例集

適宜追加します。

コメントやプロンプトを修正してうまくやってください。
もしプロンプトにブラッシュアップした方はぜひご共有ください……!

  • 「基本」が「高度」になっていた
    • 「問題の難易度を〜」のところが影響している
      • コメントにて対応
  • { } が入力されていた
    • コメントにて対応

資格試験で大量のフラッシュカードを作るためにObsidian_to_Ankiの使い方をまとめた

資格試験でまたAnkiを使い出したので、Obsidian_to_Ankiの使い方をまとめました。

自分用にまとめていますが、試験対策などでこれから使いたい人も参考になると思います。

公式ドキュメントやPADAoneさんの記事などを参考にさせていただきました。

とても便利なプラグイン、そして良質な記事をありがとうございました。

 

 

Obsidian_to_Ankiとは?

ObsidianのファイルからAnkiフラッシュカードを作成できるプラグイン。神。

ざっくり初期設定

詳しい初期設定の方法はGithubのREADMEを参照してください。

Pythonでやりたいんじゃ」って人もREADMEを見てください。

https://github.com/ObsidianToAnki/Obsidian_to_Anki

  1. Ankiをインストールしていない人はインストールとセットアップを行う(インストール済みの人は2へ)
  2. AnkiConnectのインストール(インストール済みの人は3へ)
  3. Obsidianのインストール(インストール済みの人は4へ)
  4. コミュニティプラグインで「Obisidian_to_Anki」をインストール
  5. Ankiを開き、ツール > アドオン > AnkiConnect > 設定を開く
  6. テキストボックスに下記のコードを貼り付ける
  7. Ankiを再起動して設定を反映させる
  8. Ankiバックグラウンドで起動しつつ、ファイルを作成してプラグインをロードするとフラッシュカードが作成される

{
    "apiKey": null,
    "apiLogPath": null,
    "webBindAddress": "127.0.0.1",
    "webBindPort": 8765,
    "webCorsOrigin": "<http://localhost>",
    "webCorsOriginList": [
        "<http://localhost>",
        "app://obsidian.md"
    ]
}

All users
1.Start up Anki, and navigate to your desired profile.
2.Ensure that you've installed AnkiConnect. **Obsidian plugin users
3.Have Obsidian downloaded
4.Search the 'Community plugins' list for this plugin
5.Install the plugin.
6.In Anki, navigate to Tools->Addons->AnkiConnect->Config, and change it to look like this:

{
"apiKey": null,
"apiLogPath": null,
"webBindAddress": "127.0.0.1",
"webBindPort": 8765,
"webCorsOrigin": "<http://localhost>",
"webCorsOriginList": [
"<http://localhost>",
"app://obsidian.md"
]
}
7.Restart Anki to apply the above changes
8.With Anki running in the background, load the plugin. This will generate the plugin settings.

Obsidian_to_Anki README

PADAoneさんのZenn記事がわかりやすかったです。

Obsidian_to_Ankiの使い方 : ZettelkastenとSRSを組み合わせる

使い方

Obsidian_to_Ankiにはいくつかの文法がありますが、今回は最も基本の文法を紹介します。

基本文法通りにファイルを作成して、コマンドパレットでObsidian_to_Anki: Scan Valut を実行、またはAnkiアイコンをクリックすると自動でフラッシュカードにしてくれます。

基本文法

START / END

とりあえずこの文法通りに書いておけばカードは作れます。

START
// カードタイプを書く
// カードの内容を書く
Tags: // タグを書く
END

具体例をあげます。

表面が「Cat」裏面が「ねこ」というフラッシュカードを作成したい場合は下記のようになります。

START
基本
Front: Cat
Back: ねこ
Tags: 英単語
END

簡単ですね。

Front に書かれた部分が表面に、 Back に書かれた部分が裏面になります。

Front を省略した書き方も可能です。

START
基本
Cat
Back: ねこ
Tags: 英単語
END

複数行もできます。

START
基本
次の文章を和訳しなさい。
My cat is very pretty.
Back: 私のねこはとても可愛い。
Tags: 和訳
END

インライン

インラインでAnki化もできます。

その場合はAnki化したいものを STARTIENDI で囲みます。

STARTI [カードタイプ] {カードの内容} ENDI

実際に作成すると下記のようになります。

STARTI [基本] 1 + 1 = Back: 2 ENDI

ノートタイプの指定も忘れずにしましょう。

タグ

タグはTagsに入力します。

START
基本
Front: Dog
Back: イッヌ
Tags: 英単語 // 英単語のタグができる
END

Tagsはなくても問題ありません。

START
基本
Dog
Back: イッヌ
END

複数個のTagを追加することもできます。

START
基本
次の文章を和訳しなさい。
My cat is very pretty.
Back: 私のねこはとても可愛い。
Tags: 和訳 英語 レベル1
END

ノート作成時の注意

カードのタイプは必ず設定

カードのタイプを設定しないとAnki化されないので注意してください。

例えば、

START
基本
Front: ミッフィーの作者は?
Back: ディック・ブルーナ
Tags: Art Design
END

はAnki化されます。

しかし、下記のようにカードのタイプを設定していないとAnki化されません。

START
Front: ミッフィーの本名は?
Back: ナインチェ・プラウス
Tags: Art Design
END

どのタイプでフラッシュカードを作成すればいいかわからないからですね。

IDは消さないで!

Anki化されたものはブロックに一意のIDが挿入されます。

START
基本
Front: Cat
Back: ねこ
Tags: 英単語
<!--ID: 123456789-->
END

削除やアップデート時に必要なのでIDは消さないように!

カードの削除

ファイルの内容を削除してもカードは削除されません。

カードの削除をするには削除対象カードのIDを指定してプラグインを実行しなければなりません。

削除対象カードのIDを指定するには下記のようにします。

DELETE
ID: 123456789

このように指定した後、プラグインを実行します。

削除したいカードが複数個ある場合は、 DELETE ブロックを削除したいカードの分だけ書きます。

DELETE
ID: 123456789

DELETE
ID: 987654321

削除したカードを再度カード化する

削除したカードのIDを消して、再度プラグインを実行するとカード化されます。

例えば、下記のようにカード化したブロックがあります。

START
基本
Front: Cat
Back: ねこ
Tags: 英単語
<!--ID: 123456789-->
END

DELETE ブロックを書いて、プラグインを実行してカードを削除します。

DELETE
ID: 123456789

プラグイン実行後、削除したカードのブロックを見てもIDが残っています。

START
基本
Front: Cat
Back: ねこ
Tags: 英単語
<!--ID: 123456789--> // 削除してもブロックにIDが残っているのでこれを削除する
END

このIDを削除してプラグインを実行すると再度カード化されます。

START
基本
Front: Cat
Back: ねこ
Tags: 英単語 // IDを消してプラグイン実行
END

プラグイン実行後、再度ブロックを確認すると新しい一意のIDが割り振られています。

START
基本
Front: Cat
Back: ねこ
Tags: 英単語
<!--ID: 987654321--> // 新しいIDが割り振られる
END

カード化も削除もIDで管理しているので、IDを消してやる必要があるわけです。

再度カード化したくない場合はIDを消さなければOKです。

タグやデッキを指定する

タグやデッキを指定することもできます。

タグ指定

FILE TAGS をファイル内に設定するとタグ指定できます。

FILE TAGS
AWS EC2 CLF

FILE TAGS: AWS EC2 CLF

デッキ指定

デッキ指定には TARGET DECK をファイル内に設定します。

TARGET DECK
AWSCLF

TARGET DECK: AWSCLF

Anki化されるブロック内にデッキ指定がなければ TARGET DECK で指定したデッキにカードが作成されます。

上記2つの指定を組み合わせてみると下記のようになります。

TARGET DECK
AWSCLF

FILE TAGS
AWS EC2 CLF

ファイルのすべてのノートブロックを「AWSCLF」デッキにして、「AWS」「EC2」「CLF」という3つのタグを挿入したカードを作成してくれます。

もうひとつFrozenという機能もありますがまだ詳しくないので割愛。後日追加します。

Obsidian_to_Ankiではなく、Spaced Repetitionプラグインを使いたいって人はgumpenさんの記事がわかりやすかったのでそちらを見てください(ぶん投げ)。

Obsidianで暗記学習ができる[Spaced Repetitionプラグイン]|gumpen

参照ドキュメント

プライバシーポリシー

個人情報の利用目的

当サイトではお問い合わせいただく際に、名前、メールアドレス等の個人情報ご登録いただく場合がございます。

これらの個人情報は、質問に対する回答や必要な情報を電子メールなどにより連絡する場合に利用させていただくものであります。

これらの個人情報を、この目的以外では利用はいたしません。

 

個人情報の第三者への開示

当サイトでは個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。
・本人のご了解がある場合
・法令等への協力のため開示が必要となる場合

 

当サイトで掲載されている広告について

当サイトでは、第三者配信の広告サービス(Googleアドセンス等)を利用しています。

このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため当サイトや他サイトへのアクセスに関する情報 『Cookie』(氏名、住所、メールアドレス、電話番号は含まれません) を使用することがあります。

Googleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、広告 – ポリシーと規約 – Google をクリックしてください。

 

当サイトで使用しているアクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。

この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

 

免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等は、一切の責任を負いかねますので、予めご了承ください。

 

著作権について

当サイトに掲載しているコンテンツや情報につきましては、著作権を放棄しておりません。

当サイトに掲載している記事の引用につきましては、「引用元の明示」によって無償で引用いただけます。

ただし、全文転載はお断りしております。

 

コメントについて

当サイトへコメントを残す際に、IP アドレスを収集しています。
これはブログの標準機能としてサポートされている機能で、スパムや荒らしへの対応以外にこのIPアドレスを使用することはありません。
なお、全てのコメントは管理人が事前にその内容を確認し、承認した上での掲載となります。あらかじめご了承ください。