Posts for: #Life

訃報

0時前に母から父が亡くなったという連絡があった。たまたまオフィスで作業をしていて電話を受け取った。以前 母の入院の連絡 をもらったときも日曜日の夜にオフィスで作業をしていたときだった。2回続いたので日曜日の夜のオフィスで受ける連絡は悪い知らせというジンクスができた。

話を聞く分には、看護師さんが20時に見回りしたときはとくに異変なく、23時に見回りしたときはすでに呼吸もなく、蘇生措置をとる暇もなかったとのこと。その後、母が病院へ移動して死亡確認し0時34分が死亡日時となった。私は6時35分始発の高速バスで帰ることにした。2時から4時の2時間ほど寝て準備して帰る。平日の始発で下りのバスに乗ることがなかったので知らなかったが、高速舞子のバス停で淡路島へ行くために乗車する人たちが30人ほどいて驚いた。平日なのでおそらく本州側から淡路島へ通勤している人たちもいるんだということがわかった。

その後、斎場に着いてからスタッフの方々と通夜と告別式の段取りを組む。私はこれまでにこういったことの経験がないので言葉も段取りもわからなくて今回は学びの機会となる。いうても、いまは斎場で行うのが定着したため、家で行うよりはずっと負担が少ない。またコロナによって家族葬を行う本音としても建前としても適正な理由ができた。うちも家族葬で行うので親戚や隣保の関係者がかなり減る分の調整コストを下げられた。

そして、私はそのまま葬儀場の控室で2泊3日で過ごすことにした。わりと部屋は暖かくてトイレも近くてキレイなのでお風呂のないホテル暮らしのような感覚で快適ではある。本当は今日に、通夜をするのがよいのではないかと段取りを始めたのだけど、いくつか調整がつかず、翌日に伸ばすことにした。逆にその分、今日は打ち合わせだけのお仕事ができて、それはそれでうまくはまったピースもあった。死亡届けを市役所へ提出し (これだけで待ち時間を入れて2時間半かかった) 、火葬場の許可証を入手し、喪服を購入し、母の通院など、余裕をもってタスクを消化できた。夕方に斎場へ戻ってきてそのまま守りの役目についた。もともとあまり眠れないので座布団とこたつで寝ててもとくになんの問題もなかった。

50歳の壁に備えて

昨日は寒さに耐えかねて今冬で初めて暖房を入れて寝た。お腹を冷やさなかったので効果はあったように思う。寒過ぎる。22時頃から寝て2時に起きて5時ぐらいまでだらだらして7時に起きた。最近気になるのは寝ていたら吐き気がして苦しむ日が多い。朝と昼は平気なのに眠るのが大変。

ストレッチ

今日の開脚幅は開始前153cmで、ストレッチ後156cmだった。やはり先週とほぼ変わらず。急に寒くなって体調を落としているのもある。筋肉の状態も右太もも周りの張りや違和感と右腰の張りが依然として強い。よい・わるいで言ったら明らかに状態はわるい。今週はそんなにハードには働いていないし早く帰って休む時間も多めに取ろうと努めたものの、夜に吐き気で眠れないという苦しみがそのまま筋肉に表れているのではないかとすら思えてくる。それぐらい眠れない。歳とるとそんなもんなのかなぁ。

フリーランス、40歳の壁

はらさんがお勧めしていたので フリーランス、40歳の壁 を読み始めた。「序章 フリーランスは自由という名の業である。」を読んだ。

本書で取り扱う「自由業」は、著述作家業を中心とした「表現業者」のことです。

プログラマーは「モノ作り」よりも「モノ書き」に近いという言葉もあるように、大きな枠組みでは表現と呼べるかもしれないけど、どうやら本書の著者はフリーライターという職業らしい。

自由業者には2種類あると思います。 自由業に「なる」人と、「ならざるを得ない」人 です。

前者は会社員をやりながら余暇で作品を創り、十分な経験を積んでフリーになる人。後者は、さしたる経験も実績もなくフリーに「なってしまう」人。

