BioErrorLog Tech Blog

試行錯誤の記録

2020-01-01から1年間の記事一覧

はてなブログのサイトマップ送信で"取得できませんでした"状態を解消する | Google Search Console

はてなブログのサイトマップをGoogle Search Consoleに登録した際、ステータスが "取得できませんでした" になる問題を、ついに解消することができました。 手順を紹介します。 はじめに サイトマップの"取得できませんでした"状態を解消する 1. サイトマッ…

エラー対処: Object of type datetime is not JSON serializable | Python

Pythonのjsonモジュールを利用してjson変換する際に発生した、下記のエラーの対処法をまとめます。 "Object of type datetime is not JSON serializable" はじめに 背景 対処法 defaultパラメータ 対処法1:string変換 対処法2:カスタム変換 おわりに 参…

特定のIAM RoleがアタッチされたEC2インスタンスを列挙する | AWS CLI

AWS CLIを用いて、特定のIAM RoleがアタッチされたEC2インスタンスを列挙する方法の備忘録です。 はじめに 特定のIAM RoleがアタッチされたEC2を列挙する やり方 解説 ec2 describe-instances --filters --query --output おわりに 関連記事 参考 はじめに …

S3バケットポリシーとIAMポリシーの関係を整理する

S3バケットポリシーとIAMポリシーの関係を、同一アカウント・クロスアカウントそれぞれにおいて整理します。 はじめに S3バケットポリシーとIAMポリシーの関係 結論 検証準備 同一アカウント内アクセス クロスアカウントアクセス おわりに 参考 はじめに こ…

英語圏でGoogle検索する方法

英語圏のサイトをGoogle検索する方法を整理します。 はじめに 英語圏でGoogle検索する 結論 URLパラメータの説明 おわりに 参考 はじめに こんにちは、@bioerrorlogです。 技術的な調べ物をするときは、なるべく英語で検索するようにしています。 日本語での…

LambdaでAWS CLIを実行する | AWS Lambda Layer

Lambda Layerを利用して、Lambda上でAWS CLIを実行する方法をメモします。 はじめに LambdaでAWS CLIを実行する Python仮想環境の作成 仮想環境にAWS CLIをインストール Python実行パスの変更 AWS CLI関連パッケージをzipファイルにまとめる Lambda Layerの…

Unityで位置情報(緯度/経度/高度)を取得する | Android / iOSアプリ

UnityでGPS位置情報(緯度/経度/高度)を取得する方法を整理します。 はじめに Unityで位置情報を取得する 最終的なアプリ 位置情報を取得するスクリプト おわりに 参考 はじめに ふと、位置情報を利用したアプリを作ってみたいと思い立ちました。 今回はその…

S3既存オブジェクトに一括でbucket-owner-full-controlを付与する | AWS CLI

S3バケットの既存の全オブジェクトに--acl bucket-owner-full-controlを一括付与するやり方の備忘録です。 はじめに 既存オブジェクトにbucket-owner-full-controllを一括付与する 追記バージョンコマンドの解説 旧バージョンコマンドの解説 おわりに 関連記…

Boto3でAssumeRoleする | AWS SDK for Python

Boto3でAssumeRoleするやり方をまとめます。 はじめに Boto3でAssumeRoleする AssumeRole関数の実装 使用例 おわりに 参考 はじめに こんにちは、@bioerrorlogです。 Boto3を利用したPythonスクリプトで、AssumeRoleしたい状況はよくあります。 その度にAssu…

aws s3 cpとsyncの違い | AWS CLI

AWS CLIのs3 cpとs3 syncの違いをまとめます。 はじめに cpとsyncの違い Descriptionを比較する コマンドオプションを比較する コマンドの挙動を比較する おわりに 参考 はじめに こんにちは、@bioerrorlogです。 あるS3バケットのオブジェクトを別のS3バケ…

CloudWatch EventsでS3への特定オブジェクトのアップロードを検知する

S3への特定オブジェクトのアップロードをトリガーに、CloudWatch Eventsを起動するやり方の備忘録を残します。 はじめに CloudWatch Eventsのイベントソースを調べる S3トリガーで起動するCloudWatch Eventsを作成する CloudTrail証跡を作成する CloudWatch …

grepコマンドで特定の文字列を含むファイルを検索する | Linux shell

ある特定の文字列を含むファイルをLinuxコマンドで検索する方法を整理します。 はじめに ある文字列を含むファイルをコマンドで検索する やり方 解説 補足: 特定ディレクトリをgrep対象から除外する おわりに 参考 はじめに こんにちは、@bioerrorlogです。 …

Godot EngineでBoids Flockingを実装する | 人工生命

Boids FlockingシミュレーションをGodot Engineで実装します。 はじめに Boids Flockingとは 実装 Separation Alignment Cohesion エサを追いかける動作 おわりに 参考 はじめに Boids Flocking (ボイドモデル / ボイド群衆アルゴリズム) をGodot Engineで実…

Amplify & GraphQLでのデータモデル設計事例集

AWS Amplify & GraphQLでのデータモデル (スキーマ) 設計例をまとめます。 はじめに スキーマ設計例 Todoアプリ イベントアプリ チャットアプリ Eコマースアプリ WhatsAppクローン Redditクローン マルチユーザーチャットアプリ インスタグラムクローン カン…

Amplify & AppSyncで時系列データを日付範囲でList取得する

AWS Amplify (AppSync)で、時系列データをある日付の範囲でList取得する方法を記します。 はじめに Amplify & AppSyncで時系列データを日付範囲でList取得する ケース1: 全List取得に対する日付範囲での絞りこみ ケース2: Partition keyを指定した上での日…

