2021年11月7日日曜日

GitHub に Mavenリポジトリ公開してみたら失敗した

 GitHub PackagesでMavenリポジトリ?がつかえるようになっていたということで挑戦していたが、しばらくいろいろと不明でつかえなかった。

今回 GitHub Actions は使わない。非公式の方法も使わない。

https://docs.github.com/ja/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry

日本語の説明はあるが、例がてきとーすぎて不明点が多い。

いろいろわからない部分が明確になったので、ざっくりなんとかしていくかもしれない。

完全な公開ではなく、管理にもダウンロードにもTOKENが必要なので使い道は特定のもののみで微妙。

OWNER/REPOSITORY

これは、https://github.com/okomeki/SoftLibREST の場合は OWNER が okomeki REPOSITORY が softlibrest となる。

大文字がつかえないのがまず引っかかっていたのと、REPOSITORY に何を指定していいのかわからないのでエラーの意味から何も読み取れず引っかかっていた。

OWNER は GitHub のアカウントまたは組織単位の場合は組織名(Organization)で指定する。大文字は使えないので小文字にする。

REPOSITORY は 何でも指定していいわけではなく、GitHubで使っている Repository名、かつ大文字は小文字に変えるという制約がある。サンプルが test なのでいろいろ不明だったり。

Maven では pom.xml に公開先 repository を指定する。pom.xml の artifactId とはあわせておきたいが、あわせなくてもいいかもしれない。

groupId, artifactId も仮で大文字など使っていたら小文字とハイフンぐらいに変更する。artifactId が大文字制限に引っかかっているようなので SoftLibABNF から softlib-abnf に変更してみた。

アカウントが okomeki, Repository名が SoftLibABNF、pom.xml の groupId を net.siisise、 artifactId を softlib-abnf とした場合。

次のものをpom.xml の <project>の中に追加する。 

url は OWNER/REPOSITORY

<distributionManagement>
 <repository>
  <id>github</id>
  <name>GitHub okomeki Apache Maven SoftLib Packages</name>
  <layout>default</layout>
  <url>https://maven.pkg.github.com/okomeki/softlibabnf</url>
  <releases>
   <enabled>true</enabled>
  </releases>
  <snapshots>
   <enabled>true</enabled>
  </snapshots>
 </repository>
<distributionManagement>

~/.m2/settings.xml の方に、デフォルトのprofile指定と対応するアカウントを紐づけるための serverも追加する。

<activeProfiles>
 <activeProfile>github</activeProfile>
</activeProfiles>
<servers>
  <server>
   <id>github</id>
   <username>okomeki</username>
   <password>TOKEN</password>
 </server>
</servers>

ここのTOKENは、アカウントのパスワードではなく特定の権限を持つaccess tokenというものを指定する。

作り方は GitHubの右上のアカウントアイコンから Settings を開き、左のメニューから Developer settings を開く。

Personal access tokens を開いて Generate new token で新しいトークンを発行しよう。

期限無しで発行されているものは使わないほうがよいのでつくり直すのがいい。

権限(scope)は repo の全部と write:packages, delete:packages を付けていればいいかな。

access tokenが発行されたら、それをTOKENとして使う。pom.xml の方に追加して公開してしまわないようにしよう。

依存関係はRepositoryを分けていたら個別に指定しないといけないのか?  settings.xml に追加する。

url は OWNER/REPOSITORY

<profiles>
  <profile>
    <id>github</id>
    <repository>
     <id>githubsoftlibabnf</id>
     <name>略</name>
     <url>https://maven.pkg.github.com/okomeki/softlibabnf</url>
     <layout>default</layout>
    </repository>
  </profile>
</profiles>

 こんなのでいいのかどうか。

でぷろい

あとはビルドと公開をすると、pom.xml の groupId, artifactId, version に対応するものが公開される。snapshotは上書きできるので何度でも書き直せるが、リリースバージョンを付けると上書きはできない。どうしてもという場合は削除することはできるらしい。

コマンドの場合

mvn deploy

NetBeansの場合

プロジェクトのRun maven から Goals... を開く。

Goals: に deploy

Profiles: に github (省略可)

再利用するなら Remember as: に deploy githib などと登録して

OK

GitHub の Repository を開くとそれっぽいところにそれっぽいものが増えているはず。

