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数年の差というより値段の差? 逆に今までどおりにしてしまうと失敗しそうかもしれない。

次はパンか?

2020年12月4日金曜日

JDK8と11の非互換

 仕事などでは古いJava環境を使っている場合もあり、そんななか、JDK11で8互換でビルドしてJDK8で動かないものがあったのでメモ

 NoSuchMethodError が

java.lang.NoSuchMethodError: java.nio.ByteBuffer.xxxx
と発生。
BufferとByteBufferは実装が変わっているようで、実装されている部分が何かで互換性がなくなっているっぽい。 
コードは互換になるがライブラリまでは見てくれないというJDKの罠はよくある。今回もそんなもののひとつか。
 詳細はこっちかな
 https://stackoverflow.com/questions/61267495/exception-in-thread-main-java-lang-nosuchmethoderror-java-nio-bytebuffer-flip

2020年10月14日水曜日

Oculus Quest 2をつついてみた

 Oculus Quest 2、日本で店頭販売されるということでヨドバシのポイントを活用して予約。昨日の昼頃届いたので軽く設定をして夜使ってみた。

まずfacebookのアカウントが必要なので、ない場合は若干苦労することになるのかもしれず、いろいろニュースにもなっているが略。

アカウントがあればQuest 2購入前でもゲーム、アプリは購入できるので、無料のものをいくつか購入?しておいてもいい。 アカウントがbanされると困るので有料アプリはあとがいいのか。

Rift用のGoogle Earth、Quest用のBeatSaber Demo、YouTube VR、Firefox Realityなど。

でQuest 2の開封。ゴーグル、右左コントローラ、メガネ用スペーサ、あとはUSB電源とケーブルが入っているかもしれない。説明書などは見なかった。 

サイズ感などはOculus Goからあまり変わらない印象。トラッキング用カメラがついているのと電源ボタンなどの位置が違うのと。

コントローラはボタンが多い。フィードバック(振動)的なのもついている。

瞳孔間距離の調整は3段階かな、Oculus Goで問題なければ2の状態で使って問題なさそうだ。1や3でも大きく違いが出るわけでもない。 

頭から外すときにメガネが引っ張られて外れてしまう。Oculus Goより横幅が狭いのかもしれない。密着間は上がるかもしれないが要注意。

電源を入れてWi-Fiに繋ぐ、Wi-Fi接続は失敗することが多いので難関。繋がればアップデートがされて再起動後、スマートフォンアプリと連携になる。

AndroidのOculusアプリは以前から使っていた場合に接続できるVRゴーグルの一覧が更新されないという不具合らしいものに遭遇。キャッシュをクリアすれば改善されるようだが再インストールでもログインするだけで設定が回復するのでおすすめは再インストールか。

Oculus Link的なUSB-C to CケーブルでPCと繋いでみたところ、PC側の設定は完了したがOculus Quest 2側はスマートフォンでないと設定できないので要注意。

その後何度かケーブルをつけたり外したりしてみたが認識されなくなったりはしなかった。Oculus Linkも改善されているということかな。

Androidアプリの方は連携用番号も入れずにリンクできたので、ホーム画面が立ち上がるのを眺める。Goより細かいメニューがさくさく動くのがよい。

立って使うのと座って使うのが選べるので、 安全エリアの設定方法が少し違う。

Oculus Linkとの切り換えも簡単なので、Oculus Link用にケーブルは用意しておいた方がいい。 PC側でOculusアプリが起動している必要があるくらいで、Streamやその他いろいろのVRアプリも使える状態になる。定番といわれているものから少し外れてGoogle Earth、Minecraft などを体験してみるのもおすすめか。

画質はみっちりという感じなのか、Questは使っていなかったがGoと比べて似たような解像度なのでそこまで差があるわけでもないが、なんとなく滑らかではあるように思う。

BeatSaberはOculusQuest用のDemo版を座ったままやってみようと思ったが、座り込むと低すぎて無理だった。座るにも椅子が必要なのかどうか。

Google Earth はミニチュアを上から眺める感じだったり、Minecraft (PC統合版VR)は巨大に見えるブロックの木を刈ってみたり、Quest 2のコントローラはボタンも多いのでやや迷う。

映像系はOculus Goだとメニューが選びにくかったり、途中で停止したりといろいろ限界に近かったが、Oculus Quest 2では操作も再生も問題なくVR180やVR360のYouTube VRなどを使うことができた。動画はOculus Goでいいか、というわけでもなくなった。 

Quest 2ではアプリの入手先はいろいろあって、Oculus公式ストアのRift系、Quest系アプリが使える他、SteamなどでもRift系VRアプリが豊富に販売されている。何か変わったものに遭遇できればいいなと思いながらいろいろ試してみた半日。

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

 GitHub PackagesでMavenリポジトリ?がつかえるようになっていたということで挑戦していたが、しばらくいろいろと不明でつかえなかった。 今回 GitHub Actions は使わない。非公式の方法も使わない。 https://docs.github.com/ja/...