カテゴリ: java

JavaのLTS、21が出たので我が家のJDKを片っ端から更新。
特に不具合は出ていない。
しかしLTSが2年になったのか…。
家のだから別に良いけど、仕事だと大変だよな。


このエントリーをはてなブックマークに追加 mixiチェック

開発用PCとアフィのサーバのJavaを19から20にしたが、特に変わった事は無し。不具合も起きず。
たしか20からグリーンスレッドが使えるらしいんだけど、特に使う用事もないし。

Effective Java 第3版
柴田芳樹
丸善出版
2021-07-13

このエントリーをはてなブックマークに追加 mixiチェック

いよいよTwitter APIの無料アクセスポイントも最期の時がせまりつつあるので、NostrとかMisskey.ioとかに移行せねばならぬが、misskey4j がgradleとJitPackというナウなヤングのイカしたツールとリポジトリを使っているのでAnt+Ivyに移植(?)が割と厄介だ。特にJitPackとデフォルトリポジトリの両立。
いやGradleとは言わずともいい加減Mavenに移行しろという話もあるがEclipseは相変わらずプロジェクトのデフォはAntなので、当然過去のは全部Ant+Ivyだし。
もう面倒なので依存先のプロジェクトもソースごとローカルでビルドしようかしら。

Javaビルドツール入門 Maven/Gradle/SBT/Bazel対応
掌田津耶乃
秀和システム
2018-03-01


このエントリーをはてなブックマークに追加 mixiチェック

先日ビルドが通ったのでとりあえずサンプルを実行。これ元はNetBeansのMavenプロジェクトなんだけど私はEclipse+Ivyに修正して使っている。何故か複数プロジェクトに分かれていてサンプルはnostr-examplesプロジェクトだ。
秘密鍵や表示名などの自分の情報はnostr-idプロジェクト配下のprofile.properties、接続先(?)サーバは同じくrelays.propertiesに記述してクラスパスの通った所に配置する。
あとnostr-examplesのlogging.propertiesも同じく。
relays.propertiesには何を書けば良いのかよくわからないが、nostr.watchで近い所のサーバ名を入れれば多分良いのではなかろうか。ポート番号がわからないけど、とりあえずホスト名だけ変えて後はサンプルのままとする。7000番と9090番。最近のWindowsは煩いからもしかするとFW設定とか変えないと駄目かも知れないが…。
ではとりあえず実行。

3月 05, 2023 10:20:24 午後 nostr.examples.NostrExamples main

普通: ================= The Beginning

3月 05, 2023 10:20:24 午後 nostr.id.Identity$ProfileConfiguration getPrivateKey

普通: Reading the private key...

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63

at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55)

at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52)

at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213)

at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210)

at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98)

at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)

at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302)

at java.base/java.lang.String.checkIndex(String.java:4557)

at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:46)

at java.base/java.lang.String.charAt(String.java:1515)

at nostr.util.NostrUtil.hexToBytes(NostrUtil.java:36)

at nostr.id.Identity$ProfileConfiguration.getPrivateKey(Identity.java:226)

at nostr.id.Identity.<init>(Identity.java:66)

at nostr.id.Identity.<init>(Identity.java:62)

at nostr.examples.NostrExamples.main(NostrExamples.java:65)


んーむ…。通信に行く以前の秘密鍵の文字列処理で落ちている。サンプルに同梱されている秘密鍵より、自分の秘密鍵が1文字少ないのが宜しくないのだろう。
まぁそのうち直るだろう。
またnostr-javaのリポジトリが更新されたら試そう(自分で治す気ナッシング)。
つか https://snort.social/p/npub1ur9pa83tulgwwcgcs8wp7hsckw89pf2tm889h3k8tj000e30x89qm5lklu とか激烈遅いのでこのサービス?自体、イマイチ使い物になる気がしない…。


このエントリーをはてなブックマークに追加 mixiチェック

前回はソースが不足していてビルドが通らなかったnostr-java
久々にGitHubを覗いたら、二週間前に更新があったようなのでZIPでダウンロードして上書き。
今度はソースは全部足りたようだ。
ただプロジェクト間の依存関係が変わったようなので適宜修正したのと、Lombokが使われていたのでIvyに追加。
問題は使い方がさっぱりわからない所だな。

