Posts for: #Event

ミニカンファレンスみながら作業してた

1時に寝て7時に起きて朝からゲームしてた。お酒飲んだせいで眠りが浅かったような気がする。

ストレッチ

先週は前日に車であちこち移動して、長時間運転していたのもあり腰に負担がかかっていた。今週は東京出張だったものの、すねの外側の筋やふくらはぎの張りをやや感じた程度でとくに悪いところのない状態に戻ったようにみえる。寒くなってきたのもあり、上半身の肩周りの動きが堅くなっているとトレーナーさんは話していた。今日の開脚幅は開始前153cmで、ストレッチ後158cmだった。

ミニカンファレンスのオンライン参加

オンラインのミニカンファレンスを視聴しながらいつも通りの作業をしていた。あまりちゃんと聞いていたわけではないけど、要所要所でおもしろい発表もあった。

tinygo の中の人が自作キーボードに関する発表をしていて、その人は明石市に住んでいるので、明石市から三ノ宮にかけてイベントをやりたいと話されていた。go について話す相手がいると私も嬉しい。またなにかの機会でご一緒できればと思う。

SakeBash と LT 発表

2時に寝て4時に起きて5時に起きて7時に起きた。呪術廻戦ゲーム の初心者ミッションだけクリアしたらやめようと思って、なかなかミッションのレベルが高くて届かない。あともうちょっと。

SakeBash

神戸に acall (アコール) さんという会社があって、コロナ禍が始まる前に SakeBash イベントを開催されていた。2019-2020年にかけてのとき。それ以来ずっと開催されていなかったイベントを復活させたみたい。コロナ禍が acall さんの転機になったようで、オフィスのオートメーションに関するプロダクトを開発していて会社が大きくなっているらしい。

acall さんは go でプロダクト開発をしていると知っていたので神戸で go の話しができると思って次の LT 発表をした。発表したら向こうから声をかけてくれて go の話しができるかな?と期待したのだけど、あまりそういう雰囲気でもなかった。私はコミュ障なので知らない人に話すのが苦手。

acall さんの社員でしやさんという方が宮崎県から来られて、始めて LT 発表するということで応援しながら聞いた。

私の周りでも flutter を採用している人たちがいるので気にはなっていた。最近は flutter web というのも出ていて、flutter でフロントエンドとスマホアプリの両方に対応できそうにも思えた。次にスマホアプリ対応が必要になったら flutter を採用してみてもいいなと思えた。acall さんの制度をみていてユニークだなと感じたものに「いまあい旅費」がある。リモートワーク前提の会社だからこそ、こういった制度の価値が出てきたとも言える。一昔前は出張するのが当たり前だったのでこんな制度に意味はなかったが、リモートワークにより出張しないことが当たり前になったのでこういう制度設計になったんだと思えた。

いま、あいにいきます旅費

リモート勤務でオフラインで集うことが難しいメンバーと「会うこと」の価値を再認識し、オフィスで自社プロダクトのプラクティスを行うことで、製品のアップデートに貢献することを目的とした制度です。自宅から100km以上離れた神戸または東京オフィスに行くための旅費を支給します。(1往復分の交通費と宿泊費/ケ月)

イベントに acall の社員さんが10人ぐらい参加していた。勢いのある会社は会社イベントに参加する人も多くてよい雰囲気にみえた。宮崎県から来られていたしやさんの他にも埼玉県から来られていたとしさんという方もいた。他にも遠方から来ていた方もいたのかもしれない。

2次会

いまひとつ飲み足りなかったので三ノ宮.dev の仲のよい人たちと飲みに行った。RailRoad no.57 というバーでよい雰囲気のお店だった。またなにかの機会で使いたいと思う。葉っぱ (ハーブ?) がたくさん入っているはちみつカクテルがおいしかった。

そこで以前コミュニティで起業相談にのった方の経営について話題になった。創業してから1年弱かけて少し前にある web サービスをリリースした。その web サービスはコモディティで、すでに競合も数社ある。あまり新規のベンチャー企業にとって勝ち目のある分野だと私からはみえない。どうやってこの web サービスを黒字化するのだろう?と私は疑問に思っていた。創業者の相談に乗った方も今後の戦略について尋ねても明確な答えは返ってこなかったようでとても不安になったと話されていた。融資を受けたという話しを聞いていたのでしばらく会社を存続できるのかもしれないけど、作った web サービスを収益化しないと次の融資を受けられることはないだろうから先行きは厳しいのではないかと推測する。外部からみえる範囲内では今後の先行きは危ぶまれる。創業して1年もたつのに、若い開発者にすら心配されるような戦略しかもっていない経営者というのはちょっと想像できない。融資を受けることが出来たぐらいだから、起業や経営について相談にのってくれる人は周りにいるんじゃないかと思うんだけど、経営目線で厳しいことを言ってくれる人はいないのかもしれない。

