>> [MUSIC CHƠI]
DAVID J Malan: Tất cả các bên phải, chào mừng trở lại.
Đây là CS50.
Đây là phần cuối của tuần bảy.
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
mà bạn có thể nhớ lại.
Sau khi thu hồi tất cả những hình ảnh JPEG của nhân viên,
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
của những người folks như bạn có thể.
Chúng tôi đã nhận một bó toàn bộ đệ trình trong vài tuần qua,
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,
bắt gặp ở đây in-- trông like-- Annenberg Hall tại giờ làm việc, một ở đây
trong Lowell House với Nick.
Dưới đây là Ramon bị bắt trên điện thoại.
Đây là tại một bữa ăn trưa CS50.
Đây là Jason skyping với một bạn cùng lớp sáng tạo hơn,
người gọi điện cho anh ấy theo cách này.
Chúng tôi không biết điều này là.
>> [Cười]
>> DAVID J Malan: Nhưng đó là giá trị một gigabyte.
Dưới đây là Chang, người nghĩa đen chạy ra khỏi sân khấu
để tránh bị chụp ảnh một ngày, nhưng cuối cùng đã bị bắt.
Đây là Nick.
Và đây là Alison xuống bởi các lĩnh vực.
Và Zamyla thậm chí đã được tìm thấy tại một cuộc thi khiêu vũ.
Vì vậy, chúng ta sẽ đi qua những bức ảnh, tìm ra
người nộp nhiều nhất sớm nhất, và phần thưởng
một giải thưởng tuyệt vời, như hứa trong spec.
Và chúng tôi cũng sẽ theo dõi về không gian đã được tham gia.
>> 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.
Nếu bạn muốn tham gia chúng tôi, RSVP tại URL đó ở đây.
Jason lại xuất hiện ở đây từ một của các bộ phận một vài năm
trở lại, trong đó xảy ra rơi vào đêm Halloween.
Và quả thực, ông ăn mặc như một bí ngô năm đó cụ thể.
Nếu bạn xem phần này năm 2011 từ phần của mình
tám, nếu bạn tò mò, tại CS50.tv, tôi nghĩ
đây là năm mà máy bơm không khí của ông đã làm việc.
>> Nếu sau đó bạn xem phần tương tự vào năm 2012,
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,
mà chỉ là để nói Thứ Sáu này, nếu bạn muốn
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
tại địa chỉ cs50.harvard.edu.
Nó hứa hẹn sẽ rất thú vị.
Daven, chúng tôi đang nói, đã khắc bí ngô tất cả của cuộc đời mình.
Gabriel từ Brazil chưa bao giờ chạm khắc một quả bí ngô cho Halloween.
Vì vậy, có mặt ở đó với họ như cậu học được.
>> Hội thảo, meanwhile-- vì vậy bạn sẽ học sớm
về những gì mong đợi của chúng tôi là cho dự án cuối cùng, trong đó chủ yếu
sẽ đun sôi xuống thiết kế và thực hiện
hầu hết bất kỳ dự án quan tâm bạn, mặc dù với sự chấp thuận
và hướng dẫn của giáo viên giảng dạy của bạn.
Vào cuối của học kỳ, chúng tôi giới thiệu một số
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
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à
là tiếp tuyến với giáo trình cơ bản của quá trình
nhưng dù sao áp dụng, vui vẻ, và khác nhau cho các dự án thức tiềm năng.
>> Ví dụ, đầu tiên, nếu bạn muốn đăng ký, người đứng đầu với URL đó.
Và đây là dòng sản phẩm cho hội thảo năm nay một mình.
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
đượ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.
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
hoặc chọn lên một số kỹ năng mới, Ví dụ, lập trình iPhone
các ứng dụng với Swift, một ngôn ngữ mới từ Apple hoặc Objective-C
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ủ đề
ở đây và nhiều hơn nữa, kiểm tra do ra trang đăng ký.
>> 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.
Vì vậy, nhanh chóng refresher-- HTTP, HyperText Transfer Protocol.
Nhưng điều đó thực sự có nghĩa gì?
Điều đó thực sự có ý nghĩa gì?
Là một tay?
Tôi biết bạn đang chỉ gãi đầu của bạn.
Nhưng bạn muốn đề xuất HTTP là gì?
>> ĐỐI TƯỢNG: Làm thế nào máy tính giao tiếp với [không nghe được].
DAVID Malan J: Tôi bị mất một phần cuối cùng.
Làm thế nào các máy tính giao tiếp with--
>> Các máy chủ Internet: ĐỐI TƯỢNG.
DAVID J Malan: Good-- với internet máy chủ, và đặc biệt, các máy chủ web.
Bởi vì thu hồi, có một loạt các dịch vụ trên internet, một số trong đó
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,
và như thế nào.
Và HTTP chỉ là giao thức mà các trình duyệt web
nói khi giao tiếp với các máy chủ web, và ngược lại.
Và tương tự trong thế giới con người có thể được,
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 đó
thừa nhận bằng cách mở rộng của mình hoặc tay là tốt.
Vì vậy, đó chỉ là một giao thức, một tập hợp các ước.
>> Và những gì thực sự là những quy ước được?
Vâng, nó chỉ nắm tới gửi tin nhắn qua lại,
như chúng tôi mô tả ở đây.
Và có một vài cách trong mà bạn có thể gửi tin nhắn này.
Và có lẽ nhiều nhất phổ biến được gọi là get.
Và chúng ta sẽ thấy một sự tương phản này trước khi dài.
>> 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.
Đó là một loạt các văn bản mà nó đặt bên trong một phong bì ảo.
Ở bên ngoài phong bì đi một vài mẩu thông tin chi tiết.
Những gì cần phải đi trên phong bì, có thể nói,
để có được một yêu cầu như này từ tôi đến một máy chủ web?
Yeah.
>> Đung địa chỉ IP của bạn.
>> DAVID J Malan: địa chỉ IP của tôi ở mục From, có thể nói,
và tất nhiên, địa chỉ IP của người nhận.
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
Nó không đủ chỉ để gửi một phong bì đến một máy chủ,
bởi vì máy chủ đó có thể là lắng nghe với nhiều loại khác nhau
lưu lượng truy cập internet.
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?
Yeah?
>> Đung Có TCP?
DAVID J Malan: Tốt.
TCP--
>> Đung Địa chỉ.
>> DAVID J Malan: Địa chỉ, hoặc cổng, như nó được gọi là.
Close, nhưng một số cổng TCP.
Và có một bó của các.
Nhưng chắc chắn nhất quen thuộc nên cuối cùng
là 80, đó là mặc định một sử dụng cho lưu lượng truy cập web.
Và một quen thuộc một sẽ sớm được 443,
được sử dụng cho web an toàn giao thông, các URL bắt đầu bằng https.
>> Vì vậy, đây là những gì diễn ra bên trong phong bì đó.
Và nhận được / chỉ có nghĩa là, cho tôi những trang web mặc định.
Hãy cho tôi thư mục gốc của đĩa cứng lái xe trên máy chủ web.
Và hy vọng, web máy chủ sẽ trả lời với, OK
và số 200, mà chỉ là một quy ước nói rằng, có, tất cả
thực sự là OK.
Đây là trang.
Các loại trang web sẽ được văn bản, nhưng cụ thể hơn, HTML,
mà chúng tôi đang về để lặn trở lại.
Và dấu chấm chấm chấm chỉ phương tiện, đây là HTML.
Và đó là nơi chúng tôi mở đầu câu chuyện ngày hôm nay,
thực sự bằng văn bản HTML, HyperText Markup Language, mà
là ngôn ngữ mà trang web được viết.
Nó không phải là một ngôn ngữ lập trình.
Không có chức năng hoặc vòng hoặc điều kiện.
Đó 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,
cho phép bạn chỉ định làm thế nào để cấu trúc và phong cách hóa
thẩm mỹ một trang web.
>> Vì vậy, đây là một trong các và chỉ trang chúng tôi thực sự
nhìn, nếu một thời gian ngắn, vào thứ hai.
Và nhận thấy một vài đặc điểm nổi bật.
Có rất nhiều góc mở khung và đóng khung góc cạnh.
Trong giữa những góc cạnh ngoặc là từ.
Và chúng ta sẽ bắt đầu kêu gọi những từ thẻ.
Vì vậy, mở đầu khung và đầu khung khép kín
là các thẻ mở và đóng, hoặc bắt đầu và kết thúc
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.
Và các thuật ngữ tương tự áp dụng để cơ thể trong HTML và vv.
>> Và những gì tốt đẹp là HTML-- và quả thật, chúng tôi sẽ
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
những tính năng nó có khi bạn thực sự có một vấn đề cụ thể
để solve-- bạn sẽ thấy rằng một trình duyệt là khá ngớ ngẩn.
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.
Và như vậy khi bạn đã mở khung HTML ở đầu
có, mà chủ yếu chỉ có nghĩa là, hey, trình duyệt,
ở đây có một trang web được viết bằng HTML.
>> Khi nó thấy mở khung người đứng đầu, mà chỉ có nghĩa là,
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.
Khi nó thấy một khung khép kín người đứng đầu, mà chỉ có nghĩa là, hey,
đó là nó cho người đứng đầu.
Chờ cho cái gì khác.
Và đó là cái gì khác là rõ ràng sẽ là cơ thể.
Và khi bạn không có một thẻ, như bạn có chỉ là hello, dấu phẩy, thế giới,
đó là chỉ cần đi để được văn bản thô cuối cùng được hiển thị trong màn hình.
>> Bây giờ, bạn sẽ nhận thấy quá thụt đầu dòng ở đây.
Bạn có thể có thể suy ra làm thế nào chúng ta đang stylizing nó.
Mỗi lần tôi mở một thẻ, vậy để nói chuyện, tôi thụt.
Và mỗi khi tôi đóng một thẻ, tôi bỏ thụt lề,
tinh thần tương tự dấu ngoặc nhọn.
Và hơn nữa, tôi là loại của việc sử dụng bản án của tôi.
Chú ý rằng tôi không bận tâm đánh Nhập bên trong đó thẻ tiêu đề.
Tại sao?
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,
chỉ cần không bận tâm làm điều đó.
Vì vậy, một lần nữa, có một số án gọi điện
như có trong C hoặc ngôn ngữ nào.
>> 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,
không để quá phức tạp nó.
Nhưng một cây, phải không?
Nếu bạn nghĩ về một web trang, rõ ràng bằng văn bản
như thế này, như là độc đáo thụt vào theo cách đó,
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
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
chúng ta nhìn vào thứ sáu tuần trước.
>> 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
mô hình đối tượng, một cách nói một cây đại diện cho HTML.
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.
Bên trái là đầu.
Bên phải là cơ thể.
>> 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
theo cấu trúc này?
Vì vậy, chỉ là một, title-- và đó là lý do tại sao chúng tôi có
mũi tên đi từ đầu đến tiêu đề.
Vì vậy, nó như là mặc dù người đó trong cây gia đình chỉ có một con.
Và sau đó tiêu đề bản thân có thể được cho là có một đứa trẻ quá.
>> Nhớ lại rằng HTML có hello, dấu phẩy, thế giới bên dưới nó.
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ỉ
để truyền đạt ngữ nghĩa rằng mặc dù đó là một nút trong cây, có thể nói,
đó là loại cơ bản khác nhau.
Nó không phải là một thẻ.
Hoặc đúng hơn, nó không phải là một yếu tố.
Nó chỉ là một nút văn bản, nếu bạn sẽ.
Nhưng đây là hoàn toàn ước của con người tùy ý.
Đâ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
gọi tài liệu.
>> 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,
mở khung dấu chấm than doc kiểu HTML, điều này trông giống như một thẻ,
nhưng đó là trường hợp góc ngu ngốc nơi đó chỉ là có, sao chép và dán
để chỉ các trình duyệt đây là phiên bản HTML 5.
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.
Điều này chỉ có nghĩa là phiên bản 5.
Vì vậy, nó không hoàn toàn trông giống như những người khác.
>> 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
điều này khá ngu ngốc này hình xăm ai đó đã.
>> [Cười]
>> 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
vào làm một cái gì đó với điều này.
Bạn sẽ nhớ lại rằng thời gian cuối cùng Tôi đã mở ra Appliance CS50
và tôi đã làm một cái gì đó như đơn giản như mở cửa gedit.
Và tôi đã lưu các tập tin ngay cả trên desktop-- của tôi đâu special--
như hello.html.
>> Vì vậy, hãy để tôi làm điều đó again-- hello.html Enter.
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ỉ
saw-- doc loại html Sau đó, tôi sẽ làm khung mở html khung khép kín.
Và sau đó tôi sẽ đánh phủ đầu mở và đóng thẻ.
Tại sao?
Chỉ vì vậy tôi không quên sau.
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.
>> Và sau đó những gì xảy ra tiếp theo?
Bạn có thể nghĩ về những hình xăm.
>> Đung Người đứng đầu.
>> DAVID J Malan: Người đứng đầu.
Và sau đó ở đây, tôi có tiêu đề, tôi nghĩ.
Và tiêu đề là tùy tiện, hello, danh hiệu gần thế giới.
Và sau đó xuống đây, cơ thể, của course-- sau đó chúng tôi đóng thẻ cơ thể.
Và sau đó chỉ cần một chút dư thừa, Tôi đã có những điều tương tự ở đây.
>> Vì vậy, tôi cho rằng đây là một trang web.
Đây là một cái gì đó bây giờ có thể sống trên web,
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ờ.
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ó.
Mặc dù đây là thiết bị, bạn có thể làm điều này trên Mac OS
mà không TextEdit hoặc Windows với Notepad thậm chí.
>> 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
không chọn điều đó bởi vì Chrome không mở.
Chúng ta hãy đi trước và mở Chrome.
Và sau đó làm Command-O để mở Và điều hướng đến máy tính để bàn của tôi
và mở tập tin đó.
Đó 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.
Hey, đây là trình duyệt HTML.
Dưới đây là người đứng đầu.
Dưới đây là danh hiệu.
Đây là cơ thể.
Và quả thực, đây là cách nó ám trang web đó.
>> Nhưng hãy chú ý URL.
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ờ,
thậm chí bên trong của bạn thiết bị thông qua URL đó,
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,
không phải của bạn.
Vì vậy, đây không phải là tất cả những gì hữu ích.
>> Bây giờ chúng ta tiến tới sử dụng một máy chủ web thực tế.
Và nó quay ra CS50 gia dụng là nhiều hơn chỉ là một môi trường mà
bạn có thể viết mã C và biên dịch và chạy nó như bạn đã làm.
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
máy chủ đó là trên internet, một mà bạn có thể trả tiền cho
hoặc một trong đó là trong cái gọi là đám mây.
>> Và nó đang chạy tiêu chuẩn mã nguồn mở miễn phí
phần mềm, ví dụ, một cái gì đó được gọi là Apache, mà có lẽ là
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
mà hàng ngàn trang web sử dụng ngày nay.
Và nó cũng còn có phần mềm như MySQL,
mà là một máy chủ cơ sở dữ liệu rằng chúng ta sẽ nhận được,
mà chỉ là để nói Tôi có thể bắt đầu điều trị
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.
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.
>> Vì vậy, hãy đi trước và tận dụng lợi thế này.
Tôi sẽ đi trước và mở ra một cửa sổ terminal.
Và tôi sẽ đi trước và move-- thực sự, lần đầu tiên tôi
sẽ hướng đến máy tính để bàn của tôi.
Nếu tôi làm ls, có hello.html.
Và tôi sẽ đi trước và bắt đầu sử dụng
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.
>> hello.html-- tôi sẽ di chuyển để ../vhosts cho hosts-- ảo
thêm vào đó trong các future-- và sau đó vào một thư mục gọi là localhost,
đó là biệt danh cho gần bất kỳ máy tính, cho dù đó là một máy Mac, PC,
hoặc máy tính Linux, và sau đó đặc biệt vào một thư mục mà chúng ta,
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à
công cộng.
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,
đang xảy ra đến nay là công cộng, ít nhất là để mọi người
người có trực tiếp kết nối với máy tính của tôi.
>> Vì vậy, bây giờ để tôi đi trước và làm cd đến thư mục đó
vì vậy tôi có thể nhìn thấy những gì xảy ra và loại ls.
Và quả thực, đó là Chỉ có điều trong đó.
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
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
gọi là vhosts, mà nhờ nhân viên CS50
đã được cấu hình sẵn để được thư mục gốc của máy chủ web của bạn,
Tôi bây giờ có thể hy vọng làm được điều này.
>> Tôi sẽ mở ra một tab mới.
Và tôi sẽ đi không nộp: //.
Tôi sẽ sử dụng thực tế http / localhost, mà
một lần nữa, là biệt danh cho máy chủ của riêng tôi.
Và sau đó tôi sẽ đi đến những gì tên file, chỉ để được rõ ràng?
Đâu là câu chuyện này có lẽ sẽ đi đâu?
hello.html.
>> 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,
như thể nó là một máy chủ thực sự.
Biệt danh của nó là localhost.
Nhưng suy nghĩ của localhost là như Facebook.com google.com, bất cứ điều gì.
Nó chỉ là tên địa phương của tôi.
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,
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 đó
các hello.html tên tập tin.
>> Hãy để tôi thu nhỏ và nhấn Enter.
Và quả thực, bây giờ có trang web của tôi.
Vì vậy, nó hơi khác nhau.
Và nó chỉ là underwhelming.
Đây là phiên bản cũ.
Hãy để tôi thu nhỏ phông chữ trở lại.
Đây là cũ.
Đây là mới.
Nhưng những gì đang xảy ra cơ bản bây giờ là HTTP đang được sử dụng.
>> 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.
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.
Và nhận thấy rằng tất cả điều này thời gian, đã có một số.
Đó là địa chỉ duy nhất của gia dụng CS50 của bạn.
Đó là một địa chỉ tư nhân, như ngụ ý của các 172,16,
mà chỉ có nghĩa là bạn chỉ vật lý có thể truy cập máy chủ web này.
Mọi thứ đều được tường lửa và độc đáo bảo vệ khỏi phần còn lại
của thế giới vì điều này giải quyết.
>> 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,
nhưng trong Mac OS-- tôi sẽ quay trở lại ở đây.
Đây là máy Mac của tôi bây giờ.
Và bây giờ tôi sẽ mở ra phiên bản này của Chrome tại đây.
Và tôi sẽ đi đến http: //172.16.25 / Và tôi quên rest-- 133.
>> Vì vậy, tôi sẽ đến thăm từ máy Mac của tôi địa chỉ IP /hello.html Enter.
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
Địa chỉ IP là số lượng, thực sự là hành xử
giống như một máy chủ web trên internet.
Nó không có một dễ dàng tốt đẹp để nhớ tên như Facebook.com,
nhưng nó sử dụng HTTP rõ ràng, mặc dù Chrome
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.
Nhưng điều này thực sự là chính xác điều đó.
Chrome chỉ là tiết kiệm một số tổ hợp phím những ngày này.
Và đó là những gì chúng ta nhìn thấy.
>> Vì vậy, đó là tất cả tốt và tốt.
Nhưng đó là một trang khá underwhelming.
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ờ.
Vì vậy, hãy để tôi quay trở lại gedit.
Và thay vì xin chào, thế giới, chúng ta hãy đặt một hình ảnh.
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.
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
từ thư mục Dropbox của tôi vào đây.
>> Bây giờ nếu tôi gõ ls, tìm tại tất cả các file
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,
một trong số đó vẫn còn hello.html.
Vì vậy, có một đó.
Và nhớ lại một ngớ ngẩn này từ cat.jpg time-- cuối cùng.
Vì vậy, hãy để tôi cố gắng nhúng cat.jpg bên trong trang web của tôi.
>> Tôi sẽ đi trước và làm cat.jpg, tiết kiệm.
Hãy để tôi quay trở lại Chrome.
Và hãy để tôi phóng to phông chữ và bây giờ lại.
Rất tiếc, nơi mà tôi đặt này?
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.
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.
Vì vậy, bây giờ để tôi đi trước và nói cat.jpg bên trong cơ thể
nơi mà tôi muốn nó được hiển thị và tải lại.
Tất nhiên, điều này là không đúng.
>> 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.
Đơn giản chỉ cần gõ tên là rõ ràng là không đủ.
Vì vậy, nhớ lại rằng có một người khác thẻ, hình ảnh, img cho ngắn.
Đó chỉ là vì con người không thích các loại từ đầy đủ.
Và sau đó chúng ta có thể làm nguồn = "cat.jpg".
>> Và bây giờ tôi sẽ làm một điều khác nhau ở đây.
Mặc dù tất cả thẻ của chúng tôi vậy, đến nay có
đã có khái niệm về một bắt đầu từ khóa và một thẻ kết thúc,
mà không thực sự làm ý nghĩa đối với một hình ảnh, phải không?
Một hình ảnh hoặc là có hay không có.
Và như vậy con người đã đến với một quy ước đơn giản.
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
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ẻ
ở cuối.
Bây giờ hãy để tôi quay trở lại trình duyệt của tôi.
Lượt Nạp lại Chết tiệt, cái gì là sai.
Bạn đã có thể nhìn thấy điều này thỉnh thoảng trên trang web,
ngay cả khi nó không phải là lỗi của bạn.
Đó là lỗi của máy chủ web.
Có gì Odes này dường như chỉ ra?
Nó bị gãy.
Đó là nơi mà các hình ảnh thuộc.
Yeah?
>> Đung Nhưng nó không có quyền truy cập vào các hình ảnh.
>> DAVID J Malan: Nó không có quyền truy cập vào các hình ảnh.
Điều đó, hoặc thậm chí tệ hơn, có thể nó thậm chí không tồn tại.
Hãy xem nếu chúng ta không thể chẩn đoán đó.
Nhớ lại từ lần cuối cùng mà nếu trong Chrome, trong thiết bị,
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
và đi đến Công cụ phát triển lựa chọn, mà có lẽ bạn đã
không được sử dụng nhiều hay bao giờ hết.
Và nếu tôi đi đến Network và tải lại trang,
chúng ta hãy thực sự nhìn vào HTTP yêu cầu đang được thực hiện.
>> Nó trông giống như là hello.html thực sự OK, vì thế 200.
Nhưng cat.jpg là 403.
Vì vậy, nó không phải là một 404.
Tập tin có thể tồn tại.
403 có nghĩa là bị cấm.
Vì vậy, đây là một chút bối rối.
Tôi sẽ quay trở lại cửa sổ thiết bị đầu cuối của tôi.
Hãy để tôi phóng to lên ở đây.
Và hãy để tôi làm một ls.
Có những file đó.
>> Bây giờ hãy để tôi làm một ls-l, mà bạn đã có thể
sử dụng trước khi nhìn vào tập tin kích thước có thể hoặc thời gian.
Và chúng ta thấy một bó toàn bộ thông tin áp đảo.
Nhưng hãy chú ý một vài chi tiết.
Dưới đây là hello.html trong này hàng ở đây và đây là cat.jpg.
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
màu tím như thế này.
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?
>> Đung [không nghe được].
DAVID J Malan: Yeah, có hơn hai R ở đây.
Chú ý những gì hello.html đã xảy ra.
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.
Bất cứ điều gì trong thư mục này có nghĩa là để được công khai.
Nhưng nó không đủ chỉ để thả các tập tin trong đó.
Bạn cũng cần phải thay đổi chế độ của các tập tin,
thay đổi các điều khoản của các tập tin để chủ động không
được thiết lập mặc định, mà là duy nhất tôi có thể đọc
và viết nó, tôi là chủ sở hữu.
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.
Đọc chỉ có nghĩa là xem nó.
>> 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.
Có nghĩa là hai R cho mọi người khác trên thế giới cũng đọc nó,
đặc biệt là bây giờ mà đó là trong thư mục này.
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
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,
và sau đó cat.jpg Enter.
Không có gì có thể xảy ra, mà thường có nghĩa là một điều tốt.
Vì vậy, ls-l again-- nay hãy nhìn vào cat.jpg.
Và sự cho phép này dường như đã thay đổi.
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ụ,
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,
bạn có thể làm điều ngược lại, chmod a-r.
Mặc dù thẳng thắn, nó không nên ở trong thư mục công cộng
anyway nếu đó là mối quan tâm.
>> Vì vậy, bây giờ hãy trở lại trình duyệt và tải lại của tôi.
Và tôi sẽ phải bấm các Ghostbusters ít
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.
Và quả thực, đây là Cát grump từ trước.
Nhưng quan trọng hơn, về mặt kỹ thuật, có
số 200, trong đó có nghĩa là chúng tôi đã nhận nó OK.
Tất cả các bên phải, vì vậy đó là tất cả tốt và tốt.
Nhưng chúng tôi không làm tốt nhất của trang web,
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.
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
ra một vài thẻ khác.
Vì vậy, giả sử tôi không chỉ muốn có một con mèo ở đây.
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ì đó.
>> Tôi có thể, ví dụ làm một cái gì đó như thế này.
một cho neo href cho siêu tham khảo equals--
và chúng ta hãy làm điều gì đó như www.google.com gần
trích dẫn dấu đóng ngoặc.
Và bây giờ tìm kiếm con mèo.
Đóng thẻ neo.
Vì vậy, đây chỉ có một loại chi tiết cơ bản mới.
Thẻ tất nhiên, là khác nhau.
Đó là tên một cho neo href hoặc siêu tham khảo.
>> Nhưng quan trọng hơn, có Tính năng cú pháp này ở đây.
Đâ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.
Và một thuộc tính là một cái gì đó thay đổi hành vi của một thẻ.
Và điều này thuộc tính, href, phương tiện thay đổi hành vi của neo này
để khi được nhấp vào, nó đi vào URL này ở đây.
Và tất nhiên, URL đó là Google.
>> Trong khi đó, đây là những gì văn bản ở đây sẽ là?
Vâng, đó sẽ là những gì con người thực sự
thấy như gạch chân liên kết, đơn giản như vậy.
Vì vậy, hãy thử này.
Hãy để tôi lưu nó.
Tôi vẫn còn trong hello.html.
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ị.
Hãy để tôi đi trước và tải lại.
Và bây giờ là rất trang underwhelming vẫn còn.
Nhưng nếu tôi đưa chuột qua there-- và đó là một chút nhỏ,
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,
nó thực sự sẽ google.com.
Và nếu tôi nhấp vào đó, nó sẽ đánh trứng cho tôi cách để thực tế Google.
>> 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.
Và chúng tôi sẽ trở lại khác vấn đề an ninh trước khi dài.
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,
bạn có thể làm một cái gì đó như this-- http://www.google.com.
OK, và bây giờ nếu tôi tải lại sau khi tiết kiệm trang đó,
nó trông giống như tôi sẽ đi đến Google.
Nhưng không có lý do tôi phải đi đến Google, phải không?
Tôi thực sự có thể đi đến một cái gì đó như badguy.com, tải lại trang ở đây.
Và thông báo, nó vẫn trông giống như Google.
Và chỉ khi tôi là sắc nét đủ để di chuột qua đây
làm tôi thấy nó thậm chí sẽ đi đến một vị trí khác nhau.
>> Vì vậy, nếu bạn đã bao giờ nhận được một email, đặc biệt
một từ Paypal, hoặc dường như từ Paypal
yêu cầu bạn đăng nhập vào tài khoản của bạn, điều này
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,
thẳng thắn, bất kỳ liên kết trong email.
Nếu bạn biết bạn có thực tế tiền trong Paypal hoặc Ngân hàng
Kỳ hoặc Fidelity hoặc bất kỳ trang web, tự gõ vào.
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ì
trông giống như một liên kết.
Nhưng nó thực sự có thể đi hoàn toàn bất cứ nơi nào.
>> Và có lớn hơn mối đe dọa hơn này.
Trong thực tế, đây là một chút của một tiếp tuyến, nhưng một
của những người tốt nhất tôi từng thấy từ đó đã được đóng cửa,
là người lãnh đạo nhân dân đối với: điều này có thể nói,
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.
Và đây là Ngân hàng của phương Tây.
>> Vì vậy, ai đó đã mua này.
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ỏ
ở trên một máy chiếu 30-foot.
Nhưng khi đó là chữ nhỏ trong một email mà bạn nhận được,
này trông giống như bankofthewest.com, không bankofthevvest.com,
mà ai đó đã trả $ 10 để mua.
Và sau đó điều này đã dẫn họ đến tương đương với một số trang web xấu.
>> 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ế,
bankofthewest.com, một lần nữa, thu hồi từ lần cuối cùng
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,
bạn chắc chắn có thể đi đến Công cụ phát triển của Chrome.
Và bạn có thể xem tất cả các HTML định dạng độc đáo đó.
>> Nhưng hơn thế nữa, cam-- bạn hãy đóng
this-- bạn có thể vào View Developer View Source.
Tại sao tôi không chỉ cần sao chép tất cả điều đó Và sau đó tôi
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.
Tiết kiệm này trong hello.html.
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.
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,
OK, một số công cụ đã phá vỡ.
Nhưng tôi khá gần có trang web ngân hàng của riêng tôi, phải không?
Tất cả điều này HTML--
>> [Cười]
>> DAVID J Malan: --Tôi không actually-- và bạn
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á.
Vì vậy, rõ ràng, một số công cụ đã phá vỡ.
Nhưng điều đó sẽ dẫn chúng ta vào một cuộc thảo luận,
không cần thiết ngay bây giờ, như những gì CSS, cascading style sheets, là,
và làm thế nào bạn thực sự tải về các tập tin HTML khác
và JPEG tập tin file GIF mà các trang web có thể được sử dụng.
Nhưng tất cả điều đó là accomplishable.
Nhưng nó thực sự nắm để những chẩn đoán rất đơn giản.
>> Vì vậy, bây giờ chỉ lướt qua một vài ví dụ khác về HTML
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.
Ví dụ, đây là list.html.
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.
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
và sau đó lặp over-- hoặc danh sách, rather-- những ngôi nhà trong câu hỏi.
>> Và nếu tôi mở này lên, chúng ta hãy làm điều này.
Hãy đi không hello.html, nhưng để list.html.
Chết tiệt.
Làm thế nào để sửa lỗi này?
Đó là vấn đề tương tự như trước đây, phải không?
Vì vậy, hãy để tôi làm oops-- chmod-- chmod a + r của list.html.
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.
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 đó.
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ự,
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.
>> Chúng ta có thể làm gì khác?
Vâng, một vài others-- nếu bạn đã có đoạn văn dài của text--
Ví dụ, một số Văn bản Latin như this--
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.
Và làm điều đó một lần nữa và một lần nữa.
Và nếu bây giờ tôi mở tập tin này, paragraphs.html, tốt, điều này
là nhận được gây phiền nhiễu.
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--
một thẻ hoang dã ít tốt đẹp để nói chuyện.
Nó sẽ sửa chữa tất cả những vấn đề này cho tôi.
Hãy tải lại.
Có ba đoạn.
>> Và bây giờ chúng ta hãy đi trước và mở ra một khác.
Làm thế nào về bảng?
Bạn sẽ nhận thấy bảng vẻ nhiều hơn một chút phức tạp.
Nhưng đó là idea-- cùng thẻ mở, thẻ mở,
mở, mở, mở, thẻ đóng, thẻ mở.
Và những xảy ra để đứng cho bảng, có biên giới rõ ràng là
sẽ là một độ dày 1-- bất cứ điều gì rằng dòng của bảng means--, bảng
dữ liệu, có nghĩa là một tế bào.
Và nếu tôi quay trở lại trình duyệt của tôi ở đây và đi đến table.html,
bạn có thể nhìn thấy một cái gì đó như thế này, xấu xí.
Nhưng chúng tôi sẽ nhận được đến điểm nơi chúng tôi có thể thực sự
làm cho những điều đẹp hơn đó.
>> Vì vậy, hãy để tôi định cho bây giờ.
Có chùm nhiều thẻ.
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
được xem các trang web hiện tại mà bạn đã quen thuộc.
Và bạn đang như, oh, đó là cách họ đã làm điều này về mặt thẩm mỹ.
>> 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,
và bạn sẽ thấy rằng có một toàn bộ từ vựng của các thẻ khác.
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ở
đã phải đóng cửa, nó thực sự không đủ để dạy cho chính mình
HTML sau khi hiểu những ý tưởng cơ bản của thẻ
và các thuộc tính và các-formedness tốt mà chúng tôi đã nói chuyện về,
đó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.
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
bằng cách vào thực tế.
Và chúng ta hãy đi đến Mac của tôi ở đây, để google.com.
Và bây giờ notice-- chúng ta hãy làm điều này.
Tôi chiêng để đi đến Cài đặt, Cài đặt tìm kiếm.
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
bắt đầu phản ứng với đánh máy của bạn.
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.
>> Vì vậy, tôi sẽ tiết kiệm của tôi Thiết lập Google ở ​​đây.
Và bây giờ notice-- tôi sẽ tìm kiếm một cái gì đó giống như mèo.
Và nó vẫn còn làm tự động đầy đủ ở đây, nhưng dựa trên những điều
người đã gõ trong quá khứ.
Nhưng cần chú ý những gì sẽ xảy ra.
>> Trong URL vào lúc này là thế này, chỉ google.com.
Và về mặt kỹ thuật, đó là dấu gạch chéo.
Google chỉ là tiết kiệm một nhân vật và không cho chúng ta thấy rằng.
Họ cho chúng ta thấy https, chỉ là siêu yên tâm rằng chúng tôi
tại một trang bảo mật hoặc mã hóa.
>> Vì vậy, hãy để tôi đi trước và tìm kiếm con mèo.
Bây giờ điều này đã thực sự áp đảo một cách nhanh chóng.
Nhìn vào độ dài của URL này.
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.
Tôi sẽ bắt đầu xóa điều tôi không hiểu.
Tôi thấy con mèo.
Tôi hiểu mèo.
Tôi không biết lý do tại sao con mèo đó một lần nữa.
Tôi thực sự không biết những gì vô nghĩa này là.
Vì vậy, tôi chỉ cần đi để giữ làm nổi bật và xóa các phần
mà tôi không hiểu, chưng cất URL vào chỉ này.
>> Bây giờ chúng tôi có được nhập lại.
Có vẻ như Google vẫn hoạt động.
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ọ.
Nhưng nó không yêu cầu nghiêm ngặt.
Vì vậy, những gì là tốt đẹp về điều này?
Vâng, hãy để tôi đi trước và mở lên Thanh tra của Chrome.
Có một phím tắt chuột nhỏ cho nó.
>> Đi đến tab Network.
Và bây giờ hãy để tôi tải lại trang này một lần nữa.
Và tôi ấn phím Shift.
Là một sang một bên, các trình duyệt có xu hướng cache hay lưu
thông tin chỉ vì lợi ích của hiệu quả.
Nhưng thông thường, giữ phím Shift và tải lại sẽ buộc tất cả mọi thứ
để bắt đầu lại từ đầu.
Và đó là những gì tôi muốn làm ở đây.
>> Và nhận thấy tất cả các hàng mà chỉ cần xuất hiện.
Nó chỉ ra rằng trong bất kỳ web cho trang, có thể có chỉ là một tập tin
involved-- hello.html-- hoặc có có thể là 52, như trong trường hợp này.
Khi tôi đến thăm google.com, rõ ràng, trình duyệt của tôi
Khai mạc 52 yêu cầu HTTP riêng biệt.
Tại sao vậy?
>> Vâng, nhìn vào những gì bên trong của trang web lên hàng đầu này.
Không chỉ có văn bản, nhưng có hình ảnh thực tế
mèo trên bên phải.
Có một biểu tượng đầy màu sắc ở đây ở bên trái.
Có tất cả các biểu tượng cho một microphone và vv.
Có rất nhiều mảnh, xây dựng khối, miếng đầu, nếu bạn sẽ,
trang web này.
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à
là hàng này ở đây, nó chủ yếu là lặp lại trên đầu trang HTML
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
được đề cập đến các tập tin khác và khi nhìn thấy chúng, đi và đọc chúng
thông qua HTTP, toàn bộ khả thi phong bì ẩn dụ,
và sau đó hiển thị chúng trong vị trí thích hợp trong trang web.
>> 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,
nhận thấy rằng, thực sự nó sử dụng HTTP 1.1.
Và thật không may, Google Chrome ngay bây giờ trong phiên bản 39
là loại điều dumbing và không cho chúng ta thấy các tiêu đề thực tế.
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.
>> Bây giờ, tại sao là quan trọng?
Vâng, tôi sẽ suy ra từ này rằng nếu bạn Google
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
độ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.
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.
>> Vì vậy, làm thế nào tôi có thể làm điều này?
Vâng, hãy để tôi đi vào gedit ở đây.
Và hãy để tôi đi trước và mở lên, hãy nói, một tập tin mới.
Và tôi sẽ tiết kiệm này tạm thời như tìm kiếm-0.html.
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ị.
>> Và tôi sẽ nhanh chóng whip lên loại doc
html mở khung html gần khung html.
Sau đó, tôi sẽ làm đầu đầu gần tiêu đề mở CS50
Tìm kiếm thay vì tìm kiếm Google.
Xuống đây tôi sẽ có cơ thể, cơ thể xuống gần đây.
Và bây giờ tôi cần CS50 Search.
Và thực sự, chúng ta hãy xây dựng này từng bước.
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.
Vì vậy, cho tôi chỉ là một thời điểm.
tìm kiếm 0.html-- tôi sẽ tạm gọi nó là search.html.
Tôi sẽ chmod nó một search.html + r.
Và bây giờ tôi sẽ để mở nó.
Tất cả các bên phải, do đó đã được nhanh chóng.
Nhưng mục tiêu chỉ đơn giản là để có được chúng tôi đến điểm
của việc có văn bản này tập tin được gọi là search.html.
Vì vậy, không nhiều để xem xét được nêu ra.
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.
Nhưng bạn biết những gì?
Tôi có thể là một chút sành điệu.
Tôi đọc trong một cuốn sách mà có một tag tiêu đề gọi là h1.
Và tôi sẽ đi trước và sử dụng h1 h1 mở và gần gũi.
Nạp lại trang.
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ị,
nhưng ít nhất nó có cấu trúc thú vị hơn.
Nhưng bây giờ hãy để tôi giới thiệu một thẻ khác.
Hóa ra có một thẻ form.
Và hãy để tôi đóng thẻ đó.
Và nó quay ra có của một thẻ đầu vào
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,
nếu bạn sẽ.
Và sẽ là loại văn bản.
Và giá trị của nó sẽ là CS50 Search.
Đóng thẻ.
Và đó sẽ là không có khái niệm mở và đóng với các thẻ riêng biệt.
>> Hãy để tôi quay trở lại đây và xem những gì đang xảy ra, tải lại.
Bắt thú vị.
Có vẻ như nó là một lĩnh vực văn bản.
Và thực sự, tôi không muốn để đặt một giá trị có được nêu ra.
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.
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.
Và tôi không biết nó là gì, vì vậy tôi sẽ quay trở lại đó.
>> Nhưng bên dưới đó, tôi muốn để làm input type = nộp.
Và giá trị này sẽ được CS50 Search.
Và chúng ta sẽ thấy lý do tại sao tôi chuyển giá trị này.
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
động cơ, siêu xấu xí, mặc dù thẳng thắn, đó là
không phải là một ném xa những gì Trang mặc định của Google như thế nào.
>> 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.
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,
rõ ràng, một cơ sở dữ liệu.
Tôi đã không thu thập thông tin các web cho kết quả tìm kiếm.
Vì vậy, tôi cần phải thuê ngoài đó để Google.
Vì vậy, làm thế nào để làm điều này?
>> Vâng, trước hết tôi cần thêm và hành động
thuộc tính cho tag hình thức của tôi mà là http://www.google.com/search.
Và tôi biết rằng chỉ có từ suy ra bằng cách chặt chẽ
tại URL của họ.
Và bây giờ hãy đoán.
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
từ trước?
>> Đung? Q.
>> DAVID J Malan:? Q.
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,
q cho truy vấn có thể là do mặc định, chỉ vì đó là
những gì Larry và Sergey đến với năm trước.
Vì vậy, bây giờ để tôi tải lại trang này.
Nó không giống tất cả những gì khác nhau.
Nhưng bây giờ xem những gì sẽ xảy ra.
>> Nếu tôi gõ ở mèo và nhấp chuột CS50 Tìm kiếm và cho đi,
thông báo tôi được gạt đi vào thực tế Google.
Bây giờ, Google đang được một chút khó chịu ở chỗ chúng
phụ thêm một tham số bổ sung, nếu bạn sẽ, vào URL.
Đó là tất cả xảy ra tự động trên Google bên.
>> Phần quan trọng là tôi có vẻ đã tạo ra yêu cầu này ở đây.
Và quả thực, đó là những gì sẽ xảy ra.
Khi bạn có HTML trông như thế này, điều này
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
khi nó đã được gửi, nó sẽ đi đến URL này.
Và khi các URL đã cung cấp giá trị cho những thứ như q,
không đi chỉ để URL này.
Trên thực tế, đi đến câu hỏi đánh dấu và sau đó q = mèo.
Thêm các tham số, Tham số HTTP như thế.
>> Và chỉ để được siêu chính xác, những gì đang được suy ra here--
nhưng tôi sẽ explicit-- hơn là rằng phương pháp tôi muốn sử dụng
là có được, thay vì một cái gì đó như bài, mà cuối cùng chúng ta sẽ thấy.
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,
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
giao diện với một tìm kiếm động cơ đằng sau nó.
>> Nhưng điều này tất nhiên, là khá xấu xí.
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.
Đây là một trong tôi đã chuẩn bị ở trước đó có một số ý kiến.
Nhưng bạn sẽ thấy rằng tôi khá nhiều tái tạo nó.
Vì vậy, đây là đã có sẵn trực tuyến.
Và tôi đã xảy ra để đánh phủ đầu đi đến https chỉ để giữ cho nó đơn giản.
>> Và bây giờ hãy mở ra một lặp kế tiếp về điều này.
Là phiên bản 1 thay vì 0.
Những gì nhảy ra lúc bạn như hơi khác nhau trong ví dụ này?
>> Đung [không nghe được].
>> Yeah, có trung tâm class văn bản này.
Đây là một chút lạ ở đây.
Nhưng điều này thực sự là mới.
Và có thể đoán những gì sẽ xảy ra.
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,
nó gần như cùng một điều.
Nhưng đó là một bước gần hơn đến được một chút khá hơn.
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.
>> 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à
CSS, cascading style sheets.
Và CSS, thẳng thắn, là loại của, theo ý kiến ​​cá nhân của tôi,
một ngôn ngữ thiết kế tàn nhẫn.
Nó là rất khó chịu để nhớ tất cả các chi tiết khác nhau.
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.
Tôi bị xúc phạm một ai đó.
Được rồi.
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.
Và nó quay ra, ít nhất nó thực sự là một ngôn ngữ khá đơn giản.
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ị.
Thật vậy, đây là một tài sản đó và giá trị.
>> Đơ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
và cho nó một giá trị của một đại tràng từ và một từ khác,
hoặc một tài sản và một giá trị, Tôi có thể ảnh hưởng đến thẩm mỹ
của trang web, không nhất thiết phải cơ cấu nào,
nhưng tính thẩm mỹ của nó.
Và chỉ bằng cách Googling xung quanh, tôi nhận ra rằng tấm CSS, cascading style,
hỗ trợ một tài sản được gọi text-align, mà giá trị có thể
được trái, phải, hoặc trung tâm, ví dụ.
>> Vì vậy, bây giờ khi tôi tải lại trang này, những gì tôi đã nhận được
là một trang trung tâm, nhưng vẫn còn khá xấu xí.
Chúng ta hãy đi trước và mở lên phiên bản 2 của Tìm kiếm.
Và bây giờ thấy tôi đã thực hiện nhiều hơn một chút.
Chú ý rằng ở đây bên trong của người đứng đầu tag, có thể có nhiều hơn tiêu đề.
Trong thực tế, có một thẻ phong cách.
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.
>> 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.
Nhưng ở đây là tên của thẻ tôi muốn cách điệu.
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.
Và sau đó ở đây là tài sản và giá trị của nó.
>> 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.
Nhưng đó là một bước tiến tới thiết kế tốt hơn.
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.
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ị.
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,
Tôi không phải loại style = text-align trung tâm khắp nơi.
Tôi có thể đặt ở một nơi có lẽ, như lên ở đầu trang.
>> Nhưng ngay cả điều này không phải là thiết kế tốt nhất.
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
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
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
một vài psets trước.
Tương tự như vậy, năng chúng tôi muốn đạt được điều này.
>> Vì vậy, thông báo trong phiên bản ba của tôi đã search.html
làm sạch lên đầu trang và chỉ cần đặt
trong này, một thẻ liên kết, trái với tên,
không cung cấp cho bạn một liên kết.
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,
là tìm kiếm 3.css
Vì vậy, tôi nhận thấy chúng ta đang đi nhanh chóng.
Nhưng tất cả tôi đang làm là loại di chuyển những thứ xung quanh.
Hãy để tôi mở tìm kiếm 3.css.
Có nó là, không có gì thực sự với nó.
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
vào các tập tin khác trước.
Và result-- hoàn toàn underwhelming--
là có được chính xác như nhau.
Nhưng chúng ta đang di chuyển toward-- không có, nó không phải.
Oh, tôi biết tại sao.
>> Vì vậy, nó có vẻ là một lỗi.
Và đó là trong một số ý nghĩa.
Nhưng hãy để tôi mở tab Network của tôi.
Hãy để tôi tải lại trang.
Ah, tại sao là CSS không được áp dụng?
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.
Và nó cũng hiện đang bị cấm.
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--
chúng tôi chấm CSS chỉ là mở rộng tập tin cho các tập tin CSS.
Bây giờ hãy để tôi quay trở lại trình duyệt và tải lại của tôi.
OK, tốt hơn một chút.
>> Bây giờ hãy để tôi làm một điều cuối cùng.
Trong cuộc tìm kiếm-4.html.
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
phức tạp.
Hãy nhìn vào kết quả đầu tiên.
Đóng này để cung cấp cho chúng tôi nhiều phòng.
Thay đổi này để tìm kiếm-4, Enter.
>> Và bây giờ là một bó của những thứ bị phá vỡ.
Tôi sẽ quay trở lại vào thư mục của tôi ở đây.
Và bây giờ tôi chỉ cần đi làm một chmod của một + r trên file--
bởi vì tôi biết nó được gọi là exists-- logo.gif, đó là một hình ảnh.
Và bây giờ lại.
Và wow-- vì vậy bây giờ tôi khá gần, thẳng thắn,
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,
phải không?
>> 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.
Và thực sự nó là.
Nhưng tôi phải làm gì khác nhau trong phiên bản này 4?
Vì vậy, chúng tôi sẽ không sống quá nhiều về nó ở đây.
Bạn sẽ thấy điều này trong vấn đề thiết lập bảy cuối cùng.
Tuy nhiên, nhận thấy tôi đã làm một vài điều.
>> Tôi giới thiệu một div tag, đó là phân chia,
tinh thần tương tự một thẻ đoạn.
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
của màn hình.
Hãy cho nó một độc đáo nhận dạng, một chân, chỉ cần
để chúng ta có thể nói về nó trong HTML của chúng tôi ở những nơi khác.
Dưới đây là một div của trang có ID là có được nội dung.
Đó là nội dung của trang.
Và ở đây là tiêu đề của trang.
>> Nói cách khác, tôi đã cơ bản trong HTML là tinh thần
xem trang web này ba thành phần, một tiêu đề
ở đây có hình chữ nhật vô hình này, nội dung ở giữa, và sau đó
chân xuống dưới, thậm chí mặc dù chúng ta không thấy những điều đó.
Bởi vì tôi muốn trong đầu của tôi trang ở đây, hoặc trong một tập tin .css,
Tôi có thể sử dụng cú pháp này.
>> Tiêu đề không phải là một thẻ.
Đây là một ID đó nó sẽ chuyển ra rằng bằng cách làm # header,
Bây giờ tôi có thể áp dụng một hoặc nhiều tài sản cho tiêu đề.
Tôi có thể làm cùng một nội dung, tương tự cho nội dung ở đây.
>> 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.
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.
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.
Trọng lượng sẽ được in đậm.
Margin-- bao nhiêu điểm ảnh xung quanh it-- là 20 pixels.
Và nó sẽ được trung tâm.
>> Nhưng ngay bây giờ, trang trông như thế này.
Nếu tôi không hài lòng với bản sao của tôi ngay tại đó,
Tôi có thể làm một cái gì đó giống như màu đỏ.
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.
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
để thay đổi mọi thứ xung quanh.
>> 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ế,
bạn có thể không vĩnh viễn thay đổi chúng.
Nhưng nếu tôi mở ra Thanh tra của Chrome lại
và tôi đi không để phía bên tay trái ở đây, trong đó cho thấy HTML của Facebook,
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ó,
bạn có thể và thay đổi mọi thứ trên bay.
Vì vậy, hãy để tôi đi trước và làm điều này.
>> Hãy để tôi đi trước và kiểm soát click vào từ ngẫu nhiên này ở đây,
ký, và nhấp vào Kiểm tra Element.
Chrome rất thuận tiện nhảy vào thẻ h1 mà Facebook đang sử dụng.
Và nhận thấy đây Facebook có loại uể oải
cứng mã hóa kích thước phông chữ như một tài sản ở đây.
>> Vì vậy, điều mát mẻ mặc dù là rằng nếu tôi thực sự đi ở đây
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.
Tất nhiên, chúng tôi chỉ thay đổi nó cho cá nhân tôi vào lúc này.
Nhưng điều này chỉ khác là công cụ trong bộ công cụ của chúng tôi
đó là sẽ cho phép chúng ta tinh chỉnh và tìm ra và cũng có thể chẩn đoán
các vấn đề trong các trang web của chúng ta.
Và chúng tôi tương tự có thể đi qua ở đây, đó là điều tương tự.
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
và làm những điều điên rồ.
>> Vì vậy, tại sao điều này là tất cả các hữu ích?
Vâng, cuối cùng, chúng tôi sẽ muốn được
có thể tạo ra các trang web được thúc đẩy bởi đầu trở lại của chúng ta,
không phải chỉ là Google và gia công phần mềm kết thúc sau đó.
Chúng tôi thực sự muốn giá trị, ví dụ,
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,
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,
không phải trên người khác.
>> 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.
Vì vậy, chúng tôi đã nhìn mới ngôn ngữ ở đây, hoặc hai thực sự, HTML
và CSS.
Nhưng họ thực sự chỉ cấu trúc và thẩm mỹ ngôn ngữ.
Họ không phải lập trình ngôn ngữ cho mỗi gia nhập.
Và đó là về càng nhiều chính thức thời gian như chúng ta sẽ dành cho chúng.
Bởi vì chúng ta sẽ bắt đầu với doanh nghiệp để chuyển đổi sang PHP.
>> Vì vậy, PHP là một thực tế ngôn ngữ lập trình.
Đó là một ngôn ngữ kịch bản trong ý nghĩa rằng nó
có nghĩa là trọng lượng nhẹ hơn hơn một cái gì đó giống như C.
Và đó là một ngôn ngữ diễn giải, có nghĩa là nó không được biên dịch.
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
và chúng tôi phải biên dịch nó?
Không có nghĩa là gì biên dịch mã nguồn C?
Đung [không nghe được].
DAVID J Malan: Nói lại lần nữa?
Đung [không nghe được].
DAVID J Malan: Hoàn hảo.
Nó biến nó thành nhị phân.
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ế.
Và sau đó chúng ta có thể thực sự chạy những zero và những người thân
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
hoặc chạy một lệnh.
>> PHP và Python và Ruby và Perl và JavaScript
và chùm khác ngôn ngữ được giải thích
ngôn ngữ, mà là để nói bạn không biên dịch chúng.
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.
Và thông dịch viên rằng, mà người khác đã viết,
đọ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
các đường dây và làm những gì bạn nói.
>> Vì vậy, nếu bạn gặp một Tìm dòng in,
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.
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,
nếu hướng dẫn lập trình là in, sau đó làm như sau.
Vì vậy, nó diễn giải nó chỉ bởi loại lý luận
thông qua những gì bạn đang nói với nó để làm.
>> Và PHP là một trong những ngôn ngữ.
Và PHP năm trước đây được thiết kế chính xác cho lập trình web.
Và nó đã được ban đầu một ngôn ngữ lộn xộn rất cẩu thả.
Và quả thực, có một khổng lồ số lượng mã PHP xấu ra khỏi đó.
Nhưng ngôn ngữ riêng của mình đã trưởng thành trong những năm qua,
nhiều đến nỗi bây giờ nó thực sự là một bước tiếp theo tuyệt vời
sư phạm từ C bởi vì nó để darned quen thuộc với tất cả mọi thứ
bạn đã thấy được trong vài tuần qua.
>> 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.
Khi bạn bắt đầu viết mã, nó chỉ là sẽ được thực thi không có vấn đề gì,
như chúng ta sẽ thấy trong một thời điểm.
Trong khi đó, đây là những gì một biến như thế nào trong PHP.
Đó là một chút khác nhau, nhưng chỉ vừa đủ.
>> Trong PHP, đó không phải gõ mạnh.
Có tuần đánh máy, mà chỉ có nghĩa là có
là loại dữ liệu như dây và con số và những thứ khác.
Nhưng bạn không bận tâm xác định những gì họ nữa.
PHP con số nó ra cho bạn.
Các ký hiệu đô la chỉ là một quyết định rằng những người làm PHP năm
trước như vậy mà bất kỳ biến trong PHP chỉ bắt đầu với một dấu đô la.
Đó là loại thực sự hữu ích trong đó nó nhảy ra ở bạn nhiều hơn một chút.
>> Nhưng sau đó, điều này là một điều kiện trong PHP.
Điều khác biệt so với C?
Lừa question-- không có gì, mà thực sự là thực sự tốt đẹp.
Biểu thức Boolean trong PHP-- cùng.
Biểu thức Boolean và so với hoặc, chuyển mạch, vòng, vòng, loops-- OK,
này là khác nhau.
>> Vì vậy, nó quay ra có một vài tính năng khác trong PHP.
Một trong số đó là thực sự này, đó là tuyệt vời, thuận tiện.
Nếu $ số là một mảng mà bạn đã tuyên bố trước đó trong một chương trình,
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 đó
gây phiền nhiễu tôi bằng 0, tôi là nhỏ hơn này, [? Tôi ++?],
cho mỗi con số như số, trong đó mỗi những giá trị ký hiệu đô la chỉ là
một biến, và sau này bạn có thể nghĩ như I.
Bạn có thể gọi nó là bất cứ điều gì bạn muốn.
Tôi gọi nó là số.
Điều này sẽ lặp qua mảng gọi là số.
Và trên mỗi lần lặp, nó sẽ tự động cập nhật
cho bạn số ký hiệu đô la biến để bạn liên tục
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
ký hiệu hoặc lập chỉ mục vào một mảng.
>> 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,
ngoại trừ nó rất phổ biến, như chúng ta sẽ thấy thấy, cả hai trong PHP và JavaScript
đến trước khởi tạo một mảng sử dụng dấu ngoặc vuông.
C sử dụng dấu ngoặc nhọn.
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.
>> Nhưng thậm chí nhiều hơn một cách mạnh mẽ, PHP có mảng kết hợp,
đó là một cách ưa thích nói bảng băm.
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
dòng mã đã làm nó mất để thực sự thực hiện một bảng băm trong C?
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?
Vì vậy, nó có thể là rất nhiều, phải không?
Đó là một vài chục, có thể là 100 hoặc 200.
Đó là không tầm thường.
Hoặc nó về được, như bạn sẽ sớm thấy, không tầm thường
để thực hiện một bảng băm [Không nghe được] và cũng là một thử.
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
cho đến khi Monday-- trong PHP, nếu bạn muốn có một bảng, thực hiện.
Đó là một hash table-- như vậy với một dòng mã.
Và
>> Rất nhiều ngôn ngữ làm điều đó.
Hãy vui vẻ với pset năm.
Vì vậy, rất nhiều ngôn ngữ làm điều này.
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,
đã tạo ra cho bạn để bạn có thể đứng trên vai
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
và cố gắng.
Tuy nhiên, bạn không nhất thiết phải thực hiện những điều mình.
>> Và do đó, cuối cùng, những gì chúng ta sẽ sử dụng PHP cho
được khả năng viết chương trình của cái gọi là dòng lệnh.
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,
ngoại trừ có thể Breakout trong đó sử dụng SPL, đó là cụ thể cho C vào lúc này.
Nhưng mọi vấn đề khác được thành lập, chắc chắn Mario và Caesar
và Vigenere và [? Crack?] Và trở đi, chúng tôi
có thể tái thực hiện trong PHP, và có thể là một chút dễ dàng hơn.
>> Nhưng những gì chúng ta cuối cùng sẽ Sử dụng PHP cho là lập trình web.
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à
MVC, mô hình điều khiển xem, mà nếu bạn đã thực hiện chương trình
trước khi hoặc trong Python Ruby hay ở nơi khác, bạn
có thể biết của đội bóng này với Rails và Django và như thế nào.
Nhưng nếu bạn là người mới này quá, bạn sẽ thấy
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ố
và các loại thiết kế mã mà chúng tôi đã
đượ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
để cuối cùng, chúng tôi thực hiện các trang web riêng của chúng tôi.
Và nếu bạn loại bị thôi miên hay ngạc nhiên
rằng chúng ta đang đi làm tất cả các cách nhanh chóng,
nhận ra rằng hầu như tất cả học kỳ, gần 90%
sinh viên CS50, bao gồm cả những người chưa bao giờ được lập trình trước,
kết thúc làm cho dự án cuối cùng mà được dựa trên lập trình web.
Và như vậy bạn sẽ thấy rằng lợi nhuận cao trong những tuần tới.
Vì vậy, chúng ta sẽ thấy bạn sau đó vào thứ hai.
>> SPEAKER 1: Và bây giờ, Deep Suy nghĩ của Daven Farnham.
Bảng băm.
>> [Cười]