投稿者「krote」のアーカイブ

Running Academy 2024 Week3

8月の頭からスタートしているRunning Academy 2024もWeek3に突入しています。

ASICS presents Running Academy 2024

毎週ミッションとして筆記テストと実技の提出が求められるのですが、筆記テストがなにげに知識の習得に役立っているような気がします

そもそも、Runmetrixはかなりいろいろなデータを収集してくれているのですが、収集したデータの意味をそこまで自分で見返すことをしてこなかったので宝の持ち腐れな状態なんですよね。

この筆記テストで、各項目の意味だとか目指すべき指標だとか、そういうことがテストとして出てきて、都度調べているので必然的に学習が進みます。

いくつか項目がある中で、「体幹の後傾」という項目があるのですが、、
ペースに対する目安値が1.4となっていますが、私の値は3~4くらい。
値が大きいほど体幹の姿勢が不安定とのことでした。

うーん、要するにもっと前傾姿勢で走ったほうが良いということなのだろうか?

実際に、意識して走ったときにこの数値がどう変わるのか。
次回ためしてみよう。

こういうところで数値的な目安が出るとちょっとやる気になりますね。
頑張っちゃうよー

DynamoDBのデータを楽にExport/Importする

DynamoDBを仕事で使っていますが、テストデータのインポートや本番データの移行とかを考えたときに、CSVなどで管理してやりたいな、と思いました。

調べてみると、dyneinというものがあるそうで使ってみた

GitHub – awslabs/dynein: DynamoDB CLI written in Rust.

Install & Settings

Download binaries

ツール自体はRustで書かれている単独のファイル。
それぞれの環境で必要となるバイナリをダウンロードします

GitHub – awslabs/dynein: DynamoDB CLI written in Rust.

Setup AWS CLI

各環境にあったAWS CLI をダウンロード、インストールします

AWS コマンドラインインターフェイス(CLI: AWSサービスを管理する統合ツール)| AWS (amazon.com)

インストール後、CLIを実行するためのIAMユーザの設定を行います。
このあたりはこちらを参照

AWS CLI バージョン 2 を使用するための前提条件 – AWS Command Line Interface (amazon.com)

ここまでaws-cliの設定ができていれば、基本的には動くはず

> dy --version
dynein 0.3.0

問題なく動いていることが確認できた。

lsコマンドを打ってみると

> dy ls --all-regions
DynamoDB tables in region: ap-northeast-1
  xxxxx
  yyyyy
  zzzzz
DynamoDB tables in region: ap-northeast-1
  No table in this region.
DynamoDB tables in region: ap-northeast-1
  No table in this region.
DynamoDB tables in region: ap-northeast-1
  No table in this region.
DynamoDB tables in region: ap-northeast-1
  No table in this region.
...

全リージョンのDynamoDBテーブルが出てくる・・・というはずなんだけど、なぜかリージョン名が全部同じ表記になっている。
バグっているのだろうか?
–all-regions オプションを外せば、デフォルト設定しているリージョンのテーブル一覧が取得できる

Export

テーブルデータのExportコマンドは基本的に単純。
データをCSV形式で取得するためにはformatオプションをつければ良い

> dy export -t テーブル名 -f csv -o 出力ファイル名 
As neither --keys-only nor --attributes options are given, fetching an item to understand attributes to export...
Found following attributes in the first item in the table:
  - id (Number)
  - name (String)
  - locationY (Number)
  - locationX (Number)
Are you OK to export items in CSV with columns(attributes) above? yes
51 items processed (61911.99 items/sec)% 

出力されたファイルをみると、カラム名付きで値としては文字列がダブルクォートで括られた形式となっている。(カラム名はダブルクォートなし)

Import

インポートするCSVファイルは、Exportした形式と同じ形に揃える必要があるので注意。

> dy import -t テーブル名 -f csv -i ファイル名.csv
1 items processed (6024096.39 items/sec)% 