フルリモートとヒトリ

1時に寝て珍しく夜中起きずに7時ぐらいまで寝ていたかもしれない。午前中は昨日受け取ったスタンディングデスクを仮組みの状態からネジを締め付けて本組みした。ちょうど探していたものにぴったりはまる感じ。

友だちを探しに勉強会へ

もくもく会 に参加した。今日の参加者は6人とやや少なかったものの、初めて来られた方が2人いて、どちらもフルリモートで働いているものの、技術の話し相手や相談する場所がなくて、そういうものを求めて来ましたと話されていた。私も5年前に東京から神戸へ引っ越してきたとき、友だちがいないから探そうと思ってこのコミュニティへ来た。みんな同じところで落とし穴にはまるなと思って親近感を覚えた。以前 Python Boot Camp のお手伝い をしたときに知り合った、現地スタッフのにしたにさんが淡路島出身で、三ノ宮.dev にも関心があったようなので来られて挨拶した。そうやってつながりが増えていくのもまた嬉しい。

今後はフリーランスや個人事業主、マイクロ法人といった1人で働くスタイルがより増えていくと私は考えている。以前にも マイクロ法人のススメ を書いたが、1人で働くメリットは大きいものの、デメリットとして相談相手がいなかったり、困ったときに他者へ助けを求められないなどがある。コワーキングや勉強会コミュニティはそういった1人のデメリットを補う形で発展していくのではないかと想像している。そして、そのときのための準備を2年前ぐらいから始めている。

ストレッチ

土曜日に実家へ帰っていたのでストレッチを日曜日の夜に変更していた。昨日、車でジモティーのスタンディングデスクを引き取りに行ったり、実家との往復をしたので腰への負担が大きかった。それ以外は大きな疲労や張りなどはなかったと思う。勉強会後に飲み会へ行って、軽く1杯だけ飲んでやめとくつもりが、ビール2杯とハイボール1杯飲んでしまって、酒臭かったら悪いなぁと思いながらストレッチを受けていた。トレーナーさんはお酒の匂いしないと言ってくれてたけれど、本当のところはどうだったのか。ほろ酔いでストレッチを受けていた。今日の開脚幅は開始前152cmで、ストレッチ後157cmだった。

深夜コワーキングという試み

0時前から出掛けて行って寝ないで深夜コワーキングに参加した。スーパーでよく買う「山元さん家のええたまご」でゆで卵を作って持っていったら好評だった。また今度どこかでもやってみよう。

深夜コワーキングの所感

先日の オンラインイベント で話題に出たアイディアで一度やってみようと 深夜コワーキング Vol.0 が企画されたので参加した。参加者は5人だった。私は0時過ぎにカフーツさんへ行って3時ぐらいまで雑談しながら作業して、それからはお酒を飲んで遊んでいた。ながいさんが3時頃にたこやきを uber eats でを注文して、こんな時間に配達してくれる人がいるんやというのも発見だった。5時過ぎが眠気のピークでいっとき寝てしまいそうだったが、なんとか起きたまま6時まで完走できた。別に寝たらいけないというわけではないが。

総評として、深夜コワーキングで作業に集中するというよりは、作業しながら他のコワーカーの人たちと雑談して、普段とは異なる刺激を受けたり、考えることがないことを考えてみたり、知らないことに気付いたり。そういった体験のすべてがコワーキングの価値であったり、コラボレーションの積み重ねだったりするように思う。そのコワーキングにおける価値の、さらに非日常を演出するという意図では効果があったように思えるし、おもしろい取り組みでもあると思う。また率直に楽しかった。

一方で6時半に帰ってきて、そのまま寝て10時半に神戸マラソンのアナウンスで起きて、2度寝して13時頃に起きて、起きようかと思っているうちに3度寝して結局15時ぐらいまで寝てた。よく眠れたのだけど、普段の生活とは違うことをすると、疲れてしまって可処分時間は余分に消費したようにも思える。毎月やるというよりも、たまにやるぐらいの頻度で非日常の中での価値創造の役割程度に考えるのがよいのではないかと思えた。私の日常はとくに朝型の生活をしているから夜通し起きているのは心身に疲労が大きい気がした。

ながいさんはショートスリーパーで平時も4時ぐらいまで作業していて3時間ぐらいしか寝ないらしい。他のコワーカーも4時まで作業する人、4時から起きて作業する人など、それぞれの人の働き方のスタイルがあるようだ。昔から私は一律9時出社のようなことが嫌いで、その人の働きたい時間に出社して自由に働けばよいと考えていた。労働基準法があるので一概に自由化は難しいと思うが、将来うちの会社でも社員を雇うことになってもコアタイムの概念は柔軟に設計しようと考えている。

サンライズ瀬戸・出雲

