Closed29

キャッチアップ・勉強した記録を付けてみる(2023/09)

ymgnymgn

ルール

これから毎日時間固定で情報収集、環境構築見直し、勉強の時間を設けてみる。
予定がある日はやらなくて OK な緩めのルールにする。

なるべく下記通りに時間を取るが、無理して三日坊主で終わるよりかは毎日少しずつでも継続する方が大事。

仕事のない日などは朝に勉強をしてもいいし、勉強時間を増やしても良いし、時間の振り分けは自由とする。

  • 30 分以内: 情報収集(主に Web フロントエンド・バックエンドの動向を追う)
  • 30 分以内: 環境構築周り(主に dotfiles)の見直し

  • 2 時間以上: 勉強(プログラミング本読みやネット上の資料で勉強)

記録テンプレート

こんな感じ。

# 2023-09-01

## (30 分)情報収集

進捗なし。

## (30 分)環境構築見直し

進捗なし。

## (2 時間)プログラミングの勉強

進捗なし。

ymgnymgn

2023-09-01

(30 分)情報収集

ついにdein.vimの開発終了...お疲れ様でした。
大学生だった頃(その後Vimを投げ出してまた最近Neovimに戻ってきた)使っていました。
次のプラグインマネージャはdenops.vimで開発されるのかな。
https://twitter.com/ShougoMatsu/status/1697153827768857024?s=20

Coolだね。
https://twitter.com/geoffrich_/status/1697277398671384686?s=20

9月はこういう系の本を1冊は読んでみる。今現在一番興味がある分野。
https://keens.github.io/blog/2019/02/16/osusumenokonpairanohontoka/

ということで、まずは「最新コンパイラ構成技法」を買った。
「型システム入門 プログラミング言語と型の理論」もそのうち買いたい。この本はPDF版があった。
https://tatsu-zine.com/books/types-and-programming-languages-ja

(30 分)環境構築見直し

進捗なし。

(2 時間)プログラミングの勉強

進捗なし。

ymgnymgn

2023-09-06

(30 分)情報収集

進捗なし。

(30 分)環境構築見直し

init.luaのリファクタが大方完了した。
起動時間が70ms->24msほどに改善した。
プラグインを抜いたり入れ替えたりなどは行っていない。

(2 時間)プログラミングの勉強

少し整理した。やらないことを明確にした。
https://zenn.dev/ymgn_dev/scraps/75a45d12d704f6

ymgnymgn

2023-09-09

(30 分)情報収集

Bun, Denoあたりはしばらくキャッチアップ見送るつもりだったけど、Bunは魅力的だな...。
SvelteもNext.jsも動くのか。
→だがまだやらない。
https://bun.sh/blog/bun-v1.0

(30 分)環境構築見直し

SQLのリンタ、フォーマッタとしてsqlfluffを使用するように変更。
ルール設定ファイルとして、プロジェクト直下に.sqlfluff.cfgがあればそれを参照して、なければ~/.config/sqlfluff/setup.cfgを参照するように実装した。

(2 時間)プログラミングの勉強

進捗なし。

ymgnymgn

2023-09-10

(30 分)情報収集

進捗なし。

(30 分)環境構築見直し

nvim-lintの実行タイミングがおかしかったのを修正。

(2 時間)プログラミングの勉強

進捗なし。

ymgnymgn

2023-09-12

(30 分)情報収集

まさかのantfuがPrettierを使っていなかった。
俺もPrettierとESLint組み合わせるの設定難しいし、いつの間にかConfig系のパッケージ非推奨になっていたりで追うの面倒だから片方だけにならないかなーと思ってた。
個人開発ではESLintだけにしてみようかな。
というかantfuのサイトかっこよすぎん?
https://antfu.me/posts/why-not-prettier

(30 分)環境構築見直し

lsの代わりにezaを入れてみた。
アイコンが表示されたり綺麗だし、ディレクトリがハイパーリンク化されたりして便利になった。
https://github.com/eza-community/eza

(2 時間)プログラミングの勉強

ローカル環境で起動できるようにした。
https://zenn.dev/ymgn_dev/scraps/036671c51749e4

ポストを投稿、一覧表示、詳細表示できるようにした。
UIは適当。

ymgnymgn

2023-09-13

(30 分)情報収集

この辺りを見ていると、ESLintからフォーマッタとしての機能が非推奨になるのか。
んで、antfuさんがそうなった場合に別組織としてコンフィグをメンテしていく意思表明してた。
俺としてもESLint + Prettierの組み合わせはやめたくて、ESLintをリンタ、フォーマッタとして使いたい気持ちがあるので、この流れはいいことだと思う。
https://antfu.me/posts/why-not-prettier
https://github.com/eslint/eslint/issues/17522
https://github.com/eslint/eslint.org/issues/435
https://x.com/antfu7/status/1701273844433252623?s=20

(30 分)環境構築見直し

