mizdra's poem

雑なこと (日記/技術ポエム/メモ/…) を書くブログです.

芳文社77円セール 購入作品

よろしくお願いします。

  • ゆゆ式 1巻 (まんがタイムKRコミックス)
  • ゆゆ式 2巻 (まんがタイムKRコミックス)
  • ゆゆ式 3巻 (まんがタイムKRコミックス)
  • ゆゆ式 4巻 (まんがタイムKRコミックス)
  • ゆゆ式 5巻 (まんがタイムKRコミックス)
  • ゆゆ式 6巻 (まんがタイムKRコミックス)
  • ゆゆ式 8巻 (まんがタイムKRコミックス)
  • ○本の住人 1巻 (まんがタイムKRコミックス)
  • ○本の住人 2巻 (まんがタイムKRコミックス)
  • ○本の住人 3巻 (まんがタイムKRコミックス)
  • ○本の住人 4巻 (まんがタイムKRコミックス)
  • ○本の住人 5巻 (まんがタイムKRコミックス)
  • ○本の住人 6巻 (まんがタイムKRコミックス)
  • ○本の住人 7巻 (まんがタイムKRコミックス)
  • 初春が咲く 1巻 (まんがタイムKRコミックス)
  • ゆるキャン△ 1巻 (まんがタイムKRコミックス)
  • ゆるキャン△ 2巻 (まんがタイムKRコミックス)
  • ゆるキャン△ 3巻 (まんがタイムKRコミックス)
  • キルミーベイベー 1巻 (まんがタイムKRコミックス)
  • キルミーベイベー 2巻 (まんがタイムKRコミックス)
  • 幸腹グラフィティ 2巻 (まんがタイムKRコミックス)
  • キルミーベイベー 3巻 (まんがタイムKRコミックス)
  • 幸腹グラフィティ 3巻 (まんがタイムKRコミックス)
  • キルミーベイベー 4巻 (まんがタイムKRコミックス)
  • 幸腹グラフィティ 4巻 (まんがタイムKRコミックス)
  • キルミーベイベー 5巻 (まんがタイムKRコミックス)
  • キルミーベイベー 7巻 (まんがタイムKRコミックス)
  • 幸腹グラフィティ 7巻 (まんがタイムKRコミックス)
  • キルミーベイベー 8巻 (まんがタイムKRコミックス)
  • キルミーベイベー 9巻 (まんがタイムKRコミックス)
  • ステラのまほう 1巻 (まんがタイムKRコミックス)
  • ステラのまほう 2巻 (まんがタイムKRコミックス)
  • ステラのまほう 3巻 (まんがタイムKRコミックス)
  • ステラのまほう 4巻 (まんがタイムKRコミックス)
  • ステラのまほう 5巻 (まんがタイムKRコミックス)
  • スロウスタート 1巻 (まんがタイムKRコミックス)
  • スロウスタート 2巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 1巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 2巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 3巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 4巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 5巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 6巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 7巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 8巻 (まんがタイムKRコミックス)
  • ひだまりスケッチ 9巻 (まんがタイムKRコミックス)
  • さつきコンプレックス 1巻 (まんがタイムKRコミックス)
  • さつきコンプレックス 2巻 (まんがタイムKRコミックス)
  • さつきコンプレックス 3巻 (まんがタイムKRコミックス)
  • 棺担ぎのクロ。~懐中旅話~ 3巻 (まんがタイムKRコミックス)
  • 棺担ぎのクロ。~懐中旅話~ 4巻 (まんがタイムKRコミックス)
  • 棺担ぎのクロ。~懐中旅話~ 5巻 (まんがタイムKRコミックス)
  • 棺担ぎのクロ。~懐中旅話~ 6巻 (まんがタイムKRコミックス)
  • 棺担ぎのクロ。~懐中旅話~ 7巻【Amazon.co.jp限定描き下ろし特典付】 (まんがタイムKRコミックス)

2020-05-10

オレオレ eslint-config

というわけで作った.

github.com

依存しているeslint-configに更新があると, dependabotによりPRが立つので, リリースノートを見て新しいルールを追加してマージする, という流れ. patchバージョンアップの場合はauto-mergeするようにしているので, 新規ルールの追加やBreaking Changesがあった時だけPRに目を通す形になる. インターフェイスはeslint-config-teppeisを真似ている.

テストをメンテする気さえ起きないのでノーテストだけど, ただのeslint-configなのでそう壊れることはないはず. そもそも壊れても僕だけしか使っている人居ないはずなので, 自由なタイミングで直せば良い.

publishするのもだるいなと思ってmasterにマージしたら自動でpublishするような仕組みも作ったけど, 手でpublishするのとそんなに手数変わらないし, 複雑な仕組みを導入したせいで逆にメンテが面倒になりそう. とはいえ自動デプロイ導入しているリポジトリは(Netlify以外)過去に無いので, 勉強がてら運用してみるのも悪くなさそう.

ゆかりスロット

ゆかりスロットをplay/pauseキーで操作できると面白いかなと思ってMedia Session APIで遊んでた. けど, Media Session APIを使うには Audio インスタンスを用意したり, AutoPlay Policyを突破する必要があるようで, 面倒くさくて諦めてしまった. また気が向いたら再開します.

記事

この日記を書いている時点でまだ一文字も書いてない. 困った.

2020-05-06

記事