次回はMaven側に公開か?


 

 

2021年11月3日水曜日

Minecraft Launcher はまだ不安定

 Windows版(統合版)のMinecraftにも対応したJava EditionのLauncherがリリースされたようだが、解像度の設定などをしてみたところ、Java Edition 起動中にOSごと落ちてしまった。

Xbox系としてMicrosoft Storeからダウンロードできるが、まだ移行しない方がいいようだ。 

Minecraft 公式 https://www.minecraft.net/ja-jp/download/ からダウンロードする場合はWindows 10/11用ではなく、Windows 7/8用をダウンロードすれば従来版がつかえる。

2021年10月20日水曜日

Windows11では音系が少し変わっているらしい

Windows 11のBluetoothまわりをつついていて、ヘッドホン/イヤホンの確認をしてみたところ、変更点が2つほどあった。

同時接続

Bluetoothオーディオが複数同時接続可能になっている。1つを接続したまま、別のBluetoothオーディオデバイスを接続することができる。Windows10では通話用、オーディオ用、それぞれで1つのデバイスを切断しないと別のオーディオデバイスは接続できなかった。

音質改善

出力周波数が48kHzになっていた。Windows10ではこれがCDでしか使われない44.1kHzだったのでひっそり変更された点で間違いなさそうだ。オーディオCODECはSBC、aptXに対応していたがWindows10でAAC対応予定もあるようなのでWindows11にもAACが既に入っているので間違いないかな。[設定][システム][サウンド]からデバイスを開くと出力の設定でステレオかモノラルも選択できるようだ。左右個別の音量調節も可能。接続方式は不明。LDACにも対応するようなら96kHzにも対応していたりするかもしれないが48kHz止まりなのでLDAC採用はないようだ。

音声の劣化

48kHzと44.1kHzの違いは何かというと、44.1kHzはCDやmp3などCD由来の音源。48kHzやその倍の96kHz、192kHzはCD以外の音源でよく使われる。CDも録音時には96kHzや192kHzで収録されてから44.1kHzに落とされる場合が多い。

Windowsはハードウェアのドライバで384kHzくらいまで対応していたが、ミックス過程でどの周波数をどのように変換しているのかわからないのでどのように劣化しているかはわかりにくい。標準ドライバのBluetoothは44.1kHz固定だったので、48kHzのものはオーバーサンプリングなどしていないと44.1kHzへのミックスに困る。

おまけ デジタル再生でも外部のノイズが入る要因はいろいろある

  • 他アプリ/警告/通知/マイクなどの音が入る
  • 不可逆圧縮/展開での劣化(データ化とBluetoothなど2度圧縮される場合もある)
  • データ転送が遅延する、データ展開ループが壊れる
  • ミックスでリミッターがかかる
  • ミックス過程のデータの周波数変換
  • ケーブルのアナログ部分にデジタル回路/配線や電源からのノイズが乗る場合(ノイズ対策が弱い機器限定/CPU近辺の信号ノイズ、蛍光灯On/Offなど)
  • 電波が混雑する場合
などが該当する。

違いがわかるかどうかは、さらにヘッドホン/イヤホンと耳の性能次第。

2021年10月5日火曜日

自作PC Windows 11 チェックとセキュアブートの設定変更してみた

Windows 11がリリースされるようなので、自作PCの要件チェックしてみた。

  • ASUS TUF X470 PLUS GAMING
  • AMD Ryzen 2600X
  • DDR4 8GB x2
  • トランセンドのNVMe
  • GeForce RTX 2070ぐらい

というような環境。

BIOS UpdateでfTPMだかなんだかの初期値はクリア。

 https://www.microsoft.com/ja-jp/windows/windows-11

互換性確認ツールがあるので実行するとセキュアブートのところで引っかかった。

BIOSのCSMという設定で、UEFIと旧式のどちらでブートするかの設定が旧式のCSMになっている。

ここだけ変更しても対応したデバイスがないのでブートできない。

元に戻してWindowsを起動、[Win] + [x] で[ディスクの管理]を開く。 

メニューだと、いつもの[設定]ではなく、[Windows管理ツール] の中の[コンピュータの管理]を開いて[記憶域]の[ディスクの管理]。

下側左のディスク0を右クリック、GPTディスクに変換、MBRディスクに変換のどちらかが薄く表示されているので、変換前はその逆になっている。

