URAGAMI シンプルなメモ帳 Microsoft Storeに公開
URAGAMI(裏紙)という シンプルなメモ帳アプリを Microsoft Storeに公開しました。
URAGAMIの特徴
インストール後設定もなく すぐに利用できる Windows 用 メモ帳アプリ( notepad )です。
「+」ボタンから複数タブのメモを作ることができます。
煩わしい ファイル名や タイトルなどもつける必要がないので 軽くメモしたいときにすぐに利用できて保存もできます
https://apps.microsoft.com/store/detail/9NJ6HCR2MJN0

このメモ帳アプリは、 PWAです
Next.jsで「/#/」を使う方法|ハッシュルーティングの仕組みと実装例
1. 「/#/」とは?ハッシュルーティングの基本
ブラウザURLで見かける /#/ は、「ハッシュルーティング(Hash Routing)」と呼ばれる仕組みです。 これはシングルページアプリケーション(SPA)で、ページ遷移をクライアント側のみで制御するために使われます。
例えば https://mjeld.com/#/user/123 のようなURLでは、#以降の部分はサーバーには送信されません。 そのためサーバー設定を触らなくても、フロントエンドだけでルートを切り替えられるという利点があります。
2. Next.jsでハッシュルーティングを実装する
Next.jsは通常「ファイルベースルーティング(/pages や /app ディレクトリ)」を採用していますが、 どうしても /hash スタイルを使いたい場合は、クライアント側で window.location.hash を監視してルーティング処理を行います。
実装例(app/page.tsx)
'use client';
import { useEffect, useMemo, useState } from 'react';
type Route = { name: string; param?: string };
function parseHash(hash: string): Route {
// 例: #/ , #/about , #/user/123
const raw = hash.startsWith('#') ? hash.slice(1) : hash;
const path = raw.replace(/^\/+/, ''); // 先頭の / を除去
const seg = path.split('/').filter(Boolean);
if (seg.length === 0) return { name: 'home' };
if (seg[0] === 'about') return { name: 'about' };
if (seg[0] === 'user' && seg[1]) return { name: 'user', param: seg[1] };
return { name: 'notfound' };
}
export default function Page() {
const [hash, setHash] = useState<string>(typeof window !== 'undefined' ? window.location.hash : '#/');
useEffect(() => {
const onChange = () => setHash(window.location.hash || '#/');
window.addEventListener('hashchange', onChange);
return () => window.removeEventListener('hashchange', onChange);
}, []);
const route = useMemo(() => parseHash(hash), [hash]);
return (
<main className="max-w-2xl mx-auto p-6 space-y-6">
<nav className="flex gap-3">
<a href="#/">Home</a>
<a href="#/about">About</a>
<a href="#/user/123">User 123</a>
</nav>
{route.name === 'home' && <h1 className="text-2xl font-bold">Home</h1>}
{route.name === 'about' && <h1 className="text-2xl font-bold">About</h1>}
{route.name === 'user' && (
<section>
<h1 className="text-2xl font-bold">User</h1>
<p>ID: {route.param}</p>
</section>
)}
{route.name === 'notfound' && <p>Not Found</p>}
</main>
);
}
このコードでは、hashchangeイベントを利用して#以降の変化を検知し、 表示するコンポーネントを切り替えています。
3. ハッシュルーティングを使うメリット・デメリット
| 項目 | メリット | デメリット |
|---|---|---|
| 設定の手軽さ | サーバー設定不要でSPA動作可 | – |
| 404対策 | リロードしても404にならない | – |
| SEO | – | 検索エンジンは#以降を無視しがち |
| URLの見た目 | – | 古い設計に見えることがある |
4. Next.jsでおすすめのルーティング方法
もしサーバー側(Vercel・Amplify・Cloudflare Pagesなど)でリライト設定が可能なら、 ハッシュ方式ではなく通常の/users/123形式を推奨します。
PowerShellでNode.jsの最新バージョン一覧を確認する方法【Volta/Windows対応】
NURO光10ギガ ONUが頻繁に切断する悩み|定期再起動&スマート電源管理
私が契約している高速インターネットサービス「NURO光10ギガ」で悩んでいることがあります。ONU(光回線終端装置)が頻繁にインターネット接続を失うため、「定期的に機器の再起動をリモートで行いたい」と思い、スマートプラグ“TP-Link Tapo P110M”を導入しました。
今回はその導入体験を、なぜ導入したか・どう設置したか・使ってみての感想をご紹介します。

