1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> DAVID Malan: Được rồi, chúng ta trở lại. 3 00:00:01,560 --> 00:00:03,830 Vì vậy, cho thú vị kết luận, phần cuối cùng của chúng tôi 4 00:00:03,830 --> 00:00:06,900 về lập trình web, mà tôi nghĩ chúng ta muốn sử dụng như là một thuật ngữ chung 5 00:00:06,900 --> 00:00:08,440 để nắm bắt một vài chủ đề còn lại. 6 00:00:08,440 --> 00:00:10,390 Vì vậy, vào cuối của ngày, chúng tôi sẽ thực sự làm 7 00:00:10,390 --> 00:00:14,830 một chút thực hành lập trình web với một ngôn ngữ được gọi là JavaScript. 8 00:00:14,830 --> 00:00:17,510 Và tôi nghĩ rằng chúng tôi sẽ có một cái nhìn tại một cái gì đó liên quan đến hình ảnh 9 00:00:17,510 --> 00:00:20,040 và khám phá một cái gì đó bí mật ẩn trong một hình ảnh, 10 00:00:20,040 --> 00:00:23,230 và cũng có một cái nhìn tại Google Maps API, lập trình ứng dụng 11 00:00:23,230 --> 00:00:26,040 giao diện, như một cái gì đó đại diện của các loại phần mềm 12 00:00:26,040 --> 00:00:28,800 đó là ngày càng và tự do hiện nay. 13 00:00:28,800 --> 00:00:32,029 >> Nhưng tại sao chúng ta không có một cái nhìn tại một thành phần để thế giới này 14 00:00:32,029 --> 00:00:34,070 mà chúng tôi đã loại được dùng cho các cấp tồn tại 15 00:00:34,070 --> 00:00:36,720 một thời gian, một cơ sở dữ liệu. 16 00:00:36,720 --> 00:00:39,150 Đối với những ngày vừa qua và một nửa, chúng tôi đã giả định 17 00:00:39,150 --> 00:00:42,910 rằng chúng tôi có quyền truy cập vào một cơ sở dữ liệu, nhưng những vấn đề không một cơ sở dữ liệu giải quyết? 18 00:00:42,910 --> 00:00:45,540 nó làm gì cho chúng ta? 19 00:00:45,540 --> 00:00:47,030 Nó là gì? 20 00:00:47,030 --> 00:00:48,679 >> Đung [IM LẶNG] 21 00:00:48,679 --> 00:00:51,720 DAVID Malan: Giữ tất cả các thông tin, OK, và những loại thông tin 22 00:00:51,720 --> 00:00:53,186 bạn có thể đặt vào nó? 23 00:00:53,186 --> 00:00:54,590 >> Đung [IM LẶNG] 24 00:00:54,590 --> 00:00:56,450 >> DAVID Malan: Bất kỳ thông tin bạn đặt vào nó, bạn sẽ nhận lại. 25 00:00:56,450 --> 00:00:57,070 Điều đó đúng. 26 00:00:57,070 --> 00:01:01,900 Và trên một trang web dựa trên web điển hình hoặc web ứng dụng, những loại thông tin, 27 00:01:01,900 --> 00:01:03,385 Cụ thể, bạn có thể đưa vào? 28 00:01:03,385 --> 00:01:04,260 Đung [IM LẶNG] 29 00:01:04,260 --> 00:01:05,051 DAVID Malan: Người dùng. 30 00:01:05,051 --> 00:01:07,000 Vì vậy, một người sử dụng là những gì? 31 00:01:07,000 --> 00:01:09,765 >> Đung [IM LẶNG] 32 00:01:09,765 --> 00:01:11,640 DAVID Malan: OK, đăng ký người dùng của trang web. 33 00:01:11,640 --> 00:01:15,100 Và điều đó có nghĩa là lưu trữ thông tin của người sử dụng? 34 00:01:15,100 --> 00:01:17,260 Những sáng tác một người sử dụng? 35 00:01:17,260 --> 00:01:18,331 Một người sử dụng có những gì? 36 00:01:18,331 --> 00:01:19,206 Đung [IM LẶNG] 37 00:01:19,206 --> 00:01:21,040 DAVID Malan: Yeah, cá nhân dữ liệu, và tôi thích điều đó. 38 00:01:21,040 --> 00:01:21,970 Chúng ta hãy là chính xác hơn. 39 00:01:21,970 --> 00:01:25,275 Vì vậy, người dùng thường có một cái tên, những gì khác có thể là một người sử dụng có? 40 00:01:25,275 --> 00:01:26,150 Đung [IM LẶNG] 41 00:01:26,150 --> 00:01:29,130 DAVID Malan: An OK addr--, tên vì vậy đầu tiên, cuối cùng tên. 42 00:01:29,130 --> 00:01:29,630 Đó là tốt. 43 00:01:29,630 --> 00:01:31,463 Trên thực tế, chúng ta hãy sửa chữa đó, bởi vì nó sẽ 44 00:01:31,463 --> 00:01:35,010 để mở ra một cơ hội cho thảo luận, vẫn còn, hơn nữa. 45 00:01:35,010 --> 00:01:39,090 tên đầu tiên, tên, giới tính. 46 00:01:39,090 --> 00:01:41,820 47 00:01:41,820 --> 00:01:43,481 Một ID của một số loại. 48 00:01:43,481 --> 00:01:43,980 Những gì người khác? 49 00:01:43,980 --> 00:01:45,438 Tôi nghe thấy một cái gì đó khác trước, quá. 50 00:01:45,438 --> 00:01:51,600 Một email, địa chỉ bưu điện. 51 00:01:51,600 --> 00:01:58,170 >> Vì vậy, chúng ta hãy tạm dừng ở đó và bây giờ xem xét không phải những gì chúng tôi đang lưu trữ trong cơ sở dữ liệu, 52 00:01:58,170 --> 00:02:01,980 nhưng-- và không lý do tại sao, vì nó có lẽ Rõ ràng là một khi bạn đăng ký một người sử dụng, 53 00:02:01,980 --> 00:02:03,730 bạn muốn ghi nhớ họ một thời gian. 54 00:02:03,730 --> 00:02:05,480 Bạn không muốn nó chỉ được lưu trữ trong bộ nhớ RAM 55 00:02:05,480 --> 00:02:08,690 và được forgotten-- vậy hãy tập trung vào việc làm thế nào. 56 00:02:08,690 --> 00:02:11,700 >> Nó chỉ ra rằng trong thế giới của cơ sở dữ liệu, 57 00:02:11,700 --> 00:02:14,410 có ít nhất hai loại những ngày này. 58 00:02:14,410 --> 00:02:20,010 Một cái gì đó gọi là một cơ sở dữ liệu SQL, Structured Query Language, 59 00:02:20,010 --> 00:02:24,770 hay, dễ thương được đặt tên, NoSQL, mà không phải là SQL. 60 00:02:24,770 --> 00:02:26,980 Và sau này là một ví dụ về những gì có thể 61 00:02:26,980 --> 00:02:30,660 được gọi là một hướng đối tượng, hoặc một cửa hàng đối tượng, một cơ sở dữ liệu 62 00:02:30,660 --> 00:02:36,010 lưu trữ các đối tượng, và không, lý do tôi, như chúng ta sẽ sớm thấy, hàng. 63 00:02:36,010 --> 00:02:41,800 >> Vì vậy, chúng tôi sẽ tập trung cho chỉ là một khoảnh khắc trên người đầu tiên trong số này, cụ thể là, một SQL 64 00:02:41,800 --> 00:02:46,850 cơ sở dữ liệu, nếu chỉ vì nó là quá quen thuộc rồi, để bất cứ ai 65 00:02:46,850 --> 00:02:51,070 người đã sử dụng Excel hoặc Google Sheets hoặc Apple 66 00:02:51,070 --> 00:02:53,740 Số hay tiêu chuẩn nào chương trình bảng tính, 67 00:02:53,740 --> 00:02:56,040 hoặc tương đương, hoặc tinh xảo hơn, 68 00:02:56,040 --> 00:02:58,610 một cái gì đó giống như Microsoft Access hay Oracle 69 00:02:58,610 --> 00:03:03,890 hoặc MySQL hoặc PostgreSQL, tất cả đều là tên sản phẩm cho việc triển khai 70 00:03:03,890 --> 00:03:04,865 các ý tưởng sau đây. 71 00:03:04,865 --> 00:03:10,350 >> Một cơ sở dữ liệu quan hệ chỉ đơn giản là cái gì đó có các hàng và cột. 72 00:03:10,350 --> 00:03:12,850 Và bởi hàng và cột, Tôi nghĩa là một cái gì đó có ý nghĩa 73 00:03:12,850 --> 00:03:21,860 như thế này, vì vậy mà chúng ta có thể có các tên của một lĩnh vực và loại hình của nó ở đây. 74 00:03:21,860 --> 00:03:25,800 Và trên thực tế, cho tôi bây giờ bắt đầu để lập bản đồ này. 75 00:03:25,800 --> 00:03:29,420 Vì vậy, thực sự, tôi không biết lý do tại sao tôi đã vẽ một biểu đồ riêng biệt. 76 00:03:29,420 --> 00:03:30,780 Hãy giữ cho đơn giản này. 77 00:03:30,780 --> 00:03:34,830 >> Chúng tôi có quyền ở đây khởi đầu của bảng của chúng tôi, nơi 78 00:03:34,830 --> 00:03:40,150 đây là tên của trường và đây là kiểu dữ liệu, 79 00:03:40,150 --> 00:03:41,660 và bằng cách loại tôi có ý nghĩa như sau. 80 00:03:41,660 --> 00:03:45,510 Có một số, nó là một chuỗi, một chuỗi ngắn như một lời, 81 00:03:45,510 --> 00:03:49,340 nó là một đoạn văn, là nó dữ liệu nhị phân, giống như một hình ảnh? 82 00:03:49,340 --> 00:03:51,980 Và chúng ta hãy chỉ trêu chọc này ngoài một lát. 83 00:03:51,980 --> 00:03:57,575 Vì vậy, tên, số lượng, chuỗi, phần lớn các text-- 84 00:03:57,575 --> 00:03:58,450 Đung [IM LẶNG] 85 00:03:58,450 --> 00:03:59,616 DAVID Malan: Vâng, vì vậy chuỗi. 86 00:03:59,616 --> 00:04:04,744 Và trong bối cảnh cơ sở dữ liệu, chúng tôi sẽ thường gọi trường char này. 87 00:04:04,744 --> 00:04:07,660 Tôi sẽ chỉ nói char bây giờ nhưng chúng tôi sẽ tinh chỉnh này trong một thời điểm. 88 00:04:07,660 --> 00:04:09,180 lĩnh vực nhân vật. 89 00:04:09,180 --> 00:04:11,365 Họ có thể là như vậy. 90 00:04:11,365 --> 00:04:11,865 Giới tính? 91 00:04:11,865 --> 00:04:16,230 92 00:04:16,230 --> 00:04:18,310 >> Nam hay nữ, vì vậy nó có thể là một lĩnh vực char. 93 00:04:18,310 --> 00:04:21,380 Nó có thể là một trong hai báo giá, unquote "Nam" và báo giá, unquote "nữ" 94 00:04:21,380 --> 00:04:23,650 hoặc nó có thể là m hay f. 95 00:04:23,650 --> 00:04:26,540 Nếu bạn muốn được mở rộng hơn, bạn có thể cần một giá trị thứ ba 96 00:04:26,540 --> 00:04:28,640 hoặc một số loại trường khác hoàn toàn. 97 00:04:28,640 --> 00:04:31,350 Và như vậy bạn có thể sử dụng đúng sai. 98 00:04:31,350 --> 00:04:35,036 Các lĩnh vực có thể được gọi là nam, và sau đó bạn có thể nói đúng hay sai. 99 00:04:35,036 --> 00:04:38,160 Nhưng điều đó không nhất thiết phải nắm bắt tất cả các thông tin mà bạn có thể muốn. 100 00:04:38,160 --> 00:04:41,118 >> Vì vậy, nó quay ra có loại khác các lĩnh vực mà có thể là hữu ích ở đây 101 00:04:41,118 --> 00:04:46,040 trong một cơ sở dữ liệu điển hình, được gọi là một enum, mà nó là một lĩnh vực nhân vật, 102 00:04:46,040 --> 00:04:50,480 nhưng bạn, các nhà thiết kế, có tới liệt kê các giá trị có thể, 103 00:04:50,480 --> 00:04:54,630 như báo giá, unquote "nam", báo giá, unquote "nữ" và vv. 104 00:04:54,630 --> 00:04:57,620 Vì vậy, bất cứ điều gì giá trị là trong cơ sở dữ liệu của bạn, 105 00:04:57,620 --> 00:05:00,670 thực sự là dựa trên ký tự, nhưng nó có thể là một trong những giá trị. 106 00:05:00,670 --> 00:05:03,520 Chúng tôi có thể sẽ không muốn một enum cho tên hoặc tên cuối cùng. 107 00:05:03,520 --> 00:05:05,630 Nếu không chúng ta sẽ có để liệt kê, như tên gọi 108 00:05:05,630 --> 00:05:09,570 xuất phát từ, nghĩa là mỗi Tên đầu tiên có thể và cuối cùng tên. 109 00:05:09,570 --> 00:05:13,960 >> OK, vậy ID gì cần một ID được? 110 00:05:13,960 --> 00:05:15,200 Vâng, như vậy có lẽ một số. 111 00:05:15,200 --> 00:05:17,870 Vì vậy, hãy gắn bó với mà bây giờ, số lượng. 112 00:05:17,870 --> 00:05:22,010 Và theo số, số là một chút quá rộng bây giờ. 113 00:05:22,010 --> 00:05:23,900 Để kết thúc thứ hai ngày, tôi cảm thấy như chúng tôi 114 00:05:23,900 --> 00:05:25,280 nên có một chút chính xác hơn. 115 00:05:25,280 --> 00:05:29,280 Số có thể có nghĩa như thế, nó có thể là một cái gì đó giống như 1,236. 116 00:05:29,280 --> 00:05:31,500 Và đó có lẽ không những gì chúng tôi có nghĩa là bằng một ID. 117 00:05:31,500 --> 00:05:34,635 Chúng ta có thể có ý nghĩa gì bởi một ID? 118 00:05:34,635 --> 00:05:36,382 >> Đung [IM LẶNG] 119 00:05:36,382 --> 00:05:38,590 DAVID Malan: Oh, OK, vì vậy có lẽ nó thậm chí không một số. 120 00:05:38,590 --> 00:05:42,840 Có lẽ nó thực sự là một định danh duy nhất đó là một chuỗi, giống như một tên người dùng. 121 00:05:42,840 --> 00:05:44,580 Vì vậy, hoàn toàn, có thể được. 122 00:05:44,580 --> 00:05:46,730 Tôi nghĩ rằng ai đó có thể có nghĩa là số, mặc dù. 123 00:05:46,730 --> 00:05:48,460 Vì vậy, hãy ở lại với điều đó. 124 00:05:48,460 --> 00:05:49,320 Những loại số? 125 00:05:49,320 --> 00:05:51,960 Có gì nhiều hơn một precise-- một số nguyên. 126 00:05:51,960 --> 00:05:56,710 Vì vậy, một số như 0, 1, 2, 3, vì vậy chúng tôi sẽ gọi đây là một số nguyên. 127 00:05:56,710 --> 00:05:58,909 Và thậm chí sau đó, tôi có thể được săm soi, nó 128 00:05:58,909 --> 00:06:00,700 không thực sự chỉ là một nguyên chung bạn muốn. 129 00:06:00,700 --> 00:06:04,340 Bạn có lẽ không muốn các giá trị tiêu cực, chỉ bởi vì, nó chỉ cảm thấy kỳ lạ. 130 00:06:04,340 --> 00:06:06,070 Có thể bạn muốn các số nguyên dương. 131 00:06:06,070 --> 00:06:07,920 Vì vậy, bạn cũng có thể bày tỏ rằng trong một cơ sở dữ liệu, 132 00:06:07,920 --> 00:06:09,450 nhưng bây giờ, chúng ta sẽ nói số nguyên. 133 00:06:09,450 --> 00:06:10,650 >> E-mail? 134 00:06:10,650 --> 00:06:13,550 Đây có lẽ là một just-- gì? 135 00:06:13,550 --> 00:06:14,460 >> Đung [IM LẶNG] 136 00:06:14,460 --> 00:06:16,980 >> DAVID Malan: Đây là một email, nhưng đó là nhân vật, phải không? 137 00:06:16,980 --> 00:06:19,813 Nó chỉ có một nhân vật funky như một "tại" biểu tượng hay cái gì khác, 138 00:06:19,813 --> 00:06:21,580 nhưng nó vẫn là một lĩnh vực nhân vật. 139 00:06:21,580 --> 00:06:23,900 Và địa chỉ bưu điện? 140 00:06:23,900 --> 00:06:25,360 lĩnh vực nhân vật. 141 00:06:25,360 --> 00:06:31,400 Vì vậy, đó là một khởi đầu tốt đẹp, nhưng chúng ta hãy là chính xác hơn một chút bây giờ. 142 00:06:31,400 --> 00:06:34,540 >> Vì vậy, nó chỉ ra rằng trong một cơ sở dữ liệu, bạn thường 143 00:06:34,540 --> 00:06:39,120 có một sự lựa chọn hơn tinh tế hơn phiên bản của những điều này. 144 00:06:39,120 --> 00:06:44,330 Trong thực tế, trong một cơ sở dữ liệu SQL điển hình, SQL, hay nói chung, cơ sở dữ liệu quan hệ, 145 00:06:44,330 --> 00:06:46,680 cơ sở dữ liệu với các hàng và cột, bạn thường 146 00:06:46,680 --> 00:06:53,610 được xác định không chỉ có các loại của field-- hãy để tôi làm cho một số đây-- phòng 147 00:06:53,610 --> 00:06:56,600 nhưng cũng là chiều dài. 148 00:06:56,600 --> 00:06:59,900 >> Vì vậy, bao lâu là một cái tên đầu tiên? 149 00:06:59,900 --> 00:07:07,060 Tôi nghĩ rằng, D-A-V-I-D. OK, có nó tôi có lẽ chỉ bị xúc phạm như một nửa 150 00:07:07,060 --> 00:07:11,260 của người dân trong phòng, phải, kể từ khi tên của bạn dài hơn năm 151 00:07:11,260 --> 00:07:16,608 chữ, vì vậy năm có vẻ hơi ích kỷ và ngây thơ, do đó, một giá trị tốt hơn là những gì? 152 00:07:16,608 --> 00:07:19,320 153 00:07:19,320 --> 00:07:24,330 10, tất cả các bên phải, và tôi nghĩ rằng chúng tôi OK trong phòng. 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 Tại sao tôi không lấy Cách tiếp cận của chúng tôi trước khi 157 00:07:29,540 --> 00:07:31,081 đã nói về mảng và bộ nhớ? 158 00:07:31,081 --> 00:07:32,450 Tại sao tôi không chỉ cần nói như 1000? 159 00:07:32,450 --> 00:07:35,260 không có tên ai đi để được lâu hơn so với 1000. 160 00:07:35,260 --> 00:07:36,706 Đẩy lùi. 161 00:07:36,706 --> 00:07:38,005 >> Đung [IM LẶNG] 162 00:07:38,005 --> 00:07:40,130 DAVID Malan: Vâng, đó là lãng phí, phải, đặc biệt là 163 00:07:40,130 --> 00:07:44,630 nếu hầu hết các tên là chỉ có năm hoặc 10 hoặc 15 nhân vật, đó là rất lãng phí. 164 00:07:44,630 --> 00:07:45,810 Vì vậy, bạn biết những gì? 165 00:07:45,810 --> 00:07:48,020 Đây là loại một câu hỏi khó. 166 00:07:48,020 --> 00:07:51,721 Bây giờ, chúng tôi chắc chắn có thể phân tích tiếng Anh và tên bất kỳ ngôn ngữ khác 167 00:07:51,721 --> 00:07:54,470 và tìm ra, tốt, là những gì trung bình average-- không thực sự 168 00:07:54,470 --> 00:07:57,150 giúp đây-- những gì là tối đa là có lẽ là những gì chúng ta thực sự muốn. 169 00:07:57,150 --> 00:07:59,920 Nhưng hóa ra chúng ta thậm chí có một số lựa chọn qua các loại ở đây. 170 00:07:59,920 --> 00:08:03,400 >> Trong một cơ sở dữ liệu SQL điển hình, bạn đã một cái gì đó gọi là một lĩnh vực char 171 00:08:03,400 --> 00:08:07,505 và cũng là một varchar, V-A-R, cho lĩnh vực char biến. 172 00:08:07,505 --> 00:08:08,630 Và sự khác biệt là điều này. 173 00:08:08,630 --> 00:08:12,400 Một lĩnh vực char, bạn thiết kế, phải xác định trước 174 00:08:12,400 --> 00:08:14,900 chiều dài chính xác của lĩnh vực này. 175 00:08:14,900 --> 00:08:20,530 Vì vậy, có lẽ cái tên đầu tiên như 20 cảm thấy loại an toàn. 176 00:08:20,530 --> 00:08:23,950 Có thể phải làm một số googling để xem đó là đủ thực sự an toàn. 177 00:08:23,950 --> 00:08:26,910 Có lẽ một tên với 21 ký tự, nhưng bây giờ, giả sử 20 178 00:08:26,910 --> 00:08:27,620 là an toàn. 179 00:08:27,620 --> 00:08:30,070 >> Một lĩnh vực char sẽ bao hàm trong một cơ sở dữ liệu mà bạn 180 00:08:30,070 --> 00:08:33,289 đang sử dụng 20 và luôn 20 ký tự. 181 00:08:33,289 --> 00:08:37,419 Bây giờ nếu nó chỉ là D-A-V-I-D, 15 trong số những người chỉ là đi để có ký tự trống, 182 00:08:37,419 --> 00:08:40,450 nhưng bạn vẫn đang sử dụng tất cả 20 byte. 183 00:08:40,450 --> 00:08:46,302 Một lĩnh vực varchar, ngược lại, có nghĩa là chuỗi nên thể lên đến 20 ký tự 184 00:08:46,302 --> 00:08:48,260 nhưng nếu nó chỉ có năm, bạn sẽ chỉ sử dụng 185 00:08:48,260 --> 00:08:51,270 năm, hoặc có thể sáu cho một giá trị đặc biệt ở cuối, 186 00:08:51,270 --> 00:08:54,980 như 0 mà chúng ta đã thảo luận rằng biểu thị sự kết thúc của một nhân vật 187 00:08:54,980 --> 00:08:56,790 chuỗi trong bộ nhớ. 188 00:08:56,790 --> 00:08:59,950 >> Vì vậy, khi bạn nghĩ bạn có thể chọn char 189 00:08:59,950 --> 00:09:05,240 so với varchar, cho rằng thương mại-off? 190 00:09:05,240 --> 00:09:09,321 Char sử dụng mà rất nhiều nhân vật, varchar không sử dụng nhiều hơn so với nhiều nhân vật. 191 00:09:09,321 --> 00:09:10,196 Đung [IM LẶNG] 192 00:09:10,196 --> 00:09:13,859 193 00:09:13,859 --> 00:09:16,900 DAVID Malan: OK, khi bạn biết Chiều dài của chuỗi khá hấp dẫn 194 00:09:16,900 --> 00:09:19,316 chỉ cần sử dụng char, vì nếu bạn biết điều đó, chỉ cần đặt nó xuống. 195 00:09:19,316 --> 00:09:23,390 Và có lẽ đó là sự thật cho một zip mã, ở Mỹ, ít nhất, 02138, 196 00:09:23,390 --> 00:09:26,660 nó luôn luôn sẽ là năm nhân vật cho đến khi bạn thêm dấu gạch ngang bốn. 197 00:09:26,660 --> 00:09:29,750 Nhưng bạn có thể có một số giá trị cho mà bạn luôn biết chiều dài. 198 00:09:29,750 --> 00:09:32,310 Hoặc có thể biểu tượng của bang, như NY New York, 199 00:09:32,310 --> 00:09:33,811 và MA cho Massachusetts tại Mỹ. 200 00:09:33,811 --> 00:09:36,560 Có thể bạn có một số tình huống nơi đó là hoàn toàn hợp lý, 201 00:09:36,560 --> 00:09:39,520 mà bởi logic rằng, tại sao chúng tôi thậm chí overthinking này? 202 00:09:39,520 --> 00:09:41,800 Tại sao chúng ta không sử dụng varchar và sau đó chúng tôi sẽ chỉ 203 00:09:41,800 --> 00:09:46,730 luôn luôn sử dụng hai nhân vật nào, hay luôn luôn sử dụng năm nhân vật nào? 204 00:09:46,730 --> 00:09:50,300 Tại sao không chỉ tiết kiệm cho varchar tất cả mọi thứ, bởi logic? 205 00:09:50,300 --> 00:09:51,677 Có phải là một nắm bắt. 206 00:09:51,677 --> 00:09:52,552 Đung [IM LẶNG] 207 00:09:52,552 --> 00:09:54,952 208 00:09:54,952 --> 00:09:56,660 DAVID Malan: Có thể viết một cái gì đó sai. 209 00:09:56,660 --> 00:09:58,090 Vì vậy, đó là sự thật. 210 00:09:58,090 --> 00:10:01,030 Nhưng thậm chí sau đó, họ không thể sử dụng nhiều bộ nhớ hơn tôi phân bổ. 211 00:10:01,030 --> 00:10:03,340 Tôi vẫn còn có thức nói trên chiều dài, 212 00:10:03,340 --> 00:10:06,780 vì vậy họ không thể vô tình làm cho mà sai lầm, nhưng một ý nghĩ tốt. 213 00:10:06,780 --> 00:10:10,510 Đó là tinh tế hơn, nhưng nó rất liên quan để thảo luận của chúng tôi, trên thực tế, các mảng 214 00:10:10,510 --> 00:10:12,390 và danh sách liên kết trước đó. 215 00:10:12,390 --> 00:10:16,290 >> Nó chỉ ra rằng một cơ sở dữ liệu, nếu nó biết rằng tất cả các giá trị là 216 00:10:16,290 --> 00:10:19,250 có chiều dài cố định, ngay cả khi một số những giá trị này là trống, 217 00:10:19,250 --> 00:10:22,484 loại thẩm mỹ trống, D-A-V-I-D và sau đó 15 chỗ trống, 218 00:10:22,484 --> 00:10:24,650 nó chỉ ra rằng nếu mỗi trường là chiều dài tương tự, 219 00:10:24,650 --> 00:10:28,670 giống như một mảng có tất cả các công cụ của nó trở lại trở lại để trở lại để trở lại để 220 00:10:28,670 --> 00:10:33,480 bạn có thể chỉ cần cộng thêm 1 để có được các tiếp theo giá trị, cùng ý tưởng trong một bảng cơ sở dữ liệu. 221 00:10:33,480 --> 00:10:37,550 Nếu tất cả các nhân vật của bạn chuỗi có chiều dài tương tự, 222 00:10:37,550 --> 00:10:39,390 Bạn có những gì được gọi là truy cập ngẫu nhiên. 223 00:10:39,390 --> 00:10:41,850 Nếu tất cả các dây là của chiều dài 20, bạn không chỉ 224 00:10:41,850 --> 00:10:45,230 làm cộng với 1 bạn chỉ cần làm cộng 20, cộng với 20, cộng với 20, cộng với 20, 225 00:10:45,230 --> 00:10:48,775 và bạn có thể rất nhanh chóng di chuyển qua hoặc tìm kiếm thông qua tất cả các dữ liệu của bạn. 226 00:10:48,775 --> 00:10:54,420 >> Một lĩnh vực char biến, ngược lại, không phải lúc nào cũng có 20 ký tự. 227 00:10:54,420 --> 00:10:58,000 Nó có thể có 20 và sau đó 15 rồi 19 rồi 10, 228 00:10:58,000 --> 00:11:00,720 và vì vậy nếu bạn muốn tìm kiếm thông qua nó, bạn không thể chỉ một cách mù quáng 229 00:11:00,720 --> 00:11:03,050 thêm 20 byte để có được một kế tiếp. 230 00:11:03,050 --> 00:11:07,280 Bạn có nghĩa là phải tìm kiếm thông qua vì các cạnh của cấu trúc dữ liệu, 231 00:11:07,280 --> 00:11:08,340 nếu bạn sẽ, là rách rưới. 232 00:11:08,340 --> 00:11:11,480 Nó loại đi vào và ra dựa vào độ dài thực tế của chuỗi. 233 00:11:11,480 --> 00:11:14,460 Vì vậy, khi bạn biết chiều dài, như Kareem nói, sử dụng một trường char, 234 00:11:14,460 --> 00:11:16,460 bởi vì bạn đạt được mà hiệu quả của việc 235 00:11:16,460 --> 00:11:19,170 có thể tìm kiếm thông qua nó nhanh hơn khi bạn đang tìm kiếm dữ liệu, 236 00:11:19,170 --> 00:11:20,550 nếu không sử dụng một biến. 237 00:11:20,550 --> 00:11:24,450 >> Thật không may, tôi không có câu trả lời tốt để tên nên bao lâu, 238 00:11:24,450 --> 00:11:26,360 nhưng đối với một cái gì đó như một tên, tôi sẽ nói 239 00:11:26,360 --> 00:11:28,470 một varchar là phổ biến bởi vì nó không phải đi 240 00:11:28,470 --> 00:11:30,430 có chiều dài cố định cho tất cả mọi người. 241 00:11:30,430 --> 00:11:33,650 20 tuổi, tôi không biết, 20 cảm thấy một chút chặt chẽ. 242 00:11:33,650 --> 00:11:36,460 Hãy chỉ nói rằng 50, 50. 243 00:11:36,460 --> 00:11:39,210 Nó không thực sự chi phí bạn rằng nhiều hơn nữa để nói 50 thay vì 40, 244 00:11:39,210 --> 00:11:41,260 nhưng tại một số điểm, bạn cần để thực hiện một cuộc gọi bản án. 245 00:11:41,260 --> 00:11:43,090 >> Rất phổ biến, thẳng thắn, cho [? lịch sử?] 246 00:11:43,090 --> 00:11:47,670 lý do, mặc dù nó là quá nhiều, là để nói 255, bởi vì một số thời gian trước đây, 247 00:11:47,670 --> 00:11:51,440 trong các hệ thống cơ sở dữ liệu phổ biến, như MySQL, một công cụ mã nguồn mở miễn phí 248 00:11:51,440 --> 00:11:53,790 mà rất nhiều công ty như ngay cả Facebook sử dụng, 249 00:11:53,790 --> 00:11:56,654 đây là mặc định tối đa vì vậy mọi người chỉ cần đi với nó. 250 00:11:56,654 --> 00:11:59,070 Vì vậy, không hợp lý, nhưng chúng tôi sẽ sử dụng trực giác nhiều hơn một chút 251 00:11:59,070 --> 00:12:02,970 và nói, chắc chắn 50, đó là có thể là một chút quá mức. 252 00:12:02,970 --> 00:12:05,720 >> Giới tính, tôi làm như enum, và vì vậy chúng tôi có thể do 253 00:12:05,720 --> 00:12:08,760 liệt kê là nam hay nữ, hoặc có thể hiệu quả hơn, 254 00:12:08,760 --> 00:12:13,420 m hoặc f hoặc một số ký hiệu khác, nhưng enum cảm thấy như một sự lựa chọn tốt ở đó. 255 00:12:13,420 --> 00:12:16,740 Để được rõ ràng, giới tính chỉ có thể là một varchar, 256 00:12:16,740 --> 00:12:19,090 và chúng ta có thể chỉ cần tất cả đồng ý mọi người là tốt đẹp, 257 00:12:19,090 --> 00:12:21,010 luôn luôn đặt các giá trị như nhau ở đó. 258 00:12:21,010 --> 00:12:22,720 Nam hay nữ hay có điều gì. 259 00:12:22,720 --> 00:12:27,800 >> Nhưng vấn đề đó, là chúng ta có thể làm cho một sai lầm, như [IM LẶNG] đề xuất 260 00:12:27,800 --> 00:12:29,140 trước đó trong một bối cảnh khác nhau. 261 00:12:29,140 --> 00:12:32,780 Nếu chúng ta thực hiện một sai lầm, chúng ta có thể có được giá trị không chính xác trong cơ sở dữ liệu của chúng tôi. 262 00:12:32,780 --> 00:12:36,320 Vì vậy, những gì là tốt đẹp về cơ sở dữ liệu như Oracle và MySQL và những người khác, 263 00:12:36,320 --> 00:12:39,280 là bạn có cuối cùng này lớp phòng thủ, nơi 264 00:12:39,280 --> 00:12:43,010 quản trị DBA, cơ sở dữ liệu của bạn, bất cứ ai được thiết kế bảng này như chúng tôi 265 00:12:43,010 --> 00:12:46,440 là bằng lời nói, có thể đặt vào vị trí một enum mà 266 00:12:46,440 --> 00:12:51,250 bảo vệ chống lại điều đó bằng cách xác định nam, nữ, và vì vậy không ai 267 00:12:51,250 --> 00:12:54,230 khác không có lập trình viên có thể vô tình chèn thêm bất kỳ giá trị khác. 268 00:12:54,230 --> 00:12:55,480 Vì vậy, đây sẽ là một điều tốt. 269 00:12:55,480 --> 00:12:56,660 Đây là một tính năng. 270 00:12:56,660 --> 00:13:00,760 >> Vì vậy, một ID, giả sử một ID số, ​​nó có lẽ nên được một số nguyên dương. 271 00:13:00,760 --> 00:13:04,380 Và đôi khi chúng ta không có cơ hội để thảo luận về chiều dài. 272 00:13:04,380 --> 00:13:06,830 Bạn sẽ không thường chỉ định một số ở đây, 273 00:13:06,830 --> 00:13:11,310 thay vào đó bạn sẽ xác định đây là một int, hoặc một int lớn, 274 00:13:11,310 --> 00:13:12,980 như chúng thường được gọi là. 275 00:13:12,980 --> 00:13:18,840 Nhưng thông thường, một số nguyên sẽ được, hãy nói, 4 byte. 276 00:13:18,840 --> 00:13:23,694 Và nếu đó là 4 byte, đó là bao nhiêu bit? 277 00:13:23,694 --> 00:13:24,630 >> Đung [IM LẶNG] 278 00:13:24,630 --> 00:13:26,610 >> DAVID Malan: 32 bit. 279 00:13:26,610 --> 00:13:30,270 Vì vậy, có bao nhiêu người sử dụng chúng ta có thể có trong cơ sở dữ liệu của chúng tôi, nếu tất cả họ đều có một ID 280 00:13:30,270 --> 00:13:33,320 và ID này phải là duy nhất? 281 00:13:33,320 --> 00:13:36,780 32 bit có nghĩa là chúng ta có mô hình một, hai, ba, bốn, five-- 282 00:13:36,780 --> 00:13:41,000 vậy làm thế nào nhiều mô hình khác nhau của số không và những người bạn có thể có nếu có 32? 283 00:13:41,000 --> 00:13:43,235 Đó là những điều tương tự như hỏi những gì hai với 32? 284 00:13:43,235 --> 00:13:46,472 285 00:13:46,472 --> 00:13:48,430 Đó là một số lượng lớn mà Tôi có thể không hoàn toàn có được quyền, 286 00:13:48,430 --> 00:13:50,270 nhưng tôi biết đó là khoảng 4 tỷ USD. 287 00:13:50,270 --> 00:13:53,970 Vì vậy, điều này có nghĩa bảng cơ sở dữ liệu của bạn có thể có bốn tỷ người sử dụng và đó là nó. 288 00:13:53,970 --> 00:13:56,410 >> Vì vậy, đây là một thú vị thiết kế ý nghĩa. 289 00:13:56,410 --> 00:14:00,840 Một số phong nha của các công ty đã quyết định, có lẽ không quá nhiều 290 00:14:00,840 --> 00:14:04,860 cho bảng người dùng của họ, bởi vì có 4 tỷ người sử dụng là một vấn đề hiếm. 291 00:14:04,860 --> 00:14:08,410 Đây là loại một Facebook-phong cách vấn đề, không phải là một vấn đề công ty điển hình. 292 00:14:08,410 --> 00:14:12,670 Nhưng có lẽ nếu bạn có các bản ghi giao dịch hoặc một số loại dữ liệu liên tục 293 00:14:12,670 --> 00:14:15,610 được ghi vào cơ sở dữ liệu của bạn đó hoàn toàn có thể có tỷ 294 00:14:15,610 --> 00:14:18,900 và hàng tỷ hàng, và bạn sử dụng một số nguyên cho nó, 295 00:14:18,900 --> 00:14:22,750 điều gì sẽ xảy ra sớm hơn bạn có thể chèo số 4 tỷ 296 00:14:22,750 --> 00:14:26,210 và sau đó bạn cố gắng để chèn 4000000000 và 1, vậy để nói chuyện? 297 00:14:26,210 --> 00:14:29,610 Tôi đơn giản hóa các con số một chút. 298 00:14:29,610 --> 00:14:33,740 >> Bạn có thể cắt lại, tôi có nghĩa là bạn phải xử lý nó bằng cách nào đó. 299 00:14:33,740 --> 00:14:37,910 Và những gì một máy tính thường sẽ làm gì, nghĩ về nó và thậm chí từ sáng nay, 300 00:14:37,910 --> 00:14:42,430 nếu bạn có một giá trị 4-bit như 1, 1, 1, 1, trong đó, 301 00:14:42,430 --> 00:14:44,920 chỉ để buộc buổi sáng cùng nhau đến buổi chiều, những gì 302 00:14:44,920 --> 00:14:48,369 không số này đại diện trong hệ nhị phân? 303 00:14:48,369 --> 00:14:49,410 OK, chúng tôi sẽ làm cho nó dễ dàng hơn. 304 00:14:49,410 --> 00:14:53,310 Những gì số này đại diện trong hệ nhị phân? 305 00:14:53,310 --> 00:14:56,794 OK, chúng tôi sẽ làm cho nó dễ dàng hơn, những gì điều này không đại diện trong hệ nhị phân? 306 00:14:56,794 --> 00:14:57,460 Đung Ba. 307 00:14:57,460 --> 00:14:59,670 DAVID Malan: Ba vì chúng tôi có những column-- 308 00:14:59,670 --> 00:15:00,450 [CƯỜI] 309 00:15:00,450 --> 00:15:01,350 Whew! 310 00:15:01,350 --> 00:15:03,980 Chúng tôi đã có những cột và cột twos. 311 00:15:03,980 --> 00:15:07,250 Vì vậy, giả sử rằng, trên thực tế, chúng tôi [? nội đồng?] không 32 bit, 312 00:15:07,250 --> 00:15:13,440 nhưng nó là hai bit, chúng ta có thể đếm từ người sử dụng số 0, 1, 2, 3, 313 00:15:13,440 --> 00:15:18,040 và sau đó chúng tôi loại lại cho người sử dụng 00 lần nữa. 314 00:15:18,040 --> 00:15:19,739 Vì vậy, đây là những gì thường xảy ra. 315 00:15:19,739 --> 00:15:22,780 Nếu bạn đã từng nghe expression-- có thể có không, nhưng nếu bạn có-- 316 00:15:22,780 --> 00:15:26,500 tràn số nguyên, nơi bạn giữ lật tất cả các bit của bạn 317 00:15:26,500 --> 00:15:29,640 là giá trị lớn nhất có thể, và sau đó bạn đang trên bit, 318 00:15:29,640 --> 00:15:30,850 những gì thường sẽ xảy ra? 319 00:15:30,850 --> 00:15:32,280 Tại sao tôi nói 00? 320 00:15:32,280 --> 00:15:33,220 Vâng, đây là ba. 321 00:15:33,220 --> 00:15:34,230 Làm thế nào để đại diện cho 4? 322 00:15:34,230 --> 00:15:36,890 323 00:15:36,890 --> 00:15:38,915 Làm thế nào để đại diện cho cho số 4 trong hệ nhị phân? 324 00:15:38,915 --> 00:15:39,790 Đung [IM LẶNG] 325 00:15:39,790 --> 00:15:41,780 DAVID Malan: cùng-- yeah, không nói 100 cho mỗi gia nhập, 326 00:15:41,780 --> 00:15:44,190 bởi vì nó có sai ý nghĩa, nhưng 1-0-0. 327 00:15:44,190 --> 00:15:48,920 Vì vậy mà số 1-0-0 thực sự là chính xác, nhưng nếu bạn chỉ có hai bit, 328 00:15:48,920 --> 00:15:50,820 có những gì bạn thực sự thực hiện? 329 00:15:50,820 --> 00:15:53,219 Bạn đã cán qua đến 00. 330 00:15:53,219 --> 00:15:54,760 Và quả thực, đó là những gì sẽ xảy ra. 331 00:15:54,760 --> 00:15:56,884 Trên thực tế, bạn có thể nghĩ về điều này thân mật hơn. 332 00:15:56,884 --> 00:15:59,350 Nếu bạn nhớ lại những gì, 16 năm trước, thế giới 333 00:15:59,350 --> 00:16:03,380 ra phải kết thúc khi sự cố Y2K đã xảy ra. 334 00:16:03,380 --> 00:16:04,330 Tại sao vậy? 335 00:16:04,330 --> 00:16:08,170 Vâng hầu hết máy tính, cho các quyết định hợp lý, 336 00:16:08,170 --> 00:16:15,320 được lưu trữ số như năm 1975 hoặc năm 1999 337 00:16:15,320 --> 00:16:19,010 bằng cách chỉ sử dụng hai chữ số trong bộ nhớ của máy tính. 338 00:16:19,010 --> 00:16:21,950 Vì vậy, tất nhiên, những gì xảy ra khi bạn nhận được vào năm 2000, 339 00:16:21,950 --> 00:16:25,790 bạn đi đến này, hay đúng hơn, yeah. 340 00:16:25,790 --> 00:16:30,120 Vì vậy, bạn hãy vào năm 2000, nhưng nếu bạn chỉ sử dụng hai chữ số có vẻ 341 00:16:30,120 --> 00:16:32,660 như năm 00 và Vậy là bạn đã cán qua. 342 00:16:32,660 --> 00:16:36,820 Và đây là lý do tại sao rất nhiều hệ thống cần phải được cập nhật vào thời điểm đó. 343 00:16:36,820 --> 00:16:42,500 >> Vì vậy, với những gì đã nói, các công ty như Facebook chạy lên chống lại điều này. 344 00:16:42,500 --> 00:16:46,147 Vì vậy, cách duy nhất để xử lý tình, thẳng thắn, là dự đoán nó. 345 00:16:46,147 --> 00:16:47,980 Hoặc cách sạch để xử lý tình trạng này 346 00:16:47,980 --> 00:16:50,330 là dự đoán nó, do đó bạn không phải thực hiện thay đổi sau đó. 347 00:16:50,330 --> 00:16:51,970 Vì vậy, thay vì 8 byte, bạn biết những gì? 348 00:16:51,970 --> 00:16:54,261 Tôi sẽ có tư tưởng tiến ở đây, mặc dù nó 349 00:16:54,261 --> 00:16:56,760 một chút lạc quan rằng chúng ta sẽ có 4 tỷ 350 00:16:56,760 --> 00:16:58,850 và 1 người dùng trên trang web của chúng tôi. 351 00:16:58,850 --> 00:17:01,790 Nhưng chúng ta hãy chỉ sử dụng 8 byte, hoặc 64 bit, mà nói chung sẽ là 352 00:17:01,790 --> 00:17:05,640 được gọi là một số nguyên lớn, rất kỹ thuật. 353 00:17:05,640 --> 00:17:10,280 Và điều đó chỉ có nghĩa là bạn có thể có thậm chí nhiều hơn chữ số trong số của bạn. 354 00:17:10,280 --> 00:17:12,599 Nhưng đây là một quan trọng quyết định thiết kế, 355 00:17:12,599 --> 00:17:16,400 bởi vì nếu bạn chọn một con số có quá ít bit biểu cảm 356 00:17:16,400 --> 00:17:19,089 bạn thực sự có thể tạo ra một lỗi trong phần mềm của bạn. 357 00:17:19,089 --> 00:17:21,750 >> Được rồi, vì vậy hãy quấn lên với email và địa chỉ bưu điện. 358 00:17:21,750 --> 00:17:26,369 Vì vậy, email, làm thế nào nên dài địa chỉ email được? 359 00:17:26,369 --> 00:17:26,869 50. 360 00:17:26,869 --> 00:17:29,220 Tôi thực sự không có ý tưởng, nhưng nó có lẽ là một cái gì đó như thế, 361 00:17:29,220 --> 00:17:32,261 bởi vì nếu không có ai sẽ viết cho bạn nếu nó được quá dài, vì vậy 50, 362 00:17:32,261 --> 00:17:33,360 chúng ta hãy đi với nó cho bây giờ. 363 00:17:33,360 --> 00:17:35,770 Địa chỉ bưu điện, bao lâu nên có được? 364 00:17:35,770 --> 00:17:38,325 365 00:17:38,325 --> 00:17:39,200 Đung [IM LẶNG] 366 00:17:39,200 --> 00:17:41,900 367 00:17:41,900 --> 00:17:43,890 >> DAVID Malan: Nó không phải chỉ một mã vùng, mặc dù. 368 00:17:43,890 --> 00:17:45,720 Địa chỉ bưu điện, tôi nghe. 369 00:17:45,720 --> 00:17:50,720 Vì vậy, điều này giống như 1 Brattle Square, dấu phẩy, Cambridge Mass., dấu phẩy, 02138. 370 00:17:50,720 --> 00:17:53,860 Và trong thực tế, tôi chỉ cần kéo lên một bảng nhỏ ở đây. 371 00:17:53,860 --> 00:17:56,510 Điều này cảm thấy như nó một cơ hội bị bỏ lỡ. 372 00:17:56,510 --> 00:18:01,480 Nếu chúng ta có 1 Brattle Square, dấu phẩy, Cambridge MA 02138, 373 00:18:01,480 --> 00:18:04,510 Tôi cảm thấy như chúng tôi có thể làm tốt hơn với địa chỉ bưu chính chỉ. 374 00:18:04,510 --> 00:18:07,100 Tại sao chúng ta không phát nổ này một chút? 375 00:18:07,100 --> 00:18:08,030 Tôi nhận được gì vào? 376 00:18:08,030 --> 00:18:10,970 Những gì chúng ta nên thay vì có cho các hàng của chúng tôi ở đây, có lẽ? 377 00:18:10,970 --> 00:18:12,260 >> Đung [IM LẶNG] 378 00:18:12,260 --> 00:18:17,579 >> DAVID Malan: Vâng, chúng ta hãy gọi nó street_number, 379 00:18:17,579 --> 00:18:20,620 và một gạch dưới chỉ là một phổ biến cách để có những gì trông giống như một không gian, 380 00:18:20,620 --> 00:18:22,360 nhưng nó không, thực sự. 381 00:18:22,360 --> 00:18:26,240 Street, và sau đó city-- xin lỗi? 382 00:18:26,240 --> 00:18:28,440 >> Đung [IM LẶNG] 383 00:18:28,440 --> 00:18:29,690 DAVID Malan: Chúng ta có thể làm điều đó. 384 00:18:29,690 --> 00:18:30,702 Dòng một, hai dòng. 385 00:18:30,702 --> 00:18:32,410 Tại sao chúng ta không sẽ giữ nó đơn giản cho bây giờ, 386 00:18:32,410 --> 00:18:34,840 nhưng điều đó hoàn toàn một quyết định chấp nhận được. 387 00:18:34,840 --> 00:18:38,180 Và sau đó nhà nước, và sau đó chúng ta hãy là một chút Mỹ làm trung tâm cho bây giờ 388 00:18:38,180 --> 00:18:42,040 và chỉ cần làm mã zip, chỉ vì nó sẽ dẫn đến một sai lầm thú vị 389 00:18:42,040 --> 00:18:43,090 hoặc vấn đề ở đây. 390 00:18:43,090 --> 00:18:44,655 Vì vậy, cho rằng đó là tại địa chỉ của chúng tôi. 391 00:18:44,655 --> 00:18:47,280 Đó là một chút khó chịu hơn chúng tôi có tất cả các lĩnh vực này nhiều hơn, 392 00:18:47,280 --> 00:18:49,200 nhưng bây giờ chúng tôi có thể tag điều tốt hơn một chút. 393 00:18:49,200 --> 00:18:53,210 >> số vì vậy bây giờ đường phố có lẽ không phải là một char, nên nó? 394 00:18:53,210 --> 00:18:54,835 nó nên được những gì? 395 00:18:54,835 --> 00:18:55,710 Đung [IM LẶNG] 396 00:18:55,710 --> 00:18:57,835 DAVID Malan: Có thể, một số như một số nguyên lần nữa? 397 00:18:57,835 --> 00:19:00,170 Một số nguyên lớn? 398 00:19:00,170 --> 00:19:02,170 Bạn có lẽ không sống 4 tỷ Main Street 399 00:19:02,170 --> 00:19:03,490 hoặc bất cứ điều gì điên rồ như thế. 400 00:19:03,490 --> 00:19:06,850 Vì vậy, số nguyên có lẽ là tốt, nhưng có ai 401 00:19:06,850 --> 00:19:13,880 từng sống tại một địa chỉ như 1A Brattle Square, hoặc 1 và 1/2? 402 00:19:13,880 --> 00:19:17,030 Những điều này tồn tại, không may, thậm chí nếu bạn đã không sống ở đó, 403 00:19:17,030 --> 00:19:21,240 có những bất thường như chung cư 1A, 1B, 1C. 404 00:19:21,240 --> 00:19:24,260 Vì vậy, bạn biết những gì, có lẽ chúng tôi không nên đi với số nguyên, 405 00:19:24,260 --> 00:19:27,440 nếu không chúng ta sẽ để mất một số bán hàng. 406 00:19:27,440 --> 00:19:29,920 >> lĩnh vực Char, có lẽ? 407 00:19:29,920 --> 00:19:30,870 Tôi không biết bao lâu. 408 00:19:30,870 --> 00:19:33,370 Đây có thể sẽ không được mà dài, do đó 10 hoặc một cái gì đó. 409 00:19:33,370 --> 00:19:34,950 Không ai sẽ viết một số dài hơn, có lẽ. 410 00:19:34,950 --> 00:19:37,070 Nhưng một lần nữa, chúng ta nên có lẽ đưa ra suy nghĩ nhiều hơn đến đó. 411 00:19:37,070 --> 00:19:39,900 Có lẽ google, làm một số nghiên cứu, nhưng chúng tôi sẽ đi với quyết tâm của chúng tôi bây giờ. 412 00:19:39,900 --> 00:19:44,565 Streets, char, 50, tôi không biết. 413 00:19:44,565 --> 00:19:46,940 Tại một số điểm, không ai đi để viết nó vào một phong bì, 414 00:19:46,940 --> 00:19:49,350 quá, do đó, có lẽ một số cận trên đó. 415 00:19:49,350 --> 00:19:54,200 Thành phố, cùng, chắc chắn, vì vậy char 50. 416 00:19:54,200 --> 00:19:59,120 >> Nhà nước, có thể là do Mỹ làm trung tâm cho bây giờ. 417 00:19:59,120 --> 00:20:01,850 Vì vậy, nó có thể là một danh sách, vì vậy loại của một sự tham khảo, nhà nước. 418 00:20:01,850 --> 00:20:04,000 Nó có thể giống như hai nhân vật. 419 00:20:04,000 --> 00:20:06,140 Vì vậy, trên thực tế, có lẽ, tôi cứ nói char. 420 00:20:06,140 --> 00:20:09,420 Tôi có lẽ có nghĩa là varchar, chỉ cho một số hiệu quả, 421 00:20:09,420 --> 00:20:12,240 nhưng chúng tôi sẽ trở lại mà quyết định trong một thời điểm. 422 00:20:12,240 --> 00:20:16,150 Có thể là một char có chiều dài 2 đối với nhà nước. 423 00:20:16,150 --> 00:20:20,670 Nếu ở Mỹ họ có, như MA, Massachusetts, New York, New York, New Jersey, New 424 00:20:20,670 --> 00:20:22,100 Jersey, và vv. 425 00:20:22,100 --> 00:20:23,630 Vì vậy, nó có thể được cố định ở đó. 426 00:20:23,630 --> 00:20:25,900 DC Washington DC. 427 00:20:25,900 --> 00:20:29,915 >> Nhưng tôi nghĩ, Olivier, bạn đề xuất cách tiếp cận khác. 428 00:20:29,915 --> 00:20:30,790 Đung [IM LẶNG] 429 00:20:30,790 --> 00:20:33,670 DAVID Malan: Vâng, đó là một ít gây phiền nhiễu để gõ vào, 430 00:20:33,670 --> 00:20:37,890 nhưng một enum có thể có ý nghĩa hơn, bởi vì theo cách này, ít nhất là ở Mỹ, 431 00:20:37,890 --> 00:20:41,320 bạn có thể liệt kê, nếu tediously, nhưng bạn làm điều đó chỉ một lần trong cơ sở dữ liệu của bạn 432 00:20:41,320 --> 00:20:47,480 và không bao giờ phải suy nghĩ về nó, tất cả 50 mã hai ký tự. 433 00:20:47,480 --> 00:20:48,660 Vì vậy, tôi muốn enum. 434 00:20:48,660 --> 00:20:51,720 Hãy gắn bó với đó, bởi vì nó loại thực thi chặt chẽ hơn. 435 00:20:51,720 --> 00:20:53,620 Và sau đó zip code? 436 00:20:53,620 --> 00:20:55,306 Tôi nghĩ rằng Andrew đã có một suy nghĩ về điều đó 437 00:20:55,306 --> 00:20:56,180 Đung [IM LẶNG] 438 00:20:56,180 --> 00:20:57,240 DAVID Malan: Vâng, năm hoặc chín. 439 00:20:57,240 --> 00:20:58,323 Hãy chỉ giữ cho nó đơn giản. 440 00:20:58,323 --> 00:20:59,380 Chỉ cần làm năm cho bây giờ. 441 00:20:59,380 --> 00:21:03,070 Nhưng có lẽ tôi có thể chỉ làm một số nguyên, phải không? 442 00:21:03,070 --> 00:21:08,750 Tôi có thể, nhưng bạn biết không, tôi đã thực hiện sai lầm này một lần, trong một ý nghĩa. 443 00:21:08,750 --> 00:21:13,110 Nhiều năm trước, tôi đã di cư từ Microsoft Outlook sang Gmail 444 00:21:13,110 --> 00:21:18,640 và Outlook có một cách để xuất khẩu tất cả các địa chỉ liên lạc của bạn như là một tập tin Excel, 445 00:21:18,640 --> 00:21:21,280 một tập tin CSV, dấu phẩy tách giá trị tập tin. 446 00:21:21,280 --> 00:21:23,950 Và tôi đã sai lầm, tôi nghĩ, trong click đúp vào nó, 447 00:21:23,950 --> 00:21:27,380 một khi tôi đã tải về xuất khẩu, chắc chắn rằng nó trông như tôi mong đợi. 448 00:21:27,380 --> 00:21:31,320 Tôi phải nhấn Save hoặc để tự động lưu lại đá hoặc một cái gì đó. 449 00:21:31,320 --> 00:21:35,100 Bởi vì khi tôi sau đó nhập khẩu nó vào Gmail, tất cả làm việc. 450 00:21:35,100 --> 00:21:39,910 Nhưng trong nhiều năm, cho đến ngày nay, và Tôi đã làm năm này, 10 năm trước đây, 451 00:21:39,910 --> 00:21:44,380 Tôi vẫn đang tìm kiếm bạn bè những người có địa chỉ mà trông như thế này. 452 00:21:44,380 --> 00:21:45,700 Tại sao? 453 00:21:45,700 --> 00:21:47,900 >> Đung [IM LẶNG] 454 00:21:47,900 --> 00:21:50,650 >> DAVID Malan: Phải mất 0, tốt, khá, nó 455 00:21:50,650 --> 00:21:53,810 mất mã toàn bộ zip như một số, và do đó nó 456 00:21:53,810 --> 00:21:56,590 một hàng đầu 0 có nghĩa là nó không có ý nghĩa. 457 00:21:56,590 --> 00:21:59,470 Và do đó, năm 2138 có vẻ là zip code của tôi. 458 00:21:59,470 --> 00:22:07,100 Và điều này là, thẳng thắn, một khó chịu Excel Tính năng đó tôi nghĩ rằng theo mặc định, 459 00:22:07,100 --> 00:22:10,980 thậm chí nếu nó có nghĩa là chỉ được văn bản, Microsoft Excel 460 00:22:10,980 --> 00:22:13,780 quyết định, hãy để tôi là hữu ích, và oh, tôi thấy chỉ số. 461 00:22:13,780 --> 00:22:15,290 Hãy đối xử với chúng như những con số. 462 00:22:15,290 --> 00:22:16,790 Và nó cắt các số không hàng đầu. 463 00:22:16,790 --> 00:22:19,165 >> Tôi thề với Chúa, mỗi cặp vợ chồng tháng tôi tìm thấy một địa chỉ, 464 00:22:19,165 --> 00:22:22,300 và ra khỏi một loại OCD, tôi quay trở lại trong và thêm 0, mặc dù tôi không bao giờ 465 00:22:22,300 --> 00:22:23,700 gửi người thư hoặc bất cứ điều gì. 466 00:22:23,700 --> 00:22:25,510 Nhưng tôi vẫn đang tìm kiếm dấu tích còn lại của điều này. 467 00:22:25,510 --> 00:22:28,820 Vì vậy, đây là để nói, đây là một ý tưởng tốt? 468 00:22:28,820 --> 00:22:31,610 OK, không có, bởi vì bất cứ ai trong Massachusetts, trong lĩnh vực này, 469 00:22:31,610 --> 00:22:33,270 sẽ có một o dẫn họ. 470 00:22:33,270 --> 00:22:38,070 Vì vậy, chúng ta hãy đi với như char, có lẽ, năm. 471 00:22:38,070 --> 00:22:41,450 >> Và ở đây, chúng tôi nhận ra có thể sử dụng một enum và chúng tôi 472 00:22:41,450 --> 00:22:44,600 có thể liệt kê 10.000 mã zip có thể, 473 00:22:44,600 --> 00:22:48,530 nhưng mà cảm thấy như nó có thể là băng qua một dòng, như thế, lợi ích. 474 00:22:48,530 --> 00:22:51,350 Nếu bạn cần phải nhập vào đó nhiều dữ liệu vào cơ sở dữ liệu của bạn 475 00:22:51,350 --> 00:22:52,940 để bảo vệ chống lại một cái gì đó. 476 00:22:52,940 --> 00:22:57,400 Vì vậy, char nhận ra rằng bạn có thể gõ trong H-E-L-L-O là mã vùng của bạn, 477 00:22:57,400 --> 00:22:59,180 mà không phải là, rõ ràng, số. 478 00:22:59,180 --> 00:23:01,680 Vì vậy, không có cách nào, trong một cơ sở dữ liệu điển hình, 479 00:23:01,680 --> 00:23:05,561 để xác định chỉ số và chỉ dài có năm nhân vật, 480 00:23:05,561 --> 00:23:07,310 vì vậy chúng ta sẽ có để làm điều đó trong mã. 481 00:23:07,310 --> 00:23:11,100 Chúng ta sẽ làm điều đó trong PHP hay Java hay bất cứ ngôn ngữ chúng tôi 482 00:23:11,100 --> 00:23:14,230 sử dụng trên máy chủ để thực thi rằng loại hạn chế. 483 00:23:14,230 --> 00:23:14,860 >> Whoo! 484 00:23:14,860 --> 00:23:18,322 Được rồi, vì vậy bất kỳ câu hỏi chỉ được nêu ra? 485 00:23:18,322 --> 00:23:19,780 Hãy thực hiện một quyết định thiết kế. 486 00:23:19,780 --> 00:23:22,500 Nó chỉ ra rằng bạn cũng có thể lựa chọn, 487 00:23:22,500 --> 00:23:26,600 khi thiết kế một cơ sở dữ liệu SQL, hoặc database-- quan hệ điển hình 488 00:23:26,600 --> 00:23:28,790 một lần nữa, quan hệ chỉ có nghĩa là các hàng và cột, 489 00:23:28,790 --> 00:23:35,500 đó là cách bạn tổ chức data-- của bạn và nhận ra rằng điều này có nghĩa là, 490 00:23:35,500 --> 00:23:37,740 Tôi đã sai lầm trong rằng, tôi drawing-- này 491 00:23:37,740 --> 00:23:40,190 là những gì được gọi là giản đồ cho một bảng cơ sở dữ liệu. 492 00:23:40,190 --> 00:23:42,810 Điều này cũng giống như thông số kỹ thuật cho table-- 493 00:23:42,810 --> 00:23:48,040 nhưng khi nói đến thời gian để thực sự lưu trữ dữ liệu, 494 00:23:48,040 --> 00:23:52,081 và chúng tôi sẽ làm điều này chỉ bằng ví dụ ở đây. 495 00:23:52,081 --> 00:23:55,080 Tôi sẽ mở Excel, vì Excel sẽ cho tôi hàng và cột. 496 00:23:55,080 --> 00:23:58,050 Và đó là chính xác những gì Oracle và MySQL và các công cụ khác sẽ cho tôi. 497 00:23:58,050 --> 00:24:02,270 Vì vậy, tôi chỉ cần đi để sử dụng nó vì lợi ích của thảo luận. 498 00:24:02,270 --> 00:24:05,250 Hãy để tôi đi trước và mở ra một tài liệu đại diện ở đây, 499 00:24:05,250 --> 00:24:06,310 phóng to một chút. 500 00:24:06,310 --> 00:24:15,200 Vì vậy, ví dụ, tiêu đề của chúng tôi bây giờ là tên đầu tiên, tên, giới tính, ID, 501 00:24:15,200 --> 00:24:20,980 email, số đường phố, đường phố, Lỗi chính. 502 00:24:20,980 --> 00:24:25,710 Đường phố, thành phố, tiểu bang, chỉ về phù hợp trên màn hình. 503 00:24:25,710 --> 00:24:29,080 >> Vì vậy, điều này có nghĩa là khi một sử dụng đầu tiên đăng ký cho trang web của tôi, 504 00:24:29,080 --> 00:24:32,880 nó sẽ là một cái gì đó như David, Malan, m, chúng ta hãy nói 1, 505 00:24:32,880 --> 00:24:42,910 malan@harvard.edu, số đường phố sẽ giống như 1 Brattle Square, Cambridge, MA, 506 00:24:42,910 --> 00:24:44,780 02138, và sau đó vv. 507 00:24:44,780 --> 00:24:48,290 Vì vậy, khi tôi nói rằng một cơ sở dữ liệu quan hệ hoặc cơ sở dữ liệu SQL là hàng và cột, 508 00:24:48,290 --> 00:24:49,350 Tôi có nghĩa là đây. 509 00:24:49,350 --> 00:24:51,900 Đó là dữ liệu thực tế được lưu trữ trong các hàng và cột. 510 00:24:51,900 --> 00:24:53,950 Đây chỉ là một sự trùng hợp, mà chúng ta đã nói, 511 00:24:53,950 --> 00:24:56,033 và tôi đã chỉ vẽ nó ra trong các hàng và cột. 512 00:24:56,033 --> 00:24:58,320 Đây chỉ là các lược đồ, định nghĩa bao quát. 513 00:24:58,320 --> 00:25:01,640 >> Vì vậy, trong các lĩnh vực này ở đây, hoặc tương đương, có, 514 00:25:01,640 --> 00:25:06,270 đó là những lĩnh vực mà bạn nghĩ Tôi có khả năng tìm kiếm trên nếu tôi là một người dùng 515 00:25:06,270 --> 00:25:09,200 hoặc nếu tôi là người quản trị cơ sở dữ liệu? 516 00:25:09,200 --> 00:25:12,426 Giống như, những gì các lĩnh vực tôi thực sự sẽ tìm kiếm trên? 517 00:25:12,426 --> 00:25:13,830 >> Đung [IM LẶNG] 518 00:25:13,830 --> 00:25:17,690 >> DAVID Malan: Tên, yeah vậy Tôi thích thực tế mà-- yeah, 519 00:25:17,690 --> 00:25:19,750 email có thể là khá phổ biến. 520 00:25:19,750 --> 00:25:21,440 Xin lỗi, bạn cho biết tên. 521 00:25:21,440 --> 00:25:24,030 Vì vậy maybe-- và một lần nữa, chúng tôi loại nói một cách trừu tượng. 522 00:25:24,030 --> 00:25:25,988 Tôi không biết lý do tại sao bạn muốn được tìm kiếm một cái tên, 523 00:25:25,988 --> 00:25:29,340 nhưng mà cảm thấy hợp lý nếu bạn đang tìm kiếm một người sử dụng. 524 00:25:29,340 --> 00:25:31,170 Có thể khẳng định, chắc chắn, ID. 525 00:25:31,170 --> 00:25:34,100 526 00:25:34,100 --> 00:25:36,160 >> Và đó là một trơn dốc, vì tôi không thể 527 00:25:36,160 --> 00:25:38,890 trù liệu một kịch bản mà có lẽ ông chủ của tôi đã hỏi tôi, 528 00:25:38,890 --> 00:25:40,417 có bao nhiêu người đàn ông nào chúng ta có trên trang web của chúng tôi? 529 00:25:40,417 --> 00:25:42,000 Có bao nhiêu phụ nữ chúng ta có trên trang web của chúng tôi? 530 00:25:42,000 --> 00:25:45,210 Và như vậy vào thời điểm đó, bạn có thể muốn để tìm kiếm trên các lĩnh vực giới tính, quá, 531 00:25:45,210 --> 00:25:45,940 và không có gì khác. 532 00:25:45,940 --> 00:25:47,350 Vì vậy, có một sự đánh đổi ở đây. 533 00:25:47,350 --> 00:25:49,180 Một lần nữa, không có câu trả lời đúng, nhưng có 534 00:25:49,180 --> 00:25:53,760 là một tính năng trong hầu hết các cơ sở dữ liệu SQL được gọi là lập chỉ mục, trong đó 535 00:25:53,760 --> 00:25:56,100 bạn, các nhà thiết kế, các quản trị cơ sở dữ liệu, 536 00:25:56,100 --> 00:26:01,730 được quyết định trước đó các lĩnh vực cơ sở dữ liệu nên tối ưu hóa 537 00:26:01,730 --> 00:26:02,980 cho các tìm kiếm trên. 538 00:26:02,980 --> 00:26:07,620 >> Bạn có thể rất ngây thơ nói, tối ưu hóa này, tối ưu hóa đó, tối ưu hóa này, 539 00:26:07,620 --> 00:26:10,300 tối ưu hóa đó và điều này, và các cơ sở dữ liệu sẽ 540 00:26:10,300 --> 00:26:14,882 làm một số điều kỳ diệu bên dưới mui xe, và làm điều gì đó theo cách như vậy 541 00:26:14,882 --> 00:26:17,090 rằng thời gian tiếp theo bạn tìm kiếm trên bất kỳ của các trường này, 542 00:26:17,090 --> 00:26:18,400 nó sẽ, trên thực tế, được nhanh hơn. 543 00:26:18,400 --> 00:26:19,110 Điều này là khả thi. 544 00:26:19,110 --> 00:26:20,530 Nó không hủy chính nó ra. 545 00:26:20,530 --> 00:26:22,500 Nhưng có phải là một giá phải trả. 546 00:26:22,500 --> 00:26:27,220 >> Nếu bạn ngây thơ, hoặc quá nhiệt tình nói, chỉ mục tất cả các lĩnh vực này, 547 00:26:27,220 --> 00:26:29,810 vậy để nói chuyện, làm cho họ tất cả hiệu quả tìm kiếm, 548 00:26:29,810 --> 00:26:31,625 giá cả những gì các bạn có thể trả tiền? 549 00:26:31,625 --> 00:26:32,500 Đung [IM LẶNG] 550 00:26:32,500 --> 00:26:33,090 DAVID Malan: Hiệu suất. 551 00:26:33,090 --> 00:26:33,798 Ý anh là gì? 552 00:26:33,798 --> 00:26:37,380 Vâng thực hiện, ít nhất là trong bối cảnh tôi đang thảo luận, là tốt hơn bây giờ. 553 00:26:37,380 --> 00:26:38,830 Đó là định nghĩa của chỉ mục. 554 00:26:38,830 --> 00:26:41,180 Nó sẽ làm cho tìm kiếm nhanh hơn. 555 00:26:41,180 --> 00:26:43,366 Vì vậy, thời gian giảm, vậy để nói chuyện. 556 00:26:43,366 --> 00:26:44,240 Đung [IM LẶNG] 557 00:26:44,240 --> 00:26:45,031 DAVID Malan: Space. 558 00:26:45,031 --> 00:26:46,520 Vì vậy, một lần nữa, đây là một thương mại thông thường. 559 00:26:46,520 --> 00:26:50,820 Tôi có thể tăng tốc độ tìm kiếm của bạn, nhưng nó sẽ giúp bạn chi phí nhiều byte của không gian. 560 00:26:50,820 --> 00:26:51,610 Tại sao? 561 00:26:51,610 --> 00:26:55,230 Vâng, theo mặc định, nếu chúng ta không có một trong những ngôi sao màu đỏ, không ai trong số các chỉ số, 562 00:26:55,230 --> 00:26:58,797 như tôi nói, làm thế nào để bạn tìm kiếm cho một tên trong cơ sở dữ liệu này? 563 00:26:58,797 --> 00:27:00,630 Vì vậy, hãy vẽ của chúng tôi chú ý đến ví dụ này. 564 00:27:00,630 --> 00:27:06,300 Nếu chúng ta có David và Scully và Kareem và Arwa và những người khác trong các hàng, 565 00:27:06,300 --> 00:27:06,910 ví dụ. 566 00:27:06,910 --> 00:27:08,390 >> Vì vậy, chúng ta hãy làm chính xác điều đó. 567 00:27:08,390 --> 00:27:13,990 Scully là ở đây, và sau đó chúng tôi có Kareem, và Arwa, 568 00:27:13,990 --> 00:27:18,390 và mọi người khác, nếu bạn không có một chỉ số được xác định, có thể nói, 569 00:27:18,390 --> 00:27:20,160 tốt nhất bạn có thể làm là tìm kiếm tuyến tính. 570 00:27:20,160 --> 00:27:23,470 Nếu bạn tìm kiếm Arwa, chúng tôi không sẽ có thể nhảy ngay đến cô 571 00:27:23,470 --> 00:27:24,140 Mau. 572 00:27:24,140 --> 00:27:26,556 Chúng ta sẽ bắt đầu đầu và đi tất cả các cách để phía dưới, 573 00:27:26,556 --> 00:27:28,600 không giống như ban đầu của chúng tôi Mike Smith ví dụ. 574 00:27:28,600 --> 00:27:33,470 >> Tuy nhiên, nếu tôi nói, hey, cơ sở dữ liệu, Chỉ số trường tên đầu tiên, 575 00:27:33,470 --> 00:27:37,000 sau đó nó sẽ làm điều gì đó fancier và hỗ trợ một cái gì đó 576 00:27:37,000 --> 00:27:38,130 như tìm kiếm nhị phân. 577 00:27:38,130 --> 00:27:39,820 Nó có lẽ không phải tìm kiếm nhị phân cho mỗi gia nhập. 578 00:27:39,820 --> 00:27:42,810 Cơ sở dữ liệu có xu hướng sử dụng một cấu trúc dữ liệu được gọi là b-cây, 579 00:27:42,810 --> 00:27:46,540 không nên nhầm lẫn với cây nhị phân, mà chỉ làm cho nó nhanh hơn để tìm kiếm 580 00:27:46,540 --> 00:27:48,500 một cái gì đó logarit tự nhiên. 581 00:27:48,500 --> 00:27:53,510 Nhưng giá mà bạn phải trả để xây dựng mà tính năng, cấu trúc dữ liệu trong bộ nhớ, 582 00:27:53,510 --> 00:27:54,570 là byte nữa. 583 00:27:54,570 --> 00:27:57,170 Vì vậy, nó có thể mất một số megabyte, một số gigabyte, ai biết được? 584 00:27:57,170 --> 00:27:58,410 Nó phụ thuộc vào dữ liệu. 585 00:27:58,410 --> 00:28:02,640 >> Vì vậy, tại một số điểm, bạn phải quyết định, nó có lẽ không phải là một trường hợp phổ biến. 586 00:28:02,640 --> 00:28:06,000 Vì vậy, thực tế phổ biến là gì trường hợp, nếu bạn thực sự phải lựa chọn, 587 00:28:06,000 --> 00:28:10,080 những gì có thể lĩnh vực yêu thích của bạn là gì? 588 00:28:10,080 --> 00:28:10,580 E-mail. 589 00:28:10,580 --> 00:28:14,400 Và tôi thích email vì email, trong lý thuyết, phải là duy nhất. 590 00:28:14,400 --> 00:28:17,650 Và thông thường, khi bạn biết trước rằng một trong những lĩnh vực của bạn 591 00:28:17,650 --> 00:28:20,277 là hoặc sẽ là duy nhất, mà xu hướng được một trường tốt 592 00:28:20,277 --> 00:28:22,860 để tìm kiếm trên, vì như vậy, khi bạn tìm kiếm một cái gì đó, 593 00:28:22,860 --> 00:28:26,194 bạn đang đi để có được trở lại một hoặc số không trả lời và sau đó bạn đang thực hiện. 594 00:28:26,194 --> 00:28:28,110 Bạn không cần phải giữ tìm kiếm nhưng những người khác. 595 00:28:28,110 --> 00:28:31,992 >> Và như vậy trong trường hợp này đây, email, miễn là bạn không thể đăng ký hai lần 596 00:28:31,992 --> 00:28:33,450 với cùng một email, là một trong những tốt. 597 00:28:33,450 --> 00:28:36,710 ID theo định nghĩa, trong khoa học máy tính trên thế giới, 598 00:28:36,710 --> 00:28:39,610 nếu bạn đang nói về một ID, mà đã tốt hơn là duy nhất. 599 00:28:39,610 --> 00:28:42,970 Đó là loại ý nghĩa ID hoặc nhận dạng. 600 00:28:42,970 --> 00:28:46,440 Và phần còn lại của những có thể, hãy gọi cho họ tốt đẹp để người giàu, 601 00:28:46,440 --> 00:28:47,860 nhưng không thực sự cần thiết. 602 00:28:47,860 --> 00:28:49,976 >> Và như vậy trong một cơ sở dữ liệu, bạn chỉ định chỉ số, 603 00:28:49,976 --> 00:28:51,350 nhưng bạn có thể thậm chí còn chính xác hơn. 604 00:28:51,350 --> 00:28:56,060 Bạn có thể nói, hey, cơ sở dữ liệu, đảm bảo rằng mỗi ID trong bảng này là duy nhất. 605 00:28:56,060 --> 00:28:59,330 Thậm chí không để cho một lập trình viên vô tình đặt trong một email trùng lặp 606 00:28:59,330 --> 00:29:00,740 hoặc bản sao số ID. 607 00:29:00,740 --> 00:29:03,140 Vì vậy, nhiều như đếm bảo vệ chúng ta tương tự, bạn 608 00:29:03,140 --> 00:29:04,881 có thể có những người phòng thủ cấp thấp hơn. 609 00:29:04,881 --> 00:29:07,130 Và do đó, thiết kế cơ sở dữ liệu, trong một số ý nghĩa, là loại thú vị, 610 00:29:07,130 --> 00:29:08,380 bởi vì bạn làm điều đó việc phòng thủ. 611 00:29:08,380 --> 00:29:11,460 Bạn loại giả định rằng bạn làm việc với, lập trình khủng khiếp khủng khiếp 612 00:29:11,460 --> 00:29:15,550 và bạn muốn đặt trong nhiều phòng thủ như bạn có thể để bảo vệ dữ liệu của bạn, 613 00:29:15,550 --> 00:29:18,940 nhưng đồng thời bạn muốn để giúp họ thực hiện tốt hơn 614 00:29:18,940 --> 00:29:21,386 bằng cách chọn mà lĩnh vực tối ưu hóa cho. 615 00:29:21,386 --> 00:29:24,260 Nhưng bạn không thể nhất thiết phải làm điều đó trong một chân không giống như chúng ta loại đang ở đây. 616 00:29:24,260 --> 00:29:26,480 Bạn đã biết những gì đang có những trường hợp phổ biến là. 617 00:29:26,480 --> 00:29:29,397 Nếu các nhà phát triển thực hiện một cuốn sách địa chỉ, 618 00:29:29,397 --> 00:29:32,230 bạn rất có thể cũng muốn có thể để tìm kiếm trên hầu hết các lĩnh vực, 619 00:29:32,230 --> 00:29:33,830 chỉ bởi bản chất của các ứng dụng. 620 00:29:33,830 --> 00:29:37,910 Vì vậy, có thể bạn dành không gian bổ sung. 621 00:29:37,910 --> 00:29:39,090 >> Phải, bất kỳ câu hỏi? 622 00:29:39,090 --> 00:29:41,820 623 00:29:41,820 --> 00:29:42,486 Yeah. 624 00:29:42,486 --> 00:29:43,470 >> Đung [IM LẶNG] 625 00:29:43,470 --> 00:29:44,404 >> DAVID Malan: số 626 00:29:44,404 --> 00:29:45,279 >> Đung [IM LẶNG] 627 00:29:45,279 --> 00:29:47,840 628 00:29:47,840 --> 00:29:48,826 >> DAVID Malan: OK. 629 00:29:48,826 --> 00:29:49,701 >> Đung [IM LẶNG] 630 00:29:49,701 --> 00:29:52,420 631 00:29:52,420 --> 00:29:54,850 >> DAVID Malan: Oh, vì vậy chúng tôi đang nói một cách 632 00:29:54,850 --> 00:29:57,940 bây giờ đó là hoàn toàn ngôn ngữ bất khả tri. 633 00:29:57,940 --> 00:30:02,370 Vì vậy, chúng ta đang nói bây giờ về cơ sở dữ liệu quan hệ nói chung, 634 00:30:02,370 --> 00:30:04,760 hoặc SQL cơ sở dữ nói chung. 635 00:30:04,760 --> 00:30:06,870 >> Đung [IM LẶNG] 636 00:30:06,870 --> 00:30:10,030 >> DAVID Malan: Một từ tốt hơn để sử dụng được, có thể được sử dụng bởi bất kỳ ngôn ngữ. 637 00:30:10,030 --> 00:30:15,280 Vì vậy, tôi có thể viết mã JavaScript, C mã, mã C ++, Java code, mã Ruby, 638 00:30:15,280 --> 00:30:19,010 tất cả đều nói chuyện với một cơ sở dữ liệu và thực hiện truy vấn. 639 00:30:19,010 --> 00:30:22,310 Trong thực tế, đó không phải là xấu Segue với một truy vấn ví dụ. 640 00:30:22,310 --> 00:30:25,720 Và một lần nữa, chúng tôi sẽ không đi vào Java hay C ++ hoặc bất kỳ đó nữa, 641 00:30:25,720 --> 00:30:29,420 nhưng trong SQL, ngôn ngữ mà tôi giữ đề cập, Structured Query Language, 642 00:30:29,420 --> 00:30:32,790 này chính nó là một ngôn ngữ lập trình, nhưng nó có nghĩa là để được sử dụng cho, không có 643 00:30:32,790 --> 00:30:37,330 ngạc nhiên, cấu trúc truy vấn truy vấn. 644 00:30:37,330 --> 00:30:38,660 >> Bởi rằng tôi có ý nghĩa này. 645 00:30:38,660 --> 00:30:41,190 Cách bạn chọn dữ liệu từ một cơ sở dữ liệu MySQL 646 00:30:41,190 --> 00:30:49,330 là bạn có nghĩa là gõ vào chương trình của bạn một cái gì đó giống như chọn sao từ người dùng. 647 00:30:49,330 --> 00:30:52,200 Tôi giả định rằng bảng này, từ nay về sau được gọi là người sử dụng. 648 00:30:52,200 --> 00:30:54,860 Tôi có thể gọi nó là bất cứ điều gì chúng ta muốn, nhưng loại có ý nghĩa. 649 00:30:54,860 --> 00:30:57,240 Và vì vậy chọn là rất động từ phổ biến, nếu bạn 650 00:30:57,240 --> 00:30:59,290 sẽ, trong SQL, mà nghĩa đen nào đó. 651 00:30:59,290 --> 00:31:02,730 Bạn nghĩ gì sao có nghĩa là trong bối cảnh này? 652 00:31:02,730 --> 00:31:04,410 >> Đung [IM LẶNG] 653 00:31:04,410 --> 00:31:05,380 >> DAVID Malan: Tôi xin lỗi? 654 00:31:05,380 --> 00:31:06,300 >> Đung [IM LẶNG] 655 00:31:06,300 --> 00:31:09,580 >> DAVID Malan: Không yêu cầu, đó là hơn bao gồm hơn, thực sự. 656 00:31:09,580 --> 00:31:11,700 Đó là nhân vật thẻ hoang dã. 657 00:31:11,700 --> 00:31:14,740 Ngôi sao hầu như luôn luôn có nghĩa là bất cứ điều gì, vì vậy điều này có nghĩa là, trong trường hợp này, 658 00:31:14,740 --> 00:31:16,510 chọn tất cả mọi thứ từ các cơ sở dữ liệu. 659 00:31:16,510 --> 00:31:20,730 Vì vậy, khi tôi nói điều này, tôi có ý nghĩa cho tôi trở lại mỗi cột 660 00:31:20,730 --> 00:31:22,440 từ bàn của tôi được gọi là người sử dụng. 661 00:31:22,440 --> 00:31:24,730 Vì vậy, cho tôi một tập hợp kết quả, vì nó được gọi là. 662 00:31:24,730 --> 00:31:28,210 Nói cách khác, cho tôi một bản sao của bảng tính, là những gì tôi nhận được tại. 663 00:31:28,210 --> 00:31:34,890 >> Nhưng nếu tôi nói chọn sao từ người dùng nơi ID bằng 1, làm thế nào lớn nên 664 00:31:34,890 --> 00:31:36,640 tập hợp kết quả là sau đó? 665 00:31:36,640 --> 00:31:41,680 Hoặc tương đương, bao nhiêu hàng nên Tôi được giao lại từ các cơ sở dữ liệu? 666 00:31:41,680 --> 00:31:45,860 Có lẽ chỉ là một, nếu tôi có thực sự điều trị ID như một định danh duy nhất, 667 00:31:45,860 --> 00:31:50,710 và nếu David có mà ID duy nhất, tôi nên lấy lại một và chỉ có một hàng 668 00:31:50,710 --> 00:31:53,220 chứa tất cả các thông tin của David. 669 00:31:53,220 --> 00:31:56,390 Nếu tôi nói nơi này ID bằng 99, tôi sẽ nhận được trở lại, 670 00:31:56,390 --> 00:32:00,320 trong bối cảnh này, không hàng, ít nhất là ở thời điểm này. 671 00:32:00,320 --> 00:32:03,620 >> Tuy nhiên, nếu tôi không thực sự quan tâm về tất cả các thông tin đó, 672 00:32:03,620 --> 00:32:06,970 Tôi chỉ có thể nói, nơi nào David sống? 673 00:32:06,970 --> 00:32:10,860 Chọn mã zip từ người dùng mà ID là 1. 674 00:32:10,860 --> 00:32:15,820 Điều này sẽ chọn cho tôi chỉ zip của David mã và không phải là toàn bộ của hàng đó. 675 00:32:15,820 --> 00:32:19,541 Tại sao tôi có thể làm điều này thay vì truy vấn sao, thẻ hoang dã? 676 00:32:19,541 --> 00:32:21,950 >> Đung [IM LẶNG] 677 00:32:21,950 --> 00:32:24,590 >> DAVID Malan: Yeah, tôi chỉ có thể cần nó. 678 00:32:24,590 --> 00:32:26,350 Vì vậy, hiệu suất là một lần nữa câu trả lời ở đây. 679 00:32:26,350 --> 00:32:28,540 Tại sao yêu cầu nhiều hơn thông tin hơn bạn cần, 680 00:32:28,540 --> 00:32:32,020 bởi vì ngay cả khi đó là tất cả phải cùng nhau, bạn vẫn phải sao chép dữ liệu đó, 681 00:32:32,020 --> 00:32:35,560 nó sẽ có vẻ, từ cơ sở dữ liệu vào chương trình của bạn bằng cách nào đó, 682 00:32:35,560 --> 00:32:38,490 và đó chỉ là ngớ ngẩn nếu bạn chỉ cần năm của những chữ số, 683 00:32:38,490 --> 00:32:40,340 không phải là toàn bộ của hàng. 684 00:32:40,340 --> 00:32:42,180 >> Vì vậy, làm thế nào để chèn một người sử dụng? 685 00:32:42,180 --> 00:32:44,780 Giả sử một người sử dụng có chỉ đăng ký lần đầu tiên. 686 00:32:44,780 --> 00:32:46,560 Cú pháp thường sẽ trông như thế này. 687 00:32:46,560 --> 00:32:52,700 Chèn vào người sử dụng, và sau đó chúng tôi sẽ nói giá trị, 688 00:32:52,700 --> 00:33:00,150 và sau đó chúng ta sẽ nói giá trị như thế nào, hãy nói, Lauren Scully, 689 00:33:00,150 --> 00:33:02,380 quay phim của chúng tôi ngay tại đây. 690 00:33:02,380 --> 00:33:04,390 Và trường tiếp theo là giới tính. 691 00:33:04,390 --> 00:33:08,020 Vì vậy, chúng ta sẽ nói quote, unquote "F", sau đó chúng ta có một ID 692 00:33:08,020 --> 00:33:12,250 và tôi sẽ say-- hãy giả vờ cô ấy không thực sự ở đây, 693 00:33:12,250 --> 00:33:14,380 vì vậy chúng tôi sẽ tua lại trong câu chuyện. 694 00:33:14,380 --> 00:33:16,530 Vì vậy 2 sẽ là ID của mình. 695 00:33:16,530 --> 00:33:19,130 Và sau đó các trường tiếp theo đây là email của mình. 696 00:33:19,130 --> 00:33:22,140 Vì vậy, nó sẽ như thế nào Lauren Scully và vv, 697 00:33:22,140 --> 00:33:24,360 và chúng tôi sẽ chỉ chấm chấm chấm nó đi từ đây. 698 00:33:24,360 --> 00:33:26,890 Bây giờ nó sẽ có được một chút tẻ nhạt, nhưng truy vấn chèn 699 00:33:26,890 --> 00:33:28,310 cuối cùng sẽ như thế nào mà. 700 00:33:28,310 --> 00:33:30,970 >> Nếu tôi muốn thoát khỏi Scully, uh-oh, hãy xoá đăng ký 701 00:33:30,970 --> 00:33:37,420 cô, cô xóa tài khoản của mình, xóa từ người dùng mà ID bằng 2, 702 00:33:37,420 --> 00:33:38,500 sẽ được thoát khỏi Scully. 703 00:33:38,500 --> 00:33:48,050 Hoặc tôi có thể nói rằng bản cập nhật người dùng thiết lập, hãy nói, những gì chúng ta có thể thay đổi? 704 00:33:48,050 --> 00:33:49,430 Giả sử cô ấy di chuyển. 705 00:33:49,430 --> 00:33:53,730 Set zip bằng 021-- nope, đó là zip hiện tại của cô. 706 00:33:53,730 --> 00:33:54,487 90210. 707 00:33:54,487 --> 00:33:56,320 Các chỉ zip code khác Tôi biết trên thế giới. 708 00:33:56,320 --> 00:33:59,002 Vì vậy mà có thay đổi zip cô code-- thực sự, 709 00:33:59,002 --> 00:34:00,460 rằng sẽ không thay đổi mã vùng của mình. 710 00:34:00,460 --> 00:34:02,170 >> đã làm tôi chỉ làm những gì? 711 00:34:02,170 --> 00:34:04,292 Mặc dù cú pháp có lẽ là mới. 712 00:34:04,292 --> 00:34:05,302 >> Đung [IM LẶNG] 713 00:34:05,302 --> 00:34:08,010 DAVID Malan: Yeah, tôi chuyển tất cả mọi người Beverly Hills, California. 714 00:34:08,010 --> 00:34:11,920 Vì vậy, tôi nên thực sự nói nơi ID = 2. 715 00:34:11,920 --> 00:34:12,820 Và kể từ đó trở đi. 716 00:34:12,820 --> 00:34:15,290 Vì vậy, SQL là tất cả về những các loại hướng dẫn. 717 00:34:15,290 --> 00:34:20,260 Chọn, chèn, xóa, cập nhật, với các vị ở cuối 718 00:34:20,260 --> 00:34:22,139 các điều khoản này ở đâu, vậy để nói chuyện. 719 00:34:22,139 --> 00:34:25,170 Và có rất nhiều bạn có thể làm, nhưng nó thực sự chỉ là nắm 720 00:34:25,170 --> 00:34:29,750 chỉ đơn giản là, nếu arcanely, thể hiện những gì bạn muốn các cơ sở dữ liệu để làm. 721 00:34:29,750 --> 00:34:31,580 >> Và sau đó các cơ sở dữ liệu sẽ tìm ra, khi 722 00:34:31,580 --> 00:34:35,630 bạn chèn Lauren Scully vào cơ sở dữ liệu, nơi để đặt mình trong bộ nhớ 723 00:34:35,630 --> 00:34:38,230 để chúng tôi có thể nhanh chóng có được mình dựa trên địa chỉ email của mình 724 00:34:38,230 --> 00:34:42,610 hoặc dựa vào số ID của mình hoặc tương tự. 725 00:34:42,610 --> 00:34:43,391 Yeah, Dan. 726 00:34:43,391 --> 00:34:44,266 Đung [IM LẶNG] 727 00:34:44,266 --> 00:34:46,364 728 00:34:46,364 --> 00:34:47,780 DAVID Malan: Câu hỏi thực sự tốt. 729 00:34:47,780 --> 00:34:50,370 các kịch bản sẽ thay đổi từ Microsoft Access sang Oracle 730 00:34:50,370 --> 00:34:52,290 MySQL để PostgreSQL? 731 00:34:52,290 --> 00:34:53,790 Câu trả lời ngắn gọn là nó phụ thuộc. 732 00:34:53,790 --> 00:34:58,697 Về lý thuyết, có một rất tập hợp con chung quan trọng của SQL 733 00:34:58,697 --> 00:35:00,780 được chia sẻ trên tất cả những hiện thực. 734 00:35:00,780 --> 00:35:03,340 Tuy nhiên, các nhà sản xuất khác nhau có tính năng bổ sung 735 00:35:03,340 --> 00:35:07,120 cơ sở dữ liệu của họ để làm những việc nhất định ngoài phạm vi của các tính năng này, 736 00:35:07,120 --> 00:35:08,720 mà có thể, trên thực tế, phá vỡ. 737 00:35:08,720 --> 00:35:11,210 >> Vì vậy, các nhà phát triển cách hàng rào chống lại điều này, 738 00:35:11,210 --> 00:35:14,350 là thay vì viết nguyên mã SQL như tôi đang viết đây, 739 00:35:14,350 --> 00:35:19,460 thay vào đó họ sử dụng một thư viện, một thư viện chung mà bản thân 740 00:35:19,460 --> 00:35:23,650 là loại cao cấp và tóm tắt đi mà sản phẩm bạn đang sử dụng. 741 00:35:23,650 --> 00:35:25,710 Và nó mang lại cho bạn hàm và thủ tục 742 00:35:25,710 --> 00:35:28,810 gọi để bạn không bao giờ thực sự viết SQL nguyên. 743 00:35:28,810 --> 00:35:32,609 >> Về lý thuyết, sau đó, bạn có thể thay đổi các sản phẩm từ Oracle cho Microsoft 744 00:35:32,609 --> 00:35:34,650 hoặc ngược lại, hoặc bất cứ điều gì khác, và bạn có nghĩa là 745 00:35:34,650 --> 00:35:36,920 thay đổi gì về mã của bạn. 746 00:35:36,920 --> 00:35:40,180 Thực tế, mặc dù, là, đôi khi bạn bỏ các tính năng như một kết quả. 747 00:35:40,180 --> 00:35:43,860 Bạn có thể lựa chọn một sản phẩm vì nó có những tính năng giá trị gia tăng, 748 00:35:43,860 --> 00:35:46,610 và bạn chỉ là bây giờ không sử dụng chúng có ý thức. 749 00:35:46,610 --> 00:35:51,630 >> Và giai thoại, hầu hết các công ty có xu hướng không bao giờ di chuyển ra khỏi cơ sở dữ liệu của họ. 750 00:35:51,630 --> 00:35:54,002 Vì vậy, trong khi đây là một tốt đẹp để có tính năng, thực tế 751 00:35:54,002 --> 00:35:55,960 là, nếu bạn đang đại tu cơ sở dữ liệu của bạn, bạn 752 00:35:55,960 --> 00:35:59,890 có thể làm cho chùm thay đổi khác dù sao, bạn không nhất thiết phải 753 00:35:59,890 --> 00:36:01,360 cần phải lường trước đó. 754 00:36:01,360 --> 00:36:03,720 Vì vậy, nó được cho là quá kỹ các vấn đề, 755 00:36:03,720 --> 00:36:05,670 nhưng nó thực sự phụ thuộc vào ngữ cảnh. 756 00:36:05,670 --> 00:36:09,960 Nhưng trong lý thuyết, SQL được chia sẻ qua những sản phẩm khác nhau. 757 00:36:09,960 --> 00:36:11,560 câu hỏi thực sự tốt. 758 00:36:11,560 --> 00:36:12,272 Yeah. 759 00:36:12,272 --> 00:36:13,147 >> Đung [IM LẶNG] 760 00:36:13,147 --> 00:36:17,820 761 00:36:17,820 --> 00:36:21,480 >> DAVID Malan: Yeah, vì vậy bạn có thể nghĩ rằng một cơ sở dữ liệu 762 00:36:21,480 --> 00:36:25,020 chỉ là một máy chủ, vào cuối ngày, và bên trong của máy chủ đó 763 00:36:25,020 --> 00:36:28,670 là một bó toàn bộ bảng, các hàng và cột. 764 00:36:28,670 --> 00:36:33,410 Và khi bạn gửi một truy vấn như thế này từ chương trình của bạn, trang web của bạn, 765 00:36:33,410 --> 00:36:39,340 viết bằng Java, Ruby, Python, bất cứ điều gì, máy chủ đang nhận lệnh này 766 00:36:39,340 --> 00:36:41,660 và giải thích nó trong nghĩa là cùng một cách 767 00:36:41,660 --> 00:36:43,660 chúng ta đã thảo luận trước đó với ngôn ngữ thông dịch, 768 00:36:43,660 --> 00:36:47,333 và sau đó thực hiện một số hành động trên không hoặc các hàng nhiều hơn trong số không hoặc nhiều bảng. 769 00:36:47,333 --> 00:36:48,208 Đung [IM LẶNG] 770 00:36:48,208 --> 00:36:53,540 771 00:36:53,540 --> 00:36:55,070 >> DAVID Malan: Chính xác, chính xác. 772 00:36:55,070 --> 00:36:58,450 Vì vậy, các mã giả cho một cái gì đó như thế có thể được điều này. 773 00:36:58,450 --> 00:37:02,450 Trong file PHP của bạn hoặc của bạn file python hoặc tập tin Java của bạn, 774 00:37:02,450 --> 00:37:09,210 bạn sẽ có mã giả, hoặc khối Scratch-như là, nếu người dùng truy cập 775 00:37:09,210 --> 00:37:19,870 acme.com/register~~V cho lần đầu tiên, sau đó chèn vào người dùng và vv. 776 00:37:19,870 --> 00:37:22,619 Và chúng tôi sẽ dịch này để đang cụ thể hơn trong các kết thúc. 777 00:37:22,619 --> 00:37:24,660 Nhưng thực sự, chúng tôi có tất cả các khối xây dựng ở đây, 778 00:37:24,660 --> 00:37:27,680 mặc dù chúng ta đang bỏ qua một số các bước thực hiện. 779 00:37:27,680 --> 00:37:31,560 >> Vì vậy, hãy để tôi tìm lỗi với những gì chúng tôi tuyệt vời đã làm chỉ là một khoảnh khắc trước. 780 00:37:31,560 --> 00:37:36,470 Bạn đã tạo ra một đẹp bảng đầy đủ cho người sử dụng. 781 00:37:36,470 --> 00:37:38,920 Phải thừa nhận rằng, chúng tôi có thể thực hiện nó trong một vài cách khác nhau, 782 00:37:38,920 --> 00:37:43,030 nhưng bạn đã thực sự khiến chúng tôi xuống path-- và tôi nói bạn, 783 00:37:43,030 --> 00:37:48,080 nhưng nó có thể là fault-- của tôi về một tương đối không hiệu quả cơ sở dữ liệu thực hiện. 784 00:37:48,080 --> 00:37:49,950 Nó không bình thường. 785 00:37:49,950 --> 00:37:52,320 >> Và bởi bình thường tôi có ý nghĩa có là có thể được, 786 00:37:52,320 --> 00:37:57,380 theo thời gian, một sự thừa đáng kể, và do đó không hiệu quả, 787 00:37:57,380 --> 00:38:00,210 đó là sự lãng phí không gian. 788 00:38:00,210 --> 00:38:05,650 Dựa trên những gì bạn nhìn thấy ở đây, có thể bạn hình dung nơi này lãng phí không gian 789 00:38:05,650 --> 00:38:08,710 sẽ đến từ đâu, qua thời gian, khi ngày càng nhiều người sử dụng đăng ký 790 00:38:08,710 --> 00:38:10,860 cho trang web của bạn? 791 00:38:10,860 --> 00:38:13,047 Những dữ liệu có thể trở thành dư thừa? 792 00:38:13,047 --> 00:38:19,084 793 00:38:19,084 --> 00:38:20,940 >> Đung [IM LẶNG] 794 00:38:20,940 --> 00:38:22,686 >> DAVID Malan: Tại sao bạn có nghĩa là? 795 00:38:22,686 --> 00:38:23,561 Đung [IM LẶNG] 796 00:38:23,561 --> 00:38:32,180 797 00:38:32,180 --> 00:38:32,930 DAVID Malan: Yeah. 798 00:38:32,930 --> 00:38:35,622 Và chúng ta hãy giả định cho các mục đích của ngày hôm nay rằng đó là sự thật. 799 00:38:35,622 --> 00:38:38,330 Hóa ra, và chúng tôi đã học được điều này cách cứng, đó là không đúng sự thật. 800 00:38:38,330 --> 00:38:41,670 Bằng cách nào đó nhiều thành phố có, bằng cách nào đó, mã zip cùng, 801 00:38:41,670 --> 00:38:43,390 mà phá vỡ trực giác tuyệt vời này. 802 00:38:43,390 --> 00:38:46,180 Nhưng chúng ta hãy giả sử đó là sự thật, vì nó gần như luôn luôn đúng. 803 00:38:46,180 --> 00:38:51,390 Vì vậy, giả sử rằng một mã vùng là luôn gắn liền với cùng một thành phố 804 00:38:51,390 --> 00:38:53,600 và nhà nước, mà là một loại các giả định hợp lý, 805 00:38:53,600 --> 00:38:54,840 nhưng không chính xác, nó quay ra. 806 00:38:54,840 --> 00:38:57,310 Tuy nhiên, một giả thiết hợp lý cho mục đích của ngày hôm nay. 807 00:38:57,310 --> 00:39:01,650 >> Sau đó, giả sử rằng tôi sống ở Cambridge, MA, theo bảng của người dùng này 808 00:39:01,650 --> 00:39:04,100 và giả sử rằng Lauren Scully sống ở Cambridge, MA, 809 00:39:04,100 --> 00:39:06,120 và giả sử rằng Kareem sống ở Cambridge, MA, 810 00:39:06,120 --> 00:39:10,400 và Arwa sống ở Cambridge, MA, tất cả chúng ta trong 02138. 811 00:39:10,400 --> 00:39:15,890 Tại sao chúng ta nhớ lại Cambridge, MA, 02138 cho tất cả bốn chúng tôi? 812 00:39:15,890 --> 00:39:18,903 Những gì là đủ để nhớ? 813 00:39:18,903 --> 00:39:20,249 >> Đung [IM LẶNG] 814 00:39:20,249 --> 00:39:21,540 DAVID Malan: Chỉ cần mã zip. 815 00:39:21,540 --> 00:39:25,080 Chỉ là 02138 tồn tại, bởi vì bạn biết những gì chúng ta có thể làm gì? 816 00:39:25,080 --> 00:39:32,650 Chúng ta có thể có được một chút ưa thích ở đây và ở đây, xác định bảng khác 817 00:39:32,650 --> 00:39:35,850 nơi này sẽ là các tên, đây sẽ là loại hình, 818 00:39:35,850 --> 00:39:38,840 điều này sẽ là chiều dài, và từ đó trở đi, tôi 819 00:39:38,840 --> 00:39:42,900 sẽ gọi này bàn thành phố của tôi. 820 00:39:42,900 --> 00:39:47,011 Điều này đã được gọi là, của Tất nhiên, người sử dụng bảng của tôi. 821 00:39:47,011 --> 00:39:49,885 Và vì vậy những gì tôi nên đặt ở đây cho bảng thành phố của tôi, bạn có nghĩ? 822 00:39:49,885 --> 00:39:53,605 823 00:39:53,605 --> 00:39:54,535 >> Đung [IM LẶNG] 824 00:39:54,535 --> 00:39:55,930 >> DAVID Malan: Yeah. 825 00:39:55,930 --> 00:40:01,440 Vì vậy, zip và nhà nước và thành phố. 826 00:40:01,440 --> 00:40:05,350 Và như vậy các loại ở đây, chúng tôi sẽ nói này sẽ là một char 5 một lần nữa, 827 00:40:05,350 --> 00:40:06,750 tùy thuộc vào các cuộc tranh luận của trước đó. 828 00:40:06,750 --> 00:40:14,810 Đây sẽ là một enum, có lẽ như trước, và thành phố sẽ là một varchar 50. 829 00:40:14,810 --> 00:40:17,960 Và vì vậy bây giờ tôi có được những gì để xóa từ bảng này 830 00:40:17,960 --> 00:40:21,995 để loại bỏ không hiệu quả nhất? 831 00:40:21,995 --> 00:40:23,100 >> Đung [IM LẶNG] 832 00:40:23,100 --> 00:40:23,850 DAVID Malan: Nice. 833 00:40:23,850 --> 00:40:30,239 Nhà nước và thành phố phải đi xa, vì vậy tôi đã hiện loại bỏ sự thiếu hiệu quả tiềm năng 834 00:40:30,239 --> 00:40:33,280 cho dư thừa nhớ, Cambridge, MA, Cambridge, MA, Cambridge, MA, 835 00:40:33,280 --> 00:40:35,712 Cambridge, MA, trong đó, hy vọng sẽ không bao giờ thay đổi. 836 00:40:35,712 --> 00:40:37,670 Và thậm chí nếu có, nó là minorly khó chịu, bây giờ 837 00:40:37,670 --> 00:40:39,750 rằng tôi phải thay đổi nó trong nhiều hàng, 838 00:40:39,750 --> 00:40:43,770 trong khi ở đây, tôi có thể chỉ thay đổi nó ở một nơi. 839 00:40:43,770 --> 00:40:46,890 >> Bây giờ thương mại-off là gì, có lẽ? 840 00:40:46,890 --> 00:40:48,020 Đây là siêu thuận tiện. 841 00:40:48,020 --> 00:40:50,730 Đã có tất cả dữ liệu của tôi độc đáo với nhau. 842 00:40:50,730 --> 00:40:53,644 trường hợp hiện nay nhưng những gì là rõ ràng không? 843 00:40:53,644 --> 00:40:55,684 >> Đung [IM LẶNG] 844 00:40:55,684 --> 00:40:58,100 DAVID Malan: Chính xác, và tôi vui mừng bạn đã dùng từ tham gia, 845 00:40:58,100 --> 00:41:01,320 bởi vì đó thực sự là từ khóa, trong thế giới của cơ sở dữ liệu quan hệ 846 00:41:01,320 --> 00:41:05,270 trong SQL, nó là một từ thực tế bạn có thể gõ hoặc ít nhất là truyền đạt. 847 00:41:05,270 --> 00:41:09,280 Và trên thực tế, những gì chúng ta phải làm để chọn thông tin đầy đủ của David là 848 00:41:09,280 --> 00:41:19,700 một cái gì đó giống như chọn sao từ người sử dụng, tham gia thành phố, on-- và bây giờ 849 00:41:19,700 --> 00:41:24,010 Tôi sẽ chỉ di chuyển đến một dòng thứ hai để users.zip fits-- này bằng 850 00:41:24,010 --> 00:41:34,570 cities.zip, nơi users.ID bằng 1. 851 00:41:34,570 --> 00:41:35,550 >> Vì vậy những gì đang xảy ra? 852 00:41:35,550 --> 00:41:38,970 Nó xấu xí tìm kiếm, nhưng bạn có thể loại đọc từ trái qua phải, trên xuống dưới. 853 00:41:38,970 --> 00:41:41,030 Chọn sao từ người dùng là giống như trước đây, 854 00:41:41,030 --> 00:41:42,930 nhưng nó không phải từ người dùng, mỗi se. 855 00:41:42,930 --> 00:41:45,910 Đó là từ người dùng tham gia thành phố. 856 00:41:45,910 --> 00:41:48,520 Tôi đang tham gia hai bảng vào những gì? 857 00:41:48,520 --> 00:41:51,820 Vâng, rõ ràng, bảng người dùng nén lĩnh vực, 858 00:41:51,820 --> 00:41:54,810 và giai đoạn này là chỉ đặc biệt Cú pháp để thể hiện ý tưởng đó, 859 00:41:54,810 --> 00:41:58,130 và đây là bảng thành lĩnh vực nén. 860 00:41:58,130 --> 00:42:01,580 Tôi muốn hai để được bình đẳng, nhưng tôi muốn để cuối cùng chọn 861 00:42:01,580 --> 00:42:06,280 chỉ những hàng nơi ID trong bảng người sử dụng 862 00:42:06,280 --> 00:42:08,730 bằng 1, trong đó xảy ra là của tôi. 863 00:42:08,730 --> 00:42:11,781 >> Và chỉ để được rõ ràng, một lập trình, thường khi 864 00:42:11,781 --> 00:42:14,780 hardcode một cái gì đó như số 1, bởi vì nếu trang web chỉ 865 00:42:14,780 --> 00:42:17,630 hỗ trợ David hay người sử dụng đầu tiên, bạn 866 00:42:17,630 --> 00:42:20,720 thay vào đó sẽ làm một cái gì đó giống như ID, nơi 867 00:42:20,720 --> 00:42:22,510 này đại diện cho một biến, một cái gì đó 868 00:42:22,510 --> 00:42:26,210 có thể thay đổi theo thời gian, tương tự trong tinh thần với những gì tôi đã nói trước đó 869 00:42:26,210 --> 00:42:28,080 với các loại placeholders. 870 00:42:28,080 --> 00:42:30,396 Nhưng bây giờ chúng tôi sẽ chỉ hardcode nó như 1. 871 00:42:30,396 --> 00:42:31,520 Và do đó, điều này có nghĩa là gì? 872 00:42:31,520 --> 00:42:35,100 Vâng, một cách tốt đẹp để hình dung đây là rằng nếu tay này là người sử dụng bảng, 873 00:42:35,100 --> 00:42:38,090 và bàn tay này là kéo khóa bảng, chúng tôi loại finding-- 874 00:42:38,090 --> 00:42:41,330 và những lời khuyên của các ngón tay của tôi là zip ở đây, và các ngón tay của tôi 875 00:42:41,330 --> 00:42:43,740 đây là zip, bạn loại lồng vào nhau nó 876 00:42:43,740 --> 00:42:47,950 để bạn lấy lại kết quả bảng ban đầu, bởi sự tham gia 877 00:42:47,950 --> 00:42:49,590 hai bảng trên trường chung. 878 00:42:49,590 --> 00:42:50,840 Và nó không phải là zip. 879 00:42:50,840 --> 00:42:54,460 Nó có thể là bất cứ điều gì nhất khác, nhưng zip là tốt đẹp, bởi vì một, nó ngắn, 880 00:42:54,460 --> 00:42:56,470 hai, nó luôn luôn cùng chiều dài, do đó 881 00:42:56,470 --> 00:43:02,270 một hiệu quả thực sự cho những gì Olivier đề xuất ở đây 882 00:43:02,270 --> 00:43:05,200 với bao thanh toán ra zip, [IM LẶNG] đề xuất rằng chúng ta thoát khỏi 883 00:43:05,200 --> 00:43:07,110 của thành phố và tiểu bang. 884 00:43:07,110 --> 00:43:11,370 >> Vì vậy, đây là quá trình được gọi là bình thường. 885 00:43:11,370 --> 00:43:14,171 Mọi thắc mắc về điều đó? 886 00:43:14,171 --> 00:43:16,170 Vâng chúng ta hãy để tôi chỉ ra đây là loại công cụ, 887 00:43:16,170 --> 00:43:19,202 mặc dù nó khá ở mức độ thấp, thảo luận này, bạn sẽ nghĩ 888 00:43:19,202 --> 00:43:20,910 bạn đang loại nhận bị mất trong cỏ dại, 889 00:43:20,910 --> 00:43:26,690 đây là một biểu hiện của phong phú cơ hội cho các nhà phát triển để được xấu. 890 00:43:26,690 --> 00:43:29,600 Và trên thực tế, ngay cả khi chúng ta, trong khóa học tôi đã dạy, khi chúng ta đã có, 891 00:43:29,600 --> 00:43:32,290 Ví dụ, thiếu kinh nghiệm lập trình viên đại học 892 00:43:32,290 --> 00:43:35,920 xây dựng trang web, ở cái nhìn đầu tiên, các trang web có thể nhìn tuyệt vời. 893 00:43:35,920 --> 00:43:38,280 Và họ có tất cả các chức năng, chúng tôi yêu cầu, 894 00:43:38,280 --> 00:43:40,650 các nhà phát triển đã làm một công việc tốt. 895 00:43:40,650 --> 00:43:43,370 >> Nhưng họ không nhất thiết phải biết đủ về thiết kế cơ sở dữ liệu 896 00:43:43,370 --> 00:43:46,680 hoặc họ không nghĩ cứng đủ về các loại dữ liệu 897 00:43:46,680 --> 00:43:49,220 và các loại của người sử dụng trang web sẽ phải, 898 00:43:49,220 --> 00:43:53,240 và chúng tôi tìm thấy, sau đó, sáu tháng sau, sau khi họ đã tốt nghiệp hay đã chuyển đi, 899 00:43:53,240 --> 00:43:56,016 mà nguyền rủa nó, trang web của chúng tôi thực sự, thực sự chậm. 900 00:43:56,016 --> 00:43:58,890 Và tôi thậm chí không nói về việc hàng triệu hoặc hàng ngàn người sử dụng. 901 00:43:58,890 --> 00:44:02,580 Tôi có nghĩa là một vài trăm người trong khuôn viên trường, tất cả đều muốn, ví dụ, 902 00:44:02,580 --> 00:44:04,870 cửa hàng cho các khóa học tại Đồng thời, họ 903 00:44:04,870 --> 00:44:07,010 sử dụng mà catalô nhiên ứng dụng tôi đã đề cập 904 00:44:07,010 --> 00:44:10,410 và điều là nhận được thực sự chậm vì không có chỉ số. 905 00:44:10,410 --> 00:44:13,740 Không có ngôi sao màu đỏ, do đó, để nói chuyện, hoặc chúng tôi đã không nhất thiết 906 00:44:13,740 --> 00:44:17,690 yếu tố ra dữ liệu chung để nhận được một số tiền tiết kiệm không gian. 907 00:44:17,690 --> 00:44:21,880 >> Và như vậy khi rà soát một nhà phát triển hoặc người sở dữ liệu hoặc các loại tương tự 908 00:44:21,880 --> 00:44:25,864 các loại câu hỏi để suy nghĩ thông qua thậm chí, khi xem xét mã của ai đó, 909 00:44:25,864 --> 00:44:28,530 để nói, không nhất thiết phải tìm qua tất cả các mã của họ, nhưng nói, 910 00:44:28,530 --> 00:44:30,154 chúng ta hãy xem xét thông qua các bảng cơ sở dữ liệu. 911 00:44:30,154 --> 00:44:31,150 bạn đang lưu trữ những gì? 912 00:44:31,150 --> 00:44:33,941 Và sau đó nói, tốt, chờ đợi một phút, tại sao bạn đang sử dụng một số nguyên? 913 00:44:33,941 --> 00:44:36,224 Nếu chúng ta có 4 tỷ và 1 của các hàng? 914 00:44:36,224 --> 00:44:38,140 Và các loại câu hỏi này là một cơ hội 915 00:44:38,140 --> 00:44:40,170 để loại đẩy lùi và có được một cảm giác, nơi 916 00:44:40,170 --> 00:44:42,300 nếu bạn không thoải mái làm nó, có một ai đó nhiều hơn kỹ thuật 917 00:44:42,300 --> 00:44:45,425 hỏi những câu hỏi, có hay không người thực sự hiểu biết công cụ của họ. 918 00:44:45,425 --> 00:44:47,890 Và đây là các loại công cụ, quá, mà mọi người 919 00:44:47,890 --> 00:44:50,540 trên internet những người là tự học, có thể 920 00:44:50,540 --> 00:44:53,920 học ít thường xuyên, bởi vì bạn không nhất thiết phải đi qua nó 921 00:44:53,920 --> 00:44:56,630 càng nhiều, bởi vì bạn có thể nhận được cơ sở dữ liệu và chạy, 922 00:44:56,630 --> 00:44:58,880 nhưng trừ khi bạn đã đọc lên trên hướng dẫn hoặc được 923 00:44:58,880 --> 00:45:01,880 nói về chuẩn hóa dữ liệu và lập chỉ mục và hiệu suất, 924 00:45:01,880 --> 00:45:04,255 đó là những loại vật đó sẽ làm tổn thương bạn. 925 00:45:04,255 --> 00:45:07,480 Và bạn có thể nghĩ, hay một kỹ sư xấu có thể nói, oh, tốt, lương chúng tôi tốt hơn 926 00:45:07,480 --> 00:45:09,600 cho một cơ sở dữ liệu lớn hơn hoặc một cơ sở dữ liệu nhanh hơn 927 00:45:09,600 --> 00:45:13,360 hay chỉ là ném tiền vào này, quy mô theo chiều dọc, không nhất thiết phải như vậy. 928 00:45:13,360 --> 00:45:16,920 Nếu bạn đi in-- và bạn có thể đi vào sau khi các chỉ số fact-- và thêm, 929 00:45:16,920 --> 00:45:20,320 và nó có thể mất một vài giờ cho cơ sở dữ liệu để xây dựng dữ liệu mới 930 00:45:20,320 --> 00:45:24,100 cấu trúc mà tôi đã đề cập đến trước đó, bạn vẫn có thể sửa lỗi này sau khi thực tế, 931 00:45:24,100 --> 00:45:26,180 rằng đây là nơi bạn bắt đầu để phân biệt 932 00:45:26,180 --> 00:45:28,830 nhà thiết kế tốt xấu nhà thiết kế, không chỉ về mặt thẩm mỹ, 933 00:45:28,830 --> 00:45:32,972 nhưng hiệu suất-khôn ngoan là tốt. 934 00:45:32,972 --> 00:45:33,555 Bất kỳ câu hỏi? 935 00:45:33,555 --> 00:45:36,420 936 00:45:36,420 --> 00:45:37,480 Không? 937 00:45:37,480 --> 00:45:41,980 Vì vậy, cho NoSQL, mà là loại khác của cơ sở dữ liệu mà tôi đã đề cập trước đó, 938 00:45:41,980 --> 00:45:43,490 bạn không có hàng và cột. 939 00:45:43,490 --> 00:45:47,000 Thay vào đó, bạn sẽ có một cái gì đó trông hơn một chút như thế này. 940 00:45:47,000 --> 00:45:48,630 Tôi sẽ sử dụng cú pháp thông thường. 941 00:45:48,630 --> 00:45:51,270 dấu ngoặc nhọn xảy ra được sử dụng ở đây khá nhiều. 942 00:45:51,270 --> 00:45:55,400 Bạn có thể có một cái gì đó như tên là David, 943 00:45:55,400 --> 00:46:00,180 bạn có thể có trước tên là Malan, báo giá, 944 00:46:00,180 --> 00:46:07,530 bạn có thể có ID hợp-- tha cho tôi, ID whoops-- là 1, 945 00:46:07,530 --> 00:46:13,410 email là malan@harvard.edu, và tôi sẽ không bận tâm gõ ra các phần còn lại, và sau đó 946 00:46:13,410 --> 00:46:14,380 một số thứ khác. 947 00:46:14,380 --> 00:46:17,380 >> Nói cách khác, đây là một đại diện văn bản 948 00:46:17,380 --> 00:46:20,720 về những gì chúng ta thường gọi một đối tượng trong một chương trình máy tính. 949 00:46:20,720 --> 00:46:26,079 Và một đối tượng thường chỉ một tập các cặp giá trị quan trọng. 950 00:46:26,079 --> 00:46:27,370 Vì vậy, một lần nữa, chủ đề định kỳ này. 951 00:46:27,370 --> 00:46:30,440 Chúng tôi đã thấy các cặp giá trị quan trọng trong HTML, chúng ta đã thấy cặp giá trị quan trọng với doanh nghiệp 952 00:46:30,440 --> 00:46:34,020 trong bối cảnh cơ sở dữ liệu, và chúng tôi thấy cặp giá trị quan trọng trong bối cảnh 953 00:46:34,020 --> 00:46:35,970 của, tôi nghĩ rằng, một ngôn ngữ trước ngày hôm nay. 954 00:46:35,970 --> 00:46:36,890 Tiếp tục trở lên. 955 00:46:36,890 --> 00:46:39,620 Và quả thực, đó là thực sự những dữ liệu để nắm, 956 00:46:39,620 --> 00:46:44,240 dữ liệu và siêu dữ liệu, hoặc các giá trị và các phím tương ứng. 957 00:46:44,240 --> 00:46:47,430 >> Vì vậy, một không quan hệ cơ sở dữ liệu, một cái gì đó dựa 958 00:46:47,430 --> 00:46:50,680 đối tượng trên, nơi bạn chỉ cần cụm lại tất cả mọi thứ lại với nhau và đặt nó 959 00:46:50,680 --> 00:46:55,640 vào bộ nhớ, thường sẽ là hình như, hoặc nghĩ đến, vì điều này. 960 00:46:55,640 --> 00:47:00,500 Và tôi sẽ để lại bây giờ như một loại phương pháp thay thế. 961 00:47:00,500 --> 00:47:03,750 Và người ta không nhất thiết phải là tốt hơn so với người khác. 962 00:47:03,750 --> 00:47:07,310 Trong thực tế, rất nhiều trong Vogue những ngày này là hệ thống cơ sở dữ liệu 963 00:47:07,310 --> 00:47:11,942 như MongoDB và Redis và một vài các công cụ khác như vậy, tự do có sẵn, 964 00:47:11,942 --> 00:47:13,400 nhưng họ đang ngày càng en vogue. 965 00:47:13,400 --> 00:47:18,850 Một phần vì họ cung cấp thêm tính năng hơn các phương pháp tiếp cận bảng, 966 00:47:18,850 --> 00:47:20,850 nhưng cũng bởi vì họ một chút dễ dàng hơn để sử dụng, 967 00:47:20,850 --> 00:47:24,099 bởi vì bạn không cần phải suy nghĩ như cứng về rất nhiều các quyết định thiết kế. 968 00:47:24,099 --> 00:47:25,970 Vì vậy, mặt được, chưa. 969 00:47:25,970 --> 00:47:29,740 Vì vậy, nhận ra có những lựa chọn xa hơn những gì chúng ta vừa trải qua thời gian trên. 970 00:47:29,740 --> 00:47:32,310 >> Vì vậy, hãy làm điều này. 971 00:47:32,310 --> 00:47:37,870 Hãy chuyển một chút Bây giờ trở lại để lập trình web, 972 00:47:37,870 --> 00:47:40,470 để chúng tôi loại kết luận ngày hôm nay với một cái gì đó 973 00:47:40,470 --> 00:47:43,930 đó là một chút trên tay, làm đầy trong một số khoảng trống từ ngày hôm qua. 974 00:47:43,930 --> 00:47:45,340 Hãy để tôi đi đầu tiên này. 975 00:47:45,340 --> 00:47:49,310 Vì vậy, nhớ lại ngày hôm qua rằng chúng tôi đã có một số kinh điển HTML 976 00:47:49,310 --> 00:47:55,110 các trang đã bước đầu, chỉ HTML, và sau đó secondarily có CSS, 977 00:47:55,110 --> 00:47:56,620 Cascading Style Sheets. 978 00:47:56,620 --> 00:47:59,830 Đây là một thẻ mới mà chúng tôi đã không xem ngày hôm qua, hoặc ngự trên, 979 00:47:59,830 --> 00:48:01,490 cái gọi là thẻ script. 980 00:48:01,490 --> 00:48:05,830 >> Hóa ra bạn thực sự có thể nhúng một ngôn ngữ được gọi JavaScript trong web của bạn 981 00:48:05,830 --> 00:48:08,310 trang và làm cho web của bạn trang làm một cái gì đó. 982 00:48:08,310 --> 00:48:09,710 Vì vậy, những gì tôi có nghĩa là bằng cách đó? 983 00:48:09,710 --> 00:48:12,630 Vâng, hãy để tôi đi trước và chỉ mượn mã này cho một thời điểm. 984 00:48:12,630 --> 00:48:15,860 Tôi sẽ đi vào Cloud9, không cần đến đó mình chỉ được nêu ra, 985 00:48:15,860 --> 00:48:21,350 và tôi sẽ gọi alert.HTML này. 986 00:48:21,350 --> 00:48:23,650 Tôi sẽ dán vào tập tin của tôi ở đây. 987 00:48:23,650 --> 00:48:32,070 Và chỉ để làm rõ những gì tôi đã làm, để cho tôi đi đến địa chỉ này và đi đến cảnh báo, 988 00:48:32,070 --> 00:48:33,870 và bạn thấy những Hello World. 989 00:48:33,870 --> 00:48:35,440 >> Nhưng đây là loại underwhelming. 990 00:48:35,440 --> 00:48:37,410 tôi muốn làm gì đó một chút khác nhau. 991 00:48:37,410 --> 00:48:40,610 Vì vậy, tôi sẽ thực sự làm được điều này. 992 00:48:40,610 --> 00:48:43,820 Tôi sẽ đi vào đây e, và ở giữa các thẻ kịch bản của tôi, 993 00:48:43,820 --> 00:48:53,460 nói alert ( 'hello, world'); để thông báo đó là một chút cẩu thả, nhưng tôi đã có HTML, 994 00:48:53,460 --> 00:48:56,180 trong số đó là một ngôn ngữ được gọi là JavaScript, 995 00:48:56,180 --> 00:48:59,420 và đây là những gì được gọi là một chức năng gọi hoặc gọi thủ tục. 996 00:48:59,420 --> 00:49:04,500 Đây là một động từ, nghĩa là, trong trường hợp này, và tôi đang gọi chức năng đang 997 00:49:04,500 --> 00:49:06,310 mà người khác đã viết. 998 00:49:06,310 --> 00:49:09,630 >> Vì vậy, chức năng đó là một cảnh báo, vì vậy chúng ta hãy đi đến trang này 999 00:49:09,630 --> 00:49:14,046 bây giờ và nhấp vào tải lại, và bây giờ bạn thấy một chút về tương tác. 1000 00:49:14,046 --> 00:49:15,420 Đó là loại trường học cũ và xấu xí. 1001 00:49:15,420 --> 00:49:18,580 Điều này loại nhắc nhở bạn về những pop-up, có lẽ, của năm qua 1002 00:49:18,580 --> 00:49:22,030 nhưng nó đã làm một cái gì đó ít chương trình hơn. 1003 00:49:22,030 --> 00:49:26,940 >> Vì vậy, hơn thế nữa, chúng ta hãy làm một cái gì đó thú vị hơn. 1004 00:49:26,940 --> 00:49:30,980 Hãy để tôi đi ở đây và thoát khỏi điều này. 1005 00:49:30,980 --> 00:49:33,840 Và tôi sẽ đi trước và tạo ra một hình thức giống như chúng tôi đã làm ngày hôm qua. 1006 00:49:33,840 --> 00:49:34,840 Trên thực tế, bạn biết những gì? 1007 00:49:34,840 --> 00:49:37,350 Tôi sẽ đi vào google.html, mà chúng tôi 1008 00:49:37,350 --> 00:49:43,027 bắt đầu vào ngày hôm qua, mà trông giống như này, qua đó chúng tôi đã tìm kiếm cho mèo 1009 00:49:43,027 --> 00:49:45,360 Nhưng chú ý có loại một lỗi trong phiên bản hiện tại. 1010 00:49:45,360 --> 00:49:49,770 Nó hoạt động cho mèo, nhưng giả sử rằng Tôi không hợp tác và tôi gõ không có gì, 1011 00:49:49,770 --> 00:49:53,290 và tôi chỉ đơn giản là nhấp vào gửi. 1012 00:49:53,290 --> 00:49:54,540 Đó là loại hành vi kỳ lạ. 1013 00:49:54,540 --> 00:49:57,300 Đưa tôi đến Google thực, đã không cho tôi một thông báo lỗi. 1014 00:49:57,300 --> 00:50:00,590 Tôi muốn nói cho người dùng bạn cần phải cung cấp cho chúng tôi một giá trị. 1015 00:50:00,590 --> 00:50:01,780 >> Vậy làm thế nào chúng ta có thể làm được điều này? 1016 00:50:01,780 --> 00:50:06,790 Vâng cho tôi quay trở lại vào Cloud9 và hãy để tôi đi vào phía trên cùng của trang của tôi 1017 00:50:06,790 --> 00:50:11,980 và thêm một thẻ script như thế này, nơi Tôi sẽ gõ một số mã JavaScript. 1018 00:50:11,980 --> 00:50:15,420 Và tôi sẽ làm như sau. 1019 00:50:15,420 --> 00:50:22,910 Nếu (document.getelementByID-- và thu hồi mà chúng tôi nói chuyện về điều đó sớm hơn, 1020 00:50:22,910 --> 00:50:23,960 rằng chức năng. 1021 00:50:23,960 --> 00:50:25,310 ID những gì tôi muốn để có được? 1022 00:50:25,310 --> 00:50:33,050 Tôi muốn nhận được q, và tôi sẽ nói là không còn gì, như này-- 1023 00:50:33,050 --> 00:50:38,220 thực sự cho tôi sử dụng dấu ngoặc kép chỉ cho consistency-- là không còn gì, 1024 00:50:38,220 --> 00:50:46,650 sau đó alert ( "Xin vui lòng nhập một truy vấn") ở đây. 1025 00:50:46,650 --> 00:50:49,200 >> Vì vậy, tôi có những gì xuất hiện để được một cái gì đó như một điều kiện. 1026 00:50:49,200 --> 00:50:51,410 Chúng tôi đã nhìn thấy ý tưởng này nói chung trong Scratch. 1027 00:50:51,410 --> 00:50:54,240 Nó giống như một trong những câu đố miếng mà trông như thế này. 1028 00:50:54,240 --> 00:50:55,780 Và tôi nói những gì? 1029 00:50:55,780 --> 00:50:59,520 Vâng, ở đây, thấy tôi sẽ làm như sau. 1030 00:50:59,520 --> 00:51:02,790 Tôi sẽ cung cấp cho hình thức này lĩnh vực không chỉ là một tên của q, trong đó 1031 00:51:02,790 --> 00:51:06,630 là những gì được thông qua với Google, nhưng tôi sẽ cung cấp cho nó một định danh địa phương, 1032 00:51:06,630 --> 00:51:07,630 cũng gọi là q. 1033 00:51:07,630 --> 00:51:11,780 Nhưng tôi có thể gọi bất cứ điều gì này tôi muốn, tôi chỉ cần đi để giữ cho nó đơn giản 1034 00:51:11,780 --> 00:51:14,570 và cũng gọi nó là q, chỉ vì đơn giản. 1035 00:51:14,570 --> 00:51:17,650 >> Và bây giờ tôi đang đi làm một cái gì đó nhiều hơn một chút. 1036 00:51:17,650 --> 00:51:22,600 Trên cánh đồng mẫu ở đây, tôi sẽ thêm vào những gì được gọi là một xử lý sự kiện. 1037 00:51:22,600 --> 00:51:32,260 Mở trình, tôi muốn gọi một chức năng có tên validate. 1038 00:51:32,260 --> 00:51:35,520 Điều này không tồn tại, này từ, hoặc validate động từ này, 1039 00:51:35,520 --> 00:51:38,560 bởi vì những gì tôi sẽ làm lên đây bây giờ là thêm một số mã. 1040 00:51:38,560 --> 00:51:42,200 >> Tôi sẽ nói rằng chức năng validate. 1041 00:51:42,200 --> 00:51:48,280 Tôi sẽ thụt này và thêm một cú đúp xoăn ở đây và một số khác ở đây. 1042 00:51:48,280 --> 00:51:50,110 Hãy xem xét điều này bây giờ là làm. 1043 00:51:50,110 --> 00:51:54,210 Tôi có now-- nghĩ về điều này như tạo của tôi mảnh ghép riêng mà trước đây chưa 1044 00:51:54,210 --> 00:51:57,440 tồn tại, và tôi đã được gọi là câu đố này mảnh mảnh validate câu đố. 1045 00:51:57,440 --> 00:52:01,620 Mục đích của nó trong cuộc sống là để thực hiện bốn dòng mã bên trong của nó. 1046 00:52:01,620 --> 00:52:04,940 >> Nếu document.getElementById nên khái niệm, 1047 00:52:04,940 --> 00:52:09,380 có nghĩa là sẽ đi vào các yếu tố, các phần tử HTML mà độc đáo 1048 00:52:09,380 --> 00:52:12,930 Ý tưởng chỉ là q, và sau đó mặc dù cú pháp trông hơi kỳ lạ, 1049 00:52:12,930 --> 00:52:16,430 đó bằng bằng chỉ có nghĩa là bình đẳng. 1050 00:52:16,430 --> 00:52:20,950 Vì vậy, đó có nghĩa là nếu các phần tử với định danh duy nhất của q, khi nhận được, 1051 00:52:20,950 --> 00:52:25,700 không có giá trị, nó chỉ bằng quote unquote, không có gì trong đó, 1052 00:52:25,700 --> 00:52:27,170 sau đó những gì tôi muốn làm gì? 1053 00:52:27,170 --> 00:52:29,360 Tôi muốn hét lên với người sử dụng. 1054 00:52:29,360 --> 00:52:31,710 >> Và chúng ta sẽ không đi chi tiết ở đây. 1055 00:52:31,710 --> 00:52:32,960 Tôi sẽ trả về false. 1056 00:52:32,960 --> 00:52:34,380 Đó là một lỗi. 1057 00:52:34,380 --> 00:52:38,746 Khác, tôi sẽ trở thành sự thật. 1058 00:52:38,746 --> 00:52:40,120 Vì vậy, hoặc nó làm việc hoặc nó không. 1059 00:52:40,120 --> 00:52:41,800 Sai hoặc đúng. 1060 00:52:41,800 --> 00:52:47,820 Và bây giờ nếu tôi không thực hiện bất kỳ sai lầm, cho tôi lưu này và tải lại này. 1061 00:52:47,820 --> 00:52:50,940 Và hãy để tôi kiểm tra chỉ gấp đôi Tôi đã không, trên thực tế, thực hiện bất kỳ lỗi chính tả, 1062 00:52:50,940 --> 00:52:52,690 vì vậy tôi không xấu hổ bản thân mình. 1063 00:52:52,690 --> 00:52:54,240 Hãy xem nếu công trình này. 1064 00:52:54,240 --> 00:52:56,930 >> Vì vậy, bây giờ tôi sẽ phải gõ mèo. 1065 00:52:56,930 --> 00:52:59,421 Nó vẫn hoạt động, hoặc công trình nửa, ít nhất. 1066 00:52:59,421 --> 00:53:02,170 Bây giờ hãy để tôi tải lại nó, và bây giờ chúng ta hãy tôi thử gửi mà không cần gõ 1067 00:53:02,170 --> 00:53:05,860 anything-- chết tiệt, nó đã phá vỡ. 1068 00:53:05,860 --> 00:53:06,430 Một khoảnh khắc. 1069 00:53:06,430 --> 00:53:09,380 1070 00:53:09,380 --> 00:53:12,660 Hãy để tôi mở giao diện điều khiển, [IM LẶNG] đăng nhập, tải lại trang. 1071 00:53:12,660 --> 00:53:13,576 Hãy để tôi thử này một lần nữa. 1072 00:53:13,576 --> 00:53:17,000 1073 00:53:17,000 --> 00:53:17,501 Oh, chết tiệt. 1074 00:53:17,501 --> 00:53:18,000 Tôi quên mất. 1075 00:53:18,000 --> 00:53:18,630 Tôi đã thực hiện một lỗi đánh máy. 1076 00:53:18,630 --> 00:53:20,760 Tôi nhớ nó là gì. 1077 00:53:20,760 --> 00:53:21,350 .giá trị. 1078 00:53:21,350 --> 00:53:27,060 Tôi muốn nói nếu giá trị của nguyên tố ID mà là q 1079 00:53:27,060 --> 00:53:29,800 bằng đó, sau đó hét lên với người sử dụng. 1080 00:53:29,800 --> 00:53:31,870 >> Vì vậy, bây giờ hãy để tôi giữ hơi thở của tôi một lần nữa. 1081 00:53:31,870 --> 00:53:33,480 Ở đây chúng tôi đi. 1082 00:53:33,480 --> 00:53:34,130 Hiện chúng tôi đi. 1083 00:53:34,130 --> 00:53:35,010 Xin vui lòng nhập một truy vấn. 1084 00:53:35,010 --> 00:53:36,840 Vì vậy, nó không để cho tôi qua. 1085 00:53:36,840 --> 00:53:40,210 Tôi có thể được loại vui tươi với điều này, và thay vì kiểm tra không có giá trị, 1086 00:53:40,210 --> 00:53:46,720 Tôi có thể nói điều gì đó như thế nào, không tìm kiếm cho mèo, 1087 00:53:46,720 --> 00:53:51,150 và bây giờ chúng ta có thể chỉ tinh nghịch hơn chúng ta hãy người dùng tìm kiếm cho chó nếu anh ta hoặc cô 1088 00:53:51,150 --> 00:53:57,490 muốn, hoặc nếu tôi đi ở đây và tìm kiếm cho mèo, bây giờ tôi không thể. 1089 00:53:57,490 --> 00:53:58,690 >> Vì vậy, các takeaway những gì ở đây? 1090 00:53:58,690 --> 00:54:03,010 Vì vậy, một, chúng tôi đã giới thiệu thành thế giới của chúng ta về HTML và CSS, 1091 00:54:03,010 --> 00:54:04,320 chức năng lập trình. 1092 00:54:04,320 --> 00:54:06,300 Tôi có thể thực hiện đưa ra quyết định trong mã. 1093 00:54:06,300 --> 00:54:10,570 Trước đây, tất cả tôi có thể làm là đánh dấu lên nội dung văn bản hoặc nội dung đồ họa 1094 00:54:10,570 --> 00:54:13,080 và nói với nó những gì để tìm như thế nào và để hiển thị. 1095 00:54:13,080 --> 00:54:16,650 Bây giờ tôi thực sự có thể yêu cầu câu hỏi của trang web 1096 00:54:16,650 --> 00:54:20,010 và đưa ra quyết định dựa trên vào nó, và nhắc nhở người dùng 1097 00:54:20,010 --> 00:54:22,780 nếu tôi cần phải hét lên với anh ta hoặc cô. 1098 00:54:22,780 --> 00:54:28,740 >> Vì vậy, hãy thử một cái gì đó riêng của chúng tôi với điều này. 1099 00:54:28,740 --> 00:54:33,350 Về phía trước, hãy để tôi mở ra các slide tiếp theo ở đây, và chỉ cần chỉ ra một điều. 1100 00:54:33,350 --> 00:54:37,250 Cũng giống như với CSS, chúng ta có thể yếu tố ra mã JavaScript vào một file riêng biệt, 1101 00:54:37,250 --> 00:54:40,660 bạn có thể làm điều tương tự với JavaScript như với CSS. 1102 00:54:40,660 --> 00:54:44,520 Và bạn sử dụng mà sử dụng một nguồn thuộc tính của các thẻ script. 1103 00:54:44,520 --> 00:54:46,540 Nhưng chúng tôi sẽ không làm phức tạp mọi thứ cho bây giờ. 1104 00:54:46,540 --> 00:54:50,440 Thay vào đó, nếu bạn có thể đi không trang này, 1105 00:54:50,440 --> 00:55:02,690 nhưng-- cho tôi di chuyển xung quanh này trong order-- đi đến, nếu bạn có thể, trang này ở đây. 1106 00:55:02,690 --> 00:55:03,592 URL này đây. 1107 00:55:03,592 --> 00:55:04,550 Đó là trong slide hiện nay. 1108 00:55:04,550 --> 00:55:07,133 Bạn có thể phải tải lại vì Tôi đã thêm một vài điều. 1109 00:55:07,133 --> 00:55:09,970 1110 00:55:09,970 --> 00:55:13,890 >> Nhưng đến đó, nơi một số câu đố đang chờ đợi. 1111 00:55:13,890 --> 00:55:16,670 Và điều này sẽ cung cấp cho chúng tôi một cơ hội, trong bối cảnh một chút vui vẻ hơn, 1112 00:55:16,670 --> 00:55:20,610 đến lĩnh với một số JavaScript. 1113 00:55:20,610 --> 00:55:25,505 Và khi bạn nhận được ở đó, Tôi sẽ giải thích những gì đang chờ đợi. 1114 00:55:25,505 --> 00:55:47,350 1115 00:55:47,350 --> 00:55:47,850 Nhận xanh. 1116 00:55:47,850 --> 00:56:03,063 1117 00:56:03,063 --> 00:56:03,562 Đặt màu xanh. 1118 00:56:03,562 --> 00:56:11,030 1119 00:56:11,030 --> 00:56:13,930 Thiết lập màu xanh lá cây, đặt màu đỏ. 1120 00:56:13,930 --> 00:56:19,220 1121 00:56:19,220 --> 00:56:20,220 Rất tiếc. 1122 00:56:20,220 --> 00:56:22,330 Lấy làm tiếc. 1123 00:56:22,330 --> 00:56:27,630 >> Đây là mức độ của chúng tôi tài liệu cho thử thách này. 1124 00:56:27,630 --> 00:56:29,920 Và điều này sẽ làm việc như sau. 1125 00:56:29,920 --> 00:56:33,340 Vì vậy, những gì bạn có trong này trang là cả một bó 1126 00:56:33,340 --> 00:56:38,024 câu đố hình ảnh của một người bạn tại Đại học Stanford. 1127 00:56:38,024 --> 00:56:41,190 Vì vậy, những gì bạn nhìn thấy ở đây là hầu hết loại một trong những câu đố Magic Eye, 1128 00:56:41,190 --> 00:56:43,815 nhưng nếu bạn chỉ nhìn chằm chằm vào nó, không có gì sẽ bật ra ở bạn. 1129 00:56:43,815 --> 00:56:46,000 Thay vào đó, một cái gì đó là ẩn trong hình ảnh này. 1130 00:56:46,000 --> 00:56:47,790 Và nó ẩn trong các cách sau đây. 1131 00:56:47,790 --> 00:56:51,740 Hình ảnh, bạn có thể biết, có thể là gồm chỉ có ba màu. 1132 00:56:51,740 --> 00:56:53,346 Một số màu đỏ, một số màu xanh, và một số màu xanh lá cây. 1133 00:56:53,346 --> 00:56:55,220 Và chúng ta có thể làm cho tất cả các màu trong cầu vồng 1134 00:56:55,220 --> 00:56:57,570 bằng cách trộn ba màu sắc bằng cách nào đó. 1135 00:56:57,570 --> 00:57:01,940 >> Vì vậy, điều này có vẻ chủ yếu là màu xanh lá cây và màu xanh, nhưng khi Nick nói ở đây, 1136 00:57:01,940 --> 00:57:04,060 hình ảnh sắt đố này là một câu đố. 1137 00:57:04,060 --> 00:57:06,780 Nó chứa một hình ảnh của một cái gì đó nổi tiếng, tuy nhiên, 1138 00:57:06,780 --> 00:57:08,310 hình ảnh đã bị bóp méo. 1139 00:57:08,310 --> 00:57:11,500 Các đối tượng nổi tiếng là trong các giá trị màu đỏ. 1140 00:57:11,500 --> 00:57:13,810 giá trị Tuy nhiên, màu đỏ có tất cả được chia cho 10. 1141 00:57:13,810 --> 00:57:16,230 Vì vậy, chúng quá nhỏ bởi một yếu tố của 10. 1142 00:57:16,230 --> 00:57:18,280 Vì vậy, nói cách khác, Nick mất một hình ảnh ban đầu, 1143 00:57:18,280 --> 00:57:21,500 và ông desaturated tất cả của màu đỏ từ nó, 1144 00:57:21,500 --> 00:57:23,850 giảm số lượng màu đỏ mực, nếu bạn muốn, ở trong đó. 1145 00:57:23,850 --> 00:57:26,060 >> Các giá trị màu xanh và màu xanh lá cây là tất cả chỉ là vô nghĩa, 1146 00:57:26,060 --> 00:57:30,000 giá trị ngẫu nhiên, hay còn gọi là thiết kế tiếng ồn để làm mờ hình ảnh thực sự. 1147 00:57:30,000 --> 00:57:32,250 Vì vậy, những gì Nick đã làm là ông giảm bớt các màu đỏ và sau đó 1148 00:57:32,250 --> 00:57:34,380 ông chỉ ném ngẫu nhiên lượng của màu xanh và màu xanh lá cây 1149 00:57:34,380 --> 00:57:37,590 vào hình ảnh để loại che khuất những gì là thực sự vẫn còn ở đó. 1150 00:57:37,590 --> 00:57:41,089 Bạn phải hoàn tác những biến dạng để lộ hình ảnh. 1151 00:57:41,089 --> 00:57:44,255 Đầu tiên, thiết lập tất cả các giá trị màu xanh và màu xanh lá cây để không để có được chúng ra khỏi con đường, 1152 00:57:44,255 --> 00:57:48,700 và nhìn vào kết quả. Sau đó nhân mỗi giá trị red 10, 1153 00:57:48,700 --> 00:57:51,720 nhân rộng trở lại lên đến khoảng giá trị cuối cùng của nó. 1154 00:57:51,720 --> 00:57:53,035 các đối tượng nổi tiếng là gì? 1155 00:57:53,035 --> 00:57:57,920 >> Vì vậy, tất cả các bạn có hình chữ nhật này trong trình duyệt của bạn ngay bây giờ. 1156 00:57:57,920 --> 00:58:00,830 Và nhận thấy rằng có một số đang khởi động, vậy để nói chuyện. 1157 00:58:00,830 --> 00:58:04,370 Đây là mã JavaScript Nick đã viết cho bạn. 1158 00:58:04,370 --> 00:58:07,250 Và nhận thấy rằng có một đường ở giữa mà 1159 00:58:07,250 --> 00:58:10,380 bắt đầu với một dấu gạch chéo slash, đó là những gì thường được gọi là một nhận xét. 1160 00:58:10,380 --> 00:58:14,660 Nó có nghĩa là đó là một cụm từ để các lập trình viên mà không có ý nghĩa chức năng. 1161 00:58:14,660 --> 00:58:16,520 Nó chỉ là một gợi ý trực quan đến con người. 1162 00:58:16,520 --> 00:58:18,670 >> Vì vậy, bạn có thể đi trước và xóa chỉ dòng đó, 1163 00:58:18,670 --> 00:58:22,214 và được siêu cẩn thận không để xóa hoặc thay đổi bất cứ điều gì khác. 1164 00:58:22,214 --> 00:58:25,130 Và hãy để tôi chỉ hướng dẫn bạn thông qua những mã này không và tôi sẽ để nó 1165 00:58:25,130 --> 00:58:28,580 cho bạn để tìm ra các hình ảnh bí mật. 1166 00:58:28,580 --> 00:58:32,226 dòng đầu tiên này ở đây mà tôi đã chỉ đánh dấu cho bạn sau. 1167 00:58:32,226 --> 00:58:34,100 Ở phía bên tay trái, Bạn có những gì được gọi là 1168 00:58:34,100 --> 00:58:39,140 một biến mà Nick đã tùy tiện, nhưng hợp lý gọi là im cho hình ảnh. 1169 00:58:39,140 --> 00:58:41,660 Bên phía tay phải đó dấu bằng, 1170 00:58:41,660 --> 00:58:45,240 anh ấy nói cho tôi một mới quote, unquote "hình ảnh đơn giản". 1171 00:58:45,240 --> 00:58:49,680 >> hình ảnh đơn giản, trong bối cảnh này là những gì được gọi là một lớp, tốt, 1172 00:58:49,680 --> 00:58:53,910 nó giống như là một class-- Về kỹ thuật prototype-- nhưng thực sự, 1173 00:58:53,910 --> 00:58:58,000 này đem lại cho tôi một đối tượng mới, các nội dung trong đó là các tập tin, 1174 00:58:58,000 --> 00:58:59,610 sắt puzzle.png. 1175 00:58:59,610 --> 00:59:03,190 Nói cách khác, Nick đã tạo khái niệm về một hình ảnh đơn giản 1176 00:59:03,190 --> 00:59:05,920 để chúng tôi có thể, sư phạm mục đích, chơi với các hình ảnh 1177 00:59:05,920 --> 00:59:09,790 và thay đổi màu đỏ của nó, màu xanh lá cây, và màu xanh giá trị. 1178 00:59:09,790 --> 00:59:11,750 >> Và làm thế nào chúng tôi làm điều đó? 1179 00:59:11,750 --> 00:59:15,360 Đây cú pháp hơi khó hiểu ở đây là loại giống như các khối lặp lại 1180 00:59:15,360 --> 00:59:19,140 rằng một số bạn đã thấy trong Scratch trước ngày hôm nay, nơi bạn có thể lặp lại 10 lần. 1181 00:59:19,140 --> 00:59:22,220 Trong trường hợp này, Nick đã không hardcoded một số như 10. 1182 00:59:22,220 --> 00:59:28,020 Thay vào đó, ông đang nói, khởi tạo một biến gọi là x 0, 1183 00:59:28,020 --> 00:59:33,180 kiểm tra nếu x là ít hơn chiều rộng của hình ảnh. 1184 00:59:33,180 --> 00:59:38,160 >> Và do đó, để có thể thích hợp hơn, là hình ảnh biến, dấu chấm là đi bên trong của nó 1185 00:59:38,160 --> 00:59:40,900 và có được chiều rộng của nó, và sau đó dấu ngoặc mở, đóng cửa 1186 00:59:40,900 --> 00:59:43,687 Dấu ngoặc đơn chỉ là cách của một lập trình nói đây là một chức năng. 1187 00:59:43,687 --> 00:59:44,520 Đây là một thủ tục. 1188 00:59:44,520 --> 00:59:46,430 Đây là chức năng người khác đã viết. 1189 00:59:46,430 --> 00:59:48,570 Sử dụng nó và cho tôi trở lại một câu trả lời. 1190 00:59:48,570 --> 00:59:53,610 Và sau đó x ++ là một cách ưa thích của nói, sau khi bạn đã làm điều này một lần, 1191 00:59:53,610 --> 00:59:55,850 tăng x 1. 1192 00:59:55,850 --> 00:59:58,760 Nói cách khác, điều này là cách của một lập trình 1193 00:59:58,760 --> 01:00:05,760 gây ra một vòng lặp đó là sẽ lặp trên 1194 01:00:05,760 --> 01:00:10,410 tất cả các cột trong một hình ảnh. 1195 01:00:10,410 --> 01:00:14,790 >> Một hình ảnh chỉ là một mạng lưới các dấu chấm, các hàng và cột của các chấm. 1196 01:00:14,790 --> 01:00:18,270 Đây là một cách iterating trên tất cả các cột. 1197 01:00:18,270 --> 01:00:20,770 Và bên trong, Trong khi đó, chúng tôi đang lặp lại 1198 01:00:20,770 --> 01:00:24,030 trên những đỉnh cao, ở đây và ở đây và ở đây. 1199 01:00:24,030 --> 01:00:29,442 Vì vậy, đây chỉ là một cách để traipsing, gần giống như một chiếc máy đánh chữ trường học cũ, 1200 01:00:29,442 --> 01:00:32,230 chỉ cần đi qua toàn bộ hình ảnh lặp đi lặp lại. 1201 01:00:32,230 --> 01:00:36,370 Thậm chí đó là không hoàn toàn hoàn toàn rõ ràng, chỉ cần mang về đức tin cho bây giờ, 1202 01:00:36,370 --> 01:00:38,880 mà những ba dòng mã với nhau là 1203 01:00:38,880 --> 01:00:43,090 sẽ cho phép bạn lặp đi lặp lại tìm kiếm tại mỗi điểm ảnh, mỗi chấm trong hình ảnh. 1204 01:00:43,090 --> 01:00:43,790 >> một điểm ảnh là gì? 1205 01:00:43,790 --> 01:00:46,250 Vâng, để được rõ ràng, nếu chúng ta nhìn tại gốc và phóng to, 1206 01:00:46,250 --> 01:00:49,060 nếu bạn thực sự đưa đôi mắt của bạn vào màn hình máy tính, đó là 1207 01:00:49,060 --> 01:00:53,510 chỉ là một bó toàn bộ các dấu chấm, một số ngàn chấm đóng gói lại với nhau ở đó. 1208 01:00:53,510 --> 01:00:56,180 Và vì vậy bạn có những gì về để làm gì? 1209 01:00:56,180 --> 01:00:59,240 Mỗi một trong những dấu chấm, một định nghĩa chính thức, 1210 01:00:59,240 --> 01:01:06,350 là kết quả của những gì thường gọi là RGB, đỏ, xanh lá cây, màu xanh, mà 1211 01:01:06,350 --> 01:01:09,940 một lần nữa, có thể được kết hợp để cung cấp cho bạn bất kỳ số lượng màu sắc. 1212 01:01:09,940 --> 01:01:13,200 >> Trong thực tế, nếu bạn nhớ từ nhiều người, nhiều năm trước đây, 1213 01:01:13,200 --> 01:01:17,320 màn hình máy chiếu như những điều này sử dụng để không chỉ có một ống kính nhưng ba. 1214 01:01:17,320 --> 01:01:20,700 Một trong số đó nhổ ra ánh sáng màu đỏ, một trong những họ nhổ ra ánh sáng màu xanh lá cây, một trong số họ 1215 01:01:20,700 --> 01:01:21,600 nhổ ra ánh sáng màu xanh. 1216 01:01:21,600 --> 01:01:24,391 Và nếu bạn đang ở trong một trường trung học như tôi là nơi mà họ chưa bao giờ 1217 01:01:24,391 --> 01:01:27,000 đúng đắn phù hợp, bạn đã luôn xem phim lịch sử 1218 01:01:27,000 --> 01:01:29,770 đó là hơi bị bóp méo, bởi vì ba màu sắc không 1219 01:01:29,770 --> 01:01:30,970 kết hợp đúng cách. 1220 01:01:30,970 --> 01:01:36,330 >> Nhưng nó chỉ ra rằng mỗi các giá trị màu đỏ, xanh lá cây, và màu xanh, 1221 01:01:36,330 --> 01:01:37,980 có thể có một số liên kết với chúng. 1222 01:01:37,980 --> 01:01:42,500 Ví dụ, 0 cho màu đỏ có nghĩa là không có đỏ, 0 cho màu xanh lá cây có nghĩa là không có màu xanh lá cây, 1223 01:01:42,500 --> 01:01:45,120 và 0 cho màu xanh có nghĩa là không có màu xanh. 1224 01:01:45,120 --> 01:01:49,403 Vì vậy, nếu bạn không có màu đỏ, không có màu xanh lá cây, và không có màu xanh, màu gì làm bạn có? 1225 01:01:49,403 --> 01:01:51,009 >> Đung [IM LẶNG] 1226 01:01:51,009 --> 01:01:52,800 DAVID Malan: Bạn sẽ hy vọng như vậy, đó là màu trắng. 1227 01:01:52,800 --> 01:01:55,333 Thật không may, điều này vận hành-- xin lỗi? 1228 01:01:55,333 --> 01:01:56,380 >> Đung [IM LẶNG] 1229 01:01:56,380 --> 01:01:58,630 DAVID Malan: Vì vậy, bạn thực sự có màu đen, trong trường hợp này. 1230 01:01:58,630 --> 01:02:01,530 Vì vậy, nếu bạn không có một trong những màu sắc bật, bạn có màu đen. 1231 01:02:01,530 --> 01:02:06,510 Tuy nhiên, nếu bạn có, hãy nói rất nhiều của họ, giống như rất nhiều màu đỏ, 255 của nó, 1232 01:02:06,510 --> 01:02:10,340 rất nhiều màu xanh lá cây, và rất nhiều màu xanh, đó là màu trắng. 1233 01:02:10,340 --> 01:02:12,230 Vì vậy, đây là hai thái cực. 1234 01:02:12,230 --> 01:02:17,460 Vì vậy, theo logic này, nếu tôi có rất nhiều của màu đỏ và màu xanh lá cây không có và không có màu xanh, 1235 01:02:17,460 --> 01:02:18,485 màu gì vậy? 1236 01:02:18,485 --> 01:02:19,360 Đung [IM LẶNG] 1237 01:02:19,360 --> 01:02:20,610 DAVID Malan: Đúng, rõ ràng. 1238 01:02:20,610 --> 01:02:25,940 Và sau đó không có màu đỏ, rất nhiều màu xanh lá cây, không có màu xanh, và sau đó 1239 01:02:25,940 --> 01:02:29,590 nếu bạn có-- tốt, chúng tôi sẽ chỉ kết thúc nó, chỉ vì, nhưng điều này, tất nhiên, 1240 01:02:29,590 --> 01:02:31,350 bây giờ, là màu xanh. 1241 01:02:31,350 --> 01:02:33,030 Và bây giờ bạn có thể kết hợp những màu sắc. 1242 01:02:33,030 --> 01:02:36,430 Bây giờ là một sang một bên, nếu có của bạn có từng làm một số thiết kế trang web thực tế, 1243 01:02:36,430 --> 01:02:38,360 bạn có thể thực sự nhìn thấy biểu tượng như thế này. 1244 01:02:38,360 --> 01:02:42,030 FFF-- và trên thực tế, đó là có lẽ thậm chí là không. 1245 01:02:42,030 --> 01:02:44,380 Đó là FFFFFF. 1246 01:02:44,380 --> 01:02:48,970 >> Bất cứ ai từng nhìn thấy F và E và A through-- để nó quay ra, 1247 01:02:48,970 --> 01:02:52,970 chúng tôi nói chuyện ngày hôm qua về số thập phân, và ngày nay, loại về số thập phân. 1248 01:02:52,970 --> 01:02:54,570 Hôm nay chúng ta nói về nhị phân. 1249 01:02:54,570 --> 01:02:59,010 Hóa ra, thập lục phân là rất hệ thống cơ sở chung để sử dụng trong tính toán. 1250 01:02:59,010 --> 01:03:04,960 Nhị phân là hai, số thập phân là 10, hex là 16. 1251 01:03:04,960 --> 01:03:08,640 Và hóa ra, làm thế nào bạn đếm thập lục phân? 1252 01:03:08,640 --> 01:03:11,620 Zero, một, hai, ba, bốn, năm, sáu, bảy, tám, 1253 01:03:11,620 --> 01:03:14,730 chín, làm những gì bạn sử dụng sau khi chín? 1254 01:03:14,730 --> 01:03:16,600 số tiếp theo là gì? 1255 01:03:16,600 --> 01:03:19,180 Chúng tôi đã sử dụng bằng không. 1256 01:03:19,180 --> 01:03:20,570 Tôi cần 16 trong số này. 1257 01:03:20,570 --> 01:03:25,770 Zero, một, hai, ba, bốn, năm, sáu, bảy, tám, chín, 1258 01:03:25,770 --> 01:03:27,520 bạn cần một số quy ước tùy ý. 1259 01:03:27,520 --> 01:03:30,810 >> Và những gì loài người quyết định một thời gian trước rằng sau chín đến thư 1260 01:03:30,810 --> 01:03:34,450 A và sau đó B và sau đó C. Vì vậy, các cách bạn đếm thập lục phân 1261 01:03:34,450 --> 01:03:37,040 là số không, một, hai, ba, bốn, năm, sáu, bảy, tám, chín, 1262 01:03:37,040 --> 01:03:42,880 A, B, C, D, E, F, và điều đó sẽ đếm bạn tất cả các cách, nó quay ra, đến 15. 1263 01:03:42,880 --> 01:03:47,850 Vì vậy, bằng không đến 15 là số không qua F. Bây giờ tại sao là đáng kể? 1264 01:03:47,850 --> 01:03:51,570 Vâng, khi bạn có hai F, đó là cách bạn thể hiện 255. 1265 01:03:51,570 --> 01:03:54,350 >> Vì vậy, dài truyện ngắn, trong thế giới của Photoshop, 1266 01:03:54,350 --> 01:03:57,299 là phần mềm thiết kế đồ họa, trong thế giới phát triển web, 1267 01:03:57,299 --> 01:03:59,590 nơi bạn có rất nhiều màu sắc, tất nhiên, để chơi với, 1268 01:03:59,590 --> 01:04:02,350 thường các lập trình viên sẽ thể hiện những người trong hệ thập lục phân, 1269 01:04:02,350 --> 01:04:05,260 chỉ vì nó có xu hướng để đơn giản một chút. 1270 01:04:05,260 --> 01:04:07,850 Mặc dù ở cái nhìn đầu tiên nó phức tạp hơn nhiều. 1271 01:04:07,850 --> 01:04:11,590 >> Vì vậy, trong mọi trường hợp, điều này là quan trọng vì Nick tại Stanford 1272 01:04:11,590 --> 01:04:15,100 đã cho chúng ta sáu miếng chức năng bạn, các lập trình viên vừa chớm nở, 1273 01:04:15,100 --> 01:04:17,060 bây giờ sẽ có khả năng sử dụng. 1274 01:04:17,060 --> 01:04:19,960 Được xây dựng vào web này Trang là sáu chức năng, 1275 01:04:19,960 --> 01:04:21,820 sáu thủ tục mà Nick đã viết. 1276 01:04:21,820 --> 01:04:26,800 Ba trong số họ sẽ giúp bạn có được một số, một màu đỏ, một màu xanh lá cây, hoặc một giá trị màu xanh. 1277 01:04:26,800 --> 01:04:28,787 Ba trong số họ sẽ thiết lập giá trị đó. 1278 01:04:28,787 --> 01:04:30,620 Và những dấu gạch chỉ giữ chỗ, 1279 01:04:30,620 --> 01:04:32,600 vì vậy bạn cần phải biết đó là gì. 1280 01:04:32,600 --> 01:04:36,240 >> Vì vậy, với ba chức năng, đầu tiên của những điều này 1281 01:04:36,240 --> 01:04:39,190 sẽ là một tọa độ x, và thứ hai của những điều này 1282 01:04:39,190 --> 01:04:40,700 sẽ là một y phối hợp. 1283 01:04:40,700 --> 01:04:44,650 Nói cách khác, trong đó dấu chấm, mà điểm ảnh nào bạn muốn để có được màu xanh của, 1284 01:04:44,650 --> 01:04:46,480 có được màu xanh của, có màu đỏ của. 1285 01:04:46,480 --> 01:04:51,440 Và sau đó ở đây, điều này sẽ là x, đây sẽ là một giá trị y, 1286 01:04:51,440 --> 01:04:55,379 và điều này sẽ là một con số. 1287 01:04:55,379 --> 01:04:57,170 Vì vậy, chúng ta hãy làm việc đầu tiên dòng này lại với nhau 1288 01:04:57,170 --> 01:05:00,220 và sau đó tôi sẽ để lại nó cho bạn để cố gắng suy ra phần còn lại. 1289 01:05:00,220 --> 01:05:03,100 Vì vậy, theo các hướng dẫn trên trang này, chúng ta cần 1290 01:05:03,100 --> 01:05:08,960 để tăng màu đỏ bởi một yếu tố của 10, và chúng ta cần phải loại bỏ các màu xanh lá cây 1291 01:05:08,960 --> 01:05:09,930 và loại bỏ các màu xanh. 1292 01:05:09,930 --> 01:05:12,410 Hãy bắt đầu với những tình huống sau. 1293 01:05:12,410 --> 01:05:17,760 Vì vậy, nếu tôi muốn, và tôi sẽ indent bằng cách sử dụng một số không gian, 1294 01:05:17,760 --> 01:05:22,291 nếu tôi muốn thiết lập các màu đỏ, màu xanh lá cây, hoặc giá trị màu xanh, 1295 01:05:22,291 --> 01:05:23,540 Tôi sẽ làm như sau. 1296 01:05:23,540 --> 01:05:31,280 >> Hình ảnh, im.setBlue, và sau đó dựa trên hướng dẫn của tôi ở đây, 1297 01:05:31,280 --> 01:05:36,700 những gì ba điều tôi nên gõ bên trong dấu ngoặc đơn bây giờ? 1298 01:05:36,700 --> 01:05:41,960 Tôi cần các giá trị x, giá trị y, và những gì số 1299 01:05:41,960 --> 01:05:48,770 Tôi nên đặt ở đây nếu tôi muốn được thoát khỏi màu xanh, dựa trên câu chuyện này ở đây? 1300 01:05:48,770 --> 01:05:49,630 Chỉ số không. 1301 01:05:49,630 --> 01:05:52,420 Nếu tôi muốn không có màu xanh, tôi chỉ sẽ thay đổi thành không. 1302 01:05:52,420 --> 01:05:54,465 >> Bây giờ chúng ta hãy tóm tắt lại những gì này là làm. 1303 01:05:54,465 --> 01:05:56,970 1304 01:05:56,970 --> 01:06:01,170 Tôi đã ở đây trên những dòng thứ hai và thứ ba, 1305 01:06:01,170 --> 01:06:04,080 Tôi tuyên bố hai vòng, vòng lồng nhau, nếu bạn 1306 01:06:04,080 --> 01:06:08,360 sẽ, mà sẽ có tác dụng tiến triển từ trái sang phải, 1307 01:06:08,360 --> 01:06:11,590 trên xuống dưới trên tất cả các x giá trị và tất cả các giá trị y. 1308 01:06:11,590 --> 01:06:15,167 Bởi vì một lần nữa, một bức tranh chỉ là một mạng lưới các hàng và cột. 1309 01:06:15,167 --> 01:06:17,000 Vì vậy, đây là sẽ nhận được thoát khỏi tất cả các màu xanh. 1310 01:06:17,000 --> 01:06:18,627 Hãy để tôi ra đi trong dòng bên cạnh bạn. 1311 01:06:18,627 --> 01:06:20,043 Làm thế nào để thoát khỏi tất cả các màu xanh lá cây? 1312 01:06:20,043 --> 01:06:23,747 1313 01:06:23,747 --> 01:06:25,140 >> Đung [IM LẶNG] 1314 01:06:25,140 --> 01:06:26,151 >> DAVID Malan: Nice. 1315 01:06:26,151 --> 01:06:28,260 >> Đung [IM LẶNG] 1316 01:06:28,260 --> 01:06:30,850 >> DAVID Malan: Nice. 1317 01:06:30,850 --> 01:06:36,120 Và tôi sẽ thu nhỏ, và chỉ mất quan tâm của các bạn đã không thực hiện bất kỳ lỗi chính tả. 1318 01:06:36,120 --> 01:06:39,390 Và nếu bạn cảm thấy thoải mái với những gì bạn đã làm, 1319 01:06:39,390 --> 01:06:42,936 đi trước và bấm nút Chạy / Lưu và xem những gì bạn nhận được. 1320 01:06:42,936 --> 01:06:46,982 1321 01:06:46,982 --> 01:06:48,690 Và một lần nữa, chúng tôi đã thực hiện chỉ ba thay đổi. 1322 01:06:48,690 --> 01:06:52,130 Chúng tôi đã xóa mà đầu tiên bình luận và thay thế nó 1323 01:06:52,130 --> 01:06:53,575 với hai dòng mã. 1324 01:06:53,575 --> 01:06:55,742 1325 01:06:55,742 --> 01:06:58,450 Và đó là OK nếu bạn cần phải nhấn nút Run / Lưu một vài lần 1326 01:06:58,450 --> 01:07:01,190 để sửa chữa một cái gì đó. 1327 01:07:01,190 --> 01:07:03,610 >> Và hãy để tôi cũng phóng to của tôi mã để bạn có thể ghi lại. 1328 01:07:03,610 --> 01:07:04,110 Tốt. 1329 01:07:04,110 --> 01:07:08,720 Vì vậy, tôi thấy Andrew có gì có vẻ là một sai lầm. 1330 01:07:08,720 --> 01:07:11,110 Anh ấy chỉ có một màu đen lớn hình chữ nhật trên màn hình của mình. 1331 01:07:11,110 --> 01:07:13,120 Có ai khác có một hình chữ nhật màu đen lớn? 1332 01:07:13,120 --> 01:07:13,390 >> Đung thê. 1333 01:07:13,390 --> 01:07:14,360 >> DAVID Malan: Big hình chữ nhật màu đen? 1334 01:07:14,360 --> 01:07:16,068 OK, vì vậy hãy suy nghĩ về ý nghĩa gì. 1335 01:07:16,068 --> 01:07:20,560 Chúng tôi cho rằng, không, không, không, vì vậy không có màu xanh lá cây, không có màu đỏ, không có màu xanh, 1336 01:07:20,560 --> 01:07:21,980 sẽ cung cấp cho bạn màu đen. 1337 01:07:21,980 --> 01:07:24,467 Và nó chỉ ra rằng hầu hết các máy tính xách tay của chúng tôi 1338 01:07:24,467 --> 01:07:25,800 chỉ cần không có đủ lòng trung thành. 1339 01:07:25,800 --> 01:07:27,750 Bạn có thể không hoàn toàn nói có thực sự là một cái gì đó. 1340 01:07:27,750 --> 01:07:30,340 Và nếu bạn có loại có thể dựa màn hình phía trước và sau, 1341 01:07:30,340 --> 01:07:32,850 có lẽ bạn thấy có một chút gì đó không? 1342 01:07:32,850 --> 01:07:34,820 Có lẽ, loại, loại? 1343 01:07:34,820 --> 01:07:36,640 Nó không hoàn toàn màu đen. 1344 01:07:36,640 --> 01:07:38,050 >> Đung [IM LẶNG] 1345 01:07:38,050 --> 01:07:39,510 >> DAVID Malan: Spoiler! 1346 01:07:39,510 --> 01:07:42,610 Có một số màu đỏ ở đó, nhưng nhớ từ những thông số kỹ thuật 1347 01:07:42,610 --> 01:07:44,940 của vấn đề, Nick săn chắc nó xuống. 1348 01:07:44,940 --> 01:07:47,860 Ông desaturated nó một chút, nhưng không phải tất cả các cách để không. 1349 01:07:47,860 --> 01:07:51,670 Vì vậy, nếu chúng ta muốn phóng đại số tiền màu đỏ, hãy để tôi đề xuất trick này. 1350 01:07:51,670 --> 01:07:53,750 Hãy để tôi phóng to trên màn hình của tôi. 1351 01:07:53,750 --> 01:07:58,678 Và hãy để tôi đi trước và nói lượng bằng im.getRed (x, y). 1352 01:07:58,678 --> 01:08:02,440 1353 01:08:02,440 --> 01:08:05,790 >> dòng mã này là cho tôi một cái gì đó gọi là một biến. 1354 01:08:05,790 --> 01:08:09,643 Tôi có một cách tùy tiện, nhưng, tranh cãi, hợp lý gọi là biến của tôi những gì, 1355 01:08:09,643 --> 01:08:10,143 rõ ràng? 1356 01:08:10,143 --> 01:08:13,530 1357 01:08:13,530 --> 01:08:14,340 Số tiền. 1358 01:08:14,340 --> 01:08:14,980 Chỉ cần số tiền. 1359 01:08:14,980 --> 01:08:16,960 Tôi có thể đã gọi nó là bất cứ điều gì tôi muốn, nhưng tôi 1360 01:08:16,960 --> 01:08:19,490 sử dụng chức năng này khác mà tôi đã mô tả trước đó 1361 01:08:19,490 --> 01:08:25,359 để có được số lượng màu đỏ tại x dấu phẩy y. 1362 01:08:25,359 --> 01:08:27,520 Tại sao tôi lại làm điều đó? 1363 01:08:27,520 --> 01:08:30,004 Bạn muốn làm ở đây là gì? 1364 01:08:30,004 --> 01:08:32,910 1365 01:08:32,910 --> 01:08:33,619 Bạn cần phải add-- 1366 01:08:33,619 --> 01:08:34,493 Đung [IM LẶNG] 1367 01:08:34,493 --> 01:08:36,279 DAVID Malan: Vâng, có lẽ nhân nó bằng 10. 1368 01:08:36,279 --> 01:08:38,862 Và nếu bạn không biết điều này, tôi sẽ đi trước và làm điều này. 1369 01:08:38,862 --> 01:08:42,060 Tôi sẽ đi trước và nói, tôi muốn số lượng màu đỏ 1370 01:08:42,060 --> 01:08:46,550 Tôi muốn có bất cứ điều gì là màu đỏ, lần 10, 1371 01:08:46,550 --> 01:08:50,330 và ngôi sao, dấu hoa thị trên của bạn bàn phím là là-- không sử dụng x. 1372 01:08:50,330 --> 01:08:51,569 Sử dụng các ngôi sao. 1373 01:08:51,569 --> 01:08:55,350 Đó là cách bạn nhân vật trong hầu hết các ngôn ngữ lập trình. 1374 01:08:55,350 --> 01:08:59,790 >> Vì vậy, theo trực giác của Kareem, lưu trữ trong biến này được gọi là số tiền, 1375 01:08:59,790 --> 01:09:03,649 là bao nhiêu đỏ mà tôi muốn ở vị trí xy. 1376 01:09:03,649 --> 01:09:11,500 Làm thế nào, bây giờ, tôi làm cho rằng Pixel có con số đó? 1377 01:09:11,500 --> 01:09:12,859 Bạn đã làm điều này trước. 1378 01:09:12,859 --> 01:09:17,666 Bạn thiết lập các màu xanh lá cây và các màu xanh để không có giá trị, không. 1379 01:09:17,666 --> 01:09:18,540 Đung [IM LẶNG] 1380 01:09:18,540 --> 01:09:20,040 DAVID Malan: Vâng, cũng bạn không muốn nó đến 10. 1381 01:09:20,040 --> 01:09:21,460 Bạn đã làm toán ở đây. 1382 01:09:21,460 --> 01:09:24,779 Vì vậy, chúng tôi đang nhận được giá trị của màu đỏ, đó là một số lượng thấp, có lẽ. 1383 01:09:24,779 --> 01:09:26,180 Chúng tôi đang nhân lên 10. 1384 01:09:26,180 --> 01:09:29,139 Những gì bạn muốn làm với các biến số lượng bây giờ? 1385 01:09:29,139 --> 01:09:30,130 >> Đung [IM LẶNG] 1386 01:09:30,130 --> 01:09:30,880 >> DAVID Malan: Nice. 1387 01:09:30,880 --> 01:09:34,616 Vì vậy im.set-- gì? 1388 01:09:34,616 --> 01:09:35,640 >> Đung setRed. 1389 01:09:35,640 --> 01:09:39,760 >> DAVID Malan: setRed, tại vị trí xy. 1390 01:09:39,760 --> 01:09:40,260 Yeah. 1391 01:09:40,260 --> 01:09:41,200 Và chỉ cần số tiền. 1392 01:09:41,200 --> 01:09:44,257 Nói cách khác, một biến là một giữ chỗ tạm thời 1393 01:09:44,257 --> 01:09:45,840 rằng bạn có thể đặt bất cứ điều gì bạn muốn trong. 1394 01:09:45,840 --> 01:09:48,680 Chúng tôi tình cờ được đặt một số trong đó, tại thời điểm này. 1395 01:09:48,680 --> 01:09:51,569 Chúng tôi đã nhân với nó bằng cách 10 để làm cho nó lớn hơn. 1396 01:09:51,569 --> 01:09:56,480 Và bây giờ tôi đang thay thế biến như số thứ ba, hoặc đầu vào 1397 01:09:56,480 --> 01:09:57,810 để thiết lập màu đỏ. 1398 01:09:57,810 --> 01:10:00,440 Và như vậy, một khi bạn kết thúc mà, và chú ý 1399 01:10:00,440 --> 01:10:02,330 của dấu chấm phẩy và dấu ngoặc đơn. 1400 01:10:02,330 --> 01:10:06,290 >> Hãy kích chạy / lưu lại, và bạn 1401 01:10:06,290 --> 01:10:10,690 sẽ thấy, kỳ diệu, những gì đã thực sự chỗ đó. [? Arwa,?] Gì đó? 1402 01:10:10,690 --> 01:10:16,412 Tháp Eiffel ở chính thức màu đỏ, không hoàn toàn tối. 1403 01:10:16,412 --> 01:10:17,870 nó nên được rõ ràng hơn bây giờ, đúng không? 1404 01:10:17,870 --> 01:10:18,840 ĐƯỢC. 1405 01:10:18,840 --> 01:10:20,215 Và Andrew, hộp không có màu đen hơn? 1406 01:10:20,215 --> 01:10:21,090 Đung [IM LẶNG] 1407 01:10:21,090 --> 01:10:22,180 DAVID Malan: Tất cả các quyền. 1408 01:10:22,180 --> 01:10:23,610 Vì vậy, tôi sẽ giữ điều này trên màn hình. 1409 01:10:23,610 --> 01:10:27,010 Nếu bạn muốn chơi với điều này sau đó, tôi sẽ tái tạo này cho bạn. 1410 01:10:27,010 --> 01:10:29,140 Tuy nhiên, mã này ở đây đã làm chính xác điều đó. 1411 01:10:29,140 --> 01:10:31,460 Tại sao chúng ta không làm một khác. 1412 01:10:31,460 --> 01:10:33,880 Hãy để tôi di chuyển xuống một chút. 1413 01:10:33,880 --> 01:10:36,760 >> Vì vậy, trong trường hợp này, máy chiếu không thực sự làm điều đó công lý. 1414 01:10:36,760 --> 01:10:40,486 Nhưng trên màn hình của bạn, bạn có thể có một hộp rất đỏ và rất đen. 1415 01:10:40,486 --> 01:10:42,610 Điều này cũng là một câu đố cho thấy một cái gì đó nổi tiếng. 1416 01:10:42,610 --> 01:10:44,193 Tuy nhiên, hình ảnh đã bị bóp méo. 1417 01:10:44,193 --> 01:10:47,740 Những hình ảnh thật, lần này, là trong các giá trị màu xanh và màu xanh lá cây. 1418 01:10:47,740 --> 01:10:51,820 Tuy nhiên, tất cả họ đã được chia 20 nên các giá trị rất nhỏ. 1419 01:10:51,820 --> 01:10:54,660 Các giá trị màu đỏ chỉ số ngẫu nhiên, tiếng ồn. 1420 01:10:54,660 --> 01:10:57,190 Undo những biến dạng để lộ những hình ảnh thật. 1421 01:10:57,190 --> 01:10:59,200 >> Nick sau đó nói với bạn những gì để làm. 1422 01:10:59,200 --> 01:11:04,290 Đặt các giá trị màu đỏ để không, và sau đó không làm hỏng nó là gì. 1423 01:11:04,290 --> 01:11:07,110 Sau đó, nhân màu xanh và các giá trị xanh 20. 1424 01:11:07,110 --> 01:11:09,820 Vì vậy, nó gần như cùng một chương trình như trước, 1425 01:11:09,820 --> 01:11:11,380 nhưng bạn đảo ngược quá trình này. 1426 01:11:11,380 --> 01:11:13,780 Và tôi sẽ đưa mã của tôi từ trước trên màn hình trong trường hợp 1427 01:11:13,780 --> 01:11:16,650 bạn muốn tham chiếu về nó hoặc chơi tiếp tục với một. 1428 01:11:16,650 --> 01:11:18,100 Hãy để tôi phóng to trên đó. 1429 01:11:18,100 --> 01:11:21,450 Nhưng giải quyết hình ảnh đồng câu đố, số hai. 1430 01:11:21,450 --> 01:11:37,623 1431 01:11:37,623 --> 01:11:40,580 >> Đung [IM LẶNG] 1432 01:11:40,580 --> 01:11:44,010 >> DAVID Malan: OK, vì vậy một điều này tôi sẽ không để cho nhiều gợi ý. 1433 01:11:44,010 --> 01:11:47,220 Vì vậy, tôi would-- oh, hãy thấy, bạn có một lỗi đánh máy ở đây. 1434 01:11:47,220 --> 01:11:49,621 Vì vậy, hãy nhớ rằng, điều này ở đây thực sự cần đến đó. 1435 01:11:49,621 --> 01:11:52,870 Vì vậy, những gì tôi sẽ đề xuất, nếu bạn muốn tập trung vào một này, có những câu trả lời. 1436 01:11:52,870 --> 01:11:57,060 Nếu bạn muốn ghi lại rằng, đó sẽ nhận được một trong những hoạt động đầu tiên. 1437 01:11:57,060 --> 01:11:59,910 Và sau đó bạn có thể sử dụng như là nguồn cảm hứng cho một thứ hai. 1438 01:11:59,910 --> 01:12:02,230 Tốt đẹp. 1439 01:12:02,230 --> 01:12:02,730 Tốt. 1440 01:12:02,730 --> 01:12:05,430 1441 01:12:05,430 --> 01:12:08,180 >> Và đối với những tò mò, đây là một ví dụ đơn giản 1442 01:12:08,180 --> 01:12:11,080 của một khoa học hay nghệ thuật gọi là steganography, 1443 01:12:11,080 --> 01:12:14,100 nghệ thuật che giấu thông tin trong ảnh. 1444 01:12:14,100 --> 01:12:16,890 Thông thường, hình ảnh có thể là thủy ấn rất trắng trợn 1445 01:12:16,890 --> 01:12:19,500 với một biểu tượng ở phía dưới góc, nhưng rõ ràng, bạn 1446 01:12:19,500 --> 01:12:22,070 có thể phức tạp hơn nhiều về nó và thực sự 1447 01:12:22,070 --> 01:12:25,050 ẩn các ảnh khác trong hình ảnh bằng cách nào đó với kỹ thuật này. 1448 01:12:25,050 --> 01:12:59,890 1449 01:12:59,890 --> 01:13:05,770 >> Lấy nhau 30 giây, và sau đó chúng tôi sẽ ít nhất là thông báo những gì bạn sẽ thấy. 1450 01:13:05,770 --> 01:13:08,330 Và tôi sẽ để lại thứ ba một như một bài tập ở nhà, 1451 01:13:08,330 --> 01:13:11,353 nếu bạn muốn biết thêm về một thách thức vào cuối tuần này. 1452 01:13:11,353 --> 01:13:18,240 1453 01:13:18,240 --> 01:13:20,390 Và tôi nghĩ rằng Andrew might đã nhận được nó đầu tiên. 1454 01:13:20,390 --> 01:13:22,645 hình ảnh thứ hai là gì, Andrew? 1455 01:13:22,645 --> 01:13:23,920 >> Đung Statue of Liberty. 1456 01:13:23,920 --> 01:13:28,500 >> DAVID Malan: Tượng Nữ thần Tự do sẽ là câu trả lời lần này. 1457 01:13:28,500 --> 01:13:31,140 Vì vậy, một lần nữa, chỉ một số đơn giản ví dụ, mục đích của nó 1458 01:13:31,140 --> 01:13:35,040 là để cung cấp cho bạn một cảm giác như thế nào chúng tôi đã dịch cào bằng hình ảnh 1459 01:13:35,040 --> 01:13:40,410 khối để gây phiền nhiễu nhiều hơn và nhiều hơn nữa mã phức tạp, nhưng tất cả các ý tưởng 1460 01:13:40,410 --> 01:13:42,980 vẫn giống hệt nhau, mặc dù với việc giới thiệu 1461 01:13:42,980 --> 01:13:48,380 tại của khái niệm của một biến, được có thể lưu trữ một cái gì đó tạm thời. 1462 01:13:48,380 --> 01:13:51,750 >> Hãy làm nhiều hơn một bàn tay-on, chỉ để bây giờ kết nối các dấu chấm 1463 01:13:51,750 --> 01:13:53,880 một cái gì đó nhiều hơn một chút thực tế. 1464 01:13:53,880 --> 01:13:56,610 Khi bạn đã sẵn sàng, nếu bạn có thể đi đến URL này trên màn hình. 1465 01:13:56,610 --> 01:14:00,610 Đó cũng là trong bản sao của slide, developers.google.com/maps~~V. 1466 01:14:00,610 --> 01:14:03,660 Hãy thực sự làm điều gì đó thực, có thể nói, trên web 1467 01:14:03,660 --> 01:14:07,600 bằng cách sử dụng API của Google Maps, hoặc giao diện lập trình ứng dụng, 1468 01:14:07,600 --> 01:14:08,940 theo cách sau. 1469 01:14:08,940 --> 01:14:12,341 >> Google, giống như nhiều công ty, cung cấp rất nhiều chức năng miễn phí 1470 01:14:12,341 --> 01:14:14,840 mà bạn có thể sử dụng để xây dựng của bạn ứng dụng thú vị riêng. 1471 01:14:14,840 --> 01:14:18,890 Trong thực tế, nếu bạn đã từng sử dụng Uber để có được một chiếc taxi hay xe hơi, 1472 01:14:18,890 --> 01:14:21,640 bạn có thể biết rằng Uber có một bản đồ và nó cho thấy chiếc xe trên đó. 1473 01:14:21,640 --> 01:14:24,870 Đó là, như là tốt nhất như tôi có thể cho biết, Google Maps API. 1474 01:14:24,870 --> 01:14:28,884 Họ đang thực sự sử dụng bản đồ của Google, nhưng Uber không phải là một công ty lập bản đồ, 1475 01:14:28,884 --> 01:14:31,050 hay đó sẽ là một Vấn đề đặc biệt thú vị 1476 01:14:31,050 --> 01:14:33,510 để giải quyết trên đầu của họ vấn đề dịch vụ xe. 1477 01:14:33,510 --> 01:14:35,510 Và vì vậy họ đang đứng, một lần nữa, trên vai 1478 01:14:35,510 --> 01:14:37,520 của người khác, của Google trong trường hợp này. 1479 01:14:37,520 --> 01:14:42,850 Vì vậy, họ sử dụng bản đồ của Google nhưng chính họ dịch vụ xe và các tính năng khác như vậy. 1480 01:14:42,850 --> 01:14:47,770 >> Vì vậy, chúng ta sẽ tận dụng lợi thế điều này để làm như sau. 1481 01:14:47,770 --> 01:14:50,230 Và nếu tôi đã đi quá nhanh, chỉ cần gọi cho tôi hơn trong một thời điểm. 1482 01:14:50,230 --> 01:14:53,500 Happy để tóm tắt lại một số công cụ hình ảnh. 1483 01:14:53,500 --> 01:14:56,290 Bạn sẽ thấy mình tại một trang như thế này. 1484 01:14:56,290 --> 01:14:58,230 Vì vậy của Google tốt đẹp, và họ là một trong những tốt nhất 1485 01:14:58,230 --> 01:15:01,364 cung cấp không chỉ API, nhưng API miễn phí mà bạn 1486 01:15:01,364 --> 01:15:02,780 có thể chơi với hoặc sử dụng thương mại. 1487 01:15:02,780 --> 01:15:06,450 Họ bắt đầu thu phí nếu sử dụng của bạn là cao, nhưng tôi đã đi trước trước 1488 01:15:06,450 --> 01:15:10,490 và ký kết chúng tôi ký một tài khoản miễn phí rằng, hy vọng, 10 máy tính 1489 01:15:10,490 --> 01:15:12,480 sẽ không bị loại với chúng tôi để bất ngờ. 1490 01:15:12,480 --> 01:15:14,320 Vì vậy, hy vọng điều này trình diễn sẽ làm việc. 1491 01:15:14,320 --> 01:15:18,840 >> Và nhận thấy rằng họ có các API cho Android, iOS, dịch vụ web, và web, 1492 01:15:18,840 --> 01:15:19,620 bất kể đó là. 1493 01:15:19,620 --> 01:15:20,700 Hãy tập trung vào web. 1494 01:15:20,700 --> 01:15:26,560 Vì vậy, nhấp vào hộp màu hồng, web, và rằng sẽ dẫn bạn, hy vọng, đến trang 1495 01:15:26,560 --> 01:15:27,630 đây. 1496 01:15:27,630 --> 01:15:29,335 Và họ đã có một bó toàn bộ các API. 1497 01:15:29,335 --> 01:15:31,210 Và nó có thể là một chút áp đảo lúc đầu, 1498 01:15:31,210 --> 01:15:33,000 nhưng tôi sẽ hướng chúng ta thông qua những gì chúng ta muốn. 1499 01:15:33,000 --> 01:15:38,500 >> Ở phía trên cùng bên trái là Google Maps Javascript API, API JavaScript. 1500 01:15:38,500 --> 01:15:40,380 Vì vậy, đi trước và bấm vào một. 1501 01:15:40,380 --> 01:15:49,360 Và điều đó sẽ dẫn bạn nay đến sau trang, trình diễn và mẫu mã. 1502 01:15:49,360 --> 01:15:51,190 Hãy để tôi thu nhỏ ở đây. 1503 01:15:51,190 --> 01:15:56,300 Và hãy để tôi nhận được chúng tôi đối với: di chuyển xuống đến nơi nó nói bước khởi đầu nhanh chóng. 1504 01:15:56,300 --> 01:15:57,970 màn hình của bạn sẽ giống như tôi. 1505 01:15:57,970 --> 01:16:01,130 >> Và có hai bước, có được một chìa khóa và bắt đầu phát triển. 1506 01:16:01,130 --> 01:16:04,190 Tôi đã làm một bước cho chúng ta, lấy chìa khóa cái gọi là. 1507 01:16:04,190 --> 01:16:05,320 Và đây là một ý tưởng chung. 1508 01:16:05,320 --> 01:16:09,210 Một API key thường là chỉ một số ngẫu nhiên lớn hoặc chuỗi 1509 01:16:09,210 --> 01:16:11,130 rằng bạn có nghĩa vụ để dán vào code của bạn, 1510 01:16:11,130 --> 01:16:15,280 để Google biết bạn là người thế nào khi bạn đang sử dụng dịch vụ của họ, họ API. 1511 01:16:15,280 --> 01:16:17,370 Không có nghĩa là chúng tôi bị tính phí bất cứ điều gì. 1512 01:16:17,370 --> 01:16:21,030 Và bây giờ, nhấp chuột, thay vì một, nhấp vào bắt đầu phát triển. 1513 01:16:21,030 --> 01:16:25,990 Nếu bạn chỉ có thể vẫy tôi hơn nếu không chắc chắn mà chúng ta đang có. 1514 01:16:25,990 --> 01:16:28,040 >> Vì vậy, chúng tôi sẽ chỉ xước bề mặt, ở đây, nhưng những gì 1515 01:16:28,040 --> 01:16:31,000 Tôi nghĩ rằng sẽ là hấp dẫn là thật sự có tất cả chúng ta, 1516 01:16:31,000 --> 01:16:34,240 sử dụng Cloud9 trong một cửa sổ và hướng dẫn này trong một cửa sổ khác, 1517 01:16:34,240 --> 01:16:37,120 cho phép thực sự nhận riêng của chúng tôi ứng dụng và chạy 1518 01:16:37,120 --> 01:16:40,920 nhúng một tùy chỉnh của Google bản đồ trong trang web của riêng của chúng tôi, 1519 01:16:40,920 --> 01:16:43,010 và sau đó thêm một hoặc hai tính năng. 1520 01:16:43,010 --> 01:16:45,520 Nhưng chúng tôi sẽ chỉ xước bề mặt của những gì chúng ta có thể làm. 1521 01:16:45,520 --> 01:16:47,020 >> Vì vậy, chỉ kiểm tra sự tỉnh táo nhanh chóng. 1522 01:16:47,020 --> 01:16:49,740 Là tất cả mọi người tại trang này, Google Maps API JavaScript? 1523 01:16:49,740 --> 01:16:50,872 Nên nói bắt đầu. 1524 01:16:50,872 --> 01:16:53,330 Chúng tôi sẽ không đi qua toàn bộ điều bằng phương tiện nào. 1525 01:16:53,330 --> 01:16:58,090 OK, ở tab khác, nếu bạn không có nó mở, không đi vào Cloud9 1526 01:16:58,090 --> 01:17:03,500 và có được cho mình để chỉ một tab mới, cuối cùng. 1527 01:17:03,500 --> 01:17:11,070 Vì vậy, một lần nữa, c9.io từ ngày hôm qua, c9.io, và chỉ cần tạo một tập tin mới. 1528 01:17:11,070 --> 01:17:13,500 Và đi trước và gọi nó bất cứ điều gì bạn muốn. 1529 01:17:13,500 --> 01:17:16,495 Tôi gọi map.html mỏ. 1530 01:17:16,495 --> 01:17:17,870 Gọi nó là bất cứ điều gì có đuôi .html. 1531 01:17:17,870 --> 01:17:23,930 1532 01:17:23,930 --> 01:17:26,580 Và bạn sẽ có khoảng nơi mà tôi đang trong quá trình này 1533 01:17:26,580 --> 01:17:31,470 chỉ với một dấu nhắc nhấp nháy trong một sản phẩm nào tab gọi là một cái gì đó giống như map.html. 1534 01:17:31,470 --> 01:17:35,808 1535 01:17:35,808 --> 01:17:38,148 Hoặc tập tin, tập tin mới thời gian này. 1536 01:17:38,148 --> 01:17:41,960 1537 01:17:41,960 --> 01:17:48,000 >> Và bây giờ, hơn trên Google Maps API JavaScript, 1538 01:17:48,000 --> 01:17:50,010 chúng tôi sẽ bỏ qua đọc qua tất cả các văn bản này. 1539 01:17:50,010 --> 01:17:53,760 Nhưng chú ý rằng hello thế giới là thực sự ở khắp mọi nơi, bạn sẽ thấy nó bây giờ. 1540 01:17:53,760 --> 01:17:58,020 Xin chào thế giới đã lớn này đầy màu sắc ví dụ về một bó toàn bộ của HTML. 1541 01:17:58,020 --> 01:18:03,590 Đi trước và sao chép và dán chỉ rằng HTML, vì vậy từ các loại doc ở đầu 1542 01:18:03,590 --> 01:18:08,810 tất cả các cách để các thẻ HTML gần, đi trước và sao chép tất cả các mà-- một lần nữa, 1543 01:18:08,810 --> 01:18:14,430 đó là thuộc thế giới hello ví dụ điển và dán vào tab Cloud9 của bạn, 1544 01:18:14,430 --> 01:18:17,996 vậy mà bây giờ màn hình của bạn nên nhìn gần như tôi. 1545 01:18:17,996 --> 01:18:22,280 1546 01:18:22,280 --> 01:18:24,520 >> Và bạn có thể lưu nó, nhưng không tải nó chỉ được nêu ra. 1547 01:18:24,520 --> 01:18:26,290 Hãy nhìn đầu tiên mã và xem nếu chúng ta 1548 01:18:26,290 --> 01:18:29,110 không thể suy ra hoặc tìm hiểu từ những gì nó là Google 1549 01:18:29,110 --> 01:18:30,860 đã có chúng tôi một cách mù quáng sao chép và dán. 1550 01:18:30,860 --> 01:18:33,334 Họ chỉ muốn giúp đỡ, nghĩa đen, có được chúng tôi bắt đầu, 1551 01:18:33,334 --> 01:18:35,500 nhưng không phải là nhiều phức tạp thực sự ở đó. 1552 01:18:35,500 --> 01:18:40,100 1553 01:18:40,100 --> 01:18:42,210 Bất kỳ câu hỏi chỉ được nêu ra? 1554 01:18:42,210 --> 01:18:43,790 Chúng tôi đang an toàn để giả mạo trước? 1555 01:18:43,790 --> 01:18:44,330 ĐƯỢC. 1556 01:18:44,330 --> 01:18:46,800 >> Vì vậy, một cách nhanh chóng, chúng ta chỉ cần làm một số kiểm tra sự tỉnh táo nhanh chóng. 1557 01:18:46,800 --> 01:18:48,800 Một dây chuyền của những gì tôi nhìn thấy, và hy vọng, bạn 1558 01:18:48,800 --> 01:18:51,710 thấy, có nghĩa là gì, loại tài liệu HTML? 1559 01:18:51,710 --> 01:18:52,385 Kareem, nhớ lại? 1560 01:18:52,385 --> 01:18:53,260 Đung [IM LẶNG] 1561 01:18:53,260 --> 01:18:53,968 DAVID Malan: Có. 1562 01:18:53,968 --> 01:18:54,870 Ở đây có HTML 5. 1563 01:18:54,870 --> 01:18:57,950 Trong khi đó, dòng hai trên màn hình ở đây có nghĩa là trình duyệt hey, 1564 01:18:57,950 --> 01:18:59,482 ở đây có sự HTML thực tế. 1565 01:18:59,482 --> 01:19:01,440 Dòng ba là hey trình duyệt, ở đây có người đứng đầu. 1566 01:19:01,440 --> 01:19:04,260 Dòng bốn là, tất nhiên, hey trình duyệt, ở đây có tiêu đề. 1567 01:19:04,260 --> 01:19:07,780 không đường năm làm gì? 1568 01:19:07,780 --> 01:19:09,930 Trên thực tế, điều này không thực sự làm bất cứ điều gì cho chúng ta. 1569 01:19:09,930 --> 01:19:13,340 Trong trường hợp này, nó chỉ thay đổi kích thước trang để mặc định. Dòng sáu, 1570 01:19:13,340 --> 01:19:16,140 chúng tôi đã không nói đến, nhưng nó quy định cụ thể mã hóa ký tự. 1571 01:19:16,140 --> 01:19:19,181 Có nhiều cách khác nhau để mã hóa các tập tin, đặc biệt là ngoại ngữ. 1572 01:19:19,181 --> 01:19:21,100 UTF-8 chỉ có xu hướng được mặc định. 1573 01:19:21,100 --> 01:19:26,580 >> Vì vậy, bây giờ chúng ta sẽ thấy trong dòng bảy qua 16, một số CSS. 1574 01:19:26,580 --> 01:19:29,260 Và mặc dù chúng tôi đã không nhìn thấy tất cả những điều này trước khi, 1575 01:19:29,260 --> 01:19:30,810 chúng ta có thể loại suy luận. 1576 01:19:30,810 --> 01:19:37,075 Vì vậy, dòng tám phương tiện, hey trình duyệt, áp dụng tất cả những điều sau đây mà hai thẻ, 1577 01:19:37,075 --> 01:19:37,575 rõ ràng? 1578 01:19:37,575 --> 01:19:40,650 1579 01:19:40,650 --> 01:19:41,701 HTML và thân văn bản. 1580 01:19:41,701 --> 01:19:43,200 Vì vậy, các dấu phẩy là điều mới ở đó. 1581 01:19:43,200 --> 01:19:46,140 Và đó chỉ là một cách xác định nhiều thẻ cùng một lúc. 1582 01:19:46,140 --> 01:19:47,640 >> Sau đó, chúng tôi đã có các dấu ngoặc nhọn. 1583 01:19:47,640 --> 01:19:51,170 Vì vậy, rõ ràng, điều này nói với các trình duyệt, làm cho chiều cao của trang 100%. 1584 01:19:51,170 --> 01:19:54,170 Vì vậy, ngay cả khi có rất ít nội dung, làm cho toàn bộ trang, 1585 01:19:54,170 --> 01:19:55,530 làm cho điều đó điền trang. 1586 01:19:55,530 --> 01:19:57,524 Làm bản đồ cuối cùng điền trang. 1587 01:19:57,524 --> 01:19:58,690 Margin, có nghĩa là gì? 1588 01:19:58,690 --> 01:20:01,559 Đó thường là như tùy ý khoảng trắng xung quanh các cạnh 1589 01:20:01,559 --> 01:20:04,350 rằng một số nhà thiết kế trình duyệt chỉ quyết định cần phải có, bởi vì nó 1590 01:20:04,350 --> 01:20:05,540 loại làm cho mọi thứ trông sạch hơn. 1591 01:20:05,540 --> 01:20:06,498 Nhưng chúng tôi không muốn điều đó. 1592 01:20:06,498 --> 01:20:08,710 Chúng tôi muốn bản đồ đi tất cả các cách để các cạnh. 1593 01:20:08,710 --> 01:20:10,930 Padding, tinh thần tương tự lợi. 1594 01:20:10,930 --> 01:20:14,980 Lợi nhuận có nghĩa là bên ngoài, phương tiện đệm bên trong, nhưng đó là cùng một loại thỏa thuận. 1595 01:20:14,980 --> 01:20:17,520 Đó là một chút của một bộ đệm giữa bạn và các cạnh. 1596 01:20:17,520 --> 01:20:21,170 >> Và sau đó dòng 13 là tốt cơ hội cho một đánh giá nhanh chóng. 1597 01:20:21,170 --> 01:20:26,440 Những gì hiện bản đồ sắc nét dấu có nghĩa là, hoặc bản đồ hashtag nghĩa là gì? 1598 01:20:26,440 --> 01:20:29,650 Điều đó ám chỉ gì, về nguyên tắc? 1599 01:20:29,650 --> 01:20:31,485 >> Đung [IM LẶNG] 1600 01:20:31,485 --> 01:20:32,360 DAVID Malan: Chính xác. 1601 01:20:32,360 --> 01:20:36,900 Khách sạn này, tài sản này là CSS áp dụng để chỉ một điều, các thẻ HTML 1602 01:20:36,900 --> 01:20:41,180 rằng có một ID của báo giá, unquote "bản đồ". 1603 01:20:41,180 --> 01:20:44,460 Và bây giờ hãy nhanh chóng chuyển tiếp, cuộn xuống phía dưới cùng của file, 1604 01:20:44,460 --> 01:20:49,860 không phải là quá xa, và thông báo trên đường 19, nếu bạn dán nó chính xác như tôi đã làm, 1605 01:20:49,860 --> 01:20:53,405 dòng 19 có chỉ là một div, mà là một bộ phận của trang, mà hôm qua tôi 1606 01:20:53,405 --> 01:20:54,820 được gọi là một khu vực hình chữ nhật. 1607 01:20:54,820 --> 01:20:55,820 Nó có gì trong đó. 1608 01:20:55,820 --> 01:20:57,550 Đây là một thẻ mở, tag gần. 1609 01:20:57,550 --> 01:20:59,490 Nhưng nó không có một ID duy nhất. 1610 01:20:59,490 --> 01:21:02,090 >> Vì vậy, những gì có vẻ là xảy ra ở đây là Google 1611 01:21:02,090 --> 01:21:05,880 đang sẵn sàng trang web của chúng tôi để có một chiều cao hoàn thành 100%, 1612 01:21:05,880 --> 01:21:09,680 và không có đệm, không có lợi nhuận, bởi vì những gì chúng ta sẽ đặt bên trong 1613 01:21:09,680 --> 01:21:13,647 của div này, có ID duy nhất là bản đồ, là một bản đồ thực tế nhúng. 1614 01:21:13,647 --> 01:21:15,480 Và chúng tôi muốn nó để điền trang và không chỉ 1615 01:21:15,480 --> 01:21:17,560 có một số hình chữ nhật nhỏ ở giữa. 1616 01:21:17,560 --> 01:21:24,220 Vì vậy, dòng 14 tương tự như nhấn mạnh, các bản đồ riêng của mình nên có chiều cao 100%. 1617 01:21:24,220 --> 01:21:29,220 >> Vì vậy bây giờ nhận thấy giữa các dòng 20 và 28, đây là mã JavaScript. 1618 01:21:29,220 --> 01:21:33,020 Và đây là, mặc dù nó cú pháp một chút lạ, 1619 01:21:33,020 --> 01:21:34,730 có không gì nhiều xảy ra ở đây. 1620 01:21:34,730 --> 01:21:39,310 Trong dòng 21, điều này được khai báo một cái gì đó gọi là một biến. 1621 01:21:39,310 --> 01:21:42,030 Thay vì gọi nó số tiền, như chúng tôi đã làm trước đây, 1622 01:21:42,030 --> 01:21:44,500 chúng ta đang nói chính xác hơn var, mà chỉ có nghĩa là biến. 1623 01:21:44,500 --> 01:21:46,520 Chúng ta có thể đã sử dụng mà trong Mã của Nick, nhưng anh đã không làm, vì vậy tôi 1624 01:21:46,520 --> 01:21:48,190 không bận tâm làm điều đó. 1625 01:21:48,190 --> 01:21:50,240 Đó là một biến gọi là bản đồ, và sau đó có 1626 01:21:50,240 --> 01:21:53,360 một chức năng mà hình như gọi là initMap. 1627 01:21:53,360 --> 01:21:55,780 >> Vì vậy, điều này giống như tùy chỉnh riêng của chúng tôi mảnh ghép trong Scratch. 1628 01:21:55,780 --> 01:21:58,830 Chúng tôi đã tạo ra một mảnh chức năng gọi initMap, 1629 01:21:58,830 --> 01:22:00,980 và bạn có thể loại suy luận những gì đang xảy ra ở đây. 1630 01:22:00,980 --> 01:22:02,930 Ở phía bên tay trái, chúng tôi đã có một biến, 1631 01:22:02,930 --> 01:22:06,000 vì vậy chúng tôi đang đi để đưa những điều sau đây điều bên trong biến đó, 1632 01:22:06,000 --> 01:22:07,362 từ phải sang trái. 1633 01:22:07,362 --> 01:22:11,940 Phía bên tay phải nói, hey trình duyệt, cho tôi một bản đồ mới của Google. 1634 01:22:11,940 --> 01:22:16,490 Và google.maps.map chỉ là một cách sôi nổi chỉ định rằng chức năng này 1635 01:22:16,490 --> 01:22:19,790 thuộc về Google Maps. 1636 01:22:19,790 --> 01:22:23,010 >> Sau khi các dấu ngoặc đơn, chúng tôi đã nhìn thấy điều này trước, hey trình duyệt, có được 1637 01:22:23,010 --> 01:22:29,210 tôi các yếu tố trong trang, thẻ trong trang mà độc đáo ID hợp-- 1638 01:22:29,210 --> 01:22:30,710 >> Đung [IM LẶNG] 1639 01:22:30,710 --> 01:22:31,790 >> DAVID Malan: --map. 1640 01:22:31,790 --> 01:22:35,770 Và những gì đang xảy ra, tốt, dòng này với nhau, dòng 23, 1641 01:22:35,770 --> 01:22:38,630 về cơ bản nói, hey trình duyệt, hãy lấy tôi 1642 01:22:38,630 --> 01:22:42,800 rằng div trống trên trang có ID duy nhất là bản đồ, 1643 01:22:42,800 --> 01:22:45,600 bởi vì tôi muốn chèn vào it-- tiêm vào nó, 1644 01:22:45,600 --> 01:22:49,520 nếu bạn will-- một bó toàn bộ nội dung điều đó xảy ra là đến từ các trang web, 1645 01:22:49,520 --> 01:22:50,427 sau đó. 1646 01:22:50,427 --> 01:22:52,010 Và Google đang làm tất cả điều đó cho chúng ta. 1647 01:22:52,010 --> 01:22:55,350 >> Vì vậy, một lần nữa, vào cuối ngày, chúng ta có ví dụ trừu tượng này. 1648 01:22:55,350 --> 01:22:58,610 Tôi không có ý tưởng những gì một bản đồ là hoặc làm thế nào để thực hiện một API đồ. 1649 01:22:58,610 --> 01:22:59,460 Chúng tôi không cần. 1650 01:22:59,460 --> 01:23:02,740 Chúng tôi chỉ cần nói với bản đồ nơi để đặt chính nó, và để lại 1651 01:23:02,740 --> 01:23:04,880 những cơ bản thực hiện chi tiết cho Google. 1652 01:23:04,880 --> 01:23:08,190 Bây giờ có vẻ như là hai mẩu dữ liệu 1653 01:23:08,190 --> 01:23:11,940 rằng ví dụ này là cung cấp cho các API của Google. 1654 01:23:11,940 --> 01:23:16,450 Rõ ràng các trung tâm của bản đồ, và mức độ zoom, vậy để nói chuyện. 1655 01:23:16,450 --> 01:23:21,390 >> Và không ai nhận ra những tọa độ, vĩ độ và kinh độ? 1656 01:23:21,390 --> 01:23:24,364 Có lẽ là không, nhưng chúng ta có thể quay trở lại để hướng dẫn, theo nghĩa đen xem. 1657 01:23:24,364 --> 01:23:25,780 Nhưng chúng ta sẽ thấy nó chỉ trong một khoảnh khắc. 1658 01:23:25,780 --> 01:23:29,880 mức độ zoom là một giá trị giữa, tôi không đã biết, một trong 13 hoặc một cái gì đó như thế. 1659 01:23:29,880 --> 01:23:32,880 Nó chỉ cần có để làm với bao xa bạn zoom vào hoặc ra, và đó là nó. 1660 01:23:32,880 --> 01:23:35,690 Và bây giờ vào cuối của trang, dòng thông báo 29-- 1661 01:23:35,690 --> 01:23:39,960 đó là một chút xấu xí vì nó wraps-- dòng mã này 1662 01:23:39,960 --> 01:23:44,570 là những gì tải đến trình duyệt API thực tế của Google. 1663 01:23:44,570 --> 01:23:47,500 Tất cả các mã mà Google các kỹ sư đã viết rằng thực hiện 1664 01:23:47,500 --> 01:23:50,000 toàn bộ tính năng này của bản đồ nhúng. 1665 01:23:50,000 --> 01:23:51,470 >> Bây giờ chúng ta không thay đổi bất cứ điều gì. 1666 01:23:51,470 --> 01:23:54,761 Nếu bạn đang theo dõi, đi trước và chỉ cần lưu tập tin đó, nếu bạn thực sự có 1667 01:23:54,761 --> 01:23:55,760 tôi có gì. 1668 01:23:55,760 --> 01:23:57,370 Tới URL của nó. 1669 01:23:57,370 --> 01:23:59,820 Bạn có thể nhấp vào nút Run lên hàng đầu và đó sẽ cho 1670 01:23:59,820 --> 01:24:03,050 bạn URL của máy chủ web của bạn một lần nữa. 1671 01:24:03,050 --> 01:24:06,010 Và nó sẽ dẫn bạn đến một tab mới. 1672 01:24:06,010 --> 01:24:11,910 Nếu bạn nhấn Open để map.html, và tỷ lệ cược là bạn 1673 01:24:11,910 --> 01:24:15,520 sẽ nhận được một cảnh báo, một thông báo lỗi, có? 1674 01:24:15,520 --> 01:24:18,570 Thông báo lỗi, thông báo lỗi? 1675 01:24:18,570 --> 01:24:21,170 >> Vì vậy, thật không may, các lỗi nhắn mà không phải là khai sáng 1676 01:24:21,170 --> 01:24:23,890 trừ khi bạn thực sự mở giao diện điều khiển, mà tab đặc biệt chúng tôi 1677 01:24:23,890 --> 01:24:27,110 giữ mở ngày hôm qua và một chút sớm hôm nay. 1678 01:24:27,110 --> 01:24:29,445 Nhưng tôi vấp trên này trước đó, vì vậy tôi đã 1679 01:24:29,445 --> 01:24:30,820 tìm ra những giải pháp là. 1680 01:24:30,820 --> 01:24:34,440 Trong slide hiện nay, hoặc đúng hơn, trong Cloud9, thông báo 1681 01:24:34,440 --> 01:24:36,430 rằng chúng tôi đã không làm một cái gì đó cố tình. 1682 01:24:36,430 --> 01:24:40,690 Chú ý rằng kịch bản này thẻ trong dòng 29, nếu bạn đọc qua nó, 1683 01:24:40,690 --> 01:24:44,440 nó giống như maps.googleapis.com/ một cái gì đó, một cái gì đó, một cái gì đó, 1684 01:24:44,440 --> 01:24:46,430 sau đó thông báo một người nào đó, một trong những nhà phát triển, 1685 01:24:46,430 --> 01:24:50,040 đã viết trong tất cả các nguồn vốn chữ cái, API key của bạn. 1686 01:24:50,040 --> 01:24:51,700 >> Chúng tôi cần phải dán một cái gì đó trong đó. 1687 01:24:51,700 --> 01:24:53,450 Và đây là bước đi Tôi đã làm cho chúng tôi trước, 1688 01:24:53,450 --> 01:24:57,190 và một lần nữa họ có thể danh sách đen chúng tôi nếu đột nhiên, 12 hoặc nhiều người trong chúng ta 1689 01:24:57,190 --> 01:24:59,470 bắt đầu sử dụng cùng khóa, nhưng chúng ta hãy xem những gì sẽ xảy ra. 1690 01:24:59,470 --> 01:25:03,030 Vì vậy, nếu bạn đi vào ngày hôm nay slide, một slide sau, có 1691 01:25:03,030 --> 01:25:07,070 này chuỗi rất funky-tìm kiếm văn bản. 1692 01:25:07,070 --> 01:25:12,230 Đi trước và chỉ cần sao chép đó và dán nó mà nó nói API key của bạn. 1693 01:25:12,230 --> 01:25:15,120 Đó là một trong tôi đăng ký. 1694 01:25:15,120 --> 01:25:17,700 >> Và chắc chắn không thử gõ nó ra bằng tay, 1695 01:25:17,700 --> 01:25:21,210 bởi vì nó cảm thấy đầy với lỗi chính tả, có khả năng. 1696 01:25:21,210 --> 01:25:23,260 Vì vậy, chỉ cần sao chép và dán. 1697 01:25:23,260 --> 01:25:26,090 Và nó sẽ làm cho dòng dài hơn, nhưng bây giờ, chỉ để được rõ ràng, 1698 01:25:26,090 --> 01:25:29,540 nó nên nhìn nhiều hơn một chút như thế này, mà chính bằng không 1699 01:25:29,540 --> 01:25:32,200 vốn la mắng bạn. 1700 01:25:32,200 --> 01:25:34,810 Lưu trang của bạn, quay trở lại để các tab khác, nạp lại, 1701 01:25:34,810 --> 01:25:36,770 và hy vọng sẽ nhìn thấy một bản đồ về nơi? 1702 01:25:36,770 --> 01:25:37,790 >> Đung Úc. 1703 01:25:37,790 --> 01:25:38,748 >> DAVID Malan: Australia. 1704 01:25:38,748 --> 01:25:41,200 Vì vậy, dường như đó là những Tọa độ GPS của Úc. 1705 01:25:41,200 --> 01:25:44,491 Và hãy để tôi đi dạo xung quanh chỉ là một khoảnh khắc và giúp đỡ bất cứ ai không hoàn toàn ở đó, 1706 01:25:44,491 --> 01:25:47,729 nhưng hãy để tôi đề nghị, thông qua Google, tìm các tọa độ GPS của quê hương của riêng bạn 1707 01:25:47,729 --> 01:25:48,770 hoặc quốc gia nhà riêng của bạn. 1708 01:25:48,770 --> 01:25:51,436 Và có lẽ Google có thể tắt chức năng này lên, hoặc Wikipedia có thể cho bạn biết. 1709 01:25:51,436 --> 01:25:54,410 Nhưng chọn hai giá trị khác nhau cho vĩ độ và kinh độ, 1710 01:25:54,410 --> 01:25:57,530 đi lại và dán chúng, và sau đó tải lại trang sau khi tiết kiệm 1711 01:25:57,530 --> 01:26:00,718 và xem nếu bạn có thể có một bản đồ cho quê hương của riêng bạn. 1712 01:26:00,718 --> 01:26:04,500 1713 01:26:04,500 --> 01:26:08,042 >> Và khi bạn đang thực hiện với đó, theo dõi challenge-- 1714 01:26:08,042 --> 01:26:11,250 và tôi sẽ cung cấp cho một chút ít hướng, cố ý, vì vậy mà bạn cố tình 1715 01:26:11,250 --> 01:26:13,791 phải đấu tranh cho một cặp vợ chồng phút với các tài liệu, 1716 01:26:13,791 --> 01:26:18,740 thay đổi các bản đồ có không này mặc định hoạt hình, nhưng một bản đồ vệ tinh. 1717 01:26:18,740 --> 01:26:24,600 Vì vậy, bạn thực sự thấy vệ tinh hình ảnh thay vì các màu sắc đẹp. 1718 01:26:24,600 --> 01:26:29,710 >> Và những gợi ý, tôi sẽ cung cấp cho bạn là thay đổi loại của bản đồ. 1719 01:26:29,710 --> 01:26:33,084 Quay trở lại rằng nhận được bắt đầu trang để tìm cảm hứng. 1720 01:26:33,084 --> 01:26:40,599 1721 01:26:40,599 --> 01:26:42,390 Như bạn có thể lượm lặt, nếu bạn đang tìm kiếm, 1722 01:26:42,390 --> 01:26:44,250 Vẫn còn nhiều nữa những điều bạn có thể làm. 1723 01:26:44,250 --> 01:26:46,380 Một số trong các bạn có đã thay đổi các loại bản đồ. 1724 01:26:46,380 --> 01:26:49,890 Nhưng bạn có thể do-- ví dụ, cho tôi đi đến một cái gì đó chúng tôi đã làm cho khóa học 1725 01:26:49,890 --> 01:26:52,050 Tôi teach-- maps.cs50.net. 1726 01:26:52,050 --> 01:26:53,470 Một trong các sinh của chúng tôi đã làm điều này. 1727 01:26:53,470 --> 01:26:58,890 Chúng tôi trung tâm bản đồ của chúng tôi trên Harvard Yard và che phủ tất cả các tên tòa nhà, 1728 01:26:58,890 --> 01:27:01,070 và chúng tôi đã có anh thêm này. 1729 01:27:01,070 --> 01:27:04,270 Vì vậy, nếu tôi muốn tìm kiếm, Ví dụ, Matthews Hall, 1730 01:27:04,270 --> 01:27:05,730 chúng ta có một chút đơn thả xuống. 1731 01:27:05,730 --> 01:27:09,080 Và tôi nghĩ rằng ông sử dụng Bootstrap, các thư viện, chúng tôi đã thảo luận trước đó cho việc này. 1732 01:27:09,080 --> 01:27:12,190 Và nếu bạn click vào Matthews Hall, nó ngay lập tức 1733 01:27:12,190 --> 01:27:14,790 nhảy bản đồ để một số vị trí, và nó show 1734 01:27:14,790 --> 01:27:16,440 bạn một hình ảnh trong này ít pop-up. 1735 01:27:16,440 --> 01:27:18,670 >> Nhưng ngay cả điều này ít pop-up, chúng tôi đã không thực hiện. 1736 01:27:18,670 --> 01:27:27,521 Nếu tôi di chuyển xuống trên đầu của chúng tôi bắt đầu trang và tìm kiếm cửa sổ thông tin, 1737 01:27:27,521 --> 01:27:29,770 bạn sẽ thấy rằng một số các chức năng bản thân bạn 1738 01:27:29,770 --> 01:27:31,561 có thể thêm, mặc dù với một phức tạp hơn một chút, 1739 01:27:31,561 --> 01:27:33,970 là một cái gì đó gọi là một cửa sổ thông tin. 1740 01:27:33,970 --> 01:27:37,190 Và nếu tôi nhấp một ví dụ ở đây, và đây là những gì thú vị, 1741 01:27:37,190 --> 01:27:40,530 bạn có thể làm những việc như thế này, nhấp vào một điểm đánh dấu và sau đó thì đấy, 1742 01:27:40,530 --> 01:27:42,400 thông tin hiện lên. 1743 01:27:42,400 --> 01:27:45,874 >> Vì vậy, chúng tôi đã không hoàn toàn giới thiệu đủ tính năng của JavaScript 1744 01:27:45,874 --> 01:27:49,040 để vẽ một bức tranh chính xác làm thế nào bạn có thể dây tất cả những thứ này với nhau, 1745 01:27:49,040 --> 01:27:50,706 nhưng chúng tôi đã loại trầy xước bề mặt. 1746 01:27:50,706 --> 01:27:53,140 Trong thực tế, những gì tôi chỉ cần làm khi Tôi nhấp vào điểm đánh dấu đó, 1747 01:27:53,140 --> 01:27:55,819 đã gây ra một sự kiện, một cái gọi là về sự kiện nhấp chuột. 1748 01:27:55,819 --> 01:27:57,610 Và chúng tôi thực sự thấy một sự kiện trước đó ngày hôm nay, 1749 01:27:57,610 --> 01:28:00,670 cái gọi là trình sự kiện, khi chúng ta bị ngăn chặn 1750 01:28:00,670 --> 01:28:02,490 người sử dụng từ tìm kiếm về mèo. 1751 01:28:02,490 --> 01:28:06,560 Vì vậy, chúng tôi đã loại được chọn và chọn lựa trong số tất cả những tính năng khác nhau, 1752 01:28:06,560 --> 01:28:08,990 để cung cấp cho bạn một cảm giác, hy vọng, về những gì bạn có thể thực sự 1753 01:28:08,990 --> 01:28:11,000 làm với nhiều hơn một chút thoải mái trong lập trình, 1754 01:28:11,000 --> 01:28:12,587 và các nguồn lực hoàn toàn miễn phí. 1755 01:28:12,587 --> 01:28:15,856 1756 01:28:15,856 --> 01:28:18,770 >> Bất kỳ câu hỏi? 1757 01:28:18,770 --> 01:28:19,790 Không? 1758 01:28:19,790 --> 01:28:22,542 Đây là cơ hội cuối cùng của bạn, ít nhất là ngày hôm nay, vào ngày thứ sáu, 1759 01:28:22,542 --> 01:28:25,000 để có được bất cứ thứ gì ra khỏi ngực của bạn để bạn bước ra khỏi đây 1760 01:28:25,000 --> 01:28:27,067 cảm thấy tự tin và thoải mái. 1761 01:28:27,067 --> 01:28:27,566 Vâng. 1762 01:28:27,566 --> 01:28:29,740 >> Đung Tại sao không bạn thêm một điều nữa? 1763 01:28:29,740 --> 01:28:32,720 >> DAVID Malan: Ôi lòng tốt. 1764 01:28:32,720 --> 01:28:35,260 Tôi cần phải nghỉ ngơi vào cuối tuần này, tôi nghĩ. 1765 01:28:35,260 --> 01:28:36,180 Câu hỏi khác? 1766 01:28:36,180 --> 01:28:37,055 >> Đung [IM LẶNG] 1767 01:28:37,055 --> 01:28:44,130 1768 01:28:44,130 --> 01:28:46,810 >> DAVID Malan: Bạn can-- trong Internet Explorer, phần còn lại trong hòa bình, 1769 01:28:46,810 --> 01:28:49,310 bạn sử dụng để có thể đưa VB kịch bản, kịch bản cơ bản ảo, 1770 01:28:49,310 --> 01:28:50,643 nhưng đó thực sự không bao giờ bị bắt về. 1771 01:28:50,643 --> 01:28:52,490 Vì vậy, câu trả lời ngắn chỉ là JavaScript. 1772 01:28:52,490 --> 01:28:55,144 1773 01:28:55,144 --> 01:28:55,810 Câu hỏi khác? 1774 01:28:55,810 --> 01:28:58,427 1775 01:28:58,427 --> 01:28:59,760 Được rồi, tốt, hãy để tôi làm điều này. 1776 01:28:59,760 --> 01:29:02,070 Hãy để tôi lấy các đồng nghiệp của chúng tôi bên ngoài. 1777 01:29:02,070 --> 01:29:04,500 Họ có một số đánh giá hình thức mà họ muốn tất cả mọi người 1778 01:29:04,500 --> 01:29:06,310 để dành một vài phút điền. 1779 01:29:06,310 --> 01:29:08,775 Họ muốn thu thập hình thức đó và bất kỳ miễn là bạn có thể có bên ngoài. 1780 01:29:08,775 --> 01:29:10,240 Họ cũng sẽ có giấy chứng nhận. 1781 01:29:10,240 --> 01:29:12,380 Tôi đoán có vẫn còn một số đồ ăn nhẹ bên ngoài. 1782 01:29:12,380 --> 01:29:14,360 Hãy để tôi vượt qua những hiểu, và nếu bạn có bất kỳ câu hỏi trong khi chờ đợi, 1783 01:29:14,360 --> 01:29:17,120 Tôi sẽ đi bộ xung quanh cá nhân hơn và chúng tôi có thể giúp bạn bắt đầu. 1784 01:29:17,120 --> 01:29:17,879 Phải, tất nhiên. 1785 01:29:17,879 --> 01:29:18,754 Đung [IM LẶNG] 1786 01:29:18,754 --> 01:29:26,737 1787 01:29:26,737 --> 01:29:28,570 DAVID Malan: Đó là thường đúng những ngày này. 1788 01:29:28,570 --> 01:29:30,730 Chắc chắn với web phần mềm, bạn đang nghiêng 1789 01:29:30,730 --> 01:29:32,901 vào người khác bạn đang hoặc thẩm mỹ sử dụng điều 1790 01:29:32,901 --> 01:29:35,400 như Bootstrap, do đó bạn không phải thực hiện các mức thấp 1791 01:29:35,400 --> 01:29:37,169 thông tin chi tiết của các menu và nút và tất cả đó. 1792 01:29:37,169 --> 01:29:39,210 Bạn đang dựa vào một ai đó như Google để bạn 1793 01:29:39,210 --> 01:29:42,050 không cần phải xây dựng một Uber kinh doanh và một doanh nghiệp lập bản đồ, 1794 01:29:42,050 --> 01:29:44,850 và bất kỳ số lượng tương tự ứng dụng là tốt. 1795 01:29:44,850 --> 01:29:46,350 >> Trong thực tế, thông tin đăng nhập được phổ biến, quá. 1796 01:29:46,350 --> 01:29:48,500 Nếu bạn đã sử dụng Spotify hay bất kỳ số lượng các trang web, 1797 01:29:48,500 --> 01:29:51,210 bạn sẽ đăng nhập vào một số website sử dụng Facebook. 1798 01:29:51,210 --> 01:29:53,350 Vì vậy, những gì là tốt đẹp, có các API cho thông tin đăng nhập 1799 01:29:53,350 --> 01:29:56,570 ngày nay, do đó bạn không có có bảng người dùng của riêng bạn 1800 01:29:56,570 --> 01:29:59,440 và tất cả các cơ sở dữ liệu của riêng bạn nhất thiết phải đến mức như vậy. 1801 01:29:59,440 --> 01:30:01,795 Bạn có thể để Facebook làm tất cả của sự phức tạp cho bạn. 1802 01:30:01,795 --> 01:30:03,920 Vì vậy, nó là một thời gian thú vị, chân thành, trong chương trình, 1803 01:30:03,920 --> 01:30:07,200 bởi vì có rất nhiều bên thứ ba dịch vụ mà bạn có thể xây dựng trên đầu trang của. 1804 01:30:07,200 --> 01:30:10,890 >> Và một lần nữa, giá mà bạn phải trả là hoặc tài chính hoặc thời gian chết. 1805 01:30:10,890 --> 01:30:13,750 Nếu Google đi xuống, do đó, hiện Uber, tranh cãi, 1806 01:30:13,750 --> 01:30:15,690 nhưng có lẽ đó là một hợp lý thương mại-off. 1807 01:30:15,690 --> 01:30:18,040 Và một lần nữa, đó là một trong các chủ đề, hy vọng, trong vài ngày qua, 1808 01:30:18,040 --> 01:30:18,780 là những đánh đổi. 1809 01:30:18,780 --> 01:30:20,738 Và hiếm khi là có đi là một câu trả lời đúng. 1810 01:30:20,738 --> 01:30:25,700 Nó thực sự là tốt hơn của hai hay nhiều câu trả lời. 1811 01:30:25,700 --> 01:30:26,682 >> Vượt qua những xung quanh. 1812 01:30:26,682 --> 01:30:36,830 1813 01:30:36,830 --> 01:30:41,110 >> Và các tài khoản này sẽ tiếp tục Cloud9 làm việc, trong lý thuyết, vĩnh viễn. 1814 01:30:41,110 --> 01:30:45,000 Bạn có thể tìm thấy nếu bạn chờ đợi một vài ngày hoặc một tuần hoặc nhiều hơn để đăng nhập lại vào chúng, 1815 01:30:45,000 --> 01:30:49,170 nó có thể mất như một hoặc năm phút để mở trở lại, 1816 01:30:49,170 --> 01:30:54,090 nhưng đó chỉ là vì họ đặt nó ngủ để tiết kiệm tài nguyên. 1817 01:30:54,090 --> 01:31:10,527