Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

2020-04-01から1ヶ月間の記事一覧

TypeScriptのExcludeはなぜT extends K ? never : Tで実装できるのか?

直感に反しているExclude型についてconditional typeの話をしつつ解説します。 Exclude型とは? Union型から特定の要素を取り除く型です。ある型から特定のプロパティを取り除きたいときに使えます。 interface Person { name: string; age: number; country…

JavaScriptでPriorityQueue

優先度付きキューを実装する必要に駆られたので書きました。 実装 TypeScript class PriorityQueue<T> { private container: T[] = []; private size = 0; private comp: (a: T, b: T) => boolean; constructor(comp = (a: T, b: T) => a < b) { this.comp = co</t>…

サブディレクトリでNext.jsのアプリをデプロイしたい!!

結構こういう要求はあるとおもいます。 解決する課題 /staticへのリンクが途切れる <Link>で遷移するとbasepathが変わる つまり、サブディレクトリ以下でNext.jsを使ったSPAをしたい!!という人向けの記事です。 /staticへのリンクをサブディレクトリ以下になるよ</link>…