Amplify Cache の有効期限について理解する

Amplify Librariesには Cacheという機能があります。 Webアプリケーションでこの機能を使うとLocalStorageに任意の値をキャッシュしてくれるとのこと(オプションでSessionStorageにも保存可能です)。 Amplify Libraries経由でキャッシュ機能を使うメリット…

OpenSearch をローカル環境で起動する、そしてRubyからクエリを実行する

表題のことをやってみました。 今年のre:InventでOpenSearch Serverlessが発表されたので、いい機会だしいっちょOpenSearch触ってみるかと思った次第。 最初はOpenSearch Serverlessを起動してみたりしたんですが、2〜3日過ぎたら請求が$120くらい増えててビ…

VSCode Remote Containers で Railsの開発環境を作る

VS Code Remote Containers のウィザード?を使えば自分でDockerfile書かなくてもPostgresも一緒に状態で環境作ってくれる様子。

AWS Amplify のビルドで『The input value type 'AuthRule' is not present when resolving type 'AMPLIFY'』が発生した際の対応

AWSの発表しているAmplify + Reactで簡単なアプリケーションをデプロイするというチュートリアルをやっていたところ、表題の問題に遭遇。 https://aws.amazon.com/jp/getting-started/hands-on/build-react-app-amplify-graphql/module-four/ ローカルでの動…

Instant Potを使った簡単ほろほろチキンのスパイスカレー試作

※ "試作" とタイトルに入れた通り、出来上がりにはあまり満足していない。 鶏肉はホロホロになったものの、味がしっかりしみておらず、カレー全体としても塩っ気が足りない気がした。 鶏肉を圧力鍋にかけて柔らかくしつつ鶏のスープを作り、それにスパイスカ…

Ruby 2.5.0コンテナでRails6の開発環境を作るときのトラブルシューティング

こちらのハンズオンをやっていたところ、いくつかの問題に遭遇したので対処法をまとめておく。 Rails アプリケーションをコンテナで開発しよう ! 第 1 回 - まずは Rails アプリケーション作りから Rails7のインストールに失敗する 記事では Ruby2.5 & Rails…

CloudWatch Rumを試す

今開催されているAWS re:Invent2021 にて、CloudWatchの新機能が発表された模様。 aws.amazon.com CloudWatch RUM(Real-User monotoring) はWebアプリケーションのログやエラー、アクセスしているユーザーの情報をモニタリングすることができる様子。 ざっく…

Amplify Logger から CloudWatchLogsに送信する の補足、或いはAmplifyで未ログイン状態でもAWSリソースを操作したいときの覚書

Amplifyを組み込んだアプリケーションからCloudWatchLogsにログイベントを送信するには amplify add auth で認証関連の機能を組み込んでログ送信用のIAMロールを作る必要があると書いた。 jacoyutorius.hatenablog.com amplify add authを実行すると対話的に…

Amplify Logger から CloudWatchLogsに送信する

Amplify Logger というのだから、ただのログ出力じゃなくて CloudWatchLogsにいい感じインテグレーションしてくれるものと思っていたら全然そんなことはなかった。 通常の使い方は前回の記事を見てみてください。 jacoyutorius.hatenablog.com で、issueを漁…

Amplify Loggerの使い方について

AWS Amplifyの utilitiesに loggerがある。 https://docs.amplify.aws/lib/utilities/logger/q/platform/js/ 使い方 import { Logger } from 'aws-amplify'; const logger = new Logger("my-logger"); logger.warn("warning message"); デバッグコンソールに…

AWSアクセスキーのコミットされたリポジトリが公開されているのを検知すると『AWSCompromisedKeyQuarantineV2』というロールが付与される

先日誤ってアクセスキーがコード中にベタ書き状態のコミットがあるのを忘れていて(修正したコミットが最新だったのよ。。) Githubにpushしたところ、すぐさまAWSとGithubから注意メールが届きまして。 で、 AWSのCloudTrailで不正な操作がないか調べていた…

Rubyで動的クラスを使ったクラス設計を考える

地元鉄道の時刻表や駅の情報を返すAPIを考えている。 (Alexaのスキルを作りたくて、そのためのデータを返すAPIがほしいのだった) 欲しいのは、駅の情報(info)・時刻表(timetable)・運賃(fare)。 Akaden というのは地元鉄道の愛称。正式名称は遠州鉄道、略…

Amplify Geo for AWS Amplify を試してみる

AWS Amplify に AWS Location Serviceのリソースを作成してくれる Amplify Geo のデベロッパープレビューが公開されたので試してみた。 できたものはこちらです。 amplifygeo-20210929141446-hostingbucket-dev.s3-website-ap-northeast-1.amazonaws.com aws…

Alexaスキルのindex.js の見通しを良くする

Alexa Hostedで自動生成されるコードは index.js にすべてのインテントハンドラのコードが実装されていてすこぶる見通しが悪い。 そこでハンドラごとに handers 配下に切り出してみた。 いい感じな気がする 毎回これやるの面倒だな。。

手元の環境の ASK CLI を最新化した

開発をお手伝いしているAlexa Skillのバージョンアップの話が出てきたので下準備中。

