Windows版ForkでGitHubの認証をパスワードベースからトークンベースに変更したい

【対象ソフト】
git-fork.com
(お試し利用が無償であって、有償ソフトです)

【背景】
GitHubが2021年8月13日以降にパスワードでのGit操作が禁止になる。
GitHub、2021年8月13日以降パスワードでのGit操作を禁止へ | TECH+
そのため、その前にGitHubの認証をパスワードベースからトークンベースに変更したい。

【対応方法】
1.パスワード情報の削除
そもそも最初Forkで設定していた際に最初登録したもののどこに保管されているか把握できていなかった。
そのため、どこを書き換えたらいいのか分からなかったが、以下のサイトで丁寧に解説してくれていた。
ksby.hatenablog.com
入力された認証情報はWndowsの資格情報マネージャーに登録されるとのこと。
よって、githubの資格情報をまずは削除する。

2.GitHubの個人用トークンの作成
英語ではあるが丁寧に公式で解説してくれているので、それに従って生成する。
docs.github.com

3.Forkを起動して、GitHubにアクセス
Forkに登録しているGitHubリポジトリでpushなど実行を行う。
するとダイアログが表示されるので、先ほど発行した個人用トークンを設定する。

f:id:yoneyore:20210501223118p:plain
ここに発行した個人用トークンを設定する

【その他】
・Fork 1.59では画面の様なアクセストークンを入力するテキストボックスが表示されなかった。
 Fork 1.61にアップデートするとテキストボックスが表示された。
 この入力フォーム自体はGitHubが生成してそうなのに謎である。。(たまたまか?)
・forkのアップデートは自動で行われるが、手動は[File] - [Check for Updates]で行える。

mvnを実行すると"11は無効なターゲット・リリースです"と怒られる

事象

渡されたpom.xmlコンパイルを行うと、以下の様なエラーメッセージが発生する。

(中略)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.744 s
[INFO] Finished at: 2021-05-01T10:53:10+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project azure-javaweb-app: Fatal error compiling: 11は無効なターゲット・リリースです -> [Help 1]

原因

mavenコンパイルおよびターゲットの定義がJavaSE11を指していたため。
今回はCorreto8を用いて作業したかったため、コンパイルに失敗していた。

対応方法

以下の様に定義変更を行えばよい。

(中略)
    <maven.compiler.source>11</maven.compiler.source>  ← 8にする
    <maven.compiler.target>11</maven.compiler.target> ← 8にする

補足

source:ソースがどのJDKのバージョンの文法として書かれてるかを指定
target:指定されたリリースの仮想マシンをターゲットにしたクラス・ファイルを生成
    クラス・ファイルは、指定されたターゲット以降のリリースでは動作するが、それより前のリリースのVMでは動作しない
release:上記を纏めたオプション、JDK9以降はこちらのオプションを推奨

参考リンク

  • JDK11のjavac

javac

  • JDK8のjavac

javac
寺田さんがsource, target, releaseオプションに関して解説してくれている記事
2019年のJava | gihyo.jp

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

P78 投資効果の検討(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]:自己資本利益率

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

ROA[Return of Asset]:総資本経常利益率/総資産経常利益率

総資本・総資産を用いてどれだけ稼げているかを表した比率である。
経常利益/総資本or総資産で求める事ができる。
www.keieibunseki.com

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

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

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

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