2022-12-28

Anaconda Navigatorのアップデート方法

 Anaconda Navigatorの最新バージョンがいくつなのかは、

を見ることで確認できます。で、自分が使ってるNavitgatorのバージョンは Help →Aboutで確認すると、1年位古いのでバージョンアップ。その方法ですが、Anaconda-Promptを起動して、そこで以下のコマンドを打ちます。

conda update anaconda
conda update anaconda-navigator

でOKです。anacondaをアップデートするだけではダメなんですね。なんか、Navogatorの動作がいまいちな時、意外とアップデートで解決することがあるので、お試しあれ。

2022-12-22

MacのJava(Temurin)をアップデートしてみた

愛用しているMacの中で、一部のマシンでJDKのバージョンが古いのが見つかりアップデートを試みたので、そのメモ書きです。意外に情報がすぐに見つからなかったのでハマりました。

Macで動いているJDKが Temurinであることが前提です。TemurinとはOpenJDKの1つで、Eclipse FundationがサポートしているJDKのようです。もともとはいっていたのか、あとから自分で入れたのか。。。ちょっと記憶が曖昧です。

Macで動かしているJavaのバージョンがなんなのか確認してみましょう。

java --version

Temurinであれば、下記のコマンド一発でできます。

brew install --cask temurin

なお、勝手に最新版が入りますので注意しましょう。バージョンを指定したい場合は、temurin8とかtemurin11とかにしてください

2022-12-16

OpenCV: 背景差分(Python編)

 OpenCVで背景差分を取得するプログラムです。びっくりするほど簡単にできてしまいますね。 ポイントとしては、

  • OpenCVには複数の背景差分アルゴリズムの関数が用意されている
  • 戻り値として、背景画素を0、前景画素を255とした2値画像が返される
というところです。これを応用すれば、人物だけ取り出すということも容易にできるわけです。



2022-11-13

Python:shutil.copyfileでPermission deniedが出た時

 表題の通り、ファイルをコピーしようとした時に、Permission deniedがでると、なにやらフォルダのアクセス権限に問題あるのかと思ったりしますが、これはcopyfile関数の誤解されやすい仕様です。

コマンドラインでファイルコピーになれている人は、ついつい

  • コピー元ファイル名、コピー先ディレクトリ
という発想をしがちでですが、この第2引数をディレクトリにしてしまうとこのエラーが出るようです。
  • コピー元ファイル名、コピー先ファイル名
というように、いずれの引数もファイル名まで指定しましょう。



2022-11-01

Anacondaのアップデート方法(Mac編)

 とりあえずメモ書き。以下のコマンドをターミナルで順番に打っていけばよい。

  1. conda update conda
  2. conda update --all
  3. conda update python  ←Pythonのアップデートをしておきたい場合
なお、Anaconda でのEnvironmentにあるパッケージのバージョンは、Anaconda.Navigatorからアップデートすることができます。矢印マークが付いているはずです。



2022-10-23

Windowsでステレオの音声ファイルをモノラルにかえる方法

ちょっとしたミスで、極性が反転したステレオ音声ファイルができてしまったので、モノラルに変更した際のメモ書きです。

利用するソフト

方法

ファイルを読み込ませたあと、左のペインの三角印▼をクリックすると、下記の図のようなメニューが出てくるので、「ステレオからモノラルに分離」を選択。

そうすると2つに分離されるので、どちらかを消して(消さなくてもいいかは未確認) 【ファイル】→【書き出し】でOK。












2022-09-23

Java: エンコーディングwindows-31jにマップできません

WindowsでJavaをコンパイルした時に、表題のエラーが出るときがあります。

原因

  • ソースコードとWindowsのJava環境で扱う文字コードの違い。

解決策

  • コンパイル時の引数に  -encoding UTF-8 を付ける
補足情報
Windows31Jというのは、別名MS932(CP932)とも言われる日本語を扱う文字コード。Windowsの日本語文字コードはShift JISという認識が根強いが、厳密には異なっている。現状では、MS932(CP932)とか、Windows31Jといいのが正しい。



