WindowsでDocker環境を使ったNode-REDの導入

これまでは色々とNode-REDを使用してきましたが今回はDocker環境を使ったものを設定します。 httpsが使用できないということもあり、ローカル環境のものでは無くクラウド環境のものを使用してきたのですが、今回はちょっとDockerの復習とNode-REDからSeleniumを使ってみることを見据えてやってみようと思います。また、以下のリンクを参考にしていましたが、少しだけWindows側では変更しなければならない事もあったのでその部分を追記してみようと思います。

参考

nodered.jp

DockerでNode-REDコンテナを構築し実行する

参考のリンクの情報には以下の様に記載があります。このリンク先の情報は大変丁寧にかかれており素晴らしい内容だと思います。

$ docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red

上記を参考にしてコンテナを起動すると…

一見これで問題はなさそうなのですが、このままコンテナを起動しても1つだけうまくいかない部分があります(うまくいかないとはいってもコンテナは起動します)。

続きを読む

dockerコンテナ間の疎通確認をしようとしたらpingがない!

dockerコンテナ間で通信を行って見ようかなと思ったらpingコマンドがない!

ubuntuのデフォルトコンテナを例えば以下のように実行すると

PS > docker run -it --name myubuntu ubuntu

起動後に以下のようにpingコマンドを実行すると以下の様に表示されます。

root@1b2dac91de25:/# ping
bash: ping: command not found
root@1b2dac91de25:/#

pingなどのコマンドはどうも基本のコンテナ内に入っていないようです。最小限度のものがコンテナに含まれるのでこのようなこともよく発生しがちです。仕方ないのでpingをインストールしていきます。

続きを読む

Macを使い始めて学んだショートカット(Windowsとの比較)

MacBookAirを手に入れて使い始めているのですが、やはりショートカットキーの部分でわかっていないので、タッチパットなど頼る操作が多く少しもどかしく感じています。

ということで、自分のメモということも兼ねてWindows時に使用していたショートカットキーの対比のような形でまとめます。そもそも双方で存在しない操作もありますが、その代替案を後日考えてみようかなと思っています。

記法について

シフトキーなどの修飾キーは【】←こちらの墨カッコをしようして囲んでいます。その他キーはそのままアルファベットなどを書くようにします。

アルファベットは表記のみやすさのために大文字にしていますが入力時は小文字(シフトキーなどは不要)にしてください。 同時に押す場合には+をつけています。

(2022.06.19 追記)「デスクトップの表示」を追記しました。 (2022.06.29 追記)「ファイルの削除」を追記しました。

続きを読む

ワイヤレスイヤホンが原因不明の不調だったので対応した話

ここ数日、いつも使用していたワイヤレスイヤホンがBuletoothのペアリングが不調で、ペアリングしても片側しか音がならないという現象に見舞われました。 その対応についてちょっとメモしておきます。

使用していたワイヤレスイヤホン

使用していたのはAnker Soundcore Liberty Air 2となります。

購入は2020年の年末のセールだったので1.5年ほど使用しているというところです。できればもう少し持ってもらって3年ぐらいつかったら買い替えしたいなあぐらいの考えだったので、今回の出費はちょっと痛いなという思いでした。

親機はAndroid端末だったのですが、Buletoothのデバイスの検索を行うと

  • Anker Soundcore Liberty Air 2  … 両耳用
  • Anker Soundcore Liberty Air 2-L … L側のみ片耳用

上記のデバイスが表示されます。

続きを読む

iPadでScratch使用時にスペースキーのイベント処理がうまく動作しない

Noteでは書いていたんだけど、長く残すためにこちらにも転記しました。内容は変更はありません。

note.com

note.com

2022年3月の年度末にiPadScratchのワークショップを計画していました。扱うワークをどうするか検討中に不思議な事象が発生してしまったの、調査を解決策をメモっておきます。

iPadでScratchを動かす

Scratchはいわずと知れた無料の教育プログラミング言語及びその開発環境でですが、iPadに関していうとブラウザ経由でしようすることになるかと思います。オフラインのアプリがダウンロードできるといいのですが、ストアにはScratch.Jrあるのですが、iPad用にはみあたりません。

f:id:ueponx:20220330235642p:plain

iPadでブラウザとなるとSafariを利用するか、別途ダウンロードしたGoogle Chromeを使用するかどちらかになるのかなと思いましたが、何台もiPadを準備する必要があったので、Safariで行う方向で検討しました。

以下のようにブラウザでアクセスしても問題なくエディタを開くことはできます。

f:id:ueponx:20220330235722p:plain

もちろんGoogle Chromeでも同様にScratchを動作させることはできます。ただ、画面上部にアドレスバーなどがあるので、ちょっと画面が狭いですがPCのように最大化することもできます。Safariではアドレスバー左側のあたりをタッチするとメニューが表示されて最大化をすることができるようです。

f:id:ueponx:20220330235857p:plain

不思議な現象が発生

そんな中、PCでワークショップ用の授業の内容を作っていて、iPadでも動作するかを確かめることになりましたが、現象はそこで発生しました。

想定の環境ではiPadに物理的にUSB経由でキーボードとマウスを接続してPCとほぼ同じ環境にしようとしていました。そのため、以下の変換コネクタを使用しています。これ2ポート接続できるので他のものより少し便利です。

f:id:ueponx:20220331000049p:plain

行っていたのはキーボード入力を受け付けて猫のスプライトを動かすというもので、少し簡素化すると以下のようになります。

