かずきち。の日記

サーバサイドエンジニアのつぶやき

ブルバの切れ目は縁の切れ目?課金ブーストが切れた瞬間にフォロワーが激減する残酷な現実


X Blueはフォロワーを増やす仕組み

「X Blue(旧Twitter Blue)に課金すれば、フォロワーがガツガツ増える!」
そんな風に思って、月額のサブスクリプションを契約しようとしていませんか?

確かに、X Blueには魅力的(に見える)な特典が詰まっています。しかし、断言します。
フォロワーを増やす目的だけでX Blueを契約しても、解約した瞬間にフォロワーが激減するのが関の山です。
今回は、X Blueの仕組みを紐解きながら、なぜそれが「ドーピング」にすぎないのか、そして本当に目指すべき発信の本質について解説します。

X Blueがインプレッションを伸ばす「仕組み」

まず、なぜX Blueを契約するとフォロワーが増えやすくなると言われているのでしょうか。その理由は、Xのアルゴリズム優遇にあります。

X Blueの最大の特典の一つが、「リプライやタイムラインでの優先表示」です。
リプライの最上位表示: バズっているポストにリプライ(返信)をすると、非課金ユーザーよりも圧倒的に上のポジションにあなたのリプライが表示されます。

「おすすめ」タブへの露出: タイムラインの「おすすめ」に、あなたのポストが乗りやすくなります。

つまり、X Blueを契約すると、あなた自身のコンテンツの質に関わらず、「強制的に他人の目に入る回数(インプレッション)」が増える仕組みになっているのです。

    • -

## 課金ブーストはただの「ドーピング」である

分母(閲覧数)が増えれば、分子(フォローしてくれる人)が増えるのは当然の確率論です。しかし、ここに大きな罠があります。

X Blueによるフォロワー獲得は、言わば「お金で買った露出(ドーピング)」です。あなたの実力や投稿の魅力で集まったファンではなく、アルゴリズムによって無理やり目の前に差し出されたから、なんとなくフォローしたという人が大半を占めます。

勘のいい方なら、もうお分かりですよね。

「ブルバの切れ目は縁の切れ目」なのです。

財布の事情や方針変更でX Blueの解約ボタンを押した瞬間、魔法は解けます。

優先表示が消え、タイムラインの底に沈む
リプライは誰の目にも留まらなくなる
インプレッションが10分の1以下に激減する

露出がなくなれば、タイムラインであなたを見かける機会はゼロになります。すると、大して思い入れもなくフォローしていたユーザーたちは、「この人、最近見ないな」「誰だっけ?」と、次々にフォローを解除(リムーブ)していきます。後に残るのは、課金が切れた途端にフォロワーが減っていく虚しい現実だけです。
もし、ドラえもんでジャイアンにチヤホヤしてもらえるスネ夫もお金がなくなって利用価値がなくなったら、ジャイアンは相手にしてくれるでしょうか?

ブルバがなくなっても、フォローされる投稿を

お金を払い続けなければ維持できない繋がりは、本当のファンとは呼べません。
大切なのは、「X Blueのバッジが消えても、読みたいと思われるコンテンツ」を作ることです。

X Blueのバッチを付けることはあなたの投稿をいてもらえる最初のチャンスをもらうということを理解したうえで契約する必要があります。

有益性の担保:「誰かの悩みを解決する情報か?」
共感と人間味:「この人の言葉だから読みたい」と思わせる個性があるか?」
交流の質:「 数を稼ぐためのリプ回りではなく、深いコミュニケーションができているか?」

ドーピングに頼って見かけの数字を増やしても、あなたの発信力そのものが上がったわけではありません。
課金はあくまで「補助輪」や「ブースター」です。まずは、素のままでも誰かに刺さる投稿を心がけること。ブルバがなくなっても微動だにしない、強固なファンベースをじっくり育てていきましょう!

「ナオト・インティライミ」の謎が解けた!名前の意味を知ると、彼の曲がもっと熱くなる理由

www.youtube.com

テレビや音楽フェスで圧倒的な陽気さとエネルギーを放つアーティスト、ナオト・インティライミさん

最近この曲をよく聞いています。
彼の曲を聴くと自然と元気が湧いてきますよね!
でも、ファンはもちろん、そうでない方も一度は頭をよぎったことがあるはずです。

machupicchuneon.jp

つい最近、マチュピチュ展に行ってきて、展示中に「インティライミ」という言葉が出てきました。
「インティライミって、「ナオト・インティライミ」しか知らないのですが、なぜだかマチュピチュ展に出てきました。
あまりに自然に響くフレーズですが、日本語にはない響きです。
気になって夜も眠れなくなったので、そのルーツと意味を徹底的に調べてみました!

