Tomcat URL から :8080 を省略


目的

http://192.168.253.158:8080/WebMC/
↓↓↓↓
http://192.168.253.158/WebMC/
(8080 を書かずにアクセス)


方法:Apache をフロントにして Tomcat を裏側で動かす(リバースプロキシ)

📌【Apache 側の設定(最重要)】

以下の設定ファイルを作成します:

 
/etc/httpd/conf.d/webmc_proxy.conf

内容:

 
ProxyRequests Off ProxyPreserveHost On # Tomcat7 (8080) へのプロキシ設定 ProxyPass /WebMC http://127.0.0.1:8080/WebMC ProxyPassReverse /WebMC http://127.0.0.1:8080/WebMC <Location /WebMC> Require all granted </Location>

保存後、Apache を再起動:

 
systemctl restart httpd systemctl enable httpd

【これで実現できます】

✔ http://192.168.253.158/WebMC/

でそのまま WebMC が動くようになる

✔ 超安定

✔ Tomcat のポート番号を隠せる

✔ 国交省案件でも一般的な構成


▣ 設定が機能するか確認

ブラウザで:

 
http://192.168.253.158/WebMC/

と入力。

WebMC が表示されれば成功です。


【もし 完全に省略して / (=ルート) を WebMC にしたい場合】

http://192.168.253.158/ で直接 WebMC を開くには以下を追加:

 
cat << EOF > /etc/httpd/conf.d/webmc_root.conf RedirectMatch ^/$ /WebMC/ EOF systemctl restart httpd

💡 注意点

  1. mod_proxy と mod_proxy_http が有効である必要があります。
    確認:

 
httpd -M | grep proxy
  1. Tomcat は 8080 のままで OK
    Apache が 80 → 8080 に中継します。

  2. SELinux 有効なら設定が必要(必要なら書きます)


 

Document.writeを使用してます何年動きますか?

すべて新品 家電・家具もサブスク【ラクリアーズ】

短答:しばらく(数年単位)は動く可能性が高いけど、“永久”は約束できません。document.write() は互換のため主要ブラウザで残されていますが、推奨されておらず、将来の仕様・セキュリティ設定(CSP等)・ブラウザ介入で壊れやすいポイントです。
壊れるとしたら、ブラウザ仕様の廃止よりも あなた側の運用変更(CSPの厳格化、type="module"化、HTTPヘッダ方針変更、広告/追跡ブロッカーとの相性など)で先に影響が出ます。





なぜ今は「たまたま動く」感じになるのか

  • document.write('<script ...>') はパース中に同期実行される前提の古い手法。

  • これに動的挿入(appendChild)やonload起動が混ざると、順序がレースになって初回だけ未定義になる事故が起きやすいです。


現実的な方針(おすすめ)

  • 短期(今すぐ安定化):パターンAのままでもOK。ただし**“ハイブリッド安全策”**を入れておくと安心です(下記スニペット)。

  • 中期(1ファイル化 or Promise読込):CameraDef.js → CamLocalOverride.js を連続読み込みに変更、あるいはビルドで結合して“同期保証”にする。

  • 長期:document.write はいつでも置き換え可能な状態にしておく(CSPやESM移行に備える)。


ハイブリッド安全策(そのまま貼ってOK)

「パース中なら document.write、それ以外は順序保証つきの動的読み込み」に自動で切り替え

<script>
  // 順序保証付きでスクリプトを直列ロード
  function loadSequential(srcs) {
    return srcs.reduce((p, src) => p.then(() => new Promise((res, rej) => {
      const s = document.createElement('script');
      s.src = src; s.async = false; // 順序優先
      s.onload = () => res();
      s.onerror = () => rej(new Error('Load failed: ' + src));
      document.head.appendChild(s);
    })), Promise.resolve());
  }

  // CamDef → LocalOverride を“同期相当”で読み込む
  function loadCamDefs(ts) {
    const cb = ts || Date.now();
    const def = `CameraDef.js?${cb}`;
    const loc = `CamLocalOverride.js?${cb}`;

    if (document.readyState === 'loading') {
      // 旧来の同期読込:まだパース中なら確実に順序が保てる
      document.write(`<script src="${def}"><\/script>`);
      document.write(`<script src="${loc}"><\/script>`);
      return Promise.resolve();
    } else {
      // 既に読み込み済みなら Promise で直列ロード(順序保証)
      return loadSequential([def, loc]);
    }
  }

  // 使い方例:初回ブートで確実に読み込んでから init を叩く
  (async () => {
    await loadCamDefs();
    // 以降は cameraInit() → cameraInitRedefinition() を従来どおり実行
    if (typeof init === 'function') init();
  })();
