Javascript External Library

2026-02-14

東北線を歩こう その7

2月の第1土曜日は冬の嵐という天候でしたが、第2土曜日の関東地方は冬の関東らしい晴天になりました。というわけで、餃子を食べに宇都宮まで行ってきます。

旅程

9:32 雀宮駅
いつもより早めの6時半に起床して今日のスタート地点の雀宮駅にきました。それでも9時半になっていますね。2月になって日中の時間も長くなってきましたしのでこのくらいの時間スタートでも大丈夫かな。

雀宮駅前交差点
雀宮駅から西方向へ栃木県道112号線を進んで雀宮駅前交差点を左に曲がります。

国道4号線
そして国道4号線を北上します。
今日のコースも大半は国道4号線になりそうです。

西原交差点
西原交差点で国道4号線とは別れます。
直進方向が国道119号線で日光方面に向かいます。右に折れるほうが東北へ向かう国道4号線です。国道としては4号線のほうが直轄だけど日光方面のほうが直進というのが江戸時代の流れをくんでる気がします。ちなみに往時の日光・奥州の追分はもう少し北です。

国道119号線
現代の日光街道の国道119号線を少し進みます。
この先の国道119号線は一般道なのに法定速度60kmをぶっちぎったことでも有名です。

日光線
鉄道の方の日光線をオーバーパスします。
都心から日光に鉄道で行くなら東武のほうがやっぱり便利かな。実は日光に行ったことはあるけど時間をかけて観光はしてないんですよね。日光に鉄道旅行というのやってみたい。

不動前交差点
不動前交差点で国道119号線から外れます。
そのまま行くと東武の宇都宮駅です。JRの方はここで右に曲がります。

旭陵通り
国道から離れて宇都宮駅方面に向かう旭陵通りを進みます。
県道でもないんだけど、交通量も道の整備もなかなかいい道です。

田川
河川整備中の田川を渡河します。
地形を見るとこの田川も氾濫原が広めで増水がありそうですね。

宮の橋交差点
宇都宮駅前の宮の橋交差点を右に曲がって駅の方に向かいます。

11:28 宇都宮駅
交差点を曲がってすぐに宇都宮駅があります。
雀宮駅からは大体2時間というところですね。今日の駅間距離としてはここが最長の区間になります。

ライトライン
宇都宮ライトレールをのんびり眺めながら休憩します。各地で廃止が相次ぐ路面電車の流れに逆行して宇都宮は路面電車を復活させました。欧州では路面電車の環境負荷性や輸送力が見直されて、従来の路面電車の問題点を改良してライトレールという形で運行しています。宇都宮のライトレールも同じで路面電車でなくライトレールという感じですね。
線路幅がJR在来線と同じなんだからすぐ隣の宇都宮駅に乗り入れてほしいところだけど、そこはJRが許さないんだろうなあ。公共交通機関でも独立採算制でなければならないという日本のルールの弊害ですね。税金で引鉄した政治屋が悪いんだけど残念です。

東宿郷交差点
30分程度休憩して出発します。
宇都宮駅東口から鬼怒通りを進んですぐに東宿郷交差点で北に進路を変えます。

栃木県道64号線
北に向かい道は栃木県道64号線でかなり幅が広いです。
元々は河川があったからのようで今は暗渠化されて上が道路になっているみたいです。
このあたりは小河川が多いですね。

奥州街道の交差点
旧奥州街道に交差するので奥州街道の方に進みます。

奥州街道
奥州街道も白河までは江戸時代の五街道に指定されているのできっと整備されているはず。

宇都宮市東町交差点
西原で分かれた国道4号線と合流してここからは国道4号線を進みます。

国道4号線
交通量の多い国道4号線を進みます。
この先の平出で新国道4号とも合流します。新4号が終わりを告げると関東平野も終わりという感じの雰囲気になってきます。

上野交差点
上野交差点で岡本駅の方に向かいます。
国道4号線は右にそれていきます。岡本方面の道は旧国道なのかな。

岡本駅入口交差点
駅前の岡本駅入口交差点を左に曲がります。

13:36 岡本駅
交差点を曲がるとすぐに岡本駅です。
宇都宮駅からは1時間半くらいでしたね。

栃木県道73号線
岡本駅で45分ほど休憩して再出発します。
栃木県道73号線を北上していきます。

岡本小入口交差点
岡本小入口交差点から再び国道4号線に戻ります。

