地元の友だちとの話題

目次

実家へ帰って3年ぶりに高校の友だちと会うことになった。毎年大晦日に会ってご飯を食べて麻雀をやっていたのが、最近は葬儀があったりお正月に仕事があったりで集まりがなくなっていた。久しぶりに集まれそうと準備をしていたものの、直前に参加者の1人の身内に不幸があって4人集まることはできなかった。したがって3人になったので麻雀はやらずにお昼に集まって雑談して夜早めに解散した。

車を買ったのが2年前。3年前から友だちに会っていなかったので私が車を所有していることを知らなかった。11時に高校の友だちと待ち合わせて一緒に車で実家へ帰ることにした。1人で帰るよりも、誰か乗ってくれた方が話し相手になってくれるから同じ距離を運転していても到着するのが早く感じる。淡路島へ帰ってから、友だちの家に3人で集まってただひたすら雑談していた感じだった。3年ぶりに会ったというのもあって近況を話すネタもいろいろあった。その中でもやはり兵庫県知事の話題が一番盛り上がった。みんな兵庫県には住んでいるので背景をよく知っていてそれぞれの調べた情報や意見を交換して楽しめた。

私もちょうど年末に 百条委員会や定例会見をみてまとめた ところだった。その記事にもさいとうさんのコミュニケーションスキルに懸念があるように書いた。そして、私の友だちもそのことについては言及していた。詳細を忘れてしまったが、次の「ひょうご地域創生交付金」の廃止について話していたと思う。さいとうさんの前の知事の時代に作られた県から全市町を対象にした補助金で10億円程度の予算だった。これをいきなり廃止すると打ち出して、それについてさいとうさんは一切の説明をしなかったらしい。その友だちが言うには、大阪の維新でも改革するときに利権に対する喧々諤々の論争をした上で改革していったという。大阪の維新と比べても、さいとうさんは一切の説明も議論もなく改革しようとしたため、強い反発があり、結果的に「ひょうご地域創生交付金」を廃止はできず23-25年度は3億円の補助金となったらしい。

こういった急な改革を議論せずに独断で進めようとした結果、県議や自治体とのコミュニケーションがうまく取れていなかったのではないか?という背景が浮かび上がってきた。その友だちと話した後に「コミュニケーション」のキーワードで検索したらそれっぽい記事もいくつか出てきた。既得権益がどうこうというのもあるのだろうけれど、急過ぎる改革と説明すらしないという不遜な態度もあって反さいとうさんの陣営が大きくなっていったのではないかと考えられる。

兵庫県政のゆくえ

目次

26日に仕事納めをして時間に余裕があったので百条委員会の証人尋問、さいとうさんの定例会見、それからいくつかの報道や記事などをみていた。

百条委員会は2月をめどに、第三者委員会は3月をめどに報告書がまとめられる予定になっている。第三者組織における調査結果となるため、それをもって一定の客観性のある結論が出ると思われる。私のスタンスとしては、さいとうさんは政治家として若いし、若い人たち向けの政策を取り入れようとしていて支持している。支持か不支持かで言えば支持する立場ではあるものの、いくつかの疑惑や取り上げられている問題への説明責任を果たそうとしない姿勢は残念に思っている。がんばれと思う一方でモヤモヤすることもあってこれまでの経緯をずっと見守ってきた。

私がこれまでの経緯を1次ソースである百条委員会や定例会見、それらについて書かれた記事をみてきて思うことは内部告発の内容自体は大した問題ではない。もっとも大きい問題であった優勝パレードのキックバック疑惑も、片山元副知事の自信満々の答弁をみている限りは、補助金を増額することが先に決定事項であり、その状態で信金へ寄付のお願いに行けば忖度して寄付してくれるだろうと見越した元副知事の政治手腕であると私はみている (あくまで私の推測) 。おねだりもパワハラもまったくの事実無根ではないが、大した問題ではないように私はみている。

内部告発そのものは大した問題ではなかったようにみえるのでスルーしておけば怪文書扱いでいまのように騒がれることはなかったように思える。しかし、犯人探しをして処分したことで公益通報者保護法の疑いが問われていまも焦点となっている。もちろん県議会にもさいとうさんに反対する政治的な動きはいくつかみられており、百条委員会の中で県議が誤った証言をしたり、さいとうさんが不利になるような情報を流したりもしている。さいとうさんに政治的に対立するグループからの工作のようなものもいくつかあったのだろうと推測する。それはそれで訂正されて最終的な報告書では取り除かれることになるとは思われるが、マスメディアと一緒になって政治的にさいとうさんを陥れようとした動きそのものもあったとみなす方が自然に思える。一番不可解なことは百条委員会の途中に不信任決議が行われたこと。調査の結論がなんら出ていない時点で不信任決議案が全会一致で可決されたことは政治的な駆け引きとしか考えられない。しかし、それも含めて政治の世界なので政治家としてうまくおさめることはさいとうさんの責任の一端にはなるだろうと思う。

