Windows 11をMicrosoftアカウントを使わずにローカルアカウントで使用することは可能

Windows 11をMicrosoftアカウントを使わずにローカルアカウントで使用することは可能

ただし、Microsoftはセットアップ時にMicrosoftアカウントの使用を強制しようとするため、ローカルアカウントで設定するには少し工夫が必要です。


方法 1: Windows 11 Proの場合

Windows 11 Proでは、セットアップ時に簡単にローカルアカウントを選択できます。

手順

  1. インストール開始
    Windows 11のセットアップを開始します。
  2. ネットワークに接続しない
    インストール中にWi-Fiや有線LANに接続する画面が出たら、**「インターネットに接続していません」**を選択。
  3. ローカルアカウントを選択
    • 「制限された設定で続行」を選択すると、Microsoftアカウントのサインインをスキップできます。
    • 任意のローカルアカウント名とパスワードを設定してインストールを完了。

方法 2: Windows 11 Homeの場合

Windows 11 Homeでは、標準の手順ではローカルアカウントを作成できませんが、裏技を使えば可能です。

手順

  1. インストール開始
    Windows 11のセットアップを進めます。
  2. ネットワーク接続の画面で「OOBE\BYPASSNRO」コマンドを実行
    • 「ネットワークに接続」画面で Shift + F10 を押すとコマンドプロンプトが開きます。
    • 次のコマンドを入力してEnterを押します。
      OOBE\BYPASSNRO
      
    • PCが再起動し、ネットワーク接続をスキップできるようになります。
  3. 「インターネットに接続せずに続行」を選択
    • 再起動後、「インターネットに接続せずに続行」というオプションが表示されるので選択。
  4. ローカルアカウントを作成
    • 「制限された設定で続行」を選び、ローカルアカウントを作成。

方法 3: Microsoftアカウントを強制された場合

もし誤ってMicrosoftアカウントの画面に進んでしまった場合は、次の方法を試してください。

  1. ダミーのメールアドレスを入力
    • no@thankyou.com など適当なメールアドレスを入力し、適当なパスワードを入力。
    • 「アカウントが存在しません」と表示されるので、**「戻る」**を押す。
  2. 強制終了する
    • Shift + F10 を押してコマンドプロンプトを開き、次のコマンドを入力。
      taskkill /F /IM oobenetworkconnectionflow.exe
      
    • これでMicrosoftアカウントの画面が消え、ローカルアカウントの作成に進めます。

まとめ

  • Windows 11 Pro → ネット接続を切って「制限された設定で続行」すればOK。
  • Windows 11 HomeShift + F10OOBE\BYPASSNRO コマンドを使う。
  • 強制された場合 → ダミーのメール入力 or taskkill コマンドで回避。

この方法でMicrosoftアカウントを使わずにWindows 11を利用できます。

1章 React 初心者の方へ

1章 React 初心者の方へ

1.1 本書のねらい

Reactとは、Webサイトやアプリを作るための「ライブラリ」と呼ばれるツールです。Facebookが作ったもので、以下のような特徴があります:

  • コンポーネント: Webページを「パーツ」に分けて作れるので、管理がしやすい。例えば、「ヘッダー」「ボタン」「リスト」などの部品を再利用できます。
  • 効率的な更新: Reactは「必要な部分だけ」を更新する仕組みがあるので、アプリが速く動きます。
  • 学びやすい: JavaScriptを基本としているので、特別な知識がなくても始められます。

なぜReactを学ぶのか?

  • 人気がある: Reactは世界中で使われており、Reactを使えるプログラマーは需要が高いです。
  • 現代のWeb開発の標準: 大規模なアプリから小さな個人プロジェクトまで幅広く使われています。
  • 豊富なツールとライブラリ: Reactと一緒に使える便利なツールがたくさんあります。

Reactを学ぶことで、こういった技術や考え方を習得し、Web開発が楽しく効率的になります。本書では、Reactの基本から実用的な知識まで、初心者でもステップバイステップで学べる内容になっています。

1.2 Reactの過去と未来

1.2.1 Reactの誕生と背景

Reactは2013年にFacebookによって公開されました。当時、Webアプリは大規模化・複雑化が進んでいて、以下のような課題がありました:

  • 更新のたびに全体を再描画するため、動作が遅い。
  • コードが複雑でメンテナンスが大変。

Reactはこの問題を解決するために登場しました:

  • 「仮想DOM (Virtual DOM)」という技術を使い、効率的に画面を更新。
  • ページを小さな部品(コンポーネント)に分けて管理することで、コードが整理しやすくなりました。