2022-09-17

Python:Google Classroomの受講生のメールアドレスを取得する

Google Classroom APIについては、GASのサンプルはネットによく出回っているのですが、Pythonでの記述方法がよくわからなかったので、メモ書きです。GASの場合と異なるのは、SCOPEの宣言をしないといけないのと、credentialsファイルの読み込みも必要になってくる点ですね。スコープを変更する際には、credentialsファイルも作り直す必要があるので要注意です。



ターミナルからVisual Studio Codeを起動する方法

 最近は、WindowsでもBashが使えるようになったことから、GUIからCUIへ回帰する雰囲気がありますが、コマンドラインでVS Codeを使えると便利ですよね。実は、code で呼び出せるんですが、拡張機能をインストールしておく必要があります。

VSCodeのコマンドパレットを開き、「shell command install」で検索することで、

「シェルコマンド: PATH内に ‘code’ コマンドをインストールします」

を選ぶことで、呼び出しのコマンドが使えるようになります。



2022-09-06

Cefsharp browsersubprocessが邪魔してソフトがインストール出来ないときの対処法

先日、OBS Studioのバージョンアップをしようとしたら、Cefsharp browsersubprocessを終わらせないといけない(意訳)というエラーがでて、インストールできない事象が発生。プロセスも複数あり、どれを終わらせてもゾンビのように復活。。。どのアプリが悪さをしているのか、、、とおもったら、DeepLでした。

DeepLを終了したら、そのプロセスも消え、無事インストール完了。





2022-08-30

Visual StudioでNugetを用いてライブラリをインストールする

Visual Studioで開発する時に関わらず、プログラミングをする際に、他のソフトウェアライブラリを利用する場合は多々あります。その際は、そのライブラリをダウンロードするだけでなく、開発しているプログラムがそれを使えるように設定する必要があります。

Pythonなどでは、pip などのコマンドを利用して各種ライブラリを利用しますが、Visual Studioにも同様のフレームワークがあります。それがNugetです。Nugetではライブラリのことをパッケージと呼んでいます。

Nugetパケージマネージャー

下記の図のとおりに、Visual Studioのメニューより、ツールを選択することで見つけることができます。コンソールを利用してコマンドラインでパッケージをインストールしたり、GUI画面を利用してパッケージを管理することができます。

使いたいライブラリがNugetに対応しているか?

Nuget.org にアクセスすると、登録されているライブラリとそのインストールコマンドを見つけることができます。有名なライブラリは対応していますので探してみてください。また、パッケージの管理GUIでも見つけることができます。





2022-03-26

MacOS12.3 でM5Burnerが動かない事案が発生

この記事の執筆段階(2022/03/26)の情報ですが、MacOSを12.3 にするとM5Burnerが動かないようです。UIFLowを使うにはM5Burnerが必要なんで、これは非常に不味い状況です。おそらくPython関係の環境が変わったからだと思われますが、とにかく注意が必要です。回避策としては、Windowsマシンを使うか、以前のVersionのMacOSを使うかですね。

状況は下記からも確認できると思います。

https://community.m5stack.com/topic/4140/m5burner-does-not-work-in-macox-12-3



2022-03-22

keytool を実行して“アクセスが拒否されました”というメッセージがでた場合

Windowsでkeytool を実行して“アクセスが拒否されました”というメッセージがでる原因は、ずばり実行権限がないということです。つまり、管理者権限で実行すればいいわけで

  • Windowsターミナル(またはPowershell等)を管理者権限で起動してコマンド実行
で解決です。ターミナルを管理者権限で起動する方法は、デスクトップ左下のWindowsアイコンを右クリックしてでてきたメニューの中でWindowsターミナル(管理者)とかPowershell(管理者)を選べばOKです。



M5Stack(Basic)のUSBドライバーインストールの際の注意点

表題の件、意外とトラップな要因があってハマりました。

M5Stack(Basick)は2種類ある