真説ノストラダムスの大予言
加治木 義博
ロングセラーズ
2012-01-01

このエントリーをはてなブックマークに追加 mixiチェック

Twitterの無料APIの命も後わずかっぽいけれど、何故かこの期に及んで今朝がた、邪悪なボットのシャドウバンが解除されたっぽい。

無題
304回とかシャドウバン喰らっている零細アカウントの表示回数ではない。
特に行いを改めた訳ではない…というかずっと喪に服していたけれど無料APIが2/9で終わるというので、どうせ使えなくなるのなら、と2/2に再び悪事を再開しただけ…まぁアカウントが復活したとなると、APIが終っても幾らでも手はあるし。やったぜ。


このエントリーをはてなブックマークに追加 mixiチェック

Twitter API V2に対応したばかりだが9日にはTwitterAPIが終るそうだし、Nostorのボットでもつくるかーと調べたらnostr-javaというライブラリが。流石はJava。
だが、GitHubにあるそれはソースファイルが足りないnostr.base.list.TagListというクラスがあちこちから使われているんだけど、そんなクラスのソースは無い…。
まぁそのうちちゃんとしたのが出てくるだろう…。


このエントリーをはてなブックマークに追加 mixiチェック

オンライン開催だとザッピングができて便利だな。近々JavaにもグレーンスレッドもといOSのスレッドにマッピングされない仮想スレッドが追加されるというセッションを聞いた。
I/O待ちで全仮想スレッドを巻き込んで止まるとか(この事象を「PIN」と言うそうな)、使いどころは難しそうだけれど、多分賢い人達がAPサーバとかに組み込んでいい感じにしてくれることだろうから我ら凡夫はそれを待てば特に苦労せずスループットがあがるという訳よ。
その中で、さらりとJava19ではExecutorServiceインターフェースにAutoCloseableが付くというある意味グリーンスレッドよりも重要情報が。マジか。マジだった。まぁ自前でラッパー作って使う人多かったけど。


このエントリーをはてなブックマークに追加 mixiチェック

JDKをアップデートしているうちにいつの頃からか、JavaMailからの文字が文字化け、タイトルが空になる事象が発生した。まぁアフィサイトの更新情報なので別に困らないので放置していた。
最近、全く同じ更新処理を別のバッチから行ったらちゃんとタイトルが入り、文字が化けず、しかもThunderbirdで見ると本文のフォントまで違う。フォントなど指定していないにもかかわらず。
動いてメール送信しているのは全く同じ.classなので一体何が違うのか…。
環境変数が一番怪しいと思うのだけれど見た所差異が見つからない。何せ新バッチファイルは今までのバッチファイルをコピーしてちょっと処理を変えただけだからな。しかも変えた箇所はメールを送付する処理より後。
後はバッチを起動するタスクスケジューラの設定が何か違うのか…しかし元タスクをエクスポートしてインポートして作ったタスクだしな。

JavaMail API: Sending and Receiving Email with Java
Harold, Elliotte Rusty
O'Reilly Media
2013-08-13

このエントリーをはてなブックマークに追加 mixiチェック

Eclipseのコード補完って、こんな具合に
0330
インスタンスのメソッドをリストアップしてくれたりするわけだが、最近こうなったまま何分経っても計算が終らない。
0330b

再起動した直後は正しく動くがその後はまた再発する。
JDKを18にしたせいかな?と思って17.0.2に戻したが相変わらず。
試しに新規に同じバージョンのEclipseを別途インストールしてみたら発生しないので再インストールで解決すると思うのだけれど、何せプロジェクトが多いので、プレアデスだと全プロジェクトの文字コードをMS932にしたり、Ivyを再認識させたり結構面倒臭いのであまりやりたくない…けど週末にやらざるを得ないね。
→eclipse -cleanでも駄目なので再インストールしたら直った。


このエントリーをはてなブックマークに追加 mixiチェック

↑このページのトップヘ