個人のウェブサイトの構築と維持は、プラットフォームの所有権やWebテクノロジーを探索する機会など、多くの利点を提供します。最近、私は自分のサイトから始めて、サーバーレス関数を掘り下げました。この記事では、私の経験と学習を共有し、独自の体験をすることができます!
サーバーレス関数の簡単な紹介
サーバーレス関数(ラムダ関数またはクラウド関数とも呼ばれます)は、ウェブサイト、アプリケーション、またはその他のコードとは無関係に書き込み、ホスト、実行できる自己完結型のコードスニペットです。サーバーで実行されている間、サーバーインフラストラクチャを管理しません。これにより、強力でスケーラブルなアプリケーションの開発が簡素化されます。
より詳細な理解のために、CSS-Tricksのガイド「The Power of Serverless Front-Endeversers」は優れたリソースです。
プロジェクトの目標:簡単な電子メールサインアップフォーム
私のプロジェクトは、特定の制約を備えた電子メールサインアップフォームの作成に焦点を合わせました。
- JavaScriptを含まない機能:フォームは、CSSとHTMLのみで機能し、進行性の強化を可能にします。
- 外部依存関係はありません:目標は、すべてのコードを自分で記述することでした。
- サーバーレス関数統合:電子メールデータ処理は、クライアント側ではなくサーバー側に発生します。
テクノロジースタック:11ty、netlify、およびbuttondown
私のウェブサイトでは、静的サイトジェネレーターである11tyを使用して、HTMLテンプレートの作成を可能にします。 Netlifyは展開を処理し、サーバーレス機能に不可欠であり、次のことを提供します。
- 自動化されたGitHub展開:開発ワークフローの簡素化。
- Netlifyフォーム:カスタムコードなしでフォーム送信を管理します。
- Netlify機能:フォームデータに基づいてサーバー側のアクションを有効にします。
Buttondownは、メーリングリスト管理サービスとして機能します。重要なことに、個人サイトの場合、3つのサービスはすべて無料の層を提供しています。
フォームのHTML
電子メールサブスクリプションフォームのHTMLは簡潔で、Netlifyフォームの属性を活用しています。
data-netlify="true"
フォームを処理するようにnetlifyに指示します。 bot-field
入力は、ユーザーから自動的に隠されたボットを検出するためのハニーポットとして機能します。 NetlifyのAkismet Integrationは、スパムからさらに保護します。 email
入力は、ユーザーエクスペリエンスを拡大するためにブラウザの検証を使用します。
JavaScriptによるプログレッシブエンハンスメント
Netlify Formsは自動リダイレクトを提供しますが、ユーザーをページに維持することを好みました。 JavaScript関数は、フォームの機能を強化します。
const processform = form => { // ...(リダイレクトなしでフォームを送信するAPIコードを取得)... };
送信イベントリスナーによってトリガーされるこの関数は、フォームを徐々に強化し、JavaScriptが無効になっても機能性を確保します。
サーバーレス機能
functions/submission-created.js
にあるnetlify関数は、プロセスをフォーム送信します。
// ...(node.jsコードnode-fetchおよび環境変数を使用してボタウンにデータを送信します)...
この関数は、電子メールアドレスを取得し、 node-fetch
を使用してAPIを介してボタンタウンに送信し、デバッグの結果を記録します。環境変数は、Butontown APIキーを安全に保存します。
展開とローカルテスト
関数を作成し、 netlify.toml
構成、および環境変数の設定を設定した後、deploymentはnetlifyのgithub統合を介して簡単です。 Netlify Dev( npm i netlify -g
、 netlify dev
)を使用してローカルテストが可能ですが、フォームの提出テストにはプレビュービルドが必要です。
将来の改善
将来の拡張機能には、ユーザーにリアルタイムのフィードバックを提供するなど、メールアドレスが既にサブスクライブされているかどうかを示すなどです。
結論
約50行のコードを使用して、完全に機能する電子メールサインアップフォームを作成しました。 HTML、CSS、JavaScript、およびNetlifyのサーバーレス機能の組み合わせにより、JavaScriptの可用性に関係なく機能するスパム耐性のユーザーフレンドリーなフォームが生まれました。
以上がNetLifyフォームとNetLify関数を使用して、電子メールサインアップウィジェットを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この投稿では、Blackle Moriは、CohostのHTMLサポートの限界を押し広げようとしている間に見つかったハックのいくつかを示します。あえてこれらを使用してください、あなたもCSS犯罪者とラベル付けされないようにしてください。

CSSを備えたカスタムカーソルは素晴らしいですが、JavaScriptを使用して次のレベルに物事を引き出すことができます。 JavaScriptを使用して、カーソル状態間で移行し、カーソル内に動的テキストを配置し、複雑なアニメーションを適用し、フィルターを適用できます。

2025年には、互いに互いに跳ね返る要素を伴うインタラクティブなCSSアニメーションは、CSSにPongを実装する必要はありませんが、CSSの柔軟性とパワーの増加はLee'の疑いを補強します。

CSSバックドロップフィルタープロパティを使用してユーザーインターフェイスをスタイルするためのヒントとコツ。バックドロップフィルターを複数の要素間でレイヤー化する方法を学び、それらを他のCSSグラフィカル効果と統合して、精巧なデザインを作成します。

まあ、SVG'の組み込みのアニメーション機能は、計画どおりに非推奨されることはありませんでした。確かに、CSSとJavaScriptは負荷を運ぶことができる以上のものですが、以前のようにSmilが水中で死んでいないことを知っておくのは良いことです

イェーイ、テキストワラップのジャンプを見てみましょう:サファリテクノロジーのプレビューにかなり着陸してください!しかし、それがChromiumブラウザーでの仕組みとは異なることに注意してください。

このCSS-Tricksアップデートは、アルマナック、最近のポッドキャスト出演、新しいCSSカウンターガイド、および貴重なコンテンツを提供するいくつかの新しい著者の追加の大幅な進歩を強調しています。

ほとんどの場合、人々はTailwind'の@Apply機能を紹介します。このように展示されたとき、@Applyはまったく有望な音をしません。だからobvio


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版
中国語版、とても使いやすい

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









