【おすすめガジェット】MX ERGOを4年間使ってみて

今回はトラックボールマウスとしてはかなり評判の高いLogicoolの「MX ERGO」について、筆者が長年使用してきた中での使用感やメリット・デメリットについてお伝えします。 MX ERGOの特徴 メリット その1:デスクスペースが広がる その2:手首の負担が減る そ…

AQUOS 8T-C60DW1を買った

最近、シャープの最新テレビ「AQUOS 8T-C60DW1」を購入し、その驚くべき映像体験に圧倒されました。 今まで使っていた「REGZA 40S8」と比較して感動ポイントを書いていきたいと思います。 まるで映画館のような臨場感 まず、画面の大きさに驚きました。 60V…

git clone時に詳細なログを出力させる

Gitのcloneコマンドを実行する際に詳細なログを表示させるには、GIT_TRACE環境変数を使用します。以下の手順に従ってください。 1: ターミナルまたはコマンドプロンプトを開きます。 2: GIT_TRACE環境変数を設定します。詳細なログを表示させるために、値に1…

「kubectl get」の内容をjqで絞り込んだpodに対して「kubectl logs」でログ出力したい

次のコマンドを使用して、kubectl getコマンドの出力をjqで絞り込み、その結果をkubectl logsコマンドにパイプしてログを出力することができます。 kubectl get <resource> -o json | jq -r '.items[] | select(<filter condition>) | .metadata.name' | xargs -I {} kubectl logs {} 上</filter></resource>…

Kubernetesで現在のユーザ情報を確認する

Kubernetesクラスターで現在のユーザ情報を確認するには、以下のコマンドを使用します。 kubectl auth can-i <verb> <resource> --namespace <namespace> このコマンドを実行すると、現在のユーザーが指定された<verb>と<resource>に対してアクセス権を持っているかどうかが表示されます。--namespaceフ</resource></verb></namespace></resource></verb>…

AirflowのKubernetesPodOperatorを使用して、別のNamespaceにデプロイする

AirflowのKubernetesPodOperatorを使用して、別のNamespaceにデプロイするには、以下の手順を実行する必要があります。 namespaceパラメータの使用 namespaceパラメータを使用して、KubernetesPodOperatorのNamespaceを指定する必要があります。これにより、…

【解決】「Could not retrieve the list of available versions for provider hashicorp/http: locked provider」が発生する

このエラーは、Terraformが特定のバージョンのプロバイダをロックしているため、hashicorp/httpプロバイダの利用可能なバージョンリストを取得できない場合に発生します。 この問題を解決するためには、次の手順を実行することができます。 Terraformのキャ…

「Failed to load state: Failed to open state file at gs」が発生する

このエラーは、Terraformが指定されたGoogle Cloud Storage(GCS)バケット内の状態ファイルを開けなかったことを示しています。このエラーが発生する可能性がある原因としては、次のようなものが考えられます。 GCSバケットが存在しない、またはTerraformが…

Terraformでエラーが出た時にリトライする方法

Terraformでエラーが発生した場合、自動でリトライする機能はありません。ただし、以下のような方法で手動でリトライすることができます。 リトライ用のスクリプトを作成する リトライ用のシェルスクリプトを作成し、terraformコマンドを再度実行します。以…

KubernetesのNamespaceとユーザの権限を紐づける

Kubernetes(k8s)クラスタでNamespaceとユーザーの権限を紐づけるには、RoleとRoleBindingを使用します。以下は、具体的な手順です。 Namespaceを作成する まず、Namespaceを作成します。例えば、"test-namespace"という名前のNamespaceを作成する場合は、…

Macでrubyのバージョンを更新する

macでrubyのバージョンを更新する方法はいくつかありますが、ここではrbenvを使った方法を紹介します。rbenvは、複数のrubyのバージョンを管理するためのツールで、macにインストールすることができます。 以下の手順で、rbenvをインストールし、rubyのバー…

【解決】「can only be default-imported using the 'allowSyntheticDefaultImports' flag」が発生する

このエラーメッセージは、ES6のモジュール機能を使って、モジュールの一部としてインポートされたJavaScriptファイルに関するものです。エラーメッセージは、インポートされたファイルがデフォルトエクスポートを持たず、代わりに名前付きエクスポートを持っ…

【React Native on Mac M1Pro】開発環境を作る

React Nativeの開発環境をMacに構築するには、以下の手順に従ってください。 Node.jsのインストール まず、Node.jsをインストールする必要があります。Node.jsは、React Nativeアプリケーションの開発に必要なJavaScriptランタイムです。今回はDocker環境を…

PropsWithChildrenで「currently no loaders are configured to process this file」が起こる

PropsWithChildrenを使用する場合、Reactコンポーネントの型定義を行う必要があります。しかし、その型定義が適切でない場合、Webpackなどのビルドツールで "currently no loaders are configured to process this file"というエラーが発生することがありま…

docker runでentrypointを上書きする方法

Dockerコンテナを実行するときに、docker runコマンドを使用して、entrypointを上書きすることができます。以下の手順に従ってください。 docker runコマンドで--entrypointオプションを指定して、上書きするentrypointを指定します。たとえば、次のようなコ…

