mvnからazureを利用しようとするとサブスクリプションエラーが発生する

【事象】
MS Learnのクラウドスキルチャレンジ Java 特別編の登録を行い、
最初の単元である Azure 上の Java の概要 - Learn | Microsoft Docs を実施しようとしていた。
Azureは自身MS Learnのアカウントはまだ無料登録したことなかったため、Azureの無料サブスクリプションを事前に紐づけていた。
また、Azure App Serviceがポータル経由で追加できることも確認を行っていた。
そこで、以下のコマンドを実行する事になっているので実行した。

mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config

しかしながら、以下の様なエラーメッセージが表示されてしまい、進めれなかった。

[INFO] Scanning for projects...
[INFO]
[INFO] ------------< org.springframework.samples:spring-petclinic >------------
[INFO] Building petclinic 2.4.5
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:1.12.0:config (default-cli) @ spring-petclinic ---
[WARNING] The POM for com.microsoft.azure.applicationinsights.v2015_05_01:azure-mgmt-insights:jar:1.0.0-beta is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO] Auth Type : AZURE_AUTH_MAVEN_PLUGIN, Auth Files : [C:\Users\hogehoge\.azure\azure-secret.json]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.526 s
[INFO] Finished at: 2021-04-30T19:38:43+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config (default-cli) on project spring-petclinic: Cannot get Web App list due to error: No available subscription found in current account.. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

【対応方法】
以下で解決した。
1.azure-secret.jsonというファイルが生成されているので削除
2.Azure CLIをインストール
3.コマンドプロンプトを起動し、az loginを実行
4.同じコンソールで、mvn~を実行

【原因】
不明
但し、GitHubで同じ様な記載を発見した。
github.com
az loginを実行後には、azureProfile.jsonというファイルが生成されていたが、元々生成されていたazure-secret.jsonと見比べたが色々フォーマットが違うところはあるが、自身のアカウント事態には紐づいてそうだったので、何が原因かは正直分からないがあまり追いかけるところではないかと思いこれで解決とする。

【補記情報】
azure.microsoft.com
B1:8.40[円/時間]、P1V2:22.400[円/時間]
azure-webapp-maven-pluginからは選択できないが、
Azure App ServiceにはF1:0[円/時間]や、D1:1.456[円/時間]というインスタンスもある。
それぞれ利用制限は厳しめであるが、簡単な検証用途であれば利用するシーンあるかも。

Androidで電話の着信のみ一時的に通知しない様にしたい

ユースケース

学習部屋などでスマホのデザリングを使ってネットは行いたい。
しかし、電話やLINEなどの対人が関わるアプリは遮断したい。

対応方法

1.フォーカスモードを用いる
2.サイレントモードを用いる

フォーカスモード

効能

特定のアプリの利用を一時的に遮断する。

設定方法(Pixel5の場合)

対応方法1:クイック設定パネル(※1)でフォーカスモードをONにする
対応方法2:設定 -> Digital WellbeingでフォーカスモードをONにする

※1 上部を下にスワイプしたら出てくるボタン群のこと

カスタマイズ方法(Pixel5の場合)

設定 -> Digital Wellbeing - フォーカスモード を選択するとアプリを選択できる。

設定の注意点

・フォーカスモード利用時でもバイブの設定などしていた場合は、連動する模様
 (この仕様がまだ作りこみされていないところかもしれないので今後変更になるかもしれない)
・通話が発生するとフォーカスモードのため遮断してますが解除しますか?
 というポップアップが表示される。これを非表示にする設定は今のところなさそう。

サイレントモード

効能

許可した内容以外を一時的に遮断する。

設定方法(Pixel5の場合)

対応方法1:クイック設定パネルでサイレントモードをONにする
対応方法2:設定 -> Digital WellbeingでサイレントモードをONにする
対応方法3:設定 -> Digital Wellbeingでおやすみ時間モード(※2)をONにし、
      おやすみ時間モードがONのときのオプションで
      おやすみ時間モードでサイレントモードをONにする設定をする

※2 ミュートにしたり、 画面をグレースケールに変更したりする機能

設定の注意点

・サイレントモードの詳細設定で通知の表示オプションを設定しないと通話が表示される
 お勧めの設定は通知の非表示、通知音なしである。
 この設定にすると、モードONの時には表示されないが、モードOFFの時に表示され検知できる。
 一方、カスタムで全設定をOFFにすると、アプリに着歴は残るが気づくタイミングが無い。

共通の注意点

楽天モバイルの場合は楽天Linkアプリを止める必要がある
 同様に利用している通話アプリがデフォルトと異なる場合はそちらを加える必要がある
 そのため、事前に遮断できるかどうか試しておいた方が無難
