ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

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

【Looker Studio】無料と有料の違い

Looker Studio の無料版と有料版の違いについてまとめてみました。 機能 無料版(Looker Studio) 有料版(Looker Studio Pro) 価格 無料 サブスクリプション料金が必要 ユーザー管理 個別共有と基本的な権限設定(閲覧/編集) Google Workspace統合で詳細…

【javascript】window.addEventListener についてメモ

window.addEventListener とはどのような動作か調べてみたのでここにメモします。 window.addEventListener 基本構文 引数 eventType (文字列) listener (関数) options (オプション) 使用例 クリックイベントをリッスン ウィンドウサイズの変更をリッスン …

【Looker Studio】スプレッドシートを読み込み散布図を作成

Looker Studio でスプレッドシートを読み込み散布図を作成する方法をここにメモします。 スプレッドシート Google スプレッドシートを準備 Looker Studio Looker Studioで新しいレポートを作成 データソースを追加 散布図を作成 散布図のカスタマイズ スプレ…

【memorystore】memorystore と cloudrun の通信について

memorystore と cloudrun の通信を vpc を使用しないで使うことはできないかダメもとで調べてみました。 (結果ダメでした。) なぜVPCが必須なのか? Memorystore のネットワーク要件 Cloud Runの接続要件 推奨される構成 サーバーレス VPC アクセスコネクタ…

【RaspberryPi】ros2を入れてみました

ラズペリーパイ4にros2を入れてみました。 ros2とは OS セットアップ システムアップデート ROS 2のリポジトリを追加 リポジトリの鍵を追加 リポジトリを追加 システムを更新 ROS 2のインストール ROS 2(Humble Hawksbill)インストール 環境変数の設定 ROS 2…

【python】flake8 の使い方

flake8 の使い方をここにメモします。 flake8 インストール コマンド 実行したディレクトリの配下を再帰的にチェック 特定のファイルのみをチェック 特定の error を無視してチェック 特定のフォルダをチェック対象外 1行あたりの最大文字数を指定 flake8 の…

【CloudRun】「CPUを常に割り当てる」と「インスタンスの最小数を常に割り当てる」の関係について

Cloud Run で「CPU を常に割り当てる」と「インスタンスの最小数を設定する」は、密接に関連していますが、異なる目的を持つ設定です。それぞれの設定が何を意味するかをここにメモします。 CPU を常に割り当てる 設定内容 デフォルトでは Cloud Run はリク…

【Firestore】カウントアップする ID を返す API 作成(失敗編)

以前考案した Firestore でカウントアップする ID を返す API ですが、うまくいかなかったので、その時のメモをここに残します。 背景 Firestore の分散カウンタについてメモ 以前考えていたもの 処理の流れ 図 説明 問題点 背景 Firestore のドキュメントへ…

【Firestore】Firestore で高負荷なシステムでオートインクリメントIDを採番

Firestore で高負荷なシステムでオートインクリメントIDを採番する方法をここにメモします。(失敗例も含め ...) 負荷テスト1 テスト内容 条件 cloud function Firestore コード 結果 次の案 再度負荷テスト2 分散カウンターの概念 カウンターシャード IDの…

【github】Mermaid コメントの入れ方

Mermaid でコメントの入れ方がわからなかったので調べたことをここにメモします。 コメント 書き方 %% で始まる部分はコメントとして無視される 例 Write ```mermaid flowchart %% ここにコメントが書けます。 hoge --> hoge-hoge ``` Preview

【python】スプレッドシートの特定のシートをクリア

python でスプレッドシートの特定のシートをクリアする対応があったのでその時のメモをここに残します。 準備 認証情報の設定 スプレッドシート準備 コード 準備 認証情報の設定 クレデンシャル JSON ファイルを使用して認証し、APIへのアクセスを可能にさせ…

【Firestore】カウントアップする ID を返す API 作成

Firestore でカウントアップする ID を返す API 作成したのでその時のメモをここに残します。 Firestore 用途と主な利用ケース データモデル パフォーマンスとスケーラビリティ データの永続性と信頼性 料金 無料枠 サンプル パッケージ コード デプロイ Fir…

葬送のフリーレンのコラボ釜飯を食べました

『葬送のフリーレン』と『荻野屋の釜飯』がコラボ釜めしを作ったというニュースを見て買ってみました。 今回は、「フリーレンの肉盛り釜めし」「フェルンの鮭ソテー釜めし」「シュタルクのハンバーグ釜めし」の3種類があるみたいで、「シュタルクのハンバー…

【Cloud Functions】@functions_framework.http の request オブジェクト

Google Cloud Functions で @functions_framework.http を使用する場合、request オブジェクトにどんな情報が含まれているかここにメモします。 request オブジェクトで取得できる情報 サンプル request オブジェクトで取得できる情報 HTTP メソッド request…

【Memorystore】カウントアップする ID を返す API 作成

Cloud Run で Memorystore(Redis)を利用してカウントアップする ID を返す API を構築する方法について、手順を簡単にまとめてみました。 Memorystore(Redis)のインスタンスの作成方法 手順 インスタンス画面の行き方 インスタンスの設定入力 Cloud Run …