神戸から東京へ行くのに サンライズ瀬戸・出雲 という夜行列車という移動手段があることを教えてもらった。のぼりだけ三ノ宮に停車する。いま始発で当日に東京へ行っているが、前日はあまり眠れなくて眠れたとしても4時から起きて準備して出張すると、当日の16時ぐらいから眠くなってしまって集中力が落ちるという課題がある。もしかしたら夜行列車ならよく眠れてその問題を解決できるかもしれない。一度試してみようと思う。夜行バスとの違いとして、夜行列車はベッドで横になれるのでより快適だという。

専用の予約画面 からでないと予約が取れないみたい。予約システムの入り口からして難しい。すでに次の出張はスマート EX で予約済みなので、この次は2月かな。

三ノ宮(00:11発) => 東京 (07:08着)

  • 特急サンライズ瀬戸 (シングル)
    • 料金券部分 10,660円
    • 乗車券部分 9,460円

ビジネスだとラップトップを盗まられたら困るのでスタンダードな鍵がかかる1人個室を選択する。料金券と乗車券があって合計すると20,120円になる。予約は1ヶ月前から。新幹線 + カプセルホテルに泊まるぐらいの価格帯。高くはない。スマート EX の「EX早特21ワイド」だと12,630円になる。料金券を出張費用としてお手伝い先に請求して、乗車券はうちの会社持ちといった按分でよいかもしれない。

餃子の王将 御影店

阪神御影駅の近くにある餃子の王将がおいしいと有名らしい。食べログで 3.54 という驚異的な評価になっている。王将ですよ。

口コミでフランチャイズ最高とか全国一とかよい評価になっている。電車ですぐ行けるので今度行ってみようと思う。

あわじ島バーガーと淡路島バーガー

島内の道の駅で売っていた観光向けの あわじしまバーガー が有名になって、フランチャイズ展開をしているのだと私は思っていた。どうやら運営や成り立ちはまったく違うようだ。全国にフランチャイズ展開している漢字の「淡路島バーガー」はもともと西宮でバーガーショプをやっていた会社が手掛けて大きくなっているものらしい。神戸市に本社がある株式会社なゆたさんが運営しているらしい。

島内にある あわじ島バーガー (サイト内表記は漢字の淡路島バーガーだけど、ここにあるのが本来のあわじ島バーガー) はまた別の運営になっているようにみえる。もともと道の駅で売っていたものが流行って、淡路島産の食材を使っていれば丸ごとそう読んでしまえ的な緩いルールで運営しているようにみえる。加入条件は次になる。こっちがオリジナルの「あわじ島バーガー」になる。

  1. 淡路島の食材(畜産・農産・海産)を使用した「ご当地バーガーの提供」をしていること
  2. 淡路島バーガーを通じて淡路島を盛り上げていく熱い志があること
  3. 淡路島に店舗を構える飲食店であること
  4. 1年以上の販売継続と常時提供できる体制であること
  5. バーガーは作り置きせず提供していること

柏原の読み方

もう酔っ払いが雑談して遊んでただけなんだが、柏原の読み方が件によって違うらしい。

兵庫県の丹波市にある柏原は「かいばら」と読む。大阪は「かしわら」、京都は「かせばら」、滋賀は「かしわばら」になる。へーって感じ。

瑞祥 黒松剣菱

先日、飲まなかった瑞祥 黒松剣菱 を飲んでみた。珍しい黄色い日本酒が特徴。サイトの紹介には剣菱のお酒の特徴であるらしい。

また、剣菱の酒は一般的な日本酒のように無色透明ではありません。それは、ろ過をし過ぎて色と一緒に旨みまで抜けてしまわないよう調整しているため。剣菱の色の濃さは、いわば味の濃さの証といえます。

さらに瑞祥の説明には古酒であることが書いてある。

5年以上かけてじっくりと長期熟成させた古酒のみを厳選してブレンド。

これまであまり古酒を飲んだことがなかったせいか、私が飲み慣れた日本酒とは違和感を感じるが、不思議と後味はすっきりしていて、上品な風味であることはわかる。他の日本酒と違うことはすぐにわかるが、それが何なのかを表現できない、ややもやもやした気持ちが第一印象だった。好みは分かれるかもしれない。

剣菱さんは特徴のある日本酒の1つとして印象に残った。

エチゴビールの背景

法改正によってクラフトビールの製造が中小でもできるようになって 全国第一号クラフトビール (地ビール) を作ったのがエチゴビールさんらしい。知らんかった。たまたまもらったエチゴビールの「華やぎホップのうきうきエール」という IPA のクラフトビールがおいしかった。また今度買ってみよう。

ジョブチェンジのアドバイス

能をみて帰ってきた後に晩ご飯を食べたらオフィスへ戻ってもよかったんだけど、なんかだらだらしているうちに22時になって、もういっかという感じでさぼってた。それから寝て1時に起きて4時に起きて7時過ぎに起きた。

ストレッチ

