管理者 のすべての投稿

BitLockerでCドライブを安全に暗号化する方法【Windows 11 Pro対応】

パソコンに保存されているデータは、盗難や紛失によって第三者に閲覧されるリスクがあります。特にCドライブには、Windowsのシステムファイルやユーザーの個人データが多く保存されているため、セキュリティ対策が欠かせません。
Windows 11 Pro には標準で BitLocker ドライブ暗号化 機能が搭載されており、これを利用することで強固にデータを守ることが可能です。

本記事では、Windows 11 Pro 環境で Cドライブを BitLocker で安全に暗号化する手順に加え、メリットとデメリットも解説します。


BitLockerとは?

BitLocker は、Microsoft が提供する ドライブ全体を暗号化する機能 です。これにより、PCを起動できても暗号化解除キーがなければデータを読み取ることはできません。
主な特徴は以下のとおりです:

  • Windows Pro / Enterprise エディションに標準搭載

  • OSドライブ(Cドライブ)やデータドライブを暗号化可能

  • TPM(Trusted Platform Module)チップやPINコードとの組み合わせでさらに強固なセキュリティ

  • 回復キーを利用することで万一のトラブルにも対応可能


BitLockerのメリットとデメリット

メリット

  1. セキュリティ強化

    • デバイスを盗難されても、暗号化されていればデータを読み取られる可能性が極めて低い。

  2. OS標準機能

    • 別途ソフトを購入する必要がなく、Windows Pro以上であればすぐ利用可能。

  3. 管理が容易

    • BitLockerはWindowsの管理画面から簡単に設定・解除できる。

    • Microsoftアカウントに回復キーを保存できるため、紛失リスクを減らせる。

  4. パフォーマンスへの影響が少ない

    • 最近のPCではハードウェア支援により、暗号化の処理負荷はほとんど体感できない。

デメリット

  1. 回復キー紛失のリスク

    • 回復キーをなくすと、暗号化ドライブ内のデータは二度と復旧できない。

  2. 初回暗号化に時間がかかる

    • 特にHDD搭載PCでは数時間以上かかることもある。

  3. エディション制限

    • Windows 11 Home にはBitLockerが搭載されていないため、Pro以上にアップグレードが必要。

  4. システム変更時に制約がある

    • マザーボードやストレージを交換すると、起動時に回復キーの入力を求められる場合がある。


BitLockerを有効化する前に準備すること

  1. Windowsのエディションを確認

    • 「設定」→「システム」→「バージョン情報」で「Windows 11 Pro」と表示されていることを確認。

      Windows11_バージョン情報
  2. TPMの有無を確認
    TPM(Trusted Platform Module) は、パソコンに搭載されている セキュリティ専用のチップ のことです。BitLockerをはじめとする暗号化や認証の仕組みにおいて、とても重要な役割を果たします。

    • Win + Rtpm.msc を入力し、TPMが有効になっているか確認。
      中央の状態欄へ「TPMは使用する準備ができています。」と表示されていれば有効です。

      Windows11_TPMの有効確認

      ✅ TPMの役割

      1. 暗号鍵の安全な保管

        • BitLockerはCドライブを暗号化しますが、その鍵を安全に管理する必要があります。

        • TPMは暗号鍵をPC内部のチップに保存し、外部から抜き取られないように守ります。

      2. 起動時のセキュリティ確認

        • PCを起動する際、TPMが「改ざんされていないか」をチェックします。

        • 不正にブート領域が書き換えられていた場合、BitLockerは自動解除されず、回復キーの入力を求めます。

      3. パスワードやPINとの併用

        • TPMだけでなく、PINコードやUSBキーを組み合わせることで、より強固な二重・三重のセキュリティを構築できます。

  3. 回復キーの保存場所を決める

    • Microsoftアカウント、USBメモリ、印刷、クラウド保存などが可能。

  4. バックアップを取る

    • 万一に備え、重要データは外部に保存してから暗号化を開始しましょう。


CドライブをBitLockerで暗号化する手順

1. BitLocker管理画面を開く

  • 「スタート」メニュー → 「設定」

  • 「プライバシーとセキュリティ」 → 「デバイス暗号化」または「BitLockerの管理」
    表示されない場合は、検索バーにBitLockerと入力すると出てきます。

    Windows11_BitLockerの管理メニュー

2. BitLockerを有効化

  • Cドライブの横にある「BitLockerを有効にする」をクリック。

    Windows11_BitLockerの有効
  • 暗号化解除方法(TPM + PIN / パスワード / USBキー)を選択。

3. 回復キーの保存

  • 推奨:Microsoftアカウント + USBメモリの併用