なぜ再起動が必要になったのか
私が使っているNURO光10ギガですが、2025年9月後半から、「インターネットに繋がらない」「突然通信が切れる」といった症状が続いています。
たとえば、ONUのランプは正常、LANケーブルも接続されているのにネットが使えない → 再起動してやっと復旧…という流れです。
根本原因はまだ解明できていませんが、暫定的な対応策として 定期的な再起動 を実施することにしました。
そこで、手動で何度も再起動するのも面倒なので、「ONUの場所に移動しなくても電源を落とし再起動させるしくみ」を作ろうと思ったのがスマートプラグ導入のきっかけです。
導入したスマート機器:TP-Link Tapo P110M
導入したのは “TP-Link Tapo P110M”。
以下、特徴です。
製品の主な特徴
- 電力モニタリング機能付きスマートWi-Fiプラグ。
- スケジュール/タイマー機能付き。定時に電源をOFF/ONできる。
- オフライン(インターネット接続がない状態)でも、LAN内で操作可能なローカル制御対応。
このように、単なる「電源をオン/オフする機器」以上の機能を備えており、今回の「ONUをリモート再起動する」用途にも十分対応できそうです。

セットアップ&設置手順
実際に私がやった設置手順を、わかりやすく整理します。
- ONUのACアダプタ(電源ケーブル)側にスマートプラグを挿入
- NXRO光10ギガのONUを、そのACアダプタごとTapo P110Mのコンセントに接続しました。
- Tapoアプリで機器登録
- スマホにTapoアプリを入れ、Wi-Fi(2.4GHz)に接続、スマートプラグを登録。
- スケジュール設定
- 例えば「毎日03:00に電源をOFF/03:01にON」のようなスケジュールを設定。
上記パターンは最大32個作成可能です - これで「毎日決まった時間にONUを再起動」させることに。
- 例えば「毎日03:00に電源をOFF/03:01にON」のようなスケジュールを設定。
- 手動操作も可能
- スマホからアプリ経由でいつでも電源をOFF/ONできるので、不調時に別部屋から復旧操作も可能。
- LAN内コントロールの確認
- インターネット接続がなくても、LANが動いていれば操作できることを確認。これで「接続不能時でも再起動できる」安心感あり。
導入してみた感想&気づき
実際に使ってみての 良かった点・改善したい点を整理します。
✅ 良かった点
- スケジュール再起動によって、手動で電源を落としに行く手間が省けました。
- スマートプラグ自体の設置は数分で完了し、難しくありませんでした。
- 電力モニタリング機能も搭載されているため、将来的に「ONUの電力消費」「待機電力」も把握できそうです。
⚠ 改善ポイント/注意点
- ただし、この導入で 根本的なNURO光10ギガの接続トラブルが解決したわけではありません。“定期再起動でつなぎ止めている”感が否めないです。
- ONU・回線・宅内配線など、切断の本当の原因が別にある可能性も引き続き検討中です。
- スケジュール再起動のタイミングをどう設定するか(使用時間への影響、夜間作業など)をもう少し考える必要あり。
- スマートプラグの導入コスト・設定時間も考慮すべきですが、利便性は高いと感じています。
まとめ:再起動対策+次の一手へ
今回の対応として、「NURO光10ギガの不定期な接続切れ」に対して、TP-Link Tapo P110Mを用いて 定期再起動+リモート制御 のしくみを作りました。
これは 根本治療 ではありませんが、現状で使える 暫定対策 として非常に有効だと感じています。