今週はのんびりしていた気がする。お昼もずっと自炊していて健康によいような感じがあった。実際ストレッチを受けていて、いつもよりも負荷も疲労もないように感じた。強いて言えば、左ふくらはぎと二の腕の辺りがやや張りがあったぐらい。あとコロナワクチンを接種して2週間以上経って、いまの自分は無敵だと思うストレスの無さもあってか、体調がよい。今日の開脚幅は開始前155cmで、ストレッチ後157cmだった。お尻の筋肉を鍛えるエクササイズを教えてもらった。

もくもく会

神戸でもくもく会 に参加した。ON PAPER というコワーキングスペースで開催された。うちの会社から徒歩2分ぐらいの場所にある。窓際は西日でやや光が気になったが、10階で外を眺めながら作業できるのはそれなりに快適で、広くて設備が新しくて雰囲気のよい施設だった。またイベントがあれば参加してみたいと思う。主催者がこのコワーキングスペースのメンバーまたは関係者なのかな?よく分かっていないけど、とくに参加料は受け取らずにコミュニティイベントを開催されていた。もくもく会のイベントを今後も続けるかどうかはまだ分からないとのこと。

主催者の関係者で異業種からジョブチェンジを考えている方が2人いていくつかやり取りした。1人は26歳でまだ若いので実績がなくても第2新卒枠でいけばいいのではないかと思う。もう1人は30歳でちょっと第2新卒は厳しそうだが、プログラミングスクールに通ってちゃんと勉強していて、自分で cms っぽい web アプリケーションを rails で開発されていた。デモもみせてもらったが、web アプリケーションでよく実装する機能を一通りは実装されていて、パッとみた感じはよさそうにみえた。

RUNTEQ というプログラミングスクールで勉強しているとのこと。話を聞く分には浮ついたスクールではなく、自分で調べて考えて作れというスパルタ的な方でキーワード以外あまり教えてくれないといったことを話していた。それはそれで自分で調べて理解して実装しないといけない。あと chatgpt に聞きながらも実装していると話していて、いまどきの未経験者は chatgpt に頼るのもよいと思う。最初は誰もがコピペで振る舞いを検証しながらそのコードが正しいかどうかを自分で理解して書けるようになればよい。未経験から半年ちょっと学んで、rails でここまで動くものが作れるなら十分に自分で学んで作る能力はあると思う。ポテンシャル採用でよい会社に入れればうまくステップアップできるのではないかと思う。

IT 業界へジョブチェンジしたい人たちも増えたように思う。未経験の方々が最初に経験を積むよいお仕事はないだろうか。前にもこの話題を誰かにしたか、どこかで書いた気がする。お金をもらう以上、発注者がいて、責任をもって成果物の納品を期待している人がいる限り、いくら価格調整をしても未経験者にシステム開発してほしくないだろうし、してもよいけど責任者が品質を担保してほしいと思うのは自然だと思う。普通の会社なら先輩がついて経験の浅い開発者の面倒をしっかりみている (はず) 。私もいま若い開発者を少なくない割合の時間を割いて指導している。経験の浅い開発者を同時に面倒をみることは物理的にできない。せいぜい2-3人といったころだろうか。教えるというドメインは労働集約になるのでスケールしない。実務のシステム開発を教えるビジネスというのはちょっと成り立たないとは思う。

銀行のサービス

22時に寝落ちして0時頃に起きて1-2時間ネットをみながらだらだらしているうちに眠れなくなって5時に寝て8時に起きた。生活のリズムがおかしい。

paypay 銀行の設定機能

先日 paypay 証券でつみたて をやってみようと書いた。その入金のための銀行口座を登録しておこうと思って調べてみた。

振込先口座の登録(4月27日~)

振込先口座の登録はご利用いただけません。

【振り込み・カードローン】一部機能の変更・一時停止について

なんと!振込先口座の登録機能が一時停止されていることに気付いた。「フィッシング等被害防止の観点から」ということらしい。振込先口座の登録を停止することがフィッシング被害の防止にどう役立つのかはよく分からないが、なにかしらその機能が利用されて犯罪が行われているのだと推測する。こんな一般的な機能が一時停止になるんやなと驚いた。

その際に、昔調べたときになくてがっかりした機能が追加されていることにも気付いた。

自動送金でも自動引き落としでもない、自動振り込みサービス。おそらくイメージとして cron のようなもので毎月の振り込み処理を登録するだけなんだろうと推測する。そのせいか、サービス利用料も無料と気前がよい。これまで家賃を毎月1ヶ月前に振り込み予約するというのを手作業でやっていたのを移行した。ついでに paypay 証券への入金もこのサービスで毎月振込することにした。つみたてなのでそれで構わない。

