1 00:00:00,000 --> 00:00:11,470 2 00:00:11,470 --> 00:00:12,764 >> SPEAKER 1: Tất cả, phải không chào đón trở lại. 3 00:00:12,764 --> 00:00:14,140 Đây là CS50. 4 00:00:14,140 --> 00:00:16,800 Và điều này là sự bắt đầu của tuần chín. 5 00:00:16,800 --> 00:00:19,960 Và điều này là sự bắt đầu của phần còn lại của thời gian của bạn trong CS50, trong đó chúng ta 6 00:00:19,960 --> 00:00:23,170 quá trình chuyển đổi bây giờ, cuối cùng, vào các trang web khía cạnh của khóa học, nơi bạn sẽ 7 00:00:23,170 --> 00:00:26,200 thấy rằng rất nhiều các nguyên tắc cơ bản mà chúng tôi đã được xuất khẩu cho tuần 8 00:00:26,200 --> 00:00:29,270 vẫn trở lại thăm, hoặc ám ảnh, chúng tôi. 9 00:00:29,270 --> 00:00:33,440 Nhưng bây giờ, bạn sẽ thấy rằng nó là một thứ tự cường độ dễ dàng hơn để 10 00:00:33,440 --> 00:00:36,540 hoàn thành nhiệm vụ nhất định và giải quyết vấn đề nhất định - 11 00:00:36,540 --> 00:00:41,050 nhiều đến nỗi ngay cả khi bạn nghĩ bộ vấn đề nào đó là niềm vui trong họ 12 00:00:41,050 --> 00:00:44,200 cách riêng, tôi nghĩ rằng bạn sẽ tìm thấy mà p thiết lập 7, trang thiết lập 8, và sau đó, 13 00:00:44,200 --> 00:00:47,990 cuối cùng, dự án cuối cùng sẽ được tất cả các hài lòng hơn bởi vì bạn sẽ 14 00:00:47,990 --> 00:00:51,830 thấy rằng chúng ta bắt đầu đưa cho các cấp bây giờ mọi thứ như quản lý bộ nhớ, và 15 00:00:51,830 --> 00:00:54,190 con trỏ, và những gì đang xảy ra trên dưới mui xe. 16 00:00:54,190 --> 00:00:57,310 Và một lần nữa, chủ đề, tất cả trong suốt học kỳ đã được lớp này 17 00:00:57,310 --> 00:00:58,030 và không giới hạn. 18 00:00:58,030 --> 00:01:00,530 Và bây giờ chúng tôi đang sắp xếp lên ở đây, đứng trên 19 00:01:00,530 --> 00:01:01,930 vai của tuần qua. 20 00:01:01,930 --> 00:01:05,360 >> Bây giờ, nhớ lại từ lần cuối cùng chúng tôi nói về cách mạng làm việc. 21 00:01:05,360 --> 00:01:08,120 Và điều này có lẽ là một đơn giản hóa, nhưng hãy nhớ rằng 22 00:01:08,120 --> 00:01:12,960 tất cả các máy tính trên thế giới có một địa chỉ IP giải quyết, mặc dù đó là một chút của một 23 00:01:12,960 --> 00:01:14,570 đơn giản hóa vẫn còn. 24 00:01:14,570 --> 00:01:18,180 Và những địa chỉ được sử dụng để duy nhất xác định máy móc để 25 00:01:18,180 --> 00:01:22,010 khi bạn gửi thông tin hoặc các gói, có thể nói, họ có thể có một nguồn gốc 26 00:01:22,010 --> 00:01:24,000 địa chỉ, địa chỉ đích. 27 00:01:24,000 --> 00:01:27,830 Và những địa chỉ IP tương tự có thể được sử dụng cả tốt và cũng cho cái ác, 28 00:01:27,830 --> 00:01:29,270 để theo dõi bạn, ví dụ. 29 00:01:29,270 --> 00:01:32,200 Trong thực tế, mỗi một người bạn với một máy tính xách tay mở ngay bây giờ, hoặc điện thoại của bạn trong 30 00:01:32,200 --> 00:01:35,070 túi, có một địa chỉ IP trên mạng của Đại học Harvard. 31 00:01:35,070 --> 00:01:39,120 Và nó không phải là tất cả những gì khó tương quan đó để bản thân và nơi 32 00:01:39,120 --> 00:01:40,180 là những ngày này. 33 00:01:40,180 --> 00:01:42,090 Nhưng thêm vào đó có lẽ trong tương lai. 34 00:01:42,090 --> 00:01:46,510 >> Bây giờ tôi nghĩ rằng tôi muốn mang lại một số kỷ niệm của [? nâng cao?] và cung cấp cho bạn 35 00:01:46,510 --> 00:01:49,360 một đoạn trích từ một chương trình bạn có thể thấy quen thuộc. 36 00:01:49,360 --> 00:01:52,710 Nếu chúng ta có thể tắt đèn cho chỉ một vài giây. 37 00:01:52,710 --> 00:01:53,960 Các Numb3rs chương trình. 38 00:01:53,960 --> 00:01:57,510 39 00:01:57,510 --> 00:02:00,540 >> SPEAKER 2: Đó là một địa chỉ IPP4 32-bit. 40 00:02:00,540 --> 00:02:01,610 >> SPEAKER 3: IPP, như trong Internet? 41 00:02:01,610 --> 00:02:02,968 >> SPEAKER 2: mạng tư nhân. 42 00:02:02,968 --> 00:02:04,960 Để mạng riêng Amita của. 43 00:02:04,960 --> 00:02:16,930 44 00:02:16,930 --> 00:02:19,602 Cô ấy thật tuyệt vời. 45 00:02:19,602 --> 00:02:21,030 >> SPEAKER 3: Thôi nào, Charlie. 46 00:02:21,030 --> 00:02:21,490 >> SPEAKER 2: Đó là. 47 00:02:21,490 --> 00:02:22,470 Một địa chỉ IP gương. 48 00:02:22,470 --> 00:02:27,680 Cô ấy cho chúng tôi xem những gì cô ấy làm trong thời gian thực. 49 00:02:27,680 --> 00:02:30,930 >> SPEAKER 1: OK, do đó, một vài điều sai với hình ảnh này. 50 00:02:30,930 --> 00:02:32,920 Vì vậy, một, và điều này là chấp nhận được, điều này thực sự 51 00:02:32,920 --> 00:02:34,400 không phải là một địa chỉ IP hợp lệ. 52 00:02:34,400 --> 00:02:38,190 Một địa chỉ IP hợp lệ phải được số của các hình thức w.x.y.z, nơi mà mỗi 53 00:02:38,190 --> 00:02:40,000 những chữ cái là 0-255. 54 00:02:40,000 --> 00:02:42,330 Nhưng đó là tốt bởi vì giống như các phim mà họ số điện thoại giả mạo, 55 00:02:42,330 --> 00:02:43,520 họ giả địa chỉ IP. 56 00:02:43,520 --> 00:02:45,230 Bạn không thực sự đánh máy chủ thực. 57 00:02:45,230 --> 00:02:46,760 >> Nhưng tâm trí bạn, đây là một trình duyệt. 58 00:02:46,760 --> 00:02:50,760 Và các trình duyệt không bắt đầu xuất mã máy tính như thế này. 59 00:02:50,760 --> 00:02:54,230 Và nếu chúng ta nhìn sâu hơn một chút, thông báo mà ngôn ngữ mà họ đang nhìn thấy 60 00:02:54,230 --> 00:02:57,040 trên màn hình là một ngôn ngữ được gọi là Mục tiêu C, đó là ngôn ngữ trong 61 00:02:57,040 --> 00:02:59,520 mà ứng dụng iPhone được viết, đặc biệt là những người liên quan 62 00:02:59,520 --> 00:03:03,540 bút màu, như bạn có thể nhìn thấy từ mã nguồn ở đây. 63 00:03:03,540 --> 00:03:06,600 64 00:03:06,600 --> 00:03:07,560 >> OK, tôi nghĩ đây là buồn cười. 65 00:03:07,560 --> 00:03:12,240 Vì vậy, đoạn mã này đã hoàn toàn không có gì để làm với bất cứ điều gì này 66 00:03:12,240 --> 00:03:13,940 tập đặc biệt là về. 67 00:03:13,940 --> 00:03:17,590 Vì vậy, các câu nói đùa là loại trên các folks dùng cho việc này cấp. 68 00:03:17,590 --> 00:03:20,220 Nhưng điều này không phải là tất cả những khó khăn để có được những chi tiết kỹ thuật phải. 69 00:03:20,220 --> 00:03:21,980 Và tôi khuyến khích bạn. 70 00:03:21,980 --> 00:03:25,530 Và trên thực tế, 50 có thể rất tốt làm hỏng rất nhiều chương trình truyền hình và phim hay bạn 71 00:03:25,530 --> 00:03:27,320 bởi vì bạn sẽ thấy rằng nó chỉ là không có thể những gì họ đang 72 00:03:27,320 --> 00:03:28,630 làm trên màn hình. 73 00:03:28,630 --> 00:03:31,750 Nhưng thực sự, đây là mã mà bạn có thể nhìn thấy nó trong một ứng dụng iPhone 74 00:03:31,750 --> 00:03:33,640 hoặc ứng dụng hệ điều hành Mac. 75 00:03:33,640 --> 00:03:35,685 Nó không có gì ở tất cả để làm với an ninh. 76 00:03:35,685 --> 00:03:38,610 Vì vậy, giữ một mắt ra cho hơn những điều thú vị đó như thế. 77 00:03:38,610 --> 00:03:42,720 >> Nhưng hôm nay chúng ta bắt đầu đi sâu vào thực sự sâu sắc cho cả một loạt các ngôn ngữ. 78 00:03:42,720 --> 00:03:45,410 Một thực tế, một trong những bao quát bán đồ ăn của phần này của 79 00:03:45,410 --> 00:03:51,815 Tất nhiên là không học cách lập trình trong PHP, không để học SQL cho mỗi gia nhập, không 80 00:03:51,815 --> 00:03:58,100 để tìm hiểu JavaScript cho mỗi gia nhập, nhưng thay để dạy cho mình cách dạy 81 00:03:58,100 --> 00:04:02,030 bản thân ngôn ngữ mới bởi vì, thực sự, chúng ta bắt đầu có ngay bây giờ các 82 00:04:02,030 --> 00:04:06,020 bánh xe đào tạo ra để sau cuối Tất nhiên, bạn không mong đợi một 20 83 00:04:06,020 --> 00:04:08,890 Trang đặc điểm kỹ thuật cho bạn biết cách thực hiện một số chương trình. 84 00:04:08,890 --> 00:04:12,970 Bạn có đủ các thành phần trong của bạn tâm trí, và đủ công cụ trong công cụ của bạn 85 00:04:12,970 --> 00:04:15,750 bộ, mà để bắt đầu xây dựng các giải pháp cho những vấn đề quan tâm 86 00:04:15,750 --> 00:04:19,130 bạn đối với một số nhóm sinh viên, đối với một số dự án nghiên cứu, hoặc thực sự bất cứ điều gì 87 00:04:19,130 --> 00:04:20,140 quan tâm đến bạn. 88 00:04:20,140 --> 00:04:24,150 >> Vì vậy, vào giai đoạn cuối đó, nhớ lại rằng đây là hình ảnh chúng tôi đã thu hút nó lần cuối cùng. 89 00:04:24,150 --> 00:04:27,620 Và đây là hai máy tính, khách hàng và cắt đứt, nói chuyện với nhau. 90 00:04:27,620 --> 00:04:31,130 Và các giao thức, ngôn ngữ, do đó, để nói, rằng hai máy tính xảy ra 91 00:04:31,130 --> 00:04:33,220 được nói chuyện được gọi là HTTP. 92 00:04:33,220 --> 00:04:37,730 Và đó chỉ là giao thức được sử dụng bởi máy tính để chuyển thông tin trên 93 00:04:37,730 --> 00:04:38,710 thế giới web. 94 00:04:38,710 --> 00:04:41,770 Các trang web, tất nhiên, chỉ là một dịch vụ chạy trên đầu trang của 95 00:04:41,770 --> 00:04:43,000 cái gọi là internet. 96 00:04:43,000 --> 00:04:48,660 Dịch vụ khác là những gì có sẵn trên đầu của Internet những ngày này? 97 00:04:48,660 --> 00:04:51,600 Một số giao thức khác - là những gì vậy? 98 00:04:51,600 --> 00:04:52,300 >> ĐỐI TƯỢNG: FTP. 99 00:04:52,300 --> 00:04:52,790 >> SPEAKER 1: FTP. 100 00:04:52,790 --> 00:04:54,630 Vì vậy, File Transfer Protocol là một. 101 00:04:54,630 --> 00:04:56,050 Hầu hết các bạn có lẽ đã không sử dụng nó. 102 00:04:56,050 --> 00:04:58,830 Nhưng hầu hết các bạn có thể đã sử dụng những thứ như Gchat, hoặc ngay lập tức 103 00:04:58,830 --> 00:05:00,970 tin nhắn nói chung, chắc chắn email. 104 00:05:00,970 --> 00:05:04,470 Và những người cũng vậy, các dịch vụ chạy trên đầu của internet vì, tại 105 00:05:04,470 --> 00:05:08,180 cuối ngày, internet chính nó thực sự chỉ có được dữ liệu từ điểm A đến 106 00:05:08,180 --> 00:05:12,480 điểm B. Và nó sử dụng một số hạt riêng của mình, một trong số họ hoặc hai 107 00:05:12,480 --> 00:05:17,340 trong số họ thường nhất được gọi là TCP / IP, mà là để nói rằng một máy tính trên 108 00:05:17,340 --> 00:05:19,960 Internet thực sự có thể làm được những thứ khác nhau, email, 109 00:05:19,960 --> 00:05:20,980 và các trang web, và vv. 110 00:05:20,980 --> 00:05:22,220 Google hiện rất nhiều về điều này. 111 00:05:22,220 --> 00:05:26,310 Vậy làm thế nào là những dịch vụ độc đáo xác định, chúng tôi đã nói, trên một máy tính 112 00:05:26,310 --> 00:05:29,080 mà thực sự có thể làm nhiều điều? 113 00:05:29,080 --> 00:05:29,860 >> Số cổng. 114 00:05:29,860 --> 00:05:34,180 Và đây chỉ là tùy ý của con người ước như 80 là web, 443 là 115 00:05:34,180 --> 00:05:36,580 web được mã hóa, 25 là email. 116 00:05:36,580 --> 00:05:38,230 Và có một bó của những người khác. 117 00:05:38,230 --> 00:05:41,860 Và những con số chỉ đơn giản là bao gồm trong những gói thông tin, những 118 00:05:41,860 --> 00:05:46,230 phong bì ảo, mà thực sự có yêu cầu hoặc đáp ứng. 119 00:05:46,230 --> 00:05:51,300 >> Vì vậy, khi bạn nhận được lại một phản ứng từ web, thông thường, bạn không nhìn thấy bất kỳ 120 00:05:51,300 --> 00:05:54,780 số nào trong các điều khoản của mã trạng thái của các phản ứng. 121 00:05:54,780 --> 00:05:56,770 Bạn không thực sự thấy hoạt động bên trong của 122 00:05:56,770 --> 00:05:58,090 các gói tin được đưa ra. 123 00:05:58,090 --> 00:05:59,860 Nhưng 200 không thực sự có nghĩa là OK. 124 00:05:59,860 --> 00:06:01,530 Và điều đó có nghĩa tất cả là tốt. 125 00:06:01,530 --> 00:06:02,870 Bạn có thể đã nhìn thấy một bó của các. 126 00:06:02,870 --> 00:06:05,710 Mà có lẽ là phổ biến nhất bạn đã thấy trên các trang web? 127 00:06:05,710 --> 00:06:05,980 >> 404. 128 00:06:05,980 --> 00:06:07,330 Nó chỉ có nghĩa là tập tin không được tìm thấy. 129 00:06:07,330 --> 00:06:08,270 Nó có nghĩa là một người nào đó hơi say lên. 130 00:06:08,270 --> 00:06:11,450 Bạn đã làm bằng cách đánh nhầm địa chỉ URL, hoặc một người nào đó khác đã làm bằng cách cho bạn một 131 00:06:11,450 --> 00:06:15,100 URL không hợp lệ, hoặc họ đã xóa tập tin và URL vẫn còn 132 00:06:15,100 --> 00:06:16,130 được sử dụng bởi người. 133 00:06:16,130 --> 00:06:19,670 Vì vậy, bất kỳ số lý do có thể giải thích lý do tại sao một tập tin không được tìm thấy. 134 00:06:19,670 --> 00:06:22,990 Và bạn sẽ thấy, trong những tuần tới, các mã lỗi khác, và bạn sẽ 135 00:06:22,990 --> 00:06:24,195 tận dụng lợi thế của một số người trong số họ. 136 00:06:24,195 --> 00:06:25,760 Điều tồi tệ nhất là 500. 137 00:06:25,760 --> 00:06:29,820 Nếu bạn nhận được một lỗi 500 trong mã của bạn đã viết, suy nghĩ về điều đó như sắp xếp của 138 00:06:29,820 --> 00:06:33,290 tương tự của seg lỗi trong thế giới về lập trình web. 139 00:06:33,290 --> 00:06:34,560 Nó không phải là khá nghiêm trọng. 140 00:06:34,560 --> 00:06:36,660 Nhưng nó chỉ có nghĩa rằng, ở đâu đó, bạn hơi say lên. 141 00:06:36,660 --> 00:06:38,260 Vì vậy, mong muốn những người. 142 00:06:38,260 --> 00:06:39,910 >> Nhưng chúng ta hãy xem nếu chúng ta có thể nhìn thấy những trong bối cảnh. 143 00:06:39,910 --> 00:06:43,460 Cho tôi đi đến một trình duyệt ở đây và làm như sau. 144 00:06:43,460 --> 00:06:45,710 Vì vậy, đây là Chrome, mà sẽ xảy ra được cài đặt trong thiết bị. 145 00:06:45,710 --> 00:06:49,410 Nhưng hầu hết tất cả các trình duyệt hiện nay có một số chức năng tương đương. 146 00:06:49,410 --> 00:06:52,610 Tôi sẽ đi lên menu của Chrome, và vào Tools, và tôi sẽ đi 147 00:06:52,610 --> 00:06:53,990 để Công cụ phát triển. 148 00:06:53,990 --> 00:06:57,040 Và bạn sẽ thấy bảng điều khiển này ít mở ra ở dưới cùng của cửa sổ. 149 00:06:57,040 --> 00:07:00,190 Phím tắt khác, phải trung thực, mà tôi thường sử dụng bản thân mình là Nhấp chuột phải 150 00:07:00,190 --> 00:07:04,370 hoặc kiểm soát vào bất cứ nơi nào trên web trang và chỉ cần đi để kiểm tra nguyên tố. 151 00:07:04,370 --> 00:07:07,440 Và điều đó sẽ không chỉ mở này có cho bạn. 152 00:07:07,440 --> 00:07:10,230 Nó cũng sẽ mở ra, cụ thể, phần yếu tố trên 153 00:07:10,230 --> 00:07:11,430 phía bên tay trái. 154 00:07:11,430 --> 00:07:12,460 >> Vì vậy, chúng tôi tất nhiên nhìn thấy Google. 155 00:07:12,460 --> 00:07:13,930 Họ đã thay đổi logo của họ ngày hôm nay. 156 00:07:13,930 --> 00:07:20,200 Nhưng trên nếu tôi di chuyển xuống ở đây, nhận thấy mà theo yếu tố, bạn thấy 157 00:07:20,200 --> 00:07:23,460 những gì được gọi là HTML, HyperText Markup Ngôn ngữ, và đây là ngôn ngữ 158 00:07:23,460 --> 00:07:26,000 rằng điều này và tất cả các trang web, thực sự, được viết in 159 00:07:26,000 --> 00:07:28,950 Nhưng nó thực sự được định dạng cho chúng tôi rất nhiều readably hơn 160 00:07:28,950 --> 00:07:29,970 hơn bình thường là. 161 00:07:29,970 --> 00:07:34,810 Trong thực tế, nếu tôi thu nhỏ, và tôi thay vì chỉ cần nhấp chuột phải hoặc Kiểm soát Nhấn 162 00:07:34,810 --> 00:07:39,630 bấm vào trang, và sau đó vào View Page Source, đây là nghĩa gì 163 00:07:39,630 --> 00:07:42,150 Google đã gửi xuống trình duyệt của tôi. 164 00:07:42,150 --> 00:07:46,480 >> Vì vậy, một số người hoặc những người đã viết Google.com sử dụng mã nguồn này. 165 00:07:46,480 --> 00:07:47,790 Hầu hết trong số này không phải là HTML. 166 00:07:47,790 --> 00:07:49,340 Nó thực sự là một ngôn ngữ được gọi là JavaScript, 167 00:07:49,340 --> 00:07:50,880 chúng tôi sẽ đến vào thứ tư. 168 00:07:50,880 --> 00:07:55,580 Nhưng những gì Chrome, và những gì mọi trình duyệt có thể làm cho chúng ta, là loại nhìn thấy 169 00:07:55,580 --> 00:07:59,610 qua tất cả những phiền nhiễu của cú pháp điên, và không gian lắp lại trắng 170 00:07:59,610 --> 00:08:02,940 cho chúng ta, và thậm chí cả cú pháp nổi bật, hoặc tô màu điều cho chúng ta. 171 00:08:02,940 --> 00:08:06,470 Vì vậy, bạn sẽ thấy rằng những cái gọi là công cụ phát triển được xây dựng trong trình duyệt 172 00:08:06,470 --> 00:08:10,830 sẽ làm cho cuộc sống của bạn như vậy, rất dễ dàng hơn nhiều bởi vì bạn có thể khám phá, thông qua menu này 173 00:08:10,830 --> 00:08:13,940 giao diện, chính xác những gì cơ bản mã nguồn cho 174 00:08:13,940 --> 00:08:15,750 bất kỳ trang nào trên internet. 175 00:08:15,750 --> 00:08:19,070 Và quả thực, đây là một trong những cách hiệu quả để học cách làm 176 00:08:19,070 --> 00:08:22,860 một cái gì đó mới, ít nhất là nếu trang không phải là quá phức tạp như áp đảo, được 177 00:08:22,860 --> 00:08:26,700 để bắt đầu phá đám đó là HTML, tìm tại cái gọi là CSS, mà chúng ta sẽ đến 178 00:08:26,700 --> 00:08:30,310 để một chút là tốt, để có được một sự hiểu biết về làm thế nào mà lập trình viên 179 00:08:30,310 --> 00:08:33,480 thực hiện một số đặc biệt tính năng của trang. 180 00:08:33,480 --> 00:08:36,530 >> Nhưng về mặt kỹ thuật chi tiết thú vị phải bây giờ nó sẽ được điều này. 181 00:08:36,530 --> 00:08:39,429 Nếu tôi đi sang tab Network, bây giờ chúng ta rõ ràng điều này. 182 00:08:39,429 --> 00:08:43,429 Tôi sẽ nhấp vào ít qua biểu tượng ở đây, và sau đó 183 00:08:43,429 --> 00:08:45,630 đi đến một trang web khác. 184 00:08:45,630 --> 00:08:48,430 Và tôi chỉ cần đi để gõ trong Facebook.com. 185 00:08:48,430 --> 00:08:51,940 Không HTTP, HTTPS không, không có cá nhân. 186 00:08:51,940 --> 00:08:53,850 Chúng ta hãy thực sự nhìn thấy những gì xảy ra ở đây. 187 00:08:53,850 --> 00:08:55,030 >> Nhập. 188 00:08:55,030 --> 00:08:58,480 Bây giờ nhận thấy một bó toàn bộ công cụ chỉ xuất hiện trong bảng dưới đây, trong 189 00:08:58,480 --> 00:09:00,285 Ngoài các trang web xuất hiện ở đầu trang. 190 00:09:00,285 --> 00:09:04,890 Tôi sẽ di chuyển trở lại vào Tab mạng ở đây, và tôi sẽ 191 00:09:04,890 --> 00:09:06,080 bấm vào dòng đầu tiên. 192 00:09:06,080 --> 00:09:10,580 Những gì công cụ này là sẽ tiết lộ cho chúng tôi là mỗi một trong những yêu cầu HTTP 193 00:09:10,580 --> 00:09:13,550 mà nhanh chóng chỉ quay trở lại và giữa trình duyệt của tôi 194 00:09:13,550 --> 00:09:14,930 và máy chủ của Facebook. 195 00:09:14,930 --> 00:09:17,830 Và như vậy mỗi một trong những hàng đại diện cho một trong những yêu cầu hoặc 196 00:09:17,830 --> 00:09:20,970 Đáp lại, một hoặc nhiều những phong bì ảo. 197 00:09:20,970 --> 00:09:24,080 Hoặc tình cờ hơn, nó giống như một người như một người, một khách hàng trong một 198 00:09:24,080 --> 00:09:26,710 nhà hàng, yêu cầu một cái gì đó một lần nữa, và một lần nữa, và một lần nữa. 199 00:09:26,710 --> 00:09:29,400 Và người phục vụ giúp mang lại nó trở lại tại một thời điểm. 200 00:09:29,400 --> 00:09:33,850 >> Vì vậy, bây giờ, nếu tôi phóng to trên này, thông báo và đây sẽ là loại điều 201 00:09:33,850 --> 00:09:36,600 mà bạn đang chào đón và khuyến khích chơi với mình, bởi vì chúng tôi 202 00:09:36,600 --> 00:09:38,150 sẽ không đi qua tất cả mọi thứ rất chi tiết. 203 00:09:38,150 --> 00:09:40,070 Nhưng nhận thấy có một vài phụ tab đây - 204 00:09:40,070 --> 00:09:43,700 Tiêu đề, Xem trước, đáp ứng, Cookies, và thời gian. 205 00:09:43,700 --> 00:09:48,280 Tôi chỉ cần đi để nhìn vào tiêu đề bây giờ bởi vì đây là ít 206 00:09:48,280 --> 00:09:53,600 thành phần bên trong phong bì mà giúp dữ liệu đến và từ các nơi. 207 00:09:53,600 --> 00:09:57,590 >> Vì vậy, đầu tiên, hãy để tôi bấm vào đây, xem Nguồn bên cạnh tiêu đề yêu cầu. 208 00:09:57,590 --> 00:10:01,910 Có yêu cầu mà trình duyệt của tôi, Chrome, trong trường hợp này, đưa vào bên trong của 209 00:10:01,910 --> 00:10:02,910 mà phong bì ảo. 210 00:10:02,910 --> 00:10:04,800 Bạn sẽ nhớ lại tuần trước tôi tay gõ nó trong khi 211 00:10:04,800 --> 00:10:06,380 giả vờ là một trình duyệt. 212 00:10:06,380 --> 00:10:09,980 Sau đó, nó nhắc nhở các máy chủ mà nó là tìm kiếm các máy chủ được gọi là 213 00:10:09,980 --> 00:10:10,835 Facebook.com. 214 00:10:10,835 --> 00:10:13,630 Và sau đó có một chút phức tạp hơn thông tin mà chúng tôi sẽ vẫy 215 00:10:13,630 --> 00:10:14,830 bàn tay của chúng tôi bây giờ. 216 00:10:14,830 --> 00:10:18,640 >> Nhưng nếu tôi bắt đầu di chuyển xuống tại trong cửa sổ này, hãy để tôi đến được với các 217 00:10:18,640 --> 00:10:19,980 tiêu đề phản ứng. 218 00:10:19,980 --> 00:10:23,270 Đây là những gì trong ảo phong bì mà trở về từ 219 00:10:23,270 --> 00:10:24,095 Facebook.com. 220 00:10:24,095 --> 00:10:27,390 Và nếu tôi nhấp vào View Source chỉ để xem nguyên văn bản của nó, 221 00:10:27,390 --> 00:10:28,400 nhận thấy một vài điều. 222 00:10:28,400 --> 00:10:32,130 Một, Facebook cũng nói cùng giao thức, phiên bản 1.1 của nó. 223 00:10:32,130 --> 00:10:33,390 Vì vậy, đó là tốt đẹp. 224 00:10:33,390 --> 00:10:36,820 Nhưng mã trạng thái 301, chuyển vĩnh viễn. 225 00:10:36,820 --> 00:10:38,880 >> Vâng, nơi quái đã Facebook đi đâu? 226 00:10:38,880 --> 00:10:40,430 Này là những gì cố gắng truyền đạt cho chúng tôi? 227 00:10:40,430 --> 00:10:44,310 Vâng, nhận thấy ở đây có khác tiêu đề được gọi là Location. 228 00:10:44,310 --> 00:10:51,050 Vì vậy, tại sao Facebook nói với tôi rằng họ di chuyển vĩnh viễn đến URL đó 229 00:10:51,050 --> 00:10:53,580 bên cạnh Địa điểm? 230 00:10:53,580 --> 00:10:54,962 Tôi quên www. 231 00:10:54,962 --> 00:10:56,250 >> Vì vậy, đó là sự lựa chọn của tôi. 232 00:10:56,250 --> 00:11:00,450 Trong thực tế, hầu hết chúng ta hiếm khi có thể, gõ www.whatever.com những ngày này. 233 00:11:00,450 --> 00:11:03,390 Nhưng nó quay ra một quản trị hệ thống, như Facebook, có thể 234 00:11:03,390 --> 00:11:06,800 cấu hình máy chủ của họ theo cách như vậy mà một trong hai Facebook.com hoạt động, hoặc 235 00:11:06,800 --> 00:11:12,450 www.Facebook.com hoạt động, hoặc, thực sự, mọi tiền tố như vậy trước mặt họ 236 00:11:12,450 --> 00:11:13,210 tên miền. 237 00:11:13,210 --> 00:11:14,500 Vì vậy, họ đã làm điều đó cho chúng ta. 238 00:11:14,500 --> 00:11:16,910 Và họ đang chuyển hướng chúng tôi, có thể đối với một số kỹ thuật, 239 00:11:16,910 --> 00:11:18,100 một số lý do tiếp thị. 240 00:11:18,100 --> 00:11:21,570 Họ chỉ muốn làm hợp tiêu chuẩn trên www.Facebook.com. 241 00:11:21,570 --> 00:11:24,040 >> Nhưng điều đó không hoàn toàn nó. 242 00:11:24,040 --> 00:11:28,560 Nếu tôi di chuyển xuống đây, chúng ta hãy xem những gì sẽ xảy ra. 243 00:11:28,560 --> 00:11:30,810 Đây là nói cho tôi chúng tôi di chuyển vĩnh viễn đến 244 00:11:30,810 --> 00:11:33,450 http://www.Facebook.com. 245 00:11:33,450 --> 00:11:36,620 Vì vậy, chúng ta hãy nhìn vào yêu cầu thứ hai rằng trình duyệt của tôi gửi. 246 00:11:36,620 --> 00:11:40,070 Thật không may, có vẻ như Facebook đã di chuyển một lần nữa vì thứ hai 247 00:11:40,070 --> 00:11:44,420 yêu cầu, bằng cách chọn URL mà thay vào đó, nói rằng, quá, di chuyển 248 00:11:44,420 --> 00:11:45,010 vĩnh viễn. 249 00:11:45,010 --> 00:11:48,140 Và cho tôi di chuyển xuống đây với tiêu đề phản ứng. 250 00:11:48,140 --> 00:11:51,530 Nơi đã Facebook đi ngay bây giờ? 251 00:11:51,530 --> 00:11:52,680 >> Vì vậy, HTTPS. 252 00:11:52,680 --> 00:11:56,130 Vì vậy bây giờ Facebook đã bắt đầu, đặc biệt trong bối cảnh hiện tại 253 00:11:56,130 --> 00:11:59,750 các sự kiện trong những tháng gần đây, đặc biệt và cũng trong vài năm qua 254 00:11:59,750 --> 00:12:03,670 buộc tất cả người dùng của họ, trong một tốt cách, sử dụng HTTPS, mà là nhiều hơn 255 00:12:03,670 --> 00:12:06,210 an toàn, mặc dù không hoàn toàn an toàn. 256 00:12:06,210 --> 00:12:10,000 Và vì vậy bây giờ trang của tôi, trình duyệt của tôi là sẽ yêu cầu URL thứ ba này. 257 00:12:10,000 --> 00:12:14,710 Và bây giờ, cuối cùng, chúng tôi nhận được nếu không vô hình 200 OK. 258 00:12:14,710 --> 00:12:18,830 >> Vì vậy, những gì trên thế giới hoặc tất cả các hàng khác xuống đây. 259 00:12:18,830 --> 00:12:22,630 Tôi nghĩa là gõ một điều, và tôi trình duyệt dường như đã yêu cầu như 260 00:12:22,630 --> 00:12:23,840 20 một số những điều kỳ lạ. 261 00:12:23,840 --> 00:12:24,640 Đó là những gì? 262 00:12:24,640 --> 00:12:25,810 >> ĐỐI TƯỢNG: Script? 263 00:12:25,810 --> 00:12:28,460 >> SPEAKER 1: Kịch bản một số tập tin khác viết bằng một ngôn ngữ được gọi là 264 00:12:28,460 --> 00:12:30,780 JavaScript, trong đó, một lần nữa, chúng tôi sẽ thấy một chút vào thứ tư. 265 00:12:30,780 --> 00:12:32,760 Những gì khác? 266 00:12:32,760 --> 00:12:33,390 Phong cách trang. 267 00:12:33,390 --> 00:12:36,350 Vì vậy, một cái gì đó trong một ngôn ngữ được gọi là CSS, mà chúng ta sẽ thấy trong một chút. 268 00:12:36,350 --> 00:12:40,690 GIF, và JPEG, và pngs, và hình ảnh, và các tập tin phim - bất cứ một trang web 269 00:12:40,690 --> 00:12:43,280 đã có khả năng nhất trong các hình thức của một tập tin. 270 00:12:43,280 --> 00:12:46,750 Và vì vậy những gì chúng ta đang thấy trên bên trái bên tay có tất cả các file 271 00:12:46,750 --> 00:12:50,280 mà Chrome đã có để tải về, đệ quy, nếu bạn muốn, để 272 00:12:50,280 --> 00:12:52,430 soạn toàn bộ trang. 273 00:12:52,430 --> 00:12:56,210 >> Vì vậy, những gì chúng ta đã thấy một thời điểm trước với Google, nếu tôi bấm vào các yếu tố 274 00:12:56,210 --> 00:13:00,470 tab, điều này, chắc chắn, là HTML, ngôn ngữ sáng tác trang này. 275 00:13:00,470 --> 00:13:01,890 Nhưng có chùm những thứ khác. 276 00:13:01,890 --> 00:13:02,640 Có logo. 277 00:13:02,640 --> 00:13:04,680 Có những màu xanh-ish các biểu tượng trên đó. 278 00:13:04,680 --> 00:13:07,610 Và có các yếu tố khác vẫn trên trang mà mình có thể 279 00:13:07,610 --> 00:13:08,610 tập tin riêng biệt. 280 00:13:08,610 --> 00:13:11,860 >> Vì vậy, những gì là tốt đẹp về một trình duyệt nó nhìn vào ngôn ngữ chúng ta sẽ 281 00:13:11,860 --> 00:13:14,690 để bắt đầu viết, hoặc bạn đã đã văn bản bắt đầu trong bộ P 7, con số 282 00:13:14,690 --> 00:13:17,970 ra nơi mà các tập tin trực, và đi và lấy họ là tốt. 283 00:13:17,970 --> 00:13:21,010 Và tôi không thể nhấn mạnh đủ, thậm chí mặc dù một số của điều này có thể nhìn một chút 284 00:13:21,010 --> 00:13:24,820 phức tạp hoặc áp đảo ở cái nhìn đầu tiên, học cách lập trình 285 00:13:24,820 --> 00:13:28,500 các ứng dụng cho các trang web, nó vô giá để hiểu làm thế nào những 286 00:13:28,500 --> 00:13:29,410 công cụ này ít làm việc. 287 00:13:29,410 --> 00:13:33,830 Đây là những loại giống như GDB như công cụ, nhưng đơn giản hơn nhiều, cuối cùng, sử dụng - 288 00:13:33,830 --> 00:13:37,690 và thực sự mang lại cho bạn đôi mắt vào những gì chúng tôi đã được tham gia cho các cấp cho 289 00:13:37,690 --> 00:13:39,170 khá nhiều thời gian bây giờ. 290 00:13:39,170 --> 00:13:42,270 >> Vì vậy, những gì chúng ta có thể làm bây giờ với thông tin này? 291 00:13:42,270 --> 00:13:44,875 Vâng, chúng ta hãy thực sự có một cái nhìn tại các khái niệm cơ bản HTML. 292 00:13:44,875 --> 00:13:49,025 Và chúng tôi sẽ trì hoãn, như chúng ta đã có, để phần trong tuần này, cho vấn đề 293 00:13:49,025 --> 00:13:53,260 thiết lập 7 đặc điểm kỹ thuật, để một số chi tiết cụ thể của các thứ tiếng. 294 00:13:53,260 --> 00:13:57,020 Nhưng chúng ta hãy xem nếu chúng ta không có thể sơn một hình ảnh của những gì bạn nên hiểu 295 00:13:57,020 --> 00:13:57,940 tổng đây. 296 00:13:57,940 --> 00:14:02,280 >> Vì vậy, HTML, HyperText Markup Language, không phải là một ngôn ngữ lập trình. 297 00:14:02,280 --> 00:14:03,520 Điều đó thực sự có nghĩa là gì? 298 00:14:03,520 --> 00:14:05,690 Vì vậy, HTML trông như thế này. 299 00:14:05,690 --> 00:14:06,810 Và một số bạn đã biết điều này. 300 00:14:06,810 --> 00:14:08,130 Một số bạn đã được làm này một thời gian. 301 00:14:08,130 --> 00:14:10,270 Nhưng chúng ta hãy xem nếu chúng ta không có thể điền trong một số khoảng trống là tốt. 302 00:14:10,270 --> 00:14:11,760 Vì vậy, nhận thấy một vài điều ở đây. 303 00:14:11,760 --> 00:14:13,030 Một, nó chỉ là văn bản. 304 00:14:13,030 --> 00:14:15,960 Vì vậy, nó giống như mã nguồn trong C, hoặc một số ngôn ngữ khác. 305 00:14:15,960 --> 00:14:17,750 >> Nhận thấy rằng có vẻ như là một mô hình ở đây. 306 00:14:17,750 --> 00:14:20,870 Có thụt đầu dòng, nhưng về mặt kỹ thuật thụt đầu dòng chỉ là con người 307 00:14:20,870 --> 00:14:21,205 ước. 308 00:14:21,205 --> 00:14:24,980 Một trình duyệt không quan tâm nếu có mới đường và các tab như chúng ta thấy ở đó. 309 00:14:24,980 --> 00:14:27,410 Nhưng nhận thấy rằng có đối xứng ở đây. 310 00:14:27,410 --> 00:14:31,180 Có gì tôi sẽ gọi, ở đầu tập tin này, các thẻ mở, hoặc bắt đầu 311 00:14:31,180 --> 00:14:33,030 thẻ, gọi là HTML. 312 00:14:33,030 --> 00:14:36,800 Và sau đó, xuống dưới, hoàn toàn lót lên, giống như chúng tôi làm với dấu ngoặc nhọn, 313 00:14:36,800 --> 00:14:40,910 chúng ta thấy khung mở, phía trước dấu gạch chéo, HTML, dấu đóng ngoặc. 314 00:14:40,910 --> 00:14:44,610 Vì vậy, đó là gần tương ứng thẻ, hoặc kết thúc thẻ, cho điều đó. 315 00:14:44,610 --> 00:14:47,990 >> Với nhau, tất cả mọi thứ bên trong cái gọi là thẻ mở và thẻ đóng 316 00:14:47,990 --> 00:14:50,440 sáng tác những gì chúng tôi sẽ gọi một phần tử. 317 00:14:50,440 --> 00:14:53,910 Và chúng ta sẽ thấy, chỉ trong một thời điểm, đó là thực sự thích một nút trong một cây. 318 00:14:53,910 --> 00:14:57,470 Bởi vì nếu bạn suy nghĩ về bây giờ thụt đầu dòng đó là ngụ ý ở đây, bạn 319 00:14:57,470 --> 00:15:00,780 loại có, như thế, ông bà nút gọi là HTML. 320 00:15:00,780 --> 00:15:06,870 Bao nhiêu con bạn có thể nói, dựa trên hình ảnh này, các phần tử HTML có? 321 00:15:06,870 --> 00:15:07,720 >> Vì vậy, có thể là hai. 322 00:15:07,720 --> 00:15:10,240 Là một trong những yếu tố đầu, rõ ràng. 323 00:15:10,240 --> 00:15:11,710 Và là một trong những yếu tố cơ thể. 324 00:15:11,710 --> 00:15:12,555 Và lý do tại sao hai con? 325 00:15:12,555 --> 00:15:15,840 Vâng, tôi chỉ là loại suy luận rằng nếu Tôi có một thẻ đầu mở và sau đó một 326 00:15:15,840 --> 00:15:17,820 thẻ đầu gần gũi, đó là một yếu tố. 327 00:15:17,820 --> 00:15:21,200 Và sau đó, nếu có một cơ thể mở thẻ và một thẻ cơ thể gần gũi, đó là như 328 00:15:21,200 --> 00:15:22,340 yếu tố khác. 329 00:15:22,340 --> 00:15:26,000 Vì vậy, trong ý nghĩa là nếu tôi loại xoay hình ảnh trên mặt của nó, đó là 330 00:15:26,000 --> 00:15:29,910 giống như có một thẻ HTML, và sau đó một thẻ đầu, và sau đó một từ khóa cơ thể, và 331 00:15:29,910 --> 00:15:34,290 sau đó một số văn bản, xin chào thế giới, treo lủng lẳng tắt của các từ khóa cơ thể của chính nó. 332 00:15:34,290 --> 00:15:36,620 >> Vì vậy, chúng ta có thể vẽ một bức tranh mà có thể trông như thế này. 333 00:15:36,620 --> 00:15:38,020 Các hình dạng là tùy ý. 334 00:15:38,020 --> 00:15:40,870 Nhưng nhận thấy rằng tôi đã sử dụng loại một hình elip ở phía trên để đại diện cho 335 00:15:40,870 --> 00:15:41,860 bản thân tài liệu. 336 00:15:41,860 --> 00:15:45,980 Hóa ra có thể có công cụ khác bên trong một trang web mà tôi đã không 337 00:15:45,980 --> 00:15:46,940 rút ra ở đây. 338 00:15:46,940 --> 00:15:50,800 Vì vậy, chúng ta sẽ thậm chí treo HTML nút tắt của một nút tài liệu cái gọi là. 339 00:15:50,800 --> 00:15:53,730 Và sau đó, chúng tôi đã đầu và cơ thể và tiêu đề, thông báo, 340 00:15:53,730 --> 00:15:55,360 được lồng nhau hơn nữa. 341 00:15:55,360 --> 00:15:58,650 Tôi không bận tâm đặt dòng bổ sung phá vỡ bên trong các tag tiêu đề. 342 00:15:58,650 --> 00:16:02,710 Nó chỉ cảm thấy như nó đã nhận được một chút quá tiết. 343 00:16:02,710 --> 00:16:07,000 Vì vậy, tôi để lại nó trong một dòng có, với tiêu đề mở, hello thế giới, danh hiệu gần. 344 00:16:07,000 --> 00:16:09,380 Và sau đó chúng tôi có một số văn bản lơ lửng ra khỏi đây. 345 00:16:09,380 --> 00:16:12,200 >> Vì vậy, hình ảnh này sẽ quay trở lại chúng tôi khi chúng tôi đi sâu vào JavaScript. 346 00:16:12,200 --> 00:16:15,110 Và sự hiểu biết rằng khi bạn viết HTML như thế này, những gì 347 00:16:15,110 --> 00:16:16,250 là một trình duyệt đang làm gì? 348 00:16:16,250 --> 00:16:19,290 Vâng, chúng tôi không phải lo lắng về làm thế nào nó làm điều này, hoặc với những gì 349 00:16:19,290 --> 00:16:23,090 thuật toán, nhưng vào cuối ngày, khi nhận được một trình duyệt HTML như 350 00:16:23,090 --> 00:16:27,510 rằng, từ Facebook hay Google, nó phân tích nó, có thể nói, nó sẽ đọc, 351 00:16:27,510 --> 00:16:31,160 với một cái gì đó như fread, từ trên xuống phía dưới, từ trái sang phải, và vì nó 352 00:16:31,160 --> 00:16:36,300 nhận ra, oh, thẻ mở, và sau đó đóng thẻ, nó bắt đầu malloc, có thể nói, 353 00:16:36,300 --> 00:16:37,800 một nút trong một cây. 354 00:16:37,800 --> 00:16:41,130 Và khi nó gặp, như chúng tôi đã ngụ ý đây với sự thụt vào, một 355 00:16:41,130 --> 00:16:45,400 nút con, nó mallocs một nút cho rằng và kèm theo đó cho cây. 356 00:16:45,400 --> 00:16:49,150 >> Vì vậy, các cấu trúc cây, cây nhị phân, cây bậc ba, và cây lớn hơn, mà 357 00:16:49,150 --> 00:16:53,380 chúng tôi liếc nhìn một hoặc hai tuần trước đây, thông báo có cùng một nguyên tắc là 358 00:16:53,380 --> 00:16:54,220 quay trở lại với chúng ta. 359 00:16:54,220 --> 00:16:57,590 Và bất cứ ai thực hiện, Chrome bất cứ điều gì đội đã làm điều đó, có lẽ đã có 360 00:16:57,590 --> 00:17:00,800 thực hiện một số loại cấu trúc cây bên dưới mui xe. 361 00:17:00,800 --> 00:17:05,329 Và tự nó có thể trong một ngôn ngữ như C, C + +, hoặc thấp hơn 362 00:17:05,329 --> 00:17:08,540 ngôn ngữ cấp mà chúng tôi sẽ bây giờ sử dụng trên các trang web. 363 00:17:08,540 --> 00:17:11,200 >> Vì vậy, bây giờ, có thể, điều này sẽ có ý nghĩa hơn. 364 00:17:11,200 --> 00:17:15,420 Hình xăm thực tế từ một số anh chàng người có thể hối tiếc cuối cùng, loại. 365 00:17:15,420 --> 00:17:17,359 OK, được rồi, vì vậy rất nhiều sự hài hước web. 366 00:17:17,359 --> 00:17:18,599 Nó không thực sự đi hơn rất tốt ngày hôm nay. 367 00:17:18,599 --> 00:17:19,560 Vì vậy, chúng tôi sẽ tiếp tục. 368 00:17:19,560 --> 00:17:20,180 Được rồi. 369 00:17:20,180 --> 00:17:22,760 >> Vì vậy, chúng ta hãy có một cái nhìn tại một vài ví dụ. 370 00:17:22,760 --> 00:17:24,660 Các đơn giản nhất điều có thể này. 371 00:17:24,660 --> 00:17:29,170 Tôi sẽ đi trước và mở ra trong Gedit, một tập tin gọi là hello.php. 372 00:17:29,170 --> 00:17:31,730 373 00:17:31,730 --> 00:17:36,330 Và bên trong ở đây, tôi sẽ nhanh chóng chỉ làm điều này, printf, trích dẫn 374 00:17:36,330 --> 00:17:38,590 unquote, "hello thế giới." 375 00:17:38,590 --> 00:17:42,460 >> Vì vậy, thông báo, và tôi sẽ làm dấu gạch chéo ngược n của tôi, Tôi đã không làm phiền để tuyên bố chính. 376 00:17:42,460 --> 00:17:45,310 Hóa ra, trong chương trình PHP, và rất nhiều ngôn ngữ, bạn không cần phải có chính 377 00:17:45,310 --> 00:17:46,090 chức năng cho mỗi gia nhập. 378 00:17:46,090 --> 00:17:47,720 Bạn chỉ có thể bắt đầu viết chương trình của bạn. 379 00:17:47,720 --> 00:17:51,210 Bây giờ, khi tôi lưu tập tin này, thông báo tôi sẽ phải làm như sau. 380 00:17:51,210 --> 00:17:55,360 Tôi sẽ không sử dụng thực hiện, và tôi không sẽ sử dụng kêu vang bởi vì PHP, không giống như 381 00:17:55,360 --> 00:17:57,400 C, không phải là một ngôn ngữ biên soạn. 382 00:17:57,400 --> 00:18:01,400 Đó là những gì được gọi là một giải thích ngôn ngữ, có nghĩa là bạn chạy nó 383 00:18:01,400 --> 00:18:04,650 như một đầu vào thông qua một chương trình khác được gọi là một thông dịch viên. 384 00:18:04,650 --> 00:18:08,150 Và chương trình đọc nó, từ trên xuống phía dưới, từ trái sang phải, và không 385 00:18:08,150 --> 00:18:09,290 bất cứ điều gì bạn nói với nó để làm. 386 00:18:09,290 --> 00:18:12,920 >> Vì vậy, trong trường hợp này đây tôi có Có một dòng mà nói printf. 387 00:18:12,920 --> 00:18:17,990 Vì vậy, khi tôi chạy mã nguồn này, hello.php, mặc dù một chương trình 388 00:18:17,990 --> 00:18:22,830 xảy ra, thuận tiện, được gọi là PHP, chương trình PHP sẽ đọc 389 00:18:22,830 --> 00:18:26,120 tập tin này, trên xuống dưới, từ trái sang phải, và nó sẽ làm những gì tôi 390 00:18:26,120 --> 00:18:30,110 nói cho nó để làm - thực thi mã, và nếu nó không nhận ra một cái gì đó, chỉ cần 391 00:18:30,110 --> 00:18:31,320 nhổ ra. 392 00:18:31,320 --> 00:18:34,940 Vì vậy, tôi sẽ đi trước và chạy PHP của hello.php. 393 00:18:34,940 --> 00:18:37,110 Nhập. 394 00:18:37,110 --> 00:18:39,690 >> Và đó không phải hoàn toàn những gì tôi dự định. 395 00:18:39,690 --> 00:18:40,530 Vâng, tại sao vậy? 396 00:18:40,530 --> 00:18:43,910 Vâng, PHP là một ngôn ngữ mà thực sự được thiết kế để được khá 397 00:18:43,910 --> 00:18:46,150 đan xen với các trang web. 398 00:18:46,150 --> 00:18:50,460 Khi làm cho các trang web với ngôn ngữ này PHP, như chúng ta sẽ sớm thấy, chúng tôi sẽ 399 00:18:50,460 --> 00:18:54,560 muốn làm một cái gì đó như in ra dòng như thế này. 400 00:18:54,560 --> 00:18:55,940 >> Vì vậy, tôi sẽ làm điều này. 401 00:18:55,940 --> 00:19:00,810 Mở khung, dấu hỏi, PHP, và bây giờ tôi chỉ cần đi thụt chỉ để giữ 402 00:19:00,810 --> 00:19:01,960 những điều tốt đẹp. 403 00:19:01,960 --> 00:19:04,910 Và bây giờ tôi sẽ làm một câu hỏi đánh dấu khung gần. 404 00:19:04,910 --> 00:19:06,270 Vì vậy, có một chút không đối xứng ở đây. 405 00:19:06,270 --> 00:19:07,490 Bạn không làm điều này. 406 00:19:07,490 --> 00:19:10,530 Và bạn không làm một dấu gạch chéo, vì vậy PHP là một chút khác nhau. 407 00:19:10,530 --> 00:19:14,610 >> Nhưng bây giờ, nếu tôi chạy chương trình này, PHP hello.php, bây giờ tôi 408 00:19:14,610 --> 00:19:16,090 thực sự có được Xin chào thế giới. 409 00:19:16,090 --> 00:19:17,750 Và chúng ta sẽ thấy tại sao điều này là có giá trị. 410 00:19:17,750 --> 00:19:20,960 Thứ nhất, nó cho phép tôi để xác định, siêu một cách rõ ràng, đây là 411 00:19:20,960 --> 00:19:22,480 mã, thực hiện điều này. 412 00:19:22,480 --> 00:19:25,480 Và đó thực sự là những gì các thẻ đặc biệt có nghĩa đây. 413 00:19:25,480 --> 00:19:30,330 >> Nhưng nó cũng có nghĩa là nếu tôi chỉ cần làm một cái gì đó như tôi nhằm mục đích trên đây, mà 414 00:19:30,330 --> 00:19:34,000 có nghĩa là, theo nghĩa đen, mà sẽ chỉ được in ra mà không cần phải 415 00:19:34,000 --> 00:19:36,850 thực sự gọi printf, hoặc in, hoặc bất kỳ chức năng tương tự. 416 00:19:36,850 --> 00:19:39,445 Vì vậy, chúng tôi sẽ trở lại với chỉ trong một thời điểm. 417 00:19:39,445 --> 00:19:40,470 >> Đầu tiên, chúng ta hãy làm điều này. 418 00:19:40,470 --> 00:19:43,950 Bên trong của thiết bị này, chúng ta có một thư mục gọi là vhosts, cho ảo 419 00:19:43,950 --> 00:19:47,000 máy chủ, máy chủ địa phương cắt giảm, cắt giảm công cộng. 420 00:19:47,000 --> 00:19:50,240 Vì vậy, đó là một tiết chút, nhưng câu chuyện dài Tóm lại, thiết bị này được thiết kế không 421 00:19:50,240 --> 00:19:53,770 chỉ để hỗ trợ C. Nó cũng được thiết kế để hỗ trợ PHP. 422 00:19:53,770 --> 00:19:57,440 Nhưng nó cũng được thiết kế để có một trang web máy chủ, và máy chủ cơ sở dữ liệu. 423 00:19:57,440 --> 00:20:00,230 Và nó được thiết kế, cấu hình và thực sự, là gợi nhớ của bất kỳ 424 00:20:00,230 --> 00:20:04,230 thương mại công ty lưu trữ web mà bạn có thể phải trả $ 5 một tháng, 425 00:20:04,230 --> 00:20:05,040 $ 100 một tháng cho. 426 00:20:05,040 --> 00:20:08,200 Bất cứ điều gì các dịch vụ, nó được cấu hình là rất tương tự như một 427 00:20:08,200 --> 00:20:10,170 thực máy chủ sản xuất trên thế giới. 428 00:20:10,170 --> 00:20:13,485 >> Và điều đó có nghĩa là chạy trên thiết bị này là phần mềm máy chủ web. 429 00:20:13,485 --> 00:20:15,060 Nó xảy ra được gọi là Apache. 430 00:20:15,060 --> 00:20:17,790 Nó chỉ là miễn phí và mã nguồn mở, và rất phổ biến. 431 00:20:17,790 --> 00:20:23,260 Và chúng ta đã cấu hình Apache để biết rằng nếu tôi truy cập vào một URL nhất định, với 432 00:20:23,260 --> 00:20:28,060 Chrome hoặc bất kỳ trình duyệt bên trong thiết bị, nhìn vào thư mục này 433 00:20:28,060 --> 00:20:31,030 cho các tập tin mà các người dùng yêu cầu. 434 00:20:31,030 --> 00:20:32,790 >> Nói cách khác, hãy để tôi đi trước và làm điều này. 435 00:20:32,790 --> 00:20:36,890 Bên trong thư mục công cộng của tôi, tôi sẽ đi trước và tạo ra một tập tin 436 00:20:36,890 --> 00:20:39,580 gọi là index.html. 437 00:20:39,580 --> 00:20:41,000 Cung cấp cho tôi các tab đây. 438 00:20:41,000 --> 00:20:44,210 Và tôi sẽ đi rất nhanh và đi trước và bang ra 439 00:20:44,210 --> 00:20:45,010 chương trình này ở đây. 440 00:20:45,010 --> 00:20:48,410 Loại tài liệu HTML, mà bây giờ, chỉ giả sử bạn phải gõ. 441 00:20:48,410 --> 00:20:53,490 Nó chỉ là một từ khóa phức tạp, đó là không thực sự là một thẻ HTML, mà chỉ rõ rằng 442 00:20:53,490 --> 00:20:55,050 ở đây có một số HTML. 443 00:20:55,050 --> 00:20:57,400 >> Tôi sẽ đi trước và tái tạo những gì chúng ta đã thấy một thời điểm trước đây. 444 00:20:57,400 --> 00:20:58,650 Đây là người đứng đầu của trang. 445 00:20:58,650 --> 00:21:01,170 Bên trong của người đứng đầu là - 446 00:21:01,170 --> 00:21:01,890 để tiêu đề. 447 00:21:01,890 --> 00:21:04,340 Vì vậy, chúng tôi sẽ chào hỏi, thế giới. 448 00:21:04,340 --> 00:21:06,570 Và sau đó xuống đây là từ khóa cơ thể. 449 00:21:06,570 --> 00:21:08,580 Hãy để tôi đóng thẻ cơ thể. 450 00:21:08,580 --> 00:21:12,280 Và sau đó ở đây tôi cũng sẽ nói, chỉ cho rõ ràng, xin chào thế giới. 451 00:21:12,280 --> 00:21:14,770 >> Vì vậy, đây là, cho là, đơn giản trang web có thể bạn 452 00:21:14,770 --> 00:21:15,770 có thể làm đó là hợp lệ. 453 00:21:15,770 --> 00:21:17,030 Đó là cú pháp hợp lệ. 454 00:21:17,030 --> 00:21:18,620 Tất cả mọi thứ đó là mở được đóng lại. 455 00:21:18,620 --> 00:21:20,910 Tất cả mọi thứ là độc đáo trong theo kiểu và thụt vào. 456 00:21:20,910 --> 00:21:23,600 Vì vậy, chúng ta thấy bây giờ làm thế nào tôi có thể truy cập tập tin này. 457 00:21:23,600 --> 00:21:25,540 >> Vâng, hãy để tôi đi đến Chrome đây. 458 00:21:25,540 --> 00:21:35,050 Và cho tôi đi đến http://localhost/index.html. 459 00:21:35,050 --> 00:21:36,200 Vì vậy, máy chủ địa phương là gì? 460 00:21:36,200 --> 00:21:39,400 Vâng, hầu hết bất kỳ máy tính trên thế giới, Linux, Mac OS, Windows, có một biệt danh 461 00:21:39,400 --> 00:21:40,680 gọi là chủ nhà. 462 00:21:40,680 --> 00:21:42,900 Vì vậy, nếu bạn đã bao giờ muốn nói chuyện vào máy tính của riêng bạn - 463 00:21:42,900 --> 00:21:45,140 mặc dù, một cách kỳ lạ theo phản xạ - 464 00:21:45,140 --> 00:21:47,080 bạn gọi mình là chủ nhà. 465 00:21:47,080 --> 00:21:50,390 Không có vấn đề gì máy tính thực tế của bạn gọi là, cho dù đó là MacBook của David 466 00:21:50,390 --> 00:21:52,490 Không khí, hoặc một cái gì đó hơn tiết như thế. 467 00:21:52,490 --> 00:21:57,760 >> Vì vậy, URL này là dường như sẽ sử dụng HTTP để nói chuyện với các máy chủ địa phương, 468 00:21:57,760 --> 00:22:00,800 cùng một máy tính, thiết bị, và nó sẽ yêu cầu, chỉ cần mang một 469 00:22:00,800 --> 00:22:02,570 đoán, những gì tập tin? 470 00:22:02,570 --> 00:22:04,460 Index.html. 471 00:22:04,460 --> 00:22:08,650 Vì vậy, thiết bị này đã được cấu hình trong tiến tới biết rằng nếu tôi yêu cầu 472 00:22:08,650 --> 00:22:13,460 cho một cái gì đó như index.html, tìm kiếm trong một thư mục có tên vhosts, trong một 473 00:22:13,460 --> 00:22:17,950 thư mục gọi là localhost, trong một thư mục trong đó được gọi là công khai. 474 00:22:17,950 --> 00:22:20,400 Đó là nơi mà tất cả các công cộng của tôi các tập tin đang có được. 475 00:22:20,400 --> 00:22:22,610 Vì vậy, bây giờ tôi sẽ nhấn Enter. 476 00:22:22,610 --> 00:22:27,100 >> Và chết tiệt, có cấm mà tin nhắn, hay còn gọi là 403, các 477 00:22:27,100 --> 00:22:28,490 mã số cho nó. 478 00:22:28,490 --> 00:22:30,130 Vì vậy, những gì sai ở đây? 479 00:22:30,130 --> 00:22:33,210 Vâng, đó là không đủ để chỉ cần đặt các tập tin bên trong thư mục của tôi. 480 00:22:33,210 --> 00:22:35,790 Tôi cần phải thực sự làm như sau. 481 00:22:35,790 --> 00:22:40,210 >> Hãy để tôi đi vào thư mục vhosts của tôi, vào localhost, thành công, và để cho 482 00:22:40,210 --> 00:22:41,680 tôi làm ls dấu gạch ngang l. 483 00:22:41,680 --> 00:22:44,510 Và có một số những thứ khác trong đây cho các mục đích của ngày hôm nay. 484 00:22:44,510 --> 00:22:50,540 Nhưng nhận thấy ở phía bên tay trái, bên cạnh để index.html, chúng tôi chỉ thấy một RW. 485 00:22:50,540 --> 00:22:53,560 Và trong quá khứ, những gì đã RW đứng cho? 486 00:22:53,560 --> 00:22:54,240 >> Chỉ cần đọc hoặc viết. 487 00:22:54,240 --> 00:22:58,000 Thực tế là nó nói rw trên bên trái có nghĩa là tôi, chủ sở hữu của tập tin này, có thể 488 00:22:58,000 --> 00:22:59,020 đọc hoặc viết nó. 489 00:22:59,020 --> 00:23:05,010 Nhưng tôi cần phải để cho tất cả mọi người trong thế giới đọc này, mặc dù không viết nó. 490 00:23:05,010 --> 00:23:09,650 Vì vậy, tôi sẽ thay đổi chế độ của tập tin, chmod, tất cả cộng với r để cung cấp cho 491 00:23:09,650 --> 00:23:13,910 tất cả mọi người quyền đọc các tập tin có tên index.htm. 492 00:23:13,910 --> 00:23:18,040 >> Và nếu tôi bây giờ nhập lại ls dấu gạch ngang l, thông báo rằng, ở đây, một số chi tiết 493 00:23:18,040 --> 00:23:19,160 R đã xuất hiện. 494 00:23:19,160 --> 00:23:21,090 Và bây giờ, các spec đi vào chi tiết hơn. 495 00:23:21,090 --> 00:23:24,450 Đối với P bộ 7, mà chỉ có nghĩa là tất cả mọi người bây giờ có thể đọc tập tin này. 496 00:23:24,450 --> 00:23:27,790 Nếu tôi quay trở lại trình duyệt của tôi bây giờ và tải lại, thì đấy. 497 00:23:27,790 --> 00:23:28,750 Xin chào thế giới. 498 00:23:28,750 --> 00:23:32,260 >> Và tôi thậm chí có thể mở công cụ Chrome của tôi và nhìn thấy, giống như với Google và 499 00:23:32,260 --> 00:23:34,590 Facebook có HTML của tôi, định dạng một chút 500 00:23:34,590 --> 00:23:35,930 khác nhau và colorized. 501 00:23:35,930 --> 00:23:40,450 Nếu tôi đi đến tab mạng và tải lại trang, nhận thấy rằng có là có được 502 00:23:40,450 --> 00:23:42,900 yêu cầu Chrome được gửi vào thiết bị. 503 00:23:42,900 --> 00:23:46,020 Có 200 cho rằng đặc biệt tập tin. 504 00:23:46,020 --> 00:23:49,340 Vì vậy, trong ngắn hạn, đây là cách tất cả các phần khác nhau đến với nhau. 505 00:23:49,340 --> 00:23:53,530 Nó chỉ như vậy sẽ xảy ra rằng các máy chủ web chúng tôi đang sử dụng hiện nay là không xa, 506 00:23:53,530 --> 00:23:54,210 như Facebook. 507 00:23:54,210 --> 00:23:58,330 Đó là nghĩa đen trên cùng một máy tính, đó là hoàn toàn OK. 508 00:23:58,330 --> 00:24:00,590 >> Vì vậy, nhiều hơn những gì chúng ta có thể làm trong một trang web? 509 00:24:00,590 --> 00:24:03,110 Vâng, chỉ cần, chúng ta hãy lướt qua một vài những điều này. 510 00:24:03,110 --> 00:24:07,860 Nhưng hãy để tôi đi trước và mở cửa trở lại Gedit với index.html. 511 00:24:07,860 --> 00:24:13,980 Và để cho tôi đi trước và nói lời chào CS50, lưu tập tin này, quay trở lại 512 00:24:13,980 --> 00:24:16,260 trình duyệt, thực sự underwhelming thay đổi. 513 00:24:16,260 --> 00:24:19,130 >> Nhưng nếu chúng ta muốn thực sự liên kết đến một cái gì đó bây giờ? 514 00:24:19,130 --> 00:24:23,480 Vì vậy, nó chỉ ra rằng chúng ta có thể có liên kết trong HTML mà chỉ là thẻ 515 00:24:23,480 --> 00:24:24,140 mình. 516 00:24:24,140 --> 00:24:27,320 Nó xảy ra được gọi là thẻ neo. a href bằng 517 00:24:27,320 --> 00:24:33,190 https://www.cs50.net, www.cs50.net quote gần, dấu đóng ngoặc. 518 00:24:33,190 --> 00:24:35,230 Và bây giờ chúng ta hãy xem những gì khác đến tiếp theo. 519 00:24:35,230 --> 00:24:36,500 >> Tôi đã mở thẻ. 520 00:24:36,500 --> 00:24:38,990 Bây giờ tôi cần phải cung cấp cho nó một cụm từ như CS50. 521 00:24:38,990 --> 00:24:40,600 Hãy để tôi đóng thẻ. 522 00:24:40,600 --> 00:24:42,010 Và nhận thấy một vài điều. 523 00:24:42,010 --> 00:24:45,270 Mặc dù có điều khó hiểu này ở đây, tôi đã không lặp đi lặp lại nó khi bạn 524 00:24:45,270 --> 00:24:46,010 đóng thẻ. 525 00:24:46,010 --> 00:24:48,230 Bạn chỉ cần đóng thẻ với tên của nó một mình. 526 00:24:48,230 --> 00:24:50,940 Và đây là những gì được gọi là một thuộc tính với một giá trị. 527 00:24:50,940 --> 00:24:56,070 Thuộc tính chỉ cần thay đổi hành vi của một số thẻ bên trong một trang. 528 00:24:56,070 --> 00:24:59,150 >> Vì vậy, đây được xác định rằng siêu tham khảo, cách nói các 529 00:24:59,150 --> 00:25:03,660 URL cho neo này, cho điều này liên kết, nên được CS50.net. 530 00:25:03,660 --> 00:25:07,440 Và các văn bản mà chúng tôi muốn hiển thị người sử dụng không phải là URL liệu, mà là 531 00:25:07,440 --> 00:25:08,730 các CS50 từ. 532 00:25:08,730 --> 00:25:13,710 >> Vì vậy, nếu bây giờ tôi lại, cho tôi phóng to cho rõ ràng, hãy để tôi tải lại trang, 533 00:25:13,710 --> 00:25:16,460 nhận thấy rằng chúng tôi có trường học cũ này màu xanh gạch chân liên kết. 534 00:25:16,460 --> 00:25:20,000 Và nếu tôi đưa chuột qua nó, và nó sẽ được khó khăn để thấy, phía dưới bên trái 535 00:25:20,000 --> 00:25:23,690 góc của màn hình, thông báo mà nó nói URL mà 536 00:25:23,690 --> 00:25:24,430 Tôi sẽ đi. 537 00:25:24,430 --> 00:25:27,940 Và nếu tôi nhấp vào đó, thì đấy, bây giờ tôi đang làm cho các trang web. 538 00:25:27,940 --> 00:25:30,140 Và chúng ta dẫn dắt mình trang chủ. 539 00:25:30,140 --> 00:25:32,670 >> Nhưng hãy chú ý những gì tiềm năng điều này cho chúng ta. 540 00:25:32,670 --> 00:25:34,890 An ninh là rất nhiều thịnh hành những ngày này. 541 00:25:34,890 --> 00:25:41,210 Nếu tôi thay vì nói điều gì đó như này, và tôi thay vì đi đến, nói rằng, chúng ta hãy 542 00:25:41,210 --> 00:25:42,460 thấy, fakeCS50.net. 543 00:25:42,460 --> 00:25:44,660 544 00:25:44,660 --> 00:25:46,360 Nạp lại trang này. 545 00:25:46,360 --> 00:25:50,180 >> OK, vì vậy nhận thấy nó vẫn trông giống như tôi sẽ CS50, trừ khi một con mắt sắc sảo 546 00:25:50,180 --> 00:25:51,560 sẽ nhận thấy tôi sẽ CS50 giả. 547 00:25:51,560 --> 00:25:54,550 Tôi đoán miền này là không được. 548 00:25:54,550 --> 00:25:55,960 OK, vì vậy nó không có sẵn. 549 00:25:55,960 --> 00:25:56,600 Vì vậy, đó là tốt. 550 00:25:56,600 --> 00:25:57,900 Không ai thực sự có tên miền đó. 551 00:25:57,900 --> 00:26:00,380 >> Nhưng chúng ta hãy thêm một chút độc hại bởi vì đó là ngu ngốc. 552 00:26:00,380 --> 00:26:02,240 Nếu chúng ta thay đổi này để Paypal. 553 00:26:02,240 --> 00:26:09,960 Và nếu chúng ta gọi này, như thế, www.paypal.badguy.com, 554 00:26:09,960 --> 00:26:12,070 bất cứ điều gì tên miền là. 555 00:26:12,070 --> 00:26:13,700 Điều đó có thể tồn tại. 556 00:26:13,700 --> 00:26:16,260 Vì vậy, bây giờ hãy để tôi tải lại trang. 557 00:26:16,260 --> 00:26:22,890 Và ở đây chúng tôi có loại lừa đảo trực tuyến tấn công, P-H-I-S-H-I-N-G, đó là 558 00:26:22,890 --> 00:26:26,760 từ ngớ ngẩn đưa ra cho một vụ tấn công cố gắng thông tin cá, hoặc tốt hơn 559 00:26:26,760 --> 00:26:30,450 Chưa hết, tiền, ra của người dân bằng cách lừa chúng vào việc cung cấp thông tin 560 00:26:30,450 --> 00:26:31,990 họ có thể không nếu không làm được. 561 00:26:31,990 --> 00:26:33,500 Điều này có vẻ hoàn toàn hợp pháp, đúng không? 562 00:26:33,500 --> 00:26:34,930 Tôi phải có một liên kết ở đây để Paypal.com. 563 00:26:34,930 --> 00:26:37,700 564 00:26:37,700 --> 00:26:40,430 Trong công bằng, nếu tôi xác định giới tính nó với một số đồ họa, chúng ta có thể làm cho nó trông 565 00:26:40,430 --> 00:26:41,310 giống như PayPal. 566 00:26:41,310 --> 00:26:41,510 Phải không? 567 00:26:41,510 --> 00:26:43,815 Bởi vì tôi có thể, như một sang một bên, Tôi có thể đi đến Paypal.com. 568 00:26:43,815 --> 00:26:47,110 Và chúng tôi đã thấy được làm thế nào tôi có thể xem tất cả các HTML của họ. 569 00:26:47,110 --> 00:26:50,560 Tôi chỉ có thể sao chép nó và tạo lại tính thẩm mỹ của Paypal thay vì đi 570 00:26:50,560 --> 00:26:51,490 trường học cũ ở đây. 571 00:26:51,490 --> 00:26:55,010 Nhưng hãy chú ý, tất nhiên, và đó là một chút nhỏ vẫn còn, chỉ có ở phía dưới 572 00:26:55,010 --> 00:26:59,190 tay trái góc, trong như một điểm 10 font chữ, bạn có thấy những gì URL bạn 573 00:26:59,190 --> 00:27:01,310 thực sự sẽ được dẫn đến. 574 00:27:01,310 --> 00:27:06,580 >> Và vì vậy nếu bạn đã bao giờ nhận được thư rác nói đi trước, và bạn tài khoản 575 00:27:06,580 --> 00:27:07,420 đã bị xâm nhập. 576 00:27:07,420 --> 00:27:10,615 Xin vui lòng nhấp vào liên kết này và cho chúng tôi biết mật khẩu của bạn vì vậy chúng tôi có thể đảm bảo bạn 577 00:27:10,615 --> 00:27:13,010 bạn, đừng bao giờ làm điều đó. 578 00:27:13,010 --> 00:27:14,180 Những điều này nên đi mà không nói. 579 00:27:14,180 --> 00:27:17,670 Nhưng đó là tuyệt vời, thú vị, và bi thảm, làm thế nào mỗi năm này có vẻ 580 00:27:17,670 --> 00:27:19,660 xảy ra với một số khác không số người. 581 00:27:19,660 --> 00:27:21,400 >> Và đó là vẻ đẹp các cuộc tấn công lừa đảo. 582 00:27:21,400 --> 00:27:23,160 Bạn có thể gửi một triệu email. 583 00:27:23,160 --> 00:27:27,720 Và ngay cả khi 0.01% của những người thực sự bấm vào Paypal và cung cấp cho bạn của bạn 584 00:27:27,720 --> 00:27:31,040 mật khẩu, đó là vẫn còn một số khác không của những người đã chỉ cho 585 00:27:31,040 --> 00:27:32,200 bạn tiền của họ. 586 00:27:32,200 --> 00:27:36,170 Và gửi email, tất nhiên, là khá dễ dàng và, về cơ bản, miễn phí 587 00:27:36,170 --> 00:27:36,970 những ngày này. 588 00:27:36,970 --> 00:27:40,410 >> Vì vậy, câu chuyện dài ngắn, tuyệt vời ý tưởng đẹp, phải không? 589 00:27:40,410 --> 00:27:44,620 Năm trước, đây là sớm nhất web, cho phép một trang web của 590 00:27:44,620 --> 00:27:46,330 liên kết giữa các tài nguyên. 591 00:27:46,330 --> 00:27:49,520 Nhưng một cách nhanh chóng nó có thể là sử dụng cho các mục đích xấu. 592 00:27:49,520 --> 00:27:54,100 Và email, nó đủ để nói, những ngày, đã HTML nhúng vào bên trong. 593 00:27:54,100 --> 00:27:55,410 >> Vâng, hãy để tôi chỉ có một điều khác. 594 00:27:55,410 --> 00:27:58,640 Và chúng tôi sẽ trì hoãn phần lớn phần trong vấn đề thiết lập bảy để cho phép bạn 595 00:27:58,640 --> 00:28:00,000 khám phá các nội. 596 00:28:00,000 --> 00:28:01,990 Nhưng hãy để tôi đi trước và làm một vài điều ở đây. 597 00:28:01,990 --> 00:28:04,840 Tôi sẽ đi vào và tuyên bố những gì được gọi là một div, hoặc 598 00:28:04,840 --> 00:28:06,080 chia, của trang. 599 00:28:06,080 --> 00:28:07,770 Hãy để tôi đóng mà thẻ div. 600 00:28:07,770 --> 00:28:11,460 >> Và tôi sẽ nói lên đây trên cùng của trang. 601 00:28:11,460 --> 00:28:14,940 Và sau đó sau này, tôi sẽ làm một cái gì đó như div khác, đóng cửa này 602 00:28:14,940 --> 00:28:17,800 thẻ, và làm dưới cùng của trang. 603 00:28:17,800 --> 00:28:18,840 Và chúng ta hãy lưu nó. 604 00:28:18,840 --> 00:28:21,040 >> Vì vậy, bây giờ chúng ta hãy quay trở lại tập tin của tôi. 605 00:28:21,040 --> 00:28:22,120 Rất underwhelming. 606 00:28:22,120 --> 00:28:25,520 Nhưng những gì bộ phận được sử dụng cho, bên dưới mui xe, là nó thực sự 607 00:28:25,520 --> 00:28:26,920 một yếu tố cấu trúc đẹp. 608 00:28:26,920 --> 00:28:30,300 Nó không có bất kỳ thẩm mỹ cho đến nay như chúng ta có thể thấy, khác hơn, rõ ràng, 609 00:28:30,300 --> 00:28:31,890 đưa mọi thứ trên một dòng mới. 610 00:28:31,890 --> 00:28:36,290 >> Nhưng thông báo, như một sang một bên, chỉ cần nhấn Nhập không cắt nó trong HTML như nó 611 00:28:36,290 --> 00:28:39,840 không trong C. Bạn có thể nghĩ rằng đó là sẽ đặt một khoảng cách lớn tốt đẹp giữa 612 00:28:39,840 --> 00:28:41,300 phía trên và dưới cùng của trang. 613 00:28:41,300 --> 00:28:43,420 Nhưng nó bỏ qua. 614 00:28:43,420 --> 00:28:48,040 Không gian màu trắng cơ bản bị bỏ qua trong các trang web khác ngoài đầu tiên 615 00:28:48,040 --> 00:28:51,530 thanh nhân vật không gian, hoặc vận chuyển trở lại, mà bạn đánh trên bàn phím. 616 00:28:51,530 --> 00:28:55,370 Nếu bạn muốn phá vỡ đường dây hơn, bạn phải xác định cho mình. 617 00:28:55,370 --> 00:28:59,080 >> Vì vậy, tôi sẽ làm một vài điều vào đây để hiển thị những gì đang xảy ra. 618 00:28:59,080 --> 00:29:02,700 Tôi sẽ thêm một thuộc tính tồn tại Và một lần nữa, cách bạn học 619 00:29:02,700 --> 00:29:07,110 những gì thuộc tính tồn tại, những gì thẻ tồn tại, thực sự, là tài liệu tham khảo trực tuyến. 620 00:29:07,110 --> 00:29:09,750 HTML là loại ngôn ngữ - đó là không phải là một ngôn ngữ lập trình. 621 00:29:09,750 --> 00:29:12,460 Đó là một ngôn ngữ đánh dấu - mà sau khi một nửa giờ tốt, có thể, một giờ với 622 00:29:12,460 --> 00:29:15,930 nó, bạn chắc chắn sẽ nắm bắt, nhất có khả năng, ý tưởng cơ bản. 623 00:29:15,930 --> 00:29:20,350 Và sau đó tìm kiếm trên Google đi là tất cả các thẻ có thể bạn có thể 624 00:29:20,350 --> 00:29:21,170 quan tâm 625 00:29:21,170 --> 00:29:24,290 Và theo các thông số, đó là khá hoan nghênh và khuyến khích ở đây. 626 00:29:24,290 --> 00:29:26,120 >> Vì vậy, bây giờ hãy để tôi đi trước và làm một cái gì đó như thế này. 627 00:29:26,120 --> 00:29:28,690 Background-color. 628 00:29:28,690 --> 00:29:32,060 Và bây giờ, tôi sẽ làm điều gì đó như màu đỏ, dấu chấm phẩy. 629 00:29:32,060 --> 00:29:33,970 Và bạn có thể làm điều này trong một vài cách khác nhau. 630 00:29:33,970 --> 00:29:36,770 Tôi chỉ là loại gõ nó như siêu một cách rõ ràng nhất có thể. 631 00:29:36,770 --> 00:29:41,960 >> Nhưng nó chỉ ra rằng giá trị này ở đây là những gì được gọi là CSS, Cascading Style 632 00:29:41,960 --> 00:29:43,700 Tờ, mà là một ngôn ngữ hoàn toàn. 633 00:29:43,700 --> 00:29:46,770 CSS không có gì để làm với mở thẻ và thẻ gần. 634 00:29:46,770 --> 00:29:48,230 Nó đã làm với tài sản. 635 00:29:48,230 --> 00:29:52,660 >> Và tài sản là giá trị chỉ đơn giản là chìa khóa cặp, mà chỉ có nghĩa một số từ, 636 00:29:52,660 --> 00:29:54,680 ruột kết, và sau đó một số từ khác. 637 00:29:54,680 --> 00:29:57,940 Và nếu bạn có nhiều người, hoặc chỉ ở đây, bạn có thể kết thúc bằng một 638 00:29:57,940 --> 00:29:59,390 dấu chấm phẩy, chỉ cho rõ ràng. 639 00:29:59,390 --> 00:30:01,370 Nhưng điều đó cũng sẽ làm việc ở đây. 640 00:30:01,370 --> 00:30:02,500 >> Bây giờ những gì này sẽ làm gì? 641 00:30:02,500 --> 00:30:03,610 Bạn có thể đoán. 642 00:30:03,610 --> 00:30:05,930 Hãy để tôi đi trước và tải lại trang này. 643 00:30:05,930 --> 00:30:07,300 Và bây giờ nó thực sự đến cùng. 644 00:30:07,300 --> 00:30:09,150 Vì vậy, đầu trang của tôi là màu đỏ. 645 00:30:09,150 --> 00:30:12,380 Nhưng điều quan trọng ở đây có nghĩa là, tôi đã đề cập trước đó, div cung cấp cho bạn 646 00:30:12,380 --> 00:30:13,220 một bộ phận của trang. 647 00:30:13,220 --> 00:30:14,410 Và đó thực sự là những gì nó làm. 648 00:30:14,410 --> 00:30:17,920 Nó chủ yếu chia trang thành một hình chữ nhật mà bạn có thể sau đó 649 00:30:17,920 --> 00:30:18,720 thao tác. 650 00:30:18,720 --> 00:30:22,330 >> Và khái niệm về hình chữ nhật là loại hấp dẫn trong đó, nếu bạn nghĩ 651 00:30:22,330 --> 00:30:26,410 hầu hết bất kỳ trang web, có lẽ một số cấu trúc cho nó. 652 00:30:26,410 --> 00:30:29,620 Hầu hết các bạn có thể hiếm thấy Trang chủ của Facebook, nếu bạn đã đăng nhập 653 00:30:29,620 --> 00:30:30,440 trong tất cả các thời gian. 654 00:30:30,440 --> 00:30:33,920 >> Nhưng trên trang chủ của Facebook, có một số loại div dọc trên đầu. 655 00:30:33,920 --> 00:30:36,140 Và nó có thể không thể đơn giản như một div, nhưng có một 656 00:30:36,140 --> 00:30:37,560 khu vực hình chữ nhật đó. 657 00:30:37,560 --> 00:30:40,290 Phần còn lại của trang là như một div rất lớn, giống như một nhiều 658 00:30:40,290 --> 00:30:41,910 khu vực hình chữ nhật lớn hơn. 659 00:30:41,910 --> 00:30:44,540 Vì vậy, câu chuyện dài ngắn, chỉ cần có những khối xây dựng nhỏ, 660 00:30:44,540 --> 00:30:49,250 khả năng mô hình thứ như hình chữ nhật, dù rộng hay hẹp, bạn cũng có thể 661 00:30:49,250 --> 00:30:53,680 làm cho cột có khả năng, cho phép bạn đặt ra các trang, thực sự, tuy nhiên bạn 662 00:30:53,680 --> 00:30:54,100 muốn. 663 00:30:54,100 --> 00:30:56,170 Chúng tôi thực sự chỉ trầy xước bề mặt ở đây. 664 00:30:56,170 --> 00:30:59,820 >> Thật vậy, nếu tôi thực hiện một một khác, hãy để tôi đi trước và làm phong cách, 665 00:30:59,820 --> 00:31:05,410 background-color, chúng tôi sẽ làm một cái gì đó như màu xanh, giá gần. 666 00:31:05,410 --> 00:31:06,620 Hãy tải lại này. 667 00:31:06,620 --> 00:31:08,260 Vì vậy bây giờ nó nhận được thậm chí còn xấu hơn. 668 00:31:08,260 --> 00:31:11,520 Nhưng bây giờ tôi có thể loại hiện P của tôi thiết lập năm kỹ năng, phải không? 669 00:31:11,520 --> 00:31:12,690 Màu đỏ. 670 00:31:12,690 --> 00:31:15,640 Nó nhắc tôi về RGB, Red Màu xanh lá cây màu xanh gấp ba. 671 00:31:15,640 --> 00:31:19,330 Vâng, nó quay ra trong lập trình web, hoặc thiết kế web, đó là điều này, chúng tôi đã 672 00:31:19,330 --> 00:31:21,650 chưa lập trình bất cứ điều gì cho mỗi gia nhập, bạn có thể thực sự 673 00:31:21,650 --> 00:31:22,880 có mã thập lục phân. 674 00:31:22,880 --> 00:31:26,480 Vì vậy, một cái gì đó một cái gì đó, một cái gì đó một cái gì đó, một cái gì đó một cái gì đó. 675 00:31:26,480 --> 00:31:30,650 Vì vậy, bạn có thể có sáu thập lục phân ký tự, hoặc ba, trong một số trường hợp, 676 00:31:30,650 --> 00:31:33,480 và mỗi người trong số những dấu hỏi có phải là một chữ số thập lục phân, 677 00:31:33,480 --> 00:31:34,985 không thông qua f. 678 00:31:34,985 --> 00:31:41,000 >> Nếu tôi muốn có rất nhiều màu đỏ, và không có màu xanh lá cây, và không có màu xanh, những gì là 679 00:31:41,000 --> 00:31:43,740 đối diện không khi sử dụng hex? 680 00:31:43,740 --> 00:31:44,480 Đó là f. 681 00:31:44,480 --> 00:31:51,130 Vì vậy, tôi có thể làm ff, không không, không không, tiết kiệm này, và bây giờ đến đây. 682 00:31:51,130 --> 00:31:52,700 Và tôi không thực sự nhìn thấy một sự thay đổi. 683 00:31:52,700 --> 00:31:56,230 Vì vậy, trích dẫn unquote "đỏ" là rõ ràng đồng nghĩa với tất cả các màu đỏ, 684 00:31:56,230 --> 00:31:57,610 không xanh, không có màu xanh. 685 00:31:57,610 --> 00:31:59,960 Trong khi đó, chúng ta hãy cố tình thay đổi cái này là cái gì 686 00:31:59,960 --> 00:32:01,210 ngẫu nhiên, như ABCDF. 687 00:32:01,210 --> 00:32:03,790 688 00:32:03,790 --> 00:32:05,860 >> Hãy xem đó là những gì. 689 00:32:05,860 --> 00:32:08,530 Đó là một màu xanh thật sự tốt đẹp, thực sự, em bé màu xanh. 690 00:32:08,530 --> 00:32:11,820 Được rồi, đây chỉ là bây giờ kết hợp một chút ngẫu nhiên 691 00:32:11,820 --> 00:32:12,210 ký tự. 692 00:32:12,210 --> 00:32:13,410 Vì vậy, chúng tôi sẽ không bị sa lầy vào đây. 693 00:32:13,410 --> 00:32:15,930 Nhưng một lần nữa, điều này nói lên độ chính xác mà bạn có thể bắt đầu 694 00:32:15,930 --> 00:32:19,090 áp dụng - ngay cả khi bạn đang rất choáng ngợp bởi tính thẩm mỹ. 695 00:32:19,090 --> 00:32:21,750 Trong thực tế, nếu bạn thực sự muốn được ấn tượng, hãy để tôi đi trước và thay đổi 696 00:32:21,750 --> 00:32:23,500 kích thước font chữ, ví dụ. 697 00:32:23,500 --> 00:32:25,960 Và thông báo các dấu chấm phẩy, mà là cần thiết ở đó. 698 00:32:25,960 --> 00:32:29,570 >> Cỡ chữ, chúng ta có thể chỉ là vô lý ở đây, 96 điểm. 699 00:32:29,570 --> 00:32:31,280 Tiết kiệm đó. 700 00:32:31,280 --> 00:32:33,670 Wow, đó là một cỡ chữ lớn. 701 00:32:33,670 --> 00:32:35,490 Được rồi, vì vậy nó rất dễ dàng. 702 00:32:35,490 --> 00:32:38,260 Và trên thực tế, bạn đang nhìn thấy cơ bản các trang web đầu tiên tôi thực hiện 703 00:32:38,260 --> 00:32:40,060 năm trước, khi tôi lần đầu tiên học được công cụ này. 704 00:32:40,060 --> 00:32:42,190 Nó rất dễ dàng để làm cho rất điều ghê tởm một cách nhanh chóng. 705 00:32:42,190 --> 00:32:46,115 >> Và nếu bạn đã quen thuộc với Wayback Máy trên archive.org, bạn 706 00:32:46,115 --> 00:32:48,210 có thể tìm thấy tất cả các xấu xí của tôi các trang web undergrad. 707 00:32:48,210 --> 00:32:50,090 Ai có Kermit the Frog ở mặt trước. 708 00:32:50,090 --> 00:32:53,150 Tôi đã đi qua một giai đoạn mà tôi nghĩ nó đã được mát mẻ để có những nền tảng của 709 00:32:53,150 --> 00:32:56,320 một tấm màn màu đỏ, khi tôi biết làm thế nào bạn gạch có thể hình ảnh một lần nữa, và một lần nữa, và 710 00:32:56,320 --> 00:32:59,540 một lần nữa, để điền vào một trang với một bức màn đỏ dính lớn. 711 00:32:59,540 --> 00:33:03,120 Và sau đó, trên đầu trang này, là một biểu tượng bạn phải bấm vào để nhập nhà của tôi 712 00:33:03,120 --> 00:33:04,960 trang vì đó là rất thịnh hành. 713 00:33:04,960 --> 00:33:08,870 >> Và sau đó chương trình đầu tiên của tôi, tôi đã từng viết không phải trong PHP, nhưng trong một ngôn ngữ 714 00:33:08,870 --> 00:33:12,260 gọi là Pearl, đã viết một cuốn sách khách mời, trong đó là một điều thực sự mát mẻ mà một 715 00:33:12,260 --> 00:33:14,250 Rất nhiều người mong đợi bạn có trên trang chủ. 716 00:33:14,250 --> 00:33:17,510 Khi bạn nhận được để trang, họ muốn bạn đăng nhập, và nói rằng bạn là ai, 717 00:33:17,510 --> 00:33:18,720 và tại sao bạn đang ở đó. 718 00:33:18,720 --> 00:33:21,320 Điều này là rất năm 1990 thiết kế web phong cách. 719 00:33:21,320 --> 00:33:24,130 >> Nhưng những ngày này, chắc chắn, chúng tôi đã đi xa hơn rất nhiều. 720 00:33:24,130 --> 00:33:27,560 Và bạn sẽ thấy, trong phần, và thậm chí trong vấn đề thiết lập bảy, bởi 721 00:33:27,560 --> 00:33:31,570 tận dụng các thư viện những ngày này, nó dễ dàng hơn để làm cho 722 00:33:31,570 --> 00:33:33,400 điều đẹp hơn một cách nhanh chóng. 723 00:33:33,400 --> 00:33:36,550 Thực sự ở đây, chúng tôi chỉ bị trầy xước bề mặt của những gì bạn có thể làm 724 00:33:36,550 --> 00:33:37,400 phong cách. 725 00:33:37,400 --> 00:33:41,660 >> Và trong thực tế, đã, hãy để tôi nhấn mạnh rằng điều này đã nhận được xấu xí, không 726 00:33:41,660 --> 00:33:46,030 chỉ về mặt thẩm mỹ, nhưng trong điều kiện phong cách của mã của tôi, hoặc 727 00:33:46,030 --> 00:33:47,260 thiết kế các mã của tôi. 728 00:33:47,260 --> 00:33:52,350 Hiện tại tôi đã comingled HTML, mà là các thẻ mở xanh ở đó, với 729 00:33:52,350 --> 00:33:55,160 Thuộc tính CSS, là hoàn toàn hợp pháp. 730 00:33:55,160 --> 00:33:57,200 Đây thực sự là nơi mà ngôn ngữ có nguồn gốc của nó. 731 00:33:57,200 --> 00:34:01,030 >> Nhưng vì lợi ích của thiết kế sạch sẽ, giống như chúng tôi bắt đầu các công cụ thanh toán 732 00:34:01,030 --> 00:34:05,370 ra từ các tập tin C vào các tập tin h., cho tôi thực sự thực hành là loại 733 00:34:05,370 --> 00:34:07,990 nguyên tắc và bắt đầu làm này thay thế. 734 00:34:07,990 --> 00:34:13,280 Hãy để tôi đặt một từ khóa phong cách ở đây, mà cũng tồn tại trong HTML, và cho tôi 735 00:34:13,280 --> 00:34:15,330 xác định sau. 736 00:34:15,330 --> 00:34:16,360 Hãy để tôi xóa này. 737 00:34:16,360 --> 00:34:18,110 Màu nền sẽ là màu đỏ. 738 00:34:18,110 --> 00:34:19,800 Tôi sẽ xóa hoàn toàn này. 739 00:34:19,800 --> 00:34:22,580 Tôi sẽ thoát khỏi phong cách thuộc tính, và tôi sẽ duy nhất 740 00:34:22,580 --> 00:34:24,620 xác định div này bằng một từ - 741 00:34:24,620 --> 00:34:28,750 tùy tiện, nhưng hợp lý, báo giá unquote "hàng đầu." Và id là một đặc biệt 742 00:34:28,750 --> 00:34:32,530 thuộc tính duy nhất xác định một phần tử HTML nào đó 743 00:34:32,530 --> 00:34:33,850 như có id đó. 744 00:34:33,850 --> 00:34:37,969 >> Nếu bây giờ tôi muốn cách điệu nó, lên đây trong người đứng đầu trang của tôi, bên trong 745 00:34:37,969 --> 00:34:41,730 từ khóa phong cách, nhận thấy rằng Tôi có thể làm đầu băm. 746 00:34:41,730 --> 00:34:45,300 Và sau đó tôi có thể đặt một vài xoăn niềng răng, gợi nhớ đến C, và sau đó cho phép 747 00:34:45,300 --> 00:34:47,130 tôi dán trong cách điệu đó. 748 00:34:47,130 --> 00:34:49,929 Và để cho tôi đi trước đây và dự đoán nơi tôi sẽ có điều này. 749 00:34:49,929 --> 00:34:53,380 Hãy để tôi cũng tạo ra một cho div phía dưới. 750 00:34:53,380 --> 00:34:58,010 Hãy để tôi lấy đang xấu xí này từ xuống ở đây, đặt nó ở đây, và tôi sẽ 751 00:34:58,010 --> 00:35:00,770 một chút hậu môn nhiều hơn bây giờ và cách điệu nó bởi chỉ cần đặt những việc riêng của họ 752 00:35:00,770 --> 00:35:02,540 dòng, kết thúc bằng dấu chấm phẩy. 753 00:35:02,540 --> 00:35:04,430 Hãy để tôi thoát khỏi những từ khóa phong cách. 754 00:35:04,430 --> 00:35:05,320 >> Nhưng tôi không thực hiện được nêu ra. 755 00:35:05,320 --> 00:35:07,406 Tôi cần phải làm một việc khác. 756 00:35:07,406 --> 00:35:10,070 Yeah, id bằng unquote giá, "đáy" hoặc bất cứ điều gì tôi muốn id 757 00:35:10,070 --> 00:35:11,740 cho phần tử đó. 758 00:35:11,740 --> 00:35:13,420 Bây giờ, hãy để tôi quay trở lại đây. 759 00:35:13,420 --> 00:35:14,360 Và điều này là tàn bạo. 760 00:35:14,360 --> 00:35:15,805 Tôi không thể đối phó với 96 điểm. 761 00:35:15,805 --> 00:35:16,960 Chúng ta hãy làm 24 điểm. 762 00:35:16,960 --> 00:35:18,320 Hoặc bạn có thể được chính xác hơn. 763 00:35:18,320 --> 00:35:21,800 Bạn thực sự có thể sử dụng điểm ảnh, px, vì vậy mà bạn thực sự có được hạt mịn 764 00:35:21,800 --> 00:35:23,220 kiểm soát các trang của bạn. 765 00:35:23,220 --> 00:35:26,860 >> Như một sang một bên, đó là không nhất thiết phải điều tốt nhất nếu người dùng, cho 766 00:35:26,860 --> 00:35:29,650 lý do khả năng tiếp cận, muốn có thể tăng kích cỡ. 767 00:35:29,650 --> 00:35:32,650 Vì vậy, nhận ra rằng có những cách làm những thứ không nhất thiết phải 768 00:35:32,650 --> 00:35:34,230 tất cả mọi thứ đang khó khăn. 769 00:35:34,230 --> 00:35:37,220 >> Được rồi, vì vậy nó lớn hơn, 24 điểm, hơn bất cứ điều gì mặc định là. 770 00:35:37,220 --> 00:35:38,630 Nhưng bây giờ nó là một chút bụi. 771 00:35:38,630 --> 00:35:40,230 Và để cho tôi đi một bước xa hơn. 772 00:35:40,230 --> 00:35:47,220 Cũng giống như ý tưởng của tập tin tiêu đề, nhận thấy chúng tôi là một bước gần hơn đến đó. 773 00:35:47,220 --> 00:35:52,000 Tôi có yếu tố ra ngoài, nhưng vẫn còn để lại, bên trong trang của tôi, những quy tắc CSS. 774 00:35:52,000 --> 00:35:56,200 Lý do tại sao tôi có thể muốn đi một bước hơn nữa, loại bỏ điều này hoàn toàn, và 775 00:35:56,200 --> 00:35:59,860 đặt nó trong một file riêng biệt? 776 00:35:59,860 --> 00:36:01,070 >> Vì vậy, tôi có thể tái sử dụng nó, phải không? 777 00:36:01,070 --> 00:36:03,155 Đây chỉ là loại trực giác ngay bây giờ. 778 00:36:03,155 --> 00:36:06,340 Trước đây, tôi cho rằng đó chỉ là bị xấu xí có phong cách 779 00:36:06,340 --> 00:36:08,480 thuộc tính bên trong của divs mình. 780 00:36:08,480 --> 00:36:09,750 Nhưng chỉ cần loại nghĩ rằng qua. 781 00:36:09,750 --> 00:36:13,560 Như trang của bạn kéo dài hơn và lâu hơn, nếu bạn đang đặt ở đây, và ở đây, và 782 00:36:13,560 --> 00:36:18,350 ở đây, và ở đây, tất cả các khác nhau màu sắc và kích cỡ phông chữ, và khác 783 00:36:18,350 --> 00:36:22,550 thuộc tính, trang web của bạn là rất nhanh chóng sẽ trở thành không thể quản lý cho bạn. 784 00:36:22,550 --> 00:36:24,570 >> Nếu ai đó đến với bạn và nói, oh, bạn biết những gì? 785 00:36:24,570 --> 00:36:28,070 Tôi thực sự muốn thay đổi kích thước phông chữ bởi hai điểm bổ sung, bạn 786 00:36:28,070 --> 00:36:31,275 có thể phải đi và tìm và thay thế một số lượng lớn các dòng mã. 787 00:36:31,275 --> 00:36:35,170 Nó nhiều hơn nữa hấp dẫn để tập trung tất cả các thẩm mỹ như thế này. 788 00:36:35,170 --> 00:36:38,850 Nhưng nếu bạn muốn tái sử dụng những tính thẩm mỹ trong nhiều trang web, tất cả 789 00:36:38,850 --> 00:36:41,100 sự hấp dẫn hơn, cho Ví dụ, tạo ra một tập tin 790 00:36:41,100 --> 00:36:45,290 gọi với những nội dung. 791 00:36:45,290 --> 00:36:46,680 >> Và hãy để tôi làm điều này. 792 00:36:46,680 --> 00:36:51,150 793 00:36:51,150 --> 00:36:51,920 Lưu tập tin này. 794 00:36:51,920 --> 00:36:55,580 Tôi nói styles.css, tùy ý, nhưng thông thường. 795 00:36:55,580 --> 00:36:58,770 Tôi sẽ đặt nó trong nhà John Harvard thư mục bây giờ cho đơn giản. 796 00:36:58,770 --> 00:37:03,880 Và những gì tôi có thể làm trong trang web của tôi là có được loại bỏ các từ khóa phong cách hoàn toàn, 797 00:37:03,880 --> 00:37:08,270 và phần nào unintuitively, sử dụng một liên kết thẻ, mà không cung cấp cho bạn một liên kết trong 798 00:37:08,270 --> 00:37:13,140 các siêu liên kết, cảm giác có thể click được, nhưng nơi tôi nói liên kết, href bằng 799 00:37:13,140 --> 00:37:15,120 styles.css. 800 00:37:15,120 --> 00:37:20,050 Và mối quan hệ rằng yếu tố này đã có các trang web là để phục vụ như 801 00:37:20,050 --> 00:37:21,280 phong cách của nó. 802 00:37:21,280 --> 00:37:22,670 >> Vì vậy, làm thế nào tôi biết điều này? 803 00:37:22,670 --> 00:37:25,950 Một, bạn chỉ cần đọc hướng dẫn sử dụng, hoặc bạn Google xung quanh, và bạn 804 00:37:25,950 --> 00:37:27,000 nhìn vào các nguồn tài nguyên khác nhau. 805 00:37:27,000 --> 00:37:30,520 Ý tôi là, đó thật sự là như thế nào bạn nhận kỹ thuật như thế này, và phù hợp 806 00:37:30,520 --> 00:37:34,720 với ý tưởng này của mình giảng dạy mới ngôn ngữ, một lần nữa, bạn sẽ thấy rằng 807 00:37:34,720 --> 00:37:38,830 chỉ có một số hữu hạn các điều với bất kỳ ngôn ngữ đó, khi bạn 808 00:37:38,830 --> 00:37:41,310 họ, bạn sẽ thấy rằng nó được nhanh hơn và nhanh hơn để viết. 809 00:37:41,310 --> 00:37:44,180 Thật vậy, học một chương trình mới ngôn ngữ như vậy là nhanh hơn nhiều so với một mới 810 00:37:44,180 --> 00:37:47,380 ngôn ngữ nói bởi vì những điều này nhỏ hơn nhiều và nhiều hơn nữa 811 00:37:47,380 --> 00:37:48,820 xác định chính xác. 812 00:37:48,820 --> 00:37:51,590 >> Nhưng tôi đã nêu bật một chút của một sự bất thường ở đây. 813 00:37:51,590 --> 00:37:57,750 Lý do tại sao tôi đã nêu bật này dấu gạch chéo ở đây? 814 00:37:57,750 --> 00:37:59,420 Bởi vì tôi phải đóng thẻ. 815 00:37:59,420 --> 00:38:00,530 Tôi nên đóng thẻ. 816 00:38:00,530 --> 00:38:02,750 Và bạn sẽ tìm thấy vô số tài nguyên trực tuyến mà không 817 00:38:02,750 --> 00:38:04,080 nhất thiết phải là thẻ gần. 818 00:38:04,080 --> 00:38:08,770 Và thực tế, nó không đúng cần thiết cho kỹ thuật và có 819 00:38:08,770 --> 00:38:11,950 lý do của thực tế, trình duyệt chỉ khá khoan dung của những sai lầm trong web 820 00:38:11,950 --> 00:38:14,360 trang, cho tốt hơn hoặc tồi tệ hơn, nhưng chủ yếu là tồi tệ hơn. 821 00:38:14,360 --> 00:38:18,830 >> Vì vậy, ở đây chỉ là một cách sạch hơn nói điều gì đó ngu ngốc như thế này, 822 00:38:18,830 --> 00:38:22,330 mà nếu bạn muốn mở thẻ liên kết nhưng đóng nó, có thực sự không có khái niệm 823 00:38:22,330 --> 00:38:23,720 nội dung cho một thẻ liên kết. 824 00:38:23,720 --> 00:38:26,000 Nó chỉ có nghĩa là tải này nộp và đặt nó ở đây. 825 00:38:26,000 --> 00:38:30,610 Nó giống như bao gồm mạnh C. Bạn có thể mở và đóng một thẻ cùng một lúc 826 00:38:30,610 --> 00:38:31,660 trong thẻ tương tự. 827 00:38:31,660 --> 00:38:33,520 Và có các ví dụ khác về điều này. 828 00:38:33,520 --> 00:38:37,280 Đây không phải là cách để làm điều này, nhưng thẻ br, cho các ngắt dòng, nếu tôi 829 00:38:37,280 --> 00:38:41,780 thực sự muốn đạt được những gì tôi đã cố gắng để trước bằng cách nhấn Enter, nếu 830 00:38:41,780 --> 00:38:45,380 Tôi nói rõ ràng ngắt dòng, ngắt dòng, ngắt dòng, ngắt dòng, và 831 00:38:45,380 --> 00:38:49,100 sau đó tải lại trang web này, bạn sẽ nhận thấy mà dưới cùng của trang là, 832 00:38:49,100 --> 00:38:51,940 thực sự, nhiều đi xa hơn nữa trong dưới cùng của trang. 833 00:38:51,940 --> 00:38:55,840 Nhưng ngay cả điều đó có thể được thực hiện nhiều hơn nữa sạch với CSS, và với biên độ, 834 00:38:55,840 --> 00:38:58,120 và với thẩm mỹ khác kỹ thuật. 835 00:38:58,120 --> 00:38:59,940 >> Vì vậy, hiện nay, các đồ ăn tay là này. 836 00:38:59,940 --> 00:39:02,320 Trong HTML, chúng ta có những điều được gọi là thẻ. 837 00:39:02,320 --> 00:39:04,830 Trong CSS, chúng ta có những việc này được gọi là bất động sản. 838 00:39:04,830 --> 00:39:08,700 Chúng ta có thể comingle hai ngôn ngữ này, hoặc bằng cách sử dụng các thuộc tính phong cách, 839 00:39:08,700 --> 00:39:14,240 hoặc từ khóa phong cách, hoặc tốt nhất chưa, bao thanh toán nó ra hoàn toàn, như chúng tôi 840 00:39:14,240 --> 00:39:17,270 trong vấn đề thiết lập 7. 841 00:39:17,270 --> 00:39:23,820 Câu hỏi, sau đó, về vấn đề cơ bản về khái niệm ở đây? 842 00:39:23,820 --> 00:39:24,740 >> Khán giả: Tôi có một câu hỏi. 843 00:39:24,740 --> 00:39:25,630 >> SPEAKER 1: Ồ, xin lỗi. 844 00:39:25,630 --> 00:39:28,880 >> ĐỐI TƯỢNG: Tại sao không phải là nó màu - 845 00:39:28,880 --> 00:39:31,410 >> SPEAKER 1: Oh, trong tab khác? 846 00:39:31,410 --> 00:39:32,232 Này đây? 847 00:39:32,232 --> 00:39:33,482 >> ĐỐI TƯỢNG: Không, nó giống như - 848 00:39:33,482 --> 00:39:35,330 849 00:39:35,330 --> 00:39:39,480 >> SPEAKER 1: Ồ, đó là bởi vì Tôi đã được cẩu thả. 850 00:39:39,480 --> 00:39:41,350 Tôi đặt các tập tin ở vị trí sai. 851 00:39:41,350 --> 00:39:47,840 Vì vậy, nếu tôi thực sự đặt nó ở đây, và tôi chmod nó, tất cả + r cho styles.css, và 852 00:39:47,840 --> 00:39:52,050 bây giờ tải lại trang, bây giờ chúng tôi có được cách điệu trở lại. 853 00:39:52,050 --> 00:39:54,530 Và bởi vì kích thước phông chữ là khác nhau, chúng tôi không nhìn thấy khá nhiều 854 00:39:54,530 --> 00:39:55,010 không gian màu trắng. 855 00:39:55,010 --> 00:39:58,240 Chúng tôi thay vì xem những gì là mặc định là thay thế. 856 00:39:58,240 --> 00:40:00,050 Tốt câu hỏi. 857 00:40:00,050 --> 00:40:00,846 Có? 858 00:40:00,846 --> 00:40:02,630 >> ĐỐI TƯỢNG: Tại sao liên kết từ khóa trong tiêu đề? 859 00:40:02,630 --> 00:40:06,270 >> SPEAKER 1: Tại sao các liên kết thẻ bên trong tiêu đề - 860 00:40:06,270 --> 00:40:07,650 trả lời ngắn gọn, chỉ vì. 861 00:40:07,650 --> 00:40:08,930 Đó là những gì đã được quyết định. 862 00:40:08,930 --> 00:40:10,720 Đó là nơi mà các thẻ liên kết đi khi Bạn có những gì được gọi là một 863 00:40:10,720 --> 00:40:13,650 sheet bên ngoài. 864 00:40:13,650 --> 00:40:16,430 Câu hỏi khác? 865 00:40:16,430 --> 00:40:17,770 >> Được rồi, chúng ta hãy làm điều này. 866 00:40:17,770 --> 00:40:20,500 Chúng tôi có rất nhiều niềm vui phía trước chúng ta ngày hôm nay. 867 00:40:20,500 --> 00:40:22,480 Đó chỉ là gãi bề mặt của CSS. 868 00:40:22,480 --> 00:40:23,010 Chúng ta hãy làm điều này. 869 00:40:23,010 --> 00:40:25,980 Chúng ta hãy nghỉ năm phút đây bởi vì, mỗi email của tôi, chúng ta hãy treo trong 870 00:40:25,980 --> 00:40:27,200 đó cho đến 2:30-ish hôm nay. 871 00:40:27,200 --> 00:40:28,540 Nhưng nếu bạn không có để để lại, đó là tốt. 872 00:40:28,540 --> 00:40:30,380 Nhưng chúng tôi sẽ giả mạo trước sau nghỉ ngơi năm phút. 873 00:40:30,380 --> 00:40:35,930 Và chúng ta sẽ học một chút gì đó về PHP, MySQL, và nhiều hơn nữa. 874 00:40:35,930 --> 00:40:44,520 >> Được rồi, vì vậy hãy cố gắng, bây giờ, để buộc một vài trong số những ý tưởng với nhau và thực hiện, 875 00:40:44,520 --> 00:40:46,180 nói, công cụ tìm kiếm riêng của chúng tôi. 876 00:40:46,180 --> 00:40:48,570 Tôi nhận thấy, chứ không phải tò mò, sau. 877 00:40:48,570 --> 00:40:52,610 Khi bạn đang ở Google.com, bạn thường tại một URL như thế này đây 878 00:40:52,610 --> 00:40:54,870 không có gì sau dấu chấm com. 879 00:40:54,870 --> 00:40:59,760 Nhưng nếu tôi tìm kiếm một cái gì đó ngu ngốc như mèo, và nhấn Enter, chúng tôi sẽ nhận được - không 880 00:40:59,760 --> 00:41:01,300 ngu ngốc, nhưng bạn biết. 881 00:41:01,300 --> 00:41:05,410 >> OK, vì vậy nhận thấy, ở trên cùng của trang, bây giờ, các URL đã, tất nhiên, thay đổi. 882 00:41:05,410 --> 00:41:07,190 Và điều này không phải là bất cứ điều gì mới để mỗi người chúng ta. 883 00:41:07,190 --> 00:41:09,290 Bạn nhấp vào liên kết và các công cụ xảy ra trên web. 884 00:41:09,290 --> 00:41:11,420 Nhưng điều thú vị ở đây như sau. 885 00:41:11,420 --> 00:41:14,500 Có một toàn bộ rất nhiều lộn xộn, nhưng cho tôi vứt bỏ thứ mà tôi không 886 00:41:14,500 --> 00:41:16,600 hoàn toàn hiểu hoặc không thực sự xem xét có liên quan. 887 00:41:16,600 --> 00:41:18,490 >> Hãy để tôi thoát khỏi điều này. 888 00:41:18,490 --> 00:41:20,030 Hãy để tôi thoát khỏi điều này. 889 00:41:20,030 --> 00:41:22,630 Và hãy để tôi thoát khỏi của tất cả điều này. 890 00:41:22,630 --> 00:41:28,840 Và bây giờ nhận thấy rằng mèo là trong URL, theo sau với một q, sau đó là một bằng 891 00:41:28,840 --> 00:41:29,710 đăng nhập vào phía trước của nó. 892 00:41:29,710 --> 00:41:32,110 Thực ra, đây là cách Cách nó hoạt động khi nói 893 00:41:32,110 --> 00:41:33,360 cho đầu vào và đầu ra. 894 00:41:33,360 --> 00:41:37,510 >> Chúng tôi đã nói chuyện dài về hộp đen, phải không? 895 00:41:37,510 --> 00:41:41,650 Vì vậy, nếu điều này là một chức năng thực hiện đây như một hộp đen, nó có đầu vào 896 00:41:41,650 --> 00:41:45,290 và sản xuất sản lượng, tốt, có nghĩa là mà bạn cung cấp đầu vào cho một 897 00:41:45,290 --> 00:41:49,270 trang web là do cách, thường xuyên, các URL của nó. 898 00:41:49,270 --> 00:41:52,850 Bạn chỉ cần đặt một dấu hỏi và sau đó một phím bằng giá trị. 899 00:41:52,850 --> 00:41:56,740 Và sau đó có thể là một ký hiệu, và sau đó quan trọng khác bằng giá trị, sau đó có thể 900 00:41:56,740 --> 00:41:58,810 ký hiệu khác, quan trọng tương đương với giá trị. 901 00:41:58,810 --> 00:42:03,030 Đó là cách bạn vượt qua trong các phím và các giá trị, các cặp đầu vào. 902 00:42:03,030 --> 00:42:07,050 >> Vì vậy, nếu tôi nhấn Enter bây giờ, những gì thú vị về Google đó là tất cả 903 00:42:07,050 --> 00:42:10,420 lộn xộn tôi bị xóa sẽ không xuất hiện là sự cần thiết. 904 00:42:10,420 --> 00:42:15,120 Tất cả tôi cần phải gửi cho Google là câu hỏi dấu q bằng mèo để có được 905 00:42:15,120 --> 00:42:16,160 sao một số con mèo. 906 00:42:16,160 --> 00:42:20,160 Vâng, ý nghĩa đó, sau đó, là nếu tôi kéo lên gedit, tôi đã bắt đầu 907 00:42:20,160 --> 00:42:24,360 làm cho công cụ tìm kiếm của riêng tôi đây trong một tập tin gọi là seach0.html. 908 00:42:24,360 --> 00:42:26,750 >> Và để cho tôi đi trước và xóa một dòng hơn bạn 909 00:42:26,750 --> 00:42:27,910 đã không được nhìn thấy. 910 00:42:27,910 --> 00:42:31,070 Và bây giờ, hãy để tôi đi vào trình duyệt của riêng tôi, do đó, không cho Google, và đi đến 911 00:42:31,070 --> 00:42:34,900 http://localhost. 912 00:42:34,900 --> 00:42:36,220 Và đó là sẽ nhận được trong cách. 913 00:42:36,220 --> 00:42:43,240 Vì vậy, chúng ta sẽ phải nói lời tạm biệt rằng từ bây giờ, di chuyển này trên đây, 914 00:42:43,240 --> 00:42:46,270 oh, bây giờ chúng ta sẽ phải nói lời tạm biệt với tập tin đó. 915 00:42:46,270 --> 00:42:51,700 >> Bất cứ khi nào bạn có một tập tin gọi là index.html hoặc index.php trong một 916 00:42:51,700 --> 00:42:54,980 thư mục, nếu máy chủ web là cấu hình theo cách này, bạn sẽ 917 00:42:54,980 --> 00:42:59,600 thấy, mặc định, là các nội dung của tập tin chứ không phải là một danh sách các 918 00:42:59,600 --> 00:43:02,330 thư mục, như tôi muốn ở đây. 919 00:43:02,330 --> 00:43:03,750 Thêm về điều này trong spec. 920 00:43:03,750 --> 00:43:04,610 Bạn không thấy điều đó. 921 00:43:04,610 --> 00:43:06,360 >> Vì vậy, đây là những gì tôi thực sự muốn. 922 00:43:06,360 --> 00:43:08,810 Nhưng một thời điểm trước đây, đã có một tập tin trong thư mục này được gọi là 923 00:43:08,810 --> 00:43:11,290 index.html và index.php. 924 00:43:11,290 --> 00:43:13,380 Và các máy chủ web là hiển thị cho tôi những tập tin. 925 00:43:13,380 --> 00:43:15,900 Thay vào đó, tôi muốn thư mục này liệt kê ở đây. 926 00:43:15,900 --> 00:43:18,340 >> Vì vậy, tôi sẽ đi vào CSS và đi đến search0. 927 00:43:18,340 --> 00:43:21,770 Và tôi cho rằng điều này là nó sẽ được đầu cạnh tranh của riêng tôi 928 00:43:21,770 --> 00:43:22,490 công cụ tìm kiếm. 929 00:43:22,490 --> 00:43:27,630 Và để làm được điều này, tôi sẽ đi trong ở đây, vào CSS, và mở ra với 930 00:43:27,630 --> 00:43:30,190 gedit, tìm kiếm 0. 931 00:43:30,190 --> 00:43:32,280 Nhưng không may, có không nhiều đang xảy ra ở đây. 932 00:43:32,280 --> 00:43:35,690 Tất cả tôi đã làm là sử dụng một thẻ tiêu đề, mà xảy ra được gọi là h1, mà 933 00:43:35,690 --> 00:43:38,180 về cơ bản có nghĩa là lớn và táo bạo, và đó là nó. 934 00:43:38,180 --> 00:43:40,810 Nhưng các phương tiện mà chúng ta có thể cung cấp các yếu tố đầu vào thông qua các 935 00:43:40,810 --> 00:43:42,180 thứ được gọi là hình thức. 936 00:43:42,180 --> 00:43:46,040 >> Vì vậy, hãy để tôi đi trước và mở và đóng, đánh phủ đầu, một thẻ hình thức đó. 937 00:43:46,040 --> 00:43:48,060 Và để cho tôi đi trước và làm một cái gì đó như thế này. 938 00:43:48,060 --> 00:43:51,430 Đầu vào, loại bằng văn bản. 939 00:43:51,430 --> 00:43:56,320 Và sau đó chúng ta hãy đóng thẻ trong khung bản thân. 940 00:43:56,320 --> 00:43:58,800 Tôi không cần phải bắt đầu một trường văn bản và ngăn chặn một trường văn bản. 941 00:43:58,800 --> 00:44:01,080 Nó chỉ có mặt ở đó hay không. 942 00:44:01,080 --> 00:44:06,210 >> Và sau đó dưới đây, chúng ta hãy làm loại đầu vào bằng trình. 943 00:44:06,210 --> 00:44:06,870 Tiết kiệm này. 944 00:44:06,870 --> 00:44:08,630 Và bây giờ chúng ta chỉ cần làm một sự tỉnh táo nhanh chóng kiểm tra. 945 00:44:08,630 --> 00:44:09,820 Hãy tải lại. 946 00:44:09,820 --> 00:44:10,890 >> OK, vì vậy nó không phải là xấu. 947 00:44:10,890 --> 00:44:13,260 Nó không phải là phong cách của Google, nhưng nó khá gần. 948 00:44:13,260 --> 00:44:13,920 Có một trường văn bản. 949 00:44:13,920 --> 00:44:17,190 Tôi có thể gõ một số công cụ trong, nhấn Enter, nhưng không có gì xảy ra được nêu ra. 950 00:44:17,190 --> 00:44:21,090 Và đó là bởi vì tôi đã không quy định một hành động cho hình thức này, có thể nói. 951 00:44:21,090 --> 00:44:23,860 Vì vậy, nếu tôi trở lại các yếu tố hình thức, Hóa ra, và tôi chỉ biết này 952 00:44:23,860 --> 00:44:27,460 từ việc đọc tài liệu, mà thẻ form có một thuộc tính 953 00:44:27,460 --> 00:44:31,880 gọi hành động đó là URL của trang web mà bạn 954 00:44:31,880 --> 00:44:34,790 muốn gửi biểu mẫu. 955 00:44:34,790 --> 00:44:37,610 >> Tôi không thực sự nghĩ rằng chúng tôi có thời gian để thực hiện các kết thúc trở lại toàn bộ cho một 956 00:44:37,610 --> 00:44:38,570 công cụ tìm kiếm ngày hôm nay. 957 00:44:38,570 --> 00:44:41,900 Vì vậy, chúng tôi chỉ muốn nói, eh, truy cập google.com / tìm kiếm. 958 00:44:41,900 --> 00:44:43,450 Và bây giờ hãy để tôi đóng dấu của tôi. 959 00:44:43,450 --> 00:44:46,070 Và để cho tôi tiếp tục xác định rằng phương pháp sử dụng sẽ 960 00:44:46,070 --> 00:44:47,120 được gọi là được. 961 00:44:47,120 --> 00:44:50,650 >> Long câu chuyện ngắn, có hai cách, tại Ít nhất, bạn có thể gửi thông tin 962 00:44:50,650 --> 00:44:51,880 từ trình duyệt đến máy chủ. 963 00:44:51,880 --> 00:44:55,340 Một là nhận được, và, cho các mục đích của ngày hôm nay, đó chỉ có nghĩa trong URL. 964 00:44:55,340 --> 00:44:58,730 Bạn nhìn thấy chính xác những dấu hỏi, những dấu bằng, và ampersands mà 965 00:44:58,730 --> 00:44:59,780 chúng ta đã thấy. 966 00:44:59,780 --> 00:45:02,890 Hoặc có một sự thay thế được gọi là bài. 967 00:45:02,890 --> 00:45:06,490 Cho bây giờ, biết rằng bài thường được sử dụng khi bạn muốn tải lên các tập tin, như 968 00:45:06,490 --> 00:45:09,820 hình ảnh và vv, hoặc khi bạn muốn gửi thông tin thẻ tín dụng, hoặc 969 00:45:09,820 --> 00:45:13,810 mật khẩu, bất cứ điều gì mà nó không thực sự có ý nghĩa, khái niệm, hoặc 970 00:45:13,810 --> 00:45:18,020 an ninh khôn ngoan, để kết thúc trong URL của trình duyệt của bạn, nơi cha mẹ rình mò, 971 00:45:18,020 --> 00:45:21,520 hoặc bạn cùng phòng, hoặc bất cứ ai có quyền truy cập máy tính của bạn có thể nhìn thấy. 972 00:45:21,520 --> 00:45:23,110 >> Vì vậy hãy tiết kiệm ở đây. 973 00:45:23,110 --> 00:45:24,480 Và tôi cần phải làm một việc khác. 974 00:45:24,480 --> 00:45:27,250 Nó không đủ chỉ để nói cho tôi một trường văn bản. 975 00:45:27,250 --> 00:45:29,850 Tôi có để cung cấp cho lĩnh vực của giá trị một tên. 976 00:45:29,850 --> 00:45:34,500 Vì vậy, hãy để tôi vay lựa chọn của Google tên, q, và xác định rằng thứ hai 977 00:45:34,500 --> 00:45:38,150 thuộc tính tôi không thực sự quan tâm tên của nút Submit. 978 00:45:38,150 --> 00:45:40,890 Tất cả tôi quan tâm là trình những loại người sử dụng vào 979 00:45:40,890 --> 00:45:41,940 >> Và giờ đây là loại xấu xí. 980 00:45:41,940 --> 00:45:42,820 Nó chỉ nói trình. 981 00:45:42,820 --> 00:45:46,350 Hóa ra, và tôi biết điều này từ tài liệu hướng dẫn, tôi thực sự có thể nói 982 00:45:46,350 --> 00:45:51,710 giá trị tương đương với trích dẫn unquote "CS50 Kết, "trích dẫn gần. 983 00:45:51,710 --> 00:45:53,030 Sau đó, chúng ta hãy tải lại một lần nữa. 984 00:45:53,030 --> 00:45:57,020 Vì vậy, tôi tiếp tục nhấn Command-R, hoặc Kiểm soát-R trên bàn phím của tôi để tải lại. 985 00:45:57,020 --> 00:45:58,605 >> Bây giờ chúng tôi có một thú vị hơn công cụ tìm kiếm. 986 00:45:58,605 --> 00:46:00,340 Nó không hoàn toàn giống như Google, mặc dù. 987 00:46:00,340 --> 00:46:04,100 Vì vậy, chúng ta hãy đi trước trong đây và làm một ít xuống dòng. 988 00:46:04,100 --> 00:46:06,066 >> OK, vì vậy bây giờ chúng tôi có Google. 989 00:46:06,066 --> 00:46:08,260 Chúng tôi thực sự gần như không có Google. 990 00:46:08,260 --> 00:46:10,460 Vì vậy, bây giờ những gì sẽ xảy ra? 991 00:46:10,460 --> 00:46:12,220 Tôi sẽ gõ vào một cái gì đó như mèo. 992 00:46:12,220 --> 00:46:16,570 Và trình duyệt sẽ phân tích rằng hình thức mà tôi xác định. 993 00:46:16,570 --> 00:46:19,470 Và nó sẽ gửi người sử dụng URL đó. 994 00:46:19,470 --> 00:46:23,420 Vì vậy, thời gian này, vì một lý do tò mò, Tôi có thêm thông tin về chứng khoán 995 00:46:23,420 --> 00:46:24,410 hơn về con mèo thực tế. 996 00:46:24,410 --> 00:46:30,580 Nhưng đó là tiền phạt vì nhận thấy chúng ta vẫn kết thúc ở đây, q bằng mèo. 997 00:46:30,580 --> 00:46:35,200 >> Vì vậy, câu chuyện dài ngắn, nó có vẻ khá tầm thường để có được đầu vào từ người sử dụng. 998 00:46:35,200 --> 00:46:38,190 Và công bằng, có chùm của các loại biểu mẫu form. 999 00:46:38,190 --> 00:46:41,510 Có hộp kiểm tra, và ít lẫn nhau nút radio độc quyền, và 1000 00:46:41,510 --> 00:46:42,960 thả menu, và nhiều hơn nữa xuống. 1001 00:46:42,960 --> 00:46:46,160 Nhưng tất cả những người như tương đối dễ dàng thực hiện như 1002 00:46:46,160 --> 00:46:48,040 lĩnh vực văn bản này là. 1003 00:46:48,040 --> 00:46:52,050 Và cuối cùng, chúng ta phải làm chắc rằng ai đó đang lắng nghe trên khác 1004 00:46:52,050 --> 00:46:56,490 kết thúc của dòng để có được điều đó thông tin xử lý, bằng cách nào đó, và 1005 00:46:56,490 --> 00:46:58,440 cung cấp cho chúng ta trở lại con mèo của chúng tôi. 1006 00:46:58,440 --> 00:47:00,840 >> Hãy xem xét một chút tham gia nhiều hơn ví dụ. 1007 00:47:00,840 --> 00:47:06,020 Hãy để tôi đi vào thư mục vhost của tôi, vào máy chủ địa phương, công cộng, và nơi tôi 1008 00:47:06,020 --> 00:47:06,980 đưa mã nguồn của ngày hôm nay. 1009 00:47:06,980 --> 00:47:09,800 Tất cả điều này sẽ được của khóa học trang web cho bạn để tinker với. 1010 00:47:09,800 --> 00:47:15,420 Và nếu tôi đi vào froshims, hãy để tôi mở lên tập tin này ngay bây giờ, froshim0.php. 1011 00:47:15,420 --> 00:47:18,460 Điều này là một ít tiết, vì vậy chúng tôi sẽ không viết này từ đầu. 1012 00:47:18,460 --> 00:47:21,970 Nhưng chỉ cần thông báo tại một vài hơi đặc điểm quen thuộc. 1013 00:47:21,970 --> 00:47:24,550 >> Một, thẻ hình thức, hành động khác nhau. 1014 00:47:24,550 --> 00:47:25,670 Nó không phải là một URL đầy đủ. 1015 00:47:25,670 --> 00:47:29,930 Bây giờ, nó dường như nộp gọi register0.php bởi vì, trong một thời điểm, 1016 00:47:29,930 --> 00:47:32,660 Tôi sẽ dạy cho bản thân mình một chút một cái gì đó về PHP, một lập trình 1017 00:47:32,660 --> 00:47:37,360 ngôn ngữ, do PHP có thể được sử dụng để thực hiện những gì Google thực hiện như 1018 00:47:37,360 --> 00:47:39,650 kết thúc sau của công cụ tìm kiếm của họ. 1019 00:47:39,650 --> 00:47:42,890 >> Google, trong thực tế, có thể sử dụng một số Python, một số C + +, và 1020 00:47:42,890 --> 00:47:44,230 chùm các ngôn ngữ khác. 1021 00:47:44,230 --> 00:47:48,230 Nhưng chúng tôi chắc chắn có thể thực hiện tìm kiếm kết quả sử dụng PHP nếu chúng ta muốn. 1022 00:47:48,230 --> 00:47:49,610 Nhưng hiện nay, chúng tôi sẽ giữ nó đơn giản. 1023 00:47:49,610 --> 00:47:53,320 Và điều này thực sự gợi nhớ đến một các trang web đầu tiên khác tôi 1024 00:47:53,320 --> 00:47:54,490 thực hiện năm trước. 1025 00:47:54,490 --> 00:47:58,160 >> Trở lại trong ngày của tôi, bạn đăng ký thể thao intramural như một sinh viên năm nhất của 1026 00:47:58,160 --> 00:48:00,880 điền vào một tờ giấy, đi bộ trên sân, và thả nó trong 1027 00:48:00,880 --> 00:48:04,890 hộp thư của Proctor trong Wigglesworth, và đó là cách bạn 1028 00:48:04,890 --> 00:48:05,460 đăng ký. 1029 00:48:05,460 --> 00:48:09,650 Và do đó dự án của tôi một thời gian ngắn sau khi CS50, là đặt đó, mà làm cho hoàn hảo 1030 00:48:09,650 --> 00:48:13,460 ý thức, vào các trang web, mà là không như thịnh hành sau đó như bây giờ. 1031 00:48:13,460 --> 00:48:17,510 Nhưng tất cả chúng ta phải làm là tạo ra, về cơ bản, một hình thức HTML. 1032 00:48:17,510 --> 00:48:19,640 >> Và hình thức mà nhìn gần như thế này. 1033 00:48:19,640 --> 00:48:22,480 Tôi đã có một đầu vào cho các tên sinh viên năm nhất. 1034 00:48:22,480 --> 00:48:27,780 Tôi đã kiểm tra hộp khác cho hay hoặc không họ muốn trở thành đội trưởng, những gì 1035 00:48:27,780 --> 00:48:30,400 giới tính của họ, và ký túc xá của họ là gì. 1036 00:48:30,400 --> 00:48:33,370 Và sau đó tôi cứng mã hoá trong điều như Apley Tòa án, và Canaday, 1037 00:48:33,370 --> 00:48:34,880 Màu xám, và vv. 1038 00:48:34,880 --> 00:48:36,300 >> Vì vậy, một lần nữa, thẻ mới. 1039 00:48:36,300 --> 00:48:39,820 Đã không nhìn thấy những trước, mới thuộc tính, nhưng khá dễ tiếp cận. 1040 00:48:39,820 --> 00:48:42,360 Một khi bạn thấy một ví dụ, bạn có thể loại vay của ý tưởng đó và làm giảm 1041 00:48:42,360 --> 00:48:43,820 đơn cho hầu hết bất cứ điều gì xuống. 1042 00:48:43,820 --> 00:48:46,350 Nhưng điều quan trọng là mỗi những điều này có tên. 1043 00:48:46,350 --> 00:48:49,720 Và ở dưới cùng của mẫu đơn này, có một nút gửi có nhãn, 1044 00:48:49,720 --> 00:48:51,510 hoặc giá trị, là đăng ký. 1045 00:48:51,510 --> 00:48:52,670 >> Vì vậy, chúng ta hãy đi đến trang này. 1046 00:48:52,670 --> 00:48:55,050 Hãy để tôi đi trở lại vào danh sách thư mục. 1047 00:48:55,050 --> 00:48:59,410 Hãy để tôi đi vào froshims, và đi đến froshim0.php. 1048 00:48:59,410 --> 00:49:01,150 Vì vậy, nó xấu xí, để được công bằng. 1049 00:49:01,150 --> 00:49:03,950 Vì vậy, tôi chắc chắn có thể phong cách hóa này với một số CSS, tôi có thể làm cho một số 1050 00:49:03,950 --> 00:49:06,890 đồ họa, có thể thêm một số màu sắc, và làm cho đẹp hơn. 1051 00:49:06,890 --> 00:49:10,530 Nhưng chức năng, tôi cho rằng điều này thực sự là khá đầy đủ. 1052 00:49:10,530 --> 00:49:15,190 >> Thật không may, khi tôi điền này ra, David, Đại úy, Nam, chúng tôi sẽ chọn, 1053 00:49:15,190 --> 00:49:20,510 chúng ta hãy nói Matthews, đăng ký, tất cả những gì xảy ra là điều này. 1054 00:49:20,510 --> 00:49:21,910 Nhưng thấy một số đồ ăn tay. 1055 00:49:21,910 --> 00:49:27,130 Một, những gì tập tin trở lại những kết quả, rõ ràng? 1056 00:49:27,130 --> 00:49:29,470 Vì vậy, nó là, thực sự, register0.php. 1057 00:49:29,470 --> 00:49:34,570 Vì vậy, thực tế là chúng ta đã thấy hành động giá trị một thời điểm trước đây cho register0, điều này 1058 00:49:34,570 --> 00:49:37,500 chứng thực rằng chúng tôi thực sự đã kết thúc tại tập tin cụ thể. 1059 00:49:37,500 --> 00:49:39,040 >> Bây giờ đây chỉ là văn bản xấu xí. 1060 00:49:39,040 --> 00:49:42,810 Nhưng nhận thấy rằng văn bản này là đến từ máy chủ địa phương, 1061 00:49:42,810 --> 00:49:44,170 đó là ra khỏi thiết bị. 1062 00:49:44,170 --> 00:49:46,350 Hãy suy nghĩ của thiết bị bây giờ như chỉ một máy chủ web có thể là trong các 1063 00:49:46,350 --> 00:49:46,910 Trung tâm khoa học. 1064 00:49:46,910 --> 00:49:48,060 Nó có thể là trên các trang web thực tế. 1065 00:49:48,060 --> 00:49:49,850 Vì vậy, nó có thể truy cập công khai. 1066 00:49:49,850 --> 00:49:55,480 >> Vì vậy, rõ ràng, có một số cách để đi qua hình thành đầu vào lĩnh vực đến một máy chủ 1067 00:49:55,480 --> 00:49:56,840 để nó có thể làm điều gì đó với họ. 1068 00:49:56,840 --> 00:49:59,020 Thật không may, register0 là khá ngu ngốc. 1069 00:49:59,020 --> 00:50:01,870 Tất cả nó là in ra một mảng trông như thế này. 1070 00:50:01,870 --> 00:50:04,790 Và nó không phải là một mảng trong nghĩa là chúng ta biết. 1071 00:50:04,790 --> 00:50:08,760 Chỉ ra rằng PHP, và rất nhiều ngôn ngữ, không chỉ có số lượng 1072 00:50:08,760 --> 00:50:12,350 mảng lập chỉ mục có chỉ số đầu tiên là bằng không, sau đó một, sau đó hai, sau đó chấm, 1073 00:50:12,350 --> 00:50:13,780 dấu chấm, dấu chấm, n trừ đi 1. 1074 00:50:13,780 --> 00:50:16,400 >> Đây là những gì được gọi là một mảng kết hợp. 1075 00:50:16,400 --> 00:50:21,150 Một mảng kết hợp là một trong đó bạn có thể lưu trữ các cặp giá trị quan trọng mà 1076 00:50:21,150 --> 00:50:23,160 phím không nhất thiết là số. 1077 00:50:23,160 --> 00:50:25,580 Nó có thể trong thực tế là một chuỗi, một từ. 1078 00:50:25,580 --> 00:50:28,230 Và vì vậy điều này có thể được thực hiện, bên dưới mui xe, nó quay ra, 1079 00:50:28,230 --> 00:50:31,896 sử dụng một cấu trúc dữ liệu được biết đến như một? 1080 00:50:31,896 --> 00:50:33,600 Nghĩ cái gì đó lớn sắp xảy ra - 1081 00:50:33,600 --> 00:50:34,840 bảng băm. 1082 00:50:34,840 --> 00:50:38,955 >> Vì vậy, một bảng băm, thu hồi, những người bạn người đã làm nó cho P tập 6, hoặc thậm chí nhớ lại 1083 00:50:38,955 --> 00:50:44,110 nó, ít nhất là ngay cả khi bạn đã làm một thử, một bảng băm, trong việc sử dụng của chúng tôi, được sử dụng để 1084 00:50:44,110 --> 00:50:45,090 chỉ lưu trữ từ. 1085 00:50:45,090 --> 00:50:47,980 Nhưng thực sự, bạn được lưu trữ khóa và giá trị. 1086 00:50:47,980 --> 00:50:51,940 Nếu bạn thực hiện một bảng băm cho P thiết lập 6 từ điển, các phím là 1087 00:50:51,940 --> 00:50:56,890 từ chính họ, và các giá trị là hiệu quả đúng hay sai. 1088 00:50:56,890 --> 00:51:00,190 Có, ở đây, hoặc ngầm, không, không phải ở đây. 1089 00:51:00,190 --> 00:51:02,140 >> Vâng, chúng ta có thể khái quát hóa ý tưởng đó. 1090 00:51:02,140 --> 00:51:06,230 Và chúng ta có thể sử dụng một dữ liệu rất giống nhau cấu trúc để lưu trữ không phải là chuỗi 1091 00:51:06,230 --> 00:51:10,180 bản thân mình trong bảng băm của bạn, nhưng giả sử rằng trong mỗi một trong băm của bạn 1092 00:51:10,180 --> 00:51:11,130 các nút của bảng. 1093 00:51:11,130 --> 00:51:14,210 Và thậm chí bạn có thể làm điều này trong một thử thay vì chỉ có một bool. 1094 00:51:14,210 --> 00:51:15,350 Bạn có thể có một cái gì đó khác. 1095 00:51:15,350 --> 00:51:19,590 Nếu phím không Maxwell, cho Ví dụ, nhưng trích dẫn unquote "tên", hoặc 1096 00:51:19,590 --> 00:51:22,900 trích dẫn unquote "đội trưởng." Và bên trong cấu trúc dữ liệu C của bạn, bạn đặt một 1097 00:51:22,900 --> 00:51:26,170 giá trị, không chỉ là một Boolean, nhưng có giá trị như trích dẫn unquote "David", hoặc 1098 00:51:26,170 --> 00:51:28,690 "M", hoặc "Matthews," và vv. 1099 00:51:28,690 --> 00:51:33,170 >> Vì vậy, những cấu trúc dữ liệu cùng chúng tôi sử dụng dường như tồn tại trong các ngôn ngữ khác. 1100 00:51:33,170 --> 00:51:37,650 Và tôi cho rằng họ đang thực sự nhiều, đơn giản hơn nhiều để truy cập vào đây. 1101 00:51:37,650 --> 00:51:40,300 Chúng ta trong thực tế có một cái nhìn tại một số cú pháp như vậy. 1102 00:51:40,300 --> 00:51:43,120 >> Tôi sẽ đi vào một thư mục PHP. 1103 00:51:43,120 --> 00:51:48,390 Và tôi sẽ mở ra một tốt hơn phiên bản của hello-0 từ trước. 1104 00:51:48,390 --> 00:51:50,270 Chú ý rằng tất cả tôi đã làm là thêm một số ý kiến. 1105 00:51:50,270 --> 00:51:52,530 Vì vậy, chúng ta có thể thoát khỏi phân tâm đó. 1106 00:51:52,530 --> 00:51:57,610 >> Và chương trình này không thực sự in xin chào vì tôi đã chỉ định giữa 1107 00:51:57,610 --> 00:52:01,420 thẻ mà tôi muốn thực hiện mã. 1108 00:52:01,420 --> 00:52:03,380 Bây giờ, chúng ta sẽ thấy trong một thời điểm tại sao điều này là hữu ích. 1109 00:52:03,380 --> 00:52:05,630 Nhưng chúng ta hãy mở một ví dụ khác ở đây. 1110 00:52:05,630 --> 00:52:10,430 Hãy để tôi đi trước và mở nói, gedit điều kiện một. 1111 00:52:10,430 --> 00:52:12,970 >> Đây là cách trở lại trong thời gian bây giờ. 1112 00:52:12,970 --> 00:52:16,320 Nhưng tuần trước đây, tôi nghĩ rằng, trong tuần một hoặc tuần thứ hai, chúng tôi đã có một ví dụ được gọi là 1113 00:52:16,320 --> 00:52:18,470 conditions1.c. 1114 00:52:18,470 --> 00:52:22,050 Và tôi quyết định reimplement nó trong PHP, chỉ để loại nhấn mạnh rằng 1115 00:52:22,050 --> 00:52:26,500 PHP, cú pháp, là gần như giống hệt nhau để C. Đây không phải là một bước tiến lớn 1116 00:52:26,500 --> 00:52:27,840 từ tuần trước đến nay. 1117 00:52:27,840 --> 00:52:31,230 >> Nhận thấy ở trên cùng của chương trình này, mà bắt đầu, như trước đây, với một số 1118 00:52:31,230 --> 00:52:34,260 ý kiến, mà tôi sẽ thoát khỏi như là một mất tập trung. 1119 00:52:34,260 --> 00:52:37,410 Chú ý rằng tôi là trong PHP chế độ trong tập tin này. 1120 00:52:37,410 --> 00:52:40,160 Vì vậy, mã này, chúng ta sẽ thấy, sẽ được thực hiện. 1121 00:52:40,160 --> 00:52:42,670 Chú ý rằng có readline, mà có lẽ là 1122 00:52:42,670 --> 00:52:46,230 tương tự trong PHP getString. 1123 00:52:46,230 --> 00:52:47,390 Nhận thấy đó là một chút khác nhau. 1124 00:52:47,390 --> 00:52:51,410 Bạn thực sự có thể chỉ định một dấu nhắc đến chức năng được gọi là dòng đọc, và đó là 1125 00:52:51,410 --> 00:52:52,180 những gì người dùng thấy. 1126 00:52:52,180 --> 00:52:53,520 Vì vậy, bạn không cần phải printf tay. 1127 00:52:53,520 --> 00:52:54,860 Nhưng đó không phải là một việc lớn. 1128 00:52:54,860 --> 00:52:59,150 Tôi sẽ để lưu trữ, bên trong $ n, trả lại giá trị này, vì vậy bất cứ điều gì 1129 00:52:59,150 --> 00:53:00,490 loại dùng trong là int của họ. 1130 00:53:00,490 --> 00:53:01,660 Và đây là sự tò mò khác. 1131 00:53:01,660 --> 00:53:05,810 Hóa ra, trong PHP, bất kỳ biến chỉ cần có để được bắt đầu 1132 00:53:05,810 --> 00:53:06,970 với một ký hiệu đô la. 1133 00:53:06,970 --> 00:53:08,110 Đó là một chút khó chịu. 1134 00:53:08,110 --> 00:53:10,870 Nhưng nhận thấy những gì tôi đã không thực hiện trong PHP. 1135 00:53:10,870 --> 00:53:13,980 Những gì còn thiếu từ bàn tay trái bên dấu bằng? 1136 00:53:13,980 --> 00:53:15,430 >> Không đề cập đến loại. 1137 00:53:15,430 --> 00:53:19,400 Vì vậy, điều này khác với C. Đối với tốt hơn hoặc tồi tệ hơn, PHP là một cách lỏng lẻo 1138 00:53:19,400 --> 00:53:20,550 ngôn ngữ đánh máy. 1139 00:53:20,550 --> 00:53:22,010 Nó không có số. 1140 00:53:22,010 --> 00:53:23,240 Nó không có dây. 1141 00:53:23,240 --> 00:53:24,015 Nó có Booleans. 1142 00:53:24,015 --> 00:53:26,220 Và nó không có một vài các kiểu dữ liệu khác. 1143 00:53:26,220 --> 00:53:30,570 Nhưng bạn, các lập trình viên, thường không cần phải quan tâm đến họ. 1144 00:53:30,570 --> 00:53:34,010 Ưu điểm của việc này là nó làm cho nó một chút dễ dàng hơn cho chương trình. 1145 00:53:34,010 --> 00:53:35,380 Bạn có thể nghĩ rằng một chút ít. 1146 00:53:35,380 --> 00:53:39,840 Nhược điểm là nó cũng mở ra cho bạn lỗi tiềm năng nếu bạn vô tình 1147 00:53:39,840 --> 00:53:43,080 điều trị một số như là một chuỗi, một chuỗi như một số, có khả năng, nhưng thậm chí 1148 00:53:43,080 --> 00:53:46,150 sau đó, PHP, và rất nhiều ngôn ngữ, là khá khoan dung. 1149 00:53:46,150 --> 00:53:49,050 Họ sẽ sử dụng những gì được gọi là ép kiểu ngầm. 1150 00:53:49,050 --> 00:53:55,220 Và nếu bạn cố gắng sử dụng n trong bối cảnh một tình huống số, nó sẽ 1151 00:53:55,220 --> 00:53:58,040 chuyển đổi những gì ở đây là có được một chuỗi, bởi vì nếu loại người sử dụng 1152 00:53:58,040 --> 00:54:01,570 một cái gì đó trong, và bạn sẽ có được kết quả, như với readline, hoặc nhận được chuỗi, 1153 00:54:01,570 --> 00:54:02,910 đó là sẽ trả về một chuỗi. 1154 00:54:02,910 --> 00:54:07,360 >> Nhưng thông báo, một vài dòng sau, tôi kiểm tra nếu n là lớn hơn không. 1155 00:54:07,360 --> 00:54:13,370 Vì vậy, PHP sẽ mặc nhiên bỏ tôi "Chuỗi" 123, hoặc bất cứ điều gì người dùng 1156 00:54:13,370 --> 00:54:14,860 loại trong, vào một int. 1157 00:54:14,860 --> 00:54:18,730 Vì vậy, trong ngắn hạn, các công cụ chỉ hoạt động rất nhiều trực giác hơn. 1158 00:54:18,730 --> 00:54:23,410 Vì vậy, bây giờ chúng tôi bắt đầu bỏ bớt một vài trong số các những điều mà chúng tôi đã làm trong quá khứ. 1159 00:54:23,410 --> 00:54:24,780 >> Rất nhiều công cụ này là tương tự, mặc dù. 1160 00:54:24,780 --> 00:54:26,340 Vẫn bằng bằng. 1161 00:54:26,340 --> 00:54:30,350 Như một sang một bên PHP cũng đã tương đương với bằng bằng, nhưng thêm vào đó, có lẽ, trong 1162 00:54:30,350 --> 00:54:30,850 tương lai. 1163 00:54:30,850 --> 00:54:31,150 Đó là một. 1164 00:54:31,150 --> 00:54:35,660 Lỗi đánh máy nhưng hai dấu bằng có nghĩa là giống điều như trước đây, để so sánh. 1165 00:54:35,660 --> 00:54:37,060 printf có nghĩa là điều tương tự như trước đây. 1166 00:54:37,060 --> 00:54:39,160 Dấu gạch chéo ngược n có nghĩa là giống điều như trước. 1167 00:54:39,160 --> 00:54:40,390 >> Vì vậy, làm thế nào để chạy chương trình này? 1168 00:54:40,390 --> 00:54:44,400 Cũng như trước đây, nếu tôi làm PHP, conditions1.php, và gõ 1169 00:54:44,400 --> 00:54:46,560 một số như 123. 1170 00:54:46,560 --> 00:54:47,720 Đó là một số dương. 1171 00:54:47,720 --> 00:54:49,510 Nếu tôi gõ 0, tôi chọn 0. 1172 00:54:49,510 --> 00:54:53,700 Và nếu tôi gõ vào 123 tiêu cực, tôi nhận được sao một số âm, mà chỉ là 1173 00:54:53,700 --> 00:54:59,050 nói, cú pháp, PHP là siêu, siêu tương tự. 1174 00:54:59,050 --> 00:55:03,250 >> Vì vậy, tại sao điều này bây giờ hữu ích trong một bối cảnh web? 1175 00:55:03,250 --> 00:55:06,710 Vâng, chúng ta hãy quay trở lại froshims này Ví dụ, nhìn, 1176 00:55:06,710 --> 00:55:08,600 một lần nữa, như thế này đây. 1177 00:55:08,600 --> 00:55:11,580 Và chúng ta hãy thực sự kéo lên trang web một lần nữa, mà trông như thế này. 1178 00:55:11,580 --> 00:55:14,930 Những gì chúng ta có thể làm với các dữ liệu đã được gửi? 1179 00:55:14,930 --> 00:55:18,770 >> Vâng, hãy để tôi mở ra một phiên bản mới hơn phiên bản này. 1180 00:55:18,770 --> 00:55:20,920 Và bạn sẽ thấy rằng vấn đề bộ kỹ thuật hướng dẫn cho bạn 1181 00:55:20,920 --> 00:55:22,850 thông qua một vài trong số này. 1182 00:55:22,850 --> 00:55:29,610 Thay vì bắt đầu với số không, chúng ta hãy nhìn vào froshims3, 1183 00:55:29,610 --> 00:55:31,410 mà không nhiều hơn một chút. 1184 00:55:31,410 --> 00:55:34,780 >> Chú ý đầu tiên, thực sự, chúng ta hãy mở những gì là 0, để bạn nhìn thấy 1185 00:55:34,780 --> 00:55:37,170 những gì đăng ký 0. 1186 00:55:37,170 --> 00:55:40,040 Thông báo những gì đăng ký 0 đã làm. 1187 00:55:40,040 --> 00:55:41,730 Một, tôi có ý kiến ​​ở đầu trang. 1188 00:55:41,730 --> 00:55:43,900 Xóa những người và chỉ tập trung vào điều này. 1189 00:55:43,900 --> 00:55:48,730 Hầu hết các nội dung của register0.php là, rõ ràng, ngôn ngữ gì? 1190 00:55:48,730 --> 00:55:49,980 Chỉ liệu PHP. 1191 00:55:49,980 --> 00:55:53,430 >> Vì vậy, thông báo, tập tin này không bắt đầu với, vào lúc này, mở khung, 1192 00:55:53,430 --> 00:55:54,970 dấu hỏi, PHP. 1193 00:55:54,970 --> 00:55:59,800 PHP không cho phép bạn pha lộn Mã với thẻ HTML PHP. 1194 00:55:59,800 --> 00:56:04,130 Nhưng tôi đã làm điều đó ở đây bên trong của trang trên đây. 1195 00:56:04,130 --> 00:56:08,180 >> Bây giờ, một lần nữa, bạn sẽ chỉ biết điều này từ đã nhìn hướng dẫn. print_r, 1196 00:56:08,180 --> 00:56:13,410 nó quay ra, là print_recursive. Đệ _quy Và đây chỉ là một tiện dụng 1197 00:56:13,410 --> 00:56:16,780 chức năng tiện ích mà chỉ cần in ra, đệ quy, bất cứ điều gì bạn đưa cho nó. 1198 00:56:16,780 --> 00:56:18,760 Nếu bạn đưa nó một mảng, nó sẽ in một mảng. 1199 00:56:18,760 --> 00:56:20,180 Nếu bạn trao cho nó một số, nó sẽ in một số. 1200 00:56:20,180 --> 00:56:21,570 Tay nó một chuỗi, nó sẽ in một chuỗi. 1201 00:56:21,570 --> 00:56:24,500 Nếu bạn đưa nó một bảng băm, nó sẽ in ra một bảng băm. 1202 00:56:24,500 --> 00:56:26,730 Bạn không phải viết tất cả của mã chính mình. 1203 00:56:26,730 --> 00:56:29,490 >> Bây giờ nhận thấy rằng tôi đang bước vào Chế độ PHP trên đây. 1204 00:56:29,490 --> 00:56:32,070 Tôi thoát khỏi chế độ PHP trên đây. 1205 00:56:32,070 --> 00:56:35,950 Vì vậy, khi các máy chủ web đọc file này trên xuống dưới, từ trái sang phải, bởi vì 1206 00:56:35,950 --> 00:56:40,750 nó kết thúc bằng một tên tập tin được gọi là. php, bất cứ điều gì không phải là bên trong các thẻ PHP là 1207 00:56:40,750 --> 00:56:42,820 chỉ có được nhổ ra, như mã HTML. 1208 00:56:42,820 --> 00:56:43,630 Không có việc lớn. 1209 00:56:43,630 --> 00:56:49,280 Nhưng ngay sau khi máy chủ web thông báo này, nó sẽ nói, tôi không nên 1210 00:56:49,280 --> 00:56:51,850 nhổ ra, theo nghĩa đen, print_r của bài. 1211 00:56:51,850 --> 00:56:54,910 Tôi nên thực hiện như sau dòng mã. 1212 00:56:54,910 --> 00:56:59,850 >> Vì vậy, câu hỏi cuối cùng, sau đó, của tập tin này được, tốt, những gì hôm nay là? 1213 00:56:59,850 --> 00:57:00,530 Hãy đoán. 1214 00:57:00,530 --> 00:57:04,230 $ _POST Là những gì, có lẽ? 1215 00:57:04,230 --> 00:57:07,070 >> ĐỐI TƯỢNG: [nghe được] 1216 00:57:07,070 --> 00:57:08,830 >> SPEAKER 1: Vâng, các dữ liệu được đăng. 1217 00:57:08,830 --> 00:57:11,350 Nhớ lại, chúng ta hãy di chuyển trở lại trong thời gian cho một thời điểm. 1218 00:57:11,350 --> 00:57:13,165 froshim0, một lần nữa, trông như thế này. 1219 00:57:13,165 --> 00:57:15,640 Đa số siêu này chỉ là HTML. 1220 00:57:15,640 --> 00:57:18,410 Một lần nữa, một số thẻ bạn có không thấy chưa, hay mà 1221 00:57:18,410 --> 00:57:19,360 bạn đã quen thuộc. 1222 00:57:19,360 --> 00:57:21,990 Nhưng điều thú vị là này. 1223 00:57:21,990 --> 00:57:27,270 Này một dòng là những gì thực sự liên kết nó vào tập tin register0.php của chúng tôi. 1224 00:57:27,270 --> 00:57:29,200 Tôi đang gửi thông qua phương pháp bài. 1225 00:57:29,200 --> 00:57:33,130 Và điều đó có nghĩa rằng các thông số sử dụng các loại trong không 1226 00:57:33,130 --> 00:57:35,150 sẽ kết thúc ở đâu. 1227 00:57:35,150 --> 00:57:36,175 >> Họ sẽ không hiển thị trong URL. 1228 00:57:36,175 --> 00:57:39,020 Họ vẫn sẽ được gửi từ khách hàng, từ trình duyệt, để các 1229 00:57:39,020 --> 00:57:42,080 máy chủ, nhưng chỉ thông qua một số khác cơ chế mà chúng tôi sẽ từ bỏ bàn tay của chúng tôi 1230 00:57:42,080 --> 00:57:44,330 tại ngày hôm nay, nhưng nó không có trong URL. 1231 00:57:44,330 --> 00:57:47,630 Nhưng nhận thấy mối quan hệ bây giờ với bài, trong đó, theo quy ước, là 1232 00:57:47,630 --> 00:57:49,160 chữ thường ở đây. 1233 00:57:49,160 --> 00:57:54,090 >> Nhưng nếu tôi mở ra register0.php, Tôi dường như in ấn này. 1234 00:57:54,090 --> 00:57:56,450 Vì vậy, đây là một loại kỳ lạ quy ước đặt tên. 1235 00:57:56,450 --> 00:58:01,430 Nhưng những gì là tốt đẹp trong PHP là khi sử dụng PHP trong một bối cảnh web, không phải ở một 1236 00:58:01,430 --> 00:58:04,480 dòng lệnh như tôi đã làm một thời điểm trước đây, khi bạn đang thực sự sử dụng nó trong một trang web 1237 00:58:04,480 --> 00:58:10,580 trang, trong một thư mục vhost như chúng ta, sẽ tự động điền vào PHP này 1238 00:58:10,580 --> 00:58:15,560 điều, đó là một mảng kết hợp, có thể nói, một bảng băm, với 1239 00:58:15,560 --> 00:58:17,290 tất cả những gì người dùng đánh máy in 1240 00:58:17,290 --> 00:58:22,000 >> Trong ngắn hạn, $ _POST trong tất cả các mũ là một biến toàn cầu PHP chỉ 1241 00:58:22,000 --> 00:58:25,050 kỳ diệu tạo ra cho bạn khi sử dụng PHP trong một bối cảnh web. 1242 00:58:25,050 --> 00:58:29,160 Và nó đặt bên trong của nó tất cả các tên của các thông số trong hình thức mà 1243 00:58:29,160 --> 00:58:33,200 đã được trình lên tập tin này và tất cả các các giá trị mà người dùng đánh máy in 1244 00:58:33,200 --> 00:58:37,790 Vì vậy, nó trao cho bạn những gì người sử dụng gõ vào hình thức đó. 1245 00:58:37,790 --> 00:58:42,210 >> Vì vậy, trước, chúng tôi đã đầu ra thực sự ngu ngốc chỉ nhìn thấy điều này bởi vì tất cả tôi đã làm 1246 00:58:42,210 --> 00:58:44,400 được đệ quy in mảng này. 1247 00:58:44,400 --> 00:58:46,060 Điều quan trọng là tên, giá trị là David. 1248 00:58:46,060 --> 00:58:46,980 Điều quan trọng là thuyền trưởng. 1249 00:58:46,980 --> 00:58:47,970 Giá trị là trên. 1250 00:58:47,970 --> 00:58:52,300 Và mũi tên đôi và góc khung có, đây chỉ là tùy ý. 1251 00:58:52,300 --> 00:58:53,270 Đây không phải là mã. 1252 00:58:53,270 --> 00:58:57,690 Đây chỉ là PHP cách hiển thị cho bạn những gì giá trị của một số quan trọng là. 1253 00:58:57,690 --> 00:59:03,000 >> Nhưng bây giờ tôi đề nghị trong froshIMs3, nó gần như giống hệt nhau 1254 00:59:03,000 --> 00:59:04,950 ngoại trừ nó nộp vào tập tin này. 1255 00:59:04,950 --> 00:59:08,570 Và một lần nữa, chúng ta sẽ loại chỉ liếc nhìn này, chỉ để xem một số 1256 00:59:08,570 --> 00:59:12,040 cú pháp, nhưng thông báo gì tập tin này không. 1257 00:59:12,040 --> 00:59:14,930 Hãy đoán chỉ dựa trên dòng mã, mà có thể làm như thế 1258 00:59:14,930 --> 00:59:17,410 Hy Lạp, một số phạm vi, dường như đang làm. 1259 00:59:17,410 --> 00:59:20,580 1260 00:59:20,580 --> 00:59:23,110 >> Tập tin này bằng cách nào đó có liên quan để mail, email. 1261 00:59:23,110 --> 00:59:24,770 Vì vậy, những gì chương trình này đang làm gì? 1262 00:59:24,770 --> 00:59:28,740 Trong phiên bản này, nếu tôi thực sự điền vào mẫu này - và cho tôi đi đến 1263 00:59:28,740 --> 00:59:30,760 froshIMs3, không froshIMs0 - 1264 00:59:30,760 --> 00:59:33,280 1265 00:59:33,280 --> 00:59:34,540 hình thức trông giống nhau. 1266 00:59:34,540 --> 00:59:37,980 David, đội trưởng, nam, ký túc xá, Matthews. 1267 00:59:37,980 --> 00:59:42,980 Nhưng nếu tôi trình này, tập tin này là sẽ đi đến register3.php. 1268 00:59:42,980 --> 00:59:46,330 >> Và tôi khẳng định, bằng cách nhìn vào nó mã nguồn, nó sẽ 1269 00:59:46,330 --> 00:59:47,650 bằng cách nào đó liên quan đến email. 1270 00:59:47,650 --> 00:59:49,620 Hãy để tôi đi trước và mở này lên trong một cửa sổ lớn hơn, vì vậy chúng tôi 1271 00:59:49,620 --> 00:59:51,030 có thể nhìn thấy nó sạch hơn. 1272 00:59:51,030 --> 00:59:57,220 Chúng tôi đang ở trong vhosts, máy chủ địa phương, công cộng, froshims. 1273 00:59:57,220 --> 00:59:58,680 Tôi sẽ mở ra một khác nhau chương trình, chỉ cần để chúng tôi 1274 00:59:58,680 --> 01:00:00,160 có thể xem thêm một lúc. 1275 01:00:00,160 --> 01:00:03,100 >> Vì vậy, bây giờ đây, nhận thấy một vài điều. 1276 01:00:03,100 --> 01:00:06,530 Ở phía trên của file được mở khung, dấu hỏi, PHP. 1277 01:00:06,530 --> 01:00:08,920 Sau đó có một loạt các ý kiến, mà chúng ta có thể bỏ qua, là 1278 01:00:08,920 --> 01:00:10,450 không thú vị cho bây giờ. 1279 01:00:10,450 --> 01:00:11,300 >> Bây giờ có này. 1280 01:00:11,300 --> 01:00:14,200 Nó quay ra PHP có rất nhiều mã được gọi là yêu cầu. 1281 01:00:14,200 --> 01:00:19,110 Nó rất giống với tinh thần C bao gồm, băm bao gồm, mà 1282 01:00:19,110 --> 01:00:21,980 chủ yếu lấy nội dung của một số tập tin khác và chỉ plops chúng ở đây, 1283 01:00:21,980 --> 01:00:22,930 để bạn có thể sử dụng chúng. 1284 01:00:22,930 --> 01:00:27,060 Trong trường hợp này, thiết bị có, cài đặt sẵn, một thư viện, miễn phí và 1285 01:00:27,060 --> 01:00:29,900 thư viện mã nguồn mở được gọi là PHP bưu phẩm mà bất cứ ai có thể 1286 01:00:29,900 --> 01:00:30,770 tải về từ Internet. 1287 01:00:30,770 --> 01:00:32,000 Chúng tôi chỉ cần làm điều đó cho bạn. 1288 01:00:32,000 --> 01:00:36,130 Và điều này có nghĩa là bây giờ tôi có email chức năng sắp xếp của tôi. 1289 01:00:36,130 --> 01:00:38,170 >> Bây giờ, nhận thấy một vài điều. 1290 01:00:38,170 --> 01:00:41,120 Tôi sẽ xác nhận hình thức trình của. 1291 01:00:41,120 --> 01:00:45,980 Hóa ra PHP, một, có dấu chấm than điểm cho không điều hành, giống như 1292 01:00:45,980 --> 01:00:49,810 C. Tuy nhiên, PHP cũng có một chức năng gọi là trống. 1293 01:00:49,810 --> 01:00:53,920 >> Trống rỗng chỉ trả về true nếu giá trị trong những điều bạn đem nó đến 1294 01:00:53,920 --> 01:00:57,190 ngoặc là trống rỗng, như các người sử dụng không nhập bất cứ điều gì in 1295 01:00:57,190 --> 01:01:02,680 Vì vậy, đây đang nói, và nhận thấy sự cú pháp, rất giống với C, nếu 1296 01:01:02,680 --> 01:01:07,730 chính tên, vì vậy các lĩnh vực tên trong biểu mẫu, mà đã được gửi qua đường bưu điện, bằng 1297 01:01:07,730 --> 01:01:13,010 người sử dụng, không có sản phẩm nào, và họ giới tính là không có sản phẩm nào trong các hình thức như 1298 01:01:13,010 --> 01:01:15,980 tốt, và ký túc xá của họ là không có sản phẩm nào - 1299 01:01:15,980 --> 01:01:19,980 nhưng nhận thấy tôi không quan tâm đến thuyền trưởng, sau đó được những gì chúng ta sẽ làm gì? 1300 01:01:19,980 --> 01:01:21,990 >> Tôi sẽ thực hiện dòng mã này. 1301 01:01:21,990 --> 01:01:24,100 Và bạn có thể nghĩ loại như malloc, nhưng đó là một chút 1302 01:01:24,100 --> 01:01:24,800 fancier hơn. 1303 01:01:24,800 --> 01:01:29,200 Nhưng bây giờ điều này mang lại cho tôi một đặc biệt struct của PHP loại bưu phẩm. 1304 01:01:29,200 --> 01:01:31,410 Nhưng bỏ qua các từ khóa mới cho ngày hôm nay. 1305 01:01:31,410 --> 01:01:35,670 >> Bây giờ tôi sẽ gọi một chức năng được gọi là IsSMTP, trong đó nói rằng, sử dụng SMTP. 1306 01:01:35,670 --> 01:01:39,380 Đây là cổng 25, giống như video tuần trước, khi điều đã được ném 1307 01:01:39,380 --> 01:01:40,710 email vào các bức tường lửa. 1308 01:01:40,710 --> 01:01:42,440 Cổng 25 là SMTP. 1309 01:01:42,440 --> 01:01:44,410 SMTP có nghĩa là sử dụng các máy chủ mail. 1310 01:01:44,410 --> 01:01:46,215 Cái nào, chúng ta có thể sử dụng Harvard SMTP.fas.harvard.edu. 1311 01:01:46,215 --> 01:01:48,850 1312 01:01:48,850 --> 01:01:51,590 >> Chúng tôi có thể thiết lập từ địa chỉ là John Harvard. 1313 01:01:51,590 --> 01:01:55,090 Nếu tôi di chuyển xuống thấp hơn nữa, tôi có thể thiết lập địa chỉ người nhận, chỉ 1314 01:01:55,090 --> 01:01:56,840 tùy tiện, là John Harvard là là tốt. 1315 01:01:56,840 --> 01:01:59,210 Vì vậy, anh ta sẽ được gửi email cho chính mình. 1316 01:01:59,210 --> 01:02:01,600 >> Bây giờ tôi có thể thiết lập các chủ đề được đăng ký. 1317 01:02:01,600 --> 01:02:03,700 Và tôi có thể thiết lập cơ thể của email như sau. 1318 01:02:03,700 --> 01:02:06,500 Dòng này có vẻ hơi khó hiểu hơn, nhưng đó chỉ là vì có rất nhiều 1319 01:02:06,500 --> 01:02:07,450 thông tin trong đó. 1320 01:02:07,450 --> 01:02:10,670 Một, có một dấu chấm. 1321 01:02:10,670 --> 01:02:14,510 Một người nào đó phải biết những gì đã dấu chấm không. 1322 01:02:14,510 --> 01:02:15,436 Nó nối. 1323 01:02:15,436 --> 01:02:19,240 Vì vậy, nếu bạn muốn thực hiện một chuỗi trong PHP, và thêm nó, hoặc thêm vào trước nó, để 1324 01:02:19,240 --> 01:02:23,500 một chuỗi trong PHP, cảm ơn Thiên Chúa bạn không cần phải sử dụng strcopy và malloc, 1325 01:02:23,500 --> 01:02:25,490 và tất cả điều đó nữa. 1326 01:02:25,490 --> 01:02:28,765 >> Nếu bạn muốn nối hai chuỗi, những người quan tâm về bộ nhớ. 1327 01:02:28,765 --> 01:02:30,850 Hãy để con số PHP ra cho bạn. 1328 01:02:30,850 --> 01:02:35,200 Những gì PHP sẽ làm gì với các nhà điều hành chấm đây là làm một câu lớn ra 1329 01:02:35,200 --> 01:02:37,900 của dòng này, dòng này, dòng này, dòng này. 1330 01:02:37,900 --> 01:02:40,460 Và bây giờ thông báo, nó sẽ được cắm vào giá trị. 1331 01:02:40,460 --> 01:02:43,680 Vì vậy, các email mà John Harvard sẽ để nhận được nghĩa đen sẽ nói 1332 01:02:43,680 --> 01:02:49,450 tên, đại tràng, một cái gì đó, chứ không phải, sau đó chúng tôi đóng chuỗi và nối trên 1333 01:02:49,450 --> 01:02:52,220 bất cứ điều gì người dùng gõ trong, sau đó một dòng mới. 1334 01:02:52,220 --> 01:02:54,570 >> Sau đó, trên dòng tiếp theo của John Harvard email, nó sẽ nói 1335 01:02:54,570 --> 01:02:55,910 Đội trưởng, trên hay không gì cả. 1336 01:02:55,910 --> 01:02:57,810 Nó sẽ nói giới tính, nam hay nữ. 1337 01:02:57,810 --> 01:02:59,680 Ký túc xá là có được Matthews trong trường hợp của tôi. 1338 01:02:59,680 --> 01:03:03,400 Và sau đó nhận thấy dấu chấm phẩy quen thuộc ở cuối. 1339 01:03:03,400 --> 01:03:07,830 Và sau đó, xuống đây, thông báo, phần nào bí ẩn vẫn còn, nhưng một lần nữa, sau một 1340 01:03:07,830 --> 01:03:12,730 mô hình sẽ trở nên quen thuộc sau khi thiết lập P 7, nếu gửi qua đường bưu điện 1341 01:03:12,730 --> 01:03:16,610 trả về false, sau đó đi trước và chết. 1342 01:03:16,610 --> 01:03:19,610 >> Vì vậy, PHP có một chức năng gọi là chết, trong đó, nghĩa là, chỉ cần giết chết 1343 01:03:19,610 --> 01:03:22,830 trang web và chỉ in ra bất cứ điều gì bạn nói với nó - nó đang hấp hối 1344 01:03:22,830 --> 01:03:24,280 từ, vậy để nói chuyện. 1345 01:03:24,280 --> 01:03:28,310 Và rằng, trong trường hợp, nó sẽ in ra những thông tin lỗi là cho 1346 01:03:28,310 --> 01:03:29,860 bất cứ điều gì đã xảy ra để đi sai. 1347 01:03:29,860 --> 01:03:34,490 Vì vậy, câu chuyện dài ngắn ở đây, những gì chúng tôi có là một ví dụ khi người dùng 1348 01:03:34,490 --> 01:03:39,150 nộp mẫu đơn, froshim0, froshims3.php, nó đi vào 1349 01:03:39,150 --> 01:03:40,760 register3.php. 1350 01:03:40,760 --> 01:03:45,290 Nhưng register3.php sau đó tiến hành thực hiện tất cả những dòng này. 1351 01:03:45,290 --> 01:03:46,620 >> Do đó, có một số trẻ bỏ mất ở đây. 1352 01:03:46,620 --> 01:03:50,380 Một, nó dường như khá dễ dàng, lập trình, gửi email, 1353 01:03:50,380 --> 01:03:50,830 đó là tốt. 1354 01:03:50,830 --> 01:03:53,500 Khi người sử dụng đăng ký cho trang web của bạn, trong trường hợp này, khi đăng ký của bạn 1355 01:03:53,500 --> 01:03:56,220 thể dục thể thao, bạn có thể gửi email cho các sinh viên năm nhất Proctor, hay John 1356 01:03:56,220 --> 01:03:57,650 Đại học Harvard, trong trường hợp này. 1357 01:03:57,650 --> 01:04:01,630 >> Nhưng nó cũng có nghĩa là bạn có thể làm những gì? 1358 01:04:01,630 --> 01:04:03,970 Gửi email từ bất cứ ai bất cứ ai. 1359 01:04:03,970 --> 01:04:05,430 Và điều này là rất đúng. 1360 01:04:05,430 --> 01:04:08,580 Đây không phải là dễ dàng thực hiện nếu bạn đang sử dụng để sử dụng Gmail. 1361 01:04:08,580 --> 01:04:11,310 Nhưng nếu bạn đã từng sử dụng Eudora hoặc Outlook, bạn có khá nhiều có thể kể một 1362 01:04:11,310 --> 01:04:13,720 máy chủ mail mà bạn bất cứ ai bạn muốn. 1363 01:04:13,720 --> 01:04:16,450 Và đây là nơi mà tôi cần phải đặt trên cái mũ và nói, không làm điều này. 1364 01:04:16,450 --> 01:04:21,140 Nhưng điều này là minh chứng cho chỉ cách dễ dàng nó là để thực hiện các cuộc tấn công lừa đảo, và 1365 01:04:21,140 --> 01:04:24,310 gửi email nặc danh, và thư rác, nói chung. 1366 01:04:24,310 --> 01:04:27,330 Và nó thực sự nắm vào thực tế là tất cả các bạn cần là một số 1367 01:04:27,330 --> 01:04:28,500 truy cập chương trình. 1368 01:04:28,500 --> 01:04:31,940 >> Như một sang một bên, cuộc gặp gỡ gần nhất của tôi với hội đồng quản trị quảng cáo, năm sinh viên năm nhất của riêng tôi, 1369 01:04:31,940 --> 01:04:34,320 là khi tôi phát hiện ra mát này lừa rằng, wow, bạn có thể 1370 01:04:34,320 --> 01:04:36,850 gửi email từ bất cứ ai. 1371 01:04:36,850 --> 01:04:39,770 Và vì vậy chúng tôi đã có một số ngu ngốc đối số, nghĩa là, trong Matthews, 1372 01:04:39,770 --> 01:04:40,790 trong nhóm Proctor của tôi. 1373 01:04:40,790 --> 01:04:42,470 Tôi thậm chí không nhớ những gì vấn đề là. 1374 01:04:42,470 --> 01:04:44,970 Nhưng tôi đang cố gắng chấm kết thúc cuộc tranh luận ngu ngốc này. 1375 01:04:44,970 --> 01:04:48,580 >> Vì vậy, tôi quyết định tôi sẽ chỉ gửi một email vào nhóm Proctor của tôi, giả vờ là 1376 01:04:48,580 --> 01:04:52,000 người đàn ông khác, có ý kiến ​​với tôi không đồng ý, và anh ta đã chấp nhận sự để 1377 01:04:52,000 --> 01:04:54,680 bất cứ điều gì quan điểm của tôi là trong cuộc tranh luận đặc biệt này. 1378 01:04:54,680 --> 01:04:59,320 Và vì vậy tôi giả mạo thư điện tử này sử dụng một kỹ thuật tương tự trong tinh thần này. 1379 01:04:59,320 --> 01:05:01,256 Nhưng nó đã thực sự dễ dàng hơn vào thời điểm đó. 1380 01:05:01,256 --> 01:05:02,435 Nhấn gửi. 1381 01:05:02,435 --> 01:05:06,660 Ông không hài lòng, và cũng không có đã được hội đồng quản trị quảng cáo. 1382 01:05:06,660 --> 01:05:10,280 >> Và tôi đã rất nhanh chóng bị bắt trong giây bởi vì, như bạn đã biết, tôi ký 1383 01:05:10,280 --> 01:05:11,420 email của tôi trong một cách nào đó. 1384 01:05:11,420 --> 01:05:14,200 Và mặc dù tôi làm điều đó bằng tay, trong lớn phần, 15 năm sau đó bởi vì tôi 1385 01:05:14,200 --> 01:05:15,080 bị tổn thương bằng cách đó. 1386 01:05:15,080 --> 01:05:16,960 Tôi không có một chữ ký trên email của tôi bây giờ. 1387 01:05:16,960 --> 01:05:20,440 Nhưng vào năm 1995, tôi chỉ có một sig, chữ ký trong email của tôi. 1388 01:05:20,440 --> 01:05:24,630 Vì vậy, có ghi chú này nói rằng, thân mến Nhóm giám thị, tôi chấp nhận sự ý kiến ​​của tôi 1389 01:05:24,630 --> 01:05:31,240 và đồng ý với David, đã ký như vậy và như vậy, dòng mới, đường mới, DJM. 1390 01:05:31,240 --> 01:05:36,220 >> Vì vậy, không làm điều đó hay, nói chung, có Ưu điểm của kỹ thuật này. 1391 01:05:36,220 --> 01:05:39,950 Nhưng khi thực hiện một trang web, như cho dự án cuối cùng của bạn, khi thực hiện một 1392 01:05:39,950 --> 01:05:43,460 trang web cho một cái gì đó kinh doanh, đây là như thế nào, thực dụng, bạn có thể 1393 01:05:43,460 --> 01:05:47,000 tận dụng các dịch vụ khác trên internet như mail và sau đó thực sự 1394 01:05:47,000 --> 01:05:49,440 gửi những thứ sử dụng mã. 1395 01:05:49,440 --> 01:05:51,240 >> Vậy làm thế nào chúng ta có thể cải tiến này? 1396 01:05:51,240 --> 01:05:54,370 Vâng, đầu tiên chúng ta hãy một tour du lịch nhanh chóng một số trong những điều mà bạn sẽ thấy, 1397 01:05:54,370 --> 01:05:56,170 và sau đó hãy xem một vài ví dụ. 1398 01:05:56,170 --> 01:05:59,500 Vì vậy, một, để trấn an, bởi vì chúng tôi đang bay qua PHP. 1399 01:05:59,500 --> 01:06:02,470 Và tôi biết, tại một số điểm, bạn sẽ có để thực sự bắt đầu viết này nếu bạn 1400 01:06:02,470 --> 01:06:03,460 chưa có. 1401 01:06:03,460 --> 01:06:06,220 Nhận ra rằng, một, chính là loại trong ra ngoài cửa sổ với PHP. 1402 01:06:06,220 --> 01:06:09,420 Nếu bạn muốn viết code mà được thực hiện, bạn chỉ cần bắt đầu viết nó trong 1403 01:06:09,420 --> 01:06:13,970 một tập tin gọi là. php miễn là bạn có khung mở 1404 01:06:13,970 --> 01:06:15,620 dấu hỏi PHP tag. 1405 01:06:15,620 --> 01:06:19,730 >> Nhưng nhận thấy đây là những điều kiện trong php. 1406 01:06:19,730 --> 01:06:22,610 Chú ý, đây là cùng trượt chính xác chúng tôi đã có trong tuần đầu tiên khi chúng tôi đã có 1407 01:06:22,610 --> 01:06:25,670 điều kiện trong C. Điều kiện trong PHP có cấu trúc và 1408 01:06:25,670 --> 01:06:27,140 cú pháp giống nhau. 1409 01:06:27,140 --> 01:06:30,290 Khác biệt duy nhất là nếu bạn đã có biến có liên quan, bạn có những 1410 01:06:30,290 --> 01:06:31,600 ký hiệu đô la. 1411 01:06:31,600 --> 01:06:33,970 >> Trong khi đó, biểu thức Boolean trông giống như thế này cho 1412 01:06:33,970 --> 01:06:35,725 hoặc-ing hay và-ing với nhau. 1413 01:06:35,725 --> 01:06:37,780 Chuyển mạch trông giống hệt nhau. 1414 01:06:37,780 --> 01:06:42,180 Những gì tốt đẹp trong PHP, trong khi đó trong C, chuyển mạch phải trường hợp trên 1415 01:06:42,180 --> 01:06:46,380 nguyên thủy như số nguyên hoặc ký tự, trong PHP báo cáo trường hợp của bạn thực sự có thể được 1416 01:06:46,380 --> 01:06:48,430 trên toàn bộ một chuỗi, đó là loại thực sự tốt đẹp. 1417 01:06:48,430 --> 01:06:49,480 Giúp bạn tiết kiệm thời gian. 1418 01:06:49,480 --> 01:06:50,820 Không thể làm điều đó trong C. 1419 01:06:50,820 --> 01:06:52,880 >> Đây là một vòng lặp cho trong PHP. 1420 01:06:52,880 --> 01:06:53,740 Nó giống hệt nhau. 1421 01:06:53,740 --> 01:06:55,400 Có thể có một số dấu hiệu đô la cho các biến. 1422 01:06:55,400 --> 01:06:57,530 Bạn không có đề cập đến một cái gì đó là một int. 1423 01:06:57,530 --> 01:07:00,580 Bạn chỉ cần khai báo nó bằng một ký hiệu đô la và tên của biến. 1424 01:07:00,580 --> 01:07:01,430 Nhưng một vòng lặp for là như nhau. 1425 01:07:01,430 --> 01:07:02,760 Một vòng lặp trong khi là như nhau. 1426 01:07:02,760 --> 01:07:04,870 Một làm trong khi vòng lặp là như nhau. 1427 01:07:04,870 --> 01:07:06,170 >> Đây là một chút khác nhau. 1428 01:07:06,170 --> 01:07:12,410 Vì vậy, với PHP, với một mảng, bạn có thể tĩnh khai báo một mảng, như trong C, 1429 01:07:12,410 --> 01:07:14,420 nhưng bạn sử dụng dấu ngoặc vuông. 1430 01:07:14,420 --> 01:07:17,060 Trong C, bạn sẽ sử dụng dấu ngoặc nhọn, nếu bạn thậm chí biết điều đó. 1431 01:07:17,060 --> 01:07:20,910 Nhưng điều này thực sự rất phổ biến trong PHP để khai báo một mảng, trong trường hợp này, 1432 01:07:20,910 --> 01:07:23,640 các con số, và gọi số biến. 1433 01:07:23,640 --> 01:07:25,300 >> Biến mình trông như thế này. 1434 01:07:25,300 --> 01:07:28,710 Đây là một chuỗi, trích dẫn unquote "hello thế giới. "Bạn có thể có một dấu gạch chéo ngược n. 1435 01:07:28,710 --> 01:07:30,950 Tôi chỉ đơn giản là không trong trường hợp này. 1436 01:07:30,950 --> 01:07:32,640 >> Bây giờ đây là một cấu trúc thú vị. 1437 01:07:32,640 --> 01:07:33,700 C không có điều này. 1438 01:07:33,700 --> 01:07:34,700 Nhưng điều này là siêu hữu ích. 1439 01:07:34,700 --> 01:07:38,160 Và bạn sẽ thấy điều này trong P bộ 7 spec - một cho mỗi xây dựng. 1440 01:07:38,160 --> 01:07:41,800 Nếu bạn muốn nhắc lại trên tất cả các các yếu tố một mảng, bạn không có 1441 01:07:41,800 --> 01:07:45,500 để đối phó với $ i $ n, và + +, và tất cả những gì. 1442 01:07:45,500 --> 01:07:47,640 Bạn có nghĩa là có thể nói, trong PHP, điều này - 1443 01:07:47,640 --> 01:07:51,890 cho mỗi con số như số lượng, vì vậy Tôi giả định rằng $ số 1444 01:07:51,890 --> 01:07:53,380 là một dãy số. 1445 01:07:53,380 --> 01:07:56,460 Và khi tôi nói cho mỗi số như số lượng, điều này sẽ 1446 01:07:56,460 --> 01:08:00,505 tự động, như vòng lặp của tôi thực hiện, cập nhật, trên mỗi lần lặp, giá trị 1447 01:08:00,505 --> 01:08:03,260 trong số ký hiệu đô la - 1448 01:08:03,260 --> 01:08:07,730 một lần nữa, và một lần nữa, và một lần nữa đi cho tôi trên mảng đó. 1449 01:08:07,730 --> 01:08:08,735 Vì vậy, nó chỉ tiết kiệm cho chúng tôi mã. 1450 01:08:08,735 --> 01:08:12,250 Không có dấu chấm phẩy, không + + 's, không có tôi là, không của n, nó chỉ tốt đẹp. 1451 01:08:12,250 --> 01:08:13,700 >> Tuy nhiên, PHP cũng có này. 1452 01:08:13,700 --> 01:08:14,830 Và điều này là siêu mạnh mẽ. 1453 01:08:14,830 --> 01:08:17,410 Và bạn sẽ sử dụng điều này, tay trên, trong P thiết lập 7. 1454 01:08:17,410 --> 01:08:21,990 Và mảng kết hợp cũng được khai báo với dấu ngoặc vuông. 1455 01:08:21,990 --> 01:08:23,569 Nhưng hãy chú ý cú pháp bây giờ. 1456 01:08:23,569 --> 01:08:26,880 Nó gợi nhớ đến những gì chúng ta đã thấy với print_r một thời điểm trước đây. 1457 01:08:26,880 --> 01:08:31,810 Bao nhiêu phím, như kiểm tra sự tỉnh táo chút, không mảng này dường như có. 1458 01:08:31,810 --> 01:08:32,689 >> Vì vậy, nó có hai. 1459 01:08:32,689 --> 01:08:33,830 Và tôi gọi đây là một mảng. 1460 01:08:33,830 --> 01:08:36,760 Nhưng nếu nó giúp, bạn có thể nghĩ của bảng như băm này, hoặc như 1461 01:08:36,760 --> 01:08:37,930 một mảng kết hợp. 1462 01:08:37,930 --> 01:08:39,580 Nhưng nó chỉ là một khác nhau loại mảng. 1463 01:08:39,580 --> 01:08:41,080 Và một lần nữa, ngôn ngữ khác nhau có những. 1464 01:08:41,080 --> 01:08:43,810 Chúng ta sẽ thấy một cái gì đó tương tự trong JavaScript là tốt. 1465 01:08:43,810 --> 01:08:44,609 Có hai phím. 1466 01:08:44,609 --> 01:08:48,390 Là một trong những trích dẫn unquote, "biểu tượng", một là trích dẫn unquote "giá." Và những phím 1467 01:08:48,390 --> 01:08:49,250 mỗi người đều có một giá trị. 1468 01:08:49,250 --> 01:08:54,420 Trong trường hợp này giá trị biểu tượng là FB, cho Giá trị Facebook, và giá là 49, 26, 1469 01:08:54,420 --> 01:08:56,899 đó là cổ phiếu của Facebook Giá như sáng nay. 1470 01:08:56,899 --> 01:09:00,170 >> Vì vậy, những gì là hữu ích về một mảng kết hợp. 1471 01:09:00,170 --> 01:09:02,620 Tôi có thể có một số lượng mảng lập chỉ mục chỉ với 1472 01:09:02,620 --> 01:09:04,120 dấu ngoặc vuông đơn giản. 1473 01:09:04,120 --> 01:09:09,380 Và tôi có thể đã có ký hiệu đô la trích dẫn chỉ tương đương với điều này. 1474 01:09:09,380 --> 01:09:10,529 Hãy để tôi thực sự làm điều đó. 1475 01:09:10,529 --> 01:09:14,796 Giả sử tôi thay vì chỉ tuyên bố mảng này như thế. 1476 01:09:14,796 --> 01:09:17,590 Đó là hoàn toàn hợp lệ, cú pháp. 1477 01:09:17,590 --> 01:09:20,569 Nó không mất bất kỳ thông tin, cho mỗi gia nhập. 1478 01:09:20,569 --> 01:09:24,760 Tôi vẫn thấy biểu tượng là fb, và rằng giá cả là 49, 26. 1479 01:09:24,760 --> 01:09:28,939 Vì vậy, tại sao kết hợp mảng hấp dẫn? 1480 01:09:28,939 --> 01:09:30,189 >> ĐỐI TƯỢNG: Bạn không cần phải nhớ nơi bạn đặt các công cụ. 1481 01:09:30,189 --> 01:09:32,050 1482 01:09:32,050 --> 01:09:34,130 >> SPEAKER 1: Chính xác, bạn không có phải nhớ nơi bạn đặt công cụ. 1483 01:09:34,130 --> 01:09:37,670 Bạn không cần phải tự ý nhớ mà mã chứng khoán là trong khung không, 1484 01:09:37,670 --> 01:09:41,479 và giá cổ phiếu là trong khung một, trong đó đặc biệt nguy hiểm nếu bạn 1485 01:09:41,479 --> 01:09:43,220 thay đổi mọi thứ, cuối cùng. 1486 01:09:43,220 --> 01:09:46,399 Nó đẹp hơn nhiều để liên kết những gì chúng tôi sẽ gọi cho siêu dữ liệu 1487 01:09:46,399 --> 01:09:48,340 với các dữ liệu thực tế của bạn. 1488 01:09:48,340 --> 01:09:52,399 Tôi muốn lập luận rằng những gì chúng ta thực sự quan tâm về đây là fb và 49, 26. 1489 01:09:52,399 --> 01:09:57,020 Biểu tượng và giá cả là siêu dữ liệu mô tả các dữ liệu chúng tôi 1490 01:09:57,020 --> 01:09:58,180 thực sự quan tâm. 1491 01:09:58,180 --> 01:10:01,910 Nhưng đây chỉ là quá nhiều dễ dàng hơn để truy cập. 1492 01:10:01,910 --> 01:10:04,090 >> Bây giờ, khi một sang một bên những gì cái giá phải trả? 1493 01:10:04,090 --> 01:10:06,600 Chúng tôi đã làm điều này CS50 trong nhiều tuần. 1494 01:10:06,600 --> 01:10:10,740 Tính năng này phải đến tại một số chi phí. 1495 01:10:10,740 --> 01:10:11,350 Bộ nhớ. 1496 01:10:11,350 --> 01:10:13,830 Vì vậy, bạn không chỉ lưu trữ một 32-bit số nguyên, ví dụ. 1497 01:10:13,830 --> 01:10:17,980 Bạn đang lưu trữ biểu tượng / 0, có lẽ. 1498 01:10:17,980 --> 01:10:19,160 Vì vậy, bạn đang sử dụng nhiều bộ nhớ hơn. 1499 01:10:19,160 --> 01:10:22,540 >> Và việc thực hiện những gì tìm kiếm một cái gì đó trong một 1500 01:10:22,540 --> 01:10:24,822 mảng kết hợp, có thể? 1501 01:10:24,822 --> 01:10:26,590 Đây có thể là chậm hơn. 1502 01:10:26,590 --> 01:10:29,670 Truy cập ngẫu nhiên là tốt đẹp, đặc biệt là khi bạn có thể thực hiện tìm kiếm nhị phân. 1503 01:10:29,670 --> 01:10:33,380 Nhưng nếu bạn đang thực sự hiện đang tìm kiếm không cho số, nhưng cho chuỗi, điều này 1504 01:10:33,380 --> 01:10:37,630 thực sự được thực hiện bên dưới mui xe, có lẽ là một bảng băm, nơi 1505 01:10:37,630 --> 01:10:42,950 bạn sử dụng hoặc một bảng băm với chuỗi riêng biệt. 1506 01:10:42,950 --> 01:10:46,040 Hoặc bạn sử dụng một thử để thực sự lưu trữ các giá trị. 1507 01:10:46,040 --> 01:10:50,550 Vì vậy, có thể bạn có thể làm thời gian liên tục, nhưng bạn vẫn phải nhìn vào S-Y-M-B-O-L, 1508 01:10:50,550 --> 01:10:54,510 có khả năng, thay vì chỉ 32 bit để tìm một cái gì đó. 1509 01:10:54,510 --> 01:10:58,430 Vì vậy, một lần nữa, những ý tưởng tương tự đến lại tái diễn trong bối cảnh này. 1510 01:10:58,430 --> 01:11:02,120 >> Nhưng một lần nữa, PHP bây giờ có một số siêu toàn cục đó, nó quay ra, là 1511 01:11:02,120 --> 01:11:02,900 mảng kết hợp. 1512 01:11:02,900 --> 01:11:05,590 Chúng ta đã thấy một một thời điểm trước đây, $ _POST. 1513 01:11:05,590 --> 01:11:08,400 Và siêu toàn cầu có khóa và giá trị. 1514 01:11:08,400 --> 01:11:10,550 Cụ thể, các phím xếp hàng với những gì? 1515 01:11:10,550 --> 01:11:14,520 Nơi nào các phím trong $ _POST đến từ đâu? 1516 01:11:14,520 --> 01:11:15,380 , Tóm lại là? 1517 01:11:15,380 --> 01:11:16,480 >> ĐỐI TƯỢNG: Tên. 1518 01:11:16,480 --> 01:11:17,900 >> SPEAKER 1: Tên, ở đâu? 1519 01:11:17,900 --> 01:11:19,860 >> ĐỐI TƯỢNG: [nghe được] 1520 01:11:19,860 --> 01:11:20,750 >> SPEAKER 1: Tên là thuộc tính. 1521 01:11:20,750 --> 01:11:23,480 Cũng ở đâu, nơi đã làm họ ban đầu đến từ đâu? 1522 01:11:23,480 --> 01:11:24,120 Hình thức. 1523 01:11:24,120 --> 01:11:30,140 Vì vậy, nếu một trang HTML có một thẻ form, trong số đó là một số yếu tố đầu vào, như 1524 01:11:30,140 --> 01:11:34,760 kiểm tra hộp, hộp văn bản, thả xuống thực đơn, mỗi trong số đó có một cái tên, những 1525 01:11:34,760 --> 01:11:40,260 tên kết thúc như là chìa khóa trong $ _POST, và, thẳng thắn, cho rằng vấn đề, $ _GET. 1526 01:11:40,260 --> 01:11:42,130 Nếu phương pháp này là get, cùng một ý tưởng. 1527 01:11:42,130 --> 01:11:43,830 Nó chỉ là trong một siêu toàn cầu khác nhau. 1528 01:11:43,830 --> 01:11:47,620 Và các giá trị, tất nhiên, đến từ bất cứ điều gì người dùng gõ vào hoặc người 1529 01:11:47,620 --> 01:11:48,890 trình duyệt của mình. 1530 01:11:48,890 --> 01:11:49,830 >> Nhưng có một vài người khác. 1531 01:11:49,830 --> 01:11:52,140 Có cookie, mà chúng tôi sẽ trở lại để cuối cùng. 1532 01:11:52,140 --> 01:11:56,050 Nhưng đó là những điều mà bạn biết các trang web sử dụng cho một số tốt hay xấu. 1533 01:11:56,050 --> 01:11:57,420 Nhưng chúng tôi sẽ quay trở lại đó. 1534 01:11:57,420 --> 01:12:01,720 Máy chủ và thời gian tự, và hai có một số tiện ích đặc biệt. 1535 01:12:01,720 --> 01:12:03,940 >> Nhưng chúng ta hãy nhìn vào điều này. 1536 01:12:03,940 --> 01:12:13,330 Hãy để tôi đi trước và mở ra một ví dụ Vì vậy, gọi là mvc0.php MVC 1537 01:12:13,330 --> 01:12:14,900 viết tắt như sau. 1538 01:12:14,900 --> 01:12:19,390 Và chúng tôi giới thiệu này sớm hơn là điển hình, thực sự, để giúp bạn thiết kế 1539 01:12:19,390 --> 01:12:22,180 Vấn đề bộ 7, và cũng dự án cuối cùng, trong loại của một ngành công nghiệp 1540 01:12:22,180 --> 01:12:23,670 cách tiêu chuẩn, và cách sạch sẽ. 1541 01:12:23,670 --> 01:12:24,820 Đó là thiết kế tốt. 1542 01:12:24,820 --> 01:12:29,090 >> Vì vậy, bạn đang về để xem, và bạn sẽ kinh nghiệm, trong bộ P 7, mô hình, sắp xếp 1543 01:12:29,090 --> 01:12:32,260 của một tư duy lập trình, trông một chút gì đó như thế này. 1544 01:12:32,260 --> 01:12:35,570 M cho Model, C cho điều khiển, V là View. 1545 01:12:35,570 --> 01:12:39,690 Long câu chuyện ngắn, MVC là chỉ loại một phương pháp, một cách làm 1546 01:12:39,690 --> 01:12:43,360 các trang web, cụ thể, nhờ đó mà bạn đặt tất cả các, cụm từ ngu ngốc của bạn - 1547 01:12:43,360 --> 01:12:44,970 logic kinh doanh - 1548 01:12:44,970 --> 01:12:49,710 tất cả các tài sản trí tuệ của bạn trong những gì được gọi là một bộ điều khiển, một tập tin 1549 01:12:49,710 --> 01:12:54,840 như index.php, hoặc chúng ta sẽ thấy, quote.php, hoặc buy.php. 1550 01:12:54,840 --> 01:12:59,570 >> Trong bối cảnh của vấn đề bộ 7, của bạn mô hình thường chứa dữ liệu của bạn, 1551 01:12:59,570 --> 01:13:03,860 bất cứ điều gì liên quan đến một cơ sở dữ liệu, như chúng tôi sẽ cuối cùng nhìn thấy, và quan điểm của bạn 1552 01:13:03,860 --> 01:13:07,510 có tính thẩm mỹ của bạn trang web, HTML, CSS. 1553 01:13:07,510 --> 01:13:10,420 Vì vậy, chúng tôi đã thấy điều này trong C một chút bit bằng cách sử dụng các tập tin h.. 1554 01:13:10,420 --> 01:13:15,010 Chúng tôi thực sự nhìn thấy nó một thời điểm trước với CSS, bằng cách xem các cách điệu CSS 1555 01:13:15,010 --> 01:13:16,520 các công cụ của HTML. 1556 01:13:16,520 --> 01:13:20,730 >> Vì vậy MVC thực sự chỉ là về bản vẽ đường trên cát và nói rằng, các 1557 01:13:20,730 --> 01:13:25,400 lập trình mã thú vị cho bạn trang web thuộc về những gì chúng tôi sẽ gọi 1558 01:13:25,400 --> 01:13:26,400 điều khiển. 1559 01:13:26,400 --> 01:13:29,280 Công cụ liên quan đến cơ sở dữ liệu thường kết thúc trong một mô hình. 1560 01:13:29,280 --> 01:13:33,070 Nhưng bạn sẽ thấy, trong vấn đề thiết lập 7, chúng tôi kết hợp C và M để giữ cho nó đơn giản. 1561 01:13:33,070 --> 01:13:37,630 Nhưng xem là nơi mà tất cả các HTML của bạn và thẩm mỹ thường đi. 1562 01:13:37,630 --> 01:13:39,160 >> Vì vậy, điều này có nghĩa là trong điều kiện thực tế? 1563 01:13:39,160 --> 01:13:45,980 Vâng, hãy để tôi đi vào MVC của chúng tôi thư mục như sau. 1564 01:13:45,980 --> 01:13:48,880 Và bạn sẽ thấy nhiều hơn những lưu diễn qua trong spec. 1565 01:13:48,880 --> 01:13:53,200 Vì vậy, trong mvc0, tôi cho rằng điều này là, như, 0 phiên bản của trang web của CS50. 1566 01:13:53,200 --> 01:13:56,670 >> Tất cả chúng ta có một số HTML, như một thẻ h1 lớn, rõ ràng. 1567 01:13:56,670 --> 01:13:57,800 Và sau đó là một danh sách liệt kê. 1568 01:13:57,800 --> 01:13:59,860 Tôi chưa bao giờ nhìn thấy một danh sách liệt kê trước đây, nhưng không có việc lớn. 1569 01:13:59,860 --> 01:14:01,590 Hãy nhanh chóng nhìn vào mã nguồn. 1570 01:14:01,590 --> 01:14:06,610 Hóa ra một danh sách không có thứ tự với đạn mở cửa khung ul với một hoặc 1571 01:14:06,610 --> 01:14:09,065 danh sách các mặt hàng hơn, li. 1572 01:14:09,065 --> 01:14:10,650 Vì vậy, thông báo đây là một thẻ neo. 1573 01:14:10,650 --> 01:14:12,130 Chúng tôi thấy rằng một thời điểm trước. 1574 01:14:12,130 --> 01:14:13,810 >> Vì vậy, đây là cách tôi thực hiện trang này. 1575 01:14:13,810 --> 01:14:18,460 Tôi đã có hai liên kết, hai danh sách các mục, một ul cho danh sách không có thứ tự, và cuối cùng 1576 01:14:18,460 --> 01:14:22,700 Kết quả, về mặt thẩm mỹ, điều này rất trang web đẹp, phiên bản 0 đây. 1577 01:14:22,700 --> 01:14:26,840 Nhưng điều thú vị là làm thế nào điều này được thực hiện bên dưới mui xe. 1578 01:14:26,840 --> 01:14:33,590 >> Hãy để tôi đi vào gedit và mở ra này Ví dụ đầu tiên để vẽ một bức tranh. 1579 01:14:33,590 --> 01:14:37,070 Và chúng tôi sẽ nhìn vào những gì thiếu sót, có khả năng, trong đây. 1580 01:14:37,070 --> 01:14:43,260 Bây giờ nếu tôi đi vào localhost, công cộng, MVC, nhận thấy một vài tập tin. 1581 01:14:43,260 --> 01:14:45,780 Tôi sẽ gọi này, cho thời điểm, tất cả các bộ điều khiển. 1582 01:14:45,780 --> 01:14:48,640 Nhưng đó là một chút của một sự lạm dụng vì bạn sẽ thấy tất cả mọi thứ đã trộn lẫn 1583 01:14:48,640 --> 01:14:49,620 bên trong của họ. 1584 01:14:49,620 --> 01:14:52,330 >> Và để cho tôi đi bên trong index.php. 1585 01:14:52,330 --> 01:14:54,700 Và chúng ta thấy, theo nghĩa đen, giống HTML. 1586 01:14:54,700 --> 01:14:57,970 Vì vậy, mặc dù tập tin này kết thúc trong . Php, Nó không có nghĩa là nó phải 1587 01:14:57,970 --> 01:14:59,500 có bất kỳ mã PHP. 1588 01:14:59,500 --> 01:15:02,290 Nó chỉ có thể được HTML liệu, mặc dù đó là loại ngớ ngẩn. 1589 01:15:02,290 --> 01:15:07,650 Nhưng nhận thấy không có khung mở PHP thẻ, ngoại trừ này, trong đó, thẳng thắn, 1590 01:15:07,650 --> 01:15:09,160 chỉ là để phục vụ như một bình luận. 1591 01:15:09,160 --> 01:15:12,080 Nhưng đó là chức năng không thậm chí là thú vị. 1592 01:15:12,080 --> 01:15:12,960 >> Nhưng thông báo này. 1593 01:15:12,960 --> 01:15:15,400 Điều thú vị bây giờ là những gì thay đổi trên trang này. 1594 01:15:15,400 --> 01:15:16,650 Hãy để tôi vào bài giảng. 1595 01:15:16,650 --> 01:15:18,560 Và thông báo các URL đang thay đổi. 1596 01:15:18,560 --> 01:15:20,930 Bây giờ tôi đang ở lectures.php. 1597 01:15:20,930 --> 01:15:22,630 Hãy để tôi nhấn không. 1598 01:15:22,630 --> 01:15:27,200 Bây giờ tôi đang ở week0.php Và bây giờ hãy tôi mở các tập tin trong gedit. 1599 01:15:27,200 --> 01:15:30,120 Không chỉ chỉ số, nhưng cho tôi mở ra các bài giảng. 1600 01:15:30,120 --> 01:15:33,900 Và hãy để tôi thoát khỏi những ý kiến tập trung vào phần này mà thôi. 1601 01:15:33,900 --> 01:15:37,680 >> Và bây giờ hãy để tôi mở ra chỉ một nhiều hơn, week0.php, vứt bỏ các ý kiến, 1602 01:15:37,680 --> 01:15:39,910 chỉ để làm sạch này lên. 1603 01:15:39,910 --> 01:15:41,720 Và bây giờ chú ý sau đây. 1604 01:15:41,720 --> 01:15:47,340 Suy nghĩ thực sự loại cẩn thận về thiết kế, và chúng ta hãy làm cho nó dòng 1605 01:15:47,340 --> 01:15:52,013 lên nhau, những gì có thể được thực hiện tốt hơn ở đây, bạn có nghĩ? 1606 01:15:52,013 --> 01:15:56,450 1607 01:15:56,450 --> 01:15:57,780 >> Làm thế nào tôi làm cho một tuần? 1608 01:15:57,780 --> 01:15:58,480 Làm thế nào về việc này. 1609 01:15:58,480 --> 01:16:00,450 Vì vậy, đây là cách tôi thực hiện một tuần. 1610 01:16:00,450 --> 01:16:08,290 Tôi đã đi đến tập tin, mới, Paste, Lưu, week1.php, và sau đó tôi đã đi vào đây. 1611 01:16:08,290 --> 01:16:09,875 Và tôi đã thay đổi một - 1612 01:16:09,875 --> 01:16:11,646 là điều này, một đến thứ Sáu. 1613 01:16:11,646 --> 01:16:14,430 1614 01:16:14,430 --> 01:16:15,810 Tôi đã thay đổi số không để một. 1615 01:16:15,810 --> 01:16:17,150 Tôi đã thay đổi này một. 1616 01:16:17,150 --> 01:16:20,350 >> OK, vì vậy bây giờ nhìn vào tác phẩm của tôi. 1617 01:16:20,350 --> 01:16:22,100 Những gì có thể được thực hiện khác nhau không? 1618 01:16:22,100 --> 01:16:25,310 Đâu là cơ hội, có lẽ? 1619 01:16:25,310 --> 01:16:28,330 Do đó, có cơ hội để bắt đầu bao thanh công cụ này ra. 1620 01:16:28,330 --> 01:16:32,950 Hãy để tôi mở ra, như một cánh lướt gió, cho những gì bạn sẽ thấy trong P bộ 7. 1621 01:16:32,950 --> 01:16:38,750 Nếu tôi mở ra, bây giờ, index.php trong phiên bản năm trong số này, có vẻ cách 1622 01:16:38,750 --> 01:16:40,730 khó hiểu hơn, thừa nhận. 1623 01:16:40,730 --> 01:16:43,710 >> Nhưng điều này, bây giờ, là những gì tôi sẽ gọi một điều khiển đó là kiểm soát 1624 01:16:43,710 --> 01:16:44,770 logic của trang của tôi. 1625 01:16:44,770 --> 01:16:48,510 Và bạn có thể loại tái tạo, trực giác, có lẽ, những gì đang xảy ra. 1626 01:16:48,510 --> 01:16:50,630 Trên dòng đầu tiên, đó là một chút khó hiểu. 1627 01:16:50,630 --> 01:16:54,040 Nhưng nhận thấy tôi đang đòi hỏi, giống như với bao gồm sắc nét, tập tin tên 1628 01:16:54,040 --> 01:16:55,930 helpers.php. 1629 01:16:55,930 --> 01:16:59,980 Và sau đó tôi gọi điện thoại, rõ ràng, một chức năng, được gọi là render, đi qua trong 1630 01:16:59,980 --> 01:17:00,850 hai đối số. 1631 01:17:00,850 --> 01:17:02,440 >> Là một trong những trích dẫn unquote, tiêu đề. 1632 01:17:02,440 --> 01:17:04,800 Và hai là, loại kiểu dữ liệu là điều này, dựa trên 1633 01:17:04,800 --> 01:17:07,180 về cú pháp của chúng tôi trước đó? 1634 01:17:07,180 --> 01:17:08,160 Nó là một mảng liên quan. 1635 01:17:08,160 --> 01:17:11,730 Cụ thể, nó đi qua trong tiêu đề với một số siêu dữ liệu mà nhắc nhở 1636 01:17:11,730 --> 01:17:13,430 tôi nó là gì và giá trị của nó. 1637 01:17:13,430 --> 01:17:16,340 Sau đó, tôi nhìn thấy một mã hóa cứng ul, vì vậy một số mã HTML. 1638 01:17:16,340 --> 01:17:20,020 Nhưng sau đó tôi trở lại trong chế độ PHP kêu gọi một render chức năng. 1639 01:17:20,020 --> 01:17:24,390 Vì vậy, ngay cả khi bạn chưa bao giờ sử dụng HTML hoặc PHP trước, và mặc dù điều này có vẻ 1640 01:17:24,390 --> 01:17:27,480 đáng sợ, tại sao điều này có thể thiết kế tốt hơn? 1641 01:17:27,480 --> 01:17:31,310 Có gì tốt hơn về nó, dựa trên suy luận? 1642 01:17:31,310 --> 01:17:32,130 >> ĐỐI TƯỢNG: [nghe được] 1643 01:17:32,130 --> 01:17:35,750 >> SPEAKER 1: Ít dư thừa trong đó không có thẻ HTML hơn, không hơn 1644 01:17:35,750 --> 01:17:38,410 người đứng đầu khóa, khóa cơ thể không trong tất cả các tập tin chết tiệt. 1645 01:17:38,410 --> 01:17:41,860 Thay vào đó, tôi đã yếu tố ra tương đồng và có lẽ là đặt chúng 1646 01:17:41,860 --> 01:17:45,150 vào một tập tin bằng cách nào đó có liên quan để một tiêu đề. 1647 01:17:45,150 --> 01:17:48,500 Và điều tương tự cho cơ thể gần từ khóa, các thẻ HTML gần. 1648 01:17:48,500 --> 01:17:52,165 Đó có thể là xuống đây trong của một nơi nào đó chân. 1649 01:17:52,165 --> 01:17:57,050 Và bạn sẽ thấy, trong vấn đề thiết lập 7, một tour du lịch nhỏ thông qua này. 1650 01:17:57,050 --> 01:17:58,070 >> Vì vậy, những gì ở phía trước? 1651 01:17:58,070 --> 01:18:03,390 Một trong những điều chúng ta không có khả năng nhưng là để thực sự lưu trữ dữ liệu. 1652 01:18:03,390 --> 01:18:06,110 Và vì vậy những gì chúng ta sẽ bắt đầu thấy Thứ tư, ví dụ, là của bạn 1653 01:18:06,110 --> 01:18:08,450 người bạn cũ của Excel, hoặc số, cho phép bạn lưu trữ nhiều 1654 01:18:08,450 --> 01:18:10,060 dữ liệu trong các hàng và cột. 1655 01:18:10,060 --> 01:18:12,570 Hóa ra bạn có thể làm điều đó trong những gì được gọi là một cơ sở dữ liệu, lập trình. 1656 01:18:12,570 --> 01:18:16,620 hưng Và nó quay ra, sau đó, chúng tôi sẽ có thể lưu trữ những thứ như 1657 01:18:16,620 --> 01:18:20,550 này, bạn sẽ thấy một lần nữa trong bộ P 7, một bó toàn bộ các tên người dùng và 1658 01:18:20,550 --> 01:18:23,690 mật khẩu, thì sau đó là thực sự mã hóa, giống như họ 1659 01:18:23,690 --> 01:18:25,550 được trong phiên bản của hacker P bộ 2. 1660 01:18:25,550 --> 01:18:29,600 Và cuối cùng, bạn sẽ thực hiện điều này, trang web ETrade-như của riêng bạn mà 1661 01:18:29,600 --> 01:18:32,220 thực hiện chung CS50 tài chính. 1662 01:18:32,220 --> 01:18:36,000 >> Cuối cùng, vì bạn ở đây quá muộn hôm nay, nếu bạn quay trở lại phần này 1663 01:18:36,000 --> 01:18:41,120 của trường, lúc 4:00 PM ngày hôm nay, chúng tôi sẽ cung cấp cho bạn không chỉ tư vấn, tại SCES 1664 01:18:41,120 --> 01:18:44,200 Tư vấn cho Hội chợ, lúc 4:00 PM trong Maxwell-Dworkin, chúng tôi sẽ cung cấp cho bạn một số 1665 01:18:44,200 --> 01:18:47,470 Americone Dream, Cherry Garcia, Sô cô la Fudge Brownie, Sô cô la 1666 01:18:47,470 --> 01:18:50,840 Chip Cookie Dough, và khi bạn Google Khỉ mập, bạn có được điều này. 1667 01:18:50,840 --> 01:18:53,620 Vì vậy, tất cả đang chờ đợi at 4:00 PM trong Maxwell-Dworkin. 1668 01:18:53,620 --> 01:18:56,736 Hẹn gặp lại vào thứ tư là tốt. 1669 01:18:56,736 --> 01:18:59,960 >> SPEAKER 2: Vào tiếp theo CS50, RJ ngủ in 1670 01:18:59,960 --> 01:19:03,656 1671 01:19:03,656 --> 01:19:04,906 >> RJ: phần của tôi! 1672 01:19:04,906 --> 01:19:07,727 1673 01:19:07,727 --> 01:19:08,977 Ha! 1674 01:19:08,977 --> 01:19:12,056 1675 01:19:12,056 --> 01:19:13,306 Oh, 1676 01:19:13,306 --> 01:19:16,374