[プロパティ]を開いて[ボリューム]タブの[パーティションスタイル]のところでも確認できる。

MBRだった場合はUEFIとSecure Boot対応のGPTというものにしてインストールしていないといけないとか。

OS再インストールか、とも思ったが変換ツールもあるようなのでMBRをGPTに変換してみたり。

管理者として実行で[コマンドプロンプト]を開いてみた。

タブ止めしている場合は右クリック、さらに[コマンドプロンプト]を右クリックすると[管理者として実行]がある。PowerShellなんかでもいいのかもしれない。

メニューから開く場合。

メニューに[Windowsシステムツール]に[コマンドプロンプト]があるはず。PowerShellなどが入っているとなくなるかも。一度開いてからタスクバーで右クリックして管理者モードで開き直すと簡単。

見当たらないのでWindows Terminal の場合。

WindowsのメニューからWindows Terminal を右クリック。 [その他]の中に[管理者として実行]があるのでクリック。

タブ止めしていたり開いていたりしたら、タスクバーのWindowsターミナルを右クリック。中の下段に[Windows Terminal] があるのでさらに右クリック。[管理者として実行]をクリック。

どちらにしても管理者モードで実行できていることが必要らしい。

MBRをGPTに変換するコマンドはWindows 10の最新版(1703以降)なら入っているっぽい。

mbr2gpt.exe /convert /allowfullOS

 これでしばらく待つと、メッセージがいろいろ出て変換完了。

なんかxmlが失敗したみたいなメッセージも出てるけど気にしない。

これでUEFI Secure Boot用に変換されたのでBIOSの設定をそれ用に変更しないと起動しなくなる。

ASUSの場合、BIOSの詳細設定からブートのCSMを無効にしてUEFIか自動でブートする設定に変えて保存。

とりあえずWindows 10は無事に起動できたので再度チェックしてWindows 11の互換性に問題がなくなったところまで確認できた。

Windows Update画面では互換性がないと表示される謎。

Windows  11インストールはWindows Updateを待たなくてもインストールアシスタントでできるようだ。

https://www.microsoft.com/ja-jp/software-download/windows11

参考

https://www.intel.co.jp/content/www/jp/ja/support/articles/000024558/memory-and-storage/intel-optane-memory.html

2021年4月27日火曜日

炊飯器はおどり炊きを買ってみた

 象印の1万円しないくらいのIHでもなんでもなさそうな炊飯器を使っていて、そろそろ買い換えてみるかということでPanasonicの炊飯器を買ってみた。20年以上前っぽいので元はとれすぎていたり。

去年のモデルの中で安め、ということでWおどり炊きを排除、小容量、大容量はお得ではなさそうなので除外。おどり炊きからIHぐらいまでということにしてSR-MPA100、SR-MPB100、SR-STS100、SR-HX100、SR-HB100、SR-FD100などが候補に出てきた。その中でおどり炊きに対応しているのがSR-HX100以上。可変圧力はカタログ上うまさのランクが高くなかったので除外。ということで、スチームのありなしでSR-STS100とSR-HX100に絞り、Amazonで値段がやすかったので大火力おどり炊きのSR-HX100を購入。SR-HB100は大火力おどり炊きがないだけの差。

結果、うまいのでよかったんじゃないかな。スチームも圧力もないので洗いやすい、メニューもやや多めという利点あり。基本はメニューの違い、次にかためとかやわらかめをどれくらい炊き分けられるかという違いで選べばいいのかなと思う。

どれくらい自動になっているのかとカタログを見た結果、水量、米の量は普通、無洗米で変えなくていいとか、炊く前後の浸けたり蒸らしたりまで時間に入れて微熱で甘みを引き出したりしてくれるだとか、タイマー予約がデジタルだとか、20数年の差というより値段の差? 逆に今までどおりにしてしまうと失敗しそうかもしれない。

次はパンか?

RSA鍵を作る

最近暗号系をいろいろ実装してみている中で PKCS #1 の RSA も必要になってきたので実装してみた。中身がわからないと使いにくいタイプ。 RSA は公開鍵暗号という形で秘密鍵、公開鍵の2つの鍵を使う。AESなどの共通鍵暗号とは違うところ。 公開鍵で暗号化、秘密鍵で復号ができ...