はぜにっき

日記です。(毎日更新ではない)

近況報告

退職祝いでもらった燻製器を使って作った燻製です。
写真は退職祝いでもらった燻製器を使って作った燻製です。

転職しました

From: スマートキャンプ株式会社
To: 株式会社医薬情報ネット

スマートキャンプではBOXILというWebサービスの開発・保守をしていました。
他にも手をあげたり任されたりして、色々な経験をさせてもらいました。ありがとうございました。

医薬情報ネットには医療関係の学術学会の情報を集めているデータベースがあり、それの管理システムを開発保守したり、そのデータをこねこねしたりする仕事をやります。職種はプログラマですが、(これまでも多少やってましたが)企画とかデザインとかCSにも手を突っ込むと思います。

少人数、全社員フルリモートの会社です。関東圏に居ない人の割合もかなり高いようです。その辺の知見が出てきたらエントリを書いたりしようと思っています。
地味に標準労働時間が7時間なのが嬉しい

他に聞きたいことがある人はTwitterのリプとかDMとかWishListのギフト欄とかで聞いてください。

Wish List

自分の経歴を見て、ジョブホッパーだなーと思っています。一応それぞれに理由とかスキルアップした面あるんだけどね。

引っ越しました

hazediary.hateblo.jp

穏やかで快適な生活をしていたのも束の間、斜め隣の空き地で建設工事が始まってつらい。

北浦和周辺がかなり便利で、この辺に永住するのも悪くない気がしています。2年後の更新タイミング辺りでちょっと考えます。

"最近のReact" キャッチアップ用の記事まとめたーの 2021.03

今はVue.jsを見ているんですが、4月からは仕事で使うウェッブアプリケーションのフロントエンドフレームワークがReactになります。

Class Componentのライフサイクル(の一部)とNext.jsのgetXXProps ぐらいまでしかまともに理解しておらず、最近のReactに何となく追いつくために参考にした記事やサイト、手をつけようとしているものたちをメモしておきます。

書いてくださった方々、本当にありがとうございます。

実質「あとから読もう」と思ってふぁぼっていたツイートのリンク集だったりします。(期間: 2020.05.01 ~ 2021.03.11)
Twitterで管理するの破綻しているので、Scrapboxとかどこかに残していく運用にしないとなあ...

TypeScript

基本的な部分はさらで書ける。簡単なパズル調べながらやっと読める程度で、すぐ忘れそう。

React

とりあえず

をやって

Reactのコンポーネント周りの用語を整理する を読む

Hooks

中身がどうなってるかはさっぱりだけど、どういうものかは何となく理解した。手に馴染んだ感がないのは書いた量が少ないから...

Context API

Concurrent Mode

React Suspence

前提になる Error BoundarySuspence の解説。最初に公式ドキュメントを読んだら???になったが、これで理解できた。

React Server Components

Vercelが色々出してくれてて助かる。

CSS (in JS)

styled-components

github.com

READMEを見て何となく理解。あんまり好きな書き方ではないかなあ...

CSS Modules

nextjs.org

Next.jsのTutorialsで認知。
型は skovy/typed-scss-modules を使うとかなり良かった。先にscss側を記述してCtrl+Sしてからtsxを書かないと型がなくて怒られるのがつらい。 ( https://hazesoft.dev で使った )

Lightwind CSS

zenn.dev

Tailwind CSSを見てウッとなってたらあった。
ちゃんと触れてはないけど読む限りは好み。ちゃんと補完が効くようにできたらProductionで使いたいな。

atoms の「制御・非制御」をどう作るのか

コンポーネント/データ設計

正直全然正解がわからん

Next.js / Vercel

webpack等

他 雑観

  • React Hooks Formの型が良くなって良い感じだという噂をTwitterで見たので使ってみたい
  • Lint, Testはあんまり追えてない。何とかしたい
  • Reduxってどうなん今。昔はtypescript-fsaとかあったけどRedux Toolkit一強?
    • というか状態保存ってContext APIが良いのかReduxが良いのかRecoilっていうのが良いのかよくわかっていない
    • 素振りしなきゃ...
  • aspida, pathpidaが良さそう
  • Functional Components + Hooksが良さそうで、そこにReact Server Componentsが来る。で、どういう作りがシンプルでわかりやすいかはわからん
  • Prismaまだ触ってない
    • Blitzも...
  • Next.jsでSPA作るのってどうなんだろう
    • next/routerが便利だけどSPAならinitしてroconのほうが良いのか?
    • next/link, next/images 周りの挙動もよくわかっていない。SPA特有の挙動とかありそう
  • 認証周りは手薄。JWT + HTTPS Cookieで良いのではと思っているがCSRFとかその他諸々100%を正しく理解はしていないので結構怖い

「この構成いいよ!」みたいなオープンソースのReact Applicationがあったら楽なんだけど、まだちゃんと探してない。realworldみたいなやつ。

そういうのは自分で多少書いてから見たほうがなるほど〜〜ってなりそうなので、上のエントリを全部ガッと読んだり写経して、素振りウェッブアプリケーションを何個か作ってから調べてみようと思っている。それを3月中にやりたい。間に合わなさそう。

成果、売上、数値至上主義が苦手な理由が言語化できたっぽいのでメモる

どの組織に行っても「今年の目標数字はXX円です」とかそういう話に興味が持てなかったり、数値目標ベースで仕事を進めていくとモチベが下がりまくる現象の理由を考えていて、うまいこと言葉に落とせた気がするので残しておく

「成果物に微妙に不満があるけど(早くすればするほど成果に繋がるから|目標の達成のために|組んだスケジュールから遅れないために)リリースする」という状態がよろしくない。
違う軸で "成果や数字のためにはなるけどユーザ|ブランド目線ではないもの" を作ったりするときもまあしんどい。大元は同じ話。

大元の目標数字や成果の定義が大元のプロダクトを作る目的と合致していれば(=OKRのObjectiveがKey Resulと合致している)良さそうだけど、それがちゃんと定義・運用できていて、全体で合意が取れていて納得している状態って現実的に作れるんだろうか。

割り切って "プログラマは目の前の仕様を淡々にいかに早く良く作れるかだけを考えれば良い" とも思うんだけど、自社でプロダクト作っている会社だと大体目標とか目的とかそういうのに向き合う必要がある。そして前述のもやっとする話になる。
というか自分は大元の目的とか課題に向き合って仕事をしたいので、そういう割り切りをしたくない。


ある程度の規模以上の出来上がった組織だと、どう頑張ってもこの問題に当たると思うのでこれから組織を少しずつ大きくしていく未完成の組織に移る選択をしたんだと思う。
10人未満の事業部でどうなるか、どうすればこの課題を何とかできるかは4月から考えていきたい。

プロダクトを作る理由はたいていの場合数字ではなく、社会・人々の課題なので、数字に囚われずちゃんとそこに向き合っていたいですね。

港区からさいたま市に引っ越した

目次:

引っ越したよ

TwitterInstagramで実況をしていたのでフォロワーの人はご存知だと思いますが、引越しをしていました。

会社から住宅補助が出ることもあって、田町駅徒歩圏内のワンルームに住んでいたんですが、3月末で退職して4月からフルリモートの会社に入るため、在宅部屋をちゃんと作ろうということで引っ越しました。
4万近く家賃を下げてもワンルーム2LDKになるので、転職抜きにしても、全然出勤しない人はコスパ良いと思います。

(転職の詳細は直接聞いてもらえればお答えします。4月に別途エントリは書く予定です。)

以下は引越しで使ったサービスや購入したものの共有です。


引越し連絡帳: 水道光熱の解約・契約

www.hikkoshi-line.com

『引越し連絡帳』というWebサービスが便利です。東京電力グループが運営しています。
全部に対応できるわけではありませんが、水道・電気・ガスが一回の住所入力で何とかなるのでそれだけでも結構楽になります。

水道周りだけ極端にレガシーなのは何とかならないんでしょうか。東京都水道局、さいたま市水道局の両方で一回以上電話だったり物理紙だったりを経由する必要があって結構困ります。 さいたま市水道局はクレジットカード払いをするためにYahoo! IDが必要になって何とも言えない気持ちになった。うーん...

nuro光の解約と引越し先のインターネット回線

www.so-net.ne.jp

nuro光は引越し先でも使う場合は解約しなくても問題ありません。解約金や工事費などは負担せずにうまいことやってくれます。(正確には解約金を実質無料という形で負担してくれます。工事費も同様。)
ただ、工事費を分割で支払っている途中で解約するとその分請求されます。それにかかる費用はマイページで確認でき、「この月に解約するとこれだけの金額がこのタイミングで請求される」という数字が見れます。結構便利。
解約には電話が必須で、その際にも解約金の説明がされます。

https://www.housemate.co.jp/owner/pdf/misp.pdf

引越し先には mis-p という謎のインターネットサービスが無料で付いており、今はそれを使っています。ぐぐっても Malware Information Sharing Platform のほうばっかでてくる。困る。

うちの集合住宅であんまりインターネットが使われていないだけなのかわかりませんが、平日・休日の昼夜共に問題無い速度がでています。不定期に計測していますが30Mbpsを切ったことがない。無料にしてはかなり良い気がします。

買ったもの: 小型ヒーター

何個か家電を買い替えていますが、その中でもこれは良いなと思ったものが小さいヒーターです。
スイッチを3秒ぐらいでかなり暖かい温風が吹き始めます。エアコンが無い6畳の仕事部屋の足元に、これと加湿器を置いて運用しています。 2LDKの自宅の中で一番冷える部屋ですが、今のところ問題なく過ごせています。来週半ばは寒いらしいのでちょっと心配。


以上、報告でした。

🦪牡蠣当たり記録🦪 in コロナ禍

生牡蠣を食べたくなったら読んで自制するために記録を残しておく。
内容が内容なだけに普通に汚い話が出るので注意。


一月ずっと引きこもっていて、精神衛生上そろそろ外でしか食べられなさそうなもん食べたいな!ということで、友人と築地市場で牡蠣を食べた。
日曜日の朝の築地は人が少なく、ウイルス感染リスクも少なくて気が楽で良いな〜、と、ノロウイルスの塊を口の中に運びながら思っていた。

それとは別に、2020年末頃から咳と鼻詰まりがずっと続いており、痰を抑える薬とか鼻水を抑える薬とか抗生物質とかいろいろ試すのが一ヶ月続いていて少し消耗していた。
このツイートをした2時間後、強烈な息苦しさと腹の違和感で目を覚まし、トイレで嘔吐して救急を呼ぶことになる。

2020.02.04 追記
書き忘れてた。新型コロナを疑って年始にPCR検査を受けて陰性になっています。それ以降も引きこもっていて、病院にはいくつか行って肺炎の疑い等の検査もしていますが問題なしです。
今回のCT、血液検査でも肺炎・血液の炎症はありませんでした。


起きていた症状を列挙。上から発生順。

  • 呼吸困難
    • 空気が薄い、息をしているのに酸素が取り込めていない感覚が4〜6時間ぐらい続いた。
    • 病院で「息苦しさの原因らしい部分は(CTの結果等を見ても)ない」とのこと。恐らく一月続いていた気道や上咽頭の炎症と腹痛からくる呼吸時の痛みが原因。
    • 嘔吐よりもこっちのほうがきつく、「一番しんどい症状は?」と言われた際にこちらを伝えたため救急科では新型コロナを疑われている。病院に着いた際に「最近パーティした?」「正直に言って」と軽く詰められ、「まじ...最近外出てなくて...久しぶりに外で人とご飯食べて...牡蠣美味しかったんですけど...」という尋問をして結構しんどかった。
    • 息ができてない...!ぐらいの感覚は半日で治ったけど(半日は続いた)呼吸が浅い感覚は丸一日ぐらいあった。
  • 鳩尾下の張り、痛み
    • 呼吸のせいで気付かなかったが、病院に着いてからの問診で認知。押されるとめっちゃくちゃ痛い。
    • これで胃腸炎虫垂炎のどちらかではないかという仮説が立つ。
    • 高校生の頃に虫垂炎になり手術をして摘出していた(この時も救急車で運ばれていた)ため、あーあの時のやつじゃん...という思い出しがあった。
      • なぜか「本当に盲腸ないんだよね?」みたいな確認を3回ぐらいされた。外出の件で詰められた後なのでこれもかよ...と結構げんなりした。なんでだよ。
  • 嘔吐
    • ノロウイルスマーライオンみたいだという話を聞くが、なるほどなあ...と思った。身体の拒否反応で強制的に全部吐き出すみたいなモードになっていた。人体すごい。
  • 下痢
    • 上と同様。(最近便秘気味だったからか)嘔吐の症状が出てかなりの時間が経ってからこちらの症状が出た。
    • こちらも暫く時間が経ってから。最大38.0℃。暫くの間37℃台を上下し、症状が出てから1日半経った今は平熱に落ち着いている。
    • 身体の火照りは結構凄かった。冬でエアコン消してるのに汗だくで起きて普通に不快だった。
  • 喉の痛み
    • 一ヶ月咳と鼻詰まりを出し続けているので感覚が多少バグっているが、嘔吐の影響でかなり痛くなった。鼻も痛かったけど牡蠣が関係してるかはわからん

対処メモ、やって良かったことなど

  • 病院の上に付いている薬局でもらった吐き気どめと便秘薬を飲む
  • 翌日病院に電話して発熱が出ていること、下痢が出ることを伝えた際に教えてもらったアセトアミノフェンが入っている解熱剤を買って飲む
    • 対処を病院に直接電話して聞くのは良かったっぽい。カルテを再確認して「こういう系の薬を買うといいよ〜」と教えてくれる。薬局の人は医者に聞けって言ってくるので
  • ポカリを飲みまくる
    • Uber Eatsでポカリが買える成城石井とローソンで販売されている。あと熱さまシートも一緒に買える。ポカリ10本送ってくれた配送のお姉さんありがとう。
  • 可能なら飯を食べる
    • 人によってはずっと続くらしい戻しは吐き気どめを飲んでいたからか無かった。塩にぎりはしょっぱかった。
  • 寝る
    • 正直寝れているのか寝れていないのかわからないけどずっと横になるのは良かったのではないだろうか
    • 吐き気がきついときはうつ伏せになったり座るとマシになる
    • 吐ける準備(袋を持っておく)はしておきましょう

病院はやっぱりコロナで忙しそうで、(救急車で病院たらい回しにはされなかったので良かったけど)「ちょっと待ってて〜〜」と言われて待機する時間が長かった。仕方ない。
何度も病院にはお世話になっているので身に染みているが、本当に医療従事者は凄いなと思います。救急科で一日働ける気がしない。

だいぶ回復して、明日からは仕事にも復帰できそうです。出社だったらもう1日休んでただろうし、在宅で良かった。
ご心配と(特に会社の人たちには)ご迷惑おかけしました。今後ともよろしくお願いします。生牡蠣は多分もう食べないと思います。でも牡蠣鍋は食べたいです。よろしくお願いします。
対応してくださった医者・救急・看護師・薬剤師などの方々、本当にありがとうございました。すみませんでした。

あと暫く人と飯食ったり人と会うのはやめます。気を抜くとすぐこうなる。皆さんも気をつけて。オンラインでよろしくお願いします。

2020年振り返り

11月に緊急事態宣言以降の雑感を書いているので書かなくても良いかな...と思っていたけども、何となく書いておきたくなったので書く。

hazediary.hateblo.jp

hazediary.hateblo.jp

時系列

1月〜3月

緊急事態宣言前(3月半ばぐらいまで)は週4日出社、週1日在宅で仕事をしていた。
1月中は週4勤務をしていて、2月からフルタイムになったので改めて会社に慣れるようにちょっと意識していた記憶がある。
業務委託で初期リリースまで開発に入っていた https://crowdlinks.jp/ も無事リリースされ、本業に集中することになった。

本業では https://boxil.jp/ の売上ロジックをいじって整理するプロジェクトを開発チーム全体で行っていて、過去のコードをひたすら読んで挙動とデータの動きをドキュメントに記していた。
これによって2020年後半に打てる施策が広がったので、大変だったけどやって良かった。
個人としては仕様を読み解いたり、Railsのコードを読む時のコツみたいなものが何となく掴めた気がする。多分。

4月〜6月

緊急事態宣言によりフルリモートに。どうせすぐ元の生活には戻らなさそうだった(実際戻らなかった)ので、在宅での労働環境を整えることにした。

hazediary.hateblo.jp

リモート自体は昨年もやっていたので特に課題にはならなかったが、社会情勢というか、暗い雰囲気に当てられて精神的にやられ始め4月前半には睡眠障害が始まっていた。2ヶ月続いても治らなかったので6月に睡眠外来に行き、睡眠薬を飲む生活が始まる。

f:id:hazeblog:20201231185057p:plain

仕事ではでかい機能のリニューアルをチーム全体でやっていて、複数人で一つの作業をやっていく際の作業分担や、全体把握に苦しんでいた。
自分に向いている働き方、向いていない働き方を考えて、今後どうやって組織の中で成果を出していくかを整理していた。当時の結論としては少人数のチームで裁量を持って動くのが良さそうで、考えを汲んでくれたのか、7月からは実際に開発全体とは別チームとして単独or数名で動くことになる。

この頃は手が空いた時にReactを復習したり、Next.jsを追い始めたりしてVueから逃げようとしていた気がする。template構文やVuexが苦手になってきたのはこの時期。結局今(2020年12月)もそれで仕事をしている。来年は何とかしたい。

プライベートは緊急事態宣言前後もわりと楽しんでいて、Zoomで同僚と話しながら夜通し酒を飲んだり、自転車を買って走り回ったり、先輩からギターをいただいて練習したり、Twitterで猫の写真を漁ったり、自炊を再開したりしていた。

7月〜9月

6月末に睡眠薬を変えて以降、大きく睡眠が改善し元気になってきた。8月以降は睡眠薬を抜いてもそれなりに寝られるようになり、平和が訪れていた。

業務では7月中は一人+業務委託一名の実施単独チームとなり、 https://boxil.jp/mag/ のパフォーマンス改善が業務となった。
(最近よく燃えていたりする)Railsにおけるフロントエンドの課題を体感して、少しずつ移行・改善していく現実的なリファクタリングの考え方を理解した。
8月からはチームメンバが一名増えて、メンタリングやチームマネジメントを考えるようになる。レビューが大変だった記憶がある。この時入った同僚は立ち上がりがめちゃくちゃ早くて有り難かった。
9月末にはTypeScriptでLambdaを書いたりした。コロコロとやる仕事が変わったがスイッチングは問題無かった。

個人での学習では本を読んでいたことが多かった気がする。パーフェクトRailsリファクタリングなどの仕事と多少関係あるものを読んでいた。

プライベートは自転車を漕いだり、釣りに行ったり、我慢できなくなって温泉に行ったりした。温泉がめっちゃ好きなことに気付き、一人で感染に気をつけながら近場の温泉を彷徨うことになる。
在宅勤務になってからかなり太ったこともあり、9月からはジムに通い出す。11月に5kg痩せ目的は達成された。が、通っているジムが2021年1月に閉店することが決まり、それを知ってからは行っていない。

10月〜12月

本業はメンバ構成が変更されて、プログラマ・チームマネジメント・ディレクション/プロジェクトマネジメントと、仕事の範囲が結構広くなった。
いろんな方向に首を突っ込んだり臨機応変に動いたりするのは結構得意なことがわかったし、同期さえ取れれば、それがリモートの環境下でできることもわかった。
他部署連携やMTGが増えたことでコードと向き合う時間が減っているのが課題、来年はもう少し増やしたい。

また、10月から2月までとは別の会社で副業をするようになった。気分転換になって良いけど、負荷はそこそこ高いので来年もずっと続けていくかは考えようと思っている。

睡眠は10月後半から11月にかけて薬が必要になったが、12月に入ると回復した。根本原因はわからずじまいなので、もやっとしているが、このまま治ってくれるなら良いかな...

感染者数がまた増えてきたので、プライベートは少し予定を減らした。基本的な対策はした上で、感染したら「この日に会った人/行った場所が原因だろうな」という推測ができる程度のペースで人に会うようにした。それ以外の時間は飯を作っているか副業をしている。
年明けてからは人に会うのもやめないとな…医療やばそうだし…

プログラマとしての振り返り

技術者としての成長は正直年初に思っていたほどできていない。
昨年末から検討されていたバックエンドレイヤのサービス分割やリファクタリングはできなかったし、フロントエンド側の改善も理想とかなり遠いペースだし、そもそもコードを書いている時間も業務時間の2〜3割ぐらい。

プライベートではインプットはそれなりにしていたが、登壇や技術的な内容の執筆はほとんどしなかった。
新しく触ったのはGitHub ActionsとVercelぐらいかな。

来年は仕事・組織との向き合い方、プライベートの使い方、働き方全体を見直してどう進んでいくか、どうやっていくのかを考える年にしたい。

在宅勤務について

昨年から何となくわかっていたが、自分は、組織がリモートを前提に動いているのであれば(業務内容によっては異なることもあるが)在宅のほうが安定してパフォーマンスが出るし、精神的にも安定しやすい。
また、非同期でのコミュニケーションはドメインを理解した即戦力同士でないと大変になりやすいが、非同期とリモートは別の概念で、
同期(=コアタイムが被っている)かつリモートの体制は今の組織を見ていると一定数の組織でうまく回りそうだと感じる。

今後どういう情勢になるかはわからないが、もし数年後にCOVID-19や変異種が撲滅されて外出を問題なくできるようになっても、自分はリモートを起点とした働き方を続けるだろうし、自分はそういった組織にい続けることになると思う。

採用と広報 (2020年12月31日 23時30分追記)

完全に忘れてた。 一応新しくやったことなので追記しておく。

今年に入ってから採用活動に面接官として関わっていた。
採用面接は向いてなさそうで、ある程度聞かないといけないことが決まっていたり、流れが既に想定されている話をするのが面倒くさいと思ったり、単純に「採用するかしないか」を考えながら人とコミュニケーションを取るのがしんどいと思ったりするのが理由っぽい。

そういうわけで、「ちょっと面接官向いてなさそうですわ...」と言って面接の回数は減らしてもらった。
その代わりに、広報活動に力を入れた。

具体的にやったのは

辺り。あとエンジニアブログの運営サポートかな。

人と折り合いをつけたりするのが苦手な反面、話したいことを話すとか、イベントの運営とか司会とかは得意なようで、(運営が安定していない間はかなり工数を取れれたこと以外は)あんまり苦もなくやってこれた。
外から見て何が足りないか、みたいなことを考えたり、それを何とかする手段を提案したりできるのは自分の強みっぽい気がするので、来年も何かしらの形でやっていければと思う。

まとめ

全体的に消化不良ですが来年はすっきり終われるように頑張ります。

2020-11-08 コロナ禍の独身男性生活事情

なにこれ

備忘録も兼ねて、コロナ禍の独身男性(@haze_it_ac)の生活の様子を共有します。

inspired by [20201106] コロナ禍の独身男性生活事情 - HackMD

目次

f:id:hazeblog:20201108200024p:plain:w350

徳田祥 / 24歳
都内 1K 一人暮らし 独身男性

在宅環境を整備する

hazediary.hateblo.jp

自炊に飽きてコンビニ/Uber Eats/Potluck/Chompyになる

元々それなりに料理をする方だったんですが毎日してたら飽きました。
6月〜9月はほとんど自分で作らなくなっていた。

10月ぐらいから自炊とそれ以外で半々ぐらいで安定しています。

楽器をはじめる

エレキギターを社の人から頂いたのではじめた
一ヶ月半ぐらい毎日一時間以上弾いてたけど段々減ってて今は週に1〜2回触るぐらい。もう少しちゃんとやりたい

精神安定剤としての側面が結構ある 気を抜きながら弾けるほど上手くはないので

昨年ノリで買ったピアノも家にありますがほとんど弾いていません

太る

2020年2月: 59.8kg
2020年9月: 64.5kg

出社再開以降、社の人から「ぷりぷりになった」と言われるようになった。後述のジム通い+食事を減らすことで現在は60.5kgまで戻っている

自転車を買う / ジムに入る / ゴルフを再開する

自転車とゴルフは適度な運動、ジムは姿勢改善に役立っている。

ただしジムは2021年1月に閉店になる

睡眠障害になる

これが一番でかいトピック。

twitter.com

ゴールデンウィーク明けから睡眠が崩壊し業務影響が出始めたため、睡眠外来に通い始める。
睡眠薬をいくつか変えたりして2020年8~9月頃は一旦改善したが、10月に再発し精神科に。現在も服薬中。
精神的にはかなりストレスが掛かってるけど別に普通とのこと。

服薬履歴

6月10日~ ルネスタ
  - 寝付きは良くなったが2〜3時間で起きる
6月27日~ プロチゾラム
  - 寝るのに大体一時間掛かるが5時間程度寝られるようになった
7月16日~ デエビゴ 5mg
  - 日中も眠い、頭痛がかなり来る副作用により断念。プロチゾラムに戻る
8月〜9月 無し
  - 服薬を辞めても4時間以上は寝られるようになった+業務影響がだいぶ無くなったので一旦止める
10月22日~ ベルソムラ 20mg
  - 大体プロチゾラムと同じ効果。かつ朝10時には普通に活動できるようになったため引き続き服薬。11月後半ぐらいからは減らしていく予定

なお服薬中は禁酒する必要があり現在も禁酒中。しんどい。

副業をする

在宅になる前から未経験/学生のエンジニアの相談に乗ったり面談する副業はやっているが、もう一社副業を増やした。

本業ちょっとマンネリ化してきた
会社の近くに居続ける必要が本格的に無くなってきた(週1ぐらいの出社)ため、東京郊外or地元京都に引っ越すかマンションを買うことを検討。
それなりに資金が必要になるため、また業務外のProduction Codeをいじれるということもありコードを書く副業をやっている。

ただしやった分を旅行したりゴルフしたりしているので本来の目的である貯金はあんまり増えていない

マッチングアプリを始めたりやめたりするのを繰り返す

3月に登録して5月にやめて、6月に登録して8月に退会して、9月に登録して今ここ

これは別にコロナ禍だからというわけではないんだけど、動きづらくなったなあ、とは思う。
緊急事態宣言中にずっと一人でリモートワークをしていたが、寂しいのは寂しいけど結婚したくなることは無かったので少なくとも後5年ぐらいはしない気がする

まとめ / 感想 / その他

生活にはだいぶ慣れたけど、マスク付けて外出ないといけなかったり、行きたかったライブが無くなったり、常に頭の片隅にはウイルスのことを考えながら生きるのはしんどい

ユーンさんは部屋を片付けるようになったようだけど自分は特に変わらなかった。むしろ家に人が来る回数が減ったこともあり洗濯物を床に置いていることが増えた。

はやく広い家に住み着きたい欲求はかなり強くなった。引っ越したい。

Next.js v9.4 で追加されたIncremental Static Regenerationの挙動を調べた

ReactにSSRとかファイルシステムルーティングとか色んな機能が付いたフレームワークのNext.jsのv9.4で Incremental Static Regeneration (beta) という機能が追加されました。
betaなのでGAになる頃には挙動が変わっていたり機能が増えていたりしそうですが、一旦現状の動きを調べてみたのでメモっておきます。

Incremental Static Regenerationについて

mizchi.dev

mizchiさんのわかりやすい解説を貼っておきます。

三行でどういうものかを書くと、
初回アクセス時にServer Side Renderingをすると同時に、生成されたHTML, JS等が所定の箇所に保存(キャッシュ)され、
初回アクセスで生成されたタイミングから暫くの間はキャッシュされたデータを使いレスポンスがされて、
キャッシュが破棄されてからアクセスされたら再度SSRしつつキャッシュを行う
という仕組み。

で、Vercelにデプロイする場合はVercelのCDNにキャッシュが保管され、めちゃくちゃ速くレスポンスが返ってくる。
CDNからレスポンスが返ってくるということは、(SPA部分でサーバへリクエストを送るような部分は除いて)サーバへのリクエストが飛びません。

すげーー!弊社のメディアこれでリニューアルしたい!!
ということでちょっと気になったいくつかの挙動を実際に動かして試してみることにしました。

補足: 仕様についてはこちらで議論されています。

英語できないのめちゃくちゃしんどい

github.com

調べたこと

  1. Incremental SSG + SPA 構成の作り方
  2. Incremental SSG で生成されたCDN Cacheはコードをdeployし直したら吹っ飛ぶか
  3. 2.でキャッシュが吹っ飛ぶ場合、Incremental SSG とは関係のない部分のコード変更でも吹っ飛ぶか

1. Incremental SSG + SPA 構成の作り方

普通にIncremental SSGにReact.Componentでできたコンポーネントを設置すればOK

gist.github.com

2021.01.31 追記

正式リリースのタイミングかいつかはわからないけど、 unstable_revalidate オプションは revalidate オプションに名前が変わっていた。
最新のバージョンだと上のコードは動かないので注意。

追記ここまで

components/loading がReact.Componentでできたコンポーネントやっていることは全然ローディングじゃないけど。
コンポーネントJavaScriptも含めてキャッシュされるのでそれがブラウザ上で実行される動き。

生成される静的ファイルは .next/server/static/development/pages に置いてある。
ローカルだとIncremental Static RegenerationはされないのでHTML, CSSファイルは無いので確認はできない。

2. Incremental SSG で生成されたCDN Cacheはコードをdeployし直したら吹っ飛ぶか

A. 吹っ飛ぶ

一応確認した。
デプロイのタイミングで .next/ も全部デプロイされたコードに置き換えられるが、そのタイミングでSmartCDNのキャッシュも全部Purgeされるっぽい。
まあそうじゃなかったら旧バージョンのものが残り続けることになるのでよろしくない。

3. 2. でキャッシュが吹っ飛ぶ場合、Incremental SSG とは関係のない部分のコード変更でも吹っ飛ぶか

A. 吹っ飛ぶ

差分デプロイになってたりしないかな?って思ったけど違った。そうだよね。


調査に使ったコードは以下のリポジトリにあります。

github.com

デプロイ先はこっち
https://isr-and-spa-test-h9i09bkq9.now.sh/mag/1

実用を考えた際の課題

記事の更新をフックにその記事のキャッシュを消す、といった動作が現状できない

https://vercel.com/docs/v2/edge-network/frequently-asked-questionsvercel.com

所謂CloudflareでいうCustom Purgeの機能がなさそう。

How do I use Cloudflare over your CDN (disable it)?) の欄があるし、CDNをVercelじゃなくてCloudflareにすればいいのかも。でもそれだとIncremental SSGの意味が無いような。

デプロイ直後にサーバの負荷が跳ね上がる

デプロイと同時にキャッシュが飛ぶので、その後のリクエストがURLに一回ずつ全部サーバまで飛んでくるようになる。
SSRだとキャッシュされずに全部飛んでくるのでそれと比べたらだいぶ少ないけど。
キャッシュされていることを前提にサーバの台数を減らしていたりすると、デプロイするたびに負荷が上がって大変なことになる。

そういう意味で、デプロイが差分でできたりすると良いなと思った次第。まあこれは難しいよなあ


tech.smartcamp.co.jp

インフラレイヤにあんまり力を入れたくはないけど実現できることは増やしたいので、VercelのFrontend All-inっぽい作りはめちゃくちゃ好き。
なんか貢献できないかな、zeit/next.js のissueとかPRをもうちょっと読んでみようと思いました。

やりたいこと自体はCloudflare + Nuxt.js Universal Mode(をどっかに置く) でできるんだけど、こう、楽したい。

在宅勤務の主な装備を紹介しておきます

こんにちはこんにちは。みんな在宅で装備を揃えたかと思うんですが、こちらのデッキを紹介しておきます。
比較的安価で揃えられるものの中で、良さそうなやつを集めたのでお金があまり無い人の参考になれば。

合わせて読みたい

社での働き方 tech.smartcamp.co.jp

紹介

https://www.amazon.co.jp/gp/product/B071WJPTJNwww.amazon.co.jp

ガス式の昇降式デスクです。
今は売り切れてしまっているんですが、26,999円で購入しました。
同サイズの電気式の昇降式デスクよりはかなり安く、軽いです。
そんな頻繁にスタンディングにしないだろうし、持ち運びが楽で気楽に模様替えしたいのでガス式に。安かったからっていうのもあるけど...

大きさも見た目も使い勝手もかなり良いのでコスパ良しです。おすすめ。

ディスプレイ

会社のディスプレイを拝借して(許可を貰って)家で使っています。そんなに良いものではない。安いしもう一個買ってトリプルディスプレイにしても良いかもしれない。

モニタアーム

友人に教えてもらって買ったやつ。値段の割に妙に良い。
必要があればふたつモニタを付けられるというのは安心できます。

椅子

www.low-ya.com

会社で使っている椅子がかなり自分に合っていて、安いよ!と情シスが教えてくれたので購入。
アーロンチェアは前屈みっぽくなるんですが、これはちょっと後ろに倒れる感じ。長い間座っていても疲れないです。

フットレスト

椅子が後ろ向きで足に少し負担があるのでは?と思い、安かったので試しに購入したらめちゃくちゃ良かった。
会社用にも一つ買いました。本当におすすめ。

自転車漕ぎマシン

運動不足解消に。
朝に通勤時間と同じ時間、Twitterとかインターネットをしながら漕いでいます。あとMTG中。
負荷はちょっと弱いと思っていたんですが、長い時間漕ぎ続けているとわりとしんどくて、丁度良いみたいです。

マイク / オーディオインターフェイス

www.soundhouse.co.jp

https://www.amazon.co.jp/dp/B07YG4KVCF/www.amazon.co.jp

別にもう少し安いのでも良い気がします。
何ならオーディオインターフェイスとか買わずにYetiとか買うほうが楽です。

ただ机の上に普通に置くのはキーボード音や揺れの音が思いっきり入るのでマイクスタンドは安物で良いので買ったほうが良いです。
自分のマイクスタンドは何故か家にあったものを流用しました

机の背面にこれをふたつ横に並べています。
座ったときに上に置いたスピーカーがちょうど頭の高さになります。

スピーカー

www.soundhouse.co.jp

社の人におすすめを聞いたらこれになりました。


手札は以上です。対戦よろしくおねがいします。

TDD Workshop at SMARTCAMP 受けた

たのしかった、し、難しかった。
やった内容も公開して良いしtwitterとかブログとか書いてもいいよって仰っていたので書く

何やってたの

(事前にこれのどれかをローカルに持っておく)