4. 暗号化範囲の選択

  • 使用済み領域のみ(速いがリスクあり)

  • ドライブ全体(安全性が高い)
    → 初回は「ドライブ全体」を推奨。

5. 暗号化方式の選択

  • 新しい暗号化モード(Windows 10/11専用、より安全)

  • 互換モード(旧PCでも使う可能性がある場合)

6. 暗号化の開始

  • 再起動後に処理が進行し、完了するとCドライブ全体が保護されます。


暗号化後の確認

  • 「エクスプローラー」でCドライブを右クリック → 「BitLockerの管理」

  • 「BitLockerが有効」と表示されれば完了です。


注意点とトラブル対策

  • 回復キーは複数箇所に保管

  • 暗号化には時間がかかるため、余裕のある時に実行

  • 古いPCでは若干パフォーマンス低下の可能性

  • システム更新やハード変更時に回復キー入力を求められることがある


まとめ

Windows 11 Pro で利用できる BitLocker は、Cドライブを安全に暗号化できる強力なセキュリティ機能です。

  • メリット → 強固なデータ保護、OS標準、パフォーマンス低下が少ない

  • デメリット → 回復キー紛失リスク、暗号化に時間がかかる、Home版非対応

回復キーを必ず安全に保管し、バックアップも忘れずに行うことで、安心してPCを利用できるようになります。

Googleカレンダーで休暇を入れたら自動でチャットに通知させる方法

リモートワークやハイブリッドワークが普及する中で、**「自分が有給休暇で不在になることを関係者に自動で伝えたい」**というニーズは高まっています。


Googleカレンダーに休暇を登録するだけで、自動的にMicrosoft TeamsやSlackに通知できれば、わざわざ手動で連絡する必要がなく便利なので上手く使いこなしましょう。

この記事では、Googleカレンダーを使った休暇登録方法と、Teamsなどへの自動通知の仕組みを解説します。


休暇をカレンダーに登録する方法

個人アカウントの場合

  • 通常の「予定」に「有給休暇」「不在」などと入力して登録します。

  • 標準で「不在」タブは表示されません。

Google Workspace(仕事用アカウント)の場合

  • 「予定」「タスク」に加えて 「不在(Out of Office)」タブ が表示されます。

  • 「不在」で登録すると、休暇期間中の会議招待に 自動で辞退返信 できます。


「終日」チェックの使い分け

「時間を追加」を選択すると「終日」というチェックボックスが表示されます。

  • チェックを入れる → 1日まるごと休暇として登録(一般的な有給に最適)

  • チェックを外す → 午前休・午後休など、時間帯を指定して登録

👉 まる1日の有給休暇を登録する場合は、「終日」にチェックを入れましょう。


方法1:ゲスト招待で簡単に通知

Googleカレンダーには「ゲスト招待」機能があります。

  1. 休暇予定を作成(例:タイトル「有給休暇」)

  2. 「ゲストを追加」に同僚のメールアドレスを入力

  3. 保存するとゲストに通知メールが自動送信

➡ ただし、この方法では メール通知が中心で、TeamsやSlackには直接連携されません


方法2:Zapierを使ってTeamsに自動通知

Zapier を使えば、Googleカレンダーの予定をTeamsに自動で投稿できます。

設定手順

  1. Zapier にログインして新しいZapを作成

  2. Trigger(トリガー):「Google Calendar → New Event」

  3. 条件:「タイトルに『休暇』や『有給』を含む場合」

  4. Action(アクション):「Microsoft Teams → Send Channel Message」

  5. 通知先のチームとチャンネルを指定

  6. Zapを保存して有効化

➡ これでGoogleカレンダーに「有給休暇」と登録すると、自動でTeamsに通知されます。


方法3:Power AutomateでTeamsに自動通知

Microsoft 365を利用している場合は、Power Automate での連携もおすすめです。

フロー作成の流れ

  1. Power Automate にアクセス

  2. トリガー:「Google Calendar → イベントの作成時」

  3. 条件:「件名に『休暇』『不在』を含む場合」

  4. アクション:「Teams → チャンネルにメッセージを投稿」

  5. 保存して有効化

➡ Zapierと同様に、休暇登録が自動でTeamsに通知されます。


どの方法を選ぶべきか?

  • 個人アカウント利用 → 「予定」に休暇を入れてZapierやPower Automateで通知

  • Google Workspace利用 → 「不在」タブで休暇登録+Teams通知を自動化

  • メール通知で十分 → ゲスト招待機能で対応


まとめ