aws cliが提供している取り込みと異なって、既存データがある場合はアップデートをしてくれる。
なければ新規のレコードを作ってくれるので便利。

データの入れ替えという意味では、CSVにないデータを削除してくれるわけではないので注意が必要。

総入れ替えを実施するのであれば、一度データを削除するかする必要があるがいっそのことテーブルを作り直した方が早いかもしれない

問題点

唯一の問題は、エクセルをCSV出力した際には自動的にダブルクォートで括ってくれたりするわけではないということ。
もちろん、数値だとか文字だとかでの判別もない。

いっそのこと、エクセル上でVBAマクロを使ってCSVファイルを出力するようにしてしまった方が楽かもしれないな、と思い始めている

米国株にチャレンジ?

ちょっと縁があって、これまで基本的に株は日本株もしくは投資信託経由でしか手を出していませんでしたが、米国株にも少し手を出してみました。

SBIでは外貨建商品の場合は口座が分かれるのですが、以前に手続きだけは済ませていたようで、余裕資金をドルに変えればすぐにでも取引可能な状態でした。

日本株でもそうですが、銘柄の選定って難しいですよね。
特に米国株など海外となると本当に馴染みのない会社ばかりです。
もちろん、AppleやMSなどはありますけどね。

ひとまず、ちょっと危ない投資方法だとは自覚しているものの、最近知り合った方の意見を元に勉強をしてみようかな、と思っています。

夏休みの終わり

昨日で小学校、中学校の夏休みが終わり。
長男の高校はもう少しだけ続くようですが、子供たちの学校が始まります。

なんとか宿題も終わらせることが出来たということで、最終日である日曜日はプールにバーベキュー、花火と夏っぽいことの詰め合わせで過ごしました。

社会人になると、夏を感じることがあまり無くなってしまうような気がしています。

もちろん、暑さはあるのですが、多くの時間はクーラーの効いた室内でパソコンに向かっていたりしますし、学生の頃のような長期の休みはありません。
子供が生まれてからは、やりたいことや行きたいことというのも基本的には子供が中心となります。

そうこうしているうちに、いつの間にか夏が終わってしまっているんですよね

とはいえ、では学生時代に夏休みとかに何をしていたんだろうか?と考えてみると、夏だからということをしていたかは結構怪しいものです。
私の場合は、大学時代を過ごしていた山形県は米沢市から愛知まで、青春18きっぷをつかって野宿しながら旅をするということを何度かやってますが、あえていうとそれくらいでしょうか。

そう考えると、私の中での「夏=ありあまる時間」という図式が成り立ってしまい、”何かをする”ことで夏を感じていたわけではないのでは?という、少しさみしくなる発見があります。

せっかくなので、夏が終わりきる前に「今年も◯◯の夏だ!」と思えるようなものを探してみたいと思います。

いい加減、AIに関して取り組まねばならぬ

fukabori.fmのエピソード119 が公開されました

119. 生成AI導入で成功する企業・失敗する企業、国産基盤モデルの意義 w/ piqcy, kosukearima | fukabori.fm

ゲストはストックマークCTOの有馬さんと、AWSの久保さんでタイトルの通り生成AIに関してのエピソードでした。
毎度のことであるが、fukabori.fmは面白い。

生成AIに関しては、所々で利用してはいるもののあくまで個人の利用という形で、組織的に取り組んでいるわけではない状態なんですよね。

でも、最近Claudeなんて使ってみると、すごくいい感じで資料とかの土台が作れてしまう。
なんだったら、スライドのベースだけでなく、口頭説明のテキストも頼めば生成してくれてできが良い。

この界隈。
個人で適当にチャットとして使っているだけだとあっという間に周回遅れになってしまいそうだと改めて感じた。
そして、エピソードの中に出てくる、こういった新しい技術要素を活用し続ける事ができる2割の企業。
BIツールに絡めての話が現状とダブってすごい納得感が出てしまった。