「インティ・ライミ」はインカ帝国の言葉だった!

調べてみると、「インティライミ」は一つの単語ではなく、南米の先住民族の言語であるケチュア語の2つの単語が合体したものだと分かりました。

インティ(Inti) = 「太陽」
ライミ(Raymi) = 「祭り」
つまり、インティライミを直訳すると「太陽の祭り」という意味になります!
南米のペルーでは、かつて栄えたインカ帝国の伝統的なお祭りとして、現在でも毎年6月に「インティ・ライミ(太陽祭)」という大規模な祭典が開催されています。
なんと南米三大祭りの一つにも数えられる、もの凄くエネルギッシュなお祭りなんです。

本名と組み合わせた、完璧すぎるアーティスト名

彼の本名は「中村 直人(なかむら なおと)」。
これに先ほどの言葉を組み合わせると、彼のアーティスト名はこうなります。
ナオト(直人) + インティ(太陽) + ライミ(祭り) = 「太陽の祭りの男」
まさに、常にスポットライトのような笑顔を絶やさず、音楽でみんなを巻き込んでお祭り騒ぎをしてしまう彼にぴったりすぎる名前ですよね。
世界一周の旅を経て、世界中の音楽や文化を吸収してきたナオトさんだからこそ、この南米の情熱的な言葉を自身のアイデンティティとして掲げたのでしょう。

ナオトインティライミのまとめ

調べる前は「ちょっと変わった語感のフレーズだな」くらいに思っていましたが、意味を知ると、彼が音楽を通じて私たちに届けてくれる「温かさ」や「高揚感」そのものを表しているのだと深く納得しました。
次に彼の曲を聴くときは、南米の熱い「太陽の祭り」の景色を思い浮かべながら、イントロから思いっきり足を踏み鳴らして楽しみたいと思います!

【リップルエフェクト】サイトの「どこ」がクリックされている?直感的な操作感でユーザーを惹きつけるテクニック

ブログやWebサイトを運営していると、「ユーザーがページ内のどこに興味を持っているのか?」「どこがクリックされやすいのか?」を知りたくなりますよね。
今回は、ユーザーのクリック体験を向上させ、かつ解析のヒントにもなる「クリック可視化(リップルエフェクト)」の実装方法をご紹介します。

なぜ「クリックしたくなる」仕組みが重要なのか?

ユーザーは、自分がクリックした瞬間に何らかの「フィードバック(反応)」があると、そのサイトを「操作していて楽しい」と感じます。マテリアルデザインなどで採用されている「リップルエフェクト(波紋のようなエフェクト)」は、ユーザーに「確かにクリックを受け付けましたよ」と視覚的に伝える優れた手法です。
これが実装されているだけで、サイトの滞在時間やエンゲージメント率が向上する可能性があります。

JavaScriptで簡単実装!リップルエフェクトのコード

今回紹介するのは、サイトのどこをクリックしても、その地点から波紋が広がるエフェクトを実装するコードです。

(function() {
  // 第3引数に true を指定することで「キャプチャリングフェーズ」でイベントを補足します
  document.addEventListener('click', function(e) {
    var ripple = document.createElement('div');
    ripple.className = 'ripple-effect';
    
    var size = 100;
    ripple.style.width = size + 'px';
    ripple.style.height = size + 'px';
    
    // 座標計算
    ripple.style.left = (e.clientX - size / 2) + 'px';
    ripple.style.top = (e.clientY - size / 2) + 'px';
    
    document.body.appendChild(ripple);
    
    // アニメーション完了後に削除
    ripple.addEventListener('animationend', function() {
      ripple.remove();
    });
  }, true); // ★ここが重要:true を設定
})();
実装のポイント

キャプチャリングフェーズの活用: true を指定することで、ページ上のあらゆる要素のクリックイベントを優先的に拾うことができます。

座標の取得: e.clientX と e.clientY を使うことで、ブラウザ上の正確なクリック位置を特定しています。

CSSで動きをつける
このコードを動かすには、CSSで .ripple-effect クラスを定義し、アニメーション(拡大して透明になる動き)を追加する必要があります。

CSS

.ripple-effect {
  position: fixed;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none; /* クリックを邪魔しないように */
  animation: ripple-animation 0.6s linear;
}

@keyframes ripple-animation {
  to {
    transform: scale(2);
    opacity: 0;
  }
}
応用:クリックデータの取得