Googleカレンダーを活用すれば、休暇登録と同時に自動でチームに通知できます。

  • 「終日」チェックを使えば、1日まるごとの休暇登録が可能

  • Workspaceアカウントなら「不在」タブで自動辞退も便利

  • TeamsやSlackへの通知はZapierやPower Automateで実現

👉 業務効率化だけでなく、休暇中も安心してチームに任せられる環境づくりに役立ちます。

Excelで年間カレンダーを自作する方法|月間・週間スケジュールにも対応

Excelを使えば、自分専用のカレンダーを簡単に作れます。この記事では、年間・月間・週間の3種類のカレンダーを順に作成し、最後に祝日を自動反映するマクロを組み込みます。

旧バージョン(Excel 2010〜2021)でも動作するよう、関数は基本的なものだけを使用しています。


ステップ1:年間カレンダーを作る

  1. 年入力セルを用意

    • B1セルに「2025」など西暦年を入力

  2. 日付列を生成

    • A3セルに次の数式を入力し、365行コピー

      =DATE($B$1,1,1)+ROW(A1)-1

  3. 曜日を表示

    • B3セルに

      =TEXT(A3,"aaa")
  4. 条件付き書式で土日を色分け

    • 土曜:=WEEKDAY($A3,2)=6

    • 日曜:=WEEKDAY($A3,2)=7

    • 祝日:=COUNTIF(祝日!$A:$A,$A3)>0


ステップ2:月間カレンダーを作る

  1. 入力セル

    • B1=年、D1=月

  2. 月初を算出

    • B3セルに

      =DATE($B$1,$D$1,1)-WEEKDAY(DATE($B$1,$D$1,1),2)+1
  3. カレンダー枠を埋める

    • 各セルに =$B$3+オフセット を入力

  4. 条件付き書式

    • 他月の日付はグレー表示

    • 土日を色分け


ステップ3:週間カレンダーを作る

  1. 週の開始日を指定

    • B1セルに「週の開始日」(例: 2025/9/29)を入力

  2. 見出し表示

    • B2以降に

      =TEXT($B$1+列番号,"m/d(aaa)")
  3. 条件付き書式

    • 列ごとに「土曜」「日曜」「祝日」を判定して色付け


ステップ4:祝日を自動反映する

仕組み

  • 固定祝日(元日、建国記念日など)

  • ハッピーマンデー制度(成人の日、海の日、敬老の日、スポーツの日)

  • 春分・秋分(1980〜2099年は近似式で計算)

  • 振替休日(日曜の祝日→翌平日)

  • 国民の休日(祝日で挟まれた平日)

このルールをVBAで計算し、「祝日」シートに一覧化 → 他シートが COUNTIF で参照して色分けします。
※ネットから取得しているわけではありません。


VBAコード全文(標準モジュールに貼り付け)


ステップ5:完成版テンプレート

上記の手順をすべてまとめた「サンプルExcelカレンダー.xlsm」を用意しました。

  • 年間/月間/週間カレンダー

  • 祝日シートに年を入力 → [最新の祝日を取得] ボタン

  • 祝日・土日が自動で色分け

📂 ダウンロード:Excelサンプルをダウンロード


まとめ

  • Excel標準機能(DATE、TEXT、WEEKDAY、COUNTIF)で年間・月間・週間カレンダーを作成

  • VBAマクロで祝日リストを自動生成 → 条件付き書式で色分け

  • 配布テンプレートを使えばすぐに利用可能

Oracle「ORA-06502: PL/SQL 数値または値エラー」エラーが出た時の解決方法

Oracle データベースを利用していると、**「ORA-06502: PL/SQL: 数値または値エラー」**というエラーに遭遇することがあります。これは比較的よく見られるエラーの一つで、主に「データ型の不一致」や「文字列長の超過」が原因です。この記事では、このエラーの代表的な原因と解決方法を解説します。


ORA-06502 エラーの意味

エラーメッセージ全文は以下のようになります。

 
ORA-06502: PL/SQL: 数値または値エラー

このエラーは、PL/SQL 実行時に「値が期待されるデータ型に収まらない」場合に発生します。例えば以下のケースです。

  • 数値型の変数に、文字列を代入しようとした場合

  • VARCHAR2 の長さ制限を超える文字列を代入した場合

  • 型変換関数(TO_NUMBER, TO_DATE など)が失敗した場合


よくある原因と解決方法

1. 文字列長の超過

原因: 変数 VARCHAR2(5) に 6文字を代入している。

解決方法: 変数の長さを見直す、あるいは SUBSTR を利用して長さを調整する。


2. 数値変換エラー

原因: 数値に変換できない文字列を渡している。

解決方法: 入力値が数値かどうかを事前にチェックする。正規表現を利用するのも有効です。

 
IF REGEXP_LIKE('123', '^[0-9]+$') THEN v_num := TO_NUMBER('123'); END IF;

