連休の始まり

遅めの5連休を取ったので今日から連休スタートです。せめて連休中は毎日日記を書いていきたいところ 今日やったこと 労働 職場の人にいい感じの小さいRustツールを教えてもらったのでパッチ書いた ゴミ捨て オクトパストラベラー プリムロゼの二章だけ 今日やりたいこと 生活の修復 部屋の掃除 ゴミ捨て 風呂掃除 プログラミング 旅団世界の戦闘シミュレータ なんか良さげなOSSみつけてパッチ投げたい その他 せっかく5連休を手に入れたのはいいですが、日程だけとりあえず抑えた感じで何も予定がないし、コロナが最強に流行ってるので旅行とかもいけないしでやること不足気味ですね。 k8sのクラスタでもVPS上に建築するって言って全く手つけてなかったのえやれるといいなーっていま思ってます あと、風呂からブログかけたら便利だろうなとおもって、iPadからブログを書けるようにしてるんですが、意外とiPadって文字書きやすいですね。仕事で使ってるラップトップよりタイピング体験がいい気さえしています。

Posted

TypeScript備忘録(関数の実行時に推論を確定させるテク)

type UseSelectorBuilder<T, S> = () => (selector: (state: T) => S) => S みたいな型が存在した時にSelectorBuilderではTまでの型を確定してSはbuilderの戻り値を呼び出した時に型を確定させたい場合どう書けばいいか 答えはこう type UseSelectorBuilder<T, S> = () => <S>(selectlor: (state: T) => S) => S よかったですね

Posted

HugoでもがんばればGatsbyみたいなことできるんでは?

今日は読みにくい文章を書くことによって人類の脳味噌を破壊しまーーーすw blog.ojisan.io とか random.taguch.dev みたいなgatsbyのSSRやNextJSのSSRでできたサイトは一覧ページの回覧が早くていいですよね。羨しいです。僕も亜音速の世界で生きたい(!?!?!?) しかし絶対にサーバーは持ちたくないので、最初のレンダリングはビルドしたHTMLが降ってきて、そこからJSでReactがマウントされてSPAになってページ遷移が最高の速度を人類に提供するサンタクロース(!?)になりたいです。 ここでよく考えてみると、実はSSGしてmetaタグとかを作るのは記事の個別のページでよく、一覧ページにそういうメタ情報を付ける必要はあんまりないことに気づいちゃいました。 つまり次の二つのフローをうまく動かすことができるSPAアプリケーションを作れば、hugoのまま最高の記事一覧ページ体験をプレゼントすることができるわけですね フロー1 最初に個別ページにアクセスがくる編 回覧者がサイトに blog.himanoa.net にアクセスする GitHub Pagesが https://github.com/himanoa/testament/blob/gh-pages/68/index.html 返してブラウザに表示させる 回覧者がサイト内導線を踏んで一覧ページにアクセスする GitHub Pagesが唐突に一覧ページの顔をしたSPAを返す 回覧者がSPA上で記事のリンクをクリックする prefetchされたJSONをSPAが返して記事ページを表示する!!!! 卍 閃光の世界へようこそ 卍 フロー2 最初に記事一覧ページにくる場合 GitHub Pagesが唐突に一覧ページの顔をしたSPAを返す 回覧者がSPA上で記事のリンクをクリックする prefetchされたJSONをSPAが返して記事ページを表示する!!!! 卍 閃光の世界へようこそ 卍 これはhugoのtheme機能をつかえばちょっとしたあとはちょっとした設定で実現できそうなのでそのうちやりたいですね。俺のブログ回覧者も閃光の世界に誘いたいぜ~~~~~~~~~~~~~

Posted

日記 2021-06-15