上記のコードでは視覚的なフィードバックを与えていますが、ここから一歩進んで「どの座標がクリックされたか」をサーバーへ送信するように改造すれば、Google Analyticsのヒートマップツールを使わなくても、自前で簡易的なクリック分析が可能になります。

例えば、console.log('X: ' + e.clientX + ', Y: ' + e.clientY); を追記するだけで、開発者ツールでどの位置がよくクリックされているかを確認できるようになります。

ユーザー体験を高めつつ、サイト改善のヒントを得る。この小さな工夫から、あなたのブログをより魅力的な場所に育ててみませんか?

最後に設置に詰まったという方は…

coconala.com

こちらでも設置をサポートしていますのでぜひ相談してみてください。

GTMの相談からサイトへの実装をお受けします ウェブサイトの読み込みスピードを爆速化

【生成AI×宇宙】SpaceX上場記念!全力プロンプトで株価と連動して飛び立つ動画を作ってみた(失敗版もあるよ)


最近の映画や映像制作の現場、実は私たちが想像している以上に生成AIを駆使して自動化されているのをご存知でしょうか?

これまでは、膨大な時間とコストをかけて3DモデリングやVFX(視覚効果)を制作していましたが、今や最新のAIモデルを使えば、テキストや簡単なデータをインプットするだけで、映画クオリティの映像をほぼ自動でレンダリングできるようになっています。

「それなら、今もっともホットなニュースをAIで映像化してみよう!」

ということで、今回は先日世界中を賑わせたSpaceXの歴史的なNASDAQ上場を記念して、生成AIでちょっと面白い動画を2パターン作ってみました!

コンセプト:株価とスペースシャトルがシンクロして宇宙へ!

作った動画のコンセプトは「株価チャートの急上昇と、スペースシャトルの打ち上げが完全シンクロする映像」です。
公開価格135ドルから始まり、上場初日に一時170ドルを超えて時価総額2兆ドルを突破した、あの凄まじいロケットスタート。それを文字通り「ロケットの打ち上げ」として表現してみました。

【成功版】大気圏突破!株価連動シミュレーション

まずは、上場が大成功を収めた現実をベースにした「成功バージョン」です。
画面左側にリアルタイムの株価チャート(SPCX)が表示され、価格がグングン上昇するのに合わせて、スペースシャトル(※厳密にはSpaceXなのでStarship風の機体ですが、今回はレトロフューチャーなシャトル型にAIがアレンジしてくれました!)が激しい炎を吹き出しながら大気圏を突破。見事に軌道に乗る、最高に爽快な動画です。

生成AIのここがスゴイ

「株価データ(CSV)」をAIツールに読み込ませ、その数値の上昇スピードに合わせて「炎のグラデーション」や「G(重力)のカメラシェイク」を自動生成するようにプロンプトを組みました。人間がフレーム単位で調整する作業はゼロ。AIが自動で映像のテンポをコントロールしています。


💥 ついでに作った【失敗版】…株価暴落、そして。

映像制作の自動化がこれだけ簡単になると、「もしも」のifストーリーを作るのも一瞬です。
というわけで、縁起でもないですが「上場直後に謎の売りを浴びて株価が急降下し、打ち上げに失敗するバージョン」もついでに作ってみました。
こちらの動画では、最初は順調に上昇していたチャートが、あるポイントで一気に垂直落下(大暴落)。それと同時に、シャトルのメインエンジンが異常発火を起こし、きりもみ状態になって空中分解……という、悪夢のようなシナリオをAIが極めてリアルな物理演算(風の映像表現)で描き出しています。
(※あくまでジョーク動画です!実際のSpaceX株はイーロン・マスク氏を世界初のトリリオネアにするほど大健闘していますのでご安心を!)


映像制作は「AIに指示を出す」だけの時代へ

今回の2つの動画、企画から完成までにかかった時間はわずか数十分です。
これまでの映像制作なら、成功版と失敗版の2パターンを作るだけで数日〜数週間はかかっていました。
しかし現在、ハリウッド映画の現場でもバックグラウンドの群衆や、爆発の煙、さらにはリアルな物理シミュレーションの多くがこうしたAIプロセスで自動化されています。
私たちが映画館で観ている大迫力の映像も、実は裏側ではAIが大部分を自動で計算して作っているのかもしれません。
皆さんは、株価連動ロケット、乗ってみたいですか?それとも地上で見守る派ですか?
テレビ局の仕事はもう動画編集ではなく、生成AIにいかにプロンプトを投げるか?の時代になってきているのでは?と思います。
動画の感想や、「次はこんなデータを映像化してほしい!」というリクエストがあれば、ぜひコメントで教えてください!

「有用性の低いコンテンツ」と言わせない!アドセンス合格記事の書き方ガイド