同種のサービスを調べてみると、ufj 銀行でも 定額自動送金サービス というのがあり、これは取扱手数料という形で100円ほど徴収している。しかし、他行あての振込手数料がやたら高いので、なにか作為的なものを感じて印象がよくないが、数百円の手数料を取っているというのは同じ。家賃の自動引き落としの手数料はいくら?ufjやみずほを比較 によると、「自動引き落とし」と「定額自動送金」は似て非なるものにみえる。自動引き落としもやはり数百円の手数料が必要になる。paypay 銀行が提供している自動振込サービスは無料なので良心的だと思う。顧客の「そうそう。こういうのでいいんだよ」をサービス化した感じ。ネットバンクは既存の銀行との差別化に、システム上の簡単なことを無料で提供して、古い銀行システムから顧客を奪えばいいと思う。

コワーキングのオンラインイベント

月例のカフーツさんのオンラインイベントに参加した。前回の所感はここマイスタ加古川 というコワーキングスペースを運営しているなかたさんという方がいる。そのなかたさんがレンタルキッチンのようなサービスをコワーキングスペースで提供するにあたって、行政の許可をとるときの背景やコワーカーからの採用についてお話しをされた。

レンタルキッチンをするときは飲食店の許可をとる必要があるらしい。保健所的にはレンタルキッチンという業態を許可する制度が現時点ではなく、飲食店において実業務を委託された誰かがやっているとみなすことで飲食店として許可を出すという理屈になるみたい。食品衛生責任者は1つの店舗において1人という制度設計なので、レンタルキッチンのような不特定多数の調理人がいるような業態を想定していない。この場合はなかたさんが責任者としてそのリスクを引き受けて、コワーカーがレンタルキッチンでお菓子や軽食を作って販売するといった体制になるらしい。

また飲食店向けの共済保険がめっちゃ安いことに気付いた。

普通に運営していたら食中毒なんか起こらんでしょ?という話しなんだと思うけれど、年間売上3,000万円以下で1口8,500円/年の保険料で、食中毒があっても最大1億円まで保証してくれる。委託する業者ごとにこの保険に加入してもらうといった仕組みにしてもよいのかもしれない。飲食店向けの保険は想像以上に安いものみたい。日本人の衛生意識が高いせいかもしれない。

筋肉痛の翌日

昨日は山登りで筋肉痛になって夕方からずっと寝ていて7時に起きて8時半に起きた。それでも寝たら筋肉痛はある程度は直った。寝ると回復するもんや。

ストレッチ

昨日から全身筋肉痛になっている。それでも夕方からずっと安静にしていたせいか、昨日の一番ひどかった頃よりずっと回復していた。さらにストレッチでそういった話しをしたら、トレーナーさんも筋肉痛を気遣った形でストレッチをしてくれた。筋肉痛の状態だと筋肉は伸びないらしい。あまり筋を押さず、ほぐすようなストレッチにしてくれたという。筋肉痛にも関わらず、いつもよりも関節や筋肉の負荷が小さかったように思える。今日の開脚幅は開始前153cmで、ストレッチ後155cmだった。

カフーツさん訪問

たまたま見かけたので ブログJelly Vol.135 に参加してきた。瑞祥 黒松剣菱 というお酒をもっていった。こういうイベントで灘のお酒を飲む機会にしようと思ったものの、今回は周りの人たちにあわせてワインとビールを飲むだけで終わってしまった。次回のイベントのときに飲みましょうとお酒を置いてきた。私自身、家で日本酒を飲まない。カジュアルに日本酒を飲もうという空気や雰囲気がない。入り口を変えるため、日本酒にあう食事やつまみも用意していくのがよいと気付いた。次回は日本酒向けの食べものをもっていこうと思う。

昨日の山登りの下山中もマネジメントや気付きについて2時間ほど一緒に行った人たちと話していた。ここでもお酒が入ったらその延長の話しをだらだらやってしまった。気付きがないという事象に対して、どうやれば気付きを得られるようになるか、その背景や変化、人の特性・性格・成長などについて、私はいま関心をもっている。人に依るというのも多分にあると思う。教えてできることなのかどうかすら、私はわかっていない。私の立場としては、仕組みとプラクティスで気付きを与えて、教育によって成長することを願いたい。

いとうさんに note のオンラインコンテンツの領収書にインボイスの登録番号を設定してほしいとお願いした。さらにコワーキングスペースのサービス料がいま1,000円になっている。よくみると、90円の消費税を含んで税込み価格になっている。こういうとき、1,000円をサービス料、100円を消費税、税込みで1,100円にすればいいとアドバイスした。次回からそうするといとうさんも話されていた。免税事業者が課税事業者になっても事業者の損益には影響を与えない状態を支持したい。

インボイスの少額特例

freee の「修正待ちリスト一覧」にインボイスの少額特例に該当する明細があるという通知が出ている。次の条件に当てはまる事業者は少額特例の対象になるという。

「前々年度の課税売上高が1億円以下」または「前年度の開始から6ヶ月間の課税売上高が5,000万円以下」のどちらかに当てはまる事業者で、税込1万円未満の仕入や経費は、インボイス(適格請求書)があるかどうかにかかわらず仕入税額を控除できます。

