虎の穴開発室ブログ

虎の穴ラボ株式会社所属のエンジニアが書く技術ブログです

MENU

【JavaScript】Deno についてのLT会 toranoana.deno #13 を開催しました【TypeScript】

皆さんこんにちは、虎の穴ラボのおっくんです。

2023年 8月 2日 (水) に Deno についてのLT会 『toranoana.deno #13』を開催しました。

yumenosora.connpass.com

イベント紹介

虎の穴で、Deno の勉強会を開催する意図や、会社の案内をさせていただいています。

資料はこちらです。

speakerdeck.com

配信はアーカイブで視聴することも可能です。

www.youtube.com

開催概要

時間 内容 発表者
19:30〜19:35 虎の穴ラボについて 虎の穴ラボ 奥谷
19:35〜19:50 denoとChatGPTでコード変換機を作る 虎の穴ラボ 藤原
19:50〜20:05 Fresh用ミドルウェアを Fresh 1.3 のプラグインに対応させよう 虎の穴ラボ 奥谷
20:35〜20:40 閉会の挨拶

LT レポート

各LTの内容についてレポートします。

denoとChatGPTでコード変換機を作る - 虎の穴ラボ 藤原

speakerdeck.com

この発表では、Deno で動作する ChatGPT でコード変換を行うCLIツールを作ったという発表でした。

ポイントは次のとおりです。

  • 生成されたコードを手で直せる知識は必要
  • JavaScript(TypeScript)と、JSONでやりとりをするChatGPTは親和性が高く、実行環境としてDeno での体験が良い
  • Deno のパーミッションの機構によって想定していない通信やディスクへの書き込みなども防げそう
  • 最終的にワンバイナリにできれば、通常のリプレイス案件でも活用できそう

コメントと発表後の質疑応答では、

再帰的にファイルを辿るのは std/fs/walk が使えるかもしれない

https://deno.land/std@0.196.0/fs/mod.ts?s=walk

というものがありました。 発表の際に紹介されていたコードでは、ディレクトリ全体のコードを順次変換するにあたって、再帰的な処理を自前で実装していました。
「Deno standard library には、便利な関数がある」というところの、情報交換をできたのがよかったように思います。

また、今回の例に出している VueからReactへのコードの変換の精度については、次のような傾向が見られるということでした。

  • コンポーネント1つの記述が多い方が比較的正解に近いものが出力される傾向がある。
  • 非常に小さいコンポーネントだと、元のファイルにはないCSSファイルを生成したりする傾向がある。

変換元のソースからコンテキスト読み取りやすいのはどちらか?というところで傾向が見られるようです。 ポイントで書いたように「手で生成されたコードを直せる知識」や、「変換されたコードへの審美眼が問われる」ことは変わらないということでした。

Fresh用ミドルウェアを Fresh 1.3 のプラグインに対応させよう - 虎の穴ラボ 奥谷

speakerdeck.com

Fresh は、Deno 向け Web フレームワークです。 Fresh 1.3では、ミドルウェアとルートを追加する機能拡張を、プラグイン形式で適用できるようになりました。 発表では、プラグインの中身についての紹介や、既存のミドルウェアをプラグイン化する方法について発表されました。

ポイントは、次のとおりです。

  • 既存のミドルウェアも、新しいプラグイン形式に比較的簡単に対応できる
  • プラグインの登場で、基盤機能をモジュールで提供できる
    • 例えば、認証機能を提供する場合次の2つを1つのプラグインで提供できる
      • ログインページ:ルートを追加する
      • 検証機能:ミドルウェアでで追加する

コメントと発表後の質疑応答では、最近 Fresh が頻繁に機能追加がされていることや、今回発表されたプラグインでより利用者が増そうな気配を感じていることなど話しています。

おまけとして、Fresh に issue を送った話が紹介されました。 プラグイン化のために実装したコードで、アサーションを書かないと型チェックにパスできなかったため、その内容を送ったとのことです。 プラグインでのミドルウェアの適用を開発したコントリビューターの方が対応してくれ、すぐにプルリクがたちマージされたことも話していました。 このことでもFreshの開発が、活気があることが伝わる発表でした。

まとめ

今回は、LT2件での開催となりました。

denoの新しい機能であるKVや、以前から話題になっているDeno Depolyをうまく使った発表が多かったかと思います。

次の開催は、年末を想定しています。開催の際は、connpassやTwitterでお知らせしますので、興味ありましたらぜひご参加ください。

特に、LT枠は大募集です。是非、よろしくお願いします。

大事なお知らせ

toranoana.deno は年末くらいまで間が開きますが、秋に大きなイベントがあります。

2023年 10月 20日(金)「 Deno Fest(ディノフェス)」の 開催します!!

DenoとNode.jsの開発者のRyan Dahlさんや、一般社団法人 Japan Node.js Association の古川陽介さんをスピーカーに迎え、Denoのお祭りを開催します。
今回のイベントはオンラインとオフラインの同時開催です。 connpass から奮ってお申し込みください。
会場でお待ちしております!!!

yumenosora.connpass.com

P.S.

採用

虎の穴では一緒に働く仲間を募集中です!
この記事を読んで、興味を持っていただけた方はぜひ弊社の採用情報をご覧下さい。
yumenosora.co.jp