3. 不正な日付変換

原因: 存在しない日付を変換しようとした。
解決方法: 入力フォーマットをチェックし、妥当な値のみ渡す。


4. 数値桁数のオーバーフロー

原因: 定義した精度・スケールを超える値を代入している。

解決方法: NUMBER の定義を見直す、または値を丸める。


トラブルシューティングのポイント

  • エラー発生時の 変数定義 を確認する

  • DBMS_OUTPUT.PUT_LINE代入しようとしている値 を出力する

  • データベースの カラム定義と変数定義の不一致 を確認する

  • 外部入力(CSV など)を扱う場合は 入力データの妥当性チェック を行う


まとめ

「ORA-06502」エラーは、ほとんどの場合 データ型の不一致値の範囲超過 が原因です。
再発防止のためには以下が重要です。

  • 変数やカラムの定義を余裕を持たせて設計する

  • 入力値チェックを徹底する

  • デバッグ時に DBMS_OUTPUT を活用して値を追跡する

これらを意識することで、エラーを効率的に解消できるはずです。

Three.jsで簡単3D演出!初心者でもホームページをかっこよくする方法

「ホームページをかっこよく見せたい」「シンプルに3D演出を加えてみたい」──そんなときに役立つのが Three.js です。
JavaScriptだけで3Dオブジェクトを動かせる便利なライブラリで、近年のWebサイトでも多く使われています。

この記事では 最新版 Three.js (r180) を使って、実際に「回転する立方体」を表示するサンプルを紹介します。


1. Three.jsとは?

Three.js は WebGL をラップしたライブラリで、難しい低レベルコードを書かなくても以下のような処理が可能です。

  • 3Dオブジェクトの作成(立方体・球体・モデルの読み込み)

  • カメラの制御

  • ライトの設置

  • マテリアルやシェーダーの設定

  • アニメーション処理


2. サンプルコード(最新版 Three.js r180 対応)

以下は 最小構成のサンプル です。
HTMLファイルを作成して保存してください。

 

3. デモ(実際に動くサンプル)

このブログ記事では、外部ファイルとして用意したサンプルhtmlを iframe で埋め込んで表示してます。

デモ1:基本の回転する立方体

👇 実際に回転する立方体が表示されます。 

デモ2:ライトを使った立方体

光源を加えることで、立方体に陰影がつき、立体感が増します。

デモ3:マテリアル変更

単色ではなく、ワイヤーフレームや透過マテリアルを適用できます。

デモ4:カメラ操作

OrbitControlsを使うと、マウスで回転・拡大縮小できるインタラクティブなデモが可能です。


4. ローカルで動かすには?

上記のコードをコピーして test.html などの名前で保存 → ブラウザで開いても、真っ白になる場合があります。
これは ES Modules を使う Three.js の最新版では、file:/// での読み込みがセキュリティ上ブロックされるためです。

✅ 解決方法

ローカルで動かすには 簡易Webサーバ を立ち上げる必要があります。

例:

  • Python がある場合

    python -m http.server 8000

  • Node.js がある場合 

    npx http-server -p 8000

その後、ブラウザで
http://localhost:8000/test.html
を開くと正しく表示されます。


5. まとめ

  • Three.jsを使えば簡単に3D演出を加えられる

  • 最新版 (r180) は ES Modules形式file:/// では動作しない

  • 実際の環境では Webサーバ経由で実行する必要がある

  • WordPress記事に埋め込む場合は iframe で外部HTMLを呼び出すのが安全

これをベースに、さらにライト・カメラ操作・外部モデル読み込みを試していけば、よりリッチな演出を作れます!

Adsenseでシンガポール用の税務情報提出が必要になってたので居住者証明書を取得してみました

最近なんですかね、Google Adsense画面見てたら「お支払い⇒ 設定 ⇒ 税務情報の管理」の画面に以下のようにシンガポールへ「お支払いに対して正しい税額が源泉徴収されるようにするため、できるだけ早急に税務情報をご提出ください。」と表示されてました。

これを提出していないとAdsense報酬額が以下のように課税分が引かれた額で振り込まれることになるので必ず提出しておきましょう。
ブログなどの報酬はシンガポール、YouTubeの報酬はアメリカへの税務情報が必要になります。

✅ ブログ/サイト収益(シンガポール経由)

  • 日本居住者が提出すれば → 0%(満額)

  • 未提出だと → シンガポール側で10%〜15%程度の源泉徴収 がかかる可能性

    • 例:報酬 10,000円 → 1,000〜1,500円ほど引かれて 8,500〜9,000円 受取