GitHub – aws-samples/aws-ml-enablement-workshop: 組織横断的にチームを組成し、機械学習による成長サイクルを実現する計画を立てるワークショップ

エピソード中に出てきた、ML Enablement Workshopの上記Githubページも早速見てみた。
Community Workshop や AWS Sample など、色々とあるので目を通しておきたいところだ。

なんだか楽しくなってきたぞ

ガッシュ2 4巻

「金色のガッシュ2」の4巻が発売されました!

金色のガッシュ!! 2 (4)
https://amzn.to/4cEhF8R

なんというか、本作の一つの楽しみは魔物たちの成長した姿なわけですが、ブラゴ・・・・
デカくなりすぎだろうし、魔法不要説出てくるしで相変わらずの雷句節だなぁ

面白いな、と思っていることの一つに、前作では雑魚やられキャラだった魔物の成長だとかも入ってきている。
主要キャラクターばかりでは流石にマンネリが過ぎるところもあるんだろう。
これからどんな魔物が出てくるのか楽しみだ

スマートグラスへの期待

昨日は、仕事で今後関わっていく可能性のある人と会合があり参加してきました。

ただ、、、相手方が20人くらいいてとてもじゃないけれど覚えられないんですよね・・・。

大学時代に、これまでの地元から離れて生活を始めたときから気がついたことなんですが、私は非常に人の顔を覚えるのが苦手です。

名前と顔を覚えられない:困りごとのトリセツ(取扱説明書)|発達障害プロジェクト (nhk.or.jp)

上記でも取り上げられていますが、結局は勉強時の暗記方法と似ているんですよね。

なにかに関連付けて覚えるという

もちろん、今後それなりの頻度でお会いしていけば覚えていくのでしょうけれど、難しいのがたまにしか合わない人。
そして、相手は覚えているけれどこちらが全然お思い出せないとき。

こういうとき、スマートグラスみたいなものを期待してしまいます。

会った際に相手の顔と名前を登録。
以降、次に会った際に過去にいつどこで会ったのかを引き出してくれるような。。。

少し調べてみると、現状のスマートグラスはどちらかというとディスプレイの代わりに近いような印象。
これからに期待したいところです

ジョーカー・ゲームを読んだ

先日読んだ「パンとペンの事件簿」の著者、柳広司氏の著作であるジョーカー・ゲームを読んだ

ジョーカー・ゲーム
https://amzn.to/3XftVHl

大東亜戦争時代を部隊にしたスパイ組織を題材とした短編4篇からなる小説。
読んでみてアニメでありそうだなぁと思ったが、知らなかっただけでアニメ化されていたんですね。

短編からなるので読んでいてテンポよく話が進んでいくのは良かったと思うけれど、推理小説というわけではないので、基本的にはふんふんと話を聞いていくだけ。

なんというか、攻殻機動隊みたいなものを思い起こした。

何も考えずに、気分転換として話を聞くのにちょうどいいかな、と思った。
すごい面白かったというわけではないんだけど、嫌いじゃない。

見てみるとシリーズとして

  • ダブル・ジョーカー
  • パラダイス・ロスト
  • ラスト・ワルツ

がまだあるそうな。

一旦、ほかの本を見ながら、気分転換に読んでみるのは面白いかな、と思う。

EC2に対してSSM経由でアクセスする

SSMを用いてEC2へアクセスすることはこれまでもしたことはあったが、利用したことはあっても設定したことはなかったので勉強を兼ねてやってみた

基本的にはこちらに沿って進めてみます
Session Manager を使用して Amazon EC2 インスタンスに接続 – AWS 規範ガイダンス

IAMロールを作成する

まず手始めにIAMロールを作成する。選択肢としてAWSのサービス、EC2を選択して次へを選ぶ。

AmazonSSMManagedInstanceCoreをポリシーとして選択