</script>
  • 既存の パターンA を保ちつつ、パース後の再実行時でも順序保証されます。

  • ?${Date.now()} でキャッシュ無効化も同時に担保。


さらに堅牢にするなら(どれか一つでOK)

  1. ファイル結合:CameraDef.js と CamLocalOverride.js をビルド時に結合して 1ファイルに(確実に順序保証)。

  2. Promiseブート(パターンB):CameraInit.js → CameraDef.js → CamLocalOverride.js を await で直列ロード→init() 実行。

  3. CSP対策:将来 script-src 'self' 'nonce-***' を入れるなら、document.write のインライン生成が弾かれる可能性あり。外部ファイル+nonce で回避。


結論

  • 「あと何年?」は断言不可ですが、互換性のため近い将来いきなり消える可能性は低いです。

  • とはいえ運用・セキュリティの変化であなた側の都合で壊れる可能性が高いので、上のハイブリッド or 直列読み込みへ移し、いつでも document.write を外せる構成にしておくのがベストです。

  • 実装支援OK:あなたの Gmap.htm にそのまま組み込む形で、私の方で最小差分パッチも作れます。

RHEL 9.2 → 9.3  主な変更点と考えられる影響

 

✅ 追加・改善された機能 (おおむねポジティブ)

• 追加:新たなパッケージやドバイスなど が追加され、特定のハードウェアのサポートが強化された。

• セキュリティ強化(OpenSSL, OpenSSH などの更新により、暗号化ポリシーが強化)。

• 変更されたSELinuxの仕様:  からの無効化が禁止され、カーネルパラメータを使用して管理しなければならなくなります。

⚠️ 非推奨または 削除された機能(注意) • 削除される パッケージ:昔ながらのスタイルのネットワーク設定が使えなくなり、への移行が必要。 • 廃止 されたもの: ファイアウォールの‥‥‥ 設定は に一本化されました。 • SHA-1署名の非推奨:影響を与える 可能性のある古いパッケージやSSH接続。

Windows の「インターネット セキュリティ」保護 解除

すべて新品 家電・家具もサブスク【ラクリアーズ】



解決方法

① プロパティで「ブロック解除」

  1. エクスプローラーで moveGmap.html などのファイルを右クリック

  2. プロパティ を開く

  3. 下の方に「セキュリティ: このファイルは他のコンピューターから取得したため…」と表示されていれば
    → [ブロック解除] にチェックして [OK]


② 信頼済みフォルダに移す

  • C:\Users\<ユーザー名>\Documents など自分のドキュメントフォルダに移すとブロックされにくいです。

  • 特に ダウンロード フォルダにある場合はブロックが強いので、移動を試してください。


③ Edge/Chrome で直接開く

  • ファイルをブラウザのタブにドラッグ&ドロップする

  • または file:///C:/Users/.../moveGmap.html の形で開く


④ 最終手段:IIS/ローカルHTTPサーバーで配信

  • python -m http.server 8000 を使ってローカルサーバーを立て、
    http://localhost:8000/moveGmap.html で開くとブロックされません。


👉 まずは ① プロパティでブロック解除 を試すのがおすすめです。

設定方法: Red Hat Enterprise Linux 8 で1つのNICに複数のIPアドレスを追加する手順

すべて新品 家電・家具もサブスク【ラクリアーズ】

Red Hat Enterprise Linux 8 (RHEL8) で 1つのNICに複数のIPアドレスを設定する方法を整理します。

方法 1: nmcli コマンドで追加

RHEL8 では NetworkManager が標準です。

例: eth0 に 2つ目のIPを追加する場合
nmcli connection show        # 接続名を確認
nmcli connection modify eth0 +ipv4.addresses 192.168.1.50/24
nmcli connection modify eth0 ipv4.method manual
nmcli connection up eth0


👉 +ipv4.addresses を使うと既存のIPに追加できます。

方法 2: 設定ファイルで追加

設定ファイルは /etc/sysconfig/network-scripts/ifcfg-<接続名> ではなく、RHEL8 以降は keyfile ディレクトリに置かれることが多いですが、従来形式も使えます。