prettierd, eslint_dを削除(あまりメンテされている気配がなかったのと、やはり公式の方が安心できるため)。
作業しているプロジェクトがPrettierを使っていない場合はフォーマッタとしてESLintを使用するようにした。
Prettierが入っている場合はPrettierが優先してフォーマッタとして認識される。

(2 時間)プログラミングの勉強

Prettierとテスト周りのコードを一旦すべて削除した。
ESLintをリンタ、フォーマッタとして使っていく。
https://zenn.dev/ymgn_dev/scraps/036671c51749e4

ymgnymgn

2023-09-14

(30 分)情報収集

進捗なし。

(30 分)環境構築見直し

進捗なし。

(2 時間)プログラミングの勉強

このあたりの設定ファイルの知識が必要...
Prettierを外してESLintnのみで運用する場合は、特に.eslintrc.cjsの設定をちゃんとしておかないとダメ。

  • tsconfig.json
  • .eslintrc.cjs
  • vite.config.ts
  • svelte.config.js
ymgnymgn

2023-09-16 ~ 2023-09-18

旅行に行ってたのでお休み。

ymgnymgn

2023-09-20

(30 分)情報収集

これには期待してる。
https://eslint.style/

(30 分)環境構築見直し

進捗なし。

(2 時間)プログラミングの勉強

進捗なし。

ymgnymgn

2023-09-21

(30 分)情報収集

Bunよさそうとは思ってるけど、Node.jsすら理解しないままBunに手を出すのはなぁ...と思っている。
https://x.com/d151005/status/1704463995787416024?s=20

詳細はよく分からないけど後で読む。
読んだ。Svelteっぽいシンプルな記法ではなくなるけど、よりスケールしやすいよう将来的な進歩を見据えた変更なのか。
https://svelte.dev/blog/runes

(30 分)環境構築見直し

進捗なし。

(2 時間)プログラミングの勉強

この対応方法が割と良さそうなので、記事にしようと思う。
https://zenn.dev/link/comments/d5ea9e1d79dc97

ymgnymgn

2023-09-22

(30 分)情報収集

進捗なし。

(30 分)環境構築見直し

進捗なし。

(2 時間)プログラミングの勉強

進捗なし。

ymgnymgn

2023-09-27

(30 分)情報収集

Next Generation Frontend Frameworkという謳い文句でリリースされているVike。
使う予定はないけど、React + SSRでCloudflare Workersに乗せれるのはいいね。
https://vike.dev/

Cloudflare Fontsが出るのか!?
https://blog.cloudflare.com/cloudflare-fonts-enhancing-website-privacy-speed/

新しいCloudflare Imagesが11月頃に出る模様。
https://blog.cloudflare.com/merging-images-and-image-resizing/

(30 分)環境構築見直し

進捗なし。

(2 時間)プログラミングの勉強

進捗なし。

ymgnymgn

2023-09-28

(30 分)情報収集

こういう実装の仕方、Flutterをメインにしていたときに色々な方法を考えたことがあったけど、結局DDD + オニオンアーキテクチャに寄せる考え方で、層ごとの例外型を用意しておいて、層を跨ぐ時にその層での例外型に変換して上位に渡していくという方法がしっくり来た。
この記事で紹介されているようなResult型を作る方針でプロジェクトを回したこともあって、そちらもリリースまで特に問題が起こることはなかったので、結局プロジェクト方針通り一貫して実装できていればどちらでも良いという考えになってしまった。
ただJS, TSの場合は例外の扱いが貧弱だと思っていて、Result型を用意するのは良いのかも知れない。

https://zenn.dev/ken7253/articles/reasons-not-to-use-throw

その後、このツイートも見つけ、たしかにとなった。
https://x.com/cubbit2/status/1707369324640620917?s=20

JSについて結構面白い内容が書かれていた。
https://docs.google.com/presentation/d/e/2PACX-1vRn2kC3BDJzXR8WprRXP6N0-w-TksQtRlqJoIbyIXc-bXC7yMqlOuuSOrAfYmcN2o9tv0fcycLOO7YL/pub?slide=id.p

CSS追いかけるの大変。。。
https://speakerdeck.com/tonkotsuboy_com/css-subgridgasui-niquan-burauzadui-ying-xin-shi-dai-noguritudodezainwoxue-bou

(30 分)環境構築見直し

Neovimが頻繁にクラッシュするようになってしまった。
原因は分からないので時間があるときに探ってみる(今は忙しすぎる...)。

(2 時間)プログラミングの勉強

ブログのUI / 仕組みが大体できた。
10月からは管理画面も実装していく。

ymgnymgn

2023-09-29

(30 分)情報収集

D1がオープンベータになって安心した。
https://blog.cloudflare.com/d1-open-beta-is-here/

(30 分)環境構築見直し

進捗なし。

(2 時間)プログラミングの勉強

投稿詳細画面のスタイルを整えた。
知り合いのデザイナーにロゴデザインを発注した。

ymgnymgn

2023-09-30

(30 分)情報収集

進捗なし。

(30 分)環境構築見直し

進捗なし。

(2 時間)プログラミングの勉強

進捗なし。

このスクラップは2023/10/04にクローズされました