2023年9月17日日曜日

Bun v1.0がリリースされたよ

 このブログを書いている時点ですでにv1.0.2まで上がっていますが、先日Bunの安定版v1.0がリリースされました

というわけであらためてBunまわりの歴史についておさらい。とは言ってもあまり詳しいことまでは話しません(話せません)。

2023年9月10日日曜日

OpenAPIソースファイルの分割

 大規模なウェブサービスを作っていると、WebAPIの数も膨大になってきます。APIのドキュメントを作成するためにOpenAPIを使っている人も多いと思いますが、APIの数が増えてくるとドキュメントのソースファイル(JSON/YAML)が大きくなり、編集しづらくなります。

でかいソースファイルは分割するのが世の常で、もちろんOpenAPIにもソースファイルを分割できる仕様はあるのですが(文法はJSON Schemaなので)、問題は分割したファイル($refによる参照先のファイル)にIDEのコード補完が利かなくなることです。

そこで、ソースファイルを分割しつつ、IDEのコード補完も利かせる方法を考えてみます。IDEはウェブ開発の定番Visual Studio Codeを想定します。え?VSCodeはIDEじゃない?気にするな。

なお、この記事は「OpenAPIのドキュメントの書き方を知っていること」「ソースファイルの分割方法($ref)を知っていること」「VSCodeのOpenAPI拡張機能を使っていること」を前提としています。その上で、分割したファイルの補完を使う方法の説明です。

2023年9月3日日曜日

目標決めと人事考課

 そろそろ上半期が終わる時期なので、ぼちぼち人事考課を始めている会社もあるのではないでしょうか。

ところで、部署の目標や自分の役割をしっかりと認識できていますか?そして期中の成果をきちんと説明できますか?

というわけで、本日は目標決めと成果の説明のやり方についての授業です。といってもちゃんとやってる人にとってはあまり得るものはないと思います。なんとなくやってるマネージャーに向けたお話です。

2023年8月27日日曜日

空気を読んで機械翻訳

 突然ですが、そして今更ですが、最近の機械翻訳の精度はすごいですよね。まるでネイティブのように自然な翻訳をしてくれます。

そこで思ったのが、日本語学習者が戸惑うアレをどこまで正確に英訳してくれるかということ。翻訳精度に定評のあるDeepL翻訳Google 翻訳でちょっと試してみました。

2023年8月20日日曜日

Software Design 2023年9月号が発売されました

 先日、「Software Design 2023年9月号に寄稿したよ!」という記事を書きましたが、その9月号が予定通り8月18日に発売されました。

寄稿部分がこれ。


うん、Twitterってなってるね

確か、ちょうど校正あたりの時期にTwitterのサービス名が𝕏に変わるとかどうとかの騒ぎがあったんですが、校正&コロナでてんてこ舞いになっていて、ここの修正まで頭が回りませんでした。別に致命的なミスではないので許してください。

2023年8月13日日曜日

こんなところにInstall SSH Key

おかげさまで、Install SSH Keyがいろいろなところで使われています。もうGitHub ActionsでSSH鍵を使うするときの定番にすらなったんじゃないかと思います。知らんけど。

とは言っても、エディター戦争のように群雄割拠の中から勝ち上がったわけではなく、GitHub Actionsのv2がリリースされたばかりでActionがまだ充実していなかった頃にたまたまSSHを使いたくて作ったものでした。要するに完全に運と先行者利益に恵まれただけのラッキーパンチなのですが、そんなことはどうでもいいんです。運だろうが先行者利益だろうが、そのチャンスをものにできた奴の勝ちなんです。別に勝負してないけど

そんなInstall SSH Keyですが、GitHubの公式ツールでも使われているらしいという情報を教えてもらいました。

それはGitHub Actions Importerというツールです。概要はこちらに書いてあるのですが、要は他のCIからGitHub Actionsへの移行ツールらしいです。

これを使うと、BambooJenkinsなどでSSH鍵を設定しているところがInstall SSH Keyに置き換えられるようです。使ってないので詳しいことはわからないのですが、ドキュメント出力例を見る限りでは確かに使われていそう。ただ、ソースコードを見ても具体的にどの部分でどのように変換しているのかわかりませんでした。別の場所に変換用のデータがあるのかな。

それはともかく、みんなもバンバン使ってええよー。

2023年8月6日日曜日

Software Design 2023年9月号に寄稿しました

 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週間ほど仕事どころではない日が続きました。葬儀のときは昼間か夜にある程度時間が取れ、コロナのときはほぼ校正だけで済んだので、何とか原稿を落とさずに済みました。

一家に一冊ぜひどうぞ。