序章を読み始めた冒頭では私は自由業にならざるを得ない方の人かなと思って読み進めていた。しかし、序章全体を読み終えると、普通の会社勤めの働き方にあわせられない人を「ならざるを得ない」人と表現しているようにみえる。そこまでのアンマッチはないという視点から言うと、私は前者になってしまう。けれども、なにか引っ掛かっているところもある。40歳のとき働いていた会社で早期退職制度が設けられ、私も50歳になったらそれで辞めてくださいと言われる未来がリアルにみえた。周りに疎まれながら会社にしがみついて養ってもらうといった生き方は私には向いていない気がする。それはプライドがどうこうではなく、私にとってそんな人生を楽しめるようには思えなかった。だから私は辞めるしかなかったし、自分で仕事を創っていくしかないと決めた。もちろん社会人として20年ほど働いた実績はあったけれど、会社経営の経験はなかったし、会社をやっていく展望も準備もなにもなかった。まさに無計画にいきなりフリーにならざるを得なかったという表現が腑に落ちた。

私は、なんとなくなれてしまう自由業者は気楽な仕事、と言いたいのではありません。その反対で、こういう人は年とともに「壁」にぶつかる率が高いと言いたいのです。30歳・40歳・50歳の節目ごとに壁は襲ってきます。10年経るごとに、壁は大きく、厚くなります。それでも人間は生きていかねばなりません。

50歳という節目に私はどんなお仕事をしているのか、現時点ではまったく想像がつかない。一方で著者は自由業にならざるを得なかった人には大きな壁があると説いている。はらさんと話していても50代は単価を下げられるという話しはよく聞く。今後の働き方への戒めとして読んでおくのもよさそうに思える。

オフィスでのんびり過ごす

21時に寝て何度も夜起きながら頭痛の機嫌をとりつつ8時に起きた。頭痛はほとんどなくなったもののお腹が痛かったりして微妙な体調。お仕事は断念してブログの記事を読んだりみかん食べたり買いものしたりしてのんびりしていた。

リモートワークの道具

たいちさんが 二年以上のリモートワークを生き残っている道具を紹介する という記事を書いていて同じマウスを使っているなと親近感をもって読んでいた。引っ越したばかりのオフィスでケーブル周りがあまりしっくりこないと思っていたので ケーブルトレー (CB-CT4) を購入してみることにした。机の上にわさわさしているケーブルや電源タップの取り回しをすっきりできそう。

マイナポータルへの登録

親が マイナポイントのキャンペーン がどうこうと、マイナンバーカードを取得して申し込みなどをしていた話しを聞いた。うちの親が手続きしているぐらいなのでそれなりに一般の人たちがマイナンバーカードを取得して申し込みしているのではないかと思う。私もよくわかっていなかったけど、12月中に手続きをすれば20,000ポイントをもらえるとあるので paypay 経由で手続きをしてみた。次の2つに登録するとよいみたい。

  • 健康保険証としての利用申し込み
  • 公金受取口座の登録

どちらも行政手続きの簡略化が期待される。システムに関わっている私は受け入れて申し込みした。手続きがうまくいけば paypay でマイナポイントをチャージして使えるらしい。paypay はふるさと納税とも連携するし、こういった行政との連携も抜群で便利な決済アプリになったなぁという印象。また以前はボーナス運用と呼ばれていた paypay を使ったときに還元されるポイントを資産運用している。それがパワーアップして paypay証券 になったみたい。paypay はイケイケやね。積立もできるらしいので投資信託の代わりのようなものだと思う。いままでのポイント運用プラス積立を気軽にできる資産運用としてよさそうに思えたので申し込みしてみた。

コミュニティ忘年会

コミュニティ忘年会

22時に寝て0時に起きて、4時5時と起きて7時に起きた。昨日の夜ぐらいからずっと頭痛がする。体調悪い。

ストレッチ

