ツクッタヨ

RECORD No.088 開発をたすける

naqto

ナクト

開発でつい手作業になる変換・整形・生成をまとめた道具箱と、容量ちょうどのテストファイル配布。登録不要で、ほとんどの道具はブラウザ内だけで動く。

  • 無料
  • 登録なし
  • Web
  1. 01 テストファイル50件を実際に落とし、容量・MD5・SHA-256が50件とも申告どおりだった
  2. 02 「ブラウザ内で完結」と書いてある道具は、操作しても通信が出なかった
  3. 03 ⚠️ トップは、まだ作っていない12本を同じ並びで見せている(4本には NEW の札つき)

SCREEN naqto.com の画面を切り抜いたもの 1050×850

ツール集のページ。「12 稼働中」「24 予定(順次公開)」「3 MeCab を使うツール」「0件 サーバーに残す入力」の4つの数字が並び、その下に「LIVE 使えるもの」として文字化け修復・全角半角変換・氏名分割・ふりがな生成などのカードが12枚並んでいる。
Fig.01 ★ ここは稼働中と「これから」を section で分けている。 ⭐ 12本は実際に開けた。🔴 ⚠️ トップページのほうは、この区別が破線と文字色だけになる。
容量とハッシュ
50 / 50
⭐ 申告どおり
通信
0件
⭐ ブラウザ完結の道具で
稼働中の道具
12 / 24
⚠️ 残り12本は未公開
NEW の札
4本
⚠️ まだ無い道具に付く

何ができるか

開発でつい手作業になるものを道具にした道具箱と、容量ちょうどのテストファイルの配布所です。 ページは136本あります(テストファイル119・道具13・その他4)。

★ 置いてあるものを選んだ理由まで書いてあります。

文字化け修復、OpenAPI→cURL、JWT、タイムスタンプ変換、ダミーデータ生成—— 実際に手が止まる場面のためのツールだけ。 base64 や UUID のような、世界に何千とあるものは置いていません。

🔴 確かめやすいのはテストファイルのほうです。

ページごとに、容量・MIME・MD5・SHA-256が表になっています。

sample-100kb.pdf / 容量 102,400 バイト / application/pdf MD5 a3bfe99f… / SHA-256 0f6a38f6…

★ 1MB以下の50件を実際に落として、バイト数を数え、ハッシュを計算し直しました。

⭐ 50件すべてで、容量もMD5もSHA-256も申告どおりでした。 同じURLを2回落とすとバイト列も同じで、「決定論的に生成する」という説明のとおりでした。

🔴 道具のほうは、動かして通信を見ました。

「ブラウザ完結」と書いてある道具(文字化け修復・全角半角・命名変換・タイムスタンプ・ 改行コード・文字数カウント・MIME早見表)を実際に操作したところ、 ⭐ 入力に伴う通信は1件も出ませんでした。 ★ 出るのはアクセス解析の1件だけで、そこに入力は入っていません。

SCREEN naqto.com の画面を切り抜いたもの 750×240

100 KB のPDFファイルのページ。ファイル名 sample-100kb.pdf、容量 102,400 バイト、 MIME application/pdf、MD5、SHA-256 が表になっている。
Fig.02 🔴 この表を信じずに落として当てた。 ⭐ 1MB以下の50件すべてで容量・MD5・SHA-256が一致。★ 2回落としてバイト列も同じだった。

SCREEN naqto.com の画面を切り抜いたもの 750×450

氏名分割の道具に「八十田真希」を入れた結果。「分割できませんでした」と表示され、判定の根拠として八(名詞-数)・十(名詞-数)・田(名詞-一般)・真希(名詞-固有名詞-人名-名)の解析結果が並んでいる。
Fig.03 ★ 自分で「これは失敗する」と書いてある例を試した。 ⭐ 書いてあるとおりに失敗し、🔴 推測で答えを作らずに根拠を出した。

実際に当てた

照らしたもの 結果 中身
ページ 136 / 136 すべて200・noindex 0
容量 50 / 50 🔴 1バイトも違わない
MD5 50 / 50 ⭐ 申告どおり
SHA-256 50 / 50 ⭐ 申告どおり
Content-Type 39 / 39 表示のある39件すべて一致
2回落として同じか 一致 ⭐ 「決定論的に生成」のとおり
ブラウザ完結の通信 0件 ⭐ 計測のほかに通信が出ない
MeCab の道具 1 件 ★ 自社の /api/mecab/ だけ・外部に出ない
文字数カウント 12 / 12 ⭐ 文字数もバイト数も内訳も合った
自分で書いた失敗例 2 / 2 ⭐ 書いてあるとおりに失敗した
稼働中の道具 12 / 24 ⚠️ 半分は未公開
未公開に付く NEW 4本 ⚠️ まだ使えない