片山元副知事の辞任は早かった。元西播磨県民局長が自殺されたという事件も大きな影響を与えたと言えるだろう。県政を停滞させたことへの責任をとったという説明だった。百条委員会での片山元副知事の明確な答弁をみていて県政を仕切っていたのは元副知事であろうことは伺える。またリーダーは結果責任を取るという側面では正しい判断とも言えよう。さらに元副知事は「知事はコミュニケーション能力不足」と辞任会見で表明している。他にもいくつかの記事で県政の複雑なところの調整はすべて元副知事が行っており、職員がさいとうさんとコミュニケーションをうまく取れないという記述もみかけたりしている。その1つに考えられるのは、さいとうさんが問題の有無を正しく認識して改善するという当たり前の手続きを取れないことにあるのではないか?と私は考えている。これまでのさいとうさんの会見における回答は「適切だった」「問題はなかった」といった答弁しかしていない。失敗を認められないリーダーにみえている。ふりかえりができないから改善するときの論理が成り立たず、周りの人たちとコミュニケーションが取れないのだろうと推測する。

その根拠の1つに、さいとうさんの味方として関わった人たちが失職したり不幸になったりしている。県政を停滞させた責任として元副知事だけが辞任するという状況はおかしい。元県民局長の公用PCの内容を漏えいさせたとみなされている元総務部長とは証言が食い違っており、さいとうさんが悪くないのであれば元総務部長が嘘をついているということにならざるを得ない。PR 会社の note の記事もさいとうさんが公選法違反していないということであれば、PR 会社の社長が嘘をついているということにならざるを得ない。さいとうさんは決して自分の味方の人たちの疑惑をかばうことはしない。そのため、責任問題や疑惑が持ち上がったときにさいとうさんは自身の潔白を表明するがために関係者の過失を追及することになってしまう。このことはさいとうさんの疑惑が一向に解消しない原因の1つではないかと考えられる。

28日に放送された tbs の奉読特集の番組がある。x 上ではさいとうさんの支持者から偏向報道のように避難されていたりする。さまざまな意見があることは伺える。

私もこれまでの経緯を1次ソースである百条委員会や定例会見、それらについて書かれた記事をみてきて思うことは諸問題の一面のみをストーリー仕立てで取り上げているため、さいとうさんに不正や不備があったように受け取れるような報道になっているのはそうだと思う。一方で不確かな情報や悪質なデマを取り上げて報道しているわけではないため、こういった疑惑がさいとうさんに持ち上がっていることそのものは誤っていない。支持者からみたら納得いかない内容かもしれないが、さいとうさんはこれらの疑惑に対して客観的に納得のいく回答を返していないということもまた事実ではある。

私がいまもっとも共感できる意見としては次の特集の橋下さんの考えに近いと感じている。

  • 権力者として疑われる行為そのものを避けようとしていない
    • おねだりやパワハラで疑われるような振る舞いがいくつかあったことを証言している
    • 内部告発に対して犯人探しを側近に指示して人事処分したことは判明している
    • PR 会社にポスターやスライドを発注しつつ、個人として sns 運動をボランティアとして手伝ってもらったと主張している (ここはまだ疑惑)
  • 問題の有無を話すのではなく、法律に違反していないとずっと言い続ける姿勢への違和感
    • 内部告発への対応は適切だったといまも一貫して答えている (しかし、兵庫県に外部通報の窓口を設置したり、消費者庁でも公益通報保護法の見直しが議論されている)
    • 失職前に県政を停滞させた道義的責任について問われたときに「道義的責任が何かわからない」と答えた
    • PR 会社の一件も公選法違反の認識はないと一貫して答えている

知人とさいとうさんのハラスメントについてやり取りしていたときにこんなやり取りがあった。知事失職前の2回目の証人尋問で次のような証言がある。

片山元副知事は「2月の終わりごろに、案件はよく覚えていないが、知事に相談に入った時、非常に怒り、付箋を投げた。少し厚い5ミリ程度の付箋だったと思うが、知事は真正面に向かって投げてアクリル板に当たったのをはっきり覚えている」と述べました。

【詳細】兵庫県知事 百条委で2回目の証人尋問「徹底調査指示」

元副知事はこの一件をパワハラとは認識していない。しかし、いまどきの基準で言えば、怒ってモノを投げるというのはハラスメントとみなされて仕方ないと私は考える。知事も行き過ぎた行為だったと認めて反省すれば終わる話しなのをさいとうさんは「適切な対応だった」という姿勢で一貫している。モノを投げるのを適切な指導の範囲内とみなすことはできないよね?一般論としてハラスメントがあったとみなされても仕方ないよね?と知人とやり取りしていたときに「問題がある行為かもしれないが、これをパワハラだと断罪する百条委員会の運営方法は報道関係者に問題を感じる」と主張して知人はハラスメントと認めず、委員長や報道関係を非難したことがあった。「問題がある行為かもしれないが」と自身も認識しているのにそれはハラスメントではないと言ってしまう論理が私には理解できなかった。