今日の開脚幅は開始前153cmで、ストレッチ後157cmだった。先週とほぼ変わらず疲弊と疲労が抜けきっていない。右太もも周りの張りや違和感が依然として強い。腰も自覚症状はなかったもののストレッチを受けていると張りが強いことに気付いた。トレーナーさんからも調子悪そうみたいなコメントもあった。田んぼ・出張を経てのオフィス移転から引っ越しに伴う行政手続きと、この3週間のバタバタした負荷が残っているみたい。土日もずっと作業を継続しているのもよくないのかもしれない。とはいえ、お仕事も引っ越しの行政手続きも一段落はついたので徐々に復調していくはず。

もくもく会 & 忘年会

ストレッチを終えたら普段はオフィスで調べものをしているところ、頭痛でしんどいから家に帰って寝てた。そして14時から 【三宮.dev】今年を〆るもくもく会 に参加した。2022年7月頃に移転したばかりの中央区の区役所の上に 中央区文化センター がある。そこで開催されて初めて施設に入った。新設した施設なのできれいで設備も充実していてよさそうにみえた。うちのオフィスからも近い。うちの会社にお客さんが来ることはないのだけど、大人数の打ち合わせにも使えそう。

オフィスへ行かなかった日は day off というタグで記録している。オフィスへ行ったからといった必ずしもお仕事しているわけではないけれど、役員は考えること・為すことすべてが事業に関連するという考えからオフィスへ行く・行かないという基準で day off という概念を私の中で切り替えている。家で寝てても頭痛はおさまらなかったものの、気合を入れてもくもく会へ行って日記を書いたり調べものをしたりしていた。17時にもくもく会が終わって忘年会へ続く。頭痛はまだ残っていたものの、お昼よりは少しましになった。忘年会も休もうかどうか迷ったんだけど、普段来られない方々もいたのでせっかくの機会だと思って、本気出して忘年会へ行ってきた。体調悪いからお酒は控えた。忘年会でいろいろな話しを聞けたので行って楽しかった。

体調悪いから2次会は控えて家に帰ってきてそのまますぐ寝てた。

openapi-ext-tools をまた使う日がきた

0時に寝て4時に起きて7時に起きた。わりとよく眠れた。

ストレッチ

トレーナーさんと月曜日の日本対クロアチア戦の感想を話したりしていた。今日の開脚幅は開始前153cmで、ストレッチ後156cmだった。先週は疲弊と疲労で散々な数値になっていたものが復調してきつつある。今週も毎日8-22時はオフィスで缶詰め状態だった。たくさん座っている (同じ体勢でいる) 時間が増えると筋肉にはよくない。まだまだ右腰と右太もも周りの張りは強く復調にはもう少し時間がかかるようにみえる。一方で忙しさのピークを越したと思うので今週以降は少しペースダウンしながら体作りをしていく。いまお手伝いしている開発は12月にすべての集中力を費やしてもよいと考えている。残りは期間はメンバーに委譲するような体制になるとベストかもしれない。そのための体力づくりは重要。

openapi-ext-tools 再び

github pages ならぬ gitlab pages がある。ふと web api のドキュメントを作るために openapi のスキーマを定義したら gitlab の ci/cd と連携できていいんじゃないかと思い付いた。スキーマがあればフロントエンドのクライアント生成や e2e テストコードの自動生成などに使えるかもしれないし。過去に作った openapi-ext-tools を oss にしておいたからいまも使える。oss 万歳。先のことはわからない。redoc を使ってちゃっちゃと実装した。