Googleアドセンス合格の鍵は「三方よし」のサイト構成にある!具体的な戦略を徹底解説

Googleアドセンスに合格するためには、単に「記事をたくさん書く」だけでは不十分です。
Googleが重視しているのは、あなたのサイトがインターネット上のエコシステムに対してプラスの貢献をしているかどうかという点です。

具体的には、「広告主」「サイト閲覧者」「Google」の3者にとってメリットがある構成になっているかが重要です。
本記事では、審査通過に向けた具体的な戦略を解説します。

サイト閲覧者:情報の質と解決策の提供

閲覧者にとってメリットのあるサイトとは、「検索意図が的確に満たされ、信頼できる情報が整理されている」状態です。

実体験に基づく独自性
単なる情報のまとめではなく、執筆者の独自の視点や体験談を盛り込みましょう。
例えば、ガジェット紹介なら「スペックの羅列」ではなく「実際に1ヶ月使ってみて感じた、唯一の不満点と最高の使い道」といった一次情報を書くことが重要です。

構造化された読みやすい構成
見出し(h2, h3)を適切に使い、読者が短時間で必要な情報を得られるようにします。
箇条書きや図表を取り入れ、視覚的な負担を減らすことも大切です。

信頼性の確保
誰が書いているかを明確にしましょう。専門性のある分野であれば、その根拠となる実績やプロフィールを記載することが、読者の安心感につながります。

広告主:費用対効果(ROI)の保証

広告主は、自分たちの商品やサービスに興味を持つ可能性が高いユーザーに広告を届けたいと考えています。彼らにとってのメリットは、「質の高いユーザーに、ブランドイメージを損なわない場所で広告を表示すること」です。

ターゲットを絞った専門性
何でも扱う雑記ブログよりも、特定のテーマ(例:キャンプ、プログラミング、節約術など)に特化した専門サイトの方が、広告主はターゲットを絞りやすく、広告効果が高まります。

ブランドセーフティの遵守
公序良俗に反するコンテンツや、極端に偏った主張、法的にグレーな表現は広告主のブランドを傷つけるため、審査では厳格に排除されます。

適切な広告配置
記事の読了を妨げない配置を意識しましょう。画面全体を覆うような強制的な広告や、読みにくい場所への設置は、広告主にとってもユーザーを不快にさせる「逆効果」の配置となり、評価を下げます。

Google:エコシステムの健全化

Googleの目的は、検索ユーザーに対して最も適切な答えを提供し、広告プラットフォームとしての価値を維持することです。Googleにとってのメリットは、「ガイドラインを遵守し、ユーザー体験を損なわない良質なサイトが増えること」です。

利便性とナビゲーションの整備

以下のページは必須です。これらはサイトの信頼性を示す基本的な土台となります。
>>
プライバシーポリシー:Googleアドセンスの使用とCookie利用の明記。
お問い合わせ:運営者への連絡手段の確保。
サイトマップ: 記事全体を見渡せる構造。

【コピペで動く】サイト滞在時間をガチで底上げするJavaScript書いた。コピペで画面右上にYouTube最新動画がフワッと出て初期設定はミュートで自動再生されます。しかもメンテ不要!【コードあり】


Webサイトの運営において、「直帰率が高く、ユーザーがすぐに離脱してしまう」「ページ全体の滞在時間(Time on Site)を伸ばしたい」という課題は多くの担当者を悩ませます。

今回は、Webページを開いた際に、特定のYouTubeチャンネルの最新動画を画面右上にふわっと浮遊(ポップアップ)させ、自動再生(ミュート)でユーザーの視線を引きつける軽量なJavaScriptコードをご紹介します。

このコードを書いた理由(開発の背景と効果)

既存の「固定位置への埋め込み(インライン埋め込み)」には、いくつかのデメリットがありました。

  • ページの特定の場所までスクロールしてもらえないと、動画の存在に気づかれない。
  • 毎回同じ動画が表示されるため、リピーターに飽きられてしまう。

これらの課題を解決し、さらに「サイトの滞在時間を引き上げる」という明確な目的を持ってこのスクリプトを開発しました。

なぜこのコードで「滞在時間」が上がるのか?