政治的な支持・不支持と、客観的な事実や論理的な帰結をわけて考えることができないという状況があるようにみえる。多少の失敗や瑕疵があっても政治家を支持すること自体はかまわないと私は考えている。さいとうさんはよくなかったところを認めて改善に努めていれば、いまの状況になっていなかったのではないか?と私からはみえてしまう。広義ではコミュニケーション能力というかもしれない。プライドなのか政治的な駆け引きなのかはわからないが、誤りを認めるという振る舞いができないさいとうさんに対して周りがリーダーとしての資質への懸念を抱かせるのは仕方ないことだと私は考える。

時間とモチベーションの関係

朝から磯上体育館の先着利用申込みに並んで、それからオフィスへ行って作業して、午後からバドミントンして、カフェ行って買い物して、またオフィスへ戻って作業という1日だった。

体育館でバドミントン

前回の所感 。先週の土曜日も 兵庫区文化センター の体育館でバドミントン練習をしてきた。そのときにやったフットワークの練習や打ち込みの練習などを今日やってみたりしていた。今日の参加者は私を含めて2人なのでゆっくり打ち合いしたり、プッシュとロブの練習をしたり、試合形式をしたりと休憩しながらラケットコントロールの感触を確認したりしていた。参加者の人数調整はなかなか難しくて1面を借りるなら4人いたらダブルスできてよいのだけど、そんなうまいこと人数調整できない。それでも1人来れば相手と打ち合う練習はできるから最低限の練習にはなる。

磯上体育館の 冬期スポーツ教室 の申込みはうまくいって1月7日から通うことになる。約3ヶ月 (全10回) になる。先週バドミントン練習に行ったコミュニティにそのスポーツ教室の参加者がいて、3ヶ月終えても連続して受講していたりするという話しも聞いた。私も3ヶ月やって練習が足りないと思ったら追加でさらに3ヶ月行ってもよいかもしれない。教室で教えてもらった練習方法などをうちのコミュニティでもやるようにすれば、初心者向けのコンテンツが充実していくのではないかという見通し。

時間は平等に成果を生む

1ヶ月ほど日記を書くことをやめていた。12月3日がお仕事の開発フェーズの区切りになっていたのと、11月の最終週はそのためのパッケージングや検証に忙しかったのと、その週末に親戚の引率旅行に2泊3日でまた城崎温泉へ行っていたのと、戻ってきてからも暫定的な開発フェーズで突貫で追加要件の機能拡張をやらないといけなかったと、いろいろ業務と生活の繁忙期になっていた。疲れて義務的に日記を書くモチベーションがなくなっていたのと、お仕事で突貫の開発をやらないといけないという物理的に時間を要する目的もあって、日記を書くのをやめていたらどうなるかな?と1ヶ月ほど休んでいた。日によってはメモも残ってはいるので気が向いたら過去の日記も書くかもしれない。

日記を書くのをやめてみてメリット・デメリットがある。

メリット

  • 空いた時間を他のことに使える
    • 開発に集中していたら、ずっと設計を練ったり試行錯誤でコードを実装したりして、それもやはり「書く」ことなので1つのことに集中できる
    • なにもせず家で休む時間を増やせる
      • お仕事を終えてから残って1-2時間書いたり、休日を使ってまとめて書いたりといった作業をせずに休める
  • 業務中にもたくさん書いているので書くモチベーションがないときは楽になる

デメリット

  • 日々の気付きや所感が流れてしまうことをもったいなく感じる
    • 書いておかないと2-3日後には忘れてしまうだろうなと思うことが多々ある
  • 日々のルーチンを継続せずに怠けてしまうことへのインセンティブを与えてしまう
    • これは休むことと継続することのトレードオフになる
  • 言語化することで曖昧な状態や理解不足であることを自身で確認する機会が失われる
    • 書けないことを認めることが大事

疲れて体調が悪くなってくると、日々の生活を簡素化していく。自炊したり、掃除したり、運動したり、日記を書いたりといった、毎日やらなくてもよいことを後回しにする。そこで本業の業務量を減らせばよいという考え方もあるのだけど、課題管理にも通じることでもあるが、私は開発を積み重ねることにアイデンティティをもっているから自身が納得いかない状況に対しては、開発の業務を逆に増やしてしまうことがある。そして若い人向けにも模範たれという思いもある。それで12月に入ってからはだいたい8-20時を開発を割り当てて突貫の開発に集中していた。休日もできる範囲でコードを書いていた。そして、それ自体はスコープ外の機能も作ってしまってすごくうまく進捗した。日記を書く時間を開発に使った成果はあったと言える。

