2026年5月アーカイブ

別に差別的な意味ではなく、ただ純粋に県営住宅は怖い(^^;。あの高層住宅ね。個人的に「広島の九龍城砦」と思っている(笑)

20260319_sumi1.jpeg
俺は住宅内にインターネット関係の仕事で入って住民と触れ合ったこともあるが、日本語がほぼ通じない外国人の人も多いし(配偶者が日本人?)、父子揃って無職で昼間っから酒飲みながら、父子揃ってやたら携帯でどっかに電話してる謎行動の日本人家族もいた。ベランダに支持政党の幕や旗を掲げてる人も一人や二人じゃないし。日の丸掲げて歩いてたら絶対絡まれそうな雰囲気ビンビンである。
まあ、中に知人なんかがいる人は「全然怖くないわ」とおっしゃるんでしょうが(もちろんまともな人も実際居る)、そうでない人にとってはやはり怖い場所だと思う。

・・・が、そんな場所だからこそ足を踏み入れてみたいのだ(笑)

この巨大な県営住宅の中には飲み屋や飯屋が入った商店街がある。3月の下旬だがいつもより早い時間に仕事が終わった俺は、いつもならまだ仕事をしている 17時を少し回った時間にその商店街を訪ねたのである。暗くなったら怖いもの(笑)。

20260319_sumi2.jpeg
人はほとんど歩いていない。でも、所々に置かれたベンチにはやたら老人が座っていて、じろじろとこちらに遠慮のない視線を向けてくる、「他所者」ってバレちゃってるんだろうなあ(^^;;;

そして俺が訪店したのは「居酒屋 すみ」。L字のカウンターだけの小さな店である。

入口の引き戸を開けて中に入ると、カウンターの中のおばあさんと、一人酒を呑んでいた常連らしきおじいさんが驚いた顔で俺を見る。明らかに「え?誰?誰?お願いです、殺さないで」と思っているのがビンビン伝わってくる怯えを含んだ目だ。「客だよ、客」と思いながら俺は構わず中に入った。二人の老人の緊張感が高まる。さすがに俺も心配になり、「あの、入っても大丈夫ですか?」と訪ねた。そこでおばあさんはハッと我にかえったかのように「ど、どうぞ」とカウンターを手で指し示すのであった。

いやあ、中は小料理屋と場末のスナックを足して二で割ったような感じ。

20260319_sumi3.jpeg
俺は黒板にかかれていた「今日のおすすめ」からアジの刺し身をチョイスした。なんか、常連は我慢して食べるような生臭いのが出てきそうと勝手に思っていたのだが、これがまたサイズも良いし、臭みなんかも全然無い、脂の乗った美味い刺身が出てきたのである。ほっほう。

こいつを「本洲一」の熱燗とやる。「本洲一」は「千福」なんかと同じ「アル中寸前の酔っ払い親父」たちを対象とした大衆酒で、日頃口にすることはまずないんだけど、こういう店で飲む熱燗は美味かったなあ(笑)

というわけで、酒も肴も予想外(失礼)に美味かった(笑)

そして俺は、注文以外には一言も発することなくこの店をあとにしたのであった。いや、それが俺の飲み方なので(笑)
20260518_postgres.jpg

Windows版の psql を立ち上げると、新しいウィンドウが開き、サーバ名やデータベース名などを最初に聞かれるんだが、ここで Client Encoding で UTF8 を指定してしまい、テーブルを作成しようとして失敗し、情報も文字化けという悲しいことになった。

Server [localhost]:
Database [postgres]: rmdb
Port [5432]:
Username [postgres]: runmanager
Client Encoding [SJIS]: UTF8
ユーザー runmanager のパスワード:

psql (18.3)
"help"でヘルプを表示します。

rmdb=> CREATE TABLE t_receive_log (
rmdb(>
rmdb(>  id               int NOT NULL, -- レースID
rmdb(>  log_no           int NOT NULL, -- レース内ログ・ファイル番号
rmdb(>  log_path         varchar(1024) NOT NULL, -- ログファイルのフルパス
rmdb(>  note             varchar(128), -- ログ・ファイルの説明
rmdb(>  cdate            timestamp without time zone,
rmdb(>  udate            timestamp without time zone,
rmdb(>
rmdb(>   CONSTRAINT t_receive_log_pkey PRIMARY KEY (
rmdb(>     id, log_no
rmdb(>   )
rmdb(> );
ERROR:  invalid byte sequence for encoding "UTF8": 0x83
rmdb=> \d
                  リレーション一覧
 \x83X\x83L\x81[\x83} | \x96\xBC\x91O |     \x83^\x83C\x83v     | \x8F\x8A\x97L\x8E
----------------------+---------------+-------------------------+-------------------
 public               | m_race        | \x83e\x81[\x83u\x83\x8B | runmanager
(1 行)


そう。Windows の端末文字コードって、Windows11の今でも Shift_JIS なんやね。
まあ、俺は DB のエンコードのことかと完全に認識が間違ってたんだけど(笑)

というわけで、Client Encoding を Shift_JIS に修正してもう一度 TABLE CREATE を実行。
問題なくテーブルが作成された(まあ、CREATE文の日本語でのコメントを消せば実行できたんだけど(笑)。それは本質的な解じゃないからな(笑))

rmdb=> set client_encoding to SJIS;
SET
rmdb=> CREATE TABLE t_receive_log (
rmdb(>
rmdb(>  id               int NOT NULL, -- レースID
rmdb(>  log_no           int NOT NULL, -- レース内ログ・ファイル番号
rmdb(>  log_path         varchar(1024) NOT NULL, -- ログファイルのフルパス
rmdb(>  note             varchar(128), -- ログ・ファイルの説明
rmdb(>  cdate            timestamp without time zone,
rmdb(>  udate            timestamp without time zone,
rmdb(>
rmdb(>   CONSTRAINT t_receive_log_pkey PRIMARY KEY (
rmdb(>     id, log_no
rmdb(>   )
rmdb(> );
CREATE TABLE
rmdb=> \d
                 リレーション一覧
 スキーマ |     名前      |  タイプ  |   所有者
----------+---------------+----------+------------
 public   | m_race        | テーブル | runmanager
 public   | t_receive_log | テーブル | runmanager
(2 行)

ばっちり。
この間、import とするクラスがどこにあるのかわからないときに「インポートする型の選択」を実行するといい具合に目的のクラスを見つけてきてくれる話を書いたが、もちろん間違いもある(笑)

本当は、
org.springframework.batch.core.job.Job
を import しなければいけないのに
org.springframework.boot.batch.autoconfigure.BatchProperties.Job
を import して「型の不一致: Job から BatchProperties.Job には変換できません」なんてエラーになったり。

あと、
org.springframework.batch.core.job.JobExecution
を見つけずに
org.springframework.batch.core.repository.persistence.JobExecution
の方を import してしまったり。

で、「型 JobCompletionNotificationListener のメソッド afterJob(JobExecution) はスーパータイプ・メソッドをオーバーライドまたは実装する必要があります」とか言われちゃって。

20260514_spring_batch1.jpg

そういう時はとりあえず現在の import をコメントにしたら候補が複数出るので正しいものを選択する。

ちなみに、a-ikeshitaさんの「Spring Batchについて基礎からまとめてみた」って記事を今参考にさせてもらっております。
俺の通勤路であるパセーラ下の地下道にオープンした「ロピア 広島パセーラ店」。

4月の開店以来、俺が帰宅時に通る18時過ぎにもずっと行列ができていて、さすがにスーパーに並んでまで入る気もしなかったので無視してたんだけど、ここのところやっと皆も飽きてきたのか行列が全然なくなっていた。

ということで、表に貼ってあるチラシを写真に撮って嫁さんに送って「これって安い?」って聞くと「安いねえ」ってことだったので訪店してみた。

20260510_nikusushi1.jpeg
・・・が、結論として「単身赴任のおっさんが買うには1つのパッケージの量が多い」って感じで、なんぼか安いんかもしれんけど、なかなか買えるものがなかった。ビールとかも確かにイオン系の安いスーパーと比べても数%~10%くらい安い感じだけど、重い荷物を持って歩くことを考えたら躊躇するし(^^;

なので、とりあえず訪店記念に「ローストビーフ&牛タン寿司」1200円也を購入。昨夜の晩飯にした。肉屋が母体のスーパーなんでまあまあ美味かった。

うなぎなんかも安かったんだけど、量がねえ・・・。でっかいのが二匹(養殖外国産)で 1,620円って安い気もするけど一人じゃ食べられない量だし。この四分の一が400円台で売ってたら買うんだけどなあ・・・って嫁さんに言ったら、「4つに分けて冷凍しとけばいいじゃん」って。

確かに。今回、横川の仕事場に冷凍庫を導入したからな。今度、うなぎ買ってみよう。でも、一週間うなぎばっかになるな。嬉しいけど(笑)
サーバの自動監視をしているプログラムからの状況連絡のメールが Gmail に届かない。

いや、届かない理由はわかってる。RFC5321に違反した From メールアドレスは Gmail で弾かれる。

Gmail のサーバからの、

Remote_host_said:_553-5.1.7_The_sender_address_<#@[]>_is_not_a_valid_RFC_5321_address._For_more/553-5.1.7_information,_go_to/553-5.1.7__https://support.google.com/a/answer/3221692_and_review_RFC_5321/553_5.1.7_specifications._d2e1a72fcca58-839684a49e3si35399207b3a.131_-_gsmtp/

なんてメッセージがログに残っている。

ここで言う From アドレスはメールを見るときに表示されている From アドレス(いわゆる MAIL FROM)ではなく、メールソフトやメールサーバがメールデータの頭に自動でセットしている Envelope From アドレスである。

具体的には、メールの頭の

Return-Path: <hoge@exsample.com>

とかね。Envelope From を指定せずに sendmail とかでメールを送ると、ここが

Return-Path: <>

みたいに空になってたりして、Gmail から「RFC5321に違反してる」と判断され捨てられてしまうわけだね。

なので最近はちゃんとプログラム内で Envelope From を指定してるんだけど、古いプログラムはそのままだ(^^;;;。まあ、うちのメールサーバはそれでも受信するので今までは問題なかったんだけど、最近、メールを Gmail に転送して外出時なんかにスマホでチェックするようになったので困ったことになったんよね。
古い監視プログラムとかからのメールが届かなくなっちゃって。

というわけで修正。ま、-f オプションを付けるだけだけど(笑)

Perl ならこんな感じ。

if (!open(OUT,"| /usr/sbin/sendmail -t -f hoge\@exsample")) {
return(0);
}

print OUT <<EOM;
From: hoge hoge <hoge\@exsample>
To: atesaki\@exsample.co.jp
Subject: Test Mail
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
X-Mailer: The original perl script - LOLI POPPER

Test Test Test Go Go Go
EOM

close(OUT);

これでちゃんと Gmail に転送しても送られるぞ。もちろん直接 Gmail のアドレスに送ってもグー。
Java のバッチ処理を Spring Batch フレームワークを使って作成しようと思って、サイトの情報をググりながら作業してたんだけど、Spring Batch の「chunk(チャンク)」モデルのバッチを作成しようとしていきなり問題が(^^;;;
org.springframework.batch.item 以下のクラスが import できないのである。

Maven のローカルキャッシュ(.m2)の下の repository\org\springframework\batch を見てみると、

spring-batch-bom
spring-batch-core
spring-batch-infrastructure
spring-batch-test

しかないやん。今回、Spring Batch は最新バージョンの 6.0.3 を使っているので、クラスの構成変わったんかな?
ググってみたけど、org.springframework.batch.item というのがある前提の記事ばっかで・・・

結局、item は org.springframework.batch.infrastructure の下にあった。

エラーが出ている行で「インポートの構成」を選択。

20260508_spring1.jpg

「インポートする型の選択」で「org.springframework.batch.infrastructure.item.ParseException」を選択。
(「org.springframework.batch.item.ItemReade」のエラー行を指定しているので「org.springframework.batch.infrastructure.item.ItemReader」が表示されそうなもんだが、よくわからん。こういうもの?)

20260508_spring2.jpg

これで、

import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.NonTransientResourceException;
import org.springframework.batch.item.ParseException;
import org.springframework.batch.item.UnexpectedInputException;

が、

import org.springframework.batch.infrastructure.item.ItemReader;
import org.springframework.batch.infrastructure.item.NonTransientResourceException;
import org.springframework.batch.infrastructure.item.ParseException;
import org.springframework.batch.infrastructure.item.UnexpectedInputException;

に置き換わって幸せになった。

しかし、この先も最新版を使ってる故の苦労がありそうだ。

エロい人たち、早く Spring Batch 6 を使った記事を書いてほしいです。
先月末、夕方橋本町に用事があったので袋町からてくてく歩いて移動。
用事を済ませ、そのまま広島駅まで歩いて JR で横川に帰ろうと思ってたんだけど、やっぱり捕まってしまった(^^;;;

広島駅1階に入っている「吉野家 ミナモア広島店」。

20260427_yoshinoya1.jpeg
俺が注文したのは「鉄板焼肉定食」。この間 Web 広告で見て「うまそー!」と思ったのが思い出されたのだ。肥満児魂(デブスピリッツ)を揺さぶりやがるぜ、吉野家。
味噌汁をあさり汁に変更して、1,086円也。

ふむふむ。鉄板焼肉というより、鉄板すき焼きって感じの味だな。少し甘味がある。芳ばしい香りもデブ魂に響く。まあ、美味いよね。
ただ、昨年同じ吉野家で食べた「牛鍋膳」の感動に比べると「ふーん」って感じ。

肉も時々筋がコリコリ硬いやつが入ってて、俺、そういう肉が苦手なんでいまいちだったな。上に書いたように美味いのは美味いのよ。濃い味で血圧もぐんぐん上昇しそうな感じもアウトローな俺(嘘です)にお似合いだし。でも、また食べたいという欲求があるかというと・・・ないな(笑)

また、来年「牛鍋膳」の季節が来るのを待つとしよう(笑)

<追記>
Web 広告で「卵は皿で溶いてすき焼きみたいに食べても良いし、鍋に直接入れちゃっても良い」なんて書いてあったんだけど、普通に皿で使うのをお勧めします。鍋に直接いれちゃうと白身が貼りついちゃって食べ難かったわぁ(^^;
macOS 版 Eclipse でビルドツールに Maven を指定して Spring Boot プロジェクトを作成していた。
で、プロジェクトの右ボタンメニューから「デバッグ」→「Spring Boot アプリケーション」を選択しビルドを始めると、なぜか Gradle によるビルドエラーが発生するのである。

上に書いたように、ビルドツールには Maven を指定してて、Gradle は使わない設定なのに・・・である。

エラーログをコピーしておくのを忘れたので正確な情報ではないが、「Gradle Core Plugins (plugin is not in 'org.gradle' namespace)」とか、build.gradle が not found だとか、そんな感じのエラーが出てた。

これらの解決方法はネットでググれば色々出てくるんだけど、いや、そうじゃないんやねん。はじめに書いたように、そもそも「Gradle なんか使ってない」ちゅう話なんやで。

20260504_eclipse1.jpg

結局、プロジェクトの右ボタンメニューで「プロパティ」→「プロジェクト・ファセット」でファセットの構成を行ったら、なんかエラーが出なくなった。
ファセットに Gradle は最初から無かったけど。

というわけで、これが本当に原因だったかどうかはわからないが、また同じ状況になったときのためにメモしとく。
macOS にインストールした Eclipse 2026(Pleiades Java Edition)で「新規 Spring スターター・プロジェクトの作成」を選択すると、Spring Initializr(https://start.spring.io)への接続に失敗し「利用可能なコンテンツがありません」と表示される件。

Parallels Desktop 上の Windows 11 Pro で Eclipse を使えば問題ないので放置していたのだが、やっぱ macOS 環境で使いたいので再挑戦。

しかし、どこのサイトにも「ネットワーク設定(プロキシの設定)がおかしい」「SSL証明書(start.spring.io)がインポートされていない(Javaのセキュリティ設定に抵触)」という二点ばかりが書かれている。質問サイトでも、まずこの二つの回答以外お目にかからない。

あほかあ!!インターネットにはビンビンに接続しとるし、Windows 環境なら接続されるんやから、Javaのセキュリティ云々関係ないやろ!!他の情報はないんかい!!と、なぜか教えを乞う俺の方が逆ギレする始末(^^;;;
だって、よそのサイトに書かれている記事をそのまま自分のところで丸写しで紹介している技術系ブログとか多いんだもん。よそのサイトと同じ情報はいらんのよ、検索の邪魔だから(あ、またいらんことを言うてしまった(^^;)

結局、AI からの回答で解決。

「IPv6環境で通信エラーが起きている場合があります。Eclipseの起動設定にIPv4を優先するオプションを追加します。」

これだった。(AIがどこかのサイトから拾ってきたのだと思いますが、その情報を掲載してくれてたサイトのオーナーさん、ありがとうございます。本当に感謝します)

どうも、macOS 版だと、IPv6 で接続に行くようなんだけど、俺、日頃 IPv6 なサイトとか利用しないので、まともにネットワーク設定してないのよ。

20260503_eclipse1.jpg

というわけで、その AI の言葉に従い、Eclipse.app(またはSTS.app)/Contents/Eclipse/eclipse.ini の最後に

-Djava.net.preferIPv4Stack=true

を追加して Eclipse を再起動したらバッチリだった。(最初、一瞬「利用可能なコンテンツがありません」が表示されたので「おっ!?」と思ったけど、すぐに正常に表示された)

いやあ、バッチリ、バッチリ。
アクセス稼ぐためによそのサイトの内容を丸コピしてる情報サイトは地獄に落ちてほしいわ(笑)

このアーカイブについて

このページには、2026年5月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2026年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら