mex

気づいたら9月、今年が終わるまで3ヶ月とちょっと。今年はあんまり思い出がないような気もする。2019が結婚転職引越しと色々ありすぎたせいかもしれない。
2月に新婚旅行で九州に行ったのと、8月の終わりに会社の人たちと山梨県でコテージ泊したくらいか。あとはわりとライブを観に行った。

アーカイブを観て面白かった。SF作家の人って変人奇人のイメージがあったけど、ただの偏見でした。

日本沈没2020観てる。面白いです。一気に観てもいいんだけど割と重いので少しずつ観ています。Netflixが無料期間の間に観終えたい。
なんかTRICKみたいになってきた。

GoもRustもあんまりもうやってない。なんか仕事で使わないから自分でやらといけないんですが、結構難しい。 仕事で使わないって部分でちょっとモチベーションが下がるし、やっぱりrubyをやった方がいいのかねと思い始めた。
つってもrubyで何やるかとか全然考えてないんですが。
 

今の会社に入社して一年経ったので振り返り。 新機能やら新サービスに関わることが多くてとても勉強になっている。React、React Native、Backboneのコードを書くことがほとんど。 業務でBackboneを触ったのは初めてだったので最初はテンションめっちゃ下がったけど、 やっていくうちにだんだんとわかってきたのでReactに書き換えようという気にもなり。それで一度挑戦して諦めたりした。
firebaseを利用してサービス開発をしたのも初めてで。かなり便利だなと思った。このブログも最初はgithub.ioでやってたけど、 せっかくだからってfirebaseに乗り換えたりしました。最終的にCloudRunに落ち着いた。
あと、Cloud Functions使ってOKRの進捗ボット作ったりもしました。1QでOKR変わるからもう止めちゃったけど。
仕事中の空いた時間はリファクタリングリファクタリングリファクタリングで、 そのためにテストを書いてたりしています。スナップショットテスト導入したり、e2eテスト書いたり、 最近はこれがメインの作業になってきているのでこれからもやるでしょう。
最後に、一年間やってて一番感じたのは、かなり人に恵まれているなーということ、前職であったような人間関係のストレスは一切なく、質問のハードルも低い。 みんな仲良し!って感じではないけど、メンバー間で尊重し合うことができている会社だと思う。
これからもがんばっていきます。

とにかく調子が悪い。何をする気も起きないので割とまずい状態な気もする。 毎週のプール通いはやっているがそれ以外は本当に何もしておらず、Amazon Prime、youtube、dailymotionで動画を観るだけの存在になってしまった。仕事もあまり捗っていない。ので金の話をしようと思う。金の話をすれば元気が出るから。
年収700万円欲しい。あと200万円足りないので、1ヶ月につき17万円を追加で稼ぐ必要がある。少し元気が出てきた。月収17万円の副業をやればいい。indeedで軽く調べたところ、週3日勤務で最低7時間以上の勤務時間の求人がいくつか見つかって満足した。絶対にやらない。週7で働けるなら今の職場でやればいいし、かなり時間はかかると思うがその方が心身ともに健康に保てる。これは逃げですが、逃げ続けていい方向に向かっていったという経験しかないので、強い気持ちで楽な方楽な方に転がっていけばきっとなんとかなると思っています。

妻に誕生日プレゼントでこれを貰った。嬉しい。

そろそろ明日、緊急事態宣言が解除されるらしい。不安と同時に嬉しさもある。
今回の緊急事態宣言に伴い、一部部署を除いて弊社は在宅勤務に移行した。五月中、自分が通勤したのは二度だけで、退勤後に渋谷で飲む予定があったのと、荷物を取りに行っただけ。 リモートでの仕事が可能になったので、開発部に関しては今後も在宅がメインになるかもしれない。
まぁ自分が意外と部屋にずっといるっていうのがストレスになるというか、それにシンプルに太るということが判明したので、気が向いたら出社しようと思う。 あと、妻が緊急事態宣言が解除されたことで出社せざるを得なくなったので一人で家に居続けるのもなーという気持ち。
ただ、通勤時間が減ることで業務効率は上がっていて、具体的に述べるとマージされたPRが二月と四月を比べると二倍近くに増えている。すごい。 運動不足もジムさえ再開すれば解消するのでやっぱり出社しないかもね。

今まで長文はnotionで書いていて、このブログにアップロードするときはmarkdownで吐き出していたんですが、下記のnpmを使って、notionから直接取ってくるようにしました。
nextjsのgetStaticPropsを使っているので、常にAPIをコールするわけではなく、ビルド時のみコールしています。
リンクがサムネイルっぽく表示されるようになって嬉しい。mdxで書いてたときはremark-pluginを作ってなんとかしようとしていましたが、全てのサイトに対応できてなくて、ogpに設定されている画像や動画が大きいとエラーになってしまったり、 そもそも配信サーバに権限で弾かれたりしてうまくいかなかったりしたのでまぁよかったです。
これが作ったやつ
ただ、ここに関してはnotionで管理するようにしていないです。理由として各日記の小見出しはそれぞれanchorリンクになっていて、これを実現しているのがremarkのプラグインだからです。 別になくてもいいっちゃあいいんですが、react-notionを改造すればできる気もするのでそっちに挑戦してからやろうかと思っています。
まぁ一番の理由は考えもなしに全て別のmdxファイルで日記を書いていて、それをnotionの一つのページにまとめるのがどちゃくそめんどいからなんですが。