・電話を遮断する訳ではない
 相手からしたらコールしたまま待っている形となる。
 そのため、電話アプリなどを触っているともしかしたら繋がる可能性は可能性としてはあり得る。

その他

・アプリで非通知にする様なアプリがあるかもしれないが、そちらは未調査である。
 (該当しそうなアプリあったが、着信してすぐ切るみたいな挙動ぽかったのと、
  あまり通話関連の操作の権限を良く分からないアプリに設定したくないため)
機内モードも最近はBluetoothはONのままにできるので、
 ネットワークも使わないけど音楽は使いたいという人は検討の余地あり。
 但し、機内モードの場合は、相手先は圏外として取り扱われる。

ペイントだけでモザイク処理を実現する方法

【やりたいこと】
車のナンバープレートや人の顔など自分の変えたい部分だけ簡単にモザイク処理を行いたい

【対応方法】
1.Win → paintなどでペイントを起動
2.画像をペイントに読み込ませる
3.ホームメニューをクリックし、選択をクリック
4.モザイクかけたい領域を選択
5.Ctrl + wを押して、サイズ変更と傾斜を呼び出す
6.水平方向と垂直方向を100より大きい値を入力し画像を縮小(※1)
7.Ctrl + wを押して、再度サイズ変更と傾斜を呼び出す
8.水平方向と垂直方向を100より大きい値を入力し画像を拡大(※1)

※1 値の指定方法
100を6.の縮小で指定した値で割った値を、8.の拡大で100にかけた値として指定
例) 縮小で50を指定したら、拡大では200を指定する
なお、水平方向と垂直方向の値は、縮小・拡大時も同じ値
(縦横比を維持するのチェックボックスがONなら自動で同じ値が設定される)

【その他】
・縮小や拡大で指定できる値は1~500まで
・私のお勧めは、今のところ2パターン
 [原型留めるモザイク]
  20で縮小、500で拡大
 [原型留めないモザイク]
  20で縮小し、再度20で縮小
  その後、500で拡大し、再度500で拡大
・昔は4.の処理の後、Ctrl + -/+で縮小/拡大というショートカットができていたと思うのだが、今はどうもできない。
・この手法(MSペイントの画像縮小/拡大でモザイク処理)自体は、WoodStreamのデジタル生活で話されていた内容が原案です。
windows-podcast.com

投資効果の検討(NPV/PBP/IRR/ROI)

NPV[Net Present Value]:正味現在価値

将来のある時点におけるお金の価値を、現在のお金の価値に換算したもの。
将来見込まれているキャシュイン/アウトを現在の価値に換算するために割引率を考慮する。
(キャッシュインであれば金利、キャッシュアウトであれば利息)
NPVがプラスであれば経済価値があり、マイナスであれば採算性がないことを指す。
NPV | みずほ証券 ファイナンス用語集

IRR[Internal Rate of Return]:内部収益率

NPVをゼロにする際の割引率を指す。
投資において最低限達成しなければいけない目標の利益率と考えられる。
glossary.mizuho-sc.com

PBP[Pay Back Period]:回収期間

投資額を回収するために必要な期間のこと
例えば、投資額が100万円、1年間のキャッシュインが50万円が続くのであれば、回収期間は2年である。

ROI[Return Of Invesment]:投資利益率

投資額に対する利益の割合で、利益/投資額で求めれる。

関連用語

ハードルレート

投資をする上での判断基準とする指標で、これよりも収益率が低いと投資不適切とする指標である。
一般的には、資本コスト[WACC:Weighted Average Cost of Capital]にリスクプレミアムを勘案した値となる。

資本コスト

資金調達のために企業が必要なコストのこと。
資本調達のための借入金の利息支払いや、社債のコスト、株式の配当金などを勘案した費用である。

ROE[Return of Equity]:自己資本利益率

自己資本に対する利益が占める割合で、当期純利益/自己資本で求めれる。
企業が自己資本をいかに効率的に運用して利益を生み出したかを表す指標である。

自己資本・純資産・他人資本・総資本

返済する必要がない資金で、株主から集めた資金と、経営活動の結果得られた剰余金を合算したお金のこと。
類似語に純資産があり、これは自己資本に加え、新株予約権や少数株主持分なども含まれる。
対義語は他人資本であり、支払手形・買掛金・借入金・社債などを合算したお金のこと。
自己資本他人資本を合わせて総資本と呼ぶ。
kabusenlife.com

流動資産・固定資産・繰越資産・総資産