f:id:ueponx:20220331000116p:plain

このコードではキーボードの【スペースキー】と【右向き矢印】のどちらを動かしても10歩動かすようになっているのですが、動作させると【右向き矢印】では意図通り動作しますが、【スペースキー】では動作しません。

もしかしてSafari側特有の問題なのかなと思って、Google Chromeでも試してみたのですが、やはりうまく動作しません。【矢印キー】が動作するので他のキー試してみたのですが、やはり【スペースキー】ではうまく動作してくれません。

いろいろと調査

ネットで同じような情報がないかと検索すると、うまくいかないこともあるという非常にあいまいな情報が多かったです。その時の打ち合わせでは時間がなかったこともあり、使用するキーを変更しましょうという話で決着がついたのですが、やはりもやもやしてしまいます。

iPadを家に持ち帰り、同様にやってみたのですが、うまく動作しました。あれ?

環境は変わっていません、接続するUSBキーボードが違うといったことはありますが、USBキーボードは特殊なデバイスでない一般的なものです。先ほどネット検索したときになんとなく引っかかった表現「うまくいかないこともある」というのはこういうところからきてるのかも?と思いました。

なにが違うのか考えてみたのですが、Scratch側のアプリには関係のない処理に原因があるのではないかと予想しました。そして、【スペースキー】のみ発生している事象なのでこのあたりに何があるのではと思って調べてみます。

原因は・・・?

いろいろと実験をすることで原因がわかりました。iPadに日本語キーボードを導入していて、操作時の入力モードが日本語入力になっているとスペースキーの動作が変換などに割当られ、【スペースキー】を押しても、スペース文字が入力されない状態になっていました。

授業デモのときには、日本語変換のままでScratchを操作していて、調査時は英数入力でScratchを操作していたという違いになります。

ようやく原因がわかりました。が、これ現在の入力モードがどちらなのかは実はScratch上では簡単にはわからないようです。また、物理キーボードの変換ボタンを押しても入力モードは変化しません(ここも厄介)。

キーボードを強制的に表示するのもできないようで、数値入力可能なのブロックなどにしてもこの日本語入力モードなのかどうかはわかりません(数値しか入力できないので)、最終的に行き着いたのは見た目のグループにある【話すブロック】を1つ取り出して、そこで文字を入力することで日本語入力モードか否かを判定する方法を思いつきました。

f:id:ueponx:20220331000307p:plain

変数やはなす言葉を日本語で入力することは多いので、変換の戻し忘れで容易にこのような動作になることは多いのかなと思いました。

この事象は日本でしか発生しない可能性があるので修正には結構時間がかかりそうですね。

日本語入力モード英数入力モードとを切り替える方法

先程はScratchを動作させているブラウザ(SafariChromeなど)で入力できる箇所で、日本語入力モードから英数入力モードに変更して、使用するというような回避をするとしていましたが、ちゃんと解決手段がわかりました。

対応方法について

ではどうやったらキーボードの操作によって、英数入力モードに変更できるかというと、

【Controlキー + スペースキー】を押下する

iPadに接続したキーボードでは【Controlキー + スペースキー】を押すことで言語を切り替えが可能になります。

f:id:ueponx:20220331000705p:plain

【Caps Lockキー】を押下する

iPad側の設定【Caps Lockキー】を押すことで切り替えることも可能です。

設定方法は以下で行います。デフォルトではオンになっているかもしれませんが念の為設定を確認しましょう。

【Caps Lockキー】を使っての切り替えは、iPadの【設定】から【一般】を選択して【キーボード】を選びます。【ハードウェアキーボード】()内の【Caps Lockを押して言語を切り替え】をオンにすることで、 【Caps Lockキー】を押して言語の切り替え(日本語入力モード⇔英数入力モード)が可能になります(切替えはこの2つに限られるようです)

(※)【ハードウエアキーボード】の設定はUSBキーボードを接続しないと表示されません。

f:id:ueponx:20220331000806p:plain

f:id:ueponx:20220331000822p:plain

f:id:ueponx:20220331000834p:plain

実際に入力時に【Casps Lockキー】を押下すると切り替えメニューが表示されるようになります。

f:id:ueponx:20220331000907p:plain

おわりに

iPadでScratchを動作させたときの不思議な挙動とその対応策についてのメモでした。iPadなどのタブレットでは日本語入力モードで変わった挙動をすることもあるので、キーボード周りの動作がおかしい場合には一度疑ってみてもいいでしょう。

ただ、【半角/全角キー】でできないのかは納得してない感じです😥

あと、【マイナス(-)記号】を入力すると、日本語変換候補ではほとんど違いの判別のつかない【マイナス記号】が出てくるのも辛いところです😥

【結論】スペースキーが動作しない場合には日本語入力モードを疑え

蛇足

日本語変換に関する動作で変わった挙動を示すのはScratchだけには限りません、以前Makecodeでも変わった動作が発生しました。それは日本語入力モードで数値【0】を入力すると【0】が2つ入力されてしまうというものでした。

日本語入力モードの入力と入力ボックスでのキーイベントの文字入力の2つが動作しているのは?という予想です。このときは入力値がおかしいのがすぐにわかる状況なので問題はないのですが、今回の実行時に発生する事象に関しては原因の特定が難しいですね。とくに、ある時は正常に動き、とあるときには全く動作しないというのが厄介です。

/* -----codeの行番号----- */