このサイトについて

このサイトが存在する理由

このサイトの成り立ちと、今も続いている理由について少しご紹介します。

正直に言うと、このサイトは数えきれない夜更かしと大量のコーヒー、そして教授たちなら「生産的な先延ばし」と呼んだであろうものから生まれました。始まりは大学のWebデザインの授業です。基礎的なWebデザインの授業や卒業制作の合間に、複数の授業や年度をまたいで使い回せるプロジェクトが必要でした。そこで、学期ごとにゼロから作り直すのではなく、自分と一緒に成長していけるものを作ったのです。以前は「プロジェクト」ページがその頃の授業のレポートで埋まっていましたが、今はホームラボと自動化の取り組みを紹介しています。

授業の課題の多くは、提出して採点されたら忘れられていきます。でもこのサイトは使われ続けました。新しい資格、新しい仕事、陸軍のまったく別の部門への異動など、キャリアが変わるたびに戻ってきて更新してきました。やがて、また継ぎはぎの修正をするだけでは物足りないと感じ、一度すべて取り壊してゼロから作り直したのが、今ご覧いただいているサイトです。

正直なところ、「オンライン履歴書」に必要な以上に、このサイトにはこだわっています。レイアウトや配色、スクロール時のちょっとしたアニメーションまで作り込んだのは、ものづくりが好きだからでもあり、まだ触れたことのない技術の領域を探るのが本当に楽しいからでもあります。CSSアニメーションも、始めた当初は知りませんでした。「関心分野」ページに載っている多くのことも同じです。居心地のいい場所にとどまるより、何度か失敗してでも正しく身につけたいと思っています。

アクセシビリティへの取り組みも大学時代にさかのぼります。ある授業で、ADAがWebアクセシビリティの基準として参照するWCAG 2.1レベルAAに準拠して構築することが求められ、それが身につきました。セマンティックなHTML、キーボードで操作できるメニュー、わかりやすいリンクやボタンのラベル、そしてその基準を満たす色のコントラストです。もう誰も採点はしませんが、今でもそれがサイトを作る正しい方法だと考えています。このサイトで利用しにくい点があれば、お問い合わせページからお知らせください。修正します。

セキュリティ

このサイトのセキュリティ対策

システムを守るのが私の仕事なので、このサイトにも同じ対策を施しています。以下の項目はすべて無料の公開ツールで確認できます。

🔒

全ページでHTTPS

すべてのアクセスを暗号化接続に強制し、ブラウザには今後暗号化されていないHTTPを使わないよう指示しています(HSTS)。

🧱

セキュリティヘッダー

全ページで厳格なContent Security Policy、クリックジャッキング対策、ブラウザ権限の制限を適用しています。

🔏

署名付きDNS(DNSSEC)

このドメインのDNS応答は暗号署名されているため、誰かがこっそり別の場所へ向けることはできません。

✉️

メールなりすまし対策

SPF、DKIM、DMARC(拒否設定)とNull MXレコードにより、@neilm7.comになりすましてメールを送ることはできません。

📜

証明書の発行制御(CAA)

このドメインの証明書を発行できるのは限られた認証局だけで、発行された証明書はすべて公開ログに記録されます。

📣

責任ある開示

標準のsecurity.txtファイルで、研究者に問題の報告方法を明示しています。

アクセシビリティ

WCAG 2.1 AAに準拠:メインランドマーク、スキップリンク、キーボード操作、検証済みの色コントラスト。

🌐

最小限の攻撃対象領域

Cloudflareのネットワーク上の静的サイトです。データベースもログインもなく、侵入できるサーバーもありません。

腕試しがお好きなら、このサイトのどこかにフラグが隠されています。見つけたらぜひ送ってください。