このブログを書いている時点ですでにv1.0.2まで上がっていますが、先日Bunの安定版v1.0がリリースされました。
というわけであらためてBunまわりの歴史についておさらい。とは言ってもあまり詳しいことまでは話しません(話せません)。
このブログを書いている時点ですでにv1.0.2まで上がっていますが、先日Bunの安定版v1.0がリリースされました。
というわけであらためてBunまわりの歴史についておさらい。とは言ってもあまり詳しいことまでは話しません(話せません)。
大規模なウェブサービスを作っていると、WebAPIの数も膨大になってきます。APIのドキュメントを作成するためにOpenAPIを使っている人も多いと思いますが、APIの数が増えてくるとドキュメントのソースファイル(JSON/YAML)が大きくなり、編集しづらくなります。
でかいソースファイルは分割するのが世の常で、もちろんOpenAPIにもソースファイルを分割できる仕様はあるのですが(文法はJSON
Schemaなので)、問題は分割したファイル($refによる参照先のファイル)にIDEのコード補完が利かなくなることです。
そこで、ソースファイルを分割しつつ、IDEのコード補完も利かせる方法を考えてみます。IDEはウェブ開発の定番Visual Studio Codeを想定します。え?VSCodeはIDEじゃない?気にするな。
なお、この記事は「OpenAPIのドキュメントの書き方を知っていること」「ソースファイルの分割方法($ref)を知っていること」「VSCodeのOpenAPI拡張機能を使っていること」を前提としています。その上で、分割したファイルの補完を使う方法の説明です。
先日、「Software Design 2023年9月号に寄稿したよ!」という記事を書きましたが、その9月号が予定通り8月18日に発売されました。
寄稿部分がこれ。
うん、Twitterってなってるね。
確か、ちょうど校正あたりの時期にTwitterのサービス名が𝕏に変わるとかどうとかの騒ぎがあったんですが、校正&コロナでてんてこ舞いになっていて、ここの修正まで頭が回りませんでした。別に致命的なミスではないので許してください。
おかげさまで、Install SSH Keyがいろいろなところで使われています。もうGitHub ActionsでSSH鍵を使うするときの定番にすらなったんじゃないかと思います。知らんけど。
とは言っても、エディター戦争のように群雄割拠の中から勝ち上がったわけではなく、GitHub Actionsのv2がリリースされたばかりでActionがまだ充実していなかった頃にたまたまSSHを使いたくて作ったものでした。要するに完全に運と先行者利益に恵まれただけのラッキーパンチなのですが、そんなことはどうでもいいんです。運だろうが先行者利益だろうが、そのチャンスをものにできた奴の勝ちなんです。別に勝負してないけど。
そんなInstall SSH Keyですが、GitHubの公式ツールでも使われているらしいという情報を教えてもらいました。
それはGitHub Actions Importerというツールです。概要はこちらに書いてあるのですが、要は他のCIからGitHub Actionsへの移行ツールらしいです。
これを使うと、BambooやJenkinsなどでSSH鍵を設定しているところがInstall SSH Keyに置き換えられるようです。使ってないので詳しいことはわからないのですが、ドキュメントの出力例を見る限りでは確かに使われていそう。ただ、ソースコードを見ても具体的にどの部分でどのように変換しているのかわかりませんでした。別の場所に変換用のデータがあるのかな。
それはともかく、みんなもバンバン使ってええよー。
8月18日に発売予定のSoftware Design 2023年9月号に寄稿しました。担当したのはJavaScript非同期処理特集の3-5章。Promise, async/awaitについての記事です。
Promise編は通り一遍の解説だけでなく、実際にPromiseクラスを自作して内部の動きを解説するというどこかで見たような内容です。まあ実際Promise編はさくらのナレッジの記事をベースにしているので、そちらの記事をすでに読んでいる方は特に得るものはないかもしれません。ただし細かな解説を追加しているので、さくらのナレッジの記事で腹落ちしていない方はあらためてSoftware Designの記事も読んでみるといいかもしれません。
async/await編は、さくらのナレッジにPromise編の続きとして書こうと思っていた内容を先取りしています。さくらのナレッジは数年間放置しているのでそろそろ何とかしないとなぁ・・・と思っていたところに今回の依頼が来たので、締め切り効果を期待して引き受けました。紙面の都合上、こちらは使い方の解説のみです。後日さくらのナレッジにはこれをベースとした記事を載せる予定ですが、そのときはPromise編のように内部の動きまで解説しようかと思っています。
執筆や校正は6月後半〜7月がメインでしたが、7月は父親の葬儀やらコロナやらで2週間ほど仕事どころではない日が続きました。葬儀のときは昼間か夜にある程度時間が取れ、コロナのときはほぼ校正だけで済んだので、何とか原稿を落とさずに済みました。
一家に一冊ぜひどうぞ。