技術とかの雑なToday I Learnedメモ

〜2023-01-15

〜2023-01-15

2023-01 week 2の週報。

2023-01-13

この10年のプログラミング言語の変化 - 西尾泰和のScrapbox

大半が知らないことだったけど一部知ってるところもあった。

async/awaitはそういえばそうだった。

脱オブジェクト指向

Reactがclassコンポーネントからfunctionalコンポーネントに移っていったのはもちろん知っているけど、Javaもそんな感じになっているのか。

JSがオブジェクト指向から関数型指向になってきて、データとプログラムを分けるようになって、状態を維持しながら、エディタで編集した結果をブラウザに送り込んで見た目をリアルタイムに変える、みたいなホットモジュールリプレースメントみたいなのが実用に、というのはプログラミング的なパラダイム変化を感じてる

ほほう。

Go なんかはそもそもクラス無い(構造体使ってモドキは出来るけど)し継承なくなるとクラスの役割はインスタンス変数の保持と関数の名前空間的な役割になるよね的なところからステート持つのは限定的な場所になって殆どは不変のオブジェクトと関数的なアプローチになってきてるよね的な

GoやRustにはそもそも継承がない(Goにはクラスもない)んだなあ。

GitHub Copilotは盛り上がってる波に乗りそびれたまま無償利用ができなくなったので見物しているだけなので触ってみたいな。

2023-01-14

フロントエンド技術選定

やっぱりNext.jsが強いんだなあ。

このサイトはSSG前提だし、Astroを試してみるのも面白そう。

ビルド周りのツールでいうと、voltaは結局使ったことない。Node.jsのバージョン管理は今はasdfでやっていて、anyenvから脱却できて一件落着みたいな感覚だった。

volta以外のyarn、TS、ESLint/Prettierは普通に使っている。

react-hook-formやzodはほとんど使ったことないのでこれらを触る機会を作りたい。

2023-01-15

ポケモンSVのダメージ計算アプリを支える技術

未読消化。

ポケモンSVは自分もやっているし、ポケモンソルジャーの動画を見ているのでダメージ計算アプリがリリースされたのも知っていた。

まさかこんな形で詳しく技術面の記事を公開してもらえると思わなかったので読めたことが嬉しい。

MUIはスタイリッシュでよさそう。

その他prismaやsupabaseなどの名前だけ知ってる技術がふんだんに使われているので自分も触りたい。

GitHub Projectsのkanbanのスクリーンショットを見て「こんな感じでやっているんだ……」というのも知れたのが面白かった。

moment.js・day.js よりも速くて軽い cdate ライブラリ - Qiita

未読消化。

dayjsもわりと最近のイメージがあったけどまた新しいやつ出てきた、すごいと思って読んだ。

こういうライブラリは今後継続的にメンテナンスされ続けるかどうか・エコシステムが形成されるか/うまく大きなエコシステムに取り込まれるかが大切なのかなと思っているので、今後継続的にメンテナンスされていたら面白そうだなと思う。

というか、逆に「こんなすごいライブラリ作ったよ!」と出しても今後どうなるかを不安視されるし、実際に長いこと使われたりメンテされたりすることでしかロングセラー(この表現でいいのか?)にならなそうだなと思うと、大きくなるには時間がかかるんだな〜という感じがある。