適当な名前を付けてロールを作成する

EC2インスタンスの構築

接続先となるEC2インスタンスを構築します。
AmazonLinuxであれば最初からSSMのAgentがインストールされているので今回はそれを利用。
構築時には、下記の設定をデフォルトから変えています

ネットワークとしてパブリックIPの自動割り当てを無効化。
セキュリティとしては、SSHでの接続を自分のIPからのみ許可としました。

「高度な詳細」欄にあるIAMインスタンスプロフィールにて先ほど作成したロールを選択します

ちなみに、キーペアは今はRSAとED25519の選択になっていた

ED25519ってあまり馴染みが無い。
どういうケースでどちらを選ぶとよいのかに関しては後ほど調べておきたいところ。

ログの設定をする

SSMでの接続記録を取るためにログを定義しておきます

AWS SystemManager で Session Mangaer を選択肢、「セッションの開始」枠にある「設定を行う」を選択します

CloudWatch logging欄を下記の設定にします

  • CloudWatch logging を Enable
  • Choose your preferred logging option を Upload session logs にする
  • Enforce encryption のチェックを外す
  • CloudWatchのロググループを先程作成したものを選択

ここまでで試しにセッションマネージャーからの接続を確認してみると、SSM Agent がオンラインではないという表記になっている

こちらの手順を再確認するとフリートマネージャーを確認するとあるので見てみると、リストに追加したインスタンスが確かに見当たらない。

うーんちょっとピンとこないなぁ。
フリートマネージャーを確認すると、「IAMロール」に関する項目があったので設定してみたが大きくは変わらなかった。

ちなみに、この状態でローカルからSSH接続を試みると下記のエラーとなった

An error occurred (403) when calling the StartSession operation: Server authentication failed: <UnauthorizedRequest><message>Forbidden.</message></UnauthorizedRequest>

サーバーへの到達不能ではなく、認証エラーとなっているのがちょっと気になるところ。

ちなみに、EC2インスタンスの設定を、デフォルトのパブリックIPを持つ形にするとあっさりとSSMでの接続ができた。

ちょっとのこの辺り、まだ理解が曖昧なんだな・・・。
もう少し勉強が必要そうだ

いつの間にかCodeCommitがサービス終了に向かっていた

AWS Certified Solutions Architect Professional の勉強を勧めている中で、おもむろに「CodeCommitのサービス終了が発表されたけど、テストに出るかもだからコースの中では教えるよ!」って感じの話が出てびっくりした。

いくつかのサービスに関して、最近別サービスへの以降の案内が出ていました

Amazon CloudSearch から Amazon OpenSearch Service への移行

Amazon Forecast から Amazon SageMaker Canvas への移行方法

これらの案内の中にもありますが、すぐにサービス終了というわけではなく新規の利用受付の停止という扱いでした。

先日、JAWSのEKSワークショップでCloud9が新規の利用を受け付け停止している話が出ていましたが、同じ理由だったようです。

対象となるサービスは上記で言及されているのは

  • S3 Select
  • CloudSearch
  • Cloud9
  • SimpleDB
  • Forecast
  • Data Pipeline
  • CodeCommit

のようですね。
ただのX投稿なので実際にはもう少し増えるのかもしれません。

そりゃ、これだけサービスをバカスカ出していれば維持にもお金はかかるし、それほど利用者が多くないサービスに関してはそういう決断をするよね、ということはわかる。

確かにCodeCommitを使うかと言われたらGithub使うよね、という気もするのでわからなくもないんだけど結構びっくりした。

比較的新しいサービスに対して、インフラや開発基盤として取り入れたときのリスクの一つとして、こういうサービス終了も考えていかないといけないですね。

更にいうとこのあたり、試験内容にも影響しそうだなぁと思うわけです。
実際のところ、ベストプラクティがう変わるわけなので、試験をどういう形でこれらに対して向き合えばいいのか。
気になるところです。