GDScriptにおけるドルマーク"$"の意味と使い方 | Godot Engine

GDScriptにおけるドルマーク$の意味と使用方法をまとめます。 はじめに ドルマーク$はget_node()の略記である 使用例 子Nodeの取得 親Nodeの取得 同階層Nodeの取得 自Nodeの取得 絶対パスでの取得 おわりに 参考 はじめに Godot Engineを触り始めた頃、以下…

Amplifyプロジェクトのgitリポジトリを公開するときの注意点

AWS Amplifyプロジェクトのgitリポジトリをパブリックにするときのセキュリティ上の注意点についての備忘録です。 一言で言うと、team-provider-info.jsonをgit管理から外すべし、となります。 はじめに 作業環境 Amplifyプロジェクトのgitリポジトリを公開…

Unityのゲーム画面を動画出力する

Unity Recorderを用いて、Unityゲームプレイ画面を動画出力する方法を整理します。 はじめに 作業環境 Unityのゲーム画面を動画出力する Unity Recorderのインポート Unity Recorderの設定 ゲーム画面の録画 おわりに 参考 はじめに こんにちは、@bioerrorlo…

エラー対処: RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment.

以下のエラーの対処法を記します。 RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Consult https://click.palletsprojects.com/python3/ for mitigation steps. はじめ…

YouTube投稿用動画をffmpegでエンコードする | 公式推奨方法を読む

YouTubeアップロード用動画をffmpegでエンコードする方法を、公式推奨設定を参考に書き出します。 はじめに 作業環境 YouTube投稿用動画をffmpegでエンコードする 公式推奨の設定を確認する ffmpegでのエンコード方法を確認する ffmpegコマンド例 ffmpegコマ…

AWS CDK をアップデートする | Cloud9での注意点

AWS CDKのバージョンアップ方法を記します。 また、Cloud9でCDKをバージョンアップする際の注意点についても記述します。 はじめに 作業環境 CDK をアップデートする 一般的なCDKアップデート方法 Cloud9でのCDKアップデート方法 おわりに 参考 はじめに CDK…

Generative Art #14 - Processing作品

おはよう。@bioerrorlogです。 ProcessingによるGenerative Art作品 14作目を記録します。 自作品まとめはこちら: www.bioerrorlog.work Output フル解像度/その他出力パターンはこちら: Generative_14 - BioErrorLog - pixiv Material 使用言語: Processing…

AWS ChaliceアプリケーションをCDKでデプロイする | cdk-chalice

ChaliceアプリケーションをCDKでデプロイする方法を記します。 はじめに AWS Chaliceとは 作業環境 実行手順 前準備: Python3.7のインストール Chaliceプロジェクト作成 Chalice appコード CDKプロジェクトの作成 CDKコード CDKデプロイ リソースの削除 おわ…

AWS CDK 基本コマンドまとめ

よく使うCDKの基本コマンドをまとめます。 はじめに 環境 CDKコマンドまとめ CDKバージョン確認 CDKインストール CDKプロジェクト作成 CDKコマンド実行前の下準備 CDK Stack一覧表示 CloudFormationテンプレートの生成 CDKデプロイ前準備:bootstrap CDKデプ…

Cloud9エラー: An error occurred (ExpiredToken) when calling the XXX operation: The provided token has expired.

AWS Cloud9のエラー An error occurred (ExpiredToken) when calling the XXX operation: The provided token has expired. の対処法を記します。 はじめに エラー対処 解決策: Cloud9環境のOwnerにログインしてもらう Cloud9アクセス権限の仕組み おわりに …

AWS CDKでStackをネストにする | NestedStack

AWS CDKでStackをネスト (入れ子) にしてデプロイする方法を記します。 はじめに 作業環境 CDKでStackをネストにする 問題: Stackが入れ子にできない 解決策: NestedStackを使う おわりに 参考 はじめに おはよう。@bioerrorlogです。 AWS CDKでStackをネス…

Cognito+API Gateway+S3ホスティングでサーバレスアプリを構築する | AWSチュートリアル

API Gateway + Lambda + DynamoDB + Cognito + S3 を用いて、AWSでの基本的なサーバレスアプリケーションを構築します。 はじめに 概要 アーキテクチャ アプリケーションの構築 静的Webホスティング S3バケットを作成する コンテンツをアップロードする S3バ…

Session Managerでec2-userやrootとして作業する | AWS Systems Manager

AWS Systems Manager(SSM)のSession Manager (以下セッションマネージャー) でec2-userやrootとして作業するやり方の備忘録です。 はじめに 環境 Session Managerでec2-userやrootとして作業する 現状: ssm-userとしてシェルアクセス 解決策: sudo su --logi…

Proxy配下のGitLab PipelinesからS3にファイルをアップロードする

Proxy配下で動いているGitLabから、パイプライン (GitLab Runner) を用いてAWS上のS3にファイルをアップロードする方法のメモを残します。 はじめに Proxy配下のGitLab PipelinesからS3にファイルをアップロードする S3バケットの作成 IAMユーザーの作成 Git…

Elastic BeanstalkのS3バケットを削除する

Elastic Beanstalk用に作成されていたS3バケットを削除するのに少し手間取ったので、備忘録を残します。 はじめに Elastic BeanstalkのS3バケットを削除する 原因: バケットポリシーで削除が拒否されている 解決策: バケットポリシーを削除する おわりに 関…