虎の穴開発室ブログ

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

MENU

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

皆さんこんにちは、虎の穴ラボの奥谷です。

2024年 7月 31日 (水) に Deno についてのLT会 『toranoana.deno #17』を開催しました。

yumenosora.connpass.com

イベント紹介

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

資料はこちらです。

speakerdeck.com

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

www.youtube.com

開催概要

時間 内容 発表者
19:30〜19:35 虎の穴ラボについて 虎の穴ラボ 奥谷
19:35〜19:50 DenoでGitHubのバックアップ with ChatGPT 虎の穴ラボ藤原
19:50〜20:05 Deno の依存アップデータを作っている話 hasundue さん
20:05〜20:20 Deno Deploy のログを NewRelic に送り込もう 虎の穴ラボ 奥谷
20:20〜20:25 閉会の挨拶
20:25 終了

LT レポート

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

DenoでGitHubのバックアップ with ChatGPT - 虎の穴ラボ 藤原

speakerdeck.com

GitHubで管理されている数多くのリポジトリからソースコード群をバックアップするツールの実行基盤として、Denoを選定/実装したというお話でした。 また実装にあたり、ChatGPTと協力にをする形をとっています。

ポイントとしては、

  • ChatGPTのDenoの知識が、デフォルトは結構古い知識で止まっている
    • stdのバージョンが古い
    • Deno.commnadではなく、Deno.run が使われる。
    • JSR を知らない
  • なので、更新情報などは、知識があるのが望ましい。
  • GAS(Google App Script)で作ったことのあるツールは移植しやすい
  • インターネット上に転がっているJS/TSのコードが多く、その点でAI出力させたソースコードの実行基盤としてDeno は結構良い

などが挙げられていました。 Web開発での採用にはある程度規模のプロジェクトが必要に思うのですが、このようなCLIツールであれば、比較的業務導入も容易であるかもしれません。

Deno の依存アップデータを作っている話 - hasundue さん

Deno向けに作られた依存アップデータ molt についてのLTでした。

github.com

経緯としては deno-udd の更新が止まっており、それにあたって全く違う設計でトライしたのが発端ということでした。

ポイントとしては、

  • ソースコード依存を探すのは deno_graph クレートをwasmで使う

github.com

  • 最新バージョンの取得は、レジストリのリダイレクトを使う。
    • レジストリ全てが、最新のバージョンへリダイレクトしてくれるわけではなかった。
  • JSRが登場して、リダイレクト手法は使えなくなった。
    • 正攻法で対応した(semverに対応)
  • moltはロックファイルを依存ごとに更新できる。

molt は、依存関係の更新のコミット前にテストを実行し、面倒な作業を自動化し、安全に更新をしてくれるツールとして、ぜひ使ってみたいと思いました。

Deno Deploy のログを NewRelic に送り込もう - 虎の穴ラボ 奥谷

speakerdeck.com

Deno Deployのログ保存期間が少々短いことから、外部にログ転送する方法と、NewRelicを選定し動作検証したという発表となります。

ポイントとしては、

  • Deno Deploy のログ保存期間は、無料:1日、有料:1週間
    • 心許ない期間なので、ログの転送を検討する => 今回は、NewRelic
  • NewRelic Logs API を使用して、fetch APIでログ送出できる。
  • console.xxx でログ出力するようにNewRelicにログを送って欲しいので、console.xxx を上書きする
  • 改めて、Deno Deploy で操作させNewRelicにログが転送されていることを確認した。

Deno Deployを 業務に本格適用を考えると、どうしてもログの保存期間が気になっていました。 この点について一つの答えを得られたと考えています。

Deno Deployを本格運用するにあたり、「ログをどういう形で収集/運用しているのか?」について知見をお持ちの方がいらしたら、コメントいただければ幸いです。

まとめ

今回は、LT3枠での開催となりました。
長らくDenoをテーマにしたLTを主催してきましたが、弊社からも業務に近いところの導入事例を出せるようになってきました。 最近では以前から出ていたNode.js単独でTypescriptを動かせるよう動きも、やや活発な動きを見せていると感じます。

github.com

完全に動作するようになると、Deno との違いが一つ減ることになります。 各ランタイムでの動きも活発ですが、toranoana.deno は今後も引き続き開催していきます。 ご参加いただければ幸いです。

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

採用情報

虎の穴では一緒に働く仲間を募集中です!

この記事を読んで、興味を持っていただけた方はぜひ弊社の採用情報をご覧下さい。

カジュアル面談やエンジニア向けイベントも随時開催中です。ぜひチェックしてみてください。 toranoana-lab.co.jp