pages:
  only:
    changes:
      - schema/*
  stage: deploy
  image: alpine:latest
  before_script:
    - apk --no-cache add python3 nodejs npm
    - python --version
    - python -m ensurepip
    - pip3 --version
    - node --version
    - npm --version
    - npm install --global redoc-cli
    - redoc-cli --version
    - pip3 install openapi-ext-tools
    - pip3 freeze openapi-ext-tools | grep openapi
  script:
    - openapi-spec-cli --spec-path schema/openapi.yml
    - |+
      redoc-cli bundle bundled_openapi.yaml \
        --output index.html \
        --options.expandResponses=all \
        --options.requiredPropsFirst=true \
        --options.jsonSampleExpandLevel=10 \
        --options.hideLoading=true \
        --options.pathInMiddlePanel=true      
    - mkdir -p public
    - mv index.html public/
  artifacts:
    paths:
      - public

久しぶりに触ったら openapi-ext-tools が依存ライブラリの変更で動かなくなっていたので直した。

オフィスの引っ越し

3時に寝て8時に起きた。疲労困憊だけど、今日を乗り切ればよい。9時から荷造りの続き。昨日の深夜に大半の荷造りを終えていたので2時間ほどで終えて軽く掃除したりしていた。

引っ越し

14時から レントラ便 さんにお願いしていた。13時25分にレントラ便の担当者から電話がかかってきてオフィスに到着したとのこと。私もすでに準備出来ていたのですぐやりましょうということで搬出作業が始まった。作業員として1名しかお願いしてなかったが、先方の担当者は2名いたので荷物の搬出がその分楽になった。だいたい30分ぐらいで搬出作業が終わった。新しいオフィスに移動して14時から搬入作業を開始した。搬入作業はだいたい20分ぐらいで終わった。出すよりも入れる方が速かったのは、バンに荷物を積み込むときにスペース効率を考えながら配置する必要がないからだろう。時間に余裕があったので追加で新しいオフィスにある椅子を保管するために家まで運んでもらった。オフィスの椅子はアーロンチェアを使っているので備え付けの椅子はいらない。それが終わったのが14時25分だった。そこで事務手続きして完了とした。荷物の移動も含めて約1時間で引っ越し作業を終えた。本当は14-16時で依頼していたが、早く始めて想定したよりも早く完了していいこと尽くめだった。また次回があればレントラ便さんにしようと思う。その後、荷解きしながらぼちぼち片付けをしていた。

ストレッチ

19時半からストレッチ。先週の田んぼ作業 でスクワットに近い運動をたくさんやったので月曜日や火曜日はひどい筋肉痛になっていた。水曜日以降はましになったが、若干の違和感も残っていた。今日の開脚幅は開始前144cmで、ストレッチ後150cmだった。疲労と筋肉痛でまったくいつも通りにはいかなかった。お腹つったり足裏つったりしてた。トレーナーさんが言うには筋肉痛のときは普段のストレッチをあまりやるよりも筋肉をほぐすようなストレッチをした方が早く回復するみたいな話しをされていた気がする。あとはワールドカップの話などをしていた。

レンタカーを借りて実家に帰る

2時過ぎに寝て7時に起きた。昨日の夜は洗濯と晩ご飯食べるために早めに帰って家事をやった後にオフィス戻って1時半ぐらいまで作業してた。

ストレッチ

今日の開脚幅は開始前152cmで、ストレッチ後156cmだった。先週に引き続き調子はあまりよくない。右股関節の詰まりと右太ももの張りがかなりある。今週も先週と変わらないぐらい座っている時間が長かったのでなんとなく結果は推測できた。来週は出張するから歩く機会が増えて逆に運動不足解消になってよい結果につながったりはしないだろうか。

レンタカー

母の脳梗塞疑いの検査入院 もあり週末に一度帰った方がよいだろうということでレンタカーを借りた。いつもコンパクトというカテゴリで借りると TOYOTA VITZ か HONDA FIT になることが多い。FIT は2-3回目なのでだいぶ車の雰囲気にも慣れてきた。今度から FIT 指名でいいかもしれないと思うぐらいには気に入ってきた。

神戸市内から垂水パーキングエリア

三ノ宮から垂水ジャンクション近くのパーキングエリアまで30分ほど。このパーキングエリアにはたるみ食堂という普通のパーキングエリアよりもちょっと豪華な雰囲気がするものが食べられる。一番人気とあったのでジャンボチキンカツ定食を食べた。おいしかったし、量も多かったので890円ならコストパフォーマンスはよかった。一方でお腹いっぱいになってこんなにたくさん食べなくてもよかったとも思えたので今度は別のものを頼んでみたい。たるみ食堂の隣にセブンイレブンがあってちょっとだけお土産も置いてあるけど、ここでは神戸のお土産はあまり選べないことに気付いた。ご飯を食べるところやね。

垂水パーキングエリアから淡路サービスエリア

垂水パーキングエリアから20分ほど。サービスエリア内のお土産は9割淡路島のお土産でちょっとだけ神戸、大阪、京都のお土産もある。姉にお土産を買って帰らないといけない。ここにはスタバがあって、スタバのケーキがよいという。昔からあったみたいけど、あまり意識してみたことがなかった。たしかに淡路サービスエリアにスターバックスがあり、明石大橋を眺めながらコーヒーできるよい立地にあることに気付いた。初めて入ってみてケーキとドーナツをお土産に購入した。

淡路サービスエリアから実家

淡路サービスエリアから高速道路も空いていてがんがん飛ばして実家まで40分ほど。自分で運転して帰るとあちこち寄り道できるし、たまに車の運転してストレス解消にもなるし、高速バスよりも速いし、お金がかかること以外はそれなりに楽しかった。まだまだ車を買う経済的な余裕はないけど、いつか車買って気軽にドライブに出掛けるような生活がしたい。

高速道路の料金

合計で2,540円だった。高速道路を普段走ってないので値上がりしているのかどうかすらわからない。

  • ETC 生田川 -神戸本線出 普通車 600
  • ETC 須磨本線 -垂水JCT 普通車 160
  • ETC 特割垂水第三 -西淡三原 普通車 1,780

玉ねぎを植える準備

帰ったら母が田んぼで作業してたからそのまま手伝うことに。肥料をまいて名前の知らない農具で玉ねぎを植える畝を耕す。雨で田んぼがぬかるんでいて作業しにくかった。昔は田んぼいっぱい玉ねぎを植えていた。いまはちょっと食べるぐらいしか植えないのでほんの数個の畝を耕すだけ。

http フレームワークの選び方

昨夜いろいろあって帰ってくるのが0時過ぎになった。23時過ぎから雨降りで雨の中、自転車で帰ってきた。2時に寝て5時に起きて7時半に起きた。危うく寝坊するところだった。

母の入院

昨夜のいろいろのすべて。最悪の事態を想定してお手伝い先にも今日休むかも?と昨日の夜時点で一報を入れていた。結論としては休む必要はなかった。「ろれつが回らない」という連絡を受けて姉が救急車で病院へいくことを指示して即検査で即入院した。母は過去に目がみえなくなって脳梗塞だったことがある。幸い一通り検査して問題はなかったものの、念のために2日間入院して明日退院する予定。姉に病院の付き添いとかいろいろやってもらったので、私も週末に帰って様子をみてくる。お仕事が立て込んでてんやわんやだけど、そのために神戸で自分の会社をやっているのもあるので仕方ない。母は車を運転しない方がよいだろうという見立てで週末にレンタカーも借りた。久しぶりに高速バスではなく、高速道路をドライブしながら実家へ帰る。

echo と chi でサンプルコードを書いてみた

go の http フレームワークの選定 の続き。明日、定例があるのでメンバーにソースコードを共有しつつ、http フレームワークの採用を決めようと考えている。特定のルーティングとミドルウェアの適用をする簡単なサンプル。

net/http のレイヤーであれこれカスタマイズしたいなら chi でよい気もするけど、web api のアプリケーションのレイヤーにのみ注力したいなら echo を使った方が楽そうという私の第一印象。web api サーバーを書いてて request のパラメーターを扱うことはあっても response writer を扱う必要性をあまり感じたことがない。json しか返さないのだし、構造体を返したら勝手に json に変換してくれたらそれでいいんじゃないかと私は考えている。

寝ることとお仕事の選び方

20時過ぎに寝て0時に起きて、何度か寝たり起きたりしながら7時に起きた。神戸マラソン のスタート地点が近所なので朝から神戸マラソンのアナウンスが聞こえてきた。

睡眠時間と仕事始め

後藤達也 note の掲示板 (たぶんメンバーしかみれない) に後藤さんがいつ寝ているのかという質問への回答を書かれていた。

よくある睡眠パターンは21:30ごろ~4:30とかだと思います。これだと7時間寝ているので十分です。

後藤さんも早寝早起き派らしい。私はだいたい0-6時が平均的なパターンだと思うけど、ちゃんと眠れないので6時間も寝ていない。体調の悪いときは横になっているものの1-2時間しか寝ていないときもある。7時半までには家を出てオフィスに向かい8時までにはお仕事を始める。開発が佳境に入ってきて集中力が上がっていれば仕事始めが6時半から7時ぐらいになる。開発のピークにそういう時期をもっていくように調整しながら働くときもある。最近は働き方改革でそういった密度の高い開発を要求されることも少なくはなりつつあるけど。

仕事を受ける判断

後藤さんはすごいなーと読んでいたら睡眠時間の投稿が思いの外盛り上がったらしく、第2段として仕事の選び方について投稿されていた。

そのなかで仕事を受ける判断として大事にしているのが、「発見があるか」「広がりがあるか」です。

これも私にとって共感のある内容でその投稿を読み入ってしまった。これまでも日記のあちこちに断片的には書いてきている。私も2021年1月31日に会社として引き受けないお仕事の基準を設けた。次の項目に該当したら基本的に引き受けない。

  • 自分の目指すキャリアの延長上にない
  • 自分がもっている知識や経験だけでできる
  • すでにあるものを維持していく、手伝うだけ
  • そこそこの開発メンバーがいて人手が足りないのを補うだけ
  • 権限委譲がなくてイニシアティブを取れない

どういうお仕事を受けて、どういう働き方をするかを課題管理し、その後も継続的にずっと考えていてまだ答えは出ていない。もう2-3年かければより明確になりそうな気はしている。やりたいことよりもやりたくないことを定義する方がずっと簡単で具体的と言える。

jira の epic 運用にもの思い

jira に特化した話だけど、チケットの整理をしていて自分の中での結論を言語化できたので書いてみる。前からずっと思っていたことではある。twitter に書いた通りだけど、epic のサブタスクはあまり使わない運用がよいのではないかと思うようになった。そもそも epic という単位が story よりも大きな機能のグルーピングを表す概念なのだから epic チケットはシステム上の制約で存在しているだけでそれを通常のチケットのように扱わなくてもよいのではないかと思う。epic に限らず、チケットを束ねるだけのハブチケットまたは親チケットに通常のチケット機能を設けない方がユーザーにとってわかりやすいようにも考えている。ハブチケットや親チケットに特化した要件や振る舞いはあるはずで、多くの課題管理システムはそれを追求していないようにもみえる。

ふりかえりの目的とワークショップ

早めに帰ってきて晩ご飯を食べてからまたオフィスに戻って作業して2時に寝て7時半に起きた。

ストレッチ

今日の開脚幅は開始前153cmで、ストレッチ後155cmだった。先週よりは体力的に回復しているものの、今週も多忙で椅子に座っている時間が長かったので数値が悪くなっているのかもしれない。基本的には、お仕事が忙しい = 座っている時間が長い = 同じ姿勢の状態を維持する = 筋肉が固まったり運動不足に陥るという理屈で体調が悪化する。今週はなぜか右太ももの前あたりの張りが強かった。逆に腰や全身の負担は軽減したように感じた。開脚幅の数値はよくないものの、先週よりは復調しているような感触。実際のところはまだよくわからない。

ふりかえりとワークショップの定義からコミュニティ作りのなにか

書籍同様、タイムラインなどでみかけた記事を後で読もうと積ん読しておくときがある。次の記事もおそらく公開時期にみかけて気付いたら積ん読のまま1ヶ月が経過していたのを精読してみた。

読み始めて、いくつかもの思いにふけりつつ、そこから派生して他の作業もしながら戻ってまた読み進めて、この記事を読むのに5時間かかった。そのぐらい私にとっては示唆のある読み応えのある記事だった。書いてあることのいくつかの点が他の事柄に繋がっていて、その点と線を確認しながら読み進めたので時間がかかってしまった。よくぞこの記事をブックマークしただけで流さなかったと過去の自分に感心したぐらいにはよい記事だった。ワークショップという言葉はよく聞く言葉ではないし、グループワークをする小さいセミナーのイメージを私はもっていた。教育学の分野の研究者によると次のような定義があるらしい。

ワークショップとは

  • 講義など一方的な知識伝達のスタイルではなく、参加者が自ら参加・体験して共同で何かを学びあったり創り出したりする学びと創造のスタイル (中野民夫, 2001)
  • コミュニティ形成 (仲間づくり) のための他者理解と合意形成のエクササイズ (練習) (仮宿俊文, 2017)

ちょうど課題管理の文脈でふりかえりをどう設計しようかを考えていたときにこの記事を読んだ。ふりかえりの目的を多義的に捉えるという発想そのものが私にはなかったのでそういった目的も含め、ふりかえりを実践していければよいのではないかと、自分の中にももともと燻っていた火種を見事に言語化してくれて示唆に富む記事だと感じた。

  • 既存の業務に対する課題や改善の洗い出し (一般的なふりかえりの目的)
  • チームのメンバーとコラボレーションする上で他者の考え方や意見を理解するきっかけの1つにする
  • エージェンシーは自分一人では育まれず、同僚や上司、チームや組織との関係性の中で育まれる

go の nil を学び直し

3時半から起きていたせいか夕方に眠くなって19時過ぎから23時まで寝て、それからまたオフィス行って4時ぐらいまで作業してから戻って寝て8時半に起きた。生活がめちゃくちゃ。

ストレッチ

今日の開脚幅は開始前154cmで、ストレッチ後158cmだった。生活が不規則になって体力的にバテているのもあって右股関節、右腰の張りが強かった。さらに加えてふくらはぎ、腕と全身的にいつもより張りがあるように感じた。トレーナーさんが言うには座っている時間がいつもの週より多かったならその分だけ筋肉が固まってしまう可能性はあるとのこと。先週の東京出張から帰ってきて、リモート環境の構築、macbook 環境でメモをとった内容の見直し、リモートワークでマネージャー業をやるための準備や足りない知識の習得とか、さらに2つの社外イベントにも参加していたので普段の週よりも長い時間を机に向かって作業していたのは正しい。新しいお仕事を受けると一時的に仕事量の負荷が増える。それ自体は悪いことではないけれど、2-3ヶ月は余裕のない生活になりそうな気がする。毎週ストレッチがあるとそういった過労の疲労軽減に役立ってくれているので助かっている。

オンライン読書会

ずっと参加しようと思いつつ、都合があわなくて参加できていなかった 第4回『Go言語による分散サービス』オンライン読書会 に4回目にして初参加した。7.4 発見されたサービスにリクエストし、ログをレプリケーションする (130ページ) から 8.2.3 有限ステートマシーン (163ページ) まで読んだ。途中からなので過去の経緯はわからないものの、柴田さんが詳しく解説してくれるのでまったくついていけないということはならなかった。出てくるサンプルコードのスニペットからでも学ぶことは多々ある。effective java 読書会に参加してた人だと柴田さんに覚えていてもらっていて嬉しかった。おそらく参加者の記録を自前で管理されているようにみえた。

go でインターフェースを実装しているかを確認するイディオムとして次のような宣言がある。nil を任意の struct のポインタにキャストするのを試す。変数は _ を宣言しているので実際にはこのコードはなにも定義しない。

var _ mypkg.MyInterface = (*MyImplements)(nil)

なぜこんなことができるのかは nil は nil という記事で解説されている。interface 型は型への参照と値への参照を属性にもつオブジェクトであり、そのゼロ値は nil である。interface 型の nil は型への参照をもっているから nil をキャストするといったコードを書ける。python や java のような言語で nil に相当する None や null といった primitive はキャストするといった概念はない。事実上のシングルトンと言ってよいはず。一方で go の nil は原則として型への参照 nil 且つ、値への参照も nil なものではあるが、interface 型のゼロ値を表すため、この例で言えば、型への参照として mypkg.MyInterface 且つ、値への参照が nil のオブジェクトを生成できる。シングルトンではない。つまり (*MyImplements)(nil) != nil となる。go の nil は他言語からみて特殊ということを知ってはいたんだけど、読書会に出てそのことを確認するサンプルコードをみつけたことで私の学び直しになった。感謝。

ソースコードはここに置いた。