✅ YouTube収益(アメリカ経由)

  • 日本居住者が提出すれば → 0%(満額)

  • 未提出だと → 米国で30%源泉徴収(全世界収益が対象!)

    • 例:報酬 10,000円 → 3,000円引かれて 7,000円受取

  • しかも日本でも課税されるので、ほぼ確実に二重課税


✅ 例:報酬10,000円の場合

区分 税務情報提出済み 未提出(シンガポール) 未提出(アメリカ)
ブログ収益 (AdSense) 10,000円 8,500〜9,000円
YouTube収益 10,000円 7,000円

👉 未提出だと10〜30%減額される と考えておいた方がよさそうです。
提出しておけば 満額振込→日本で確定申告して納税 なので損をしません。

提出してみたら「税務情報を確認するために追加書類が必要です。」で差し戻された

税務情報追加の際、証明書の選択で「その他の書類」と「税法上の居住地の証明書」の2パターン選択できるのですが、最初に提出時は「その他の書類」を選択して免許証やマイナンバーカード、公共料金の領収書を添付してみたのですが、「税務情報を確認するために追加書類が必要です。」で差し戻されてしまいました。。

色々調べたら税務署が発行している「居住者証明書」を提出するのが一番確実みたいなので、

「居住者証明書」を取得してみたのが経緯になります。本当面倒。。

居住者証明交付申請書の記載方法と提出方法

日本の税務署で取得できる 居住者証明書交付請求書の記載方法 を、申請手順と一緒に解説します。


1. 居住者証明書とは?

  • 租税条約に基づき、日本の居住者であることを証明する書類

  • 日本の税務署が発行する正式な証明書

  • 海外の税務当局や企業(例:Google Asia Pacific)に提出することで、源泉徴収免除や軽減が適用される


2. 交付請求書の入手先

  • 国税庁ホームページからダウンロード可能(かなりわかりにくい場所にあります。。)
    https://www.nta.go.jp/taxes/shiraberu/taxanswer/osirase/9210.htm

  • 名称:居住者証明書交付請求書・居住者証明書(租税条約等締結国用)

  • 税務署窓口でも配布されています


3. 記載方法(主な項目)

(1) 宛名

  • 自分の住所地を管轄する税務署長あてに記入

  • 例:葛飾 税務署長 あて

(2) 請求日

  • 税務署へ提出する日付を記入(郵送なら投函日)

  • 西暦/和暦どちらでもOK

(3) 住所

  • 住民票の住所と同じ書き方 を日本語で記入

  • 英語欄はローマ字で記入

    • 例:
      日本語:東京都葛飾区立石一丁目99番99号
      英語:Tokyo-to, Katsushika-ku, Tateishi 100-chome 99-99

(4) 氏名

  • フリガナ、日本語、英語を記入

    • 例:ヤマダ タロウ、山田 太郎、 Taro Yamada

(5) 電話番号

  • 携帯番号でOK

(5) 提出先の国名

  • 日本語と英語で記入

    • 例:シンガポール / Singapore

(6) 対象期間

  • 任意なので記載不要(空欄のままでOK)

(7) 申述事項

  • 3つのチェックボックスすべてにチェックを入れる

(8) 請求枚数

  • 通常は1枚

  • 請求書自体は「必要部数+1部」を提出


4. 添付書類

  • 本人確認書類のコピー(運転免許証・マイナンバーカードなど、表面、裏面どちらも取得しておくと安心)

  • 郵送の場合は 返信用封筒(切手貼付・宛名記入済み) を同封


5. 提出方法

  • 税務署窓口へ直接提出

  • または郵送(消印日が提出日扱い)

  • 郵送の際は封筒に「居住者証明書交付請求書 在中」と朱書きすると親切


6. 発行までの日数と費用

  • 申請から 1週間前後で交付

  • 手数料は無料


PDF印刷時の注意事項

筆者の環境では自宅にプリンターがないので普段コンビニで印刷するのですが、居住者証明書交付申請書はPDFなのでブラウザ上で入力してダウンロードしたものを直接セブンのネットプリントへアップロードして印刷してみたら、住所と名前の日本語で記入した部分が消えてしまってました。。
自宅のプリンターに印刷する場合はすぐ気づくと思いますが、コンビニ行って印刷してから気が付くと面倒なので、アップロードした時のイメージをよく確認してから印刷しにいきましょう。

今回は以下のサイトでPDFをjpgに変換して印刷したら無事日本語がつぶれずに印刷できました。
https://www.ilovepdf.com/ja

 

