1 00:00:00,000 --> 00:00:02,862 >> [音楽再生] 2 00:00:02,862 --> 00:00:10,030 3 00:00:10,030 --> 00:00:11,580 >> DAVIDマラン:これはCS50です。 4 00:00:11,580 --> 00:00:12,880 これは週9の開始です。 5 00:00:12,880 --> 00:00:15,797 そして、これは持っているであろうものです 氏ブール生誕200歳の誕生日でし。 6 00:00:15,797 --> 00:00:17,630 だから、これは仲間であります 私たちは、それとなく触れてきた人に 7 00:00:17,630 --> 00:00:21,800 使用方法についてかなりの時間 trueとfalseのブール変数、 8 00:00:21,800 --> 00:00:22,910 1と0など。 9 00:00:22,910 --> 00:00:25,270 そして、これはGoogleのでした 彼へのトリビュート今日。 10 00:00:25,270 --> 00:00:26,489 彼は200になっているだろう。 11 00:00:26,489 --> 00:00:28,280 だから、あなたがしたい場合 CS50のランチにご参加、 12 00:00:28,280 --> 00:00:30,279 リンクを見てみましょう コー​​スのウェブサイト。 13 00:00:30,279 --> 00:00:33,580 そして、このような顔や友人など これらは、ここでケンブリッジであなたを待っています。 14 00:00:33,580 --> 00:00:35,360 これらのような顔はニューヘブンであなたを待っています。 15 00:00:35,360 --> 00:00:37,800 INと、実際には、ケン ニューヘブンは親切に作られました 16 00:00:37,800 --> 00:00:41,594 イーライのアニメーションGIFと呼ばれるもの ここ最近では、GIFはまだありlunch-- 17 00:00:41,594 --> 00:00:44,260 別のグラフィックファイル形式、 これであなたはそのfamiliar--です 18 00:00:44,260 --> 00:00:46,300 このような小さなものになります。 19 00:00:46,300 --> 00:00:48,179 だから順序は、[OK]をof--。 20 00:00:48,179 --> 00:00:49,720 ここでケンブリッジの誰もが笑っていません。 21 00:00:49,720 --> 00:00:51,720 しかし、ニューヘブンで、この 右、本当に面白いのですか? 22 00:00:51,720 --> 00:00:52,350 大丈夫。 23 00:00:52,350 --> 00:00:53,940 >> だから、私たちに参加ください。 24 00:00:53,940 --> 00:00:55,900 ここではハーバード大学、 具体的には、この水曜日、 25 00:00:55,900 --> 00:00:59,480 あなたは二年生または新入生ならeven-- 作るのかさえjunior--思考 26 00:00:59,480 --> 00:01:01,563 コンピュータへのスイッチ 科学、知っているだろうことがあります 27 00:01:01,563 --> 00:01:04,440 CSはこのフェア助言します まもなくクラス後の水曜日、 28 00:01:04,440 --> 00:01:08,040 コンピュータ4:00 PMに 科学の建物マクスウェルドウォーキン。 29 00:01:08,040 --> 00:01:11,890 私たちはもちろんの上でこれを出してあげます 明日のウェブサイトだけでなく。 30 00:01:11,890 --> 00:01:14,430 ドーナツは、私が聞いている、提供されます。 31 00:01:14,430 --> 00:01:15,180 >> 大丈夫。 32 00:01:15,180 --> 00:01:18,790 私が突っついたとても面白いですstory-- 周りのインターネット上で、 33 00:01:18,790 --> 00:01:23,575 そして、私はいくつかの古いアーカイブを見つけました 私の元のウェブサイトの。 34 00:01:23,575 --> 00:01:25,950 そして、それはこの問題を回避out--なります 時間は、それは非常にタイムリーなようです 35 00:01:25,950 --> 00:01:28,910 私はUCの選挙ことを集めるため、 再びギアアップしようとしています。 36 00:01:28,910 --> 00:01:32,230 だから私は、UCのために走った無残失いました。 37 00:01:32,230 --> 00:01:34,770 そして多分これはなぜ一部にありました。 38 00:01:34,770 --> 00:01:37,600 だから、これは当時の私のウェブサイトでした。 39 00:01:37,600 --> 00:01:40,477 何らかの理由で、私はそれがだと思いました 人々に伝える前に、良いアイデア、 40 00:01:40,477 --> 00:01:43,310 何を私のプラットフォームたとなぜ彼ら 彼らが持っていることを、私のために投票すべき 41 00:01:43,310 --> 00:01:47,770 ことを確認するために入力する]をクリックします 振り返っている情報は、 42 00:01:47,770 --> 00:01:48,660 不気味のようなもの。 43 00:01:48,660 --> 00:01:50,910 私は本当にそれが何であったか知りません。 44 00:01:50,910 --> 00:01:53,140 >> しかし、それは確かにしませんでした キャンペーンを助けます。 45 00:01:53,140 --> 00:01:56,874 私も先輩によることがわかりました year--私はこのマペットのカレンダーを持っていました。 46 00:01:56,874 --> 00:01:58,540 マペットは、当時流行した種類のでした。 47 00:01:58,540 --> 00:01:59,456 それともそうではありませんでした。 48 00:01:59,456 --> 00:02:01,790 私は当時マペットのカレンダーを持っていました。 49 00:02:01,790 --> 00:02:04,860 そして、私はそれが名前に涼しいだろうと思いました ハーバード大学のネットワーク上の自分のコンピュータ 50 00:02:04,860 --> 00:02:07,460 frogman.student.harvard.edu。 51 00:02:07,460 --> 00:02:10,370 当時、我々はすべて独自に持っていました 識別可能なホスト名。 52 00:02:10,370 --> 00:02:13,150 そして、あなたはいくつかの虚栄心を選ぶことができます 代わりに自分の名前の名前。 53 00:02:13,150 --> 00:02:15,580 そして、私はいくつかの理由でフロッグマンと一緒に行きました。 54 00:02:15,580 --> 00:02:19,040 >> そして私は私が多くを費やしstarted-- 時間のこれらのリンクを介してクリック 55 00:02:19,040 --> 00:02:20,280 今朝。 56 00:02:20,280 --> 00:02:24,690 そして、これは、私についてのページでした これは今種類の愛らしいようです。 57 00:02:24,690 --> 00:02:28,210 しかし、それはまた、単にに証言します どこまで技術が来ています。 58 00:02:28,210 --> 00:02:30,310 私は戻って一日で、平均値、 486は何かでした。 59 00:02:30,310 --> 00:02:34,090 このごろ、それは、スーパー、スーパーです スーパースローよく少ないです 60 00:02:34,090 --> 00:02:36,216 あなたはあなたの中に持っているかもしれないより 自分のポケット、これらの日。 61 00:02:36,216 --> 00:02:38,465 そこにそれの詳細があります さらに恥ずかしかったです。 62 00:02:38,465 --> 00:02:39,770 だから私はそれでそれを残しておきます。 63 00:02:39,770 --> 00:02:42,640 しかし、それは私の最初でした web--への進出ああ、ありません。 64 00:02:42,640 --> 00:02:43,180 それはありませんでした。 65 00:02:43,180 --> 00:02:47,000 Webプログラミングへの私の最初の本当の進出 私は忘れてしまったこのサイトは、でした。 66 00:02:47,000 --> 00:02:50,620 ある時点で、私はどのように学びました 反復的な背景画像を作成します。 67 00:02:50,620 --> 00:02:55,260 そして私は、このタイルが有効であることが見出さ ホッケー選手、サッカー、ゴルフなどの 68 00:02:55,260 --> 00:02:58,040 ボール、または何でもそれはあります 一年生のIMSのウェブサイトのため。 69 00:02:58,040 --> 00:03:01,390 そして、これは純粋に、実際にありました 私はon--取った最初のWebベースのプロジェクト 70 00:03:01,390 --> 00:03:03,880 私は多分年生思います 年、ジュニアyear-- 71 00:03:03,880 --> 00:03:07,622 CS50とCS51を取った後、1 一般的な後続のクラスの。 72 00:03:07,622 --> 00:03:09,330 私が探しているに気づきました アーカイブを 73 00:03:09,330 --> 00:03:12,150 その私の後継者の一つであり、 友人は、李氏は、種類の変更します 74 00:03:12,150 --> 00:03:13,480 彼自身の著作権。 75 00:03:13,480 --> 00:03:17,520 しかし、これは確かに何かしたこと 私は恥ずかしさにを所有する必要があります。 76 00:03:17,520 --> 00:03:19,370 しかし、時間で、この 最初のWebサイトでした、 77 00:03:19,370 --> 00:03:22,220 私は数週間前に言ったように、 新入生ができたことにより、 78 00:03:22,220 --> 00:03:24,350 ここ学内スポーツのために登録します。 79 00:03:24,350 --> 00:03:27,950 そしてそれが判明します その背景画像 80 00:03:27,950 --> 00:03:29,530 そのように、このような良いアイデアではありません。 81 00:03:29,530 --> 00:03:31,840 しかし、ウェブは、新規であり、 我々はすべての実験を行いました。 82 00:03:31,840 --> 00:03:34,310 そして、これは私です どうやら時でした。 83 00:03:34,310 --> 00:03:34,810 大丈夫。 84 00:03:34,810 --> 00:03:38,020 だから、さらに苦もなく、私たちはスイッチ ギア、今日は本当に、あなたを与えるために、 85 00:03:38,020 --> 00:03:42,250 あなたが見つけるかもしれない最後のピース 最終的なプロジェクトのために特に有用です 86 00:03:42,250 --> 00:03:44,780 もに開始されています 全ワールドワイドウェブを作ります 87 00:03:44,780 --> 00:03:46,680 もう少し分かりやすい感じ。 88 00:03:46,680 --> 00:03:49,460 実際、我々は導入するつもりです もう一つのプログラミング言語 89 00:03:49,460 --> 00:03:52,474 似ているというJavaScript そして、異なる方法で異なります 90 00:03:52,474 --> 00:03:54,140 言語から、私たちはこれまで見てきました。 91 00:03:54,140 --> 00:03:55,807 >> だからC、リコールは、このコンパイル言語です。 92 00:03:55,807 --> 00:03:57,473 あなたは、コンパイラを介して実行するようになってきました。 93 00:03:57,473 --> 00:03:59,810 あなたは、オブジェクトのソースコードを取得 コー​​ド、または0と1。 94 00:03:59,810 --> 00:04:03,000 そして、それらは0と1であること あなたのCPU、中央演算処理装置、 95 00:04:03,000 --> 00:04:04,360 実際に理解しています。 96 00:04:04,360 --> 00:04:06,610 PHPは、対照的に、ではありません コンパイル言語。 97 00:04:06,610 --> 00:04:08,772 どのようなことですか? 98 00:04:08,772 --> 00:04:09,980 それはインタプリタ言語です。 99 00:04:09,980 --> 00:04:11,750 だから、いくつかのプログラムがあります インタプリタと呼ばれること 100 00:04:11,750 --> 00:04:13,708 にit--トップを読むために持っています right--する左下、 101 00:04:13,708 --> 00:04:16,519 とのどのようなすべてを把握 あなたの構文がないと意味、 102 00:04:16,519 --> 00:04:20,200 それは、ループまたは条件ですか プログラミングのあるいは他の番号 103 00:04:20,200 --> 00:04:20,740 構築。 104 00:04:20,740 --> 00:04:22,210 だから、インタプリタ言語です。 105 00:04:22,210 --> 00:04:23,910 >> その後、我々は、HTMLを導入しました。 106 00:04:23,910 --> 00:04:26,440 そして、HTMLにもありません プログラミング言語。 107 00:04:26,440 --> 00:04:28,110 私たちは何を呼ぶだろうか? 108 00:04:28,110 --> 00:04:31,650 ちょうどであるマークアップ言語、 それを言っての派手な方法の一種 109 00:04:31,650 --> 00:04:35,820 などのプログラミング構造を持っていません 私たちも、バックスクラッチの日に見ました。 110 00:04:35,820 --> 00:04:36,720 何のループがありません。 111 00:04:36,720 --> 00:04:37,920 何の条件はありません。 112 00:04:37,920 --> 00:04:40,820 それは本当に言語であります あなたのデータをマークアップについて 113 00:04:40,820 --> 00:04:43,620 それをフォーマットしますか いくつかの方法でそれを構成します。 114 00:04:43,620 --> 00:04:46,147 >> CSS、一方、同様に ないプログラミング言語。 115 00:04:46,147 --> 00:04:47,730 それも、より審美的に指向です。 116 00:04:47,730 --> 00:04:50,470 そして、それはあなたが微調整の並べ替えすることができます フォントサイズや色のようなもの 117 00:04:50,470 --> 00:04:51,850 配置とそのすべてと。 118 00:04:51,850 --> 00:04:52,370 その後、我々は持っていました 119 00:04:52,370 --> 00:04:53,160 >> SQL。 120 00:04:53,160 --> 00:04:56,010 だから、SQLは、実際にプログラミングです ある意味で、言語、 121 00:04:56,010 --> 00:04:59,330 いえ仕立て 特にデータベースへ。 122 00:04:59,330 --> 00:05:03,347 しかし、我々は次の目的にのみご紹介していても 選択して挿入して、削除および更新 123 00:05:03,347 --> 00:05:05,430 その他のカップル、 あなたが実際にすることができますが判明 124 00:05:05,430 --> 00:05:07,380 関数を記述したり 彼らがしているような手順、 125 00:05:07,380 --> 00:05:11,270 見てSQLおよび行為で、呼ばれます かなりPHPとC関数のよう。 126 00:05:11,270 --> 00:05:12,390 だから、それらが存在することを知っています。 127 00:05:12,390 --> 00:05:15,348 しかし、私たちも彼らと気にしないでください 私たちはここに表面を傷つけるよう。 128 00:05:15,348 --> 00:05:18,600 そしてJavaScriptの、最後の 私たちの言語が正式に導入されました。 129 00:05:18,600 --> 00:05:21,029 そこでJavaScriptは、あまりにも、です インタプリタ言語。 130 00:05:21,029 --> 00:05:23,070 そして、おなじみのものが行います あなたはそれを区別したいです 131 00:05:23,070 --> 00:05:26,960 いくつかの特性を有します CとPHPの両方から? 132 00:05:26,960 --> 00:05:28,300 何がそれは違うのですか? 133 00:05:28,300 --> 00:05:29,650 >> 観客:それはコンパイルされていません。 134 00:05:29,650 --> 00:05:29,930 >> DAVIDマランは:もう一度言って? 135 00:05:29,930 --> 00:05:31,200 >> 観客:それはコンパイルされていません。 136 00:05:31,200 --> 00:05:31,930 >> DAVIDマランは:それはコンパイルされていません。 137 00:05:31,930 --> 00:05:33,450 だから、あまりにも、解釈されます。 138 00:05:33,450 --> 00:05:34,760 だから、それがコンパイルされていません。 139 00:05:34,760 --> 00:05:37,210 しかし、それはPHPのようなそれは少しになります。 140 00:05:37,210 --> 00:05:39,545 しかし、それはまだ異なるです いくつかの印象的な方法では、PHP、 141 00:05:39,545 --> 00:05:40,920 少なくとも方法で我々はそれを使用します。 142 00:05:40,920 --> 00:05:41,205 うん? 143 00:05:41,205 --> 00:05:41,940 >> 観客:それはクライアント側が実行されます。 144 00:05:41,940 --> 00:05:44,000 >> DAVIDマラン:それは実行されます クライアント側、通常。 145 00:05:44,000 --> 00:05:47,190 それは確かに際立ったのです 今の私たちのために特徴的。 146 00:05:47,190 --> 00:05:51,170 Cは意味では、サーバー側でした 我々はCS50 IDEですべてをしたこと。 147 00:05:51,170 --> 00:05:53,630 PHPはこれまでされています サーバー側限り 148 00:05:53,630 --> 00:05:56,550 それは、あまりにも、interpreted--につれて コンパイルされたが、interpreted--ありません 149 00:05:56,550 --> 00:06:00,690 もちろんですCS50 IDE、内部 クラウド内だけでサーバーまたはサーバー。 150 00:06:00,690 --> 00:06:03,070 >> しかし、JavaScriptのも あなたのにあなたが行っています 151 00:06:03,070 --> 00:06:07,000 PSET、言う、のためにそれを書き込みを開始します 8、あなたがしているprojects--多分最後の 152 00:06:07,000 --> 00:06:09,620 それを右に行きます CS50 IDEとそれを保存 153 00:06:09,620 --> 00:06:14,760 CS50 IDE、CS50 IDE内のファイルで そして、今度は、クラウドサーバー 154 00:06:14,760 --> 00:06:19,160 それがホストされているその上に、つもりはありません 解釈またはあなたのコードを実行します。 155 00:06:19,160 --> 00:06:23,880 むしろ、で送信されるだろう ブラウザまで未変化体。 156 00:06:23,880 --> 00:06:26,990 そして、それは、その後、IEになるだろう クロムまたはFirefoxやSafariや 157 00:06:26,990 --> 00:06:30,697 またはそれは実際にどのような解釈します それは、上から下へは、左から右へ。 158 00:06:30,697 --> 00:06:32,780 だから際立っ 今日のための特徴 159 00:06:32,780 --> 00:06:36,110 JavaScriptはクライアント側であるということです PHP、例えば、 160 00:06:36,110 --> 00:06:37,690 サーバー側となっています。 161 00:06:37,690 --> 00:06:40,920 さて、これは興味深い意味を持っています 、のように、知的財産のための 162 00:06:40,920 --> 00:06:42,660 だれが実際にあなたのコードを見ることができます。 163 00:06:42,660 --> 00:06:44,860 そして実際、あなたが行くことができます ウェブ上で最もを参照してください 164 00:06:44,860 --> 00:06:47,530 誰かが持っている任意のコード JavaScriptで書かれました。 165 00:06:47,530 --> 00:06:50,230 時にはそれが読みやすいですが、 時にはそれは、難読化されています。 166 00:06:50,230 --> 00:06:52,550 しかし、やがてその上より。 167 00:06:52,550 --> 00:06:57,530 >> JavaScriptのように、きれいに十分であり、 Cに、構文的に、超同様の 168 00:06:57,530 --> 00:06:59,364 そして、PHPのような多くの、 何の主な機能はありません。 169 00:06:59,364 --> 00:07:02,113 あなたが書き込みを開始する場合 JavaScriptコードは、あなたが今日わかりますように、 170 00:07:02,113 --> 00:07:03,270 あなたはそれを書き始めます。 171 00:07:03,270 --> 00:07:06,910 しかし、それは特に、あなたが表示されます、です ウェブブラウザのコンテキストで有用。 172 00:07:06,910 --> 00:07:09,820 しかし、私の小さな 通常earlier-- disclaimer-- 173 00:07:09,820 --> 00:07:13,790 ますますあなたができると言うことでした 今日は、JavaScriptのサーバー側を使用 174 00:07:13,790 --> 00:07:17,655 Node.jsのと呼ばれる派手なフレームワークを使用して CS50自身のアプリケーションのいくつかのこと 175 00:07:17,655 --> 00:07:18,280 で書かれています。 176 00:07:18,280 --> 00:07:20,640 50をチェックし、実際にNode.js.を使用しています 177 00:07:20,640 --> 00:07:24,140 しかし、我々は集中するつもりです ここに上のJavaScriptクライアント側。 178 00:07:24,140 --> 00:07:26,750 >> そこでここではPHPの条件のセットです。 179 00:07:26,750 --> 00:07:29,350 申し訳ありませんが、実際にin--、その 文は、あまりにも正しいです。 180 00:07:29,350 --> 00:07:32,200 ここでの集合でもあります JavaScriptで条件。 181 00:07:32,200 --> 00:07:35,560 構文的には、それはあります CへとPHPと同じ。 182 00:07:35,560 --> 00:07:39,040 氏ブールの表現であり、 同様に、文法的に 183 00:07:39,040 --> 00:07:41,190 CとPHPの両方と同じ。 184 00:07:41,190 --> 00:07:44,100 また、内のスイッチを持っています 同一に見えるJavaScriptの。 185 00:07:44,100 --> 00:07:46,350 我々は、ループを持っています 同一の構造、 186 00:07:46,350 --> 00:07:48,140 ループしながら、whileループを実行します。 187 00:07:48,140 --> 00:07:49,980 >> この1は少し違います。 188 00:07:49,980 --> 00:07:53,120 PHPは、各構築物のために持っていました あなたが使用している可能性があること 189 00:07:53,120 --> 00:07:55,320 または、おそらく、PSET 7で使用されます。 190 00:07:55,320 --> 00:07:59,460 JavaScriptは、この特別なバージョンを持っています あなたは、文字通り何かを言うための場所 191 00:07:59,460 --> 00:08:03,864 これは、オブジェクト内の変数キーのような のが非常に簡潔な方法です、 192 00:08:03,864 --> 00:08:06,780 私はobject--を持ってきた場合、私たちはよ moment--で再びこれらについて話します 193 00:08:06,780 --> 00:08:10,370 私はすべての反復処理したいです 内部のキーと値のペアの、 194 00:08:10,370 --> 00:08:13,620 私はどのように把握する必要がありません。 ゼロの数値インデックス、それらを、1、 195 00:08:13,620 --> 00:08:14,580 二つ、三つ。 196 00:08:14,580 --> 00:08:15,900 >> 私は、文字通り、これを言うことができます。 197 00:08:15,900 --> 00:08:20,740 また、各繰り返しでは、JavaScript 私は、変数のキーが更新されますために 198 00:08:20,740 --> 00:08:24,810 最初のキーは、次のキーであるためには、 その後、次のキーは、次のキー、 199 00:08:24,810 --> 00:08:25,510 など。 200 00:08:25,510 --> 00:08:30,000 そして、私は処理することにより、その値を取得することができます 私たちが見るようJavaScriptでのオブジェクト、 201 00:08:30,000 --> 00:08:32,584 それはだかのように PHPの連想配列。 202 00:08:32,584 --> 00:08:35,750 確かに、あなたは最終的に包装された場合は 連想配列が何であるかを周りを気に 203 00:08:35,750 --> 00:08:40,140 PHPで、あなたは今のようなことを考えることができます JavaScriptでのオブジェクトと同じ。 204 00:08:40,140 --> 00:08:42,030 しかし、それは少しです 過度の単純化。 205 00:08:42,030 --> 00:08:47,230 >> 配列は同じで、きれいに十分な、見て 一つの文字を除いて、PHPに。 206 00:08:47,230 --> 00:08:51,425 ここで不足している一つのことがあります 私たちは、PHPで先週見たこと。 207 00:08:51,425 --> 00:08:52,050 何を省略していますか? 208 00:08:52,050 --> 00:08:53,310 うん? 209 00:08:53,310 --> 00:08:54,090 いいえドル記号はありません。 210 00:08:54,090 --> 00:08:56,240 だから我々は、に戻っています より正常な世界場所 211 00:08:56,240 --> 00:08:58,050 変数はドル記号を持っていません。 212 00:08:58,050 --> 00:09:00,810 しかし、あなたはそれらを接頭辞行います VARと、一般的に。 213 00:09:00,810 --> 00:09:02,230 そして、VARは変数を意味します。 214 00:09:02,230 --> 00:09:06,440 そして、PHPのような多くが緩くあります typed--それによって種類があります、 215 00:09:06,440 --> 00:09:10,120 数値と文字列があります そして、山車などforth-- 216 00:09:10,120 --> 00:09:11,570 JavaScriptは同様のタイプがあります。 217 00:09:11,570 --> 00:09:15,470 しかし、それは緩くことで入力しています私たち プログラマは、それらを指定する必要はありません。 218 00:09:15,470 --> 00:09:18,980 私達はちょうど認識する必要があり 異なるタイプが存在すること。 219 00:09:18,980 --> 00:09:21,690 >> 変数は、meanwhile--ここでどのようです 私たちは "こんにちは、世界"宣言できます 220 00:09:21,690 --> 00:09:22,230 文字列として。 221 00:09:22,230 --> 00:09:24,890 それは同じです注意してください PHPが、無ドル記号。 222 00:09:24,890 --> 00:09:27,120 そして、これは私たちがよものです 今日より多くのを見て開始し、 223 00:09:27,120 --> 00:09:30,990 あなたがオブジェクトを持っていることによって キーと値を持ちます。 224 00:09:30,990 --> 00:09:32,990 そして、あなたは試してみたい場合 最後week--から推論することができます 225 00:09:32,990 --> 00:09:34,730 構文は少し異なります。 226 00:09:34,730 --> 00:09:39,740 しかし、少し正気はどのように多くのcheck-- キーは、このオブジェクトが持っているように見えるのでしょうか? 227 00:09:39,740 --> 00:09:40,850 だから私は4を参照してください。 228 00:09:40,850 --> 00:09:43,560 私は2つを参照してください。 229 00:09:43,560 --> 00:09:44,680 >> だから、実際には2つです。 230 00:09:44,680 --> 00:09:47,260 だから、これはコレクションです 2キーと値のペアの。 231 00:09:47,260 --> 00:09:49,820 キーは、その値がFBであるシンボルです。 232 00:09:49,820 --> 00:09:52,620 キーは、その値が101.53である価格です。 233 00:09:52,620 --> 00:09:54,230 だから、それらは、二つのキーと値のペアです。 234 00:09:54,230 --> 00:09:58,120 そして、PHP--を覚えて、これは、再びです 構文上の違いだけの一種。 235 00:09:58,120 --> 00:10:00,170 それはすべてのことではありません 知的興味深いです。 236 00:10:00,170 --> 00:10:04,610 PHPはこの同じことを書かれている可能性があります follows--引用符としてのものに等しいです。 237 00:10:04,610 --> 00:10:06,730 そして、私は角括弧にこれらを変更します。 238 00:10:06,730 --> 00:10:11,240 そして私は、これを変更します 引用された言葉、「価格」。 239 00:10:11,240 --> 00:10:12,500 そして私は、コロンを使用しないでください。 240 00:10:12,500 --> 00:10:15,060 私は先週、何を使用しましたか? 241 00:10:15,060 --> 00:10:18,290 うん、等号 ファンキーな表記を矢印。 242 00:10:18,290 --> 00:10:21,470 >> そして、私はここで同じことをしました。 243 00:10:21,470 --> 00:10:23,580 ここでは同じこと。 244 00:10:23,580 --> 00:10:24,240 そして、それがすべてです。 245 00:10:24,240 --> 00:10:27,752 これがいない場合ので、それは大丈夫です 実際には、メモリに沈ん 246 00:10:27,752 --> 00:10:29,960 まだそれは本当にだから 知的面白くありません。 247 00:10:29,960 --> 00:10:31,660 それはちょうど、構文の違いです。 248 00:10:31,660 --> 00:10:33,230 しかし、アイデアはまったく同じです。 249 00:10:33,230 --> 00:10:35,910 この変数の内部に JavaScriptでの引用 250 00:10:35,910 --> 00:10:39,020 キーと値のペアの集合であります 一つは、の一つのシンボルであります 251 00:10:39,020 --> 00:10:39,690 価格です。 252 00:10:39,690 --> 00:10:42,340 そして、私はこれらの値を取得することができます 次の構文を持ちます。 253 00:10:42,340 --> 00:10:46,280 ただ、PHPでは、私ができるように 聞かせlike--何かを 254 00:10:46,280 --> 00:10:48,590 私は、このボックスが少し大きくします。 255 00:10:48,590 --> 00:10:52,750 ただ、PHPでは、私ができるように くそ、ああthis--作ります。 256 00:10:52,750 --> 00:10:53,250 いい加減にして。 257 00:10:53,250 --> 00:10:56,350 258 00:10:56,350 --> 00:11:00,800 >> ただPHP-- OKのように、我々はよ ちょうど発表者ノートを使用しています。 259 00:11:00,800 --> 00:11:06,010 ただ、PHPのように、私がすることができます ["記号"] $引用$の見積もりを行います、 260 00:11:06,010 --> 00:11:08,860 これは私を取得します 値が "記号"。 261 00:11:08,860 --> 00:11:12,800 JavaScriptでは、それがあることになるだろう 同一の、私はこれを行うことができます。 262 00:11:12,800 --> 00:11:14,850 だ唯一のこと 不足しているドル記号です。 263 00:11:14,850 --> 00:11:17,470 >> それでうまく十分、その後、あります すべてではないそれほど新しい構文。 264 00:11:17,470 --> 00:11:21,025 それでは、今日に焦点を当てる、本当に、あります アイデアやアプリケーションのいくつか。 265 00:11:21,025 --> 00:11:22,900 そして、最初のそのような アプリケーション、あなたがかもしれません 266 00:11:22,900 --> 00:11:26,090 あなたはPSETに潜った場合に見てきました 7は既にこの構文です。 267 00:11:26,090 --> 00:11:28,980 PSET 7でだから、あなたがしている場合 まだそれを見て見ていてもいなくても、 268 00:11:28,980 --> 00:11:33,570 我々が与えるファイルがあることを知っています あなたには、JavaScript config.json--と呼ばれます 269 00:11:33,570 --> 00:11:34,661 オブジェクト表記。 270 00:11:34,661 --> 00:11:35,160 なぜ? 271 00:11:35,160 --> 00:11:39,540 私たちはをご提供できるようにしたかったです いくつかのキーと値のペアを持つテンプレート。 272 00:11:39,540 --> 00:11:44,290 私たちはあなたのリストを与えることができると思いました ホストの、サーバーの名前。 273 00:11:44,290 --> 00:11:46,710 私たちはあなたに与えたかったです あなたのユーザー名のプレースホルダ 274 00:11:46,710 --> 00:11:48,210 およびパスワードのプレースホルダ。 275 00:11:48,210 --> 00:11:49,410 あなたが見ていない場合 これはまだ、心配することはありません。 276 00:11:49,410 --> 00:11:51,340 PSET 7でこれについての詳細 [?スペック。 ?] その後、 277 00:11:51,340 --> 00:11:53,173 明らかに、私たちはあなたをしたいです -DOSを記入します 278 00:11:53,173 --> 00:11:55,310 あなたがにログインしたときのため あなたの各CS50 IDE、 279 00:11:55,310 --> 00:11:57,630 独自のユーザー名とパスワードを持っています。 280 00:11:57,630 --> 00:12:00,910 >> だから我々は半ダース使用していたかもしれません 以上の異なるファイル形式。 281 00:12:00,910 --> 00:12:02,940 私たちは、.txtファイルを使用することもできました。 282 00:12:02,940 --> 00:12:04,570 私たちは、CSVファイルを使用することができます。 283 00:12:04,570 --> 00:12:06,745 我々が使用していたかもしれません INIファイル、XMLファイル、 284 00:12:06,745 --> 00:12:09,370 全体の束より頭文字こと あなたは今まで聞いたことがない可能性があります。 285 00:12:09,370 --> 00:12:11,244 これは、任意のようなものです 一日の終わりに。 286 00:12:11,244 --> 00:12:16,030 しかし、これらの日の超人気テキストです JSON-- JavaScriptのオブジェクトと呼ばれる形式 287 00:12:16,030 --> 00:12:18,460 Notation--それは次のようになります。 288 00:12:18,460 --> 00:12:20,890 それは、少し不可解です しかし、パターンに気づきます。 289 00:12:20,890 --> 00:12:24,180 あなたはオープンカーリーで始まります ブレース、あなたは同じで終わります。 290 00:12:24,180 --> 00:12:26,550 その内部のものです。 291 00:12:26,550 --> 00:12:27,920 これは、キーと値のペアです。 292 00:12:27,920 --> 00:12:30,580 だから、これは私がオブジェクトであります ここで画面上を見て 293 00:12:30,580 --> 00:12:33,690 それは一つの値を持つ一つのキーを有しています。 294 00:12:33,690 --> 00:12:37,610 そして、ちょうどに基づく推論 前のパターン、ここで重要なのは何ですか? 295 00:12:37,610 --> 00:12:39,790 データベース、事へ コロンの左側。 296 00:12:39,790 --> 00:12:43,500 >> さて、値があることを起こります 複数行この時間。 297 00:12:43,500 --> 00:12:46,760 しかし、値がカーリーで始まります ブレースと中括弧で終了します。 298 00:12:46,760 --> 00:12:49,480 だから、何を提案することです データベースの値の型? 299 00:12:49,480 --> 00:12:52,160 300 00:12:52,160 --> 00:12:54,670 ちょうどより多くの辞書や、 簡潔に、オブジェクト。 301 00:12:54,670 --> 00:12:55,170 右? 302 00:12:55,170 --> 00:13:00,010 これは、データ構造の一つであります 自身の中に他の構造を使用することができます。 303 00:13:00,010 --> 00:13:02,750 この全体のこと、我々はしているのであれば object--とオブジェクトを呼び出します 304 00:13:02,750 --> 00:13:07,101 pairs--キーと値のちょうど束であります データベース自体の値はオブジェクトです。 305 00:13:07,101 --> 00:13:10,350 データベースの値は、全体の束を持っています キーと値のペア、そのうちの最初の 306 00:13:10,350 --> 00:13:13,130 あるホストは、その後、その後、名前を付けます ユーザ名、パスワード、 307 00:13:13,130 --> 00:13:17,550 その値のそれぞれが、一方、それはです 二重引用符でちょうど退屈な文字列。 308 00:13:17,550 --> 00:13:19,770 >> だからではない場合でも、 超クリアなまだ、 309 00:13:19,770 --> 00:13:22,740 これは単にであることを知っています 標準、かなり退屈な方法 310 00:13:22,740 --> 00:13:25,190 標準的な形式でデータを格納します。 311 00:13:25,190 --> 00:13:27,700 しかし、一般的なミスあなたに でもPSET 7に、なるかもしれません、 312 00:13:27,700 --> 00:13:32,120 あなたの場合のように少し愚かなことであり、 偶然そこにカンマを省略します。 313 00:13:32,120 --> 00:13:34,900 それはファイルをもたらすことが起こっています 必ずしも読みやすいではありません。 314 00:13:34,900 --> 00:13:38,191 あなたが誤ってのようなものを省略した場合 引用符は、それが読み取り可能ではないだろう。 315 00:13:38,191 --> 00:13:41,654 だから、それはかなりせこいファイル形式ですが、 それは、超共通だ一つです。 316 00:13:41,654 --> 00:13:44,820 そして私達はあっても、それを使用するために起こります あなたは、それ以外の場合は任意のJavaScriptを使用していません 317 00:13:44,820 --> 00:13:46,330 PSET 7インチ 318 00:13:46,330 --> 00:13:46,860 >> 大丈夫。 319 00:13:46,860 --> 00:13:48,110 したがって、この絵を覚えています。 320 00:13:48,110 --> 00:13:51,657 我々は、HTMLで、について話しました コー​​ドは次のようになります。 321 00:13:51,657 --> 00:13:54,740 これは、ハイパーテキストマークアップ言語であります [聞こえない]だけのために "こんにちは、世界。」 322 00:13:54,740 --> 00:13:57,570 しかし、その後、我々は提案 しばらく前に、それは場合に役立ちますこと、 323 00:13:57,570 --> 00:14:00,210 あなたは考え始めるしたいかもしれません これについては既にツリーとして。 324 00:14:00,210 --> 00:14:03,730 実際には、インデント、我々 読みやすさのためだけに使用 325 00:14:03,730 --> 00:14:05,610 やスタイルのためにのために 左缶の種類の 326 00:14:05,610 --> 00:14:10,040 この木、あなたをに翻訳します いくつかの特別なルートノードを持っている私たちはよ 327 00:14:10,040 --> 00:14:16,860 一般的に、文書と呼ばれる以下 ルートHTML要素またはタグ、HTMLがあり、 328 00:14:16,860 --> 00:14:19,980 これは、2つを持っています 子供、頭と体。 329 00:14:19,980 --> 00:14:21,750 >> そして今度は、ヘッドがタイトルを持っています。 330 00:14:21,750 --> 00:14:23,440 そしてタイトルは、テキスト値を有します。 331 00:14:23,440 --> 00:14:26,130 そして体は、同様に、テキスト値を有します。 332 00:14:26,130 --> 00:14:29,220 だからと言って満足している場合 はい、あなたは、このHTMLを取ることができること 333 00:14:29,220 --> 00:14:32,080 など絵を​​描きます この、右辺 334 00:14:32,080 --> 00:14:35,910 なぜなら、今の素敵なメンタルモデルであります 我々はJavaScriptを持っていることを、プログラミング 335 00:14:35,910 --> 00:14:39,960 缶をブラウザの言語 実行し、あなたのために解釈し、 336 00:14:39,960 --> 00:14:42,690 それは何ことが判明 私たちは、コード内で行うしようとしています 337 00:14:42,690 --> 00:14:45,320 これを操作するために開始されます メモリ内のツリー構造。 338 00:14:45,320 --> 00:14:47,070 私たちは、構築する必要はありません メモリ内のツリー。 339 00:14:47,070 --> 00:14:49,880 私たちは、ソートの行う必要はありません PSET-5形式のデータ構造 340 00:14:49,880 --> 00:14:50,650 複雑。 341 00:14:50,650 --> 00:14:54,610 素敵なことに、時にブラウザ、 下へのHTMLトップの解釈、 342 00:14:54,610 --> 00:14:58,600 左または右、文字通りに起こっています 私たちのポインタと同等のものを手 343 00:14:58,600 --> 00:15:00,840 自由のためのそのツリー全体へ。 344 00:15:00,840 --> 00:15:02,150 これは、ハードワークのすべてを行います。 345 00:15:02,150 --> 00:15:05,520 それは何のMozillaやApple そして他の人が私たちのために行っています。 346 00:15:05,520 --> 00:15:09,400 >> JavaScriptで、我々はしようとしています 制御し、変更し、行うことができます 347 00:15:09,400 --> 00:15:12,910 面白いことに そのツリー、そうでない場合は、既知の 348 00:15:12,910 --> 00:15:15,880 DOMやドキュメントオブジェクトモデルとして。 349 00:15:15,880 --> 00:15:17,110 物事のどのような? 350 00:15:17,110 --> 00:15:19,030 まあ、それはことが判明 JavaScriptで、あります 351 00:15:19,030 --> 00:15:22,800 この洗濯物のリスト 場所を取ることができるイベント。 352 00:15:22,800 --> 00:15:26,330 そして、私たちは本当にそれを使用していません 0週目とPSET以来語 353 00:15:26,330 --> 00:15:28,240 我々はスクラッチについて話しましたゼロ。 354 00:15:28,240 --> 00:15:31,390 あなたのほとんどは、おそらく使用しませんでした あなたのスクラッチプロジェクト内のイベント。 355 00:15:31,390 --> 00:15:33,850 しかし、あなたが思い出すかもしれません シンプルマルコポーロ 356 00:15:33,850 --> 00:15:36,760 我々は、2つを持っていた例、 スプライト、マルコ、前記1。 357 00:15:36,760 --> 00:15:40,180 リスニング時に、その人の他 そのイベントを聞いて、ポロ、と述べました。 358 00:15:40,180 --> 00:15:42,080 ない場合は、お気軽に そこまで戻って振り返ります。 359 00:15:42,080 --> 00:15:44,450 >> しかし、これは単にです 言う、あなたは一種の缶 360 00:15:44,450 --> 00:15:47,730 これらの名前から推測 物事は、JavaScript、結局のところ、 361 00:15:47,730 --> 00:15:53,200 私たちに耳を傾ける方法を与えるために起こっています マウスがダウンまたはマウスが上がっていくために 362 00:15:53,200 --> 00:15:57,920 またはダウンキーまたはキー行きます 上がっていくかをonSubmit ONSELECT 363 00:15:57,920 --> 00:15:59,740 または何かをonresizing。 364 00:15:59,740 --> 00:16:03,060 換言すれば、任意の物理的作用 人間は、ブラウザで取ることができること 365 00:16:03,060 --> 00:16:08,210 あなたが毎日行うことを、あなたが書くことができます そのためのコードはこれらのイベントをリッスン 366 00:16:08,210 --> 00:16:10,220 し、適切な何かを。 367 00:16:10,220 --> 00:16:14,130 >> たとえば、Googleマップを使用している場合、 あなたがクリックして移動する場合、何が起こります 368 00:16:14,130 --> 00:16:16,250 マウス、一般的に? 369 00:16:16,250 --> 00:16:17,758 あなたがクリックしてドラッグした場合は? 370 00:16:17,758 --> 00:16:18,258 うん? 371 00:16:18,258 --> 00:16:21,701 372 00:16:21,701 --> 00:16:22,200 その通りです。 373 00:16:22,200 --> 00:16:23,159 マップが移動を開始します。 374 00:16:23,159 --> 00:16:25,616 だから、一種の何見ることができます こっち、あそこです。 375 00:16:25,616 --> 00:16:27,130 そして、どのようにGoogleはそれを実装していますか? 376 00:16:27,130 --> 00:16:29,421 まあ、おそらく、彼らがしています これらのイベントのカップルを使用して、 377 00:16:29,421 --> 00:16:31,720 リスナー、1 マウスのために聞く、言います 378 00:16:31,720 --> 00:16:35,410 ときに、ユーザーが物理的にそうdown-- 彼のトラックパッドまたは彼または彼女のマウスをプッシュ 379 00:16:35,410 --> 00:16:36,010 ダウン。 380 00:16:36,010 --> 00:16:38,350 そして、我々は、探しています 動きのようなもの 381 00:16:38,350 --> 00:16:41,145 またはいくつかの他のイベントこと 私たちは、ドラッグをキャプチャすることができます。 382 00:16:41,145 --> 00:16:45,910 そして、実際には、ドラッグして、この中でも同様です 可能なオプションのドットドットリストに点在しています。 383 00:16:45,910 --> 00:16:49,140 >> だから、これは強力になるだろう ユーザへの応答を開始する方法 384 00:16:49,140 --> 00:16:52,824 彼または彼女は実際にクリックする前であっても、 提出するよう明示的に何か。 385 00:16:52,824 --> 00:16:55,240 しかし、我々は導入するつもりです そこに着くカップルのトピック。 386 00:16:55,240 --> 00:16:58,570 しかし、最初に、しましょう​​移行 いくつかの実際のコードに。 387 00:16:58,570 --> 00:17:01,450 だから私は行くつもりです 先にと、DOM-0を開きます 388 00:17:01,450 --> 00:17:05,869 これは非常に単純な例であり、 ここで私は単純にズームインするとき、その 389 00:17:05,869 --> 00:17:08,500 私のために、ここで、この入力されています。 390 00:17:08,500 --> 00:17:12,410 そして、私は先に行くと入力するつもりです 私の名前は「デビッド」[送信]をクリックします。 391 00:17:12,410 --> 00:17:17,940 >> そして、ソートの安価ではあるが、私は 、と言うそのポップアップし、このプロンプトを持っています 392 00:17:17,940 --> 00:17:19,244 「こんにちは、デビッド! " 393 00:17:19,244 --> 00:17:21,740 だから、これは一種のです 私たちの "こんにちは、世界"のような 394 00:17:21,740 --> 00:17:25,150 私たちはしばらく前にC言語でやったことと でもPHPで私は動的にしましたので、 395 00:17:25,150 --> 00:17:26,310 私の名前を出力します。 396 00:17:26,310 --> 00:17:28,230 私はここで誰か他の人の名前を行うことができます。 397 00:17:28,230 --> 00:17:31,240 私は単純に、これを変更することができます 以下のような、ハンナは、[送信]をクリックします。 398 00:17:31,240 --> 00:17:33,780 そして実際、少しポップアップ変更。 399 00:17:33,780 --> 00:17:36,650 >> さて、ポップアップはの一つであります ウェブの最も乱用され特徴。 400 00:17:36,650 --> 00:17:38,520 そして、実際には、後ろに 日のポップアップブロッカー 401 00:17:38,520 --> 00:17:40,820 流行に入って来ますので、 いくつかのwebsite--に行くだろう 402 00:17:40,820 --> 00:17:43,604 おそらく疑問place-- それが突然、次に希望 403 00:17:43,604 --> 00:17:46,020 あなたのスクリーンをpeppering開始 ポップアップの全体の束を持ちます。 404 00:17:46,020 --> 00:17:49,700 だからこの能力がポップアップします ユーザーの前にある窓 405 00:17:49,700 --> 00:17:52,372 特にされていません 人類によって好評。 406 00:17:52,372 --> 00:17:54,080 あなたが見るだから、なぜです これは事を防ぎます、 407 00:17:54,080 --> 00:17:55,706 これはちょうどこの全体のことは醜いになります。 408 00:17:55,706 --> 00:17:57,996 だから我々は必要になるだろう ユーザにプロンプ​​トを表示するためのより良い方法。 409 00:17:57,996 --> 00:17:59,350 しかし、今のところ、それは動作するようです。 410 00:17:59,350 --> 00:18:03,320 だから直感的に、どのような ここで起こっているように見えますか? 411 00:18:03,320 --> 00:18:07,870 私が先に行くと、Submitをクリックして、 その後、何かが明らかに、起こっています。 412 00:18:07,870 --> 00:18:12,870 しかし、起こったこと何が起こっていません 先週、私はクリックした任意の時間が送信しますか? 413 00:18:12,870 --> 00:18:15,940 画面上に何が起こるのではないのですか? 414 00:18:15,940 --> 00:18:17,170 ごめんなさい? 415 00:18:17,170 --> 00:18:18,010 リロードしてください。 416 00:18:18,010 --> 00:18:19,720 URLは全く変化しませんでした。 417 00:18:19,720 --> 00:18:22,250 私は、これはDOM-0と言いました 私は、DOM-0のままです。 418 00:18:22,250 --> 00:18:26,890 通常、我々はいくつかの他に変更を取得したいです register.phpなどのようなURL、。 419 00:18:26,890 --> 00:18:29,560 >> しかし、私は却下場合でも、 [OK]をクリックしてこの事、 420 00:18:29,560 --> 00:18:32,310 URLことに気付きます 滞在は完全に置きます。 421 00:18:32,310 --> 00:18:35,350 そして、実際に、私は少しだ場合 懐疑的な、私はChromeを開きましょう。 422 00:18:35,350 --> 00:18:36,860 私は、[ネットワーク]タブを開いてみましょう。 423 00:18:36,860 --> 00:18:38,360 そして、それは現時点では空白です注意してください。 424 00:18:38,360 --> 00:18:40,700 私が先に行くとマリアを再送信してみましょう。 425 00:18:40,700 --> 00:18:42,810 一切のネットワークトラフィックはありません。 426 00:18:42,810 --> 00:18:44,320 だから、何のHTTPはありません。 427 00:18:44,320 --> 00:18:47,620 >> だから確かに、私は、ソースコードを見れば this--のために私は、このウィンドウを閉じてみましょう 428 00:18:47,620 --> 00:18:49,480 そして、ソースの表示を参照してください。 429 00:18:49,480 --> 00:18:50,400 面白い。 430 00:18:50,400 --> 00:18:53,520 いくつかありますように見えます 新しいタグ、それらの間のスクリプト。 431 00:18:53,520 --> 00:18:57,490 それでは、CS50内を見てみましょう 私は、ユーザーに送信された、まさにIDE。 432 00:18:57,490 --> 00:19:00,690 >> だからここのを聞かせてis-- HTMLのみに焦点を当てています。 433 00:19:00,690 --> 00:19:03,500 ここでは、DOM 0.htmlの下半分です。 434 00:19:03,500 --> 00:19:07,830 そして、それはタイトルを持っていることがわかり、 headタグ、bodyタグ、formタグ。 435 00:19:07,830 --> 00:19:11,257 しかし、何としてあなたに飛び出します 異なる、あなたは決してきていない場合は特に 436 00:19:11,257 --> 00:19:12,590 任意のJavaScriptを自分で書かれました。 437 00:19:12,590 --> 00:19:14,920 私は少しをスクロールしてみましょう ここで右に。 438 00:19:14,920 --> 00:19:18,330 私は入力を持っています、 提出するための別の入力。 439 00:19:18,330 --> 00:19:21,410 私は新しいの一種であるIDを、持っています。 440 00:19:21,410 --> 00:19:22,790 しかし、我々は、CSSでこれを見ました。 441 00:19:22,790 --> 00:19:24,480 間違いなく新しい他に何ですか? 442 00:19:24,480 --> 00:19:24,980 うん? 443 00:19:24,980 --> 00:19:30,580 444 00:19:30,580 --> 00:19:32,140 ニース。 445 00:19:32,140 --> 00:19:32,760 >> 大丈夫。 446 00:19:32,760 --> 00:19:35,630 だからここでは、onSubmit検証言います 従うように思われるものに気づきます。 447 00:19:35,630 --> 00:19:38,740 これは属性であります HTML形式の命名法インチ 448 00:19:38,740 --> 00:19:40,944 その値は、ここで、この引用符で囲まれた文字列です。 449 00:19:40,944 --> 00:19:42,860 そして、これは少し見えます 一見奇妙な。 450 00:19:42,860 --> 00:19:44,050 これは、HTMLではありません。 451 00:19:44,050 --> 00:19:45,240 これは、CSSではありません。 452 00:19:45,240 --> 00:19:47,580 お察しのように、これは、JavaScriptのです。 453 00:19:47,580 --> 00:19:51,850 だから、このに組み込まれているようです Webページには、挨拶と呼ばれ​​る関数です。 454 00:19:51,850 --> 00:19:54,250 そして、私はちょうどそれを推測してい それは言葉だから、挨拶。 455 00:19:54,250 --> 00:19:55,880 それは、オープン括弧を持っています 近い括弧、セミコロン。 456 00:19:55,880 --> 00:19:58,095 C言語の関数のように見えます、 PHPの関数のように見えます。 457 00:19:58,095 --> 00:20:00,370 >> そして実際、それがために起こっています JavaScriptの関数です。 458 00:20:00,370 --> 00:20:01,440 それから私は、falseを返しますよ。 459 00:20:01,440 --> 00:20:03,440 我々は戻ってくるだろう 一瞬でその。 460 00:20:03,440 --> 00:20:05,320 しかし、ここでこの機能が定義されていますか? 461 00:20:05,320 --> 00:20:07,950 まあ、私はスクロールアップしましょう ファイルの先頭に。 462 00:20:07,950 --> 00:20:11,710 そして、それは長い行だにも関わらず、 それは比較的簡単です。 463 00:20:11,710 --> 00:20:15,000 私はここでズームアウトしてみましょうと これらの4つのラインに焦点を当てます。 464 00:20:15,000 --> 00:20:17,137 >> ただ、JavaScriptでそう PHP、あなたのような 465 00:20:17,137 --> 00:20:19,720 「機能」、文字通り、単語を言います 関数の名前、 466 00:20:19,720 --> 00:20:22,700 し、任意で括弧 この場合には、引数をarguments--ません。 467 00:20:22,700 --> 00:20:25,290 、ノーリターン型がありません JavaScriptで、ちょうどPHPのような。 468 00:20:25,290 --> 00:20:29,470 だから、Cよりも少し緩いです 中括弧、近くに中括弧を開きます。 469 00:20:29,470 --> 00:20:33,270 JavaScriptのに組み込まれfunction--です ないことをお勧めfunction-- 470 00:20:33,270 --> 00:20:35,730 しかし、関数が呼び出され、警告 生活の中で、その唯一の目的 471 00:20:35,730 --> 00:20:38,620 それはかなり醜いをプルアップすることです 私たちは一瞬前に見たことを促します。 472 00:20:38,620 --> 00:20:40,950 >> さて、これは一口の一種です。 473 00:20:40,950 --> 00:20:42,560 何が起きてる? 474 00:20:42,560 --> 00:20:45,840 それではに始めましょう ここですべてを強調表示します。 475 00:20:45,840 --> 00:20:48,540 それは警告する同じ議論です。 476 00:20:48,540 --> 00:20:49,530 そして、何が起こっているのですか? 477 00:20:49,530 --> 00:20:51,200 これはただの文字列のように見えます。 478 00:20:51,200 --> 00:20:59,180 そして、それは、PHPとは異なりとは異なり、判明します Cには、JavaScriptで問題ではありません 479 00:20:59,180 --> 00:21:01,090 あなた単一引用符または二重引用符の場合。 480 00:21:01,090 --> 00:21:02,060 それらは同等になるでしょう。 481 00:21:02,060 --> 00:21:03,769 そして率直に言って、それだけです これらの日の人気 482 00:21:03,769 --> 00:21:06,726 常にJavaScriptのプログラマのための 何らかの理由で単一引用符を使用しています。 483 00:21:06,726 --> 00:21:07,840 それは実行するだけのことです。 484 00:21:07,840 --> 00:21:09,710 しかし、我々は、同様に、二重引用符を使用することができます。 485 00:21:09,710 --> 00:21:11,540 >> だから、プラスは、新キャラクターです。 486 00:21:11,540 --> 00:21:14,512 しかし、あなたのものをやった人 これは前に、プラス何を意味するのでしょうか? 487 00:21:14,512 --> 00:21:16,440 うん。 488 00:21:16,440 --> 00:21:17,120 連結します。 489 00:21:17,120 --> 00:21:18,570 だから我々は、PHPでこれを見ました。 490 00:21:18,570 --> 00:21:20,315 ただドットがあります PHPの演算子こと 491 00:21:20,315 --> 00:21:22,000 一緒に2つの文字列を連結します。 492 00:21:22,000 --> 00:21:24,000 Cはこれを行うには、首の痛みでした。 493 00:21:24,000 --> 00:21:27,310 たPSET 6からリコール 首の特別な痛み、 494 00:21:27,310 --> 00:21:29,470 あなたが使用する必要があります STRCATのようなもの 495 00:21:29,470 --> 00:21:31,660 メモリを割り当てた後 スタックまたはヒープ上。 496 00:21:31,660 --> 00:21:34,243 あなたはフープを介してジャンプしなければなりませんでした ちょうど2つの文字列を連結します。 497 00:21:34,243 --> 00:21:36,040 JavaScriptでは、それは超簡単です。 498 00:21:36,040 --> 00:21:38,030 ただ、それらの間のプラス演算子を使用します。 499 00:21:38,030 --> 00:21:41,420 >> だから、複雑に見えます 事は、このように思わ 500 00:21:41,420 --> 00:21:43,490 理由の終わりに この文字列全体、ちょうど私 501 00:21:43,490 --> 00:21:45,797 感嘆符に連結します。 502 00:21:45,797 --> 00:21:48,380 だから何をしてポップアップされた場合 「こんにちは、デビッド、 ""こんにちは、ハンナ、 " 503 00:21:48,380 --> 00:21:52,740 「こんにちは、マリア」など、明らかに 両者の間にその中間のもの 504 00:21:52,740 --> 00:21:55,215 プラスは私に何へのアクセス権を与える必要がありますか? 505 00:21:55,215 --> 00:21:58,855 506 00:21:58,855 --> 00:22:01,991 確かにそこに何がありますか。 507 00:22:01,991 --> 00:22:02,490 うん。 508 00:22:02,490 --> 00:22:05,090 だから私はここにふります 右、自分の名前を答えますか? 509 00:22:05,090 --> 00:22:10,380 だから、自分の名前は、最終的にポップアップ 結果。だから、これは何を意味するのでしょうか? 510 00:22:10,380 --> 00:22:15,080 まあ、私はそれに先に提案しました DOMいわゆる画像 511 00:22:15,080 --> 00:22:18,580 この特別なルート要素を有しています 途中までトップの文書と呼ばれます。 512 00:22:18,580 --> 00:22:21,660 そして今、それが判明し、それが起こっています 特別なグローバル変数であるために 513 00:22:21,660 --> 00:22:25,250 JavaScriptで、あるに内蔵 便利な機能の全体の束。 514 00:22:25,250 --> 00:22:31,770 便利な機能の中にあります いずれかの子孫ノードを取得する機能。 515 00:22:31,770 --> 00:22:37,760 これらの正方形または長方形または楕円 ただいわば、ツリー内のノードです。 516 00:22:37,760 --> 00:22:41,850 >> だから、に組み込まれていることが判明 JavaScriptののドキュメントオブジェクト 517 00:22:41,850 --> 00:22:47,300 それ以外として知られている関数であり、 この方法は、そのはgetElementByIdのと呼ばれています。 518 00:22:47,300 --> 00:22:50,410 呼び出すための構文 JavaScriptで関数 519 00:22:50,410 --> 00:22:55,220 それは、オブジェクトまたはAの内側にあります 変数は、単にドット表記を使用することです。 520 00:22:55,220 --> 00:22:57,950 そして、我々はC言語でこれを見ました どのような構造体の構文。 521 00:22:57,950 --> 00:23:03,530 あなたは、一種の、PSET 7でこれを参照してください。 ソートの、あなたはCS50 ::クエリを見たとき。 522 00:23:03,530 --> 00:23:08,070 PHPのコロンコロンは別です だ関数を呼び出す方法 523 00:23:08,070 --> 00:23:09,260 いくつかのオブジェクトの内部。 524 00:23:09,260 --> 00:23:11,960 >> しかし、今のJavaScriptで、 それだけでドットです。 525 00:23:11,960 --> 00:23:14,170 それで、この関数、 きれいに十分な、種類の 526 00:23:14,170 --> 00:23:16,810 それはIDに​​よって要素を取得does--何と言います。 527 00:23:16,810 --> 00:23:20,280 要素は、単に別の名前であります DOM内のタグまたはノードのため。 528 00:23:20,280 --> 00:23:26,900 それでID「名前」で要素を取得 this--はここに私のHTMLであることを意味します。 529 00:23:26,900 --> 00:23:31,910 そして、このHTMLに基づいて、どのような ノードまたはどのようなHTMLタグ私は 530 00:23:31,910 --> 00:23:35,097 プログラムで利きになるだろう document.getElementByIdを呼び出すこと? 531 00:23:35,097 --> 00:23:37,650 532 00:23:37,650 --> 00:23:38,500 >> うん、まさに。 533 00:23:38,500 --> 00:23:42,670 私は入力を取得するつもりです IDが存在要素「名前」。 534 00:23:42,670 --> 00:23:45,140 そこで具体的には、次のことができます この機能を考え、 535 00:23:45,140 --> 00:23:49,560 与え方としてgetElementByIdを、 その特定のノードへのポインタをバックアップ 536 00:23:49,560 --> 00:23:50,060 ツリーインチ 537 00:23:50,060 --> 00:23:51,980 我々はこれを描かれていません ツリーが、それは方法です 538 00:23:51,980 --> 00:23:54,900 それへのアクセスを取得します 長方形またはその長方形 539 00:23:54,900 --> 00:23:58,090 一意のIDを経由して、それを識別することもできます。 540 00:23:58,090 --> 00:23:59,760 >> さて、なぜこれが便利なのですか? 541 00:23:59,760 --> 00:24:01,510 まあ、それは判明します あなたが得ている一度その 542 00:24:01,510 --> 00:24:07,220 そのノードから、その長方形 絵、それの内側そのノード、 543 00:24:07,220 --> 00:24:10,660 今度は、の全体の束を持っています properties--キーと値のペア 544 00:24:10,660 --> 00:24:13,480 またはデータ、値と呼ばれているそのうちの1。 545 00:24:13,480 --> 00:24:16,500 だから、文字通り、それはのようなものです 全部を説明するための一口。 546 00:24:16,500 --> 00:24:19,370 しかし、一日の終わりに、 このすべては、あなたを与えるあるん 547 00:24:19,370 --> 00:24:23,070 ユーザーが入力した文字列 この階層的です。 548 00:24:23,070 --> 00:24:24,820 しかし、私は好きではありません これらの事のカップル。 549 00:24:24,820 --> 00:24:27,590 か、いくつかの好奇心はまだあります。 550 00:24:27,590 --> 00:24:28,870 そのすべてが動作するように見えました。 551 00:24:28,870 --> 00:24:33,420 なぜあなたは私が返されると思いますか 挨拶呼び出した後、偽? 552 00:24:33,420 --> 00:24:35,910 これは、少し醜いです 私はそこに二つの文を持っています 553 00:24:35,910 --> 00:24:38,730 セミコロンで区切られています。 554 00:24:38,730 --> 00:24:39,310 当ててみて。 555 00:24:39,310 --> 00:24:44,390 私は削除した場合はfalseを返し、何 ただ本能的に、起こるかもしれませんか? 556 00:24:44,390 --> 00:24:46,990 557 00:24:46,990 --> 00:24:49,460 申し訳ありませんが、もう一度言って? 558 00:24:49,460 --> 00:24:50,530 >> Windowsのの束を開きます。 559 00:24:50,530 --> 00:24:52,780 だから、潜在的に多分何か それが起こるように。 560 00:24:52,780 --> 00:24:54,422 ほかに何か? 561 00:24:54,422 --> 00:24:55,630 どこにリクエストを送信する可能性がありますか? 562 00:24:55,630 --> 00:24:59,109 563 00:24:59,109 --> 00:25:00,510 同じページに移動します。 564 00:25:00,510 --> 00:25:03,110 したがって、実際には、それはそれをです ここに近い答え、 565 00:25:03,110 --> 00:25:05,890 でもとは違って、しかし 過去に、私はいませんでした 566 00:25:05,890 --> 00:25:09,300 action属性を指定し、 これは通常、私たちがしなければなりません。 567 00:25:09,300 --> 00:25:11,780 デフォルトはありますが判明。 アクションを指定しない場合、 568 00:25:11,780 --> 00:25:15,370 それは引用符を言ってようなものだ、引用終わり またはファイル自体の名前、 569 00:25:15,370 --> 00:25:17,850 この場合、どのだろう DOM-0.htmlようです。 570 00:25:17,850 --> 00:25:20,420 これは、だけの種類の推論されたのです か暗示。 571 00:25:20,420 --> 00:25:22,420 >> そして、私はこれをしないそうであれば、のが気づくしましょう​​。 572 00:25:22,420 --> 00:25:23,230 私はこれを保存してみましょう。 573 00:25:23,230 --> 00:25:25,270 そして、私は偽のリターンを削除しました。 574 00:25:25,270 --> 00:25:27,759 私はこれに戻りましょう 例と力がそれをリロードします。 575 00:25:27,759 --> 00:25:30,800 そして、あなたは私が提案する見たことがあるかもしれませ これはCS50で倍の束を話し合います。 576 00:25:30,800 --> 00:25:34,560 何が今まで演技した場合ファンキーで あなたが期待するようブラウザが動作していません、 577 00:25:34,560 --> 00:25:37,410 しばしばあなたが保持したいと思います シフトして、[再読み込み]をクリックします。 578 00:25:37,410 --> 00:25:41,480 それがリロードするすべてのファイルを強制します そして、ブラウザのローカルキャッシュを使用しません 579 00:25:41,480 --> 00:25:47,032 または今すぐ、私が先に行くとしましょう​​ように、 私のインスペクタ、[ネットワーク]タブを開きます。 580 00:25:47,032 --> 00:25:48,740 私はクリックするつもりです ログを保存するので、私 581 00:25:48,740 --> 00:25:51,660 それは行を削除する必要はありません 私は別の場所に離れて泡立て得れば。 582 00:25:51,660 --> 00:25:54,650 >> 私はここで先に行こうと アンディを入力し、[送信]をクリックします。 583 00:25:54,650 --> 00:25:55,150 大丈夫。 584 00:25:55,150 --> 00:25:56,480 予想通りそれはそうです。 585 00:25:56,480 --> 00:25:57,440 それは「こんにちは、アンディ "と述べています。 586 00:25:57,440 --> 00:25:59,420 私は、[OK]をクリックしてみましょう。 587 00:25:59,420 --> 00:26:00,610 面白い。 588 00:26:00,610 --> 00:26:05,100 、ページが変更されていることに注意してください 元のページにもかかわらず。 589 00:26:05,100 --> 00:26:06,770 変更後のURLの種類に注意してください。 590 00:26:06,770 --> 00:26:09,430 これは、疑問符を追加しました これは通常の指標であります 591 00:26:09,430 --> 00:26:11,260 私たちは何かを提出しようとしたこと。 592 00:26:11,260 --> 00:26:13,570 そして一番下に、 さらに、明示的に、 593 00:26:13,570 --> 00:26:17,570 ここで、実際のHTTPリクエストは、 200の応答を得たもの 594 00:26:17,570 --> 00:26:18,490 ここに私を持ち帰りました。 595 00:26:18,490 --> 00:26:20,250 >> だから、これはものではありません 我々は正しい、何をしたいですか? 596 00:26:20,250 --> 00:26:22,166 私はしたくないので ページ全体をリロードします。 597 00:26:22,166 --> 00:26:24,970 私の代わりに戻りたいと思いました そう短絡などの偽 598 00:26:24,970 --> 00:26:28,840 ブラウザのデフォルトの動作、どの ページを送信するために、当然のことながら、でした。 599 00:26:28,840 --> 00:26:31,700 >> それでは、見てみましょう わずかに良い例。 600 00:26:31,700 --> 00:26:33,920 これは、DOMのバージョン1です。 601 00:26:33,920 --> 00:26:36,680 そして、以下の点に注意してください。 602 00:26:36,680 --> 00:26:39,150 あなたが完全に理解しない場合、それは大丈夫です コー​​ドの行のすべて。 603 00:26:39,150 --> 00:26:41,750 しかし、根本的に異なるものです この実装は? 604 00:26:41,750 --> 00:26:44,690 私はそれが動作します規定します 同じことは、同じことを行います。 605 00:26:44,690 --> 00:26:49,320 606 00:26:49,320 --> 00:26:51,570 私は明らかに異なって何をしましたか? 607 00:26:51,570 --> 00:26:52,266 うん? 608 00:26:52,266 --> 00:26:53,182 >> 聴衆:[聞こえません]。 609 00:26:53,182 --> 00:27:03,421 610 00:27:03,421 --> 00:27:04,170 DAVIDマラン:うん。 611 00:27:04,170 --> 00:27:08,620 だから、関数が定義されていますdifferently-- フォームからの不在つまり、で、 612 00:27:08,620 --> 00:27:13,180 そこまで行7--のか むしろ、ライン8--もはや 613 00:27:13,180 --> 00:27:15,070 私はonSubmit検証属性を持っています。 614 00:27:15,070 --> 00:27:16,750 前の例では、私はこれを持っていました。 615 00:27:16,750 --> 00:27:18,530 そして私は、文字通り、ここに私のコードを書きました。 616 00:27:18,530 --> 00:27:20,210 そして私はfalseを返すと述べました。 617 00:27:20,210 --> 00:27:22,180 そして、それはこすっていなかった場合 あなたはまだ間違った方法、 618 00:27:22,180 --> 00:27:26,140 それはに開始する必要があれば ただ、HTMLのように、のように、 619 00:27:26,140 --> 00:27:29,530 我々はそれを一緒に付き合うようになったとき スタイル属性でCSSを使用しました、 620 00:27:29,530 --> 00:27:32,890 それはほんの少しを得るために始めました 乱雑または少し間違っている感じ。 621 00:27:32,890 --> 00:27:35,020 >> 同様にここで、 あなたは、HTMLを取り始めます 622 00:27:35,020 --> 00:27:37,419 そしてその後、自動的に いくつかのJavaScriptコードをウンチ 623 00:27:37,419 --> 00:27:40,460 引用符で囲まれた文字列の途中で、それはです 非常に保守するつもりはありません。 624 00:27:40,460 --> 00:27:40,630 右? 625 00:27:40,630 --> 00:27:43,690 最初はさえ明らかではありません JavaScriptコードがどこにあるかに配置します。 626 00:27:43,690 --> 00:27:46,590 だから、として本当にいいだろう よりよい設計の原則、 627 00:27:46,590 --> 00:27:50,500 私たちのHTMLを完全に維持させます 私たちのJavaScriptのとは別。 628 00:27:50,500 --> 00:27:53,150 >> だから私たちはきたもの、それを行うには ここで行わfollowing--です 629 00:27:53,150 --> 00:27:56,790 単純にのみマークアップのHTM​​Lを使用しています。 630 00:27:56,790 --> 00:28:00,730 だからバージョンこののいずれかで、すべての 私は、固有のIDを持つフォームである必要があります。 631 00:28:00,730 --> 00:28:04,630 そしてここに至るまで、私が利用しています JavaScriptを特別な機能の 632 00:28:04,630 --> 00:28:08,480 私が何を持っていることができます 無名関数と呼ばれます。 633 00:28:08,480 --> 00:28:14,150 だから、もし私が呼び出すことが判明 「デモ」ののdocument.getElementById 634 00:28:14,150 --> 00:28:18,890 それはに私にポインタを与えるようなものです 私のツリーで、このノード、フォーム要素、 635 00:28:18,890 --> 00:28:20,100 いわば。 636 00:28:20,100 --> 00:28:22,220 >> 今、私はちょうどから知っています HTMLのビットを知ります 637 00:28:22,220 --> 00:28:26,330 今、私たちはいくつかのオンラインを読みました フォーム要素をサポートしていることを参照、 638 00:28:26,330 --> 00:28:29,950 イベントlisteners--の全体の束で つまり、イベントの洗濯物のリスト 639 00:28:29,950 --> 00:28:31,700 私たちは一瞬前に見たリスナー。 640 00:28:31,700 --> 00:28:35,950 私は、ドキュメントを読んでから知っています それをonSubmitは有効なイベントであります 641 00:28:35,950 --> 00:28:38,520 フォーム要素のリスナー。 642 00:28:38,520 --> 00:28:41,480 >> だから私はそれを知って一度、 私がすることは安全です 643 00:28:41,480 --> 00:28:45,390 そのノードを取得しfollowing-- ツリーから、フォーム要素、 644 00:28:45,390 --> 00:28:48,070 そのいわゆるアクセスします onSubmit検証プロパティ。 645 00:28:48,070 --> 00:28:49,880 だから、ドットはただ意味します これは、プロパティです 646 00:28:49,880 --> 00:28:52,180 その中の特別な値のように。 647 00:28:52,180 --> 00:28:55,590 そして、どのようなデータ型の私は 明らかに、割り当て、 648 00:28:55,590 --> 00:28:58,900 である、ONSUBMITします 内部に効果的変数 649 00:28:58,900 --> 00:29:01,010 ツリー内のそのノードの? 650 00:29:01,010 --> 00:29:04,100 それは、その構造体の内部フィールドです。 651 00:29:04,100 --> 00:29:05,810 データ型は何ですか? 652 00:29:05,810 --> 00:29:07,030 >> 機能、ええ。 653 00:29:07,030 --> 00:29:08,607 だから、PHPはこれを持っていることが判明しました。 654 00:29:08,607 --> 00:29:10,440 とにもかかわらず、我々 それについて言いませんでした、 655 00:29:10,440 --> 00:29:16,240 Cはまた、関数ポインタを有しています 合格と機能を割り当てる機能 656 00:29:16,240 --> 00:29:18,330 変数の値そのものとして。 657 00:29:18,330 --> 00:29:20,280 そして、我々はつもりはありません Cに戻って退行します 658 00:29:20,280 --> 00:29:23,250 しかし、今のところ、それはことが判明 ここでは右側に、 659 00:29:23,250 --> 00:29:26,260 それが少し見えるにもかかわらず、 ファンキー、これは、ちょっとブラウザ手段、 660 00:29:26,260 --> 00:29:27,550 私に機能を与えます。 661 00:29:27,550 --> 00:29:30,560 私も与える気にするつもりはありません それ名前私は文字通りだから 662 00:29:30,560 --> 00:29:34,450 のはそれを呼び出すせ割り当てるつもり この関数のアドレス 663 00:29:34,450 --> 00:29:35,994 すぐONSUBMITします。 664 00:29:35,994 --> 00:29:39,160 つまり、ブラウザで、あなたがする必要はありません この関数が呼び出されているもの知っています。 665 00:29:39,160 --> 00:29:41,890 あなただけ知っている必要があります ここで、それがメモリ内にあります。 666 00:29:41,890 --> 00:29:44,210 そしてそれはちょうどすればよいです そこに等号を持っています 667 00:29:44,210 --> 00:29:48,240 そして、同様、このような名前を付ける気にしないように FOOまたは挨拶、または任意の他の単語。 668 00:29:48,240 --> 00:29:50,150 そして今、これは単なる文体のものです。 669 00:29:50,150 --> 00:29:53,100 私はこの中括弧を移動することができます the-- sorry--次の行に 670 00:29:53,100 --> 00:29:54,750 私たちは通常、CS50を行うように。 671 00:29:54,750 --> 00:29:57,550 しかし、JavaScriptで、それはです 実際文体共通 672 00:29:57,550 --> 00:30:00,450 単に中括弧を保つために、 その最初の行の最初の1、。 673 00:30:00,450 --> 00:30:02,620 >> しかし、以後、あります 何も面白いです。 674 00:30:02,620 --> 00:30:05,830 そのオープン中括弧だけ 私の関数の開始を画定します。 675 00:30:05,830 --> 00:30:09,320 機能は今 私き除いて、同一の 676 00:30:09,320 --> 00:30:11,452 リターン偽を含ま この関数の内部。 677 00:30:11,452 --> 00:30:13,160 それはout--なりますので あなたが唯一の希望 678 00:30:13,160 --> 00:30:14,980 読書からこれを知っています documentation-- 679 00:30:14,980 --> 00:30:19,740 あなたが機能を割り当てている場合に onSubmitハンドラにfalseを返し、 680 00:30:19,740 --> 00:30:23,420 ブラウザだけ知っていて、同意します サーバーにフォームを送信することはありません。 681 00:30:23,420 --> 00:30:27,210 それがtrueを返した場合は、提出します それ我々が表示されますの理由からサーバへ 682 00:30:27,210 --> 00:30:28,700 一瞬に有用です。 683 00:30:28,700 --> 00:30:31,000 >> そして、セミコロンの後 中括弧があるだけ 684 00:30:31,000 --> 00:30:32,541 私は関数を定義終わりだことを意味します。 685 00:30:32,541 --> 00:30:36,600 あなたは、すぐに呼び出すことを知っています あなたが提出を聞くよう。 686 00:30:36,600 --> 00:30:37,100 大丈夫。 687 00:30:37,100 --> 00:30:40,650 これはまだ間違いなく一種の醜いです。 688 00:30:40,650 --> 00:30:42,190 だから我々は、より多くの何ができるのでしょうか? 689 00:30:42,190 --> 00:30:45,000 >> まあ、それはその後に判明します last--あるバージョン2、 690 00:30:45,000 --> 00:30:46,780 そして我々はこの時だけで一目よ。 691 00:30:46,780 --> 00:30:49,850 作るの危険に 醜い、それが判明 692 00:30:49,850 --> 00:30:52,160 ライブラリは、中があること 世界はjQueryのと呼ばれます。 693 00:30:52,160 --> 00:30:54,900 jQueryはスーパーです 人気のJavaScriptライブラリ 694 00:30:54,900 --> 00:30:57,930 それはほとんどのように人気です いずれかが、それはありませんJavaScript-- 695 00:30:57,930 --> 00:31:00,540 人々が混乱するのは珍しいです JavaScriptでjQueryの。 696 00:31:00,540 --> 00:31:01,070 なぜ? 697 00:31:01,070 --> 00:31:04,990 JavaScriptの自体は非常に持っています things--を行うための詳細な方法 698 00:31:04,990 --> 00:31:07,820 document.getElementById、dadadadadada。 699 00:31:07,820 --> 00:31:10,510 あなたは非常に終わります コー​​ドの長い行。 700 00:31:10,510 --> 00:31:15,550 >> だからジョンルシという男が、 誰が実際に起動のために働きます 701 00:31:15,550 --> 00:31:18,630 これらの日まで、出てきました このライブラリの年で 702 00:31:18,630 --> 00:31:22,070 前に多くの人々が貢献していること 変化するjQueryのと呼ばします 703 00:31:22,070 --> 00:31:23,449 次のように構文。 704 00:31:23,449 --> 00:31:25,740 そして、ちょうどそのように、あなたは、これを見てきました あなたは常にだろうから 705 00:31:25,740 --> 00:31:28,140 やっ場合は、これを参照してください。 Webベースの最終的なプロジェクト、 706 00:31:28,140 --> 00:31:33,270 これは、同等の方法だろう 使用して、同じ機能を実現 707 00:31:33,270 --> 00:31:34,630 この特別なライブラリ。 708 00:31:34,630 --> 00:31:36,680 >> 今、むしろいじめより 離れてその全体がそれ、 709 00:31:36,680 --> 00:31:38,520 ちょうどいくつかのパターンを見てみましょう。 710 00:31:38,520 --> 00:31:44,850 この構文は、持っているように見えます どのように多くの無名関数 711 00:31:44,850 --> 00:31:49,584 または無名関数 またはAKAのラムダ関数? 712 00:31:49,584 --> 00:31:50,190 二、右? 713 00:31:50,190 --> 00:31:52,690 そして、あなたが知っている、その場合でも、 あなたは、これに超快適じゃありません 714 00:31:52,690 --> 00:31:55,780 それという事実によって、 関数()を2回は言います。 715 00:31:55,780 --> 00:31:58,172 >> そして、それはことが判明 このコードは何をされdoing-- 716 00:31:58,172 --> 00:32:01,255 私たちはオンラインリファレンスを参照してくださいよ、 最終的には、これでいくつかの助けのために。 717 00:32:01,255 --> 00:32:04,480 これは、ちょうどその時あることを意味 文書は、準備ができています 718 00:32:04,480 --> 00:32:07,490 先に行くと登録 次の関数 719 00:32:07,490 --> 00:32:12,064 HTMLのためのハンドラを提出するように そのユニークなアイデアデモです要素。 720 00:32:12,064 --> 00:32:14,480 そして、それが起こるとき、 次の2行のコードを呼び出します。 721 00:32:14,480 --> 00:32:18,677 そして、これは、悲劇的に、より多くのです falseを返すと言っての詳細な方法。 722 00:32:18,677 --> 00:32:21,510 そして、私たちはちょうどので、これを言及しました あなたは、このオンラインのようなコードが表示されます。 723 00:32:21,510 --> 00:32:23,140 そして、それはひるむべき何もないです。 724 00:32:23,140 --> 00:32:26,057 むしろ、何だことを覚えておきます JavaScriptで共通になるだろう 725 00:32:26,057 --> 00:32:26,765 このパラダイムです。 726 00:32:26,765 --> 00:32:29,510 我々は今のところそれを表示する理由となるようです。 727 00:32:29,510 --> 00:32:30,010 大丈夫。 728 00:32:30,010 --> 00:32:32,730 だから、あまりにも住居なし その構文に多く、 729 00:32:32,730 --> 00:32:37,800 上の任意の質問がありますされています これらの例やアイデア、これまで? 730 00:32:37,800 --> 00:32:38,300 大丈夫。 731 00:32:38,300 --> 00:32:40,220 それでは、何か役に立つのためにこれを使ってみましょう。 732 00:32:40,220 --> 00:32:47,070 ただ挨拶Webページを作ります、 そうので、すべてが興味深いものではありません 733 00:32:47,070 --> 00:32:47,830 ひどくがっかりさせるものではありません。 734 00:32:47,830 --> 00:32:51,038 この1は、美しくなることはないだろう それは有益な何かをしようとしています。 735 00:32:51,038 --> 00:32:56,350 私は私のディレクトリに戻りましょう ここに、たとえば、フォーム0.htmlを開きます。 736 00:32:56,350 --> 00:32:59,320 >> だから、これは新入生であると仮定 学内スポーツ登録ページ 737 00:32:59,320 --> 00:33:01,780 任意のCSSやデザインの任意の感覚なし。 738 00:33:01,780 --> 00:33:05,404 そして、私は先に行くとしたいです パスワードを使用して、ここで登録します。 739 00:33:05,404 --> 00:33:08,320 そして、私は条件に同意するつもりです 条件と登録]をクリックします。 740 00:33:08,320 --> 00:33:11,700 そして今、ウェブサイトは、あなたがしている "と言います 登録! (まあ、それは本当に。)」 741 00:33:11,700 --> 00:33:15,070 すなわち、それは働いたように思えるが、 私が先に行くと、リロードを強制してみましょう。 742 00:33:15,070 --> 00:33:18,720 >> そして、いや、そうしない、私は言わせて 私の実際の電子メールアドレスが必要です。 743 00:33:18,720 --> 00:33:21,820 それとも、私たちはそこにメールを言うでしょう。 744 00:33:21,820 --> 00:33:25,080 パスワードは12345、のようになります。 745 00:33:25,080 --> 00:33:28,810 そして、私はちょうどので、 馬鹿は、今では123456789です。 746 00:33:28,810 --> 00:33:31,150 そして、私はあなたのチェックボックスをオンにするつもりはありません。 747 00:33:31,150 --> 00:33:31,850 >> うーん。 748 00:33:31,850 --> 00:33:32,350 大丈夫。 749 00:33:32,350 --> 00:33:34,920 だから、いくつかの機会があります ここでは改善のため。 750 00:33:34,920 --> 00:33:39,070 そして、あなたは知っている、またはPSETに表示されます あなたがcode--を書くことができること7、 751 00:33:39,070 --> 00:33:41,890 そして次のように記述する必要があります PHP--のコードは、守るために 752 00:33:41,890 --> 00:33:45,780 ユーザーのこれらの種類に対して、 エラー明確にユーザーのため 753 00:33:45,780 --> 00:33:46,790 協力していません。 754 00:33:46,790 --> 00:33:49,680 そして彼または彼女はあなたに与えられていないすべての あなたが望んでいた値、あるいはフォーマットで 755 00:33:49,680 --> 00:33:50,630 あなたがそれらを望んでいます。 756 00:33:50,630 --> 00:33:53,250 だから、そのPSET 7で表示されます 我々は確かにいくつかを持つことができます 757 00:33:53,250 --> 00:33:55,680 言う条件であれば 電子メールアドレスの場合 758 00:33:55,680 --> 00:33:59,450 username@something.eduではありません、 私たちは可能性 759 00:33:59,450 --> 00:34:02,575 申し訳ありませんと言うと、ユーザーに謝罪 あなたのような、多くはPSET 7にあるかもしれません。 760 00:34:02,575 --> 00:34:05,700 それとも、彼らはそのボックスをチェックしていない場合は、 PHPで判明し、あなたがそれを検出することができ、 761 00:34:05,700 --> 00:34:06,200 あまりにも。 762 00:34:06,200 --> 00:34:09,389 そして、確かにパスワードの場合 register.phpのように一致しません 763 00:34:09,389 --> 00:34:11,521 PSET 7のために、あなたはそれを検出することができます。 764 00:34:11,521 --> 00:34:13,770 しかし、それは痛みです その中で首今、彼らは要求します 765 00:34:13,770 --> 00:34:15,510 私たちは、サーバーへのすべての道を行きます。 766 00:34:15,510 --> 00:34:17,053 ユーザーは、エラーが通知されます。 767 00:34:17,053 --> 00:34:19,219 そして、少なくとも、あなたは使用しない限り、 いくつかの手の込んだ技術、 768 00:34:19,219 --> 00:34:20,929 今、彼らは戻って矢印をクリックする必要があります。 769 00:34:20,929 --> 00:34:23,300 それは次のように、素晴らしいと思いません 多くのウェブサイト今日、 770 00:34:23,300 --> 00:34:26,190 あなたはより多くの即時いた場合 フィードバック、即座に? 771 00:34:26,190 --> 00:34:31,389 >> 言い換えれば、私はバージョンに行きましょう 何もきれいにならないようにしようとしているもの、。 772 00:34:31,389 --> 00:34:33,469 しかし、それは、この機能を持っています。 773 00:34:33,469 --> 00:34:39,590 マラン、12345、123456789、ありません ボックス、登録を確認する予定。 774 00:34:39,590 --> 00:34:41,330 パスワードが一致しません。 775 00:34:41,330 --> 00:34:44,459 だから、このポップアップはugly--であっても、 我々は最終的にこれを置き換えることができます 776 00:34:44,459 --> 00:34:47,000 ブートストラップのようなもので、 あなたはPSET 7で表示されますします 777 00:34:47,000 --> 00:34:50,239 私は非常に人気library--です パスワードが一致しないことを検出します。 778 00:34:50,239 --> 00:34:50,739 大丈夫。 779 00:34:50,739 --> 00:34:52,530 まあ、私はユーザーとしてこれを修正しましょう​​。 780 00:34:52,530 --> 00:34:55,460 私が先に行くと12345、12345を言ってみましょう。 781 00:34:55,460 --> 00:34:57,780 まだ合意をチェックしていません。 782 00:34:57,780 --> 00:35:00,210 あなたは、に同意する必要があります 規約と条件。 783 00:35:00,210 --> 00:35:01,760 なぜ? 784 00:35:01,760 --> 00:35:04,100 >> 我々は既に仮定した場合 方法があることを、 785 00:35:04,100 --> 00:35:07,260 私たちはであなたを必要としました エラーを検出するためのpset 7 786 00:35:07,260 --> 00:35:09,780 このような条件 サーバー側は、なぜ私がすべき 787 00:35:09,780 --> 00:35:13,940 また、JavaScriptでこれをやってわざわざ? 788 00:35:13,940 --> 00:35:15,850 引数には何 何を追加することに賛成 789 00:35:15,850 --> 00:35:18,760 あなたはsome--として参照しようとしています 追加の複雑さがあります。 790 00:35:18,760 --> 00:35:23,610 791 00:35:23,610 --> 00:35:25,930 >> たぶん何も利点はありません。 792 00:35:25,930 --> 00:35:26,924 それは何だろうか? 793 00:35:26,924 --> 00:35:27,840 聴衆:[聞こえません]。 794 00:35:27,840 --> 00:35:31,132 795 00:35:31,132 --> 00:35:32,340 DAVIDマラン:ああ、面白いです。 796 00:35:32,340 --> 00:35:33,530 潜在的な攻撃。 797 00:35:33,530 --> 00:35:37,540 だから必ず、あなたが処理していない場合 その偉大な誤ったユーザー入力、 798 00:35:37,540 --> 00:35:40,170 それならば多分それはすべて良いです でも、あなたのサーバに到達しません。 799 00:35:40,170 --> 00:35:42,160 私はそこに押し戻すことになると 言う、あなたはおそらくべき 800 00:35:42,160 --> 00:35:43,284 これらの問題の両方を解決します。 801 00:35:43,284 --> 00:35:44,140 しかし、それは公正です。 802 00:35:44,140 --> 00:35:44,710 ほかに何か? 803 00:35:44,710 --> 00:35:45,626 >> 聴衆:[聞こえません]。 804 00:35:45,626 --> 00:35:47,970 805 00:35:47,970 --> 00:35:49,014 >> DAVIDマラン:うん。 806 00:35:49,014 --> 00:35:51,680 私たちは前にも言ったように、このコードは、あります クライアント側で解釈されます。 807 00:35:51,680 --> 00:35:53,846 これは、サーバーを気にしません、 これは意味し、そうでありません 808 00:35:53,846 --> 00:35:55,930 サーバの負荷や容量に影響を与えます。 809 00:35:55,930 --> 00:35:59,840 そして今、少し古い私のために、 これは意味のある効果がありません 810 00:35:59,840 --> 00:36:01,970 私は今一人のユーザーを持っているので。 811 00:36:01,970 --> 00:36:04,010 >> しかし、あなたは任意のなら まともなサイズのウェブサイト、 812 00:36:04,010 --> 00:36:07,400 特に最大の、Facebookのような、 より多くのあなたは人々をオフにしておくことができます 813 00:36:07,400 --> 00:36:09,927 サーバーのより良いです サーバーのため、当然のことながら、 814 00:36:09,927 --> 00:36:12,510 RAMのみの限られた量を持っています、 ギガヘルツの有限数、 815 00:36:12,510 --> 00:36:16,340 物事の有限数 それは、単位時間当たりに行うことができます。 816 00:36:16,340 --> 00:36:19,170 だから、より多くの人々がである場合 世界は、あなたのサーバーを打ちます 817 00:36:19,170 --> 00:36:21,750 偶然にログイン 間違って、ちょうど同様にあなたの場合 818 00:36:21,750 --> 00:36:23,254 あなたのサーバーからその負荷を維持することができます。 819 00:36:23,254 --> 00:36:25,420 さらに、特に携帯電話で あなたがしている場合device-- 820 00:36:25,420 --> 00:36:29,190 my.harvardにログインまたは エールのNETIDなど、 821 00:36:29,190 --> 00:36:32,330 多くのこの待ち時間があります それが取ることにより、そのようなウェブサイト、 822 00:36:32,330 --> 00:36:34,110 以下のような、気の1秒か2秒時々。 823 00:36:34,110 --> 00:36:37,979 そして、私の神、あなたが間違えた場合は、 その後、あなたが戻ってヒットし、それをやり直す必要があります。 824 00:36:37,979 --> 00:36:40,520 だから、特に、待ち時間ありま​​す 遅いネットワーク接続で。 825 00:36:40,520 --> 00:36:43,030 しかし、JavaScriptの、なぜなら それは、クライアント上で実行 826 00:36:43,030 --> 00:36:46,720 そして前後に移動する必要がありません。 潜在的に遅いインターネット上で 827 00:36:46,720 --> 00:36:49,780 接続、あなたが得ることができます ほぼ瞬時にフィードバック。 828 00:36:49,780 --> 00:36:50,760 >> それでは、これを見てみましょう。 829 00:36:50,760 --> 00:36:54,280 私は、フォーム-0を開くしようと ここにHTMLを見てください。 830 00:36:54,280 --> 00:36:56,040 そして、ちょうど何が起こっているのか見てみましょう。 831 00:36:56,040 --> 00:36:59,460 これは、その形式です アクションはregister.phpです。 832 00:36:59,460 --> 00:37:01,530 私はちょうどので、取得使用しています 私は、URLを見ることができます。 833 00:37:01,530 --> 00:37:05,030 しかし、パスワードを、私たちは確実にしたいと思います 実際に投稿するために、これを変更します。 834 00:37:05,030 --> 00:37:06,910 ここではテキストタイプの入力フィールドです。 835 00:37:06,910 --> 00:37:09,050 ここで別の入力です タイプのパスワードのフィールド。 836 00:37:09,050 --> 00:37:13,150 あなたが見たことがない場合はここで、です、 型チェックボックスの入力。 837 00:37:13,150 --> 00:37:15,250 >> しかし、誰JavaScriptはありません ここ何。 838 00:37:15,250 --> 00:37:18,170 これは、単なるHTMLです register.phpに進みます。 839 00:37:18,170 --> 00:37:21,020 しかし、バージョン1で、どこ これらのポップアップを得るために始めました、 840 00:37:21,020 --> 00:37:23,010 それでは、ここで実際に何が起こるか見てみましょう。 841 00:37:23,010 --> 00:37:26,757 バージョン1では、どのような 私は私をsee--するつもりです 842 00:37:26,757 --> 00:37:29,340 私は十分に失速と考えていました 十分な言葉で、私は走りました。 843 00:37:29,340 --> 00:37:35,180 844 00:37:35,180 --> 00:37:38,590 >> バージョンが存在選ぶ - で私達は行きます。 845 00:37:38,590 --> 00:37:43,180 バージョン1では、following--に気付きます そして最良の実装ではありません、 846 00:37:43,180 --> 00:37:44,420 それは私の最初のです。 847 00:37:44,420 --> 00:37:47,680 以下のことに注意してください フォーム、私はスクリプトタグを持っています。 848 00:37:47,680 --> 00:37:49,430 スクリプトタグは、意味します ここでちょっと、ブラウザ、 849 00:37:49,430 --> 00:37:52,340 いくつかのコードが入って来、 一般的には、JavaScript。 850 00:37:52,340 --> 00:37:54,420 そして今、私がやっているものに気づきます。 851 00:37:54,420 --> 00:37:59,070 line--上の私がやっとでき 、それが言う、it--ライン32を読みます 852 00:37:59,070 --> 00:38:01,420 そう私を与えるform-- VAR フォームと呼ばれる変数。 853 00:38:01,420 --> 00:38:05,049 そしてdocument.getElementIdを取得 「登録」の 854 00:38:05,049 --> 00:38:05,590 これは何ですか? 855 00:38:05,590 --> 00:38:07,290 まあ、私はここまで巻き戻してみましょう。 856 00:38:07,290 --> 00:38:11,510 予告、ああ、私は、フォーム要素を与えました 任意であるが、記述のアイデア 857 00:38:11,510 --> 00:38:13,050 登録。 858 00:38:13,050 --> 00:38:16,820 だから、これは私にその変数を提供します 私は、そのノードをつかむことができます、 859 00:38:16,820 --> 00:38:19,580 フォームと呼ばれる木でその長方形。 860 00:38:19,580 --> 00:38:24,460 form.onsubmit手段、ちょっとブラウザ、 イベントリスナーを登録します 861 00:38:24,460 --> 00:38:25,470 このフォームの。 862 00:38:25,470 --> 00:38:28,890 このフォームがあるつまり、 提出は、次のコードを実行します。 863 00:38:28,890 --> 00:38:30,810 これは、名前のために必要はありません なぜあなたは名前を知っている必要がありますか? 864 00:38:30,810 --> 00:38:32,880 あなただけ知っている必要があります エルゴ、何を実行します 865 00:38:32,880 --> 00:38:35,610 それは、匿名やラムダ関数です。 866 00:38:35,610 --> 00:38:37,632 そして、その関数であります ここではこれらの行のすべて。 867 00:38:37,632 --> 00:38:40,840 そして今、も、あなたも、正直に言うと これまでにJavaScriptを書かれていない可能性があります 868 00:38:40,840 --> 00:38:44,200 前、それだけで、CとPHPロジックです。 869 00:38:44,200 --> 00:38:51,720 だからform.email.value場合== "" - そう電子メールのフィールドが空白の場合、 870 00:38:51,720 --> 00:38:54,980 あなたがしなければならない」とのユーザーで叫びます あなたのメールアドレスを提供します。」 871 00:38:54,980 --> 00:38:58,980 それ以外の場合form.password.value ユーザーに空白気合であり、 872 00:38:58,980 --> 00:39:00,400 "あなたはあなたのパスワードを入力する必要があります。」 873 00:39:00,400 --> 00:39:04,240 >> さらに興味深いことに、論理的に、 form.password.valueがない場合 874 00:39:04,240 --> 00:39:08,630 同じform.confirmation.value-- 確認はどこから来ましたの? 875 00:39:08,630 --> 00:39:09,470 私は巻き戻してみましょう。 876 00:39:09,470 --> 00:39:12,870 まあ、私はこの入力と呼ばれます フィールドここでパスワードを入力します。 877 00:39:12,870 --> 00:39:15,180 そして、私はここで確認この1と呼ばれます。 878 00:39:15,180 --> 00:39:17,850 私はそれを求めている可能性が パスワード2または何か他のもの。 879 00:39:17,850 --> 00:39:20,560 私は論理的にチェックしています これらの二つは同じであること。 880 00:39:20,560 --> 00:39:25,760 これは氏ブールであることが判明しElse-- ブール値は、チェックボックスをagain--。 881 00:39:25,760 --> 00:39:29,810 だから私はと言えば、感嘆point-- form.agreement.checkedない場合は、 882 00:39:29,810 --> 00:39:31,820 同様に、ユーザーで叫びます。 883 00:39:31,820 --> 00:39:34,470 >> だから、あなたが参照してくださいよ、この構文は次のとおりです。 JavaScriptで非常に一般的な、 884 00:39:34,470 --> 00:39:35,970 どこでこのドット表記を持っています。 885 00:39:35,970 --> 00:39:37,460 ここにオブジェクトを開始します。 886 00:39:37,460 --> 00:39:41,430 あなたはへのより深いで潜ります パスワードのようなプロパティ。 887 00:39:41,430 --> 00:39:43,280 そして、あなたは、その実際の値を取得。 888 00:39:43,280 --> 00:39:45,830 そして再び、ここに入力されます。 889 00:39:45,830 --> 00:39:47,310 ここでは名前のパスワードです。 890 00:39:47,310 --> 00:39:50,860 そして、その値が何であれ 人間が実際に入力しました。 891 00:39:50,860 --> 00:39:53,610 >> これらのすべてでそう ケースは、私はfalseを返されました。 892 00:39:53,610 --> 00:39:55,800 ていない場合でも、私はtrueを返します。 893 00:39:55,800 --> 00:39:58,030 そして今、我々はを参照してください。 魅力的な使用 894 00:39:58,030 --> 00:40:00,620 あなたはにfalseを返すだろう ユーザーのは、何をして停止 895 00:40:00,620 --> 00:40:03,200 そして彼または彼女が選ぶ作ります 再びか、もう一度入力します。 896 00:40:03,200 --> 00:40:05,870 そうでなければ、trueを返します。 897 00:40:05,870 --> 00:40:08,585 >> そして、私は1をご紹介しましょう この他の変種だけ 898 00:40:08,585 --> 00:40:13,140 それらのいくつかの理解をシードします。 899 00:40:13,140 --> 00:40:16,850 さて、このバージョン2で、フォーム2-- 私は手を振ってそれをやります。 900 00:40:16,850 --> 00:40:19,920 これは、好奇心のためのものであり、 jQueryのバージョン、 901 00:40:19,920 --> 00:40:23,330 することができますあなたの人々 その特定のライブラリに手を出します。 902 00:40:23,330 --> 00:40:25,145 しかし、それでは、start--とご質問させて? 903 00:40:25,145 --> 00:40:29,230 私はしばらくの間、一時停止してみましょうので、 それは速く、たくさんあり​​ました。 904 00:40:29,230 --> 00:40:32,610 >> しかし、ここで素敵なものが全てということです コー​​ドのほとんど同じです。 905 00:40:32,610 --> 00:40:33,985 新しいものは、DOMで何ですか? 906 00:40:33,985 --> 00:40:35,115 これらの長方形は何ですか? 907 00:40:35,115 --> 00:40:35,990 これらのノードは何ですか? 908 00:40:35,990 --> 00:40:37,540 匿名関数とは何ですか? 909 00:40:37,540 --> 00:40:38,830 イベントハンドラとは何ですか? 910 00:40:38,830 --> 00:40:43,480 しかし、ありがたいことに、それのほとんどはちょうどです 週ゼロ、たとえば、より完全な円。 911 00:40:43,480 --> 00:40:43,980 大丈夫。 912 00:40:43,980 --> 00:40:46,070 だから、もう少し面白いこと? 913 00:40:46,070 --> 00:40:49,340 さて、最初にすべての、私を手放します 先とGoogleマップを開きます。 914 00:40:49,340 --> 00:40:53,360 そして、あなたはそのために気付くでしょう 瞬間、一瞬に、 915 00:40:53,360 --> 00:40:55,930 ときに何が起こるか気づきます 私は十分に速くクリックします。 916 00:40:55,930 --> 00:40:59,720 そして、ハーバード大学のこの接続はそうです あなたが本当にそれに気づかないことが速いです。 917 00:40:59,720 --> 00:41:04,469 しかし、あなたは一種の種の何を見ています 私はクリックして、本当に速いドラッグすると? 918 00:41:04,469 --> 00:41:07,010 あなたがオンラインで見てのもの、 あなたは0.5倍の速度にこれを遅くする場合は、 919 00:41:07,010 --> 00:41:09,640 あなたはこの良いを見ることができます。 920 00:41:09,640 --> 00:41:13,550 >> 何が起こっていました 私はクリックしてドラッグする前に? 921 00:41:13,550 --> 00:41:15,900 私はさせて頂きhere--してみましょう 90210のような何か他のもの、。 922 00:41:15,900 --> 00:41:17,550 のは、遠くに行きましょう。 923 00:41:17,550 --> 00:41:19,000 それも、本当に速かったです。 924 00:41:19,000 --> 00:41:22,460 どのようにディズニーワールドはどうですか? 925 00:41:22,460 --> 00:41:23,190 そうしよう。 926 00:41:23,190 --> 00:41:23,690 OK。 927 00:41:23,690 --> 00:41:26,030 あなたは一瞬のために何を見たのですか? 928 00:41:26,030 --> 00:41:27,200 ただ、正方形のような、右? 929 00:41:27,200 --> 00:41:28,930 タイルのためのプレースホルダ? 930 00:41:28,930 --> 00:41:30,270 >> さて、ここで何が起こっているのですか? 931 00:41:30,270 --> 00:41:35,410 Googleマップは、良い例です AJAXと呼ばれるこの技術。 932 00:41:35,410 --> 00:41:38,510 我々が開始しますどこで、これは 特にではJavaScriptを使用します 933 00:41:38,510 --> 00:41:39,277 魅力的な方法です。 934 00:41:39,277 --> 00:41:41,610 戻る日であったが、 マップクエストと呼ばれるこのウェブサイト。 935 00:41:41,610 --> 00:41:44,120 そして、私が撮影している必要があります 1990年代からこのスクリーンショット、 936 00:41:44,120 --> 00:41:45,820 どこにあなたがしたい場合 地図上ここまで見て、 937 00:41:45,820 --> 00:41:48,590 あなたは文字通りの矢印をクリックします、 あなたを示した上部のアップ 938 00:41:48,590 --> 00:41:49,870 マップの異なる正方形。 939 00:41:49,870 --> 00:41:51,790 あなたが左に移動したい場合は、 あなたが示された矢印をクリックしました 940 00:41:51,790 --> 00:41:53,210 マップの異なる正方形。 941 00:41:53,210 --> 00:41:54,840 そして、いくつかのウェブサイトは、今日でも、これを行います。 942 00:41:54,840 --> 00:41:57,820 しかし、たとえマップクエストは得ています Googleマップのような、より良いです。 943 00:41:57,820 --> 00:42:01,880 >> 代わりに、これらは良いものです 日は、AJAXを使用するWebサイトです。 944 00:42:01,880 --> 00:42:04,510 AJAX--そうでないとして知られています 非同期JavaScriptとXML、 945 00:42:04,510 --> 00:42:08,370 これというのがちょうど空想の方法です 技術やテクニックこと 946 00:42:08,370 --> 00:42:14,200 JavaScriptを使用してブラウザを許可します 追加のHTTP要求を行うことが 947 00:42:14,200 --> 00:42:16,390 ページの後にロードされています。 948 00:42:16,390 --> 00:42:17,479 だから、これは何を意味するのでしょうか? 949 00:42:17,479 --> 00:42:19,270 まあ、それは親切になります Gmailで迷惑なの 950 00:42:19,270 --> 00:42:21,103 もしあなたが望んでいたすべての時間 メールをチェックするために、 951 00:42:21,103 --> 00:42:24,940 あなたは文字通りコントロール-Rまたはヒットしていました コマンド-Rまたはリロードボタンをクリックします 952 00:42:24,940 --> 00:42:26,580 全体くそページがリロードでしょう。 953 00:42:26,580 --> 00:42:26,800 右? 954 00:42:26,800 --> 00:42:28,460 それはホワイトフラッシュだろう おそらく秒。 955 00:42:28,460 --> 00:42:30,043 あなたは愚かなプログレスバーを参照してくださいだろう。 956 00:42:30,043 --> 00:42:33,170 あなたは新しいしている場合そして、ちょうど確認してください メール、ウェブページ全体およびURL 957 00:42:33,170 --> 00:42:34,580 あなたがリロードしなければならないでね。 958 00:42:34,580 --> 00:42:35,960 >> しかし、それはGmailで何が起こるかではありません。 959 00:42:35,960 --> 00:42:36,459 右? 960 00:42:36,459 --> 00:42:40,300 あなたは、新しい電子メールでを取得すると Gmailでは、何が画面になりますか? 961 00:42:40,300 --> 00:42:41,480 それはちょうど、現れますか? 962 00:42:41,480 --> 00:42:44,280 それはちょうど魔法のように表示されます。 テーブルに新しい行として。 963 00:42:44,280 --> 00:42:47,030 それが実際に関与 複雑のまともな量。 964 00:42:47,030 --> 00:42:51,892 実際には、あなたがこの木を考える場合、 これは、ここで簡単なものであっても、 965 00:42:51,892 --> 00:42:54,100 Gmail--と私は見ているだろう コー​​ドでsure--されるように 966 00:42:54,100 --> 00:42:58,710 おそらく、多分、HTMLテーブルを持っていますか それがレンダリング順不同リスト 967 00:42:58,710 --> 00:43:01,060 あなたの受信トレイの電子メールの各として。 968 00:43:01,060 --> 00:43:04,050 >> だから、あなたがこれを想像した場合 あなたがしているメモリ内のツリーがあります 969 00:43:04,050 --> 00:43:09,050 ソートの種類に見えるのGmailを使用して、 このように、Googleはoohの、実現したときに、 970 00:43:09,050 --> 00:43:12,770 あなたが新しいメールを持って、それはしていません ツリー全体を再構築したいです。 971 00:43:12,770 --> 00:43:16,430 むしろ、それは、ノードを見つけたいです あなたの受信トレイを表すツリー 972 00:43:16,430 --> 00:43:18,580 そしてちょうど新しいノードを挿入します。 973 00:43:18,580 --> 00:43:24,640 >> あなたPSET 5、に非常に非常に似て ハッシュテーブルにノードを挿入しなければなりませんでした、 974 00:43:24,640 --> 00:43:28,410 同様にGoogleは、ビアはありません それが書かれたJavaScriptコード、 975 00:43:28,410 --> 00:43:31,890 このツリーを横断、どこに把握 その受信ボックスは、ウィンドウの一部であり、 976 00:43:31,890 --> 00:43:33,440 して、新しい行を挿入します。 977 00:43:33,440 --> 00:43:37,460 また、新しい行が1つだけ意味します ツリー内の新しいノード以上。 978 00:43:37,460 --> 00:43:41,340 >> そしてそうAJAXは、この技術であり、 それはまさにそれを可能にします。 979 00:43:41,340 --> 00:43:44,440 URLを訪問した後、 しかし、それは長いクレイジー、 980 00:43:44,440 --> 00:43:46,472 そして、ページが持っていたら、 あなたはまだ、することができますロードされて 981 00:43:46,472 --> 00:43:48,430 からより多くのデータをつかみます それはだかどうかinternet-- 982 00:43:48,430 --> 00:43:52,460 電子メールまたはmap--のタイル 舞台裏でそれをつかみます 983 00:43:52,460 --> 00:43:55,290 し、ページに挿入 人間は本当にしないように 984 00:43:55,290 --> 00:43:56,910 それを待たなければなりません。 985 00:43:56,910 --> 00:43:58,980 >> Facebookのメッセンジャーは、同じように動作します。 986 00:43:58,980 --> 00:44:01,562 他websites--任意の数 ああ、実際には、これでも。 987 00:44:01,562 --> 00:44:04,270 私は、これは、率直に言って、一種のですが、意味します 迷惑な機能、これらの日。 988 00:44:04,270 --> 00:44:07,500 私はこのcats--の検索を開始した場合 恐ろしいユーザーエクスペリエンスの一種です。 989 00:44:07,500 --> 00:44:08,990 それはちょうど私のために検索を開始します。 990 00:44:08,990 --> 00:44:10,050 まあそれは何をしているのですか? 991 00:44:10,050 --> 00:44:12,920 URLが実際に変更されていません 私はタイピングを開始して以来。 992 00:44:12,920 --> 00:44:17,330 しかし、何が全体で起こっています 興味深いうーん、OK wire--。 993 00:44:17,330 --> 00:44:20,470 何が全体で起こっています ワイヤは、ここだけの奇妙取得します。 994 00:44:20,470 --> 00:44:21,090 >> OK。 995 00:44:21,090 --> 00:44:24,670 だから私は先に行くと点検してみましょう 要素とネットワーク]タブに移動します 996 00:44:24,670 --> 00:44:27,040 これを作ってみます 技術的、猫はあまり。 997 00:44:27,040 --> 00:44:32,595 私は、文字通り、猫を入力すると 何が起こっていますかand-- 998 00:44:32,595 --> 00:44:37,710 per--私はそれをクリックするつもりはありません。 999 00:44:37,710 --> 00:44:38,210 大丈夫。 1000 00:44:38,210 --> 00:44:44,280 だからダウンここでは、すべての何が起こっているのか 私は明らかに、文字を入力する時? 1001 00:44:44,280 --> 00:44:45,000 低レベル、気に入りましたか? 1002 00:44:45,000 --> 00:44:47,860 何がそれらのそれぞれに起こっています 私は私のキーボードで文字を入力していますか? 1003 00:44:47,860 --> 00:44:48,359 うん? 1004 00:44:48,359 --> 00:44:50,950 聴衆:[聞こえません]。 1005 00:44:50,950 --> 00:44:52,340 >> DAVIDマラン:その通り。 1006 00:44:52,340 --> 00:44:55,600 これらの文字の各々は Googleは、一度に一つに行きます。 1007 00:44:55,600 --> 00:44:58,490 彼らは文字列を構築しています 表し、そのサーバー上の 1008 00:44:58,490 --> 00:44:59,936 私はこれまでに入力したすべてのもの。 1009 00:44:59,936 --> 00:45:01,810 I型とするたびに 別の文字、彼ら 1010 00:45:01,810 --> 00:45:04,530 彼らの秘密のソースを使用 アルゴリズムを検索し、見つけ出します、 1011 00:45:04,530 --> 00:45:07,370 彼はこの猫のページを意味しています この猫のページなどまたは? 1012 00:45:07,370 --> 00:45:10,620 だから、ある意味で、それは私を提供します その中でより良い経験私もありません 1013 00:45:10,620 --> 00:45:11,860 私の考えを完了する必要があります。 1014 00:45:11,860 --> 00:45:14,440 そして実際、それは便利です 事、一般的にはオートコンプリート。 1015 00:45:14,440 --> 00:45:17,690 そのアルゴリズムは十分に良好である場合 私の検索は十分に明白である場合には、 1016 00:45:17,690 --> 00:45:19,300 私は、全体の単語を入力する必要はありません。 1017 00:45:19,300 --> 00:45:22,110 彼らは私に何を伝えるつもりです 私は実際にを探していますされています。 1018 00:45:22,110 --> 00:45:25,940 そこでGoogleはインスタント呼ぶもの 検索はただ、AJAXを使用しています 1019 00:45:25,940 --> 00:45:30,820 要求にそれらを可能にするコードを使用して Webブラウザ経由で追加コンテンツ 1020 00:45:30,820 --> 00:45:34,026 これを使用して舞台裏 新しい言語は、JavaScript。 1021 00:45:34,026 --> 00:45:35,400 だから我々は、左のカップルの分を持っています。 1022 00:45:35,400 --> 00:45:37,710 そして、私は私の友人を呼び出してみましょう ステージ上にアップコルトン、 1023 00:45:37,710 --> 00:45:40,090 それが見えたので、 特に楽しい最後の時間 1024 00:45:40,090 --> 00:45:42,290 技術を導入します あなたのいくつかのこと 1025 00:45:42,290 --> 00:45:44,769 関心を表明しています 最終的なプロジェクトのためのインチ 1026 00:45:44,769 --> 00:45:47,310 我々は、それが持って楽しいだろうと思いました ボランティア、しかし、今日まで 1027 00:45:47,310 --> 00:45:50,074 あなたに加えを表示します ええyou--を可能にするこの、 1028 00:45:50,074 --> 00:45:50,990 私が最初にこの手を見ました。 1029 00:45:50,990 --> 00:45:52,900 アップさあ。 1030 00:45:52,900 --> 00:45:53,560 非常によくやりました。 1031 00:45:53,560 --> 00:45:55,035 よくやった。 1032 00:45:55,035 --> 00:45:57,410 私はこれを上のプロジェクトするつもりです 一瞬の画面。 1033 00:45:57,410 --> 00:45:58,150 皆のためのあなたの名前は何ですか? 1034 00:45:58,150 --> 00:45:59,180 >> EFA:私はEFAです。 1035 00:45:59,180 --> 00:45:59,410 >> DAVIDマラン:ETHA? 1036 00:45:59,410 --> 00:45:59,785 >> EFA:EFA。 1037 00:45:59,785 --> 00:46:00,160 >> DAVIDマラン:EFA? 1038 00:46:00,160 --> 00:46:00,730 >> EFA:うん。 1039 00:46:00,730 --> 00:46:01,250 >> DAVIDマラン:あなたを見てニース。 1040 00:46:01,250 --> 00:46:01,600 大丈夫。 1041 00:46:01,600 --> 00:46:02,590 私はこれの準備ができて取得してみましょう。 1042 00:46:02,590 --> 00:46:04,423 にかけて、さあ ここコルトンと真ん中。 1043 00:46:04,423 --> 00:46:07,050 コルトンは彼の手に持っているもの 今日は、リモートコントロールです。 1044 00:46:07,050 --> 00:46:10,440 そういうだけでそこに立ってより 三次元の世界を見て回っています 1045 00:46:10,440 --> 00:46:14,080 コルトンがしたように、今、EFAができます 実際に、上がっていくことで歩き回ります 1046 00:46:14,080 --> 00:46:16,689 下、左、右など 任天堂やXboxのコントローラ。 1047 00:46:16,689 --> 00:46:18,230 EFA:私は舞台から落ちるつもりです。 1048 00:46:18,230 --> 00:46:20,500 DAVIDマラン:私は意志 こっちおおよそ立っています。 1049 00:46:20,500 --> 00:46:21,991 しかし、それは危険です。 1050 00:46:21,991 --> 00:46:22,490 OK。 1051 00:46:22,490 --> 00:46:25,690 だから先に行くと、それらを置きます。 1052 00:46:25,690 --> 00:46:29,315 私は先に行ってみようと ここで画面に切り替えます。 1053 00:46:29,315 --> 00:46:30,670 私はライトを暗くしてみましょう。 1054 00:46:30,670 --> 00:46:32,780 そしてコルトンは、私を聞かせて あなたの隣のスタンドを付属しています。 1055 00:46:32,780 --> 00:46:35,520 >> あなたはここで説明しますか マイクと私たちは何をやっていますか? 1056 00:46:35,520 --> 00:46:36,380 どうぞ。 1057 00:46:36,380 --> 00:46:37,280 >> COLTON:確かに。 1058 00:46:37,280 --> 00:46:39,980 だから今、私たちはしています オクルスをロードし、 1059 00:46:39,980 --> 00:46:43,070 私はoperating--が動作していないと思います システムが、メインプログラム、 1060 00:46:43,070 --> 00:46:46,630 あなたはすべてのゲームにアクセスすることができますし、 あなたのライブラリーにあるアプリ。 1061 00:46:46,630 --> 00:46:50,060 だから、今、それは言う必要があります 開始するにはタッチパッドをタップします。 1062 00:46:50,060 --> 00:46:53,430 タッチパッドが上になるだろう ヘッドセットの右側。 1063 00:46:53,430 --> 00:46:54,569 だから先に行くとtap-- 1064 00:46:54,569 --> 00:46:55,110 EFA:ああ、男。 1065 00:46:55,110 --> 00:46:56,443 DAVIDマラン:うん、そこに行きます。 1066 00:46:56,443 --> 00:47:00,340 1067 00:47:00,340 --> 00:47:02,460 EFAが見ている品質 はるかに高い品質があります。 1068 00:47:02,460 --> 00:47:03,831 これはここだけのWi-Fiです。 1069 00:47:03,831 --> 00:47:05,580 COLTON:だから何をしています やりたいつもり 1070 00:47:05,580 --> 00:47:08,350 上の方を見ています 画面の右。 1071 00:47:08,350 --> 00:47:10,420 うん、非常に右上にそのゲーム。 1072 00:47:10,420 --> 00:47:14,780 そして、あなたが選択しているとき それは、再びタッチパッドをタップします。 1073 00:47:14,780 --> 00:47:17,010 私はそのDreadhallsだと思います。 1074 00:47:17,010 --> 00:47:20,820 そしてここにしましょう​​、ここA--です 私はあなたのために眼鏡を保持します。 1075 00:47:20,820 --> 00:47:24,420 1076 00:47:24,420 --> 00:47:25,790 >> だから、僕は彼にコントローラを与えました。 1077 00:47:25,790 --> 00:47:28,886 だから今、彼はゲームをコントロールすることができます。 1078 00:47:28,886 --> 00:47:30,510 彼はそのように周りやものに移動することができます。 1079 00:47:30,510 --> 00:47:31,968 だから先に行くとトップに見上げます。 1080 00:47:31,968 --> 00:47:33,640 あなたは新しいゲームが表示されます。 1081 00:47:33,640 --> 00:47:36,310 だから先に行くと、あなたはそれを行うことができます。 1082 00:47:36,310 --> 00:47:39,320 今、あなたがコントロールすることができるはずです コントローラと自分自身、 1083 00:47:39,320 --> 00:47:43,860 だけでなく、できるだけ早く ゲームがここにロードします。 1084 00:47:43,860 --> 00:47:46,356 これは少し怖いかもしれません。 1085 00:47:46,356 --> 00:47:47,300 >> EFA:今、あなたは私に言います。 1086 00:47:47,300 --> 00:47:50,132 OK。 1087 00:47:50,132 --> 00:47:51,080 >> COLTON:すべての権利。 1088 00:47:51,080 --> 00:47:52,650 だから、あなたの周りに移動することができますことを確認します。 1089 00:47:52,650 --> 00:47:52,750 OK。 1090 00:47:52,750 --> 00:47:53,583 あなたの周りに移動することができます。 1091 00:47:53,583 --> 00:47:54,300 パーフェクト。 1092 00:47:54,300 --> 00:47:56,470 あなたがダウンして見えるのであれば、あなたは、地図を持っています。 1093 00:47:56,470 --> 00:47:58,170 あなたがどこにあるか地図を示しています。 1094 00:47:58,170 --> 00:47:59,720 あなたは部屋を見て回ることができます。 1095 00:47:59,720 --> 00:48:01,440 あなたは完全に好転させることができます。 1096 00:48:01,440 --> 00:48:02,128 うん、まさに。 1097 00:48:02,128 --> 00:48:02,627 振り向く。 1098 00:48:02,627 --> 00:48:05,370 1099 00:48:05,370 --> 00:48:07,125 >> だからあなたの左に見えます。 1100 00:48:07,125 --> 00:48:09,875 私はあなたができる何かがあると思います 客室内にバレルに拾います。 1101 00:48:09,875 --> 00:48:11,709 >> EFA:どのように私は入手できますか 邪魔にならないようにマッピングしますか? 1102 00:48:11,709 --> 00:48:12,375 コルトン:ルックアップします。 1103 00:48:12,375 --> 00:48:12,980 ただ見上げます。 1104 00:48:12,980 --> 00:48:13,480 大丈夫。 1105 00:48:13,480 --> 00:48:13,765 そこに行きます。 1106 00:48:13,765 --> 00:48:15,181 今先に行くと、ちょうど好転させます。 1107 00:48:15,181 --> 00:48:21,460 1108 00:48:21,460 --> 00:48:24,620 だからあなたの左に遠くに見えます。 1109 00:48:24,620 --> 00:48:25,530 左に移動してください。 1110 00:48:25,530 --> 00:48:26,960 左を見てください。 1111 00:48:26,960 --> 00:48:27,541 立ち止まるな。 1112 00:48:27,541 --> 00:48:28,040 うん。 1113 00:48:28,040 --> 00:48:28,720 >> EFA:ああ、その方法。 1114 00:48:28,720 --> 00:48:29,261 >> COLTON:う​​ん。 1115 00:48:29,261 --> 00:48:30,999 コントローラとそれに向かって歩きます。 1116 00:48:30,999 --> 00:48:31,540 そこに行きます。 1117 00:48:31,540 --> 00:48:32,790 今ではそれを拾うと言うべきです。 1118 00:48:32,790 --> 00:48:33,360 そこに行きます。 1119 00:48:33,360 --> 00:48:34,290 それを拾います。 1120 00:48:34,290 --> 00:48:35,550 大丈夫。 1121 00:48:35,550 --> 00:48:38,286 さて、この部屋の外に出てみましょう。 1122 00:48:38,286 --> 00:48:42,209 先に行くと、そのドアに歩いてください。 1123 00:48:42,209 --> 00:48:45,000 だから、それが言うhold--するつもりです オープンそれを強制するためにボタンを押したままにします。 1124 00:48:45,000 --> 00:48:46,333 だから先に行くと、ボタンを押したままにします。 1125 00:48:46,333 --> 00:48:48,250 うん、それは開いて強制的に。 1126 00:48:48,250 --> 00:48:48,750 大丈夫。 1127 00:48:48,750 --> 00:48:49,410 よくやった。 1128 00:48:49,410 --> 00:48:50,826 今、私たちは部屋を出て歩いています。 1129 00:48:50,826 --> 00:48:56,970 1130 00:48:56,970 --> 00:49:01,366 だから私は残りを任せるつもりです あなたに、あなたが見つけるものを参照してください。 1131 00:49:01,366 --> 00:49:02,865 EFA:私は暗い部屋でつもりはありません。 1132 00:49:02,865 --> 00:49:07,315 1133 00:49:07,315 --> 00:49:07,815 ああ、待ってください。 1134 00:49:07,815 --> 00:49:09,314 今、私は暗い廊下を行くことがありますか? 1135 00:49:09,314 --> 00:49:10,785 [OK]を、私は[聞こえない]バックつもりです。 1136 00:49:10,785 --> 00:49:15,520 1137 00:49:15,520 --> 00:49:16,270 COLTON:すべての権利。 1138 00:49:16,270 --> 00:49:17,560 いくつかのより多くの項目をピックアップします。 1139 00:49:17,560 --> 00:49:19,370 いくつかのコインのように見えます。 1140 00:49:19,370 --> 00:49:22,242 それはロックピックです。 1141 00:49:22,242 --> 00:49:24,200 あなたが見つけた場合は、ロックされています ドアは、あなたはそれを使用することができます。 1142 00:49:24,200 --> 00:49:27,755 1143 00:49:27,755 --> 00:49:28,380 怖いのか? 1144 00:49:28,380 --> 00:49:29,371 >> EFA:まだです。 1145 00:49:29,371 --> 00:49:29,871 COLTON:[OK]をクリックします。 1146 00:49:29,871 --> 00:49:34,850 1147 00:49:34,850 --> 00:49:35,497 >> ええPretend--。 1148 00:49:35,497 --> 00:49:37,330 ちょうどあなたがしているふり 実際にそこに立って。 1149 00:49:37,330 --> 00:49:39,580 そして、あなたはaround--オンにした場合 あなたはそれに慣れるようになってきました。 1150 00:49:39,580 --> 00:49:40,752 しかし、それは理にかなっています。 1151 00:49:40,752 --> 00:49:43,960 DAVIDマラン:そしてEFAはし続けます 私たちは一日これを行う可能性があるので、遊びます、 1152 00:49:43,960 --> 00:49:45,381 ここでは、すべてのチップつま先アウトすることができます。 1153 00:49:45,381 --> 00:49:48,130 しかし、我々は他の二つのペアを持っています、 あなたが出てくるとプレイしたい場合。 1154 00:49:48,130 --> 00:49:49,980 そうでなければ、我々が表示されます 来週の水曜日にあなた。 1155 00:49:49,980 --> 00:49:51,354 今日の私たちのボランティアに感謝します。 1156 00:49:51,354 --> 00:49:52,101 [拍手] 1157 00:49:52,101 --> 00:49:54,506 1158 00:49:54,506 --> 00:49:57,392 >> [MUSIC - 「となりのサインフェルドのテーマ」] 1159 00:49:57,392 --> 00:49:58,222 1160 00:49:58,222 --> 00:50:00,180 SPEAKER 1:まあ、私は 新しいPLを置くことにマウントします。 1161 00:50:00,180 --> 00:50:01,800 私はちょうどOLPF--を変更しました 1162 00:50:01,800 --> 00:50:03,980 >> SPEAKER 2:だから何 正確にあなたがやっていますか? 1163 00:50:03,980 --> 00:50:07,063 >> SPEAKER 1:まあ、一人一these-- ここで、私はここにあなたに、このいずれかをお見せします。 1164 00:50:07,063 --> 00:50:08,690 あなたは右のそれをここに見ることができます。 1165 00:50:08,690 --> 00:50:09,510 >> SPEAKER 3:私はこれらとの良好だと思います。 1166 00:50:09,510 --> 00:50:09,933 あなたはいくつかの詳細をしたいですか? 1167 00:50:09,933 --> 00:50:11,325 >> スピーカ4:いいえ、私は良いですよ。 [聞こえません]。 1168 00:50:11,325 --> 00:50:12,200 >> SPEAKER 3:いいえ、[聞こえません]。 1169 00:50:12,200 --> 00:50:12,700 いくつかを持っています。 1170 00:50:12,700 --> 00:50:21,165 1171 00:50:21,165 --> 00:50:22,290 SPEAKER 1:別の色。 1172 00:50:22,290 --> 00:50:22,890 SPEAKER 2:[OK]をクリックします。 1173 00:50:22,890 --> 00:50:26,690 SPEAKER 1:だから、最終的にどのようなこと それは色を調整しているんof--