No updates detected yet. GitHub releases will appear here.
茅ヶ崎の海情報がわかる
Loading the full README.
Read the full README ↗茅ヶ崎ヘッドランド(Tバー)、サザンビーチ茅ヶ崎など、茅ヶ崎海岸周辺のコンディション(潮汐・波・水温・天気)を確認できるWebツールです。 スマートフォン(iPhone/Android)およびPCのブラウザから直接利用できます。
updated_at)を基準に鮮度を判定し、更新が停止している(Actions停止・API障害等)場合や古いデータのときは、影響を受けるカードにだけ注記を表示します。誤って古い情報を最新と誤読させません(詳細は下記「データ鮮度の表示と堅牢化」)。以下のURLにアクセスするだけで、いつでも最新の情報を確認できます。
https://surf90.github.io/chiga-log/
以下の地点固有の値(座標・各種コード・地名)は
_data/site.json1ファイルに集約しています。別の海岸へフォークする際の変更手順は FORK.md を参照してください。
tide_data.json)を優先的に使用。35.3175 / 東経: 139.4151)を基準点としたOpen-Meteo海洋モデル(25km〜50km四方のグリッドデータ)を使用。
1420700)」の個別データを参照。
data.jma.go.jp の VPWS50/JPTF、神奈川県)。bosai の警報JSON(warning/140000.json)は神奈川で更新が停止する事象が確認されたため使用しません。chiga-log-warning-api)を経由して気象庁へアクセスします。Workerは閲覧時に茅ヶ崎分を抽出し、応答を60秒キャッシュします。fetch-openmeteo.yml が生成する data/warning_chigasaki.json へフォールバックします。scripts/fetch_warning.py が取得失敗した場合も既存ファイルを温存し、誤って「なし」表示にしません。330)」に津波注意報・津波警報・大津波警報が発表されている時だけ、ページ最上部に専用カードを表示します(津波予報のみ・解除時は非表示)。
bosai/tsunami/data/list.json → 詳細JSON)。CORS対応のためクライアントから直接取得します(警報と異なりBFF不要・GitHub Actions追加なし)。14)の正式発表を取得し、発表中だけ「注意報・警報」の直下、「天気予報」の直上に専用カードを表示します。
1)は黄〜黄橙の枠と薄い黄色背景、熱中症特別警戒アラート(フラグ 3)は濃いオレンジ枠で一段強く表示します。特別警戒の事前判定(フラグ 2)は表示しません。140010)」の予報区データを使用。
scripts/fetch_forecast.py は取得失敗・気象庁の仕様変更(想定外の構造)を検知した場合、null で既存ファイルを上書きせず前回の有効データを温存します(誤読防止・三原則1)。35.3175 / 東経: 139.4151)を基準点としたOpen-Meteo気象モデルを使用。参照時刻の1時間前から24時間先までの4〜23時を表示(夜は翌朝の風まで見えるよう、日付が変わる位置に「明日」の区切りを入れる)。
scripts/fetch_openmeteo.py はソース(天気・海況・アメダス・風予報)ごとに独立して保存します。一部の取得に失敗しても取得できた分は反映し、欠けた部分は前回値を時刻ごと引き継ぎます(ジョブは失敗として通知)。46141)のデータを使用。外部ソースの障害やGitHub Actionsの停止(例: リポジトリオーナーのアカウント一時停止)でデータ更新が止まった際、古い情報を最新と誤読させないための仕組みです。
weather_marine.json の updated_at)と経過時間を表示します。updated_at / fetchedAt / observed_at)は内部で吸収するため、データ種別によらず同一ロジックで鮮度を判定します。GitHub Actionsのスケジュール遅延は種別ごとに独立して起きるため、あえてページ全体の警告バナーは持たず、影響を受けるカードだけに注記することで「他の情報まで古い」という誤認を避けています。null・空データでの上書きを防ぎます(fetch_forecast.py / fetch_warning.py / fetch_openmeteo.py ほか)。注: オーナーのアカウント停止時はGitHub Actions自体が停止するため、リポジトリ内の監視では検知できません。上記の閲覧者側の鮮度表示が実質的な安全網です。
sw.js(Service Worker)がリクエストの種類ごとに戦略を変えます。「古いデータを最新に見せない」ことと「修正が確実に届くこと」を、表示速度より優先しています。
| 対象 | 戦略 | 意図 |
|---|---|---|
data/*.json(潮汐・波・天気) | ネットワーク優先・保存しない | 鮮度最優先(三原則1)。オフライン時のみ退避キャッシュを試み、Cache Storage の肥大化も避ける |
| ナビゲーション(ページ遷移) | ネットワーク優先 | オフライン時だけ App Shell(index.html)を返す |
地点設定(site-config.js) | ネットワーク優先 | CSP connect-src は警報BFFのURLから生成されナビゲーションで即時に切り替わる。設定だけ旧版を返すと取得がCSPにブロックされるため、同じ鮮度で取る |
| 静的アセット(CSS/JS/画像) | Stale-While-Revalidate | キャッシュがあれば即返して描画をブロックせず(三原則2)、裏で再取得して次回アクセスから新版に入れ替わる |
This is the beginning of the README. Read the rest at the original. Read the full README ↗