まとめ

  • AdSenseで税務情報を求められた場合、免許証やマイナンバーカード、公共料金の明細では通らず、居住者証明書の提出が必要になることがあります。(筆者の場合など。。)

  • 記入方法は「住民票どおりに日本語、ローマ字で英語」を書けば安心

  • 提出はお住いの管轄税務署へ。平日に税務署へ行くのは難しい場合は郵送も可能なので、返信用封筒を忘れずに同封しましょう

JavaのGC(Garbage Collection)とは?仕組みと注意点

GCとは何か

Java で開発をしていると、よく耳にする「GC(Garbage Collection)」。
これは 不要になったオブジェクトを自動で回収してメモリを解放する仕組み のことです。C言語のように手動で free() を呼ぶ必要はなく、Java VM が裏側でメモリ管理を行います。

 

ざっくり構造・最近のGC

  • 世代別回収:Eden/Survivor(若世代)→ Old(老世代)

  • Minor GC:Edenが埋まったら短命オブジェクト中心に回収

  • Major/Full GC:Oldが逼迫、断片化、クラス/メタ領域逼迫などで広域回収

  • 既定GC:G1GC(Java 9+)。低停止要求は ZGC / Shenandoah も選択肢

主なトリガ

  • Eden満杯(Minor) / Old高水準(Major)

  • 巨大配列(Humongous)割当て(G1)

  • System.gc() 明示呼び出し

  • メタスペース/オフヒープ圧迫(DirectByteBuffer/JNI など)


“悪い例 → 良い例”で学ぶメモリ/GC対策

1) 無制限キャッシュ(静的Map地獄)

悪い例

良い例(上限+期限+統計)

ポイント:上限なしは必ずOldを膨らませる。キャッシュは 容量・期限・エビクションを設計。


2) リスナ/コールバック未解除

悪い例

良い例(ライフサイクルで必ず解除 / AutoCloseable化)

補足WeakReference リスナはイベント強度低下意図せぬ解放のリスク。基本は明示解除


3) ThreadLocal の放置(プールスレッドに張り付く)

悪い例

良い例(finallyで確実に除去)

ポイントスレッドプール=長寿命remove() を忘れると実質グローバル保持


4) System.gc() 乱用

悪い例

良い例


5) ラムダ/内部クラスが外側(巨大オブジェクト)をキャプチャ

悪い例

良い例(必要最小限のデータだけ渡す・static化)

ポイントキャプチャ=保持。意図せず大物を延命していないか疑う。


6) ループ内の大量一時オブジェクト

悪い例

良い例(StringBuilder再利用・ボクシング回避)


7) finalize/Cleaner頼み(遅延・不確実)

悪い例

良い例(確実な即時解放) 


8) クラスローダ・アプリ再デプロイ時のリーク

悪い例

良い例(クラスローダ境界を越える参照を断つ)

 

9) 巨大配列・Humongous割当ての長期保持(G1)

悪い例

良い例(分割・ストリーミング・寿命短縮)

ポイント:巨大ブロックは断片化回収コスト増の温床。


10) 無制限のキュー/バッファ

悪い例

良い例(有界+バックプレッシャ)


GCログ・計測の始め方(JDK 9+)

  • まずはコードの割当て削減 → その後にヒープ/GC調整

  • 監視:jcmd <pid> GC.heap_info / jstat -gc <pid> 1000

  • ボトルネック特定:JFR(Java Flight Recorder) で割当てホットスポットを把握

  • 必要なら ZGC/Shenandoah も評価(レイテンシ目標に応じて)


実務チェックリスト(配布推奨)

  1. System.gc() を禁止/抑制

  2. キャッシュ・キューは有界+期限

  3. ThreadLocal は finally で remove

  4. リスナ/コールバックは確実に解除(AutoCloseable化が効く)

  5. ループ内の一時オブジェクトを減らす(Builder再利用/ボクシング回避)

  6. 巨大配列は分割・短命化

  7. クラスローダ境界を跨ぐ静的参照禁止、Executor停止・ドライバ解除

  8. try-with-resourcesでオフヒープ即時解放

  9. GCログ/JFRで事実ベースに調整

  10. 目標停止時間(例:MaxGCPauseMillis)を定めて検証


まとめ

GCは“自動”でも“万能”ではありません。
「GCが働きやすいコード」(不要参照を残さない・波及して大物を掴ませない・ピークメモリを避ける)を心がけ、ログ/計測で改善ループを回すのが最短距離です。

Git と SVN の違いを徹底比較!モダン開発と Git 移行メリットを解説

ソフトウェア開発では欠かせないバージョン管理システム(VCS)。
代表的なものに Subversion(SVN)Git がありますが、それぞれ仕組みや特徴に大きな違いがあります。
この記事では両者を比較し、どんな場面で使われるのかを整理していきます。