未来に向けたReactの進化

Reactは登場から現在まで、継続的にアップデートされ、新しい機能が追加されています。その例を挙げると:

  • フック(Hooks): Reactバージョン16.8で導入。コードを簡潔に書けるようになり、開発が楽に。
  • コンカレントモード(Concurrent Mode): ユーザー操作に対してよりスムーズに動作する仕組み。
  • サーバーサイドレンダリング(SSR): サーバー側でページを事前に生成し、表示速度を向上。

1.2.2 第2版の変更点(この書籍における)

書籍の第2版では、以下のような最新のトピックが含まれています:

  • Hooksを中心とした解説
  • クラスベースからHooksベースのスタイルへ進化。
  • 最新のツールや環境に対応: Create React App、Next.js、Viteなど、最新の技術スタックに対応。
  • パフォーマンス向上のテクニック: Reactをさらに速く効率的に使うための方法を解説。

Reactは今後も進化し続ける技術であり、それを学ぶことで「未来のWeb開発」に対応できるスキルが身につきます。

1.3 環境の構築

Reactを学び、使うためにはまず環境を整える必要があります。以下の手順で進めます。

1.3.1 GitHubリポジトリ

GitHubはコードを保存・共有するためのプラットフォームです。プロジェクトの管理に使います。

  • GitHubの利点:
    • コードを保存して他の人と共有できる。
    • 変更履歴を記録するので、ミスがあっても以前の状態に戻せる。

使い方の概要:

  1. GitHubアカウントを作成する(無料)。
  2. プロジェクト用の「リポジトリ」を作成する。
  3. 自分のコードをGitを使ってリポジトリにアップロードする。

1.3.2 React Developer Tools

React Developer Toolsは、ブラウザにインストールして使うツールです。Reactで開発したアプリケーションを確認・デバッグするのに役立ちます。

  • インストール方法:
    1. ChromeやFirefoxの拡張機能ストアで「React Developer Tools」を検索。
    2. 「インストール」をクリックしてセットアップ。
  • できること:
    • Reactコンポーネントの構造を確認。
    • 各コンポーネントの「ステート」や「プロパティ」の内容をチェック。
    • パフォーマンスの問題を見つける。

1.3.3 Node.jsのインストール

Node.jsはJavaScriptをパソコン上で実行するためのソフトウェアで、Reactを使うための土台になります。