1.スクロール中も常に動画が目に入る:ページを開いた瞬間から、画面の右上(邪魔になりにくい位置)に固定で表示されるため、認知率が圧倒的に高まります。テキストを読む邪魔をせずに「つい動画を目で追ってしまう」状態を作ります。
2.「動画を眺める時間」がそのまま滞在時間に:テキストを読み終えた後や、ページの移動を迷っている瞬間にも動画が再生されているため、ユーザーがサイトに留まる秒数が自然と伸びます。
3. ミュート解除やクリックを誘発し、エンゲージメントを高める:自動再生(消音)で動いている動画は、静止画のバナーよりもクリック率が格段に高いです。「あ、おもしろそうな動画だな」と興味を持ったユーザーが音声をオンにしたり、クリックして見入ったりすることで、サイト全体のエンゲージメントと滞在時間が劇的に向上します。
4.「最新20本からランダム再生」で新鮮さをキープ:アクセスするたびに違う動画が流れるため、リピーターユーザーにも「毎回新しい発見があるサイト」として飽きさせません。

🛠️ 実装コード

以下のコードを、WebサイトのHTMLの 直前や、Googleタグマネージャー(GTM)の「カスタムHTML」に貼り付けるだけで動作します。

<script>
(function() {
  // 1. 指定チャンネルの「アップロード動画一覧」のプレイリストIDを設定
  // チャンネルID「UCvpredjG93ifbCP1Y77JyFA」の「UC」を「UU」に変えることで全動画リストになります
  var playlistId = "UUvpredjG93ifbCP1Y77JyFA"; 

  // 最新20本の中からランダムなインデックス(0〜19)を抽出
  var randomStartIndex = Math.floor(Math.random() * 20);

  // 2. HTML要素を動的に作成
  var container = document.createElement('div');
  container.id = 'youtubePopup';
  
  var closeBtn = document.createElement('button');
  closeBtn.innerText = 'X';
  closeBtn.onclick = function() {
    container.style.display = 'none';
  };

  var wrapper = document.createElement('div');
  var iframe = document.createElement('iframe');
  
  // 埋め込みURLの生成(autoplay=1 で自動再生、mute=1 で消音 ※ブラウザの自動再生ポリシー対策)
  iframe.src = 'https://www.youtube.com/embed/?listType=playlist&list=' + playlistId + '&index=' + randomStartIndex + '&autoplay=1&mute=1';
  iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture');
  iframe.setAttribute('allowfullscreen', 'true');

  // 3. 要素を組み立ててDOMに追加
  wrapper.appendChild(iframe);
  container.appendChild(closeBtn);
  container.appendChild(wrapper);
  document.body.appendChild(container);

  // 4. スタイル(CSS)をJavaScriptから動的に適用
  var styles = {
    position: 'fixed',
    top: '100px',
    right: '20px',
    zIndex: '999999',
    boxShadow: '0 4px 15px rgba(0,0,0,0.3)',
    borderRadius: '8px',
    overflow: 'hidden',
    backgroundColor: '#000000',
    width: '320px'
  };
  for (var key in styles) { container.style[key] = styles[key]; }

  // 閉じるボタンのスタイル
  var btnStyles = {
    position: 'absolute',
    top: '5px',
    right: '5px',
    backgroundColor: 'rgba(0,0,0,0.7)',
    color: '#ffffff',
    border: 'none',
    borderRadius: '50%',
    width: '24px',
    height: '24px',
    fontSize: '14px',
    cursor: 'pointer',
    lineHeight: '24px',
    textAlign: 'center',
    zIndex: '1000000'
  };
  for (var key in btnStyles) { closeBtn.style[key] = btnStyles[key]; }

  // 動画枠のスタイル(アスペクト比16:9を維持)
  wrapper.style.position = 'relative';
  wrapper.style.paddingTop = '56.25%';
  wrapper.style.width = '100%';

  // iframeを枠内にぴったり合わせる
  var iframeStyles = {
    position: 'absolute',
    top: '0',
    left: '0',
    width: '100%',
    height: '100%',
    border: 'none'
  };
  for (var key in iframeStyles) { iframe.style[key] = iframeStyles[key]; }
})();
</script>
運用メンテナンスの手間も「ゼロ」

YouTubeの標準仕様(プレイリスト機能)を応用し、チャンネルIDから自動的に「アップロード動画一覧」を読み込んでいます。
これにより、YouTube側に動画を新しく投稿すれば、Webサイト側のコードを一切触ることなく、自動的に最新動画がランダム再生の候補に含まれるようになります。

自動再生には「ミュート(消音)」が必須

近年のブラウザの仕様(自動再生ポリシー)に合わせ、コード内のURLパラメーターに `&autoplay=1&mute=1` を付与し、最初は音が出ない状態で確実に自動再生が始まるように対策しています。突然音が鳴ってユーザーが不快になり、離脱してしまうリスクも防いでいます。

まとめ