1. 管理方式の違い

  • SVN は中央サーバー型(集中管理型)。サーバーに履歴があり、各開発者は必要な部分をチェックアウトして作業します。

  • Git は分散型。各開発者の手元に完全な履歴がコピーされるので、オフラインでもコミットや履歴の参照が可能です。


2. ブランチの扱い

  • SVN:ブランチはディレクトリをコピーする仕組み。重いため頻繁に切り替える運用には向きません。

  • Git:ブランチはポインタのような軽量な仕組み。気軽に作成・切り替え・統合でき、アジャイル開発と相性が良いです。


3. 比較表

項目SVN(Subversion)Git
管理方式集中型(中央リポジトリ必須)分散型(ローカルに完全コピー)
履歴サーバーに依存・オフライン不可ローカルに全履歴あり・オフライン可能
ブランチディレクトリコピーで重い軽量で高速・並行開発に最適
操作速度サーバー通信が多く遅めローカル主体で非常に速い
権限管理ディレクトリ単位で詳細設定可リポジトリ単位(サービス連携で補完)
使われ方レガシー環境・金融/公共系で根強いオープンソース・モダン開発の標準
 

4. 企業で SVN が残る理由

  • レガシー資産が膨大:10年以上運用しているプロジェクトを変えるコストが大きい

  • 単純な運用ルール:常に「中央が正」でシンプル

  • アクセス制御が細かい:サーバーで一元管理しやすい

  • 情報漏洩リスクを嫌う:ローカルに履歴を残さないことで安心とされるケースもある


5. Git への移行メリット

  • 効率的な並行開発:ブランチが軽いので複数人開発でもストレスが少ない

  • オフライン作業可能:出張先やネットが不安定でも履歴参照やコミットができる

  • エコシステムが豊富:GitHub・GitLab・Bitbucket など連携サービスが充実

  • CI/CD と相性抜群:自動テスト・デプロイと組み合わせやすい


まとめ

  • SVN は「安定・単純・集中管理」が強みで、金融や公共系、レガシー環境で今も利用されています。

  • Git は「柔軟・高速・モダンツール連携」が強みで、オープンソースやアジャイル開発での標準です。

👉 新規プロジェクトであれば Git を選ぶのが一般的。
ただし既存の大規模システムでは「SVN を参照専用にして、新規は Git」で併用するケースもよくあります。

Windows 11でEdgeが勝手に立ち上がる原因と対処法

Windows 11 を使っていて、「パソコンを起動したら勝手に Microsoft Edge が立ち上がった」という経験はありませんか?
仕事や作業の邪魔になるだけでなく、PC 起動の時間も余計にかかってしまいます。

本記事では、Edge が自動的に起動してしまう原因と、その対処法をまとめてご紹介します。


なぜEdgeが勝手に起動するのか?

Windows 11 で Edge が自動起動してしまう主な原因は以下の通りです。

  1. Edge のスタートアップ設定

    • 「Windows にサインインすると、Edge を自動的に開く」オプションがオンになっている。

  2. スタートアップブースト機能

    • Edge の起動を高速化するため、裏で常駐する「スタートアップブースト」が有効になっている。

  3. タスクスケジューラによる自動起動

    • Windows のタスクスケジューラに「Edge Update」関連のタスクが登録されている。

  4. スタートアップアプリに登録されている

    • タスクマネージャーのスタートアップ項目に Edge が含まれている。


Edgeの自動起動を止める方法

1. Edgeの設定から無効化

  1. Edge を開く

  2. 右上の「…」 → [設定]

  3. 左メニューから [スタートアップ] を選択

  4. 「Windows デバイスの起動時」「Windows にサインインすると、Microsoft Edge が自動的に開きます」を オフ

  5. さらに [システムとパフォーマンス] → スタートアップブーストをオフ

👉 これで多くのケースは解決します。


2. タスクマネージャーで無効化

  1. Ctrl + Shift + Esc でタスクマネージャーを開く

  2. 「スタートアップ」タブを選択

  3. 一覧から Microsoft Edge を右クリック → 無効化


3. タスクスケジューラを確認

  1. Win + Rtaskschd.msc と入力

  2. 「タスクスケジューラ ライブラリ」 → Microsoft → EdgeUpdate を確認

  3. 「MicrosoftEdgeUpdateTaskMachine」など Edge 起動関連タスクを右クリック → 無効化

    注意点

    • これを無効化すると Edge の自動更新チェックも止まるので、セキュリティ更新が遅れる可能性があります。

    • 自動更新が不要な環境なら問題ありませんが、必要なら 手動で Edge の更新確認を行うのがおすすめです。

     


