投稿者: 渡辺 涼

  • 情報アーキテクチャの仕組み

    建設作業員が計画もなく新しい家を建て始めるところを想像してみてください。壁、ドア、窓をどこに配置するかをどのように決めているのでしょうか?屋根を支えられるか、すべての配管や電気配線を収納できるスペースがあるかをどうやって確認できるのでしょうか?計画は、作業員が建物を正しく建設するために不可欠です。その計画は建築家によって作成された青写真の形で提供されます。

    ここで、衣料品店をオープンする予定で、製品を販売できる Web サイトが必要だと想像してください。メインページにどの情報を掲載する必要があるかをどのように決定しますか?製品カタログや企業情報をサイトのどこに掲載しますか?顧客はどのようにしてその情報を見つけるのでしょうか?建物を計画する場合と同様、伝えたいすべての情報にアクセスし、顧客が簡単に見つけられるようにするために、Web サイトを徹底的に設計することが不可欠です。

    Web サイト内の情報をどのように編成するかを計画することは、情報アーキテクチャ (IA)として知られるより広範な分野の 1 つの応用例にすぎません。 「情報アーキテクチャ」という用語にはさまざまな説明があります。ただし、IA は常に進化しているため、正確な定義を特定するのは困難です。さまざまなソースからの定義をまとめると、情報アーキテクチャは次のようになります。

    • 情報をどのように編成、相互リンク、アクセス、表示するかについてのルールを記述した情報システムのモデル
    • このようなモデルを作成および維持する技術と科学

    私たちが説明した成長企業の IA は、その Web サイト専用に設計されている場合もあれば、マーケティング資料、顧客データベース、ユーザー ドキュメントなど、幅広い企業情報をカバーしている場合もあります。

    この定義が少しわかりにくいと思われる場合は、各情報を一足の靴にたとえて考えてください。情報システムは、多数の靴が販売されているオンライン ストアになります。情報アーキテクチャには、サイズ設定システム、利用可能な色、在庫のあるペアの数、および各ペアの価格が含まれます。

    IA にとってそれは大変な作業です。この記事では、情報アーキテクチャの範疇に入る幅広い手法とテクノロジを調査し、IA の歴史と概念の一部を説明し、IA からインスピレーションを受けたソフトウェアと専門文化の一部を考察します。

    情報アーキテクチャの歴史

    情報アーキテクチャの仕組み

    人類は、コンピュータやインターネットが登場するずっと前から、何千年もの間、情報を整理するためのシステムを作成し、使用してきました。紀元前 330 年、古代エジプトのアレクサンドリア図書館は、その内容を 120 巻にわたる参考文献目録に記載しました。最近では、増え続ける図書館のコレクションをより適切に整理し、アクセスできるようにするために、デューイ十進法と米国議会図書館分類が開発されました。 。学校でレポートを書くときに、情報を整理するために別のテクニックであるアウトラインを使用したことがあるかもしれません。

    コンピュータ ネットワーク、特にインターネットとワールド ワイド ウェブによるインターネットの普及により、情報の公開速度が加速しました。その結果、私たちは現在、膨大な量のデータを利用できるようになり、毎日さらに多くのデータが追加されています。これらのネットワークは、デジタル形式のパワーと柔軟性を利用して、リンクをクリックするのと同じくらい迅速かつ簡単に相互参照などのタスクを実行します。これだけの情報とスピードがあると、すべてを整理して見つけやすくするという作業は、不可能ではないにしても、圧倒的に思えます。

    情報の形式が進化するにつれて、人間はそれを整理するための新しくてより良い方法を考え出し続けています。リチャード・ソール・ワーマンは、テクノロジー・エンターテインメント・アンド・デザイン (TED) カンファレンスの創設者の一人として今日最もよく知られていますが、1976 年のアメリカ建築家協会 (AIA) カンファレンスで「情報アーキテクチャ」という用語を生み出しました。彼はまた、次のような本を出版しました。ワーマンは、「情報デザイン」という用語は、情報がどのようにアクセスされ使用されるかではなく、情報がどのように見えるかを表すものであると感じました。彼の新しい用語は、情報システムがどのように機能するかに対する体系的なアプローチをより正確に説明したものでした。

    情報アーキテクチャの同義語として、ユーザビリティ エンジニアリング、コンテンツ管理、コンテンツ戦略、ユーザー エクスペリエンス (UX) デザイン、インタラクション デザイン (IxD) などの用語が使われているのを耳にすることがあるかもしれません 。ただし、これらの用語は、IA 内の特定の領域、または情報システム (Web サイトなど) の構築および管理に使用される特定のテクノロジを指します。

    現在、私たちは情報アーキテクチャの起源についての考えを持ち、それを定義するのが難しく、拡大する情報の世界に対処するために不可欠であることを知っています。次に、なぜそれが必要なのかを詳しく見てみましょう。

    なぜ情報アーキテクチャが必要なのでしょうか?

    情報アーキテクチャの仕組み

    なぜ情報アーキテクチャが必要なのかを理解するために、まず本を本棚にどのように整理するかを考えてみましょう。このタスクでは、シェルフを整理するために一度に 1 セットのルールのみを使用できます。たとえば、本を著者の姓、タイトル、または身長順に並べることもできます。これらの戦略を組み合わせた場合でも、同じ著者の本の場合は最初に著者別、次にタイトル順など、一方を他方よりも優先する必要があります。

    本の注文方法はどうやって決めるのですか?理想的には、読者が必要な本を最も簡単に見つけられる戦略を選択することです。たとえば、大規模な研究図書館の場合、書籍にアクセスする人は、著者やタイトルではなく主題で書籍を探している可能性があります。

    デジタル情報を整理するためのオプションは、通常、書籍よりもはるかに豊富です。ただし、書籍と同様に、情報を整理する方法を選択する理由は、ユーザーが情報にアクセスする方法を改善するためです。一部のユーザーがより早く情報を見つけられるようにするアプローチでも、他のユーザーの検索が遅くなったり、検索が不可能になったりする可能性があります。

    膨大で増え続けるデジタル情報の中で、人々が必要なときに必要なものに確実にアクセスできるようにするためには、情報アーキテクチャが不可欠です。情報システムに最適な IA を使用する企業は、ユーザーが元の情報を見つけられなかったため情報を検索したり、情報を複製したりする時間が短縮されるため、ビジネスコストの削減などの利点を享受できます 。

    2009 年に、Jared Spool は、Web サイト上のログイン フォームを移動したことで、そのサイトでのオンライン売上が 1 年以内に約 3 億ドル増加したという驚くべき例を説明しました。スプールは、サイトの IA の一部として、顧客がサイトとどのようにやり取りするかをテストするチームの一員でした。チームは、再顧客が買い物を始める前にログインできれば、顧客にとってショッピング体験がより簡単になり、結果的により多くのお金を費やすことになることに気づきました。さらに、登録の必要性がなくなることで、より多くの初めての顧客が購入を完了できるようになります。サイトの IA におけるこれらの簡単な変更のおかげで、最初の 1 週間以内に、このビジネスでは売上が大幅に増加し始めました 。

    IA が必要な理由は理解できたので、どうやって IA を使い始めればよいでしょうか? IA は非常に大きなテーマであるため、これらの概念を実行する手法やテクノロジを検討する前に、いくつかの基本的な情報アーキテクチャの概念を検討してみましょう。

    情報アーキテクチャの概念

    情報アーキテクチャの仕組み

    前述したように、情報アーキテクチャは、情報空間のモデル (またはモデルを構築する実践)、またはまとめて編成および管理される情報セットとして広く定義されます。このモデルは、情報をどのように維持、相互リンク、アクセス、表示するかについてのルールを記述しています。ただし、IA をより正確に説明するには、いくつかの情報アーキテクチャの概念を使用する必要があります。

    Rosenfeld と Morville は、「 World Wide Webの情報アーキテクチャ」というタイトルの本の著者です。この本の表紙には、他のオライリー出版物と同様に、動物の絵が描かれています。 IA コミュニティでの人気により、この本は主にその動物に関連したシロクマの本として知られています。多くの IA 専門家は、情報アーキテクチャの定義と説明の権威としてこの本とその著者を参照しています。

    2002 年版で著者らは、情報アーキテクチャはコンテンツ、ユーザー、コンテキストという 3 つの概念円で構成されていると述べています 。コンテンツには、テキスト、数値データ、画像、ビデオが含まれる場合があります。ユーザーは情報の対象視聴者であり、IA には視聴者の体験と視聴者のメンバーが情報を探す方法 (情報探索行動) が含まれます。コンテキストには、テクノロジー、企業文化、政治などの目標とリソースが含まれます。

    ノースカロライナ大学チャペルヒル校での情報アーキテクチャに関するプレゼンテーションの中で、同大学情報図書館学部教授兼学部長のゲイリー・マルキオニーニ氏は、IA における情報の基本単位の概念をパッケージとして定義しました 。彼は、パッケージをテキスト、画像、ビデオ、または類似のデータの段落として説明します。情報アーキテクチャの一部には、大規模な情報システム内でパッケージをどのように構成し、それらをどのように管理およびアクセスするかについての計画が含まれます。便宜上、この記事ではマルキオニーニの用語を同じように使用します。

    情報アーキテクチャにおけるもう 1 つの概念は属性です。属性とは、身長、体重、性別による人物の説明など、何かを説明するために使用する詳細です。情報には、そのパッケージまたはそのパッケージ内のオブジェクトを説明する属性を持つことができます。これらは、段落内の文字数などの物理的な属性、またはその段落を表示するための適切なコンテキストなどの抽象的な属性である可能性があります。情報アーキテクチャが効率的に機能するには、属性がパッケージとそのコンテンツに一貫して適用される必要があります。 IA には、属性が相互にどのように関係するかに関するロジックも含まれる場合があります。

    情報アーキテクチャで使用されるコンポーネント

    情報アーキテクチャの背後にあるより抽象的な概念を理解したところで、アーキテクトがそれらの概念を捉えるために使用する IA コンポーネントと手法を検討してみましょう。前述のシロクマの本では、情報アーキテクチャ システム内の 4 つのコンポーネントが示されています。

    • 組織システムは、著者名タイトル靴のサイズ、生地、色などの情報を分類するカテゴリです。
    • ラベリング システムは、対象読者に適切と考えられる用語のレベルなど、情報を表現する方法です。たとえば、記事では「検眼医」と「眼科医」という用語を使用する必要がありますか、それとも「眼科医」の方が適切でしょうか?
    • ナビゲーション システムは、情報が提示されたときに、ある情報から別の情報に移動するための手段です。たとえば、このページでは、[次へ] ボタンを使用して次のページに移動したり、ページの上部にある [アドベンチャー] や [技術] などのタブを使用していつでも新しい内容の探索を開始したりできます。
    • 検索システムは、検索エンジンに単語を入力したり、番号付きリストで用語をスキャンしたりするなど、情報を検索する方法です。たとえば、このページの検索ボックスに複数の単語を入力して結果を絞り込み、読みたいトピックに近づくことができます。

    情報アーキテクチャに関連するその他のコンポーネントは、モデルを実際の情報システムにするために使用されるテクノロジーから来ています。たとえば、情報をデータベースに保存している場合、特定の情報を取得するためのクエリ コンポーネントをアーキテクチャに組み込む必要があります。 Web サイトを構築している場合、情報にアクセスするには、閲覧、スクロール、クリックなどのコンポーネントが使用されます。

    仕事の規模が大きいため、情報アーキテクトは何でも屋である必要があります。住宅を設計するとき、一般の建築家は、建築業者が設計図を理解できるように、確立された建築基準や政府の規制について知っていなければなりません。そうすることで、建物は法的検査に合格し、完成した家は安全で住みやすい場所になります。情報アーキテクトは、デジタル情報の作成、保存、アクセス、提示に関する業界標準についても同様に多様な理解を必要とします。このような標準には、統一モデリング言語 (UML)、ハイパーテキスト マークアップ言語 (HTML)、カスケード スタイル シート (CSS)、およびJavaScriptが含まれる場合があります。各カテゴリのラベルが使用されるたびに 1 つの正確な内容のみを意味することを保証するために使用される管理された語彙やメタデータなど、アーキテクトが知っておくべき一般的な業界慣行も重要です。

    情報アーキテクチャの設計

    情報アーキテクチャの仕組み

    すべての要素をまとめるために、情報アーキテクトは IA を文書化することから始めるかもしれません。これは、建築家が詳細な建築計画を設計図に文書化する方法と似ています。文書化とは、情報システムのセットアップに関与する専門家が従うべき明確なルールを確実に持つように、IA の書面による記録を作成することを意味します。このドキュメントは、保守担当者向けのリファレンス ガイドでもあり、IA 設計を長期間にわたって保存する方法に関する重要な指示を提供します。

    アーキテクトが文書化するものとしては、パッケージの種類とその属性の説明、パッケージが相互にどのように関係しているかを示す図、ユーザーの決定がどのようにパッケージから別のパッケージに至るかを示すフローチャート、ワイヤーフレームと呼ばれる Web ページのレイアウト モデルなどがあります。情報をユーザーにどのように表示するか。新規または更新された IA 設計が実装前にマネージャーまたは取締役会の承認を必要とする場合、アーキテクトは会議で計画を提示するときに使用するスライド ショーを作成することがあります。

    アーキテクトが開発の初期段階でブレインストーミングを行っているとき、または迅速な変更を検討する必要があるときは、まず紙、付箋、またはホワイトボードに IA コンポーネントのスケッチを作成することがあります 。計画がより強固になるにつれて、建築家はモデリング ソフトウェアを使用して IA とその部品の視覚的表現を作成する場合があります。たとえば、アーキテクトは、Visio、OmniGraffle、Dia などのダイアグラム ソフトウェアを使用して、ユーザーが情報内を移動する方法を示すフローチャートや、情報がどのように相互接続されているかを示すツリーやマップを作成できます。これらのアーキテクトは、Adobe Illustrator などのデスクトップ パブリッシング ツールを使用して、これらのグラフィックを最終的な IA ドキュメントに追加することもできます。

    設計を支援するために、建築家は IA 用に特別に開発されたモデリング ソフトウェアを使用することもできます。以下は、Web サイトで使用されるモデリング ソフトウェアの例です。

    • Optimal Sort は、ユーザーが情報とどのように対話するか (ユーザー エクスペリエンス、または UX と呼ばれます) を識別するため、アーキテクトは情報に最適なカテゴリとラベルを選択できます。
    • Treejack は、ユーザーがどのように情報をナビゲートするか (Web ページをクリックして移動するか) を調査し、迷い込む可能性がある場所を特定します。
    • Axure RP は、 Web サイトのプロトタイプの作成にワイヤー フレーム モデルのアプローチを使用します。
    • Morae は、アーキテクトがユーザー エクスペリエンスをより深く理解し、その理解を IA の改善に活用できるように、既存の Web サイトの有効性をテストします。

    設計が完了すると、情報アーキテクトは次のフェーズ、つまりその設計を実行に移すことができます。多くの IA 専門家が、設計の実装に使用される技術プロセスのすべてまたは一部に参加しています。その実装に何が関係するかを見てみましょう。

    情報アーキテクチャを実践する

    情報アーキテクチャで使用されるソフトウェアは 2 つのカテゴリに分類されます。 1 つは、前述したモデリング ソフトウェアです。もう 1 つは、建築家の計画に従ってシステムを構築するために使用される情報システム ソフトウェアです。

    情報システム ソフトウェアを使用すると、IA の最も一般的な機能のいくつかを簡単に実装できます。たとえば、コンテンツ管理システム (CMS)ソフトウェアは、ファイル システムとライブラリの機能を組み合わせています。 CMS ユーザーは、時間の経過とともに情報のリビジョンを追跡し、必要に応じて古いリビジョンにアクセスしながら、情報のチェックアウト、更新、チェックインを行うことができます。さらに、CMS 自体または他のソフトウェアは、ドキュメントに追加したり Web ページに表示したりするために、必要に応じてその情報を取得できます。

    Web コンテンツの整理と表示の両方を行う 2 つの人気のある CMS は、Drupal と Alfresco です。 Drupal は、主にハイパーテキスト プリプロセッサ言語 (PHP) で書かれた無料のオープンソースCMS です。 Drupal は非常に柔軟性があることで知られていますが、その主な魅力は、すぐに使える機能と、Web サイトの IA を実装するために必要となる無料の拡張機能です 。サブスクリプションベースの CMS である Alfresco は、組織の社内ドキュメントや記録を管理する機能など、単なる Web コンテンツを超えた IA を実装しています。

    CMS 以外にも、他のソフトウェアを使用して IA の一部またはすべてを実装できます。たとえば、WordPress などの一部のブログソフトウェアや MediaWiki などのウィキ ソフトウェアは CMS として動作しますが、情報を保存、分類、表示するためのオプションは限られています。ドキュメント管理システム (DMS) は CMS に似ていますが、特定の種類の情報に限定されます。 KnowledgeTree のような DMS は、ドキュメントの形式を保持しながら、各リビジョンの作成者とタイムスタンプを追跡し続けることができます。また、情報を検索する場合、DMS はドキュメント自体の内容を検索するのではなく、タグに依存します。

    情報はユーザーのニーズに応じて時間の経過とともに増加し、変化します。インフォメーション アーキテクトにとって、これは、情報の量や種類が既存の IA に適合しなくなったとき、またはその情報のコンテキストやユーザーに変化があったときを判断することを意味します。 IA を変更する必要がある場合、アーキテクトはモデルを更新する方法だけでなく、情報システムの管理に使用されるソフトウェアを更新するかどうかも考慮する必要があります。

    情報アーキテクチャ文化

    情報アーキテクチャ文化は、1990 年代のWebの爆発的な成長と、1996 年の Richard Saul Wurman の著書「Information Architects」の出版から生まれたようです。先に紹介した Peter Morville 氏は、アプリケーションの適用について同僚と熱心に議論したことを思い出します。図書館情報科学 (LIS) の原則をワーマンの情報アーキテクチャの概念に適用します。オライリーがルイス ローゼンフェルドとの共著でモーヴィルの本を出版したとき、このトピックへの関心は非常に高まり、2 年後、米国情報科学技術協会 (ASIS&T) のリチャード ヒルが、ローゼンフェルドによる第 1 回年次情報アーキテクチャ サミットの開催を支援しました。 。

    ASIS&T は、2000 年の最初の開催以来、毎年 IA サミットを開催してきました 。このカンファレンスには、IA のイノベーターや著名な専門家によるワークショップが含まれます。 2011 年のカンファレンスで取り上げられるトピックには、情報アーキテクチャの特定分野、最新の IA 技術、情報アーキテクチャの現状と将来が含まれます。

    情報アーキテクチャに対するこの関心の高まりは、他の組織やカンファレンスの立ち上げにも役立ちました。国際会議には、欧州情報アーキテクチャ (EuroIA) サミットやオーストラリアの情報アーキテクチャ会議 (Oz-IA) などがあります。 Information Architecture Institute (IAI) は、情報アーキテクチャ分野の進歩を目的とする専門組織です。 IAI は、IDEA: Information Design Experience Access と呼ばれる独自の年次カンファレンスを開催しています 。

    では、典型的な情報アーキテクトとは誰でしょうか?アトランタのエモリー大学の Adelle Frank は、エモリー大学 Web サイトの背後にあるデータ管理の仕事を通じて、IA への情熱を抱いています。フランクは 2 つの IA サミット カンファレンスに出席しており、典型的な IA プロフェッショナルを「テクノロジーに精通し、優れた社交スキルと創造性を兼ね備えた、風変わりで知的な人物」であると説明しています。彼女はまた、情報アーキテクチャの愛好家は、情報過多の混乱から創造的に秩序をもたらし、人々のインターネット体験を改善することを好むと説明しています 。

    すべての情報アーキテクトがその役職で働いているわけではありませんが、Frank が説明したのと同じスキルと IA に対する情熱を持った人がたくさんいます。この成長を続けるコミュニティは、 RSSフィード、メーリング リスト、IA イベントのポッドキャスト、記事、ASIS&T や IAI などの主要組織のメンバーシップを通じて、最新の情報アーキテクチャ ニュースを常に入手しています。 Frank 氏は、このテクノロジーに精通した群衆は、イベント中に Twitter を通じてメッセージを送受信することもあり、IA 愛好家が直接その場に参加できなくても情報を入手できるもう 1 つの方法を提供していると付け加えました 。

    この記事では、情報アーキテクチャの歴史、概念、テクニック、テクノロジについて説明してきましたが、実際には表面をなぞっただけです。 IA は非常に幅広いトピックであり、初心者と経験豊富な建築家の両方に役立つ文献が数多くあります。さらに多くの情報を得るには、このサイトのユーザー インタラクション IA に参加し、次のページに進むをクリックしてください。

    特別な感謝の気持ち

    この記事の作成に協力してくれた情報アーキテクト Adelle Frank に特別に感謝します。

  • インターネット検索エンジンの仕組み

    インターネットとその最も目立つコンポーネントである World Wide Web に関する良いニュースは、利用可能なページが何億もあり、驚くほど多様なトピックに関する情報の提供を待っていることです。インターネットに関する悪いニュースは、何億ものページが利用可能であり、そのほとんどが作成者の気まぐれなタイトルであり、ほとんどすべてが不可解な名前でサーバー上に存在していることです。特定の主題について知りたいとき、どのページを読めばよいかどうやってわかりますか?あなたもほとんどの人と同じように、インターネット検索エンジンにアクセスするでしょう。

    インターネット検索エンジンは、他のサイトに保存されている情報を検索できるように設計された Web 上の特別なサイトです。さまざまな検索エンジンの動作方法には違いがありますが、いずれも次の 3 つの基本的なタスクを実行します。

    • 彼らは重要な単語に基づいてインターネットを検索したり、インターネットの一部を選択したりします。
    • 彼らは、見つけた単語と、それを見つけた場所のインデックスを保持します。
    • これらを使用すると、ユーザーはそのインデックス内で見つかった単語または単語の組み合わせを検索できます。

    初期の検索エンジンは数十万のページとドキュメントのインデックスを保持しており、毎日 1 ~ 2,000 件の問い合わせを受けていました。現在、トップの検索エンジンは数億のページのインデックスを作成し、1 日に数千万のクエリに応答します。この記事では、これらの主要なタスクがどのように実行されるか、また、必要な情報を Web 上で見つけられるようにするために、インターネット検索エンジンがどのように各要素を組み立てるかについて説明します。

    ウェブクローリング

    インターネット検索エンジンの仕組み

    ほとんどの人がインターネット検索エンジンについて話すとき、それは実際には World Wide Web 検索エンジンを意味します。 Web がインターネットで最も目立つ部分になる前に、人々がネット上の情報を見つけるのを助ける検索エンジンがすでに存在していました。 「gopher」や「Archie」などの名前のプログラムは、インターネットに接続されたサーバーに保存されているファイルのインデックスを保持し、プログラムやドキュメントの検索に必要な時間を大幅に短縮しました。 1980 年代後半、インターネットから本格的な価値を得ることは、ゴーファー、アーチー、ベロニカなどの使い方を知ることを意味していました。

    現在、ほとんどのインターネット ユーザーは検索を Web に限定しているため、この記事ではWeb ページのコンテンツに焦点を当てた検索エンジンに限定します。

    検索エンジンがファイルやドキュメントの場所を知らせるには、まずそれを見つける必要があります。存在する何億もの Web ページに関する情報を見つけるために、検索エンジンはスパイダーと呼ばれる特別なソフトウェア ロボットを使用して、Web サイトで見つかった単語のリストを作成します。スパイダーがリストを作成するときのプロセスは、 Web クローリングと呼ばれます。 (インターネットの一部を World Wide Web と呼ぶことにはいくつかの欠点があります。クモ類を中心としたツールの名前が大量にあることもその 1 つです。) 有用な単語のリストを作成し維持するために、検索エンジンのスパイダーは次のような機能を備えています。たくさんのページを見るために。

    クモはどのようにしてウェブ上を移動し始めるのでしょうか?通常、開始点は、頻繁に使用されるサーバーと非常に人気のあるページのリストです。スパイダーは人気のあるサイトから始めて、ページ上の単語のインデックスを作成し、サイト内で見つかったすべてのリンクをたどります。このようにして、スパイダー システムはすぐに移動を開始し、Web の最も広く使用されている部分に広がります。

    Google は学術検索エンジンとして始まりました。このシステムがどのように構築されたかを説明する論文の中で、サーゲイ・ブリンとローレンス・ペイジは、スパイダーがいかに早く機能するかを例として挙げています。彼らは、複数のスパイダー (通常は一度に 3 つ) を使用する最初のシステムを構築しました。各スパイダーは、一度に Web ページへの約 300 の接続を開いたままにすることができます。最高のパフォーマンスでは、4 つのスパイダーを使用してシステムは 1 秒あたり 100 ページ以上をクロールし、毎秒約 600 キロバイトのデータを生成できました。

    すべてを迅速に実行し続けるには、必要な情報をスパイダーに供給するシステムを構築する必要があります。初期の Google システムには、スパイダーに URL を提供する専用のサーバーがありました。サーバー名をアドレスに変換するドメイン ネーム サーバー(DNS) をインターネット サービス プロバイダーに依存するのではなく、Google は遅延を最小限に抑えるために独自の DNS を持っていました。

    Google スパイダーがHTMLページを見たとき、次の 2 つの点に注目しました。

    • ページ内の単語
    • 言葉が見つかった場所

    タイトル、サブタイトル、メタタグ、およびその他の相対的に重要な位置に出現する単語は、その後のユーザー検索時に特別な考慮事項として記録されました。 Google スパイダーは、冠詞「a」、「an」、「the」を除いて、ページ上のすべての重要な単語にインデックスを付けるように構築されています。他のクモは異なるアプローチを取ります。

    これらのさまざまなアプローチは通常、スパイダーの動作を高速化するか、ユーザーがより効率的に検索できるようにするか、あるいはその両方を試みます。たとえば、一部のスパイダーは、タイトル、小見出し、リンクの単語を追跡するほか、ページ上で最も頻繁に使用される 100 の単語とテキストの最初の 20 行の各単語を追跡します。 Lycos は、Web をスパイダー化するためにこのアプローチを使用していると言われています。

    AltaVista などの他のシステムは、逆の方向に進み、「a」、「an」、「the」、その他の「重要でない」単語を含む、ページ上のすべての単語にインデックスを付けます。このアプローチの完全性への取り組みは、Web ページの目に見えない部分であるメタ タグに注意が払われるという点で他のシステムと同等です。メタタグの詳細については、次のページをご覧ください。

    メタタグ

    メタ タグを使用すると、ページの所有者は、ページのインデックス付けに使用するキーワードと概念を指定できます。これは、特にページ上の単語に二重または三重の意味がある場合に役立ちます。メタ タグは、これらの単語に考えられるいくつかの意味のうちどれが正しいかを検索エンジンが選択するようにガイドできます。ただし、メタ タグに過度に依存することには危険があります。不注意または不謹慎なページ所有者が、非常に人気のあるトピックには適合するものの、ページの実際のコンテンツとはまったく関係のないメタ タグを追加する可能性があるためです。これを防ぐために、スパイダーはメタ タグをページ コンテンツと関連付け、ページ上の単語と一致しないメタ タグを拒否します。

    これらすべては、ページの所有者が実際にそのページを検索エンジンのアクティビティの結果に含めることを望んでいることを前提としています。多くの場合、ページの所有者は、そのページが主要な検索エンジンに表示されることを望まなかったり、ページにアクセスするスパイダーの活動を望まなかったりします。たとえば、ページのセクションが表示されるか、新しいリンクがたどられるたびに、新しいアクティブなページを構築するゲームを考えてみましょう。ウェブ スパイダーがこれらのページのいずれかにアクセスし、新しいページへのすべてのリンクをたどり始めると、ゲームはそのアクティビティを高速の人間プレイヤーと誤認し、制御不能になる可能性があります。このような状況を回避するために、ロボット排除プロトコルが開発されました。このプロトコルは、Web ページの先頭のメタタグ セクションに実装されており、スパイダーにページをそのままにし、ページ上の単語にインデックスを付けたり、そのリンクをたどったりしないように指示します。

    インデックスの構築

    スパイダーが Web ページ上の情報を見つけるタスクを完了すると (これは実際には決して完了しないタスクであることに注意してください。Web の絶えず変化する性質により、スパイダーは常に巡回していることになります)、検索エンジンは次のことを行う必要があります。情報を役立つ方法で保存します。収集されたデータにユーザーがアクセスできるようにするには、次の 2 つの重要なコンポーネントが関係します。

    • データとともに保存される情報
    • 情報にインデックスを付ける方法

    最も単純なケースでは、検索エンジンは単語とそれが見つかった URL を保存するだけです。実際には、その単語がページ上で重要な意味で使われたのか些細な意味で使われたのか、その単語が一度使われたのか何度も使われたのか、あるいはページ上で使われたかどうかを知る方法がないため、これは限定された用途のエンジンになります。単語を含む他のページへのリンクが含まれていました。言い換えれば、最も有用なページを検索結果リストの上位に表示するランキングリストを作成する方法はありません。

    より有用な結果を得るために、ほとんどの検索エンジンは単語や URL 以外の情報も保存します。エンジンは、ページ上にその単語が出現した回数を保存する場合があります。エンジンは各エントリに重みを割り当て、ドキュメントの先頭付近、小見出し、リンク、メタ タグ、またはページのタイトルに出現する単語に応じて増加する値を割り当てます。各商用検索エンジンには、インデックス内の単語に重みを割り当てるための異なる式があります。これが、異なる検索エンジンで同じ単語を検索すると、異なるリストが生成され、ページが異なる順序で表示される理由の 1 つです。

    検索エンジンによって保存される追加情報の正確な組み合わせに関係なく、データはストレージ容量を節約するためにエンコードされます。たとえば、Google の元の論文では、重み付けに関する情報 (単語が大文字かどうか、フォント サイズ、位置、およびヒットのランキングに役立つその他の情報) を格納するために、それぞれ 8ビットの 2バイトを使用すると説明されています。各係数は、2 バイトのグループ化 (8 ビット = 1 バイト) 内で 2 ビットまたは 3 ビットを占める場合があります。その結果、大量の情報を非常にコンパクトな形式で保存できます。情報が圧縮されると、インデックスを作成できるようになります。

    インデックスの目的は 1 つです。インデックスにより、情報をできるだけ早く見つけられるようになります。インデックスを構築するにはさまざまな方法がありますが、最も効果的な方法の 1 つはハッシュ テーブルを構築することです。ハッシュ化では、式を適用して各単語に数値を付加します。この式は、所定の数の部門にわたってエントリを均等に分配するように設計されています。この数値分布はアルファベット全体の単語の分布とは異なり、それがハッシュ テーブルの有効性の鍵となります。

    英語には、多くの単語で始まる文字もあれば、少ない単語で始まる文字もあります。たとえば、辞書の「M」セクションは「X」セクションよりもはるかに厚いことがわかります。この不公平性は、非常に「人気のある」文字で始まる単語を見つけるには、あまり人気のない文字で始まる単語を見つけるよりもはるかに長い時間がかかる可能性があることを意味します。ハッシュにより差が平準化され、エントリを見つけるのにかかる平均時間が短縮されます。また、インデックスを実際のエントリから分離します。ハッシュ テーブルには、ハッシュされた数値と実際のデータへのポインタが含まれており、最も効率的に保存できる方法で並べ替えることができます。効率的なインデックス作成と効果的なストレージを組み合わせることで、ユーザーが複雑な検索を作成した場合でも、結果を迅速に取得できます。

    検索の構築

    インデックスによる検索には、ユーザーがクエリを作成し、検索エンジンを通じて送信することが含まれます。クエリは非常に単純で、少なくとも 1 つの単語にすることができます。より複雑なクエリを作成するには、検索条件を絞り込んだり拡張したりできるブール演算子を使用する必要があります。

    最もよく見られるブール演算子は次のとおりです。

    • AND – 「AND」で結合されたすべての用語がページまたはドキュメントに表示される必要があります。一部の検索エンジンでは、単語 AND を演算子「+」に置き換えます。
    • OR – 「OR」で結合された少なくとも 1 つの用語がページまたはドキュメントに表示されている必要があります。
    • NOT – 「NOT」に続く用語は、ページまたはドキュメント内に出現してはなりません。一部の検索エンジンでは、NOT という単語を演算子「-」に置き換えます。
    • FOLLOWED BY – いずれかの用語の後に、もう一方の用語が直接続く必要があります。
    • NEAR – 一方の用語は、他方の用語の指定された単語数以内にある必要があります。
    • 引用符– 引用符で囲まれた単語は語句として扱われ、その語句が文書またはファイル内に存在する必要があります。
    スポーツを探す

    検索エンジンは私たちの生活に不可欠な部分となっているため、少なくとも 1 つの組織化されたゲームがこのツールを中心に進化しています。 Googlewhackingでは、正確に1 つの結果 (これらの単語の両方が表示される 1 つの Web ページ) を受け取ることを期待して、 に 2 つの単語を入力します。これはまったくの衝撃です。

    これは非常に難しい作業です。まったく無関係な単語を 2 つ選択する必要があります。そうしないと、複数の結果が得られますが、完全に無関係な単語が多数あると、結果はゼロになります。

    純粋な打撃を達成した場合は、それを に提出することができます。その結果は、 The Whack Stackに (名前または自分自身を呼びたいものと一緒に) 掲載され、全員が見ることができます。現在、The Whack Stack にある純粋な 1 つの攻撃は、「両手利きのScallywags」です。

    未来の探索

    ブール演算子で定義された検索はリテラル検索です。エンジンは、入力されたとおりに単語または語句を検索します。入力した単語に複数の意味がある場合、これが問題になる可能性があります。たとえば、「ベッド」は寝る場所であったり、花が植えられている場所であったり、トラックの保管場所であったり、魚が卵を産む場所であったりします。これらの意味のうち 1 つだけに興味がある場合は、他のすべての意味を取り上げたページは見たくないかもしれません。不要な意味を排除しようとする文字通りの検索を構築することもできますが、検索エンジン自体がそれを支援できると便利です。

    検索エンジンの研究分野の 1 つは、コンセプトベースの検索です。この調査の一部には、興味のある他のページを見つけるために、検索する単語や語句を含むページの統計分析が含まれます。明らかに、各ページについて保存される情報は、コンセプトベースの検索エンジンの方が大きいです。検索ごとにはるかに多くの処理が必要になります。それでも、多くのグループがこのタイプの検索エンジンの結果とパフォーマンスの両方を改善するために取り組んでいます。自然言語クエリと呼ばれる別の研究分野に移った研究者もいます。

    自然言語クエリの背後にある考え方は、隣に座っている人間に質問するのと同じ方法で質問を入力できるということです。ブール演算子や複雑なクエリ構造を追跡する必要はありません。現在最も人気のある自然言語クエリ サイトは、キーワードのクエリを解析し、構築したサイトのインデックスに適用します。これは単純なクエリでのみ機能します。しかし、非常に複雑なクエリを受け入れることができる自然言語クエリ エンジンを開発するには、競争が激しいです。

  • 天気によってインターネット接続に障害が発生しますか?

    ワイヤレス インターネット テクノロジーは、おそらく過去 1 世紀で最も重要な発展の 1 つです。これにより、スマートフォン、コンピューター、ナビゲーション システムが無線でデータを受信できるようになります。しかし、インターネット技術は完璧ではありません。競合する無線信号、固体物、さらには異常気象など、あらゆる種類の干渉の影響を受けます。

    無線干渉を理解するには、まず衛星、無線機、基地局などのすべての送信機が超音波を送信し、受信アンテナで受信できることを知る必要があります。最良の結果を得るには、送信機は受信機と途切れることのない見通し線を必要とします。これが、携帯電話の塔が非常に高い理由であり、衛星ネットワークが軌道上のさまざまな点で複数の宇宙船を使用する理由です。

    ただし、現実の状況が理想的であることはほとんどありません。信号は、空気中の塵の粒子、木々、さらには家の壁などによって、デバイスに到達する途中で弱まります。電磁波はこれらの物体を透過するのが難しいため、信号が偏向してバラバラになり、カーラジオの静電気やインターネット上のデータ損失などの障害が発生します。

    データが失われると、トランスミッターはデータを 2 回以上送信するため、デバイスのダウンロード速度が低下します。

    悪天候時に信号が弱くなるのもこれが原因です。なぜなら、水、雲、雨、霧もばらばらになり、発信元と受信機の間の信号を偏向させるからです。

    気象が衛星信号に最も大きな影響を与える理由

    パラボラアンテナ

    衛星テレビとインターネットは、多くのユーザーにとって非常に便利です。同社の送信機は広いエリアをカバーするため、他のソースが利用できないエリアでも高速デジタル接続にアクセスできるようになります。ただし、衛星インターネットは、他の種類のインターネット サービスよりも悪天候時に発生する可能性が高くなります。

    衛星は空の上を周回しているため、頭上の雲が信号の潜在的な障壁になる可能性があります。晴れた日や曇りの日には、これはあまり問題になりませんが、 雷雨の場合は状況が変わります。大きくうねる雲は簡単に干渉を引き起こす可能性があります。データの受信が大幅に遅くなったり、一度に数分間完全に停止したりする可能性があります。

    インターネット接続に衛星に依存しなければならなかった場合は、おそらく天候による干渉を経験したことがあるでしょう。悪天候により、パラボラアンテナに氷が積もったり、強風でパラボラアンテナの位置がずれたりする可能性があります。嵐が治まった後も信号が戻らない場合は、これら 2 つの問題のいずれかが原因である可能性があります。

    残念ながら、嵐の間の衛星信号の損失については、それが終わるのを待つ以外にできることはあまりありません。気象干渉はテクノロジーによるものです。異常気象時に安定したインターネット接続が絶対に必要なデバイスをお持ちの場合は、別の送信方法をお勧めします。

    嵐は依然として携帯電話データに混乱をもたらす

    衛星通信と同様、4G および5G インターネット接続も大気中の湿気の侵入に問題が生じる可能性があります。ただし、携帯電話の塔は通常、クラウド層のかなり下にあるため、これはあまり問題になりません。

    濃い雨や霧の場合は、そうすることもできますが、タワーから数マイル離れている場合は、さらに状況が悪化する可能性があります。

    まれに、送信機自体が損傷し、オフラインになることがあります。

    携帯電話サービスに関しては、受信状態が悪い原因として永続的な要因が考えられます。木や高い建物などの物体は電波を遮る可能性があります。大きな水塊も大量の蒸気を放出し、信号を散乱させる可能性があります。通常、送信機までの距離が最も重要な要素です。これは、有効範囲が (457 メートル) しかない 5G 接続に特に当てはまります。

    携帯電話塔

    悪天候でも WiFi の信頼性が低下することはありません

    一般に、天候によってルーターから自宅のデバイスへの WiFi 信号の強度が変化することはありません。ただし、天候によっては、WiFi が使用するインターネット サービスが混乱する可能性があります。

    携帯電話の基地局と同様に、WiFi ルーターは、高品質の接続を提供する際、デバイスとデバイスまでの距離に大きく依存します。ルーターは強い信号を発しているかもしれませんが、信号がいくつかの壁を通って家の反対側に送信されると、信号ははるかに弱くなります。理想的には、WiFi トランスミッターは、障害物を最小限に抑えてすべてのデバイスから等距離に配置されます。しかし、現実的な条件が理想的であることはほとんどありません。

    また、WiFi 信号がデバイスに到達する途中で屋外エリアを通過する必要がある場合、空中の雨や霧がインターネット信号に影響を与える可能性があります。

    もちろん、コンサート会場や公共の公園などで「いいね」を使用する必要がある場合もあります。悪天候の場合、ホットスポットがダウンする可能性があります。

    WiFi の干渉に問題がある場合は、いつでもモデムに有線接続を実行できますが、それが便利になることはほとんどありません。ご自宅でもそうしたいかもしれません。迅速かつ簡単な解決策として、既存のルーターの通信範囲を効果的に拡張できます。

    今、それは興味深いです

    電波は 1880 年代後半にドイツの物理学者ハインリヒ ヘルツによって初めて発見され、無線通信に利用されるまでに時間はかかりませんでした。 1895 年に、イタリアは、これらの波を使用してモールス信号電報を空中に送信する機械の製造に成功しました。 1920 年代までに、ワイヤレス技術は世界中で広く採用されました。

  • Google Chrome ブラウザの仕組み

    ブラウザ ゲームでは、ソフトウェア開発者は競争力を維持するという名目で、最新かつ最高の追加機能をすべて組み込むために製品を常に更新してきました。クロムダークモードの追加と今では誰もがフォローして独自のバージョンを提供しているように。 2000 年代初頭に Mozilla のFirefoxの人気が高まった一方で、Microsoft のInternet Explorer が最も人気のあるブラウザの上位 2 位に留まり続けるには、ブランドへのロイヤルティと信頼も影響しました。しかし、Googleは別のアプローチをとっています。それは報われますか?

    2008 年 9 月、 Google は独自の Web ブラウザをリリースすることで、事業開始から最初の 10 年間に築いたブランドを活用し始めました。 Google の Chrome オペレーティング システムと同じ名前の Chrome ブラウザは、現在 Windows XP、 Vista 、7、Mac OS X、Linux (Gnome デスクトップと KDE デスクトップの両方) で利用できます。最初のブラウザのリリースと同時に、Google はオープン ソース プロジェクト Chromium を立ち上げ、Chrome を長期的に強化できるコミュニティへの貢献を奨励しました。

    統計によると、Google が最初の Google Chrome ブラウザをリリースして以来、Web ブラウザの使用に関する興味深い傾向が示されています :

    • Firefox は現在最も人気のあるブラウザですが、2008 年以来、Firefox ユーザーの数はある程度安定しています (42 ~ 47 パーセントの間で変動)。
    • Internet Explorer ユーザーの数は 2008 年以降着実に減少し、50% 以上から 24.9% まで低下しました。
    • Chrome ユーザーの数は 2008 年以来着実に増加し、2011 年 5 月には 25.9% に達し、第 2 位になりました。

    これらの数字は、Internet Explorer ユーザーの半数が Chrome に移行しているため、Firefox が第 1 位を維持している可能性を示唆しています。 Microsoft から Google へのブランド ロイヤルティの移行でしょうか? Firefox ユーザーも非常に忠実な集団ですが、最終的に Google がユーザーに移行を説得するかどうかは時間が経てばわかります。

    Google は、Google ブランドを誇示するだけでなく、Chrome がシンプル、高速、安全なブラウジング エクスペリエンスを誇ることをユーザーにすぐに保証します。ブラウザは、より大きな Google Chrome OS プロジェクトを代表するスタンドアロンの部分です。 Chrome OS は、ある意味、コンピュータのオペレーティング システム全体を Web ブラウザだけで置き換えます。したがって、ブラウザの外部でアプリケーションを使用するのではなく、ブラウザがローカルとインターネット上のすべてのアプリケーションへのポータルになります。 Chrome のこの OS 側の詳細については、記事「Google Chrome OS の仕組み」を参照してください。

    この記事では、Chrome ブラウザの利点と課題のいくつかを取り上げ、シンプルなインターフェイスと豊富な拡張機能とアプリの両方について簡単に説明します。まず、時計の針を Chrome の誕生まで戻し、その功績が認められるまでの道のりを見てみましょう。

    Google の Web に対する新しいアプローチ

     Google Chrome ブラウザの仕組み

    Google が2008 年に Chrome ブラウザを発表したとき、それは当時の 2 大ブラウザである Internet Explorer (IE) とFirefoxとは大きく異なりました。これらのブラウザ巨人は両方とも、ウィンドウの上部に、主題の検索、ページのリロード、ブックマークの管理、ページの印刷、および Web 使用中に実行する可能性のあるその他のアクションを実行するためのボタンとメニューを詰め込みました。これらのブラウザにさらに機能を追加して、ブラウジング エクスペリエンスをカスタマイズすることもできます。

    Chrome ブラウザでは、Google はブラウジング エクスペリエンスに対してまったく異なるアプローチを採用しました。 Google の Chrome に対するビジョンは、Web ブラウザを情報を見たり聞いたりする受動的な手段から、Web アプリに最適化された対話型ポータルに変えることでした。これを達成するために、Google は Chrome をより合理化し、ブラウザ自体に重点を置くのではなく、Web の能力に重点を置く必要がありました 。

    ウェブ ユーザーは、Google のホームページのシンプルさにすでに慣れ親しんでいました。Google のロゴが入った大きな白いページ、検索用語を入力するためのシンプルなテキスト ボックス、検索を開始するためのいくつかのボタンがあります。 Chrome ブラウザも同じシンプルさを反映しています。 Chrome には、Web ページ自体を含むウィンドウと 2 つのツールバーがあります。1 つは最もよく使用される 4 つのコントロール ボタン (戻る、進む、リロード、ホーム) を備えたアドレス バー、もう 1 つはよくアクセスするサイトへのリンクを管理するためのブックマーク バーです。 Chrome に組み込まれているメニューは、右端にある小さなレンチ アイコンを使用してアクセスできる設定メニューと、ツールバーに表示されていないブックマークの [その他のブックマーク] メニューだけです。

    最初の Chrome リリースからほぼ 3 年が経過したこの記事の執筆時点でも、Chrome はそのシンプルさを維持しています。また、IE と Firefox も独自のインターフェイスを簡素化するようになりました。 IE や Firefox と同様に、拡張機能をインストールすることで Chrome ブラウザに機能を追加できます。拡張機能については、後で、よりユニークな Chrome 機能である Chrome ウェブストアのアプリと合わせて詳しく見ていきます。 iPhone、iPad、Android モバイル デバイスにアプリをインストールするのと同じ方法で、Chrome ブラウザにこれらのアプリをインストールして使用できます。

    Chrome の主な目的は理解できたので、次はブラウザをユーザー エクスペリエンスに統合する方法を見てみましょう。

    Chrome ブラウザの基本

    Google Chrome ブラウザを初めて開くと、アドレス バーといくつかのリンクが表示されるだけで、すぐに使い始めることができます。すでに Web ブラウジングに慣れている場合は、Web アドレスを入力するだけでそこから移動できるでしょう。ただし、Chrome を使い続けると、次のような他の機能にも慣れる必要があります。

    • ナビゲーション ボタン— アドレス バーの左側にあるアイコンをクリックすると、前のページに戻ったり、バックアップしたページに進んだり、ページを更新したり、ブラウザのホームページに移動したりできます。
    • スターをブックマーク— Chrome でページをブックマークしたい場合は、アドレス バーの右端にあるスターをクリックします。選択を表す星が白から黄色に変わり、選択を確認する小さなダイアログ ボックスが表示され、名前とブックマーク フォルダーを変更できます。
    • ブックマーク バー— これは、ブックマークを保存できる 2 つの場所のうちの 1 つです。バーを使用すると、ワンクリックでお気に入りのサイトを高速に閲覧できます。ブックマークを保存するときに、フォルダーのリストから「ブックマーク バー」を選択して、ここにブックマークを追加します。 Chrome では、バー内のブックマークごとに、Web ページに関連付けられたお気に入りアイコンと、ブックマークに設定したタイトル (デフォルトでは Web ページのタイトル) が表示されます。
    • その他のブックマーク— これは、Chrome にブックマークを保存するためのもう 1 つのオプションです。ブックマーク バーにある不要なページをブックマークした場合は、代わりにそのページをこのメニューに追加できます。
    • 新しいタブ ボタン— タブ ブラウジングは、今日のほとんどの Web ブラウザの標準機能です。 1 ページしか開いていない場合でも、Chrome の上部にはお気に入りのアイコンとページのタイトルが表示されたタブが表示されます。開いているタブの右側にあるプラス記号 (「+」) の付いた新しいタブ ボタンをクリックすると、新しいタブを開くことができます。タブをクリックしてタブ間を切り替えるか、Shift キーを押しながら Page Up キーと Page Down キーを押してタブ間を切り替えます。
    • [設定] メニュー— アドレス バーの右端にあるレンチ アイコンをクリックして、 言語の変更などの追加の組み込み機能にアクセスします。これらについては後ほど詳しく見ていきます。

    他のブラウザと同様に、Chrome にはブックマーク マネージャーがあります。アクセスするには、[設定] メニューをクリックし、[ブックマーク マネージャー] を選択します。 Chrome は、Web ページであるかのように、別のブラウザ タブでブックマーク マネージャーを開きます。そこでブックマークを編集および削除するだけでなく、フォルダーを追加したり、ブックマークとフォルダーの両方をドラッグ アンド ドロップして階層に整理したりすることもできます。 Chrome では変更を保存するので、完了したらブラウザのタブを閉じてください。

    ブックマーク バーがいっぱいになると、Chrome の右側に二重矢印アイコンが表示されます。そのアイコンをクリックすると、空きスペースに収まらないブックマークが表示されます。スペースを節約するための役立つヒントは次のとおりです。ブックマーク バーにフォルダーを追加します。ブックマーク バーの下のフォルダーは、関連するブックマークのドロップダウン メニューになります。これにより、ブックマーク バーがいっぱいになることなく、ブックマークに簡単にアクセスできるようになります。

    以上が Chrome の基本です。 Google は、ユーザーが効率的にページ間を移動できるようにすることに重点を置き、インターフェイスを本当にシンプルに保ちました。しかし、単にブックマークを管理するだけではなく、ブラウザーにさらに多くの機能が必要な場合はどうすればよいでしょうか? Chrome には、必要な機能が組み込まれているか、アドオン機能として備わっている可能性があります。その設定メニューに隠れている組み込み機能を見てみましょう。

    Chrome を使用しているどこでもブックマークを同期しておく

    Google アカウントをお持ちの場合は、Chrome ブラウザを使用しているどこでもブックマークを同期しておくことができます。これまでこのオプションを使用したことがない場合は、[設定] メニューを開いてオプションを選択し、[個人情報] をクリックして、上部の [同期] セクションを使用してこの便利なブラウザ機能をカスタマイズします。同期はいつでも停止でき、同期する内容をカスタマイズできます。ブックマークの他に、アカウントを使用して環境設定、テーマ、拡張機能、アプリ、パスワード、Web フォームの自動入力データを同期できます。これは文字通り、Chrome を使用しているどこにいてもブラウジング エクスペリエンス全体を持ち運べ、Google パスワードを使用するだけでアクセスできることを意味します。セキュリティのため、共有コンピュータを使用している場合は自動入力とパスワードを同期しないでください。また、そのコンピュータから離れるときは必ず Google アカウントからログアウトしてください。

    Chrome ブラウザのその他の便利な機能

     Google Chrome ブラウザの仕組み

    Chrome のシンプルなインターフェースは、機能が不足しているという意味ではありません。 Chrome ブラウザが他に提供できるものを確認するには、[設定] メニューにあるいくつかの機能から始めましょう。

    • 新しいタブ/新しいウィンドウ —これらは他のブラウザでも見られるオプションです。 Chrome では、タブを現在のブラウザ ウィンドウの外にドラッグするだけで、既存のタブを新しいウィンドウに変えることもできます。
    • 新しいシークレット ウィンドウ閲覧しているページで Cookie が設定されたり、閲覧履歴に保存されたりしないようにするには、シークレット ウィンドウでページを開きます。シークレット ウィンドウは、タブの行の左側にトレンチ コートとフェドーラ帽をかぶった人のシルエット アイコンがあることを除いて、メインの Chrome ブラウザとまったく同じように見えます。 Chrome では、シークレット ウィンドウでも拡張機能が無効になります。
    • ズームと全画面 —ズームイン (「+」) およびズームアウト (「-」) することで Web ブラウザのコンテンツのサイズを調整でき、「100%」を選択するとページを通常のサイズに戻すことができます。彼らの間で。 Ctrl キーを押しながら =/+ キーと – キーを押すと、ズームインおよびズームアウトすることもできます。このズーム バーの右側にあるブロックを使用して全画面モードに移行し、F11 を押して全画面を終了します。
    • ブックマーク マネージャー/履歴 —これらは他のブラウザでも見られるオプションです。ブックマークを管理するときは、前に読んだいくつかのヒントを必ず覚えておいてください。
    • ダウンロード — Chrome にはダウンロード マネージャーが組み込まれています。新しいダウンロードごとに、ブラウザの下部に表示されるバーで進行状況を監視できます。ダウンロードが完了したら、右端の X を使用してこの進行状況バーを閉じることができます。ダウンロードの完全な記録を表示するには、この [ダウンロード] メニュー オプションを使用するか、進行状況バーに [すべてのダウンロードを表示] が表示されたときにリンクを使用します。 [すべてクリア] リンクを使用してリストをクリアできますが、コンピュータに保存されているものはすべて、デフォルトのダウンロード フォルダのスペースを占有していることに注意してください。
    • オプション/環境設定 —この選択項目の名前は、Chrome の実行に使用しているオペレーティング システムによって異なります。ブラウザ タブが開き、左側にメニューが表示され、右側にメニュー項目ごとに調整可能なブラウザ設定のセットが表示されます。これらの設定のほとんどは他のブラウザにあるものと似ていますが、後で Chrome に固有のいくつかの設定を詳しく見ていきます。
    • バックグラウンド ページを表示する —ブラウザで Web ページを開いている場合、そのページをアクティブに表示していないときでも、各ページで一連のプロセスが実行されている可能性があります。このオプションを使用すると、ブラウザと開いている各タブに関連付けられたバックグラウンド プロセスによって RAM と CPU がどのくらい使用されているかを監視できる小さなウィンドウが開きます。

    これらのオプションに加えて、「ツール」サブメニューにはいくつかのユニークな項目も表示されます。 「タスク マネージャー」は「背景ページの表示」オプションに相当し、「閲覧データの消去」と「ソースの表示」はほとんどの Web ブラウザーに共通です。残りの選択肢は、次のページで説明する拡張機能、アプリケーション、開発者ツールに関連します。

    Chrome ブラウザの拡張機能とアプリ

     Google Chrome ブラウザの仕組み

    拡張機能は、Web ブラウザにプラグインして、ブラウザ ソフトウェアのネイティブ部分であるかのように機能するように設計された追加機能です。上位 3 つのブラウザは、拡張機能に関する用語の使用方法が異なります。

    • Firefox では、ブラウザ内での役割に基づいて、これらを拡張機能またはプラグインと呼びます。
    • Internet Explorer ではこれらをアドオンと呼び、ツールバー、拡張機能、検索プロバイダー、アクセラレータ、追跡保護の 5 つのアドオン タイプに分類されます。
    • Chrome では単に拡張機能と呼ばれており、テーマとアプリは別々に分類されています。

    Chrome では、他のブラウザと同様に、拡張機能がブラウザの組み込み機能と連携して機能し、Web エクスペリエンスを向上させます。各拡張機能には特定の目的があるため、拡張機能の動作を確認する前にブラウザで特定のタスクを実行している可能性があります。たとえば、ショッピング アシスタント拡張機能を使用している場合、他の Web サイトで同じ商品を検索する価格比較バーは、競合他社で商品を購入しない限り、ブラウザ ウィンドウの下部に表示されません。サイト。

    拡張機能はブラウザ間で比較できることが多いですが、Chrome には他のブラウザがまだ真似していない独自のオプション、つまりアプリがあります。先ほど、Google の Chrome に関する主な目標の 1 つである、Web アプリケーションを実行するためにブラウザを最適化することについて説明しました。 Google は Chrome アプリでその目標をさらに一歩前進させます。現在、Chrome は Web アプリ用に独自の仮想コンピューティング環境を実行しており、Chrome アプリはその処理能力を利用しています。 Chrome アプリは、コンピュータやスマートフォンにソフトウェアをインストールするのと同じように、Chrome にインストールされて実行されます。

    Chrome アプリにアクセスするには、新しいブラウザー タブを開くだけです。 Chrome では、各新しいタブ ページに、インストールしたすべてのアプリへのショートカットが表示されます。これらのアプリのいずれかのアイコンをクリックして開始します。別の作業を行うためにアプリの使用を一時停止する必要がある場合は、タブを開いたままにし、いつでもクリックして戻ることができます。アプリの設定を調整するか、完全に削除する必要がある場合は、アプリの上にマウスを移動して強調表示し、その強調表示ブロックの右上に表示されるレンチ アイコンをクリックします。

    では、Chrome アプリと拡張機能はどこから来たのでしょうか?次のページまで読んで確認してください。

    Chrome ウェブストアと開発者ダッシュボード

    Google は、Android スマートフォンやタブレット用のアプリをダウンロードしてインストールできる Android マーケットを提供しています。 Chrome ウェブストアは、Chrome アプリの Android マーケットに相当します。 Chrome ウェブストア (chrome.google.com/webstore) にアクセスして、Chrome 拡張機能、アプリ、テーマを検索してダウンロードします。無料のコンテンツのみをダウンロードする場合でも、Chrome ウェブストアを使用するには Google アカウントにサインオンする必要があることに注意してください。

    拡張機能やアプリのほかに、Chrome ウェブストアでは Chrome テーマも見つけることができます。コンピューターのデスクトップ テーマと同様、Chrome テーマはインターフェイスの外観を変更します。ほとんどの Chrome テーマには背景画像があり、新しいタブ ページを表示している場合を除き、ほとんど非表示になります。ブラウザをデフォルトのテーマにリセットする必要がある場合は、「設定」に移動し、「オプション」を選択し、「個人情報」をクリックして、「デフォルトのテーマにリセット」ボタンを使用します。

    Google は、Chrome デベロッパー ダッシュボード (chrome.google.com/webstore/developer/dashboard) を通じて拡張機能とアプリの開発を一般公開しました。開発者になるには、Google アカウントでサインインし、開発者ダッシュボードの手順とリンクを使用して開発者アカウント情報を追加します。 Chrome 開発者は、拡張機能、アプリ、テーマを作成して Chrome ウェブストアに公開できます。

    Google は Chrome ブラウザ自体の安定性と信頼性を高めるよう努めていますが、コミュニティが提供する Chrome ウェブストアのコンテンツを評価する主な手段はユーザーのフィードバックです。そこで買い物をするときは、ダウンロード ボタンをクリックする前にレビューを読んで、何が期待できるかを確認してください。また、新しいコンテンツをダウンロードして使用した後は、独自のレビューを投稿することも検討してください。

    Chrome ブラウザがクラッシュしたり、ハングしたり、その他の不正動作が発生した場合は、使用している拡張機能、アプリ、テーマが原因かどうかを検討してください。機能しないコンテンツは遠慮せずに無効化または削除してください。開発者の改善を支援したい場合は、あなたの経験を彼らに知らせてください。多くの開発者は、Chrome ウェブストアのコンテンツのメイン ページにアプリ サポート リンクを追加することで、この直接的なフィードバックを歓迎しています。

    この時点で、Chrome ウェブストアから入手できる豊富な追加コンテンツなど、Chrome の主な機能と利点をすべて読んだことになります。次に、方向を変えて Chrome の速度を見てみましょう。

    Google Chrome の中には何が入っているのでしょうか?

    Chrome ブラウザの開発側に携わることにした場合、または Chrome と互換性を持たせるために Web サイトを変更する場合は、ブラウザの構造についてもう少し詳しく知りたいと思うでしょう。まず、Chrome は、オープンソースの Web ブラウザ エンジンであり、Safari Web ブラウザや他のいくつかの Mac OS X アプリケーションで使用されるフレームワークである WebKit に基づいて構築されています。 Chrome の有名な高速化は、他の JavaScript インタプリタよりも優れた V8 JavaScript エンジンによるものです。バージョン 12 以降、Chrome はローカル コンピュータ上のファイルを操作するための File API など、Web 開発に HTML5 標準を利用し始めています 。 Web 開発者の観点から見た Chrome の魅力について詳しくは、Web 開発者向けの FAQ をご覧ください。 Web 開発者が Chrome を使って行っている素晴らしいことについては、「」をチェックしてください。

    Chrome がブラウジング速度をどう変えたか

     Google Chrome ブラウザの仕組み

    シンプルさと拡張性を超えて、Chrome ブラウザの最も高く評価されている利点はその速度です。ブラウザはインターネット接続を高速化することはできませんが、アクセスする Web ページの読み込み作業を高速化することはできます。 2010 年の広告キャンペーンで、Google はいくつかの創造的な手作りの装置を使用して、ブラウザの速度を音波、稲妻、ジャガイモ銃の速度と比較して、これを実証しました。いずれの場合も、ブラウザのページの読み込み速度は、機械が瞬間的なタスクを実行する速度と同じくらい (またはより速く) 実行されました。

    Chrome の速度が大幅に向上したのは、V8 JavaScript エンジンによるものです。 JavaScript (Java プログラミング言語と混同しないでください) は、Web ページがブラウザの処理能力を活用できるようにする、ページのコードに追加されるスクリプト言語です。たとえば、Web ページでは JavaScript を使用して、マウスを画像の上に移動したときに特定のメニューを表示したり、フォームに入力したデータを送信したりできます。 JavaScript は現在 Web で非常に広く使用されているため、ほぼすべてのブラウザーにコードを実行するための何らかの JavaScript エンジンが組み込まれています。

    Web ページを読み込むと、Web ページに関連付けられた JavaScript が読み込まれます。したがって、ブラウザがページをすばやく読み込むには、舞台裏で動作する高速な JavaScript エンジンが必要です。 V8 JavaScript エンジンは、あらゆる Web ブラウザで利用できる最速の JavaScript エンジンであると報告されています。 V8 は、Chrome で使用するために C++ で書かれたオープン ソース エンジンです。 V8 に関するビデオの中で、Google エンジニアの Lars Bak は、プログラマーの観点から V8 が他の JavaScript エンジンよりも高速である理由を説明しています :

    • V8 では、各 JavaScript オブジェクトを独自の個別のクラスを持つものとして扱うのではなく、それらのオブジェクト間の共通プロパティを識別する非表示クラスを追加します。
    • V8 は JavaScript コードをマシンコードに変換します。コンピュータのプロセッサはマシンコードを直接読み取ることができます。この手順を行わないと、Web ページ上でスクリプトを実行するたびに、ブラウザは JavaScript の各部分をマシンコードに変換する必要があります。
    • V8 はガベージ コレクションが優れています。つまり、1 つのタスクでメモリの使用が終了すると、そのメモリを別のタスクでより適切に再利用できるようになります。

    V8 の速度に関する Google の主張に懐疑的な場合、または実際の速度向上を確認したい場合は、http://v8.googlecode.com/svn/data/benchmarks/current にアクセスして自分でテストできます。 /run.html。 Web ページを開くとすぐに、ブラウザは Web ページの使用時に発生するバックグラウンド プロセスをシミュレートする一連のタスクを実行します。 Chrome 開発者は、ブラウザ間で JavaScript エンジンの速度を比較できるように、V8 Benchmark Suite として知られるこれらのテストを公開しました。並べて比較するには、Chrome および 1 つ以上の他の Web ブラウザ (Firefox、IE、Safari など) で V8 ベンチマーク スイートを開き、スクリプトの実行が終了したときの数値結果を比較します。

    Chrome の高速性の理由はわかったところで、Chrome には他にどのような利点があるでしょうか?次に、オンライン中の安全を守るために Chrome ができることを見てみましょう。

    Chrome ブラウザのセキュリティ

    未知の Web を閲覧している場合、Web ブラウザに備えておくとよい機能の 1 つはセキュリティです。おそらく、ブラウザーが許可なく個人情報を共有することを望まないでしょう。また、悪意のある Web サイトに遭遇した場合にブラウザに保護してもらいたい場合もあります。

    Google は、検索エンジンとしての機能を活用して、セーフ ブラウジング テクノロジーを開発しました。セーフ ブラウジングは、アクセスしているサイトにマルウェアやフィッシングが含まれていることを Chrome が検出した場合に、自動的に警告を発します。他の Web ブラウザも同様の保護手段を提供していますが、Google のように常に更新される Web ページとそのコンテンツに関する膨大なデータベースを備えていません。 Web の危険性の詳細については、記事「 スパイウェアを回避する方法 」および「 フィッシングの仕組み 」を参照してください。

    もう 1 つの Chrome セキュリティ機能はサンドボックスです。サンドボックスとは、プロセスを独立したスペースに分離して、それらが個別にどのように機能するかを確認することを意味する専門用語です。 Chrome は、ワークロードを 1 つの大きなブラウザ プロセスの一部としてではなく、一連の複数のプロセスとして処理します。 Web ページを開くたびに、Chrome は 1 つ以上の新しいプロセスを起動して、そのページ上のスクリプトを実行します。また、各 Chrome 拡張機能とアプリは独自のプロセスで実行されます。 Chrome は、マルチプロセス アーキテクチャを通じてサンドボックスを実装します。 [設定]、[ツール]、[タスク マネージャー] の順にクリックすると、Chrome が実行している各プロセスのリストを表示できます。

    サンドボックスのセキュリティ上の利点は、Chrome がこの機能を Windows に実装する方法によってもたらされます。 Chrome は、Windows XP、Vista、および Windows 7 の各プロセスのアクセス トークンを制御します。これらのオペレーティング システムでは、プロセスのアクセス トークンにより、そのプロセスはファイルやレジストリ キーなど、システムに関する重要な情報にアクセスできます。 Chrome はブラウザから起動されたプロセスから各アクセス トークンを傍受し、そのトークンを変更してその情報へのアクセスを制限します。

    そのため、Windows では、Chrome のサンドボックスは、マルウェアをインストールしたり、個人情報をキャプチャしたり、ハード ドライブからデータを取得しようとしたりするWeb ページをブロックするのに役立ちます。また、ブラウザーの 1 つのタブで開いているページが他のタブでの動作に影響を与えることも防ぎます。ただし、サンドボックスの欠点は、すべてをキャッチできるわけではないことです。サンドボックス化されたプロセスでも、安全性の低いファイル システムにアクセスできる可能性があります。また、Windows にネイティブではないゲームやチャット プログラムなどのサードパーティ製ソフトウェアによって管理されるレジストリ キーやファイルの保護も行われない可能性があります 。

    これらのアクティブなセキュリティ機能に加えて、Chrome の自動更新により、ブラウザは定期的に独自のセキュリティ アップデートを確認します。セキュリティ アップデートにより、ソフトウェアの既知のバグを悪用する可能性のある Web サイトに対してブラウザが脆弱ではなくなります。最新のアップデートが利用可能になったときにインストールするよう求める IE や Firefox とは異なり、Chrome は操作を必要とせずに自動的にアップデートされます。

    ここまで、速度とセキュリティにおける Chrome の利点と、Web アプリケーション用にブラウザを最適化するという Google の目標について説明しました。次に、Chrome の基本を拡大して、このブラウザが実際にどれだけシンプルであるかを見てみましょう。

    Chrome ブラウザのマイルストーンと課題

     Google Chrome ブラウザの仕組み

    2008 年の最初のリリース以来、Chrome のレビューのほとんどは、そのスピード、シンプルさ、そして Web 中心のクラウド コンピューティングの世界への対応力について絶賛していました。非常に多くの優れた機能が搭載されている Chrome に欠点はあるのでしょうか?

    スライスしたパン以来、最も熱いものであっても、必ずしもより良いサンドイッチができるとは限りません。 Chrome はいくつかの課題に直面しています。最も一般的な問題の 1 つは、Web サイト開発者や Web アプリケーション プログラマーにサイトと Chrome の互換性をテストさせることです。 Chrome を互換性テストから除外することは、ブラウザがまだ新しく、Web ユーザーのシェアがはるかに小さかった 2009 年には理にかなっていました。しかし現在、Chrome が市場の 4 分の 1 以上を占めているため、開発者は徐々に Chrome を優先し始めています。この記事の執筆時点では、別のブラウザではなく Chrome を使用している場合、適切に表示されなかったり、ブラウザの互換性について警告が表示されたり、読み込みをまったく拒否したりするサイトがまだたくさんあります。

    Chrome の開発者はあらゆる脆弱性に迅速に対処していますが、ブラウザは依然として機能を備えて真価を発揮しつつあります。たとえば、Chrome はつい最近、基礎となるプログラミング インターフェイスとして自社開発プロジェクト Gears を段階的に廃止し終えたばかりです (代わりに、より広く認知されている HTML5 標準を優先しています)。また、Chrome アプリと Chrome ウェブストアはまだ新しいもので、その成功や Chrome をブラウザの人気トップの座に押し上げる役割を予測する方法はありません。

    最後に、Chrome のシンプルさは一部のユーザーにとっては諸刃の剣になる可能性があります。シンプルさは、ブラウジングにすっきりとした整然としたインターフェイスを求めるユーザーにとって利点です。ただし、インターフェイス内の予測可能な位置に特定のツールバーやボタンを配置することに慣れている、技術に詳しくない人にとっては、これはそれほど素晴らしいことではありません。これは Chrome の潜在的な欠点のように思えますが、IE と Firefox がよりシンプルなインターフェースを目指す傾向に従っているという事実は、これがほとんどのユーザーにとって重要な懸念事項ではないことを示唆しています。

    この記事では、Chrome ブラウザの革新的な機能、他の Web ブラウザと比較した利点、および Chrome ブラウザが直面する課題について説明してきました。 Chrome により、 Google はブラウザ設計のトレンドセッターとなり、ブラウジングのパフォーマンスに高い基準を設定しました。 Chrome が今後どうなるのかを確認する準備ができている場合は、次のページに進み、Google Chrome ブラウザに関する詳細情報をご覧ください。

  • Instagramの仕組み

    Instagram は、ソーシャル ネットワーキング アプリケーションと、撮影した写真をパーソナライズするための使いやすいフィルターやオプションを組み合わせたスマートフォン用の写真共有アプリケーションです。写真共有サイトの世界にはこれまでも強豪が何人かいたが、なぜ Instagram が王座を独走したのかを理解するのは難しいことではない。Instagram は、携帯電話のカメラの標準が品質と同等かそれを上回り始めたちょうどその時に大きくなり始めたのだ。通常のデジタルカメラの場合。そして今では、朝食用の食べ物の芸術的な写真が 6 枚も並んでいるのをスクロールせずに Facebook フィードを閲覧することはできません。ありがとう、インスタグラム!

    15 年前の写真を想像してみてください。カメラにフィルムを入れ、写真を撮り、現像して、スキャンしてオンライン コレクションやソーシャル ネットワーキング サイトにアップロードする方法を見つけます。フィルムメーカーやカメラメーカーが時代に追いつくために、このプロセスの各部分は時間の経過とともにアップグレードされました。しかし、携帯電話のカメラの改良と、サイト、アプリ、ガジェットの統合に向けた Web 2.0 の移行の間に、使いやすく、迅速にアプリをワンステップでアップロードできる空のニッチ市場が作られました。

    写真を撮るための 2 つ目のガジェットの有用性が突然低下しました。同時に、高品質の写真をソーシャル サイトに即座にアップロードすることが統合されているという事実は、最近では必須となっていたいくつかの手順を省略できることを意味しました。それに加えて、アプリのフィルタ システムの賢さにより、アップロードする前に写真をさまざまなわかりやすい方法で編集したり加工したりすることができ、かつては時間のかかる趣味だったものが、ほぼ瞬時に簡単なアクティビティになります。 。

    iPhoneの登場から 6 か月後、Instagram のユーザー数は 500 万人に達し、文化的に大きな話題を呼びました。 Android 向けのフォローアップ リリースはその人気に基づいて構築され、初日には 100 万人のユーザーに達し、その週が終わる前に 500 万人のユーザーに達しました。 (2012 年 8 月の時点で、このアプリを Blackberry、Windows Phone 7、iPad、その他の OS やアプライアンスに導入する計画はまだ進行中です )。

    純粋主義者は常にデジタルカメラ、さらにはフィルムカメラを持ち続けるでしょう。しかし、残りの私たちにとっては、Instagram の驚異的な成功を見ればわかるように、高品質の写真を簡単に撮って共有できるようになり、最も大切にしている思い出を保存し共有する方法に革命が起きました。この記事では、Instagram がどのように機能するかを見て、その成功について詳しく説明します。

    Instagramアカウントのセットアップ

    無料の Instagram アプリを携帯電話にダウンロードし、 FacebookTwitterなどの選択したソーシャル ネットワーキング サイトにリンクした後、設定を確認する必要があります。完璧な瞬間を見つけて共有したいときは、基本的なことをいじることに時間を費やしたくないので、アプリを使用する可能性が最も高い時間と状況についてよく考えてください。

    メインの写真画面には、フロント/リアカメラ、ポートレート/ランドスケープ設定、さまざまなフラッシュオプションという 3 つの主要な切り替えオプションが 1 つのボタンからすぐにアクセスできます。これらは、場所や被写体との距離に応じて頻繁に変更することになるため、メイン インターフェイスで利用できるようになります。

    ここで考慮すべき設定の 1 つは、デフォルトの「パブリック」ユーザーにするか、「プライベート」ユーザーにするかです。後者を選択した場合、ショットを OK するたびに、公開フィードに掲載するかどうかを尋ねられます。人々があなたのフィードに反応したときに、Facebook スタイルで通知を受け取る方法を選択することもできます。

    パブリック ユーザーであるかどうかに関係なく、他のユーザーに接続してフォローすることができます。このサービスでは、興味のあるキーワード (「編み物」など)、Facebook または Twitter のリスト、携帯電話の連絡先、さらにはアプリが自動的に提案する人気ユーザーを介して、サービス上で友達を自動的に見つけるために利用できる検索オプションがあります。

    最後に、Instagram は、 Foursquare 、Yelp、Facebook Places などの位置情報ベースのアプリに参加することを約束しているため、写真をアップロードするときに、エクスプロイトの地図上に写真を自動的に表示するか、それとも単に表示するだけかを決定する必要があります。特定のユーザー。今日のオンラインの世界ではプライバシーのニーズは人それぞれ異なりますが、Instagram には誰にとっても選択肢があります。

    Instagramアプリの使用

     Instagramの仕組み

    ホーム画面には、Tumblr や Flickr のフィードと同様に、友人の写真のフィードが常に表示され、コメントしたり「お気に入り」にするオプションが付いています。また、特定のユーザーの他の写真を確認したり、関係設定を変更したり、ユーザーが他に何をしているかを確認したりすることもできます。

    Explore 画面 (コンパス ローズ) には、Instagram 全体からさまざまな公開写真が、全画面写真ではなく小さなアイコンで表示されます。ここは、興味のある写真やユーザーから別の写真やユーザーに移り、気になったものを追って始めるのに楽しい場所です。

    ニュース画面 (吹き出し内のハートマークで表されます) には、フォローしているユーザーのすべてのアクティビティ (いいね! した写真、フォローしている新しいフィードなど) が表示されます。モバイル アプリのFacebook タイムラインと同様に、これらをフォローして、興味のあるものがあるかどうかを確認できます。これは、Instagram のソーシャル ネットワーキングが行われる画面であり、コミュニティの一員になることに興味がある場合、また、フォロワーやメッセージを監視する画面でもあります。

    プロフィール画面 (右下にあるテキスト メッセージ ボックスの記号を探してください) は、設定やプロフィールを変更したり、写真を確認して携帯電話にダウンロードしたり、写真マップを確認したりするための場所です。いくつかの直感的なメニューと同様に、写真を積極的に撮ったりニュース ストリームを閲覧したりしていないときに、この画面を操作するのが最も楽しい画面になっています。

    メイン画面で「クリック」をクリックすると、ショットをフィルターしたり、削除したり、公開フィードまたは非公開フィードに自動的にアップロードしたりするオプションが表示されます。この時点で、他のネットワーキング サービスへの接続が開始されます。画像自体は後で使用できるように Instagram クラウドに保存されますが、サービスは画像の 1 回限りのプッシュスルーもサイトに送信し、指定したアプリケーション。アプリ自体、つまりスマートフォン上のプロフィールには、承認したサイトのログイン情報とパスワードが保存されるため、プッシュは自動的に行われるように見えます。

    もちろん、携帯電話とサードパーティのサイトやアプリの間、またはサーバー自体に障害が発生した場合、またはその間にパスワードを変更した場合は、いくつかの問題が発生する可能性があります。 Instagram プロフィールを更新してこれらの接続を含めた後、いくつかのテストショットを試して、それらの画像がプッシュされたときにどのように見えるかを確認することをお勧めします。設定がオフの場合、他のアカウントに公開するときにサイズや方向の問題が発生する可能性があります。 Instagram が特定のネットワークに自動的に公開できない場合は、ログインとパスワードを再確認して、アプリのすべての権限と接続が正しく設定されていることを確認してください。

    写真を撮る: フィルターをかけるか、かけないか?

    スマートフォンのカメラのポイント アンド クリックの性質は Instagram の人気の大きな部分を占めていますが、Instagram にさらなる魅力を与える組み込みの魅力もいくつかあります。フィルタの中には、人々が執拗に使用するほど魅力的なため、決まり文句になっているものもあります。他のものはもっと受動的で、単にあなたが撮った写真を強化するだけです。デジタル写真には常に「特殊効果」が利用できましたが、Instagram ではこれを完全なレベルに引き上げています。

    今では、Instagram ユーザーとそのフィルターについて、アプリをダウンロードした瞬間に誰もが自分をアーティストだと思うという気の利いたジョークのようなものになっていますが、その裏には少しだけ真実があります。それにもかかわらず、とにかく誰もがそうしているのです。覚えておくべきことは、ポストアナログの世界で生きるということは、アナログ制作の効果にはまだ意味が含まれているということです。

    それはどういう意味ですか?そうですね、ビニールレコードのチクチクする音や、両親の古いアルバムにある色あせた写真のことを考えてください。それらの効果は、それらが物理的に生成された方法の成果物ですが、私たちがそれらを経験する方法の一部でもあります。派手な帽子をかぶって「昔」のふりをするステート フェアの写真は、いつもセピア色ですよね。もしそれらの写真がデジタルで完璧だったら、あなたはかなり愚かに見えるでしょう?あるいは、スタートレックのような映画の「レンズ フレア」効果はどうでしょうか?

    それらは、単に物理的プロセスの物理的な残骸であること以上に、何か別の何か、それ以上の何かを意味する効果です。 Instagram でも同じことが言えます。写真の老化フィルターやクレイジーな光の効果を追加することは、単に写真の言語を追加することであり、キャプチャしている記憶の別の次元となります。ビーチでの晴れた日は、あなたにとって力強いものです。それは保存されるのはあなたの記憶だからです。しかし、その写真にフィルターを賢く使用すると、たとえその場にいなかったとしても、その写真を見た他の人に同じ感情を呼び起こすことができます。

    その他の Instagram のトリックとヒント

     Instagramの仕組み

    Instagram は、ほとんどの携帯電話の画像アプリと同様に、フィードの写真をクラウドにキャッシュするため、インターネットに接続されていないコンピューターなどでオフライン アクセスしたり、飛行中に携帯電話で閲覧したりするために写真をダウンロードする必要がある場合があります。このサービスを使用するとこれが簡単になりますが、自分の写真に限ります。また、写真をFacebook タイムラインに自動的 (または半自動的) アップロードすることで、そこでも利用できるようになります。

    しかし、特別な用途や Instagram との接続を備えたサイトは、通常のソーシャル ネットワークだけではありません。 Postagram は、Instagram の写真を本物のポストカードに変えて郵送してくれる、約 1 ドルのダウンロード可能なアプリです。 Instamap は、 iPadで写真マップを探索する機能を含む、Instagram の写真マップ表示の拡張バージョンを作成する有料アプリです。 Wordfoto は、言葉と写真を組み合わせて、非常に美しい芸術作品を作成します。また、利用可能なサードパーティ製アプリが役に立たない場合でも、Instagram API (アプリケーション プログラミング インターフェイス) が常にあります。これは、同社のミッション ステートメントに忠実であり、自分でアプリケーションを開発する際に使用できます。

    そのオープンソース機能のおかげで、インスタグラムが写真共有で最大の取引を行っている限り、アプリケーションは無料と有料の両方で登場し、アップグレードされ続けるだろう。そして、2012年半ばにFacebook自体が同社を10億ドル近くで買収したことを考えると、それは長い時間になるかもしれない。ほとんどの技術者はこれを競合に勝つためのMicrosoft流の動きだと呼んでいるが、Facebookが位置情報や日付スタンプを含む写真とタイムラインの概念を統合することにどれだけ重点を置いているかを考えれば、それは当然だろう。

    その一方で、最高のコードと製品を使用するのが最善であり、利益バブルの中でも Instagram が確実なもののように思えたでしょう。いずれにせよ、私たちのほとんどが現在 Instagram と Facebook を併用していること、そしてユーザーが猛烈な勢いで増加し続けていることを考えると、これは自然な組み合わせのように思えます。買収によってサービスが著しく変更されない限り(2012年8月までは変更されていなかった)、2つのサービス間の簡素化されたインターフェースを超えて、ユーザー側でInstagramに何らかの変更が加えられるかどうかは疑わしい。 (現金の流入のおかげで) 実験できるオプションとフィルターが増えました。

    確かなことは、誰かの聡明な若いイノベーターが、私たちの世界を記録して共有することに対する私たちの習慣や興奮を、さらに優れた、あるいはより斬新な方法で利用する方法を見つけるか、あるいは、ある瞬間をオンライン体験に変換することを何らかの形でより簡単にする方法を見つけるまで、私たちは「みんなインスタグラムを使い続けるよ。人気と最近の現金流入の間で、このアプリはおそらく長期にわたって存在し続けるでしょう。

    著者のメモ

    私は、写真やビデオを撮るなど、その瞬間を記録しようと考える人間ではありませんでした。一部の人にとって、それは「あの人」になることへの恐怖なのかもしれませんが、私にとってそれはむしろ集中力の問題です。思い出を簡単に記録したり共有したりできるものなら何でも、喜んで調べていきます。この記事で使用するアプリについて学ぶ過程で、私自身もかなり熱心なユーザーになったと言えることを嬉しく思います。

  • Google Loonの仕組み

    最近ではほとんどの人がインターネットを利用しているというのが一般通念ですが、これは文明の片隅でのみ当てはまります。 2015 年末の時点で、まだ約 40 億人がインターネットにアクセスできません。その多くは、インターネットのインフラがまだ整備されていない地域や、通信範囲が不十分または法外に高額な地域に住んでいます。

    多くのハイテクへの取り組みで有名な Google は、高速インターネット接続を大衆に提供するための複数のプロジェクトを進行中です。彼らの Google Fiber プロジェクトは、光ファイバーを使用してギガビット サービス (私たちが慣れ親しんでいる接続速度よりもはるかに速い) を提供することを目的としており、そのプログラムの試験運用が米国のいくつかの地域で行われています。しかし同社には、基本的な高速インターネットを、それが普及していない地域に提供することを目的とした別のプロジェクトがある。そしてこのプロジェクトでは、私たちがローテクだと思っているもの、つまり風船を使用しています。

    このプロジェクトは、気球を使用することと、その響きが奇抜に聞こえるため、適切に「Project Loon」と名付けられました。 Googleの計画は、雲の上の成層圏に浮かぶ機器を積んだ気球を介して無線ネットワークを構築することだ。気球は相互に通信したり、地上のネットワーク機器やモバイル デバイスと通信したりして、地上の人々を接続します。

    Project Loon は、自動運転車、Google Glass、コンピューティング コンポーネントを備えたコンタクト レンズなど、クレイジーなサウンドのプロジェクトで知られる Google X labs から生まれました。しかし、プロジェクト ルーンは奇妙に聞こえるかもしれませんが、このプログラムの有望なテストは成功しています。

    Google アビ風船

     Google Loonの仕組み

    プロジェクト ルーンの気球は、高高度の極限状態ではうまく機能しない典型的なパーティー用気球とは異なります。パーティーバルーンには多くの装備を運ぶことができません。 Google Loon チームは、気圧差、強風、紫外線、高地では氷点下になることも多い極端な気温などの厳しい大気条件に耐えるように設計された、気象気球に近いものを開発しました。つまり、これまでに開発された気球よりもはるかに長く空中に留まることができるということだ。さまざまな気球モデルには、ファルコン、アイビス、グラックル、そして最近ではナイトホークなど、鳥にちなんで愛称が付けられています。

    風船はサンドイッチ袋ほどの厚さのポリエチレンプラスチックでできています。膨張した各バルーン (バルーンの「エンベロープ」と呼ばれる部分) は、幅約 50 フィート x 高さ 40 フィート (幅 15 メートル x 高さ 12 メートル) で、表面積は約 5,381 フィート (500 平方メートル) です。そのサイズのため、カリフォルニアのモフェット連邦飛行場にあるグーグルのレンタルスペースなど、巨大な格納庫で作業する必要がある。

    風船には 2 つの部屋 (風船の中の風船のようなもの) があり、内側には空気が満たされ、外側にはヘリウムが満たされています。風船の底に取り付けられたバルブとファンを使用して、空気を送り込んだり送り出したりできます。内側の風船に空気を加えると質量が増えて風船は下がり、空気を抜くと上がる。

    プロジェクトの初期の気球の多くは割れたり、長く空中に留まらなかったりしました。チームは問題を分析し、改善を図るために多大な努力を払ってきました。 Googleは、気球飛行、航空宇宙、繊維、その他の分野の専門家に協力して失敗の理由を調査し、落下した気球(時には手の届きにくい場所に落ちた)を回収するために元軍人を雇った。

    テストの一部は、気球が大気圏で直面する可能性のある極限状態で実施されています。気球の製造拠点の一つであるサウスダコタ州では、ある時点で気温が偶然にも氷点下まで下がった。最近の試験はフロリダ州エグリン空軍基地のマッキンリー気候研究所で行われ、制御された実験室環境で気球を強風や氷点下のような極端な気象条件にさらすことができた。

    故障の多くは、検出が困難な小さな漏れが原因であることが判明しました。ピンサイズの最も小さな穴でも、気球の滞空時間は大幅に短縮されます。この発見により、縫い目が強化され、チームメンバーは非常に柔らかい毛羽立った靴下のみを履いて風船の上を歩くなど、より慎重な風船取り扱いプロトコルが実施されました。

    Google の取り組みは、自社プロジェクトの実行可能性を向上させるだけでなく、プロジェクト自体の拡大にも画期的な進歩をもたらしました。設計の改良により、気球は約 100 日間浮かんでいるようになりました。 187日間記録を維持し、地球を9周した人もいます。これは前代未聞の飛行時間であり、一部の専門家は不可能だと考えています。

    Loon チームは、プロジェクトの開始以来、展開プロセスも大幅に改善しました。以前は乗組員が気球を防水シートの上に広げ、打ち上げ前に包装を解いて部分的に膨らませる必要があり、風速が時速 6 マイル (9.7 キロメートル) 以下の場合にのみ打ち上げることができました。しかし Google は、風船を伸ばして充填するための自動クレーンを備えた高さ 50 フィート (15.2 メートル) のポータブル格納庫、オートランチャー (社内ではバード ハウスと呼ばれています) を開発しました。現在では時速 15 マイル (24 キロメートル) の風でも打ち上げることができ、以前は 14 人で 45 分かかっていた作業が 4 人で 15 分で完了します。これらの改善により、ネットワークを形成するのに十分な量の気球を浮かせておくことがより実現可能になります。

    グーグルルーン電​​子機器

     Google Loonの仕組み

    もちろん、Google だけが風船を飛ばしているわけではありません。各気球には電子機器が入った金属製のボックスがあり、電源用のソーラーパネルが取り付けられたコードを介して底から吊り下げられています。

    各ソーラー パネルは、プラスチック ラミネートに包まれた単結晶太陽電池のアレイであり、幅約 5 フィート x 5 フィート (1.5 メートル x 1.5 メートル) のアルミニウム フレームに保持されています。このような 2 つのパネルは、風船が回転するときに太陽光を最大限に捉えるために、鋭角で互いに外側に向けて取り付けられています。昼間の数時間で約 100 ワットの電力を生成します。電力はバッテリーに蓄えられるため、暗闇でも装置は動作し続けます。

    電子ペイロードには、すべてを制御するコンピューティング機器、太陽から集めた電力を蓄える充電式リチウムイオン電池、気球の位置を追跡する GPS ユニット、Google が大気の状態を監視できるようにする数十個のセンサー、他の気球と無線通信するための無線機器が含まれます。地上ベースのネットワークを使用します。無線機器には、広範囲をカバーする eNodeB LTE 基地局、高速指向性リンク、バックアップ無線が含まれます。

    Google によると、各気球によって提供される接続は地上の直径約 25 マイル (40 キロメートル) のエリアをカバーし、数百人が同時に気球に接続できる可能性があるとのことです。 Loon チームはまた、プロジェクトの開始以来、データ レートを 10 倍に増加させました。

    仕事中の Google Loon

     Google Loonの仕組み

    地球の大気の最初の層は対流圏であり、私たちが住んでおり、ほとんどの天候が発生する場所です。気球は成層圏と呼ばれる次の層に浮かびます。成層圏の下端は、地表から上空 4 ~ 12 マイル (6 ~ 20 キロメートル) の間で始まり (極が最も低く、赤道が最も高い)、成層圏の上端は上空約 31 マイル (50 キロメートル) で終わります。地球。 Loon 気球は上空 11 ~ 17 マイル (18 ~ 27 キロメートル) の間で浮かび、民間航空ルートの約 2 倍の高さになります。

    成層圏では、水蒸気はほとんどなく、雲もほとんどなく、天気も言うことはありません。また、底部に向かうほど寒く、上部に向かうほど高温になるため、ガスの上昇が妨げられ、さまざまな高度に比較的安定した層が存在する状況が生じます。これらの層では、風は予測可能な方法でさまざまな方向と速度で吹きます。

    Google は、気球の航行に役立つ風のパターンを予測およびシミュレーションできるアルゴリズムを開発するために、過去の風関連データと米国海洋大気庁 (NOAA) からの継続的な将来予測を分析してきました。風船はヘリウムと空気の比率を調整することで操縦され、グーグルが望む方向に風が吹く成層圏レベルまで気球を上げ下げする。彼らは風に乗ってヒッチハイクをすることになるので、ある意味、太陽光発電と風力発電の両方を利用できることになります。

    Googleは、気球を常に監視、追跡、操縦するための「Mission Control」と呼ばれる運用システムを開発し、気球が成層圏に上昇したり、着陸する際に気球の存在を近くの航空管制官に警告したりすることもできる。同社のナビゲーション ソフトウェアは、コマンドを 1 日に 1 回送信するものから 15 分ごとに送信するものまで、時間の経過とともに改良されてきました。 Mission Control は気球の飛行経路を毎分再計算できます。 Loon チームはまた、気球を特定の場所に向ける能力も向上させました。当初は数百メートルだったのが、今でははるかに正確な数百キロメートルに到達しました。ネットワークが壊れないように一度に数千個の気球を制御できるようにするには、ナビゲーションを可能な限り自動化する必要がありますが、必要に応じて監視し、手動で制御するためにミッションコントロールソフトウェアを使用する人々は依然として存在します。

    Google は、エンベロープからガスを放出することで、気球を地上に降下させて回収することができます。風船が破裂する危険がある場合には、ガスが自動的に排出されることもあります。風船の落下速度が速すぎると、パラシュートが自動的に展開します。 Google は、コンポーネントを再利用またはリサイクルするために、可能な限り気球と機器を回収する予定です。

    気球に取り付けられた LTE ネットワーキング機器は、既存の電話会社の携帯電話スペクトルで動作し、気球が携帯電話や地上の塔と直接通信できるようになり、特別な地上アンテナを設置する必要がなくなります。 Google は地元の携帯電話会社と提携し、人々が LTE 対応の携帯端末を介して接続できるようにする予定です。ネットワークに接続するには、特別な Loon SIM カードが必要です。

    これまでのプロジェクト Loon

     Google Loonの仕組み

    Icarus テストと呼ばれる予備テストは 2011 年 8 月に始まりました。プロジェクト リーダーの Rich DeVaul 氏と彼のチームは、Linux コンピューティング機器とWiFiルーターを積んだ 4 つのラテックス風船をカリフォルニアのサン ルイス貯水池から放ちました。彼らは、信号をテストするために、アンテナ、WiFi カード、スペクトラム アナライザーを備えた車両で彼らを追った。他にも同様のテストが続き、最終的に気球間で信号を渡し、車内でインターネット接続を確立できるようになりました。初期のテストの一部では、機器は発泡スチロール製のクーラーの中に入れられていたと伝えられている。

    2012年にチーム名がダイダロス(イカロスの父)に変更された。 DeVaul は技術的なことに取り組むことを好んだためチーフ テクニカル アーキテクトになり、Mike Cassidy がプロジェクト リーダーを引き継ぎました。彼らは、気球の設計、テスト、縫製のために、航空宇宙エンジニア、ネットワークエンジニア、地図専門家、エネルギー専門家、少なくとも1人の気球技師、退役軍人、繊維専門家(裁縫師を含む)を雇った。 2012 年、彼らは NASA 向けの気球などを製造する Raven Aerostar 社と協力し、気球の完成度を高めました。

    機器の回収の可能性を高めるため、実験機器には「無害な科学実験」という文字と、報酬を求める数字が刻印されていた(ただし、その時点ではまだ極秘プロジェクトだったため、Googleについては言及されていない)。 2012年10月、試験用気球の1つがケンタッキー州でUFO目撃報告を引き起こし、最終的にはカナダに漂流し、そこで紛失した。

    最初の公式パイロットテストは 2013 年 6 月に行われ、30 個の気球がニュージーランドのクライストチャーチ地域から放出されました。彼らは約 15.5 マイル (25 キロメートル) 上空に進み、それぞれ約 22 ポンドの機器を積んでおり、特別にあらかじめ設置された地上の球状アンテナと無線通信を行いました。テスト参加者は全部で約 50 名で、その中にはバルーン ネットワーク経由でインターネットに接続した最初の人物の 1 人であるニモ一家とマッケンジー一家も含まれていました。テスターは 3G 速度で接続していました。

    さらなる検査は、特にカリフォルニアのセントラルバレー、オーストラリア、チリ、ブラジルなどで実施された。 2014 年 6 月、ブラジルの学校、Linoca Gayoso Castelo Branco は、Project Loon の LTE 無線搭載気球と学校の屋上の地上アンテナを併用して、史上初めてインターネットに接続することができました。

    2015 年 7 月、Google がスリランカと提携し、25,000 平方マイル (64,750 平方キロメートル) の国土と約 2,200 万人 (そのほとんどは現在オンラインではありません) にインターネット アクセスを提供することを発表しました。 Loon 気球プロジェクト、おそらく 2016 年初頭までに。

    2015 年 9 月、ルーン気球の 1 機がカリフォルニア州ロサンゼルス郊外の住宅の庭にあるヤシの木に衝突しました。着陸予定の場所からそれほど遠くありませんでした。軽い事件では誰も怪我をしなかった。

    Google Loon の潜在的な利点

     Google Loonの仕組み

    インターネット サービスが標準以下であるか存在しない場所、または多くの人が利用可能なサービスを購入する余裕がない場所はたくさんあります。 Project Loon が開始された 2011 年、国際電気通信連合の報告によると、インターネット上には 22 億人の人々が存在していました。 2015 年には、その数は約 32 億人に増加しました。大幅な増加にもかかわらず、依然として約 40 億人がインターネットにアクセスできないままになっています。

    アクセスできる人でも、高品質で中断のない高速ブロードバンドを利用できない人もいます。空からの接続により、山岳地帯など通常は問題が発生する地域や、インターネットのインフラが十分に届いていない場所でもサービスを提供できます。気球のネットワークは、電線を敷設して携帯電話の塔やその他の高価な設備を設置したり、非常に高価な通信衛星を使用したりするよりも、発展途上国を含む遠隔地に飛ばす方がはるかに簡単で安価であるはずです。 Google 気球のネットワークは、緊急時にも使用できます。たとえば、自然災害で地上設備が損傷した後、インターネット サービスを迅速に復旧することができます。

    携帯電話会社は、Google Loon ネットワークへのアクセスのレンタルに関心を示しています。これにより、新たな顧客を獲得し、すでにカバーしている領域でより良いサービスをより高速に提供できるようになります。無料ではありませんが、コスト削減の一部が低価格の形で顧客に還元される可能性があると期待されています。 GoogleはすでにニュージーランドのVodafone、オーストラリアのTelstra、ブラジルのVivoおよびTelebrasとテストのために提携している。

    世界とつながることが多大な恩恵をもたらす時代において、Project Loon は社会にとって真の恩恵となる可能性があります。地球上のすべての人がオンラインになれば、オンライン広告やサービスからの収益に大きく依存している Google にとってもメリットが得られます。そして再び、同社はLoonネットワークへのアクセスに対する支払いを受け取ることになる。

    2014年、Googleは、プロジェクト・ルーンや地図作成などのいくつかのプロジェクトを支援するために、タイタン・エアロスペースという別の太陽光発電高高度ドローン会社(伝えられるところによるとフェイスブック傘下から撤退した)を買収し、衛星会社スカイボックス・イメージングを買収し、宇宙飛行会社に投資した。スペースX。 SpaceXは、世界に高速インターネットを提供するために、数千の小型衛星を低軌道に打ち上げる許可を求めている。

    空を経由して人々にインターネットを届けようとしている企業は Google だけではありません。 Facebook は、衛星やドローンなどのテクノロジーを使用して、世界中のより多くの人々に低コストのインターネットを提供することを目的として、Connectivity Lab を開始しました。彼らは2014年にアセンタという太陽光発電の高高度ドローン会社を買収し、NASAなどから技術専門家を雇用した。

    インターネットに接続できると、人々はコミュニケーションから教育、ビジネスチャンスに至るまで、World Wide Web が提供するすべてのリソースにアクセスできるようになります。あらゆる企業が、重要な情報と、材料や製品の新しいソースを得ることができます。医療従事者がほとんどまたはまったくいない地域の人々は、仮想医療を受ける可能性があります。教師と生徒は教室の補助教材に即座にアクセスでき、学校にアクセスできない人はオンラインで教科書を読んだり、授業を受けたりすることができます。未来の若い科学者や発明家は、アイデアやリソース、さらには共同研究者をオンラインで見つけることができます。

    アクセスは地域の経済を改善することができます。 Google Loon のプロジェクトリーダーである Mike Cassidy 氏によると、国のインターネット普及率が 10% 増加すると、年間 GDP が約 1.4% 増加します 。

    Googleは2016年末までにProject Loonの商用サービスを提供したいと考えている。

    著者メモ: Google Loon の仕組み

    インターネットへのアクセスは、今日では私たちの生活を容易にするだけでなく、重要なサービスにアクセスし、一般的に社会に溶け込むために非常に重要です。私たちはますますオンラインでコミュニケーションをとり、ニュースを読んだり、天気を確認したり、請求書を支払ったり、エンターテイメントを楽しんだりするなど、日常的なことを行っています。また、私たちは(学校のカリキュラムの外と中の両方で)教育を受けて将来の可能性を高め、地元の新聞や労働局の報道範囲外で仕事を探すこともできます。インターネットにアクセスできないと不利な立場に置かれるので、これまで取り残されていた人々にその影響を広げようと考えている人たちがいるのは嬉しいことです。そして、サービスの一部が気球によって提供される可能性があるという事実は、さらに楽しそうに思えます。

  • スタートページを使用したモバイル プライバシーの 3 つの重要なステップ

    今日のデジタル時代では、モバイルのプライバシーを保護することが不可欠です。ここでは、デジタル ライフを安全に保つための、Startpage を活用した 3 つの簡単なステップをご紹介します。

    1. スタートページから始める

    でプライバシーの旅を始めましょう。デフォルトのプライベート検索エンジンにより、オンライン検索が匿名で安全になります。データの追跡や保存を心配することなく、包括的な検索結果をお楽しみください。ダウンロードしておけば、外出先でもどこで検索しても安心できます。

    2. プライベート ブラウジングを活用する

    Startpage の匿名表示機能を利用して、Web サイトを匿名で閲覧します。位置情報、IP アドレス、閲覧履歴が公開されるのではないかという心配はもうありません。プライバシーが保護されているので、安心してインターネットをお楽しみください。

    3. プライベートタブとマップを安全に保護する

    複数のプライベート タブを安全に管理し、実際の位置を明らかにすることなく地図を探索します。 Startpage の機能により、オンライン活動の機密性が保たれ、位置追跡から保護されます。

    これら 3 つの簡単な手順に従い、Startpage のモバイル アプリを日常生活に組み込むことで、より安全でプライベートなオンライン体験を楽しむことができます。 Startpage はヨーロッパのプライバシー基準に取り組んでおり、あなたのモバイル デジタル ライフは信頼できる手に委ねられています。

  • 人気の Web サイトの写真

    google.com

    インターネットを利用したことのあるほとんどの人は、 Googleについて聞いたことがあるでしょう。世界で最も人気のあるサイトおよび検索エンジンです。しかし、他の最も人気のある Web サイトをご存知ですか?まずは次のページをご覧ください。

    百度

    Google と同様に、Baidu は検索エンジンと共同百科事典を備えた中国の Web サービス サイトです。 2012 年、Baidu は Alexa インターネット ランキングで 5 位にランクされました。

    qq.com

    もう 1 つの中国で人気のあるサイトであり、世界でもトップ 10 に入るサイトは、無料のインスタント メッセージング サービスである QQ.com です。ユーザーはゲーム、仮想ペット、着信音にもアクセスできます。次に人気のサイトも無料サービスを提供しています。

    ウィキペディア

    ウィキペディアは、複数のユーザーがオンラインで自由に追加および編集できる記事のコレクションです。これは無料のサービスであり、非営利団体によって運営されているため、他のほとんどの人気のある Web サイトとは異なります。次のサイトは、世界最大のオンライン小売業者とは対極にあります。

    イーベイ

    小売先のEbay は、食べかけのグリルド チーズ サンドイッチなど、ほぼあらゆるものを売買できるオンライン オークション サイトです。世界中で最も人気のあるサイトのトップ 20 の 1 つです。

    淘宝網

    TaoBao は Ebay と Amazon の中国版で、2012 年には中国で 3 番目に人気のあるサイトでした。 Alexa 評価システムでは世界的に 14 位にランクされています。次に、世界で 3 番目に人気のあるサイトはどこなのかを見てみましょう。

    ユーチューブ

    世界で 3 番目に人気のあるサイトとしてランク付けされているYouTube は、毎月 40 億時間以上のビデオが視聴されるコミュニティ ビデオ Web サイトです。 Google は 2006 年に YouTube を買収し、次に人気のあるサイトも所有しています。

    ブロガー.com

    Blogger.com は 1999 年にサンフランシスコで小さな会社として設立され、その後 Google に買収されました。 2012 年の Alexa オンライン ランキングは世界で 11 位でした。次の大手サイトも、始まりは地味なものでした。

    アマゾン.com

    1995 年、 Amazon.com は創業者ジェフ・ベゾスのガレージから出荷された最初の本を販売しました。このサイトは、訪問のたびにすべての登録ユーザーから収集したデータを使用して、個人的な推奨事項を作成します。このサイトでは、製品レビューやワンクリック購入も可能です。

    yahoo.com

    ヤフー!最初はデビッド・ファイロとジェリー・ヤンの趣味として始まりました。その機能には、検索エンジン、ニュース、電子メール、地図が含まれます。現在、人気では YouTube のすぐ後ろにランクされています。

    ウィンドウズライブ

    Microsoft には、Windows Live をはじめとする人気のある Web サイトがいくつかあります。 Yahoo! と同様に、ユーザーは電子メールやその他のサービスにアクセスするためにログインします。ユーザー数は 3 億人を超え、世界および米国でトップ 10 にランクされています。次のページにあるオリジナルの Microsoft ポータルも、最も人気のあるサイトの 1 つとしてランクされています。

    msn

    MSN (Microsoft Network) は、1995 年に Windows 95 に合わせて初めて開設されたインターネット ポータルです。世界的というよりも米国で人気があります。

    ビング

    Google ほど人気はありませんが、Microsoft の Bing は 2009 年に開始された「意思決定エンジン」です。検索を実行するときに表示されるジャンクの量を最小限に抑えるように設計されており、ショッピング、旅行、地域、健康のトピックに重点を置いており、おおよその内容は次のとおりです。 20番目に人気のあるサイト。次のサイトでは、そのツールに合わせて新しい語彙を生成しました。

    ツイッター

    世界で 8 位にランクされているTwitter を使用すると、ユーザーは連絡先ネットワークにメッセージを投稿したり受信したりできます。十数通の電子メールやテキスト メッセージを送信する代わりに、Twitter アカウントに 1 つのメッセージ (「ツイート」) を送信すると、サービスがそれをすべての友人に送信します。次のページでは、ソーシャル ネットワーキングに特化した人気のサイトをご覧ください。

    リンクイン

    LinkedIn は、仕事の検索、販売見込み客の発見、潜在的なビジネス パートナーとのつながりなど、プロフェッショナル ネットワーキングのために特別に設計されたソーシャル ネットワーキング サイトです。近年人気が高まっていますが、次のページの巨大サイトほどアクセス数は多くありません。

    フェイスブック

    もともとハーバード大学の学生のために作られたソーシャル ネットワーキング サイトであるFacebook は、現在では誰でも参加できるようになり、アクティブ ユーザー数が 8 億人を超え、2012 年には (Google に次いで) 2 番目に人気のある Web サイトになりました。詳細については、オンライン ソーシャル ネットワークの記事を参照するか、 Web 3.0 クイズで知識をテストしてください。

  • Javaの仕組み

    コンピュータプログラムがどのように動作するか考えたことはありますか?自分でコンピュータープログラムを書く方法を学びたいと思ったことはありますか?あなたが 14 歳で最初のゲームの書き方を学びたいと思っている場合でも、70 歳で 20 年間コンピューター プログラミングに興味を持っている場合でも、この記事はあなたのためのものです。 「コンピューター入門」の今回は、 Java プログラミング言語でプログラミングする方法を説明することで、コンピューター プログラムがどのように動作するかを説明します。

    コンピューター プログラミングについて教えるために、最初からいくつかの仮定を立てます。

    • ここでは、あなたはコンピューター プログラミングについて何も知らないと仮定します。すでに何かを知っている場合は、この記事の最初の部分は初歩的な内容に見えるでしょう。分からないところがあるまでは読み飛ばしてください。
    • あなたが使用しているコンピュータについて何かを知っていると仮定します。つまり、ファイルの編集、ファイルのコピーと削除、ファイル名の変更、システム上の情報の検索などの方法をすでに知っていると仮定します。
    • 話を簡単にするために、Windows 95、98、2000、NT、または XP を実行しているマシンを使用していると仮定します。他のオペレーティング システムを実行している人にとって、その概念をそれらのオペレーティング システムにマッピングするのは比較的簡単です。
    • あなたには学びたいという意欲があると思います。

    Java でプログラミングを開始するために必要なツールはすべて、Web 上で無料で広く入手できます。 Web 上には Java の膨大な量の教育資料も用意されているので、この記事を読み終えたら、さらに学習してスキルを向上させることも簡単です。ここでは、コンパイラ、開発環境、書籍などにお金をかけずに Java プログラミングを学ぶことができます。Java を学べば、他の言語も簡単に学ぶことができるので、始めるのに最適です。

    以上のことを述べましたので、準備は完了です。始めましょう!

    ちょっとした用語

    あなたがプログラミングについて何も知らないことを前提としていることに注意してください。理解を容易にするいくつかの語彙を以下に示します。

    • コンピューター プログラム– コンピューター プログラムは、コンピューターに何を実行するかを正確に指示する一連の命令です。命令は、一連の数値を合計するか、2 つの数値を比較し、その結果に基づいて決定を下すかなどをコンピューターに指示する可能性があります。しかし、レシピが料理人にとっての一連の指示であり、音符が音楽家にとっての一連の指示であるのと同じように、コンピューター プログラムは単にコンピューターに対する一連の指示にすぎません。コンピュータはユーザーの指示に正確に従い、その過程で小切手帳の残高を計算したり、ゲームを画面に表示したり、ワードプロセッサを実装したりするなど、何か役立つことを実行します。
    • プログラミング言語– ユーザーが与えた命令をコンピューターが認識できるようにするには、その命令はコンピューターが理解できる言語、つまりプログラミング言語で書かれている必要があります。多くの音声言語があるのと同じように、Fortran、Cobol、Basic、Pascal、 C 、C++、Java、 Perlなど、多くのコンピューター プログラミング言語があります。それらはすべて、ほぼ同じ概念を異なる方法で表現しています。
    • コンパイラ– コンパイラは、人間が読めるコンピュータ言語 (Java など) で書かれたコンピュータ プログラムを、コンピュータが実行できる形式に変換します。おそらく、コンピュータ上で EXE ファイルを見たことがあるでしょう。これらの EXE ファイルはコンパイラの出力です。これらには、実行可能ファイル、つまり人間が読めるプログラムから変換された機械が読めるプログラムが含まれています。

    Java と呼ばれるプログラミング言語でコンピューター プログラムの作成を始めるには、Java 言語用のコンパイラーが必要です。次のセクションでは、コンパイラーをダウンロードしてインストールするプロセスについて説明します。コンパイラを入手したら、始めましょう。このプロセスには数時間かかりますが、その時間のほとんどはいくつかの大きなファイルのダウンロード時間です。また、約 40 MBの空きディスク領域も必要です (開始する前に、利用可能な領域があることを確認してください)。

    Java コンパイラのダウンロード

    マシン上に Java 開発環境をセットアップするには (「開発環境」を使用してコンピュータ プログラムを「開発」(作成) します)、次の手順を完了する必要があります。

    1. Java 開発環境 (コンパイラおよびその他のツール) を含む大きなファイルをダウンロードします。
    2. Java ドキュメントを含む大きなファイルをダウンロードします。
    3. マシンに WinZip (または同等のもの) がまだインストールされていない場合は、WinZip を含む大きなファイルをダウンロードしてインストールする必要があります。
    4. Java開発環境をインストールします。
    5. ドキュメントをインストールします。
    6. いくつかの環境変数を調整します。
    7. すべてをテストしてください。

    始める前に、これからダウンロードするファイルを保存する新しいディレクトリを一時ディレクトリに作成すると作業が簡単になります。これをダウンロード ディレクトリと呼びます。

    ステップ 1 – Java 開発環境をダウンロードする

    ページに移動します。 「Download J2SE SDK」リンクをクリックして、SDK ソフトウェアをダウンロードします。ライセンス契約が表示されます。 「同意する」をクリックします。オペレーティング システムを選択し、ファイルをダウンロード ディレクトリにダウンロードします。これは巨大なファイルなので、通常の電話回線モデムを介してダウンロードするには数時間かかります。次の 2 つのファイルもサイズが大きくなります。

    ステップ 2 – Java ドキュメントをダウンロードする

    オペレーティング システムを選択し、SDK 1.4.1 ドキュメントのリンクをクリックしてドキュメントをダウンロードします。

    ステップ 3 – WinZip をダウンロードしてインストールする

    お使いのマシンに WinZip または同等のバージョンがない場合は、ページに移動して WinZip の評価版をダウンロードしてください。入手したEXEを実行してインストールします。すぐにこれを使用してドキュメントをインストールします。

    ステップ 4 – 開発キットをインストールする

    手順 1 でダウンロードした j2sdk-1_4_1-*.exe ファイルを実行します。これにより、開発キットが自動的に解凍され、インストールされます。

    ステップ 5 – ドキュメントをインストールする

    ドキュメントのインストール手順をお読みください。ドキュメント ファイルを、インストールした開発キットが含まれているディレクトリと同じディレクトリに移動するように指示されます。ドキュメントを解凍すると、適切な場所にドロップされます。

    ステップ 6 – 環境を調整する

    の指示に従って、パス変数を変更する必要があります。これを最も簡単に行うには、MS-DOS プロンプトを開いて PATH と入力し、現在設定されているパスを確認します。次に、メモ帳で autoexec.bat を開き、手順で指定されている PATH を変更します。

    ステップ 7 – テスト

    これで、別の MS-DOS ウィンドウを開いてjavacと入力できるようになります。すべてが正しく設定されていれば、 javac の使用方法を示す 2 行のテキストが表示されるはずです。つまり、準備ができています。 「不正なコマンドまたはファイル名」というメッセージが表示された場合は、準備ができていないことを意味します。インストール手順を読み直して、何が間違っていたのかを見つけてください。 PATH が適切に設定され、機能していることを確認してください。上記の「Programmer’s Creed」に戻って読み直し、問題が解決するまで粘り強く取り組んでください。

    これで、あなたは Java プログラムをコンパイルできるマシンの誇り高き所有者になりました。ソフトウェアの作成を開始する準備ができました。

    ところで、今解凍したものの 1 つは、きちんとしたサンプルが詰まったデモディレクトリです。すべてのサンプルはすぐに実行できる状態になっているので、ディレクトリを見つけてサンプルのいくつかを試してみるとよいでしょう。音が出るものも多いので、必ずスピーカーをオンにしてください。サンプルを実行するには、 example1.htmlのような名前のページを見つけて、通常の Web ブラウザにロードします。

    初めてのプログラム

     Javaの仕組み

    最初のプログラムは短くて楽しいものになるでしょう。描画領域を作成し、その領域に対角線を引きます。このプログラムを作成するには、次のことが必要です。

    1. メモ帳を開き、プログラムを入力 (またはカットアンドペースト) します。
    2. プログラムを保存する
    3. Java コンパイラを使用してプログラムをコンパイルしてJava アプレットを作成します
    4. 問題があれば修正してください
    5. 作成した Java アプレットを「保持」する HTML Web ページを作成します。
    6. Java アプレットを実行する

    このデモで使用するプログラムは次のとおりです。

     java.awt.Graphicsをインポートします。
    
    パブリッククラスFirstAppletはjava.applet.Appletを拡張します
    {
    
        パブリックボイドペイント(グラフィックスg)
        {
            g.drawLine(0, 0, 200, 200);
        }
    }

    ステップ 1 – プログラムを入力します

    プログラムを保存する新しいディレクトリを作成します。メモ帳 (または TXT ファイルを作成できる他のテキスト エディタ) を開きます。プログラムをメモ帳ウィンドウに入力するか、切り取って貼り付けます。これは重要です。プログラムを入力するときは、大文字と小文字が重要です。つまり、プログラムに表示される大文字と小文字を正確に入力する必要があります。上記のプログラマの信条を見直してください。示されているとおりに正確に入力しないと、機能しません。

    ステップ 2 – ファイルを保存する

    ファイルを、手順 1 で作成したディレクトリにFirstApplet.java というファイル名で保存します。ファイル名では大文字と小文字が区別されます。図に示すように、「F」と「A」が大文字で、他の文字はすべて小文字であることを確認してください。

    ステップ 3 – プログラムをコンパイルする

    MS-DOS ウィンドウを開きます。ディレクトリ (「cd」) をFirstApplet.javaが含まれるディレクトリに変更します。タイプ:

     javac FirstApplet.java

    ケースは重要です!これは機能しますが、その場合はウィンドウに何も表示されないか、エラーが発生します。エラーがなければ、FirstApplet.class という名前のファイルが FirstApplet.java のすぐ隣のディレクトリに作成されます。

    (ファイルがFirstApplet.java.txtではなくFirstApplet.javaという名前で保存されていることを確認してください。これは、MS-DOS ウィンドウにdirと入力してファイル名を確認することで最も簡単に行うことができます。拡張子が.txtの場合、ファイルの名前を変更して削除するか、Windows エクスプローラーを実行して、[表示] メニューの [オプション] を選択し、[登録されているファイルの種類の MD-DOS ファイル拡張子を非表示にする] チェックボックスがオフになっていることを確認します。必要に応じてエクスプローラーでファイル名を変更してください。)

    ステップ 4 – 問題を解決する

    エラーがある場合は修正してください。あなたのプログラムを上記のプログラムと比較し、正確に一致するようにしてください。エラーがなくなるまで再コンパイルを続けます。 javac が動作していないと思われる場合は、前のセクションを見直してインストールを修正してください。

    ステップ 5 – HTML ページを作成する

    アプレットを保持する HTML ページを作成します。別のメモ帳ウィンドウを開きます。次のように入力します。

     <html>
    <本文>
    <アプレット コード=FirstApplet.class 幅=200 高さ=200>
    </アプレット>
    </body>
    </html>

    このファイルをapplet.htmという名前で同じディレクトリに保存します。

    [これまで HTML を扱ったことがない場合は、 「Web ページの仕組み」を読んでください。アプレットタグは、Web ページから Java アプレットにアクセスする方法です。]

    ステップ 6 – アプレットを実行する

    MS-DOS ウィンドウで次のように入力します。

    アプレットビューア applet.htm

    左上隅から右下隅まで斜めの線が伸びているのが見えるはずです。

    アプレット ビューアを少し大きくすると、行全体が表示されます。また、HTML ページを Netscape Navigator や Microsoft Internet Explorer などの最新のブラウザにロードすると、ほぼ同じ内容が表示されるはずです。

    最初のプログラムが正常に作成されました!!!

    何が起こったのかを理解する

     Javaの仕組み

    それで何が起こったのでしょうか?

    まず、非常に単純なJava アプレットのコードを作成しました。アプレットは、ローカル マシン上で実行されるスタンドアロン プログラムであるJava アプリケーションとは対照的に、Web ブラウザ内で実行できる Java プログラムです (Java アプリケーションは少し複雑で、あまり人気がありません。アプレット付き)。アプレットはjavac を使用してコンパイルしました。次に、アプレットを「保持」するための非常に単純な Web ページを作成しました。 appletviewer を使用してアプレットを実行しましたが、ブラウザでも同様に簡単に実行できます。

    プログラム自体の長さは約 10 行です。

     java.awt.Graphicsをインポートします。
    
    パブリッククラスFirstAppletはjava.applet.Appletを拡張します
    {
    
        パブリックボイドペイント(グラフィックスg)
        {
            g.drawLine(0, 0, 200, 200);
        }
    }

    これは、作成できる最も単純な Java アプレットについてです。それを完全に理解するには、特にオブジェクト指向プログラミング技術の分野で、かなりの量を学ぶ必要があります。プログラミング経験がゼロであることを前提としているので、当面はこのプログラムの 1 行に注目してください。

     g.drawLine(0, 0, 200, 200);

    これは、このプログラム内で作業を行う行です。対角線を引いていきます。プログラムの残りの部分はその一行をサポートする足場であり、当面はこの足場を無視してかまいません。ここで何が起こったかというと、コンピュータに左上隅 (0,0) から右下隅 (200, 200) まで 1 本の線を描くように指示したということです。コンピューターは私たちが指示したとおりにそれを描きました。それがコンピュータプログラミングの本質です!

    (HTML ページでは、上記の手順 5 でアプレットのウィンドウのサイズを幅 200、高さ 200 に設定していることにも注意してください。)

    このプログラムでは、 drawLineというメソッド(別名function ) を呼び出し、それに 4 つのパラメーター(0、0、200、200) を渡しました。行はセミコロンで終わります。セミコロンは文末のピリオドのように機能します。行はg で始まります。これは、 gという名前の特定のオブジェクトでdrawLineという名前のメソッドを呼び出すことを意味します (これは、 Graphicsクラスのものであることがわかります。クラスとクラスのメソッドについては、この記事で後ほど詳しく説明します)。 。

    メソッドは単なるコマンドです。コンピュータに何かを行うように指示します。この場合、 drawLine は、指定された点 (0, 0) と (200, 200) の間に線を引くようにコンピューターに指示します。ウィンドウは、左上隅に 0,0 座標があり、正の X 軸と Y 軸が右と下に伸びていると考えることができます。画面上の各ドット (各ピクセル) は、スケール上の 1 つの増分です。

    4 つのパラメーターに異なる数値を使用して実験してみてください。 1 つまたは 2 つの数値を変更し、変更を保存し、 javacで再コンパイルし、 appletviewerで変更を加えるたびに再実行して、結果を確認します。

    drawLine以外にはどのような機能があるのでしょうか?これは、 Graphicsクラスのドキュメントを参照するとわかります。 Java 開発キットをインストールしてドキュメントを解凍すると、そのプロセスでアンロードされたファイルの 1 つがjava.awt.Graphics.htmlと呼ばれ、マシン上に存在します。 Graphicsクラスを説明したファイルです。私のマシンでは、このファイルへの正確なパスは D:\jdk1.1.7\docs\api\java.awt.Graphics.html です。お使いのマシンではパスが若干異なる可能性がありますが、正確にはインストール場所によって異なります。ファイルを見つけて開きます。このファイルの先頭の方に、「メソッド インデックス」というセクションがあります。これは、このクラスがサポートするすべてのメソッドのリストです。 drawLineメソッドはその 1 つですが、他にも多数あります。描画などを行うことができます。

    • ライン
    • 円弧
    • 楕円形
    • ポリゴン
    • 長方形
    • 文字列
    • キャラクター

    これらのさまざまな方法について読み、試してみて、何が可能なのかを見つけてください。たとえば、次のコードを試してください。

     g.drawLine(0, 0, 200, 200);
            g.drawRect(0, 0, 200, 200);
            g.drawLine(200, 0, 0, 200);

    2 つの対角線を持つボックスが描画されます (全体が見えるようにウィンドウを十分に大きく引いてください)。他の形を描いてみてください。 setColorメソッドについて読んで、色を変更してみてください。例えば:

     java.awt.Graphicsをインポートします。
    java.awt.Colorをインポートします。
    
    パブリッククラスFirstAppletはjava.applet.Appletを拡張します
    {
    
        パブリックボイドペイント(グラフィックスg)
        {
            g.setColor(Color.red);
            g.fillRect(0, 0, 200, 200);
            g.setColor(Color.black);
            g.drawLine(0, 0, 200, 200);
            g.drawLine(200, 0, 0, 200);
        }
    }

    プログラムの 2 行目に新しいインポート行が追加されていることに注意してください。このプログラムの出力は次のようになります。

     Javaの仕組み

    今あなたの頭をよぎっているかもしれないことの 1 つは、「なぜ彼は単にredではなくColor.red を使用することを知ったのでしょうか? また、2 番目のimport行を追加することをどのようにして知ったのでしょうか?」ということです。そのようなことを例から学びます。 setColorメソッドを呼び出す方法の例を示したばかりなので、色を変更する場合は常にColor を使用することがわかりました。その後に色の名前をsetColorメソッドのパラメータとして指定し、プログラムの先頭に適切なインポート行を追加します。 setColorを検索すると、 Colorクラスについて説明するリンクがあり、その中には有効なすべての色の名前のリストと、新しい (名前のない) 色を作成するためのテクニックが含まれています。その情報を読んで頭の中に保存すれば、Java で色を変更する方法がわかります。それがコンピューター プログラマーになることの本質です。テクニックを学び、次に書くプログラムのためにそれを覚えておくのです。テクニックを学ぶには、(ここで行ったように) 例を読むか、ドキュメントを読むか、(デモ ディレクトリにあるように) サンプル コードを見ることによって行います。物事を探索したり、学んだり、覚えたりするのが好きな頭脳を持っているなら、プログラミングが大好きになるでしょう。

    このセクションでは、線形のシーケンシャル コード (先頭から始まり下に向かうメソッド呼び出しで構成されるコード ブロック) を記述する方法を学習しました (赤い四角形を描画する前に、線の 1 本を描画して、何が起こるかを確認してください) — 四角形で覆われ、非表示になります。コード シーケンス内の行の順序は重要です。コードの連続行は、コンピューター プログラムの基本的なコアを形成します。さまざまな描画方法をすべて試して、何が発見できるかを確認してください。

    バグとデバッグ

    プログラミングについて学ぶときに気づくことの 1 つは、かなりの数の間違いや仮定を犯す傾向があり、その結果、プログラムが次のいずれかに陥るということです。1) コンパイルされない、2) コンパイル時に予期しない出力が生成されるそれは実行します。これらの問題はバグと呼ばれ、それらを削除する行為はデバッグと呼ばれます。プログラマーの時間の約半分はデバッグに費やされます。

    独自のバグを作成する時間と機会は十分にありますが、可能性をよりよく知るために、いくつかのバグを作成してみましょう。プログラムで、行末のセミコロンの 1 つを消去し、 javacでプログラムをコンパイルしてみてください。コンパイラはエラー メッセージを表示します。これはコンパイラ エラーと呼ばれ、プログラムを実行する前にすべてのエラーを取り除く必要があります。さまざまなコンパイラ エラーに慣れるために、関数名のスペルを間違えたり、「{」を省略したり、インポート行の 1 つを削除したりしてみてください。特定のタイプのコンパイラ エラーを初めて見るとイライラするかもしれませんが、意図的に作成した既知のエラーを使用してこのように実験することで、一般的なエラーの多くに慣れることができます。

    実行 (またはランタイム) エラーとも呼ばれるバグは、プログラムが正常にコンパイルされて実行されたにもかかわらず、計画した出力が生成されない場合に発生します。たとえば、次のコードは、2 本の対角線が入った赤い四角形を生成します。

     g.setColor(Color.red);
            g.fillRect(0, 0, 200, 200);
            g.setColor(Color.black);
            g.drawLine(0, 0, 200, 200);
            g.drawLine(200, 0, 0, 200);

    一方、次のコードは、(2 行を覆う) 赤い四角形だけを生成します。

     g.setColor(Color.black);
            g.drawLine(0, 0, 200, 200);
            g.drawLine(200, 0, 0, 200);
            g.setColor(Color.red);
            g.fillRect(0, 0, 200, 200);

    コードはほぼ同じですが、実行するとまったく異なります。 2 本の対角線が表示されることが予想される場合、2 番目のケースのコードにはバグが含まれています。

    別の例を次に示します。

     g.drawLine(0, 0, 200, 200);
            g.drawRect(0, 0, 200, 200);
            g.drawLine(200, 0, 0, 200);

    このコードは、黒い枠で囲まれたボックスと 2 つの対角線を生成します。次のコードでは、対角線が 1 つだけ生成されます。

     g.drawLine(0, 0, 200, 200);
            g.drawRect(0, 0, 200, 200);
            g.drawLine(0, 200, 0, 200);

    繰り返しますが、2 つの対角線が表示されると予想した場合は、コードの 2 番目の部分にバグが含まれています (何が間違っていたのかを理解するまで、コードの 2 番目の部分を見てください)。この種のバグは見つけにくいため、見つけるのに時間がかかることがあります。

    自分のバグを見つける練習をする時間は十分にあります。平均的なプログラマーは、バグの追跡、発見、除去に時間の約半分を費やします。それらが発生してもイライラしないようにしてください。これらはプログラミング生活の通常の一部です。

    変数

    すべてのプログラムは変数を使用してデータを一時的に保持します。たとえば、プログラムのある時点でユーザーに数字の入力を求める場合、後で使用できるようにその数字を変数に保存します。

    変数は使用する前にプログラム内で定義(または宣言) する必要があり、各変数に特定の型を与える必要があります。たとえば、ある変数に数字を保持できる型を宣言し、別の変数に人の名前を保持できる型を宣言することができます。 (Java では、変数を使用する前に変数を明確に定義し、変数に格納する予定の値の型を指定する必要があるため、Java は厳密に型指定された言語と呼ばれます。一部の言語にはこれらの要件がありません。一般に、大規模な言語を作成する場合は、プログラムでは、強い型付けを行うとプログラミング エラーの数が減る傾向があります)。

     java.awt.Graphicsをインポートします。
    java.awt.Colorをインポートします。
    
    パブリッククラスFirstAppletはjava.applet.Appletを拡張します
    {
    
        パブリックボイドペイント(グラフィックスg)
        {
            int 幅 = 200;
            int 高さ = 200;
            g.drawRect(0, 0, 幅, 高さ);
            g.drawLine(0, 0, 幅, 高さ);
            g.drawLine(幅, 0, 0, 高さ);
        }
    }

    このプログラムでは、 widthheightという名前の 2 つの変数を宣言しました。それらの型をintとして宣言しました。 int変数は整数 (1、2、3 などの整数) を保持できます。両方の変数を 200 に初期化しました。次のように簡単に言うこともできます。

     整数幅;
            幅 = 200;
            整数の高さ;
            高さ = 200;

    最初の形式は単に入力が少し早いだけです。

    変数を最初の値に設定する行為は、変数の初期化と呼ばれます。一般的なプログラミングのバグは、変数の初期化を忘れたときに発生します。このバグを確認するには、コードの初期化部分 (「= 200」部分) を削除し、プログラムを再コンパイルして何が起こるかを確認してください。コンパイラがこの問題について警告していることがわかります。ちなみに、これは非常に素晴らしい機能です。無駄な時間を大幅に節約できます。

    Java には、単純 (プリミティブ) 変数とクラスという 2 種類の変数があります。

    int型はシンプルです。変数には数値を保持できます。できることはそれだけです。 intを宣言し、値を設定して使用します。一方、クラス には複数の部分を含めることができ、それらを使いやすくするメソッドを含めることができます。簡単なクラスの良い例はRectangleクラスですので、それから始めましょう。

    私たちがこれまで取り組んできたプログラムの制限の 1 つは、ウィンドウが 200 x 200 ピクセルであると想定しているという事実です。ウィンドウに「どのくらいの大きさですか?」と尋ねて、それに合わせて長方形と対角線のサイズを調整したい場合はどうなるでしょうか。 Graphicsクラスのドキュメント ページ (java.awt.Graphics.html — 使用可能なすべての描画関数をリストしたファイル) に戻って見ると、関数の 1 つがgetClipBoundsという名前であることがわかります。この関数名をクリックすると、詳しい説明が表示されます。この関数はパラメータを受け入れませんが、代わりにRectangle型の値を返します。返される四角形には、使用可能な描画領域の幅と高さが含まれます。このドキュメント ページで[Rectangle]をクリックすると、 Rectangleクラス (java.awt.Graphics.html) のドキュメント ページが表示されます。ページ上部の「変数インデックス」セクションを見ると、このクラスには、それぞれ x、y、幅、高さという名前の 4 つの変数が含まれていることがわかります。したがって、私たちがやりたいことは、次のようにgetClipBoundsを使用してクリップ境界の四角形を取得し、その四角形から幅と高さを抽出し、前の例で作成した高さの変数に値を保存することです。

     java.awt.Graphicsをインポートします。
    java.awt.Colorをインポートします。
    java.awt.Rectangle をインポートします。
    
    パブリッククラスFirstAppletはjava.applet.Appletを拡張します
    {
    
        パブリックボイドペイント(グラフィックスg)
        {
            整数幅;
            整数の高さ;
            長方形r;
    
            r = g.getClipBounds();
            幅 = r.幅 - 1;
            高さ = r.高さ - 1;
    
            g.drawRect(0, 0, 幅, 高さ);
            g.drawLine(0, 0, 幅, 高さ);
            g.drawLine(幅, 0, 0, 高さ);
        }
    }

    この例を実行すると、長方形と対角線が描画領域に正確にフィットしていることがわかります。さらに、ウィンドウのサイズを変更すると、長方形と対角線が新しいサイズで自動的に再描画されます。このコードには 5 つの新しい概念が導入されているので、それらを見てみましょう。

    1. まず、Rectangle クラスを使用しているため、プログラムの 3 行目でjava.awt.Rectangleをインポートする必要があります。
    2. このプログラムでは 3 つの変数を宣言しました。 2 つ ( widthheight ) はint型で、1 つ ( r ) は Rectangle 型です。
    3. getClipBounds関数を使用して描画領域のサイズを取得しました。パラメーターを受け入れないため、何も渡しません (「()」) が、Rectangle を返します。 「r = g.getClipBounds();」という行を書きました。 「返された四角形を変数rに入れてください。」
    4. Rectangle クラスの変数rには、実際には x、y、width、height の 4 つの変数が含まれています (これらの名前は、Rectangle クラスのドキュメントを読むとわかります)。これらにアクセスするには、「.」を使用します。 (ドット) 演算子。したがって、「r.width」というフレーズは、「変数r内でwidthという名前の値を取得する」ことを示しています。その値は、 widthと呼ばれるローカル変数に配置されます。その過程で、1 を減算しました。減算を省略して、何が起こるかを確認してください。また、代わりに 5 を引いてみて、何が起こるかを確認してください。
    5. 最後に、描画関数で高さを使用しました。

    この時点でよく聞かれる質問の 1 つは、「本当に高さという名前の変数を宣言する必要がありましたか?」というものです。答えは「いいえ」です。 r.width – 1 を描画関数に直接入力することもできました。変数を作成すると、単純に内容が少し読みやすくなるため、習慣化すると良いでしょう。

    Java はいくつかの単純な変数タイプをサポートしています。最も一般的なものを 3 つ紹介します。

    • int – 整数 (整数) 値 (1、2、3…)
    • float – 10 進数値 (3.14159 など)
    • char – 文字値 (a、b、c…)

    単純な型に対して数学演算を実行できます。 Java は、 + (加算)、 (減算)、 * (乗算)、 / (除算) などを理解します。これらの操作をプログラムで使用する方法の例を次に示します。直径 10 フィートの球の体積を計算するとします。次のコードはそれを処理します。

    フロート直径 = 10;
    フロート半径;
    フロートボリューム;
    
    半径 = 直径 / 2.0;
    ボリューム = 4.0 / 3.0 * 3.14159 * 半径 * 半径 * 半径;

    最初の計算では、「 diameterという名前の変数の値を 2.0 で割り、その結果をradiusという名前の変数に代入します。」ここでの「=」記号は、「右側の計算の結果を左側の変数に代入する」ことを意味していることがわかります。

    ループ

     Javaの仕組み

    コンピューターが非常に得意とすることの 1 つは、反復的な計算や演算を実行することです。前のセクションでは、「コードの連続ブロック」を記述する方法について説明しました。次に説明する必要があるのは、コードの連続ブロックを繰り返し発生させるためのテクニックです。

    たとえば、ページの上部にある図のグリッドを描いてもらったとします。

    まずは水平線を引くことから始めるとよいでしょう。

    線を引く 1 つの方法は、連続したコード ブロックを作成することです。

     java.awt.Graphicsをインポートします。
    
    パブリッククラスFirstAppletはjava.applet.Appletを拡張します
    {
    
        パブリックボイドペイント(グラフィックスg)
        {
            int y;
            y = 10;
            g.drawLine(10, y, 210, y);
            y = y + 25;
            g.drawLine(10, y, 210, y);
            y = y + 25;
            g.drawLine(10, y, 210, y);
            y = y + 25;
            g.drawLine(10, y, 210, y);
            y = y + 25;
            g.drawLine(10, y, 210, y);
            y = y + 25;
            g.drawLine(10, y, 210, y);
            y = y + 25;
            g.drawLine(10, y, 210, y);
            y = y + 25;
            g.drawLine(10, y, 210, y);
            y = y + 25;
            g.drawLine(10, y, 210, y);
        }
    }

    (新しいプログラマーの中には、「y = y + 25;」というステートメントを初めて見たとき、奇妙に見える人もいます。これが意味するのは、「現在変数yに入っている値を取得し、それに 25 を加えて、その結果を に戻す」ということです。変数y 。つまり、行が実行される前に y に 10 が含まれていた場合、行が実行された直後には 35 が含まれます。)

    このコードを見たほとんどの人は、同じ 2 行が何度も繰り返されていることにすぐに気づきます。この特定のケースでは、繰り返しはそれほど悪くありませんが、数千の行と列を含むグリッドを作成したい場合、このアプローチではプログラムの作成が非常に面倒になることが想像できます。この問題の解決策は、以下に示すようなループです。

     java.awt.Graphicsをインポートします。
    
    パブリッククラスFirstAppletはjava.applet.Appletを拡張します
    {
    
        パブリックボイドペイント(グラフィックスg)
        {
            int y;
            y = 10;
            while (y <= 210)
            {
                g.drawLine(10, y, 210, y);
                y = y + 25;
            }
        }
    }

    このプログラムを実行すると、長さ 200 ピクセルの水平線が 9 本描画されることがわかります。

    whileステートメントは Java のループ ステートメントです。このステートメントは、Java に次のように動作するように指示します。 whileステートメントで、Java は括弧内の式を調べて、「 y は210 以下ですか?」と尋ねます。

    • 答えが「はい」の場合、Java は中括弧 (「{」と「}」) で囲まれたコードのブロックに入ります。ループ部分はコード ブロックの最後に発生します。 Java が終了中括弧に到達すると、ループしてwhileステートメントに戻り、再度質問します。このループ シーケンスは何度も発生する可能性があります。
    • 答えが「いいえ」の場合、中括弧で囲まれたコードをスキップして続行します。

    このプログラムを実行すると、最初はyが 10 であることがわかります。10 は 210 より小さいため、Java はブロック内を中括弧で囲み、(10,10) から (210, 10) まで線を引き、 y を35 に設定します。そしてwhileステートメントに戻ります。 35 は 210 より小さいため、Java は中括弧で囲まれたブロックに入り、(10,35) から (210, 35) まで線を引き、 yを 60 に設定してからwhileステートメントに戻ります。このシーケンスは、最終的にy が210 より大きくなるまで繰り返されます。その後、プログラムは終了します。

    次のようにプログラムに 2 番目のループを追加することで、グリッドを完成させることができます。

     java.awt.Graphicsをインポートします。
    
    パブリッククラスFirstAppletはjava.applet.Appletを拡張します
    {
    
        パブリックボイドペイント(グラフィックスg)
        {
            int x, y;
            y = 10;
            一方 (y <= 210)
            {
                g.drawLine(10, y, 210, y);
                y = y + 25;
            }
            x = 10;
            while (x <= 210)
            {
                g.drawLine(x, 10, x, 210);
                x = x + 25;
            }
        }
    }

    whileステートメントには 3 つの部分があることがわかります。

    • y を 10 に設定する初期化ステップがあります。
    • 次に、while ステートメントのかっこ内に評価ステップがあります。
    • 次に、while ステートメントのどこかに、y の値を増やす増分ステップがあります。

    Java は、 whileステートメントよりももう少しコンパクトな、同じことを行う別の方法をサポートしています。 for文といいます。次のようなwhileステートメントがあるとします。

     y = 10;
            while (y <= 210)
            {
                g.drawLine(10, y, 210, y);
                y = y + 25;
            }

    その場合、同等のforステートメントは次のようになります。

     for (y = 10; y <= 210; y = y + 25)
            {
                g.drawLine(10, y, 210, y);
            }

    forステートメントが実行するのは、初期化、評価、および増分行を短い単一行に凝縮することだけであることがわかります。それは単に作成したプログラムを短縮するだけであり、それ以上のものではありません。

    ここで、ループに関する 2 つの簡単なポイントを説明します。

    • 多くの場合、 y を210 に初期化し、ループを通過するたびに 25 ずつデクリメントすることも同様に簡単です。評価では、「 y は10 以上ですか?」と尋ねられます。選択はあなた次第です。ほとんどの人は、頭の中で引き算より足し算の方が簡単だと考えますが、あなたは違うかもしれません。
    • インクリメントステップは非常に重要です。 「y = y + 25;」という部分を誤って省略してしまったとしましょう。ループの中。起こることは、 yの値が変わることはないということです – それは常に10になります。したがって、それは210を超えることは決してなく、ループは永遠に続きます(またはコンピューターをオフにしたり、ウィンドウを閉じて停止するまで) 。この条件は、無限ループと呼ばれます。それはかなり一般的なバグです。

    ループでいくつかの練習をするには、次の数字を描くためにプログラムを作成してみてください。

     Javaの仕組み

    Javaやその他のコンピュータープログラミング言語に関する詳細情報については、次のページのリンクをご覧ください。

  • 便利な Blogger の 10 の機能

    Blogger.comブログをまとめました。ここ数週間、あるいは何か月もの間、着実に投稿を続けています。小さいながらも熱心なフォロワーを獲得し、ようやくこのブログのコツを掴んだと感じています。ここで、より高度な機能が必要になります。さらに便利なトリック。さらに詳しい情報。もしかしたら、このブログの仕事の見返りとして現金ももらえるかもしれません。

    幸いなことに、Blogger には役立つ機能が多数あります。読者の数を確認し、モバイル デバイスからブログに投稿し、他のライターをブログに追加してブログ チームを作成し、広告を掲載して収入を生み出します。この記事ではそのすべてを説明します。 Blogger 102 と考えてください。

    10: 収益タブ

    Blogger 管理ページの左側に「収益」というタブがあります。これにより、ブログをGoogle AdSense アカウントにリンクできるようになります。 AdSense はブログ投稿の主題を自動的に検出し、関連する広告を読者に表示します。その後、クリックまたは広告インプレッションごとにお金 (通常は数セント) を得ることができます。

    ブログ上の AdSense 広告の表示場所をカスタマイズしたり、テキスト広告のフォントや色を変更したり、ブログに表示される一部の広告カテゴリを制限したりできます。サインアップして広告が数日間有効になると、[収益] タブに収益額などの統計情報が表示されます。

    9: テンプレートデザイナー

    便利な Blogger の 10 の機能

    「テンプレート」タブに移動し、「カスタマイズ」ボタンを押します。そこから、以前にインストールしたテンプレートのほぼすべてのパラメータを調整できます。メイン列とサイドバーの幅を変更したり、背景画像を調整したり、さまざまなブログ要素 (ヘッダー、フッター、サイドバー) を移動したりすることもできます。

    [詳細設定] タブでは、リンクから見出し、投稿テキスト、その他すべてに至るまで、ブログ要素のフォント、サイズ、色をカスタマイズできます。あなたのブログが他の人のありきたりなコピーのように見える必要はありません。既成概念にとらわれずに考えることを恐れないでください。

    8: 統計タブ

    ブロガーにとって最も重要なことの 1 つは、「私がここに書いたものを何人の人が読んでいるか?」ということです。 Blogger を使用すると、それを驚くほど簡単に見つけることができます。トラッキング コードやプラグインをインストールする必要はありません。 [統計] タブに移動すると、今日、昨日、先月、ブログ作成以降のページビュー数が表示されます。投稿ごとのトラフィックやトラフィックの発信元を確認することもできます。

    統計をさらに細分化することも可能です。読者のほとんどがどの国の出身なのか、さらにはどのブラウザやオペレーティング システムを使用しているのかを知りたい場合は、すべての情報が [統計] タブで入手できます。

    7: Googleビデオ

    便利な Blogger の 10 の機能

    Blogger は他のGoogle サービスと統合されているため、ブログ投稿にビデオを簡単に追加できます。 「新しい投稿を作成」フォームの上部にビデオボタンがあります。複数のオプションを含む選択ボックスが開きます。投稿に埋め込むビデオを YouTube で検索したり、すでに YouTube にアップロードした独自のビデオを追加したりできます。または、コンピュータからビデオを直接アップロードすることもできます。このビデオは Google ビデオによってホストされ、YouTube にアップロードされたビデオとは異なり、検索したり公開したりすることはできません (ブログ投稿に埋め込んだ場合でも、ブログ投稿に表示されます) )。

    最後に、Android スマートフォン (無料アプリが必要) またはウェブカメラからビデオをアップロードするオプションがあります。

    6: ブロガーの話題

    Blogger Buzz は単にBloggerに関するブログです。少しメタ的すぎるように思えるかもしれませんが、実際には非常に便利です。このブログには、Blogger の舞台裏で働く人々による、Blogger の機能の使用方法の説明、新機能の発表、ブログを最大限に活用するためのヒントの提供などの投稿が満載されています。

    Blogger の使用に真剣に取り組んでいる場合、またはブログの運営をより簡単に楽しくするためのヒントやコツが必要な場合は、Blogger Buzz をブックマークする必要があります。

    5: チームブログ

    便利な Blogger の 10 の機能

    ブログを更新し続けるのは、一人でやっていると大変な作業です。ブロガーのチームを編成できれば、ブログのコンテンツが増えるだけでなく、多様なアイデアやライティング スタイルから恩恵を受けることができます。どうやってそれを実現するのですか?

    まず、ブログはメインの Google アカウントで 1 人で作成する必要があります。次に、「設定」タブと「基本」サブタブに移動します。 [権限] の下に、作成者を追加するオプションがあります。電子メールアドレスを入力して著者を追加します。これを機能させるには Google アカウントが必要ですが、持っていない場合でも、招待状によって作成できます。

    次に、他の著者にどのレベルを割り当てるかを決定する必要があります。彼らを管理者にすると、ブログを完全に制御できるようになります。 (投稿の作成と編集に加えて) オプションの変更、テンプレートの調整、作成者の追加または削除を行うことができます。管理者ではない作成者でも、自分の投稿を作成および編集できます。

    4: 電話でブログを書く

    モバイル ブロガーであれば、携帯電話でブログを更新できることを知ってうれしいでしょう。 スマートフォンである必要はなく、テキスト メッセージを送受信できる機能があれば十分です。 BLOGGR にテキストを送信するだけで、新しいモバイル ブログを作成したり、既存の Blogger ブログにリンクしたりするために使用できる登録コードが取得されます。

    登録すると、テキストメッセージで写真や文章をブログに送信できるようになります。プロセス全体とコマンドのリストは、 にあります。

    3: Google+

    便利な Blogger の 10 の機能

    Google+ はGoogle のソーシャル ネットワークです。 Blogger に完全に統合されています (管理パネルに「Google+」タブがあります)。ブログを Google+ アカウントにリンクすると、いくつかの素晴らしい利点があります。ブログ投稿を Google+ の友達と簡単に共有でき、友達もより簡単にブログ投稿を共有できます。

    また、人々があなたの投稿にどのように反応しているかを確認するのも簡単になります。誰があなたの投稿に「+1」を与えたかを確認し、誰があなたの投稿を共有したか(そしてその後誰がそれを再共有したか)を確認できます。

    Google+ は、何よりも友人や同僚と連絡を取り合う手段であり、ブログ投稿について活発にディスカッションしたり、Google+ ハングアウトを主催して読者とライブでチャットしたりすることもできます。

    2: Picasa ウェブ アルバム

    Picasa は Google の写真共有サイトです。もうお気づきかもしれませんが、これはBloggerにリンクされています。 Blogger の投稿で使用する画像をアップロードすると、その画像は Picasa アカウントの独自のアルバムに追加されます。 Picasa アルバムから画像を直接取得して、ブログ投稿に配置することもできます。 Picasa には独自の画像エディタが組み込まれているため、Blogger 管理パネルから簡単にアクセスして、画像の調整や整理を簡単に行うことができます。投稿内の写真にタグを付けて、Google+ ソーシャル サークルと共有することもできます。

    1: ブロガーウィジェット

    便利な Blogger の 10 の機能

    ウィジェットは、ブログに追加機能を追加できる小さなスクリプトまたはアプレットです。 「レイアウト」タブからブログに追加できます。これにより、ブログのレイアウトのモックアップが表示されます。さまざまなセクションで、「ガジェットを追加する」オプションがあります。 「ガジェット」は、Google 独自の社内ウィジェットを表す Google の用語です。これらには、読者がブログを他の言語に翻訳したり、 Twitter フィードから最近の投稿を表示したり、最も人気のある投稿を表示したり、写真のスライドショーを作成したりできるガジェットなど、非常に便利なガジェットがたくさんあります。

    サードパーティのウィジェットを追加することもできます。 [ガジェットの追加] ダイアログには [独自に追加] オプションがあり、Blogger で使用するために設計されたカスタム ウィジェットの URL を入力できます。

    著者のメモ: 便利な Blogger の 10 の機能

    Blogger が Google の他のサービス (そのほとんどは無料) とどの程度統合されているかが、大きなセールス ポイントです。 Google に魂を売ることを心配している場合、これは逆効果になる可能性があります。おそらくほとんどの人はすでに Google アカウントを持っているので、Blogger を使用するのにそれほどハードルはありません。