github.com

午前中にこれ(ライブコーディング多め)を講演してもらい

speakerdeck.com

昼はこれをペアで解いた

Revenue Recognition · GitHub

gist.github.com

参加者の大半が自動テストを書いたことがある状態だったので、新作のお試し版になってちょっとラッキーだった(と思う)

演習でわかったこと

  • とりあえずModel作って < ApplicationRecord て書こうとした瞬間にRDBが存在しない世界であることに気付く
  • 俺たちはRuby on Rails(というかActiveRecord)の下で生きているんだなあ...
    • 「これってRubyの機能なんだっけ」っていうのを結構な回数言った
    • Rubyenumは無かった。enumでやろうとしたけどなくて配列にした(😇)
      • Moduleでやればよかった
  • 一回目が一番難しいし間違ったら手戻りがすごい
    • 変な焦り方をすると爆発するのは仕事と一緒。落ち着いて考える
  • 問題の大半が「どこにどう役割を持たせるか」なので、普段どこまでちゃんと設計してやっているかが如実にわかる
    • @haze-it は結構適当。あかん
    • デザインパターンは聞いたことがあってもまともに理解してないと使えない
  • Working Out Loudはスキルの一つ
  • それと同時に隣の人の話を聞くのも大事
  • ペアプロ普段からそこそこやっている気がするけどこの演習は意味わからん疲れ方するので前日はよく寝たほうが良い
    • 普段からそれぐらいの頭を使って仕事をしろっていう意味かもしれない...それはそう...

講演も演習も学べたことは多いけど、それをうまく仕事に持っていけるかどうかは別なので頑張りたい