4. グループポリシー/レジストリ編集(管理者向け・徹底対策)

ここまで紹介した方法(手順1〜3)で解決する場合がほとんどです。
ただし「ユーザーが再びオンにできないようにしたい」「複数台のPCを一括管理したい」といったケースでは、管理者権限で強制的に無効化する方法もあります。

  • Pro/Enterprise → ADMXを追加してグループポリシーで制御

  • Home版 → レジストリで StartupBoostEnabled=0 を設定

👉 確実に止めたい場合のみ必要な手順 です。


まとめ

Windows 11 で Edge が勝手に起動するのは、Edge 側の設定や Windows のスタートアップ処理が原因です。

  • まずは Edge の設定 → スタートアップ / システムとパフォーマンスでオフ

  • 直らなければ タスクマネージャー / タスクスケジューラを確認

  • 徹底するなら グループポリシーやレジストリ編集も検討

これで、もう不必要に Edge が立ち上がってイライラすることはなくなります。

TeamsやZoomの議事録をAIに任せる!Whisperで実現する自動文字起こしと活用例

オンライン会議が日常化した今、議事録作成の負担を感じている方は多いのではないでしょうか。
特に TeamsZoom の会議では、聞き漏れを防ぎつつ正確に内容を残すのは大変です。

そんな課題を解決できるのが Whisper
OpenAIが公開している音声認識AIで、会議を録音しておけば高精度に自動文字起こしを行い、議事録作成の手間を大幅に削減できます。


Whisperとは?

WhisperはOpenAIが開発した オープンソースの音声認識モデル です。

  • 多言語対応:日本語を含む100以上の言語

  • 高精度:雑音や訛りのある会話でも認識可能

  • 無料利用可:MITライセンスで公開されており、誰でも利用可能

  • 活用範囲広い:会議録音、字幕生成、翻訳まで対応

GitHubで公開されており、自分のPCやサーバーにインストールして利用できます。


Whisperを導入するメリット

1. 議事録作成を自動化

録音データをWhisperにかけるだけで自動的にテキスト化。
会議後に一から議事録を書く必要がなくなります。

2. 無料で使える

クラウドの有料サービスと異なり、自前環境で動かすなら完全無料
長時間の会議もコストを気にせず文字起こしできます。

3. 高精度な日本語認識

専門用語や会話のニュアンスも正確に変換。ビジネス用途でも実用的です。

4. セキュリティも安心

自分のPCや社内サーバーで処理するため、外部サービスに会議データをアップロードする必要がありません。


Whisperのライセンスと利用形態

Whisperは MITライセンス で提供されています。

  • 個人利用:無料

  • 企業利用:無料

  • 商用サービスへの組み込みも可能

※注意点として、処理速度は環境に依存します。GPUを使うと高速化できます。


Whisperのインストール手順

1. 必要環境

  • Python 3.8以上

  • pip(Pythonパッケージ管理ツール)

  • ffmpeg(音声・動画ファイル変換用ツール)

ffmpegインストール例

  • macOS

  • Ubuntu/Debian

  • Windows
    公式サイト からzipをDLしてPATHに設定


2. Whisperのインストール


3. 基本的な使い方

会議録音ファイル(例:meeting.mp3)を文字起こしする場合:

  • --model で精度を選択(tiny, base, small, medium, large)

  • 出力結果は同じフォルダに保存されます

    • .txt(議事録テキスト)

    • .srt(字幕ファイル)

    • .vtt(Web字幕ファイル)


4. Pythonでの利用例

 

5. モデルサイズの選び方(目安)

モデル 特徴 用途
tiny 超高速・低精度 テスト用
base 軽量・標準精度 短時間会議
small 精度と速度のバランス良 日本語会議向け
medium 高精度・やや重い ビジネス用途
large 最高精度・重い 長時間会議・高精度重視

活用例

ケース1:社内定例会議

Teamsの定例会議を録音し、Whisperで自動文字起こし。
→ 会議終了直後に議事録のドラフトを全員で共有可能。

ケース2:クライアント打ち合わせ

Zoomでの商談内容をWhisperで記録。
→ 提案内容の確認や認識のずれ防止に役立つ。

ケース3:セミナーや研修

講演を録音し、Whisperで全文テキスト化。
→ 後日レポートや資料作成に再利用できる。


まとめ

Whisperを使えば、TeamsやZoomの会議議事録をAIに任せることが可能です。

  • 無料で使える(オープンソース)

  • 高精度で多言語対応

  • セキュリティ面も安心

これまで手間のかかっていた議事録作成を大幅に効率化し、会議の生産性を高められるでしょう。