なぜDeno Deployなのか?それは...なぜダメなのか?

  • 🚀 設定不要(そう、読んだ通りです!)
  • 🌍 標準でグローバル配信
  • ⚡ 驚異的な速さのコールドスタート
  • 🔒 デフォルトでセキュア(もう「うっかりバックドアを開けっぱなし」なんてことはありません)
  • 🦕 Deno上に構築されているので、TypeScriptに優しく、モジュール中心

サーバーレスパーティーを始めましょう!

さあ、袖をまくってコードに飛び込みましょう。でもその前に、今日書かない設定ファイルたちに黙祷を捧げましょう。

ステップ1: Deno環境をセットアップ

まだインストールしていない場合は、Denoをインストールしましょう。とても簡単です(手作りパイより簡単かも?):


# Mac/Linuxユーザー向け
curl -fsSL https://deno.land/x/install/install.sh | sh

# Windowsユーザー向け
iwr https://deno.land/x/install/install.ps1 -useb | iex

インストールが完了したら、次のコマンドで確認します:


deno --version

ステップ2: サーバーレス関数を作成

次に、シンプルな「Hello, Serverless World!」関数を作成しましょう。app.tsというファイルを作成し、次のコードを追加します:


import { serve } from "https://deno.land/[email protected]/http/server.ts";

function handler(req: Request): Response {
  const url = new URL(req.url);
  const name = url.searchParams.get("name") || "Serverless Enthusiast";
  return new Response(`Hello, ${name}! Welcome to the serverless party!`);
}

serve(handler);

見てください、この美しさ!ローカルファイルシステムからのインポートも、package.jsonも、node_modulesのブラックホールもありません。純粋なサーバーレスの良さだけです。

ステップ3: Deno Deployにデプロイ(驚きですよね)

ここからが魔法の部分です。https://dash.deno.comにアクセスし、サインインして新しいプロジェクトを作成します。「URLからデプロイ」を選択し、app.tsファイルの生URLを貼り付けます(GitHubにある場合など)。

または、Deno CLIを使用してデプロイすることもできます:


deno run --allow-read --allow-write --allow-env --allow-net --allow-run https://deno.land/x/deploy/deployctl.ts deploy --project=your-project-name app.ts

そして... ドラムロールをお願いします... 🥁

Voilà! あなたはサーバーレスです!

おめでとうございます!ポップコーンを電子レンジで温めるよりも早くサーバーレス関数をデプロイしました。あなたのアプリは今、Denoのグローバルネットワーク上で稼働しており、世界中からのリクエストに応える準備ができています。

でも、まだまだあります!

Deno Deployは速さだけではありません(もちろん、かなり速いですが)。サーバーレスの世界で話題になるためのクールな機能がいくつかあります:

1. TypeScript? いや、TypeRight!

Deno DeployはTypeScriptを標準でサポートしています。トランスパイルも設定ファイルも不要で、TypeScriptを書いてデプロイするだけです。まるでJavaScriptが博士号を取ったようなものです。

2. モジュール、モジュール、どこでも

npm installを忘れましょう。Deno Deployでは、URLから直接モジュールをインポートできます。まるでインターネット全体があなたのパッケージマネージャーのようです。

3. WebAssemblyサポート

高性能なコードを実行したいですか?Deno DeployはWebAssemblyをサポートしており、Rustのような言語の力をサーバーレス関数に持ち込むことができます。

4. 組み込みのキー・バリューストア

データを保存する必要がありますか?Deno Deployには組み込みのキー・バリューストアがあります。まるでデータベースのドラマなしでデータベースを持っているようです。


import { Deno } from "https://deno.land/x/deno_deploy/mod.ts";

// 値を保存
await Deno.kv.set(["users", "123"], { name: "Alice", age: 30 });

// 値を取得
const user = await Deno.kv.get(["users", "123"]);
console.log(user);

潜在的な落とし穴(完璧なものはありません)

Deno Deployに全力を注ぐ前に、次の点に注意してください:

  • これはNode.jsではありません。プロジェクトがNode固有のAPIに大きく依存している場合、リファクタリングが必要になるかもしれません。
  • エコシステムは成長していますが、まだNodeほど大きくはありません。お気に入りのnpmパッケージの直接の代替品が見つからないかもしれません。
  • コールドスタート時間は速いですが、ゼロではありません。極端にレイテンシーに敏感なアプリケーションの場合、他のオプションを検討する必要があるかもしれません。

サーバーレスの結論

Deno Deployはサーバーレスコンピューティングのゲームを変えています。サーバーレスのシンプルさとDenoの力を組み合わせ、グローバルに配信されるパッケージに包まれています。小さなAPIを構築する場合でも、本格的なWebアプリケーションを構築する場合でも、Deno Deployは検討する価値のある魅力的なプラットフォームを提供します。

次に誰かが数分でサーバーレスアプリを作るように頼んできたら、自信を持って「キーボードを持ってて!」と言い、Deno Deployに飛び込みましょう。もしかしたら、完璧なコーヒーを淹れる時間も残るかもしれません。

「サーバーレスの世界で、Deno Deployはビデオゲームのショートカットを見つけたようなものです。突然、すべてが簡単に、速く、そしてずっと楽しくなります!」

サーバーレスゲームをレベルアップする準備はできましたか?

Deno Deployのスキルを次のレベルに引き上げるためのリソースはこちらです:

さあ、デプロイに進みましょう!あなたのサーバーレスの冒険が待っています。そして、偉大な力には偉大な責任が伴うことを忘れずに... 素晴らしいコードを書いて同僚を驚かせましょう。ハッピーコーディング!