1 00:00:00,000 --> 00:00:01,390 2 00:00:01,390 --> 00:00:04,890 >> [MUSIC CHƠI] 3 00:00:04,890 --> 00:00:10,955 4 00:00:10,955 --> 00:00:12,580 DAVID J Malan: Tất cả các bên phải, chào mừng trở lại. 5 00:00:12,580 --> 00:00:13,600 Đây là CS50. 6 00:00:13,600 --> 00:00:15,540 Đây là phần cuối của tuần bảy. 7 00:00:15,540 --> 00:00:18,180 Và đó là kết thúc của xác thối mà săn bắt từ vấn đề thiết lập bốn 8 00:00:18,180 --> 00:00:19,220 mà bạn có thể nhớ lại. 9 00:00:19,220 --> 00:00:21,650 Sau khi thu hồi tất cả những hình ảnh JPEG của nhân viên, 10 00:00:21,650 --> 00:00:24,820 bạn đã được thử thách, nếu bạn muốn, để chụp ảnh bản thân với càng nhiều 11 00:00:24,820 --> 00:00:25,981 của những người folks như bạn có thể. 12 00:00:25,981 --> 00:00:28,480 Chúng tôi đã nhận một bó toàn bộ đệ trình trong vài tuần qua, 13 00:00:28,480 --> 00:00:32,980 thực sự, một vài ngay trước buổi trưa ngày hôm nay, một số trong đó là những người ở đây, 14 00:00:32,980 --> 00:00:37,670 bắt gặp ở đây in-- trông like-- Annenberg Hall tại giờ làm việc, một ở đây 15 00:00:37,670 --> 00:00:39,530 trong Lowell House với Nick. 16 00:00:39,530 --> 00:00:41,750 Dưới đây là Ramon bị bắt trên điện thoại. 17 00:00:41,750 --> 00:00:43,870 Đây là tại một bữa ăn trưa CS50. 18 00:00:43,870 --> 00:00:46,840 Đây là Jason skyping với một bạn cùng lớp sáng tạo hơn, 19 00:00:46,840 --> 00:00:48,280 người gọi điện cho anh ấy theo cách này. 20 00:00:48,280 --> 00:00:49,690 Chúng tôi không biết điều này là. 21 00:00:49,690 --> 00:00:51,940 >> [Cười] 22 00:00:51,940 --> 00:00:54,570 >> DAVID J Malan: Nhưng đó là giá trị một gigabyte. 23 00:00:54,570 --> 00:00:56,960 Dưới đây là Chang, người nghĩa đen chạy ra khỏi sân khấu 24 00:00:56,960 --> 00:01:00,480 để tránh bị chụp ảnh một ngày, nhưng cuối cùng đã bị bắt. 25 00:01:00,480 --> 00:01:02,050 Đây là Nick. 26 00:01:02,050 --> 00:01:03,480 Đây là Nick. 27 00:01:03,480 --> 00:01:04,080 Đây là Nick. 28 00:01:04,080 --> 00:01:05,090 29 00:01:05,090 --> 00:01:07,670 Và đây là Alison xuống bởi các lĩnh vực. 30 00:01:07,670 --> 00:01:11,840 Và Zamyla thậm chí đã được tìm thấy tại một cuộc thi khiêu vũ. 31 00:01:11,840 --> 00:01:14,100 Vì vậy, chúng ta sẽ đi qua những bức ảnh, tìm ra 32 00:01:14,100 --> 00:01:16,690 người nộp nhiều nhất sớm nhất, và phần thưởng 33 00:01:16,690 --> 00:01:20,662 một giải thưởng tuyệt vời, như hứa trong spec. 34 00:01:20,662 --> 00:01:23,120 Và chúng tôi cũng sẽ theo dõi về không gian đã được tham gia. 35 00:01:23,120 --> 00:01:26,860 >> Một vài announcements-- để ăn trưa là, một lần nữa, thứ sáu này lúc 1:15 PM. 36 00:01:26,860 --> 00:01:30,420 Nếu bạn muốn tham gia chúng tôi, RSVP tại URL đó ở đây. 37 00:01:30,420 --> 00:01:33,730 Jason lại xuất hiện ở đây từ một của các bộ phận một vài năm 38 00:01:33,730 --> 00:01:35,510 trở lại, trong đó xảy ra rơi vào đêm Halloween. 39 00:01:35,510 --> 00:01:38,950 Và quả thực, ông ăn mặc như một bí ngô năm đó cụ thể. 40 00:01:38,950 --> 00:01:42,700 Nếu bạn xem phần này năm 2011 từ phần của mình 41 00:01:42,700 --> 00:01:46,480 tám, nếu bạn tò mò, tại CS50.tv, tôi nghĩ 42 00:01:46,480 --> 00:01:49,730 đây là năm mà máy bơm không khí của ông đã làm việc. 43 00:01:49,730 --> 00:01:52,490 >> Nếu sau đó bạn xem phần tương tự vào năm 2012, 44 00:01:52,490 --> 00:01:55,620 bạn sẽ thấy Jason này nhiều xì hơi, kể từ khi không còn phù hợp với chức năng, 45 00:01:55,620 --> 00:01:58,060 mà chỉ là để nói Thứ Sáu này, nếu bạn muốn 46 00:01:58,060 --> 00:02:02,720 muốn khắc một quả bí ngô với Daven và Gabe và những người khác, RSVP cho người đứng đầu 47 00:02:02,720 --> 00:02:04,480 tại địa chỉ cs50.harvard.edu. 48 00:02:04,480 --> 00:02:06,200 Nó hứa hẹn sẽ rất thú vị. 49 00:02:06,200 --> 00:02:08,660 Daven, chúng tôi đang nói, đã khắc bí ngô tất cả của cuộc đời mình. 50 00:02:08,660 --> 00:02:11,930 Gabriel từ Brazil chưa bao giờ chạm khắc một quả bí ngô cho Halloween. 51 00:02:11,930 --> 00:02:14,700 Vì vậy, có mặt ở đó với họ như cậu học được. 52 00:02:14,700 --> 00:02:16,830 >> Hội thảo, meanwhile-- vì vậy bạn sẽ học sớm 53 00:02:16,830 --> 00:02:20,650 về những gì mong đợi của chúng tôi là cho dự án cuối cùng, trong đó chủ yếu 54 00:02:20,650 --> 00:02:23,150 sẽ đun sôi xuống thiết kế và thực hiện 55 00:02:23,150 --> 00:02:26,440 hầu hết bất kỳ dự án quan tâm bạn, mặc dù với sự chấp thuận 56 00:02:26,440 --> 00:02:28,490 và hướng dẫn của giáo viên giảng dạy của bạn. 57 00:02:28,490 --> 00:02:32,110 Vào cuối của học kỳ, chúng tôi giới thiệu một số 58 00:02:32,110 --> 00:02:35,610 các cuộc hội thảo, đó là lớp học tùy chọn dẫn đầu bởi các nghiên cứu sinh giảng dạy và Harvard 59 00:02:35,610 --> 00:02:38,570 nhân viên, bạn bè của khóa học trên trường, về các chủ đề khác nhau mà 60 00:02:38,570 --> 00:02:41,470 là tiếp tuyến với giáo trình cơ bản của quá trình 61 00:02:41,470 --> 00:02:45,590 nhưng dù sao áp dụng, vui vẻ, và khác nhau cho các dự án thức tiềm năng. 62 00:02:45,590 --> 00:02:49,530 >> Ví dụ, đầu tiên, nếu bạn muốn đăng ký, người đứng đầu với URL đó. 63 00:02:49,530 --> 00:02:53,010 Và đây là dòng sản phẩm cho hội thảo năm nay một mình. 64 00:02:53,010 --> 00:02:56,060 Nhưng nhận ra chúng tôi có hàng chục hội thảo từ năm qua, tất cả đều 65 00:02:56,060 --> 00:02:59,774 được liên kết trong trình đơn Hội thảo lựa chọn của trang web của khóa học. 66 00:02:59,774 --> 00:03:02,190 Vì vậy, nếu bạn đang suy nghĩ về vượt ra khỏi vùng thoải mái của bạn 67 00:03:02,190 --> 00:03:05,060 hoặc chọn lên một số kỹ năng mới, Ví dụ, lập trình iPhone 68 00:03:05,060 --> 00:03:08,100 các ứng dụng với Swift, một ngôn ngữ mới từ Apple hoặc Objective-C 69 00:03:08,100 --> 00:03:11,230 hoặc các ứng dụng Android hoặc lập trình [? gợi?] bóng đèn, hoặc bất kỳ chủ đề 70 00:03:11,230 --> 00:03:15,490 ở đây và nhiều hơn nữa, kiểm tra do ra trang đăng ký. 71 00:03:15,490 --> 00:03:19,730 >> Vì vậy, chúng tôi bắt đầu và kết thúc vào ngày Thứ hai với nhìn vào HTTP. 72 00:03:19,730 --> 00:03:22,675 Vì vậy, nhanh chóng refresher-- HTTP, HyperText Transfer Protocol. 73 00:03:22,675 --> 00:03:24,045 Nhưng điều đó thực sự có nghĩa gì? 74 00:03:24,045 --> 00:03:26,805 75 00:03:26,805 --> 00:03:27,930 Điều đó thực sự có ý nghĩa gì? 76 00:03:27,930 --> 00:03:30,665 77 00:03:30,665 --> 00:03:31,290 Là một tay? 78 00:03:31,290 --> 00:03:33,074 79 00:03:33,074 --> 00:03:34,740 Tôi biết bạn đang chỉ gãi đầu của bạn. 80 00:03:34,740 --> 00:03:36,400 Nhưng bạn muốn đề xuất HTTP là gì? 81 00:03:36,400 --> 00:03:37,792 82 00:03:37,792 --> 00:03:40,576 >> ĐỐI TƯỢNG: Làm thế nào máy tính giao tiếp với [không nghe được]. 83 00:03:40,576 --> 00:03:41,517 84 00:03:41,517 --> 00:03:43,100 DAVID Malan J: Tôi bị mất một phần cuối cùng. 85 00:03:43,100 --> 00:03:45,774 Làm thế nào các máy tính giao tiếp with-- 86 00:03:45,774 --> 00:03:47,325 >> Các máy chủ Internet: ĐỐI TƯỢNG. 87 00:03:47,325 --> 00:03:50,450 DAVID J Malan: Good-- với internet máy chủ, và đặc biệt, các máy chủ web. 88 00:03:50,450 --> 00:03:53,533 Bởi vì thu hồi, có một loạt các dịch vụ trên internet, một số trong đó 89 00:03:53,533 --> 00:03:57,349 bạn có thể sử dụng hàng ngày giữa trò chuyện và tin nhắn, chat, và web và email, 90 00:03:57,349 --> 00:03:57,890 và như thế nào. 91 00:03:57,890 --> 00:04:00,900 Và HTTP chỉ là giao thức mà các trình duyệt web 92 00:04:00,900 --> 00:04:03,750 nói khi giao tiếp với các máy chủ web, và ngược lại. 93 00:04:03,750 --> 00:04:05,580 Và tương tự trong thế giới con người có thể được, 94 00:04:05,580 --> 00:04:08,730 Tôi mở rộng bàn tay của tôi để bắt một số con người khác và người đó 95 00:04:08,730 --> 00:04:11,970 thừa nhận bằng cách mở rộng của mình hoặc tay là tốt. 96 00:04:11,970 --> 00:04:13,970 Vì vậy, đó chỉ là một giao thức, một tập hợp các ước. 97 00:04:13,970 --> 00:04:15,630 >> Và những gì thực sự là những quy ước được? 98 00:04:15,630 --> 00:04:18,640 Vâng, nó chỉ nắm tới gửi tin nhắn qua lại, 99 00:04:18,640 --> 00:04:19,770 như chúng tôi mô tả ở đây. 100 00:04:19,770 --> 00:04:22,520 Và có một vài cách trong mà bạn có thể gửi tin nhắn này. 101 00:04:22,520 --> 00:04:24,360 Và có lẽ nhiều nhất phổ biến được gọi là get. 102 00:04:24,360 --> 00:04:26,510 Và chúng ta sẽ thấy một sự tương phản này trước khi dài. 103 00:04:26,510 --> 00:04:30,010 >> Tuy nhiên, một nhận được yêu cầu từ một trình duyệt đến máy chủ chỉ trông như thế này. 104 00:04:30,010 --> 00:04:32,960 Đó là một loạt các văn bản mà nó đặt bên trong một phong bì ảo. 105 00:04:32,960 --> 00:04:35,854 Ở bên ngoài phong bì đi một vài mẩu thông tin chi tiết. 106 00:04:35,854 --> 00:04:37,770 Những gì cần phải đi trên phong bì, có thể nói, 107 00:04:37,770 --> 00:04:41,820 để có được một yêu cầu như này từ tôi đến một máy chủ web? 108 00:04:41,820 --> 00:04:42,320 Yeah. 109 00:04:42,320 --> 00:04:43,270 >> Đung địa chỉ IP của bạn. 110 00:04:43,270 --> 00:04:45,890 >> DAVID J Malan: địa chỉ IP của tôi ở mục From, có thể nói, 111 00:04:45,890 --> 00:04:49,490 và tất nhiên, địa chỉ IP của người nhận. 112 00:04:49,490 --> 00:04:52,710 Nhưng trong trường hợp của một gói web, chúng ta cần một chi tiết nhỏ hơn 113 00:04:52,710 --> 00:04:55,254 Nó không đủ chỉ để gửi một phong bì đến một máy chủ, 114 00:04:55,254 --> 00:04:57,670 bởi vì máy chủ đó có thể là lắng nghe với nhiều loại khác nhau 115 00:04:57,670 --> 00:04:59,180 lưu lượng truy cập internet. 116 00:04:59,180 --> 00:05:01,370 Vì vậy, những gì người khác làm chúng ta cần bên cạnh IP của người nhận? 117 00:05:01,370 --> 00:05:02,723 118 00:05:02,723 --> 00:05:03,222 Yeah? 119 00:05:03,222 --> 00:05:04,241 >> Đung Có TCP? 120 00:05:04,241 --> 00:05:05,074 DAVID J Malan: Tốt. 121 00:05:05,074 --> 00:05:06,470 TCP-- 122 00:05:06,470 --> 00:05:07,340 >> Đung Địa chỉ. 123 00:05:07,340 --> 00:05:09,340 >> DAVID J Malan: Địa chỉ, hoặc cổng, như nó được gọi là. 124 00:05:09,340 --> 00:05:11,010 Close, nhưng một số cổng TCP. 125 00:05:11,010 --> 00:05:12,220 Và có một bó của các. 126 00:05:12,220 --> 00:05:14,310 Nhưng chắc chắn nhất quen thuộc nên cuối cùng 127 00:05:14,310 --> 00:05:17,590 là 80, đó là mặc định một sử dụng cho lưu lượng truy cập web. 128 00:05:17,590 --> 00:05:20,040 Và một quen thuộc một sẽ sớm được 443, 129 00:05:20,040 --> 00:05:24,280 được sử dụng cho web an toàn giao thông, các URL bắt đầu bằng https. 130 00:05:24,280 --> 00:05:26,650 >> Vì vậy, đây là những gì diễn ra bên trong phong bì đó. 131 00:05:26,650 --> 00:05:29,780 Và nhận được / chỉ có nghĩa là, cho tôi những trang web mặc định. 132 00:05:29,780 --> 00:05:32,700 Hãy cho tôi thư mục gốc của đĩa cứng lái xe trên máy chủ web. 133 00:05:32,700 --> 00:05:36,050 Và hy vọng, web máy chủ sẽ trả lời với, OK 134 00:05:36,050 --> 00:05:39,630 và số 200, mà chỉ là một quy ước nói rằng, có, tất cả 135 00:05:39,630 --> 00:05:40,470 thực sự là OK. 136 00:05:40,470 --> 00:05:41,680 Đây là trang. 137 00:05:41,680 --> 00:05:45,510 Các loại trang web sẽ được văn bản, nhưng cụ thể hơn, HTML, 138 00:05:45,510 --> 00:05:47,010 mà chúng tôi đang về để lặn trở lại. 139 00:05:47,010 --> 00:05:49,877 Và dấu chấm chấm chấm chỉ phương tiện, đây là HTML. 140 00:05:49,877 --> 00:05:51,710 Và đó là nơi chúng tôi mở đầu câu chuyện ngày hôm nay, 141 00:05:51,710 --> 00:05:55,740 thực sự bằng văn bản HTML, HyperText Markup Language, mà 142 00:05:55,740 --> 00:05:57,727 là ngôn ngữ mà trang web được viết. 143 00:05:57,727 --> 00:05:59,060 Nó không phải là một ngôn ngữ lập trình. 144 00:05:59,060 --> 00:06:01,270 Không có chức năng hoặc vòng hoặc điều kiện. 145 00:06:01,270 --> 00:06:03,800 Đó là một ngôn ngữ đánh dấu, cũng một lần nữa nhìn thấy ngày hôm nay, 146 00:06:03,800 --> 00:06:07,240 cho phép bạn chỉ định làm thế nào để cấu trúc và phong cách hóa 147 00:06:07,240 --> 00:06:09,300 thẩm mỹ một trang web. 148 00:06:09,300 --> 00:06:11,470 >> Vì vậy, đây là một trong các và chỉ trang chúng tôi thực sự 149 00:06:11,470 --> 00:06:13,930 nhìn, nếu một thời gian ngắn, vào thứ hai. 150 00:06:13,930 --> 00:06:16,250 Và nhận thấy một vài đặc điểm nổi bật. 151 00:06:16,250 --> 00:06:20,170 Có rất nhiều góc mở khung và đóng khung góc cạnh. 152 00:06:20,170 --> 00:06:23,160 Trong giữa những góc cạnh ngoặc là từ. 153 00:06:23,160 --> 00:06:25,660 Và chúng ta sẽ bắt đầu kêu gọi những từ thẻ. 154 00:06:25,660 --> 00:06:28,800 Vì vậy, mở đầu khung và đầu khung khép kín 155 00:06:28,800 --> 00:06:33,620 là các thẻ mở và đóng, hoặc bắt đầu và kết thúc 156 00:06:33,620 --> 00:06:37,660 tương ứng, của một phần tử HTML, như chúng ta sẽ gọi nó, được gọi là người đứng đầu. 157 00:06:37,660 --> 00:06:41,760 Và các thuật ngữ tương tự áp dụng để cơ thể trong HTML và vv. 158 00:06:41,760 --> 00:06:43,970 >> Và những gì tốt đẹp là HTML-- và quả thật, chúng tôi sẽ 159 00:06:43,970 --> 00:06:47,187 chi tiêu khủng khiếp ít thời gian vào nó, bởi vì bạn sẽ chủ yếu chỉ tìm ra 160 00:06:47,187 --> 00:06:49,770 những tính năng nó có khi bạn thực sự có một vấn đề cụ thể 161 00:06:49,770 --> 00:06:52,820 để solve-- bạn sẽ thấy rằng một trình duyệt là khá ngớ ngẩn. 162 00:06:52,820 --> 00:06:56,450 Nó chỉ cần đi để do-- không khác một computer-- những gì bạn nói với nó để làm. 163 00:06:56,450 --> 00:06:59,279 Và như vậy khi bạn đã mở khung HTML ở đầu 164 00:06:59,279 --> 00:07:01,320 có, mà chủ yếu chỉ có nghĩa là, hey, trình duyệt, 165 00:07:01,320 --> 00:07:04,090 ở đây có một trang web được viết bằng HTML. 166 00:07:04,090 --> 00:07:06,130 >> Khi nó thấy mở khung người đứng đầu, mà chỉ có nghĩa là, 167 00:07:06,130 --> 00:07:10,350 hey, trình duyệt, ở đây có người đứng đầu, hoặc phần trên cùng của trang web của tôi. 168 00:07:10,350 --> 00:07:14,192 Khi nó thấy một khung khép kín người đứng đầu, mà chỉ có nghĩa là, hey, 169 00:07:14,192 --> 00:07:15,150 đó là nó cho người đứng đầu. 170 00:07:15,150 --> 00:07:16,420 Chờ cho cái gì khác. 171 00:07:16,420 --> 00:07:18,878 Và đó là cái gì khác là rõ ràng sẽ là cơ thể. 172 00:07:18,878 --> 00:07:22,630 Và khi bạn không có một thẻ, như bạn có chỉ là hello, dấu phẩy, thế giới, 173 00:07:22,630 --> 00:07:26,610 đó là chỉ cần đi để được văn bản thô cuối cùng được hiển thị trong màn hình. 174 00:07:26,610 --> 00:07:29,220 >> Bây giờ, bạn sẽ nhận thấy quá thụt đầu dòng ở đây. 175 00:07:29,220 --> 00:07:32,160 Bạn có thể có thể suy ra làm thế nào chúng ta đang stylizing nó. 176 00:07:32,160 --> 00:07:34,850 Mỗi lần tôi mở một thẻ, vậy để nói chuyện, tôi thụt. 177 00:07:34,850 --> 00:07:38,540 Và mỗi khi tôi đóng một thẻ, tôi bỏ thụt lề, 178 00:07:38,540 --> 00:07:40,690 tinh thần tương tự dấu ngoặc nhọn. 179 00:07:40,690 --> 00:07:43,470 Và hơn nữa, tôi là loại của việc sử dụng bản án của tôi. 180 00:07:43,470 --> 00:07:48,380 Chú ý rằng tôi không bận tâm đánh Nhập bên trong đó thẻ tiêu đề. 181 00:07:48,380 --> 00:07:48,990 Tại sao? 182 00:07:48,990 --> 00:07:51,920 Vâng, tôi chỉ quyết định nó nhìn một ít sạch hơn với tôi, con người, 183 00:07:51,920 --> 00:07:53,181 chỉ cần không bận tâm làm điều đó. 184 00:07:53,181 --> 00:07:54,930 Vì vậy, một lần nữa, có một số án gọi điện 185 00:07:54,930 --> 00:07:57,670 như có trong C hoặc ngôn ngữ nào. 186 00:07:57,670 --> 00:08:04,110 >> Nhưng chú ý rằng quá thụt đầu dòng này vay chính nó để một mô hình tâm thần, 187 00:08:04,110 --> 00:08:05,670 không để quá phức tạp nó. 188 00:08:05,670 --> 00:08:07,020 Nhưng một cây, phải không? 189 00:08:07,020 --> 00:08:09,290 Nếu bạn nghĩ về một web trang, rõ ràng bằng văn bản 190 00:08:09,290 --> 00:08:12,050 như thế này, như là độc đáo thụt vào theo cách đó, 191 00:08:12,050 --> 00:08:17,390 bạn gần như có thể nghĩ của khung mở HTML tag khung khép kín được phân định ranh giới 192 00:08:17,390 --> 00:08:21,380 gốc rễ của một nút, một cây gia đình nút phong cách trong phong cách của các cây 193 00:08:21,380 --> 00:08:22,900 chúng ta nhìn vào thứ sáu tuần trước. 194 00:08:22,900 --> 00:08:27,630 >> Và quả thực, chúng tôi đã về ngay tại đây những gì chúng tôi sẽ gọi một DOM, D-O-M, tài liệu 195 00:08:27,630 --> 00:08:31,680 mô hình đối tượng, một cách nói một cây đại diện cho HTML. 196 00:08:31,680 --> 00:08:36,140 Và nhận thấy rằng HTML có, chúng tôi sẽ nói, giống như một cây gia đình, hai con. 197 00:08:36,140 --> 00:08:37,659 Bên trái là đầu. 198 00:08:37,659 --> 00:08:39,179 Bên phải là cơ thể. 199 00:08:39,179 --> 00:08:44,220 >> Và cũng giống như một bài tập suy nghĩ mindless, người đứng đầu, tất nhiên, có bao nhiêu trẻ em 200 00:08:44,220 --> 00:08:46,070 theo cấu trúc này? 201 00:08:46,070 --> 00:08:48,200 Vì vậy, chỉ là một, title-- và đó là lý do tại sao chúng tôi có 202 00:08:48,200 --> 00:08:50,580 mũi tên đi từ đầu đến tiêu đề. 203 00:08:50,580 --> 00:08:55,110 Vì vậy, nó như là mặc dù người đó trong cây gia đình chỉ có một con. 204 00:08:55,110 --> 00:08:58,230 Và sau đó tiêu đề bản thân có thể được cho là có một đứa trẻ quá. 205 00:08:58,230 --> 00:09:01,780 >> Nhớ lại rằng HTML có hello, dấu phẩy, thế giới bên dưới nó. 206 00:09:01,780 --> 00:09:06,090 Và tôi chỉ đơn giản là vẽ nó trong một hình bầu dục thay vì một hình chữ nhật chỉ 207 00:09:06,090 --> 00:09:10,559 để truyền đạt ngữ nghĩa rằng mặc dù đó là một nút trong cây, có thể nói, 208 00:09:10,559 --> 00:09:12,100 đó là loại cơ bản khác nhau. 209 00:09:12,100 --> 00:09:12,800 Nó không phải là một thẻ. 210 00:09:12,800 --> 00:09:14,780 Hoặc đúng hơn, nó không phải là một yếu tố. 211 00:09:14,780 --> 00:09:16,590 Nó chỉ là một nút văn bản, nếu bạn sẽ. 212 00:09:16,590 --> 00:09:18,990 Nhưng đây là hoàn toàn ước của con người tùy ý. 213 00:09:18,990 --> 00:09:23,180 Đây là bây giờ chỉ cần theo cách của tôi đại diện cho những gì tôi sẽ là tổng hợp 214 00:09:23,180 --> 00:09:24,340 gọi tài liệu. 215 00:09:24,340 --> 00:09:27,750 >> Và như một sang một bên, điều tại góc trên bên trái siêu hàng đầu, 216 00:09:27,750 --> 00:09:32,080 mở khung dấu chấm than doc kiểu HTML, điều này trông giống như một thẻ, 217 00:09:32,080 --> 00:09:35,560 nhưng đó là trường hợp góc ngu ngốc nơi đó chỉ là có, sao chép và dán 218 00:09:35,560 --> 00:09:38,460 để chỉ các trình duyệt đây là phiên bản HTML 5. 219 00:09:38,460 --> 00:09:41,540 Thế giới tiếp tục thay đổi những gì dòng mã đầu tiên trong một trang nên được. 220 00:09:41,540 --> 00:09:43,820 Điều này chỉ có nghĩa là phiên bản 5. 221 00:09:43,820 --> 00:09:45,950 Vì vậy, nó không hoàn toàn trông giống như những người khác. 222 00:09:45,950 --> 00:09:48,120 >> Tất cả các bên phải, vì vậy với điều đó cho biết, bây giờ bạn sẽ đánh giá cao 223 00:09:48,120 --> 00:09:50,767 điều này khá ngu ngốc này hình xăm ai đó đã. 224 00:09:50,767 --> 00:09:51,990 >> [Cười] 225 00:09:51,990 --> 00:09:54,210 >> DAVID J Malan: Tất cả các bên phải, và bây giờ chúng ta hãy thực sự bổ nhào 226 00:09:54,210 --> 00:09:55,710 vào làm một cái gì đó với điều này. 227 00:09:55,710 --> 00:09:58,610 Bạn sẽ nhớ lại rằng thời gian cuối cùng Tôi đã mở ra Appliance CS50 228 00:09:58,610 --> 00:10:01,650 và tôi đã làm một cái gì đó như đơn giản như mở cửa gedit. 229 00:10:01,650 --> 00:10:05,190 Và tôi đã lưu các tập tin ngay cả trên desktop-- của tôi đâu special-- 230 00:10:05,190 --> 00:10:05,870 như hello.html. 231 00:10:05,870 --> 00:10:07,100 232 00:10:07,100 --> 00:10:10,984 >> Vì vậy, hãy để tôi làm điều đó again-- hello.html Enter. 233 00:10:10,984 --> 00:10:13,900 Và bây giờ trong tập tin này, tôi sẽ đi trước và tái tạo những gì chúng ta chỉ 234 00:10:13,900 --> 00:10:18,850 saw-- doc loại html Sau đó, tôi sẽ làm khung mở html khung khép kín. 235 00:10:18,850 --> 00:10:21,890 Và sau đó tôi sẽ đánh phủ đầu mở và đóng thẻ. 236 00:10:21,890 --> 00:10:22,390 Tại sao? 237 00:10:22,390 --> 00:10:23,598 Chỉ vì vậy tôi không quên sau. 238 00:10:23,598 --> 00:10:26,850 Nó chỉ thực hành tốt, giống như mở cửa và đóng dấu ngoặc nhọn tất cả cùng một lúc. 239 00:10:26,850 --> 00:10:28,900 >> Và sau đó những gì xảy ra tiếp theo? 240 00:10:28,900 --> 00:10:30,582 Bạn có thể nghĩ về những hình xăm. 241 00:10:30,582 --> 00:10:31,450 >> Đung Người đứng đầu. 242 00:10:31,450 --> 00:10:32,500 >> DAVID J Malan: Người đứng đầu. 243 00:10:32,500 --> 00:10:36,020 Và sau đó ở đây, tôi có tiêu đề, tôi nghĩ. 244 00:10:36,020 --> 00:10:39,886 Và tiêu đề là tùy tiện, hello, danh hiệu gần thế giới. 245 00:10:39,886 --> 00:10:42,760 Và sau đó xuống đây, cơ thể, của course-- sau đó chúng tôi đóng thẻ cơ thể. 246 00:10:42,760 --> 00:10:45,660 Và sau đó chỉ cần một chút dư thừa, Tôi đã có những điều tương tự ở đây. 247 00:10:45,660 --> 00:10:47,150 >> Vì vậy, tôi cho rằng đây là một trang web. 248 00:10:47,150 --> 00:10:49,050 Đây là một cái gì đó bây giờ có thể sống trên web, 249 00:10:49,050 --> 00:10:51,925 mặc dù tất nhiên, đó là nghĩa đen sống trên máy tính để bàn của tôi ngay bây giờ. 250 00:10:51,925 --> 00:10:55,837 Nhưng thực sự, nếu tôi giảm thiểu gedit, Tôi sẽ nhìn thấy trên máy tính để bàn của tôi biểu tượng của nó. 251 00:10:55,837 --> 00:10:58,420 Mặc dù đây là thiết bị, bạn có thể làm điều này trên Mac OS 252 00:10:58,420 --> 00:11:01,580 mà không TextEdit hoặc Windows với Notepad thậm chí. 253 00:11:01,580 --> 00:11:06,115 >> Và nếu tôi đi trước và kích đúp mà thậm chí, và select-- tốt, chúng ta hãy 254 00:11:06,115 --> 00:11:07,990 không chọn điều đó bởi vì Chrome không mở. 255 00:11:07,990 --> 00:11:09,281 Chúng ta hãy đi trước và mở Chrome. 256 00:11:09,281 --> 00:11:10,160 257 00:11:10,160 --> 00:11:14,040 Và sau đó làm Command-O để mở Và điều hướng đến máy tính để bàn của tôi 258 00:11:14,040 --> 00:11:15,320 và mở tập tin đó. 259 00:11:15,320 --> 00:11:20,120 Đó là cách một trình duyệt diễn dịch HTML, trên xuống dưới, trái sang phải. 260 00:11:20,120 --> 00:11:21,314 Hey, đây là trình duyệt HTML. 261 00:11:21,314 --> 00:11:21,980 Dưới đây là người đứng đầu. 262 00:11:21,980 --> 00:11:23,250 Dưới đây là danh hiệu. 263 00:11:23,250 --> 00:11:24,090 Đây là cơ thể. 264 00:11:24,090 --> 00:11:26,620 Và quả thực, đây là cách nó ám trang web đó. 265 00:11:26,620 --> 00:11:27,800 >> Nhưng hãy chú ý URL. 266 00:11:27,800 --> 00:11:32,430 Không ai trong số bạn có thể kéo lên cụ thể này trang trên máy tính xách tay của bạn ngay bây giờ, 267 00:11:32,430 --> 00:11:34,910 thậm chí bên trong của bạn thiết bị thông qua URL đó, 268 00:11:34,910 --> 00:11:40,130 vì file: // cho biết nó thực sự trên hệ thống tập tin của tôi, ổ cứng của tôi, 269 00:11:40,130 --> 00:11:40,990 không phải của bạn. 270 00:11:40,990 --> 00:11:42,440 Vì vậy, đây không phải là tất cả những gì hữu ích. 271 00:11:42,440 --> 00:11:44,940 >> Bây giờ chúng ta tiến tới sử dụng một máy chủ web thực tế. 272 00:11:44,940 --> 00:11:48,309 Và nó quay ra CS50 gia dụng là nhiều hơn chỉ là một môi trường mà 273 00:11:48,309 --> 00:11:51,100 bạn có thể viết mã C và biên dịch và chạy nó như bạn đã làm. 274 00:11:51,100 --> 00:11:55,500 Nó cũng đã được cấu hình bởi nhân viên đại diện cho một web điển hình 275 00:11:55,500 --> 00:11:58,290 máy chủ đó là trên internet, một mà bạn có thể trả tiền cho 276 00:11:58,290 --> 00:12:00,210 hoặc một trong đó là trong cái gọi là đám mây. 277 00:12:00,210 --> 00:12:02,600 >> Và nó đang chạy tiêu chuẩn mã nguồn mở miễn phí 278 00:12:02,600 --> 00:12:06,160 phần mềm, ví dụ, một cái gì đó được gọi là Apache, mà có lẽ là 279 00:12:06,160 --> 00:12:08,700 vẫn còn các trang web phổ biến nhất phần mềm máy chủ trên thế giới 280 00:12:08,700 --> 00:12:11,030 mà hàng ngàn trang web sử dụng ngày nay. 281 00:12:11,030 --> 00:12:13,420 Và nó cũng còn có phần mềm như MySQL, 282 00:12:13,420 --> 00:12:16,240 mà là một máy chủ cơ sở dữ liệu rằng chúng ta sẽ nhận được, 283 00:12:16,240 --> 00:12:18,330 mà chỉ là để nói Tôi có thể bắt đầu điều trị 284 00:12:18,330 --> 00:12:22,040 thiết bị của tôi như một máy chủ chính thức đầy đủ rằng tôi không phải trả tiền cho những nơi khác. 285 00:12:22,040 --> 00:12:25,980 Nó chỉ sống trên máy tính xách tay của riêng mình cho mục đích phát triển và thuận tiện. 286 00:12:25,980 --> 00:12:27,870 >> Vì vậy, hãy đi trước và tận dụng lợi thế này. 287 00:12:27,870 --> 00:12:30,120 Tôi sẽ đi trước và mở ra một cửa sổ terminal. 288 00:12:30,120 --> 00:12:33,030 Và tôi sẽ đi trước và move-- thực sự, lần đầu tiên tôi 289 00:12:33,030 --> 00:12:34,860 sẽ hướng đến máy tính để bàn của tôi. 290 00:12:34,860 --> 00:12:36,400 Nếu tôi làm ls, có hello.html. 291 00:12:36,400 --> 00:12:37,022 292 00:12:37,022 --> 00:12:38,730 Và tôi sẽ đi trước và bắt đầu sử dụng 293 00:12:38,730 --> 00:12:40,800 một thư mục mới, chúng tôi đã không được sử dụng trước khi ngày hôm nay. 294 00:12:40,800 --> 00:12:46,840 >> hello.html-- tôi sẽ di chuyển để ../vhosts cho hosts-- ảo 295 00:12:46,840 --> 00:12:50,940 thêm vào đó trong các future-- và sau đó vào một thư mục gọi là localhost, 296 00:12:50,940 --> 00:12:54,420 đó là biệt danh cho gần bất kỳ máy tính, cho dù đó là một máy Mac, PC, 297 00:12:54,420 --> 00:12:57,560 hoặc máy tính Linux, và sau đó đặc biệt vào một thư mục mà chúng ta, 298 00:12:57,560 --> 00:13:01,260 các nhân viên đã được tạo ra cho bạn khi bạn tải về các thiết bị được gọi là 299 00:13:01,260 --> 00:13:01,760 công cộng. 300 00:13:01,760 --> 00:13:04,551 Và như tên gọi của nó, bất cứ điều gì Tôi đặt trong thư mục này, trên lý thuyết, 301 00:13:04,551 --> 00:13:07,790 đang xảy ra đến nay là công cộng, ít nhất là để mọi người 302 00:13:07,790 --> 00:13:10,030 người có trực tiếp kết nối với máy tính của tôi. 303 00:13:10,030 --> 00:13:13,160 >> Vì vậy, bây giờ để tôi đi trước và làm cd đến thư mục đó 304 00:13:13,160 --> 00:13:15,490 vì vậy tôi có thể nhìn thấy những gì xảy ra và loại ls. 305 00:13:15,490 --> 00:13:17,630 Và quả thực, đó là Chỉ có điều trong đó. 306 00:13:17,630 --> 00:13:23,250 Tôi tuyên bố bây giờ mà bởi vì tôi đã đặt này nộp hello.html bên trong một thư mục 307 00:13:23,250 --> 00:13:26,940 gọi là bên công cộng của một thư mục gọi là localhost bên trong một thư mục 308 00:13:26,940 --> 00:13:29,810 gọi là vhosts, mà nhờ nhân viên CS50 309 00:13:29,810 --> 00:13:34,390 đã được cấu hình sẵn để được thư mục gốc của máy chủ web của bạn, 310 00:13:34,390 --> 00:13:36,900 Tôi bây giờ có thể hy vọng làm được điều này. 311 00:13:36,900 --> 00:13:38,390 >> Tôi sẽ mở ra một tab mới. 312 00:13:38,390 --> 00:13:40,090 Và tôi sẽ đi không nộp: //. 313 00:13:40,090 --> 00:13:44,520 Tôi sẽ sử dụng thực tế http / localhost, mà 314 00:13:44,520 --> 00:13:47,470 một lần nữa, là biệt danh cho máy chủ của riêng tôi. 315 00:13:47,470 --> 00:13:51,085 Và sau đó tôi sẽ đi đến những gì tên file, chỉ để được rõ ràng? 316 00:13:51,085 --> 00:13:52,680 317 00:13:52,680 --> 00:13:54,320 Đâu là câu chuyện này có lẽ sẽ đi đâu? 318 00:13:54,320 --> 00:13:56,066 319 00:13:56,066 --> 00:13:56,565 hello.html. 320 00:13:56,565 --> 00:13:58,350 321 00:13:58,350 --> 00:14:04,270 >> Vì vậy, nói cách khác, tôi muốn bây giờ điều này là máy tính của riêng tôi, thiết bị của riêng tôi, 322 00:14:04,270 --> 00:14:05,660 như thể nó là một máy chủ thực sự. 323 00:14:05,660 --> 00:14:07,490 Biệt danh của nó là localhost. 324 00:14:07,490 --> 00:14:10,210 Nhưng suy nghĩ của localhost là như Facebook.com google.com, bất cứ điều gì. 325 00:14:10,210 --> 00:14:11,600 Nó chỉ là tên địa phương của tôi. 326 00:14:11,600 --> 00:14:14,810 Và rồi cuối cùng tôi muốn là trong thư mục gốc của ổ đĩa cứng, có thể nói, 327 00:14:14,810 --> 00:14:17,729 hoặc thư mục gốc của máy chủ web, vậy thì các dấu gạch chéo phía trước và sau đó 328 00:14:17,729 --> 00:14:18,770 các hello.html tên tập tin. 329 00:14:18,770 --> 00:14:19,880 330 00:14:19,880 --> 00:14:21,930 >> Hãy để tôi thu nhỏ và nhấn Enter. 331 00:14:21,930 --> 00:14:24,266 Và quả thực, bây giờ có trang web của tôi. 332 00:14:24,266 --> 00:14:25,390 Vì vậy, nó hơi khác nhau. 333 00:14:25,390 --> 00:14:26,880 Và nó chỉ là underwhelming. 334 00:14:26,880 --> 00:14:27,904 Đây là phiên bản cũ. 335 00:14:27,904 --> 00:14:29,070 Hãy để tôi thu nhỏ phông chữ trở lại. 336 00:14:29,070 --> 00:14:29,745 Đây là cũ. 337 00:14:29,745 --> 00:14:30,890 Đây là mới. 338 00:14:30,890 --> 00:14:35,430 Nhưng những gì đang xảy ra cơ bản bây giờ là HTTP đang được sử dụng. 339 00:14:35,430 --> 00:14:39,344 >> Hãy làm điều này một ít rõ ràng hơn hoặc, nếu bạn sẽ, một chút phức tạp hơn. 340 00:14:39,344 --> 00:14:41,760 Hãy để tôi đi đến góc dưới bên phải Mặt góc của thiết bị của tôi. 341 00:14:41,760 --> 00:14:44,000 Và nhận thấy rằng tất cả điều này thời gian, đã có một số. 342 00:14:44,000 --> 00:14:47,330 Đó là địa chỉ duy nhất của gia dụng CS50 của bạn. 343 00:14:47,330 --> 00:14:50,800 Đó là một địa chỉ tư nhân, như ngụ ý của các 172,16, 344 00:14:50,800 --> 00:14:53,860 mà chỉ có nghĩa là bạn chỉ vật lý có thể truy cập máy chủ web này. 345 00:14:53,860 --> 00:14:56,340 Mọi thứ đều được tường lửa và độc đáo bảo vệ khỏi phần còn lại 346 00:14:56,340 --> 00:14:58,130 của thế giới vì điều này giải quyết. 347 00:14:58,130 --> 00:15:01,920 >> Và bây giờ thấy mặc dù nếu tôi đi đến địa chỉ này, không phải trong thiết bị của tôi, 348 00:15:01,920 --> 00:15:04,340 nhưng trong Mac OS-- tôi sẽ quay trở lại ở đây. 349 00:15:04,340 --> 00:15:05,930 Đây là máy Mac của tôi bây giờ. 350 00:15:05,930 --> 00:15:08,460 Và bây giờ tôi sẽ mở ra phiên bản này của Chrome tại đây. 351 00:15:08,460 --> 00:15:17,370 Và tôi sẽ đi đến http: //172.16.25 / Và tôi quên rest-- 133. 352 00:15:17,370 --> 00:15:25,210 >> Vì vậy, tôi sẽ đến thăm từ máy Mac của tôi địa chỉ IP /hello.html Enter. 353 00:15:25,210 --> 00:15:29,850 Và bây giờ tôi nhìn thấy từ máy Mac của tôi mà gia dụng CS50 của tôi, những người 354 00:15:29,850 --> 00:15:32,600 Địa chỉ IP là số lượng, thực sự là hành xử 355 00:15:32,600 --> 00:15:34,320 giống như một máy chủ web trên internet. 356 00:15:34,320 --> 00:15:36,944 Nó không có một dễ dàng tốt đẹp để nhớ tên như Facebook.com, 357 00:15:36,944 --> 00:15:40,370 nhưng nó sử dụng HTTP rõ ràng, mặc dù Chrome 358 00:15:40,370 --> 00:15:43,560 là loại đơn giản hóa thế giới cho chúng tôi nhưng không cho chúng ta thấy HTTP. 359 00:15:43,560 --> 00:15:46,210 Nhưng điều này thực sự là chính xác điều đó. 360 00:15:46,210 --> 00:15:48,470 Chrome chỉ là tiết kiệm một số tổ hợp phím những ngày này. 361 00:15:48,470 --> 00:15:50,530 Và đó là những gì chúng ta nhìn thấy. 362 00:15:50,530 --> 00:15:51,890 >> Vì vậy, đó là tất cả tốt và tốt. 363 00:15:51,890 --> 00:15:53,740 Nhưng đó là một trang khá underwhelming. 364 00:15:53,740 --> 00:15:56,230 Hãy để tôi đi vào và làm một cái gì đó một chút khác nhau bây giờ. 365 00:15:56,230 --> 00:15:57,910 Vì vậy, hãy để tôi quay trở lại gedit. 366 00:15:57,910 --> 00:16:00,580 Và thay vì xin chào, thế giới, chúng ta hãy đặt một hình ảnh. 367 00:16:00,580 --> 00:16:05,880 Và tôi tuyên bố từ before-- cho tôi đi vào thư mục công cộng localhost của tôi. 368 00:16:05,880 --> 00:16:10,580 Và hãy để tôi đi trước và sao chép một bó toàn bộ các file từ hôm nay 369 00:16:10,580 --> 00:16:15,633 từ thư mục Dropbox của tôi vào đây. 370 00:16:15,633 --> 00:16:19,470 371 00:16:19,470 --> 00:16:21,680 >> Bây giờ nếu tôi gõ ls, tìm tại tất cả các file 372 00:16:21,680 --> 00:16:24,940 mà tôi đã phân phối bởi Tất nhiên trang web của trước của ngày hôm nay, 373 00:16:24,940 --> 00:16:26,830 một trong số đó vẫn còn hello.html. 374 00:16:26,830 --> 00:16:27,830 Vì vậy, có một đó. 375 00:16:27,830 --> 00:16:30,730 Và nhớ lại một ngớ ngẩn này từ cat.jpg time-- cuối cùng. 376 00:16:30,730 --> 00:16:34,550 Vì vậy, hãy để tôi cố gắng nhúng cat.jpg bên trong trang web của tôi. 377 00:16:34,550 --> 00:16:37,690 >> Tôi sẽ đi trước và làm cat.jpg, tiết kiệm. 378 00:16:37,690 --> 00:16:38,950 Hãy để tôi quay trở lại Chrome. 379 00:16:38,950 --> 00:16:41,140 Và hãy để tôi phóng to phông chữ và bây giờ lại. 380 00:16:41,140 --> 00:16:43,090 381 00:16:43,090 --> 00:16:45,030 Rất tiếc, nơi mà tôi đặt này? 382 00:16:45,030 --> 00:16:48,210 383 00:16:48,210 --> 00:16:51,520 Standby-- tôi vẫn còn có người già phiên bản từ mở máy tính để bàn của tôi. 384 00:16:51,520 --> 00:16:56,020 Vì vậy, hãy để tôi đi vào vhost của tôi, của tôi localhost, công cộng của tôi, và hello.html. 385 00:16:56,020 --> 00:16:57,320 386 00:16:57,320 --> 00:17:00,670 Vì vậy, bây giờ để tôi đi trước và nói cat.jpg bên trong cơ thể 387 00:17:00,670 --> 00:17:02,830 nơi mà tôi muốn nó được hiển thị và tải lại. 388 00:17:02,830 --> 00:17:04,560 Tất nhiên, điều này là không đúng. 389 00:17:04,560 --> 00:17:08,050 >> Vì vậy, tôi cần phải cho trình duyệt một chút cố ý nhiều hơn những gì tôi muốn nó làm. 390 00:17:08,050 --> 00:17:10,210 Đơn giản chỉ cần gõ tên là rõ ràng là không đủ. 391 00:17:10,210 --> 00:17:15,134 Vì vậy, nhớ lại rằng có một người khác thẻ, hình ảnh, img cho ngắn. 392 00:17:15,134 --> 00:17:17,550 Đó chỉ là vì con người không thích các loại từ đầy đủ. 393 00:17:17,550 --> 00:17:19,050 Và sau đó chúng ta có thể làm nguồn = "cat.jpg". 394 00:17:19,050 --> 00:17:21,470 395 00:17:21,470 --> 00:17:23,550 >> Và bây giờ tôi sẽ làm một điều khác nhau ở đây. 396 00:17:23,550 --> 00:17:25,390 Mặc dù tất cả thẻ của chúng tôi vậy, đến nay có 397 00:17:25,390 --> 00:17:28,086 đã có khái niệm về một bắt đầu từ khóa và một thẻ kết thúc, 398 00:17:28,086 --> 00:17:30,210 mà không thực sự làm ý nghĩa đối với một hình ảnh, phải không? 399 00:17:30,210 --> 00:17:32,430 Một hình ảnh hoặc là có hay không có. 400 00:17:32,430 --> 00:17:36,650 Và như vậy con người đã đến với một quy ước đơn giản. 401 00:17:36,650 --> 00:17:40,310 Khi bạn có một thẻ mà có thể cả hai bắt đầu và kết thúc tại time-- cùng 402 00:17:40,310 --> 00:17:43,790 nó có thể được sản phẩm nào, do đó, để speak-- chỉ đặt dấu gạch chéo bên trong của thẻ 403 00:17:43,790 --> 00:17:44,710 ở cuối. 404 00:17:44,710 --> 00:17:45,776 405 00:17:45,776 --> 00:17:47,150 Bây giờ hãy để tôi quay trở lại trình duyệt của tôi. 406 00:17:47,150 --> 00:17:50,377 Lượt Nạp lại Chết tiệt, cái gì là sai. 407 00:17:50,377 --> 00:17:52,460 Bạn đã có thể nhìn thấy điều này thỉnh thoảng trên trang web, 408 00:17:52,460 --> 00:17:53,600 ngay cả khi nó không phải là lỗi của bạn. 409 00:17:53,600 --> 00:17:54,766 Đó là lỗi của máy chủ web. 410 00:17:54,766 --> 00:17:56,240 Có gì Odes này dường như chỉ ra? 411 00:17:56,240 --> 00:17:57,450 412 00:17:57,450 --> 00:17:58,009 Nó bị gãy. 413 00:17:58,009 --> 00:17:59,300 Đó là nơi mà các hình ảnh thuộc. 414 00:17:59,300 --> 00:17:59,700 Yeah? 415 00:17:59,700 --> 00:18:01,560 >> Đung Nhưng nó không có quyền truy cập vào các hình ảnh. 416 00:18:01,560 --> 00:18:03,070 >> DAVID J Malan: Nó không có quyền truy cập vào các hình ảnh. 417 00:18:03,070 --> 00:18:05,230 Điều đó, hoặc thậm chí tệ hơn, có thể nó thậm chí không tồn tại. 418 00:18:05,230 --> 00:18:06,729 Hãy xem nếu chúng ta không thể chẩn đoán đó. 419 00:18:06,729 --> 00:18:09,390 Nhớ lại từ lần cuối cùng mà nếu trong Chrome, trong thiết bị, 420 00:18:09,390 --> 00:18:11,870 hoặc thậm chí trên máy Mac hoặc máy PC của bạn, bạn hãy vào menu Developer 421 00:18:11,870 --> 00:18:14,650 và đi đến Công cụ phát triển lựa chọn, mà có lẽ bạn đã 422 00:18:14,650 --> 00:18:16,850 không được sử dụng nhiều hay bao giờ hết. 423 00:18:16,850 --> 00:18:20,780 Và nếu tôi đi đến Network và tải lại trang, 424 00:18:20,780 --> 00:18:24,110 chúng ta hãy thực sự nhìn vào HTTP yêu cầu đang được thực hiện. 425 00:18:24,110 --> 00:18:28,400 >> Nó trông giống như là hello.html thực sự OK, vì thế 200. 426 00:18:28,400 --> 00:18:30,630 Nhưng cat.jpg là 403. 427 00:18:30,630 --> 00:18:31,650 Vì vậy, nó không phải là một 404. 428 00:18:31,650 --> 00:18:33,490 Tập tin có thể tồn tại. 429 00:18:33,490 --> 00:18:35,250 403 có nghĩa là bị cấm. 430 00:18:35,250 --> 00:18:37,790 Vì vậy, đây là một chút bối rối. 431 00:18:37,790 --> 00:18:42,340 Tôi sẽ quay trở lại cửa sổ thiết bị đầu cuối của tôi. 432 00:18:42,340 --> 00:18:43,700 Hãy để tôi phóng to lên ở đây. 433 00:18:43,700 --> 00:18:44,750 Và hãy để tôi làm một ls. 434 00:18:44,750 --> 00:18:46,430 Có những file đó. 435 00:18:46,430 --> 00:18:49,410 >> Bây giờ hãy để tôi làm một ls-l, mà bạn đã có thể 436 00:18:49,410 --> 00:18:53,350 sử dụng trước khi nhìn vào tập tin kích thước có thể hoặc thời gian. 437 00:18:53,350 --> 00:18:55,590 Và chúng ta thấy một bó toàn bộ thông tin áp đảo. 438 00:18:55,590 --> 00:18:57,040 Nhưng hãy chú ý một vài chi tiết. 439 00:18:57,040 --> 00:19:01,660 Dưới đây là hello.html trong này hàng ở đây và đây là cat.jpg. 440 00:19:01,660 --> 00:19:02,934 441 00:19:02,934 --> 00:19:05,850 Và nó chỉ là thiết bị được thân thiện bằng cách làm nổi bật JPEG của người dùng 442 00:19:05,850 --> 00:19:07,380 màu tím như thế này. 443 00:19:07,380 --> 00:19:11,470 Nhưng những gì khác là khác nhau bên cạnh kích thước tập tin và tên tập tin? 444 00:19:11,470 --> 00:19:13,438 445 00:19:13,438 --> 00:19:14,754 >> Đung [không nghe được]. 446 00:19:14,754 --> 00:19:16,920 DAVID J Malan: Yeah, có hơn hai R ở đây. 447 00:19:16,920 --> 00:19:20,170 Chú ý những gì hello.html đã xảy ra. 448 00:19:20,170 --> 00:19:24,050 Vì vậy, nó chỉ ra rằng tên của công cộng thư mục này là rất quan trọng. 449 00:19:24,050 --> 00:19:26,400 Bất cứ điều gì trong thư mục này có nghĩa là để được công khai. 450 00:19:26,400 --> 00:19:28,790 Nhưng nó không đủ chỉ để thả các tập tin trong đó. 451 00:19:28,790 --> 00:19:31,480 Bạn cũng cần phải thay đổi chế độ của các tập tin, 452 00:19:31,480 --> 00:19:35,180 thay đổi các điều khoản của các tập tin để chủ động không 453 00:19:35,180 --> 00:19:37,650 được thiết lập mặc định, mà là duy nhất tôi có thể đọc 454 00:19:37,650 --> 00:19:39,220 và viết nó, tôi là chủ sở hữu. 455 00:19:39,220 --> 00:19:43,540 Tôi muốn tất cả mọi người trên thế giới để toàn bộ có khả năng đọc tập tin của tôi, vậy để nói chuyện. 456 00:19:43,540 --> 00:19:44,950 Đọc chỉ có nghĩa là xem nó. 457 00:19:44,950 --> 00:19:49,780 >> Và quả thực, như bạn sẽ thấy trong vấn đề thiết lập bảy, đó là những gì có nghĩa là những của R. 458 00:19:49,780 --> 00:19:53,160 Có nghĩa là hai R cho mọi người khác trên thế giới cũng đọc nó, 459 00:19:53,160 --> 00:19:55,300 đặc biệt là bây giờ mà đó là trong thư mục này. 460 00:19:55,300 --> 00:19:59,620 Vì vậy, cách đơn giản nhất để sửa lỗi này là đi đến dấu nhắc của tôi và làm chmod cho sự thay đổi 461 00:19:59,620 --> 00:20:05,580 chế độ và sau đó làm một + r, hoàn toàn, tất cả mọi người, tất cả, cộng với r để đọc, 462 00:20:05,580 --> 00:20:07,944 và sau đó cat.jpg Enter. 463 00:20:07,944 --> 00:20:10,360 Không có gì có thể xảy ra, mà thường có nghĩa là một điều tốt. 464 00:20:10,360 --> 00:20:13,850 Vì vậy, ls-l again-- nay hãy nhìn vào cat.jpg. 465 00:20:13,850 --> 00:20:15,750 Và sự cho phép này dường như đã thay đổi. 466 00:20:15,750 --> 00:20:18,670 Là một sang một bên, nếu bạn thực hiện một sai lầm và bạn, ví dụ, 467 00:20:18,670 --> 00:20:23,210 chỉ cần thực hiện your-- tôi không know-- bài luận truy cập công cộng do tai nạn, 468 00:20:23,210 --> 00:20:25,480 bạn có thể làm điều ngược lại, chmod a-r. 469 00:20:25,480 --> 00:20:25,909 470 00:20:25,909 --> 00:20:28,200 Mặc dù thẳng thắn, nó không nên ở trong thư mục công cộng 471 00:20:28,200 --> 00:20:29,760 anyway nếu đó là mối quan tâm. 472 00:20:29,760 --> 00:20:32,475 >> Vì vậy, bây giờ hãy trở lại trình duyệt và tải lại của tôi. 473 00:20:32,475 --> 00:20:32,904 474 00:20:32,904 --> 00:20:34,820 Và tôi sẽ phải bấm các Ghostbusters ít 475 00:20:34,820 --> 00:20:38,030 biểu tượng để xóa một phần của màn hình để chúng ta có thể nhìn thấy các yêu cầu mới. 476 00:20:38,030 --> 00:20:40,630 Và quả thực, đây là Cát grump từ trước. 477 00:20:40,630 --> 00:20:43,010 Nhưng quan trọng hơn, về mặt kỹ thuật, có 478 00:20:43,010 --> 00:20:45,565 số 200, trong đó có nghĩa là chúng tôi đã nhận nó OK. 479 00:20:45,565 --> 00:20:47,190 Tất cả các bên phải, vì vậy đó là tất cả tốt và tốt. 480 00:20:47,190 --> 00:20:48,940 Nhưng chúng tôi không làm tốt nhất của trang web, 481 00:20:48,940 --> 00:20:51,967 cũng không phải là chúng tôi sẽ cố gắng quá khó để làm cho các loại sang các trang web ngày hôm nay. 482 00:20:51,967 --> 00:20:54,550 Nhưng chúng ta ít nhất là làm một cái gì đó siêu quen thuộc trước khi rattling 483 00:20:54,550 --> 00:20:56,030 ra một vài thẻ khác. 484 00:20:56,030 --> 00:20:58,470 Vì vậy, giả sử tôi không chỉ muốn có một con mèo ở đây. 485 00:20:58,470 --> 00:21:02,530 Giả sử tôi thực sự muốn điều này mèo để liên kết đến một cái gì đó. 486 00:21:02,530 --> 00:21:07,210 >> Tôi có thể, ví dụ làm một cái gì đó như thế này. 487 00:21:07,210 --> 00:21:08,580 488 00:21:08,580 --> 00:21:12,890 một cho neo href cho siêu tham khảo equals-- 489 00:21:12,890 --> 00:21:17,440 và chúng ta hãy làm điều gì đó như www.google.com gần 490 00:21:17,440 --> 00:21:19,540 trích dẫn dấu đóng ngoặc. 491 00:21:19,540 --> 00:21:22,000 Và bây giờ tìm kiếm con mèo. 492 00:21:22,000 --> 00:21:23,520 Đóng thẻ neo. 493 00:21:23,520 --> 00:21:26,760 Vì vậy, đây chỉ có một loại chi tiết cơ bản mới. 494 00:21:26,760 --> 00:21:28,190 Thẻ tất nhiên, là khác nhau. 495 00:21:28,190 --> 00:21:31,770 Đó là tên một cho neo href hoặc siêu tham khảo. 496 00:21:31,770 --> 00:21:35,269 >> Nhưng quan trọng hơn, có Tính năng cú pháp này ở đây. 497 00:21:35,269 --> 00:21:37,810 Đây là những gì chúng ta sẽ bắt đầu cuộc gọi không phải là một thẻ, nhưng một thuộc tính. 498 00:21:37,810 --> 00:21:40,830 Và một thuộc tính là một cái gì đó thay đổi hành vi của một thẻ. 499 00:21:40,830 --> 00:21:45,400 Và điều này thuộc tính, href, phương tiện thay đổi hành vi của neo này 500 00:21:45,400 --> 00:21:48,430 để khi được nhấp vào, nó đi vào URL này ở đây. 501 00:21:48,430 --> 00:21:50,330 Và tất nhiên, URL đó là Google. 502 00:21:50,330 --> 00:21:53,951 >> Trong khi đó, đây là những gì văn bản ở đây sẽ là? 503 00:21:53,951 --> 00:21:55,950 Vâng, đó sẽ là những gì con người thực sự 504 00:21:55,950 --> 00:21:58,470 thấy như gạch chân liên kết, đơn giản như vậy. 505 00:21:58,470 --> 00:21:59,220 Vì vậy, hãy thử này. 506 00:21:59,220 --> 00:21:59,980 Hãy để tôi lưu nó. 507 00:21:59,980 --> 00:22:01,650 Tôi vẫn còn trong hello.html. 508 00:22:01,650 --> 00:22:05,360 Nhưng trong các phiên bản trực tuyến, bạn sẽ thấy tên tập tin thực tế chúng tôi trước khi chuẩn bị. 509 00:22:05,360 --> 00:22:06,805 Hãy để tôi đi trước và tải lại. 510 00:22:06,805 --> 00:22:08,680 Và bây giờ là rất trang underwhelming vẫn còn. 511 00:22:08,680 --> 00:22:10,910 Nhưng nếu tôi đưa chuột qua there-- và đó là một chút nhỏ, 512 00:22:10,910 --> 00:22:13,576 but-- bạn có thể nhìn thấy ở phía dưới góc trên bên trái của màn hình của bạn, 513 00:22:13,576 --> 00:22:15,242 nó thực sự sẽ google.com. 514 00:22:15,242 --> 00:22:19,280 Và nếu tôi nhấp vào đó, nó sẽ đánh trứng cho tôi cách để thực tế Google. 515 00:22:19,280 --> 00:22:22,610 >> Tuy nhiên, nhận thấy đây là cơ hội để khai thác, giống như một sang một bên. 516 00:22:22,610 --> 00:22:25,150 Và chúng tôi sẽ trở lại khác vấn đề an ninh trước khi dài. 517 00:22:25,150 --> 00:22:29,290 Bởi vì có sự phân đôi này giữa nơi bạn đi và những gì bạn nói, 518 00:22:29,290 --> 00:22:34,722 bạn có thể làm một cái gì đó như this-- http://www.google.com. 519 00:22:34,722 --> 00:22:37,134 OK, và bây giờ nếu tôi tải lại sau khi tiết kiệm trang đó, 520 00:22:37,134 --> 00:22:38,800 nó trông giống như tôi sẽ đi đến Google. 521 00:22:38,800 --> 00:22:40,966 Nhưng không có lý do tôi phải đi đến Google, phải không? 522 00:22:40,966 --> 00:22:47,460 Tôi thực sự có thể đi đến một cái gì đó như badguy.com, tải lại trang ở đây. 523 00:22:47,460 --> 00:22:49,750 Và thông báo, nó vẫn trông giống như Google. 524 00:22:49,750 --> 00:22:52,020 Và chỉ khi tôi là sắc nét đủ để di chuột qua đây 525 00:22:52,020 --> 00:22:54,770 làm tôi thấy nó thậm chí sẽ đi đến một vị trí khác nhau. 526 00:22:54,770 --> 00:22:57,400 >> Vì vậy, nếu bạn đã bao giờ nhận được một email, đặc biệt 527 00:22:57,400 --> 00:22:59,610 một từ Paypal, hoặc dường như từ Paypal 528 00:22:59,610 --> 00:23:01,830 yêu cầu bạn đăng nhập vào tài khoản của bạn, điều này 529 00:23:01,830 --> 00:23:06,380 là lý do tại sao bạn nên không bao giờ bao giờ nhấp vào liên kết trong email, 530 00:23:06,380 --> 00:23:07,930 thẳng thắn, bất kỳ liên kết trong email. 531 00:23:07,930 --> 00:23:10,380 Nếu bạn biết bạn có thực tế tiền trong Paypal hoặc Ngân hàng 532 00:23:10,380 --> 00:23:14,250 Kỳ hoặc Fidelity hoặc bất kỳ trang web, tự gõ vào. 533 00:23:14,250 --> 00:23:17,530 Bởi vì nhìn như thế nào dễ dàng là để lừa một người nào đó vào trình bày những gì 534 00:23:17,530 --> 00:23:18,526 trông giống như một liên kết. 535 00:23:18,526 --> 00:23:20,400 Nhưng nó thực sự có thể đi hoàn toàn bất cứ nơi nào. 536 00:23:20,400 --> 00:23:23,301 >> Và có lớn hơn mối đe dọa hơn này. 537 00:23:23,301 --> 00:23:25,300 Trong thực tế, đây là một chút của một tiếp tuyến, nhưng một 538 00:23:25,300 --> 00:23:28,430 của những người tốt nhất tôi từng thấy từ đó đã được đóng cửa, 539 00:23:28,430 --> 00:23:34,060 là người lãnh đạo nhân dân đối với: điều này có thể nói, 540 00:23:34,060 --> 00:23:37,660 bấm vào đây để đăng nhập vào của bạn tài khoản, một tài khoản ngân hàng. 541 00:23:37,660 --> 00:23:40,985 Và đây là Ngân hàng của phương Tây. 542 00:23:40,985 --> 00:23:43,030 543 00:23:43,030 --> 00:23:44,250 >> Vì vậy, ai đó đã mua này. 544 00:23:44,250 --> 00:23:47,090 Và đó là một chút dễ dàng hơn để xem nó trong một phông chữ mono khoảng cách thu nhỏ 545 00:23:47,090 --> 00:23:49,190 ở trên một máy chiếu 30-foot. 546 00:23:49,190 --> 00:23:51,720 Nhưng khi đó là chữ nhỏ trong một email mà bạn nhận được, 547 00:23:51,720 --> 00:23:54,690 này trông giống như bankofthewest.com, không bankofthevvest.com, 548 00:23:54,690 --> 00:23:58,230 mà ai đó đã trả $ 10 để mua. 549 00:23:58,230 --> 00:24:00,840 Và sau đó điều này đã dẫn họ đến tương đương với một số trang web xấu. 550 00:24:00,840 --> 00:24:05,540 >> Và bạn sẽ thấy too-- thực sự chúng ta có thể làm this-- nếu tôi đi đến các trang web thực tế, 551 00:24:05,540 --> 00:24:10,335 bankofthewest.com, một lần nữa, thu hồi từ lần cuối cùng 552 00:24:10,335 --> 00:24:13,210 rằng nếu đây là trang web của họ và bạn đang tò mò như thế nào nó hoạt động, 553 00:24:13,210 --> 00:24:15,610 bạn chắc chắn có thể đi đến Công cụ phát triển của Chrome. 554 00:24:15,610 --> 00:24:18,890 Và bạn có thể xem tất cả các HTML định dạng độc đáo đó. 555 00:24:18,890 --> 00:24:20,890 >> Nhưng hơn thế nữa, cam-- bạn hãy đóng 556 00:24:20,890 --> 00:24:24,760 this-- bạn có thể vào View Developer View Source. 557 00:24:24,760 --> 00:24:25,770 558 00:24:25,770 --> 00:24:28,350 Tại sao tôi không chỉ cần sao chép tất cả điều đó Và sau đó tôi 559 00:24:28,350 --> 00:24:31,630 có thể đi vào cửa sổ gedit nhỏ của tôi ở đây và làm cho trang web của riêng tôi. 560 00:24:31,630 --> 00:24:33,210 Tiết kiệm này trong hello.html. 561 00:24:33,210 --> 00:24:36,770 Và có lẽ điều này sẽ phá vỡ, bởi vì nó không phải là dễ dàng này thường. 562 00:24:36,770 --> 00:24:41,590 Nhưng bây giờ nếu tôi tải lại trang riêng của tôi trên của riêng tôi CS50 gia dụng và nhấn tải lại, 563 00:24:41,590 --> 00:24:42,990 OK, một số công cụ đã phá vỡ. 564 00:24:42,990 --> 00:24:45,750 Nhưng tôi khá gần có trang web ngân hàng của riêng tôi, phải không? 565 00:24:45,750 --> 00:24:46,570 Tất cả điều này HTML-- 566 00:24:46,570 --> 00:24:47,370 >> [Cười] 567 00:24:47,370 --> 00:24:49,210 >> DAVID J Malan: --Tôi không actually-- và bạn 568 00:24:49,210 --> 00:24:52,210 biết có ai đó ra có những người thực sự sẽ nhấp vào những liên kết này quá. 569 00:24:52,210 --> 00:24:54,864 Vì vậy, rõ ràng, một số công cụ đã phá vỡ. 570 00:24:54,864 --> 00:24:56,780 Nhưng điều đó sẽ dẫn chúng ta vào một cuộc thảo luận, 571 00:24:56,780 --> 00:25:00,810 không cần thiết ngay bây giờ, như những gì CSS, cascading style sheets, là, 572 00:25:00,810 --> 00:25:03,410 và làm thế nào bạn thực sự tải về các tập tin HTML khác 573 00:25:03,410 --> 00:25:06,140 và JPEG tập tin file GIF mà các trang web có thể được sử dụng. 574 00:25:06,140 --> 00:25:07,960 Nhưng tất cả điều đó là accomplishable. 575 00:25:07,960 --> 00:25:11,110 Nhưng nó thực sự nắm để những chẩn đoán rất đơn giản. 576 00:25:11,110 --> 00:25:14,450 >> Vì vậy, bây giờ chỉ lướt qua một vài ví dụ khác về HTML 577 00:25:14,450 --> 00:25:16,680 chỉ để cung cấp cho bạn một cảm giác của những gì khác bạn có thể làm. 578 00:25:16,680 --> 00:25:18,670 Ví dụ, đây là list.html. 579 00:25:18,670 --> 00:25:23,240 Giả sử tôi muốn làm một trang web với một danh sách các ngôi nhà trong quad. 580 00:25:23,240 --> 00:25:28,960 Tôi có thể sử dụng các thẻ ul cho có thứ tự danh sách và sau đó là danh sách các mục con 581 00:25:28,960 --> 00:25:33,760 và sau đó lặp over-- hoặc danh sách, rather-- những ngôi nhà trong câu hỏi. 582 00:25:33,760 --> 00:25:36,080 >> Và nếu tôi mở này lên, chúng ta hãy làm điều này. 583 00:25:36,080 --> 00:25:40,670 Hãy đi không hello.html, nhưng để list.html. 584 00:25:40,670 --> 00:25:42,160 Chết tiệt. 585 00:25:42,160 --> 00:25:43,000 Làm thế nào để sửa lỗi này? 586 00:25:43,000 --> 00:25:45,679 587 00:25:45,679 --> 00:25:47,220 Đó là vấn đề tương tự như trước đây, phải không? 588 00:25:47,220 --> 00:25:52,510 Vì vậy, hãy để tôi làm oops-- chmod-- chmod a + r của list.html. 589 00:25:52,510 --> 00:25:54,610 590 00:25:54,610 --> 00:25:59,610 Và bây giờ nếu tôi quay trở lại trình duyệt của tôi và nhấn Reload, có nó được. 591 00:25:59,610 --> 00:26:02,360 Vì vậy, nếu bạn đã từng muốn làm một danh sách liệt kê, bạn có thể làm điều đó. 592 00:26:02,360 --> 00:26:06,210 Nếu bạn muốn được siêu ưa thích và làm cho một danh sách đặt hàng, không phải là một danh sách không có thứ tự, 593 00:26:06,210 --> 00:26:10,170 thay đổi những để ol, tải lại trang, và Hiện tại trình duyệt sẽ đánh số đó cho bạn. 594 00:26:10,170 --> 00:26:11,241 >> Chúng ta có thể làm gì khác? 595 00:26:11,241 --> 00:26:13,990 Vâng, một vài others-- nếu bạn đã có đoạn văn dài của text-- 596 00:26:13,990 --> 00:26:15,698 Ví dụ, một số Văn bản Latin như this-- 597 00:26:15,698 --> 00:26:20,730 và bạn muốn nó trong các đoạn riêng biệt, p mở, p chặt chẽ đối với các thẻ đoạn. 598 00:26:20,730 --> 00:26:22,010 Và làm điều đó một lần nữa và một lần nữa. 599 00:26:22,010 --> 00:26:26,600 Và nếu bây giờ tôi mở tập tin này, paragraphs.html, tốt, điều này 600 00:26:26,600 --> 00:26:27,570 là nhận được gây phiền nhiễu. 601 00:26:27,570 --> 00:26:34,320 Vì vậy, bây giờ chỉ quay trở lại của tôi nhanh chóng, chmod một ngôi sao + r r .html-- 602 00:26:34,320 --> 00:26:36,099 một thẻ hoang dã ít tốt đẹp để nói chuyện. 603 00:26:36,099 --> 00:26:37,890 Nó sẽ sửa chữa tất cả những vấn đề này cho tôi. 604 00:26:37,890 --> 00:26:38,990 Hãy tải lại. 605 00:26:38,990 --> 00:26:40,500 Có ba đoạn. 606 00:26:40,500 --> 00:26:42,930 >> Và bây giờ chúng ta hãy đi trước và mở ra một khác. 607 00:26:42,930 --> 00:26:44,310 Làm thế nào về bảng? 608 00:26:44,310 --> 00:26:46,440 Bạn sẽ nhận thấy bảng vẻ nhiều hơn một chút phức tạp. 609 00:26:46,440 --> 00:26:49,110 Nhưng đó là idea-- cùng thẻ mở, thẻ mở, 610 00:26:49,110 --> 00:26:51,360 mở, mở, mở, thẻ đóng, thẻ mở. 611 00:26:51,360 --> 00:26:54,410 Và những xảy ra để đứng cho bảng, có biên giới rõ ràng là 612 00:26:54,410 --> 00:26:58,500 sẽ là một độ dày 1-- bất cứ điều gì rằng dòng của bảng means--, bảng 613 00:26:58,500 --> 00:27:00,320 dữ liệu, có nghĩa là một tế bào. 614 00:27:00,320 --> 00:27:03,840 Và nếu tôi quay trở lại trình duyệt của tôi ở đây và đi đến table.html, 615 00:27:03,840 --> 00:27:05,840 bạn có thể nhìn thấy một cái gì đó như thế này, xấu xí. 616 00:27:05,840 --> 00:27:07,840 Nhưng chúng tôi sẽ nhận được đến điểm nơi chúng tôi có thể thực sự 617 00:27:07,840 --> 00:27:09,260 làm cho những điều đẹp hơn đó. 618 00:27:09,260 --> 00:27:10,530 >> Vì vậy, hãy để tôi định cho bây giờ. 619 00:27:10,530 --> 00:27:11,870 Có chùm nhiều thẻ. 620 00:27:11,870 --> 00:27:15,225 Và HTML là tuyệt vời để nhận bởi vì, thẳng thắn mà nói, tất cả các bạn cần làm 621 00:27:15,225 --> 00:27:17,600 được xem các trang web hiện tại mà bạn đã quen thuộc. 622 00:27:17,600 --> 00:27:20,340 Và bạn đang như, oh, đó là cách họ đã làm điều này về mặt thẩm mỹ. 623 00:27:20,340 --> 00:27:23,159 >> Hoặc bạn có thể tìm kiếm bất kỳ trực tuyến nguồn tài nguyên như thế nào các công trình HTML, 624 00:27:23,159 --> 00:27:25,700 và bạn sẽ thấy rằng có một toàn bộ từ vựng của các thẻ khác. 625 00:27:25,700 --> 00:27:30,110 Nhưng với mô hình tinh thần đơn giản một mình mà hầu như bất kỳ thẻ bạn mở 626 00:27:30,110 --> 00:27:33,620 đã phải đóng cửa, nó thực sự không đủ để dạy cho chính mình 627 00:27:33,620 --> 00:27:36,950 HTML sau khi hiểu những ý tưởng cơ bản của thẻ 628 00:27:36,950 --> 00:27:40,520 và các thuộc tính và các-formedness tốt mà chúng tôi đã nói chuyện về, 629 00:27:40,520 --> 00:27:44,697 đóng cửa bất cứ điều gì mà chúng ta có thể mở do đó chúng tôi không nhầm lẫn giữa một trình duyệt. 630 00:27:44,697 --> 00:27:46,780 Vì vậy, bây giờ chúng ta thực hiện việc này để một mức độ thú vị hơn 631 00:27:46,780 --> 00:27:48,100 bằng cách vào thực tế. 632 00:27:48,100 --> 00:27:51,095 Và chúng ta hãy đi đến Mac của tôi ở đây, để google.com. 633 00:27:51,095 --> 00:27:52,280 634 00:27:52,280 --> 00:27:54,020 Và bây giờ notice-- chúng ta hãy làm điều này. 635 00:27:54,020 --> 00:27:57,280 Tôi chiêng để đi đến Cài đặt, Cài đặt tìm kiếm. 636 00:27:57,280 --> 00:28:01,070 Tôi muốn tắt ngay lập tức này gây phiền nhiễu kết quả điều mà nó ngay lập tức 637 00:28:01,070 --> 00:28:02,450 bắt đầu phản ứng với đánh máy của bạn. 638 00:28:02,450 --> 00:28:05,300 Hãy làm điều này để học cũ chúng ta thực sự nhìn thấy những gì đang xảy ra. 639 00:28:05,300 --> 00:28:08,260 >> Vì vậy, tôi sẽ tiết kiệm của tôi Thiết lập Google ở ​​đây. 640 00:28:08,260 --> 00:28:11,160 Và bây giờ notice-- tôi sẽ tìm kiếm một cái gì đó giống như mèo. 641 00:28:11,160 --> 00:28:14,500 Và nó vẫn còn làm tự động đầy đủ ở đây, nhưng dựa trên những điều 642 00:28:14,500 --> 00:28:15,970 người đã gõ trong quá khứ. 643 00:28:15,970 --> 00:28:17,490 Nhưng cần chú ý những gì sẽ xảy ra. 644 00:28:17,490 --> 00:28:20,272 >> Trong URL vào lúc này là thế này, chỉ google.com. 645 00:28:20,272 --> 00:28:22,650 Và về mặt kỹ thuật, đó là dấu gạch chéo. 646 00:28:22,650 --> 00:28:25,910 Google chỉ là tiết kiệm một nhân vật và không cho chúng ta thấy rằng. 647 00:28:25,910 --> 00:28:30,400 Họ cho chúng ta thấy https, chỉ là siêu yên tâm rằng chúng tôi 648 00:28:30,400 --> 00:28:32,850 tại một trang bảo mật hoặc mã hóa. 649 00:28:32,850 --> 00:28:35,690 >> Vì vậy, hãy để tôi đi trước và tìm kiếm con mèo. 650 00:28:35,690 --> 00:28:37,670 Bây giờ điều này đã thực sự áp đảo một cách nhanh chóng. 651 00:28:37,670 --> 00:28:39,470 Nhìn vào độ dài của URL này. 652 00:28:39,470 --> 00:28:43,070 Nhưng nó quay ra rằng hầu hết các công cụ này trong URL thực sự là khá vô dụng. 653 00:28:43,070 --> 00:28:45,320 Tôi sẽ bắt đầu xóa điều tôi không hiểu. 654 00:28:45,320 --> 00:28:46,560 655 00:28:46,560 --> 00:28:47,360 Tôi thấy con mèo. 656 00:28:47,360 --> 00:28:48,470 Tôi hiểu mèo. 657 00:28:48,470 --> 00:28:50,380 Tôi không biết lý do tại sao con mèo đó một lần nữa. 658 00:28:50,380 --> 00:28:52,620 Tôi thực sự không biết những gì vô nghĩa này là. 659 00:28:52,620 --> 00:28:56,030 Vì vậy, tôi chỉ cần đi để giữ làm nổi bật và xóa các phần 660 00:28:56,030 --> 00:28:59,905 mà tôi không hiểu, chưng cất URL vào chỉ này. 661 00:28:59,905 --> 00:29:00,920 662 00:29:00,920 --> 00:29:02,270 >> Bây giờ chúng tôi có được nhập lại. 663 00:29:02,270 --> 00:29:03,814 Có vẻ như Google vẫn hoạt động. 664 00:29:03,814 --> 00:29:06,980 Vì vậy, đối với một số lý do, họ đang thêm một rất nhiều thứ để theo mặc định URL của họ. 665 00:29:06,980 --> 00:29:09,000 Nhưng nó không yêu cầu nghiêm ngặt. 666 00:29:09,000 --> 00:29:10,340 Vì vậy, những gì là tốt đẹp về điều này? 667 00:29:10,340 --> 00:29:13,630 Vâng, hãy để tôi đi trước và mở lên Thanh tra của Chrome. 668 00:29:13,630 --> 00:29:15,960 Có một phím tắt chuột nhỏ cho nó. 669 00:29:15,960 --> 00:29:17,360 >> Đi đến tab Network. 670 00:29:17,360 --> 00:29:19,340 Và bây giờ hãy để tôi tải lại trang này một lần nữa. 671 00:29:19,340 --> 00:29:20,280 Và tôi ấn phím Shift. 672 00:29:20,280 --> 00:29:22,520 Là một sang một bên, các trình duyệt có xu hướng cache hay lưu 673 00:29:22,520 --> 00:29:24,697 thông tin chỉ vì lợi ích của hiệu quả. 674 00:29:24,697 --> 00:29:27,280 Nhưng thông thường, giữ phím Shift và tải lại sẽ buộc tất cả mọi thứ 675 00:29:27,280 --> 00:29:28,994 để bắt đầu lại từ đầu. 676 00:29:28,994 --> 00:29:30,410 Và đó là những gì tôi muốn làm ở đây. 677 00:29:30,410 --> 00:29:33,550 >> Và nhận thấy tất cả các hàng mà chỉ cần xuất hiện. 678 00:29:33,550 --> 00:29:37,920 Nó chỉ ra rằng trong bất kỳ web cho trang, có thể có chỉ là một tập tin 679 00:29:37,920 --> 00:29:43,500 involved-- hello.html-- hoặc có có thể là 52, như trong trường hợp này. 680 00:29:43,500 --> 00:29:45,820 Khi tôi đến thăm google.com, rõ ràng, trình duyệt của tôi 681 00:29:45,820 --> 00:29:49,650 Khai mạc 52 yêu cầu HTTP riêng biệt. 682 00:29:49,650 --> 00:29:50,520 Tại sao vậy? 683 00:29:50,520 --> 00:29:53,380 >> Vâng, nhìn vào những gì bên trong của trang web lên hàng đầu này. 684 00:29:53,380 --> 00:29:55,620 Không chỉ có văn bản, nhưng có hình ảnh thực tế 685 00:29:55,620 --> 00:29:57,130 mèo trên bên phải. 686 00:29:57,130 --> 00:29:59,110 Có một biểu tượng đầy màu sắc ở đây ở bên trái. 687 00:29:59,110 --> 00:30:01,750 Có tất cả các biểu tượng cho một microphone và vv. 688 00:30:01,750 --> 00:30:05,130 Có rất nhiều mảnh, xây dựng khối, miếng đầu, nếu bạn sẽ, 689 00:30:05,130 --> 00:30:06,250 trang web này. 690 00:30:06,250 --> 00:30:10,310 Và những gì các trình duyệt đang làm theo nhận được các tập tin đầu tiên, mà 691 00:30:10,310 --> 00:30:16,180 là hàng này ở đây, nó chủ yếu là lặp lại trên đầu trang HTML 692 00:30:16,180 --> 00:30:19,880 xuống dưới, trái sang phải, tìm kiếm những thứ như thẻ hình ảnh hoặc thẻ khác 693 00:30:19,880 --> 00:30:23,160 được đề cập đến các tập tin khác và khi nhìn thấy chúng, đi và đọc chúng 694 00:30:23,160 --> 00:30:26,050 thông qua HTTP, toàn bộ khả thi phong bì ẩn dụ, 695 00:30:26,050 --> 00:30:29,670 và sau đó hiển thị chúng trong vị trí thích hợp trong trang web. 696 00:30:29,670 --> 00:30:33,370 >> Nhưng cần chú ý ở đây nếu tôi tập trung vào những con mèo ném, tìm kiếm đầu tiên, 697 00:30:33,370 --> 00:30:37,090 nhận thấy rằng, thực sự nó sử dụng HTTP 1.1. 698 00:30:37,090 --> 00:30:41,690 Và thật không may, Google Chrome ngay bây giờ trong phiên bản 39 699 00:30:41,690 --> 00:30:45,110 là loại điều dumbing và không cho chúng ta thấy các tiêu đề thực tế. 700 00:30:45,110 --> 00:30:49,680 Nhưng một yêu cầu những gì đã thực sự gửi là cho không giảm, nhưng / search? q = mèo. 701 00:30:49,680 --> 00:30:52,830 702 00:30:52,830 --> 00:30:54,340 >> Bây giờ, tại sao là quan trọng? 703 00:30:54,340 --> 00:30:57,110 Vâng, tôi sẽ suy ra từ này rằng nếu bạn Google 704 00:30:57,110 --> 00:31:01,520 hỗ trợ các truy vấn của mẫu đơn này, lý do tại sao tôi không thực hiện tìm kiếm của riêng tôi 705 00:31:01,520 --> 00:31:06,420 động cơ cho CS50, nhưng chỉ cần phía trước kết thúc, chỉ là giao diện người dùng đồ họa. 706 00:31:06,420 --> 00:31:09,610 Và chúng tôi sẽ thuê ngoài kết thúc trở lại, các tìm kiếm thực tế kết quả cho Google. 707 00:31:09,610 --> 00:31:10,510 >> Vì vậy, làm thế nào tôi có thể làm điều này? 708 00:31:10,510 --> 00:31:13,820 Vâng, hãy để tôi đi vào gedit ở đây. 709 00:31:13,820 --> 00:31:19,180 Và hãy để tôi đi trước và mở lên, hãy nói, một tập tin mới. 710 00:31:19,180 --> 00:31:22,280 Và tôi sẽ tiết kiệm này tạm thời như tìm kiếm-0.html. 711 00:31:22,280 --> 00:31:25,111 712 00:31:25,111 --> 00:31:27,860 Và rồi cuối cùng, chúng tôi sẽ nhanh mong muốn một trong tôi trước khi chuẩn bị. 713 00:31:27,860 --> 00:31:30,190 >> Và tôi sẽ nhanh chóng whip lên loại doc 714 00:31:30,190 --> 00:31:33,840 html mở khung html gần khung html. 715 00:31:33,840 --> 00:31:38,390 Sau đó, tôi sẽ làm đầu đầu gần tiêu đề mở CS50 716 00:31:38,390 --> 00:31:40,150 Tìm kiếm thay vì tìm kiếm Google. 717 00:31:40,150 --> 00:31:43,480 Xuống đây tôi sẽ có cơ thể, cơ thể xuống gần đây. 718 00:31:43,480 --> 00:31:45,835 Và bây giờ tôi cần CS50 Search. 719 00:31:45,835 --> 00:31:47,710 Và thực sự, chúng ta hãy xây dựng này từng bước. 720 00:31:47,710 --> 00:31:51,043 Tôi sẽ đi trước và đóng cửa này và thực sự đặt nó trong thư mục công cộng của tôi. 721 00:31:51,043 --> 00:31:52,730 Vì vậy, cho tôi chỉ là một thời điểm. 722 00:31:52,730 --> 00:31:55,390 tìm kiếm 0.html-- tôi sẽ tạm gọi nó là search.html. 723 00:31:55,390 --> 00:31:56,600 724 00:31:56,600 --> 00:31:59,750 Tôi sẽ chmod nó một search.html + r. 725 00:31:59,750 --> 00:32:01,072 726 00:32:01,072 --> 00:32:02,280 Và bây giờ tôi sẽ để mở nó. 727 00:32:02,280 --> 00:32:03,224 728 00:32:03,224 --> 00:32:04,390 Tất cả các bên phải, do đó đã được nhanh chóng. 729 00:32:04,390 --> 00:32:06,800 Nhưng mục tiêu chỉ đơn giản là để có được chúng tôi đến điểm 730 00:32:06,800 --> 00:32:09,630 của việc có văn bản này tập tin được gọi là search.html. 731 00:32:09,630 --> 00:32:10,940 732 00:32:10,940 --> 00:32:12,790 Vì vậy, không nhiều để xem xét được nêu ra. 733 00:32:12,790 --> 00:32:16,970 Thật vậy, nếu tôi đi đến trình duyệt của tôi, và đi đến search.html, đó là tất cả nó được. 734 00:32:16,970 --> 00:32:17,720 Nhưng bạn biết những gì? 735 00:32:17,720 --> 00:32:19,000 Tôi có thể là một chút sành điệu. 736 00:32:19,000 --> 00:32:22,710 Tôi đọc trong một cuốn sách mà có một tag tiêu đề gọi là h1. 737 00:32:22,710 --> 00:32:26,100 Và tôi sẽ đi trước và sử dụng h1 h1 mở và gần gũi. 738 00:32:26,100 --> 00:32:27,220 Nạp lại trang. 739 00:32:27,220 --> 00:32:29,600 Và bây giờ là lớn hơn và táo bạo hơn, không phải tất cả mà thú vị, 740 00:32:29,600 --> 00:32:32,399 nhưng ít nhất nó có cấu trúc thú vị hơn. 741 00:32:32,399 --> 00:32:33,940 Nhưng bây giờ hãy để tôi giới thiệu một thẻ khác. 742 00:32:33,940 --> 00:32:36,500 Hóa ra có một thẻ form. 743 00:32:36,500 --> 00:32:38,400 Và hãy để tôi đóng thẻ đó. 744 00:32:38,400 --> 00:32:40,830 Và nó quay ra có của một thẻ đầu vào 745 00:32:40,830 --> 00:32:44,600 có một thuộc tính được gọi là loại, mà là kiểu dữ liệu của lĩnh vực này, 746 00:32:44,600 --> 00:32:45,200 nếu bạn sẽ. 747 00:32:45,200 --> 00:32:47,050 Và sẽ là loại văn bản. 748 00:32:47,050 --> 00:32:52,200 Và giá trị của nó sẽ là CS50 Search. 749 00:32:52,200 --> 00:32:53,850 Đóng thẻ. 750 00:32:53,850 --> 00:32:57,100 Và đó sẽ là không có khái niệm mở và đóng với các thẻ riêng biệt. 751 00:32:57,100 --> 00:33:00,300 >> Hãy để tôi quay trở lại đây và xem những gì đang xảy ra, tải lại. 752 00:33:00,300 --> 00:33:01,380 Bắt thú vị. 753 00:33:01,380 --> 00:33:02,950 Có vẻ như nó là một lĩnh vực văn bản. 754 00:33:02,950 --> 00:33:04,080 755 00:33:04,080 --> 00:33:06,999 Và thực sự, tôi không muốn để đặt một giá trị có được nêu ra. 756 00:33:06,999 --> 00:33:10,040 Hãy để tôi quay trở lại đây và thực sự có được loại bỏ các giá trị này để giữ cho nó đơn giản. 757 00:33:10,040 --> 00:33:12,939 Thay vì một giá trị, những gì tôi muốn để cung cấp cho điều này là một cái tên. 758 00:33:12,939 --> 00:33:15,230 Và tôi không biết nó là gì, vì vậy tôi sẽ quay trở lại đó. 759 00:33:15,230 --> 00:33:18,270 >> Nhưng bên dưới đó, tôi muốn để làm input type = nộp. 760 00:33:18,270 --> 00:33:19,840 761 00:33:19,840 --> 00:33:22,120 Và giá trị này sẽ được CS50 Search. 762 00:33:22,120 --> 00:33:24,850 Và chúng ta sẽ thấy lý do tại sao tôi chuyển giá trị này. 763 00:33:24,850 --> 00:33:28,900 Khi tôi lại, tôi dường như bây giờ có sự khởi đầu của tìm kiếm của riêng tôi 764 00:33:28,900 --> 00:33:30,820 động cơ, siêu xấu xí, mặc dù thẳng thắn, đó là 765 00:33:30,820 --> 00:33:34,260 không phải là một ném xa những gì Trang mặc định của Google như thế nào. 766 00:33:34,260 --> 00:33:37,950 >> Nếu tôi đi ở đây bây giờ, tôi có thể gõ mèo và hy vọng bấm Tìm kiếm. 767 00:33:37,950 --> 00:33:40,380 Nhưng tôi không hoàn toàn được thực hiện chưa, bởi vì tôi đã không được thực hiện, 768 00:33:40,380 --> 00:33:41,045 rõ ràng, một cơ sở dữ liệu. 769 00:33:41,045 --> 00:33:42,940 Tôi đã không thu thập thông tin các web cho kết quả tìm kiếm. 770 00:33:42,940 --> 00:33:44,840 Vì vậy, tôi cần phải thuê ngoài đó để Google. 771 00:33:44,840 --> 00:33:46,290 Vì vậy, làm thế nào để làm điều này? 772 00:33:46,290 --> 00:33:49,170 >> Vâng, trước hết tôi cần thêm và hành động 773 00:33:49,170 --> 00:33:58,460 thuộc tính cho tag hình thức của tôi mà là http://www.google.com/search. 774 00:33:58,460 --> 00:34:01,180 Và tôi biết rằng chỉ có từ suy ra bằng cách chặt chẽ 775 00:34:01,180 --> 00:34:02,505 tại URL của họ. 776 00:34:02,505 --> 00:34:03,380 Và bây giờ hãy đoán. 777 00:34:03,380 --> 00:34:09,090 Nên lĩnh vực văn bản này có lẽ gì được gọi là, dựa vào nơi chúng tôi đến 778 00:34:09,090 --> 00:34:09,754 từ trước? 779 00:34:09,754 --> 00:34:11,896 780 00:34:11,896 --> 00:34:13,290 >> Đung? Q. 781 00:34:13,290 --> 00:34:14,370 >> DAVID J Malan:? Q. 782 00:34:14,370 --> 00:34:17,800 Và chúng tôi không thực sự cần câu hỏi đánh dấu nó quay ra, nhưng thực sự là nó q, 783 00:34:17,800 --> 00:34:20,489 q cho truy vấn có thể là do mặc định, chỉ vì đó là 784 00:34:20,489 --> 00:34:23,060 những gì Larry và Sergey đến với năm trước. 785 00:34:23,060 --> 00:34:24,739 Vì vậy, bây giờ để tôi tải lại trang này. 786 00:34:24,739 --> 00:34:26,409 Nó không giống tất cả những gì khác nhau. 787 00:34:26,409 --> 00:34:28,120 Nhưng bây giờ xem những gì sẽ xảy ra. 788 00:34:28,120 --> 00:34:32,360 >> Nếu tôi gõ ở mèo và nhấp chuột CS50 Tìm kiếm và cho đi, 789 00:34:32,360 --> 00:34:35,770 thông báo tôi được gạt đi vào thực tế Google. 790 00:34:35,770 --> 00:34:38,150 Bây giờ, Google đang được một chút khó chịu ở chỗ chúng 791 00:34:38,150 --> 00:34:41,877 phụ thêm một tham số bổ sung, nếu bạn sẽ, vào URL. 792 00:34:41,877 --> 00:34:43,960 Đó là tất cả xảy ra tự động trên Google bên. 793 00:34:43,960 --> 00:34:48,730 >> Phần quan trọng là tôi có vẻ đã tạo ra yêu cầu này ở đây. 794 00:34:48,730 --> 00:34:50,179 Và quả thực, đó là những gì sẽ xảy ra. 795 00:34:50,179 --> 00:34:53,040 Khi bạn có HTML trông như thế này, điều này 796 00:34:53,040 --> 00:34:57,620 là sắp xếp của các nhà phát triển web ký hiệu cho rằng, đi trước và tạo ra một hình thức 797 00:34:57,620 --> 00:34:59,990 khi nó đã được gửi, nó sẽ đi đến URL này. 798 00:34:59,990 --> 00:35:03,430 Và khi các URL đã cung cấp giá trị cho những thứ như q, 799 00:35:03,430 --> 00:35:05,440 không đi chỉ để URL này. 800 00:35:05,440 --> 00:35:08,210 Trên thực tế, đi đến câu hỏi đánh dấu và sau đó q = mèo. 801 00:35:08,210 --> 00:35:09,590 802 00:35:09,590 --> 00:35:13,060 Thêm các tham số, Tham số HTTP như thế. 803 00:35:13,060 --> 00:35:15,590 >> Và chỉ để được siêu chính xác, những gì đang được suy ra here-- 804 00:35:15,590 --> 00:35:18,130 nhưng tôi sẽ explicit-- hơn là rằng phương pháp tôi muốn sử dụng 805 00:35:18,130 --> 00:35:22,270 là có được, thay vì một cái gì đó như bài, mà cuối cùng chúng ta sẽ thấy. 806 00:35:22,270 --> 00:35:27,710 Vì vậy, trong ngắn hạn, chỉ đơn giản bằng sự hiểu biết HTML và sử dụng một số thẻ khá đơn giản, 807 00:35:27,710 --> 00:35:30,610 bây giờ chúng ta có thể bắt đầu tạo người dùng cuối trước của chúng ta 808 00:35:30,610 --> 00:35:32,850 giao diện với một tìm kiếm động cơ đằng sau nó. 809 00:35:32,850 --> 00:35:34,800 >> Nhưng điều này tất nhiên, là khá xấu xí. 810 00:35:34,800 --> 00:35:37,259 Vì vậy, hãy để tôi thực sự mở ra một phiên bản tốt hơn một chút. 811 00:35:37,259 --> 00:35:39,800 Đây là một trong tôi đã chuẩn bị ở trước đó có một số ý kiến. 812 00:35:39,800 --> 00:35:41,900 Nhưng bạn sẽ thấy rằng tôi khá nhiều tái tạo nó. 813 00:35:41,900 --> 00:35:44,150 Vì vậy, đây là đã có sẵn trực tuyến. 814 00:35:44,150 --> 00:35:48,050 Và tôi đã xảy ra để đánh phủ đầu đi đến https chỉ để giữ cho nó đơn giản. 815 00:35:48,050 --> 00:35:50,610 >> Và bây giờ hãy mở ra một lặp kế tiếp về điều này. 816 00:35:50,610 --> 00:35:52,510 Là phiên bản 1 thay vì 0. 817 00:35:52,510 --> 00:35:55,315 Những gì nhảy ra lúc bạn như hơi khác nhau trong ví dụ này? 818 00:35:55,315 --> 00:35:59,480 819 00:35:59,480 --> 00:36:00,440 >> Đung [không nghe được]. 820 00:36:00,440 --> 00:36:03,020 >> Yeah, có trung tâm class văn bản này. 821 00:36:03,020 --> 00:36:04,590 Đây là một chút lạ ở đây. 822 00:36:04,590 --> 00:36:06,150 Nhưng điều này thực sự là mới. 823 00:36:06,150 --> 00:36:07,800 Và có thể đoán những gì sẽ xảy ra. 824 00:36:07,800 --> 00:36:11,730 Nếu tôi đi đến trình duyệt của tôi bây giờ và tham quan tìm kiếm-1.html, 825 00:36:11,730 --> 00:36:13,090 nó gần như cùng một điều. 826 00:36:13,090 --> 00:36:15,705 Nhưng đó là một bước gần hơn đến được một chút khá hơn. 827 00:36:15,705 --> 00:36:19,150 Nó vẫn còn xấu xí, nhưng đẹp hơn trong đó ít nhất là bây giờ tất cả mọi thứ làm trung tâm. 828 00:36:19,150 --> 00:36:23,470 >> Vì vậy, nó chỉ ra rằng những gì tôi đang sử dụng được ngôn ngữ hoàn toàn khác gọi là 829 00:36:23,470 --> 00:36:25,680 CSS, cascading style sheets. 830 00:36:25,680 --> 00:36:28,310 Và CSS, thẳng thắn, là loại của, theo ý kiến ​​cá nhân của tôi, 831 00:36:28,310 --> 00:36:29,775 một ngôn ngữ thiết kế tàn nhẫn. 832 00:36:29,775 --> 00:36:33,110 Nó là rất khó chịu để nhớ tất cả các chi tiết khác nhau. 833 00:36:33,110 --> 00:36:38,479 Nhưng đó là những gì các stylizes toàn bộ trang web trên toàn thế giới ngày hôm nay. 834 00:36:38,479 --> 00:36:39,270 Tôi bị xúc phạm một ai đó. 835 00:36:39,270 --> 00:36:39,769 Được rồi. 836 00:36:39,769 --> 00:36:43,180 Vì vậy, chúng ta hãy quay trở lại đây và xem như thế nào chúng tôi đang thực sự sử dụng này. 837 00:36:43,180 --> 00:36:45,940 Và nó quay ra, ít nhất nó thực sự là một ngôn ngữ khá đơn giản. 838 00:36:45,940 --> 00:36:49,470 Nó chỉ là cặp giá trị quan trọng, tài sản và các giá trị, tài sản và giá trị. 839 00:36:49,470 --> 00:36:52,080 Thật vậy, đây là một tài sản đó và giá trị. 840 00:36:52,080 --> 00:36:55,890 >> Đơn giản chỉ cần bằng cách sử dụng phong cách thuộc tính trên thẻ cơ thể của tôi 841 00:36:55,890 --> 00:37:00,360 và cho nó một giá trị của một đại tràng từ và một từ khác, 842 00:37:00,360 --> 00:37:03,730 hoặc một tài sản và một giá trị, Tôi có thể ảnh hưởng đến thẩm mỹ 843 00:37:03,730 --> 00:37:06,210 của trang web, không nhất thiết phải cơ cấu nào, 844 00:37:06,210 --> 00:37:07,550 nhưng tính thẩm mỹ của nó. 845 00:37:07,550 --> 00:37:10,960 Và chỉ bằng cách Googling xung quanh, tôi nhận ra rằng tấm CSS, cascading style, 846 00:37:10,960 --> 00:37:14,170 hỗ trợ một tài sản được gọi text-align, mà giá trị có thể 847 00:37:14,170 --> 00:37:16,980 được trái, phải, hoặc trung tâm, ví dụ. 848 00:37:16,980 --> 00:37:19,990 >> Vì vậy, bây giờ khi tôi tải lại trang này, những gì tôi đã nhận được 849 00:37:19,990 --> 00:37:22,730 là một trang trung tâm, nhưng vẫn còn khá xấu xí. 850 00:37:22,730 --> 00:37:25,770 Chúng ta hãy đi trước và mở lên phiên bản 2 của Tìm kiếm. 851 00:37:25,770 --> 00:37:28,570 Và bây giờ thấy tôi đã thực hiện nhiều hơn một chút. 852 00:37:28,570 --> 00:37:33,760 Chú ý rằng ở đây bên trong của người đứng đầu tag, có thể có nhiều hơn tiêu đề. 853 00:37:33,760 --> 00:37:35,400 Trong thực tế, có một thẻ phong cách. 854 00:37:35,400 --> 00:37:38,630 Và đây là nơi mà nó sẽ trở nên một chút lộn xộn nhìn thấy CSS đôi khi. 855 00:37:38,630 --> 00:37:41,971 >> Chú ý rằng tôi dường như có một cái gì đó rằng cấu trúc trông rất khác nhau. 856 00:37:41,971 --> 00:37:44,095 Nhưng ở đây là tên của thẻ tôi muốn cách điệu. 857 00:37:44,095 --> 00:37:47,570 Dưới đây là những người bạn cũ của chúng tôi xoăn niềng răng và ngoặc móc khép kín. 858 00:37:47,570 --> 00:37:50,290 Và sau đó ở đây là tài sản và giá trị của nó. 859 00:37:50,290 --> 00:37:56,300 >> Nếu tôi tải tập tin này, search2.html, kết quả cuối cùng là giống hệt nhau. 860 00:37:56,300 --> 00:37:59,300 Nhưng đó là một bước tiến tới thiết kế tốt hơn. 861 00:37:59,300 --> 00:38:04,560 Bằng cách phân tách ra CSS này, tôi đã không trộn lẫn nó với HTML của tôi. 862 00:38:04,560 --> 00:38:07,560 Và thực sự, như chúng ta sẽ thấy, tôi có thể sử dụng lại các tài sản và giá trị. 863 00:38:07,560 --> 00:38:10,420 Nếu tôi muốn làm cho chùm các bộ phận của trang web của tôi làm trung tâm, 864 00:38:10,420 --> 00:38:13,630 Tôi không phải loại style = text-align trung tâm khắp nơi. 865 00:38:13,630 --> 00:38:16,580 Tôi có thể đặt ở một nơi có lẽ, như lên ở đầu trang. 866 00:38:16,580 --> 00:38:18,210 >> Nhưng ngay cả điều này không phải là thiết kế tốt nhất. 867 00:38:18,210 --> 00:38:21,720 Trong thực tế, một trong những điều bạn sẽ học khi bạn dành nhiều thời gian với 868 00:38:21,720 --> 00:38:25,730 lập trình web là càng có nhiều bạn có thể modularize điều và những thứ yếu tố ra 869 00:38:25,730 --> 00:38:30,610 như các tập tin h chúng ta hãy thứ yếu tố ra ngoài, thích helpers.c cho chúng ta những điều yếu tố ra 870 00:38:30,610 --> 00:38:31,880 một vài psets trước. 871 00:38:31,880 --> 00:38:34,200 Tương tự như vậy, năng chúng tôi muốn đạt được điều này. 872 00:38:34,200 --> 00:38:37,920 >> Vì vậy, thông báo trong phiên bản ba của tôi đã search.html 873 00:38:37,920 --> 00:38:40,610 làm sạch lên đầu trang và chỉ cần đặt 874 00:38:40,610 --> 00:38:43,320 trong này, một thẻ liên kết, trái với tên, 875 00:38:43,320 --> 00:38:44,700 không cung cấp cho bạn một liên kết. 876 00:38:44,700 --> 00:38:49,150 Nó liên kết đến một tập tin bằng cách một href có giá trị trong trường hợp này, 877 00:38:49,150 --> 00:38:51,586 là tìm kiếm 3.css 878 00:38:51,586 --> 00:38:52,960 Vì vậy, tôi nhận thấy chúng ta đang đi nhanh chóng. 879 00:38:52,960 --> 00:38:54,600 Nhưng tất cả tôi đang làm là loại di chuyển những thứ xung quanh. 880 00:38:54,600 --> 00:38:55,760 Hãy để tôi mở tìm kiếm 3.css. 881 00:38:55,760 --> 00:38:57,114 882 00:38:57,114 --> 00:38:58,530 Có nó là, không có gì thực sự với nó. 883 00:38:58,530 --> 00:39:02,270 Tôi chỉ cần sao chép và dán nó vào một mới tập tin, giống như chúng ta yếu tố công cụ ra ngoài 884 00:39:02,270 --> 00:39:03,509 vào các tập tin khác trước. 885 00:39:03,509 --> 00:39:05,300 Và result-- hoàn toàn underwhelming-- 886 00:39:05,300 --> 00:39:06,730 là có được chính xác như nhau. 887 00:39:06,730 --> 00:39:10,490 Nhưng chúng ta đang di chuyển toward-- không có, nó không phải. 888 00:39:10,490 --> 00:39:11,930 Oh, tôi biết tại sao. 889 00:39:11,930 --> 00:39:13,790 >> Vì vậy, nó có vẻ là một lỗi. 890 00:39:13,790 --> 00:39:15,010 Và đó là trong một số ý nghĩa. 891 00:39:15,010 --> 00:39:17,730 Nhưng hãy để tôi mở tab Network của tôi. 892 00:39:17,730 --> 00:39:19,660 Hãy để tôi tải lại trang. 893 00:39:19,660 --> 00:39:23,315 Ah, tại sao là CSS không được áp dụng? 894 00:39:23,315 --> 00:39:26,920 Vâng, các tập tin CSS, tương tự, có để có thể đọc trên thế giới, vậy để nói chuyện. 895 00:39:26,920 --> 00:39:28,440 Và nó cũng hiện đang bị cấm. 896 00:39:28,440 --> 00:39:33,760 Vì vậy, hãy để tôi làm một chmod a + r của ngôi sao nằm rải rác CSS-- whoops-- 897 00:39:33,760 --> 00:39:37,067 chúng tôi chấm CSS chỉ là mở rộng tập tin cho các tập tin CSS. 898 00:39:37,067 --> 00:39:38,900 Bây giờ hãy để tôi quay trở lại trình duyệt và tải lại của tôi. 899 00:39:38,900 --> 00:39:40,910 OK, tốt hơn một chút. 900 00:39:40,910 --> 00:39:42,282 >> Bây giờ hãy để tôi làm một điều cuối cùng. 901 00:39:42,282 --> 00:39:42,990 Trong cuộc tìm kiếm-4.html. 902 00:39:42,990 --> 00:39:44,550 903 00:39:44,550 --> 00:39:48,220 Tôi có một phiên bản mà tôi chỉ nghĩ là cách mát, mặc dù cách hơn 904 00:39:48,220 --> 00:39:48,980 phức tạp. 905 00:39:48,980 --> 00:39:50,690 Hãy nhìn vào kết quả đầu tiên. 906 00:39:50,690 --> 00:39:52,290 Đóng này để cung cấp cho chúng tôi nhiều phòng. 907 00:39:52,290 --> 00:39:54,275 Thay đổi này để tìm kiếm-4, Enter. 908 00:39:54,275 --> 00:39:55,430 909 00:39:55,430 --> 00:39:57,200 >> Và bây giờ là một bó của những thứ bị phá vỡ. 910 00:39:57,200 --> 00:39:59,910 Tôi sẽ quay trở lại vào thư mục của tôi ở đây. 911 00:39:59,910 --> 00:40:04,190 Và bây giờ tôi chỉ cần đi làm một chmod của một + r trên file-- 912 00:40:04,190 --> 00:40:07,450 bởi vì tôi biết nó được gọi là exists-- logo.gif, đó là một hình ảnh. 913 00:40:07,450 --> 00:40:08,590 Và bây giờ lại. 914 00:40:08,590 --> 00:40:11,040 Và wow-- vì vậy bây giờ tôi khá gần, thẳng thắn, 915 00:40:11,040 --> 00:40:15,860 thích phiên bản năm 1999 của Google, và thẳng thắn, phiên bản 2014 của Google, 916 00:40:15,860 --> 00:40:16,360 phải không? 917 00:40:16,360 --> 00:40:21,920 >> Vì vậy, bây giờ sẽ trang web của họ, cuối cùng, nếu tôi tìm kiếm con mèo. 918 00:40:21,920 --> 00:40:23,900 Và thực sự nó là. 919 00:40:23,900 --> 00:40:26,410 Nhưng tôi phải làm gì khác nhau trong phiên bản này 4? 920 00:40:26,410 --> 00:40:28,020 Vì vậy, chúng tôi sẽ không sống quá nhiều về nó ở đây. 921 00:40:28,020 --> 00:40:30,100 Bạn sẽ thấy điều này trong vấn đề thiết lập bảy cuối cùng. 922 00:40:30,100 --> 00:40:31,350 Tuy nhiên, nhận thấy tôi đã làm một vài điều. 923 00:40:31,350 --> 00:40:33,690 >> Tôi giới thiệu một div tag, đó là phân chia, 924 00:40:33,690 --> 00:40:35,450 tinh thần tương tự một thẻ đoạn. 925 00:40:35,450 --> 00:40:38,220 Nhưng một bộ phận giống như, đây là một khu vực hình chữ nhật vô hình 926 00:40:38,220 --> 00:40:39,150 của màn hình. 927 00:40:39,150 --> 00:40:41,680 Hãy cho nó một độc đáo nhận dạng, một chân, chỉ cần 928 00:40:41,680 --> 00:40:44,700 để chúng ta có thể nói về nó trong HTML của chúng tôi ở những nơi khác. 929 00:40:44,700 --> 00:40:47,952 Dưới đây là một div của trang có ID là có được nội dung. 930 00:40:47,952 --> 00:40:49,160 Đó là nội dung của trang. 931 00:40:49,160 --> 00:40:51,090 Và ở đây là tiêu đề của trang. 932 00:40:51,090 --> 00:40:54,960 >> Nói cách khác, tôi đã cơ bản trong HTML là tinh thần 933 00:40:54,960 --> 00:40:57,700 xem trang web này ba thành phần, một tiêu đề 934 00:40:57,700 --> 00:41:01,200 ở đây có hình chữ nhật vô hình này, nội dung ở giữa, và sau đó 935 00:41:01,200 --> 00:41:04,800 chân xuống dưới, thậm chí mặc dù chúng ta không thấy những điều đó. 936 00:41:04,800 --> 00:41:09,940 Bởi vì tôi muốn trong đầu của tôi trang ở đây, hoặc trong một tập tin .css, 937 00:41:09,940 --> 00:41:11,460 Tôi có thể sử dụng cú pháp này. 938 00:41:11,460 --> 00:41:13,070 >> Tiêu đề không phải là một thẻ. 939 00:41:13,070 --> 00:41:17,060 Đây là một ID đó nó sẽ chuyển ra rằng bằng cách làm # header, 940 00:41:17,060 --> 00:41:20,840 Bây giờ tôi có thể áp dụng một hoặc nhiều tài sản cho tiêu đề. 941 00:41:20,840 --> 00:41:24,130 Tôi có thể làm cùng một nội dung, tương tự cho nội dung ở đây. 942 00:41:24,130 --> 00:41:27,230 >> Vì vậy, ví dụ, ở chân, thông báo tất cả những đặc tính này tôi thêm. 943 00:41:27,230 --> 00:41:30,660 Và tôi biết chúng tồn tại chỉ bằng cách đọc trên các tài liệu cho CSS. 944 00:41:30,660 --> 00:41:33,450 Kích thước phông chữ là có được smaller-- vì vậy một số kích thước phông chữ tương đối. 945 00:41:33,450 --> 00:41:34,741 Trọng lượng sẽ được in đậm. 946 00:41:34,741 --> 00:41:37,340 Margin-- bao nhiêu điểm ảnh xung quanh it-- là 20 pixels. 947 00:41:37,340 --> 00:41:38,590 Và nó sẽ được trung tâm. 948 00:41:38,590 --> 00:41:40,256 >> Nhưng ngay bây giờ, trang trông như thế này. 949 00:41:40,256 --> 00:41:42,840 Nếu tôi không hài lòng với bản sao của tôi ngay tại đó, 950 00:41:42,840 --> 00:41:46,560 Tôi có thể làm một cái gì đó giống như màu đỏ. 951 00:41:46,560 --> 00:41:50,570 Và sau đó tôi có thể tiết kiệm này, tải lại, và bây giờ tôi đã cách điệu chân. 952 00:41:50,570 --> 00:41:54,130 Vì vậy, đây chỉ là ám chỉ sức mạnh về những gì bạn có thể làm trong một trang web 953 00:41:54,130 --> 00:41:55,510 để thay đổi mọi thứ xung quanh. 954 00:41:55,510 --> 00:41:59,080 >> Và thậm chí còn lạnh hơn thế này, nếu bạn muốn poke quanh với các trang web thực tế, 955 00:41:59,080 --> 00:42:00,810 bạn có thể không vĩnh viễn thay đổi chúng. 956 00:42:00,810 --> 00:42:03,640 Nhưng nếu tôi mở ra Thanh tra của Chrome lại 957 00:42:03,640 --> 00:42:07,610 và tôi đi không để phía bên tay trái ở đây, trong đó cho thấy HTML của Facebook, 958 00:42:07,610 --> 00:42:11,380 nhưng hiển thị trên bên phải phía bên tay tất cả các CSS của nó, 959 00:42:11,380 --> 00:42:13,789 bạn có thể và thay đổi mọi thứ trên bay. 960 00:42:13,789 --> 00:42:15,080 Vì vậy, hãy để tôi đi trước và làm điều này. 961 00:42:15,080 --> 00:42:18,670 >> Hãy để tôi đi trước và kiểm soát click vào từ ngẫu nhiên này ở đây, 962 00:42:18,670 --> 00:42:21,230 ký, và nhấp vào Kiểm tra Element. 963 00:42:21,230 --> 00:42:25,130 Chrome rất thuận tiện nhảy vào thẻ h1 mà Facebook đang sử dụng. 964 00:42:25,130 --> 00:42:27,290 Và nhận thấy đây Facebook có loại uể oải 965 00:42:27,290 --> 00:42:29,960 cứng mã hóa kích thước phông chữ như một tài sản ở đây. 966 00:42:29,960 --> 00:42:33,530 >> Vì vậy, điều mát mẻ mặc dù là rằng nếu tôi thực sự đi ở đây 967 00:42:33,530 --> 00:42:39,560 và nói, oh, Facebook, tôi không thích điều đó 64 pixels, bây giờ chúng ta có thể thay đổi Facebook. 968 00:42:39,560 --> 00:42:42,590 Tất nhiên, chúng tôi chỉ thay đổi nó cho cá nhân tôi vào lúc này. 969 00:42:42,590 --> 00:42:45,150 Nhưng điều này chỉ khác là công cụ trong bộ công cụ của chúng tôi 970 00:42:45,150 --> 00:42:48,360 đó là sẽ cho phép chúng ta tinh chỉnh và tìm ra và cũng có thể chẩn đoán 971 00:42:48,360 --> 00:42:49,729 các vấn đề trong các trang web của chúng ta. 972 00:42:49,729 --> 00:42:52,270 Và chúng tôi tương tự có thể đi qua ở đây, đó là điều tương tự. 973 00:42:52,270 --> 00:42:55,830 Nếu bạn thực sự muốn có được ưa thích, tôi có nghĩa là, bây giờ bạn thực sự có thể đột biến trang 974 00:42:55,830 --> 00:42:57,380 và làm những điều điên rồ. 975 00:42:57,380 --> 00:42:59,870 >> Vì vậy, tại sao điều này là tất cả các hữu ích? 976 00:42:59,870 --> 00:43:02,330 Vâng, cuối cùng, chúng tôi sẽ muốn được 977 00:43:02,330 --> 00:43:07,110 có thể tạo ra các trang web được thúc đẩy bởi đầu trở lại của chúng ta, 978 00:43:07,110 --> 00:43:10,520 không phải chỉ là Google và gia công phần mềm kết thúc sau đó. 979 00:43:10,520 --> 00:43:13,510 Chúng tôi thực sự muốn giá trị, ví dụ, 980 00:43:13,510 --> 00:43:18,830 hành động công cụ tìm kiếm của chúng tôi thuộc tính đi không cho người khác, 981 00:43:18,830 --> 00:43:24,270 nhưng một cái gì đó giống như search.php, nơi search.php là trên máy chủ của riêng của chúng tôi, 982 00:43:24,270 --> 00:43:25,670 không phải trên người khác. 983 00:43:25,670 --> 00:43:30,316 >> Và do đó, để đạt được điều đó, chúng tôi thực sự cần phải giới thiệu một ngôn ngữ mới. 984 00:43:30,316 --> 00:43:33,190 Vì vậy, chúng tôi đã nhìn mới ngôn ngữ ở đây, hoặc hai thực sự, HTML 985 00:43:33,190 --> 00:43:33,700 và CSS. 986 00:43:33,700 --> 00:43:36,330 Nhưng họ thực sự chỉ cấu trúc và thẩm mỹ ngôn ngữ. 987 00:43:36,330 --> 00:43:38,360 Họ không phải lập trình ngôn ngữ cho mỗi gia nhập. 988 00:43:38,360 --> 00:43:41,160 Và đó là về càng nhiều chính thức thời gian như chúng ta sẽ dành cho chúng. 989 00:43:41,160 --> 00:43:44,910 Bởi vì chúng ta sẽ bắt đầu với doanh nghiệp để chuyển đổi sang PHP. 990 00:43:44,910 --> 00:43:48,160 >> Vì vậy, PHP là một thực tế ngôn ngữ lập trình. 991 00:43:48,160 --> 00:43:50,750 Đó là một ngôn ngữ kịch bản trong ý nghĩa rằng nó 992 00:43:50,750 --> 00:43:52,855 có nghĩa là trọng lượng nhẹ hơn hơn một cái gì đó giống như C. 993 00:43:52,855 --> 00:43:56,082 Và đó là một ngôn ngữ diễn giải, có nghĩa là nó không được biên dịch. 994 00:43:56,082 --> 00:43:58,790 Vì vậy, trong Tóm lại, những gì đã làm nó có nghĩa là khi chúng tôi sử dụng một ngôn ngữ như c 995 00:43:58,790 --> 00:44:00,290 và chúng tôi phải biên dịch nó? 996 00:44:00,290 --> 00:44:02,120 Không có nghĩa là gì biên dịch mã nguồn C? 997 00:44:02,120 --> 00:44:03,864 998 00:44:03,864 --> 00:44:04,780 Đung [không nghe được]. 999 00:44:04,780 --> 00:44:06,184 DAVID J Malan: Nói lại lần nữa? 1000 00:44:06,184 --> 00:44:07,100 Đung [không nghe được]. 1001 00:44:07,100 --> 00:44:07,962 1002 00:44:07,962 --> 00:44:08,920 DAVID J Malan: Hoàn hảo. 1003 00:44:08,920 --> 00:44:10,180 Nó biến nó thành nhị phân. 1004 00:44:10,180 --> 00:44:14,200 Nó biến nó thành zero và những người thân từ mã nguồn tiếng Anh giống như thực tế. 1005 00:44:14,200 --> 00:44:16,424 Và sau đó chúng ta có thể thực sự chạy những zero và những người thân 1006 00:44:16,424 --> 00:44:18,840 bằng cách cho chúng đi qua các CPU bằng cách nhấp đúp một biểu tượng 1007 00:44:18,840 --> 00:44:19,980 hoặc chạy một lệnh. 1008 00:44:19,980 --> 00:44:23,770 >> PHP và Python và Ruby và Perl và JavaScript 1009 00:44:23,770 --> 00:44:26,250 và chùm khác ngôn ngữ được giải thích 1010 00:44:26,250 --> 00:44:29,290 ngôn ngữ, mà là để nói bạn không biên dịch chúng. 1011 00:44:29,290 --> 00:44:34,220 Thay vào đó, bạn ăn chúng như là đầu vào một chương trình được gọi là một thông dịch viên. 1012 00:44:34,220 --> 00:44:36,640 Và thông dịch viên rằng, mà người khác đã viết, 1013 00:44:36,640 --> 00:44:40,930 đọc mã nguồn hàng đầu của bạn xuống dưới, trái sang phải và chỉ diễn giải 1014 00:44:40,930 --> 00:44:43,000 các đường dây và làm những gì bạn nói. 1015 00:44:43,000 --> 00:44:45,360 >> Vì vậy, nếu bạn gặp một Tìm dòng in, 1016 00:44:45,360 --> 00:44:48,660 nó không nhất thiết phải chuyển đổi in với số không tương ứng và những người thân. 1017 00:44:48,660 --> 00:44:51,910 Nó chỉ có thông dịch viên này như một nếu điều kiện lớn mà nói, 1018 00:44:51,910 --> 00:44:56,110 nếu hướng dẫn lập trình là in, sau đó làm như sau. 1019 00:44:56,110 --> 00:44:58,170 Vì vậy, nó diễn giải nó chỉ bởi loại lý luận 1020 00:44:58,170 --> 00:44:59,800 thông qua những gì bạn đang nói với nó để làm. 1021 00:44:59,800 --> 00:45:01,320 >> Và PHP là một trong những ngôn ngữ. 1022 00:45:01,320 --> 00:45:05,310 Và PHP năm trước đây được thiết kế chính xác cho lập trình web. 1023 00:45:05,310 --> 00:45:08,160 Và nó đã được ban đầu một ngôn ngữ lộn xộn rất cẩu thả. 1024 00:45:08,160 --> 00:45:10,940 Và quả thực, có một khổng lồ số lượng mã PHP xấu ra khỏi đó. 1025 00:45:10,940 --> 00:45:13,520 Nhưng ngôn ngữ riêng của mình đã trưởng thành trong những năm qua, 1026 00:45:13,520 --> 00:45:16,200 nhiều đến nỗi bây giờ nó thực sự là một bước tiếp theo tuyệt vời 1027 00:45:16,200 --> 00:45:19,970 sư phạm từ C bởi vì nó để darned quen thuộc với tất cả mọi thứ 1028 00:45:19,970 --> 00:45:22,380 bạn đã thấy được trong vài tuần qua. 1029 00:45:22,380 --> 00:45:25,724 >> Một trong những khác biệt ban đầu chúng ta sẽ thấy là không có chức năng chính nữa. 1030 00:45:25,724 --> 00:45:28,890 Khi bạn bắt đầu viết mã, nó chỉ là sẽ được thực thi không có vấn đề gì, 1031 00:45:28,890 --> 00:45:30,220 như chúng ta sẽ thấy trong một thời điểm. 1032 00:45:30,220 --> 00:45:33,320 Trong khi đó, đây là những gì một biến như thế nào trong PHP. 1033 00:45:33,320 --> 00:45:35,840 Đó là một chút khác nhau, nhưng chỉ vừa đủ. 1034 00:45:35,840 --> 00:45:39,380 >> Trong PHP, đó không phải gõ mạnh. 1035 00:45:39,380 --> 00:45:41,430 Có tuần đánh máy, mà chỉ có nghĩa là có 1036 00:45:41,430 --> 00:45:44,030 là loại dữ liệu như dây và con số và những thứ khác. 1037 00:45:44,030 --> 00:45:47,030 Nhưng bạn không bận tâm xác định những gì họ nữa. 1038 00:45:47,030 --> 00:45:48,980 PHP con số nó ra cho bạn. 1039 00:45:48,980 --> 00:45:52,030 Các ký hiệu đô la chỉ là một quyết định rằng những người làm PHP năm 1040 00:45:52,030 --> 00:45:54,890 trước như vậy mà bất kỳ biến trong PHP chỉ bắt đầu với một dấu đô la. 1041 00:45:54,890 --> 00:45:58,130 Đó là loại thực sự hữu ích trong đó nó nhảy ra ở bạn nhiều hơn một chút. 1042 00:45:58,130 --> 00:46:01,315 >> Nhưng sau đó, điều này là một điều kiện trong PHP. 1043 00:46:01,315 --> 00:46:03,140 1044 00:46:03,140 --> 00:46:04,730 Điều khác biệt so với C? 1045 00:46:04,730 --> 00:46:07,180 1046 00:46:07,180 --> 00:46:09,600 Lừa question-- không có gì, mà thực sự là thực sự tốt đẹp. 1047 00:46:09,600 --> 00:46:12,140 Biểu thức Boolean trong PHP-- cùng. 1048 00:46:12,140 --> 00:46:19,354 Biểu thức Boolean và so với hoặc, chuyển mạch, vòng, vòng, loops-- OK, 1049 00:46:19,354 --> 00:46:20,270 này là khác nhau. 1050 00:46:20,270 --> 00:46:22,660 >> Vì vậy, nó quay ra có một vài tính năng khác trong PHP. 1051 00:46:22,660 --> 00:46:25,243 Một trong số đó là thực sự này, đó là tuyệt vời, thuận tiện. 1052 00:46:25,243 --> 00:46:29,250 Nếu $ số là một mảng mà bạn đã tuyên bố trước đó trong một chương trình, 1053 00:46:29,250 --> 00:46:33,350 bạn có ưa thích này cho mỗi xây dựng rằng thay vì làm tất cả điều đó 1054 00:46:33,350 --> 00:46:37,020 gây phiền nhiễu tôi bằng 0, tôi là nhỏ hơn này, [? Tôi ++?], 1055 00:46:37,020 --> 00:46:40,320 cho mỗi con số như số, trong đó mỗi những giá trị ký hiệu đô la chỉ là 1056 00:46:40,320 --> 00:46:42,790 một biến, và sau này bạn có thể nghĩ như I. 1057 00:46:42,790 --> 00:46:44,290 Bạn có thể gọi nó là bất cứ điều gì bạn muốn. 1058 00:46:44,290 --> 00:46:45,770 Tôi gọi nó là số. 1059 00:46:45,770 --> 00:46:48,825 Điều này sẽ lặp qua mảng gọi là số. 1060 00:46:48,825 --> 00:46:51,200 Và trên mỗi lần lặp, nó sẽ tự động cập nhật 1061 00:46:51,200 --> 00:46:54,340 cho bạn số ký hiệu đô la biến để bạn liên tục 1062 00:46:54,340 --> 00:46:58,210 có quyền truy cập vào biến bạn muốn mà không cần phải làm bất cứ khung vuông 1063 00:46:58,210 --> 00:47:00,980 ký hiệu hoặc lập chỉ mục vào một mảng. 1064 00:47:00,980 --> 00:47:04,950 >> Ngoài ra, chúng tôi thậm chí có những thứ như mảng, trông gần như giống nhau, 1065 00:47:04,950 --> 00:47:08,210 ngoại trừ nó rất phổ biến, như chúng ta sẽ thấy thấy, cả hai trong PHP và JavaScript 1066 00:47:08,210 --> 00:47:10,750 đến trước khởi tạo một mảng sử dụng dấu ngoặc vuông. 1067 00:47:10,750 --> 00:47:12,040 C sử dụng dấu ngoặc nhọn. 1068 00:47:12,040 --> 00:47:15,330 Vì vậy, nó hơi khác nhau, mặc dù chúng tôi đã không thực sự sử dụng thủ thuật mà nhiều. 1069 00:47:15,330 --> 00:47:20,090 >> Nhưng thậm chí nhiều hơn một cách mạnh mẽ, PHP có mảng kết hợp, 1070 00:47:20,090 --> 00:47:23,100 đó là một cách ưa thích nói bảng băm. 1071 00:47:23,100 --> 00:47:31,610 Trong thực tế, nếu bạn muốn khai báo một băm bảng trong PHP, không giống như trong C-- bao nhiêu 1072 00:47:31,610 --> 00:47:34,775 dòng mã đã làm nó mất để thực sự thực hiện một bảng băm trong C? 1073 00:47:34,775 --> 00:47:38,310 Hoặc có bao nhiêu dòng mã là nó dùng để thực hiện một bảng băm trong C? 1074 00:47:38,310 --> 00:47:39,820 Vì vậy, nó có thể là rất nhiều, phải không? 1075 00:47:39,820 --> 00:47:41,680 Đó là một vài chục, có thể là 100 hoặc 200. 1076 00:47:41,680 --> 00:47:42,980 Đó là không tầm thường. 1077 00:47:42,980 --> 00:47:45,420 Hoặc nó về được, như bạn sẽ sớm thấy, không tầm thường 1078 00:47:45,420 --> 00:47:48,080 để thực hiện một bảng băm [Không nghe được] và cũng là một thử. 1079 00:47:48,080 --> 00:47:50,580 Nhưng trong PHP-- và thẳng thắn, tôi có lẽ không nên nói với bạn điều này 1080 00:47:50,580 --> 00:47:53,630 cho đến khi Monday-- trong PHP, nếu bạn muốn có một bảng, thực hiện. 1081 00:47:53,630 --> 00:47:56,431 Đó là một hash table-- như vậy với một dòng mã. 1082 00:47:56,431 --> 00:47:56,930 Và 1083 00:47:56,930 --> 00:47:58,810 >> Rất nhiều ngôn ngữ làm điều đó. 1084 00:47:58,810 --> 00:48:00,190 Hãy vui vẻ với pset năm. 1085 00:48:00,190 --> 00:48:01,980 Vì vậy, rất nhiều ngôn ngữ làm điều này. 1086 00:48:01,980 --> 00:48:03,050 1087 00:48:03,050 --> 00:48:06,140 Họ cung cấp cho bạn những khái niệm trừu tượng rằng những người khác, lập trình viên khác, 1088 00:48:06,140 --> 00:48:09,870 đã tạo ra cho bạn để bạn có thể đứng trên vai 1089 00:48:09,870 --> 00:48:13,290 và bắt đầu sử dụng những ý tưởng mà là siêu hấp dẫn, như bảng và cây băm 1090 00:48:13,290 --> 00:48:14,140 và cố gắng. 1091 00:48:14,140 --> 00:48:17,790 Tuy nhiên, bạn không nhất thiết phải thực hiện những điều mình. 1092 00:48:17,790 --> 00:48:20,850 >> Và do đó, cuối cùng, những gì chúng ta sẽ sử dụng PHP cho 1093 00:48:20,850 --> 00:48:23,580 được khả năng viết chương trình của cái gọi là dòng lệnh. 1094 00:48:23,580 --> 00:48:26,600 Chúng ta có thể tái tạo lại mọi chương trình chúng tôi đã viết trong học kỳ này cho đến nay, 1095 00:48:26,600 --> 00:48:30,410 ngoại trừ có thể Breakout trong đó sử dụng SPL, đó là cụ thể cho C vào lúc này. 1096 00:48:30,410 --> 00:48:33,100 Nhưng mọi vấn đề khác được thành lập, chắc chắn Mario và Caesar 1097 00:48:33,100 --> 00:48:35,300 và Vigenere và [? Crack?] Và trở đi, chúng tôi 1098 00:48:35,300 --> 00:48:39,520 có thể tái thực hiện trong PHP, và có thể là một chút dễ dàng hơn. 1099 00:48:39,520 --> 00:48:43,050 >> Nhưng những gì chúng ta cuối cùng sẽ Sử dụng PHP cho là lập trình web. 1100 00:48:43,050 --> 00:48:46,420 Và chúng tôi sẽ giới thiệu tiếp theo tuần một mô hình tâm thần, một mô hình được gọi là 1101 00:48:46,420 --> 00:48:49,610 MVC, mô hình điều khiển xem, mà nếu bạn đã thực hiện chương trình 1102 00:48:49,610 --> 00:48:51,610 trước khi hoặc trong Python Ruby hay ở nơi khác, bạn 1103 00:48:51,610 --> 00:48:54,112 có thể biết của đội bóng này với Rails và Django và như thế nào. 1104 00:48:54,112 --> 00:48:55,820 Nhưng nếu bạn là người mới này quá, bạn sẽ thấy 1105 00:48:55,820 --> 00:48:59,652 rằng điều này thực sự là một rất tự nhiên mở rộng của các thừa số 1106 00:48:59,652 --> 00:49:01,360 và các loại thiết kế mã mà chúng tôi đã 1107 00:49:01,360 --> 00:49:04,670 được làm trong C. Chúng tôi sẽ đến nay áp dụng một số những bài học PHP 1108 00:49:04,670 --> 00:49:07,190 để cuối cùng, chúng tôi thực hiện các trang web riêng của chúng tôi. 1109 00:49:07,190 --> 00:49:09,080 Và nếu bạn loại bị thôi miên hay ngạc nhiên 1110 00:49:09,080 --> 00:49:10,954 rằng chúng ta đang đi làm tất cả các cách nhanh chóng, 1111 00:49:10,954 --> 00:49:13,410 nhận ra rằng hầu như tất cả học kỳ, gần 90% 1112 00:49:13,410 --> 00:49:16,560 sinh viên CS50, bao gồm cả những người chưa bao giờ được lập trình trước, 1113 00:49:16,560 --> 00:49:20,329 kết thúc làm cho dự án cuối cùng mà được dựa trên lập trình web. 1114 00:49:20,329 --> 00:49:23,120 Và như vậy bạn sẽ thấy rằng lợi nhuận cao trong những tuần tới. 1115 00:49:23,120 --> 00:49:24,965 Vì vậy, chúng ta sẽ thấy bạn sau đó vào thứ hai. 1116 00:49:24,965 --> 00:49:27,260 1117 00:49:27,260 --> 00:49:30,120 >> SPEAKER 1: Và bây giờ, Deep Suy nghĩ của Daven Farnham. 1118 00:49:30,120 --> 00:49:34,055 1119 00:49:34,055 --> 00:49:34,780 Bảng băm. 1120 00:49:34,780 --> 00:49:37,180 1121 00:49:37,180 --> 00:49:38,402 >> [Cười] 1122 00:49:38,402 --> 00:49:38,902