外部ライブラリを一切使わず、バニラJavaScript(純粋なJS)だけで記述されているため、Webサイトの読み込み速度(パフォーマンス)を落とすことなく導入可能です。
「サイトの滞在時間をじわじわ底上げしたい」「せっかく作った動画コンテンツを眠らせたくない」というWeb担当者の方は、ぜひ自社サイトでお試しください!
設置方法が不明な方は下記サービスにてサポートします。

GTMの相談からサイトへの実装をお受けします ウェブサイトの読み込みスピードを爆速化

ユーザーの離脱を防ぐ!数行のコードで実装する「ページ読み込みプログレスバー」の作り方

ウェブサイトの表示速度は、ユーザー体験(UX)やコンバージョン率に直結する重要な要素です。しかし、どれだけ軽量化しても、ユーザーの通信環境などにより読み込みに時間がかかってしまうことがあります。
今回は、ページ上部にプログレスバー(進行状況バー)を表示し、ユーザーの体感速度を改善する方法をご紹介します。

プログレスバーを設置した背景

ウェブサイトの運営において、以下の課題を解決するためにプログレスバーを導入しました。
真っ白な画面によるユーザーの不安:読み込み中に画面が動かないと、ユーザーは「フリーズしたのでは?」と不安になります。
直帰率・離脱率の悪化:読み込み完了を待てずに、ブラウザの「戻る」ボタンを押してしまうユーザーが一定数存在していました。
リソースの多いページのUX低下:画像や外部スクリプトが多いページでは、完全に表示されるまでの「待ち時間」を視覚的にフォローする必要がありました。

設置して解決できたこと(導入メリット)

プログレスバーを設置したことで、以下の効果が得られました。

  1. 体感待ち時間の短縮:画面上部でバーが動くため、ユーザーの意識が「待ち時間」から「進行状況」に移り、体感的な速度が向上しました。
  2. 離脱率の改善:あとどれくらいで読み込みが完了するかが視覚的に伝わり、ユーザーが安心して待てるようになったため、離脱が減りました。
  3. サイトの信頼感向上:細かなUXへの配慮が、サイト全体のクオリティや安心感に繋がりました。
実装用コード(HTML & JavaScript)

HTMLの任意の場所(の直後など)や、Googleタグマネージャー(GTM)のカスタムHTMLとしてそのまま貼り付けて使えるコードです。

<div id="gtm-load-progress" style="
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background-color: #3498db; /* バーの色(お好みで変更してください) */
  z-index: 99999;
  pointer-events: none;
  transition: width 0.4s ease, opacity 0.4s ease;
"></div>

<script>
(function() {
  var bar = document.getElementById('gtm-load-progress');
  if (!bar) return;

  // 1. ページ読み込み中に疑似的にバーを進める(最大85%まで)
  var progress = 0;
  var timer = setInterval(function() {
    if (progress >= 85) {
      clearInterval(timer);
    } else {
      // ランダムに少しずつ進める
      progress += Math.random() * 15;
      if (progress > 85) progress = 85;
      bar.style.width = progress + '%';
    }
  }, 200);

  // 2. ページの全リソース(画像など)が読み込まれたら100%にして消去
  window.addEventListener('load', function() {
    clearInterval(timer);
    bar.style.width = '100%';
    
    // 100%に達した後にフェードアウト
    setTimeout(function() {
      bar.style.opacity = '0';
      // アニメーション完了後に要素を削除
      setTimeout(function() {
        if (bar && bar.parentNode) {
          bar.parentNode.removeChild(bar);
        }
      }, 400);
    }, 300);
  });
})();
</script>
コードのポイント

1.疑似アニメーション:読み込み完了前でも200ミリ秒ごとに最大85%まで自動でバーが進むため、ユーザーを退屈させません。
2.正確な完了検知:window.loadイベントを検知すると、一気に100%まで伸びて読み込み完了を知らせます。
3.自然な消滅効果:100%になった後、ふわっと消える(フェードアウト)エフェクトを入れており、不要になった要素はDOMから自動削除されるためサイトの邪魔になりません。
サイトのデザインに合わせて background-color(バーの色)や height(バーの太さ)を調整して、ぜひ活用してみてください。

アイルランドへの道は険しい:フランスで搭乗拒否され、別ルートで目的地にたどり着くまで


2025年にアイルランドに1人で行く機会があり、フランスで搭乗拒否される

オンラインコミュニティの集まりがアイルランドで開催されたので、Googleの国際会議に参加してきた。
学生時代もフィンランドの国際会議に参加したことはあるが、そのときは教授同伴のだったので安心感はあったが完全にワンマンプレーである。