日記を書くことに義務感とそれなりのコストを費やしているなと感じていたときに次の記事をみかけた。

この記事に書かれている内容は私もかなり共感できる。どんなことでもずっと続けているとマンネリ化して義務感になったりモチベーションがあがらないときがある。この状況に対してイチローの言葉をよく思い出すが「続けることが大事」であることに変わりはない。「プロ野球の一流選手とそうじゃない選手の違いはスランプ期間の差でしかない」といった要旨を原田隆史さんからも聞いたことがある。私が日記を1ヶ月書くのをやめていたのはまさにここでいうところのスランプなのだろうと思う。なにか理由があってもしんどくても続けることが大事で、休むとしても1ヶ月よりは2週間、2週間よりは1週間、1週間よりは3日といった、スランプ期間を短くすることが大きな成果を出すための日々の活動になっていくのだと、知識や理屈の上では理解できる。そのため、この問題はモチベーションコントロールと、仮にモチベーションはなかったとしても継続するための仕組みや環境づくりの方がずっと大事だという話しでしかない。そのやり方は人それぞれの工夫でよいと思うが、どんな新しい方法を見出してもいつかはマンネリ化して飽きたり、モチベーションのあがらない時期はやってくると、私の過去の失敗経験からのふりかえりでもある。そして一時的に休んでもやめてしまわなければ、着実に前へ進むことも知っている。だから、日記をやめてしまっても開発を積み重ねることだけはやめなかったので今月の機能開発は大きな成果を出せたとも言える。時間は平等であって、なにかを為した分なにかを為せなかったという事実に大きな差はないと思う。そして、為したことの成果や評価が本人にとってどうなのか、周りからみてどうなのかだけの違いでしかない。

3回忌

前日の夜から法要のために実家へ帰っていた。前日は19時にお仕事を終え、お風呂に入って準備をして21時半には出発した。しばらく日記を書くことをお休みしていたから夜に帰る余裕をもてた。今日は夕方には神戸へ戻ってきて、夜はオフィス行ってお仕事のコードを書いていた。

三回忌

亡くなって1年後に行う法要を 一周忌 と呼び、2年後に行う法要を三回忌と呼ぶ。初めての人は勘違いしやすい。私も半年前まで勘違いしていた。

10時から住職に来ていただいてお経をあげていただく。住職が来られたらまずお茶を出す。お教を読み始めたら、回し焼香を参加者が順番にやっていく。15分ほど住職がお教を読んだ後に、参加者も一緒に般若心経を読む。これも15分ぐらいかな。だいたい20-30分程度でお経をあげるのは終わる。その後の住職の法話が始まる。このタイミングで新しいお茶とお茶菓子を用意しつつ、一緒にお布施とお膳料も添えて渡す。

今日の住職の法話は亡くなった人との関係性において自分を知る機会になるという発見について話された。住職の父親はうちの父親が亡くなった翌日に亡くなられた。当時、葬儀の打ち合わせのためにお寺へ伺った際に住職自身も葬儀の準備でバタバタしていると話されていた。そのときに住職の父親は厳しい方だったと伺ったことを覚えている。うちの父親は逆にほとんど子どもには怒ることはなかった。住職は自身の父親が亡くなって最近になってから、自分は父親に褒められたかったのだと、そのことにふと気付いたと話されていた。父親が亡くなってからの1年目は日々の生活に追われ、2年目になってからそのことをゆっくり考えられるようになったのだという。お釈迦様も自分を知るのは難しいといった説法をしているそうな。他人との関係性からふと自分を知るきっかけが訪れるという気付きについて話された。住職にとっては父親との関係性において2年目というタイミングがそうだったのだという。

3日前にお手伝い先の忘年会に出席した。5人で話していて、私以外は家庭をもっていて子どもがいて、そういった家族の話しをしている中、私は独身だから家族の話題にはついていけないし提供することもできない。もしかしたら周りに気を遣わせてしまっているかもしれないと、この卓に私がいて申し訳ないといった気持ちにもなった。懇親会や忘年会のような親睦を深めるための一般的な社交イベントに、プライベートに何も共通の話題がない私のような状況は向かないのだろうと思えた。とくに是非の話しではない。城崎温泉の開発合宿の参加者は独身者の方が多かったのでそのことに気付いていなかった。住職の法話を聞いていてそのときの自身の空虚さや違和感に気付いたことを思い出していた。

法話を終え、今回は卒塔婆が用意されていたのでお墓へもっていって供える。線香とライターを持っていってお墓で線香を3本たてる。お墓参りを終えたらそこで住職は帰られる。その後に参加者との法要後の食事へ行く。今回は身内だけだったので近所の回転寿司で簡単な食事で済ませた。12時過ぎには法要を終えた。