国道4号線
国道4号線を進みます。この先に大河川の鬼怒川があります。

鬼怒川橋
国道4号線の鬼怒川橋で鬼怒川をわたります。
上り線と下り線で別の橋なのですね。下り線のほうが元からあって上り線を新しく増やしたのかな。

鬼怒川
鬼怒川の上流に東北線が見えます。

石神交差点
渡河した後にある石神交差点の横断歩道で国道4号線を渡ります。

宝積寺西通り
宝積寺駅の方に進むために宝積寺西通りに入ります。
ここでついに本格的な上り坂になりました。関東平野も終わりですね。

栃木県道101号線
栃木県道101号線の駅前の交差点を曲がります。

15:40 宝積寺駅
交差点からすぐに宝積寺駅に到着しました。
岡本駅からは1時間20分くらいですね。
宝積寺駅からは烏山線が分岐しています。烏山線は宇都宮駅からの発着なのでこの先の運行頻度は更に下がりますね。
次の氏家駅までは6km程度あるので今日はここまでにします。

宇都宮餃子
帰りに宇都宮駅で餃子を食べました。浜松と違って種類が多いのと1個が大きくて食べごたえがある感じですね。

  • 今回
    徒歩:21.55km
    区間:雀宮~宝積寺 19.4km
  • 累積
    徒歩:143.91km
    区間:東京~宝積寺 121.2km/535.3km 22.64%

2026-02-11

ブログカードの更新

このブログはBloggerというGoogleのサービスを利用しています。このサービスはなにか特定の情報を狙ったサービスではないので私のようにテーマを持たずに記事を載せることには便利なのですが割と機能は乏しいです。欲しい機能がなければ便利なサービスに乗り換えるというのが一般的な考え方でしょうが、エンジニアなので欲しい機能がなければ自前で作るという方向で行きます。

記事内で自分の掲載した他の記事に対してリンクを作るとリンク先の記事が紹介されるそういう機能が欲しい。ないなら作るという精神でできたのがブログカード機能です。

旧ブログカード
このカードには1枚目の画像とタイトルと本文という3つの要素があります。
処理としては
  1. 自分の記事をクロールして自サイト内へのリンクを探す
  2. リンク先内の記事から画像とタイトルと本文を抽出
  3. カード風に描画する
この手順で処理されています。

Bloggerの設定
ブラウザで処理することから言語はJavascriptで記述されています。Bloggerは自前のスクリプトを実行できる枠を用意してくれています。問題は処理を記述したスクリプトの公開場所です。当然のことながらWebサーバが必要なのですが、GoogleのSiteサービスはここまで柔軟な提供はできない。

旧構成
そこでAzureの Azure Web App Service を利用してスクリプトを提供します。
問題点は費用を抑えるためにアプリケーションが普段はスタンバイ状態になっていることです。スクリプトはカードが必要ない記事でも読み込まれるのですが、Azure側がスタンバイ状態になっているとアプリケーションが起動するまでの時間が必要で読み込み開始までタイムラグが生じてしまう点です。

長らく気にしながらも放置していたのですが、ちょっと時間ができたこととAzureのサービスも増えたので構成を見直すことにしました。

新構成
要のスクリプト提供はAzure Static Web Appを利用します。これは最近のFEとBEが分離したWebアプリケーションの構成に合わせてあり、FE部分はAzure Front Doorを自動的に利用できます。これにより高速にスクリプトの取得が可能になります。
BE部分はAzure Functionが担当します。Azure Static Web AppはAzure Front DoorとAzure FunctionがセットになっていてAzure DevOpsやGitHubからの直接デプロイで構築します。これで要は満たすのですが、せっかくなので機能アップすることにします。
Azure Functionでサムネイル画像を生成してAzure Blob Storageに保存します。これによりブログカード用の小サイズ画像の読み込みが可能になります。
さらに記事をAzure AIで要約します。旧構成では本文を抽出して先頭部分だけを表示させていたのですが、これにより全文からの要約を表示することが可能になります。
これらの生成情報はAzure CosmosDBに保存しておき、2回目以降のアクセスはAzure CosmosDBから結果を受け取るだけにします。