Node.jsのインストール手順:

  1. Node.js公式サイト(https://nodejs.org)にアクセス。
  2. 推奨版(LTS)をダウンロードしてインストール。
  3. インストール後、コマンドラインで以下を入力して確認:
    node -v

    バージョン番号が表示されれば成功。

npmとnpx:

  • npm(Node Package Manager): ライブラリを管理するツール。
  • npx: 一時的にコマンドを実行するためのツール。Reactプロジェクトの作成で使います。

 

React環境の構築を試す

環境が整ったら、Reactプロジェクトを作成して動かしてみましょう。


npx create-react-app my-app
cd my-app
npm start

ブラウザで「http://localhost:3000」にアクセスすると、Reactの初期画面が表示されます。

macでvpn接続するときに、「すべてのトラフィックをvpn接続経由で送信」をオンにしたりオフにする機能があります。 windowsでも同じようなことできますか?

macでvpn接続するときに、「すべてのトラフィックをvpn接続経由で送信」をオンにしたりオフにする機能があります。
windowsでも同じようなことできますか?

 

はい、Windowsでも「すべてのトラフィックをVPN接続経由で送信」するかどうかを制御する機能があります。この機能は、WindowsのVPN設定で「デフォルトゲートウェイをリモートネットワークに使用する」というオプションで管理されます。

以下に手順を示します。

 

手順:WindowsでVPNのトラフィック設定を変更する方法
VPN接続の設定を開く

「スタート」メニューから「設定」を開きます。
「ネットワークとインターネット」を選択します。
左側の「VPN」を選択し、設定済みのVPN接続を見つけます。
VPNプロパティを開く

接続済みのVPNを選択し、「詳細オプション」または「変更する」リンクをクリックします。
もしくは、「コントロールパネル」 → 「ネットワークと共有センター」 → 「アダプターの設定の変更」を開きます。
VPN接続を右クリックし、「プロパティ」を選択します。
IP設定を変更する

「プロパティ」ウィンドウが開いたら、「ネットワーク」タブに移動します。
「インターネットプロトコル バージョン4 (TCP/IPv4)」を選択し、「プロパティ」をクリックします。
「詳細設定」ボタンをクリックします。
デフォルトゲートウェイの設定を変更する

「IP設定」タブで、「リモートネットワーク上のデフォルトゲートウェイを使用する」というチェックボックスがあります。
オンにする: すべてのトラフィックをVPN経由で送信します。
オフにする: 必要なトラフィックだけがVPNを経由します。
設定を保存する

「OK」ボタンを押して設定を保存し、ウィンドウを閉じます。

 

JavaScript 即時実行関数(IIFE: Immediately Invoked Function Expression)

JavaScript 即時実行関数(IIFE: Immediately Invoked Function Expression)

1. IIFEの基本構文

IIFEは、定義と同時に実行されるJavaScriptの関数です。以下が基本的な構文です。

(function () {
    console.log("This function runs immediately!");
})();

2. IIFEを分解して理解する

以下の例を見て、IIFEの構造を分解して考えましょう。

// 1. 通常の無名関数
function () {
    console.log("IIFE!");
}

// 2. 無名関数を丸括弧で囲む
(function () {
    console.log("IIFE!");
})

// 3. 即時実行のためにもう一つの括弧を追加
(function () {
    console.log("IIFE!");
})();

3. 必要最小限に注目する

IIFEは以下の2つのカッコに注目すると覚えやすいです。

  • 外側の括弧: 関数全体を「式」に変換
  • 内側の括弧: 関数を即時実行

4. 実践例で練習

スコープを分ける

IIFEを使って変数のスコープを限定できます。

(function () {
    let temp = "Temporary Variable";
    console.log(temp); // "Temporary Variable"
})();

console.log(typeof temp); // "undefined"

引数付きのIIFE

IIFEに引数を渡すこともできます。

(function (name) {
    console.log(`Hello, ${name}!`);
})("Alice");

モダンな書き方

アロー関数を使うとスッキリ書けます。

(() => {
    console.log("Hello, modern IIFE!");
})();

5. 練習問題

問題1

IIFEを使って”Hello, World!”を出力してください。

(function () {
    console.log("Hello, World!");
})();

問題2

引数付きIIFEを作り、2つの数を足した結果を出力してください。

(function (a, b) {
    console.log(a + b);
})(3, 4);

6. 記憶のコツ

「(関数)実行するよ!」と覚えるとわかりやすいです。

// 覚えやすい流れ
(function() { console.log("実行するよ!"); })();

7. 実際に手を動かす

コードを自分で書いて慣れることが一番重要です。上記の問題を試してみましょう!

 

JavaScript: this, arguments, newについて

JavaScript: this, arguments, newについて

thisとは?

thisは、関数が呼び出された際の文脈(コンテキスト)を指します。関数の呼び出し方によって、thisが何を指すかが変わります。

例1: オブジェクト内のメソッドでのthis


const obj = {
name: 'Alice',
greet: function () {
console.log(this.name); // 'Alice'
}
};
obj.greet();

例2: 通常の関数でのthis


function showThis() {
console.log(this); // グローバルオブジェクト(strictモードではundefined)
}
showThis();

例3: 矢印関数でのthis


const obj = {
name: 'Alice',
greet: () => {
console.log(this.name); // 外側のスコープのthisを指すためundefined
}
};
obj.greet();

argumentsとは?

argumentsは、通常の関数内で利用できる特別なオブジェクトで、関数に渡されたすべての引数を保持します。


function sum() {
console.log(arguments); // 配列のようなオブジェクト
return Array.from(arguments).reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3)); // 6

矢印関数での代替


const sum = (...args) => args.reduce((total, num) => total + num, 0);
console.log(sum(1, 2, 3)); // 6

newとは?

newは、コンストラクタ関数やクラスを基に新しいオブジェクトを作成するためのキーワードです。


function Person(name, age) {
this.name = name;
this.age = age;
}
const person1 = new Person('Alice', 25);
console.log(person1); // { name: 'Alice', age: 25 }

まとめ

キーワード説明主な特徴
this関数の呼び出し方によって異なるコンテキストを参照します。オブジェクトのメソッドやスコープを示す。
arguments関数に渡されたすべての引数を保持します。通常の関数でのみ使用可能(矢印関数では使用不可)。
newコンストラクタ関数やクラスを基に新しいオブジェクトを作成します。thisを新しいオブジェクトにバインド。