例: /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1

# 追加のIP
IPADDR1=192.168.1.11
PREFIX1=24


その後再起動:

nmcli connection reload
nmcli connection up eth0

方法 3: 一時的に ip addr add を使う

テスト目的など一時的に付与したい場合。

ip addr add 192.168.1.20/24 dev eth0


※再起動すると消えるので恒久設定は nmcli または設定ファイルで行う。

確認方法
ip addr show dev eth0


✅ まとめ

永続設定 → nmcli または ifcfg-eth0 に IPADDR1, PREFIX1 を追加

一時設定 → ip addr add

不的節にもほどがある

AWS BuilderCardsで学ぶ!楽しみながらAWSアーキテクチャを身に付ける方法

AWS BuilderCardsとは?

AWS BuilderCardsの概要

 AWS BuilderCardsは、AWSのサービスやアーキテクチャを学ぶために開発された対戦型デッキ構築ゲームです。このゲームは2〜4人で遊べ、プレイ時間の目安は20〜30分ほどとなっています。プレイヤーは、スターターカードやAWSサービスを模したビルダーカードを使いながら、自分のデッキを構築し、最終的に多くのポイントを獲得することを目指します。AWS特有のサービス内容を楽しく学べる点が、このゲームの大きな魅力です。

教育とゲームの融合:目指す学び方

 AWS BuilderCardsは、教育とエンターテイメントを融合した「ゲーミフィケーション」の手法を取り入れています。カードにはAWSサービスに基づいた情報が記載されており、各カードに付与されたQRコードをスキャンすることで、関連するコンテンツや詳細な情報に簡単にアクセスすることが可能です。そのため、ゲームを進める過程で自然とAWSの基礎知識が身につきます。また、シンプルなゲーム構造が設定されているため、学びを楽しむことに重点が置かれています。

初心者から上級者まで対応可能な設計

 AWS BuilderCardsは、初心者から上級者まで幅広いプレイヤー層を対象とした設計がなされています。初心者はゲームを通じてAWSサービスの基本的な使い方を学び、中級者や上級者にとっては、AWSアーキテクチャの知識を応用する練習や深掘りの場としても活用できます。さらに、ゲームの進行やカードの組み合わせにより、AWSの設計ベストプラクティスやWell-Architectedフレームワークについても学ぶことができるため、さまざまな学習ニーズを満たす構成になっています。

AWSサービスを理解するための新しいアプローチ

 従来のテキストやオンライン学習では得られない、実践的かつ直感的な学びを提供することが、AWS BuilderCardsの大きな特徴です。カードを使って自分だけのアーキテクチャを構築する経験は、AWSサービスの関連性や組み合わせのメリットを視覚的かつ体験的に理解する助けとなります。また、ゲームという手法を用いることで、コミュニティ内の交流を活性化し、参加者同士の知識共有を促進します。この新しいアプローチにより、楽しみながらAWSへの理解を深めることができます。

AWS BuilderCardsの遊び方

カードの種類と役割

 AWS BuilderCardsは、AWSサービスをゲーム感覚で学べるデッキ構築型カードゲームです。このゲームでは、以下の3つのカードタイプが登場します。

 スターターカード:各プレイヤーがゲーム開始時に持つ基本のカードセットであり、初期手札を構成します。

 Well-Architectedカード:得点源となるカードで、ゲームの目的であるポイント獲得に重要な役割を果たします。

 ビルダーカード:AWSの各種サービスに基づいたカードで、デッキを強化したり、相手に影響を与えるアクションを起こしたりするために使用します。また、各ビルダーカードにはQRコードが付与されており、スキャンすることでAWSサービスの詳細情報を確認できます。

ゲームの進行手順

 ゲームは、3つのフェーズを繰り返しながら進行します。

 ビルドフェーズ:このフェーズではプレイヤーが手札を使い、自分のデッキやフィールドを強化します。ビルダーカードを利用して、戦略的にポイント獲得のためのアクションを実行します。

 カード獲得フェーズ:ショップエリアに置かれたカードから、新しいカードを購入してデッキを強化します。この際、戦略に応じて得点につながるWell-Architectedカードを取得することが重要です。

 ターン終了フェーズ:自分のターンが終了し、他のプレイヤーに順番が移ります。ターン終了時に手札を整理して次ターンの準備を行います。

 これらのフェーズを繰り返し、決められた条件を満たした時点でゲームが終了します。