粗大ごみの処分

午後から実家の掃除をして粗大ゴミを整理していた。親戚からベッドをもらってきたようで、それを置くためのスペースを空けるために不要な家具を粗大ゴミとして捨てることにした。戸棚、ローテーブル、過去に使っていた古いベッドの残骸、扇風機、給湯ポットなどで軽トラックの荷台はいっぱいになった。いまベッドは2つあるのでこの離れに2人泊まれる。半年前に取り組んでいた実家の離れのコワーキングスペース化も一段落していて設備面では5人程度が作業するスペース分の机と椅子はある。あとはコンテンツを用意していく必要がある。思いつくキーワードを列挙していくと次になる。

  • 農業体験
  • 近所の温泉
  • バドミントン

設備面で wifi のインターネット回線がないという最大の懸念が残っている。回線を引くと5千円/月はかかるので毎月のように誰か来るなら引いてもいいが、現状だと経費的にもったいないから躊躇している。もう少し寝かせて先送りする。

古本の処分

粗大ゴミの整理をしていて あかつき教育図書 出版の「昭和日本史」という図鑑のような本が全巻 (16巻) あった。故祖父が通販で買ったものらしい。離れに置いておいても読む人はいないし場所も取るので処分することに決めた。保存状態がよかったし、図鑑のようなものを捨てるのはもったいないと思い、古本屋さんへ持っていけば必要とする然るべきところで活用されたら嬉しいなと実家から神戸まで運んできた。淡路島よりも神戸の方が古本屋さんがたくさんあるから引き取ってもらえるだろうと考えた。花隈駅近くの 古書ノーボ さんに電話して帰りの車でそのまま運び込んだ。査定してもらって買取価格は全巻で500円だった。店主曰く「こういったセットものは価値そのものはあるのだが、全巻セットを家に置こうという人が少ないために買取価格は安くなってしまう。」と話されていた。価値はあるが需要はないという話し。まさに私が処分しようと思った動機そのものだったので納得感は高かった。

compose 環境のバックアップ

今日は溜まった日記をまとめて書くためにバドミントン練習はおやすみ。

コンテナの環境変数の再利用

朝から rpm パッケージングのリファクタリングをしてインストール検証をした後、バックアップスクリプトの調査をしていた。コンテナの環境変数は次のようにして取得できる。

  • 環境変数をすべて表示
$ docker compose exec mongo env
  • 任意の環境変数の値を取得
$ docker compose mongo printenv MONGODB_PORT_NUMBER
  • パスワードの隠蔽

コンテナ内の mongodump を実行するときにパスワードを隠蔽するにはパイプを使って標準入力から渡す。

$ echo ${passwd} | docker compose exec --no-TTY mongo mongodump --authenticationDatabase admin --uri mongodb://${user}@localhost:27017 --db mydb --archive > mydb.dump

tar ball によるバックアップ

普通に tar ball を作ると次のようになる。

$ tar --exclude path/to/dir/subdir1 --exclude path/to/dir/subdir2 -czf backup.tar.gz path/to/dir

お手伝い先の社員さんに zstd という新しい圧縮アルゴリズムを使う方がよいとアドバイスをもらって変更した。別途 zstd のパッケージはインストールしておく必要がある。

$ tar --exclude path/to/dir/subdir1 --exclude path/to/dir/subdir2 --zstd -cf backup.tar.zst path/to/dir

バドミントンしただけの休日

今日のバドミントン練習は体育館で1.5時間ほど練習した。久しぶりに相手がいて打ち合いできて楽しかった。

体育館でバドミントン

前回の所感 。朝から磯上体育館の個人利用のための行列に並ぶ。今日は7時52分に磯上体育館へ着いたら5番目だった。徐々に並ぶ時間が早くなっていっている気がする。本当は9時から予約するつもりだったが、他の参加者から15時がよいとのことで15-17時で予約した。実際に行ってみたら6面あるうちの2面が空いていた。個人利用の遅い時間帯なら並ばなくても予約を取れるのかもしれない。但し、確実に狙った時間を予約するためにはこれからも8時前後に行って並ぶことにはなると思う。逆に9時から予約しようと思ったら8時よりも早く並ばないといけない。

15時から2-3回休憩を挟みつつ、打ち合いして、シングルスの試合やって、移動した場所に狙って打つ練習などをした。たくさん打ち込みできたので グリップの握り を試したりもしていた。今日の収穫はバック持ちの低い軌道でシャトルを打ち返すときによい手応えを掴んだ。低い位置にあるシャトルをネットを超える高さで強く速く返せるラケットコントロールを何回かできたと思う。5回中2-3回といった頻度だからまだまだ完全に捉えられてはいない。壁打ちでもよいタイミングを掴めるときはあったのでその成果が出たと言えるのかもしれない。やはり相手がいる打ち合いは練習の幅が広がる。1人でリフティングや壁打ちするのも、もちろん重要ではあるし練習にはなるが、相手がいて打ち返してくれる方がもっとさまざまなパターンや状況に対するラケットコントロールやシャトルとの距離感を試すことができる。単純にシャトルを打っていても楽しい。

