コンピューター入門ブログへよこそ!

  • Cプログラミングの基本

    C プログラミング言語は、コンピューター プログラムを作成するために人気があり、広く使用されているプログラミング言語です。 C はプログラマーに最大限の制御と効率を提供するため、世界中のプログラマーが C を採用しています。

    あなたがプログラマーである場合、またはプログラマーになることに興味がある場合、C を学ぶことで得られるメリットがいくつかあります。

    • 多数のプラットフォームのコードを読み書きできるようになります。マイクロコントローラーから最先端の科学システムに至るまで、あらゆるものを C で記述することができ、最新のオペレーティング システムの多くは C で記述されています。
    • オブジェクト指向 C++ 言語への移行がはるかに簡単になります。 C++ は C の拡張であり、最初に C を学習せずに C++ を学習することはほぼ不可能です。

    この記事では、言語全体を説明し、C プログラマーになる方法を最初から説明します。 C を理解すると、さまざまなものを作成できることに驚かれるでしょう。

    Cって何ですか?

     Cプログラミングの基本

    C はコンピュータ プログラミング言語です。つまり、C を使用して、コンピューターが従うべき命令のリストを作成できるということです。 C は、現在使用されている何千ものプログラミング言語の 1 つです。 C は数十年前から存在しており、プログラマーに最大限の制御と効率を提供するため、広く受け入れられています。 C は習得しやすい言語です。他の言語に比べてスタイルが少し難解ですが、それをすぐに乗り越えることができます。

    C はいわゆるコンパイル言語です。つまり、C プログラムを作成したら、それをC コンパイラで実行して、プログラムをコンピュータが実行 (実行) できる実行可能ファイルに変換する必要があります。 C プログラムは人間が読める形式ですが、コンパイラーから出力される実行可能ファイルは機械が読み取り可能で実行可能な形式です。これは、C プログラムを作成して実行するには、C コンパイラにアクセスする必要があることを意味します。 UNIX マシンを使用している場合 (たとえば、ホストの UNIX コンピュータで C で CGI スクリプトを作成している場合、または研究室の UNIX マシンで作業している学生の場合)、C コンパイラは無料で利用できます。これは「cc」または「gcc」と呼ばれ、コマンド ラインで使用できます。あなたが学生の場合は、学校がコンパイラを提供してくれるでしょう。学校が使用しているものを調べて、それについて学びましょう。自宅で Windows マシンを使用して作業している場合は、無料の C コンパイラをダウンロードするか、商用コンパイラを購入する必要があります。広く使用されている商用コンパイラは、Microsoft の Visual C++ 環境です (C プログラムと C++ プログラムの両方をコンパイルします)。残念ながら、このプログラムには数百ドルの費用がかかります。商用コンパイラに何百ドルも費やす余裕がない場合は、Web 上で入手できる無料のコンパイラのいずれかを使用できます。検索の開始点として を参照してください。

    最初は非常に単純な C プログラムから始めて、そこから構築していきます。これらの例では、環境として UNIX コマンド ラインと gcc を使用していると仮定します。そうでない場合でも、コードはすべて正常に動作します。利用可能なコンパイラを理解して使用するだけで十分です。

    始めましょう!

    最も単純な C プログラム

    可能な限り単純な C プログラムから始めて、それを使用して C の基本と C コンパイル プロセスを理解しましょう。標準のテキスト エディタ (UNIX の vi または emacs、Windows のメモ帳、または Macintosh の TeachText) に次のプログラムを入力します。次に、プログラムをsamp.cという名前のファイルに保存します。 .c を省略した場合、コンパイル時に何らかのエラーが発生する可能性があるため、 .cを必ず覚えておいてください。また、エディターがファイル名に余分な文字 (.txt など) を自動的に追加しないことを確認してください。最初のプログラムは次のとおりです。

     #include <stdio.h>
    
    int main()
    {
        printf("これは私の最初のプログラムからの出力です!\n");
        0を返します。
    } 
     Cプログラミングの基本

    このプログラムを実行すると、「これは最初のプログラムからの出力です!」という行を出力するようにコンピュータに指示します。 — その後、プログラムは終了します。これ以上簡単なことはありません。

    このコードをコンパイルするには、次の手順を実行します。

    • UNIX マシンでは、 「gcc samp.c -o samp」と入力します (gcc が機能しない場合は、cc を試してください)。この行は、 gcc という C コンパイラを呼び出し、 samp.c をコンパイルするように依頼し、作成した実行可能ファイルをsampという名前で配置するように依頼します。プログラムを実行するには、 samp (または、一部の UNIX マシンでは./samp ) と入力します。
    • DOS または Windows マシンで を使用し、MS-DOS プロンプトでgcc samp.c -o samp.exe と入力します。この行は、 gcc という C コンパイラを呼び出し、 samp.c をコンパイルするように依頼し、作成した実行可能ファイルをsamp.exeという名前で配置するように依頼します。プログラムを実行するには、 「 samp 」と入力します。
    • 他のコンパイラまたは開発システムを使用している場合は、プログラムのコンパイルと実行に使用しているコンパイラの指示を読み、その指示に従ってください。

    「これは私の最初のプログラムからの出力です!」という出力が表示されるはずです。プログラムを実行するとき。プログラムをコンパイルしたときに何が起こったかは次のとおりです。

    プログラムの入力を間違えると、コンパイルされないか、実行されません。プログラムがコンパイルされない場合、または正しく実行されない場合は、プログラムを再度編集して、入力のどこが間違っているかを確認してください。エラーを修正して再試行してください。

    位置

    このプログラムを入力するときは、ポンド記号が列 1 (一番左側) にくるように#include を配置します。それ以外の場合は、間隔とインデントを自由に設定できます。一部の UNIX システムには、コードをフォーマットする C Beautifier であるcbというプログラムがあります。上に示した間隔とインデントは、従うべき良い例です。

    最も単純な C プログラム: 何が起こっているのでしょうか?

    このプログラムをざっと見て、さまざまな行が何をしているのか見てみましょう (ここをクリックすると、別のウィンドウでプログラムが開きます)。

    • この C プログラムは#include <stdio.h>で始まります。この行には、プログラムに「標準 I/O ライブラリ」が含まれています。標準 I/O ライブラリを使用すると、キーボードからの入力の読み取り (「標準入力」と呼ばれます)、画面への出力の書き込み (「標準出力」と呼ばれます)、ディスクに保存されているテキスト ファイルの処理などが可能になります。非常に便利なライブラリです。 C には、文字列ライブラリ、時間ライブラリ、数学ライブラリなど、stdio などの標準ライブラリが多数あります。ライブラリは、作業を容易にするために他の人が書いたコードのパッケージにすぎません (ライブラリについては後で説明します)。
    • int main()行は main 関数を宣言します。すべての C プログラムには、コード内のどこかにmainという名前の関数が必要です。関数については、すぐに詳しく学びます。実行時、プログラムの実行は main 関数の最初の行から開始されます。
    • C では、 {および}記号はコード ブロックの始まりと終わりを示します。この場合、main 関数を構成するコード ブロックには 2 行が含まれています。
    • C のprintfステートメントを使用すると、出力を標準出力 (ここでは画面) に送信できます。引用符で囲まれた部分はフォーマット文字列と呼ばれ、印刷時にデータがどのようにフォーマットされるかを記述します。フォーマット文字列には、「これは私の最初のプログラムからの出力です!」などの文字列リテラル、キャリッジ リターンの記号 (\n)、および変数のプレースホルダーとしての演算子を含めることができます (以下を参照)。 UNIX を使用している場合は、 「man 3 printf」と入力すると、printf 関数の完全なドキュメントを取得できます。そうでない場合は、printf 関数の詳細についてコンパイラに付属のドキュメントを参照してください。
    • 戻り値は 0;この行により、関数は実行を開始したシェルにエラー コード 0 (エラーなし) を返します。この機能については後ほど詳しく説明します。

    変数

    プログラマは、プログラムに値を「記憶」させたいと思うことがよくあります。たとえば、プログラムがユーザーに値を要求する場合、またはプログラムが値を計算する場合、後で使用できるようにその値をどこかに記憶しておきたいと思うでしょう。プログラムが物事を記憶する方法は、変数を使用することです。例えば:

     int b;

    この行は、「1 つの整数値を保持できる b というスペースを作成したい」と述べています。変数には名前(この場合は b) と(この場合は int、整数) があります。次のように言うことで、 b に値を格納できます。

     b = 5;

    次のようにして b の値を使用できます。

     printf("%d", b);

    C には、変数の標準型がいくつかあります。

    • int – 整数 (整数) 値
    • float – 浮動小数点値
    • char – 単一の文字値 (「m」や「Z」など)

    これらの他のタイプの例については、今後見ていきます。

    プリントフ

    printf ステートメントを使用すると、出力を標準出力に送信できます。私たちにとって、標準出力は通常画面です (ただし、標準出力をテキスト ファイルまたは別のコマンドにリダイレクトすることもできます)。

    printf についてさらに学ぶのに役立つ別のプログラムを次に示します。

     #include <stdio.h>
    
    int main()
    {
        int a、b、c;
        a = 5;
        b = 7;
        c = a + b;
        printf("%d + %d = %d\n", a, b, c);
        0を返します。
    }

    このプログラムをファイルに入力し、 add.cという名前で保存します。 gcc add.c -o addという行を使用してコンパイルし、 add (または./add ) と入力して実行します。出力として「5 + 7 = 12」という行が表示されます。

    このプログラムのさまざまな行については次のとおりです。

    • int a, b, c; ab 、およびcという名前の 3 つの整数変数を宣言します。整数変数は整数を保持します。
    • 次の行では、 aという名前の変数を値 5 に初期化します。
    • 次の行ではb を7 に設定します。
    • 次の行では、 abを追加し、結果をcに「代入」します。コンピューターはa (5) の値をb (7) の値に加算して結果 12 を形成し、その新しい値 (12) を変数cに入れます。変数cには値 12 が割り当てられます。このため、この行の = は「代入演算子」と呼ばれます。
    • 次に、 printfステートメントは「5 + 7 = 12」という行を出力します。 printf ステートメント内の%dプレースホルダーは、値のプレースホルダーとして機能します。 %d プレースホルダーが 3 つあり、 printf 行の最後に 3 つの変数名abc があります。 C は最初の %d を a と照合し、そこに 5 を代入します。 2 番目の %d を b と照合し、7 に置き換えます。3 番目の %d を c と照合し、12 に置き換えます。次に、完成した行を画面に表示します: 5 + 7 = 12。 += 、およびスペースは a です。フォーマット行の一部であり、プログラマの指定に従って %d 演算子の間に自動的に埋め込まれます。

    Printf: ユーザー値の読み取り

    前のプログラムは優れていますが、定数を使用するのではなく、ユーザーから値 5 と 7 を読み込む方が良いでしょう。代わりにこのプログラムを試してください。

     #include <stdio.h>
    
    int main()
    {
        int a、b、c;
        printf("最初の値を入力してください:");
        scanf("%d", &a);
        printf("2 番目の値を入力してください:");
        scanf("%d", &b);
        c = a + b;
        printf("%d + %d = %d\n", a, b, c);
        0を返します。
    } 
     Cプログラミングの基本

    このプログラムを実行すると、次のように動作します。

    変更を加えてからプログラムをコンパイルして実行し、動作することを確認します。 scanf は printf と同じ種類のフォーマット文字列を使用することに注意してください (詳細については「man scanf」と入力してください)。 a と b の前の & にも注意してください。これは C のアドレス演算子です。変数のアドレスを返します (ポインターについて説明するまでは意味がわかりません)。 scanf の & 演算子は、char、int、または float 型の変数、および構造体型 (これについてはすぐに説明します) に対して使用する必要があります。 & 演算子を省略すると、プログラムの実行時にエラーが発生します。この種の実行時エラーがどのようなものかを確認するために試してください。

    printf を完全に理解するために、いくつかのバリエーションを見てみましょう。最も単純な printf ステートメントは次のとおりです。

     printf("こんにちは");

    printf へのこの呼び出しには、printf に「Hello」という単語を標準出力に送信するよう指示するフォーマット文字列が含まれています。これと比べてみてください:

     printf("こんにちは\n");

    2 つの違いは、2 番目のバージョンでは、単語「Hello」とそれに続くキャリッジ リターンが標準出力に送信されることです。

    次の行は、 printf を使用して変数の値を出力する方法を示しています。

     printf("%d", b);

    %d は、 printf ステートメントの実行時に変数bの値に置き換えられるプレースホルダーです。多くの場合、値を他の単語に埋め込みたい場合があります。それを実現する 1 つの方法は次のようなものです。

     printf("気温は ");
    printf("%d", b);
    printf(" 度\n");

    もっと簡単な方法は、次のように言うことです。

     printf("気温は %d 度です\n", b);

    1 つの printf ステートメントで複数の %d プレースホルダーを使用することもできます。

     printf("%d + %d = %d\n", a, b, c);

    printf ステートメントでは、フォーマット文字列内の演算子の数が、それに続く変数の数および型と正確に一致することが非常に重要です。たとえば、書式指定文字列に 3 つの %d 演算子が含まれる場合、その後に 3 つのパラメータが続く必要があり、それらのパラメータは演算子で指定されたものと同じ順序で同じ型を持つ必要があります。

    さまざまなプレースホルダーを使用することで、 printf で通常の C 型をすべて出力できます。

    • int (整数値) は%d を使用します
    • float (浮動小数点値) は%f を使用します
    • char (単一文字値) は%c を使用します
    • 文字列(後述する文字の配列) は%s を使用します

    UNIX マシンでの printf の微妙な違いについて詳しくは、 「 man 3 printf 」と入力してください。使用している他の C コンパイラには、おそらく、printf の説明を含むマニュアルまたはヘルプ ファイルが付属しています。

    C 避けるべきエラー
    • 大文字と小文字が間違っている – C では大文字と小文字が重要なので、Printf または PRINTF と入力できません。 printf である必要があります。
    • scanf で & を使用するのを忘れた
    • printf または scanf の format ステートメントに続くパラメーターが多すぎる、または少なすぎる
    • 変数名を使用する前に宣言するのを忘れる

    スキャンフ

    scanf 関数を使用すると、標準入力 (通常はキーボード) からの入力を受け入れることができます。 scanf 関数はさまざまな機能を実行できますが、人的エラーをうまく処理できないため、信頼性が低い場合があります。しかし、単純なプログラムの場合はこれで十分であり、使いやすいです。

    scanfの最も単純なアプリケーションは次のようになります。

     scanf("%d", &b);

    プログラムは、ユーザーがキーボードで入力した整数値を読み取り (%d は printf と同様に整数を表すため、b は int として宣言する必要があります)、その値を b に置きます。

    scanf 関数は、printf と同じプレースホルダーを使用します。

    • int は%d を使用します
    • float は%f を使用します
    • char は%c を使用します
    • 文字列(後述) は%s を使用します

    scanf で使用される変数の前に& を置く必要があります。その理由は、ポインタについて学ぶと明らかになります。 & 記号は忘れがちで、忘れるとプログラムを実行するとほとんどの場合クラッシュします。

    一般に、キーボードから単一の値を読み取るには、ここに示すように scanf を使用するのが最善です。複数の値を読み取るには、scanf を複数回呼び出します。実際のプログラムでは、テキストを一度に 1 行ずつ読み取る代わりに、 gets関数またはfgets関数を使用します。次に、その行を「解析」して値を読み取ります。そうする理由は、入力内のエラーを検出し、適切と思われるように処理できるようにするためです。

    printf 関数と scanf 関数を完全に理解するには少し練習が必要ですが、一度習得すると非常に便利です。

    これを試してみてください!

    このプログラムを変更して、2 つの値ではなく 3 つの値を受け入れ、3 つすべてを加算するようにします。

     #include <stdio.h>
    
    int main()
    {
        int a、b、c;
        printf("最初の値を入力してください:");
        scanf("%d", &a);
        printf("2 番目の値を入力してください:");
        scanf("%d", &b);
        c = a + b;
        printf("%d + %d = %d\n", a, b, c);
        0を返します。
    }
    

    また、上記のプログラムの最初の行にある b 変数を削除して、変数の宣言を忘れた場合にコンパイラが何を行うかを確認することもできます。セミコロンを削除して、何が起こるかを確認してください。中括弧の 1 つを省略します。 main 関数の横にある括弧の 1 つを削除します。それぞれのエラーを単独で発生させ、コンパイラーを通してプログラムを実行して何が起こるかを確認します。このようなエラーをシミュレートすることで、さまざまなコンパイラ エラーについて学ぶことができ、実際にエラーを作成するときにタイプミスを見つけやすくなります。

    バリエーション

    以前のプログラムのいずれかでランダムな文字や単語を削除または追加してみて、コンパイラがこれらのエラーにどのように反応するかを観察してください。

    分岐とループ

     Cプログラミングの基本

    C では、 ifステートメントとwhileループの両方がブール式の考え方に依存しています。 if ステートメントを示す簡単な C プログラムを次に示します。

    #include int main() { int b; printf(“値を入力してください:”); scanf(“%d”, &b); if (b < 0) printf(“値は負ですn”); 0を返します。 }

    このプログラムはユーザーから番号を受け取ります。次に、if ステートメントを使用して数値をテストし、0 より小さいかどうかを確認します。0 より小さい場合、プログラムはメッセージを出力します。それ以外の場合、プログラムは沈黙します。プログラムの(b < 0)部分はブール式です。 C はこの式を評価して、メッセージを出力するかどうかを決定します。ブール式がTrueと評価された場合、C は if ステートメントの直後の 1 行 (または if ステートメントの直後の中括弧内の行ブロック) を実行します。ブール式がFalse の場合、C は if ステートメントの直後にある行または行のブロックをスキップします。

    もう少し複雑な例を次に示します。

     #include <stdio.h>
    
    int main()
    {
        int b;
        printf("値を入力してください:");
        scanf("%d", &b);
        if (b < 0)
            printf("値が負です\n");
        0を返します。
    }

    この例では、 else ifおよびelseセクションはゼロと正の値も評価します。

    より複雑なブール式は次のとおりです。

     if ((x==y) && (j>k))
        z=1;
    それ以外
        q=10;
    
    

    このステートメントは、「変数 x の値が変数 y の値と等しく、変数 j の値が変数 k の値より大きい場合、変数 z を 1 に設定し、それ以外の場合は変数 q を 10 に設定します。」 」意思決定を行うために、C プログラム全体でこのような if ステートメントを使用します。一般に、行う決定のほとんどは、最初の例のような単純なものになります。しかし場合によっては、状況がより複雑になることがあります。

    C は等しいかどうかをテストするために== を使用し、変数に値を代入するために= を使用することに注意してください。 C の&&は、ブール AND 演算を表します。

    C のすべてのブール演算子は次のとおりです。

     等価 ==
      < 未満
      >より大きい
      <= <=
      >= >=
      不等号 !=
      そして &&
      または ||
      ない ! 
     Cプログラミングの基本

    whileステートメントは if ステートメントと同じくらい簡単に使用できることがわかります。例えば:

    一方 (a < b)
    {
        printf("%d\n", a);
        a = a + 1;
    }

    これにより、 ab以上になるまで、中括弧内の 2 行が繰り返し実行されます。 while ステートメントは一般に、右に示すように機能します。

    C にはdo-while構造も用意されています。

     #include <stdio.h>
    
    int main()
    {
        int a;
    
        printf("数値を入力してください:");
        scanf("%d", &a);
        もし(a)
        {
            printf("値は True\n");
        }
        0を返します。
    }

    C のfor ループは、while ステートメントを簡単に表現する方法にすぎません。たとえば、C で次のコードがあるとします。

     x=1;
    一方 (x<10)
    {
        何とか何とか何とか
        x++; /* x++ は x=x+1 と言うのと同じです */
    }

    次のようにこれを for ループに変換できます。

     for(x=1; x<10; x++)
    {
        何とか何とか何とか
    }

    while ループには、初期化ステップ ( x=1 )、テスト ステップ ( x<10 )、および増分ステップ ( x++ ) が含まれていることに注意してください。 for ループを使用すると、3 つの部分すべてを 1 行に入れることができますが、これら 3 つの部分には何でも入れることができます。たとえば、次のループがあるとします。

     a=1;
    b=6;
    一方 (a < b)
    {
        a++;
        printf("%d\n",a);
    }

    これを for ステートメントに置くこともできます。

     for (a=1,b=6; a < b; a++,printf("%d\n",a));

    少しややこしいですが、可能です。カンマ演算子を使用すると、 for ループの初期化セクションとインクリメント セクションで複数の異なるステートメントを区切ることができます (ただし、テスト セクションでは分離できません)。多くの C プログラマは、1 行の C コードに多くの情報を詰め込むことを好みます。しかし、多くの人はコードが理解しにくくなると考え、コードを分割します。

    ブール式における = と ==

    C では==記号が問題になります。忘れてブール式に=だけを入力してしまうことがあるためです。これは間違いやすいミスですが、コンパイラにとっては非常に重要な違いがあります。 C はブール式で=== のいずれかを受け入れますが、プログラムの動作はこの 2 つの間で大きく異なります。

    C ではブール式は整数として評価され、整数はブール式内で使用できます。 C の整数値 0 は False ですが、その他の整数値は True です。 C では次のことが有効です。

    aが 0 以外の場合、printf ステートメントが実行されます。

    C では、 if (a=b)のようなステートメントは、「 b をaに代入し、 aのブール値をテストする」ことを意味します。したがって、 a が0 になると、if ステートメントは False になります。それ以外の場合は True です。 aの値はプロセス中に変化します。 ==と入力するつもりだった場合、これは意図された動作ではないため (ただし、この機能は正しく使用すると便利です)、 === の使用には注意してください。

    ループ: 実際の例

    華氏から摂氏への変換テーブルを出力するプログラムを作成するとします。これは、for ループまたは while ループを使用して簡単に実現できます。

     #include <stdio.h>
    
    int main()
    {
        int a;
        a = 0;
        while (a <= 100)
        {
            printf("%4d 度 F = %4d 度 C\n",
                a、(a - 32) * 5 / 9);
            a = a + 10;
        }
        0を返します。
    }

    このプログラムを実行すると、0 °F で始まり 100 °F で終わる値のテーブルが生成されます。出力は次のようになります。

     0°F = -17°C
      10°F = -12°C
      20°F = -6°C
      30 °F = -1 °C
      40°F = 4°C
      50°F = 10°C
      60°F = 15°C
      70°F = 21°C
      80°F = 26°C
      90°F = 32°C
     100 °F = 37 °C

    表の値は 10 度刻みです。プログラムが生成するテーブルの開始値、終了値、増分値を簡単に変更できることがわかります。

    値をより正確にしたい場合は、代わりに浮動小数点値を使用できます。

     #include <stdio.h>
    
    int main()
    {
        float a;
        a = 0;
        while (a <= 100)
        {
            printf("%6.2f 華氏 = %6.2f 摂氏\n",
                a、(a - 32.0) * 5.0 / 9.0);
            a = a + 10;
        }
        0を返します。
    }

    aの宣言が float に変更され、printf ステートメント内の % dシンボルが % fシンボルに置き換えられていることがわかります。さらに、%f 記号にはいくつかの書式設定が適用されます。値は、小数点の前に 6 桁、小数点の後に 2 桁で出力されます。

    ここで、温度 98.6 がテーブルの適切な位置に挿入されるようにプログラムを変更したいとします。つまり、表を 10 度ごとに増加させる必要がありますが、人間の通常の体温である 98.6 度 F を示す追加の行も表に含める必要があります。次のプログラムは目的を達成します。

     #include <stdio.h>
    
    int main()
    {
        float a;
        a = 0;
        while (a <= 100)
        {
    	if (a > 98.6)
            {
                printf("%6.2f 華氏 = %6.2f 摂氏\n",
                    98.6、(98.6 - 32.0) * 5.0 / 9.0);
            }
            printf("%6.2f 華氏 = %6.2f 摂氏\n",
                a、(a - 32.0) * 5.0 / 9.0);
            a = a + 10;
        }
        0を返します。
    }

    このプログラムは終了値が 100 の場合は動作しますが、終了値を 200 に変更すると、プログラムにバグがあることがわかります。 98.6 度の線が何度も印刷されます。この問題はいくつかの異なる方法で解決できます。ここに 1 つの方法があります:

     #include <stdio.h>
    
    int main()
    {
        浮動小数点 a、b;
        a = 0;
        b = -1;
        while (a <= 100)
        {
    	if ((a > 98.6) && (b < 98.6))
            {
                printf("%6.2f 華氏 = %6.2f 摂氏\n",
                    98.6、(98.6 - 32.0) * 5.0 / 9.0);
            }
            printf("%6.2f 華氏 = %6.2f 摂氏\n",
                a、(a - 32.0) * 5.0 / 9.0);
            b = a;
            a = a + 10;
        }
        0を返します。
    }
    
    C 避けるべきエラー
    • if または while ステートメントで == を意味するときに = を置く
    • while ループ内でカウンタをインクリメントするのを忘れる – カウンタをインクリメントするのを忘れると、無限ループが発生します (ループは決して終了しません)。
    • 誤って ; を入れてしまうfor ループまたは if ステートメントの最後でステートメントが影響を及ぼさないようにする – 例: for (x=1; x<10; x++); printf(“%d\n”,x); for ステートメントの後のセミコロンが for ループを実行する 1 行として機能するため、1 つの値のみが出力されます。
    これを試してみてください!
    • 華氏から摂氏へのプログラムを変更して、scanf を使用してテーブルの開始値、終了値、増分値をユーザーから受け入れるようにしてください。
    • 作成された表に見出し行を追加します。
    • 前の例で修正されたバグに対する別の解決策を見つけてください。
    • ポンドからキログラム、またはマイルからキロメートルに変換するテーブルを作成します。

    配列

     Cプログラミングの基本

    このセクションでは、10 個の乱数を生成して並べ替える小さな C プログラムを作成します。これを行うには、配列と呼ばれる新しい変数の配置を使用します。

    配列を使用すると、同じ型の値のコレクションを宣言して操作できます。たとえば、5 つの整数のコレクションを作成するとします。これを行う 1 つの方法は、5 つの整数を直接宣言することです。

     int a、b、c、d、e;

    これは問題ありませんが、1,000 個の整数が必要な場合はどうなるでしょうか?より簡単な方法は、5 つの整数の配列を宣言することです。

     int a[5];

    この配列内の 5 つの個別の整数には、インデックスによってアクセスされます。 C では、すべての配列はインデックス 0 から始まり、n-1 まで進みます。つまり、 int a[5]; となります。 5つの要素が含まれています。例えば:

     int a[5];
    
    a[0] = 12;
    a[1] = 9;
    a[2] = 14;
    a[3] = 5;
    a[4] = 1;

    配列のインデックス付けの優れた点の 1 つは、ループを使用してインデックスを操作できることです。たとえば、次のコードは配列内のすべての値を 0 に初期化します。

     int a[5];
    int i;
    
    for (i=0; i<5; i++)
        a[i] = 0;

    次のコードは、配列内の値を順番に初期化し、それらを出力します。

     #include <stdio.h>
    
    int main()
    {
        int a[5];
        int i;
    
        for (i=0; i<5; i++)
            a[i] = i;
        for (i=0; i<5; i++)
            printf("a[%d] = %d\n", i, a[i]);
    }

    配列は C で常に使用されます。一般的な使用法を理解するには、エディターを起動して次のコードを入力します。

     #include <stdio.h>
    
    #最大10を定義
    
    int a[MAX];
    int rand_seed=10;
    
    /* K&R より
       - 0 ~ 32767 の範囲の乱数を返します。*/
    int ランド()
    {
        ランドシード = ランドシード * 1103515245 +12345;
        return (unsigned int)(rand_seed / 65536) % 32768;
    }
    
    int main()
    {
        int i,t,x,y;
    
        /* 配列を埋める */
        for (i=0; i < MAX; i++)
        {
            a[i]=ランド();
            printf("%d\n",a[i]);
        }
    
        /* すぐにさらに多くの内容がここに表示されます */
    
        0を返します。
    }

    このコードには、いくつかの新しい概念が含まれています。 #define行は、 MAXという名前の定数を宣言し、それを 10 に設定します。定数名は、コード内でわかりやすいように、伝統的にすべて大文字で書かれています。行int a [MAX] ;は、C で整数の配列を宣言する方法を示しています。配列の宣言の位置により、配列はプログラム全体に対してグローバルであることに注意してください。

    int rand_seed=10行は、今回はrand_seedという名前のグローバル変数も宣言します。この変数は、プログラムが開始されるたびに 10 に初期化されます。この値は、後続の乱数コードの開始シードになります。実際の乱数ジェネレータでは、シードはシステム時間などの乱数値として初期化する必要があります。ここで、 rand関数はプログラムを実行するたびに同じ値を生成します。

    int rand()行は関数宣言です。 rand 関数はパラメータを受け入れず、整数値を返します。関数については後で詳しく学びます。続く 4 行は rand 関数を実装します。今のところ無視します。

    主な機能は正常です。 4 つのローカル整数が宣言され、for ループを使用して配列に 10 個のランダムな値が入力されます。配列a には10 個の個別の整数が含まれていることに注意してください。角括弧を使用して、配列内の特定の整数を指します。したがって、 a[0] は配列内の最初の整数を指し、 a[1] は2 番目の整数を指します。 /*で始まり*/で終わる行をコメントと呼びます。コンパイラはその行を完全に無視します。自分自身または他のプログラマへのメモをコメントに記入できます。

    次に、 more things …コメントの代わりに次のコードを追加します。

     /* 配列をバブルソートします */
    for (x=0; x < MAX-1; x++)
        for (y=0; y < MAX-x-1; y++)
            if (a[y] > a[y+1])
            {
                t=a[y];
                a[y]=a[y+1];
                a[y+1]=t;
            }
    /* ソートされた配列を出力します */
    printf("-------------------\n");
    for (i=0; i < MAX; i++)
    printf("%d\n",a[i]);
    
    

    このコードは、ランダムな値をソートし、ソートされた順序で出力します。実行するたびに同じ値が得られます。ソートされる値を変更したい場合は、プログラムを実行するたびに rand_seed の値を変更します。

    このコードが何をしているのかを本当に理解する唯一の簡単な方法は、コードを「手動で」実行することです。つまり、もう少し扱いやすくするためにMAXが 4 であると仮定し、紙を取り出して、自分がコンピューターであるふりをします。紙に配列を描き、その配列に 4 つのランダムな未ソートの値を入れます。コードの並べ替えセクションの各行を実行し、何が起こったのかを正確に引き出します。内側のループを通過するたびに、配列内の大きな値が配列の底部に向かって押し出され、小さな値が上部に向かって盛り上がっていることがわかります。

    これを試してみてください!
    • 最初のコード部分で、配列にデータを入力する for ループを 1 行のコードに変更してみてください。結果が元のコードと同じであることを確認してください。
    • バブル ソート コードを取り出して、それを独自の関数に組み込みます。関数ヘッダーはvoid bubble_sort()になります。次に、バブル ソートで使用される変数も関数に移動し、そこでローカルにします。配列はグローバルであるため、パラメーターを渡す必要はありません。
    • 乱数シードを別の値に初期化します。
    C 避けるべきエラー
    • C には範囲チェックがないため、配列の末尾を超えてインデックスを付けても、それについては通知されません。最終的にはクラッシュするか、ゴミデータが生成されます。
    • パラメータが渡されない場合でも、関数呼び出しには() を含める必要があります。たとえば、C はx=rand を受け入れます。 , しかし、通話はできません。代わりに、rand 関数のメモリ アドレスがxに配置されます。 x=rand(); と言う必要があります。

    配列の詳細

    変数の型

    C には 3 つの標準変数タイプがあります。

    • 整数: int
    • 浮動小数点: float
    • 文字: 文字

    int は 4 バイトの整数値です。 float は 4 バイトの浮動小数点値です。 char は 1 バイトの単一文字 (「a」や「3」など) です。文字列は文字の配列として宣言されます。

    多数の派生型があります。

    • double (8バイト浮動小数点値)
    • short (2バイト整数)
    • unsigned shortまたはunsigned int (正の整数、符号ビットなし)
    演算子と演算子の優先順位

    C の演算子は、ほとんどの言語の演算子と似ています。

     + - 加算
    - - 引き算
    / - 分割
    * - 乗算
    % - モッド

    /演算子は、両方のオペランドが整数の場合は整数の除算を実行し、そうでない場合は浮動小数点の除算を実行します。例えば:

    ボイドメイン()
    {
        float a;
        a=10/3;
        printf("%f\n",a);
    }

    このコードは、 a がfloat型として宣言されているため、浮動小数点値を出力しますが、コードは整数の除算を実行したため、 a は3.0 になります。

    C の演算子の優先順位も、他のほとんどの言語と同様です。除算と乗算が最初に行われ、次に加算と減算が行われます。 C では * 演算子の方が + よりも優先順位が高いため、計算 5+3*4 の結果は 32 ではなく 17 になります。括弧を使用して通常の優先順位を変更できます ((5+3)*4 は 32 です)。 5+3 は括弧内にあるため、最初に評価されます。優先順位については後ほど説明します。C ではポインタが導入されるとやや複雑になります。

    タイプキャスト

    C を使用すると、その場で型変換を実行できます。これは、ポインターを使用するときに特に頻繁に行われます。型キャストは、特定の型の代入操作中にも発生します。たとえば、上記のコードでは、整数値が自動的に浮動小数点数に変換されました。

    C で型キャストを行うには、型名をかっこで囲み、変更する値の前に置きます。したがって、上記のコードでは、行a=10/3;を置き換えます。 a=(float)10/3; 10 は除算の前に浮動小数点値に変換されるため、結果として 3.33333 が生成されます。

    Typedef

    C では、 typedefステートメントを使用して、名前付きのユーザー定義型を宣言します。次の例は、C コードでよく使用される型を示しています。

     #define TRUE 1
    #define FALSE 0
    typedef int ブール値;
    
    ボイドメイン()
    {
        ブール値 b;
    
        b=偽;
        何とか何とか何とか
    }
    
    

    このコードを使用すると、C プログラムでブール型を宣言できます。

    実数に対する「float」という言葉が気に入らない場合は、次のように言えます。

     typedef 浮動小数点実数;

    そして後で言います:

     REAL R1、R2、R3;

    Typedefステートメントは、コードで最初に使用する前に来る限り、Cプログラムのどこにでも配置できます。

    構造物

    Cの構造を使用すると、変数をパッケージにグループ化できます。これが例です:

     struct rec
    {
        int a、b、c;
        フロートD、E、F;
    };
    
    struct rec r;

    ここに示すように、タイプのrecの構造を宣言したいときはいつでも、 struct rec 。この行は非常に簡単に忘れがちであり、構造体を除外しないため、多くのコンパイラエラーが発生します。コードをフォームに圧縮できます。

     struct rec
    {
        int a、b、c;
        フロートD、E、F;
    } r;

    RECのタイプ宣言と変数Rが同じステートメントで宣言されている場合。または、構造名のtypedefステートメントを作成できます。たとえば、レコードを宣言したいたびにstruct rec rを言うのが好きではない場合は、次のように言うことができます。

     typedef struct rec_type;

    次に、次のように言って、型rec_typeのレコードを宣言します。

     rec_type r;

    たとえば、 RA = 5など、期間を使用して構造のフィールドにアクセスします。

    配列

    以下に示すように、通常の宣言の後に配列サイズを挿入して配列を宣言します。

     int a [10]; / *整数の配列 */
    char s [100]; /*文字の配列
                        (c文字列) */
    フロートF [20]; / *実在の配列 */
    struct rec r [50]; / *レコードの配列 */
    増分
    長い道のり
    i = i+1; i ++;
    i = i-1;私 - ;
    i = i+3; i += 3;
    i = i*j; i *= j;
    これを試してみてください!
    • タイプキャストと優先順位を調査するために、さまざまなコードを試してください。 int、char、floatなどを試してみてください。
    • 一連のレコードを作成し、1つの整数フィールドにその配列をソートするためのコードを記述します。
  • 電子メールを終了する方法: 21 の専門的および個人的な承認

    あなたは完璧な電子メールを書いたばかりです。そして今、あなたは過去 1 時間見つめてきた最善の方法を探しています。心配しないでください、私たちは皆そこにいたことがあります。電子メールの終わらせ方を知っておくことは非常に重要なので、それを意識しておくと良いでしょう。

    たとえそれが単なる単語や短いフレーズであっても、適切な締めくくりとそれに続くフルネームと署名 (詳細は後述) は、よく書かれた電子メールの署名の最も重要な要素です。また、受信者が最後に読むものでもあります。

    しかし、絶対に失敗しないクロージングを行う前に、絶対に避けるべきいくつかのことをご紹介します。

    受け取り手のことを考える

    コミュニケーションを書く際には、相手を知ることが重要であり、それは電子メールにも当てはまります。メッセージがビジネス関連または就職活動に関するものである場合は、電子メールを締めくくる際に専門的ではない言葉の使用を避け、プロフェッショナルな締めくくりの言葉で物事を締めくくります。

    一方、大学時代のルームメイトに手紙を書く場合は、よりカジュアルな挨拶文を使用しても問題ありません。兄弟や配偶者に簡単なメッセージを送信する場合、近くのメッセージをすべてスキップして、ハイフンの後に自分の名前を入力して終了することがあります。

    コンテキストが重要であることを忘れないでください。

    専門的な電子メールを終了する方法

    洗練されたプロフェッショナルな締めくくりは、受取人に永続的な好印象を残し、細部へのこだわりとコミュニケーションスキルをアピールします。

    1. よろしくお願いします: この締めくくりは、丁寧で中立的な雰囲気を伝えています。これは、特に受信者と友好的な関係がある場合に、ほとんどのプロフェッショナルな電子メールに適しています。
    2. 敬具: これは形式と敬意を表します。求人応募、カバーレター、またはよく知らない人とのコミュニケーションなど、正式な電子メールに最適です。
    3. よろしくお願いします: 「よろしくお願いします」よりも少し暖かい口調です。同僚やビジネスパートナーとのような、プロフェッショナルだがフレンドリーな通信に適しています。
    4. ご多幸をお祈りします: フレンドリーで温かい雰囲気が伝わります。セミフォーマルな電子メール、特にクライアントやよく知っている同僚など、ちょっとした温かさを伝えたい場合に適しています。
    5. ありがとう:このクローザーは感謝と感謝の気持ちを表します。何かをリクエストしたり、援助を受けたり、援助を認めたりする電子メールに最適です。
    6. よろしく: この中立的なクローザーは、おそらく専門的に電子メールを終了する最も一般的な方法です。これは、プロフェッショナルなやり取りのほとんどに適した汎用性の高いクロージングであり、距離を置きすぎずにフォーマルな雰囲気を維持します。
    7. 感謝を込めて:心からの感謝と敬意を表します。感謝の意を表したり、誰かの努力や援助を認めたりする電子メールに最適です。
    8. 敬意を表して:これは高い敬意と格式を表します。これは、非常にフォーマルなビジネス通信、特にかなり高い地位や権限を持つ人に手紙を書く場合に適しています。
    9. 敬具: フォーマルな雰囲気を持ちながら、フレンドリーで温かい雰囲気を伝えます。長年の取引先や良好な関係を築いている同僚など、もう少し温かさを伝えたいプロフェッショナルなコミュニケーションに適しています。

    個人メールを終了する方法

    個人的な電子メールやカジュアルな電子メールの終わりは単純そうに見えますが、適切な結び方をすることでフレンドリーなタッチが加わり、あなたの個性が伝わります。友人、家族、またはカジュアルな知人に手紙を書く場合でも、適切な署名を選択すると、電子メールがより魅力的で個性的なものになるでしょう。

    1. ベスト: これは、ほとんどのカジュアルな状況に適した、シンプルで汎用性の高いサインオフです。
    2. Take Care : これは、電子メールを温かく思いやりのある締めくくり方で、受信者の健康を気にかけていることを示します。
    3. Cheers : これは、イギリス英語でよく使用される、フレンドリーで非公式な締めくくりです。お茶を飲みながら入力するとボーナスポイント。
    4. すぐに話しましょう: このカジュアルで自由な承認は、コミュニケーションの継続を示唆しています。なぜなら、正直に言うと、おそらくまだ話が終わっていないからです。
    5. よろしくお願いします: これは、電子メールを閉じるためのフレンドリーで協力的な方法です。目に見えない小さな善意の旗を振っているように聞こえたいときに最適です。
    6. また会いましょう: 近い将来その人に会えると予想している場合、または最終的にその人があなたを訪ねてくることを心から願っている場合、これは良い選択です。
    7. 後で: これは、親しい友人や家族に適した、カジュアルでリラックスした電子メールの終了方法です。これは、電子メールでうなずくことに相当すると考えてください。
    8. ご多幸をお祈りします: これは善意を伝えるフレンドリーなサインオフです (良い雰囲気で終わりたいときに最適です)。
    9. Ciao : これはイタリア語から借りた、カジュアルでスタイリッシュな別れの言葉です。カジュアルな関係を築いている相手にとっては、これは完全に受け入れられる締めくくりでしょう。
    10. Take it easy : これはリラックスしたフレンドリーな締めくくりであり、受信者がストレスを感じずに気をつけるべきであることを示唆しています。基本的には、仮想ハンモックを送るようなものです。
    11. 素晴らしい週末を過ごしてください: これはフレンドリーでタイムリーな締めくくりであり、受信者に楽しい週末を過ごしたい場合に、週の終わりに使用するのが最適です。プロフェッショナルでありながら、個人的なタッチを加えます。
    12. Happy Holidays : ホリデーシーズンにふさわしい、温かく思いやりのある締めくくりです。これは、プロフェッショナルでありながらフレンドリーな口調を維持しながら、お祝いの歓声と願いを伝える優れた方法です。

    特定の状況ではこのような電子メールの締めくくりを避ける

    電子メールを終了するための優れた方法は数多くありますが、一般的なクローザーのいくつかは状況に依存します。ここでは、スキップしたほうがよいいくつかの承認を示します。

    1. : これは、親しい家族や恋人に宛てたものでない限り、ほとんどの仕事用またはカジュアルな電子メールには親密すぎます。愛は自分の私生活のために取っておきましょう。
    2. 敬具: この署名は形式的すぎて、19 世紀からの手紙を締めくくるように聞こえます。
    3. iPhone から送信: これは自動署名である可能性がありますが、サインオフをわざわざカスタマイズしなかったことを示唆しています。さらに、「タイプミスをしたかもしれない」と叫びます。
    4. 良い一日をお過ごしください: この締めくくりのセリフは通常、個人的または非公式な環境では適していますが、職業的な状況では不適切またはあまりにもありきたりなものとみなされる可能性があります。
    5. よろしく: カジュアルな環境では堅苦しく見えたり、冷たい印象を与えたりすることがありますが、仕事用の電子メールには適しています。
    6. 注意: 文脈によっては、これは少し個人的すぎたり、見下したように感じられる場合があります。あなたの電子メールは、一方的に人生のアドバイスを与えているようなものです。
    7. よろしくお願いします: これは、受信者があなたの要求に従うことを前提としており、傲慢で押し付けがましいと感じる可能性があります。また、「選択の余地はありません」と言っているようなものです。一般的な代替案は、企業環境で一般的な行動喚起である「ご連絡を楽しみにしています」です。
    8. よろしくお願いします。おばあちゃんに手紙を書いている場合を除いて、これは過度に感傷的になるかもしれません。電子メールまたはホールマーク カードを送信しますか?
    9. 敬意を表します。これは形式的すぎて、法的文書に署名しているように聞こえます。シンプルにしてください。
    10. 乾杯: イギリス英語ではフレンドリーですが、アメリカのビジネスの文脈では混乱したりカジュアルすぎる場合があります。
    11. TTYL (後で話します) : これはあまりにも非公式で、テキストで話すようなものです。親戚、配偶者、または親しい知人にテキストメッセージを送信する場合を除き、頭字語の使用は避けてください。

    電子メールに署名を追加する

    適切なクローザーを選択したので、最後にプロフェッショナルな電子メール署名を追加します。これには、名前、役職、電子メール、電話番号などの連絡先情報が含まれている必要があります。これにより、受信者は他の場所であなたの情報を探さなくても簡単に接続できます。例えば:

    ジェーン・ドウ

    マーケティングプロフェッショナル

    (555) 123-4567

    jane.doe@email.com

    LinkedIn などの専門的なソーシャル メディア プロフィール、または個人のポートフォリオ Web サイトがある場合は、その Web サイトへのリンクを含めることもできます。

    ジョン・スミス

    ソフトウェアエンジニア

    (555) 987-6543

    john.smith@email.com

    LinkedIn プロフィール

    ポートフォリオウェブサイト

    カバーレターや履歴書と同様、丁寧に作られた署名は良い印象を与え、プロ意識と細部へのこだわりをアピールします。思慮深い署名を作成すると、コミュニケーションが強化され、受信者に永続的なポジティブな印象を残すことができます。

    句読点を確認してください

    送信ボタンを押す前に、最後にもう 1 つ注意してください。電子メールを終了するときは、プロ意識を維持するために適切な句読点を使用することが不可欠です。最後のフレーズの後には常にカンマを置き、次の行に自分の名前を続けます。この小さなディテールにより、電子メールが洗練され、敬意を持って見えるようになります。

    「ありがとう!」のような終わりに感嘆符を使用することもできます。熱意と親しみやすさを伝えるために。この句読点によって温かみが加わり、メッセージがより個性的で魅力的なものになります。ただし、プロ意識の適切なバランスを維持するために、使用は控えめにしてください。

    適切な句読点に加えて、電子メールの締めくくり方は、細部への注意を示し、全体的なコミュニケーション スキルを反映することができます。それは、受信者があなたのメッセージとあなたを専門家としてどのように認識するかに影響を与える可能性があります。これを怠ると、電子メールが急いでいる、または不注意であるように見え、コミュニケーションの効率に影響を与える可能性があります。

    そして、句読点が大きな違いを生む可能性があることを覚えておいてください。結局のところ、「このプロジェクトを終わらせましょう」と「このプロジェクトを終わらせましょう!」の間には大きな違いがあります。 1つはタスクのように聞こえます。もう一方は激励会のように聞こえます!

    今、それは興味深いです

    彼は 1971 年に開発した電子メールの発明者と考えられています。彼は @ 記号を使用してユーザー名を宛先サーバーにリンクし、当初使用されていた先端研究計画庁ネットワーク (ARPANET) を介して異なるホスト上のユーザー間で最初のメールを送信しました。国防総省が資金提供する研究機関のコンピュータを電話回線で接続する。

  • ブログの仕組み

    最近、ニュースでブログがよく取り上げられます。たとえば、記者がブログから記事のヒントを得たり、ブログが記事について別の角度から報告したりする場合です。雑誌にもブログがよく登場します。

    しかし、あなたはブログ (ウェブログとも呼ばれる) を見たことも、ブロゴスフィアを体験したこともない可能性が十分にあります。ブログとは何ですか?今では何百万ものそれらが存在しますが、それらは一体どこから来たのでしょうか?

    ブログの素晴らしい点の 1 つは、そのシンプルさです。

    「通常の Web サイト」について考えてみましょう。通常、ホームページがあり、詳細が記載された多くのサブページへのリンクがあります。 「コンピューター入門」 は次のようなもので、何千もの情報ページがすべてホームページの下に編成されています。小規模ビジネス サイトも同じ形式に従い、ホームページと 5 つまたは 10 のサブページがある場合があります。従来の Web サイトのほとんどはこの形式に従っています。サイトが小さい場合は、オンラインのパンフレットのようなものです。大きいと電子百科事典のようなものです。

    一般的な Web サイトには、サイト内のサブページにリンクするホームページがあります。 CNN.com はこのジャンルの典型です。 CNN サイトには、大きなカテゴリに分類された何千もの記事が掲載されています。カテゴリとすべての最新記事にはホームページからアクセスできます。

    ブログはもっとシンプルです。

    • ブログは通常、エントリの1 ページです。古いエントリのアーカイブはあるかもしれませんが、誰もが本当に関心があるのはブログの「メイン ページ」だけです。
    • ブログは、最新のエントリから最も新しいエントリまで、逆の時系列順に編成されます。
    • ブログは通常公開されており、全世界が見ることができます。
    • ブログ内のエントリは通常、 1 人の著者によって作成されます。
    • ブログのエントリは通常、意識の流れです。それらに特別な順序はありません。たとえば、適切なリンクを見つけたら、それを自分のブログに投稿できます。ほとんどのブロガーが使用しているツールを使用すると、いつでも好きなときにブログにエントリを追加することが非常に簡単になります。

    この記事では、ブログの世界に入るチャンスがあります。自分のブログを作成して世界に公開する方法も学びます。

    ブログの基本

    ブログの仕組み

    典型的なブログにはメイン ページがあり、他には何もありません。メイン ページには一連のエントリがあります。各エントリは小さなテキストの宣伝文であり、他のサイトやニュース記事などへの埋め込みリンクが含まれている場合があります。作成者が新しいエントリを追加すると、古いエントリはすべて下に押し込まれて一番上に表示されます。このブログには、他のサイトやストーリーへの追加の永久リンクを含む右側のサイドバーもあります。作成者はサイドバーを毎週または毎月更新する場合があります。

    基本的に、ブログはオンラインの日記日記によく似ています。著者は何でも話すことができます。多くのブログには、著者が見つけた興味深いリンクが満載されています。ブログには、著者にとって興味深いストーリーや情報の小さな断片が含まれることがよくあります。

    ブログは完全に自由な形式にすることができますが、多くのブログには焦点があります。たとえば、ブロガーがテクノロジーに興味がある場合、ブロガーはコンシューマー エレクトロニクス ショーに行き、そこで見たもののエントリを投稿する可能性があります。ブロガーが特定の病気に興味がある場合、その病気に関して見つけたすべてのニュース記事やすべての研究を投稿する可能性があります。ブロガーが経済問題に興味がある場合、経済について議論する記事へのリンクを投稿し、それについて解説を提供する可能性があります。

    自分のブログを単にスクラップブック、つまりオンライン記憶の一種として使用している人もいます。著者が覚えておきたいリンクや情報の断片を見つけると、それがブログに投稿されます。ブログは、作者が世界中のどこからでも Web ブラウザでアクセスできる検索可能な電子メディアであるため、たとえ他の人が見なかったとしても、作者にとっては有益です。

    言い換えれば、ブログは作者が望むものなら何でもできるということです。すべてのブログに共通しているのは、エントリが逆時系列に並べられていることです。

    ブロゴスフィア

    ブログの非常に魅力的な点の 1 つは、相互リンクです。何百万人もの人々がアクティブなブログを維持しており、ブロガーは他の人のブログを見る傾向があります。ブロガーは、お気に入りのブログで気に入ったものを見つけると、そのブログにリンクしたり、コメントしたりすることがよくあります。

    このすべての緊密なつながりが、ブロゴスフィアとして知られる現象を生み出しました。ブロゴスフィアは、相互リンクされたすべてのブログで構成されます。ブロゴスフィア内の 1 つのブログにアクセスすると、多くの場合、ブロゴスフィア内の他の多くのサイトに接続するリンクが表示されます。そういうのが好きなら、何年もブロゴスフィアを飛び回っていられます。

    多くのブログ読者はブロゴスフィアに入り、本当に気に入った 1 人 (または数人) のブロガーを見つけます。たとえば、最新のテクノロジーに関する最新情報を入手するために使用するブログと、最新のニュースを入手するために使用するブログがあるとします。ブロガーはラジオ番組の DJ のように振る舞い、DJ が曲を選ぶのと同じようにストーリー、リンク、および/またはスニペットを選択します。ブロガーが毎日注目している内容が気に入った人は、毎日のように戻ってきてそのブロガーを読みます。有名人もこれに参加し、ファンと交流する手段としてブログを作成しています。

    次に独自のブログを作成する方法をご覧ください。

    ベストブログ

    ブログの味を知り、世の中の最高のブログをいくつか見てみたい場合、最も簡単な方法は、「最高のブログ」リストを見つけて、実際のブログをいくつかサーフィンすることです。始めるにあたって、いくつかの「ベスト」リストを以下に示します。

    ブログを作成する

    ブログの管理を驚くほど簡単にする Web ベースのツールセットがあるため、独自のブログを作成するのは簡単です。 、 、 、および は、利用可能なサービスのほんの一部です。基本的なブログは無料で作成でき、これらのツールセットのほとんどには有料で追加機能が備わっています。さらにカスタマイズしてブログを作成および自己公開するのに役立つソフトウェア ( など) もあります。

    Bloggerを利用して作成しました。簡単なブログの作成は無料で、所要時間はわずか 5 分です。名前、電子メールアドレス、その他いくつかの情報を入力します。標準テンプレートのセットからブログの「外観」(テンプレート) を選択します。いくつかのボタンをクリックすると完了です。

    これで、ブログに新しいエントリを追加できるようになりました。基本的には、項目を入力して「投稿」ボタンを押すだけで投​​稿できます。 「編集」ボタンをクリックすると、エントリーを好きなだけ編集できます。新しいエントリに満足したら、[公開] ボタンを押して、新しいエントリが公開ブログに表示されるようにします。

    私が最近見つけた最高の Web サイトの 1 つは、ExploreMarsNow.com という名前です。それに関する短いエントリを 10 秒ほどでブログに追加しました。エントリーには簡単にこう書かれています。

    私はこの Web サイトがとても好きです: ExploreMarsNow。

    それでおしまい。ブログのエントリーはとてもシンプルです。あるいは、物語全体でも構いません。すべてはあなた次第です。

    Blogger では、ブログをどこに置くかについて 2 つのオプションがあります。

    • ブログは、 Blogspot.comというブログ サイトに公開できます。ブログのカスタム URL を作成すると、 Blogspot.com がブログをホスティングするすべての作業を行います。たとえば、Marshall Brain のブログは、 にあります。
    • 別の Web サイトで自分のブログをホストすることができます。ブログを「公開」するたびに、FTP を使用してブログの最新の HTML コードを選択した場所に送信します。

    ブログの信じられないほどのシンプルさが、ブログの人気を高めている理由の 1 つです。ただし、テキストだけでは十分ではない場合は、多くのブログ ツールセットを使用して写真、ビデオ、オーディオ ファイルを投稿することもできます。携帯電話からも投稿できます。

    ブログとブログについて詳しく知りたい場合は、次のページのリンクをご覧ください。

    オープンソースコード

    オープンソース ソフトウェアに基づいて構築されています。これは、LiveJournal の作成と保守に使用されるソフトウェアのほとんどが、誰でも変更して使用できることを意味します。 LiveJournal のソース コードを使用するブログ ツールセットがいくつかあります ( や など)。

  • メッシュ Wifi とは何ですか?またその仕組みは何ですか?

    オフィス、ショッピング モール、さらには自宅を歩き回っているときに、接続されたデバイスを介してワイヤレス インターネット アクセスを楽しんでいる場合は、メッシュ Wi-Fi に感謝することができます。その仕事は、広いエリアのデッドゾーンを排除することです。でも、メッシュ Wi-Fi とは何ですか?

    メッシュ Wi-Fi は、安価な既存のテクノロジーを使用して、広いエリアを簡単かつ効果的にワイヤレスで接続できるワイヤレス メッシュ ネットワークを指します。ワイヤレス メッシュ ネットワークでは、ネットワーク接続が数十、場合によっては数百のワイヤレス メッシュ ノードに分散され、相互に「通信」して広いエリアにわたってネットワーク接続を共有します。

    この記事では、メッシュ Wi-Fi システムが従来の Wi-Fi ネットワーク上でどのように機能するのか、また、メッシュ Wi-Fi システムがさまざまな業界のネットワーク アクセスをどのように増加させるのかについて説明します。その過程で、イーサネット ケーブルから切り離すことで得られる自由を実感していただけるでしょう。

    メッシュ Wi-Fi システムの仕組み

    一般的な Wi-Fi ルーターは、ネットワークに接続されている複数のデバイスのハブとして機能します。従来のほとんどの「ワイヤレス」アクセス ポイントは、依然として信号をブロードキャストするためにインターネットに配線する必要があります。大規模なワイヤレス ネットワークの場合、イーサネット ケーブルを天井や壁、公共エリア全体に埋め込む必要があります。

    ワイヤレス メッシュ ネットワークでは、1 つのノードのみがインターネット接続を持つ必要があります。ネットワークに追加された各ノードは、その近くにある他のすべてのノードとワイヤレスで接続を共有します。ノードの数が増えるほど、接続はさらに広がり、大規模なオフィスや数百万の都市にサービスを提供できるワイヤレスの「接続のクラウド」が作成されます。

    メッシュシステムの利点

    狭いエリアにインターネット アクセスを提供するだけであれば、単一のメッシュ ネットワーク ノードと従来のワイヤレスルーターとの間に大きな違いは見られないでしょう。ただし、大規模なネットワークの場合、メッシュ ネットワークには次のような利点があります。

    ワイヤレス メッシュ ネットワークの利点は次のとおりです。

    • 使用するワイヤの数が少なくなるということは、
    • インストールするノードが増えるほど、ワイヤレス ネットワークは大きくなり、高速になります。
    • これらは、ほとんどの無線ネットワークにすでに導入されているのと同じ無線通信規格に依存しています。
    • これらは、屋外エリアや、エリアや など従来のインフラストラクチャが機能していない場所など、イーサネットの壁接続が不足している場所に便利です。
    • これらは、ワイヤレス信号が断続的にブロックされる見通し外 (NLoS) ネットワーク構成に役立ちます。たとえば、遊園地では、観覧車が無線アクセス ポイントからの信号を遮断することがあります。周囲に他のノードが数十または数百ある場合、クリアな信号を見つける必要があります。
    • メッシュ ネットワークは「自己構成」です。ネットワーク管理者による調整を必要とせずに、ネットワークが既存の構造に自動的に組み込まれます。
    • メッシュ ネットワークは、ノードがブロックされたり信号が失われたりした場合でも、ネットワークがデータを送信するための最速かつ最も信頼性の高いパスを自動的に見つけます。
    • ワイヤレス メッシュ構成では、ローカル パケットが中央サーバーに戻る必要がないため、ローカル ネットワークをより高速に実行できます。
    • ワイヤレス メッシュ ノードはインストールとアンインストールが簡単であるため、必要なカバレッジの多かれ少なかれに応じて、ネットワークの適応性と拡張性が非常に高くなります。
    インターネット: オリジナルのメッシュ ネットワーク

    インターネットは世界最大のメッシュ ネットワークです。情報は、目的地に到達するまで、ルーターからルーターへと自動的にバウンスされ、インターネット上を移動します。インターネットは、データが通過できる潜在的なパスが数十億あるため、接続の「クラウド」または「ウェブ」として描かれることがよくあります。

    ワイヤレスメッシュテクノロジー

    以下の図は、ローカル エリア ネットワーク (LAN)経由でインターネット接続を共有するときに、ワイヤレス メッシュ ネットワークがどのように機能するかを示しています。ご覧のとおり、インターネットに直接配線する必要があるのは、ワイヤレス メッシュ ネットワーク内の 1 つのノードだけです。その有線ノードは、インターネット接続を最も近いノードのクラスターと無線で共有し、さらにそのノードも最も近いノードのクラスターとそれを共有する、というようになります。

    デバイスを接続するワイヤレス メッシュ ネットワーク ハブの図。

    つまり、個々のノードには、屋外の場合は従来の AC プラグ、バッテリー、またはソーラー パネルなどの電源だけが必要です。屋外ノードは耐候性の保護シールドに包まれており、電柱や屋根など、どこにでも取り付けることができます。

    より高速なインターネット接続

    ワイヤレス メッシュ ネットワークは、設置されるノードの数が増えるほど信号がより遠くまで伝わるため、インターネット接続の共有に効果的です。また、ノードが増えれば増えるほど、ユーザーにとってのインターネット接続はより強力かつ高速になります。

    インターネット接続はどのようにしてより強力かつ高速になるのでしょうか?

    • 距離はワイヤレス信号の強度に大きな影響を与えます。コンピューターと最も近いワイヤレス ノード間の距離が 2 つ縮まると、信号強度は 4 倍になります。
    • ノードは、従来のイーサネット ケーブルを使用して、 VoIP電話、ビデオ カメラ、サーバー、デスクトップ ワークステーションなどのネットワーク内の有線デバイスにインターネット接続を提供することもできます。ほとんどのノードには少なくとも 1 つのイーサネット ポートが付属しており、パワー オーバー イーサネット (PoE) と呼ばれるテクノロジを通じて、ノードはカメラをコンセントに接続しなくても監視カメラのように使用できます。

    次に、ワイヤレス メッシュ ネットワークの実際の潜在的なアプリケーションをいくつか見てみましょう。

    バックホールノード

    ワイヤレス メッシュ LAN であっても、より広範囲のインターネットに到達するために、情報がアクセス ポイントに返される必要がある場合があります。その情報をアクセス ポイントに戻すことを と呼びます。小規模なワイヤレス メッシュ ネットワークは、特別な構成を必要とせずにバックホールを処理します。都市や大企業向けのような大規模なメッシュ ネットワークでは、特定のノードを として専用にする必要があります。他のノードはすべての送信情報をバックホール ノードの 1 つに直接送信し、バックホール ノードは不要なホップなしで情報を有線アクセス ポイントに送信します。

    ワイヤレスメッシュネットワーク用のアプリケーション

    公共スペースを接続するワイヤレス メッシュ ネットワークの図。 

    市区町村

    ワイヤレス メッシュ ネットワークを使用すると、都市は広範囲にわたる高速ワイヤレス接続を介して市民と公共サービスを接続できます。

    A は公衆 WiFi ホットスポットを設置しています。メッシュ ネットワークを使用すると、都市はすべてのホットスポットを安価かつ簡単にリンクして自治体全体をカバーできるようになります。地方自治体のネットワークは、必ずしも都市やコミュニティ自体によって作成および維持されるわけではありません。地域住民によって作成されたアドホック ネットワークもあります。非営利プロジェクトや政府プロジェクトからの資金提供を受けて立ち上げる会社もあります。米国国務省は、反体制派に自国政府の監視を受けずに通信する方法を提供するために、海外の一部の場所にあるメッシュネットワークに資金を提供した。

    オープン自治体メッシュ WiFi ネットワークには次のような利点があります。

    • 通勤者は電車、公園、レストランで電子メールをチェックできます。
    • 公共事業職員は、発電機に無線ノードを設置することで、市の電力と水道の診断を監視できます。ケーブルを配線するために溝を掘る必要はありません。
    • 通常の電話や携帯電話のサービスがダウンしている場合でも、大規模なネットワーク内の安全な仮想ネットワークにアクセスして、通信回線を開いた状態に保つことができます。街路灯や信号機にメッシュ ノードを取り付けることで、警察や消防士は移動中でもネットワークに接続したままにすることができます。

    自治体のネットワークが拡大

    MuniNetworks.org は非営利団体、Institute for Local Self-Reliance のプロジェクトで、米国内の数百の自治体ネットワークを示すコミュニティを示しており、その多くはメッシュ ネットワークを使用してブロードバンド アクセスを分散しています。自治体メッシュ ネットワークは米国だけで利用できるわけではなく、 や など世界中で普及しつつあります。

    メッシュ ネットワークは、企業チャネルを通じて近隣地域にも導入されています。小売大手の Amazon は、Ring ブランドのスマート ホーム デバイスを使用して、近くの住宅間にメッシュ ネットワークを構築しています。 2019年に発表された、Amazon Sidewalk。 Amazon がこのサービスに賛同するのは、顧客のスマート ホーム デバイスをサポートすることであり、自治体の WiFi ネットワークとは異なり、Amazon Sidewalk のメッシュ ネットワークは通信に 900 MHz スペクトルを使用します。

    ただし、すべての自治体のワイヤレス ネットワークがメッシュ テクノロジを使用しているわけではありません。 WiMAXと呼ばれるテクノロジーを使用するものもあります。これは、強力なマイクロ波伝送を使用して長距離に信号をブロードキャストする機能を備えています。他の地方自治体のネットワークでは、メッシュ、WiMAX などを組み合わせて使用​​します。

    発展途上国

    ワイヤレス メッシュ ネットワークは、電話サービスや電力などの分野で役立ちます。太陽光発電のノードは 1 つの携帯電話または衛星インターネット接続に接続でき、村全体をオンラインに保つことができます。

    孤立した場所

    先進国であっても、従来の高速インターネット サービス プロバイダーが利用できる網から遠く離れた険しい場所があります。これらの分野では、ワイヤレス メッシュ ネットワークが検討されています。一連のノードは、最も近い利用可能な有線アクセス ポイントから到達しにくいエリアまでマウントされます。

    教育機関

    多くの大学、大学、高校は、キャンパス全体をワイヤレス メッシュ ネットワークに変換しています。このソリューションにより、古い建物内やキャンパス全体にケーブルを埋める必要がなくなります。屋内外に数十のノードが適切に配置されているため、誰もが常に接続されています。

    メッシュ ネットワークには、大きなファイルをダウンロードする必要がある学生が必要とする高帯域幅のニーズを処理する能力もあります。

    学校は、公共安全システム全体をネットワークに組み込んで、セキュリティカメラを監視し、緊急事態においてすべての職員が常に通信できるようにすることもできます。

    医療施設

    多くの病院は、コンピューター ネットワークを考慮して建設されていない、密集して建設された建物の集合体に分散しています。ワイヤレス メッシュ ノードは、角を迂回して厚いガラスやその他の素材を介して短距離に信号を送信し、すべての手術室、研究室、オフィスでのアクセスを確保できます。

    より多くの医師や介護者が、検査結果、病歴、さらには保険情報などの患者情報を、部屋から部屋に持ち運べるポータブル電子機器で管理し、更新するようになっているため、ネットワークに接続する機能は非常に重要です。

    ホスピタリティと仮設会場

    ホテルやリゾートでの高速インターネット接続は例外ではなく、一般的になっています。ワイヤレス メッシュ ネットワークは、既存の構造物を改造したりビジネスを中断したりすることなく、屋内と屋外にすばやく簡単にセットアップできます。

    建設現場では、ワイヤレス メッシュ ネットワークの簡単なセットアップと取り外しを活用できます。建築家やエンジニアはオフィスに有線接続を続けることができ、イーサネット経由の監視カメラにより盗難や破壊行為を減らすことができます。建設プロジェクトの進行に合わせて、メッシュ ノードを移動したり追加したりできます。

    ワイヤレス メッシュ ネットワークは、ストリート フェア、屋外コンサート、政治集会などの他の一時的な会場でも、すぐにセットアップしたり撤去したりできます。そして香港では、抗議者たちは監視を避け、インターネットの遮断を回避するためにスマートフォンで作成されたアプリを使用している。

    倉庫

    最新の倉庫で使用されているハンドヘルド スキャナーなしには、在庫と出荷物流を追跡する効果的な方法はありません。ワイヤレス メッシュ ネットワークにより、ほとんど手間をかけずに巨大な倉庫構造全体の接続が確保されます。

    メッシュシステムの将来の応用

    メッシュ システムの目標は、信頼性の高い Wi-Fi 信号の取得だけにとどまりません。米軍は、何千ものマイクロチップサイズのメッシュノードを戦場に投下して即時偵察および監視ネットワークを構築できる日が来ると予測している。情報は地上部隊と本部職員の両方に送信されます。

    自動車メーカーや通信会社は、無線メッシュネットワークなどの技術を活用した高度道路交通システム(ITS)の開発に取り組んでいる。公安当局は、監視カメラと車内センサーの自動ネットワークを使用して、交通事故や危険な道路状況を厳重に監視できます。

    ワイヤレス メッシュ ネットワークは、一般的になるにつれて、セキュリティ、スマート農業、製造などを含む、モノのインターネット (IoT) デバイスに電力を供給する上で価値のあるものになってきました。 Bluetooth ワイヤレス メッシュ ネットワークなどの新しいテクノロジも含まれます。ワイヤレス メッシュ ネットワークの将来のアプリケーションは、私たちの想像力によってのみ制限されます。

    関連記事

  • Gmailのパスワードを変更する方法

    オンラインの安全性を考えるとき、これまで以上にパスワードのセキュリティを最優先に考える必要があります。悪意のあるハッカーから重要な情報を保護する場合でも、オンライン ID と他の世界の間にセキュリティ層を追加する場合でも、Google は Gmail パスワードの変更を安全かつ簡単なプロセスにします。その方法は次のとおりです。

    1. Google.com にアクセスします。まだアカウントにサインインしていない場合は、今すぐサインインしてください。
    2. 「アカウント」ボタンをクリックします。画面の右上隅にあるアカウント ボタンをクリックします。これにはアカウントの写真が付いています (写真がない場合は、最初のイニシャルが付いています)。 [Google アカウントの管理] をクリックします。
    3. 「セキュリティ」をクリックします。画面の左側で、 「セキュリティ」タブをクリックします。
    4. 「パスワード」を選択します。画面の中央で、 「パスワード」オプションを選択します。
    5. サインインします。変更する前に、現在のパスワードで再サインインするよう求められます。
    6. パスワードを選択してください。さあ、その行為を行う時が来ました。通常、より安全です。文字、数字、記号を独自に組み合わせて構成された 12 文字以上。

    パスワードを選択するときは、ペットの名前や生年月日など、ソーシャル メディア ページから簡単に入手できる情報を使用しないでください。また、「123456」、「password」、「picture1」などの明らかなパスワードは使用しないでください。 3 人全員が のトップ 5 に登場しました。

  • コンピューターのドライバーを更新するにはどうすればよいですか?

    私たちのコンピュータが何らかの更新プログラムをインストールしてくださいと丁寧に促しない日はないようです。これらのほとんどは、音楽ライブラリの新機能を探索したり、ソフトウェアをより安全に実行できるようにするものですが、コンピュータが必要なものを実行できるように更新する必要もあります。

    コンピューターにおいて、ドライバーは特定のオペレーティング システム上での実行方法をハードウェアに指示するソフトウェアです。つまり、PC カード、DVD ドライブ、ビデオ カード、その他のハードウェアはすべて、操作を機能させるためにドライバーを使用します。現在コンピューターを使用している場合は、おそらく大量のドライバーがすでにインストールされ、動作しているでしょう。

    実際、それが、人々がドライバーについてあまり知らない理由の 1 つです。 Windows または Mac が更新されると、通常、ドライバーも一緒にインストールされます。ハードウェアが通信するための素晴らしい新しい方法を手に入れていることにさえ気づいていません。一般に、ドライバーを更新するかどうかについて大騒ぎする必要はありません。 Windows によって自動的に更新されないドライバーもいくつかありますが、それらは概してカバーされています。

    しかし、ドライバーを更新する必要がある時期をどうやって知るのでしょうか?プログラマーでライターの Leo Notenboom 氏によると、アップデートのためにアップデートする理由はないそうです。代わりに、いくつかの常識的な信号を使用して更新することを決定します 。ハードウェアに問題がある場合、ドライバーのアップデートを確認することは、トラブルシューティングを開始するのに最適な場所です。 Windows またはソフトウェア自体が更新プログラムが利用可能であることを通知した場合は、それを適用しても問題はありません。

    それでは、ページをアップグレードして、注意が必要なドライバーを更新する方法を見つけてみましょう。

    アップデート方法

    ドライバーを更新する実際の手順に入る前に、ここで主に Windows について話す理由について少し説明します。 Apple はすべてのコンピューターで Mac オペレーティング システムを使用しているため、システム ソフトウェアのアップデート以外にドライバーをアップデートする必要がないことがわかります。 Windows はさまざまなコンピュータ (Dell、Gateway、HP など) 上で実行できます。これは、ハードウェアが各コンピュータと独自の方法で通信する必要があることを意味します。したがって、ドライバーをより具体的かつ定期的に更新する必要があります。

    ただし、この時点で、ドライバーを更新することが得策であると判断したとします。どうやってやるのですか? Windows Update を確認するだけの最も簡単な手順から始めてください。 (「オプションのアップデート」にもチェックを入れてください。)

    次に、コンピュータの製造会社に問い合わせて、最新のドライバが入手可能かどうかを確認してください。通常、Web サイトにはサポート ページがあり、利用可能な更新されたドライバーについてお知らせします。通常、ドライバーは簡単にダウンロードしてインストールできます。

    次に、コンポーネント (ビデオ カードなど) を製造した会社が最新のドライバーを入手できるかどうかを確認します。そのためには、コンピュータのデバイス マネージャーをチェックして、デバイス、製造元、コンポーネントの名前を取得します。製造元の Web サイトにアクセスして、ダウンロードまたはドライバーのサポート ページを見つけます。デバイスを探して、推奨されるアップデートをダウンロードします。

    古いドライバーを使用し続けることに慎重な方には、別のオプションがあります。コンピュータをスキャンして最新のドライバがインストールされていることを確認するディスク ユーティリティ プログラムがあります。ただし、これらには注意が必要です。ドライバーが必要かどうかは (無料で) 簡単に確認できます。また、Windows Update によって最も安全で必要なドライバーが常に確実に入手できるようになっているという事実も忘れないでください。もう 1 つの点は、これらのユーティリティは更新プログラムをインストールするために製造元のサイトに直接送信するため、実際には直接確認するための手順が 1 つ増えるだけです。

    したがって、ドライバーの更新には熱心ですが、あまり熱心になりすぎないようにしてください。

    著者のメモ

    ドライバーの更新について調べてみると、圧倒的なアドバイスは「やめてください」というもののようです。実際のところ、ハードウェアがコンピュータと通信するために必要なほぼすべてのものは Windows または Apple が提供してくれるというのが一般通念のようです。あるリソースの言葉を借りれば、「壊れていないものを直す必要はない」。精査された安全なソースから最新情報が提供されるまで待って、それを入手してください。

  • 写真共有の仕組み

    ページが古い写真でいっぱいになった、ほこりをかぶったフォトアルバムをたくさんお持ちですか?現在、無料の写真共有 Web サイトが数多く利用できるようになったおかげで、それらは過去のものになりました。写真を共有したいときに持ち歩くのではなく、コンピュータから簡単に共有できるようになりました。

    今では、デジタル写真をまとめてアップロードし、それらを見たい友人や家族に電子メールを送信するのに数分しかかかりません。お金と少しの労力を払えば、同じデジタル写真を高品質の写真ストックに印刷して永久の記念品として保存したり、写真共有サイトから郵送してもらったりすることができます。

    写真共有サイトには多くの機能があり、Web 上にもいくつかあります。ほとんどは無料ですが、追加のストレージ スペース、帯域幅、その他の機能を有料で提供します。これは最も人気のある写真共有 Web サイトの 1 つであるため、例として使用しますが、インターネット上には同様の機能を提供する優れたサイトが他にもたくさんあります。

    最も基本的な機能は、デジタル写真を Web にアップロードして整理し、他の人が見られるようにする機能です。最初のステップはアップロードです。ほとんどの共有サイトのアップロード ページには、[参照] ボタンのあるボックスがあります。 「参照」をクリックすると、ハードドライブ上のファイルを見つけることができます。通常、ページには複数のボックスがあるため、複数の写真を見つけて一度にアップロードできます。選択した写真の数とファイルの大きさによっては、アップロードが完了するまでに数分かかる場合があります。一部の写真共有サイトには、デスクトップにダウンロードしてサイトに写真をアップロードするために使用できるプログラムが用意されています。Flickr には、電子メールやカメラ付きの特定の種類の携帯電話を介して画像をアップロードする方法もあります。

    この時点で、一部のサイトでは写真のサイズが自動的に変更されます。通常、写真のサイズは、サイトの帯域幅とストレージ容量の使用を最小限に抑えるために縮小されます。写真を元のサイズで維持することは、有料会員のオプションとなる場合があります。

    次に、写真を分類する方法を学びます。

    写真の分類とタグ付け

    写真共有の仕組み

    写真をアップロードしたら、写真を分類し、セットに整理し、説明を付けることができます。写真の整理方法はサイトによって異なります。一部の場合は、各写真に割り当てることができるキーワードであるタグを使用します。誰かがあなたの写真を見たいとき、あなたのタグのリストを見て、特定のキーワードを持つすべての写真を見ることを選択できます。あなたが休暇中に撮った馬の写真だけを見たい場合は、「馬」と「休暇」というタグを組み合わせることができます。多くの場合、タグのリストでは、そのタグを大きなフォント サイズで表示することで、どのカテゴリに最も多くの写真が含まれているかが示されます。

    あるいは、写真をセットに整理することもできます。写真の特定の順序を設定できるため、共有サイトの訪問者は写真をスライドショーのように見ることができます (一部のサイトには実際のスライドショー表示オプションがあります)。

    各写真の説明には、好きなだけ情報を含めることができます。使用したカメラ、写真の場所、写真の主題、または写真に関する興味深いストーリーはすべて説明に記載できます。

    ほとんどのデジタル カメラは、写真とカメラ自体に関する情報を画像ファイルにエンコードします。これはEXIFデータ (Exchangeable Image File Format) であり、写真をサイトにアップロードするときに、この情報を自動的に含めることができます。これにより、ユーザーは自分でデータを入力することなく、使用したカメラ、写真の撮影日時、写真に使用されたカメラの設定をすべて確認できるようになります。もちろん、他人に知られたくない場合は、これを無効にすることができます。

    写真共有の仕組み

    写真共有サイトに写真をアップロードするとき、必ずしも全世界に公開するわけではありません (ただし、公開することはできます)。写真ごとに権限を設定することが可能です。 「公開」に設定した写真は誰でも閲覧できます。写真を「非公開」に設定すると、閲覧を許可した人にのみ表示されます。一部のサイトでは、「プライベート」カテゴリは連絡先リストまたは友達リストにある全員をカバーします。また、さまざまなカテゴリの人物を作成し、その中の特定のカテゴリにのみ特定の写真の閲覧を許可することもできます。自然の写真を知人には見てもらいたいが、家族の集まりで撮った写真は同僚には見せたくないかもしれません。したがって、同僚を独自のカテゴリに入れて、それらの写真から除外することができます。

    最後に、一部またはすべての写真のダウンロードを無効にすることができます。これにより、ユーザーが自分のコンピュータに写真を保存することができなくなります。ただし、技術的に言えば、誰かのコンピュータに画像が表示されている場合、その画像をダウンロードする方法を見つけることができます。 Flickr はダウンロードを妨げるために写真の上に透明な画像を置きますが、ユーザーのダウンロードを完全に阻止することはできません。

    デジタル写真の印刷とプレミアム メンバーシップ

    写真共有の仕組み

    写真共有サイトでは通常、写真の物理的なプリントを注文するオプションが提供されています。サードパーティがサービスを提供する場合もあれば、共有サイト自体がサービスを提供する場合もあります。使用しているサイトに応じて、多くのオプションが利用可能です。写真を自宅に直接発送してもらうこともできますが、送料がかかる場合があります。一部のサイトは「実店舗」と提携しています。お住まいの近くの場所を見つけて、お店に立ち寄って写真を受け取ることもできます。

    他のオプションを使用すると、印刷する前に写真をカスタマイズできます。枠線を追加して写真に簡単なマット感を与えたり、テキストやクリップアートを挿入して独自のクリスマス カードを作成したりできます。デジタル写真プリントの種類や価格もさまざまです。多くのサイトでは、最初のアカウント作成時に、プリント 1 枚あたり 6 セントという低価格の特別セールや、一定枚数の無料プリントを提供しています。通常の価格は通常、1 枚あたり 12 ~ 20 セントの範囲になります。

    ほとんどの写真共有サイトは無料ですが、月額料金または年額料金のプレミアム メンバーシップを提供しているサイトも多くあります。これにより、ユーザーはより高度な機能を利用できるようになり、無料ユーザーに課せられていた制限の一部が解除されます。たとえば、サイトは無料ユーザーのアップロード帯域幅を制限する場合があります。プレミアムメンバーには制限がないか、またははるかに高い制限があります。プレミアム会員はサイトを広告なしで閲覧できますが、無料ユーザーが閲覧するページにはバナー広告が表示される場合があります。フルサイズ、フル解像度の画像へのアクセスはプレミアム メンバーに制限される場合もあり、サイト上に独自の個人 URL ( http://www.photosite.com/edsphotoshttp:/など) が設定される場合があります。 /edsphotos.photosite.com )。有料サイトのメンバーが利用できる正確な機能はサイトによって異なります。

    写真共有コミュニティ

    写真共有の仕組み

    写真共有サイトは利便性や商業以上のものを提供します。その多くは、アマチュアとプロの両方の写真家のオンライン コミュニティでもあります。一部のサイトは他のサイトよりもコミュニティ面に貢献しており、ユーザーがグループを形成したり、連絡先リストを保持したり、お互いの写真にコメントしたりすることができます。これにより、人々は写真のヒントを共有したり、同じ興味を持つ他の人を見つけたり、世界中の写真家と連絡を取ることができます。また、競争の場も平等になります。60 ドルのデジタル カメラで美しい写真を撮影した場合、それは 1,500 ドルのプロ用カメラで撮影され、高価なソフトウェアで処理された写真と同じくらい高く評価されます。

    コミュニティ機能を備えた写真共有サイトの代わりに、多くのコミュニティ Web サイトではユーザーが写真を共有することもできます。 MySpaceFriendster は2 つの例です。これらのサイトでは写真に重点を置いていないため、写真の整理や共有機能はそれほど堅牢ではありません。

    多くの人にとって、Flickr のような Web サイトを使用すると、写真を簡単に共有できます。プリントをアルバムにまとめて持ち歩き、友人や家族と共有する代わりに、写真共有 Web サイト上の自分のアカウントを友人や家族に教えることができます。また、これらの画像の具体的なコピーが必要な場合は、後からいつでもプリントを注文できます。

    写真の共有と撮影について詳しくは、次のページのリンクをご覧ください。

    ソース

    • スパークス、ジョンとスプリンゲン、カレン。 「デジタルフォトフィニッシュ」ニューズウィーク、2006 年 7 月 24 日。
  • Google の仕組み

    これは、スタンフォード大学博士課程の 2 人の学生、ラリー ペイジとサーゲイ ブリンが主導する研究プロジェクトとして 1990 年代後半に始まりました。このプログラムは、現在世界で最も影響力のある企業の 1 つである Google に組み込まれています。当初、学生たちの目標は、検索リクエストに応じてユーザーに関連するリンクを提供する効率的な検索エンジンを作成することでした。

    依然として検索が Google の中核的な目的である一方で、同社は現在、電子メールや写真のストレージ (数多くある中から) から生産性向上ソフトウェア (Google ドキュメント スイート)、インターネット ブラウザの Chrome、モバイル オペレーティング システムの Android、Chrome ノートパソコン、携帯電話 Pixel まで、幅広い製品を提供しています。 。 Google は、その二人経営の企業から数十億ドル規模の企業に成長しました。 2015 年に再編され、現在は親会社アルファベットの宝石となっています。

    Google は長い間、Web 上で最もアクセス数の多いサイトでもあり、同社が商業や文化に与えた影響は否定できません。

    この記事では、Google のビジネスの根幹である検索エンジンについて学びます。 Google が提供する他のサービスについても見ていきます。次に、Google が長年にわたって開発してきたソフトウェアとハ​​ードウェアの両方のツールの一部を簡単に見ていきます。また、Google が大規模な事業を継続するために使用している機器についても詳しく学びます。最後に、Google という企業について詳しく見ていきます。

    ゼロはいくつ?

    Google の名前は、「googol」という単語の変形であり、1 の後に 100 個のゼロが続くことを意味する数学用語です。ペイジとブリンは、この名前が、Web 上にある数十億バイトのデータを整理するという Google の記念碑的な使命を説明するのに役立つと感じました。

    Google 検索エンジン

    Google検索

    Google が成長し、多くの変化が見られたとしても、その主な目的は依然として明らかです。それは、ユーザーがインターネット上で必要なものを見つけられるようにすることです。そこで Google の検索エンジンが威力を発揮します。

    Pandu Nayak 氏は同社に 14 年以上勤務しており、現在は検索担当副社長を務めています。

    「この 14 年間で変わっていない主なことの 1 つは、私が非常に大切にしていることです。それは、ユーザーのために検索を構築したという考えです。人々が生活の中で重要なことを求めて Google にアクセスするため、検索を構築したということです」と Nayak 氏は言います。 。 「彼らに素晴らしい結果、素晴らしい答え、素晴らしい経験を提供し、彼らがより効果的に生活できるよう支援することは、私たちの深い深い責任です。

    「この焦点は、本当にミッションステートメントに遡ります…これらすべての変化を乗り越える私たちを駆り立てるものであり続けています。」

    Google の検索エンジンは強力なツールですが、インターネットは大きな場所です。探しているものを見つけるのが難しい場合があります。 Nayak をはじめ社内の多くの人は、検索バーに何を入力しても、求めているものを見つけること、つまり、何が欲しいのかを理解することは自分たちの責任であるという考えに基づいて働いています。彼らは言語と意図を研究し、機械学習と人工知能を組み込み、実行されたすべての検索を記録し、すべてユーザーの作業を容易にするための努力をしています。

    この問題は何年も前に始まり、現在も続いています。Google 検索エンジンは、たとえばペネロペ クルスとシボレー クルーズの違いを学習し、場合によっては人々が「変更」や「変換」という言葉を以下の目的で使用することがわかったためです。同じアクション。

    Nayak は、スペル修正、同義語ファインダー、およびユーザーが探している Web ページだけでなく、写真、ビデオなどを提供するユニバーサル検索の実装を行っています。

    彼が会社に入社したとき、彼は(他の多くの人たちと同じように)Google が驚くほどうまく機能していると考えていました。しかし、検索エンジン、そして同社に対する期待が高まるにつれ、期待も変化してきました。または変換されました。

    「誰も、絶対に誰も来て、『先日、検索したんですが、すごくうまくいきました』なんて言う人はいないんです」とナヤックは笑いながら言う。 「誰もそんなことは言いませんよ。

    「私たちの努力は、検索において特別な専門知識を必要としないことです。私たちは、あなたが探しているものを理解する方法を見つけられるようにしたいと思っています…」

    そうは言っても、Google は専門的な検索を使用して、探しているものを絞り込むことができます。キーワードに関連する次のようなさまざまなカテゴリを参照できます。

    • 画像
    • 地図
    • ニュース記事やビデオ映像
    • オンラインで購入できる製品またはサービス
    • 書籍の内容
    • 動画
    • 学術論文

    たとえば、ニュース カテゴリで「 Planet Earth 」という用語を検索すると、結果にはそれらのキーワードを含むニュース記事のみが表示されます。結果は、Google の通常の SERP とは大きく異なります。

    すべての検索エンジンと同様に、Google は特別なアルゴリズムを使用して検索結果を決定します。 Google はアルゴリズムに関するいくつかの事実を共有していますが、詳細は企業秘密です。これにより、Google は他の検索エンジンとの競争力を維持し、誰かがシステムの悪用方法を発見する可能性を減らすことができます。

    Google は、ほとんどの検索エンジンと同様に、スパイダーまたはクローラーと呼ばれる自動プログラムを使用して、検索結果を生成します。 Google には、検索結果を決定するのに役立つキーワードの大量のインデックスがあります。 Google の特徴は、結果のランク付け方法です。これにより、Google が検索エンジンの結果ページに結果を表示する順序が決まります。 Google は、PageRank と呼ばれる商標登録されたアルゴリズムを使用しており、各 Web ページに関連性スコアを割り当てます。

    Web ページの PageRank は、いくつかの要因によって決まります。

    • Web ページ内のキーワードの頻度と位置: キーワードがページ本文内に 1 回しか出現しない場合、そのキーワードのスコアは低くなります。
    • Web ページが存在していた期間: 人々は毎日新しい Web ページを作成しますが、そのすべてが長く存続するわけではありません。 Google は確立された歴史を持つページをより重視します。
    • 問題のページにリンクしている他の Web ページの数: Google は、特定のサイトにリンクしている Web ページの数を調べて、その関連性を判断します。

    これら 3 つの要素のうち、3 番目が最も重要です。 Google は Web ページへのリンクを投票として見るため、システムを騙すのは簡単ではありません。あなたの Web ページが Google の検索結果で上位に表示されるようにする最善の方法は、他のサイトからあなたのページにリンクされるように優れたコンテンツを提供することです。ページに多くのリンクがあればあるほど、PageRank スコアは高くなります。 PageRank スコアの高いサイトの注目を集めると、スコアはより速く成長します。

    蜘蛛は何でもする

    検索エンジン スパイダーは、Web ページをスキャンし、キーワードのインデックスを作成するなど、検索エンジンの面倒な作業を行います。スパイダーは、ページを訪問し、スキャンし、分類し、インデックスを作成すると、そのページから他のサイトへのリンクをたどります。スパイダーはサイトからサイトへとクロールし続けるため、検索エンジンのインデックスがより包括的で堅牢になります。

    Google の製品とサービス

    Gメール

    Google の成長に伴い、同社はいくつかの新しいサービスを追加しました。 Web 検索をより効率的かつ関連性の高いものにするために設計されたものもありますが、検索とほとんど共通点がないように見えるものもあります。 Google は自社のサービスの多くで、他の企業と直接競争を始めています。

    Google のGmail は、無料の Web ベースの電子メールプログラムであり、検索エンジン以外ではおそらく同社の最もよく知られたサービスです。 Gmail が最初にリリースされたとき、Google はアカウントを作成できるユーザーの数を制限しました。最初のユーザー グループは、限られた数の人を招待できるため、Gmail への招待はコモディティになりました。現在、誰でも無料の Gmail アカウントにサインアップできるようになりました。

    Gmail では、電子メールを会話に整理するオプションが提供されます。つまり、誰かに電子メールを送信し、その人が返信すると、両方の電子メールが受信トレイ内のスレッドとしてグループ化されます。これにより、電子メール交換の流れを理解しやすくなります。

    Google のもう 1 つの無料プログラムは、生産性ソフトウェア スイートであるGoogle Docsです。これには、ワードプロセッサ (Google ドキュメント)、スプレッドシート (Google スプレッドシートと呼ばれます)、およびプレゼンテーション プログラム (Google スライド) が含まれています。 Google ドキュメント アカウントの作成は無料です。 Google ドキュメントでドキュメントを共有すると、友人がドキュメントを表示したり変更したりできるようになります。すべてのドキュメントは Google のサーバーに保存され、インターネット接続があればどこでもドキュメントを共有したり、アクセスしたりできます。

    検索のヒントとコツ

    を使用すると、Google を使用してキーワードに最も関連性の高い結果を取得できます。特定の言語で書かれたドキュメント、または特定のファイル形式 (.pdf や .rtf など) で保存されたドキュメントを検索できます。ページのタイトルやヘッダーなど、キーワードを検索する場所を Google に指示できます。 Google では、検索を単一のドメイン名に制限することもできます。 Google 検索バーに「site:computerbasic.click ‘クラウド コンピューティング’」と入力して、どのように機能するかを確認してください。それぞれの選択により、Google は検索結果を返すときにどのインデックスを使用するかを決定します。

    その他の Google 製品

    Google 製品

    Google マップは、複数の地図ソースと DigitalGlobe などの衛星データを使用して、インタラクティブな地図を作成します。何百万人もの人が、毎日スマートフォンで Google マップを車のルート案内に使用しています。

    Google マップにはいくつかの表示モードがあります。マップ ビューは基本的な道路地図であり、衛星ビューは地域のスケーラブルな衛星写真の上に道路地図をオーバーレイします。地形ビューは道路地図オーバーレイを使用して地形図を作成します。交通ビューは赤、黄、緑を使用して渋滞している主要道路を示します。地域内の道路。ストリート ビュー モードは、街路レベルから撮影した画像を表示するために多くの場所で利用できます。画像内の矢印をクリックしてストリート ビューで場所を移動したり、ビューを 360 度回転したりできます。

    Google マップを検索エンジンのように使用して、「「コンピューター入門」, Atlanta, Georgia」などのビジネスを検索することもできます。これにより、当社のオフィスの場所が表示されます。カリフォルニア州サンフランシスコでお寿司を食べたい気分の場合は、「寿司、サンフランシスコ」と入力すると、クリックすると Google マップに市内の地図が表示され、いくつかの寿司レストランがタグ付けされています。

    Google マップに関連する製品の 1 つである Google Earth は、衛星画像、3D ビュー、地球上の何百万もの場所の情報を備えたインタラクティブなデジタル地球儀です。

    Google は 2008 年にインターネット ブラウザ Chrome を発売し、すぐにデスクトップ ブラウザとして主流になりました。 2017 年、Google は、世界中の 20 億台以上のモバイル デバイスが Android で動作していると発表しました。 [ソース: ]。

    2007 年、同社はビデオ共有サイト YouTube を買収しました。YouTube は現在、Web 上で (Google.com に次ぐ) 2 番目に人気のあるサイトです 。 Google はまた、自社ブランドの携帯電話 (Pixel)、音楽やビデオをテレビにストリーミングするデバイス (Chromecast)、使いやすいラップトップ コンピュータ (Chromebook)、および「スマート」デバイス (Google のような) などのハードウェアにも進出しています。 Nest 温度計と Google Home)をインターネットに接続して日常生活をサポートします。

    Googleはどのようにしてお金を稼ぐのか

    Google 社員のブレインストーミング

    Googleには、個人投資や自社株の売却以外に収益を生み出す方法が複数ある。 Google は販売者や広告主と提携するためにいくつかの方法を使用しています。たとえば、Google Pay、Google 広告、Google AdSense、Google Analytics などです。

    Google Pay (以前の Google ウォレット、その前は Google Checkout) は、消費者と小売業者の両方にとって購入を容易にするように設計されたサービスです。消費者側では、ユーザーはクレジット カード番号またはデビット カード番号を入力して無料の Google Pay アカウントを作成し、Google がそれらの番号を安全なデータベースに保存します。ユーザーがオンラインまたは実店舗で Google Pay を使用して小売店を訪問すると、Pay を使用でき、Google は「仮想アカウント番号」(Google が「エイリアス」と呼ぶもの)を使用して取引を容易にします。あなたの本当のカード番号。 Google は企業や消費者に料金を請求しません。実世界の店舗で Google Pay を使用すると、消費者はクレジット カードを家に置いたまま、スマートフォンを使用して支払いを行うことができます。

    Google が収益を生み出す主な方法は、Ads と AdSense と呼ばれる 2 つの広告サービスを通じてです。広告では、広告主は製品、サービス、またはビジネスに関連するキーワードのリストを含む広告を Google に送信します。 Google ユーザーがこれらのキーワードの 1 つ以上を使用して Web を検索すると、広告が SERP のサイドバーに表示されます。ユーザーが広告をクリックして広告主のサイトに誘導されるたびに、広告主は Google に支払います。

    AdSense も似ていますが、Google SERP に広告を表示する代わりに、ウェブマスターが広告をサイトに統合することを選択できる点が異なります。 Google のスパイダーはサイトを巡回し、コンテンツを分析します。次に、Google はウェブマスターのサイトに関連するキーワードを含む広告を選択します。ウェブマスターは、Google が提供する広告の種類と場所をカスタマイズできます。誰かがサイト上の広告をクリックするたびに、サイトは広告収益の一部を受け取ります (残りは Google が受け取ります)。 Google Analytics は、Web サイトへのトラフィックを追跡する強力なツールで、ユーザーが誰で、サイトで何を求めているのかをより深く理解できるようになります。

    広告と AdSense の両方で、Google の戦略は、自社の製品やサービスを購入する可能性が最も高い Google ユーザーを直接ターゲットにした広告を広告主に提供し、ユーザーが探しているものに最も関連性の高い情報を提供することです (これには、購入する商品やサービスが含まれる場合があります) 。

    ユーザーと広告主の関係は Google のビジネスの中心にあります。ただし、Google の Nayak 氏は、それでもユーザーが第一であるとすぐに指摘しました。

    「ユーザーが欲しいものを手に入れ、探しているものを手に入れれば、彼らはさらに多くのものを探しに戻ってくるだろうと我々は信じています」と Nayak 氏は言います。 Web エコシステムを健全に保ちます。

    Google データセンター

    Googleサーバー

    1998 年当時、Google を運営していた設備は比較的質素なものでした。共同創設者のペイジ氏とブリン氏は、スタンフォードのサーバーやその他の寄付されたマシンを使用して、Google の検索エンジン業務を実行しました。当時の装備には次のものが含まれていました。

    • 512 メガバイト (MB) のメモリを搭載した 2 台の 300 メガヘルツ (MHz) デュアル Pentium IIサーバー
    • 512 MB のメモリを搭載した 4 プロセッサ F50 IBM RS6000 コンピューター
    • 256 MB のメモリを搭載したデュアルプロセッサ Sun Ultra II コンピュータ
    • 4 ~ 9 ギガバイト (GB) の複数のハード ドライブ(一部はレゴ ブロックで覆われたボックスに収納されている) で、合計 350 GB 以上のストレージ スペース

    現在、Google は製品を稼働させるために、世界中の 10 以上のデータ センターにある 200 万台以上のカスタム サーバーを使用しています。 Google の戦略は、潜在的な問題やセキュリティの脆弱性を制限するために、不必要なハードウェアやソフトウェアを使用せずにサーバーを設計することです。同社は、保存しているデータを複数のセンターの複数のサーバーに分散しているため、潜在的な侵害や障害が発生した場合に備えて、ユーザーの写真、ビデオ、ドキュメントなどのデータが複数の場所にバックアップされています。また、敷地はフェンスや警備員などによって物理的に保護されており、年中無休で 24 時間体制で保護されています 。

    Google はさまざまなタスクにサーバーを使用します。 Web サーバーはユーザーのクエリを受信して​​処理し、次の適切なサーバーにリクエストを送信します。インデックス サーバーには、Google のインデックスと検索結果が保存されます。ドキュメント サーバーには、検索概要、ユーザー情報、Gmail およびGoogle ドキュメント ファイルが保存されます。広告サーバーは、Google が検索ページに表示する広告を保存します。

    役に立ちました、Google

    Google にはサーバーが何台ありますか?同社はこの件については沈黙しているが、推定では 250 万台ものマシンが 1 秒あたり 4,000 万件以上の検索リクエストを処理している 。

    Google の企業文化

    グーグルカフェ

    ブリンとペイジがスタンフォード大学で数台のコンピュータをネットワーク化して以来、Google は大きな進歩を遂げました。同社は現在、世界中で約 100,000 人の従業員を雇用しています。ブリンとペイジは今でも作戦に深く関わっている。ブリンは親会社アルファベットの社長です。ペイジ氏はCEOです。

    2018 年の Google の収益は約 1,370 億ドルでした。 Alphabet の株はNASDAQに GOOG として上場されています。 2019年半ばのその時価総額は7,850億ドル以上に達しました。

    Google の本社はカリフォルニア州マウンテンビューにあります。 Google は、ベイエリアのキャンパスを、生意気にGoogleplexと呼んでいます。これは、「Google」と「complex」という言葉を組み合わせたもので、数字の 1 の後にゼロの googol が続く googolplex という用語をもじったものです。 Googleplex での生活はとても楽しいです。ここにあるアメニティの小さなリストは次のとおりです。

    • 従業員が集まって無料の食べ物を食べたり会話をしたりできるカフェステーションがいくつかあります
    • キャンディーからニンジンやヨーグルトなどの健康食品まで、さまざまなグッズを取り揃えたスナック ルーム
    • エクササイズルーム
    • ビデオゲーム、フーズボール、ビリヤード台、卓球を備えたゲームルーム

    さらに、Google の従業員は、医療保険や歯科保険だけでなく、その他の多くのサービスを含む包括的な福利厚生パッケージも受けられます。これらには、授業料の払い戻し、チャイルドケアセンター、養子縁組支援サービス、オンサイト医師、ファイナンシャルプランニングクラス、特別な企業イベントで同僚と集まる多くの機会が含まれます。

    Google の理念では、非営利活動も重視しています。同社は最近、テクノロジーを利用して世界的な問題を解決する非営利団体に 10 億ドルの補助金と 100 万人の従業員時間を提供することを約束しました。

    インターネット上で最も支配的な勢力の 1 つとして、Google は「世界中の情報を整理し、世界中でアクセスでき便利なものにする」という使命を担っています 。これほど高い目標を掲げると、Google の背後にいる人々が自分たちの仕事はまだ始まったばかりだと感じているのは間違いありません。

    Google およびその他の関連トピックについて詳しくは、以下のリンクをご覧ください。

    グリーングーグル

    Google はインターネットの巨人であるだけでなく、環境に優しいビジネス方法を追求するリーダーでもあります。同社は 2017 年に、全事業で 100% 再生可能エネルギーを達成し、世界中で使用するすべての電力単位に十分な量の風力発電と太陽光発電を購入したと発表しました。同社は再生可能エネルギーの世界最大の企業購入者です。

  • クラウドストレージの仕組み

    コメディアンのジョージ・カーリンは、人間がどのように人生を費やして「もの」を蓄積しているかについて話す日課を持っています。十分なものを集めたら、それをすべて保管する場所を見つけなければなりません。カーリンが今日そのルーチンを更新したとしたら、コンピュータ情報に関して同じ観察をすることができるでしょう。コンピュータを持っている人は皆、データを取得し、それを保存する方法を見つけるのに多くの時間を費やしているようです。

    一部のコンピューター所有者にとって、取得したすべてのデータを保存するのに十分なストレージ容量を見つけるのは大きな課題です。より大きなハードドライブに投資する人もいます。サムドライブやCD などの外部記憶装置を好む人もいます。絶望的なコンピュータ所有者は、新しい情報のためのスペースを確保するために、古いファイルに相当するフォルダ全体を削除する可能性があります。しかし、成長傾向であるクラウド ストレージに依存することを選択する人もいます。

    クラウド ストレージというと、気象前線や暴風雨システムと関係があるように聞こえますが、実際には、サードパーティが管理するオフサイト ストレージ システムにデータを保存することを指します。情報をコンピュータのハード ドライブやその他のローカル ストレージ デバイスに保存するのではなく、リモート データベースに保存します。インターネットは、コンピュータとデータベース間の接続を提供します。

    表面的には、クラウド ストレージには従来のデータ ストレージに比べていくつかの利点があります。たとえば、データをクラウド ストレージ システムに保存すると、インターネットにアクセスできる場所ならどこからでもそのデータにアクセスできるようになります。情報の保存と取得に物理的な記憶装置を持ち歩いたり、同じコンピュータを使用したりする必要はありません。適切なストレージ システムを使用すれば、他の人がデータにアクセスできるようにすることもでき、個人的なプロジェクトを共同作業に変えることができます。

    クラウド ストレージは便利で柔軟性が高くなりますが、どのように機能するのでしょうか?次のセクションで調べてください。

    所有する

    情報の専門家、コンピューター科学者、起業家が議論する問題の 1 つは、データの所有権の概念です。クラウド システムに保存されているデータの所有者は誰ですか?最初にデータをハードウェアに保存したクライアントのものですか?データを保存している物理機器を所有する会社に属しますか?顧客が廃業した場合はどうなりますか?クラウド ストレージ ホストは元のクライアントのデータを削除できますか?これらの問題については意見が異なります。

    クラウドストレージの基本

    何百もの異なるクラウド ストレージ システムがあります。 Web電子メールメッセージやデジタル画像の保存など、非常に特殊な焦点を当てたものもあります。あらゆる形式のデジタル データを保存できるものもあります。一部のクラウド ストレージ システムは小規模な運用ですが、他のクラウド ストレージ システムは物理機器で倉庫全体がいっぱいになるほど大規模なものもあります。クラウド ストレージ システムを収容する施設はデータ センターと呼ばれます。

    最も基本的なレベルでは、クラウド ストレージ システムにはインターネットに接続されたデータ サーバーが 1 つだけ必要です。クライアント (クラウド ストレージ サービスに加入しているコンピュータ ユーザーなど) は、ファイルのコピーをインターネット経由でデータ サーバーに送信し、データ サーバーは情報を記録します。クライアントが情報を取得したい場合は、Web ベースのインターフェイスを通じてデータ サーバーにアクセスします。その後、サーバーはファイルをクライアントに送り返すか、クライアントがサーバー自体上のファイルにアクセスして操作できるようにします。

    クラウド ストレージ システムは通常、数百のデータ サーバーに依存します。コンピューターはメンテナンスや修理が必要になる場合があるため、同じ情報を複数のコンピューターに保存することが重要です。これを冗長性と呼びます。冗長性がなければ、クラウド ストレージ システムはクライアントがいつでも自分の情報にアクセスできることを保証できません。ほとんどのシステムは、異なる電源を使用するサーバーに同じデータを保存します。これにより、1 つの電源装置に障害が発生した場合でも、クライアントはデータにアクセスできます。

    すべてのクラウド ストレージ クライアントがストレージ容量の不足を心配しているわけではありません。データのバックアップを作成する方法としてクラウド ストレージを使用します。クライアントのコンピュータ システムに問題が発生した場合でも、データはオフサイトに残ります。これは、「すべての卵を 1 つのカゴに入れるな」のデジタル時代のバリエーションです。

    クラウド ストレージ システムの例にはどのようなものがありますか?読み続けて調べてください。

    雲の中の城

    クラウド ストレージは、クラウド コンピューティングのサブカテゴリです。クラウド コンピューティング システムは、ユーザーにストレージだけでなく、リモート ネットワークにインストールされた処理能力やコンピュータ アプリケーションへのアクセスを提供します。

    クラウドストレージの例

    クラウドストレージの仕組み

    ウェブ上には何百ものクラウド ストレージ プロバイダーがあり、その数は日々増加しているようです。多くの企業がストレージの提供を競っているだけでなく、各企業が顧客に提供するストレージの量も定期的に増加しているようです。

    おそらく、クラウド ストレージ サービスのいくつかのプロバイダーについてはよく知っているかもしれませんが、そのように考えていないかもしれません。何らかの形式のクラウド ストレージを提供する有名な企業をいくつか紹介します。

    • Google ドキュメントを使用すると、ユーザーはドキュメント、スプレッドシート、プレゼンテーションをGoogleのデータ サーバーにアップロードできます。ユーザーは Google アプリケーションを使用してファイルを編集できます。ユーザーはドキュメントを公開して、他の人が読んだり編集したりできるようにすることもできます。つまり、Google ドキュメントはクラウド コンピューティングの一例でもあります。
    • Gmail 、Hotmail、 Yahoo!などの Web 電子メール プロバイダーMail は電子メール メッセージを独自のサーバーに保存します。ユーザーは、インターネットに接続されているコンピュータやその他のデバイスから電子メールにアクセスできます。
    • Flickr や Picasa などのサイトには、何百万ものデジタル写真が保管されています。ユーザーは、写真をサービスのサーバーに直接アップロードして、オンライン フォト アルバムを作成します。
    • StartLogic、Hostmonster、 GoDaddyなどの Web サイト ホスティング会社は、クライアント Web サイトのファイルとデータを保存します。
    • FacebookMySpaceなどのソーシャル ネットワーキング サイトでは、メンバーが写真やその他のコンテンツを投稿できます。そのコンテンツはすべて、それぞれのサイトのサーバーに保存されます。
    • Xdrive、MediaMax、Strongspace などのサービスは、あらゆる種類のデジタル データ用のストレージ スペースを提供します。

    上記のサービスの一部は無料です。一定量のストレージに対して定額料金を請求するところもあれば、クライアントのニーズに応じてスライド式の料金を請求するところもあります。一般に、オンライン ストレージの価格は、より多くの企業が業界に参入するにつれて低下しています。デジタル ストレージに料金を請求する企業の多くでも、少なくとも一定量を無料で提供しています。

    市場に参入するすべての企業をサポートするのに十分なストレージ需要はあるのでしょうか?埋められるスペースがあれば誰かが埋めてくれるだろうと考える人もいます。また、この業界は 2000 年のドットコム バブル崩壊のような暴落を経験する運命にあると考える人もいます。私たちは様子見する必要があります。

    潜在的なクラウド ストレージの問題にはどのようなものがありますか?次のセクションで調べてください。

    嵐の醸造

    Web 全体が大規模なストレージ クラウドになる未来を想像する人もいます。人々は常にクラウドとの間でデータをアップロードおよびダウンロードします。データの所有権という概念は意味を失います。誰もがあらゆるものにアクセスできるようになり、秘密は存在しなくなります。これらの考えを否定し、クラウド ストレージは他のものと同じツールにすぎず、それを大いに活用する人もいるかもしれませんが、私たちが知っているように文明の終焉をもたらすものではないと言う人もいます。誰が正しいですか?様子を見るしかない。

    クラウドストレージに関する懸念

    クラウド ストレージに関する 2 つの最大の懸念は、信頼性セキュリティです。顧客はいつでも自分の情報にアクセスでき、他の誰もその情報にアクセスできないという保証がなければ、自分のデータを別の会社に委託することはありません。

    データを保護するために、ほとんどのシステムは次のような技術を組み合わせて使用​​します。

    • 暗号化、これは、複雑なアルゴリズムを使用して情報をエンコードすることを意味します。暗号化されたファイルを復号するには、ユーザーは暗号化キーが必要です。暗号化された情報を解読することは可能ですが、ほとんどのハッカーは情報を復号化するために必要な量のコンピューター処理能力にアクセスできません。
    • ユーザー名とパスワードを作成する必要がある認証プロセス
    • 認可の実践 — クライアントは、クラウド システムに保存されている情報へのアクセスを認可されたユーザーをリストします。多くの企業は複数のレベルの認可を持っています。たとえば、最前線の従業員はクラウド システムに保存されているデータへのアクセスが非常に制限されている一方で、人事部門の責任者はファイルへの広範なアクセスを持っている可能性があります。

    これらの保護手段を講じていても、リモート ストレージ システムに保存されたデータが脆弱であるのではないかと多くの人が心配しています。ハッカーが電子バックドアを見つけてデータにアクセスする可能性は常にあります。ハッカーは、データが保存されている物理マシンを盗もうとする可能性もあります。不満を抱いた従業員が、認証されたユーザー名とパスワードを使用してデータを変更または破壊する可能性があります。クラウド ストレージ会社は、データの盗難や破損の可能性を制限するために、セキュリティ対策に多額の資金を投資しています。

    もう 1 つの大きな懸念である信頼性は、セキュリティと同じくらい重要です。不安定なクラウド ストレージ システムは問題です。障害が発生しやすいシステムにデータを保存したい人はいませんし、財務的に安定していない企業を信頼したいとも思いません。ほとんどのクラウド ストレージ システムは冗長技術によってこの問題に対処しようとしていますが、システム全体がクラッシュし、クライアントが保存されたデータにアクセスできなくなる可能性は依然としてあります。

    クラウド ストレージ企業はその評判によって生も死も決まります。可能な限り最も安全で信頼性の高いサービスを提供することは、各企業の最大の利益になります。企業がこうした基本的な顧客の期待に応えられない場合、チャンスはほとんどありません。市場には他に利用可能な選択肢が多すぎます。

    クラウド ストレージ システムと関連トピックの詳細については、次のページのリンクをクリックしてください。

    データセンターの設計
    • 物理的なセキュリティはネットワーク セキュリティと同じくらい重要です。データ サーバーが価値があるのは、マシン自体が高価であるだけでなく、そこに保存されているデータには機密情報が含まれる可能性があるためです。悪意のあるハッカーは、コンピュータ システムに電子的に侵入することだけに頼るのではなく、物理的なコンピュータにアクセスしてシステムに侵入しようとする場合もあります。
    • 単一のデータ サーバーの電力要件はそれほど負担ではありません。しかし、データ センターに数百台のサーバーがある場合、センターの電気配線がワークロードをサポートできることが重要です。
    • すべてのコンピューターと同様に、データ サーバーも熱を発生します。熱が高すぎるとサーバーに障害が発生したり損傷したりする可能性があるため、データセンターにはそのような問題を防ぐ効果的な冷却システムが必要です。
  • Wikipedia スキャナーの仕組み

    オンライン百科事典 Wikipedia を使用したことがある方は、[このページを編集] タブをクリックして変更を加え、[保存] をクリックするだけで記事を編集できることに気づいたかもしれません。しかし、この編集のしやすさが Wikipedia の最大の強みでもあり、弱点でもあります。Wikipedia は誰でも、たとえ匿名であっても編集できます。

    組織や個人が悪意を持って、あるいは悪ふざけのためにウィキペディアの項目を変更したという話が頻繁に浮上します。しかし、人々がウィキペディアを簡単に編集できるように制限することは、ウィキペディアの最も有名な機能の 1 つであり、おそらくウィキペディアの成功の鍵である機能を侵害することになります。

    ウィキペディアには、悪意のある編集者に対処するためのさまざまなツールがあります。このサイトでは、優れた百科事典の項目に何を求めるのか、また記事をクリーンアップする方法について、広範なチュートリアルが提供されています。百科事典の頻繁な編集者である多くのウィキペディアンは、サイトに対して激しい忠誠心を示し、監視役として機能し、損害を与える可能性のある編集を修正しています。ウィキペディアはすべての変更の記録を保持しているため、改ざんされた記事やその他の不満足な記事を簡単に古いバージョンに戻すことができます。このサイトには、ページのロックダウン、特定のユーザーのブロック、サイトのガイドラインに違反する記事のフラグ設定など、ウィキペディアンが使用または要求できる機能もいくつかあります。

    これらすべてのツールにもかかわらず、ウィキペディアンはどこにでもいるわけではありません。英語の記事だけでも 190 万以上あるため、特に匿名ユーザーによる悪用の可能性は非常に大きくなります 。 WikiScannerに参加してみましょう。これは、カリフォルニア工科大学で計算とニューラル システムを研究する大学院生であり、サンタフェ研究所の客員研究員でもあるヴァージル グリフィスによって 2007 年 8 月に発表された無料プログラムです。

    未登録の匿名ユーザーが Wikipedia のエントリを編集するたびに、サイトはユーザーのIP アドレス(インターネットに接続されている各コンピューターを識別する一意の数字の文字列) を記録します。 WikiScanner はこれらの記録を使用して、匿名の Wikipedia 編集者の IP アドレスを追跡します。 IP アドレスを所有する企業のデータベースと比較することで、スキャナは編集者の名前、または少なくともユーザーのアクセスを担当する組織の名前を特定できます。

    その結果は驚くべきもので、18万以上の組織によって数千万件の匿名編集が行われ、その中には明らかにウィキペディアのポリシーに違反しているものもあった。多くの組織として挙げられているのは、FBI、 CIA 、英国労働党、バチカン、ウォルマート、共和党、サイエントロジー教会、デルコンピュータ、マイクロソフト、アップル、国連などです。

    この記事では、WikiScanner がどのように機能するかを詳しく見ていき、特に物議を醸した、または単純に奇妙な匿名編集の例をいくつか取り上げ、WikiScanner に対する反応のいくつかを考察します。また、WikiScanner を使用して、一部の組織や企業が Wikipedia で何を行っているかを確認する方法も紹介します。

    ウィキペディア スキャナーの作成

     Wikipedia スキャナーの仕組み

    WikiScanner を作成する際、ヴァージル・グリフィスは、Wikipedia の主な特徴の 1 つである、その膨大な記録とバックログを利用しました。これらの記録がどのようなものであるかの例を確認するには、Wikipedia エントリの上部にある「履歴」タブをクリックするだけです。そこでは、記事を編集した登録ユーザーの名前、匿名編集者のIP アドレス、および変更に関するメモが表示されます。また、記事の異なるバージョンを簡単に比較したり、編集者(匿名であっても)にメッセージを残すこともできます。

    ウィキペディアでは、すべての記事と実行されたすべての編集の記録を含む、百科事典の完全版をダウンロードできます。 Griffith は完全な百科事典をダウンロードし、匿名の変更とそれに関連する IP アドレスをすべて抽出しました。彼は、2,668,095 の異なる IP アドレスから、2002 年 2 月 7 日から 2007 年 8 月 4 日までに行われた 34,417,493 件の匿名編集を思いつきました 。

    さまざまなサービス (一部は公開されています) を使用して、IP アドレスを追跡して、IP アドレスを所有する企業、政府機関、および組織を追跡することができます。グリフィス氏は、ユーザーが IP アドレスをその所有者と照合できるプログラムを販売する IP2Location のソフトウェアを使用して、187,529 の組織が Wikipedia のエントリを匿名で編集していたことを発見しました 。

    必要なのはこれだけです。理論的には単純なアイデアのように思えるかもしれませんが、ヴァージル・グリフィス以前には、匿名のウィキペディア編集を包括的に調べて、その背後にあるすべてのユーザーを見つけようとした人はいませんでした。 Griffith の Web サイトからアクセスできるようになった WikiScanner を使用すると、ユーザーは特定の組織、単一の IP アドレス、IP アドレスの範囲、または Wikipedia のエントリを検索できます。最初の立ち上げ後、グリフィス氏は大量のトラフィックを受信して​​いたためサイトの機能の一部を一時的に無効にしましたが、後に「小さな国の Web トラフィックを処理できる」十分な帯域幅を確保して復帰しました 。

    いくつかの Web サイト、特に「Wired」には、ユーザーがお気に入りの WikiScanner 結果を投稿できるブログやフォーラムが開設されています。グリフィスのサイトには、政府、教育、政策、企業、ニュースなどのカテゴリーに分けて、著名な組織によって行われた編集にリンクする「Editor’s Picks」のセレクションが掲載されている。彼は、.gov アドレスからの匿名編集の数など、他の興味深いリストも提供しています。 NASA が 6,846 件の編集で 1 位になりました。

    では、WikiScanner はどのような結果を掘り起こしたのでしょうか?続きを読んで調べてください。

    ウィキペディアスキャナーによって暴露されました

     Wikipedia スキャナーの仕組み

    187,529 の組織によって 3,400 万件以上の匿名編集が行われているため、誰かがデータを精査して、WikiScanner によって公開された潜在的に物議を醸す可能性のある編集をすべて見つけるまでには、かなりの時間がかかるでしょう。そしてもちろん、匿名編集はウィキペディアの機能である限り継続されます。しかし、多くの組織はすでにウィキスキャナーによって排除されています。このセクションでは、グリフィスと他のユーザーが発見したものを見ていきます。

    すべての匿名編集が悪意があるわけではありません。その中には、サイトに登録したくないユーザーや、わざわざログインせずに単純な文法上の間違いを修正したいユーザーからのものもあります。WikiScanner によって発見された編集の多くは無害でした。それでも、匿名の編集の中には悪意があるか、組織の特定の利益にかなうように設計されているように見えるものもあります。記事を広告やプレスリリースにする人もいるようです。 (ウィキペディアには、会社または製品の広告であると思われる記事にフラグを立てるために使用するタグがあります。)

    Diebold Election Systems は、ネットワークにアクセスできる人々が匿名で編集を行ったことで大きな注目を集めました。電子投票機のメーカーである同社は、その機械の品質や、同社CEOによるジョージ・ブッシュの政治運動への貢献について、すでに物議を醸していた。 WikiScanner は、2005 年 11 月に、これらの論争を論じた 15 の段落が、Diebold が所有するIP アドレスを追跡したユーザーによって削除されたことを明らかにしました。その直後、別のユーザーが削除された記事を記事に戻し、匿名の編集者に「トークページ」で警告を発した。

    民主党の IP アドレスを追跡したユーザーは、保守系トーク番組の司会者であるラッシュ・リンボーに関するエントリーを編集し、彼を「馬鹿」「人種差別主義者」「偏屈者」と呼んだ。民主党のコンピュータのユーザーはまた、イギリスのテニス選手ティム・ヘンマン、ブリトーチェーンのバハフレッシュ、緑の屋根など、おそらく議論の余地のないトピックに関する記事の単純なコピー編集を行った。

    全米ライフル協会の誰かが、9月11日の攻撃に関する噂に関するページを変更した。匿名の編集者は、サダム・フセイン政権下のイラク政府と9月11日の攻撃との関連性を引き出すために段落を変更した。

    ウィキスキャナーは、政敵間のさまざまな争いのほかに、企業が競合他社に関するページを編集している例を明らかにした。 Apple が Microsoft ページを編集し、Microsoft の誰かが Apple のために編集したのです。英国の新聞「ガーディアン」は、競合紙「タイムズ」の記事を編集した。

    匿名の編集の多くは、特にソースを考慮すると非常にユーモラスです。 CIA のウェブサーファーがライトセーバー戦闘に関する長いエントリーを寄稿しました。国防総省の高度な研究機関である DARPA の誰かが、俳優のシャイア・ラブーフとホッケー選手のビル・ゲリンに関する「The Real World: Denver」に関するエントリーを編集した。これらの編集はいずれも悪意のあるもの、またはウィキペディアのポリシーに反するものではありませんでした。

    Wikipedia スキャナーの影響

     Wikipedia スキャナーの仕組み

    グリフィスは自身のウェブサイトで、議員たちが否定的な発言を取り除いたり、否定的な言葉を肯定的な言葉に置き換えたりして、自分のウィキペディアの項目をごまかしていたという話を聞いて、ウィキスキャナーのアイデアを思いついたと述べている。たとえば、「物議を醸す」または「気まぐれな」政治家は、代わりに「ダイナミック」と呼ばれる可能性があります。

    ウィキスキャナーを作成した他の理由の中で、グリフィス氏は「私が嫌いな企業や組織に小さな広報上の災難を引き起こしたい」ことと、「(私は中立的な立場の)『興味深い組織』が何をしているのかを知りたい」と述べた[出典] :グリフィス』。彼はまた、「クエリ『virgil』に対する virgil.gr の Google ページランク [原文ママ] を向上させたい」とも冗談を言っています。

    ウィキスキャナーの発表により、多数の新聞記事が生まれ、世界中のアマチュア探偵が悪質な編集を捜査するようになりました。グリフィス氏は、多くの企業が自社のネットワークにアクセスする人々の慣行に対する疑問に直面しているという点で、彼の目標の1つを達成したようだ。

    WikiScanner が企業のIP アドレスへの編集を追跡したとしても、それは従業員が編集を実行したことや、企業がその行為を認可または命令したことを意味するものではありません。このプログラムは、特定の個人の編集内容を追跡することはできません。IP アドレスとそれを所有する会社のみが追跡されます。しかしグリフィス氏は、編集が勤務時間中に行われた場合、変更を加えた人物は「その会社のエージェントか、ネットワークへのアクセスを許可されたゲストのいずれか」である可能性が高いと指摘した。

    匿名編集の多くは、Wikipedia のガイドライン、特に利益相反 (COI) 行動規則に違反しています。 COI の可能性がある編集者は、利益相反を引き起こす可能性のある記事を編集することを妨げられませんが、慎重に判断することをお勧めします 。一部の組織は明らかに自社の利益のために記事を編集しており、その過程でウィキペディアのルールに違反している可能性があります。

    ウィキペディアの基本原則の 1 つは、中立的な観点 (NPOV) を維持することであり、ウィキペディアの創設者ジミー ウェールズはこれを「絶対的かつ交渉不可能」と呼んでいます 。ウィキスキャナーによって発見された物議を醸す編集の多くは、NPOV 原則に違反しています。

    グリフィス氏は、Wikipedia のようなオープン プラットフォームではユーザーが匿名で編集できることを好むが、WikiScanner のようなツールは悪意のある編集に対抗するのに役立つ可能性があると述べた 。これは、物議を醸しているページの整合性を維持したり、ページがいつ破壊されたかを追跡したりするために使用される可能性があります。あるいは、このツールのおかげで、人々は匿名編集を家庭や公共のコンピュータ システムから実行することに対してより慎重になるかもしれません。

    ヴァージル・グリフィスは、ウィキペディアの背後にある非営利団体であるウィキメディア財団とは話していないが、報道での彼らのコメントは肯定的だったようだと述べた。ウィキペディアの広報担当者は BBC ニュースに対し、同社は「透明性を本当に重視しており、スキャナーはこれを本当に新たなレベルに引き上げた」と語った。

    「タイムズ・オンライン」とのインタビューでグリフィス氏は、次のプロジェクトは人々がソーシャルネットワーキングサイトに投稿する個人情報に関するものになるかもしれないと述べた。

    WikiScanner の詳細と、WikiScanner によって公開されている組織のリストを確認するには、次のページのリンクを参照してください。