うちは消費税の申告に 簡易課税制度 を選択しているため、事実上、インボイスの有無で消費税の仕入れ控除に影響はない。実際の消費税の納税には影響を与えないが、税制の理解を深めるために取引明細や税区分の処理などをちゃんと記帳しようとは考えている。将来的に簡易課税制度が廃止されたり、その条件を満たさないようになる可能性もある。消費税のようなシンプルな税金にも関わらず、事業者は本質的に損益に影響を与えないものにも関わらず、取引先との関係、政治や社会的な事情によって税制が混乱している。

消費税の逆進性についての問題も見聞きはする。次の記事では生活必需品に低い税率を適用することで緩和するという対策を述べている。さまざまな条件で時限的な特例を多重に発令するよりも、すでに軽減税率があるのだから食品は5%にするとか、そういったシンプルな税制で対策を取れないのだろうかと考えてしまう。

アイマスク効果

1ヶ月と2週間ぶりの出張。

0時に寝て2時半に起きた。なにも準備していないのが悪いけれど、出張前夜は寝坊したらどうしようというのが気になってあまり眠れない。起きてから出張の準備をして5時過ぎに出た。電車に乗るまで少し時間があったので朝からなか卯で まぐろのたたき丼 を初めて食べた。値段を考えると親子丼を食べた方がお得なように思えた。出張の日は夕方眠くて集中できないことが多い。新幹線の中で眠れるよう、ダイソーでアイマスクを買ってみた。その成果もあって、わりとよく眠れた。アイマスクの効果は確かにあったと思うが、なぜか寝違えて首を痛めた。新幹線でよく眠れたように考えていたが、15-16時は眠気に襲われた。やはり3-5時ぐらいから起きているとそのぐらいの時間に眠くなってしまうんやろか?

マイルストーン定例

いつもの定例会議をやって、開発状況の共有や設計レビューなどを行う。私は権限管理の仕組み作りをちょっとずつ作っているのであまり全体を見渡せていないが、メンバーが主体となって段取りを進めてくれた。あと新規メンバーが先週から開発に参加する予定が、別プロジェクトの段取りがうまく行っていないようでまた仕切り直しになった。もう2週間ほど様子をみるという。3回目のスケジュール調整になる。こういう五月雨式に直前に遅れていくパターンを私は信用しない。スケジュールを自分で制御できる状態にない、または制御できたとしてもやる気がないようにみえる。いずれにしても、私が制御できないプロジェクトの影響で、うちのプロジェクトの成果物に影響が出ないようにしたい。機能開発を3ヶ月と見積もっているうちの、1ヶ月がすでに過ぎた。もう新規メンバーの受け入れは諦めて、既存メンバーだけで成果物ができるような体制へ移行することに決めた。幸いにも既存メンバーは十分にタスクをこなせるようになってきているし、私も10月後半ぐらいからバーンアウトを消化して開発の集中力も戻ってきた。11月にちょっと本気出してサーバーサイドの開発をしてもよいかもしれない。

go のオンライン勉強会

Go 1.21 リリースパーティ & GopherCon 2023 報告会 をオンラインで参加した。ホテルについて少し寝てからアラームで起きて視聴してた。始まる前に30分ほど仮眠しても、移動日はしんどくて、みながら半分ぐらいは寝てた。最初と後半2つぐらいのセッションしか覚えていない。メルカリの社員さんたちは GopherCon 2023 に参加して、その内容などを紹介していた。もう私は海外カンファレンスへわざわざ行こうというモチベーションはない。たぶんもう行くことはないのだろうけど、そういった場に行って学んでいる開発者にはもう追いつけないのだろうなとも思えた。

非日常を提供するという価値

1時半に寝て3時に起きてもう1回起きて6時半に起きた。

interface はデシリアライズできない

昨日の続き 。rbac なライブラリを使ってアプリケーションを実装していく。ログイン時にユーザーにロールを割り当ててセッションにロールを保持するのが都合よさそうに思えた。ロールの実装で一部の型は interface にして後から拡張できるような設計にしていた。例えば encoding/json ライブラリだと、Marshaler/Unmarshaler の interface を満たすことで任意の json のシリアライズ/デシリアライズをフックできる。調べたり、実際に動かしていていて気付いたのだけど、interface の場合はシリアライズは任意にできるけど、デシリアライズはできない。当たり前と言えば当たり前だが、interface を満たす複数の型がある中で json ライブラリがどの型でデシリアライズしていいか判別できないからだ。当初の interface を用いた設計が誤りだったことに気付いて、一部の型を汎用の構造体で設計し直すようなことをしていた。

