
VercelのEdge Functionsで日本の祝日を検索するサービスを作ってみた
ウェブ技術が日進月歩で、新しい物が次々に現れます。Edge Computing(エッジコンピューティング)はその中の1つです。実はエッジコンピューティングがすごい新鮮な技術ではありません。元々IoTのためのものでした。今いよいよウェブ業界にServerless Functions以外の選択肢としてーーEdge Functionsが登場してきました。

Blog part of ThunderMiracle.com

ウェブ技術が日進月歩で、新しい物が次々に現れます。Edge Computing(エッジコンピューティング)はその中の1つです。実はエッジコンピューティングがすごい新鮮な技術ではありません。元々IoTのためのものでした。今いよいよウェブ業界にServerless Functions以外の選択肢としてーーEdge Functionsが登場してきました。

shift-jisの日本の祝日データをfetch/axiosで読み込むのに、文字化けにちょっと苦労しました。インターネットからshift-jisのファイルを取り込む方法を記録しておきます。

Anthony Fuさんの記事「[Reimagine Atomic CSS](https://antfu.me/posts/reimagine-atomic-css)」に感動され、UnoCSSを使いたくなってきました。ちょうど自分のHPをGatsbyJSからNext.jsへ移行する予定なので、Next.jsにUnoCSSを導入してみました。

関数型プログラミングと言えば、再帰処理を思い出すでしょう。再帰処理には末尾再帰の有無がスタックオーバーフロー、いわゆるメモリの過消費を防ぐために必要です。末尾再帰について、[こちらのwiki](https://ja.wikipedia.org/wiki/%E6%9C%AB%E5%B0%BE%E5%86%8D%E5%B8%B0)をご覧ください。JavaScriptのes6から、末尾再帰を実装できるようになりました。ただし、JavaScriptの世界にわずかのところにしかサポートされていません。V8エンジンがサポートしていないため、nodejsはまずアウト

Github Actionsを作る時には、Rest APIを使うのが一般的です。「GithubのGraphQL APIをも快適に使えるか」という質問がありました。いろいろ調べてみて、答えは「Yes」でした。今日は設定方法を紹介したいと思います。

先日チームメンバーと「TypeScriptのinterfaceとtypeのどっちが好み」を話しました。振り返ると、個人的にinterfaceを多く採用しているが、特に理由がありません。今日interfaceとtypeを比較してみようと思います。


gatsby-plugin-mdxと違い、コンポーネントの入れ替えはできないため、コードブロックにコピーボタンの追加は簡単にできません。ただ、gatsby-transformers-remarkで生成されるMarkdownASTを解析すれば、難しくなくコピーボタンを作れます。今日この方法を紹介します。

Netlifyのビルドに現れたビルドエラーを避けるために、Github Actionsへ移行しました。Github ActionsにてGatsbyJSのWebサイトをNetlifyへデプロイする方法をご紹介します。

dotnet coreプログラムでIPアドレスを取得するのに難しくないです。しかし、Dockerの中に起動したら、上記の方法はサーバのローカルIPアドレスしか取得できません。本来のIPアドレスを取得するために、NGINXの設定が必要です。Pleskを例として設定してみましょう。