🔴 2026-09-08。136ページを全部開き、道具は実際に操作して出力と通信を見た。テストファイルは1MB以下の50件を落として、容量とハッシュを計算し直した。⚠️ 5MB以上のファイルは落としていない(帯域のため)。

文字数カウントの検算(「吾輩は猫である。名前はまだ無い。abc」のバイト数)

  • UTF-8(バイト) 51バイト
  • UTF-16(バイト) 38バイト
  • Shift_JIS(バイト) 35バイト
  • EUC-JP(バイト) 35バイト

⭐ 表示された12個の数字が全部合った。 UTF-8で51バイト、UTF-16で38バイト、 Shift_JIS と EUC-JP で35バイト。★ 文字数は19(全角16・半角3)で、内訳も漢字6・ひらがな8・英字3・記号2と足して19になった。

向いている人・向いていない人

向いている人

書いてあることを確かめてから使いたい人。 ⭐ 配っているファイルが、書いてあるとおりの中身です。 1MB以下の50件で容量・MD5・SHA-256が全部一致しました。テストの基準ファイルに使えます。🔴 「ブラウザ内で完結」が本当でした。 操作しても入力に伴う通信が出ません。★ サーバーを使う道具は、そう名乗っています。 氏名分割とふりがな生成だけがMeCabを使い、⭐ 送り先は自社の1か所だけで、外部には出ませんでした。★ 自分の道具の限界を自分で書いています。 「八十田真希は割れない」「十六夜はじゅうろくやと読まれる」と書いてあり、⭐ 試すと書いてあるとおりに失敗しました。🅿️ 文字数カウントは原稿用紙換算・Shift_JIS/EUC-JPのバイト数・文字種の内訳まで出て、こちらの検算と12個の数字すべてが合いました。

向いていない人

⚠️ 道具の半分はまだありません。 トップに24本並んでいますが、開けるのは12本です。★ 区別は破線の枠と文字色だけで、「準備中」の文字はありません。🔴 しかも、まだ無い4本に「NEW」の札が付いています(正規表現テスター・アップロード上限早見表・HTTPステータス早見表・cron式パーサー)。⚠️ 導入文が、まだ無い道具を例に挙げています。 「文字化け修復、OpenAPI→cURL、JWT、タイムスタンプ変換…のためのツールだけ」とありますが、★ JWTの道具は未公開のほうです。⚠️ ツール集のページでは「LIVE 使えるもの」「WIP これから」と分けてあります。 ★ トップだけが混ざっているので、直すならトップです。⚠️ 大きいファイルは確かめていません。 5MB以上(最大100MB)は落としていないので、★ そちらの容量とハッシュは未確認です。⚠️ 日付の表示はどのページにもありませんでした(136ページとも)。

触ってみて気づいたこと

⭐ ハッシュを書いてあるサイトは、いちばん確かめやすい部類です。

テストファイルのページには、こう書いてあります。

同じURLなら毎回同じファイルですか? はい。内容は決定論的に生成するので、同じURLからは常に同じバイト列= 同じ MD5 / SHA-256 が得られます。事前に保存しているのではなく、その場で計算しています。

🔴 落として計算すれば当たります。

★ 1MB以下の50件を落として、バイト数を数え、MD5とSHA-256を出しました。 ⭐ 50件とも一致しました。100KBのPDFはちょうど102,400バイトで、 先頭は %PDF-1.4、末尾は容量合わせの詰め物でした(「%%EOF の後ろを埋めている」の説明どおり)。

⭐ 「送っていない」も、確かめられます。

ブラウザの通信を記録しながら道具を操作しました。 ★ 文字化け修復・全角半角・命名変換・タイムスタンプ・改行コード・文字数カウント・MIME早見表。 🔴 入力に伴う通信は0件でした。

★ 逆に、氏名分割とふりがな生成では /api/mecab/ へのPOSTが1件だけ出ました。 ⭐ MeCabの札が付いている道具だけがサーバーを使う、という表示どおりです。

★ いちばん感心したのは、失敗する例を自分で書いてあることです。

「別の例」の4つ目「八十田真希」は、ipadic が「八十田」を姓として持たず 「八十」を数字と読むため失敗します。この時 naqto は推測せず 「分割できませんでした」と返します。