またデシリアライズするときに一部の値を初期化したいといった要件がある。例えば mutex を初期化したい。このときに処理の内部で派生型を宣言して、それにキャストした上でデシリアライズの処理を実行した上で差分の処理を実装するというテクニックを学んだ。スコープが限定されて、コードがシンプルになって保守性も高い、久しぶりに頭のよいスマートなコードをみた。

func (r *Role) UnmarshalJSON(b []byte) error {
	type Alias Role
	if err := json.Unmarshal(b, (*Alias)(r)); err != nil {
		return err
	}
	r.mu = &sync.Mutex{}
	return nil
}

コワーキングのオンラインイベント

月例のカフーツさんのオンラインイベントに参加した。前回の所感はここ 。今日は参加者が2人だけだった。コワーキングスペースを運営するコワーキングスペースマネージャーの連携を強化することで、コワーキングスペースの付加価値が上がったりしないか?といった内容を話したりしていた。コワーキングスペースマネージャーは、普通はお仕事で自分のコワーキングスペースにいないといけないから、なかなか他所のコワーキングスペースへ訪問すること自体が難しい。コワーキングスペース同士の連携により、お仕事でコワーキングスペースマネージャーが自分ところのコワーキングスペースの利用者を連れて、他所のコワーキングスペースへ訪問して、そこでイベントをしたりすればいいんじゃないかという案が出た。

いとうさんがよく コワーキングツアー と称して、全国各地のコワーキングスペースへ訪問して、そこでイベント開催をしたり、その地域の取り組みなどを紹介したりしている。それと全く同じことを、コワーキングスペースの利用者に対してもその付加価値というのはあるかもしれないと私もよいアイディアだと思った。例えば、大阪のコワーキングスペースの利用者を広島へ連れていって、そこでイベントやって交流する。その逆も然り。通常のコワーキングスペースの利用者は自ら広島のコワーキングスペースへ行ってコラボレーションを行ったりしない。いや、いとうさんみたいに自らやる人もいるんだけど、そんな人は対象の利用者ではない。自分からは行かないが、誘われたら行ってもいいかなと考える人 (私もそんな1人だ) を移動させることで、新しい価値やアイディアが生まれるかもしれないと思える。私もいまはフルタイムのお仕事があるから自由に移動はできないが、いずれ会社の投資期間に入って、自分でスケジュールを決められる状況になれば、コワーキングツアーにも出掛けてみようと思う。

あと勉強会やイベント以外でコワーキングスペースで出来ることはないか?という話題でも盛り上がった。私は主催者の準備が大変だと出来ないから、主催者のコストが低いものという視点から考えて猫コワーキングがいいんじゃないかと提案してみた。ある週だけコワーキングスペースに猫が10匹ぐらいいますといった取り組み。課題は猫をどこから連れてくるかだけだが、そういう機会があれば確かに私も行ってみたい。そのアイディアの発散で非日常の体験ができるような取り組みがよいんじゃないかとまとめられていた。

  • 猫コワーキング (猫がたくさんいる)
  • 深夜コワーキング (深夜に開いている)

深夜コワーキングスペースのモデルとなる 弐拾dB さんというコワーキングスペースが広島の尾道にあるらしい。23-翌5時という営業時間だという。いとうさんが絶賛していたのでおもしろいオーナーが運営されているのだと思う。そのオーナーが執筆したエッセイの 頁をめくる音で息をする を購入してみた。

メールの結合テストのツール

0時に寝て4時と5時に起きて6時に起きた。最近は4時から1時間ごとに起きたりする。メールの送信処理のリファクタリングのコードレビューが長く続いていてなかなかややこしい。

mailhog の web api を使って検索する

メール送信の結合テストに mailhog というツールを使っている。smtp サーバーとしてメールを受け付けて web ui でそのメールの内容を確認できる機能をもっている。さらに web api で任意のメール取り出すこともできる。パスワードリセットの一時トークンをメールで送信するため、結合テストで一連のパスワードリセットを検証するにはメールから一時トークンを取り出さないといけない。そこで mailhog の出番だ。

検索 api を使うと任意のメールをフィルターできる。例えば、送り先のメールアドレスで検索するときは次のようにリクエストする。

$ curl -s "http://localhost:8025/api/v2/search?kind=to&query=myuser1@example.com" | jq .

うちらのやり方はメールのメッセージ ID に意図した uuid をセットしている。メールのメッセージから指定した uuid を含んでいるかを検索することで任意のメールをフィルターできる。

$ curl -s "http://localhost:8025/api/v2/search?kind=containing&query=28c9391f-25a5-4a8f-9035-7b8d5ac2d0f4" | jq .

それを結合テストのテストコードから呼び出すようにユーティリティを作ると次のようなコードになる。

import (
	"github.com/mailhog/data"
)

type mmSearchResult struct {
	Total int            `json:"total"`
	Count int            `json:"count"`
	Start int            `json:"start"`
	Items []data.Message `json:"items"`
}