ポイント制と勝利条件の設定

 AWS BuilderCardsでは、ゲーム終了時に最も多くのポイントを獲得したプレイヤーが勝利します。ポイントの主な獲得方法は、Well-Architectedカードの取得やビルダーカードの効果を有効に活用することです。

 ゲーム終了のタイミングは、複数のWell-Architectedカードが全て取得された場合など、事前に設定された条件によって決まります。そのため、勝利を目指すには、計画的に得点源を押さえる戦略が求められます。

チームビルディングで活用する方法

 AWS BuilderCardsは、個人での競争だけでなく、チーム対抗でのプレイにも適しています。チームでのプレイにおいては、役割分担や戦略的なコミュニケーションが重要となります。

 例えば、チームメンバーそれぞれが異なるカードの獲得を目指し、総合的なポイントを最大化する戦略を取ることが可能です。また、AWSのサービスに関する知識をお互いに共有し合うことで、自然と学び合える場を形成できます。

 このような特性から、AWS BuilderCardsは職場や学習コミュニティでのチームビルディングツールとしても活用できる優れた教材です。特に、AWS認定試験を目指すチームでは、実践知識を深めるきっかけとして効果的です。

楽しみながらAWSアーキテクチャを学ぶメリット

ゲームから学べる実践的なAWS設計

  AWS BuilderCardsは、AWSアーキテクチャ設計を実践的に学ぶための非常に有効なツールです。このゲームでは、カードを通してさまざまなAWSサービスを活用する方法や設計のベストプラクティスを自然に理解できます。特に、Well-Architectedフレームワークに基づくカード内容が、実際の設計課題を解決するプロセスに役立ちます。楽しみながらデッキを構築する過程で、現場の設計に応用できる貴重な経験を積むことができます。

問題解決力向上への影響

  AWS BuilderCards 2nd Edition の遊び方を通じて、プレイヤーは問題解決力を大幅に向上させることができます。このゲームには戦略的な思考や判断が求められるため、プレイヤーは自然とAWSの課題に対する解決策を意識することになります。たとえば、限られたリソースで最適なアーキテクチャを構築するゲーム内のシチュエーションは、実際のプロジェクトでも応用できるスキルを育みます。

学習内容の定着率向上

  学習にゲーム性を取り入れると、知識の定着率が劇的に向上すると言われています。AWS BuilderCardsは、プレイヤーがカードに記載されたAWSサービスやアーキテクチャ情報を繰り返し目にし、ゲームの進行に応じてそれを活用する構造になっています。また、各カードに付いているQRコードを使えば、AWSの公式コンテンツを即座に参照でき、知識をより深く学ぶことができます。これにより、楽しみながら学ぶという過程が学習意欲を高め、結果として長期的な知識の定着に役立ちます。

AWS認定試験準備への活用

  AWS BuilderCardsは、AWS認定試験の準備にも活用できます。試験に必要な主要AWSサービスや設計パターンがゲーム内で自然に学べる構造となっているため、プレイヤーは楽しく試験準備を行えるのが特徴です。特に、カードのQRコードから詳細なドキュメントにアクセスし、試験範囲の知識を補強することができます。第2エディションではさらにゲーム設計が進化しており、AWS re:Invent 2024などでの体験を通じて、多くの受験者がこのコンテンツを効果的に試験対策に取り入れています。

AWS BuilderCardsを取り入れるためのヒント

導入に必要なリソース

 AWS BuilderCardsを導入するためには、基本的にはカードそのものが必要になります。AWS BuilderCardsは特定のAWSイベントや、30人以上の参加者がいる企業・コミュニティイベントを通じて配布されています。これらのカードを入手するには、AWS担当者への相談や専用メールアドレス(aws-buildercards@amazon.com)に問い合わせるのがおすすめです。

 さらに効果的に運用するためには、カードと連動したAWSサービスの知識を補完するための資料や、QRコードを利用してアクセスできる公式リソースも併用すると良いでしょう。必要に応じて、参加者全員が同じルールを理解できるようにマニュアルやプレイガイドを準備しておくと、円滑な導入につながります。

