Qiitaライクなコードブロック表示を、marked + highlight.jsで実現する
Qiitaの記事投稿では、コードブロックにファイル名を表示することができる。これと同じ体験をmarkedライブラリを使って実現してみた。
Next.jsでAPIリクエストをproxyする
Next.jsで外部のAPIに対して非同期でリクエストをしたところCORSエラーが発生した。異なるオリジン間での通信を許可するにはサーバ側にリソース共有を許可する設定を導入する手法が一般的だが、今回はクライアント側だけで対応してみた。そこで、http-proxy-middlewareというモジュールを使ってHTTPリクエストをプロキシすることでエラー回避をしてみた。
Next.jsのカスタムサーバとしてExpressを利用する
Next.jsのアプリケーションよりも上位のレイヤに独自処理を挟みたかっため、Next.jsのカスタムサーバとしてExpressを導入して機能の拡張を行った。
markedでマークダウンをHTMLに変換して表示させる
markedというライブラリを使ってマークダウン記法の文字列をHTMLに変換して表示させてみた。また、コードブロック内のコードはハイライト表示にさせたかったのでhighlightjsというライブラリも併用して使ってみた。
JavaScriptの破壊的メソッドをスプレッド構文を用いて安全に利用する
JavaScriptの破壊的メソッドをスプレッド構文を用いて安全に利用するための方法について。破壊的メソッドは、オブジェクトの内容を書き換えてしまうため注意深く使う必要がある。そのため、オブジェクトのコピーの生成を行う必要があり、スプレッド構文を使うと簡潔に書くことができる。
TypeScriptのstrictルールについて
TypeScriptのstrictルール(厳格化オプション)について、忘れがちなのでまとめる。strictルールとは、TypeScriptの厳格化オプションのことである。結論としては、特別な事情が無い限りは基本的に有効にするのがベターであると感じた。
JavaScriptのStrictモードについて
JavaScriptのStrictモードについて調べたことをまとめる。TypeScriptでコードを書く場合コード内に構文エラーなどが混入していても実行前のビルドでエラー検知が可能である。 ただし、JavaScriptを直接書いて実行した場合には検知できないエラーも存在する。そういったバグを検知してエラーとしてくれるのがStrictモードである。
JavaScriptでクリップボードを読み書きする
JavaScriptでクリップボードを読み書きする方法について説明する。書き込みには、ClipboardインタフェースのwriteText関数にコピーしたい文字列を指定する。読み込み時には、ClipboardインタフェースのreadText関数を実行することでクリップボードの値が参照できる。