【RaspberryPi Zero W】カメラモジュールからリアルタイムで映像を取得し、動体検知を行う

以下は、Raspberry Piのカメラモジュールからリアルタイムで映像を取得し、動体検知を行うPythonコードの例です。OpenCVを使用します。 from flask import Flask, render_template, Response import time import io import cv2 import numpy as np app = Fla…

【解決】ImportError: numpy.core.multiarray failed to import

ImportError: numpy.core.multiarray failed to import は、NumPyライブラリの問題が原因である可能性があります。このエラーは、NumPyライブラリが正しくインストールされていない、または環境設定が正しくない場合に発生することがあります。 以下の手順を…

OpenCVをインストールする

OpenCVはPythonで画像処理やコンピュータビジョンのためのライブラリです。Raspberry PiにOpenCVをインストールする手順は以下の通りです。 1: Raspberry Piのターミナルを開きます。 2: 以下のコマンドを実行して、ライブラリの依存関係をインストールしま…

【RaspberryPi Zero W】カメラモジュールの映像をストリーミングしてブラウザで視聴する

Raspberry Pi Zero Wのカメラ映像をリアルタイムでストリーミングする方法として、以下の手順を実行します。 1: Raspberry Pi Zero Wにカメラモジュールを接続します。接続方法は、モジュールの説明書を参照してください。 2: Raspberry Pi Zero WにOSをイン…

【RaspberryPi Zero W】カメラモジュールから画像を取得する

Raspberry Piには、標準的なカメラモジュールが用意されており、PythonのPicameraモジュールを使用して画像を取得することができます。 この例では、Picameraモジュールをインポートして、PiCamera()クラスを使用してカメラを初期化します。その後、カメラの…

Pythonのwithとは何か

Pythonのwith文は、ファイル操作やネットワーク接続などのリソース管理を行う場合に便利な構文です。with文は、リソースを使用する前に初期化し、使用が終わったら自動的にクリーンアップすることができます。 with文を使用する場合、次のように構文を記述し…

Pythonで自作例外をスローする

Pythonで例外を作成するには、Exceptionクラスを継承して新しい例外クラスを作成する必要があります。例外クラスは通常、プログラムが期待する動作を妨げるエラーを示すために使用されます。 例えば、以下のように、Exceptionクラスを継承して新しい例外クラ…

【RaspberryPi Zero W】LCDを制御する

LCDを制御するためには、Pythonのライブラリを使用することができます。 代表的なライブラリには、以下のものがあります。 Adafruit CircuitPython CharLCD:Adafruit社が提供するライブラリで、さまざまなLCDパネルに対応しています。 RPLCD:高速かつ汎用…

scpでディレクトリを転送するには

scpコマンドを使用してディレクトリを転送するには、-rオプションを使用します。これは、scpがディレクトリを再帰的に転送することを指示するオプションです。以下は、scpコマンドを使用してディレクトリを転送する方法の例です。 scp -r /path/to/local/dir…

Pythonでモジュールに定義されているクラス一覧を取得する

Pythonでモジュールに定義されているクラス一覧を取得するには、inspectモジュールを使用します。以下は、inspectモジュールを使って、モジュール内のクラスをリストアップする方法の例です。 import inspect import my_module # モジュール名を適宜変更する…

「pip list」と「pip freeze」の違い

pip listとpip freezeは、Pythonのパッケージ管理ツールであるpipのコマンドの一部で、インストールされているパッケージの情報を表示するために使用されます。しかし、それらは表示する内容に違いがあります。 pip listコマンドは、インストールされている…

【RaspberryPi Zero W】DockerコンテナからRaspberryPiのGPIO・I2C・シリアル通信を使う

DockerコンテナからRaspberry PiのGPIO、I2C、シリアル通信を使用するためには、ホストOS(Raspberry PiのOS)のデバイスファイルへのアクセス権限を与える必要があります。 以下の手順を実行して、DockerコンテナからRaspberry PiのGPIO、I2C、シリアル通信…

【RaspberryPi Zero W】Wiring Piのインストールと設定

Wiring Piは、Raspberry PiでGPIOピンを制御するためのツールキットです。Wiring Piをインストールするには、以下の手順を実行してください。 Raspberry Piのターミナルを開きます。 Wiring Piのインストールには、以下のコマンドを実行します。 sudo apt-ge…

【RaspberryPi Zero W】VNCをセットアップしてGUI操作する

以下のコマンドを実行します sudo raspi-config 設定画面が起動するので、Interface Optionsを選択 P3 VNCを選択 有効にするかどうか聞かれるのでYesを選択 するとVNCサーバーのインストールが開始される。 Display Optionsを選択 05 VNC Resolutionを選択 …

【RaspberryPi Zero W】Docker をインストールする

Raspberry PiにDockerをインストールするには、以下の手順を実行してください。 Raspberry Piのターミナルを開きます。 以下のコマンドを入力して、必要なパッケージを更新します。 sudo apt-get update Dockerをインストールするための依存関係パッケージを…