まずGoogleのイベントなんて、日本でやればいいのでは?と思ってしまいがちだが、
インターネットと言えど各国の法規制があるので、全世界の人が集まって足並みを揃えようねというのがこのイベントの趣旨である。

問題はシャルル・ド・ゴール空港でトランジットの搭乗拒否されるところから始まる

iPhoneに事前に航空会社から搭乗券のQRコードが送られてくるので、スマホにチケットを用意してかざす。
トランジットする空港だったのでフランス人のCAさんが対応してくれたが…

「Expire(有効期限切れ)」

と言っていて、最初カウンターでかざしたときは有効期限内で、次かざすときは無効になっていてもはや意味不明である。

「じゃあどうしたらいいんだ?」と聞いたら、「地下〜階に降りて、AirFranceの総合カウンターに戻ってチケットを再発券しろ(英語)」

と説明してくるので、総合カウンターに戻ることに。
でも総合カウンターにはどうやって戻るのか、謎すぎる状況。
その当時はなんかこの人「地下に行け」と言っていたので、なんで地下なのかな?と思ったら

シャルル・ド・ゴール空港はこういう構造になっているようで、放射線状にターミナルが広がっているので地下を歩けということらしい。
この地下を歩いたわけである。
英語の表示に従って、総合カウンターに戻って事情を説明する。
スピーチに全く自信はないが、こういうときは英語話せるもんなんだなと。
Google翻訳の日本語×現地の同時通訳モードもあるので、海外旅行もだいぶ便利な世の中になったものだ。

総合受付に戻って紙のチケットを再発券してもらうことに

その際に日本の旅行代理店の方とメールしてて、航空券を手配した旅行代理店は旅行者(=自分)がどこにいるのかトラッキングできるシステムがあるようで、
iPhoneにめっちゃチャットが入って、

「フランスで足止めを食らっていることかと思います、オランダ経由のチケットを手配しましたので、Apple Walletで航空券を送ります」

と送ってもらって事なきを得る。
航空券のeTicketを日本からAppleWallet経由で送られると便利な時代になったものだ。
そして旅行代理店は旅行者が今、どこの空港にいるのかトレースができるようで画期的なシステムだなと思った。

高齢者の場合、e-ticketの受け取り方がわからずに死ぬのでは?とも思ったが、海外でも通信できるahamoにしておいておかげである。



ahamoは月額2,970円で追加料金なしで91カ国で追加料金なしで電話もインターネットもできるので、かなりahamoに助けられた感じだ。
まずインターネットできなかったらe-ticketの受け取りもチャットもできないのでかなり不便である。

次に心配なのが荷物は届くのか?問題

人間は搭乗拒否されたけれど、荷物は先にアイルランドに行ってしまうので荷物がピックアップできるのか心配である。
ただトランクに貼られたバーコードには最終目的地の記載があるバーコードが貼られるので、途中で人間と荷物が離れ離れになってしまっても最終地点では再会できる仕組みになっているようだ。
以前もイギリスに行ったときに同行した人が、「ロストバゲージ」しちゃったんでスーパーで服買ってきますと明るそうに言っていて、大丈夫なのか?と思ったら
次の日にはホテルに荷物が届けられていて、すごい仕組みだなと感心したし
自分がアイルランドに行ったときもターンテーブルに自分の荷物が出てきて、航空会社のシステムはすごいなぁと驚いた。

アイルランドまでエールフランスで行く予定だったが、フランス・オランダ間がKLMになった

エールフランスがトランジットのチケットを手配をミスったので、オランダ行きのエールフランスの時刻表を見ていたのだが、フライトはKLMだった。
KLMは僕を無償で輸送してくれるのかな?と疑問に思っていたが、エールフランスとアライアンスを組んでいる航空会社に引き継がれるらしい。

よく空港でこのフライトはコードシェア便ですとアナウンスしていて、今までは全く興味はなかったが
このアライアンスを組んでいる航空会社でトラブルがあると、アライアンスを組んでいる別の航空会社がお客さんを運んでくれる仕組みらしい。
JRで人身事故があったら、京王線で振替輸送するみたいな仕組みが飛行機にもあるらしい。
電車の場合は1本逃しても数分後に次の電車が来るが、フライトの場合1本逃すと1日足止めを食らってしまうので違うエアラインを使えるのはありがたいシステムである。

「え、長方形じゃないの!?」世界で2つしかない『正方形の国旗』スイスの秘密

iPhoneのキーボードは国名を入力数と国旗が出力される

🇺🇸🇨🇦🇫🇷🇮🇹🇪🇸🇦🇺🇳🇱🇨🇭🇦🇹🇩🇪🇫🇮🇹🇭🇰🇭🇻🇳🇨🇳🇸🇬🇮🇩🇳🇨🇬🇧🇪🇬🇮🇪🇹🇿