func searchMail(
	host string, kind string, query string,
) (*mmSearchResult, error) {
	q := url.Values{}
	q.Set("kind", kind)
	q.Set("query", query)
	u := &url.URL{
		Scheme:   "http",
		Host:     host,
		Path:     "/api/v2/search",
		RawQuery: q.Encode(),
	}
	url := u.String()
	slog.Debug("mailhog search endpoint", "url", url)

	req, err := http.NewRequest("GET", url, nil)
	if err != nil {
		return nil, fmt.Errorf("http create new request error. err: %s", err)
	}
	res, err := http.DefaultClient.Do(req)
	if err != nil {
		return nil, fmt.Errorf("http request error. err: %s", err)
	}
	if res.StatusCode >= 400 {
		return nil, fmt.Errorf("returned response code is %d", res.StatusCode)
	}
	var r mmSearchResult
	if err := convertBody(res, &r); err != nil {
		return nil, fmt.Errorf("failed to convert: %s", err)
	}
	return &r, nil
}

歯医者

17時から歯科検診へ行ってきた。歯科検診をしてくれた今回のスタッフはおそらく初めてだったと思うが、手際がよくていつもよりもストレスが少なかった気がした。うちのチームのメンバーは朝方なので8時過ぎにはだいたいみんな始業し始める。なので、朝よりも夜にいない方がメンバーにとってよいだろうと考えて、朝一 (9時) に歯医者へ行くよりも最終 (17時) に行くようにしている。

pycamp ふりかえり

先週末の Python Boot Camp のふりかえり。ここまでがスタッフのお仕事なので一般的な kpt でイベントのふりかえりをした。仕事じゃないし、大きなトラブルもなかったし、参加者の評判 (アンケートの内容) もよかったので概ねよい内容だったと思う。テキストの改善点は直接 issue に追加してほしいと言われたので報告した。是非も含めてスタッフに判断してほしいので私が直すつもりはない。

イベント参加のついでに実家に立ち寄り

0時に寝て2時に起きて少し仮眠して5時に起きた。朝から出かける準備をして6時過ぎには出発した。神戸から実家まで約80kmの距離を、早朝だと高速道路が空いているのもあって1時間弱といったところ。

軽トラのエンジンをかける

車のバッテリーがあがってしまったときに使う ジャンプスターター を昨年末に購入していた。また軽トラのバッテリーがあがってしまったようで、今回は母に使い方を教えながらエンジンをかけてみた。バッテリーにつなぐケーブルに boost ボタンがあってそれを押下してエンジンをかけるだけ。これは本当に買ってよかった。たまにしか農業しないような家の軽トラ向けにあると安心できる。軽トラのエンジンがかかったら1時間ほど走ってくればそれで元のバッテリーは回復する。

草焼き

実家に着いたのが7時過ぎで朝ご飯を食べて、まだ時間があったので草焼きを手伝うことにした。すでに刈って干した草が集めてあったのでそれを火にかけて番をする。以前にも草焼きをした経験 があったので注意を払いながら行う。母が言うには、最近でも淡路島の人で草焼きをしていて2人亡くなっているという。おそらく煙に巻かれて一酸化炭素中毒で気を失ってしまったんだと推測する。干し草は一気に燃え上がるので青い草と干し草を調整ながら火の勢いを制御する。あとは表面だけ燃えるので内側も燃えるように混ぜ返したり空気を送ったりといった調整も必要になる。火の制御は難しい。1時間ほどやっていた。

Python Boot Camp

今日の目的は次のイベントに TA として参加してきた。

現地11時集合だったものの、早めに実家を出たので10時半頃に着いてしまった。他のスタッフもその後すぐに合流して10時50分には全員が揃った。私は知り合いのスタッフがほとんどいなかったので挨拶したりしていた。だいたいスタッフは次のような構成だった。

  • 講師: 1人
  • 現地スタッフ: 1人
  • TA: 3人
  • 会場関係者: 2人

次の段取りでほぼこの通りうまくスケジュールを進捗できたと思う。

11:00 スタッフTA講師が集合
11:00-11:30 準備
11:30-12:30 スタッフTA講師でランチ
12:30 開場
13:00 PyCamp開始
17:00 PyCamp終了
17:30 撤収完了

お昼に食べた「鳴門うどん」もひやむぎ程度のサイズの麺をにゅうめんのような食感で食べるものだった。身近に住んでいてこれは知らなかった。おいしかった。

boot camp イベントも順調に進捗して受講者も喜んでいたようだったのでよかった。久しぶりにこういったイベントに参加すると、プログラミングを始めたばかりの気持ちなどを思い出してよかったと思う。いまはお仕事でプログラミングの随分と高度なことをマネージャーとして教えているわけだけど、簡単なコードが動いておもしろいといった気持ちがあることも大事だと思う。懇親会も出て、その後、スタッフ同士での反省会もやって、21時前には現地を解散して21時20分に実家に戻った。