家に帰るまではバドミントン終えてからオフィスで作業しようと思っていたのに、休んだらやる気がなくなって、そのままだらだらしていた。体調悪い。

復調へ向けて休養

今日のバドミントン練習は、みなとのもり公園でジョギング3周 (1.5km) 、縄跳び1234回 (09:08)、メイビス2で壁打ちを10分した。体調崩してたくさん寝ていたのもあって体力が落ちているのもあって普段よりも軽い運動にした。

可用性検証の結果確認

お昼から昨日の可用性検証の結果を確認した。4千エントリーのユーザー/グループ追加/パスワード更新、ユーザー/グループ削除をやると mq によるメッセージにすると2万メッセージの処理が id 連携としては逐次処理となる。id 連携の個々の処理はわりと遅いのですべての処理が完了するまで約半日ほどかかった次第。そのために mq を設けている。その後、気分転換にコードを書こうと軽く mq の queue のエクスポート/インポートのサブコマンドを作った。お昼に2時間ほどお仕事をしてからストレッチへ向かった。

公職選挙法と選挙運動

先週終わった 兵庫県知事選挙 が新たな展開を迎えている。昨日の夜から公職選挙法違反の疑惑が浮上してきた。さいとうさん陣営で広報に関与した PR 会社の社長が、会社の宣伝 (自身の承認欲求?) のためにさいとうさんから選挙における広報全般を「任された」と記事に書いた。これが大炎上となっている。書いた本人に悪意はなく、公職選挙法についてよく知らずに書いてしまったという凡ミスにはみえる。

私も知らなかったから一般人は知らないと思われるが、政治に関する行為には次の2つに大別される。

  • 政治活動
  • 選挙運動

政治活動に対して報酬の支払いをすることは構わないが、選挙運動に対する報酬は公職選挙法で厳密に規定されている。その背景は選挙運動の広報に報酬を支払ってよいならお金持ちは広告をたくさん出して有利になるのは明白なのでそういったことができないように法律で禁止されているとのこと。具体的に払ってよい報酬は次のようなものになる。これ以外の労務は後援会のスタッフがボランティアとして手伝うものらしい。

  • ポスター代/選挙カー代/選挙ビラ代 (税金から支出)
  • ウグイス運動員への報酬
  • 選挙カードライバーへの報酬
  • 労務者への報酬
  • 選挙事務所費用、事務所運用経費、その他経費など

ここで選挙運動というのは、特定の選挙の、特定の候補のための行為を指していて、PR 会社の社長は広報戦略の企画立案や SNS 運用全般を「任された」と書いていることから多くの人がそれはプロの会社が報酬をもらってやっていることだよね?と勘繰っている。もし報酬をもらっていなくてもプロの会社が専門業務をボランティアで手伝うという行為は役務の提供として寄付扱いとなってしまう。政党に対する寄付は構わないが、政治家個人への寄付は禁止されていることから、報酬をもらっていようがボランティアで手伝っていようが、広報全般を「任された」という言葉を鵜呑みにすると、どちらであっても公職選挙法違反では?とかなり旗色が悪いという話しになっている。もしこの疑惑が公職選挙法違反となった場合、さいとうさんの当選は取り消しとなり、県知事選挙がやり直しとなる。もちろん選挙違反なら、さいとうさんは公民権が停止するために立候補できない。

今回の県知事選挙はさいとうさんの告発文書への対応の経緯であったり、立花さんの不当な介入だったり、異常尽くしになっているのでもうひと悶着あっても驚かないのかもしれない。いずれにしても、さいとうさんの百条委員会もまだ継続しているのでこのネタもその議題の1つになるのかもしれない。

ストレッチ

今週は出張の週でほとんど運動できていないので筋肉痛などはない。一方で出張の行き帰りで座っている時間が長かった分の、右腰の張りが強いとトレーナーさんが教えてくれた。あまり自覚症状がなかったが、車に長時間乗ったときや新幹線の移動があるときは大抵そうなる。予定外のタスクが増えていって進捗もよくなくていろいろ疲れていて、トレーナーさんと県知事選挙後の雑談をしたり時事ネタを話したりして気分転換になった。今日の開脚幅は開始前149cmで、ストレッチ後153cmだった。調子がよくない。

体調がよくなかったからストレッチを終えて真っ直ぐ家に帰って20時頃から横になって休んでいた。

web api サーバーの可用性検証

目次

今日も体調が悪かったのと22時過ぎまでインフラ検証をしていて疲れていたのでバドミントン練習はおやすみ。