新ブログカード
新構成になってできたブログカードがこちらになります。
画像はサムネイルように圧縮しているので比較すると粗さがわかりますが今までも小さく表示していたので粗さがわかるのは比較したときくらいかな。本文が要約されている点がとてもわかり易くなっていますね。
新構成は色々と駆動にお金がかかるのですが、要約部分だけは事前に金額が読みにくいです。いくつかの記事の要約をしてみたところGPT4.1モデルで3~4円かかっていました。Azure AIの課金は入出力のトークン数とモデルの種類で決まります。入出力のトークンはプロンプトに依存するのでGPT4.1を最新のGPT5.2モデルに変更しても1記事あたり3~4円というのは変わらなさそうです。後日問題がないことを確認してモデルの変更もやってみようかと思います。

2026-01-18

東北線を歩こう その6

1月の3連休の中日は日本海側は大雪で関東平野は晴天という冬らしい天気になりました。関東は天気がいいことだしお散歩に出かけることにします。

旅程

10:10 小山駅
今日の開始点は新幹線駅でもある小山駅です。いつも通りの時間に起きて電車を乗り継いで小山駅まで着たらもう10時でした。早起きするか新幹線を利用するかしないと9時台は難しい。

駅前上町交差点
駅前の栃木県道を263号線を進んで駅前上町交差点で北に進路を変えます。
今日もずっと北に向かっていきます。

栃木県道265号線
栃木県道265号線は旧国道4号線です。今の国道4号線は市街地を避けるバイパスですね。

第1奥州街道踏切
第1奥州街道踏切で両毛線を超えます。旧4号は平面交差ですが、現道は立体交差になっています。

喜沢分岐点交差点
しばらく北上すると現道に合流します。

国道4号線
合流してからはひたすら国道4号線を北上していきます。

小金井駅前交差点
駅前交差点で小金井駅方面に入ります。

11:56 小金井駅
栃木県道104号線を少し進んだ際に小金井駅がありました。小山駅からは2時間弱といったところです。
駅前にはC57機関車の動輪が飾られていました。小金井駅自体は特に大きくもない駅なのですが、すぐ北には小山車両センターがあります。そのため上野東京ラインの多くは小金井止まりになります。つまり、此処から先はさらに運行間隔が開くということですね。

国道4号線
小金井駅で10分ほど休憩して再び国道4号線を北上します。

小金井一里塚
だいたいが跡形もなくなっている一里塚ですが小金井のはまだ現存しているようです。

下野市市役所
下野市に入って市役所が沿線に現れました。

駅前の交差点
市役所の直ぐ側の交差点を右折します。

12:47 自治医大駅
40分程度で自治医大駅に到着しました。1983年に開業なのでまあまあ新し目の駅です。名前はすぐ近くの自治医科大学に基づきます。この大学は少し特殊で旧自治省が設置したものです。医師が不足しがちな地方医療を支える目的で設置されていて通常では多額の学費が貸与されます。その対価は地方に医師として赴任することです。ちなみに学費の貸与を求められたのに地方の赴任を拒否して学費の返還を求められたことに対して不服を申し立てた元学生が話題になっています。条件付きで金を借りておきながら踏み倒そうとするというこの行為が許されたら自治医大は崩壊ですけど裁判所が真っ当な判断をしてくれることを望みます。

国道4号線
15分ほど休憩してまた国道4号線を北上します。

下石橋北交差点
立体交差の交差点は国道352号線です。

石橋交差点
石橋駅前の石橋交差点を右折して石橋駅方面に向かいます。

14:06 石橋交差点
1時間ほどで石橋駅に到着しました。
次の雀宮駅は少し離れているのでここで終わるか迷いましたが、何となく今日はもう少し歩きたい気分だったので続行することにします。

石橋交差点
石橋交差点まで戻って国道4号線を北上します。

北関東自動車道
やけに高い高架の北関東自動道をくぐります。たぶん、新幹線の高架の影響でしょうね。

五叉路
ちょっと変わった五叉路は栃木県道193号との交差です。

雀宮駅前交差点
駅前の交差点を右に曲がって栃木県道112号線を進みます。

15:44 雀宮駅
1時間半ほどで雀宮駅まで到着しました。ここまで来ると宇都宮は目の前ですね。
満足するまで歩いたのでここまでにします。
なお、帰りの電車は強風の影響で大変に遅延していました・・・

  • 今回
    徒歩:22.92km
    区間:小山~雀宮 21.2km
  • 累積
    徒歩:122.36km
    区間:東京~雀宮 101.8km/535.3km 19.02%