記事書いてた. 偉い. 何か重要なことだけに絞って書いているはずなのにどんどん記事のボリュームが膨らみ始めている. まあそれだけテーマが良いということなのだろうけど. 記事のボリュームがでかいと読むのがだるくなりがちなので, 出来るだけ明快な言い回しをしたり, 読んでいて面白い (ネタに走る訳ではなく, 飽きさせないという意味) と感じるような文章を書くよう気をつけている. 中々大変だけどテーマが良いので書くのは楽しくやれている. 来週の月曜くらいに出せると良いかな〜

睡眠

昨日睡眠失敗して, 今朝の5時くらいまで起きていた. 破滅してます.

記事書いてたらどんどん良い文章の断片が頭の中を駆け巡るようになって, 布団に入って目を閉じてもそんな状態だったので気になって全然寝れなかった. 仕方なく断続的に布団から出てPCの前に行って記事書いてた. 進捗が出るのは良いことだけど睡眠は大事なので困る.

今朝11時に起きて, それでも睡眠時間が足りなかったので, 2時間くらい昼寝してた. 疲れはだいぶ取れたと思うけど, 明日は仕事なので念の為素早く寝ます.

2020-05-05

日記

そういえば昨日の日記書いてなかったなと思い出して書くことにした. もう翌日の22時だけど…

ゆかりスロット

突然ゆかりスロットに面白機能搭載しようと思って, その前準備としてリファクタリングしてた. リポジトリは諸事情あってprivateになっていたのだけど, 折角作ったので公開できるよう整備して公開してみた. MITライセンスなのでスロットゲーム作りたい人はforkして作ってみて下さい.

github.com

記事

ゆかりスロットのコードを整備する過程で, 画像の読み込みによるガタツキがどうも気になってしまって, どうにかできないか色々調べてた. 調べていく内に昔はintrinsicsize属性を使っていたところが, 最近は別のテクニックを使うよう推奨されていることが分かった. intrinsicsize属性に関する日本語の記事は出回っているけど, 新しいテクニックについては皆無だったので記事を書くことにした. とりあえず導入は書けた. 今は後方互換性について書いてる. 久々の大作になる予定です.

脱線

昨日(2020-05-04)までrocketimer作っていたはずが, 今日になってゆかりスロット触り始めて, さらには記事を書き始める事態になってしまった. めちゃめちゃ脱線している. 何故こんなことに…

まとめ

記事書いてて今日も偉い.

2020-05-04

日記

GW入ってから毎日日記書いてるので今日で3日連続で日記投稿してることになる. 偉すぎる.

乱数調整向けタイマー (rocketimer)

tscとtsserverの速度測定できる環境作ってひたすら測定してた. 今回はTSのバージョンを3.9に上げるのと, --skipLibCheck でdepsの型定義ファイルの型検査をスキップするのを試してみた. どちらもそれなりにtscに対しては効果あったけど, tsserverに対してはイマイチだった. TSのバージョンは上げとくだけ得*1なので上げれば良いと思うけど, 後者は運が悪いとバグを見逃す原因にもなりかねないので, わざわざ導入するほどでもないと思う. rocketimerの場合はまだ小さなプロジェクトなので --skipLibCheck による高速化は軽微なものだったけど, ハチャメチャにdepsが多いプロジェクトとかだとまた変わってきそう. そういう場合は --skipLibCheck も有用かもですね. 実際の測定結果などは以下のPRにまとめてあるので興味ある人居たら読んでみて下さい.

github.com

それにしても丸一日掛けた割には特に実践に使える情報は得られなくて無だった... これだけ調べて何もアウトプットが無いの悲しすぎるので米粒程度でも良いので何かまとめて記事にしたい気持ちがある. ハチャメチャにdepsが多いプロジェクトに --skipLibCheck 入れると速くなって便利だよ, みたいな記事良いかな, と一瞬思ったけど --skipLibCheck がハマるほどハチャメチャにdepsが多いプロジェクト触ってる人ほぼ居ないだろうし, そもそも自分はそんなプロジェクトに関わっていない…

*1:ここ韻踏んでます

2020-05-03

散髪

朝から散髪した. 超偉い.

乱数調整向けタイマー (rocketimer)

コードべースリファクタリングしたり, ESLintの設定 (主に @typescript-eslint 関連のrule) 見直したりしてた. 気軽に @typescript-eslint のrule使っていくと型情報要求されまくってlintに時間掛かりがちなので, opinionatedなものは可能な限り避け, bad practiceを検知できるruleを中心に入れるという方針でruleを追加していた. TIMING=1 yarn run eslint とかするとどのruleに時間が掛かってるか分かって便利です.

github.com

TypeScriptとパフォーマンス

rocketimerではmaterial-uiを使っているのだけど, material-uiはビルドや型検査に時間が掛かることが以前から知られていて *1*2*3 , 件のプロジェクトでもビルドが遅くなったり, tsserverの反応が遅かったりと影響が出ている. 常に遅い訳ではなくて, TSX書いてる時は数秒待たされるけど, ただのTS書いてる時は即座にレスポンスが返ってくるという感じ.

めちゃめちゃ困っている訳ではないけど, TSXちょろっと書く度に数秒待たされるのまあまあしんどいので, 改善できると嬉しい. 無闇に最適化するのは危険だけど, まあ困ったときの切り札として最適化テクニックを学ぶのは悪いことではないだろうと思って, 今日は色々それっぽい情報調べてた. 明日ビルド速度測定する環境構築しつつ, TS 3.9RCに上げたり, tsconfig.json弄ったりしてビルド速度爆速化してみる.

“Solution Style” tsconfig.json

TS 3.9でrelease予定の「“Solution Style” tsconfig.json」とかいう新機能, 便利そうだった.