昨日の続き。compose サービスのコンテナネットワーク内で管理している nginx のリバースプロキシの設定を、ホスト os で起動する httpd (apache) に移行して検証していた。基本的にはほとんど同じ設定ができる。nginx よりも httpd の方が細かく設定したり、エラーチェックが厳密だったりの違いがあったぐらい。httpd の設定をするのも久しぶりで chatgpt に聞きながらわからないところを穴埋めしていくようなやり方で検証した。

その検証を完了してから、web api サーバーの可用性検証に取り掛かる。シェルスクリプトで数十から数百リクエストを並行にリクエストして、そのときのサーバーの状態を監視したりしながら、id 連携の処理が正常に動くことを確認する。mongodb のトランザクション導入 により、同じ主キーのドキュメントを並行に更新しようとすると WriteConflict エラーが発生する。これは仕方がない。同じコレクションであってもキーが異なればトランザクションのエラーは発生しないことを確認できた。メモリリークもみられない。web api サーバーの大半は私が設計して開発しているのでこんなレベルで問題にならないはずだが、やはり検証して確認できると安心できる。

ipv6 による疎通検証

今日は神戸へ帰ってきてバテバテでしんどかったのでバドミントン練習はおやすみ。出張で体調を崩してしんどい。

ipv6 とリバースプロキシと xff ヘッダーの扱い

要件の1つに ipv6 での通信ができることという項目がある。OSI参照モデル の概念から言うと ipv6 は第3層であるネットワーク層の話しになる。実際に世の中で運用されている tcp/ip のプロトコルスタックにおいてもネットワーク層の話しであり、レイヤーが異なることからアプリケーション層では影響を受けないはずではある。アプリケーション層からみたら ipv4 であろうと ipv6 であろうと、ネットワーク周りのライブラリやフレームワークが対応していれば問題ないだろうと考えていた。それ自体の認識は誤っていない。

プロキシを経由するときに X-Forwarded-For (以下 xff) ヘッダーをセットすると、そのプロキシへアクセスしてきたリクエスト元の ip アドレスを保持できる。api サーバーでは xff ヘッダーを参照すれば ipv4 または ipv6 でアクセスしてきたクライアントの ip アドレスがわかる。フレームワークの echo における対応 も過去に行っていた。1つ対応漏れがあって xff ヘッダーはプロキシを経由するごとに途中の ip アドレスを追加していく。原則として信頼できるネットワークのアクセス元の ip アドレスを使う。例えば、次のような xff ヘッダーを考える。

X-Forwarded-For: 203.0.113.3, 192.0.2.5, 198.51.100.7"

このとき信頼できるネットワークが 198.51.100.0/24 である場合は xff ヘッダーによるクライアントの ip アドレスは 192.0.2.5 となる。信頼できるネットワークが 192.0.2.0/24 と 198.51.100.0/24 の2つである場合は 203.0.113.3 の ip アドレスを使う。基本的には信頼できるネットワークの左側にある ip アドレスを使うと考えればよい。一方で途中経路のネットワークを知っていて信頼できるネットワークであることを設定しないと、意図したクライアントの ip アドレスを取得することはできない。

さらにリバースプロキシでアクセス制限をしたいという要件がある。docker compose を使うと通常は NAT の構成となり、コンテナネットワークのリバースプロキシ (nginx) からホスト os のリクエスト元の ip アドレスを参照できない。コンテナネットワークのゲートウェイ (172.18.0.1) からアクセスを受けたようにみえる。この振る舞い自体も正しくはあるが、調査したところ、docker の rootless モードだとリクエスト元の ip アドレスを参照できないということがわかった。次の issue によると port forwarder と呼ばれるモジュールがあり、デフォルトものから slirp4netns に変更すれば参照できると次の issue で紹介されていた。

Environment="DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER=slirp4netns"

実際にやってみて ipv4 の ip アドレスを参照することはできたものの ipv6 は未対応らしい。

他のやり方も調査してコンテナネットワーク内の nginx から ipv6 の ip アドレスを参照することができなかった。要件を満たせないことからリバースプロキシをコンテナネットワークから外出しして構築することに決めた。rootless モードでなければ ipv4/ipv6 の両方を取得できるという話しもお手伝い先の同僚から聞いた。こんなところではまるとは思わなかった。

ping や curl コマンドも ipv6 対応されていてオプションを付けなくてもよいけど、ipv6 であることを明示する上では -6 とオプションを付けてもよいかもしれない。それにしても検証するときに ipv6 アドレスを手打ちするのは煩雑なのでいちいちアドレスをコピペすることになって面倒だなと感じた。

$ ping -6 2001:DB8:0:0:8:800:200C:417A
$ curl -s -6 'http://[2001:DB8:0:0:8:800:200C:417A]:8080/api'

