[მუსიკალური სათამაშო] DAVID J Malan: ყველა უფლება, მივესალმებით უკან. ეს არის CS50. ეს არის ბოლომდე კვირაში შვიდი. და ეს ბოლოს რომ scavenger ნადირობის from პრობლემა მითითებული ოთხი რომ თქვენ ალბათ გახსოვთ. შემდეგ აღმოფხვრას ყველა იმ JPEGs თანამშრომლები, თქვენ ეჭვქვეშ, თუ გსურთ, ფოტოს თავს, როგორც ბევრი იმ ეგ როგორც თქვენ შეგიძლიათ. ჩვენ მივიღე მთელი bunch of წარდგინება უკანასკნელი რამდენიმე კვირის განმავლობაში, მართლაც, საკმაოდ სწორი, სანამ შუადღისას დღეს, რომელთაგან ზოგიერთი იმ აქ, დაიჭირეს აქ in-- გამოიყურება მოსწონს Annenberg დარბაზში საათებში, ერთი აქ in Lowell სახლი Nick. აი Ramon მიმდინარეობს დაიჭირეს ტელეფონში. ეს იყო CS50 ლანჩი. ეს იყო Jason Skyping ერთად უფრო შემოქმედებითი კლასელი, ვინც დაურეკა ამ გზით. ჩვენ არ ვიცით, რას ნიშნავს ეს. [სიცილის] დავით J Malan მაგრამ რომ ღირს gigabyte. აქ არის Chang, რომელიც სიტყვასიტყვით გაიქცა off ეტაპზე რათა თავიდან ავიცილოთ მიმდინარეობს გადაიღო ერთი დღეს, მაგრამ მაინც გამოიჭირეს. აქ არის Nick. აქ არის Nick. აქ არის Nick. და აქ არის Alison ქვემოთ სფეროებში. და Zamyla კი იპოვეს at სამეჯლისო კონკურსში. ასე რომ, ჩვენ გაივლიან ეს ფოტოები, გაერკვნენ რომელიც წარმოდგენილი ყველაზე ადრეული და ჯილდო ერთი ზღაპრული პრიზი, როგორც პირობა დადო, სპეც. და ჩვენ ასევე თვალყური შესახებ სივრცე, რომელიც ჩართული იყო. რამდენიმე announcements-- ასე ლანჩი კიდევ ერთხელ, ამ პარასკევს 1:15 PM. თუ გსურთ შემოგვიერთდნენ, RSVP ამ URL აქ. Jason ჩანს ისევ აქ ერთი სექციის რამდენიმე წლის უკან, რომელიც მოხდა დაეცემა on Halloween. და მართლაც, იგი ჩაცმული გოგრა რომ კონკრეტული წლის. თუ უყურებს ამ განყოფილებაში მისი 2011 წლიდან განყოფილებაში რვა, თუ თქვენ საინტერესო, at CS50.tv, მე ვფიქრობ, ეს იყო წელი, რომელიც მისი საჰაერო ტუმბოს მუშაობდა. თუ მაშინ დაათვალიერეს მსგავსი მონაკვეთზე 2012 დაინახავთ ამ Jason ბევრი deflated, მას შემდეგ, სარჩელი აღარ ფუნქციონირებდა, რომელიც მხოლოდ იმის თქმა, ამ პარასკევს, თუ გსურთ მინდა carve გოგრა ერთად Daven და Gabe და სხვები, RSVP ხელმძღვანელებს at cs50.harvard.edu მისამართზე. იგი ჰპირდება იყოს დიდი გართობა. Daven, ჩვენ განუცხადა, მოჩუქურთმებული Pumpkins ყველა მის ცხოვრებაში. Gabriel ბრაზილია არასოდეს მოჩუქურთმებული გოგრა ამისთვის ჰელოუინი. ასე რომ იქ მათ, როგორც ის გაიგებს. სემინარები, meanwhile-- ასე რომ თქვენ ვისწავლოთ მალე რა არის ჩვენი მოლოდინი არის საბოლოო პროექტი, რომელიც, ძირითადად, იმატებს ქვემოთ შექმნასა და განხორციელებაში ყველაზე ნებისმიერი პროექტის საინტერესო თქვენ, თუმცა ექვემდებარება დამტკიცების და ხელმძღვანელობით თქვენი სწავლების თანამემამულე. დასასრულს, სემესტრში, ჩვენ წარმოგიდგინოთ ნომერი სემინარები, რომლებიც სურვილისამებრ კატეგორიები ხელმძღვანელობით სწავლების პრაქტიკის და ჰარვარდის თანამშრომლები, მეგობრები, რა თქმა უნდა, მთელს campus, სხვადასხვა თემებზე, რომელიც არის ტანგენციალური რომ რა თქმა უნდა, ძირითადი სილაბუსი მაგრამ მიუხედავად ამისა მოქმედი, გართობა, და სხვადასხვა პოტენციური საბოლოო პროექტები. მაგალითად, პირველ რიგში, თუ გსურთ რეგისტრაცია, ხელმძღვანელს, რომ URL არსებობს. და ეს არის წყობა წლევანდელი სემინარები მარტო. მაგრამ გააცნობიეროს გვაქვს ათეულობით სემინარები წლის წარსული, რაც რომლებიც დაკავშირებულია იმ სემინარები მენიუ ვარიანტი რა თქმა უნდა ნახვა. ასე რომ, თუ თქვენ ფიქრი სცდება თქვენი კომფორტის ზონიდან ან კრეფა up რამდენიმე ახალი უნარები, მაგალითად, პროგრამირების iPhone აპლიკაციების Swift, ახალი ენის Apple ან Objective-C ან Android apps და პროგრამირება [? cue?] ნათურებით, ან რაიმე თემა აქ და უფრო, იმის შემოწმება რეგისტრაციის გვერდზე. ასე რომ დავიწყეთ და დასრულდა ორშაბათი ეძებს HTTP. ასე სწრაფად refresher-- HTTP, ჰიპერტექსტის გადაცემის პროტოკოლი. მაგრამ რა, რომ ნამდვილად ნიშნავს? რა, რომ ნამდვილად ნიშნავს? არის ის, რომ ხელი? მე ვიცი, რომ თქვენ მხოლოდ scratching თქვენი ხელმძღვანელი. მაგრამ გვინდა, რომ შესთავაზოს რა HTTP არის? აუდიტორია: როგორ კომპიუტერები ურთიერთობა [INAUDIBLE]. დავით J Malan მე გაშვებული ბოლო ნაწილი. როგორ კომპიუტერები კომუნიკაცია with-- აუდიტორია: ინტერნეტ სერვერები. დავით J Malan Good-- ინტერნეტით სერვერები და კონკრეტულად, ვებ სერვერები. იმიტომ, რომ გავიხსენოთ, იქ რამოდენიმე მომსახურება ინტერნეტში, რომელთაგან ზოგიერთი თქვენ იყენებთ ალბათ ყოველდღიური შორის სტატისტიკა და გაგზავნა, სტატისტიკა, და ვებ და ელექტრონული ფოსტის, და ასე შემდეგ. და HTTP მხოლოდ ოქმი, რომელიც ბრაუზერების საუბარი, როდესაც ურთიერთობისას ვებ სერვერები, და პირიქით. და ანალოგი ადამიანის სამყაროს, შესაძლოა, მე ხელს ვუწვდი shake ზოგიერთი სხვა ადამიანის და მას აღიარებს გავრცელებით მისი მხრივ, ასევე. ასე რომ მხოლოდ ოქმი, კომპლექტი კონვენციების. და რა თქმა უნდა, რომლებიც კონგრესებზე? ისე, ეს მხოლოდ boils ქვემოთ გაგზავნის შეტყობინებები უკან და მეოთხე, როგორც ჩვენ გამოსახული აქ. და იქ რამდენიმე გზა, რომელიც შეგიძლიათ გაუგზავნოთ ამ შეტყობინებები. და ალბათ ყველაზე საერთო ცნობილია, როგორც მისაღებად. და ჩვენ ვხედავთ, განსხვავებით ეს ადრე ხანგრძლივი. მაგრამ მისაღებად მოთხოვნა ბრაუზერში სერვერზე უბრალოდ გამოიყურება. ეს bunch of ტექსტი, რომ ეს აყენებს შიგნით ვირტუალურ კონვერტში. გარეთ კონვერტში წასვლა რამდენიმე ცალი დეტალები. რა სჭირდება წასვლა კონვერტში, ასე ვთქვათ, იმისათვის, რომ მიიღოთ მოთხოვნას ეს ჩემგან სერვერზე? ჰო. აუდიტორია: თქვენი IP მისამართი. დავით J Malan ჩემი IP მისამართი მდებარ სფეროში, ასე ვთქვათ, და რა თქმა უნდა, მიმღების IP მისამართი. მაგრამ იმ შემთხვევაში, ვებ პაკეტი, ჩვენ გვჭირდება უფრო დეტალურად ეს არ არის საკმარისი მხოლოდ გამოგვიგზავნეთ კონვერტში სერვერზე, იმიტომ, რომ სერვერზე შეიძლება იყოს მოსმენის სხვადასხვა სახის ინტერნეტის ტრაფიკი. ასე რომ, რა გვჭირდება გარდა მიმღების IP? ჰო? აუდიტორია: ეს TCP? დავით J Malan: კარგი. TCP-- აუდიტორია: მისამართი. დავით J Malan მისამართი, ან პორტი, როგორც მას უწოდებენ. ახლოს, მაგრამ TCP პორტის ნომერი. და არსებობს რამოდენიმე მათგანი. მაგრამ ნამდვილად ყველაზე ნაცნობი უნდა საბოლოოდ 80, რომელიც ძირითადად რომელიც გამოიყენება ვებ მოძრაობა. და კიდევ ერთი ნაცნობი ერთი მალე იქნება 443, რომელიც გამოიყენება უსაფრთხო ვებ საგზაო, მისამართები, რომ იწყება https. ასე რომ, ეს არის ის, რაც მიდის შიგნით რომ კონვერტში. და მიიღეთ / უბრალოდ ნიშნავს, მისცეს მე ძირითადად ვებ-გვერდზე. მომეცი root მძიმე მანქანა რომ სერვერზე. და იმედია, ვებ სერვერზე პასუხს, OK და ნომერი 200, რომელიც მხოლოდ კონგრესზე განაცხადა, რომ, დიახ, ყველა მართლაც OK. აი გვერდზე. ტიპის ვებ-გვერდის აპირებს იყოს ტექსტი, მაგრამ უფრო კონკრეტულად, HTML, რომელიც ჩვენ შესახებ ჩაყვინთვის დააბრუნებდა. და dot dot dot მხოლოდ საშუალება, აქ არის HTML. და რომ ის, სადაც ჩვენ გააშუქა ამბავი დღეს, რეალურად წერა HTML, ჰიპერტექსტის მარკირებას ენა, რომელიც არის ენა, რომელიც ვებ გვერდები იწერება. ეს არ არის პროგრამირების ენა. არ არსებობს ფუნქციები ან მარყუჟების და პირობები. ეს მარკირებას ენაზე, ასევე კიდევ ერთხელ ვხედავთ დღეს, რომ გაძლევთ საშუალებას როგორ სტრუქტურირებაზე და stylize ესთეტიურად ვებ გვერდზე. ასე რომ, ეს იყო ერთ-ერთი და მხოლოდ გვერდი ჩვენ ნამდვილად შევხედე, თუ მოკლედ, ორშაბათს. და შეამჩნია რამდენიმე salient მახასიათებლები. არსებობს ბევრი ღია დახრილი bracket და ახლო დახრილი bracket. შორის იმ დახრილი ფრჩხილებში სიტყვა. და ჩვენ ვაპირებთ დავიწყოთ მოუწოდებდა მათ, ვინც სიტყვა tags. ისე ღია bracket უფროსი და დახურული ფრჩხილი უფროსი არის ღია და დახურული tags, ან საწყის და სასრულ ტეგებს შესაბამისად, ელემენტი, როგორც ჩვენ მოვუწოდებთ მას, მოუწოდა ხელმძღვანელი. და იგივე ჟარგონი მიმართავს სხეულის HTML და სხვ. და რა ლამაზი არის, HTML-- და მართლაც, ჩვენ ატარებენ საშინლად პატარა დრო, იმიტომ, რომ თქვენ, ძირითადად, გაერკვნენ რა ფუნქციები აქვს, როდესაც თქვენ რეალურად აქვს კონკრეტული პრობლემა to solve-- თქვენ ნახავთ, რომ ბრაუზერი საკმაოდ dumb. ეს მხოლოდ აპირებს გავაკეთოთ არ განსხვავებით კომპიუტერი რას ვამბობ, რომ ამის გაკეთება. ასე რომ, როდესაც თქვენ გახსნა bracket HTML ძალიან ზევით არსებობს, რაც არსებითად მხოლოდ იმას ნიშნავს, hey, ბრაუზერის, აქ მოდის ვებ გვერდზე დაწერილი HTML. როდესაც ის ხედავს ღია bracket ხელმძღვანელი, რომელიც მხოლოდ იმას ნიშნავს, hey, ბრაუზერის, აქ მოდის უფროსი, ან უმაღლეს ნაწილი ჩემი ვებ გვერდი. როდესაც ის ხედავს დახურული ფრჩხილი ხელმძღვანელი, რომელიც მხოლოდ იმას ნიშნავს, hey, რომ ის ხელმძღვანელი. ლოდინის რაღაც. და რომ რაღაც არ არის როგორც ჩანს, იქნება ორგანო. და როცა არ აქვს tag, როგორიცაა თქვენ გაქვთ მხოლოდ მძიმით, მსოფლიოში, ეს მხოლოდ იქნება ნედლეული ტექსტი, რომელიც საბოლოოდ გამოჩნდება ეკრანზე. ახლა, თქვენ შეამჩნევთ ძალიან წანაცვლება აქ. თქვენ ალბათ ითქვას, როგორ ჩვენ stylizing იგი. ყოველ ჯერზე გავხსნა tag, ასე ვთქვათ, მე აბზაცის. და ყოველ ჯერზე მე დახურვა tag, I გაეროს აბზაცის, მსგავსი სულისკვეთება curly braces. და მის ფარგლებს გარეთ, რომ, მე სახის გამოყენებით ჩემი გადაწყვეტილება. ცნობა, რომ არ გადაიტვირთოთ დარტყმის შეიყვანეთ შიგნით რომ ტიტული აქვს. რატომ? ისე, მე უბრალოდ გადაწყვიტა, რომ ჩანდა ცოტა სუფთა ჩემთვის, ადამიანის, უბრალოდ არ გადაიტვირთოთ აკეთებს, რომ. ასე რომ კიდევ ერთხელ, არსებობს გარკვეული განაჩენი ზარი მხოლოდ როგორიც არის C ან ნებისმიერ ენაზე. მაგრამ შეამჩნია, რომ არჩევანი ამ წანაცვლება lends თავს გონებრივი მოდელი, არ დასრულდა გაართულებს ეს. მაგრამ ხე, არა? თუ თქვენ ფიქრობთ, ვებ გვერდი, სავარაუდოდ, დაწერილი როგორც ეს, როგორც ლამაზად indented, რომ გზა, შეგიძლიათ თითქმის ვფიქრობ ღია bracket HTML დახურული ფრჩხილი ტეგი დემარკაციას ძირეული კვანძის, ოჯახის ხე სტილი კვანძის სტილში ხეები ჩვენ შევხედეთ გასულ პარასკევს. და მართლაც, ჩვენ გვაქვს უფლება აქ ის, რაც ჩვენ მოვუწოდებთ DOM, D-O-M, დოკუმენტი ობიექტის მოდელი, ლამაზი გზა ამბობდა ხე, რომელიც აცხადებს, რომ HTML. და შენიშნავს, რომ HTML აქვს, ჩვენ ვთქვათ, მოსწონს ოჯახის ხე, ორი შვილი. მარცხენა ხელმძღვანელი. მარჯვენა ორგანო. და ისევე, როგორც სულელური აზროვნების სწავლება, ხელმძღვანელი, რა თქმა უნდა, რამდენი ბავშვები შესაბამისად, ამ სტრუქტურაში? ასე რომ, მხოლოდ ერთი, title-- და სწორედ ამიტომ, ჩვენ უნდა arrow აპირებს ხელმძღვანელი სათაური. ამიტომ, მიუხედავად იმისა, რომ პირი ოჯახის ხე მხოლოდ ერთი შთამომავალი. და შემდეგ სათაური თავად შეგიძლიათ უნდა ითქვას, რომ ბავშვი ძალიან. შეგახსენებთ, რომ HTML ჰქონდა მძიმით, მსოფლიოს ქვეშ იგი. და მე უბრალოდ შედგენილი ის ფარგლებში ოვალური ნაცვლად ოთხკუთხედი მხოლოდ გადმომეცა სემანტიკურად, რომ მიუხედავად იმისა, ეს კვანძის in ხე, ასე ვთქვათ, ეს ერთგვარი ფუნდამენტურად განსხვავებული. ეს არ აქვს. ან უფრო სწორად, ეს არ არის ელემენტს. ეს მხოლოდ ტექსტი კვანძში, თუ გნებავთ. მაგრამ ეს სრულიად თვითნებური ადამიანის კონვენციებს. ეს არის მხოლოდ ახლა ჩემი გზა წარმოადგენს რა მე, როგორც საერთო დარეკეთ დოკუმენტი. და როგორც განზე, რაც at სუპერ ზედა მარცხენა კუთხეში, ღია bracket ძახილის წერტილი doc ტიპი HTML, ეს ჰგავს tag, მაგრამ ეს სულელური კუთხეში შემთხვევაში სად რომ არის მხოლოდ იქ, გადაწერა და გაკრული მიუთითოს ბრაუზერები ეს არის HTML ვერსია 5. მსოფლიოში ინარჩუნებს შეცვლის, რა პირველი ხაზი კოდი გვერდი უნდა იყოს. ეს მხოლოდ იმას ნიშნავს ვერსია 5. ასე რომ, ეს არ საკმაოდ ჰგავს სხვა. ყველა უფლება, ასე რომ განაცხადა, რომ თქვენ ახლა უკეთ ეს საკმაოდ ამ სულელური ტატუირება, ვიღაცა. [სიცილის] დავით J Malan: ყველა უფლება, და ახლა მოდით რეალურად dive შევიდა აკეთებს რაღაც ამ. თქვენ გახსოვთ, რომ ბოლო დროს გავხსენი CS50 ელექტრო მოწყობილობების და მე რაღაც, როგორც მარტივი, როგორც გახსნის gedit. და მე შენახული ფაილი კი ჩემი desktop-- არსად special-- როგორც hello.html. ნება მომეცით გავაკეთოთ, რომ ერთხელ hello.html შეიყვანეთ. და ახლა ამ ფაილს, მე ვაპირებ წავიდეთ წინ და იმეორებს, რასაც ჩვენ მხოლოდ saw-- doc ტიპის html მაშინ მე ვაპირებ ღია bracket html დახურული ფრჩხილი. და შემდეგ მე ვაპირებ წინასწარ გახსნას და დახუროს tag. რატომ? უბრალოდ მე არ უნდა დაგვავიწყდეს, მოგვიანებით. ეს მხოლოდ კარგი პრაქტიკა, როგორიცაა გახსნის და დახურვის curly braces ერთდროულად. და მერე რა გამოვიდა შემდეგი? შეგიძლიათ წარმოიდგინოთ, რომ tattoo. აუდიტორია: უფროსი. დავით J Malan ხელმძღვანელი. და შემდეგ აქ, მე ჰქონდა სათაური, ვფიქრობ. და სათაური იყო თვითნებურად, hello, world ახლოს ტიტული. და შემდეგ ქვევით აქ, ორგანოს, რა თქმა უნდა, მაშინ დავხუროთ ორგანოს აქვს. და შემდეგ უბრალოდ გარკვეულწილად redundantly, მე მქონდა იგივე ქვემოთ აქ. ასე რომ, მე ვამტკიცებ, რომ ეს ვებ გვერდი. ეს არის ის, ვერ ცხოვრობს ინტერნეტში, მიუხედავად იმისა, რომ რა თქმა უნდა, ეს სიტყვა საცხოვრებელი მაგიდაზე ახლა. მაგრამ მართლაც, თუ მინიმუმამდე gedit, მე ვხედავ ჩემს კომპიუტერს მისი ხატი. მიუხედავად იმისა, რომ ეს არის ელექტრო თქვენ შეიძლება ამის გაკეთება on Mac OS გარეშე რედაქტორით ან Windows ჩასაწერი კი. და თუ მე წავიდეთ წინ და ორმაგი დაჭერით რომ კი, და select-- კარგად, მოდით არ აირჩიოთ, რომ რადგან Chrome არ იხსნება. მოდით წავიდეთ წინ და გახსნა Chrome. და შემდეგ გააკეთოს Command-O ღია და ნავიგაცია მაგიდაზე და ღია რომ ფაილი. რომ არის, თუ ბრაუზერი ხსნის HTML, ყველაზე ქვედა, მარცხნიდან მარჯვნივ. Hey, ბრაუზერის აქ არის HTML. აქ უფროსი. აქ არის სათაური. აი ორგანო. და მართლაც, ეს არის, თუ როგორ მას უწევს რომ ვებ გვერდზე. მაგრამ შეამჩნია URL. არც ერთ თქვენგანს შეიძლება გაიყვანოს ამ კონკრეტული გვერდი თქვენს ლაპტოპები ახლა, მაშინაც კი, შიგნით თქვენი ელექტრო მეშვეობით, რომ URL, რადგან ფაილი: // მიუთითებს, რომ, ფაქტობრივად, ჩემი ფაილური სისტემა, ჩემს მყარ დისკზე, არ არის თქვენი. ასე რომ, ეს არ არის, რომ სასარგებლოა. მოდით ახლა სვლას გამოყენებით ფაქტობრივი სერვერზე. და აღმოჩნდება, რომ CS50 ელექტრო მოწყობილობების უფრო მეტია, ვიდრე მხოლოდ გარემოს, სადაც თქვენ შეგიძლიათ დაწეროთ C კოდი და შეადგინონ და აწარმოებს მას, როგორც თქვენ უკვე აკეთებს. იგი ასევე უკვე კონფიგურაცია პერსონალის წარმოადგენს ტიპიური ვებ სერვერზე, რომ ინტერნეტში, ერთი, რომ თქვენ შეიძლება გადაიხადოთ ან ერთი, რომ ეს ე.წ. ღრუბელი. და ის გაშვებული სტანდარტული უფასო ღია პროგრამული უზრუნველყოფა, მაგალითად, რაღაც მოუწოდა Apache, რომელიც შესაძლოა კიდევ ერთი ყველაზე პოპულარული ვებ სერვერის პროგრამული უზრუნველყოფა მსოფლიოში ათასობით საიტებზე გამოიყენოს დღეს. და ასევე კიდევ აქვს პროგრამული უზრუნველყოფა, როგორიცაა MySQL, რომელიც არის მონაცემთა ბაზის სერვერი რომ ჩვენ საბოლოოდ მისაღებად, რომელიც მხოლოდ იმის თქმა, შემიძლია დაიწყოს სამკურნალოდ ჩემი ელექტრო მოწყობილობების, როგორც სრულფასოვანი სერვერი რომ მე არ ვარ გადამხდელი მის ფარგლებს გარეთ. ის უბრალოდ ცხოვრობს ჩემს ლეპტოპი განვითარებისა და ფონდის მიზნებისათვის. მოდით წავიდეთ წინ და ისარგებლოს ამ. მე ვაპირებ წავიდეთ წინ და გახსენით ტერმინალი ფანჯარა. და მე ვაპირებ წავიდეთ წინ და move-- რეალურად, პირველი მე ვარ აპირებს ნავიგაცია ჩემს desktop. თუ ls, არსებობს hello.html. და მე ვაპირებ წავიდეთ წინ და დაიწყოს გამოყენებით ახალი დირექტორია ჩვენ არ გამოიყენება ადრე გააკეთა. hello.html-- მე ვაპირებ გადაადგილება to ../vhosts ვირტუალური hosts-- უფრო, რომ მომავალში და შემდეგ დირექტორია მოუწოდა localhost, რაც მეტსახელად გადაეცა თითქმის ნებისმიერ კომპიუტერზე, თუ არა ის Mac, PC, ან Linux კომპიუტერი და შემდეგ სპეციალურად შევიდა დირექტორია, რომ ჩვენ, თანამშრომელთა უკვე შეიქმნა, როცა თქვენ გადმოწერილი ელექტრო მოწყობილობების ე.წ. საჯარო. და როგორც მისი სახელი ვარაუდობს, არაფერი მე ზუსტად ამ საქაღალდეში, თეორიულად, აპირებს იყოს ახლა საჯარო, თუნდაც ადამიანი რომელსაც აქვს პირდაპირი კავშირი ჩემს კომპიუტერში. ახლა ნება მომეცით წავიდეთ წინ და გავაკეთოთ cd, რომ იგივე დირექტორია ამიტომ მე ვხედავ, რა არის მიმდინარეობს და ტიპის ls. და მართლაც, რომ ერთადერთი, რაც არ არსებობს. I აცხადებენ, რომ რადგან მე არ დააყენოს ამ ფაილი hello.html შიგნით მომსახურება მოუწოდა საჯარო შიგნით მომსახურება მოუწოდა localhost შიგნით მომსახურება მოუწოდა vhosts, რომელიც მადლობა CS50 პერსონალი უკვე წინასწარ კონფიგურაცია ფესვი თქვენს სერვერზე, მე ახლა იმედია ამის გაკეთება. მე ვაპირებ გახსნას ახალი tab. და მე ვაპირებ წასვლას არ წარადგინოს: //. მე ვაპირებ გამოიყენოთ რეალურ http / localhost, რომელიც ერთხელ, მეტსახელად ჩემი საკუთარი სერვერი. და შემდეგ მე ვაპირებ წასვლა რა ფაილის სახელი, უბრალოდ უნდა იყოს მკაფიო? სად არის ეს ამბავი ალბათ აპირებს? hello.html. ასე რომ, სხვა სიტყვებით რომ ვთქვათ, მე მინდა ახლა ეს არის ჩემი საკუთარი კომპიუტერის, ჩემი ელექტრო მოწყობილობების, თითქოს ეს ფაქტობრივი სერვერზე. მისი მეტსახელი არის მასპინძელი. მაგრამ ვფიქრობ, რომ localhost როგორც მოსწონს Facebook.com google.com, რასაც. ეს მხოლოდ ჩემი ადგილობრივი სახელი. და შემდეგ საბოლოო მინდა არის ფესვი მყარ დისკზე, ასე ვთქვათ, ან ფესვი სერვერზე, ergo ნაბიჯია ირიბის და შემდეგ ფაილის სახელი hello.html. ნება მომეცით დააშორებს და დააჭიროთ. და მართლაც, იქ არის ჩემი ვებ გვერდი. ასე რომ, ოდნავ განსხვავებული. და ეს მხოლოდ როგორც underwhelming. ეს არის ძველი ვერსია. მიადევნე თვალი შემცირება შრიფტის დაბრუნება. ეს არის ძველი. ეს არის ახალი. მაგრამ რა ფუნდამენტურად ხდება ახლა კი, HTTP გამოიყენება. მოდით ეს უფრო ნათელი და, თუ თქვენ, ცოტა უფრო რთული. ნება მომეცით წასვლა ქვედა მარჯვენა კუთხეში ჩემი ელექტრო მოწყობილობების. და შენიშნავს, რომ ეს ყველაფერი დროს, არსებობს მთელი რიგი. რომელიც არის უნიკალური მისამართი თქვენი CS50 ელექტრო მოწყობილობების. ეს კერძო მისამართი, როგორც ითვალისწინებს 172,16, რომელიც მხოლოდ იმას ნიშნავს, თქვენ ფიზიკურად შეუძლია ამ სერვერზე. ყველაფერი firewalled და ლამაზად დაცული დანარჩენი მსოფლიოს იმიტომ, რომ ამ მისამართით. და ახლა შეამჩნია, თუმცა თუ მე ამ მისამართზე, არ არის ჩემი ელექტრო მოწყობილობების, მაგრამ Mac OS-- მე ვაპირებ დაბრუნდეს აქ. ეს არის ჩემი Mac ახლა. და ახლა მე ვაპირებ გახსნას ეს ვერსია Chrome აქ. და მე ვაპირებ წასვლა http: //172.16.25 / და მე დაგვავიწყდეს rest-- 133. ამიტომ, მე ვაპირებ ეწვევა ჩემი Mac რომ IP მისამართი /hello.html შეიყვანეთ. და ახლა, ჩემი Mac ჩემი CS50 ელექტრო მოწყობილობების, რომელიც არის IP მისამართი არის, რომ ნომერი, მართლაც იქცევა როგორც ვებ სერვერზე ინტერნეტში. მას არ გააჩნია ლამაზი მარტივი მახსოვს სახელი, როგორიცაა Facebook.com, მაგრამ ის გამოყენებით HTTP როგორც ჩანს, მიუხედავად იმისა, რომ Chrome სახის გამარტივების მსოფლიოში ჩვენთვის, მაგრამ არ აჩვენებს us HTTP. მაგრამ ეს მართლაც სწორედ რომ. Chrome მხოლოდ გადარჩენის keystrokes ამ დღეებში. და რომ ის, რასაც ჩვენ ახლა ვხედავთ. ასე რომ ყველა კარგი და კეთილი. მაგრამ ეს საკმაოდ underwhelming გვერდზე. ნება მომეცით წავიდეს და რაღაც ცოტა განსხვავებული. ნება მომეცით დაბრუნდეს gedit. და ნაცვლად hello, მსოფლიოში, მოდით დააყენა იმიჯი. და მე ამტკიცებდა ადრე, ნება მომეცით წავიდეთ ჩემი localhost დირექტორია საჯარო. და ნება მომეცით წავიდეთ წინ და ასლი მთელი bunch ფაილი დღეს ჩემი Dropbox ფოლდერი აქ. არის თუ აკრიფოთ ls, გამოიყურება ყველა ეს ფაილი რომ მე ნაწილდება მიერ რა თქმა უნდა ნახვა წინასწარ, დღეს, ერთ-ერთი, რომელიც ჯერ კიდევ hello.html. ასე არ არის, რომ ერთი. და გავიხსენოთ ეს სულელური ერთი ბოლო დროს cat.jpg. ნება მომეცით, ვცდილობთ ხმა cat.jpg შიგნით ჩემი ვებ გვერდი. მე ვაპირებ წავიდეთ წინ და ამის cat.jpg, შენახვა. მიადევნე თვალი დაბრუნდეს Chrome. და ნება მომეცით zoom შრიფტის და ახლა განაახლეთ. Oops, სადაც მე ეს? Standby-- მე ჯერ კიდევ ძველი ვერსია ჩემი კომპიუტერი ღიაა. ნება მომეცით წასვლას ჩემი vhost, ჩემი localhost ჩემი საჯარო და hello.html. ახლა ნება მომეცით წავიდეთ წინ და ამბობენ cat.jpg შიგნით ორგანო სადაც მე მინდა, რომ ეს ნაჩვენები და განახლება. რა თქმა უნდა, ეს არ არის სწორი. ასე რომ მე უნდა ვუთხრა ბრაუზერის პატარა უფრო განზრახ, რაც მე მინდა ამის გაკეთება. უბრალოდ აკრეფით სახელი აშკარად არ არის საკმარისი. გავიხსენოთ, რომ იყო კიდევ ერთი tag, სურათი, img მოკლე. ეს მხოლოდ იმიტომ, რომ ადამიანები არ მომწონს ტიპი სრული სიტყვა. და მაშინ ჩვენ შეგვიძლია გავაკეთოთ წყარო = "cat.jpg". და ახლა მე ვაპირებ ამის გაკეთებას ერთი რამ განსხვავებული აქ. მიუხედავად იმისა, რომ ყველა ჩვენი tags დღემდე უნდა ჰქონდა ეს ცნება საწყისი ტეგი და ბოლოს tag, რომ ნამდვილად არ აზრი იმიჯი, არა? სურათი არის ან იქნება თუ არა იქ. და ასე ადამიანები არ მოდის ერთად მარტივია კონვენციას. როდესაც თქვენ გაქვთ აქვს, რომ შეგვიძლია დაიწყება და დასრულდება ამავე time-- ეს შეიძლება იყოს ცარიელი, ასე ვთქვათ მხოლოდ ბოლო ველით slash შიგნით tag ძალიან ბოლოს. ახლა ნება მომეცით დაბრუნდეს ჩემი ბრაუზერი. მოხვდა Reload Damn, რაღაც არასწორია. თქვენ ალბათ მინახავს ეს ზოგჯერ ინტერნეტში, მაშინაც კი, თუ ეს არ იყო თქვენი ბრალია. ეს ვებ სერვერის ბრალია. რა odes ეს, როგორც ჩანს, მიუთითებს? ეს გატეხილი. ეს არის ის, სადაც იმიჯი ეკუთვნის. ჰო? აუდიტორია: მაგრამ ეს არ ხელი მიუწვდება იმიჯი. DAVID J Malan: ეს არ ხელი მიუწვდება იმიჯი. რომ, ან უარესი, შესაძლოა, ეს კი არ არსებობს. ვნახოთ, შევძლებთ თუ არა დიაგნოსტიკა, რომ. შეგახსენებთ, ბოლო დროს, რომ თუ Chrome, ელექტრო მოწყობილობების, ან თუნდაც თქვენი Mac ან PC, თქვენ გადადით შემქმნელი მენიუ და გადადით შემქმნელი ინსტრუმენტები ვარიანტი, რომელიც, ალბათ, თქვენ არ გამოიყენება ბევრი და ოდესმე. და თუ მე ქსელი და განაახლეთ გვერდი მოდით რეალურად შევხედოთ HTTP მოითხოვს, რომ კეთდება. ეს ჰგავს hello.html არის მართლაც OK, შესაბამისად, 200. მაგრამ cat.jpg არის 403. ასე რომ, ეს არ არის 404. ფაილის სავარაუდოდ არსებობს. 403 ნიშნავს აკრძალულია. ასე რომ, ეს ცოტა გაუგებარია. მე ვაპირებ დაბრუნდეს ჩემი ტერმინალის ფანჯარაში. ნება მომეცით მიუახლოვდით აქ. და ნება მომეცით გავაკეთოთ ls. იქ იმავე ფაილი. ახლა ნება მომეცით გავაკეთოთ ls-l, რომელიც თქვენ ალბათ უხმარია შევხედოთ ფაილი ზომის იქნებ ან timestamps. და ჩვენ ვხედავთ, რომ მთელი bunch of დიდი ინფორმაცია. მაგრამ შეამჩნია რამდენიმე დეტალი. აქ არის hello.html ამ ზედიზედ აქ და აქ cat.jpg. და ეს მხოლოდ ელექტრო მიმდინარეობს მეგობრული ხაზს უსვამს JPEG მიერ in purple მოსწონს ეს. მაგრამ რა არის განსხვავებული გარდა ზომა და ფაილის სახელი? აუდიტორია: [INAUDIBLE]. DAVID J Malan: ჰო, იქ კიდევ ორი ​​რ აქ. ყურადღება მიაქციეთ, რა hello.html უკვე მიმდინარეობს. გამოდის, რომ სახელი დირექტორია საჯარო მნიშვნელოვანია. არაფერი ამ ჩამონათვალი იგულისხმება, რომ იყოს საჯარო. მაგრამ ეს არ არის საკმარისი უბრალოდ ვარდნა ფაილი არსებობს. თქვენ ასევე უნდა შეიცვალოს რეჟიმი ფაილი შეცვლა უფლებები ფაილი პროაქტიულად არ იყოს რა გარემოში, რაც არის, რომ მხოლოდ მე წაიკითხოს და დაწერა, მე როგორც მფლობელი. მინდა მთელი მსოფლიო ყველას შეძლებს წაიკითხა ჩემი ფაილი, ასე ვთქვათ. მოხმარებლის მხოლოდ იმას ნიშნავს, რომ ნახოთ იგი. და მართლაც, როგორც თქვენ ხედავთ პრობლემა შვიდი არის ის, რაც ამ R ის საშუალებით. ამ ორ R ის საშუალებით ყველას სხვაგან მსოფლიოში ასევე წაიკითხავს, მით უმეტეს, რომ სწორედ ამ დირექტორია. ასე რომ მარტივი გზა დაფიქსირება ამ არის გადასვლა ჩემს სწრაფი და ამის chmod ცვლილება რეჟიმში და შემდეგ გავაკეთოთ + r, საერთოდ, ყველას, ყველა, ასევე r წაკითხული, და შემდეგ cat.jpg შეიყვანეთ. არაფერი ჩანს მოხდეს, რომელიც როგორც წესი, ნიშნავს კარგია. ამიტომ ls-l ისევ ახლა მოდით შევხედოთ cat.jpg. და ეს ნებართვა როგორც ჩანს, არ შეცვლილა. როგორც განზე, თუ შეცდომა და თქვენ, მაგალითად, უბრალოდ გააკეთა your-- მე არ ვიცი ესე საჯაროდ ხელმისაწვდომი შემთხვევით, თქვენ შეგიძლიათ ამის საპირისპირო, chmod-r. თუმცა სიმართლე გითხრათ, ეს არ უნდა იყოს საჯარო დირექტორია მაინც, თუ ეს შეშფოთება. ახლა მოდით დავუბრუნდეთ ჩემი ბრაუზერი და განახლება. და მე ვაპირებ დააწკაპუნეთ პატარა Ghostbusters სიმბოლო გარკვევა, რომ ნაწილი ეკრანზე ასე ვხედავთ ახალი მოითხოვს. და მართლაც, აქ არის Grump Cat ადრე. რაც მთავარია, ტექნიკურად, არ არის ნომერი 200, რომელიც ნიშნავს, რომ ჩვენ მივიღეთ ეს OK. ყველა უფლება, ასე რომ ყველა კარგი და კეთილი. მაგრამ ჩვენ არ ვაკეთებთ საუკეთესო საიტები, არც ჩვენ ვაპირებთ შევეცადოთ ძალიან ძნელი იმისათვის, რომ fanciest საიტებზე დღეს. მაგრამ მოდით მინიმუმ, რომ რამე super ნაცნობი ადრე გაისმა off რამდენიმე სხვა tags. ამიტომ ვარაუდობენ, მე არ მინდა, კატა აქ. დავუშვათ, მე რეალურად მინდა ეს cat უკავშირებენ რაღაც. მე შეიძლება, მაგალითად, რაღაც მსგავსი. ამისთვის წამყვანი href for ჰიპერ მითითება შეადგენს და მოდით უბრალოდ რაღაც როგორიცაა www.google.com ახლოს ციტირებით ახლო bracket. და ახლა ძებნის კატა. მჭიდრო წამყვანმა ტეგით. ასე რომ, ეს მხოლოდ ერთი სახის ფუნდამენტურად ახალი დეტალი. Tag რა თქმა უნდა, განსხვავებულია. ეს სახელი უნდა წამყვანმა href ან ჰიპერ მითითება. მაგრამ რაც მთავარია, არ არის ამ სინტაქსური ფუნქცია აქ. ეს არის ის, რაც ჩვენ დავიწყებთ მოუწოდებს არ აქვს, მაგრამ ატრიბუტი. და ატრიბუტი არის ის, რომ ცვლის ქცევის აქვს. და ეს ატრიბუტი, href, საშუალება ცვლილებები ქცევის ამ წამყვანს ასე რომ, როდესაც ის დააწკაპებთ, ის მიდის ამ URL აქ. და რა თქმა უნდა, URL არის Google. ამავდროულად, რა არის ეს ტექსტის აქ იქნება? ისე, რომ იქნება რა არის ადამიანის რეალურად ხედავს ხაზგასმულ ბმული, როგორც მარტივი, როგორც, რომ. მოდით ცდილობენ ამ. ნება მომეცით გადარჩენა მას. მე მაინც hello.html. მაგრამ ვერსიით შემოსული, დაინახავთ ფაქტობრივი ფაილის სახელები, წინასწარ მომზადებული. ნება მომეცით წავიდეთ წინ და განაახლეთ. და ახლა ეს ძალიან underwhelming გვერდი მაინც. მაგრამ თუ hover მეტი იქ და ეს პატარა, but-- თქვენ ხედავთ ბოლოში მარცხენა კუთხეში თქვენს ეკრანზე, ეს მართლაც აპირებს google.com. და თუ მე დააჭირეთ რომ, ის ავთქვიფოთ me გზა ფაქტობრივი Google. მაგრამ შეამჩნია აქ შესაძლებლობა ექსპლუატაცია, როგორც განზე. და ჩვენ დავბრუნდებით სხვა უსაფრთხოების საკითხებზე ადრე ხანგრძლივი. იმის გამო, რომ ეს დიქოტომია შორის, სადაც მიდიხარ და რას ამბობენ, თქვენ შეიძლება რაღაც მოსწონს ამას http://www.google.com. OK, და ახლა თუ განაახლეთ შემდეგ გადარჩენა, რომ გვერდზე, როგორც ჩანს მე ვაპირებ წასვლა Google. მაგრამ არ არსებობს მიზეზი, I უნდა წავიდეს Google, არა? მე ვერ რეალურად წასვლა რაღაც badguy.com, განაახლეთ გვერდი აქ. და შეამჩნია, ის კვლავ ჰგავს Google. და მხოლოდ მაშინ, მე მკვეთრი საკმარისი hover მეტი აქ ვხედავ, ის კი აპირებს წასვლა სხვადასხვა ადგილას. ასე რომ, თუ თქვენ ოდესმე მიღებული ელ, განსაკუთრებით ერთი Paypal, ან როგორც ჩანს, საწყისი Paypal თქვენ გეკითხებით, რომ შეხვიდეთ სისტემაში თქვენს ანგარიშზე, ამ ამიტომ, თქვენ არასდროს არ უნდა ოდესმე დააწკაპუნეთ კავშირების წერილებს, სიმართლე გითხრათ, რაიმე კავშირი ელ. თუ თქვენ იცით, რომ თქვენ გაქვთ ფაქტობრივი ფული Paypal ან საბანკო ამერიკის ან Fidelity ან ნებისმიერი ნახვა, ხელით აკრიფოთ ის. იმის გამო, რომ შევხედოთ, თუ როგორ ადვილი არის შეასრულა ვინმე წარდგენის რა ჰგავს ლინკები. მაგრამ რეალურად შეეძლო აბსოლუტურად ყველგან. და იქ ბევრად უფრო მეტი მუქარა, ვიდრე ეს. ფაქტობრივად, ეს არის ცოტა საქართველოს ტანგესი არის, მაგრამ ერთი საუკეთესო პირობა მე ოდესმე დავინახე რომელიც მას შემდეგ დაიხურა, არის ადამიანი, მიიყვანა ხალხი რომელთა მიზანია ასე რომ, ეს შეიძლება ითქვას, დააწკაპუნეთ აქ, რათა შეხვიდეთ თქვენს ანგარიშზე, საბანკო ანგარიშზე. და ეს იყო ბანკის დასავლეთში. ასე რომ ვინმე შეიძინა ეს. და ეს ცოტა უფრო ადვილია, ეს მონო დაშორებული font დაშორება წელს 30-ფეხით პროექტორი. მაგრამ როცა ის პატარა შრიფტი ელ რომ თქვენ მიღების, ეს ჰგავს bankofthewest.com, არ bankofthevvest.com, რომელიც ვინმეს ჰქონდა გადახდილი $ 10 შეძენა. და ეს გამოიწვია მათ ექვივალენტი ცუდი საიტზე. და ნახავ too-- რეალურად ჩვენ შეგვიძლია გავაკეთოთ ამას თუ მე რეალურ ნახვა, bankofthewest.com, კიდევ ერთხელ, გავიხსენოთ ბოლო დროს რომ თუ ეს ვებ-გვერდზე და თქვენ აინტერესებს, როგორ მუშაობს, თქვენ რა თქმა უნდა წასვლა Chrome- ს დეველოპერი ინსტრუმენტები. და თქვენ შეგიძლიათ ნახოთ ყველა HTML კარგად ფორმატირებული არსებობს. მაგრამ უფრო მეტიც, თქვენ cam-- მოდით დახუროს ამას შეგიძლიათ წასვლა ნახვა დეველოპერი წყარო. რატომ არ გადააკოპირეთ ყველა რომ მერე შეგიძლიათ შეხვიდეთ ჩემს პატარა gedit window აქ და საკუთარი ვებ გვერდი. გადარჩენა ეს hello.html. და ალბათ ეს იქნება შესვენება, იმიტომ, რომ ეს არ არის ამ მარტივი წესი. მაგრამ ახლა თუ განაახლეთ ჩემი გვერდი ჩემი CS50 ელექტრო და მოხვდა განაახლეთ, OK, რაღაცები დაიწყო. მაგრამ მე საკმაოდ ახლოს, რომელსაც ჩემი საბანკო ნახვა, არა? ყველა ამ HTML-- [სიცილის] დავით J Malan --I არ რეალურად და ვიცით, რომ არსებობს ვინმე არსებობს ვინც რომ რეალურად დააჭირეთ ამ კავშირების ძალიან. ასე ნათლად, რაღაცები დაიწყო. მაგრამ, რომ აპირებს გამოიწვიოს ჩვენს დისკუსია, ზედმეტად ახლა, როგორც რა CSS, კასკადური სტილების, რომლებიც, და რამდენად რეალურად უფასო სხვა HTML ფაილი და JPEG GIF ფაილი, რომელიც ნახვა შეიძლება გამოყენებით. მაგრამ ყველა, რომ არის მიღწეული. მაგრამ ეს მართლაც boils ქვემოთ ეს ძალიან მარტივია heuristics. ახლა მოდით უბრალოდ skim მეშვეობით რამდენიმე სხვა მაგალითი HTML მხოლოდ გადმოგცეთ გრძნობა საქართველოს, რა შეგიძლიათ გააკეთოთ. მაგალითად, ეს არის list.html. დავუშვათ, მინდოდა ვებ გვერდზე სიაში სახლების quad. მე შეიძლება გამოიყენოს ul tag for უწესრიგო სიაში და შემდეგ სიის ელემენტს ბავშვი და შემდეგ iterate over-- ან სია, rather-- სახლები კითხვა. და თუ მე გახსნა, მოდით გავაკეთოთ ეს. მოდით წავიდეთ არ hello.html, მაგრამ უნდა list.html. რა იგი. როგორ შემიძლია დაფიქსირება ამ? ეს იგივე საკითხი, როგორც ადრე, არა? ნება მომეცით გავაკეთო chmod-- oops-- chmod + რ list.html. და ახლა თუ მე დავუბრუნდეთ ჩემს ბრაუზერში და დააწკაპეთ Reload, ეს არის. ასე რომ, თუ თქვენ ოდესმე სურდა, რათა bulleted სიაში, შეგიძლიათ ამის გაკეთება. თუ გსურთ, რომ იყოს სუპერ ლამაზი და წესრიგიანი სია, არ უწესრიგო სია, შეცვლა იმ ol, განაახლეთ გვერდი და ახლა ბრაუზერის ნომერი იგი თქვენთვის. რა შეიძლება გავაკეთოთ? ასევე, რამდენიმე others-- თუ თქვენ მოხვდით ხანგრძლივი პუნქტები ტექსტი მაგალითად, ზოგიერთი ლათინური ტექსტი, როგორც ამას და თქვენ გინდათ, ცალკე პუნქტები, ღია p ახლოს, p, რომ პუნქტის tag. და ამის გაკეთება ისევ და ისევ. და თუ ახლა გახსენით ეს ფაილი, paragraphs.html, ასევე, ამ დღითიდღე შემაშფოთებელი. ახლა მოდით უბრალოდ დაბრუნდეს ჩემი სწრაფი, chmod + r r ვარსკვლავი .html-- ლამაზი პატარა ველური ბარათი, ასე ვთქვათ. ეს უნდა დააფიქსიროს ყველა ეს პრობლემა ჩემთვის. მოდით განაახლეთ. არსებობს სამი პუნქტი. და ახლა მოდით წავიდეთ წინ და ქმნის ერთი. როგორ შესახებ მაგიდაზე? თქვენ შეამჩნევთ, მაგიდა გამოიყურება ცოტა უფრო რთული. მაგრამ ეს იგივე იდეა ღია tag, ღია tag, ღია, ღია, ღია, მჭიდრო tag, ღია აქვს. და ეს მოხდება უნდა დავდგეთ მაგიდა, რომლის საზღვარზე, სავარაუდოდ, იქნება სისქე 1-- რასაც რომ იმას ნიშნავს გრაფაში, მაგიდის მონაცემები, რაც იმას ნიშნავს, რომ საკანში. და თუ მე დავუბრუნდეთ ჩემს ბრაუზერში აქ, გადადით table.html, ხედავთ რაღაც როგორც ეს, ცუდი არ იყოს. მაგრამ ამას კიდევ იმ დონემდე, სადაც ჩვენ შეიძლება რეალურად რათა რამ გალამაზებაში ვიდრე, რომ. ნება მომეცით, ითვალისწინებს ახლა. არსებობს მტევნების მეტი tags. და HTML მშვენიერი შეარჩიო რადგან, სიმართლე გითხრათ, ყველა თქვენ უნდა გააკეთოთ არის შევხედოთ არსებული ვებ გვერდების რომელიც თქვენ იცნობს. და თქვენ, როგორიცაა, oh, ასე მათ ეს ესთეტიურად. ან შეგიძლიათ შეხედოთ ნებისმიერი ონლაინ რესურსი, თუ როგორ HTML სამუშაოები, და დაინახავთ, რომ იქ მთელი ლექსიკა სხვა tags. მაგრამ მარტივი გონებრივი მოდელი მარტო, რომ თითქმის ნებისმიერი tag თქვენ გახსნა უნდა დაიხუროს, ეს ნამდვილად არ გვაძლევს, ასწავლოს თავის HTML შემდეგ გაგება, ამ ძირითადი იდეები tags და ატრიბუტებს და კარგად formedness ჩვენ ვისაუბრეთ, დახურვის არაფერი რომ ჩვენ შეიძლება გახსნა ასე რომ, ჩვენ არ აღრეული ბრაუზერში. მოდით, ახლა ეს უფრო საინტერესო დონეზე აპირებს აქტუალურია. და მოდით წავიდეთ ჩემს Mac აქ, google.com. და ახლა შეამჩნია, მოდით ეს. მე gong წასვლა პარამეტრების, ძებნის პარამეტრები. მინდა გამორთეთ ეს შემაშფოთებელი მყისიერი შედეგების რამ, სადაც იგი დაუყოვნებლივ იწყება რეაგირების თქვენი აკრეფით. მოდით ეს ძველი სკოლა ასე ჩვენ რეალურად ვხედავთ, რა ხდება. ამიტომ, მე ვაპირებ გადარჩენა ჩემი Google პარამეტრები აქ. და ახლა შეამჩნია მე ვაპირებ ძიება რაღაც კატა. და მაინც აკეთებს ავტომობილი სრული, მაგრამ საფუძველზე რამ ადამიანი აკრეფილი წარსულში. მაგრამ შეამჩნია რა მოხდება. ამ URL მომენტში ეს, უბრალოდ, google.com. და ტექნიკურად, ეს ხაზი. Google უბრალოდ გადარჩენის ხასიათი და არ აჩვენებს, რომ. ისინი გვიჩვენებს, https, უბრალოდ უნდა იყოს სუპერ გამამხნევებელია, რომ ჩვენ ზე უსაფრთხო და დაშიფრული გვერდზე. ნება მომეცით, წავიდეთ წინ და მოძებნოთ cats. ახლა ეს სერიოზულად აბსოლუტური სწრაფად. შეხედეთ სიგრძე URL. მაგრამ აღმოჩნდება, რომ ამ პერსონალის ამ URL არის რეალურად საკმაოდ უსარგებლო. მე ვაპირებ დაიწყება წაშლის ყველაფერი მე არ მესმის. მე ვხედავ cats. მე მესმის cats. მე არ ვიცი, რატომ კატა ისევ. მე ნამდვილად არ ვიცი რა ეს სისულელეა. ასე რომ, მე უბრალოდ აპირებს შეინარჩუნოს ხაზს უსვამს და წაშლის პერსონალი რომ მე არ მესმის, გამოხდის URL შევიდა მხოლოდ ამ. ახლა ნება მომეცით მისაღებად შევა კიდევ ერთხელ. ეს ჰგავს Google ჯერ კიდევ მუშაობს. რატომღაც, ისინი დასძინა, ბევრი პერსონალი, მათი URL- ის იყოს. მაგრამ ეს არ არის მკაცრად საჭირო. რა არის ლამაზი ამ? ასევე, ნება მომეცით წავიდეთ წინ და გახსენით Chrome ის ინსპექტორი. არსებობს პატარა მაუსის მალსახმობი მას. გადასვლა ქსელის tab. ახლა კი ნება მომეცით განაახლეთ ამ გვერდზე კიდევ ერთხელ. და მე ჩატარების Shift. როგორც განზე, ბრაუზერები როგორც წესი, ქეში ან შენახვა ინფორმაცია მხოლოდ ეფექტურობის გამო. მაგრამ, როგორც წესი, ჩატარების Shift და გადატვირთვა აიძულებს ყველაფერი დაიწყოს დასრულდა დასაწყისში. და ის, რაც მე მინდა ამის გაკეთება აქ. და შენიშნავს, რომ ყველა ეს რიგები, რომ გამოჩნდა. გამოდის, რომ ნებისმიერ ვებ გვერდი შეიძლება იყოს მხოლოდ ერთი ფაილი involved-- hello.html-- ან იქ შეიძლება იყოს 52, რადგან ამ შემთხვევაში. როდესაც მე ეწვევა google.com, როგორც ჩანს, ჩემი ბრაუზერის დღეიდან 52 ცალკე HTTP მოთხოვნები. რატომ არის, რომ? ასევე, შევხედოთ, თუ რა არის შიგნით ამ ვებ გვერდზე ზევით. იქ არ არის ერთადერთი ტექსტი, მაგრამ არსებობს ფაქტობრივი გამოსახულებები კატა მეტი უფლება. არსებობს ფერადი ლოგო up აქ მარცხნივ. იქ ყველა ამ ხატები მიკროფონი და სხვ. არსებობს ბევრი ცალი, სამშენებლო ბლოკები, ნულიდან ცალი, თუ გნებავთ, ამ ვებ-გვერდზე. და რა ბრაუზერი აკეთებს საფუძველზე მიღების პირველი ფაილი, რომელიც ეს row აქ, იგი არსებითად iterating მეტი HTML ზედა ქვედა, მარცხნიდან მარჯვნივ, ეძებს რამ, როგორიცაა იმიჯი tags ან სხვა tags რომ ხსენებას სხვა ფაილი და როდესაც ის ხედავს მათ, მიდის და fetches მათ მეშვეობით HTTP, სიცოცხლისუნარიანი მთელი კონვერტში მეტაფორა, და შემდეგ აჩვენებს მათ ადგილსამყოფელზე ვებ გვერდზე. მაგრამ შეამჩნია აქ თუ მე ფოკუსირება პირველი ჩააგდოს, ძებნის კატა, შეამჩნია, რომ, რა თქმა უნდა ის გამოყენებით HTTP 1.1. და სამწუხაროდ, Google Chrome ახლავე ვერსია 39 სახის dumbing რამ ქვემოთ და არ აჩვენებს us ფაქტობრივი headers. მაგრამ რა მართლაც გაგზავნილი თხოვნა არ ხაზი, მაგრამ / ძიება? q = cats. ახლა, რატომ არის ეს მნიშვნელოვანი? ისე, მე ვაპირებ, რომ ითქვას, ამ, რომ თუ Google მხარს უჭერს შეკითხვებს ამ ფორმით, რატომ არ მე განახორციელოს ჩემი საკუთარი ძებნა ძრავი CS50, მაგრამ მხოლოდ წინა საბოლოოდ, მხოლოდ გრაფიკული ინტერფეისი. და ჩვენ გამოაცხადოს უკან ბოლომდე, ფაქტობრივი ძიების შედეგები Google. ასე რომ, როგორ შეიძლება ამის გაკეთება? ასევე, ნება მომეცით წასვლას gedit აქ. და ნება მომეცით წავიდეთ წინ და გახსნა up, ასე ვთქვათ, ახალი ფაილი. და მე ვაპირებ გადარჩენა ეს დროებით, საძიებო 0.html. და მაშინ საბოლოოდ, ჩვენ სწრაფი ველით მე წინასწარ მომზადებული. და მე ვაპირებ სწრაფად whip up doc ტიპი html ღია bracket html ახლო bracket html. მაშინ მე ვაპირებ ამის გაკეთებას უფროსი ახლოს ხელმძღვანელი ღია სათაური CS50 ძიება ნაცვლად Google ძებნა. Down აქ მე ვაპირებ აქვს ნაწილები, აქ ქვემოთ მჭიდრო ორგანოს. და ახლა მე უნდა CS50 ძებნა. და რეალურად, მოდით აშენება იწყებს. მე ვაპირებ წავიდეთ წინ და დახურვა და რეალურად ეს ჩემი საჯარო დირექტორია. ასე რომ მომეცი მხოლოდ ერთი მომენტი. ძებნის 0.html-- მე ვაპირებ დროებით ეძახით search.html. მე ვაპირებ chmod მას + r search.html. და ახლა მე ვაპირებ გახსნა. ყველა უფლება, ასე რომ სწრაფად. მაგრამ მიზანი უბრალოდ მიიღოს ჩვენთვის აზრი რომელსაც ამ ტექსტი ფაილი სახელად search.html. ასე რომ დიდად არ შევხედოთ ამჟამად. მართლაც, თუ მე ჩემს ბრაუზერში, და წასვლა search.html, რომ ყველა ეს. მაგრამ იცით, რა? მე შეიძლება ცოტა fancier. წავიკითხე წიგნი, რომელიც იქ თავსათაური tag მოუწოდა h1. და მე ვაპირებ წავიდეთ წინ და გამოყენება, რომ ღია h1 და ახლო h1. განაახლეთ გვერდი. და ახლა ეს უფრო დიდი და თამამი, არ არის, რომ საინტერესო, მაგრამ მაინც ეს სტრუქტურულად უფრო საინტერესო. მაგრამ ახლა ნება მომეცით წარმოგიდგინოთ კიდევ აქვს. თურმე არსებობს ფორმა აქვს. და ნება მომეცით დახუროს, რომ აქვს. და აღმოჩნდება, რომ ის შეყვანის ტეგით რომ აქვს ატრიბუტი მოუწოდა ტიპის, რომელიც მონაცემები ტიპის სფეროში, თუ გნებავთ. და იქნება ტიპის ტექსტი. და მისი ღირებულება იქნება იყოს CS50 ძებნა. Close აქვს. და იქ არ უნდა იყოს ცნება გახსნის და დახურვის ცალკე tags. ნება მომეცით დაბრუნდეს აქ და ვნახოთ, რა ხდება, განაახლეთ. ხდება საინტერესო. როგორც ჩანს, ეს არის ტექსტური ველი. და რეალურად, მე არ მინდა, იმისათვის, რომ არც იქ არ არის. ნება მომეცით დაბრუნდეს აქ და რეალურად მიიღონ მოშორება ეს არც შენარჩუნება ეს მარტივი. იმის ნაცვლად, რომ ღირებულება, რაც მე მინდოდა რათა ეს ნივთი სახელი. და მე არ ვიცი რა არის, ამიტომ მე დავბრუნდებით რომ. მაგრამ ქვემოთ, მინდა უნდა გავაკეთოთ input type = წარუდგინოს. და ეს არც იქნება CS50 ძებნა. და ვნახავთ, თუ რატომ მე გადავიდა არც ეს. როდესაც მე განაახლეთ, როგორც ჩანს, ახლა უნდა დასაწყისი ჩემი საკუთარი ძებნა სისტემა, სუპერ მახინჯი, მიუხედავად იმისა, რომ გულწრფელად, არ არის შორს ჩააგდოს რა Google ნაგულისხმევი გვერდი ჰგავს. თუ მე აქ, ახლა, შემიძლია აკრიფოთ კატა და იმედია დააწკაპუნეთ ძებნა. მაგრამ მე არ საკმაოდ არის გაკეთებული, იმიტომ, რომ მე არ განხორციელდა, ცხადია, მონაცემთა ბაზაში. მე არ crawled ვებ ძიების შედეგები. ასე რომ, მე უნდა გამოაცხადოს, რომ Google. ასე რომ, როგორ გავაკეთო ეს? ისე, პირველ რიგში, უნდა დაემატოს და სამოქმედო მიეწერა ჩემი ფორმა აქვს, რომ არის http://www.google.com/search. და ვიცი, რომ მხოლოდ მქონე ივარაუდეს, ეძებს მჭიდროდ მათი URL ს. და ახლა ვხვდები. რა უნდა ამ ველში ალბათ ეწოდოს, რომელიც ეფუძნება, სადაც ჩვენ მოვიდა ადრე? აუდიტორია:? Q. დავით J Malan? Q. და ჩვენ არ რეალურად უნდა კითხვა აღსანიშნავად აღმოჩნდება, მაგრამ q არის მართლაც, Q ამისთვის შეკითხვის ალბათ ჩვეულებრივ, მხოლოდ იმიტომ, რომ რა Larry და სერგეი გამოვიდა წლის წინ. ახლა ნება მომეცით განაახლეთ ეს გვერდი. ეს არ გამოიყურება ყველა, რომ სხვადასხვა. მაგრამ ახლა უყურებს, რა მოხდება. თუ მე აკრიფოთ კატა და click CS50 ძებნა და გაუშვებენ, შეამჩნია მივიღებ ექსტრადირება მოშორებით ფაქტობრივი Google. ახლა, Google არის, რომ ცოტა შემაშფოთებელი, რომ ისინი მიერთება დამატებითი პარამეტრი, თუ გნებავთ, რომ URL. რომ ყველა ხდება ავტომატურად Google მხარეს. მნიშვნელოვანი ნაწილი არის ის, რომ, როგორც ჩანს, არ გენერირებული ამ მოთხოვნით აქ. და მართლაც, რომ ის, რაც ხდება. როდესაც თქვენ გაქვთ HTML, ასე გამოიყურება, ამ არის ერთგვარი ვებ დეველოპერები notation ამბობდა, წავიდეთ წინ და შევქმნათ ფორმა რომ როდესაც ის წარმოდგენილი, ის აპირებს წავიდეს ამ URL. და როცა URL უზრუნველყო ღირებულებები რამ, როგორიცაა რ, არ წასვლა მხოლოდ ამ URL. რეალურად გადადით ნიშნის და შემდეგ q = cats. დამატება პარამეტრი, HTTP პარამეტრების როგორიცაა, რომ. და უბრალოდ უნდა იყოს სუპერ ზუსტი, რა ხდება დასკვნა გაკეთდეს აქ მაგრამ მე ვიქნები უფრო explicit-- არის რომ მეთოდი მინდა მიიღოს, ნაცვლად რაღაც ჩანაწერი, რომელიც ჩვენ საბოლოოდ ვხედავთ. მოკლედ, უბრალოდ გაგება HTML და გამოყენების ზოგიერთი საკმაოდ მარტივია tags, ჩვენ ახლა ვიწყებთ შექმნა ჩვენი წინა ბოლომდე პროფაილი ინტერფეისი არის მოძებნილი ძრავის უკან. მაგრამ ეს, რა თქმა უნდა, საკმაოდ ცუდი არ იყოს. ნება მომეცით რეალურად ქმნის ოდნავ უკეთესი ვერსია. ეს არის ერთ I მომზადდა წინასწარ რომ აქვს კომენტარები. მაგრამ თქვენ ხედავთ, რომ მე საკმაოდ ბევრი თავიდან იგი. ასე რომ, ეს უკვე ხელმისაწვდომი. და მე მოხდეს წინასწარ წასვლა https უბრალოდ შეინახოს იგი მარტივი. და ახლა მოდით გახსენით შემდეგი iteration ამ. არის ვერსია 1 ნაცვლად 0. რა გადასვლა out at თქვენ ოდნავ განსხვავებული ამ მაგალითიდან? აუდიტორია: [INAUDIBLE]. ჰო, არსებობს ამ ტექსტის გასწორება ცენტრი. ეს არის პატარა უცნაური აქ. მაგრამ ეს მართლაც ახალი. და იქნებ გამოვიცნოთ, თუ რა მოხდება. თუ მე ჩემს ბრაუზერში ახლა და ეწვევა ძებნის 1.html, ეს თითქმის იგივე. მაგრამ ეს უფრო დაუახლოვდა ყოფნა უფრო ლამაზი. ეს ჯერ კიდევ მახინჯი, მაგრამ გალამაზებაში, რომ მინიმუმ ყველაფერი ახლა ორიენტირებული. გამოდის, რომ ის, რაც მე გამოყენებით კიდევ ერთი ენის საერთოდ ე.წ. CSS, კასკადური სტილების. და CSS, სიმართლე გითხრათ, სახის საქართველოს, ჩემი პირადი აზრით, atrociously განკუთვნილია ენაზე. ეს არის ძალიან შემაშფოთებელი უნდა გვახსოვდეს, ყველა სხვადასხვა დეტალები. მაგრამ ეს არის ის, რაც stylizes მთელი მსოფლიოს ინტერნეტში დღეს. მე ვინმეს ვაწყენინეთ. ყველა უფლება. მოდით დავუბრუნდეთ აქ და ვნახოთ როგორ ჩვენ რეალურად გამოყენებისას. და აღმოჩნდება, თუნდაც ეს რეალურად საკმაოდ მარტივი ენა. ეს მხოლოდ გასაღები ღირებულება წყვილი, თვისებები და ღირებულებები, თვისებები და ღირებულებები. მართლაც, აქ არის ერთ-ერთი ასეთი ქონება და ღირებულება. უბრალოდ გამოყენებით სტილი მიეწერა ჩემი სხეულის tag და ვაძლევთ მას ღირებულება სიტყვა მსხვილი ნაწლავის და კიდევ ერთი სიტყვა, ან ქონება და ღირებულება, შემიძლია იმოქმედოს ესთეტიკის ვებ-გვერდის და არა აუცილებლად სტრუქტურა არ არის, მაგრამ ესთეტიკას ეს. და მხოლოდ Googling გარშემო, ვხვდები, რომ CSS, კასკადური სტილების, მხარს უჭერს ქონების მოუწოდა text-align, რომლის ღირებულება იყოს მარცხნივ, მარჯვნივ, ან ცენტრში, მაგალითად. ასე რომ, ახლა, როდესაც მე განაახლეთ ამ გვერდზე, რაც მე არ მიიღოს იყო ორიენტირებული გვერდი, მაგრამ მაინც საკმაოდ მახინჯი. მოდით წავიდეთ წინ და გახსნა ვერსია 2 ძებნა. და ახლა შეამჩნია მე ვაკეთებ ცოტა მეტი. ყურადღება მიაქციეთ, რომ აქ შიგნით უფროსი tag, იქ შეიძლება მეტი ტიტული. ფაქტობრივად, არ არსებობს სტილი აქვს. და ეს არის, სადაც ეს უბრალოდ იღებს პატარა ბინძურ ხედავს CSS ზოგჯერ. შეამჩნია, რომ მე, როგორც ჩანს, აქვს რაღაც რომ სტრუქტურულად ძალიან განსხვავებული. მაგრამ აქ არის სახელი tag მინდა სტილიზებული. აქ არის ჩვენი ძველი მეგობრები curly braces და დახურული curly გაუწიოს. და მაშინ ის არის, რომ ქონება და მისი ღირებულება. თუ მე გადაწეროთ ეს ფაილი, search2.html, საბოლოო შედეგი იდენტურია. მაგრამ ეს ნაბიჯი უკეთესი დიზაინი. ფაქტორინგი ეს CSS, მე არ ჩარიცხული ეს ჩემი HTML. და მართლაც, როგორც ვნახავთ, მე ვერ reuse ამ თვისებების და ღირებულებებს. თუ მინდოდა მტევნების ნაწილი ჩემი ვებ გვერდზე ორიენტირებული, მე არ უნდა აკრიფოთ style = text-align ცენტრში მთელი ადგილი. შემიძლია დააყენა ერთი ადგილი ალბათ, ისევე როგორც up ზედა. მაგრამ ეს არ არის საუკეთესო დიზაინი. ფაქტობრივად, ერთი რამ, რომ თქვენ ვისწავლოთ როგორც თქვენ უფრო მეტი და მეტი დრო ვებ პროგრამირების, რომ უფრო თქვენ შეგიძლიათ modularize ნივთები და ფაქტორი ნივთების როგორც თ ფაილი მოდით ფაქტორი პერსონალის, მინდა helpers.c მოდით ფაქტორი ნივთების რამდენიმე psets წინ. ანალოგიურად, შეიძლება ჩვენ გსურთ მისაღწევად. ასე რომ შეამჩნია ვერსია სამი search.html მე დაასუფთავეს უფროსი გვერდზე და მხოლოდ დააყენა ამ ლინკები tag, რომელიც პირიქით, სახელი, არ გაძლევთ ჰიპერბმული. ის აკავშირებს სხვა ფაილი გზით href რომლის ღირებულება, ამ შემთხვევაში, საძიებო-3.css ასე რომ, მე გააცნობიეროს, რომ ჩვენ ვაპირებთ სწრაფად. მაგრამ ყველა მე ვაკეთებ სახის მოძრავი რამ გარშემო. ნება მომეცით გახსნა ძებნის 3.css. ეს, არაფერი ნამდვილად მას. უბრალოდ გადაწერა და გაკრული იგი ახალი შეიტანოს, ისევე, როგორც ჩვენ factored პერსონალის სხვა ფაილი წინაშე. და ჯამში სრულიად underwhelming-- იქნება ზუსტად იგივე. მაგრამ ჩვენ მოძრავი toward-- არა, ეს ასე არ არის. ოჰ, მე ვიცი, რატომ. ასე რომ, როგორც ჩანს, ეს იქნება შეცდომა. და ეს არის გარკვეული. მაგრამ ნება მომეცით გახსენით ჩემი ქსელი tab. მიადევნე თვალი განაახლეთ გვერდი. Ah, რატომ არის CSS არ გამოიყენება? ასევე, CSS ფაილი, ასევე, აქვს იყოს მსოფლიო იკითხება, ასე ვთქვათ. და ეს ძალიან ამჟამად აკრძალულია. ნება მომეცით გავაკეთოთ chmod + r ვარსკვლავი dot CSS-- whoops-- ჩვენ dot CSS მხოლოდ ფაილის გაფართოება CSS ფაილი. ახლა ნება მომეცით დაბრუნდეს ჩემი ბრაუზერი და განახლება. OK, ცოტა უკეთესი. ახლა ნება მომეცით გავაკეთოთ ერთი რამ. In search-4.html. მე მაქვს ვერსია, რომ მე უბრალოდ ვიფიქრე იყო გზა ქულერი, თუმცა უფრო მეტი, რთული. მოდით შევხედოთ შედეგი პირველი. დახურეთ ეს მოგვცეს მეტი ოთახი. შეცვალეთ ეს ძიება-4, შეიყვანეთ. და ახლა რამოდენიმე რამ მოტეხილი. მე ვაპირებ დაბრუნდეს ჩემი დირექტორია აქ. და ახლა მე უბრალოდ აპირებს chmod of + r on ფაილი რადგან ვიცი, რომ exists-- ე.წ. logo.gif, რომელიც იმიჯი. და ახლა განაახლეთ. და wow-- ასე რომ, ახლა მე ვარ საკმაოდ ახლოს, სიმართლე გითხრათ, მინდა 1999 ვერსია Google, და სიმართლე გითხრათ, 2014 წლის ვერსია Google, არა? ასე რომ ახლა აპირებს მათი ნახვა, საბოლოო ჯამში, თუ ძიება cats. და ეს ნამდვილად. მაგრამ რა გავაკეთო განსხვავებულად ეს ვერსია 4? ასე რომ, ჩვენ არ შევუდგებით, ძალიან ბევრი აქ. დაინახავთ ამ პრობლემის შვიდი საბოლოოდ. მაგრამ შეამჩნია მე რამდენიმე რამ. მე გააცნო div tag, რომელიც განყოფილება, მსგავსი სულისკვეთება პუნქტის tag. მაგრამ დაყოფა, ისევე, როგორც, აქ მართკუთხა უხილავი რეგიონში ეკრანზე. მოდით მივცეთ მას უნიკალური იდენტიფიკატორი, ძირი, უბრალოდ ასე რომ, ჩვენ შეიძლება ვისაუბროთ ეს ჩვენი HTML სხვაგან. აქ არის კიდევ ერთი div გვერდის რომლის ID იქნება შინაარსი. ეს შინაარსი გვერდზე. და აქ არის header გვერდზე. სხვა სიტყვებით, მე არსებითად HTML ვარ სულიერად ათვალიერებენ ამ ვებ გვერდზე, სამი კომპონენტი, header აქ ამ უხილავი მართკუთხედი, შინაარსი შუა და შემდეგ ძირი ქვემოთ, მაშინაც კი, მიუხედავად იმისა, რომ ჩვენ ვერ ვხედავთ იმ რამ. იმიტომ, რომ მინდა ჩემი უფროსი აქ, ან .css ფაილი, შემიძლია ამ სინტაქსს. ჰედერი არ აქვს. ეს ID გამოდის რომ ამით # header, მე ახლა ვრცელდება ერთი ან მეტი ქონების header. შემიძლია იგივე შინაარსი, იგივე შინაარსი აქ. ასე მაგალითად, ძირი, ცნობა ყველა ამ თვისებების მე დასძინა. და მე ვიცი, რომ ისინი არსებობენ მხოლოდ მოსმენით მდე დოკუმენტაცია CSS. შრიფტის ზომა იქნება smaller-- ასე რომ ზოგიერთი ნათესავი შრიფტის ზომა. წონა იქნება გაბედული. Margin-- რამდენი პიქსელი გარშემო it-- 20 pixels. და ეს იქნება ორიენტირებული. მაგრამ ახლა, გვერდზე ასე გამოიყურება. თუ მე არ ვარ კმაყოფილი ჩემი ასლი უფლება არსებობს, მე ვერ გავაკეთებ რაღაც ფერი წითელი. და მაშინ შემიძლია შენახვა, განახლება, და ახლა მე სტილიზებული ძირი. ასე რომ, ეს მხოლოდ მან მიანიშნა ძალა რა შეგიძლიათ გააკეთოთ ვებ გვერდზე შეცვალოს გარშემო. და მაშინაც კი, ქულერი, ვიდრე ეს, თუ გსურთ poke გარშემო ფაქტობრივი საიტებზე, თქვენ არ შეგიძლიათ მუდმივად შეცვალოს ისინი. მაგრამ თუ გახსნა Chrome- ს ინსპექტორი ერთხელ და მე არ მარცხენა მხარეს აქ, რომელიც ცხადყოფს, Facebook- ის HTML, მაგრამ ჩანს, მარჯვენა მხარეს მისი ყველა CSS, თქვენ შეგიძლიათ და შეცვალოს on the fly. ნება მომეცით, წავიდეთ წინ და ამის გაკეთება. ნება მომეცით წავიდეთ წინ და კონტროლი დააჭირეთ ამ შემთხვევითი სიტყვა, აქ, მოაწეროს და დაჭერით შეამოწმოს ელემენტის. Chrome ძალიან მოხერხებულად გადასვლა h1 tag რომ Facebook გამოყენებით. და შენიშნავს, აქ Facebook აქვს სახის lazily მყარი კოდირებული შრიფტის ზომა, როგორც ქონების აქ. ასე რომ მაგარი რამ, თუმცა არის რომ თუ რეალურად წასვლა აქ და აცხადებენ, oh, Facebook, მე არ მინდა, რომ 64 პიქსელი, ჩვენ შეგვიძლია ახლა შეცვლის Facebook. რა თქმა უნდა, ჩვენ მხოლოდ შეცვლის მას პირადად ჩემთვის მომენტში. მაგრამ ეს არის კიდევ ერთი ინსტრუმენტი ჩვენს ინსტრუმენტი ნაკრები რომ აპირებს საშუალებას მოგვცემს tweak და გაერკვნენ და დიაგნოსტიკა საკითხები, რომლებიც ჩვენს ვებ გვერდს. და ჩვენ შეგვიძლია ასეთივე წავიდეთ მეტი აქ, რაც იგივე. თუ თქვენ ნამდვილად გსურთ მიიღოთ ლამაზი, I ვგულისხმობ, ახლა შეგიძლიათ ნამდვილად განიცდიან მუტაციას გვერდი და ნუ გიჟები რამ. რატომ არის ეს ყველა საჭირო? ისე, საბოლოო ჯამში, ჩვენ აპირებთ მინდა იყოს შეუძლია შექმნას ვებ გვერდები ამოძრავებს საკუთარი უკან მთავრდება, არა მხოლოდ Google და აუთსორსინგი უკან ბოლოს. ჩვენ რეალურად გვინდა ღირებულება, მაგალითად, ჩვენი საძიებო ქმედება მიაკუთვნოს წასვლა არ უნდა ვინმეს, მაგრამ რაღაც search.php, სადაც search.php არის ჩვენი საკუთარი სერვერი, არა სხვისი. ასე რომ, იქ, ჩვენ, ფაქტობრივად, უნდა შემოიღონ ახალი ენის. ასე ჩვენ უკვე შევხედე ერთი new ენის აქ, ან ორი მართლაც, HTML და CSS. მაგრამ ისინი ნამდვილად არის სტრუქტურული და ესთეტიკური ენებზე. ისინი არ პროგრამირების ენები თავისთავად. და ეს დაახლოებით იმდენი ფორმალური დრო, როგორც ჩვენ გაატაროთ მათ. იმიტომ, რომ ჩვენ დავიწყოთ ახლა გადასვლას PHP. ასე PHP არის ნამდვილი პროგრამირების ენა. ეს სკრიფტინგის ენა იმ გაგებით, რომ ის ნიშნავს, რომ მსუბუქი წონა ვიდრე რაღაც C. და ეს ინტერპრეტირებული ენაზე რაც იმას ნიშნავს, რომ ეს არ არის შედგენილი. ასე მოკლედ, რას ნიშნავს ეს როდესაც ჩვენ გამოყენებული ენა, ისევე როგორც გ და ჩვენ უნდა კომპილირება? რას ნიშნავს ეს, რომ კომპილაციის C კოდის? აუდიტორია: [INAUDIBLE]. დავით J Malan ამბობენ, რომ ეს კიდევ ერთხელ? აუდიტორია: [INAUDIBLE]. დავით J Malan Perfect. თურმე იგი შევიდა ორობითი. თურმე მას zeroes და პირობა ფაქტობრივი English მსგავსი კოდის. და მაშინ ჩვენ შეიძლება რეალურად აწარმოებს იმ zeroes და პირობა გავლით მეშვეობით CPU ორმაგი დაწკაპვით ხატი ან გაშვებული ბრძანება. PHP და Python და Ruby და Perl და JavaScript და bunches სხვა ენები ინტერპრეტაცია ენაზე, რომელიც, შეიძლება ითქვას, თქვენ არ კომპილირდება მათ. უფრო მეტიც, თქვენ შესანახი მათ, როგორც შეყვანის პროგრამას სახელწოდებით თარჯიმანი. და რომ მთარგმნელი, რომელიც სხვისი დაწერა, ნათქვამია კოდის ზემოდან, მარცხნიდან მარჯვნივ და მხოლოდ ხსნის იმ ხაზები და აკეთებს იმას, რასაც თქვენ ამბობთ. ასე რომ, თუ თქვენ ექმნებათ ხაზი, რომელიც ამბობს ბეჭდვა, ეს სულაც არ ნიშნავს გადაიყვანოთ ბეჭდვა შესაბამისი zeros და პირობა. უბრალოდ თარჯიმანი, როგორიცაა დიდი თუ პირობით, რომ ამბობს, თუ პროგრამისტი ის სწავლება ბეჭდვითი, მაშინ ამის შემდეგ. ასე განმარტავს, რომ ეს მხოლოდ მიერ მსჯელობა მეშვეობით, რაც თქვენ ეუბნება ეს უნდა გააკეთოს. და PHP არის ერთ-ერთი ენა. და PHP წლის წინ შეიქმნა სწორედ ვებ პროგრამირების. და ეს იყო თავიდანვე ძალიან დაუდევარი ბინძურ ენაზე. და მართლაც, არსებობს დიდი თანხის ცუდი PHP კოდი არსებობს. მაგრამ ენა თვითონ უკვე მზად წლების განმავლობაში, იმდენად, რომ ახლა ეს რეალურად მშვენიერი შემდეგი ნაბიჯი pedagogically from C იმიტომ, რომ ეს ასე darned ნაცნობი ყველაფერი თქვენ უბრალოდ ჩანს, რომ ბოლო რამდენიმე კვირის განმავლობაში. ერთი თავდაპირველი განსხვავება ჩვენ დავინახავთ, არის არ ძირითადი ფუნქცია აღარ. როდესაც თქვენ დავიწყოთ წერა კოდი, უბრალოდ აპირებს მიიღოს შესრულებული არ აქვს მნიშვნელობა, რა, როგორც ვნახავთ, ამ მომენტში. იმავდროულად, აქ არის ის, რაც ცვლადი ჰგავს PHP. ეს ცოტა განსხვავებული, მაგრამ მხოლოდ ძლივს. PHP, იქ არ არის ძლიერი აკრეფით. იქ კვირაში აკრეფით, რომელიც მხოლოდ იმას ნიშნავს, მონაცემები ტიპის, როგორც სიმები და ნომრები და სხვა ნივთები. მაგრამ თქვენ არ გადაიტვირთოთ დაზუსტების რასაც ისინი აღარ. PHP გათვლით ის თქვენთვის. დოლარის ნიშანი არის მხოლოდ გადაწყვეტილება რომ PHP ხალხმა წლის წინ ისეთი, რომ ნებისმიერი ცვლადი PHP- მხოლოდ იწყება დოლარის ნიშანი. ეს, ფაქტობრივად, ერთგვარი სასარგებლო, იგი გადასვლა out at თქვენ ცოტა მეტი. მაგრამ ამის შემდეგ, ამ არის მდგომარეობა, PHP. რა არის განსხვავებული წინააღმდეგ C? Trick კითხვა არაფერი, რომელიც რეალურად მართლაც ლამაზი. ლოგიკური გამონათქვამები in PHP-- იგივე. ლოგიკური გამონათქვამები და წინააღმდეგ ან, კონცენტრატორები, მარყუჟების, მარყუჟების, მარყუჟების OK, ეს არის სხვადასხვა. გამოდის, რომ იქ რამდენიმე სხვა ფუნქციების PHP. ერთ-ერთი მათგანი არის რეალურად ამ, რომელიც შესანიშნავად მოსახერხებელი. თუ $ ნომრები მასივი, რომ თქვენ განაცხადა ადრე პროგრამა, თქვენ ეს ლამაზი თითოეული შენება ნაცვლად იმისა, რომ ყველაფერს, რომ შემაშფოთებელი I უდრის 0, მე ნაკლებია, ვიდრე ეს, [? I ++?], თითოეული ნომრები ნომერი, სადაც ყოველ იმ დოლარის ნიშანი ღირებულებების მხოლოდ ცვლადი, და ეს უკანასკნელი შეგიძლიათ წარმოიდგინოთ, რომ როგორც მე თქვენ შეიძლება ეძახით არაფერი გსურთ. მე მას ნომერი. ეს აპირებს iterate მეტი მასივი მოუწოდა ნომრები. და თითოეულ iteration, ეს აპირებს ავტომატურად განახლება თქვენ დოლარის ნიშანი რაოდენობა ცვლადი ისე, რომ თქვენ მუდმივად აქვს ხელმისაწვდომობის ცვლადი გსურთ გარეშე რაიმე კვადრატული ფრჩხილი notation და ინდექსირებას შევიდა მასივი. ამას გარდა, ჩვენ კი რამ, როგორიცაა მასივები, რომელიც გამოიყურება თითქმის იგივე, გარდა ამისა, ეს ძალიან გავრცელებული, როგორც ჩვენ ვხედავ, როგორც PHP და JavaScript წინასწარი ინიციალიზაცია მასივი გამოყენებით კვადრატულ ფრჩხილებში. C იყენებს curly braces. ასე რომ, ეს ოდნავ განსხვავებული, მიუხედავად იმისა, ჩვენ ნამდვილად არ იყენებენ, რომ შეასრულა ბევრი. მაგრამ კიდევ უფრო ძლიერი, PHP აქვს ასოციაციური მასივები, რომელიც არის ლამაზი გზა ამბობდა, რომ hash მაგიდები. ფაქტობრივად, თუ გვინდა, რომ განაცხადოს hash მაგიდაზე PHP, განსხვავებით C, რამდენი ხაზი კოდი არ სჭირდება რეალურად განახორციელოს hash მაგიდაზე C? ან რამდენი ხაზი კოდი არის მიმდინარე განახორციელოს hash მაგიდაზე C? ასე რომ, ეს, ალბათ, ბევრი, არა? ეს რამდენიმე ათეული, შესაძლოა, 100 ან 200. ეს nontrivial. ან ეს უნდა იყოს, როგორც თქვენ მალე დავინახავთ, nontrivial განახორციელოს hash მაგიდა [INAUDIBLE] და ასევე ცდილობენ. მაგრამ PHP-- და გულწრფელად ვამბობ, ალბათ არ უნდა გითხრათ, რომ ეს სანამ Monday-- in PHP, თუ გსურთ მაგიდა, გაკეთდეს. სწორედ hash table-- ასე ერთი ხაზი კოდი. და ბევრი ენების, რომ. გაერთეთ ერთად pset ხუთ. ასე ბევრი ენების გაკეთება. ისინი მოგაწვდით ამ აბსტრაქციები რომ სხვა ადამიანი, სხვა პროგრამისტების, შევქმენით თქვენთვის, ისე, რომ თქვენ შეიძლება დადგეს მათი shoulders და დაიწყოს გამოყენებით იდეები, რომლებიც super მყარი, როგორც hash მაგიდები და ხეები და ცდილობს. მაგრამ თქვენ არ აუცილებლად უნდა განახორციელოს იმ რამ თავს. და ასე, საბოლოოდ, რა ჩვენ ვაპირებთ გამოვიყენოთ PHP for პოტენციურად წერა პროგრამები საქართველოს ე.წ. ბრძანების. ჩვენ შეგვიძლია ხელახლა ყველა პროგრამა ჩვენ წერილობით ამ სემესტრში, ჯერჯერობით, გარდა იქნებ Breakout რომელიც იყენებს SPL, რომელიც კონკრეტულ C მომენტში. მაგრამ ყველა სხვა პრობლემა კომპლექტი, რა თქმა უნდა, მარიო და Caesar და Vigenere და [? ბზარი?] და შემდგომი, ჩვენ ხელახლა განახორციელებს PHP, და ალბათ, ცოტა უფრო ადვილად. მაგრამ რაც ჩვენ საბოლოოდ აპირებს გამოიყენოთ PHP არის ვებ პროგრამირების. და ჩვენ ვაპირებთ, რომ წარმოგიდგინოთ შემდეგი კვირის გონებრივი მოდელი, პარადიგმა ე.წ. MVC, მოდელი ხედი კონტროლერი, რომელიც თუ გავაკეთეთ პროგრამირების ადრე Python ან Ruby, ან სხვაგან, თქვენ ალბათ, იცით, ამ გუნდს რელსები და Django და ასე შემდეგ. მაგრამ თუ თქვენ ახალი ეს ძალიან, დაინახავთ რომ ეს არის რეალურად ძალიან ბუნებრივი გაგრძელების factorization და ერთგვარი დიზაინი კოდი, რომელიც ჩვენ აკეთებდა C. ჩვენ ვაპირებთ ახლა გამოიყენება ზოგიერთი იმ გაკვეთილებს PHP ასე რომ, საბოლოო ჯამში, ჩვენ ვართ ახორციელებს ჩვენი საკუთარი საიტები. და თუ თქვენ სახის mesmerized და გაოცებული ჩვენ ვაპირებთ, რომ გავაკეთოთ ყველა ასე სწრაფად, გააცნობიეროს, რომ თითქმის ყველა სემესტრის თითქმის 90% სტუდენტების CS50, მათ შორის, რომლებიც არასდროს არ პროგრამირდება ადრე, დასრულდება up მიღების საბოლოო პროექტები ეფუძნება პროგრამირება. და ასე რომ თქვენ ხედავთ, რომ ბრუნდება მაღალია კვირის მოსვლა. ასე რომ, ჩვენ, თქვენ მაშინ ორშაბათს. დინამიკები 1: ახლა, ღრმა აზრები Daven Farnham. Hash მაგიდები. [სიცილის]