もともと、M5Stack(Basic)には CoreとCore2の2種類がありました。で、このCore2についてですが、どうやらハード的なマイナーバージョンアップが、2021年秋に行われたようで、v2.4からv2.6に変わってます。で、何が一番やっかいかというと、USB関係のチップが変更になっており、インストールするドライバを変える必要があります。具体的には、CP2104→CH9102Fへ変更です。

正しいドライバをダウンロードする
ネットで「m5stack  download」と検索すると、下記のサイトが出てきますが、ここはダメです(情報が古い)。

(ダメなサイト)
 https://shop.m5stack.com/pages/download 














(正しいサイト)
https://docs.m5stack.com/en/download
上記のページのメニューから「SOFTWARE」→ 「Developer Tools」を選んでもいくことができます。














ここから、CH9102 のドライバーをダウンロードしてください。

見分け方は?

外見からはv2.4とv2.6はわからないと思います。なお、CH9102 のドライバーをインストールしたら、v2.4の端末も認識しました。たぶん、バージョンが不明ならCH9102 のドライバーを入れておけば安心ですね。

なお、接続時にはどちらが刺さっているのかは明らかにわかります。

  • /dev/tty/usbserialxxxxxxxx  であればv2.4
  • /dev/tty/wchusbserialxxxxxxxx であればv2.6
がつながっていることになります。





2022-03-19

2021年度卒業生を送り出して

 


2021年度の卒業式を迎え、学部生9名、大学院進学者2名が巣立ちました。おめでとうございます。

今年は、コロナ禍が続く中、オンラインを中心としたZoomやビデオなどを試行錯誤しながら指導してきましたが、皆さんは積極的に質問をしてきて、想定以上の成果を出してきました。個人的にも新しい研究指導のスタイルが見えてきた気がします。

また、今年は、コミュ力の高い学生が多かったせいか、対面時間が少なかったにも関わらず、団結力を感じる世代でした。H28年度のブログ記事を確認すると、「想定外の対応をせよ」と書いてありました。まさに、このコロナ禍は想定以上のものであり、皆さんはその中で立派に対応してきました。

ただ、こんな想定外の中で、我々はZOOMのようなオンラインツールを手に入れました。この経験を生かして、皆さんは新しい社会活動のあり方を示してほしいと思います。今後の皆さんの人生に、素晴らしい出会いや体験がたくさん訪れることを祈っています。



2022-02-28

No SQL Workbenchを利用する(初期設定とOperation Builderの使い方)

 DynamoDBのデータの中身を確認したり、データモデルを設計するクライアントソフトととして、AWS公式ツールであるNo SQL Workbenchがあります

ダウンロードサイト

下記からダウンロードしてください

初期設定(DynamoDBに接続する)
いろいろメニューがあるのですが、
  • Operation builderを選択
  • Add connection
と進みます。すると、AccessKeyなどを設定するウィンドウが出てきますので、そこに適切な情報を入れてください。

Operation Builderの使い方
Operation Builderをクリックすると、テーブルがリストアップされます。テーブルをダブルクリックすると。その中身を見ることができます。しかし、Operation builderでできることはそれだけではありません。
(1)PartiQL Operations
PratiQL(DynamoDBで使えるSQLライクなクエリー言語)を記述することでその挙動を確認することができます。
(2)Interface based Operations
PratiQLの書き方に不慣れな場合は、こちらがオススメです。GUIメニューに検索条件を追加することで、それに相当する処理を確認できます。

Codeの自動生成もできる
Gererate Codeのボタンを押すことで、Python, JavaScript, JavaでOpearationに相当する記述が自動生成されます。冗長な記述のような気もしますが、参考にはなると思います。

ちょっと大雑把な記事になりましたが、このソフトを利用することでDynamoDBの使い方も理解できるようになるかと思います。





2022-01-06

DLL 登録時に 0x80070005 のエラーが出た時の対処法

【症状】

Regsrv32.exe コマンドを使用して自作DLLを登録しようとした時に、

  • エラーコード:0x80070005 
で登録できませんというメッセージがでる。

【対処法】
  • 管理者権限でターミナルを起動しなおし、コマンドを実行する