カバレッジによるテスト改善のみえる化

昨日は睡眠不足の中、同期飲みで酔っ払ってかなりひどい状態で寝ていた。朝起きて時計の見方を誤って10時過ぎだと勘違いしたぐらいには取り乱していた。今日のバドミントン練習は雨降りでおやすみ。縄跳びをもってきたのに雨降りでできなかった。

プロジェクトの進捗報告

出張したときの月例報告の22回目。前回の進捗報告はこちら

今回の報告内容のメインはテスト改善の成果について共有した。カバレッジを取得できるようになったことでその成果を数値で共有した。マネジメントとしては数値で説明できると説得力があってよい。前フェーズからの要件や仕様変更により、テストが出来ていなかったところのカバレッジの改善が次のようになったと報告できた。わかりやすいし成果も確認しやすい。この数値を算出できるようになったことそのものも今回のテスト改善の成果でもある。

-/api/handler/ldap_management.go  46.8%
+/api/handler/ldap_management.go  77.1%

-/api/handler/ldap_profile.go  50.6%
+/api/handler/ldap_profile.go  79.8%

-/api/handler/ldap_util.go  61.4%
+/api/handler/ldap_util.go  80.4%

あとはバックエンドの開発を私がほとんどやるようになってしまって、その状況そのものがいずれ私がいなくなることや引き継ぎを考慮するとよくない状況になってしまったという懸念も共有した。すぐにいなくなるわけではないが、私がコアな開発をやっていてよいのかどうかの懸念を私自身が抱くようになってきた。これからメンバーへ徐々に引き継ぎしていくためにもテストコードが十分にあって、テストそのものが書きやすくなって、カバレッジでテスト漏れを確認できるようになっていて今後にもつながっていくだろうと報告できた。私自身がプロジェクトで窮屈に感じていた肩の重荷を少し下ろすことができて安心できるようになったと報告した。

朝の飛行機ルートの実証検証

今日のバドミントン練習は出張と飲み会でおやすみ。

朝の飛行機ルートのふりかえり

先月は出張帰りに飛行機を使った 。今回は出張の行きを飛行機にしてみた。

タイムスケジュールは次のようになった。荷造りは出来ていたので5:45に起床してすぐ出掛けた。貿易センター駅は家から近いので朝ゆっくりできる。

6:02 (ポートライナー) 貿易センター (車内わりと満員) 発
6:17 (ポートライナー) 神戸空港 着
6:28 保安場通過して搭乗口前へ (スーツケース持込可)
6:50 搭乗手続き開始
7:02 飛行機の座席に着く
7:16 神戸空港の滑走路を発進
7:21 離陸
(前日ほとんど寝てなかったので寝てた)
8:16 羽田空港の滑走路に着陸
8:25 降機 (定刻より5分早い)
8:42 (京急本線) 羽田空港 (普通に座れる) 発
9:10 (都営浅草線) 泉岳寺乗り換え (5分待ち、普通に座れる) 着
9:18 (都営浅草線) 五反田 着

新幹線だと次のスケジュールになる。普段は三宮駅へ歩いていく時間があるので5時半前には家を出ている。地下鉄にももう1本前の便に乗ったりしている。

5:53 (神戸市営) 三宮 発
5:55 (神戸市営) 新神戸 着
6:10 (新幹線) 新神戸 発
8:44 (新幹線) 品川 着
8:52 (JR 山手線) 品川 発
8:58 (JR 山手線) 五反田 着

飛行機と新幹線の比較は本当に難しい。どちらも一長一短ではある。飛行機の方が東京への到着時間は遅れるものの、移動時間の関係で朝1時間ほど遅く出発できる分の身体的な負担が小さい。行きの方が元気があるので移動や待ち時間が少しあってもそれほど気にならない。飛行機は新幹線と比べて遅れる可能性があることだけ懸念でもある。今回は逆に5分早く着いたので余裕をもって移動できた。身体的な負担だけ考えれば、行きを飛行機、帰りを新幹線のルートで出張する方がよいようには思える。今回で飛行機のルートをだいぶ開拓できた。来月もこのルートで出張してみる。

同期飲みにおける失敗

お仕事を終えてから昔の同期と飲みに行った。寝てなくて疲れていたせいか、たくさん失敗したのを書いておく。以前に 公正証書の正本を紛失 する失敗と同じレベルで大失敗した。他人の失敗に対して寛容になること。自己の非を省みるために書いておく。

  • 友だちと待ち合わせの駅を間違う
    • 乗車時間が3分であったために二駅隣を一駅隣だと勘違いしてしまった
  • お土産に持っていったお酒を落として割ってしまう
    • もっていた紙袋の底が抜けてしまった
      • 紙袋ののりが劣化していた?
  • 酔っ払ってスマホで改札を通ろうとしてしまった