PES
JA English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

通知を有効にする方法

このブラウザーまたはアドレスでは通知を利用できません。対応ブラウザーで安全な接続のPESサイトを開いてください。

通知がブロックされている場合は、ブラウザーの設定で許可してください。

  1. アドレスバー横のサイト設定、またはブラウザーのサイト設定を開き、このサイトの通知を許可に変更してください。
  2. 端末の設定でブラウザーの通知を許可し、おやすみモードや集中モードを確認してください。
  3. PESに戻ってページを再読み込みし、ベルから通知を有効にしてください。

iPhoneやiPadではPESをホーム画面に追加し、そこから開いて通知を許可してください。

わたしの学習進度
  1. 人工知能の使い方
  2. ターミナル命令
  3. 人工知能の応用
  4. バイブコーディング
  5. 人工知能資格 準備中
  6. キーボード
バイブコーディングの一覧へ
バイブコーディング

Webサーバー

ブラウザーが話しかけてくれるシェルスクリプト20行。

Webサーバーはリクエストを待ってレスポンスを送るだけのプログラムです。それを証明するために、bashとnetcatと名前付きパイプだけでサーバーを作ります — 一行残らず読めます。そのあと、実際のサイトをHTTPS込みで動かすCaddyへ進みます。

Caddy — 読めるまま残った本物のWebサーバー

Caddyは実行ファイル一つでできた現代的なWebです。シェルの例のすぐあとに学ぶ価値があるのは、読める数行で動くという感覚をそのままに、シェル版にできなかったことをすべて片づけるからです。

いちばんの売りは自動です。本物の名を与えるだけで証明書を取り、入れ、期限が来る前に更新し、httpの訪問者をhttpsへ回します。ほかのサーバーでは数か月ごとに繰り返す雑用です。

インストール

install
# macOS
brew install caddy

# Ubuntu / Debian
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
sudo apt update && sudo apt install caddy

# Docker alone is enough
docker run -p 8080:80 -v "$PWD":/usr/share/caddy caddy

コマンド一行でフォルダーを差し出す

設定ファイルは要りません。index.htmlのあるフォルダーへ行って一行打つだけ — 同じネットワークの誰かにページを見せるいちばん速い方法です。

terminal
# serve this folder's index.html on port 8080
caddy file-server --listen :8080

# add a directory listing for folders without an index.html
caddy file-server --listen :8080 --browse

Caddyfile

長く置くものならCaddyfileを書きます。ただの文字ファイルで、サイト一つが四行で終わります。

Caddyfile
example.com {
	root * /var/www/html
	file_server
	encode gzip zstd
}
  1. example.com {サイトの住所です。ここに本物のドメインを書けばCaddyがHTTPS証明書を自分で用意し、localhostと書けばローカル作業用にふつうのhttpを出します。
  2. root * /var/www/htmlファイルがディスクのどこにあるかです。星印はこのサイトのすべてのパスに当てはめるという意味です。
  3. file_serverそのファイルを実際に差し出せ、という行です。この行がないとCaddyはリクエストに何も返しません。
  4. encode gzip zstd送る前にレスポンスを圧縮します。一語ですが、遅い回線ではページが目に見えて速く届きます。
その証明書について

CaddyはLet's Encryptに無料の証明書を求めます。そのためにはドメインのが自分の機械を指し、80番と443番のポートに外から届く必要があります。前にいる別のプロキシがそのポートを受けていると確認に失敗し、証明書は届きません — 最初のCaddy設定で鍵が緑にならない、いちばんよくある理由です。

リバースプロキシ — リクエストを渡す

たいていのサイトはディスク上のファイルではなく、どこかのローカルで耳を澄ませているアプリケーションです。は外からのリクエストを受けてそのアプリへ渡し、答えを返すサーバーです。一行で済みます。

Caddyfile
getpes.com {
	reverse_proxy pes-web:3000
}

dl.getpes.com {
	root * /srv/files
	file_server browse
}

一台の機械が複数のサイトを抱える方法もこれです。443番ポートは一つのプログラムしか持てないのでCaddyがそれを握り、訪問者がどのドメインを求めたかを読んで、それぞれ別のアプリへ回します。

必要なコマンド

コマンド働き
caddy run前面で動かし、記録をターミナルに出します。設定をまだ整えている間はこちらが欲しいはずです。
caddy start背後へ回してプロンプトを返します。ちょっと見せるには十分ですが、きちんとしたサーバーはシステムサービスとして動かします。
caddy reload接続を一つも切らずに、変えた設定を読み直します。Caddyfileを直したからといって再起動は要りません。
caddy fmt --overwriteファイルの書式をその場で整えます。字下げは見た目以上に大事で、このコマンドがその争いを終わらせます。
caddy validate何も起動せずに設定の誤りを調べます。動いているサーバーをreloadする前に、まずこれを回します。
このサイトもまさにそう動いています

PESのサーバーではCaddy一つが80番と443番を握り、ドメイン名で道を分けます。本サイトはアプリケーションのコンテナへ、ダウンロード用のサブドメインはディスクから直接。新しいサイトを足す作業は、上のようなファイルを一つ置いてreloadするだけです — 再起動もなく、ポートを奪い合う二つ目のプログラムもありません。

自分で記録する欄です。ここで採点はしません。

この段階を理解したものとして記録しますか?

まだ取り消せないので、本当に理解できたときだけ記録してください。

理解したものとして記録しました

自分で記録する欄です。ここで採点はしません。

ガイドライン

人工知能

人工知能資格

勉強

バイブコーディング

ゲーム開発

練習

チューター

チャット

掲示板

制作

コミュニティ

その他

用語辞典

知らない言葉を選んでみましょう。やさしい説明と関連用語が見られます。

その用語はまだありません。

用語を選ぶと説明が表示されます。