オンラインとオフラインでの活用方法

 AWS BuilderCardsはオフライン、オンラインのいずれでも利用可能です。オフラインでは、参加者が直接カードを手に取って遊ぶのがもっとも一般的な方法です。特に企業の研修や、学習コミュニティのイベントで活用する際には、参加者同士のコミュニケーションが深まる利点があります。

 一方、オンラインでは仮想環境を活用してプレイする方法があります。例えば、ビデオ会議ツールを活用してカードの内容を共有しながら進めたり、専用のデジタルプラットフォームを利用してカードの要素を再現することができます。これにより、地理的に離れたチームメンバーともAWS BuilderCardsを楽しむことができます。

プレイヤーのレベルに合わせた調整方法

 AWS BuilderCardsは初心者から上級者まで楽しめる設計になっていますが、参加者の知識レベルに応じて調整することで、さらに学びの効果を高めることが可能です。例えば、初心者向けにはカード内容を事前に簡単に説明したり、具体例を挙げながら遊ぶのがおすすめです。中級者や上級者を含むグループでは、ゲームのルールを少し難しくしたり、広範なサービス知識を求めるような追加ルールを用意することで、やりがいを持たせることができます。

 さらに、第2エディションで導入された拡張パックや特別なルールを活用することで、学習内容を深めることも可能です。プレイヤーの学習目標に合わせて、ルールやテーマを柔軟にカスタマイズしましょう。

職場や学習コミュニティでの導入事例

 AWS BuilderCardsは職場のチームビルディングや学習コミュニティでのイベントとして多く活用されています。例えば、開発チーム内のAWSトレーニングの一環として取り入れることで、楽しく実践的な学びが可能になります。また、JAWS Daysのような学習コミュニティイベントでは、AWS BuilderCardsの体験会が開催され、多くの参加者がサービスの知識向上を図っています。

 さらに、AWS BuilderCards 2nd Editionではゲーム性の改善が施され、より多くのユーザーに親しみやすい内容となっています。こうした改良により、日本各地で職場やコミュニティの研修ツールとしての採用が広がりつつあります。導入の際は、まず小規模な体験会を通じて参加者の反応を見ることから始めるのも良い手段です。

Photopea で日本語フォントを使う方法

すべて新品 家電・家具もサブスク【ラクリアーズ】

Photopeaで日本語フォントを使う方法【完全ガイド】


オンラインでPhotoshop風の操作ができる Photopea。とても便利ですが、標準搭載のフォントは英語中心のため、日本語が表示されない(□や空白になる) ことがあります。

この記事では、Photopeaで日本語フォントを正しく表示・利用する方法を解説します。


1. Photopea デフォルト状態

  • 初期状態では、Photopea内に日本語フォントはほとんど含まれていません。

  • 日本語入力自体は可能ですが、文字化けして四角(□)や空白になる場合があります。


2. 日本語フォントを読み込む方法

方法A:Google Fontsを利用する

  1. Google Fonts にアクセス

  2. 好きな日本語フォントを探す

    • 例:Noto Sans JP, Noto Serif JP, Kosugi Maru など

  3. 「Download family」をクリックして .zip ファイルをダウンロード

  4. Photopeaの画面で

    • メニュー → [ファイル] → [開く]

    • ダウンロードしたフォント(.ttf / .otf)を読み込む

  5. フォント一覧に追加され、日本語が正しく表示されるようになります


方法B:自分のPCのフォントを使う

  1. Windowsの場合

  2. フォントファイルをコピーして、Photopeaの画面にドラッグ&ドロップ

  3. 読み込まれたフォントが即座に利用可能になります


3. よく使われる日本語フォント(おすすめ)

  1. Noto Sans JP(Google Fonts、シンプルで使いやすい)

  2. Noto Serif JP(明朝体風で落ち着いた印象)

  3. Kosugi Maru(丸ゴシック風で優しい雰囲気)

  4. M PLUS Rounded 1c(柔らかい丸文字)

  5. さざなみ明朝 / ゴシック(古めのLinuxフォントだが軽量)


4. 注意点

  • Photopeaは ブラウザベースのアプリ のため、アップロードしたフォントは一時的です。
    → 次回利用時には再度読み込みが必要です。

  • フォントの 商用利用 を考えている場合は、必ずライセンスを確認してください。


✨ まとめ

  • Photopeaは便利なオンライン画像編集ツールですが、初期状態では日本語フォントがありません。

  • Google FontsやPC内のフォントを読み込めば、自由に日本語デザインが可能になります。

  • ブログやデザイン制作で日本語を扱うなら、まずは Noto Sans JP を導入してみるのがおすすめです!