1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> DAVIDマラン:すべての権利、我々は戻ってきました。 3 00:00:01,560 --> 00:00:03,830 励起するだから、 結論、私たちの最後のセクション 4 00:00:03,830 --> 00:00:06,900 Webプログラミング、私に 我々は一般的な用語として使用したいと思いました 5 00:00:06,900 --> 00:00:08,440 いくつかの残りのトピックをキャプチャします。 6 00:00:08,440 --> 00:00:10,390 の終わりにそのように 日、私たちは実際にやります 7 00:00:10,390 --> 00:00:14,830 ハンズオンWebプログラミングの少し JavaScriptをと呼ばれる言語で。 8 00:00:14,830 --> 00:00:17,510 そして、私たちは見てみようと思います 画像に関連するもので、 9 00:00:17,510 --> 00:00:20,040 そして何かを発見 密か画像に隠されました、 10 00:00:20,040 --> 00:00:23,230 また、Googleのを見てみましょう マップAPI、アプリケーション・プログラミング 11 00:00:23,230 --> 00:00:26,040 何かのようなインターフェース、 ソフトウェアのタイプを代表します 12 00:00:26,040 --> 00:00:28,800 それはますますとです 今日自由に利用できます。 13 00:00:28,800 --> 00:00:32,029 >> しかし、なぜ我々は、ルックを取ることはありません この世界に成分で 14 00:00:32,029 --> 00:00:34,070 私たちは、この種のしてきたこと 当然の服用して存在します 15 00:00:34,070 --> 00:00:36,720 いくつかの時間のために、データベース。 16 00:00:36,720 --> 00:00:39,150 過去の日のためと 我々が想定してきた半分 17 00:00:39,150 --> 00:00:42,910 私たちは、データベースへのアクセス権を持っているが、 データベースには何の問題を解決できますか? 18 00:00:42,910 --> 00:00:45,540 それが私たちのために何をするのでしょうか? 19 00:00:45,540 --> 00:00:47,030 それは何ですか? 20 00:00:47,030 --> 00:00:48,679 >> AUDIENCE:[聞こえません] 21 00:00:48,679 --> 00:00:51,720 DAVIDマラン:すべての情報を保持し、 情報の[OK]をクリックし、どのような種類 22 00:00:51,720 --> 00:00:53,186 あなたはそれに置くことがあるかもしれませんか? 23 00:00:53,186 --> 00:00:54,590 >> AUDIENCE:[聞こえません] 24 00:00:54,590 --> 00:00:56,450 >> DAVIDマラン:すべての情報 あなたがそれに入れて、あなたが戻って取得します。 25 00:00:56,450 --> 00:00:57,070 それは本当です。 26 00:00:57,070 --> 00:01:01,900 そして、典型的なウェブベースのサイトまたはウェブ上 アプリケーション、どのような情報の種類、 27 00:01:01,900 --> 00:01:03,385 具体的には、あなたがに入れるのでしょうか? 28 00:01:03,385 --> 00:01:04,260 AUDIENCE:[聞こえません] 29 00:01:04,260 --> 00:01:05,051 DAVIDマラン:ユーザー。 30 00:01:05,051 --> 00:01:07,000 したがって、ユーザーは何ですか? 31 00:01:07,000 --> 00:01:09,765 >> AUDIENCE:[聞こえません] 32 00:01:09,765 --> 00:01:11,640 DAVIDマラン:OK、登録 サイトのユーザー。 33 00:01:11,640 --> 00:01:15,100 そして、それはに何を意味しています 店舗利​​用者の情報? 34 00:01:15,100 --> 00:01:17,260 何がユーザーを構成しますか? 35 00:01:17,260 --> 00:01:18,331 ユーザーが何を持っていますか? 36 00:01:18,331 --> 00:01:19,206 AUDIENCE:[聞こえません] 37 00:01:19,206 --> 00:01:21,040 DAVIDマラン:ええ、個人的 データ、と私はそれが好きです。 38 00:01:21,040 --> 00:01:21,970 それでは、より正確にしましょう​​。 39 00:01:21,970 --> 00:01:25,275 したがって、ユーザーは、通常、名前を持っています、 ユーザーは、他に何を持っているのでしょうか? 40 00:01:25,275 --> 00:01:26,150 AUDIENCE:[聞こえません] 41 00:01:26,150 --> 00:01:29,130 DAVIDマラン:addr-- OK、 そう姓、名。 42 00:01:29,130 --> 00:01:29,630 それは良い。 43 00:01:29,630 --> 00:01:31,463 実際に、のは修正しましょう それが起こっているので、その 44 00:01:31,463 --> 00:01:35,010 ための機会を開くために 議論、まだ、さらに。 45 00:01:35,010 --> 00:01:39,090 姓、名、性別。 46 00:01:39,090 --> 00:01:41,820 47 00:01:41,820 --> 00:01:43,481 ある種のID。 48 00:01:43,481 --> 00:01:43,980 ほかに何か? 49 00:01:43,980 --> 00:01:45,438 私も、前に何かを聞きました。 50 00:01:45,438 --> 00:01:51,600 電子メール、郵便アドレス。 51 00:01:51,600 --> 00:01:58,170 >> それでは、そこに一時停止し、今考えてみましょう 私たちは、データベースに保存しているではありません、 52 00:01:58,170 --> 00:02:01,980 それはおそらくだから、なぜbut--なく、 ユーザーを登録するとことは明らかで、 53 00:02:01,980 --> 00:02:03,730 あなたはいくつかの時間のためにそれらを覚えておきたいです。 54 00:02:03,730 --> 00:02:05,480 あなたはそれがしたくありません 単にRAMに格納されます 55 00:02:05,480 --> 00:02:08,690 そのためforgotten--します それでは、どのように焦点を当ててみましょう。 56 00:02:08,690 --> 00:02:11,700 >> それはでていることが判明します データベースの世界では、 57 00:02:11,700 --> 00:02:14,410 少なくとも2種類のこれらの日があります。 58 00:02:14,410 --> 00:02:20,010 SQLデータベースと呼ばれるもの、 構造化照会言語、 59 00:02:20,010 --> 00:02:24,770 または、かわいく、命名 SQLではないのNoSQL、。 60 00:02:24,770 --> 00:02:26,980 後者は かもしれないものの例 61 00:02:26,980 --> 00:02:30,660 オブジェクト指向と呼ばれ、 またはオブジェクトストア、データベース 62 00:02:30,660 --> 00:02:36,010 それは、オブジェクトが格納されず、言い訳 私は、のように我々はすぐに、行が表示されます。 63 00:02:36,010 --> 00:02:41,800 >> だから我々は、上のちょっと注目します これらの最初の、つまり、SQL 64 00:02:41,800 --> 00:02:46,850 データベース、それだからこその場合 誰にも、すでに馴染み 65 00:02:46,850 --> 00:02:51,070 Excelの使用している人や GoogleスプレッドシートまたはApple 66 00:02:51,070 --> 00:02:53,740 数字または任意の標準 スプレッドシートプログラム、 67 00:02:53,740 --> 00:02:56,040 または、同等に、または より巧みに、 68 00:02:56,040 --> 00:02:58,610 マイクロソフトのようなもの アクセスまたはOracle 69 00:02:58,610 --> 00:03:03,890 やMySQLやPostgreSQL、そのすべて 実装のための製品名であります 70 00:03:03,890 --> 00:03:04,865 次のアイデアの。 71 00:03:04,865 --> 00:03:10,350 >> リレーショナルデータベースは、単純です 行と列を持っているもの。 72 00:03:10,350 --> 00:03:12,850 そして、行と列によって、 私は、文字通り何かを意味します 73 00:03:12,850 --> 00:03:21,860 このようなので、ここで我々が​​持っているかもしれません フィールドの名前とこちらにそのタイプ。 74 00:03:21,860 --> 00:03:25,800 そして実際に、私を聞かせて 今これらをマッピングするために開始します。 75 00:03:25,800 --> 00:03:29,420 だから、実際に、私は知りません なぜ私は別のグラフを描きました。 76 00:03:29,420 --> 00:03:30,780 この単純なを維持してみましょう。 77 00:03:30,780 --> 00:03:34,830 >> 私たちは右ここにあります 私たちのテーブルの始まり 78 00:03:34,830 --> 00:03:40,150 これは、フィールドの名前です。 これは、データ型であり、 79 00:03:40,150 --> 00:03:41,660 そして、タイプすることによって、私は次のような意味です。 80 00:03:41,660 --> 00:03:45,510 それは数であり、それは、文字列です 単語のような短い文字列、 81 00:03:45,510 --> 00:03:49,340 それは、段落であります 画像のようなバイナリデータを、? 82 00:03:49,340 --> 00:03:51,980 そして、ちょうどこれをいじめるしましょう 離れてちょっと。 83 00:03:51,980 --> 00:03:57,575 したがって、最初の名前、番号、 文字列、text--の大きな塊 84 00:03:57,575 --> 00:03:58,450 AUDIENCE:[聞こえません] 85 00:03:58,450 --> 00:03:59,616 DAVIDマラン:はい、そう文字列。 86 00:03:59,616 --> 00:04:04,744 そして、データベースのコンテキストでは、我々はよ 通常、このchar型のフィールドを呼び出します。 87 00:04:04,744 --> 00:04:07,660 私はちょうど私たちがしているが、今の文字を言いますよ 現時点でこれを改良するために行きます。 88 00:04:07,660 --> 00:04:09,180 文字フィールド。 89 00:04:09,180 --> 00:04:11,365 姓は、おそらく同じです。 90 00:04:11,365 --> 00:04:11,865 性別? 91 00:04:11,865 --> 00:04:16,230 92 00:04:16,230 --> 00:04:18,310 >> 男性または女性、それ char型のフィールドである可能性があります。 93 00:04:18,310 --> 00:04:21,380 それはどちらかの引用、引用終わりかもしれません 「男性」または引用、引用終わり "女性" 94 00:04:21,380 --> 00:04:23,650 またはそれはメートルまたはfである可能性があります。 95 00:04:23,650 --> 00:04:26,540 あなたはより包括的になりたい場合は、 あなたは3番目の値が必要になる場合があります 96 00:04:26,540 --> 00:04:28,640 または完全に他のフィールドのいくつかの種類。 97 00:04:28,640 --> 00:04:31,350 そして、あなたは真偽を使用することができます。 98 00:04:31,350 --> 00:04:35,036 フィールドは、雄と呼ばれる、とすることができ あなたは真または偽の言うことができます。 99 00:04:35,036 --> 00:04:38,160 しかし、それは必ずしも取得しません あなたが望むかもしれないすべての情報。 100 00:04:38,160 --> 00:04:41,118 >> だから、別のタイプがありますが判明します ここで役に立つかもしれないフィールドの 101 00:04:41,118 --> 00:04:46,040 一般的なデータベースでは、と呼ばれます それは文字フィールドである列挙型、 102 00:04:46,040 --> 00:04:50,480 ただし、設計者は、に行きます 可能な値を列挙し、 103 00:04:50,480 --> 00:04:54,630 引用、引用、引用終わり "男性"のような、 引用終わり「女性」など。 104 00:04:54,630 --> 00:04:57,620 だからどのような値 あなたのデータベース内にあります、 105 00:04:57,620 --> 00:05:00,670 文字ベースのは確かですが、 それはそれらのいずれかの値を指定する必要があります。 106 00:05:00,670 --> 00:05:03,520 私たちは、おそらく望んでいないだろう 姓または名の列挙。 107 00:05:03,520 --> 00:05:05,630 そうでなければ、我々は持っているだろう 名前のように、列挙します 108 00:05:05,630 --> 00:05:09,570 文字通りあらゆるから派生 可能姓と名。 109 00:05:09,570 --> 00:05:13,960 >> [OK]を、ので、IDはID何をすべきですか? 110 00:05:13,960 --> 00:05:15,200 はい、ので、多分数。 111 00:05:15,200 --> 00:05:17,870 それでは、に固執しましょう その今のところ、数。 112 00:05:17,870 --> 00:05:22,010 そして数によって、数の 今少し広すぎます。 113 00:05:22,010 --> 00:05:23,900 第二の終わりのための 日、私たちのように感じます 114 00:05:23,900 --> 00:05:25,280 もう少し正確でなければなりません。 115 00:05:25,280 --> 00:05:29,280 番号は次のように意味するかもしれません、それを 1.236のようなものである可能性があります。 116 00:05:29,280 --> 00:05:31,500 そして、それはおそらくありません 我々はIDによって何を意味します。 117 00:05:31,500 --> 00:05:34,635 我々は、おそらくIDとはどういう意味ですか? 118 00:05:34,635 --> 00:05:36,382 >> AUDIENCE:[聞こえません] 119 00:05:36,382 --> 00:05:38,590 DAVIDマラン:ああ、[OK]を、ので、 多分それは偶数ではありません。 120 00:05:38,590 --> 00:05:42,840 多分それは実際に一意識別子 それは、ユーザー名などの文字列、です。 121 00:05:42,840 --> 00:05:44,580 だから絶対に、である可能性があります。 122 00:05:44,580 --> 00:05:46,730 私は誰かおそらくだと思います しかし、数値の意味。 123 00:05:46,730 --> 00:05:48,460 それでは、それに滞在してみましょう。 124 00:05:48,460 --> 00:05:49,320 数のどのような? 125 00:05:49,320 --> 00:05:51,960 より多くの整数をprecise--ものです。 126 00:05:51,960 --> 00:05:56,710 0、1、2、3のようなので、数 私たちは、この整数呼ぶことにします。 127 00:05:56,710 --> 00:05:58,909 そしてその後も、私ができました つまらないことにこだわること、それはです 128 00:05:58,909 --> 00:06:00,700 ない本当にただ あなたが望む一般的な整数。 129 00:06:00,700 --> 00:06:04,340 おそらく、負の値を望んでいません 理由だけで、それだけで奇妙な感じ。 130 00:06:04,340 --> 00:06:06,070 おそらく、正の整数をしたいです。 131 00:06:06,070 --> 00:06:07,920 だから、あなたも表現することができます データベースにその、 132 00:06:07,920 --> 00:06:09,450 しかし今のところ、我々は整数を言いますよ。 133 00:06:09,450 --> 00:06:10,650 >> Eメール? 134 00:06:10,650 --> 00:06:13,550 これはおそらく、何をjust--のですか? 135 00:06:13,550 --> 00:06:14,460 >> AUDIENCE:[聞こえません] 136 00:06:14,460 --> 00:06:16,980 >> DAVIDマラン:それは電子メールです、 それは右、文字ですか? 137 00:06:16,980 --> 00:06:19,813 それだけのようなファンキーなキャラクターを持っています 「時」のシンボルまたは何か他のもの、 138 00:06:19,813 --> 00:06:21,580 それはまだ文字フィールドです。 139 00:06:21,580 --> 00:06:23,900 そして、住所? 140 00:06:23,900 --> 00:06:25,360 文字フィールド。 141 00:06:25,360 --> 00:06:31,400 だから、素敵な始まりですが、 それでは、もう少し正確にしましょう​​。 142 00:06:31,400 --> 00:06:34,540 >> だから、中にいることが判明します データベース、多くの場合、あなた 143 00:06:34,540 --> 00:06:39,120 より洗練された以上の選択肢を持っています これらの事のバージョン。 144 00:06:39,120 --> 00:06:44,330 実際には、典型的なSQLデータベース、SQLで、 より一般的に、リレーショナルデータベース、 145 00:06:44,330 --> 00:06:46,680 行を持つデータベース そして、列、多くの場合、あなた 146 00:06:46,680 --> 00:06:53,610 のタイプではないだけを指定して取得 私はいくつかの部屋を作ってみましょうfield-- here-- 147 00:06:53,610 --> 00:06:56,600 だけでなく、長さ。 148 00:06:56,600 --> 00:06:59,900 >> だから、最初の名前どのくらいですか? 149 00:06:59,900 --> 00:07:07,060 私はD-A-V-I-D、と思います。うん、わかりました おそらくちょうど半​​分のように気分を害し 150 00:07:07,060 --> 00:07:11,260 部屋の人々の、右、 あなたの名前は5よりも長いので、 151 00:07:11,260 --> 00:07:16,608 文字なので、5は少し利己的です ナイーブなので、より良い値は何ですか? 152 00:07:16,608 --> 00:07:19,320 153 00:07:19,320 --> 00:07:24,330 10、すべての権利、と私は思います 私たちは部屋でOKです。 154 00:07:24,330 --> 00:07:26,254 13? 155 00:07:26,254 --> 00:07:27,541 30? 156 00:07:27,541 --> 00:07:29,540 なぜ私が取ることはありません 以前のアプローチときに我々 157 00:07:29,540 --> 00:07:31,081 配列やメモリについて話していましたか? 158 00:07:31,081 --> 00:07:32,450 なぜ私はちょうど千のように言っていませんか? 159 00:07:32,450 --> 00:07:35,260 誰の名前が起こっています 千よりも長くします。 160 00:07:35,260 --> 00:07:36,706 押し戻します。 161 00:07:36,706 --> 00:07:38,005 >> AUDIENCE:[聞こえません] 162 00:07:38,005 --> 00:07:40,130 DAVIDマラン:うん、それはです 無駄な、右、特に 163 00:07:40,130 --> 00:07:44,630 ほとんどの名前があ​​る場合にのみ、5または10 15文字が、それは非常に無駄です。 164 00:07:44,630 --> 00:07:45,810 だからあなたは何を知っていますか? 165 00:07:45,810 --> 00:07:48,020 これは難しい質問の一種です。 166 00:07:48,020 --> 00:07:51,721 今、我々は確かに英語を分析することができます 他の言語にも対応の名前 167 00:07:51,721 --> 00:07:54,470 よく、何で、把握 average--平均は本当にありません 168 00:07:54,470 --> 00:07:57,150 maxがあるものだus--助けます おそらく、私たちが本当に欲しいもの。 169 00:07:57,150 --> 00:07:59,920 しかし、それは私たちも持っているが判明します ここで型を超えるいくつかの選択肢。 170 00:07:59,920 --> 00:08:03,400 >> 典型的なSQLデータベースでは、あなた char型のフィールドと呼ばれるものをしています 171 00:08:03,400 --> 00:08:07,505 また、varchar型、V-A-R、 変数char型のフィールドのため。 172 00:08:07,505 --> 00:08:08,630 その差はこれです。 173 00:08:08,630 --> 00:08:12,400 char型のフィールドには、デザイナー、 事前に指定する必要があります 174 00:08:12,400 --> 00:08:14,900 フィールドの正確な長さ。 175 00:08:14,900 --> 00:08:20,530 そのため、おそらく最初の名前 以下のような20は一種の安全な感じ。 176 00:08:20,530 --> 00:08:23,950 にいくつかのグーグルをしなければならないかもしれません それが十分で実際に安全ですかどうかを確認します。 177 00:08:23,950 --> 00:08:26,910 21での名前はおそらくあります 文字は、今のところ、20を考えます 178 00:08:26,910 --> 00:08:27,620 安全です。 179 00:08:27,620 --> 00:08:30,070 >> char型のフィールドが暗示します あなたのデータベース内 180 00:08:30,070 --> 00:08:33,289 20と常に20文字を使用しています。 181 00:08:33,289 --> 00:08:37,419 今ではそれらのちょうどD-A-V-I-D、15だ場合 ちょうど空白文字であることを行っています、 182 00:08:37,419 --> 00:08:40,450 しかし、あなたはまだ、すべての20バイトを使用しています。 183 00:08:40,450 --> 00:08:46,302 varchar型のフィールドは、対照的に、意味します 文字列は最大20文字でなければなりません 184 00:08:46,302 --> 00:08:48,260 しかし、それは5だけだ場合、 あなただけ使用するつもり 185 00:08:48,260 --> 00:08:51,270 以下のための5、または多分6 終わりに特別な値、 186 00:08:51,270 --> 00:08:54,980 その0のように、我々はそれを議論しました 文字の終わりを意味し 187 00:08:54,980 --> 00:08:56,790 メモリ内のシーケンス。 188 00:08:56,790 --> 00:08:59,950 >> だから、ときに思います あなたは、charを選択する可能性があります 189 00:08:59,950 --> 00:09:05,240 varchar型対、そのトレードオフを与えられましたか? 190 00:09:05,240 --> 00:09:09,321 シャアはその文字数、varchar型を使用しています その多くの文字以下を使用していません。 191 00:09:09,321 --> 00:09:10,196 AUDIENCE:[聞こえません] 192 00:09:10,196 --> 00:09:13,859 193 00:09:13,859 --> 00:09:16,900 DAVIDマラン:OK、あなたが知っています 文字列の長さはかなり説得力のあります 194 00:09:16,900 --> 00:09:19,316 ちょうど場合チャー、「原因を使用するには あなたはそれを下に置く、それを知っています。 195 00:09:19,316 --> 00:09:23,390 そしておそらくそれはジッパーのために本当です コー​​ド、米国では、少なくとも、02138、 196 00:09:23,390 --> 00:09:26,660 常に5になるだろう あなたまでの文字がダッシュ4を追加します。 197 00:09:26,660 --> 00:09:29,750 しかし、あなたがのためにいくつかの値を持っている可能性があります これはあなたが常に長さを知っています。 198 00:09:29,750 --> 00:09:32,310 それとも状態のシンボル、 ニューヨークのためのNYのような、 199 00:09:32,310 --> 00:09:33,811 そして、米国のマサチューセッツ州のためのMA。 200 00:09:33,811 --> 00:09:36,560 たぶん、あなたはいくつかの状況がありますか それは完全に合理的だところ、 201 00:09:36,560 --> 00:09:39,520 しかしそのロジックによって、なぜです 私たちもこれをover​​thinking? 202 00:09:39,520 --> 00:09:41,800 なぜ私たちは使用しないでください varchar型、その後、私達はちょうどよ 203 00:09:41,800 --> 00:09:46,730 常にとにかく2つの文字を使用しますか、 常にとにかく5文字を使用できますか? 204 00:09:46,730 --> 00:09:50,300 理由だけのためのvarchar型を保存しません すべて、そのロジックによる? 205 00:09:50,300 --> 00:09:51,677 キャッチがあるに違いありません。 206 00:09:51,677 --> 00:09:52,552 AUDIENCE:[聞こえません] 207 00:09:52,552 --> 00:09:54,952 208 00:09:54,952 --> 00:09:56,660 DAVIDマラン:でした 何か間違ったことを書きます。 209 00:09:56,660 --> 00:09:58,090 だから、それは本当です。 210 00:09:58,090 --> 00:10:01,030 しかし、その後も、彼らが使用することはできません 私は割り当てよりも多くのメモリ。 211 00:10:01,030 --> 00:10:03,340 私はまだ最終的なを持っています 長さにわたって言います、 212 00:10:03,340 --> 00:10:06,780 そう、彼らは誤って作成することはできません その間違いが、良い考え。 213 00:10:06,780 --> 00:10:10,510 これは、より微妙なのですが、それは非常に関連するです 私たちの議論に、実際には、配列の 214 00:10:10,510 --> 00:10:12,390 以前のリンクリスト。 215 00:10:12,390 --> 00:10:16,290 >> これは、場合、データベースことが判明します それはすべての値があることを知っています 216 00:10:16,290 --> 00:10:19,250 固定長の、たとえ これらの値の一部は、空白であります 217 00:10:19,250 --> 00:10:22,484 審美的にブランクの一種、 D-A-V-I-D、次いで15ブランク、 218 00:10:22,484 --> 00:10:24,650 すべての場合には、ことが判明します フィールドが同じ長さであり、 219 00:10:24,650 --> 00:10:28,670 アレイは、そのもののすべてを持っていたのと同じよう バックするように背中合わせにする背面に 220 00:10:28,670 --> 00:10:33,480 あなただけのプラス1次へ取得することができ 値、データベーステーブル内の同じ考え。 221 00:10:33,480 --> 00:10:37,550 あなたのキャラクターのすべての場合 文字列が同じ長さです、 222 00:10:37,550 --> 00:10:39,390 あなたは、ランダムアクセスと呼ばれるものがあります。 223 00:10:39,390 --> 00:10:41,850 すべての文字列は、である場合 長さ20、あなただけではないん 224 00:10:41,850 --> 00:10:45,230 やるプラス1あなただけやるプラス 20、+ 20、+ 20、+ 20、 225 00:10:45,230 --> 00:10:48,775 あなたは非常に迅速にスクロールすることができます またはすべてのデータを検索。 226 00:10:48,775 --> 00:10:54,420 >> 変数char型のフィールドは、対照的に、 常に20文字を持っていません。 227 00:10:54,420 --> 00:10:58,000 その後、20とを持っている可能性があります 15、次に19、次に10、 228 00:10:58,000 --> 00:11:00,720 ので、検索したい場合は それを介して、あなただけ盲目的にできません 229 00:11:00,720 --> 00:11:03,050 次の1に到達するために20バイトを追加します。 230 00:11:03,050 --> 00:11:07,280 あなたは文字通りを検索する必要があります ためのデータ構造のエッジ 231 00:11:07,280 --> 00:11:08,340 あなたがする場合は、ギザギザです。 232 00:11:08,340 --> 00:11:11,480 それは一種ので行くとアウトベース 文字列の実際の長さに。 233 00:11:11,480 --> 00:11:14,460 だから、長さ、などを知っているとき カリームは、char型のフィールドを使用し、言います 234 00:11:14,460 --> 00:11:16,460 あなたはそれを得るため、 であることの効率性 235 00:11:16,460 --> 00:11:19,170 より速く、それを検索することができ あなたがデータを探しているときに、 236 00:11:19,170 --> 00:11:20,550 そうでない場合は変数を使用します。 237 00:11:20,550 --> 00:11:24,450 >> 残念ながら、私は良い答えを持っていません 名前はどうあるべきかの長に、 238 00:11:24,450 --> 00:11:26,360 しかし、のようなもののために 名前は、私が言います 239 00:11:26,360 --> 00:11:28,470 varchar型が一般的です それはないだろうので、 240 00:11:28,470 --> 00:11:30,430 皆のための一定の長さにします。 241 00:11:30,430 --> 00:11:33,650 20、私は知らない、20 少しタイトに感じています。 242 00:11:33,650 --> 00:11:36,460 ちょうど50、50を言ってみましょう。 243 00:11:36,460 --> 00:11:39,210 それは本当にあなたのことは費用がかかりません 50の代わりに40を言ってはるかに、 244 00:11:39,210 --> 00:11:41,260 しかし、いくつかの点で、あなたが必要です 審判の判定を行います。 245 00:11:41,260 --> 00:11:43,090 >> 率直に言って、非常に一般的な、 ために [?歴史?] 246 00:11:43,090 --> 00:11:47,670 理由により、それが過剰だとしても、 いくつかの時間前ので、255を言うことです、 247 00:11:47,670 --> 00:11:51,440 人気のデータベースシステムにおいて、等 MySQLの、無料のオープンソース・ツール 248 00:11:51,440 --> 00:11:53,790 その企業の多く 以下のようにもFacebookは、使用しました 249 00:11:53,790 --> 00:11:56,654 これは最大のデフォルトました だから人々はそれと一緒に行きました。 250 00:11:56,654 --> 00:11:59,070 だから無理が、我々はよありません もう少し直感を使用 251 00:11:59,070 --> 00:12:02,970 50確かに、それはだ、と言います おそらく、少し過剰な。 252 00:12:02,970 --> 00:12:05,720 >> 性別、私は列挙型のように行います、 そして私たちは、したがって、缶 253 00:12:05,720 --> 00:12:08,760 男性または女性を列挙し、 または多分より効率的に、 254 00:12:08,760 --> 00:12:13,420 メートルまたはfまたはいくつかの他のシンボルが、 列挙型が良い選択のように感じています。 255 00:12:13,420 --> 00:12:16,740 明確にするためには、性別 ちょうどvarchar型とすることができます、 256 00:12:16,740 --> 00:12:19,090 そして私達はちょうどすべての可能性 素敵な人を同意し、 257 00:12:19,090 --> 00:12:21,010 いつもそこに同じ値を置くために。 258 00:12:21,010 --> 00:12:22,720 男性または女性またはその他もろもろ。 259 00:12:22,720 --> 00:12:27,800 >> しかし、問題はその後、我々は可能性があることです [聞こえない]提案されているように、ミスを犯します 260 00:12:27,800 --> 00:12:29,140 以前別のコンテキストインチ 261 00:12:29,140 --> 00:12:32,780 我々はミスをした場合、我々は得ることができます 私達のデータベースに誤った値。 262 00:12:32,780 --> 00:12:36,320 それでは、データベースに関するうれしいです OracleとMySQLおよび他のような、 263 00:12:36,320 --> 00:12:39,280 最後にあなたがこれを持っているということです 防衛どこの層 264 00:12:39,280 --> 00:12:43,010 あなたのDBAは、データベース管理者、 誰が私たちのように、このテーブルを設計しています 265 00:12:43,010 --> 00:12:46,440 口頭である、入れることができます 列挙型の場所にその 266 00:12:46,440 --> 00:12:51,250 指定しているから保護 男性、女性、そしてそのように誰も 267 00:12:51,250 --> 00:12:54,230 他に無いプログラマが誤ってすることができます それ以外の値を挿入します。 268 00:12:54,230 --> 00:12:55,480 だから、これは良いことでしょう。 269 00:12:55,480 --> 00:12:56,660 これが特徴です。 270 00:12:56,660 --> 00:13:00,760 >> だからID、数値IDを想定し、それを おそらく、正の整数でなければなりません。 271 00:13:00,760 --> 00:13:04,380 そして、私たちは時々持っています 長さを議論する機会。 272 00:13:04,380 --> 00:13:06,830 通常はないでしょう ここ数を指定し、 273 00:13:06,830 --> 00:13:11,310 あなたの代わりに指定します これはint型、または大きなintで、 274 00:13:11,310 --> 00:13:12,980 彼らは一般的に呼ばれているとして。 275 00:13:12,980 --> 00:13:18,840 しかし、一般的に、整数 4バイト、の言わせ、であろう。 276 00:13:18,840 --> 00:13:23,694 そして、それは4バイトだ場合、 それは何ビットですか? 277 00:13:23,694 --> 00:13:24,630 >> AUDIENCE:[聞こえません] 278 00:13:24,630 --> 00:13:26,610 >> DAVIDマラン:32ビット。 279 00:13:26,610 --> 00:13:30,270 だから我々は、中にどのように多くのユーザーを持つことができます 彼らはすべてのIDを持っている場合は、当社のデータベース 280 00:13:30,270 --> 00:13:33,320 このIDは一意である必要がありますか? 281 00:13:33,320 --> 00:13:36,780 32ビットは、我々はパターンを持っていることを意味します 1つ、2つ、3つ、4つ、five-- 282 00:13:36,780 --> 00:13:41,000 ゼロのため、どのように多くの異なるパターン 32がある場合、どれがあなたが持つことができますか? 283 00:13:41,000 --> 00:13:43,235 それは同じことです 尋ねる32へ2を何ですか? 284 00:13:43,235 --> 00:13:46,472 285 00:13:46,472 --> 00:13:48,430 それは、その大きな数です 私はかなり、権利を取得することはできません 286 00:13:48,430 --> 00:13:50,270 私はそれがおよそ40億知っています。 287 00:13:50,270 --> 00:13:53,970 だから、これはあなたのデータベーステーブルができることを意味します 40億人のユーザーを持っており、それはそれです。 288 00:13:53,970 --> 00:13:56,410 >> だから、これは面白いです デザイン含意。 289 00:13:56,410 --> 00:14:00,840 企業のまともな数 そうでないかもしれないあまり、決定しました 290 00:14:00,840 --> 00:14:04,860 そのユーザーテーブルの有するので、 40億人のユーザー稀な問題です。 291 00:14:04,860 --> 00:14:08,410 これはFacebookのスタイルの一種であります 問題ではなく、典型的な会社の問題。 292 00:14:08,410 --> 00:14:12,670 しかし、あなたは、トランザクション・ログを持っているかもしれない場合 または常にデータのいくつかの種類 293 00:14:12,670 --> 00:14:15,610 あなたのデータベースに書き込まれます 絶対に十億を持っていることができること 294 00:14:15,610 --> 00:14:18,900 そして数十億行、および あなたはそれのために整数を使用し、 295 00:14:18,900 --> 00:14:22,750 何ができるだけ早く起こるだろう あなたは数40億行してもらいます 296 00:14:22,750 --> 00:14:26,210 そして、あなたは挿入しよう 4億および1、いわばするには? 297 00:14:26,210 --> 00:14:29,610 私は数ビットを簡素化しています。 298 00:14:29,610 --> 00:14:33,740 >> あなたが戻ってカットすることができ、私はあなたを意味します 何とかそれを処理する必要があります。 299 00:14:33,740 --> 00:14:37,910 そして、コンピュータは一般的に何をするのか、 でも、今朝からそれについて考え、 300 00:14:37,910 --> 00:14:42,430 あなたは、4ビット値を有する場合 これは、1、1、1、1のような、 301 00:14:42,430 --> 00:14:44,920 ちょうど朝ネクタイします 一緒に午後に、どのような 302 00:14:44,920 --> 00:14:48,369 この番号はバイナリで表現していますか? 303 00:14:48,369 --> 00:14:49,410 [OK]を、我々はそれが容易になります。 304 00:14:49,410 --> 00:14:53,310 この番号を何 バイナリで表現しますか? 305 00:14:53,310 --> 00:14:56,794 [OK]を、私たちはどのような、それが容易になります これは、バイナリで表現していますか? 306 00:14:56,794 --> 00:14:57,460 AUDIENCE:三。 307 00:14:57,460 --> 00:14:59,670 DAVIDマラン:スリー、理由 私たちはものを持っていますcolumn-- 308 00:14:59,670 --> 00:15:00,450 [笑い] 309 00:15:00,450 --> 00:15:01,350 やれやれ! 310 00:15:01,350 --> 00:15:03,980 私たちは、ものの列を持っていました そして、補数列。 311 00:15:03,980 --> 00:15:07,250 だから、確かに、それを考える私たちの [?内野?] 32ビットではありませんでした、 312 00:15:07,250 --> 00:15:13,440 それは私達ができる2つのビットでした ユーザ番号0、1、2、3から数え 313 00:15:13,440 --> 00:15:18,040 し、我々は一種のです 戻ってユーザ00に再び。 314 00:15:18,040 --> 00:15:19,739 だから、これは一般的に何が起こるかです。 315 00:15:19,739 --> 00:15:22,780 あなたは今までexpression--を聞いた場合 おそらく持っていないが、あなたはhave--場合 316 00:15:22,780 --> 00:15:26,500 整数オーバーフロー、あなた あなたのすべてのビットを反転保ちます 317 00:15:26,500 --> 00:15:29,640 最大の可能な値であるためには、 そして、あなたはビットの外出します、 318 00:15:29,640 --> 00:15:30,850 一般的に何が起こるのでしょうか? 319 00:15:30,850 --> 00:15:32,280 なぜ私は00を言うのですか? 320 00:15:32,280 --> 00:15:33,220 まあ、これは3です。 321 00:15:33,220 --> 00:15:34,230 どのように私は4を表しているのですか? 322 00:15:34,230 --> 00:15:36,890 323 00:15:36,890 --> 00:15:38,915 私はどのように表しますか バイナリで数4のために? 324 00:15:38,915 --> 00:15:39,790 AUDIENCE:[聞こえません] 325 00:15:39,790 --> 00:15:41,780 DAVIDマラン:ええ選びます - 、 100それ自体を言うことはありません、 326 00:15:41,780 --> 00:15:44,190 それは間違ったを持っているので、 含蓄が、1-0-0。 327 00:15:44,190 --> 00:15:48,920 だから、その番号1-0-0は確かです 正しい、しかし、あなたは唯一の2つのビットを持っている場合、 328 00:15:48,920 --> 00:15:50,820 あなたが本当に何をしましたか? 329 00:15:50,820 --> 00:15:53,219 あなたは00にロールオーバーしました。 330 00:15:53,219 --> 00:15:54,760 そして実際、それは何が起こるかです。 331 00:15:54,760 --> 00:15:56,884 実際には、あなたが考えることができます これより親しまについて。 332 00:15:56,884 --> 00:15:59,350 あなたは、何を思い出している場合、 16年前、世界 333 00:15:59,350 --> 00:16:03,380 ときに終了するようになっていました Y2K問題が起こりました。 334 00:16:03,380 --> 00:16:04,330 それはなぜでしたか? 335 00:16:04,330 --> 00:16:08,170 まあほとんどのコンピュータ、用 合理的な意思決定、 336 00:16:08,170 --> 00:16:15,320 同様の番号を格納し、 1975年または1999年 337 00:16:15,320 --> 00:16:19,010 ちょうど2桁を使用して、 コンピュータのメモリインチ 338 00:16:19,010 --> 00:16:21,950 もちろん、だから、何が起こります あなたが2000年に取得したときに、 339 00:16:21,950 --> 00:16:25,790 あなたはええ、これに行く、というか。 340 00:16:25,790 --> 00:16:30,120 だから、2000年に行く、しかし、もし あなたはそれが見える2桁を使用しています 341 00:16:30,120 --> 00:16:32,660 今年のように00と あなたがロールオーバーしました。 342 00:16:32,660 --> 00:16:36,820 そして、これは、なぜ多くのシステム 一度に更新する必要がありました。 343 00:16:36,820 --> 00:16:42,500 >> 以下のようなこと言った、企業とそのように Facebookはこのぶつかります。 344 00:16:42,500 --> 00:16:46,147 処理するための唯一の方法だから、 状況は、率直に言って、それを予測することです。 345 00:16:46,147 --> 00:16:47,980 またはクリーンな方法へ このような状況に対処 346 00:16:47,980 --> 00:16:50,330 あなたがいないので、それを予測することです 後で変更を行う必要があります。 347 00:16:50,330 --> 00:16:51,970 だからではなく、8バイトの、あなたは何を知っていますか? 348 00:16:51,970 --> 00:16:54,261 私は前向きになりそうです ここでは、それはだにもかかわらず、 349 00:16:54,261 --> 00:16:56,760 その少し楽観的 我々は40億を持っているつもりです 350 00:16:56,760 --> 00:16:58,850 および当社のウェブサイト上で1人のユーザー。 351 00:16:58,850 --> 00:17:01,790 しかし、ちょうど8バイトを使用してみましょう、または 一般的であろう64ビット、 352 00:17:01,790 --> 00:17:05,640 非常に技術的な、大整数と呼ばれます。 353 00:17:05,640 --> 00:17:10,280 そして、それはちょうどあなたが持っていることを意味し あなたの数はさらに多くの桁数。 354 00:17:10,280 --> 00:17:12,599 しかし、これは重要です デザインの決定、 355 00:17:12,599 --> 00:17:16,400 あなたはその番号を選択した場合ので、 表現の数が少なすぎるビットを有します 356 00:17:16,400 --> 00:17:19,089 あなたが実際に作成することができます お使いのソフトウェアのバグ。 357 00:17:19,089 --> 00:17:21,750 >> すべての権利、それでは包みましょう 電子メールや住所を持ちます。 358 00:17:21,750 --> 00:17:26,369 そこで、電子メール、どのくらいのはず 電子メールアドレスは? 359 00:17:26,369 --> 00:17:26,869 50。 360 00:17:26,869 --> 00:17:29,220 私は本当にわかりませんが、それはです おそらくそのような何か、 361 00:17:29,220 --> 00:17:32,261 そうでなければ、誰のがしようとしていないので、 それはあまりに長くなる場合を書き、そのように50、 362 00:17:32,261 --> 00:17:33,360 それでは、今のところそれで行きましょう。 363 00:17:33,360 --> 00:17:35,770 住所、どのくらいのことはすべきですか? 364 00:17:35,770 --> 00:17:38,325 365 00:17:38,325 --> 00:17:39,200 AUDIENCE:[聞こえません] 366 00:17:39,200 --> 00:17:41,900 367 00:17:41,900 --> 00:17:43,890 >> DAVIDマラン:そうではありません ちょうど郵便番号、しかし。 368 00:17:43,890 --> 00:17:45,720 住所、私が聞きました。 369 00:17:45,720 --> 00:17:50,720 だから、これは、1ガタガタ音を立てる広場のようなものです カンマ、マサチューセッツ州ケンブリッジ、カンマ、02138。 370 00:17:50,720 --> 00:17:53,860 そして実際に、私はただ引っ張ってみましょう ここで少しワークシートアップ。 371 00:17:53,860 --> 00:17:56,510 それはだようにこれは感じています 機会を逃しました。 372 00:17:56,510 --> 00:18:01,480 我々は1ガタガタ音を立てる広場を持っている場合は、 カンマ、ケンブリッジMA 02138、 373 00:18:01,480 --> 00:18:04,510 私たちはより良い行うことができますように私は感じます ちょうど郵便アドレスより。 374 00:18:04,510 --> 00:18:07,100 なぜ我々は、これは少し爆発しませんか? 375 00:18:07,100 --> 00:18:08,030 私はで何を取得していますか? 376 00:18:08,030 --> 00:18:10,970 私たちは代わりに何を持っている必要があります おそらく、ここで私たちの行の? 377 00:18:10,970 --> 00:18:12,260 >> AUDIENCE:[聞こえません] 378 00:18:12,260 --> 00:18:17,579 >> DAVIDマラン:ええ、そうしましょう street_numberそれを呼び出します、 379 00:18:17,579 --> 00:18:20,620 アンダースコアはちょうど一般的です スペースどのように見えるかを有するとして、 380 00:18:20,620 --> 00:18:22,360 実際には、ありません。 381 00:18:22,360 --> 00:18:26,240 ストリート、その後残念city--? 382 00:18:26,240 --> 00:18:28,440 >> AUDIENCE:[聞こえません] 383 00:18:28,440 --> 00:18:29,690 DAVIDマラン:我々はそれを行うことができます。 384 00:18:29,690 --> 00:18:30,702 ライン1、ライン2。 385 00:18:30,702 --> 00:18:32,410 なぜ我々は維持されますしません それは単純な今のところ、 386 00:18:32,410 --> 00:18:34,840 それは絶対にです 許容可能な決断。 387 00:18:34,840 --> 00:18:38,180 そして状態、次にしてみましょう 今のところ少し米国を中心とすること 388 00:18:38,180 --> 00:18:42,040 そして、だけという理由だけで、郵便番号を行います それは興味深いミスにつながります 389 00:18:42,040 --> 00:18:43,090 またはここで問題。 390 00:18:43,090 --> 00:18:44,655 だから、今、私たちのアドレスだと仮定します。 391 00:18:44,655 --> 00:18:47,280 それは、そのもう少し迷惑なんです 我々は、すべてのこれらの複数のフィールドを持っています 392 00:18:47,280 --> 00:18:49,200 しかし、今はタグを付けることができます 少しより良いもの。 393 00:18:49,200 --> 00:18:53,210 >> おそらく、だから今街路数 それべき、char型ではないでしょうか? 394 00:18:53,210 --> 00:18:54,835 それは何をすべきですか? 395 00:18:54,835 --> 00:18:55,710 AUDIENCE:[聞こえません] 396 00:18:55,710 --> 00:18:57,835 DAVIDマラン:たぶん、数 再び整数のような? 397 00:18:57,835 --> 00:19:00,170 大整数? 398 00:19:00,170 --> 00:19:02,170 あなたは、おそらく住んでいません 40億メインストリートで 399 00:19:02,170 --> 00:19:03,490 またはそのような狂気何でも。 400 00:19:03,490 --> 00:19:06,850 だから整数は、おそらくです 罰金、しかし、誰もが持っています 401 00:19:06,850 --> 00:19:13,880 これまでのようなアドレスに住んでいました 1Aガタガタ音を立てるスクエア、または1と1/2? 402 00:19:13,880 --> 00:19:17,030 これらのことは、残念ながら、存在します あなたはそこに住んでいない場合でも、 403 00:19:17,030 --> 00:19:21,240 これらの異常があります アパート1A、1B、1Cなど。 404 00:19:21,240 --> 00:19:24,260 だから、あなたは何を知って、私たちは、おそらく 整数で行くべきではありません、 405 00:19:24,260 --> 00:19:27,440 そうしないと我々はつもりです いくつかの販売を失います。 406 00:19:27,440 --> 00:19:29,920 >> CHARフィールド、多分? 407 00:19:29,920 --> 00:19:30,870 どのくらい私は知りません。 408 00:19:30,870 --> 00:19:33,370 おそらくなることはないだろう その長いので、10か何か。 409 00:19:33,370 --> 00:19:34,950 誰も書くつもりはありませんです 長い番号、多分。 410 00:19:34,950 --> 00:19:37,070 しかし、再び、我々はおそらくべき それにより多くの思考を与えます。 411 00:19:37,070 --> 00:19:39,900 たぶんグーグル、いくつかの研究を行います、 しかし、我々は今の私たちの勇気と行きますよ。 412 00:19:39,900 --> 00:19:44,565 通りは、char型、50、私は知りません。 413 00:19:44,565 --> 00:19:46,940 ある時点で、誰もが起こっていないです 封筒にそれを書くために、 414 00:19:46,940 --> 00:19:49,350 あまりにも、そうおそらくあります そこにいくつかの上限。 415 00:19:49,350 --> 00:19:54,200 同じ市、必ず、そうチャー50。 416 00:19:54,200 --> 00:19:59,120 >> 状態は、今のところ米国を中心とすることができます。 417 00:19:59,120 --> 00:20:01,850 だから、とても親切リストかもしれません 審判の判定、状態の。 418 00:20:01,850 --> 00:20:04,000 これは、2つの文字のようである可能性があります。 419 00:20:04,000 --> 00:20:06,140 だから実際に、多分、私は、charを言い続けました。 420 00:20:06,140 --> 00:20:09,420 私はおそらくvarchar型を意味し、 単にいくつかの効率のために、 421 00:20:09,420 --> 00:20:12,240 しかし、我々は戻ってくるだろう 現時点でその決定。 422 00:20:12,240 --> 00:20:16,150 状態のために長さ2の文字である可能性があります。 423 00:20:16,150 --> 00:20:20,670 米国の場合、それらはMAのように、持っています、 マサチューセッツ州、ニューヨーク州、ニューヨーク、ニュージャージー、ニュー 424 00:20:20,670 --> 00:20:22,100 ジャージーなど。 425 00:20:22,100 --> 00:20:23,630 だから、その時に固定することができました。 426 00:20:23,630 --> 00:20:25,900 ワシントンDCのDC。 427 00:20:25,900 --> 00:20:29,915 >> しかし、私が思うに、オリビエ、あなた 別のアプローチを提案しました。 428 00:20:29,915 --> 00:20:30,790 AUDIENCE:[聞こえません] 429 00:20:30,790 --> 00:20:33,670 DAVIDマラン:うん、それです で入力には少し迷惑、 430 00:20:33,670 --> 00:20:37,890 しかし、列挙型は、より多くの意味になるかもしれません この方法のため、米国では少なくとも、 431 00:20:37,890 --> 00:20:41,320 あなたは、列挙うんざりするほどであれば、しかし、可能性があり あなたのデータベースに一度だけそれを行います 432 00:20:41,320 --> 00:20:47,480 そして二度とについて考えなければなりません それは、すべての50の二文字コード。 433 00:20:47,480 --> 00:20:48,660 だから私は、列挙型が好き。 434 00:20:48,660 --> 00:20:51,720 のがあることに固執してみましょう、ので、 それは一種のより厳格に適用します。 435 00:20:51,720 --> 00:20:53,620 そして、郵便番号? 436 00:20:53,620 --> 00:20:55,306 私はアンドリューはその上で考えを持っていたと思います 437 00:20:55,306 --> 00:20:56,180 AUDIENCE:[聞こえません] 438 00:20:56,180 --> 00:20:57,240 DAVIDマラン:うん、5または9。 439 00:20:57,240 --> 00:20:58,323 ちょうどそれをシンプルに保つのをしてみましょう。 440 00:20:58,323 --> 00:20:59,380 ただ、今のところ5を行います。 441 00:20:59,380 --> 00:21:03,070 しかし、多分私はちょうどでし 整数の操作を行い、右? 442 00:21:03,070 --> 00:21:08,750 私ができる、しかし、あなたは何を知って、私が作っ ある意味で、この間違いに一度、。 443 00:21:08,750 --> 00:21:13,110 数年前、私はから移行しました。 GmailにMicrosoft Outlookの、 444 00:21:13,110 --> 00:21:18,640 およびOutlookは、輸出の道を持っています Excelファイルなどのすべての連絡先、 445 00:21:18,640 --> 00:21:21,280 値ファイルをコンマ区切りのCSVファイル、。 446 00:21:21,280 --> 00:21:23,950 そして私は、私は、ミスを犯しました 、それをダブルクリックするので、考えます 447 00:21:23,950 --> 00:21:27,380 私はに、輸出をダウンロードしたら、 私は期待どおりに見えたことを確認してください。 448 00:21:27,380 --> 00:21:31,320 私は保存するか聞かせ直撃している必要があります キックか何かを自動保存。 449 00:21:31,320 --> 00:21:35,100 私は、インポートしたときので、 それはGmailに、それはすべてが働きました。 450 00:21:35,100 --> 00:21:39,910 しかし年間、この日に、と 私はこの5、10年前、 451 00:21:39,910 --> 00:21:44,380 私はまだ持っている友人を見つけることです このように見えるのアドレス。 452 00:21:44,380 --> 00:21:45,700 どうして? 453 00:21:45,700 --> 00:21:47,900 >> AUDIENCE:[聞こえません] 454 00:21:47,900 --> 00:21:50,650 >> DAVIDマラン:それは取りました 0、よく、むしろ、それを 455 00:21:50,650 --> 00:21:53,810 全体郵便番号を取りました 数、したがって、それはです 456 00:21:53,810 --> 00:21:56,590 意味先頭の0 それは意味がありません。 457 00:21:56,590 --> 00:21:59,470 それで、2138年には、私の郵便番号のようです。 458 00:21:59,470 --> 00:22:07,100 そして、これは、率直に言って、迷惑エクセルです 私は、デフォルトではと思いせる機能、 459 00:22:07,100 --> 00:22:10,980 それだけに意味だ場合でも、 テキスト、Microsoft Excelのこと 460 00:22:10,980 --> 00:22:13,780 決定し、私が参考にしましょう​​、 とまあ、私は数字のみを参照してください。 461 00:22:13,780 --> 00:22:15,290 数字としてこれらを扱うましょう。 462 00:22:15,290 --> 00:22:16,790 そして、それは先行ゼロを切り捨てます。 463 00:22:16,790 --> 00:22:19,165 >> 私は神に誓う、すべてのカップル 数ヶ月の私はアドレスを見つけます、 464 00:22:19,165 --> 00:22:22,300 そして、OCDの種類のうち、私は戻って であっても私は決してかかわらず、0を追加します。 465 00:22:22,300 --> 00:22:23,700 人々の手紙か何かを送信します。 466 00:22:23,700 --> 00:22:25,510 しかし、私はまだこのの名残を見つけることです。 467 00:22:25,510 --> 00:22:28,820 これは、と言うことです、これは良いアイデアですか? 468 00:22:28,820 --> 00:22:31,610 いいえ、[OK]を、ので、誰で マサチューセッツ州、この領域において、 469 00:22:31,610 --> 00:22:33,270 それらをリードするOを持っているとしています。 470 00:22:33,270 --> 00:22:38,070 それでは、などで手放します チャー、おそらく、5。 471 00:22:38,070 --> 00:22:41,450 >> そしてここで、私たちを実現 列挙型と我々を使用することができます 472 00:22:41,450 --> 00:22:44,600 万を列挙可能性 可能な郵便番号、 473 00:22:44,600 --> 00:22:48,530 それはおそらくだようにそれは感じています メリット、のような、のラインを横切ります。 474 00:22:48,530 --> 00:22:51,350 あなたが入力する必要がある場合は、その あなたのデータベースに多くのデータ 475 00:22:51,350 --> 00:22:52,940 何かから保護します。 476 00:22:52,940 --> 00:22:57,400 だから、文字入力した可能性が実現 あなたの郵便番号のようなH-E-L-L-Oで、 477 00:22:57,400 --> 00:22:59,180 これは、明らかに、数値ではありません。 478 00:22:59,180 --> 00:23:01,680 だから方法はで、ありません 一般的なデータベース、 479 00:23:01,680 --> 00:23:05,561 数字だけを指定すると、 のみ5文字の長さ、 480 00:23:05,561 --> 00:23:07,310 私たちは持っているつもりです コー​​ドでそれを行います。 481 00:23:07,310 --> 00:23:11,100 私たちは、PHPでそれをやろうとしていますか Javaまたは任意の言語で、我々はしています 482 00:23:11,100 --> 00:23:14,230 強制するために、サーバー上で使用して 制約のようなもの。 483 00:23:14,230 --> 00:23:14,860 >> うっ! 484 00:23:14,860 --> 00:23:18,322 すべての権利、これだけはまだ質問? 485 00:23:18,322 --> 00:23:19,780 のは、別の設計上の決定を作ってみましょう。 486 00:23:19,780 --> 00:23:22,500 それはあなたのことが判明します また、選択してもらいます、 487 00:23:22,500 --> 00:23:26,600 SQLデータベースを設計するとき、または 典型的なリレーショナルdatabase--場所 488 00:23:26,600 --> 00:23:28,790 もう一度、リレーショナル 行と列を意味します、 489 00:23:28,790 --> 00:23:35,500 それはあなたがあなたのdata--を整理方法です そして、これが何を意味するのかであることを実感 490 00:23:35,500 --> 00:23:37,740 私は中に誤解を招くしてきました 、私はこのdrawing--だと 491 00:23:37,740 --> 00:23:40,190 スキーマと呼ばれるものであり、 データベーステーブルのため。 492 00:23:40,190 --> 00:23:42,810 これはのようなものです table--の仕様 493 00:23:42,810 --> 00:23:48,040 しかし、それは時間が来るとき 実際にデータを格納します、 494 00:23:48,040 --> 00:23:52,081 私たちはここだけの例によりこれをやります。 495 00:23:52,081 --> 00:23:55,080 私はので、Excelを開くつもりです Excelは私に行と列を与えます。 496 00:23:55,080 --> 00:23:58,050 そして、それはまさにオラクルだと MySQLと他のツールは、私を与えるだろう。 497 00:23:58,050 --> 00:24:02,270 だから私はちょうど使用するつもりです それ議論のために。 498 00:24:02,270 --> 00:24:05,250 私は先に行ってみようと開きます ここでは代表的な文書、 499 00:24:05,250 --> 00:24:06,310 ビットにズームします。 500 00:24:06,310 --> 00:24:15,200 だから、例えば、私たちのヘッダになりました 姓、名、性別、ID、 501 00:24:15,200 --> 00:24:20,980 電子メール、街路番号、通り、おっと。 502 00:24:20,980 --> 00:24:25,710 ちょうどストリート、市、州、 約画面に収まります。 503 00:24:25,710 --> 00:24:29,080 >> それでは、これが意味するときということです ユーザは最初に、私のウェブサイトのために登録します 504 00:24:29,080 --> 00:24:32,880 のようなものになるだろう デビッド、マラン、mは、の1を言わせて、 505 00:24:32,880 --> 00:24:42,910 malan@harvard.edu、街路番号になります 1ガタガタ音を立てる広場、マサチューセッツ州ケンブリッジのようで、 506 00:24:42,910 --> 00:24:44,780 02138、その後等々。 507 00:24:44,780 --> 00:24:48,290 だから私は、リレーショナルデータベースと言うとき、 またはSQLデータベースは、行と列であり、 508 00:24:48,290 --> 00:24:49,350 私はこれを意味します。 509 00:24:49,350 --> 00:24:51,900 実際のデータが格納されていること 行と列です。 510 00:24:51,900 --> 00:24:53,950 これは単なる偶然です、 私たちは話していたことを、 511 00:24:53,950 --> 00:24:56,033 そして、私はそれを描いていました 行と列でアウト。 512 00:24:56,033 --> 00:24:58,320 これは、単にスキーマです 包括的な定義。 513 00:24:58,320 --> 00:25:01,640 >> ここではこれらのフィールドのため、 または等価的に、そこに、 514 00:25:01,640 --> 00:25:06,270 これはあなたが考えるのフィールドがあります 私はユーザーだ場合、私は上の検索しそうです 515 00:25:06,270 --> 00:25:09,200 または私は、データベース管理者ですか? 516 00:25:09,200 --> 00:25:12,426 同様に、どのような分野私は 実際に検索するつもり? 517 00:25:12,426 --> 00:25:13,830 >> AUDIENCE:[聞こえません] 518 00:25:13,830 --> 00:25:17,690 >> DAVIDマラン:名前、ええそう 私は、ええthat--事実が好き 519 00:25:17,690 --> 00:25:19,750 電子メールは、かなり一般的であるかもしれません。 520 00:25:19,750 --> 00:25:21,440 申し訳ありませんが、あなたが名前を言いました。 521 00:25:21,440 --> 00:25:24,030 だからmaybe--そして再び、私たちはしています 種類の抽象的に話します。 522 00:25:24,030 --> 00:25:25,988 私はなぜあなたがしたいかわかりません 名を検索することが、 523 00:25:25,988 --> 00:25:29,340 場合それは合理的な感じ あなたは、ユーザーを探しています。 524 00:25:29,340 --> 00:25:31,170 たぶん、必ず、ID、述べています。 525 00:25:31,170 --> 00:25:34,100 526 00:25:34,100 --> 00:25:36,160 >> そして、それは滑りやすいです スロープ、私は可能性があるため、 527 00:25:36,160 --> 00:25:38,890 ここで、シナリオを工夫 多分私の上司は私に尋ねました、 528 00:25:38,890 --> 00:25:40,417 どのように多くの男性たちは、私たちのサイトにありますか? 529 00:25:40,417 --> 00:25:42,000 どのように多くの女性たちは、私たちのサイトにありますか? 530 00:25:42,000 --> 00:25:45,210 だからその時点で、あなたがしたいことがあります あまりにも、性別フィールドを検索するには、 531 00:25:45,210 --> 00:25:45,940 何もありません。 532 00:25:45,940 --> 00:25:47,350 だからここにトレードオフがあります。 533 00:25:47,350 --> 00:25:49,180 この場合も、ありますなし 正しい答えが、そこ 534 00:25:49,180 --> 00:25:53,760 ほとんどのSQLデータベースの機能です インデックス付け、それによってとして知られています 535 00:25:53,760 --> 00:25:56,100 もし、デザイナー、 データベース管理者、 536 00:25:56,100 --> 00:26:01,730 これは事前に決めてもらいます データベースが最適化する必要がありフィールド 537 00:26:01,730 --> 00:26:02,980 検索のために。 538 00:26:02,980 --> 00:26:07,620 >> あなたは非常に単純に最適化する、と言うことができます これは、それを最適化し、これを最適化し、 539 00:26:07,620 --> 00:26:10,300 そのこれを最適化し、 データベースは意志 540 00:26:10,300 --> 00:26:14,882 下にいくつかの魔法のことを行います フードは、そのような方法で何かを行います 541 00:26:14,882 --> 00:26:17,090 そのあなたが検索し、次回 これらのフィールドのいずれかに、 542 00:26:17,090 --> 00:26:18,400 それは、実際には、高速になります。 543 00:26:18,400 --> 00:26:19,110 これが可能です。 544 00:26:19,110 --> 00:26:20,530 それは、それ自体を取り消すことはありません。 545 00:26:20,530 --> 00:26:22,500 しかし、支払った価格が存在しなければなりません。 546 00:26:22,500 --> 00:26:27,220 >> あなたの場合単純に、またはオーバー熱心に 、これらのフィールドのインデックスすべてを言って、 547 00:26:27,220 --> 00:26:29,810 いわば、それらをすべて作るために 効率的に検索可能、 548 00:26:29,810 --> 00:26:31,625 あなたは、おそらくどのような価格を払っていますか? 549 00:26:31,625 --> 00:26:32,500 AUDIENCE:[聞こえません] 550 00:26:32,500 --> 00:26:33,090 DAVIDマラン:パフォーマンス。 551 00:26:33,090 --> 00:26:33,798 どういう意味ですか? 552 00:26:33,798 --> 00:26:37,380 まあ、パフォーマンス、少なくとも中 私が議論している状況は、今より良いです。 553 00:26:37,380 --> 00:26:38,830 つまり、インデックス作成の定義です。 554 00:26:38,830 --> 00:26:41,180 これは、より高速な検索を行います。 555 00:26:41,180 --> 00:26:43,366 だから、時間はいわば、減少しています。 556 00:26:43,366 --> 00:26:44,240 AUDIENCE:[聞こえません] 557 00:26:44,240 --> 00:26:45,031 DAVIDマラン:スペース。 558 00:26:45,031 --> 00:26:46,520 だからもう一度、これらは一般的な取引です。 559 00:26:46,520 --> 00:26:50,820 私はあなたの検索をスピードアップすることができますが、それはです あなたのスペースのバイト以上の費用がかかるだろう。 560 00:26:50,820 --> 00:26:51,610 どうして? 561 00:26:51,610 --> 00:26:55,230 まあ、デフォルトでは、我々はのどれを持っていない場合 これらの赤い星、これらの指標のいずれも、 562 00:26:55,230 --> 00:26:58,797 私が言っているように、どのように検索します このデータベース内の名前のために? 563 00:26:58,797 --> 00:27:00,630 それでは、私たちを描いてみましょう この例に注目。 564 00:27:00,630 --> 00:27:06,300 私たちはダビデとスカリーとカリームを持っている場合 そしてこれらの行のArwaなど、 565 00:27:06,300 --> 00:27:06,910 例えば。 566 00:27:06,910 --> 00:27:08,390 >> それでは、まさにそれをやらせます。 567 00:27:08,390 --> 00:27:13,990 スカリーはここにあり、その後、 我々は、カリーム、およびArwaを持っています 568 00:27:13,990 --> 00:27:18,390 そして皆、そうでない場合 、インデックスはいわば、定義されています 569 00:27:18,390 --> 00:27:20,160 あなたができる最善のは、線形検索です。 570 00:27:20,160 --> 00:27:23,470 あなたはArwaを検索する場合、私たちではありません 彼女に権利をジャンプすることができるようになるだろう 571 00:27:23,470 --> 00:27:24,140 早く。 572 00:27:24,140 --> 00:27:26,556 我々はトップを開始するつもりだと 底にすべての道を行きます、 573 00:27:26,556 --> 00:27:28,600 ではない私たちのオリジナルとは異なり、 マイク・スミス例。 574 00:27:28,600 --> 00:27:33,470 >> しかし、私が言う場合は、ちょっと、データベース、 インデックス最初の名前フィールド、 575 00:27:33,470 --> 00:27:37,000 何かをするだろう 手の込んだと何かをサポート 576 00:27:37,000 --> 00:27:38,130 バイナリサーチのような。 577 00:27:38,130 --> 00:27:39,820 それはおそらく、それ自体は二分探索ではありません。 578 00:27:39,820 --> 00:27:42,810 データベースは別のものを使用する傾向があります Bツリーと呼ばれるデータ構造、 579 00:27:42,810 --> 00:27:46,540 バイナリツリーと混同しないように、 ちょうどそれがより速く検索することを可能にすること 580 00:27:46,540 --> 00:27:48,500 自然の中で対数何か。 581 00:27:48,500 --> 00:27:53,510 しかし、価格はあなたがいることを構築するために支払います 機能、メモリ内のデータ構造 582 00:27:53,510 --> 00:27:54,570 以上のバイトです。 583 00:27:54,570 --> 00:27:57,170 だから、いくつかのメガバイトを取るかもしれないが、 いくつかのギガバイト、知っていますか? 584 00:27:57,170 --> 00:27:58,410 これは、データに依存します。 585 00:27:58,410 --> 00:28:02,640 >> だから、ある時点で、あなたが決定する必要があり、 それはおそらく一般的なケースではありません。 586 00:28:02,640 --> 00:28:06,000 だから、実際の一般的なものです 例、あなたは本当に選択しなければならなかった場合、 587 00:28:06,000 --> 00:28:10,080 あなたの好きな分野は何でしょうか? 588 00:28:10,080 --> 00:28:10,580 Eメール。 589 00:28:10,580 --> 00:28:14,400 そして、私は、電子メールのためのメールが好き 理論的には、一意である必要があります。 590 00:28:14,400 --> 00:28:17,650 だから一般的に、あなたが知っているとき 事前にフィールドのいずれか、その 591 00:28:17,650 --> 00:28:20,277 であるか、または一意になり、その 良い場になる傾向があります 592 00:28:20,277 --> 00:28:22,860 そのようにするので、上の検索し、 あなたが何かを検索するとき、 593 00:28:22,860 --> 00:28:26,194 あなたが戻って1または取得するつもりです 応答をゼロにし、その後、あなたは完了です。 594 00:28:26,194 --> 00:28:28,110 あなたは維持する必要はありません まだ他の人を探しています。 595 00:28:28,110 --> 00:28:31,992 >> ので、ここで、この場合には、電子メール、 あなたが二回登録できない限り、 596 00:28:31,992 --> 00:28:33,450 同じ電子メールで、良いものです。 597 00:28:33,450 --> 00:28:36,710 で定義によりID、 コンピュータサイエンスの世界、 598 00:28:36,710 --> 00:28:39,610 あなたが話をしている場合 より良い一意でいたID、。 599 00:28:39,610 --> 00:28:42,970 それは含蓄の一種です IDまたは識別子の。 600 00:28:42,970 --> 00:28:46,440 そして、これらの残りの部分はあるかもしれません、 それでは、金持ちに素敵な彼らを呼びましょう、 601 00:28:46,440 --> 00:28:47,860 しかし、本当に必要はありません。 602 00:28:47,860 --> 00:28:49,976 >> だから、データベース内の、 あなたは、インデックスを指定します 603 00:28:49,976 --> 00:28:51,350 しかし、あなたも、より正確にすることができます。 604 00:28:51,350 --> 00:28:56,060 あなたはちょっと、データベース、確認してください、と言うことができます このテーブル内のすべてのIDが一意であること。 605 00:28:56,060 --> 00:28:59,330 でも、プログラマをさせてはいけません 誤って重複した電子メールに入れ 606 00:28:59,330 --> 00:29:00,740 またはID番号を複製します。 607 00:29:00,740 --> 00:29:03,140 列挙型のようなので、多くの 、同様にあなたを私たちを守ります 608 00:29:03,140 --> 00:29:04,881 これらの下位レベルの防御を持つことができます。 609 00:29:04,881 --> 00:29:07,130 そのため、データベースの設計、中 ある意味では、楽しいの一種です、 610 00:29:07,130 --> 00:29:08,380 あなたは守備にそれを行うため。 611 00:29:08,380 --> 00:29:11,460 あなたは一種のあなたが働くことを前提としてい 恐ろしい、恐ろしいプログラマと 612 00:29:11,460 --> 00:29:15,550 あなたは、多くの防御を入れたいです あなたのデータを保護することができますように、 613 00:29:15,550 --> 00:29:18,940 しかし、同時にあなたが欲しいです 彼らがより良い実行を支援します 614 00:29:18,940 --> 00:29:21,386 これを選択して、 以下のために最適化するためのフィールド。 615 00:29:21,386 --> 00:29:24,260 しかし、あなたは、必ずしもそれを行うことはできません 我々のような真空は一種のここにあります。 616 00:29:24,260 --> 00:29:26,480 あなたが何であるかを知っているんです これらの一般的な例があります。 617 00:29:26,480 --> 00:29:29,397 開発者がある場合 アドレス帳を実装 618 00:29:29,397 --> 00:29:32,230 あなたは非常によくできるようにしたいかもしれません ほぼすべてのフィールドを検索するには、 619 00:29:32,230 --> 00:29:33,830 単にアプリケーションの性質によって。 620 00:29:33,830 --> 00:29:37,910 だから、多分あなたが費やします その追加スペース。 621 00:29:37,910 --> 00:29:39,090 >> ご質問、右? 622 00:29:39,090 --> 00:29:41,820 623 00:29:41,820 --> 00:29:42,486 うん。 624 00:29:42,486 --> 00:29:43,470 >> AUDIENCE:[聞こえません] 625 00:29:43,470 --> 00:29:44,404 >> DAVIDマラン:いいえ。 626 00:29:44,404 --> 00:29:45,279 >> AUDIENCE:[聞こえません] 627 00:29:45,279 --> 00:29:47,840 628 00:29:47,840 --> 00:29:48,826 >> DAVIDマラン:OK。 629 00:29:48,826 --> 00:29:49,701 >> AUDIENCE:[聞こえません] 630 00:29:49,701 --> 00:29:52,420 631 00:29:52,420 --> 00:29:54,850 >> DAVIDマラン:ああ、私たち 以下のように話しています 632 00:29:54,850 --> 00:29:57,940 今では完全に言語にとらわれないです。 633 00:29:57,940 --> 00:30:02,370 だから我々はについて今話しています より一般的にはリレーショナルデータベース、 634 00:30:02,370 --> 00:30:04,760 より一般的に、またはSQLデータベース。 635 00:30:04,760 --> 00:30:06,870 >> AUDIENCE:[聞こえません] 636 00:30:06,870 --> 00:30:10,030 >> DAVIDマラン:使用するより良い言葉 、任意の言語で使用することができるされています。 637 00:30:10,030 --> 00:30:15,280 だから私は、CのJavaScriptコードを書くことができます コー​​ド、C ++コード、Javaコード、Rubyコード、 638 00:30:15,280 --> 00:30:19,010 これらはすべてに話します データベースとクエリを実行します。 639 00:30:19,010 --> 00:30:22,310 実際には、それは悪くはありません 例クエリにセグエ。 640 00:30:22,310 --> 00:30:25,720 そして再び、私たちは、に行くつもりはありません JavaやC ++またはもうそのいずれかの、 641 00:30:25,720 --> 00:30:29,420 しかし、SQLで、言語は私が維持します 参照して、構造化照会言語、 642 00:30:29,420 --> 00:30:32,790 これ自体はプログラミング言語であり、 ない、のために使用されることを意図してい 643 00:30:32,790 --> 00:30:37,330 驚き、構造化されたクエリクエリ。 644 00:30:37,330 --> 00:30:38,660 >> それによって私はこれを意味します。 645 00:30:38,660 --> 00:30:41,190 あなたがデータを選択する方法 MySQLデータベースから 646 00:30:41,190 --> 00:30:49,330 あなたは文字通りあなたのプログラムに入力され、 ユーザーからのセレクトスターのようなもの。 647 00:30:49,330 --> 00:30:52,200 私は、この表と仮定しています、 今後はユーザーと呼ばれています。 648 00:30:52,200 --> 00:30:54,860 私たちは何でもそれを呼び出すことができ、 しかし、その種の理にかなっています。 649 00:30:54,860 --> 00:30:57,240 それで非常にある選択 一般的な動詞、よろしければ 650 00:30:57,240 --> 00:30:59,290 、SQLで、それは文字通りそれを行うだろう。 651 00:30:59,290 --> 00:31:02,730 あなたは星をどう思いますか この文脈で意味? 652 00:31:02,730 --> 00:31:04,410 >> AUDIENCE:[聞こえません] 653 00:31:04,410 --> 00:31:05,380 >> DAVIDマラン:私は申し訳ありませんか? 654 00:31:05,380 --> 00:31:06,300 >> AUDIENCE:[聞こえません] 655 00:31:06,300 --> 00:31:09,580 >> DAVIDマラン:必須ではありません、それはです それよりもより包括的、実際に。 656 00:31:09,580 --> 00:31:11,700 これは、ワイルドカード文字です。 657 00:31:11,700 --> 00:31:14,740 何を意味ほとんど常にスター、 これは、この場合には、手段 658 00:31:14,740 --> 00:31:16,510 データベースからすべてを選択します。 659 00:31:16,510 --> 00:31:20,730 私はこれを言うときに、私が意味します 私にすべての列を返します 660 00:31:20,730 --> 00:31:22,440 私のテーブルからユーザーを呼ばれます。 661 00:31:22,440 --> 00:31:24,730 メソッドが呼び出されるように、私に結果セットを与えます。 662 00:31:24,730 --> 00:31:28,210 言い換えれば、私のコピーを与えます スプレッドシートは、私が得ているものです。 663 00:31:28,210 --> 00:31:34,890 >> しかし、私は言った場合、ユーザーからのセレクト星 IDは1に等しく、どのように大きなはすべき 664 00:31:34,890 --> 00:31:36,640 私の結果セットは、その後ですか? 665 00:31:36,640 --> 00:31:41,680 または同等に、どのように多くの行がすべき 私は、データベースから戻って渡されますか? 666 00:31:41,680 --> 00:31:45,860 おそらく私が実際に持っている場合は一つだけ、 一意の識別子としてIDを扱わ、 667 00:31:45,860 --> 00:31:50,710 そしてダビデがその固有のIDを持っている場合、I 1と1つの行のみが返されます 668 00:31:50,710 --> 00:31:53,220 ダビデの情報のすべてを含みます。 669 00:31:53,220 --> 00:31:56,390 私は言った場合は、この場所ID 私は戻って取得する必要があり、99に等しく、 670 00:31:56,390 --> 00:32:00,320 この文脈では、ゼロ行、 少なくとも現時点では。 671 00:32:00,320 --> 00:32:03,620 >> しかし、私は本当に気にしない場合 すべての情報について、 672 00:32:03,620 --> 00:32:06,970 私はダビデはどこに住んでん、と言うことができますか? 673 00:32:06,970 --> 00:32:10,860 から郵便番号を選択します IDが1であるユーザー。 674 00:32:10,860 --> 00:32:15,820 これは私だけダビデのジップに選択されます コー​​ドではなく、その行全体。 675 00:32:15,820 --> 00:32:19,541 なぜ私が代わりにこれを行う可能性があります スター・クエリー、ワイルドカード? 676 00:32:19,541 --> 00:32:21,950 >> AUDIENCE:[聞こえません] 677 00:32:21,950 --> 00:32:24,590 >> DAVIDマラン:ええ、私はそれが必要な場合があります。 678 00:32:24,590 --> 00:32:26,350 だから、パフォーマンスが再びここに答えです。 679 00:32:26,350 --> 00:32:28,540 なぜ多くを求めます あなたが必要以上の情報、 680 00:32:28,540 --> 00:32:32,020 それが正しい一緒にすべてだ場合でもので、 あなたはまだ、そのデータをコピーする必要が 681 00:32:32,020 --> 00:32:35,560 それは、データベースから、と思われます 何とか自分のプログラムに、 682 00:32:35,560 --> 00:32:38,490 あなたならば、それはちょうど愚かです のみの数字の5を必要とし、 683 00:32:38,490 --> 00:32:40,340 行のない全体。 684 00:32:40,340 --> 00:32:42,180 >> だから、どのように私は、ユーザーを挿入するのですか? 685 00:32:42,180 --> 00:32:44,780 ユーザーがちょうど持っていると仮定 初めて登録されています。 686 00:32:44,780 --> 00:32:46,560 構文は通常、次のようになります。 687 00:32:46,560 --> 00:32:52,700 ユーザーの中に挿入し、 その後、我々は、値を言います 688 00:32:52,700 --> 00:33:00,150 し、我々は値を言います 以下のような、のは、ローレン・スカリーを言わせて、 689 00:33:00,150 --> 00:33:02,380 右ここで私たちのビデオ撮影。 690 00:33:02,380 --> 00:33:04,390 そして、次のフィールドは性別です。 691 00:33:04,390 --> 00:33:08,020 だから我々は、引用引用終わりを言いますよ 「f」は、その後、我々はIDを持っています 692 00:33:08,020 --> 00:33:12,250 そして、私はしてみましょうsay--するつもりです 彼女は実際にはここではありませんふり、 693 00:33:12,250 --> 00:33:14,380 私たちは物語の中で巻き戻します。 694 00:33:14,380 --> 00:33:16,530 だから2は、彼女のIDになります。 695 00:33:16,530 --> 00:33:19,130 そして、次のフィールド ここで彼女の電子メールがあります。 696 00:33:19,130 --> 00:33:22,140 だから、同じようになるだろう などローレンスカリーと、 697 00:33:22,140 --> 00:33:24,360 そして私達はちょうどドットドットます ここで上からそれを離れて点在しています。 698 00:33:24,360 --> 00:33:26,890 今ではほとんどを取得します 退屈な、しかし、INSERTクエリ 699 00:33:26,890 --> 00:33:28,310 最終的にそのようになります。 700 00:33:28,310 --> 00:33:30,970 >> 私は取り除くしたい場合 スカリーは、ええと、ああ、の登録解除しましょう 701 00:33:30,970 --> 00:33:37,420 彼女は、彼女は彼女のアカウントを削除し、 IDは2になり、ユーザーからの削除、 702 00:33:37,420 --> 00:33:38,500 スカリーを取り除くでしょう。 703 00:33:38,500 --> 00:33:48,050 または私は更新ユーザーが設定すると言うことができ、 私たちは何を変えることができる、のは言わせ? 704 00:33:48,050 --> 00:33:49,430 彼女が移動したとします。 705 00:33:49,430 --> 00:33:53,730 セットジッパーは、ハズレ021--等しいです それは彼女の現在のジップです。 706 00:33:53,730 --> 00:33:54,487 90210。 707 00:33:54,487 --> 00:33:56,320 他の唯一の郵便番号 私は、世界に知っています。 708 00:33:56,320 --> 00:33:59,002 だから、変化するであろう 彼女のジッパーは、実際にcode-- 709 00:33:59,002 --> 00:34:00,460 それは彼女の郵便番号を変更することはありません。 710 00:34:00,460 --> 00:34:02,170 >> 私は何をしましたか? 711 00:34:02,170 --> 00:34:04,292 構文は、おそらく新しいですが。 712 00:34:04,292 --> 00:34:05,302 >> AUDIENCE:[聞こえません] 713 00:34:05,302 --> 00:34:08,010 DAVIDマラン:ええ、私はみんなを移動 ビバリーヒルズ、カリフォルニア州へ。 714 00:34:08,010 --> 00:34:11,920 だから私は実際にすべき IDが2に等しいと言います。 715 00:34:11,920 --> 00:34:12,820 など。 716 00:34:12,820 --> 00:34:15,290 だから、SQLは、これらすべてについて 命令の種類。 717 00:34:15,290 --> 00:34:20,260 SELECT、INSERT、削除、更新、 最後にこれらの述部を持ちます 718 00:34:20,260 --> 00:34:22,139 これらのwhere句、いわば。 719 00:34:22,139 --> 00:34:25,170 そして、より多くのことができますがあります やるが、それは本当にただつまるところ 720 00:34:25,170 --> 00:34:29,750 単純に、もしarcanely発現 どのようなデータベースがしたいです。 721 00:34:29,750 --> 00:34:31,580 >> そして、データベース ときに、把握します 722 00:34:31,580 --> 00:34:35,630 あなたはにローレンスカリーを挿入します データベース、どこメモリに彼女を置くために 723 00:34:35,630 --> 00:34:38,230 我々は非常に迅速に得ることができるように 彼女の自分の電子メールアドレスに基づいて 724 00:34:38,230 --> 00:34:42,610 または彼女のID番号等に基づい。 725 00:34:42,610 --> 00:34:43,391 うん、ダン。 726 00:34:43,391 --> 00:34:44,266 AUDIENCE:[聞こえません] 727 00:34:44,266 --> 00:34:46,364 728 00:34:46,364 --> 00:34:47,780 DAVIDマラン:本当に良い質問。 729 00:34:47,780 --> 00:34:50,370 これらのスクリプトから変更されます OracleへのMicrosoft Access 730 00:34:50,370 --> 00:34:52,290 MySQLへのPostgreSQLのか? 731 00:34:52,290 --> 00:34:53,790 短い答えは、それが依存しています。 732 00:34:53,790 --> 00:34:58,697 理論的には、非常にあり SQLの重要な共通のサブセット 733 00:34:58,697 --> 00:35:00,780 そのは、すべてにわたって共有さ これらの実装。 734 00:35:00,780 --> 00:35:03,340 しかし、様々なメーカー 機能を追加しました 735 00:35:03,340 --> 00:35:07,120 彼らのデータベースに特定の物事を行うには これらの機能の範囲を超えて、 736 00:35:07,120 --> 00:35:08,720 それは、実際には、壊れる可能性があります。 737 00:35:08,720 --> 00:35:11,210 >> だから、方法の開発 このヘッジ、 738 00:35:11,210 --> 00:35:14,350 それはむしろ、生の書き込みよりもあります 私がここに書いているようなSQLコード、 739 00:35:14,350 --> 00:35:19,460 彼らは代わりにライブラリを使用し、 共通ライブラリ自体 740 00:35:19,460 --> 00:35:23,650 上位レベルと抄録の一種であります 離れているあなたが使用している製品。 741 00:35:23,650 --> 00:35:25,710 そして、それはあなたを与えます ファンクションおよびプロシージャ 742 00:35:25,710 --> 00:35:28,810 そのため、あなた決して呼び出さないします 実際に生のSQLを記述します。 743 00:35:28,810 --> 00:35:32,609 >> 理論的には、その後、あなたが変更することができます オラクルからマイクロソフトの製品 744 00:35:32,609 --> 00:35:34,650 またはその逆か何か 他に、そしてあなた文字通り 745 00:35:34,650 --> 00:35:36,920 あなたのコードについては何も変わりません。 746 00:35:36,920 --> 00:35:40,180 現実には、しかし、時には、あなたです その結果としての機能をあきらめます。 747 00:35:40,180 --> 00:35:43,860 あなたがするので、製品を選択している可能性があります それは、これらの付加価値機能を持っています、 748 00:35:43,860 --> 00:35:46,610 あなたは今じゃありません 意識的にそれらを使用します。 749 00:35:46,610 --> 00:35:51,630 >> そして、逸話的に、ほとんどの企業が傾向があります そのデータベースから離れることはなかっ。 750 00:35:51,630 --> 00:35:54,002 だから、これはにいいですしながら、 機能を持って、現実 751 00:35:54,002 --> 00:35:55,960 あなたはオーバーホールしている場合、あります データベース、あなたがしています 752 00:35:55,960 --> 00:35:59,890 おそらく、他の変更の束を作ります とにかく、あなたは必ずしもないこと 753 00:35:59,890 --> 00:36:01,360 それを予想する必要があります。 754 00:36:01,360 --> 00:36:03,720 だから、それは間違いなくです オーバーエンジニアリング問題を、 755 00:36:03,720 --> 00:36:05,670 それは本当に文脈に依存します。 756 00:36:05,670 --> 00:36:09,960 しかし、理論的には、SQLが共有されています これらの様々な製品間。 757 00:36:09,960 --> 00:36:11,560 本当に良い質問。 758 00:36:11,560 --> 00:36:12,272 うん。 759 00:36:12,272 --> 00:36:13,147 >> AUDIENCE:[聞こえません] 760 00:36:13,147 --> 00:36:17,820 761 00:36:17,820 --> 00:36:21,480 >> DAVIDマラン:ええ、そう データベースを考えることができます 762 00:36:21,480 --> 00:36:25,020 の終了時に、サーバだけです 日、およびそのサーバの内部 763 00:36:25,020 --> 00:36:28,670 の全体の束であります テーブル、行と列。 764 00:36:28,670 --> 00:36:33,410 そして、あなたはこのようなクエリを送信するとき あなたのプログラムから、あなたのウェブサイト、 765 00:36:33,410 --> 00:36:39,340 Javaで書かれた、ルビー、Pythonの、何でも、 サーバーがこのコマンドを受信して​​います 766 00:36:39,340 --> 00:36:41,660 そして、それを解釈します 文字通り同じ方法 767 00:36:41,660 --> 00:36:43,660 我々はして先に議論しました 言語を解釈し、 768 00:36:43,660 --> 00:36:47,333 そして、ゼロにいくつかのアクションを実行します ゼロまたは複数のテーブルの行以上。 769 00:36:47,333 --> 00:36:48,208 AUDIENCE:[聞こえません] 770 00:36:48,208 --> 00:36:53,540 771 00:36:53,540 --> 00:36:55,070 >> DAVIDマラン:その通り、正確に。 772 00:36:55,070 --> 00:36:58,450 何かのための擬似コードだから そのように、この可能性があります。 773 00:36:58,450 --> 00:37:02,450 あなたのPHPファイルまたはあなたの PythonのファイルまたはあなたのJavaファイル、 774 00:37:02,450 --> 00:37:09,210 あなたは、擬似コードのコードを持っているでしょうか、 キズ状ブロックとして、ユーザーがアクセスする場合 775 00:37:09,210 --> 00:37:19,870 初めてacme.com/register~~V、 その後、ユーザーになどに挿入します。 776 00:37:19,870 --> 00:37:22,619 そして、我々はこれを翻訳するでしょう 最終的にはより具体的なコード。 777 00:37:22,619 --> 00:37:24,660 しかし、実際には、我々はすべて持っています ここでビルディングブロック 778 00:37:24,660 --> 00:37:27,680 我々はいくつかをスキップしているにもかかわらず、 実装手​​順の。 779 00:37:27,680 --> 00:37:31,560 >> だから、私は私たちの欠点を見つけてみましょう 素晴らしくちょっと前でした。 780 00:37:31,560 --> 00:37:36,470 あなたはかなりを作成しました ユーザーのための完全なテーブル。 781 00:37:36,470 --> 00:37:38,920 確かに、私たちは実装することもでき それいくつかの異なる方法で、 782 00:37:38,920 --> 00:37:43,030 しかし、あなたは実際に私たちを導きました path--ダウンと私はあなたを言います、 783 00:37:43,030 --> 00:37:48,080 しかし、それはおそらくかなりの私のfault--です 非効率的なデータベースの実装。 784 00:37:48,080 --> 00:37:49,950 これは、正規化されていないのです。 785 00:37:49,950 --> 00:37:52,320 >> そして、正規化されたことにより、私が意味します あるように起こっています、 786 00:37:52,320 --> 00:37:57,380 時間をかけて、かなりの冗長性、 そのため非効率性、 787 00:37:57,380 --> 00:38:00,210 それはスペースの無駄です。 788 00:38:00,210 --> 00:38:05,650 、あなたがここで見るものだけにすることができます基づいて、 あなたは宇宙のどこに、この無駄を思い描きます 789 00:38:05,650 --> 00:38:08,710 時間をかけて、から来るように起こっています、 より多くのユーザーを登録するように 790 00:38:08,710 --> 00:38:10,860 あなたのウェブサイトのために? 791 00:38:10,860 --> 00:38:13,047 どのようなデータが冗長になるのでしょうか? 792 00:38:13,047 --> 00:38:19,084 793 00:38:19,084 --> 00:38:20,940 >> AUDIENCE:[聞こえません] 794 00:38:20,940 --> 00:38:22,686 >> DAVIDマラン:なぜあなたはそれを意味するのですか? 795 00:38:22,686 --> 00:38:23,561 AUDIENCE:[聞こえません] 796 00:38:23,561 --> 00:38:32,180 797 00:38:32,180 --> 00:38:32,930 DAVIDマラン:うん。 798 00:38:32,930 --> 00:38:35,622 とのが目的で仮定しましょう それが本当であることを、今日の。 799 00:38:35,622 --> 00:38:38,330 結局のところ、私たちはこのことを学びました ハードな方法は、それは真実ではありません。 800 00:38:38,330 --> 00:38:41,670 どういうわけか、複数の都市が持っています、 どういうわけか、同じ郵便番号、 801 00:38:41,670 --> 00:38:43,390 これはこの素晴らしい直感を壊します。 802 00:38:43,390 --> 00:38:46,180 しかし、それでは、それは本当だと仮定してみましょう それはほとんど常に真だから。 803 00:38:46,180 --> 00:38:51,390 だから、郵便番号があると仮定 常に同じ都市に関連付けられています 804 00:38:51,390 --> 00:38:53,600 一種であり、状態、 妥当な仮定の、 805 00:38:53,600 --> 00:38:54,840 しかし、間違った、それが判明しました。 806 00:38:54,840 --> 00:38:57,310 しかし、合理的な仮定 今日の目的のために。 807 00:38:57,310 --> 00:39:01,650 >> その後、私はケンブリッジに住んでいるとし、 MA、このユーザーの表によれば、 808 00:39:01,650 --> 00:39:04,100 そして、仮定するローレン スカリーは、マサチューセッツ州ケンブリッジに住んでいます 809 00:39:04,100 --> 00:39:06,120 そして、仮定するカリーム マサチューセッツ州ケンブリッジに住んでいます、 810 00:39:06,120 --> 00:39:10,400 そして、Arwaは、ケンブリッジに住んでいます MA、私たちのすべての02138インチ 811 00:39:10,400 --> 00:39:15,890 なぜ我々はケンブリッジを記憶しています、 MA、私たちの4つのすべてのための02138? 812 00:39:15,890 --> 00:39:18,903 何を覚えておくことは十分なはず? 813 00:39:18,903 --> 00:39:20,249 >> AUDIENCE:[聞こえません] 814 00:39:20,249 --> 00:39:21,540 DAVIDマラン:ちょうど郵便番号。 815 00:39:21,540 --> 00:39:25,080 ちょうど02138が存在することを、理由 あなたは私たちが何ができるか知っていますか? 816 00:39:25,080 --> 00:39:32,650 ここでは少し空想を得ることができます ここの上に、別のテーブルを定義します 817 00:39:32,650 --> 00:39:35,850 これがあることを行っているところ 名前は、これは、タイプになるだろう 818 00:39:35,850 --> 00:39:38,840 これは、になるだろう 長さ、および今後、私は 819 00:39:38,840 --> 00:39:42,900 この私の都市テーブルを呼び出すことだろう。 820 00:39:42,900 --> 00:39:47,011 これは、のと呼ばれていました もちろん、私のユーザーテーブル。 821 00:39:47,011 --> 00:39:49,885 そして、私はここで何を上に置く必要があります 私の都市テーブルのために、あなたは思いますか? 822 00:39:49,885 --> 00:39:53,605 823 00:39:53,605 --> 00:39:54,535 >> AUDIENCE:[聞こえません] 824 00:39:54,535 --> 00:39:55,930 >> DAVIDマラン:うん。 825 00:39:55,930 --> 00:40:01,440 だから、圧縮した状態と都市。 826 00:40:01,440 --> 00:40:05,350 ので、ここでのタイプは、我々が言いますよ これは、再びchar型5になるだろう 827 00:40:05,350 --> 00:40:06,750 以前の議論の対象に。 828 00:40:06,750 --> 00:40:14,810 これはおそらくのように、列挙型になります 前、および都市はvarchar型50になります。 829 00:40:14,810 --> 00:40:17,960 そして今、私は何を得るのですか この表から消去します 830 00:40:17,960 --> 00:40:21,995 その非効率性を排除するには? 831 00:40:21,995 --> 00:40:23,100 >> AUDIENCE:[聞こえません] 832 00:40:23,100 --> 00:40:23,850 DAVIDマラン:ニース。 833 00:40:23,850 --> 00:40:30,239 州、市は離れて行くので、私は今ました 潜在的な非効率性を排除 834 00:40:30,239 --> 00:40:33,280 冗長覚えるために、ケンブリッジ、 MA、ケンブリッジ、マサチューセッツ州、マサチューセッツ州ケンブリッジ、 835 00:40:33,280 --> 00:40:35,712 、うまくいけば、マサチューセッツ州ケンブリッジ、 変更するつもりはありません。 836 00:40:35,712 --> 00:40:37,670 それがない場合でも、それはです 今、minorly迷惑 837 00:40:37,670 --> 00:40:39,750 私は変更する必要があること その複数の行で、 838 00:40:39,750 --> 00:40:43,770 ここで、一方、私はちょうどでし 一つの場所に変更します。 839 00:40:43,770 --> 00:40:46,890 >> 今トレードオフは、おそらく、何ですか? 840 00:40:46,890 --> 00:40:48,020 これは超便利でした。 841 00:40:48,020 --> 00:40:50,730 うまく一緒にすべての私のデータを持っていました。 842 00:40:50,730 --> 00:40:53,644 しかし、今の場合、明らかに何ですか? 843 00:40:53,644 --> 00:40:55,684 >> AUDIENCE:[聞こえません] 844 00:40:55,684 --> 00:40:58,100 DAVIDマラン:その通り、と私は 喜んであなたは、単語が参加使用しました 845 00:40:58,100 --> 00:41:01,320 なぜならそれは、実際のキーワードです、 リレーショナル・データベースの世界では 846 00:41:01,320 --> 00:41:05,270 SQLで、それは実際の言葉あなたです 入力するか、または少なくとも伝える可能性があります。 847 00:41:05,270 --> 00:41:09,280 そして実際に、私たちは今しなければなりません ダビデの完全な情報を選択することがあります 848 00:41:09,280 --> 00:41:19,700 からのセレクト星のようなもの ユーザーは、on--そして今、都市に参加します 849 00:41:19,700 --> 00:41:24,010 私はちょうど二行目に移動するつもりです このfits-- users.zipが等しくなるように 850 00:41:24,010 --> 00:41:34,570 users.IDが1に等しいcities.zip、。 851 00:41:34,570 --> 00:41:35,550 >> どうしたの? 852 00:41:35,550 --> 00:41:38,970 それは見て醜いですが、あなたは一種の缶 それは上から下へ、左から右に読んでください。 853 00:41:38,970 --> 00:41:41,030 ユーザーからの星を選択 前と同じであり、 854 00:41:41,030 --> 00:41:42,930 それはそれ自体がユーザーからではありません。 855 00:41:42,930 --> 00:41:45,910 これは、都市に参加するユーザからです。 856 00:41:45,910 --> 00:41:48,520 私は何にこれらの2つのテーブルを結合していますか? 857 00:41:48,520 --> 00:41:51,820 まあ、明らかに、 ユーザーテーブルはフィールドを圧縮し、 858 00:41:51,820 --> 00:41:54,810 この期間だけ特別です そのアイデアを表現するための構文、 859 00:41:54,810 --> 00:41:58,130 これは都市のテーブルはフィールドを圧縮です。 860 00:41:58,130 --> 00:42:01,580 私はそれらの2が等しくなるようにしたいです、 私は最終的に選択したいです 861 00:42:01,580 --> 00:42:06,280 行のみ場所 usersテーブル内のID 862 00:42:06,280 --> 00:42:08,730 鉱山であることを起こっている、1に等しいです。 863 00:42:08,730 --> 00:42:11,781 >> そして、ちょうど明確にすることが、 プログラマ、一般的に時 864 00:42:11,781 --> 00:42:14,780 番号のようなものをハードコーディング 1、なぜならそれ以外のウェブサイトのみ 865 00:42:14,780 --> 00:42:17,630 デビッドまたはサポートしています 非常に最初のユーザー、あなた 866 00:42:17,630 --> 00:42:20,720 代わりに行うだろう ID、のようなもの 867 00:42:20,720 --> 00:42:22,510 これが表します 変数、何か 868 00:42:22,510 --> 00:42:26,210 同様に、時間と共に変化することができ 私が以前言ったことへの精神で 869 00:42:26,210 --> 00:42:28,080 プレースホルダのこれらの種類を持ちます。 870 00:42:28,080 --> 00:42:30,396 しかし、今の私たちは1として、それをハードコーディングします。 871 00:42:30,396 --> 00:42:31,520 そして、これは何を意味するのでしょうか? 872 00:42:31,520 --> 00:42:35,100 さて、これを視覚化するための良い方法です この手はユーザーテーブルである場合に、 873 00:42:35,100 --> 00:42:38,090 この手はジッパーです テーブルには、我々は一種のですfinding-- 874 00:42:38,090 --> 00:42:41,330 そして、私の指の先端はZIPです こっち、と私の指の先端 875 00:42:41,330 --> 00:42:43,740 ここにあなたがしている、ジップです それを連動の種類 876 00:42:43,740 --> 00:42:47,950 あなたは、結果を取り戻すように、 本当に参加することによって、元のテーブル、 877 00:42:47,950 --> 00:42:49,590 共通のフィールド上の2つのテーブル。 878 00:42:49,590 --> 00:42:50,840 そして、それはジッパーである必要はありません。 879 00:42:50,840 --> 00:42:54,460 それは何か、ほとんどが、可能性があり 一つは、それは短いですので、ジッパーは、いいです 880 00:42:54,460 --> 00:42:56,470 二人は、それは常にです 同じ長さなので、あります 881 00:42:56,470 --> 00:43:02,270 何に本当の効率 オリビエは、ここで提案しました 882 00:43:02,270 --> 00:43:05,200 ジップを因数分解とし、 [聞こえない]我々は取り除くことを提案 883 00:43:05,200 --> 00:43:07,110 都市と国家の。 884 00:43:07,110 --> 00:43:11,370 >> だから、これはプロセスであり、 正規化として知られています。 885 00:43:11,370 --> 00:43:14,171 その上の任意の質問? 886 00:43:14,171 --> 00:43:16,170 まあ私が指摘してみましょう これは、ものの一種であります 887 00:43:16,170 --> 00:43:19,202 それはかなり低レベルだとしても、 あなたが思うだろうことをこの議論、 888 00:43:19,202 --> 00:43:20,910 あなたはソートの取得しています 雑草で失われました、 889 00:43:20,910 --> 00:43:26,690 これは十分なの現れであります 開発者のための機会が悪いことにします。 890 00:43:26,690 --> 00:43:29,600 そして、実際には、場合でも、我々、中 私たちが持っていたときに私は、教えられてきたコース、 891 00:43:29,600 --> 00:43:32,290 例えば、経験の浅いです 学部プログラマ 892 00:43:32,290 --> 00:43:35,920 一目見ただけで、ウェブサイトを構築し、 ウェブサイトは素晴らしい見えるかもしれません。 893 00:43:35,920 --> 00:43:38,280 そして、彼らはすべてを持っています 我々は要求された機能は、 894 00:43:38,280 --> 00:43:40,650 開発者は良い仕事をしました。 895 00:43:40,650 --> 00:43:43,370 >> しかし、彼らは必ずしも知りませんでした データベース設計についての十分な 896 00:43:43,370 --> 00:43:46,680 または、彼らはハードとは思いませんでした データの種類についての十分な 897 00:43:46,680 --> 00:43:49,220 ユーザーの種類 ウェブサイトは持っているつもりでした、 898 00:43:49,220 --> 00:43:53,240 私たちは、その後、見つける、6ヵ月後、 彼らは卒業または上に移動した後、 899 00:43:53,240 --> 00:43:56,016 その畜生、当社のウェブサイト 本当に、純粋に遅いです。 900 00:43:56,016 --> 00:43:58,890 そして、私も持っていることについて話していませんよ 何百万または数千のユーザー。 901 00:43:58,890 --> 00:44:02,580 私は、キャンパス内には数百人のユーザーを意味します 例えば、したいすべての人の、 902 00:44:02,580 --> 00:44:04,870 でコースのお店 同時に、彼らがしています 903 00:44:04,870 --> 00:44:07,010 そのコース・カタログを使用して 私が述べたアプリケーション 904 00:44:07,010 --> 00:44:10,410 そして事が本当になっています 何のインデックスがありませんでしたので、遅くなります。 905 00:44:10,410 --> 00:44:13,740 のように赤い星は、ありませんでした 話す、あるいは我々は、必ずしもではない持っていました 906 00:44:13,740 --> 00:44:17,690 に共通のデータを因数分解 スペースのいくつかの貯蓄を取得します。 907 00:44:17,690 --> 00:44:21,880 >> そのため、開発者を吟味するとき またはデータベースの人など、 908 00:44:21,880 --> 00:44:25,864 考える質問の種類 でもある、誰かのコードを検討するとき、 909 00:44:25,864 --> 00:44:28,530 言って、必ずしも見ていません 彼らのすべてのコードが、言う通り、 910 00:44:28,530 --> 00:44:30,154 のは、データベース・テーブルを介して見てみましょう。 911 00:44:30,154 --> 00:44:31,150 あなたは何を格納していますか? 912 00:44:31,150 --> 00:44:33,941 そして言って、よく、待ちます 分、なぜあなたは整数を使用していますか? 913 00:44:33,941 --> 00:44:36,224 私たちは、40億を持っている場合 そしてこれらの行の1? 914 00:44:36,224 --> 00:44:38,140 そして、これらの種類の 質問の機会です 915 00:44:38,140 --> 00:44:40,170 プッシュバックの種類に及び ここで、感を得ます 916 00:44:40,170 --> 00:44:42,300 あなたがやって慣れていないなら それ、持つ誰かより技術的な 917 00:44:42,300 --> 00:44:45,425 のかどうかにかかわらず、これらの質問をします 人は本当に自分の作品を知っています。 918 00:44:45,425 --> 00:44:47,890 そして、これは一種のです もの、あまりにも、その人 919 00:44:47,890 --> 00:44:50,540 インターネット上で誰 多分、独学です 920 00:44:50,540 --> 00:44:53,920 あなたので、あまり頻繁に学びます 必ずしもそれに遭遇していません 921 00:44:53,920 --> 00:44:56,630 あなたが得ることができるので、できるだけ多く データベースの稼働中、 922 00:44:56,630 --> 00:44:58,880 しかし、あなたは読んでない限り、 チュートリアルにアップまたはされて 923 00:44:58,880 --> 00:45:01,880 データベースの正規化について語りました そして、インデックスとパフォーマンス、 924 00:45:01,880 --> 00:45:04,255 これらは、物事の種類があります それはあなたを傷つけるしようとしています。 925 00:45:04,255 --> 00:45:07,480 そして、あなたが思う、または悪いエンジニア可能性があります ああ、よく、私たちより良い賃金、と言うかもしれません 926 00:45:07,480 --> 00:45:09,600 大きなデータベースの またはより高速なデータベース 927 00:45:09,600 --> 00:45:13,360 あるいは単に、この時にお金を投げます 垂直スケール、必ずしもそう。 928 00:45:13,360 --> 00:45:16,920 あなたはin--行くとあなたがで行くことができる場合 fact--後とインデックスを追加し、 929 00:45:16,920 --> 00:45:20,320 そして、それは数時間かかることがあります その新しいデータを構築するためのデータベース 930 00:45:20,320 --> 00:45:24,100 私は以前に言及した構造、 あなたはまだ事実の後にこの問題を解決することができ、 931 00:45:24,100 --> 00:45:26,180 これはどこにあること 区別するために開始 932 00:45:26,180 --> 00:45:28,830 悪いから良いデザイナー デザイナーだけでなく、審美的に、 933 00:45:28,830 --> 00:45:32,972 しかし、性能面だけでなく。 934 00:45:32,972 --> 00:45:33,555 質問は? 935 00:45:33,555 --> 00:45:36,420 936 00:45:36,420 --> 00:45:37,480 なし? 937 00:45:37,480 --> 00:45:41,980 他のタイプだったのNoSQL、用ですから データベースの私が以前言及した先の、 938 00:45:41,980 --> 00:45:43,490 あなたは、行と列を持っていません。 939 00:45:43,490 --> 00:45:47,000 その代わりに、あなたが何かを持っているでしょう それはもう少し、このようになります。 940 00:45:47,000 --> 00:45:48,630 私は、共通の構文を使用するつもりです。 941 00:45:48,630 --> 00:45:51,270 中括弧に起こります ここではかなり多くを使用すること。 942 00:45:51,270 --> 00:45:55,400 あなたが何かを持っているかもしれません 最初の名前はデビッドあるように、 943 00:45:55,400 --> 00:46:00,180 あなたが最後かもしれません 名前は、引用符マランあり、 944 00:46:00,180 --> 00:46:07,530 あなたがIDを持っているかもしれませんis-- 恐れ入りますが、whoops-- IDは、1であり、 945 00:46:07,530 --> 00:46:13,410 電子メールはmalan@harvard.eduある、と私はしません その後、残りの部分を入力して気にし、 946 00:46:13,410 --> 00:46:14,380 いくつかの他のもの。 947 00:46:14,380 --> 00:46:17,380 >> 言い換えれば、これは テキスト表現 948 00:46:17,380 --> 00:46:20,720 我々は、一般的に呼ぶものの コンピュータプログラム内のオブジェクト。 949 00:46:20,720 --> 00:46:26,079 その目的は、単に一般的です キーと値のペアのコレクション。 950 00:46:26,079 --> 00:46:27,370 だからもう一度、この定期的なテーマ。 951 00:46:27,370 --> 00:46:30,440 私たちは、HTML内のキーと値のペアを見て、 我々は今、キーと値のペアを見て 952 00:46:30,440 --> 00:46:34,020 データベースの文脈、私たちで コンテキスト内のキーと値のペアを見て 953 00:46:34,020 --> 00:46:35,970 私は言語以前の今日、と思います。 954 00:46:35,970 --> 00:46:36,890 来る保持します。 955 00:46:36,890 --> 00:46:39,620 そして実際、それは本当にです どのようなデータに帰着します、 956 00:46:39,620 --> 00:46:44,240 データおよびメタデータ、または値 それぞれとキー、。 957 00:46:44,240 --> 00:46:47,430 >> だから、非リレーショナル データベース、何かベース 958 00:46:47,430 --> 00:46:50,680 あなただけの凝集オブジェクト、上 一緒にすべてとそれを置きます 959 00:46:50,680 --> 00:46:55,640 メモリに、一般的だろう 描か、またはこのような考え。 960 00:46:55,640 --> 00:47:00,500 そして、私はとして今それを残しておきます 別のアプローチの一種。 961 00:47:00,500 --> 00:47:03,750 そして、もう一つは、必ずしもではありません 他よりも良いです。 962 00:47:03,750 --> 00:47:07,310 実際には、非常に流行して これらの日には、データベースシステムです 963 00:47:07,310 --> 00:47:11,942 MongoDBのとRedisのといくつかのような 自由に利用できる他のそのようなツール、 964 00:47:11,942 --> 00:47:13,400 しかし、彼らがvogueアンますますです。 965 00:47:13,400 --> 00:47:18,850 一部は彼らが追加提供していますので、 これらの表形式のアプローチより機能、 966 00:47:18,850 --> 00:47:20,850 しかし、また、彼らはだから 使用して少し楽に、 967 00:47:20,850 --> 00:47:24,099 あなたは、ハード考える必要はありませんので、 これらの設計上の決定の多くについて。 968 00:47:24,099 --> 00:47:25,970 プラスとマイナスだから。 969 00:47:25,970 --> 00:47:29,740 だからオプションがあります実現 我々だけに時間を費やしている以上。 970 00:47:29,740 --> 00:47:32,310 >> それでは、これを実行しましょう​​。 971 00:47:32,310 --> 00:47:37,870 それでは、少し移行してみましょう バック今やWebプログラミングに、 972 00:47:37,870 --> 00:47:40,470 私たちは一種の結論ということ 何かで今日 973 00:47:40,470 --> 00:47:43,930 それは充填、少しハンズオンです 昨日からいくつかのギャップインチ 974 00:47:43,930 --> 00:47:45,340 私はこの最初に行きましょう。 975 00:47:45,340 --> 00:47:49,310 だから昨日リコール 我々はいくつかの標準的なHTMLを持っていました 976 00:47:49,310 --> 00:47:55,110 最初に持っていたページのみ HTML、その後、二次、CSSを持っていました 977 00:47:55,110 --> 00:47:56,620 カスケードスタイルシート。 978 00:47:56,620 --> 00:47:59,830 これは、我々はなかった新しいタグです 昨日の参照、または上に住みます、 979 00:47:59,830 --> 00:48:01,490 いわゆるスクリプトタグ。 980 00:48:01,490 --> 00:48:05,830 >> あなたが実際に埋め込むことができ判明 あなたのWeb​​内のJavaScriptと呼ばれる言語 981 00:48:05,830 --> 00:48:08,310 ページとあなたのウェブを作ります ページには、何かをします。 982 00:48:08,310 --> 00:48:09,710 だから私はそれによって何を意味していますか? 983 00:48:09,710 --> 00:48:12,630 まあ、私は先にだけ行ってみよう 瞬間のためにこのコードを借ります。 984 00:48:12,630 --> 00:48:15,860 私はCloud9、不要に行くつもりです まだそこに自分自身を行くために、 985 00:48:15,860 --> 00:48:21,350 そして私はこのalert.HTMLを呼ぶつもりです。 986 00:48:21,350 --> 00:48:23,650 私はここに私のファイルに貼り付けるつもりです。 987 00:48:23,650 --> 00:48:32,070 そして、ちょうど私が何をやったか明確にするために、聞かせ 私は、このアドレスに行くと警告しに行きます 988 00:48:32,070 --> 00:48:33,870 あなたはHello Worldのを参照してください。 989 00:48:33,870 --> 00:48:35,440 >> しかし、これはがっかりの一種です。 990 00:48:35,440 --> 00:48:37,410 私が何かをしたいです 少し異なります。 991 00:48:37,410 --> 00:48:40,610 だから私は実際にこれをするつもりです。 992 00:48:40,610 --> 00:48:43,820 私は、ここでは電子に行くつもりです そして、私のスクリプトタグの間で、 993 00:48:43,820 --> 00:48:53,460 ( 'こんにちは、世界')アラートを言​​います。そう予告 それは少しずさんだが、私がHTMLを持っています、 994 00:48:53,460 --> 00:48:56,180 内部があります JavaScriptのと呼ばれる言語、 995 00:48:56,180 --> 00:48:59,420 これはと呼ばれるものであり、 関数呼び出しまたはプロシージャ・コール。 996 00:48:59,420 --> 00:49:04,500 これは、この場合には、文字通り、動詞であります そして私は、コードの機能を呼び出すしています 997 00:49:04,500 --> 00:49:06,310 誰か他の人が書きました。 998 00:49:06,310 --> 00:49:09,630 >> だから機能があります アラートは、それでは、このページに行こう 999 00:49:09,630 --> 00:49:14,046 そして今、あなたは今、リロードをクリックして、 インタラクティビティの少しを参照してください。 1000 00:49:14,046 --> 00:49:15,420 これは、古い学校と醜いのようなものです。 1001 00:49:15,420 --> 00:49:18,580 これは一種のを思い出させます ポップアップ、おそらく、往年の 1002 00:49:18,580 --> 00:49:22,030 それは何かaを行いました もう少しのプログラム。 1003 00:49:22,030 --> 00:49:26,940 >> それよりもので、より多くの、のがやらせます もっと面白いです。 1004 00:49:26,940 --> 00:49:30,980 私はここに行くと、この取り除くましょう。 1005 00:49:30,980 --> 00:49:33,840 そして、私は先に行くつもりだし、 私たちは昨日のようなフォームを作成します。 1006 00:49:33,840 --> 00:49:34,840 実際に、あなたは何を知っていますか? 1007 00:49:34,840 --> 00:49:37,350 私はに行くつもりです google.html、これは我々 1008 00:49:37,350 --> 00:49:43,027 以下のように見えており、昨日の開始 これは、これを介して我々は猫のための検索しました 1009 00:49:43,027 --> 00:49:45,360 しかし、のようなものがあります注意してください 現在のバージョンのバグ。 1010 00:49:45,360 --> 00:49:49,770 これは、猫のために動作しますが、と仮定します 私は協力しないと私は何も入力しません、 1011 00:49:49,770 --> 00:49:53,290 そして、私は単純に提出する]をクリックします。 1012 00:49:53,290 --> 00:49:54,540 それは奇妙な行動のようなものです。 1013 00:49:54,540 --> 00:49:57,300 実際のGoogleに連れて行ってくれました、 私はエラーメッセージを与えていません。 1014 00:49:57,300 --> 00:50:00,590 私は、ユーザーに伝えたいです あなたは私たちに値を与える必要があります。 1015 00:50:00,590 --> 00:50:01,780 >> だから我々はこれをどのように行うのでしょうか? 1016 00:50:01,780 --> 00:50:06,790 まあ私はCloud9とに戻ってみましょう 私は私のページの上部に行こう 1017 00:50:06,790 --> 00:50:11,980 どこで、このようなスクリプトタグを追加します 私はいくつかのJavaScriptコードを入力するつもりです。 1018 00:50:11,980 --> 00:50:15,420 そして、私は次のことをするつもりです。 1019 00:50:15,420 --> 00:50:22,910 (document.getelementByID--とリコールの場合 我々は以前の話をすることを、 1020 00:50:22,910 --> 00:50:23,960 その関数。 1021 00:50:23,960 --> 00:50:25,310 どのようなID私が取得したいですか? 1022 00:50:25,310 --> 00:50:33,050 私はQを取得したい、と私はするつもりです this--ように、何も等しくないと言います 1023 00:50:33,050 --> 00:50:38,220 実際に私は、二重引用符を使用してみましょう ちょうどconsistency--には何も等しくありません、 1024 00:50:38,220 --> 00:50:46,650 その後、警告ここ( "クエリを入力してください」)。 1025 00:50:46,650 --> 00:50:49,200 >> だから私はあるよ​​うに思われるものを持っています 条件のようなもの。 1026 00:50:49,200 --> 00:50:51,410 私たちは、スクラッチで、この一般的な考え方を見てきました。 1027 00:50:51,410 --> 00:50:54,240 それは、これらのパズルの一つのようなものです このように見えた作品。 1028 00:50:54,240 --> 00:50:55,780 そして、私は何を言っているんですか? 1029 00:50:55,780 --> 00:50:59,520 さて、ダウンここでは、私は気づきます 次のことをするつもり。 1030 00:50:59,520 --> 00:51:02,790 私はこのフォームを与えるつもりです qのフィールド名だけでなく、その 1031 00:51:02,790 --> 00:51:06,630 Googleに何が渡されるかですが、私はよ それをローカル識別子を提供するつもり、 1032 00:51:06,630 --> 00:51:07,630 また、Qと呼ばれます。 1033 00:51:07,630 --> 00:51:11,780 しかし、私はこの何でも呼び出すことができますI 欲しい、私はちょうどそれをシンプルに保つつもりです 1034 00:51:11,780 --> 00:51:14,570 また、簡単のために、qはそれを呼び出します。 1035 00:51:14,570 --> 00:51:17,650 >> そして今、私は何をするつもりです もう少し何か。 1036 00:51:17,650 --> 00:51:22,600 ここでは、フォームフィールドでは、私はするつもりです イベントハンドラと呼ばれるものを追加します。 1037 00:51:22,600 --> 00:51:32,260 提出する上で、私は呼びたいです 検証と呼ばれる関数。 1038 00:51:32,260 --> 00:51:35,520 これは、これをまだ存在しません。 単語、またはこの動詞の検証、 1039 00:51:35,520 --> 00:51:38,560 私はするつもりです何のため ここまでの今いくつかのコードを追加するだけです。 1040 00:51:38,560 --> 00:51:42,200 >> 私は、機能検証を言うつもりです。 1041 00:51:42,200 --> 00:51:48,280 私はこれをインデントし、他を追加するつもりです カーリーここブレース、ここでもう一つ。 1042 00:51:48,280 --> 00:51:50,110 これが今何をしているか考えてみましょう。 1043 00:51:50,110 --> 00:51:54,210 私は自分の作成したと考えるnow--持っています 以前になかった独自のパズルのピース 1044 00:51:54,210 --> 00:51:57,440 存在し、私はこのパズルと呼ばれてきました 検証パズルのピースをつなぎ。 1045 00:51:57,440 --> 00:52:01,620 生活の中でその目的は、実行することです その中の4行のコード。 1046 00:52:01,620 --> 00:52:04,940 >> document.getElementById場合 そう概念的に、 1047 00:52:04,940 --> 00:52:09,380 それは、要素に行くために起こっています そのユニークなHTML要素 1048 00:52:09,380 --> 00:52:12,930 アイデアは、たとえその後、ちょうどqは、と 構文は、少し奇妙に見えます 1049 00:52:12,930 --> 00:52:16,430 それは、同じだけのequalsを意味等しいです。 1050 00:52:16,430 --> 00:52:20,950 要素を持つのであれば、それは意味します qの一意の識別子、頂いた場合に、 1051 00:52:20,950 --> 00:52:25,700 値を持たない、それだけで等しいです 引用終わりの引用、何もそこに、 1052 00:52:25,700 --> 00:52:27,170 その後、どのような私が何をしたいですか? 1053 00:52:27,170 --> 00:52:29,360 私は、ユーザーで叫ぶしたいと思います。 1054 00:52:29,360 --> 00:52:31,710 >> そして、我々はここで非常に詳細に行くことはありません。 1055 00:52:31,710 --> 00:52:32,960 私はfalseを返すつもりです。 1056 00:52:32,960 --> 00:52:34,380 それは誤りです。 1057 00:52:34,380 --> 00:52:38,746 そうでなければ、私がtrueを返すつもりです。 1058 00:52:38,746 --> 00:52:40,120 だから、どちらかそれが働いたか、それはしませんでした。 1059 00:52:40,120 --> 00:52:41,800 falseまたはtrue。 1060 00:52:41,800 --> 00:52:47,820 そして今、私はミスをしなかった場合は、 私はこれを保存し、これをリロードしてみましょう。 1061 00:52:47,820 --> 00:52:50,940 そして、私はちょうどことを再確認しましょう 私は、実際には、任意のタイプミスをしませんでした、 1062 00:52:50,940 --> 00:52:52,690 だから私は自分自身を困らしないでください。 1063 00:52:52,690 --> 00:52:54,240 これが動作するかどうかを見てみましょう。 1064 00:52:54,240 --> 00:52:56,930 >> だから今、私は猫を入力するつもりです。 1065 00:52:56,930 --> 00:52:59,421 それはまだ動作し、または少なくとも半分の作品。 1066 00:52:59,421 --> 00:53:02,170 今私はそれをリロードし、今聞かせてみましょう 私は入力せずに送信してみてください 1067 00:53:02,170 --> 00:53:05,860 anything--畜生、それが壊れました。 1068 00:53:05,860 --> 00:53:06,430 一瞬。 1069 00:53:06,430 --> 00:53:09,380 1070 00:53:09,380 --> 00:53:12,660 私は、コンソールを開いてみましょう、 [聞こえない]、ログインページをリロードします。 1071 00:53:12,660 --> 00:53:13,576 私は再びこれを試してみましょう。 1072 00:53:13,576 --> 00:53:17,000 1073 00:53:17,000 --> 00:53:17,501 ああ、畜生。 1074 00:53:17,501 --> 00:53:18,000 忘れてた。 1075 00:53:18,000 --> 00:53:18,630 私はタイプミスをしました。 1076 00:53:18,630 --> 00:53:20,760 私はそれが何であるかを覚えています。 1077 00:53:20,760 --> 00:53:21,350 。値。 1078 00:53:21,350 --> 00:53:27,060 値ならば私が言うことを意味し IDがqは要素の 1079 00:53:27,060 --> 00:53:29,800 その後、ユーザーで叫ぶ、ということに等しいです。 1080 00:53:29,800 --> 00:53:31,870 >> だから今、私は再び私の息を止めてみましょう。 1081 00:53:31,870 --> 00:53:33,480 さあ。 1082 00:53:33,480 --> 00:53:34,130 そうしよう。 1083 00:53:34,130 --> 00:53:35,010 クエリを入力してください。 1084 00:53:35,010 --> 00:53:36,840 だから、私を介して、させないことです。 1085 00:53:36,840 --> 00:53:40,210 私は、これを一種の遊び心することができます その代わりに無価値をチェックします、 1086 00:53:40,210 --> 00:53:46,720 私のような何かを言うことができ、 これ以上の猫を探して、 1087 00:53:46,720 --> 00:53:51,150 そして今、私たちはもっとふざけせることができます 犬のためのユーザーの検索の場合、彼または彼女 1088 00:53:51,150 --> 00:53:57,490 望んでいる、または私はここに行けばと 今、私はできません、猫を検索します。 1089 00:53:57,490 --> 00:53:58,690 >> だからここに持ち帰りは何ですか? 1090 00:53:58,690 --> 00:54:03,010 だから1、我々は中に導入しました HTMLとCSSの私たちの世界、 1091 00:54:03,010 --> 00:54:04,320 プログラミング機能。 1092 00:54:04,320 --> 00:54:06,300 私は今、実際にすることができます コー​​ド内で意思決定を行います。 1093 00:54:06,300 --> 00:54:10,570 以前、私は何ができるすべては、マークアップしています テキストコンテンツまたはグラフィックコンテンツ 1094 00:54:10,570 --> 00:54:13,080 そして何を見て、それを伝えます 以下のような、どこを表示します。 1095 00:54:13,080 --> 00:54:16,650 今、私は実際に尋ねることができます Webページの質問 1096 00:54:16,650 --> 00:54:20,010 そして、ベースの意思決定を行います その上、およびユーザを促します 1097 00:54:20,010 --> 00:54:22,780 私は彼または彼女で叫ぶする必要がある場合。 1098 00:54:22,780 --> 00:54:28,740 >> それでは、何かを試してみましょう これで私たち自身に。 1099 00:54:28,740 --> 00:54:33,350 先に行き、私は次のスライドを開いてみましょう ここでは、ちょうど一つのことを指摘しています。 1100 00:54:33,350 --> 00:54:37,250 ちょうどCSSと同じように、我々はくくり出すことができます 別のファイルにJavaScriptコード、 1101 00:54:37,250 --> 00:54:40,660 あなたが同じことを行うことができます CSSのようにJavaScriptを使用。 1102 00:54:40,660 --> 00:54:44,520 そして、あなたはソースを使用していることを使用します スクリプトタグの属性。 1103 00:54:44,520 --> 00:54:46,540 しかし、我々は今のために物事を複雑にしません。 1104 00:54:46,540 --> 00:54:50,440 その代わりに、あなたは可能性がある場合 ないこのページに移動し、 1105 00:54:50,440 --> 00:55:02,690 but--私はorder--で、この周りを移動させましょう あなたができれば、ここで、このページを移動します。 1106 00:55:02,690 --> 00:55:03,592 ここではこのURL。 1107 00:55:03,592 --> 00:55:04,550 それは今日のスライドにあります。 1108 00:55:04,550 --> 00:55:07,133 あなたはので、リロードする必要があるかもしれません 私は事のカップルを追加しました。 1109 00:55:07,133 --> 00:55:09,970 1110 00:55:09,970 --> 00:55:13,890 >> いくつかのパズルを待つどこでもそこに行きます。 1111 00:55:13,890 --> 00:55:16,670 そして、これは私たちにチャンスを与えるだろう、 もう少し楽しみ文脈では、 1112 00:55:16,670 --> 00:55:20,610 いくつかのJavaScriptで手を出すします。 1113 00:55:20,610 --> 00:55:25,505 そして、あなたがそこに着くとき、 私は待って何を説明します。 1114 00:55:25,505 --> 00:55:47,350 1115 00:55:47,350 --> 00:55:47,850 緑入手してください。 1116 00:55:47,850 --> 00:56:03,063 1117 00:56:03,063 --> 00:56:03,562 青に設定します。 1118 00:56:03,562 --> 00:56:11,030 1119 00:56:11,030 --> 00:56:13,930 緑、赤の設定を設定します。 1120 00:56:13,930 --> 00:56:19,220 1121 00:56:19,220 --> 00:56:20,220 おっとっと。 1122 00:56:20,220 --> 00:56:22,330 ごめんなさい。 1123 00:56:22,330 --> 00:56:27,630 >> これが私たちの範囲であります この課題のドキュメント。 1124 00:56:27,630 --> 00:56:29,920 そして、これは次のように仕事に行くされています。 1125 00:56:29,920 --> 00:56:33,340 ですから、この上に持っているもの ページは全体の束であります 1126 00:56:33,340 --> 00:56:38,024 バディによる画像パズルの スタンフォード大学。 1127 00:56:38,024 --> 00:56:41,190 ですから、ここで見ているものがほとんどです これらの魔法の目のパズルの1の種類、 1128 00:56:41,190 --> 00:56:43,815 しかし、あなたはそれを凝視すれば、 何もあなたに飛び出すつもりないです。 1129 00:56:43,815 --> 00:56:46,000 むしろ、何かがあります このイメージに隠されました。 1130 00:56:46,000 --> 00:56:47,790 そして、それは次のように隠されています。 1131 00:56:47,790 --> 00:56:51,740 画像は、あなたが知っているかもしれないように、することができます ちょうど3色で構成される。 1132 00:56:51,740 --> 00:56:53,346 いくつかの赤、いくつかの青、およびいくつかの緑。 1133 00:56:53,346 --> 00:56:55,220 そして、我々はすべて行うことができます 虹色 1134 00:56:55,220 --> 00:56:57,570 何とかこれらの3つの色を混合することによって。 1135 00:56:57,570 --> 00:57:01,940 >> だから、これは主に緑に見えると 青、しかしニックは、ここで言うように、 1136 00:57:01,940 --> 00:57:04,060 この鉄パズル画像はパズルです。 1137 00:57:04,060 --> 00:57:06,780 これは、の画像が含まれています 有名なものは、しかし、 1138 00:57:06,780 --> 00:57:08,310 画像が歪んされています。 1139 00:57:08,310 --> 00:57:11,500 有名なオブジェクトが赤の値です。 1140 00:57:11,500 --> 00:57:13,810 しかし、赤の値 全10によって分割されています。 1141 00:57:13,810 --> 00:57:16,230 そこで、彼らは10倍には小さすぎます。 1142 00:57:16,230 --> 00:57:18,280 だから、他の言葉で、ニック 元の画像を取りました、 1143 00:57:18,280 --> 00:57:21,500 彼はすべての不飽和化 それから赤、 1144 00:57:21,500 --> 00:57:23,850 赤の量を低下させます インク、可能ならば、それインチ 1145 00:57:23,850 --> 00:57:26,060 >> 青と​​緑の値 すべてのちょうど無意味であり、 1146 00:57:26,060 --> 00:57:30,000 ランダムな値、別名ノイズ設計 実像を曖昧に。 1147 00:57:30,000 --> 00:57:32,250 だから何ニックがしたことは彼でした その後、赤とトーンダウン 1148 00:57:32,250 --> 00:57:34,380 彼はちょうどランダム投げました 青と​​緑の量 1149 00:57:34,380 --> 00:57:37,590 曖昧の種類を画像で まだそこに実際に何がありますか。 1150 00:57:37,590 --> 00:57:41,089 あなたはこれらの歪みを元に戻す必要があります 画像を明らかにする。 1151 00:57:41,089 --> 00:57:44,255 まず、すべての青と緑の値を設定 ゼロへの道からそれらを取得するには、 1152 00:57:44,255 --> 00:57:48,700 その結果を見てください。その後 10によって各赤の値を乗算し、 1153 00:57:48,700 --> 00:57:51,720 まで縮小 約その最終値。 1154 00:57:51,720 --> 00:57:53,035 有名なオブジェクトとは何ですか? 1155 00:57:53,035 --> 00:57:57,920 >> だから、あなたのすべては、この長方形を持っています お使いのブラウザで今。 1156 00:57:57,920 --> 00:58:00,830 そして、いくつかがあることに気付きます スターターコード、いわば。 1157 00:58:00,830 --> 00:58:04,370 これは、JavaScriptコードであります ニックはあなたのために書かれています。 1158 00:58:04,370 --> 00:58:07,250 そして、そこだと気付きます 真ん中の線その 1159 00:58:07,250 --> 00:58:10,380 それはだ、スラッシュスラッシュで始まります 何が一般的コメントと呼ばれています。 1160 00:58:10,380 --> 00:58:14,660 それはプログラマにフレーズであることを意味し それは機能的な意味を持ちません。 1161 00:58:14,660 --> 00:58:16,520 それは人間にだけ、視覚的なキューです。 1162 00:58:16,520 --> 00:58:18,670 >> だから、先に行くことができ、 ちょうどその行を削除し、 1163 00:58:18,670 --> 00:58:22,214 とに超注意しないこと 削除したり、何かを変更します。 1164 00:58:22,214 --> 00:58:25,130 そして、私はちょうどあなたを見てみましょう 何このコードがないと私はそれを残しておきます 1165 00:58:25,130 --> 00:58:28,580 あなたに秘密のイメージを把握します。 1166 00:58:28,580 --> 00:58:32,226 私はちょうどきたここで、この最初の行 あなたは次のようになります強調しました。 1167 00:58:32,226 --> 00:58:34,100 左側に、 あなたは何と呼ばれていています 1168 00:58:34,100 --> 00:58:39,140 ニックは任意に持つ変数、 しかし、合理的イメージのためのIMと呼ばれます。 1169 00:58:39,140 --> 00:58:41,660 右側の その等号の、 1170 00:58:41,660 --> 00:58:45,240 彼は私に新しいを与えると言っています 引用、引用終わり "単純なイメージ」。 1171 00:58:45,240 --> 00:58:49,680 >> この文脈でシンプルな画像、 よく、クラスと呼ばれるものであり、 1172 00:58:49,680 --> 00:58:53,910 それは一種のclass--ようなものです 技術的にprototype--本当に、 1173 00:58:53,910 --> 00:58:58,000 これは、私に新しいオブジェクトを与えています ファイルであるの内容、 1174 00:58:58,000 --> 00:58:59,610 鉄puzzle.png。 1175 00:58:59,610 --> 00:59:03,190 言い換えれば、ニックが作成されました シンプルなイメージのこの概念 1176 00:59:03,190 --> 00:59:05,920 教育学のために、我々はできるように 目的は、画像と遊びます 1177 00:59:05,920 --> 00:59:09,790 そして、その赤を変更 緑、青の値。 1178 00:59:09,790 --> 00:59:11,750 >> そして、どのように我々はそれをやっていますか? 1179 00:59:11,750 --> 00:59:15,360 ここでは、このやや不可解な構文 種類のリピートブロックのようなものです 1180 00:59:15,360 --> 00:59:19,140 あなたのいくつかは、以前のスクラッチで見たこと あなたは10回を繰り返すことができ、今日、。 1181 00:59:19,140 --> 00:59:22,220 この場合、ニックはない持っています 10のような番号をハードコーディング。 1182 00:59:22,220 --> 00:59:28,020 その代わりに彼は、初期化すると言っています 0からxと呼ばれる変数、 1183 00:59:28,020 --> 00:59:33,180 Xが以下であるかどうかを確認 画像の幅。 1184 00:59:33,180 --> 00:59:38,160 >> それでより適切であると、イメージがあります 変数、ドットは、それの中に入ることを意味します 1185 00:59:38,160 --> 00:59:40,900 そして、その幅を取得し、 その後、オープン括弧は、閉じた状態 1186 00:59:40,900 --> 00:59:43,687 括弧だけのプログラマの方法です これは関数であるというのが。 1187 00:59:43,687 --> 00:59:44,520 これが手順です。 1188 00:59:44,520 --> 00:59:46,430 これは機能です 他の誰かが書きました。 1189 00:59:46,430 --> 00:59:48,570 それを使用して、私に答えを返します。 1190 00:59:48,570 --> 00:59:53,610 そして、X ++は、空想の方法です 一度これをやった後、言って、 1191 00:59:53,610 --> 00:59:55,850 1だけxをインクリメントします。 1192 00:59:55,850 --> 00:59:58,760 換言すれば、この プログラマの方法です 1193 00:59:58,760 --> 01:00:05,760 だループを誘導します 反復処理しようとして 1194 01:00:05,760 --> 01:00:10,410 画像内のすべての列。 1195 01:00:10,410 --> 01:00:14,790 >> 画像は、ちょうどグリッドです ドット行ドットの列。 1196 01:00:14,790 --> 01:00:18,270 これは、反復の方法です これらの列のすべての上に。 1197 01:00:18,270 --> 01:00:20,770 そして内側には、 一方、我々は反復しています 1198 01:00:20,770 --> 01:00:24,030 高さ、こっち そして、こことここ。 1199 01:00:24,030 --> 01:00:29,442 これは、ちょうどtraipsingの方法です ほとんど古い学校のタイプライターのように、 1200 01:00:29,442 --> 01:00:32,230 ちょうど上に行くために 反復的に全体像。 1201 01:00:32,230 --> 01:00:36,370 でもそれはかなり完全ではありません 明確な、ちょうど今の信仰を取ります、 1202 01:00:36,370 --> 01:00:38,880 これらの3つの線その コー​​ドで一緒になって、 1203 01:00:38,880 --> 01:00:43,090 あなたが反復的に検索できるようになるだろう 画素ごとに、すべての画像に点在しています。 1204 01:00:43,090 --> 01:00:43,790 >> ピクセルは何ですか? 1205 01:00:43,790 --> 01:00:46,250 私たちが見ればまあ、明確にします 元に及び、ズームイン、 1206 01:00:46,250 --> 01:00:49,060 あなたが本当にあなたの目を置く場合 コンピュータの画面に、それはです 1207 01:00:49,060 --> 01:00:53,510 ドットのちょうど全体の束、いくつかの 千ドットが一緒にパック。 1208 01:00:53,510 --> 01:00:56,180 そして、あなたが行うことはそんなに何ですか? 1209 01:00:56,180 --> 01:00:59,240 これらのドットの各1、 最終的な定義は、 1210 01:00:59,240 --> 01:01:06,350 一般的に何の結果であります これは、青、緑、赤のRGBと呼ば 1211 01:01:06,350 --> 01:01:09,940 再度、を組み合わせることが可能 あなたの色の任意の数を与えます。 1212 01:01:09,940 --> 01:01:13,200 >> 実際には、あなたが覚えていれば 多くの、何年も前から、 1213 01:01:13,200 --> 01:01:17,320 これらの事のようなプロジェクタースクリーン ない一つのレンズが、3つを持っていました。 1214 01:01:17,320 --> 01:01:20,700 そのうちの一つは、1、赤色光を吐き出します それらは、そのうちの一つ、緑色の光を吐き出します 1215 01:01:20,700 --> 01:01:21,600 青色光を吐き出します。 1216 01:01:21,600 --> 01:01:24,391 そして、あなたは中学校にあった場合 彼らは決してなかったどこに私がしたように 1217 01:01:24,391 --> 01:01:27,000 適切に整列、あなたがました 常に歴史の映画を見て 1218 01:01:27,000 --> 01:01:29,770 それは、わずかに歪んでありました 3色がなかったため、 1219 01:01:29,770 --> 01:01:30,970 適切に組み合わせます。 1220 01:01:30,970 --> 01:01:36,330 >> しかし、それはそれぞれのことが判明します 赤、緑、青のこれらの値 1221 01:01:36,330 --> 01:01:37,980 それらに関連付けられている番号を持つことができます。 1222 01:01:37,980 --> 01:01:42,500 例えば、0なし赤手段のため 赤、緑0は緑を意味し、 1223 01:01:42,500 --> 01:01:45,120 そして、青のための0は青を意味しません。 1224 01:01:45,120 --> 01:01:49,403 だから、あなたは赤、ない緑を、持っていない場合 そして、青のない、あなたは何色を持っていないのですか? 1225 01:01:49,403 --> 01:01:51,009 >> AUDIENCE:[聞こえません] 1226 01:01:51,009 --> 01:01:52,800 DAVIDマラン:あなただろう そう、それは白だ願っています。 1227 01:01:52,800 --> 01:01:55,333 残念ながら、これは残念operates--? 1228 01:01:55,333 --> 01:01:56,380 >> AUDIENCE:[聞こえません] 1229 01:01:56,380 --> 01:01:58,630 DAVIDマラン:実際だから この場合、黒です。 1230 01:01:58,630 --> 01:02:01,530 ですから、これらのどれを持っていない場合 色は、あなたが黒の持っている、オン。 1231 01:02:01,530 --> 01:02:06,510 しかし、あなたが持っている場合、のは多くのことを言わせて それらの、赤の多くのように、それの255、 1232 01:02:06,510 --> 01:02:10,340 緑の多い、およびロット 青の、それは白です。 1233 01:02:10,340 --> 01:02:12,230 したがって、これらは両極端です。 1234 01:02:12,230 --> 01:02:17,460 このロジックによるだから、私は多くを持っている場合 赤となし、緑、ノー青の、 1235 01:02:17,460 --> 01:02:18,485 それは何色ですか? 1236 01:02:18,485 --> 01:02:19,360 AUDIENCE:[聞こえません] 1237 01:02:19,360 --> 01:02:20,610 DAVIDマラン:右、明らかに。 1238 01:02:20,610 --> 01:02:25,940 のそして赤なし、ロット 、緑なし青、その後、 1239 01:02:25,940 --> 01:02:29,590 あなたがよくhave--場合、我々だけで終了します それ、という理由だけで、これは、もちろん、 1240 01:02:29,590 --> 01:02:31,350 今、青です。 1241 01:02:31,350 --> 01:02:33,030 そして今、あなたはこれらの色を組み合わせることができます。 1242 01:02:33,030 --> 01:02:36,430 今はさておき、あなたのいずれかが持っているかのように これまでにいくつかの実際のウェブサイトのデザインを行って、 1243 01:02:36,430 --> 01:02:38,360 あなたが実際にかもしれません このようなシンボルを参照してください。 1244 01:02:38,360 --> 01:02:42,030 FFF--実際、それはです おそらくもないこと。 1245 01:02:42,030 --> 01:02:44,380 それはFFFFFFです。 1246 01:02:44,380 --> 01:02:48,970 >> 誰もがこれまでFのとEのを見ました そして、through--それは、判明して 1247 01:02:48,970 --> 01:02:52,970 我々は、小数について昨日話しました そして今日、種類の小数について。 1248 01:02:52,970 --> 01:02:54,570 今日はバイナリについて話しました。 1249 01:02:54,570 --> 01:02:59,010 結局のところ、16進数は非常にあります コンピューティングで使用するための共通基盤システム。 1250 01:02:59,010 --> 01:03:04,960 バイナリ進が16で、10進数10で、2です。 1251 01:03:04,960 --> 01:03:08,640 そして、それはどのように行う、判明します あなたは16進数でカウント? 1252 01:03:08,640 --> 01:03:11,620 ゼロ、1つ、2つ、3つ、4つ 5、6、7、8個 1253 01:03:11,620 --> 01:03:14,730 9、あなたは9の後に何を使うのですか? 1254 01:03:14,730 --> 01:03:16,600 次の番号は何ですか? 1255 01:03:16,600 --> 01:03:19,180 我々はすでにゼロを使用していました。 1256 01:03:19,180 --> 01:03:20,570 私はこれらの16を必要としています。 1257 01:03:20,570 --> 01:03:25,770 ゼロ、1つ、2つ、3つ、4つ 5、6、7個、8個、9個 1258 01:03:25,770 --> 01:03:27,520 あなたは、いくつかの任意の規則を必要としています。 1259 01:03:27,520 --> 01:03:30,810 >> そして、何人類はいくつかの時間を決定しました 前9の後に手紙が来ること 1260 01:03:30,810 --> 01:03:34,450 Aおよび次いでBおよびCだから あなたが進数で数える方法 1261 01:03:34,450 --> 01:03:37,040 ゼロ、1つ、2つ、3つ、4つです 5、6、7個、8個、9個 1262 01:03:37,040 --> 01:03:42,880 、B、C、D、E、F、およびそれがカウントされ あなたのすべての方法は、それが15に、判明しました。 1263 01:03:42,880 --> 01:03:47,850 だからゼロ15には貫通ゼロであります F.さて、なぜそれが重要なのですか? 1264 01:03:47,850 --> 01:03:51,570 さて、あなたは2つのFの持っているとき、 それはあなたが255を表現する方法です。 1265 01:03:51,570 --> 01:03:54,350 >> で非常に長い話を短く、 フォトショップの世界、 1266 01:03:54,350 --> 01:03:57,299 そのグラフィックデザインソフトウェア、 Web開発の世界では、 1267 01:03:57,299 --> 01:03:59,590 あなたは色の多くを持っている場合に、 もちろん、一緒にプレイするために、 1268 01:03:59,590 --> 01:04:02,350 多くの場合、プログラマはなります 16進数でそれらを表現します、 1269 01:04:02,350 --> 01:04:05,260 それは傾向があるという理由だけで 少しシンプルにします。 1270 01:04:05,260 --> 01:04:07,850 でも一見かかわらず それははるかに複雑です。 1271 01:04:07,850 --> 01:04:11,590 >> そのようにいずれの場合にも、これは重要です スタンフォード大学のニック理由 1272 01:04:11,590 --> 01:04:15,100 私たちの機能の6枚を与えています もしその、新進のプログラマ、 1273 01:04:15,100 --> 01:04:17,060 今使用することができるようになります。 1274 01:04:17,060 --> 01:04:19,960 このウェブに組み込まれて ページには、6つの機能です、 1275 01:04:19,960 --> 01:04:21,820 ニックが書いた6手順。 1276 01:04:21,820 --> 01:04:26,800 それらのうちの3つはあなたの番号を取得します、 赤、緑、または青の値。 1277 01:04:26,800 --> 01:04:28,787 それらのうちの3つは、その値を設定します。 1278 01:04:28,787 --> 01:04:30,620 そして、これらのアンダースコア ちょうどプレースホルダは、 1279 01:04:30,620 --> 01:04:32,600 あなたはそれらが何であるかを知る必要があります。 1280 01:04:32,600 --> 01:04:36,240 >> これらの三つの機能を持つため、 これらの事の最初の 1281 01:04:36,240 --> 01:04:39,190 x座標になるだろう、 そしてこれらのものの第二 1282 01:04:39,190 --> 01:04:40,700 y座標になるだろう。 1283 01:04:40,700 --> 01:04:44,650 ドットすなわち、で、その ピクセルは、あなたがの緑を取得したいです、 1284 01:04:44,650 --> 01:04:46,480 、の青を得るの赤を取得します。 1285 01:04:46,480 --> 01:04:51,440 そしてここで、これがあることを行っています xが、これは、y値になるだろう 1286 01:04:51,440 --> 01:04:55,379 これは数になるだろう。 1287 01:04:55,379 --> 01:04:57,170 それでは、最初にやらせます この一緒のライン 1288 01:04:57,170 --> 01:05:00,220 そして私はあなたにそれを残しておきます 残りを推測しようとします。 1289 01:05:00,220 --> 01:05:03,100 指示に従ってだから このページには、我々は必要 1290 01:05:03,100 --> 01:05:08,960 倍赤色を増加させます 10、我々は緑を削除する必要があります 1291 01:05:08,960 --> 01:05:09,930 そして、青を削除します。 1292 01:05:09,930 --> 01:05:12,410 のは、後者のシナリオを見てみましょう。 1293 01:05:12,410 --> 01:05:17,760 だから私がしたい、と私はつもりだ場合 いくつかのスペースを使ってインデントします、 1294 01:05:17,760 --> 01:05:22,291 私は赤を設定したい場合は、 緑、または青の値、 1295 01:05:22,291 --> 01:05:23,540 私は、次の手順を実行するつもりです。 1296 01:05:23,540 --> 01:05:31,280 >> 画像、im.setBlue、その後、 ここに私の指示に基づいて、 1297 01:05:31,280 --> 01:05:36,700 私は何三つべき 今括弧内の入力? 1298 01:05:36,700 --> 01:05:41,960 私は、x値が必要です どのような数y値、および 1299 01:05:41,960 --> 01:05:48,770 私は取り除く取得したい場合、私はここに置く必要があります ここでは、この物語に基づいて、青の? 1300 01:05:48,770 --> 01:05:49,630 ちょうどゼロ。 1301 01:05:49,630 --> 01:05:52,420 私は青をしたいしない場合、私はちょうどよ ゼロに変更しよう。 1302 01:05:52,420 --> 01:05:54,465 >> それでは、ちょうどこれは何をしているかおさらいしましょう​​。 1303 01:05:54,465 --> 01:05:56,970 1304 01:05:56,970 --> 01:06:01,170 私はこれらの上にここにあります 2行目と3行目、 1305 01:06:01,170 --> 01:06:04,080 私は2つのループを主張し、 ネストされたループ、よろしければ 1306 01:06:04,080 --> 01:06:08,360 、それが効果を持ってしようとしているだろう 左から右に進行します、 1307 01:06:08,360 --> 01:06:11,590 xのすべてにわたって上から下へ 値とyの値のすべて。 1308 01:06:11,590 --> 01:06:15,167 再び、画像ですので 行と列のちょうどグリッド。 1309 01:06:15,167 --> 01:06:17,000 だから、これは取得する予定です すべての青を取り除きます。 1310 01:06:17,000 --> 01:06:18,627 私はあなたの次の行に残しましょう​​。 1311 01:06:18,627 --> 01:06:20,043 どのように私はすべての緑を取り除くのですか? 1312 01:06:20,043 --> 01:06:23,747 1313 01:06:23,747 --> 01:06:25,140 >> AUDIENCE:[聞こえません] 1314 01:06:25,140 --> 01:06:26,151 >> DAVIDマラン:ニース。 1315 01:06:26,151 --> 01:06:28,260 >> AUDIENCE:[聞こえません] 1316 01:06:28,260 --> 01:06:30,850 >> DAVIDマラン:ニース。 1317 01:06:30,850 --> 01:06:36,120 そして、私はズームアウトします。また、ちょうど取りますよ あなたは、任意のタイプミスをしていませんでしたことの世話。 1318 01:06:36,120 --> 01:06:39,390 そして、あなたは満足している場合 あなたが何をやったかと、 1319 01:06:39,390 --> 01:06:42,936 先に行くと、ボタンをクリックします 実行/保存して何を得る参照してください。 1320 01:06:42,936 --> 01:06:46,982 1321 01:06:46,982 --> 01:06:48,690 そして再び、我々が作りました ちょうど3変更。 1322 01:06:48,690 --> 01:06:52,130 私たちは、最初にそれを削除しました コメントし、それを置き換えます 1323 01:06:52,130 --> 01:06:53,575 次の2行のコードを持ちます。 1324 01:06:53,575 --> 01:06:55,742 1325 01:06:55,742 --> 01:06:58,450 あなたがヒットする必要がある場合、それはOKです 実行/保存]ボタン数回 1326 01:06:58,450 --> 01:07:01,190 何かを修正します。 1327 01:07:01,190 --> 01:07:03,610 >> そして、私はまた私にズームインしましょう コー​​ドあなたが転写できるようにします。 1328 01:07:03,610 --> 01:07:04,110 良い。 1329 01:07:04,110 --> 01:07:08,720 だから私はアンドリューは何を持っている参照してください。 間違いであると思われます。 1330 01:07:08,720 --> 01:07:11,110 彼はただ大きな黒いを持っています 彼の画面上の長方形。 1331 01:07:11,110 --> 01:07:13,120 誰にも持っています 大きな黒い四角形? 1332 01:07:13,120 --> 01:07:13,390 >> AUDIENCE:はい。 1333 01:07:13,390 --> 01:07:14,360 >> DAVIDマラン:ビッグ黒い四角形? 1334 01:07:14,360 --> 01:07:16,068 OK、それでは考えてみましょう これが何を意味するかについて。 1335 01:07:16,068 --> 01:07:20,560 我々はゼロ、ゼロ、ゼロと言いました、 ありませんので、緑、赤なし、なし、青、 1336 01:07:20,560 --> 01:07:21,980 あなたに黒を与えるために起こっています。 1337 01:07:21,980 --> 01:07:24,467 そして、それはことが判明します 私たちのラップトップのほとんど 1338 01:07:24,467 --> 01:07:25,800 ちょうど十分な忠実度を持っていません。 1339 01:07:25,800 --> 01:07:27,750 あなたは非常にそこに言うことができません 実際にそこに何かあります。 1340 01:07:27,750 --> 01:07:30,340 そして、あなたは一種の多分傾く場合 前後にあなたのスクリーン、 1341 01:07:30,340 --> 01:07:32,850 多分あなたは見ています そこに少し何か? 1342 01:07:32,850 --> 01:07:34,820 たぶん、一種の、一種の? 1343 01:07:34,820 --> 01:07:36,640 それは完全に黒ではないのです。 1344 01:07:36,640 --> 01:07:38,050 >> AUDIENCE:[聞こえません] 1345 01:07:38,050 --> 01:07:39,510 >> DAVIDマラン:ネタバレ! 1346 01:07:39,510 --> 01:07:42,610 いくつかの赤が、そこにありますが、 仕様から覚えています 1347 01:07:42,610 --> 01:07:44,940 問題の、ニックはそれをトーンダウン。 1348 01:07:44,940 --> 01:07:47,860 彼は、ややそれを不飽和化 ではないがゼロにすべての方法。 1349 01:07:47,860 --> 01:07:51,670 だから我々は量を拡大したい場合 赤の、私はこのトリックを提案してみましょう。 1350 01:07:51,670 --> 01:07:53,750 私は私の画面をズームしてみましょう。 1351 01:07:53,750 --> 01:07:58,678 そして、私が先に行くとしましょう 量はim.getRed(x、y)を等しいです。 1352 01:07:58,678 --> 01:08:02,440 1353 01:08:02,440 --> 01:08:05,790 >> このコード行は私を与えています 変数と呼ばれるもの。 1354 01:08:05,790 --> 01:08:09,643 私は、間違いなく、任意に持っているが、 合理的に私の変数は何と呼ばれ、 1355 01:08:09,643 --> 01:08:10,143 明らかに? 1356 01:08:10,143 --> 01:08:13,530 1357 01:08:13,530 --> 01:08:14,340 量。 1358 01:08:14,340 --> 01:08:14,980 ただ金額。 1359 01:08:14,980 --> 01:08:16,960 私はそれを呼ばれたかもしれません 私はしたいが、私は何も 1360 01:08:16,960 --> 01:08:19,490 この他の機能を使用して 私は以前に記載されています 1361 01:08:19,490 --> 01:08:25,359 xコンマのyの赤色の量を取得します。 1362 01:08:25,359 --> 01:08:27,520 なぜ私はそれを行うのですか? 1363 01:08:27,520 --> 01:08:30,004 何がここで何をしたいですか? 1364 01:08:30,004 --> 01:08:32,910 1365 01:08:32,910 --> 01:08:33,619 あなたはadd--する必要があります 1366 01:08:33,619 --> 01:08:34,493 AUDIENCE:[聞こえません] 1367 01:08:34,493 --> 01:08:36,279 DAVIDマラン:はい、多分 10を掛け。 1368 01:08:36,279 --> 01:08:38,862 あなたがこれを知らないなら、私はよ 先に行くと、これをするつもり。 1369 01:08:38,862 --> 01:08:42,060 私は先に行くつもりだと 私は赤の量をしたい、と言います 1370 01:08:42,060 --> 01:08:46,550 私は何になりたいです 、赤であり、10倍 1371 01:08:46,550 --> 01:08:50,330 星、上のアスタリスクあなた キーボードはthe--は、xを使用していないです。 1372 01:08:50,330 --> 01:08:51,569 スターを使用してください。 1373 01:08:51,569 --> 01:08:55,350 それはあなたが物事を掛ける方法です ほとんどのプログラミング言語インチ 1374 01:08:55,350 --> 01:08:59,790 >> だから、カリームの直感に従って、 量と呼ばれるこの変数に格納され、 1375 01:08:59,790 --> 01:09:03,649 私は場所のxyにしたいどのくらいの赤です。 1376 01:09:03,649 --> 01:09:11,500 どのように、今、私がいることを作るのですか ピクセルは、その番号を持っていますか? 1377 01:09:11,500 --> 01:09:12,859 あなたは既に前にこれをやりました。 1378 01:09:12,859 --> 01:09:17,666 あなたは緑と設定します ゼロに、値なしに青。 1379 01:09:17,666 --> 01:09:18,540 AUDIENCE:[聞こえません] 1380 01:09:18,540 --> 01:09:20,040 DAVIDマラン:はい、よく あなたは10にそれをしたくありません。 1381 01:09:20,040 --> 01:09:21,460 あなたはすでにここに数学をしました。 1382 01:09:21,460 --> 01:09:24,779 だから我々は、赤の値を取得しています これはおそらく、低い数字です。 1383 01:09:24,779 --> 01:09:26,180 私たちは10で、最大乗算しています。 1384 01:09:26,180 --> 01:09:29,139 あなたが何をしたいですか 今可変量? 1385 01:09:29,139 --> 01:09:30,130 >> AUDIENCE:[聞こえません] 1386 01:09:30,130 --> 01:09:30,880 >> DAVIDマラン:ニース。 1387 01:09:30,880 --> 01:09:34,616 だから何im.set--? 1388 01:09:34,616 --> 01:09:35,640 >> AUDIENCE:setRed。 1389 01:09:35,640 --> 01:09:39,760 >> DAVIDマラン:setRed、位置XYで。 1390 01:09:39,760 --> 01:09:40,260 うん。 1391 01:09:40,260 --> 01:09:41,200 そして、ちょうど額。 1392 01:09:41,200 --> 01:09:44,257 換言すれば、可変 一時的なプレースホルダです 1393 01:09:44,257 --> 01:09:45,840 あなたはあなたが欲しいものを置くことができます。 1394 01:09:45,840 --> 01:09:48,680 私たちは、パッティングすることが起こります 現時点では、その中の数、。 1395 01:09:48,680 --> 01:09:51,569 私たちは、ことによってそれを掛けてきました それは大きくするために10。 1396 01:09:51,569 --> 01:09:56,480 そして今、私はその変数を代入しています その第三引数、または入力として 1397 01:09:56,480 --> 01:09:57,810 赤に設定します。 1398 01:09:57,810 --> 01:10:00,440 そしてその結果、一度 それを終えて、メモを取ります 1399 01:10:00,440 --> 01:10:02,330 セミコロンや括弧の。 1400 01:10:02,330 --> 01:10:06,290 >> 前方に移動し、クリック /実行を再度保存し、そしてあなた 1401 01:10:06,290 --> 01:10:10,690 実際にあったものを、魔法のように、表示されるはずです そこ。 [? Arwa、?]そこには何ですか? 1402 01:10:10,690 --> 01:10:16,412 本格的なエッフェル塔 赤、かなり暗いありません。 1403 01:10:16,412 --> 01:10:17,870 それはそう、今より明白でなければなりませんか? 1404 01:10:17,870 --> 01:10:18,840 OK。 1405 01:10:18,840 --> 01:10:20,215 そしてアンドリュー、これ以上のブラックボックス? 1406 01:10:20,215 --> 01:10:21,090 AUDIENCE:[聞こえません] 1407 01:10:21,090 --> 01:10:22,180 DAVIDマラン:すべての権利。 1408 01:10:22,180 --> 01:10:23,610 だから私は、画面上でこれをしておこう。 1409 01:10:23,610 --> 01:10:27,010 あなたはこれで再生したい場合 それ以降、私はあなたのためにこれを再作成します。 1410 01:10:27,010 --> 01:10:29,140 しかし、ここで、このコードはまさにそれをしました。 1411 01:10:29,140 --> 01:10:31,460 なぜ我々は、他のいずれかの操作を行いません。 1412 01:10:31,460 --> 01:10:33,880 私は少し下にスクロールしてみましょう。 1413 01:10:33,880 --> 01:10:36,760 >> この場合には、プロジェクターだから 本当にそれを正義を行いません。 1414 01:10:36,760 --> 01:10:40,486 しかし、あなたの画面上で、あなたはおそらく 非常に赤と非常にブラックボックスを持っています。 1415 01:10:40,486 --> 01:10:42,610 これは、あまりにも、そのパズルです 有名なものを示しています。 1416 01:10:42,610 --> 01:10:44,193 しかし、画像が歪みました。 1417 01:10:44,193 --> 01:10:47,740 真の画像は、この時間は、あります 青と​​緑の値インチ 1418 01:10:47,740 --> 01:10:51,820 しかし、それらはすべて分割されてきました 20によってそのような値は非常に小さいです。 1419 01:10:51,820 --> 01:10:54,660 赤の値はちょうどです 乱数、ノイズ。 1420 01:10:54,660 --> 01:10:57,190 これらの歪みを元に戻します 真の画像を明らかにしました。 1421 01:10:57,190 --> 01:10:59,200 >> だから、ニックは、次に何をするかを説明します。 1422 01:10:59,200 --> 01:11:04,290 ゼロに赤の値を設定し、 それが何であるかを台無しにしないでください。 1423 01:11:04,290 --> 01:11:07,110 その後、青を掛けます そして、緑の値は20によります。 1424 01:11:07,110 --> 01:11:09,820 だから、それはほとんどです 前と同じプログラム、 1425 01:11:09,820 --> 01:11:11,380 しかし、あなたは、プロセスを逆にしています。 1426 01:11:11,380 --> 01:11:13,780 そして、私はから私のコードを配置します 前の場合には、画面上 1427 01:11:13,780 --> 01:11:16,650 あなたはそれに戻って参照したいです またはそのいずれかでさらに再生されます。 1428 01:11:16,650 --> 01:11:18,100 私はその上にズームインしてみましょう。 1429 01:11:18,100 --> 01:11:21,450 しかし、銅のイメージを解決 パズル、数2。 1430 01:11:21,450 --> 01:11:37,623 1431 01:11:37,623 --> 01:11:40,580 >> AUDIENCE:[聞こえません] 1432 01:11:40,580 --> 01:11:44,010 >> DAVIDマラン:OK、だから私はこの1 など、多くのヒントを与えるつもりはありません。 1433 01:11:44,010 --> 01:11:47,220 だから私はああ、してみましょうwould-- あなたはここにタイプミスを持って、参照してください。 1434 01:11:47,220 --> 01:11:49,621 そこでこのここで、覚えています 実際にそこに行く必要があります。 1435 01:11:49,621 --> 01:11:52,870 あなたがしたいのであれば、私は、提案するもの この1に焦点を当て、その答えがあります。 1436 01:11:52,870 --> 01:11:57,060 あなたがいること、それを転写する場合 第1の作業を取得する必要があります。 1437 01:11:57,060 --> 01:11:59,910 そして、あなたはのようにそれを使用することができます 第1のためのインスピレーション。 1438 01:11:59,910 --> 01:12:02,230 ニース。 1439 01:12:02,230 --> 01:12:02,730 良い。 1440 01:12:02,730 --> 01:12:05,430 1441 01:12:05,430 --> 01:12:08,180 >> そして好奇心のために、 これは単純な例であります 1442 01:12:08,180 --> 01:12:11,080 科学や芸術の ステガノグラフィと呼ばれます、 1443 01:12:11,080 --> 01:12:14,100 画像内の情報を隠蔽する技術。 1444 01:12:14,100 --> 01:12:16,890 一般的に、画像はあるかもしれません 非常に露骨に透かしを入れ 1445 01:12:16,890 --> 01:12:19,500 底にロゴ付き コー​​ナー、しかし明らかに、あなたは 1446 01:12:19,500 --> 01:12:22,070 はるかに洗練されたことができます それについて実際 1447 01:12:22,070 --> 01:12:25,050 画像内の他の画像を非表示にします 何とかこの技術では。 1448 01:12:25,050 --> 01:12:59,890 1449 01:12:59,890 --> 01:13:05,770 >> 別の30秒を取り、その後、我々はよ 少なくともあなたが見るべきものを発表。 1450 01:13:05,770 --> 01:13:08,330 そして、私は三分の一を残しておきます 在宅運動として1、 1451 01:13:08,330 --> 01:13:11,353 あなたはより多くのをたい場合 この週末に挑戦。 1452 01:13:11,353 --> 01:13:18,240 1453 01:13:18,240 --> 01:13:20,390 そして、私はアンドリューがかもしれないと思います 最初にそれを得ています。 1454 01:13:20,390 --> 01:13:22,645 第2の画像が、アンドリューは何ですか? 1455 01:13:22,645 --> 01:13:23,920 >> AUDIENCE:自由の女神像。 1456 01:13:23,920 --> 01:13:28,500 >> DAVIDマラン:自由の女神像 答えはこの時間になります。 1457 01:13:28,500 --> 01:13:31,140 だからもう一度、ちょうどいくつかの簡単な 例の目的 1458 01:13:31,140 --> 01:13:35,040 あなたはどのように感を与えることです 私たちは、絵のスクラッチを翻訳しました 1459 01:13:35,040 --> 01:13:40,410 ブロックにより迷惑とより 複雑なコードが、アイデアのすべて 1460 01:13:40,410 --> 01:13:42,980 全く同じままです、 導入にもかかわらず 1461 01:13:42,980 --> 01:13:48,380 今、変数の概念の、あります 一時的に何かを記憶することができます。 1462 01:13:48,380 --> 01:13:51,750 >> 、の1以上のハンズオンやってみましょう ちょうど今、ドットを接続します 1463 01:13:51,750 --> 01:13:53,880 何かもう少し現実世界へ。 1464 01:13:53,880 --> 01:13:56,610 あなたができれば、あなたは、準備ができたら、 画面上の次のURLを参照してください。 1465 01:13:56,610 --> 01:14:00,610 それはあなたのコピーにもです スライドは、developers.google.com/maps~~V。 1466 01:14:00,610 --> 01:14:03,660 それでは、実際に何かをやってみましょう ウェブ上で、いわば、現実の 1467 01:14:03,660 --> 01:14:07,600 GoogleマップAPIを使用して、または アプリケーション・プログラミング・インターフェース 1468 01:14:07,600 --> 01:14:08,940 以下の方法インチ 1469 01:14:08,940 --> 01:14:12,341 >> グーグル、多くの企業のように、 自由な多くの機能を提供します 1470 01:14:12,341 --> 01:14:14,840 あなたを構築するために使用することができます 独自の興味深い応用。 1471 01:14:14,840 --> 01:14:18,890 実際には、今まで使用している場合 タクシーや車を取得するためのユーバー、 1472 01:14:18,890 --> 01:14:21,640 おそらくユーバーを持っていることを知っています マップとそれに自動車を示しています。 1473 01:14:21,640 --> 01:14:24,870 つまり、私はできる限り最善のように 、GoogleマップAPIを教えてください。 1474 01:14:24,870 --> 01:14:28,884 彼らは実際には、Googleのマップを使用しています しかし、ユーバーは、マッピングの会社ではありません、 1475 01:14:28,884 --> 01:14:31,050 でもそれは次のようになります 特に興味深い問題 1476 01:14:31,050 --> 01:14:33,510 彼らの上に解決するために カーサービスの問題。 1477 01:14:33,510 --> 01:14:35,510 だから、彼らは立っています、 再び、肩の上 1478 01:14:35,510 --> 01:14:37,520 他人の、この場合にはグーグル。 1479 01:14:37,520 --> 01:14:42,850 だから彼らは、Googleのマップを使用しますが、自分の 車のサービスおよび他のそのような機能を備えています。 1480 01:14:42,850 --> 01:14:47,770 >> だから我々は、利点を活用するつもりです この次の操作を行います。 1481 01:14:47,770 --> 01:14:50,230 そして、私は、あまりにも速く行ってきた場合 一瞬で私を呼び出します。 1482 01:14:50,230 --> 01:14:53,500 画像のもののいくつかをおさらいもラクラク。 1483 01:14:53,500 --> 01:14:56,290 あなたは自分自身を参照する必要があります このようなページで。 1484 01:14:56,290 --> 01:14:58,230 だから、Googleの素敵な、と 彼らは最高の間です 1485 01:14:58,230 --> 01:15:01,364 だけでなく、APIを提供します、 そのあなたが、無料のAPI 1486 01:15:01,364 --> 01:15:02,780 で再生したり、商業的に使用することができます。 1487 01:15:02,780 --> 01:15:06,450 彼らはあなたの用法場合の充電を開始か 高いですが、私は事前に先に行っ 1488 01:15:06,450 --> 01:15:10,490 そして無料のアカウントのための私達にサインアップ その、うまくいけば、10台のコンピュータ 1489 01:15:10,490 --> 01:15:12,480 突然のための私達を失格しません。 1490 01:15:12,480 --> 01:15:14,320 だから、うまくいけば、この デモは動作します。 1491 01:15:14,320 --> 01:15:18,840 >> そして、彼らはのためのAPIを持っていることに気付きます アンドロイド、iOSの、ウェブ、およびウェブサービス、 1492 01:15:18,840 --> 01:15:19,620 何すなわち。 1493 01:15:19,620 --> 01:15:20,700 のは、ウェブに焦点を当ててみましょう。 1494 01:15:20,700 --> 01:15:26,560 だからピンクボックス、ウェブをクリックして、その ページに、うまくいけば、あなたを導くでしょう 1495 01:15:26,560 --> 01:15:27,630 ここに。 1496 01:15:27,630 --> 01:15:29,335 そして彼らは、APIの全体の束を持っています。 1497 01:15:29,335 --> 01:15:31,210 そして、それは少しすることができます 最初は圧倒的な、 1498 01:15:31,210 --> 01:15:33,000 私は、我々が望むものを通して私たちを導くでしょう。 1499 01:15:33,000 --> 01:15:38,500 >> 左上にGoogleマップであります JavaScriptのAPI、JavaScriptのAPI。 1500 01:15:38,500 --> 01:15:40,380 だから先に行くと、そのいずれかをクリックします。 1501 01:15:40,380 --> 01:15:49,360 そして、それはここであなたを導くでしょう ページ、デモとサンプルコード以下。 1502 01:15:49,360 --> 01:15:51,190 私はここでズームアウトしてみましょう。 1503 01:15:51,190 --> 01:15:56,300 そして、私は私たちがスクロールダウンto--取得してみましょう それはクイックスタート手順を言う場所へ。 1504 01:15:56,300 --> 01:15:57,970 あなたの画面は私のようになります。 1505 01:15:57,970 --> 01:16:01,130 >> そして、二つのステップがあります、取得 キーと開発を開始。 1506 01:16:01,130 --> 01:16:04,190 私はすでにのためのステップ1を行いました 私たちは、いわゆるキーを取得します。 1507 01:16:04,190 --> 01:16:05,320 そして、これが一般的な考え方です。 1508 01:16:05,320 --> 01:16:09,210 APIキーはちょうど一般的です 大きな乱数または文字列 1509 01:16:09,210 --> 01:16:11,130 あなたが想定されていること あなたのコードに貼り付け、 1510 01:16:11,130 --> 01:16:15,280 Googleはあなたが時誰であるか知っているように、 あなたはそれらのサービス、それらのAPIを使用しています。 1511 01:16:15,280 --> 01:16:17,370 私たちがしているという意味ではありません 何かを充電中。 1512 01:16:17,370 --> 01:16:21,030 そして今、クリックして、代わりに 1、開発を開始]をクリックします。 1513 01:16:21,030 --> 01:16:25,990 あなただけの私を振ることができれば 以上の私たちがどこにあるかどうかは不明。 1514 01:16:25,990 --> 01:16:28,040 >> だから我々はちょうど傷ます 表面、ここが、何 1515 01:16:28,040 --> 01:16:31,000 私は魅力的だろうと思いました 実際に私たちのすべてを持つことです、 1516 01:16:31,000 --> 01:16:34,240 1つのウィンドウでCloud9を使用し、 別ウィンドウでこのチュートリアル、 1517 01:16:34,240 --> 01:16:37,120 実際に私たち自身を取得することができます アプリケーションの稼働中 1518 01:16:37,120 --> 01:16:40,920 それは、カスタムGoogleに埋め込みます 私たち自身のウェブページ内のマップ、 1519 01:16:40,920 --> 01:16:43,010 および1つまたは2つの機能が追加されます。 1520 01:16:43,010 --> 01:16:45,520 しかし、我々はただスクラッチよ 私たちは何ができるかの表面。 1521 01:16:45,520 --> 01:16:47,020 >> だから迅速な健全性チェック。 1522 01:16:47,020 --> 01:16:49,740 誰もが、このページにあり Google Maps JavaScript APIの? 1523 01:16:49,740 --> 01:16:50,872 始めると言うべきです。 1524 01:16:50,872 --> 01:16:53,330 私たちは、通過するつもりはありません 任意の手段によって全体のこと。 1525 01:16:53,330 --> 01:16:58,090 [OK]を、別のタブで、あなたがいない場合 それは開いている、Cloud9に行くのですか 1526 01:16:58,090 --> 01:17:03,500 だけに自分自身を取得 新しいタブ、最終的に。 1527 01:17:03,500 --> 01:17:11,070 だからもう一度、昨日からc9.io、 c9.io、ちょうど新しいファイルを作成します。 1528 01:17:11,070 --> 01:17:13,500 そして、先に行くとコール それはあなたが何をしたいと思います。 1529 01:17:13,500 --> 01:17:16,495 私は私map.htmlと呼ばれます。 1530 01:17:16,495 --> 01:17:17,870 .htmlで終わるもの、それを呼び出します。 1531 01:17:17,870 --> 01:17:23,930 1532 01:17:23,930 --> 01:17:26,580 そして、あなたはおおよそであるべき 私は、このプロセスで午前場所 1533 01:17:26,580 --> 01:17:31,470 空の中だけ点滅プロンプトで タブはmap.htmlのようなものと呼ばれます。 1534 01:17:31,470 --> 01:17:35,808 1535 01:17:35,808 --> 01:17:38,148 またはファイル、新規ファイルこの時間。 1536 01:17:38,148 --> 01:17:41,960 1537 01:17:41,960 --> 01:17:48,000 >> そして今、オーバーに GoogleマップのJavaScript API、 1538 01:17:48,000 --> 01:17:50,010 私たちは、読書をスキップします このテキストのすべてを通じ。 1539 01:17:50,010 --> 01:17:53,760 しかし、世界があるハローことに気づきます 確かにどこでも、あなたは今それを参照してください。 1540 01:17:53,760 --> 01:17:58,020 こんにちは、世界はこの大きなカラフルなを持っています HTMLの全体の束の一例。 1541 01:17:58,020 --> 01:18:03,590 前方に移動し、コピーして貼り付けるだけで HTML、上部のドキュメントタイプからそう 1542 01:18:03,590 --> 01:18:08,810 近くにHTMLタグにすべての道、行きます 先行して、もう一度that--のすべてをコピーし、 1543 01:18:08,810 --> 01:18:14,430 それは、ハローワールドの下ですexample-- そして、あなたのCloud9タブにそれを貼り付けます 1544 01:18:14,430 --> 01:18:17,996 その結果、今あなたの画面 大体地雷のようになります。 1545 01:18:17,996 --> 01:18:22,280 1546 01:18:22,280 --> 01:18:24,520 >> そして、あなたはそれを保存することができますが、 まだそれをロードしないでください。 1547 01:18:24,520 --> 01:18:26,290 見てみましょう 我々場合、コードとを参照してください。 1548 01:18:26,290 --> 01:18:29,110 推測か知ることができません それはGoogleのあるものから 1549 01:18:29,110 --> 01:18:30,860 私たちは盲目的にコピー&ペーストしてきました。 1550 01:18:30,860 --> 01:18:33,334 彼らはただ手助けをしたいです、 文字通り、私たちは始めます、 1551 01:18:33,334 --> 01:18:35,500 しかし、その多くはありません 実際にそこに複雑。 1552 01:18:35,500 --> 01:18:40,100 1553 01:18:40,100 --> 01:18:42,210 ただまだ質問? 1554 01:18:42,210 --> 01:18:43,790 私たちは前進しても安全ですか? 1555 01:18:43,790 --> 01:18:44,330 OK。 1556 01:18:44,330 --> 01:18:46,800 >> こんなに早く、ちょうどやらせます いくつかの簡単な健全性チェック。 1557 01:18:46,800 --> 01:18:48,800 どのような私のライン1 、うまくいけばあなたを見て、 1558 01:18:48,800 --> 01:18:51,710 DOCTYPEのHTMLに、それが何を意味し、参照してください? 1559 01:18:51,710 --> 01:18:52,385 カリーム、思い出しますか? 1560 01:18:52,385 --> 01:18:53,260 AUDIENCE:[聞こえません] 1561 01:18:53,260 --> 01:18:53,968 DAVIDマラン:はい。 1562 01:18:53,968 --> 01:18:54,870 ここではHTML 5付属しています。 1563 01:18:54,870 --> 01:18:57,950 一方、上の2行目 ここで画面がちょっとブラウザを意味し、 1564 01:18:57,950 --> 01:18:59,482 ここでは、実際のHTMLが付属しています。 1565 01:18:59,482 --> 01:19:01,440 ライン3はちょっとブラウザです、 ここでヘッドが付属しています。 1566 01:19:01,440 --> 01:19:04,260 4行目はねえ、もちろん、あります ブラウザは、ここにタイトルを付属しています。 1567 01:19:04,260 --> 01:19:07,780 ライン5は何をするのでしょうか? 1568 01:19:07,780 --> 01:19:09,930 実は、これはそうではありません 本当に私たちのために何でもします。 1569 01:19:09,930 --> 01:19:13,340 この場合には、それだけリサイズ デフォルトのページ。ライン6、 1570 01:19:13,340 --> 01:19:16,140 我々はについて話しましたが、それしていません 文字エンコーディングを指定します。 1571 01:19:16,140 --> 01:19:19,181 ファイルをエンコードするためのさまざまな方法があります、 特に外国語のため。 1572 01:19:19,181 --> 01:19:21,100 UTF-8は、単にデフォルトになる傾向があります。 1573 01:19:21,100 --> 01:19:26,580 >> だから今、私たちはラインに表示されます 16、いくつかのCSSを介して7。 1574 01:19:26,580 --> 01:19:29,260 そして、私たちは見ていないしたにも関わらず、 前に、これらすべてのもの、 1575 01:19:29,260 --> 01:19:30,810 我々は種類の推測することができます。 1576 01:19:30,810 --> 01:19:37,075 だからライン8手段、ちょっとブラウザは、適用されます 次の二つのタグのすべて、 1577 01:19:37,075 --> 01:19:37,575 明らかに? 1578 01:19:37,575 --> 01:19:40,650 1579 01:19:40,650 --> 01:19:41,701 HTMLおよび本文テキスト。 1580 01:19:41,701 --> 01:19:43,200 だから、カンマが新しいものです。 1581 01:19:43,200 --> 01:19:46,140 そして、それはちょうど方法です 一度に複数のタグを指定します。 1582 01:19:46,140 --> 01:19:47,640 >> その後、我々は、中括弧を持っています。 1583 01:19:47,640 --> 01:19:51,170 だから明らかに、これはブラウザに指示します、 ページ100パーセントの高さを作ります。 1584 01:19:51,170 --> 01:19:54,170 だから、非常に少ないがあります場合でも、 内容は、ページ全体を作り、 1585 01:19:54,170 --> 01:19:55,530 事はページいっぱいにします。 1586 01:19:55,530 --> 01:19:57,524 マップは、最終的にページを埋めることを確認します。 1587 01:19:57,524 --> 01:19:58,690 マージン、それは何を意味するのでしょうか? 1588 01:19:58,690 --> 01:20:01,559 これは通常、任意のようなものです エッジの周りの空白 1589 01:20:01,559 --> 01:20:04,350 その一部のブラウザの設計者だけ 、そこにあるべきであることを決めた、それ理由 1590 01:20:04,350 --> 01:20:05,540 種類の物事がクリーナーに見えるのです。 1591 01:20:05,540 --> 01:20:06,498 しかし、我々はそれを望んでいません。 1592 01:20:06,498 --> 01:20:08,710 私たちは、マップが起こって欲しいです エッジのすべての方法。 1593 01:20:08,710 --> 01:20:10,930 パディング、マージンと精神面で似ています。 1594 01:20:10,930 --> 01:20:14,980 余白は、外側のパディング手段を意味します 内側が、それは契約の同じようなものです。 1595 01:20:14,980 --> 01:20:17,520 これは、バッファの少しです あなたとエッジ間。 1596 01:20:17,520 --> 01:20:21,170 >> そして、13行目が良いです クイックレビューのためのチャンス。 1597 01:20:21,170 --> 01:20:26,440 何がシャープマップを行います 意味、またはハッシュタグマップが意味ですか? 1598 01:20:26,440 --> 01:20:29,650 それは、原理的には、に何を参照していますか? 1599 01:20:29,650 --> 01:20:31,485 >> AUDIENCE:[聞こえません] 1600 01:20:31,485 --> 01:20:32,360 DAVIDマラン:その通り。 1601 01:20:32,360 --> 01:20:36,900 このプロパティは、このCSSプロパティ ただ一つのことに適用され、HTMLタグ 1602 01:20:36,900 --> 01:20:41,180 それは引用、引用終わり「マップ」のIDを持っています。 1603 01:20:41,180 --> 01:20:44,460 そして今、みましょう早送り、スクロール ファイルの最後まで、どの 1604 01:20:44,460 --> 01:20:49,860 あまりにも遠くはないが、ライン上の通知 19、あなたはそれを貼り付ける場合は正確に私がしたように、 1605 01:20:49,860 --> 01:20:53,405 19行目は、ちょうどdiv要素を持っています ページの部門、昨日 1606 01:20:53,405 --> 01:20:54,820 矩形領域と呼ばれます。 1607 01:20:54,820 --> 01:20:55,820 それは、その中に何も持っています。 1608 01:20:55,820 --> 01:20:57,550 これは、開始タグ、終了タグです。 1609 01:20:57,550 --> 01:20:59,490 しかし、それは固有のIDを持っています。 1610 01:20:59,490 --> 01:21:02,090 >> だから何があると思われます ここで起こっGoogleアカウントであります 1611 01:21:02,090 --> 01:21:05,880 に私たちのウェブページを準備しさ 完全な100%の高さを有し、 1612 01:21:05,880 --> 01:21:09,680 無パディング、マージンなし、なぜなら 私たちが内側に置くつもりです 1613 01:21:09,680 --> 01:21:13,647 その固有のIDです。このdiv要素の マップは、実際の埋め込みマップです。 1614 01:21:13,647 --> 01:21:15,480 そして、我々はそれを埋めるためにしたいです ページだけではなく、 1615 01:21:15,480 --> 01:21:17,560 途中でいくつかの小さな長方形です。 1616 01:21:17,560 --> 01:21:24,220 だから、ライン14は、同様に強調し、 マップ自体は100%の高さを持っている必要があります。 1617 01:21:24,220 --> 01:21:29,220 >> だから今のライン20との間に気付きます 28、これはJavaScriptコードです。 1618 01:21:29,220 --> 01:21:33,020 これは、それがだにもかかわらず、あります 、少し奇妙な構文的に 1619 01:21:33,020 --> 01:21:34,730 すべてのことずっとここで起こっありません。 1620 01:21:34,730 --> 01:21:39,310 ライン21において、これは、宣言されています 変数と呼ばれるもの。 1621 01:21:39,310 --> 01:21:42,030 代わりに、それを呼び出します 私たちは前にやったように、量、 1622 01:21:42,030 --> 01:21:44,500 私たちは、より正確に言っています 単に変数を意味VAR、。 1623 01:21:44,500 --> 01:21:46,520 私たちは、その中を使用することもできました ニックのコードが、彼はしませんでしたので、私 1624 01:21:46,520 --> 01:21:48,190 どちらかそれをやって気にしませんでした。 1625 01:21:48,190 --> 01:21:50,240 これは、変数と呼ばれています マップ、そこです 1626 01:21:50,240 --> 01:21:53,360 だ機能 どうやらinitMapと呼ばれます。 1627 01:21:53,360 --> 01:21:55,780 >> だから、これは私たち自身のカスタムのようなものです スクラッチでパズルのピース。 1628 01:21:55,780 --> 01:21:58,830 私たちは、の作品を作成しました initMapと呼ばれる機能が、 1629 01:21:58,830 --> 01:22:00,980 あなたは種類の推論できます 何が起きてる。 1630 01:22:00,980 --> 01:22:02,930 左側に、 私たちは、変数を持っています、 1631 01:22:02,930 --> 01:22:06,000 私たちは次のことを置くつもりです その変数の内部の事、 1632 01:22:06,000 --> 01:22:07,362 右から左へ。 1633 01:22:07,362 --> 01:22:11,940 右側はちょっと、と言います ブラウザは、私に新しいGoogleマップを与えます。 1634 01:22:11,940 --> 01:22:16,490 そしてgoogle.maps.mapはちょうどファンキーな方法です この機能することを指定します 1635 01:22:16,490 --> 01:22:19,790 Googleマップに属しています。 1636 01:22:19,790 --> 01:22:23,010 >> 括弧の後、我々が見てきました これは前に、ブラウザねえ、取得します 1637 01:22:23,010 --> 01:22:29,210 私のページの要素、 ユニークIDのページ内のタグis-- 1638 01:22:29,210 --> 01:22:30,710 >> AUDIENCE:[聞こえません] 1639 01:22:30,710 --> 01:22:31,790 >> DAVIDマラン:--map。 1640 01:22:31,790 --> 01:22:35,770 そして、何が、よく、起こっています 一緒にこの行、23行目、 1641 01:22:35,770 --> 01:22:38,630 基本的に言って、 ブラウザねえ、私を取りに行きます 1642 01:22:38,630 --> 01:22:42,800 ページ上の空のdiv その一意のIDマップです、 1643 01:22:42,800 --> 01:22:45,600 私は挿入したいので、 it--にそれに注入、 1644 01:22:45,600 --> 01:22:49,520 あなたは、コンテンツの全体の束をwill--場合 それは、ウェブから来ることを起こります、 1645 01:22:49,520 --> 01:22:50,427 その後。 1646 01:22:50,427 --> 01:22:52,010 そして、Googleのは、私たちのためにすべてのことをやって。 1647 01:22:52,010 --> 01:22:55,350 >> だからもう一度、一日の最後に、 私たちは、抽象化のこの例を持っています。 1648 01:22:55,350 --> 01:22:58,610 私はマップが何であるか見当がつかない またはどのようにマップのAPIを実装します。 1649 01:22:58,610 --> 01:22:59,460 我々はする必要はありません。 1650 01:22:59,460 --> 01:23:02,740 私達はちょうどマップを指示する必要があります どこに自分自身を入れて、残します 1651 01:23:02,740 --> 01:23:04,880 これらの基本となる実装 Googleに詳細。 1652 01:23:04,880 --> 01:23:08,190 今明らかに存在します データの2個 1653 01:23:08,190 --> 01:23:11,940 この例では、あること GoogleのAPIを提供します。 1654 01:23:11,940 --> 01:23:16,450 どうやら地図の中心、 ズームレベルは、いわば。 1655 01:23:16,450 --> 01:23:21,390 >> そして、誰もがこれらを認識しません 座標、緯度と経度? 1656 01:23:21,390 --> 01:23:24,364 おそらくないが、我々は戻って行くことができます チュートリアルに、文字通り参照してください。 1657 01:23:24,364 --> 01:23:25,780 しかし、我々は一瞬でそれが表示されます。 1658 01:23:25,780 --> 01:23:29,880 ズームレベルは、間の値である私にはありません 、13またはそのような何かで1を知っています。 1659 01:23:29,880 --> 01:23:32,880 それはちょうどあなたがしているどの程度に関係しています ズームインまたはズームアウトし、それはそれです。 1660 01:23:32,880 --> 01:23:35,690 そして今の一番端になります ページ、予告ライン29-- 1661 01:23:35,690 --> 01:23:39,960 それがために少し醜いです それは、このコード行をwraps-- 1662 01:23:39,960 --> 01:23:44,570 にダウンロードするものです ブラウザGoogleの実際のAPI。 1663 01:23:44,570 --> 01:23:47,500 Googleのコードのすべて それが実装するエンジニアを書かれています 1664 01:23:47,500 --> 01:23:50,000 埋め込み可能なマップのこの全体の機能。 1665 01:23:50,000 --> 01:23:51,470 >> 今度は、何も変更しないようにしましょう​​。 1666 01:23:51,470 --> 01:23:54,761 あなたが一緒に従っている場合は、先に行くと、 あなたが実際に持っている場合だけ、そのファイルを保存します 1667 01:23:54,761 --> 01:23:55,760 私が持っているもの。 1668 01:23:55,760 --> 01:23:57,370 そのURLにアクセスしてください。 1669 01:23:57,370 --> 01:23:59,820 ファイル名を指定して実行]ボタンをクリックすることができます トップアップとそれが教えてくれます 1670 01:23:59,820 --> 01:24:03,050 もしもう一度WebサーバのURL。 1671 01:24:03,050 --> 01:24:06,010 そして、それは新しいタブにあなたを導くでしょう。 1672 01:24:06,010 --> 01:24:11,910 あなたは[開く]をクリックした場合 map.html、およびオッズあなたがしているしています 1673 01:24:11,910 --> 01:24:15,520 アラートを取得するつもり、 エラーメッセージは、はい? 1674 01:24:15,520 --> 01:24:18,570 エラーメッセージは、エラーメッセージ? 1675 01:24:18,570 --> 01:24:21,170 >> だから、残念ながら、エラー メッセージはその啓発ではありません 1676 01:24:21,170 --> 01:24:23,890 あなたが実際に開かない限り コンソール、その特別なタブたち 1677 01:24:23,890 --> 01:24:27,110 昨日開いて保持し、 少し以前の今日。 1678 01:24:27,110 --> 01:24:29,445 しかし、私は全体でつまずい この先に、私既に 1679 01:24:29,445 --> 01:24:30,820 解決策が何であるかを考え出しました。 1680 01:24:30,820 --> 01:24:34,440 今日のスライドで、または むしろ、Cloud9で、予告 1681 01:24:34,440 --> 01:24:36,430 我々はやらなかったこと 意図的に何か。 1682 01:24:36,430 --> 01:24:40,690 で、このスクリプトタグに注目してください ライン29、あなたはそれを読めば、 1683 01:24:40,690 --> 01:24:44,440 それはmaps.googleapis.com/ようなものです 何か、何か、何か、 1684 01:24:44,440 --> 01:24:46,430 その後、誰かに気づきます 開発者の一人、 1685 01:24:46,430 --> 01:24:50,040 すべての首都に書きました 手紙、あなたのAPIキー。 1686 01:24:50,040 --> 01:24:51,700 >> 私たちはそこで何かを貼り付ける必要があります。 1687 01:24:51,700 --> 01:24:53,450 そして、これはステップでした 私は前に私たちのためにしました、 1688 01:24:53,450 --> 01:24:57,190 そして再び彼らがブラックリストに載せるかもしれません 私たちの突然の場合、私たちの12以上 1689 01:24:57,190 --> 01:24:59,470 同じキーを使用して起動し、 しかし、それでは、何が起こるか見てみましょう。 1690 01:24:59,470 --> 01:25:03,030 だから、今日のに行けば スライドは、1スライド後に、あります 1691 01:25:03,030 --> 01:25:07,070 テキストのこの非常にファンキーに見える文字列。 1692 01:25:07,070 --> 01:25:12,230 先に行くと、ちょうどそれをコピーして、 それはあなたのAPIキーを言う場所に貼り付けます。 1693 01:25:12,230 --> 01:25:15,120 それは私がのためにサインアップした一つです。 1694 01:25:15,120 --> 01:25:17,700 >> そして間違いなくしようとしません 手動でそれを入力し、 1695 01:25:17,700 --> 01:25:21,210 それは、はらん感じているので、 タイプミスで、潜在的に。 1696 01:25:21,210 --> 01:25:23,260 だから、ちょうどそれをコピーして貼り付けます。 1697 01:25:23,260 --> 01:25:26,090 そして、ラインを作るために起こっています 長いが、今、ちょうど、明確にします 1698 01:25:26,090 --> 01:25:29,540 それはもう少しはず このように、どこにキーがないに等しいです 1699 01:25:29,540 --> 01:25:32,200 あなたに叫んで資産計上。 1700 01:25:32,200 --> 01:25:34,810 ページを保存し、戻って 他のタブに、リロード、 1701 01:25:34,810 --> 01:25:36,770 そして、のマップを見てほしいですか? 1702 01:25:36,770 --> 01:25:37,790 >> AUDIENCE:オーストラリア。 1703 01:25:37,790 --> 01:25:38,748 >> DAVIDマラン:オーストラリア。 1704 01:25:38,748 --> 01:25:41,200 だから、明らかにそれらがあります GPSは、オーストラリアの座標。 1705 01:25:41,200 --> 01:25:44,491 そして、私はちょっと歩くましょう そして、かなりそこにはありません誰を助けます、 1706 01:25:44,491 --> 01:25:47,729 しかし、Google経由、見つける、私が提案してみましょう あなた自身の故郷のGPS座標 1707 01:25:47,729 --> 01:25:48,770 またはあなた自身の母国。 1708 01:25:48,770 --> 01:25:51,436 おそらくGoogleはこれをオンにすることができます アップ、またはウィキペディアはあなたを伝えることができます。 1709 01:25:51,436 --> 01:25:54,410 しかし、2つの異なる値を選択します 緯度と経度のために、 1710 01:25:54,410 --> 01:25:57,530 後ろに行くと、それらを貼り付け、 その後、保存した後にページをリロード 1711 01:25:57,530 --> 01:26:00,718 あなたが持っていることができるかどうかを確認 あなた自身の故郷のためのマップ。 1712 01:26:00,718 --> 01:26:04,500 1713 01:26:04,500 --> 01:26:08,042 >> そして、あなたがで行われているとき そのフォローアップchallenge-- 1714 01:26:08,042 --> 01:26:11,250 そして、私は少し方向性を与えるだろう、 意図的に、あなたのように意図的に 1715 01:26:11,250 --> 01:26:13,791 カップルのために闘争しなければなりません ドキュメントと分、 1716 01:26:13,791 --> 01:26:18,740 ないこのことがマップを変更 漫画デフォルトが、衛星地図。 1717 01:26:18,740 --> 01:26:24,600 だから、実際に衛星を参照してください。 代わりに、きれいな色の画像。 1718 01:26:24,600 --> 01:26:29,710 >> そしてヒントは、私はあなたを与えるだろう マップの種類を変更です。 1719 01:26:29,710 --> 01:26:33,084 それは取得に戻ります インスピレーションのためのページを開始しました。 1720 01:26:33,084 --> 01:26:40,599 1721 01:26:40,599 --> 01:26:42,390 あなたが集められているかもしれませんが、 あなたが探しているなら、 1722 01:26:42,390 --> 01:26:44,250 非常に多くのより多くがあります あなたがすることができるもの。 1723 01:26:44,250 --> 01:26:46,380 あなたの中には、既に持っています マップタイプを変更しました。 1724 01:26:46,380 --> 01:26:49,890 しかし、あなたは私を聞かせて、例えばdo--ことができます 私たちはもちろんのためにした何かに行きます 1725 01:26:49,890 --> 01:26:52,050 私はmaps.cs50.netをteach--。 1726 01:26:52,050 --> 01:26:53,470 私たちの学部生の一つは、これをしました。 1727 01:26:53,470 --> 01:26:58,890 私たちは、ハーバードヤードを超える当社の地図の中心と これらの建物名のすべてをオーバーレイ、 1728 01:26:58,890 --> 01:27:01,070 そして、我々は彼がこれを追加していました。 1729 01:27:01,070 --> 01:27:04,270 私が検索したいのであれば、 例えば、マシューズホール、 1730 01:27:04,270 --> 01:27:05,730 我々は少しドロップダウンメニューがあります。 1731 01:27:05,730 --> 01:27:09,080 そして、私は彼が、ブートストラップを使用していると思います ライブラリ我々はこのために先に述べました。 1732 01:27:09,080 --> 01:27:12,190 そして、あなたはマシューズをクリックした場合 ホール、すぐにそれ 1733 01:27:12,190 --> 01:27:14,790 特定のマップをジャンプ 場所、およびそれショー 1734 01:27:14,790 --> 01:27:16,440 あなたこの小さなポップアップで絵。 1735 01:27:16,440 --> 01:27:18,670 >> しかし、たとえこの小さな ポップアップ、我々は実装していませんでした。 1736 01:27:18,670 --> 01:27:27,521 私たちの取得を下にスクロールすると ページを開始し、情報ウィンドウを探し、 1737 01:27:27,521 --> 01:27:29,770 あなたは、その一部が表示されます 機能あなた自身で 1738 01:27:29,770 --> 01:27:31,561 とはいえ、追加することができます もう少し複雑、 1739 01:27:31,561 --> 01:27:33,970 情報ウィンドウと呼ばれるものです。 1740 01:27:33,970 --> 01:27:37,190 そして、私は例をクリックした場合 ここでは、これは楽しいものですが、 1741 01:27:37,190 --> 01:27:40,530 あなたは、このようなものを行うことができます 出来上がり、その後、マーカーをクリックすると、 1742 01:27:40,530 --> 01:27:42,400 情報がポップアップ表示されます。 1743 01:27:42,400 --> 01:27:45,874 >> だから我々は非常に導入していません JavaScriptを十分に特徴 1744 01:27:45,874 --> 01:27:49,040 正確にどのようにあなたの絵をペイントします 一緒にこのようなもののすべてを配線することができ、 1745 01:27:49,040 --> 01:27:50,706 私たちは種類の表面を傷付けてきました。 1746 01:27:50,706 --> 01:27:53,140 実際に、私はちょうどその時何をしました 私は、そのマーカーをクリック 1747 01:27:53,140 --> 01:27:55,819 イベントAをトリガし クリックイベントに、いわゆる。 1748 01:27:55,819 --> 01:27:57,610 そして、私たちが実際に見ました イベントは、以前の今日、 1749 01:27:57,610 --> 01:28:00,670 イベントを提出する、いわゆる、 ときに我々が防止されました 1750 01:28:00,670 --> 01:28:02,490 猫を探してからユーザー。 1751 01:28:02,490 --> 01:28:06,560 だから我々は一種の拾い上げ、選びましました すべてのこれらのさまざまな機能の中から、 1752 01:28:06,560 --> 01:28:08,990 うまくいけば、あなたの感覚を与えるために、 あなたが実際に缶の 1753 01:28:08,990 --> 01:28:11,000 もう少しで行います プログラミングで快適、 1754 01:28:11,000 --> 01:28:12,587 そして、完全にリソースを解放。 1755 01:28:12,587 --> 01:28:15,856 1756 01:28:15,856 --> 01:28:18,770 >> 質問は? 1757 01:28:18,770 --> 01:28:19,790 なし? 1758 01:28:19,790 --> 01:28:22,542 これはあなたの最後のチャンスです、 少なくとも今日は、金曜日に、 1759 01:28:22,542 --> 01:28:25,000 あなたの胸から何かを得るために あなたはここから出て歩くように 1760 01:28:25,000 --> 01:28:27,067 自信を持って、快適な感じ。 1761 01:28:27,067 --> 01:28:27,566 はい。 1762 01:28:27,566 --> 01:28:29,740 >> AUDIENCE:なぜしません あなたは、もう一つを追加しますか? 1763 01:28:29,740 --> 01:28:32,720 >> DAVIDマラン:善ああ私。 1764 01:28:32,720 --> 01:28:35,260 私が思うに、この週末を休ませる必要があります。 1765 01:28:35,260 --> 01:28:36,180 その他の質問? 1766 01:28:36,180 --> 01:28:37,055 >> AUDIENCE:[聞こえません] 1767 01:28:37,055 --> 01:28:44,130 1768 01:28:44,130 --> 01:28:46,810 >> DAVIDマラン:あなたがでcan-- Internet Explorerで、平和で残り、 1769 01:28:46,810 --> 01:28:49,310 あなたは、VBを置くことができるように使用されます スクリプト、仮想基本的なスクリプト、 1770 01:28:49,310 --> 01:28:50,643 それは本当に上でキャッチすることはありません。 1771 01:28:50,643 --> 01:28:52,490 だから短い答えはただのJavaScriptです。 1772 01:28:52,490 --> 01:28:55,144 1773 01:28:55,144 --> 01:28:55,810 その他の質問? 1774 01:28:55,810 --> 01:28:58,427 1775 01:28:58,427 --> 01:28:59,760 すべての権利は​​、よく、私はこれをやらせます。 1776 01:28:59,760 --> 01:29:02,070 私は外で私たちの同僚をつかむしてみましょう。 1777 01:29:02,070 --> 01:29:04,500 彼らはいくつかの評価を持っています 彼らは誰もが望む形 1778 01:29:04,500 --> 01:29:06,310 記入数分を過ごすために。 1779 01:29:06,310 --> 01:29:08,775 彼らは、そのフォームを収集すると、任意の あなたは外に持っているかもしれない免除。 1780 01:29:08,775 --> 01:29:10,240 彼らはまた、証明書を持っています。 1781 01:29:10,240 --> 01:29:12,380 私はあります推測しています 外はまだいくつかのスナック。 1782 01:29:12,380 --> 01:29:14,360 私はこれらを通過させ、そしてあなたの場合 その間に任意の質問を持って、 1783 01:29:14,360 --> 01:29:17,120 私はより個別に歩きますよ 私たちはあなたが始めることができます。 1784 01:29:17,120 --> 01:29:17,879 はい、もちろん。 1785 01:29:17,879 --> 01:29:18,754 AUDIENCE:[聞こえません] 1786 01:29:18,754 --> 01:29:26,737 1787 01:29:26,737 --> 01:29:28,570 DAVIDマラン:それは これらの日は通常真。 1788 01:29:28,570 --> 01:29:30,730 確かにウェブと ソフトウェア、あなたが傾いています 1789 01:29:30,730 --> 01:29:32,901 他人にあなたはどちらかです 審美的なものを使用して 1790 01:29:32,901 --> 01:29:35,400 ブートストラップのようなので、あなたはしないでください ローレベルを実装する必要が 1791 01:29:35,400 --> 01:29:37,169 メニューの詳細と ボタンやすべてのこと。 1792 01:29:37,169 --> 01:29:39,210 あなたは誰かに寄りかかっています Googleのようなので、その 1793 01:29:39,210 --> 01:29:42,050 ユーバーを構築する必要はありません ビジネスとマッピング事業、 1794 01:29:42,050 --> 01:29:44,850 そして、同様の任意の数 用途としても。 1795 01:29:44,850 --> 01:29:46,350 >> 実際には、ログインがあまりにも、人気があります。 1796 01:29:46,350 --> 01:29:48,500 あなたはSpotifyはまたはを使用している場合 ウェブサイトの任意の数、 1797 01:29:48,500 --> 01:29:51,210 あなたは、いくつかにログインします Facebookのを使用してウェブサイト。 1798 01:29:51,210 --> 01:29:53,350 だから、素敵なものです ログインのためのAPIがあります 1799 01:29:53,350 --> 01:29:56,570 今日では、あなたが持っていないように、 独自のユーザーテーブルを持っています 1800 01:29:56,570 --> 01:29:59,440 そして、独自のデータベースのすべて 必ずしも同程度です。 1801 01:29:59,440 --> 01:30:01,795 あなたは、Facebookがすべてをやらせることができます あなたのために、その複雑さの。 1802 01:30:01,795 --> 01:30:03,920 だから、エキサイティングな時間です​​、 正直、プログラミングにおいて、 1803 01:30:03,920 --> 01:30:07,200 非常に多くのサードパーティがあるので、 あなたが上に構築できるサービス。 1804 01:30:07,200 --> 01:30:10,890 >> そして再び、あなたが支払う価格です 金融やダウンタイムのいずれか。 1805 01:30:10,890 --> 01:30:13,750 Googleがダウンした場合、 そうユーバーは、間違いなく、い 1806 01:30:13,750 --> 01:30:15,690 おそらくそれはです 合理的なトレードオフ。 1807 01:30:15,690 --> 01:30:18,040 そして再び、それがテーマの一つでした、 うまくいけば、日の過去のカップルのため、 1808 01:30:18,040 --> 01:30:18,780 これらのトレードオフです。 1809 01:30:18,780 --> 01:30:20,738 そして、めったに行くはありません 正しい答えであることを。 1810 01:30:20,738 --> 01:30:25,700 それは本当に良いです 二つ以上の回答。 1811 01:30:25,700 --> 01:30:26,682 >> これらの周りを渡します。 1812 01:30:26,682 --> 01:30:36,830 1813 01:30:36,830 --> 01:30:41,110 >> そして、これらのCloud9アカウントが継続されます 永久に、理論的には、動作するように。 1814 01:30:41,110 --> 01:30:45,000 あなたは数日待っていればあなたが見つけるかもしれません またはそれらに再度ログインする週間以上、 1815 01:30:45,000 --> 01:30:49,170 それは、1等かかる場合があります バックアップ開くために5分、 1816 01:30:49,170 --> 01:30:54,090 それは、彼らが置かという理由だけです それは、リソースを節約するためにスリープ状態に。 1817 01:30:54,090 --> 01:31:10,527