ダイエット 昨日日記を書いた後散歩して、友達と通話をしながら朝を迎えた 今日は筋肉痛がひどすぎるのと徹夜なので寝る ちゃんとしたPR ちゃんとしたPRってなんだろう。テンプレートだけではまともなPRっていうのはわからないので、OSSのPR一日一個を読むみたいなのをやってみたら言語化できるんじゃないか?という仮説をたてた 明日からやっていきたいがそこまでの余力があるのか果たして… 労働 無限に一つのコンポーネントのバグを取っていた。とりあえず手を入れてたコンポーネント自体はできたので繋ぎ込んで終わり React How to support strict effects · Discussion #18 · reactwg/react-18 Automatic batching for fewer renders in React 18 · Discussion #21 · reactwg/react-18 New feature: startTransition · Discussion #41 · reactwg/react-18 あたりをさらっと読んだ。 startTransition に関しては業務で使ったら若干便利そうなところをあるので導入したさがある。 ただ Concurrent modeをoptinするのかどうかの議論は必要そうだなーって感じ useEffect の周りの話は最初見た時は使ってる箇所とマイグレーション方法的を考えた時に手間がやばいな…っておもったが、 import { useEffect, useRef } from 'react' type OnUnmounted = () => void | void type UseWillBeMounted = (effect: () => OnUnmounted) => void export const useWillBeMounted: UseWillBeMounted = (effect) => { const effectRef = useRef<boolean>(false) useEffect(() => { if(effectRef.

Posted

日記 2021-06-14

ダイエット なんか気づいたら太ってたのでダイエットしようとおもう。食生活も直したいけどそれどころではないので一旦運動からやろうかなと この日記を書き終わったら、散歩してくる予定 他人の書いたコード 他人の書いたコードを読むことはできるが、他人の書いたコードに自分の書いたコードを足すのがとてもダルいとおもっていることがわかってきた。 予防線を貼るが特定個人のコードがだるいとかいう話ではなく、自分の性格的な話です で、これを拗せると他人の書いたコードに最小の変更で、機能を追加するということができず、結局全部書き直すのとおなじくらいのdiff量になってしまう という問題に直面する。 「ダーティなコードを書く選択も取らずに甘えたこと言ってるんじゃねえ」って言われたらそれはそう…って感じになるので、ある程度こういう手が取れるようになりたいよなあって思った ダーティなコードを書きたくない理由はあって、基本的にダーティなコードを書いて何か問題が発生して困るのは自分 なので 問題が発生した時に切り分けと修正がしやすいような構成で自分のコミットをデプロイしたい。すなわち、要件に対して自分が適切だと思えるコードに書き直したい というのが理由。 正直チーム開発に向いてないなあって最近思った はやく石になりたい あと外部ライブラリ、大体仕事の邪魔 会社 チームでコード書くのだるいな…とかいう話をした後にこれを書くのも信憑性を疑われそうなのですが、会社については神だとおもってます。 単順に会社の人達おもしろいし仕事が正確で、仕事してて大変快適で最高です。 次回の出社日とか楽しみ 今日みた配信 ピアノの音楽に綺麗な歌声が重なると泣きそうになる。多分疲れてるんだなあ TypeScript UnionType とか割と都合がいい機能が揃ってて仕事で使うにはかなり便利なんですが、例外はどんなにがんばろうとanyゲーミングになって安全もクソもないので使用を強要された時以外使いたくないなあとおもいはじめた。 Reactつかえて例外周りがまともなプログラミング言語っていうのも思い付かないしどうしようかなあってなってる。ReasonMLとかどうなんだろう WSL2 土曜にぶっ壊して sudo の user password すら通らなくなったので、コードとconfigのバックアップだけとって、ArchWSLの再インストールをした .config/ を展開 direnv と asdf と neovim とRustのtoolchain入れたら開発できるくらいには回復したので、環境構築楽でいいなあとおもった asciidoctor 生成されるhtmlに不満があるので、はやく自作してるAsciidoc parserベースにして作り直したい。FF14の固定活動とかもあって全然作業できなくて自分が二人ほしいですね

Posted