copilot pipelineで作ったCI が「COMMAND_EXECUTION_ERROR Message: Error while executing command: for workload in $WORKLOADS」で FAILする

これについて。 copilot pipelineで作ったCIがコケてたのだけどやっと原因がわかった。「When using COPY with more than one source file, the destination must be a directory and end with a /」まさかここで以降のプロセスがコケてたとは思わなんだ。た…

AWS App Runner で Sinatra アプリを起動する

AWS App Runner が発表されました。 aws.amazon.com Dockerfileを用意するだけでアプリケーションに必要なリソース(VPCとかロードバランサーとか)はマネージドで用意してくれる便利サービスのようです。 僕は使ったことが無いのですが Google Cloudの Clou…

CDK + Typescript で DynamoDB のテーブルを作成する

サーバーレスアーキテクチャでアプリケーションを構成する場合、クラウドリソース作成用のテンプレートをどのように管理すべきか悩む。 今回は、 フロントエンド: AWS Amplify API: AWS Lambda + API Gateway DB: DynamoDB という構成。 AmplifyでもCFnは書…

Amazon Comprehend をNode.jsで使う

作りたいアプリケーションがあって、それのために AWS Lambda で APIからPOSTされたテキストを Amazon Comprehendのキーワード抽出にかけてからその結果をDynamoDBに登録する、というコードを書いていた。 AWS SAM でぼちぼち作っていて、DynamoDBへのPOSTは…

猫の朝帰り

午前中、ベランダへの窓を開けっ放しにしていたところ、気がつくとうちの兄猫である倫太郎が消えていた。 猫と暮らし始めて4年ほど経つけど、一緒に暮らしてわかったことは猫は消えるものであるということだ。 いつぞや玄関の外から猫の鳴き声がするなと思っ…

Amazonアフィリエイト

Amazonの Product Advertising APIを使いたくて調べてみると、いろいろ厄介な条件があることがわかった。 その一つが、アフィリエイトが実際に配置されてエンゲージメントが発生していること。 というわけでアフィリエイトリンクを設置することに。 WAVE 1/1…

抜歯

右下の親知らずにできた虫歯を放置しすぎた。 その歯は半分以上歯茎に埋もれた状態だったので行きつけの歯医者では対応できず、病院を紹介され手術することになってしまったのだった。 遡ること2ヶ月ほど前、行きつけの歯医者歯医者からの紹介状を持って病院…

NHKクローズアップ現代+の取材を受けた

いつもEvernoteに日記の下書きを書いているのだけど、日付を見て驚いた。 6/24に取材を受けてつらつらと書き始めていたが内容まとまらないうちに放送も終わって一ヶ月近くが過ぎようとしている!まずい! 浜松市版コロナ対策サイトを構築した関連でNHKのクロ…

VS Code Remote Containers でRuby 2.7の実行環境作り

VSCode Remote Containers が便利と聞いたので試してみました。 www.keisuke69.net 今回はRubyの実行環境を作ります。 RubyのDockerイメージが公式にリリースされているのでそれを使う。 hub.docker.com 作業ディレクトリを作ってDockerfileをtouch。 mkdir …

プログラミング練習用のタイピングアプリを作った

自作キーボード作りにハマって約1年ほど。これまでに3台のキーボードを作ってきた。 けど、実際作ったはいいものの自宅のPC環境の都合もあり、これらのキーボードを使うのはもっぱらネットサーフィンのみで、プログラミングとか開発系の作業には使用していな…

Vue + AWS Amplify でFacebook認証する

Amplifyを使ってFacebook認証を設定します。 公式のドキュメントに従って進めていきます。 Amplify Authentication amplifyの初期化については省略。 amplify add auth コマンドを実行すると以下のように認証するプロバイダについて聞かれるのでfacebookを選…

Ergo42 Towel のキーキャップを変えた

TALP Keybord でセール価格になっていたので購入。 もともとは MDA BigBang を購入するつもりだったのでこれ幸い。 talpkeyboard.stores.jp MDA BigBang 2.0 は色が好みじゃなかったんだけど、妻から「ガンダムみたい」と言われ、確かになーと思い直した。

Ergo42 Towel を作った

Ergo42 Towel Ergo42という自作キーボードキットを作った。 yushakobo.jp 制作時間はだいたい4時間くらい。 LEDを付けていないのでその分制作時間も少なく、トラブルも不具合も全くなかった。 前回Helixを作ったときはロープロファイルのほうが向いているか…

CloudFormation でECSEventsを作成すると CloudWatch Events IAM ロールが登録されないっぽい

Fargate 使っててなんだかよくわからん現象に遭遇したので改めて検証してみた次第。 何が起こったか とりあえず箇条書きで。 Fargateで起動するECSイベントをCloudFormationで作成 しかし、指定時間になっても処理が実行されない CloudWatchLogsを見ると、呼…

Khruangbinが良い

先日フジロック2019の配信をYouTubeでぼけっと眺めていたのだけど、 21時頃に出演したKhuruangbin(クルアンビンと読むらしい。タイ語で"飛行機"の意味とのこと) がすごく良かった。 3人組のバンドで、ベーシストがクレオパトラみたいなおかっぱ頭のセクシー…