【python】Locust で api の負荷テストを行ってみる

シンプルな UI で初心者にもおすすめということで、Locust というツールを使って api の負荷テストを行ってみました。 Locust 特徴 インストール 作成 実行 Web UI パラメータ設定 結果 Locust オープンソースの負荷テストツールで、api の負荷テストなどを…

【RaspberryPi】/etc/sudo.conf の権限を変更してしまい復旧を試みるが失敗してしまった話...

RaspberryPi で不用意に 「/etc」の権限を変更させてしまい、その中に「/etc/sudo.conf」が含まれていたため sudo が使用できないといった問題が起こりました。 いろいろ復旧を試みたのですが、うまくいかず...いったんここにメモを残そうと思います。 Raspb…

【Raspberry Pi】ORB-SLAM3をインストールする方法

Raspberry Pi に ORB-SLAM3 をインストールする方法をここにメモします。 ORB-SLAM3 とは 準備 基本的なツールとライブラリのインストール OpenCV インストール Pangolin(ORB-SLAM3 の描画に必要なライブラリ) ORB-SLAM3 ソースコード取得 ORB-SLAM3 用の …

【Raspberry Pi】cv2(OpenCV)をインストールする方法

Raspberry Pi に cv2(OpenCV)をインストールする方法をここにまとめます。 pipでインストール システムのパッケージ更新 pip インストール opencv-python パッケージをインストール ソースコードからビルドしてインストール システムのパッケージ更新 ビル…

【raspberrypi】MPU6050 で移動した履歴を描画してみる

ラズペリーパイで、mpu6050 で取得したデータをmatplotlibを使って XY 軸のマップに描画する処理を作ってみました。 処理イメージ 準備 ライブラリインストール コード MPU6050 データ取得 Flask-SocketIO と Matplotlib を使った処理 フロントエンド 起動 …

紅葉をみに山に登ってきました。

紅葉をみに山に登ってきました。 youtu.be

【crystal】compile エラー

crystal でコンパイル中に以下のエラーがでてしまいました。 Invalid memory access (signal 11) at address 0x7f452d062b98 [0x7f456c052ee6] ??? [0x7f456bfa9a6b] ??? [0x7f456ce20491] ??? make: *** [Makefile:19: build] エラー 1一旦メモ...

【RaspberryPi】モータを沢山動かしてみたい

RaspberryPi で沢山モータを動かしてみたくてサンプルを作ってみました。 ここにメモを残します。 動作 コード モーションファイル pattern_01.json pattern_02.json pattern_03.json 動作 www.youtube.com www.youtube.com コード import Adafruit_PCA9685 …

【RaspberryPi】vi でキーボードの方向キーが効かない時の対応

vi でキーボードの上下左右のキーが効かずにアルファベットになって困ったのでその時の回避方法をここにメモします。 回避方法 touch ~/.vimrc vi ~/.vimrc追記内容を以下の通りです。 set nocompatible おまけ Bacspaceの有効化 set backspace=indent,eol,s…

【python】pyenv でインストールが失敗した時の回避方法

エラーの一部 ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? 回避方法 $ CFLAGS=-I/usr/include/openssl LDFLAGS=-L/usr/lib pyenv install -v {{バージョン指定}}

【raspberrypi】初期セットアップ

raspberrypi の初期セットアップ手順をここにメモします。 OS インストール 「Raspberry Pi Imager」 microSD カードにOS インストール デバイスを選択 OS を選択 ストレージを選択 「次へ」 raspberry Pi 本体 起動 OS インストール 作業用 PC から「Raspbe…

【岩手】岩泉町に行ってきました

今年も岩泉町の松茸まつりに行ってきました。第25回岩泉まつたけ祭り開催 - 岩泉商工会a1026302.hatenablog.com 食事 香りが良くて美味しかったです。 お土産 抽選会でお酒が当たりました。 お土産に松茸を買いました。 風景 www.youtube.com www.youtube.com

【Python】Google Sheets API の batch_update を使ってみる

Google Sheets API の batch_update を使ってみたので、その時のメモをここに残します。 updateCells サンプルコード 補足 rowsプロパティ rows.values.CellData.userEnteredValueプロパティ fieldsプロパティ deleteDimension サンプルコード pasteData サ…

【perl】外部コマンドでシェルを指定する方法

perl から外部コマンドを実行すると sh で起動してしまうため、bash を指定してコマンドを実行する方法を調べてみました。 方法1: 「system」関数で 「bash -c」を使用 方法2: 「qx//」 で 「bash -c」 を使用 方法3: バックスラッシュ で 「bash -c」 を使…

【lua】redis でメモリ使用量の大きいキーを探す

redis でメモリ使用量の大きいキーを探したときに使用したスクリプトをここにメモします。 redis と lua について redis は、サーバー上で lua スクリプトを実行させることができます。 実装 コマンド $ redis-cli --eval mem_usage.lua | head -200 スクリ…