「アメリカ」などと打てば「🇺🇸」の国旗が打てる。
その中でスイスの国旗だけ、正方形でiPhoneのキーボードが壊れているのではないかと思っていた。

しかし国旗の縦横比は正確にはこのような分布になっていて、正確には同じサイズではないよう。
大学時代からずっとスイスの国旗だけバグってるのでは?と思っていたのだが、
世界中でバチカン市国とスイスだけ国旗が1:1の正方形のようです。

スイスだけ特別扱いされてるのはどうしてだろう?

1. 始まりは「兵士の目印」
スイス国旗のルーツは、1339年の「ラウペンの戦い」にまで遡ります。当時、バラバラの地域から集まったスイス連邦の兵士たちは、混戦の中で味方を見分ける必要がありました。そこで、赤い上着に白い布で作った「十字」を縫い付けたのが始まりです。これが現在の「赤地に白十字」のデザインの起源となりました。

2. 中世の軍旗が「正方形」だった
15世紀から16世紀にかけて、スイスの各地域(カントン)は独自の軍旗を掲げて戦っていました。中世ヨーロッパにおける軍旗は、陣形を整えたり、戦場での指揮を取ったりするために「上下左右のバランスが良く、風に煽られても形が崩れにくい正方形」で作られるのが一般的でした。スイスの兵士たちはこの正方形の軍旗を非常に誇りにしていました。

3. 伝統の維持と正式採用
19世紀に入り、ヨーロッパ諸国が船舶での視認性を高めるために「長方形(主に2:3や3:5)」の国旗を次々と採用するようになっても、スイスは陸軍の伝統的な正方形にこだわり続けました。そして1889年、スイス連邦議会は「正方形の赤地に白十字」を正式な国旗として法律で制定しました。

4. 例外としての長方形(商船旗)
基本は正方形ですが、例外もあります。海を持たないスイスですが、国際的な公海や河川を進むスイスの「商船(民間船)」が掲げる旗は、国際基準に合わせて「2:3の長方形」と定められています。オリンピックなどの国際行事でも、基本的には正方形の国旗がそのまま使われます。

高校生くらいからずっと疑問だったのですが、ようやく解決しましたね。

【保存版】SpaceX【SPCX】上場の祭り、結果は?楽天証券での当落確認方法をまとめました

数日前に家族に勧められてSpaceXの申し込みをしてみました

ついにこの日が来ましたね!宇宙産業の巨人、SpaceX(スペースX)が本日2026年6月12日、ナスダック市場に上場を果たしました。
今回のIPOは、世界中から投資家の熱い視線が注がれており、国内の証券会社でも激しい争奪戦が繰り広げられたことでしょう。楽天証券で申し込みをされた方は、結果が気になって仕事が手につかない……という方も多いはず。

早速、楽天証券の管理画面から当落を確認する手順を解説します。

1. 楽天証券にログイン

まずは、楽天証券の公式サイトにアクセスし、ログインしてください。

2. IPO専用ページへアクセス
メニューバーの「国内株式」を選択し、サブメニューにある「新規公開株式(IPO)」をクリックします。
※米国株IPOの場合は「米国株式」メニューから確認が必要なケースもあるため、両方チェックしましょう。

3. 抽選結果の確認
「新規公開株式(IPO)」ページ内に「抽選結果」または「申込履歴」といった項目があります。ここをクリックすると、申込済みの銘柄が表示されます。


当選: 購入申込期間中に、忘れずに「購入手続き」を行ってください。期間を過ぎると権利が消滅します。
補欠当選: 繰り上げ当選の可能性があります。購入申込をしておけば、チャンスが残ります。
落選: 残念ながら今回は縁がなかったようです。次回の銘柄に期待しましょう!

抽選結果はメールでも届く
楽天証券では、登録しているメールアドレス宛にも抽選結果の通知が届きます。サイトにアクセスしにくい場合は、メールボックスをチェックしてみるのも良いでしょう。

まとめ
今回、SpaceXのIPOという歴史的な瞬間に立ち会えたこと自体が、投資家として貴重な経験です。もし当選された方は本当におめでとうございます!
IPOは「運」も多分に含まれますが、継続して挑戦し続けることが当選への近道です。次なるチャンスに向けて、これからも宇宙関連銘柄や注目のIPOをチェックしていきましょう!
(※本記事は2026年6月時点の情報を基に作成しています。詳細な取扱規定は楽天証券の公式発表をご確認ください。)

注目記事