immutablejsを排除する仕事をしています。めちゃくちゃ辛い。 - 実装は常に新しいObjectを返すというimmutable.jsの仕様を元に書かれてしまっている - ので、愚直にMap=>Object、List=>Arrayと書き換えていくと、更新されないComponentsが出てきたりする。 - Map#reduceとかいうメソッドに混乱する。 - そもそも実装がしんどい感じになっている。
Object#entriesとかを駆使して頑張っているが、今週中に目処が立たなかったら実装全部捨てるつもり。

ギター買ったのでギターで曲を作ってる。コード進行を適当に弾くだけで曲っぽくなるのですごい。
積ん読が増えてるので消化したいね。

あまりにも遅すぎるのでブログを色々と見直した。 - firebase hosting + Cloud Functions から CloudRun へ移行 - material-uiの使用をやめる(そもそもそこまで依存してなかった)。 - GoogleFontsをやめる
結果、かなり高速になった。
多分一番効果があったのはGoogleFontsをやめたこと、Windowsだと違う感じに見えるかも…と危惧したけど、思い切ってやめた。まぁこの辺はまた変えるかも。
次はCIの部分をやろうと思う。deployめんどくさいので。

cloud functionsをやめてfirebase hostingのみでやってみたがネスとしたルーティングの設定を手動でやらないといけなかったのと、あまり速くならなかったのでやめた。

中途半端に眠ったせいで目が冴えてしまった。なんかリモートワーク主体になったせいで変に疲れたり、疲れなかったりする。飲みにいけないのがちょっと辛い。
3月9日にgihutb.io から firebase hosting + Cloud Functionsに当ブログを移行したが、Cloud Runにしたくなってきた。
理由としてはCloud Functionsがnode.js@12にいつまで経っても対応しないことと、会社の人に勧められたから。
めっちゃミーハーだ。でもまぁdockerの知識を割と腐らせていたのでいいかなと思ったのと、 nextjsをやめたくなってもアプリケーションのコードを書き書きするだけですみそうな感じがしている。本当か?
今はSSRの部分がCloud Functionsに乗っかってるので、別に乗っかっててもいいんだけど。 まぁ今の構成に不満もないので、4月中にできたらいいなくらいに思っています。
話を変えます。
ずっとjsないしtsで仕事をしてきているんだけども、そろそろ違うプログラミング言語もやりたくなってきてしまいました。仕事でもjs、プライベートでもjs。
js(というかReact)のおかげで転職できたし年収もかなり上がったので今後も触り続けるんですけどね。 というかWebアプリケーションを仕事としていく上では切っても切れない分野だと思っているので、これからも頑張ります。
それで何をちょっとやるかですが、goとrust、rustは去年とか一昨年に少しだけ勉強したんですがめっちゃしんどかった。リベンジしたい。 goは結構みんなgoの話してるなーと思ったので、ミーハーだ。
あとはまぁc++か……。openFrameworksかっこいいから……。
5年くらいかけてやっていきます。今年中には業務でgoかrust使えるようになろう。というかこの辺の目標管理もやるか。

サービスの利用できる/できないを決めるのは運営側なので、利用客をディスるのはかわいそうだなぁと思いました。 宅配サービスはほとんど利用しないのであんまり関係ないんですが、こういう配慮や思いやりを暗に強要するのが最近めちゃくちゃ流行っていて、本当に生きづらくなってきたな。

コロナウイルスのせいで全ての予定が消えた。はー
あとOGPクライアントは当然CORSで弾かれる。エン転職はCORS設定してないだけ。SSRでやるお。

自分でOGPクライアント作ってみた。動くかテスト。 動かないので消しました
コードはこんな感じ。もう少し改良する。
export const OGP = ({ url }) => { const [og, setOg] = useState(null) useEffect(() => { if (!og) { Axios.get(url, { responseType: 'document' }).then((res) => { let [image, title] = ['', ''] res.data.head.childNodes.forEach((child) => { if (child.nodeName === 'META') { if (child.getAttribute('property') === 'og:image') { image = child.getAttribute('content') } if (child.getAttribute('property') === 'og:title') { title = child.getAttribute('content') } } }) setOg({ image, title }) }) } }, [og]) return ( <Lazy>{og ? <> <p>{og.title}</p> <img src={og.image} width={'50%'} /> </> : 'loading'}</Lazy> ); }
 

この挙動知らなかった。でもよく考えたら当然か。
const topFunction = () => ({ first: () => { console.log('hoge') }})topFunction() === topFunction() // false
jest + react-test-rendererでスナップショットテスト書いてるけど、毎回壁にぶちあたる。でも来週で終わりそうな気もしている。
あとえぐい風邪をひいてしまった。喉が痛い、体がだるい。コロナウィルスかと思ったが発熱はないのでただの風邪っぽい。薬飲んだらだいぶ楽になってきている。
 

dependabot導入。deployめんどくさすぎるのでCricle CIとか使って自動化したい。