流動資産は、比較的短期間に換金できる資産である。
(ex. 現金、預金、受取手形売掛金棚卸資産短期貸付金、有価証券)
固定資産は、長期間にわたって利用または所有する資産である。
(ex. 土地、建物、機械、ソフトウェア、投資有価証券)
繰越資産は、支出の効果が1年以上にわたって影響するものとして資産として計上するものである。
(ex. 開発費、創業費、社債発行費、株式交付費、創立費)
繰延資産とは?固定資産との違いは?償却方法と仕訳処理は?|freee税理士検索
総資産は、流動資産・固定資産・繰越資産を合算した値であり、金額は総資本と同じ値になる。

社内プロキシ(認証有)な環境でdockerのイメージをビルドしたい

行いたい事

  • docker-composeを用いて、dockerfileのビルドをWindows10のPCで行いたい
  • WIndows10のDocker Desktop for Windowsでコンテナを起動させたい
  • 社内プロキシ(認証有)な環境で行いたい

事前設定・嵌った時の振り返りポイント

  • Docker Desktop for Windowsのプロキシ設定を確認しておく

 多分ビルドの時は直接アクセスするパターンが主ではあるが、コンテナ起動後の問題になるので

 http_proxyなど定義されているかどうか、それが想定通りなのかどうか

  • Windows10のプロキシ設定

WinHTTPプロキシの設定方法 - maruko2 Note.
・docker-composeを実行する環境のプロキシ設定
 上記を全て確認したのに、実行するコンソールの時だけ想定と狂っている事ないか

対応方法

ゲストOS, ゲストOS内pip用

docker-composeを実行する際に引数としてプロキシ情報を渡してあげる
大文字と小文字両方定義しておく方が無難

set USER=hoge
set PASS=hogehoge
set PROXY=http://%USER%:%PASS%@proxy.example.com:8888
docekr-compose build --build-arg HTTP_PROXY=%PROXY% --build-arg HTTPS_PROXY=%PROXY% --build-arg http_proxy=%PROXY% --build-arg https_proxy=%PROXY%
ゲストOS内npm用

dockerfileにプロキシを参照する記述を行う
docker-composeで渡された環境変数を利用できるので、それで設定する
registryのデフォルトがhttps~なので、http~にしないと動かない場合がある(串次第?)

RUN npm config set proxy $http_proxy
RUN npm config set https-proxy $https_proxy
RUN npm config set registry http://registry.npmjs.org/

その他

利用したいnpmパッケージによっては、上記を設定しても動かない場合があるかも

私の場合は、JupyterLabでJavaScriptを利用するためのijavascriptが導入できなかった。

Step 15/21 : RUN npm install -g ijavascript
 ---> Running in f3dd86b4f755
npm ERR! code 1
npm ERR! path /usr/lib/node_modules/ijavascript/node_modules/zeromq
npm ERR! command failed
npm ERR! command sh -c node scripts/prebuild-install.js || (node scripts/preinstall.js && node-gyp rebuild)
npm ERR!
npm ERR! Error: connect ECONNREFUSED 52.192.72.89:443
npm ERR!     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
npm ERR!   errno: -111,
npm ERR!   code:

それ以外は無事導入できている事や、
他のパッケージで上記エラーをパッケージ側で直している事から多分自力では無理かも。
github.com
ただ自分のせいで無い事が証明できないのでissue登録できない…

ホスト名が解決できない場合は、docker-composeに定義すれば解決できる

qiita.com

ダブルクオーテーションなどの方言

プロキシの認証ユーザー名やパスワードのところにダブルクオーテーションが無いからエラーとか見かけた。
それを付ければ動くんだという回答と、それで動いた!ありがとう!というやりとりを見かけた。
よって、利用している社内プロキシによってはあり得るのかもしれない。
但し、私の環境では特にそんなことしなくても無事動いた。

Jupyter LabでPlotly Expressの図が表示されない

事象

Pandasのplotメソッドで表示した図は表示されるのに、Plotly Expressで表示した図が表示されない。

Plotly Expressのplotメソッド部分が何も表示されていない

原因

Jupyter Labにplotly-extensionを追加できていないため

対応方法

以下のサイトに従い、plotly-extensionを追加する
jupyterlab-plotly - npm

jupyter labextension install jupyterlab-plotly
無事表示された

補記事項

  • jupyter serverextension enable --py jupyterlab-plotlyと書くとエラーが発生する。

 なお、jupyter serverextension enable --py jupyterlabさえすれば活性化される。

  • jupyter labextension install @jupyterlab/plotly-extensionはdeprecatedなので、使わない。
  • Jupyter Labは一度再起動した方が良い

Jupyter LabのLauncherにJavaScriptを追加したい

【前提】
node.jsがインストールされている

【対応方法】

npm install -g ijavascript
ijsinstall

改訂版 Pythonユーザのための Jupyter[実践]入門

改訂版 Pythonユーザのための Jupyter[実践]入門

Node.js超入門[第3版]

Node.js超入門[第3版]