クローズしたPRのブランチをGitHub Actionsで自動的に削除する

GitHub で PR のクローズ時にブランチを自動削除するワークフローを作成しました。この記事ではそのワークフローを紹介します。 GitHub で開発していると、PR をマージせずにクローズする機会は多いと思います。この時、クローズした PR のブランチは自動的…

Reactのアーキテクチャを知る Scheduler編2

こんにちは、noyanです。React内部実装アドベントカレンダーの12日目です。 今日もSchedulerというパッケージのコードを読んでいきます。 前回、Schedulerの機能は現在と未来のタスク管理であり、workLoop関数がこの両方に深く関わっていることを確認しまし…

Reactのアーキテクチャを知る Scheduler編1

こんにちは、noyanです。React内部実装アドベントカレンダーの11日目です。 今日はSchedulerというパッケージのコードを読んでいきます。 なぜSchedulerについてここで学ぶのでしょうか。useState編を読まれた方は、Reactがhooksの更新検知と実行に関して不…

React Forget:問題の所在はどこか

2日ほど時間があきましたが私は元気です。 ちょっと頑張れない期間と難しい部分のコードリーディングが重なってました。 頑張れないときに50%でアウトプットを出すことを許せない自分の在り方がぶきっちょだなあと感じますが、(自分にとって)自明なコード…

Reactのアーキテクチャを知る JSXのトランスパイル

こんにちは、noyanです。React内部実装アドベントカレンダーの6日目です。前回でuseStateが一段落したので、1回で終わる簡単な記事を書きます。 JSXはフレームワーク非依存のJavaScript構文拡張で、宣言的にUIを記述することを可能にします。多くの人は親し…

Reactのアーキテクチャを知る useState編4

こんにちは、noyanです。React内部実装アドベントカレンダーの5日目です。昨日まで3回にわけてマウント時のuseState処理を追ってきました。ですが、詳細に関数の処理を追うことに注力したため、実際に関数コンポーネントと関数の知識が結びついていない感じ…

Reactのアーキテクチャを知る useState編3

こんにちは、noyanです。React内部実装アドベントカレンダーの4日目です。昨日集中しすぎてうまく頭が働かないようなので、文章が荒かったらすみません。 引き続きReactのuseStateフックの内部実装を読み解いていきます。 これまで、マウント時のuseState()…

Reactのアーキテクチャを知る useState編2

こんにちは、noyanです。React内部実装アドベントカレンダーの2日目です。 引き続きReactのuseStateフックの内部実装を読み解いていきます。 目的 更新系を理解する準備として、dispatch関数が呼ばれたときの処理を知る。 Hookが単連結リスト構造だと知る。 …

Reactのアーキテクチャを知る useState編1

こんにちは、noyanです。React内部実装アドベントカレンダーの1日目です。 この記事ではReactのuseStateフックの内部実装を読み解いていきます。 概要 Reactを使っている人のほとんどがuseStateを使ったことがあるでしょう。一方で内部実装を知っているひと…

備忘録:TypeScriptにおける環境構築 Linter編

最近、Next.js * TypeScriptに@swc-node/jestを入れたり、適当にやっていたeslintの設定を40行くらいのちょっとしたものに直す機会があった(執筆中に見直して10行ぐらいへった)。 Linter周りは作るたびに同じことを調べている気がするので、多少まとめるこ…

「Firebase Auth使いたいけど、どう実装するの?」という人のために

セキュリティ、難しいですね。認証を自前で実装するには膨大な知識が必要で、一度実装しても新たな脆弱性発見のニュースに常に気を配る必要があります。フロントエンドエンジニアがセキュリティの分野まですべて責任をもつことは現実的ではないです。 そのな…

オーバーロードをアロー関数で書かないほうがいい理由[TypeScript]

update(21/05/23): ・コード例が正しくなかったので修正しました。 ・ジェネリクスについて追記しました。 結論 TypeScript で関数をアロー関数で多重定義すると型推論がうまくいかないので、function キーワードのオーバーロードを使いましょう。 オーバー…