⭐ 試したら、そのとおりでした。八(名詞-数)十(名詞-数)田(名詞-一般)真希(人名-名)と 根拠を出したうえで、「分割できませんでした」と返します。 ★ ふりがなの「十六夜」も、書いてあるとおりじゅう・ろく・やと読みました。

⚠️ 惜しいのはトップページです。24本のカードのうち12本はまだ作っていないもので、 区別は破線と文字色だけ。🔴 未公開の4本に「NEW」の札が付いているのは、 ツール集のページで「WIP これから」と分けているだけに、もったいないところです。

確認の記録

いつ、何を見て書いたかを残しています。 確認していないことは書きません。

  • ⚠️ こちらの取り違え。最初に道具の出力を読んだとき、小文字の s が消えて「camelCa e」と見えたので出力の欠けを疑ったが、原因はこちらの検査用スクリプトの正規表現(テンプレート文字列の中で \s が s になっていた)だった。直すと正しく出た。

  • ⚠️ 日付(更新日・確認日)の表示は136ページとも見当たらなかった。

  • ⚠️ MIME早見表は「全58件」と表示される。こちらが機械で拾えたのは51件で、そのうち40件がIANAの登録簿にあり、11件は image/x-icon・video/webm・application/x-tar など未登録の事実上の標準だった。★ 未登録が載っているのは誤りではない(実務で使われる型)。

  • ⚠️ トップの道具カード24枚のうち、リンクがあるのは12枚。残る12枚は未公開で、区別は破線の枠と文字色だけだった。★ そのうち4枚に「NEW」の札が付いている。🔴 導入文が例に挙げる「JWT」も未公開のほう。★ ツール集のページでは「LIVE 使えるもの」「WIP これから」と見出しで分かれている。

  • ⭐ サイトが自分で書いている失敗例を試した。氏名分割の「八十田真希」は書いてあるとおり「分割できませんでした」と返し、形態素解析の根拠を表示した。ふりがなの「十六夜」も書いてあるとおり「じゅう・ろく・や」と読んだ。

  • ⭐ 文字数カウントを検算した。「吾輩は猫である。名前はまだ無い。abc」で文字数19・全角16/半角3・UTF-8 51B・UTF-16 38B・Shift_JIS 35B・EUC-JP 35B・漢字6・ひらがな8・英字3・記号2。表示された12個の数字が全部合った。

  • ⭐ 出力そのものも当てた。1719849600 は 2024-07-01 16:00:00 UTC / 2024-07-02 01:00:00 JST と出て、計算どおりだった。getUserName → get_user_name など。顧客 → 顧客。改行コードは「LF 1/2行/3バイト」。MIMEは mp4 → video/mp4。

  • ★ MeCabの札が付く氏名分割・ふりがな生成では /api/mecab/ へのPOSTが1件だけ出た。⭐ 外部には出ない。 表示どおりの動きだった。

  • 🔴 ブラウザの通信を記録しながら「ブラウザ完結」の道具を操作した。文字化け修復・全角半角・命名変換・タイムスタンプ・改行コード・文字数カウント・MIME早見表。⭐ 入力に伴う通信は0件。出たのはアクセス解析の1件だけで、そこに入力は入っていない。

  • ⭐ 100KBのPDFを2回落として、バイト列が同じことを確かめた。ちょうど102,400バイトで、先頭は %PDF-1.4。「決定論的に生成する」という説明のとおりだった。

  • 🔴 テストファイルのページ106本から容量・MIME・MD5・SHA-256を拾い、 1MB以下の50件を実際にダウンロードして計算し直した。⭐ 容量50/50・MD5 50/50・SHA-256 50/50 が一致。Content-Typeも表示のある39件すべて一致。⚠️ 5MB以上(最大100MB)は帯域のため落としていない。

  • sitemap の136ページを全部開いた。すべて200・noindexは0・強調の印(アスタリスク2つ)の漏れも0だった。内訳はテストファイル119・道具13・その他4。

同じ分類の掲載

すべて見る →
No.101

DevLab

ハッシュ計算・Base64・CIDR・cron など103本の開発者向けツールを、登録なし・ブラウザだけで使えるツール集。5言語で同じ287ページを持つ。

無料 登録なし
開発をたすける
No.117

OSSカルテ

OSS の更新状況・既知の脆弱性・ライセンス・OpenSSF Scorecard を集めて、採用前に確認すべき点を日本語で並べるサイト。安全か危険かは断定しない。

無料 登録なし
開発をたすける
No.056

Miqto

海外のオープンソースを日本語のマネージドサービスに仕立てる会社が、ライセンス・市場・法規を一次データで調べた記録を公開しているサイト。

無料 登録なし
開発をたすける