>> Выступоўца 1: Усё, прама з вяртаннем.
Гэта CS50.
А гэта ў пачатку тыдня дзевяць.
І гэта пачатак астатніх Ваш час у CS50, у якім мы
Пераход вось, нарэшце, на вэб- аспект курсу, дзе вы будзеце
выявіце, што многія з асноўных прынцыпаў, якія мы экспартуем на працягу тыдня
яшчэ вярнуцца, каб наведаць, або пераследваць, мы.
Але цяпер, вы выявіце, што гэта парадак лягчэй
выканання пэўных задач і вырашыць некаторыя праблемы -
ды так, што нават калі вы думалі, вызначаных набораў праблемы былі цікавыя ў іх
уласны шлях, я думаю, што вы знойдзеце ўстаноўлена, што р 7, стар ўсталявана 8, а затым,
У канчатковым рахунку, канчатковы праект будзе Тым больш прыемна, таму што вы
знайсці, што мы пачынаем прымаць як належнае Зараз такія рэчы, як кіраванне памяццю і
паказальнікі і што адбываецца на пад капотам.
І зноў жа, тэматычныя, на працягу ўсяго семестры было гэта напластаванне
і слаёў.
І зараз мы накшталт да Тут, стоячы на
плечы тыдня мінулага.
>> Зараз успомнім з мінулага разу, што мы казалі пра тое, як інтэрнэт працаваў.
І гэта быў, магчыма, спрашчэнне, але памятайце, што
кожны кампутар у свеце мае IP рашэння, хоць гэта крыху
спрашчэннем яшчэ.
І гэтыя адрасы выкарыстоўваюцца для адназначнай ідэнтыфікацыі кампутара такім чынам, каб
пры адпраўцы інфармацыі, або пакеты, калі можна так выказацца, яны могуць мець паходжанне
адрас і адрас прызначэння.
І тыя ж самыя адрасы IP можа быць выкарыстаны як на дабро, так і для зла,
каб адсочваць вас, напрыклад.
На самай справе, кожны з вас з ноўтбукам адкрыць зараз, або ў вашым тэлефоне
кішэню, мае IP-адрас на сетку Гарварда.
І гэта яшчэ не ўсё, што цяжка карэлююць, што, хто і дзе вы
у гэтыя дні.
Але пра гэта, магчыма, ў будучыні.
>> Цяпер я думаў, што я вярнуць частку ўспаміны пра [? павышэння?] і даць вам
Яшчэ адзін ролік з шоў, якое вы маглі б знайсці знаёмых.
Калі б мы маглі прыглушыць святло ўсяго за некалькі секунд.
Паказаць Numb3rs.
>> Дакладчык 2: Гэта 32-разрадная IPP4 адрасе.
>> Выступоўца 3: IPP, як і ў інтэрнэце?
>> Дакладчык 2: прыватнай сеткі.
Для прыватных сетак Амита аўтара.
Яна так дзіўна.
>> Выступоўца 3: Давай, Чарлі.
>> Дакладчык 2: Гэта.
IP адрас люстэрка.
Яна дазваляючы нам глядзець тое, што яна робіць у рэальным часе.
>> Выступоўца 1: Такім чынам, некалькі рэчаў, так з гэтай карцінай.
Такім чынам, адзін і гэты адзін з'яўляецца прымальным, гэта на самай справе
не правільны адрас IP.
Сапраўдны адрас IP павінен быць лікамі формы w.x.y.z, дзе кожны з
гэтыя лісты ад 0 да 255.
Але гэта нармальна, таму што так жа, як фільмы, дзе яны падробленыя нумары тэлефонаў,
яны падробленыя IP адрасоў.
Вы на самой справе не ўдарыў рэальных сервераў.
>> Але заўважце, гэта браўзэр.
І браўзэры не пачаць вывад кампутарны код, як гэта.
І калі мы паглядзім трохі глыбей, звярніце ўвагу што мова, які яны бачаць
на экране мову, званы Objective C, які з'яўляецца мовай у
якіх iPhone прыкладання напісаны, Асабліва тыя, з удзелам
крэйды, як вы можаце бачыць з тут зыходны код.
>> Добра, я думаў, што гэта было цікава.
Так што гэты фрагмент кода мае абсалютна нічога агульнага з тым, што гэтая
пэўным эпізодзе быў а.
Так што жарты накшталт на людзей прымаючы для гэтага само сабой разумеецца.
Але гэта не ўсё, што цяжка атрымаць гэтыя тэхнічныя падрабязнасці прама.
І я хацеў бы заклікаць вас.
А на самай справе, 50 цалкам можа сапсаваць Многія ТБ-шоў і фільмы ці вы
таму што вы знойдзеце, што гэта проста не магчыма, што яны
рабіць на экране.
Але на самай справе, гэта код, які вы маглі б бачыць яго ў iPhone дадатку
ці Mac OS прыкладання.
Яна не мае нічога на ўсіх агульнага з бяспекай.
Так што сочыце за новымі такія цікавыя рэчы накшталт гэтага.
>> Але сёння мы пачынаем апускацца ў сапраўды глыбока, каб цэлы шэраг моў.
Сапраўды, адной з ўсёабдымных вынас з гэтай часткі
вядома, не навучыцца праграмаваць У PHP ня вучыцца SQL як такой, не
даведацца JavaScript як такога, а хутчэй навучыць сябе, як вучыць
сябе новыя мовы, таму што, сапраўды, чым прыступіць да прыняцця зараз
падрыхтоўкі колаў ад так, што пасля канца курса, вы не чакаеце, 20
Старонка спецыфікацыі распавесці вам, як рэалізаваць некаторыя праграмы.
У вас досыць інгрэдыентаў у вашай розуму, і досыць інструментаў у вашым інструмент
камплект, з якім, каб пачаць будаўніцтва вырашэння праблем, якія ўяўляюць цікавасць для
Вы для некаторай групы студэнтаў, для некаторых Даследчы праект, ці сапраўды нічога
прадстаўляць цікавасць для Вас.
>> Так што ў гэтым кірунку, ўспомнім, што гэта было карціна, якую мы звярнулі яе ў апошні раз.
І гэта два кампутара, і кліент Sever, размаўляць адзін з адным.
І пратакол, мова, так казаць, што гэтыя два кампутара адбывацца
, Казаў называецца HTTP.
І гэта толькі пратакол, які выкарыстоўваецца кампутараў для перадачы інфармацыі праз
World Wide Web.
Інтэрнэт, вядома, з'яўляецца адным з сэрвісаў , Які працуе на верхняй частцы
так званыя Інтэрнэт.
Што іншую службу даступныя на верхняй частцы Інтэрнэту ў гэтыя дні?
Некаторыя іншыя пратакол або - што гэта такое?
>> АЎДЫТОРЫЯ: FTP.
>> Выступоўца 1: FTP.
Так пратакол перадачы файлаў гэта зусім іншае.
Большасць з вас, верагодна, не выкарыстоўваў яго.
Але большасць з вас, верагодна, выкарыстоўвалі рэчы, як Gchat або імгненнага
паведамленнямі ў больш агульным вядома, электронная пошта.
І тыя таксама з'яўляюцца паслугі, якія працуюць на верхняй частцы інтэрнэт, таму што, па меншай
рэшце рэшт, сам Інтэрнэт на самай справе проста атрымаць дадзеныя з пункту А ў
пункту В. І ён выкарыстоўвае шэраг Часціцы сябе, адзін з іх або два
з іх найбольш звычайна называюць TCP / IP які павінен сказаць, што на адным кампутары
Інтэрнэт сапраўды можа рабіць розныя рэчы, электронную пошту,
і Інтэрнэт, і гэтак далей.
Google робіць многае з гэтага.
Так як жа гэтыя паслугі адназначна вызначаны, мы сказалі, на кампутары
, Што можа на самай справе робіць некалькі рэчаў?
>> Нумар порта.
І гэта толькі адвольныя чалавека 80 канвенцый, як гэта вэб, 443
зашыфраванай сеткі, 25 з'яўляецца электронная пошта.
І ёсць пучкі іншыя.
І гэтая лічба пастаянна проста ўключаны ў гэтыя пакеты інфармацыі, гэтыя
віртуальная канверце, што на самой справе утрымліваў запыту або адказу.
>> Так што, калі вы вернецеся адказу ад Інтэрнэт, як правіла, вы не бачыце любыя
Нумары б там ні было з пункту гледжання код стану адказу.
Вы фактычна не бачыце ўнутраныя работы
пакетаў, якія вяртаюцца.
Але 200 сапраўды азначае OK.
А гэта значыць, усё добра.
Магчыма, вы бачылі кучу гэтых.
Што, верагодна, найбольш распаўсюджаны Вы бачылі ў Інтэрнэце?
>> 404.
Гэта проста значыць, файл ня знойдзены.
Гэта азначае, што нехта аблажаўся.
Вы зрабілі, памылак друку URL, або хтосьці іншы не рабіў, даючы вам
Няправільны URL, або яны выдалілі файлаў і URL-ранейшаму
выкарыстоўваюцца людзьмі.
Такім чынам, любое колькасць прычын можа растлумачыць чаму файл ня знойдзены.
І вы ўбачыце, у бліжэйшыя тыдні, гэтыя іншыя коды памылак, і Вы будзеце
скарыстацца некаторымі з іх.
Горш за ўсё 500.
Калі вы атрымліваеце памылку 500 у код, які вы напісана, думаю пра гэта як свайго роду
аналаг сегментах няспраўнасцяў у свеце вэб-праграмавання.
Гэта не так страшна.
Але гэта ўсяго толькі азначае, што дзесьці, Ты аблажаўся.
Так што з нецярпеннем чакаем тых.
>> Але давайце паглядзім, калі мы можам ўбачыць іх у кантэксце.
Пусціце мяне да браўзэра тут і выканайце наступныя дзеянні.
Так што гэта Chrome, які, аказваецца, быць усталяваны ў прыладзе.
Але больш за ўсіх браўзэрах днях некаторую эквівалентную функцыянальнасць.
Я пайду меню ў Chrome, і перайдзіце ў меню Сэрвіс, а я пайду
для распрацоўніка.
І вы ўбачыце, што гэтая маленькая панэль адкрываецца ў ніжняй частцы акна.
Яшчэ адна клавіша, шчыра кажучы, што я Звычайна сам выкарыстоўваю гэта клікнуць правай кнопкай мышы
або кіравання мышы ў любым месцы вэб- старонкі і проста пайсці на праверку элементаў.
І гэта не толькі адкрые гэта мае для вас.
Яна таксама будзе адкрыты, у прыватнасці, Элементы часткі на
левай баку.
>> Так што мы, вядома, бачым Google.
Яны змянілі свой лагатып сёння.
Але калі я пракруціць ўніз да заўважце, што пад элементы, вы бачыце
тое, што называецца HTML, разметкі гіпертэксту Мову і гэта мова
што гэта і ўсё вэб-старонкі, сапраўды, напісаныя цалі
Але гэта на самай справе адфарматыраваная для нас значна больш чытальнасць
чым гэта звычайна і бывае.
На самай справе, калі я паменшыць маштаб, і я замест Націсніце правай кнопкай мышы або кіравання абярыце
націсніце на старонцы, а затым выберыце Від Зыходны код старонкі, гэта літаральна тое, што
Google пасланы маім браўзэры.
>> Такім чынам, некаторыя асобы або асоб, пісаў Google.com з дапамогай гэтага зыходнага кода.
Большасць гэта не HTML.
На самай справе гэта мова, званы JavaScript, які
мы прыйдзем да ў сераду.
Але тое, што Chrome, і тое, што кожны браўзэр можа зрабіць для нас, гэта свайго роду см.
міма ўсіх адцягненне вар'яты сінтаксісу і зноў устаўце прабел
для нас, і нават падсвятленне сінтаксісу, або размаляваць рэчы для нас.
Такім чынам, вы ўбачыце, што гэтыя так званыя распрацоўшчык інструментаў, убудаваных у браўзэры
зробіць вашу жыццё так, так значна прасцей таму што вы можаце вывучыць, з дапамогай гэтага меню
Інтэрфейс, менавіта тое, што асноўнай зыходны код для
любую старонку ў Інтэрнэце.
І на самай справе, гэта адна з найбольш эфектыўныя спосабы, каб даведацца, як гэта зрабіць
нешта новае, па меншай меры, калі старонка не настолькі складаныя, каб душыць, І.С.
пачаць калупацца гэта HTML, паглядзіце на яго так званыя CSS, які мы прыедзем
да біту, а таксама, каб атрымаць разуменне таго, як, што праграміст
рэалізаваны некаторыя прыватныя Асаблівасцю гэтай старонцы.
>> Але тэхнічна больш цікавым права Ну вось, цяпер, каб быць гэтым.
Калі я іду на ўкладку Сетка, давайце цяпер зніміце гэты.
Я збіраюся націсніце на маленькую крыж сімвал тут, а затым
перайсці на іншы сайт.
І я проста хачу, каб увесці у Facebook.com.
Няма HTTP, HTTPS Не, не WWW.
Давайце паглядзім, што на самой справе тут адбываецца.
>> Enter.
Зараз звернеце ўвагу цэлую кучу рэчы проста з'явіліся ў гэтым ніжняя панэль, у
Дадаткова да вэб-старонцы , З'яўляюцца ў верхнім.
Я збіраюся пракруціць назад у Ўкладка Сетка тут, і я збіраюся
націсніце на першую радок.
Тое, што гэта інструмент збіраецца адкрыць нам з'яўляецца кожны з HTTP-запытаў
якія хутка проста вярнуўся і наперад паміж маім браўзэрам
і Facebook, серверы.
І так кожны з гэтых радкоў ўяўляе сабой адно такое хадайніцтва або
адказ адзін або больш гэтыя віртуальныя канверт.
Ці ў больш нязмушанай абстаноўцы, гэта як чалавек як чалавек, кліент у
рэстаран, просяць нешта зноў, і зноў, і зноў.
І афіцыянт трымае чаго яго назад па адным.
>> Так што цяпер, калі я павялічыць на гэтым, заўважце, і гэта будзе тая рэч,
што вы заўсёды можаце, і заклікаў гуляць з па сваім меркаванні, таму што мы
ня буду пералічваць усе, у драбнюткіх падрабязнасцях.
Але звярніце ўвагу, што ёсць некалькі суб ўкладкі тут -
Загалоўкі, папярэдні прагляд, адказ, Печыва, і тэрміны.
Я проста хачу паглядзець на загалоўкі на дадзены момант, таму што гэта мала
інгрэдыентаў ўнутры абалонкі, што даведкавыя дадзеныя дабрацца да і ад месца.
>> Такім чынам, спачатку, дазвольце мне гэтага націсніце, Прыгожы выгляд Крыніца побач з загалоўкаў запыту.
Існуе просьбай майго браўзэра, Хром, у дадзеным выпадку, пасланы ўнутры
што віртуальныя канверт.
Вы памятаеце, на мінулым тыдні я ўручную ўвялі яго ў той час як
прыкідваючыся браўзэра.
Затым ён нагадаў сэрвэры, што гэта шукае гаспадара называецца
Facebook.com.
А тут яшчэ трохі больш таямніцай Інфармацыя, якую мы будзем махаць
нашы рукі на дадзены момант.
>> Але калі я пачынаю пракручваць уніз ў цяперашні час у гэта акно, дазвольце мне дабрацца да
загалоўкі адказу.
Гэта было тое, што ў віртуальным канверт, які вярнуўся з
Facebook.com.
І калі я націскаю View Source проста каб убачыць сырой тэкст з яго,
заўважыць некалькі рэчаў.
Адзін з іх, Facebook таксама гавораць на адной пратакол, версія 1.1 яго.
Так што гэта добра.
Але код стану 301, пераехаў на сталае жыхарства.
>> Ну, і дзе, чорт вазьмі, Facebook ісці?
Што гэта спрабуюць данесці да нас?
Ну, заўважыць тут ёсць яшчэ адзін загалоўка з імем Месцазнаходжанне.
Дык чаму ж Facebook кажуць мне, што яны пераехаў у URL, што
побач з размяшчэннем?
Я забыўся WWW.
>> Так, каб быў мой выбар.
На самай справе, большасць з нас рэдка, магчыма, увядзіце www.whatever.com ў гэтыя дні.
Але аказваецца, сістэмны адміністратар, як Facebook, могуць
наладзіць свае серверы такім чынам што альбо Facebook.com работ, або
www.Facebook.com працуе, ці, на самай справе, любой такой прэфікс перад іх
даменнае імя.
Так што яны зрабілі гэта для нас.
І яны перанакіроўваюць нас, верагодна, для некаторых тэхнічных,
некаторых маркетынгавых меркаванняў.
Яны проста хочуць кананізаваць на www.Facebook.com.
>> Але гэта не зусім так.
Калі я пракруціць ўніз тут, давайце паглядзім, што адбудзецца.
Гэта кажа мне, што мы пераехаў на сталае жыхарства ў
http://www.Facebook.com.
Такім чынам, давайце паглядзім на другі запыт што мой браўзэр пасылае.
На жаль, падобна, што Facebook пераехала зноў, таму што другі
запыт, выбраўшы, што URL замест гэтага, кажа, што таксама пераехаў
на пастаяннай аснове.
І дазвольце мне тут пракруціць ўніз для загалоўкаў адказу.
Куды Facebook ужо няма?
>> Так HTTPS.
Так што цяпер Facebook пачалася, асабліва ў святле бягучых
падзей у апошнія месяцы, асабліва і Таксама ў апошнія пару гадоў
, Каб прымусіць усіх сваіх карыстальнікаў, у добрым Дарэчы, выкарыстоўваць HTTPS, якая з'яўляецца больш
забяспечыць, хоць і не зусім бяспечна.
І вось цяпер мая старонка, мой браўзэр збіраецца запытаць гэтую трэцюю URL.
І вось, нарэшце, мы атрымліваем іншых прычынах ўбачыць 200 OK.
>> Так што ў свеце ці ўсё гэтыя іншыя радкі тут.
Я літаральна набралі адно, а мая браўзэр, здаецца, прасіў, як
20 некаторыя дзіўныя рэчы.
Што гэта?
>> АЎДЫТОРЫЯ: сцэнары?
>> Выступоўца 1: Сцэнарыі, таму іншыя файлы напісана на мове, званым
JavaScript, якія, зноў жа, мы будзем паглядзець трохі ў сераду.
Што яшчэ?
Табліц стыляў.
Так нешта на мове, званым CSS, які мы ўбачым у няшмат.
GIF-і JPEG, і PNG, і малюнкі, і відэа файлаў - усё, што вэб-старонка
мае, хутчэй за ўсё, у выглядзе файла.
І так, што мы бачым на левай боку ёсць усе файлы
Chrome, што прыйшлося спампаваць, рэкурсіўна, калі хочаце, для таго, каб
складаюць паўнату старонцы.
>> Такім чынам, што мы бачылі некалькі хвілін таму з Google, Калі я націскаю на элементы
закладка, гэта, вядома, з'яўляецца HTML, мову, які складае гэтай старонцы.
Але ёсць пучкі іншых рэчаў.
Там у лагатыпе.
Там у гэтыя блакітныя-иш Значкі там.
І ёсць яшчэ іншыя элементы на старонкі, якія самі могуць быць
асобныя файлы.
>> Так што прыемна пра браўзэра з'яўляецца тое, што ён глядзіць на мове, які мы збіраемся
, Каб пачаць пісаць, ці вы ўжо пачаў пісаць на мноства Р 7, малюнкаў
, Дзе жывуць гэтыя файлы, і ідзе і хапае іх, а таксама.
І я не магу не падкрэсліць, нават хоць некаторыя з гэтага можа выглядаць трохі
таемнымі або пераважная на першы погляд, навучання праграмаванню
прыкладанняў для Інтэрнэту, гэта неацэнную зразумець, як гэтыя
мала рабочых інструментаў.
Гэта накшталт як GDB як інструменты, але значна прасцей, у канчатковым рахунку, у выкарыстанні -
і сапраўды дае вам вочы на ​​тое, што мы прымалі як належнае для
досыць доўгага часу цяпер.
>> Так што мы можам цяпер зрабіць з гэтую інфармацыю?
Ну, давайце на самай справе зірнуць на канцэпцыі, якія ляжаць HTML.
І мы адкладзем, а ў нас ужо ёсць, каб раздзелах гэтым тыдні, да праблемы
ўстаноўлены 7 спецыфікацыі, у некаторых з больш звесткі аб гэтых мовах.
Але давайце паглядзім, калі мы не можам намаляваць карціну таго, што вы павінны разумець,
агульнае тут.
>> Так HTML, мова гіпертэкставай разметкі, ня з'яўляецца мовай праграмавання.
Што гэта сапраўды азначае?
Так HTML выглядае наступным чынам.
І некаторыя з вас ужо ведаюць гэта.
Некаторыя з вас рабілі гэта на працягу некаторага часу.
Але давайце паглядзім, калі мы не можам запоўніць некаторыя прабелы, а таксама.
Так заўважыць некалькі рэчаў тут.
Адзін з іх, гэта проста тэкст.
Так што гэта проста, як у зыходным кодзе C, або якой-небудзь іншую мову.
>> Звярніце ўвагу, што, здаецца, быць узорам тут.
Там у водступы, але тэхнічна водступ проста чалавечая
Канвенцыі.
Браўзэры не клапоціцца, калі ёсць новыя ліній і ўкладкі, як мы бачым, ёсць.
Але звярніце ўвагу, што ёсць сіметрыі тут.
Там тое, што я буду называць, у верхняй частцы Гэты файл, адкрыты тэг або пачатак
тэг, называецца HTML.
І потым, унізе, выдатна выстраіліся ўверх, так жа, як мы робім з фігурнымі дужкамі,
мы бачым, якая адкрывае дужка, наперад слэш, HTML, якая зачыняе дужка.
Дык вось адпаведны блізка тэг або зачыняе тэга для гэтай рэчы.
>> Разам ўсё ўсярэдзіне так званых адкрытых тэгаў і зачыняе тэг
складаць, што мы назавем элементам.
І мы ўбачым, толькі ў дадзены момант, гэта вельмі падабаецца вузла ў дрэвах.
Таму што, калі вы думаеце пра зараз паглыбленне, якое маецца на ўвазе, тут, вы
часткова ёсць, быццам бы, бабулі і дзядулі вузел, які называецца HTML.
Колькі дзяцей вы маглі б сказаць, заснаванае На гэтай карціне, HTML элемент мае?
>> Так, верагодна, два.
Адным з іх з'яўляецца галаўнога элемент, па-відаць.
І адно гэта цела элемента.
А чаму б і двое дзяцей?
Ну, я толькі збольшага вывядзенне, што калі У мяне ёсць адкрыты тэг галавы, а затым
зачыняе тэг галаву, гэта элемент.
І потым, калі ёсць яшчэ адзін адкрыты кузаў тэга і зачыняе тэга цела, гэта ўсё роўна што
іншага элемента.
Такім чынам, у тым сэнсе, што калі я як бы паварот малюнак на яго баку, гэта
як з HTML тэгаў, а затым галава тэг, а затым цела тэга, і
Затым тэкст, прывітанне свет, боўтаючы ад цела сам тэг.
>> Так што мы можам намаляваць карціну, што можа выглядаць наступным чынам.
Формы могуць быць любымі.
Але звярніце ўвагу, што я выкарыстаў роду эліпс у верхняй прадстаўляць
Сам дакумент.
Аказваецца, могуць быць і іншыя рэчы ўнутры вэб-старонкі, якія я не
зробленыя тут.
Такім чынам, мы збіраемся нават павесіць HTML вузла прэч так званых вузла дакумента.
А то ў нас галава і цела і назвы, заўважце,
які ўкладзены далей.
Я не турбаваць пакласці дадатковую лінію парываў ўнутры загалоўка.
Ён проста адчуваў, што гэта рабілася занадта грувасткім.
Таму я пакінуў яго ў адну лінію там, з Адкрытае назву, прывітанне свет, закрыла тытул.
І тады ў нас ёсць некаторы тэкст звісаюць прэч тут.
>> Так што гэта карціна вернецца да нас, калі мы апускаемся ў JavaScript.
І разуменне таго, што, калі вы напісаць HTML, як гэта, тое, што
гэта браўзэр робіць?
Ну, мы не павінны турбавацца аб як ён гэта робіць, або з тым, што
алгарытм, але ў рэшце рэшт, Калі браўзэр атрымлівае HTML як
што з Facebook або Google, ён аналізуе гэта, так бы мовіць, ён чытае,
з чымсьці накшталт FREAD, зверху ўніз, злева направа, і, як
разумее, о, які адкрывае тэга, а затым зачыніце тэга, ён пачынае Malloc, так бы мовіць,
вузла ў дрэве.
І калі ён сутыкаецца, як мы ўжо маецца на ўвазе тут з водступам,
даччыны вузел, ён mallocs вузлом для гэтай і прымацаваны што да дрэва.
>> Так дрэвападобная структуры, бінарныя дрэвы, патройных дрэвы, і больш дрэў, што
мы паглядзелі на тыдзень ці два таму, паведамлення , Што той жа прынцып
вяртаюцца да нас.
І той, хто рэалізаваны, што Chrome Каманда зрабіла, што меркавана было
ажыццявіць нейкі структуры дрэва пад капотам.
І гэта само па сабе, верагодна, у мова, як C або C + +, або ніжэйшай
узроўні мовы, што мы будзем цяпер выкарыстоўваць-над Інтэрнэту.
>> Так што цяпер, можа быць, гэта будзе больш сэнсу.
Фактычныя татуіроўкі ад нейкі хлопец, які можа шкадаваць пра гэта ў рэшце рэшт, збольшага.
Добра, усё ў парадку, так што многія вэб-гумару.
Гэта на самай справе не збіраецца за сёння так добра.
Такім чынам мы будзем рухацца далей.
Добра.
>> Такім чынам, давайце паглядзім цяпер на некалькі прыкладаў.
Найпростая рэч можа быць у гэтым.
Я збіраюся ісці наперад і адкрываць у Gedit файл з імем hello.php.
І ўнутры тут, я іду хутка проста зрабі гэта, Е, цытую
канец цытаты, "прывітанне свет".
>> Так паведамлення, і я зраблю ўсё ад мяне зваротную касую рысу N, Я не папрацаваў аб'явіць асноўныя.
Аказваецца, у PHP, і шмат моў, вам не патрэбныя асноўныя
функцыі як такой.
Вы можаце проста пачаць пісаць Вашай праграме.
Цяпер, калі я захаваць гэты файл, я заўважаю прыйдзецца выканаць наступныя дзеянні.
Я не збіраюся карыстацца касметыкай, і я не збіраецеся выкарыстоўваць PHP ляск таму, у адрозненне ад
C, а не кампіляваная мову.
Гэта тое, што называецца інтэрпрэтаваныя мовы, што азначае, што вы запусцілі яго
ў якасці ўваходнага праз іншую праграму называюць перакладчыкам.
І гэтая праграма чытае яго, зверху ўніз, злева направа, і робіць
усё, што вы скажаце ёй зрабіць.
>> Так што ў гэтым выпадку ў мяне ёсць тут адзін радок, якая кажа Е.
Таму, калі я запускаю гэты зыходны код, hello.php, хоць гэта праграма, якая
бывае, зручна, якое будзе называцца PHP, гэтая праграма PHP будзе чытаць
Гэты файл, зверху ўніз, злева направа, і ён будзе рабіць тое, што я
скажаце ёй зрабіць - выканання кода, а калі ён не прызнае нешта, проста
пляўкі яго.
Так што я збіраюся ісці наперад і Запусціць PHP з hello.php.
Enter.
>> І гэта яшчэ не зусім тое, што я меў намер.
Ну, чаму ж?
Ну, PHP з'яўляецца мовай, які на самай справе распрацаваны, каб быць дастаткова
пераплятаецца з Інтэрнэту.
Пры стварэнні вэб-старонак з гэтай мовай PHP, як мы хутка ўбачым, мы
хочам зрабіць нешта накшталт друку з ліній, як гэта.
>> Так што я збіраюся зрабіць гэта.
Якая адкрывае дужкі, знак пытання, PHP, і Зараз я проста хачу, водступ толькі, каб трымаць
рэчы добрыя.
А цяпер я збіраюся зрабіць пытанне марка Навiны, кранштэйна.
Такім чынам, ёсць трохі асіметрыі тут.
Вы не робіце гэтага.
І вы не зробіце касой рысы, так PHP гэта крыху іншае.
>> Але цяпер, калі я паўторна гэтую праграму, PHP hello.php, цяпер я
на самой справе атрымаць Hello World.
І мы ўбачым, чаму гэта каштоўна.
Адзін з іх, гэта дазваляе мне было паказаць, супер відавочна, гэта
кода, выканаць гэта.
І гэта сапраўды тое, што гэтыя спецыяльныя тэгі мае на ўвазе тут.
>> Але гэта таксама азначае, што, калі я проста раблю нешта накшталт я імкнуся сюды, што
азначае, што, літаральна, што будзе проста раздрукоўваецца без неабходнасці
на самай справе назваць Е, або друк, або любыя аналагічныя функцыі.
Таму мы вернемся да гэтага праз хвіліну.
>> Па-першае, давайце зробім гэта.
Усярэдзіне прыбора, у нас ёсць каталогу з імем VHosts, для віртуальных
Гаспадары, слэш лакальны хост, падсечна-грамадскасці.
Так што гэта крыху шматслоўны, але доўгая гісторыя Карацей кажучы, прыбор прызначаны не
толькі падтрымліваць C. Гэта таксама прызначана для падтрымкі PHP.
Але ён таксама прызначаны для вэб- сервер і сервер базы дадзеных.
І ён прызначаны, і сапраўды настроены, быць нагадвае любой
камерцыйныя вэб-хостынгу кампаніі, якая вы маглі б заплаціць $ 5 у месяц на працягу,
$ 100 у месяц для.
Які б ні была паслуга, ён наладжаны быць вельмі падобны на
рэальны сервер сусветнага вытворчасці.
>> А што гэта значыць, што працуе на прыбор ПА вэб-сервера.
Гэта, аказваецца, завецца Apache.
Гэта проста вольным, і з адкрытым зыходным кодам, і вельмі папулярныя.
І мы наладзілі Apache ведаць што, калі я наведваю пэўны URL, з
Хром або любы браўзэр ўнутры Прыбор, зазірнуць у гэты каталог
для файлаў, якія запытвае карыстальнік.
>> Іншымі словамі, дазвольце мне ісці наперад і рабіць гэта.
Ўнутры майго агульнага каталога, я збіраюся ісці наперад і стварыць файл
імем index.html.
Гэта дае мне ўкладку тут.
І я збіраюся пайсці вельмі хутка і ісці наперад і штабнаваць
гэтай праграме.
Doctype HTML, якая на дадзены момант, проста Выкажам здагадку, у вас ёсць, каб надрукаваць.
Гэта проста таемныя тэга, гэта не сапраўды тэгі HTML, які паказвае, што
вось ідзе некаторы HTML.
>> Я збіраюся ісці наперад і ўзнавіць што мы бачылі некалькі хвілін таму.
Вось кіраўнік старонцы.
Усярэдзіне галавы было -
такой назвай.
Таму мы павітацца, свету.
І тады тут было цела тэга.
Дазвольце мне ў цела тэга.
А потым тут я таксама кажу, проста для яснасці, прывітанне свет.
>> Так што гэта, мабыць, найпростая магчыма вэб-старонкай
можа зрабіць гэта ў сіле.
Гэта сінтаксічна правільныя.
Усё, што адкрыты зачынены.
Усё гэта прыемна ў стылі і з водступам.
Такім чынам, давайце паглядзім цяпер, як я можа атрымаць доступ да гэтага файла.
>> Ну, дазвольце мне перайсці да Chrome тут.
І дазвольце мне перайсці да http://localhost/index.html.
Так што лакальны хост?
Ну, большасць любога кампутара ў свеце, Linux, Mac OS, Windows, мае мянушку
называецца лакальным хастом.
Так што, калі вы хочаце пагаварыць на свой кампутар -
хоць, як ні рэфлекторна -
Вы называеце сябе лакальны хост.
Усё роўна, што ваш фактычны кампутар называецца, няхай гэта будзе MacBook Давіда
Паветра, ці нешта больш падрабязны падобнае.
>> Так што гэты URL відавочна збіраецца выкарыстоўваць HTTP пагаварыць з лакальным хастом,
тым жа кампутары, прылада і ён збіраецца папрасіць, проста ўзяць
гадаць, які файл?
Index.html.
Такім чынам, прыбор быў наладжаны ў перайсці да ведаю, што калі я прашу
за тое, як index.html, шукайце ў папцы пад назвай віртуальных даменаў, у
Папка называецца лакальны, у тэчцы у ім называецца грамадскасці.
Вось дзе ўсе мае грамадскія Файлы будуць.
Так што я зараз стукну Enter.
>> І, чорт пабяры, ёсць тое, што забароненая паведамленне, інакш вядомы як 403,
Лікавы код для яго.
Так што тут не так?
Ну, гэта не дастаткова, каб проста пакласці файле ўнутры маёй тэчцы.
Мне трэба, каб на самой справе зрабіць наступнае.
>> Адпусціце мяне ў мой каталог віртуальных даменаў, у лакальны, у грамадскую, і хай
мне зрабіць Ls працяжнік л.
І ёсць некалькі іншых рэчаў тут для мэтаў сёння.
Але звярніце ўвагу на левым баку, у наступным да index.html, мы бачым толькі адну RW.
І ў мінулым, што была RW стаяў?
>> Проста чытаць, ні пісаць.
Той факт, што ён кажа RW злева азначае, што я, уладальнік гэтага файла, можа
чытаць ці пісаць.
Але мне трэба, каб усе людзі ў свет чытаеце гэта, хоць і не пісаць.
Так што я збіраюся змяніць рэжым файла, CHMOD, усё плюс R, каб даць
усе правы на чытанне файл з імем index.html.
>> І калі я зараз Паўтарыце Ls працяжнік л, паведамлення , Што, тут, яшчэ некалькі
R ў выскачылі.
І на дадзены момант, ідзе спекуляцыя больш падрабязна.
Для мноства Р 7, што як раз азначае, што кожны цяпер могуць чытаць гэты файл.
Калі я вярнуся ў маім браўзэры Цяпер і перазагрузіце, вуаля.
Прывітанне свет.
>> І я магу нават адкрыць Chrome інструменты і паглядзець, як і з Google
Facebook, што ёсць мой HTML, адфарматаваны трохі
па-рознаму і размаляваны.
Калі я іду на ўкладку Сетка і перазагрузіце старонкі, заўважыць, што ёсць атрымаць
прасіць Chrome пасылае да прыбора.
Там у 200, што для канкрэтны файл.
Карацей кажучы, гэта, як усе гэтыя розныя часткі збіраюцца разам.
Проста так здарылася, што вэб-сервер мы выкарыстоўваем цяпер не аддаленых,
як Facebook.
Гэта літаральна на тым жа кампутары, якая зусім у парадку.
>> Такім чынам, што яшчэ мы можам зрабіць у вэб-старонку?
Ну, проста, давайце вецер праз пару такіх рэчаў.
Але дазвольце мне ісці наперад і зноў Gedit з index.html.
І дазвольце мне ісці наперад і павітацца CS50, захаваць гэты файл, вярніцеся да
браўзэры, на самай справе змены ў захапленне.
>> Але што, калі мы хочам на самай справе спасылку на нешта зараз?
Вось і атрымліваецца, што мы можам мець Спасылкі ў HTML, якія з'яўляюцца толькі тэгі
сабой.
Гэта, аказваецца, завецца тэга прывязкі. HREF роўна
https://www.cs50.net, www.cs50.net Зачыніць цытаты, якая зачыняе дужка.
А цяпер давайце паглядзім, што яшчэ будзе далей.
>> Я адкрыў тэга.
Зараз трэба, каб даць яму фраза тыпу CS50.
Дазвольце мне зачыніць тэг.
І звярніце увагу некалькі рэчаў.
Хоць ёсць гэта загадкавыя рэчы Тут, я не паўтарыў гэта, калі вы
зачыніць тэг.
Вы проста зачыніць тэг з яго імя.
І гэта тое, што называецца атрыбут са значэннем.
Атрыбуты проста змяніць паводзіны некаторых тэг ўнутры старонкі.
>> Так што гэта удакладніўшы, што гіпер даведкі, мудрагелісты спосаб сказаць
Спасылка на гэты якар, для гэтага спасылка, павінны быць CS50.net.
І тэкст, які мы хочам паказаць карыстальнік не URL, што сырой, а хутчэй
Слова CS50.
>> Так што калі цяпер я перазагрузіць, дазвольце мне павялічыць для яснасці, дазвольце мне перазагрузіце старонку,
заўважыць, што ў нас ёсць гэтая старая школа сінія падкрэсленыя спасылкі.
І калі я навесці на яе, і гэта будзе быць жорсткім, каб бачыць, у левым ніжнім куце
куце экрана, заўважыць што ён кажа, адрас, на які
Я збіраюся пайсці.
І калі я пстрыкаю, вуаля, Зараз я стварэння вэб-старонак.
І мы прывялі сябе на галоўную старонку.
>> Але звярніце ўвагу на тое, што патэнцыял Тым самым нам.
Бяспека вельмі шмат ў модзе ў нашы дні.
Што рабіць, калі я замест гэтага сказаць нешта накшталт: гэта, і я замест гэтага пайсці, скажам, давайце
гл, fakeCS50.net.
Перазагрузіце дадзеную старонку.
>> Такім чынам, заўважылі гэта ўсё яшчэ выглядае, як я Не збіраюся CS50, калі праніклівы вачэй
заўважыце, што я збіраюся падробленыя CS50.
Я мяркую, што гэтая галіна не прымаецца.
ОК, так што гэта не даступна.
Так што гэта добра.
На самай справе ніхто не мае гэтага дамена.
>> Але давайце быць трохі злей таму што гэта як-то па-дурному.
Што, калі мы змяніць гэта на Paypal.
А што, калі мы называем гэта, быццам бы, www.paypal.badguy.com,
незалежна ад дамена.
Гэта, верагодна, існуе.
Так што цяпер дазвольце мне перазагрузіце старонку.
А вось у нас накшталт фішынгу атакі, P-H-I-S-H-I-N-G, які з'яўляецца
дурное слова, дадзенае для нападу, Рыба спрабуе інфармацыі, ці, лепш сказаць
Тым не менш, грошы, з людзей, падманваючы іх у прадастаўленні інфармацыі, што
яны не маглі б зрабіць.
Гэта выглядае цалкам законна, правільна?
Я павінен мець спасылку тут, каб Paypal.com.
Справядлівасці дзеля, калі я сэксуальна яго з некаторымі графікі, мы можам зрабіць гэта выглядаць
больш падобна PayPal.
Дакладна?
Таму што я мог, як у бок, Я мог пайсці ў Paypal.com.
І мы толькі што бачылі, як я магу гл. ўсе свае HTML.
Я мог бы проста скапіяваць яго і ўзнавіць Эстэтыка Paypal, а не ісці
старой школы тут.
Але звярніце ўвагу, вядома, і гэта крыху яшчэ невялікі, толькі ў ніжнім
левым куце, як у 10 пунктаў шрыфт, вы бачыце тое, што вы URL
самай справе будзе прывяло.
>> І таму, калі вы калі-небудзь атрымлівалі спам кажучы ісці наперад, а ты рахункі
быў узламаны.
Калі ласка, націсніце на гэтую спасылку і паведаміце нам Ваш пароль, мы можам гарантаваць, што вы
Вы, ніколі не рабіце гэтага.
Гэтыя рэчы павінны пайсці, не кажучы.
Але гэта дзіўна пацешным, і трагічная, як кожны год гэта, здаецца,
здараецца, некаторыя ненулявога колькасць людзей.
>> І ў гэтым уся хараство фішынгавых нападаў.
Вы можаце адправіць мільёнаў лістоў.
І нават калі 0,01% людзей, якія на самай справе націсніце на Paypal і даць вам вашыя
пароль, гэта ўсё яшчэ ненулявое лік людзей, якія ўжо проста даць
вам свае грошы.
І адпраўкі электроннай пошты, вядома, цалкам лёгка і, па сутнасці, бясплатна
у гэтыя дні.
>> Такая доўгая кароткая гісторыя, выдатна Прыгожая ідэя, ці не так?
Шмат гадоў таму, гэта быў самы ранні Інтэрнэт, дазваляючы павуціне
гіперспасылкі паміж рэсурсамі.
Але так хутка, гэта можа быць выкарыстоўвацца для хворых мэтаў.
І электроннай пошце, дастаткова сказаць, гэтыя дзён, валодаюць убудаваным HTML ўнутры.
>> Ну, дазвольце мне яшчэ адну рэч.
І мы адкладзём ў значнай ступені да падзелу Праблема задаць сем, каб дазволіць вам
вывучэнне прыватнасцяў.
Але дазвольце мне ісці наперад і зрабіць некалькі рэчаў.
Я збіраюся пайсці і аб'явіць тое, што называецца DIV або
падзел, на гэтай старонцы.
Дазвольце мне блізка, што тэг DIV.
>> І я збіраюся сказаць, да Тут верхняй частцы старонкі.
А потым ніжэй гэтага, я збіраюся зрабіць нешта накшталт іншы DIV, зачыніце гэта
тэг і зрабіць ўнізе старонкі.
І давай яго захавання.
>> Такім чынам, цяпер давайце вернемся да майго файлу.
Вельмі захапленне.
Але тое, што падзел выкарыстоўваецца для, пад капотам, гэта на самай справе
добры структурны элемент.
Гэта не мае эстэтыкі так далёка, мы можам бачыць, акрамя, па-відаць,
пакласці рэчы па-новаму.
>> Але звярніце ўвагу, як у бок, проста націскаючы Калі ласка, увядзіце не рэжа яго ў HTML, як гэта
робіцца ў С. Можна падумаць, што гэта збіраюцца паставіць добры вялікі разрыў паміж
верхняй і ніжняй частцы старонкі.
Але яно ігнаруецца.
Прабелы па сутнасці ігнаруецца ў вэб-старонак акрамя першай
прабел характару, або вяртанне карэткі, што вы трапілі на клавіятуры.
Калі вы хочаце больш парываў радкоў, вы павінны вызначыць гэта самастойна.
>> Так што я збіраюся зрабіць некалькі рэчаў тут, каб паказаць, што адбываецца.
Я збіраюся дадаць атрыбут, які існуе, і зноў, як вы даведаецеся
якія атрыбуты існуюць, якія тэгі існуюць, сапраўды, цяпер на спасылках.
HTML з'яўляецца свайго роду мова - гэта ня з'яўляецца мовай праграмавання.
Гэта мова разметкі, - што пасля добрых паўгадзіны, можа быць, гадзіну з
яго, вы, безумоўна, разумеем, большасць верагодна, асноўная ідэя.
І тады пошук Google ад гатэля знаходзіцца ўсё магчымых тэгаў, якія вы маглі б быць
зацікавіць
І ў спецыфікацыі, што з'яўляецца даволі вітаецца і заахвочваецца тут.
>> Так што цяпер дазвольце мне ісці наперад і зрабіць нешта накшталт гэтага.
Колер фону.
І зараз, я збіраюся зрабіць што-то як чырвоны, кропка з коскі.
І вы можаце зрабіць гэта ў некалькімі рознымі спосабамі.
Я проста выгляд увёўшы яго як супер відавочна наколькі гэта магчыма.
>> Але аказваецца, што гэта значэнне тут тое, што называецца CSS, каскадныя табліцы
Лісты, што з'яўляецца яшчэ адным мовы ў цэлым.
CSS не мае нічога агульнага з адкрытыя тэгі і зачыняюць тэгі.
Гэта звязана са ўласцівасцямі.
>> І ўласцівасці проста ключавое значэнне пар, так як некаторыя словы,
тоўстай кішкі, а затым некаторыя іншыя словы.
І калі ў вас ёсць некалькі з іх, ці проста адзін тут, вы можаце скончыць яго
кропка з коскі, проста для яснасці.
Але гэта таксама будзе працаваць тут.
>> Цяпер тое, што гэта будзе рабіць?
Вы, верагодна, здагадваецеся.
Дазвольце мне ісці наперад і перазагрузіце дадзеную старонку.
І цяпер гэта сапраўды ідзе.
Так што першае, што прыйшло старонка чырвоным.
Але тое, што ключавым тут з'яўляецца тое, што я згадаў, раней, што дае вам DIV
Падзел старонкі.
І гэта сапраўды тое, што ён робіць.
Гэта істотна дзеліць старонку ў прастакутнік, які затым можна
маніпуляваць.
>> І гэта паняцце прастакутнікаў выгляду пераканаўчымі ў тым, што калі вы думаеце пра
Найбольш любога вэб-сайта, там, напэўна, некаторыя структуры да яго.
Большасць з вас, напэўна, рэдка можна ўбачыць Facebook хатнюю старонку, калі вы ўвайшлі
за ўвесь час.
>> Але на галоўнай старонцы ў Facebook, ёсць свайго роду спраў у верхняй часткі.
І гэта можа быць не так проста, як адзін DIV, але ёсць
прастакутную вобласць там.
Астатняя частка старонкі, як велізарны DIV, як шмат
вялікую прастакутную вобласць.
Так карацей кажучы, толькі пры наяўнасці гэтых маленькіх будаўнічых блокаў,
здольнасць мадэляваць рэчы, як прастакутнікі, Ці шырокая або вузкая, вы таксама можаце
зрабіць калонкі патэнцыйна, дазваляе выкласці старонках, на самай справе, аднак вы
хацелася б.
Мы сапраўды проста драпаць Паверхня тут.
>> На самай справе, калі я зраблю адзін іншага, Дазвольце мне пайсці далей і зрабіць стыль,
фонавага колеру, мы будзем рабіць тое, як сіні, блізкая двукоссі.
Давайце перазагрузіць.
Так што зараз гэта становіцца яшчэ больш выродлівай.
Але цяпер я магу выгляд выхваляцца мой P устанавіў пяць навыкаў, правільна?
Чырвоны.
Гэта нагадвае мне пра RGB, чырвоны Зялёны Сіні троек.
Што ж, аказваецца, у вэб-праграмаванні, або вэб-дызайн, які гэтага, у нас
ня запраграмаваны нічога як такога, вы можаце на самой справе
ёсць шаснаццатковы код.
Так нешта нешта, нешта нешта, нешта нечым.
Такім чынам, вы можаце мець шэсць шаснаццатковых знакаў ці тры, у некаторых выпадках
і кожная з гэтых знакаў пытання Павінна быць шаснаццатковых лічбаў,
ад нуля да F.
>> Калі я хачу мець шмат чырвонага, і Няма зялёны, і ня сіні, што
супрацьлеглае нуля пры выкарыстанні HEX?
Гэта ф.
Так што я магу зрабіць, і далей, нуль-нуль, нуль-нуль, захаваць, і цяпер прыехаў сюды.
І я на самой справе не бачаць зменаў.
Так двукоссях "чырвоны" з'яўляецца па-відаць сінонімам для ўсіх чырвоных,
Няма зялёны, а не сіні.
Між тым, давайце свядома змяніць гэтага павінна быць нешта
выпадковымі, як ABCDF.
>> Давайце паглядзім, што гэта такое.
Гэта сапраўды добры сіні, На самай справе, Baby Blue.
Добра, так што гэта толькі цяпер некалькі выпадковых камбінацый
знакаў.
Таму мы не будзем загразаць тут.
Але зноў жа, гэта кажа аб дакладнасці што вы можаце пачаць
ўжываць - нават калі вы вельмі перагружаны па эстэтыцы.
На самай справе, калі вы сапраўды хочаце быць ўразіла, дазвольце мне ісці наперад і змяніць
памер шрыфта, напрыклад.
І звярніце ўвагу на кропку з коскі, якая Неабходна там.
>> Памер шрыфта, мы можам быць проста смешна Тут, 96 кропкі.
Захавайце гэта.
Нічога сабе, гэта вялікі памер шрыфта.
Добра, так што гэта вельмі лёгка.
А на самай справе, вы, па сутнасці выглядзе першых вэб-старонкі я зрабіў
гадоў таму, калі я ўпершыню даведаўся гэты матэрыял.
Гэта вельмі лёгка зрабіць вельмі жудасныя рэчы хутка.
>> І калі вы знаёмыя з Wayback Машына на archive.org, вы
можаце знайсці ўсе мае агідныя старонкі вэб-старшакурсніка.
Трэба было Кермен Жаба на пярэдняй панэлі.
Я прайшоў праз этап, калі я думаў, гэта было крута ўзяць фоне
чырвоны заслона, калі я даведаўся, як вы выявы могуць пліткі зноў, і зноў, і
зноў, каб запоўніць старонкі з вялікі ліпкім чырвоным заслонай.
І потым, на вяршыні гэтага, быў абраз што трэба было націснуць, каб увайсці в мой дом
старонку, так як гэта было вельмі ў модзе.
>> А потым мая першая праграма, якую я напісаў не было ў PHP, але на мове,
называецца Pearl, напісала гасцявой кнізе, якая гэта сапраўды выдатна, што
Многія людзі чакаюць, што вы мець на галоўнай старонцы.
Калі вы трапляеце на старонку, яны хочуць, каб вы увайсці ў сістэму, і сказаць, хто вы,
і чаму вы там.
Гэта вельмі 1990-х гадоў стыль вэб-дызайну.
>> Але ў гэтыя дні, вядома, у нас прыходзяць нашмат далей.
І вы ўбачыце, у раздзеле, і нават ў задачы задаць сем, па
Выкарыстоўваючы бібліятэкі ў гэтыя дні, гэта значна лягчэй зрабіць
прыгажэй рэчы хутка.
Тут на самой справе, мы проста драпіны паверхні таго, што вы можаце зрабіць
стылістычна.
>> І на самай справе, ужо, дазвольце мне падкрэсліць, што гэта ўжо становіцца выродлівым, ня
толькі эстэтычна, але з пункту стылю майго кода, або
дызайн майго кода.
Я ў цяперашні час comingled HTML, якая з'яўляецца зелянява адкрытыя тэгі там, з
CSS ўласцівасці, якія з'яўляецца абсалютна законным.
Гэта сапраўды, дзе мову мае свае вытокі.
>> Але ў інтарэсах чыстага дызайну, гэтак жа, як мы пачалі факторынг рэчы
C з файлаў ст. Файлы ч, не кажучы мяне на самой справе практыкуюць такую
Прынцып і пачаць рабіць гэта замест.
Дазвольце мне сказаць стылю тэга тут, якая існуе і ў HTML, і дазвольце мне
пазначыць наступныя.
Дазвольце мне выдаліць гэтую.
Колер фону будзе чырвоным.
Я збіраюся выдаліць гэта цалкам.
Я збіраюся пазбавіцца ад стылю атрыбут, а я буду адназначна
ідэнтыфікаваць гэты DIV са словам -
адвольна, але разумна, цытаты канец цытаты "зверху". І ID з'яўляецца спецыяльным
атрыбут, які адназначна вызначае пэўны элемент HTML
як якія маюць, што ID.
>> Калі цяпер я хачу гэта стылізаваная, тут, у кіраўнік маёй старонцы, усярэдзіне
стыль тэга, заўважыць, што Я магу зрабіць хэш вяршыні.
І тады я магу паставіць пару фігурных дужкі, які нагадвае C, а потым няхай
Мне ўстаўце ў гэтай стылізацыі.
І дазвольце мне ісці наперад і прадбачыць тут куды я іду з гэтым.
Дазвольце мне таксама стварыць адзін для ніжняга спраў.
Дазвольце мне захапіць гэты агідны код ўніз Тут, паклаў яго тут, і я буду
трохі больш анальны зараз і гэта стылізаваныя проста пакласці на рэчы самі па сабе
лініі, заканчваючы кропкай з коскі.
Дазвольце мне пазбавіцца ад стылю тэга.
>> Але я яшчэ не скончыў.
Мне трэба зрабіць яшчэ адну рэч.
Так, ідэнтыфікатар роўны двукоссі, "дно" або што ID я хачу
даць гэтаму элементу.
Зараз, дазвольце мне вярнуцца сюды.
І гэта жудасна.
Я не магу мець справу з 96 кропкай.
Давайце зробім 24 кропкі.
Ці вы маглі б быць больш дакладным.
Вы можаце выкарыстоўваць пікселы, PX, таму што вы сапраўды атрымаеце тонкае збожжа
кантроль над вашай старонцы.
>> Як у баку, гэта не абавязкова Лепш за ўсё, калі карыстальнікі, для
даступнасць прычынах, хочуць мець магчымасць павялічыць памераў.
Так разумею, што ёсць спосабы зрабіць рэчы, якія не абавязкова
ўсе цвёрдыя кода.
>> Добра, так што гэта больш, 24 кропка, чым усё, што па змаўчанні.
Але цяпер гэта крыху больш чыстым.
І дазвольце мне зрабіць яшчэ адзін крок наперад.
Гэтак жа, як ідэя файлы загалоўкаў, заўважыць, што мы на адзін крок бліжэй да гэтага.
У мяне ёсць вынесена, але яшчэ засталося, Усярэдзіне маёй старонцы, тыя правілы CSS.
Чаму можа я хачу зрабіць яшчэ адзін крок Акрамя таго, выдаліць гэтую ў цэлым, і
пакладзеце яго ў асобны файл?
>> Так што я магу выкарыстоўваць яго, ці не так?
Гэта проста нейкая інтуіцыя Прама цяпер.
Раней я сцвярджаў, што гэта было проста атрымліваць выродлівыя якія маюць стыль
атрыбуты ўнутры ДИВС сябе.
Але толькі збольшага думаю, што да канца.
Як вашай старонкі ўсё даўжэй і даўжэй, калі Вы набылі тут, і тут, і
тут, і тут, усе гэтыя розныя кветак і памераў шрыфта і іншыя падобныя
атрыбуты, ваша старонка вельмі хутка збіраецца стаць некіраванай для вас.
>> Калі хто-то прыходзіць да вас і кажа, ой, вы ведаеце, што?
Я б вельмі хацеў, каб змяніць памер шрыфта два дадатковых ачкоў, вы
магчыма, прыйдзецца пайсці і знайсці і замяніць Вялікая колькасць радкоў кода.
Гэта значна больш прывабным для цэнтралізацыі ўсе такія эстэтыкі тут.
Але калі вы хочаце паўторна выкарыстоўваць тыя эстэтыку ў некалькіх вэб-старонак, усё
Чым больш прывабныя для, для Напрыклад, стварыце файл
называецца з тых змест.
>> І дазвольце мне зрабіць гэта.
Захавайце гэты файл.
Я кажу styles.css, адвольным, але звычайныя.
Я пастаўлю яго ў доме Джона Гарварда каталог цяпер для прастаты.
А што я магу зрабіць у маёй вэб-старонцы, гэта атрымаць пазбавіцца ад стылю тэга ў цэлым,
і некалькі unintuitively, выкарыстоўвайце спасылку тэг, які не дае вам спасылку ў
гіперспасылкі, інтэрактыўныя сэнсе, але дзе я кажу спасылцы, HREF роўна
styles.css.
І адносіны, што гэты элемент была з вэб-старонкі ў якасці
яго табліцу стыляў.
>> Такім чынам, як жа я пазнаю гэта?
Адзін з іх, вы толькі што прачыталі кіраўніцтва, ці вы Google вакол, і вы
глядзець на розныя рэсурсы.
Я хачу сказаць, што сапраўды, як вы паднімаеце метадаў, як гэта, і ў адпаведнасці
з гэтай ідэяй выкладання сябе новыя мовах, зноў жа, вы выявіце, што
ёсць толькі канчатковае лік рэчаў на любой мове, які, як толькі вы атрымаеце
іх, вы ўбачыце, што ён атрымлівае ўсё хутчэй і хутчэй пісаць.
Сапраўды, вывучэнне новага праграмавання мова нашмат хутчэй, чым новыя
размоўная мова, таму што гэтыя рэчы значна менш, і многае іншае
дакладна вызначаны.
>> Але я вылучыў трохі анамаліі тут.
Чаму я вылучыў гэтую касая рыса тут?
Таму што я павінен зачыніць тэг.
Я павінен зачыніць тэг.
І вы знойдзеце велізарны аб'ём рэсурсаў Інтэрнэце, якія ня
абавязкова зачыняюць тэгі.
І рэальна, гэта не зусім неабходных для тэхнічнага і ёсць
Прычыны рэальнасці, браўзэры проста даволі памяркоўныя памылак у вэб-
Старонкі, да лепшага ці да горшага, але ў асноўным горш.
>> Так што тут проста экалагічна чыстых спосабаў сказаць што-небудзь дурное, як гэта,
дзе, калі вы хочаце адкрыць спасылку тэга але зачыніць яго, няма сапраўды ніякага паняцця
ўтрымання для сувязі тэга.
Гэта проста азначае, ўкласці менавіта гэты файл і пакласці яго тут.
Гэта як рэзкія ўключыць у C. Вы можаце адкрываць і зачыняць тэг ўсё адразу
у межах аднаго тэга.
І ёсць іншыя прыклады.
Гэта не спосаб зрабіць гэта, але бр тэгаў, для разрыву радка, калі я
сапраўды хацелі дамагчыся таго, што я быў спрабуюць перад націснуўшы Enter, калі
Я відавочна кажуць радкі, радкі, радкі, радкі, і
перазагрузіць старонку, у цяперашні час вы заўважыце, што ўнізе старонкі ёсць,
На самай справе, значна далей ўніз у у ніжняй частцы старонкі.
Але нават гэта можа быць зроблена нашмат больш чыста з CSS, і з палямі,
і з іншымі такімі эстэтычнымі метадаў.
>> Так што на дадзены момант, з'яўляюцца вынас гэтага.
У HTML, у нас ёсць гэтыя рэчаў, званых тэгамі.
У CSS, у нас ёсць гэтыя рэчы называюцца ўласцівасцямі.
Мы можам comingle гэтых дзвюх моў, альбо з дапамогай атрыбуту стылю,
або стыль тэга, ці яшчэ лепш, факторынг яго ў цэлым, як мы гэта робім
У задачу, пастаўленую 7.
Пытанняў, тое, пра канцэптуальныя асновы тут?
>> Залы: У мяне пытанне.
>> Выступоўца 1: Ой, прабачце.
>> Зала: А чаму ён не быў каляровым -
>> Выступоўца 1: О, У іншай ўкладцы?
Гэта тут?
>> АЎДЫТОРЫЯ: Не, гэта як -
>> Выступоўца 1: О, гэта таму, што Я быў неахайны.
Я паклаў файл у няправільным месцы.
Так што, калі я на самой справе паклаў яго тут, і я CHMOD гэта ўсё + R для styles.css і
Цяпер перазагрузіць старонку, зараз мы атрымаць стылізацыю таму.
І таму, што памеры шрыфтоў розныя, мы не бачым у той жа ступені
прабелаў.
Замест гэтага мы паглядзім, што змаўчанні замест гэтага.
Добры пытанне.
Да?
>> Зала: А чаму гэта сувязь тэг ўнутры загалоўка?
>> Выступоўца 1: Чаму спасылкі тэг ўнутры загалоўка -
Кароткі адказ, проста таму што.
Гэта тое, што было прынята рашэнне.
Вось дзе спасылка тэгі ісці, калі ў вас ёсць тое, што называецца
Знешняя табліца стыляў.
Іншыя пытанні?
>> Добра, ну давайце зробім гэта.
Мы так весела перад намі сёння.
Вось толькі драпіны паверхню CSS.
Давайце зробім гэта.
Давайце пяціхвілінны перапынак тут , Таму што, на мой e-mail, давайце вісець у
там да 2:30-иш сёння.
Але калі ў вас ёсць, каб пакінуць, гэта нармальна.
Але мы будзем рухацца наперад пасля пяціхвілінным перапынкам.
А мы будзем ведаць сёе-тое аб PHP, MySQL, і многае іншае.
>> Добра, давай паспрабуем, цяпер, каб звязаць Некаторыя з гэтых ідэй разам і зрабіць,
зразумела, наш уласны пошукавік.
Я заўважыў, вельмі цікава, наступным.
Калі вы знаходзіцеся на Google.com, ты як правіла, на адрас, такі як гэты тут
з нічога пасля кропка ком.
Але калі я шукаю нешта дурное, як Кошкі, і націсніце ўвод, то мы атрымаем - ня
па-дурному, але вы ведаеце.
>> Такім чынам, заўважылі, у верхняй частцы старонкі Цяпер, адрас або яна, вядома, змененыя.
І гэта далёка не ўсё, новае для любога з нас.
Вы націскайце на спасылкі і іншае адбываецца ў Інтэрнэце.
Але што тут цікава складаецца ў наступным.
Там цэлая шмат бязладзіцы, але няхай мне выкінуць рэчы, якія я не
цалкам разумее ці ня сапраўды выглядаюць актуальнымі.
>> Дазвольце мне пазбавіцца ад гэтага.
Дазвольце мне пазбавіцца ад гэтага.
І дазвольце мне проста пазбавіцца усяго гэтага.
А цяпер звярніце ўвагу, што коткі ў URL, вынікаюць з Q, то роўных
знак перад ёй.
Вось і атрымліваецца, гэта, як Як гэта працуе, калі гаворка ідзе
на ўваходзе і выхадзе.
>> Мы даўно казалі пра чорныя скрыні, ці не так?
Так што, калі гэта функцыя, якую выконвае Тут, як чорны скрыню, ён прымае ўваходныя
і вырабляе выдачу, ну, значыць, з дапамогай якога вы ўнесці свой уклад у
Вэб-сайт з'яўляецца шляхам, часта, яго URL.
Вы проста паставіў знак пытання а затым ключ роўная значэнні.
І тады, магчыма, Ампэрсанд, а затым Іншым ключавым роўная кошту, то, магчыма,
іншы Ампэрсанд, ключавыя роўная значэнні.
Вось як вы перадаеце ключы і значэнняў, пары уваходаў.
>> Так што, калі я ударыў Калі ласка, увядзіце Цяпер, што цікавае пра Google у тым, што ўсе
, Якія загрувашчваюць я выдаліў не зьяўляецца строга неабходным.
Усё, што мне трэба адправіць Google з'яўляецца пытанне знак Q роўная котак, каб атрымаць
таму некаторыя котак.
Ну, сэнс гэтага, то, калі я падцягнуць Gedit, я пачаў
зрабіць мае ўласныя пошукавай тут у файле з імем seach0.html.
>> І дазвольце мне ісці наперад і выдаліць яшчэ адна лінія, што вы
не павінны былі бачыць.
А цяпер, адпусьці мяне ў мой уласны браўзэр, так, каб не Google, і перайсці да
http://localhost.
І што адбываецца, каб атрымаць у шляху.
Такім чынам, мы збіраемся мець, каб сказаць да спаткання што на дадзены момант, перамясціць гэты тут,
О, цяпер мы збіраемся павінны Развітайцеся з файлам.
>> Кожны раз, калі ў вас ёсць файл з імем index.html ці index.php ў
каталог, калі вэб-сервер наладжаная такім чынам, што вы будзеце
бачыце, па змаўчанні, з'яўляецца змест гэтага файла, а ня пералікам
каталог, як я хацеў тут.
Больш падрабязна пра гэта ў спецыфікацыі.
Вы не бачылі гэтага.
>> Так гэта тое, што я на самой справе хацеў.
Але хвіліну назад, быў файл у гэтай тэчцы
index.html і index.php.
І таму вэб-сервер быў паказваў мне гэтыя файлы.
Замест гэтага я хачу гэтага каталога пералічаныя тут.
>> Так што я збіраюся ісці ў CSS і перайсці да search0.
І я сцвярджаю, што гэта ён будзе пачатку маёй уласнай канкурэнтаздольнай
пошукавай сістэме.
А для гэтага, я збіраюся пайсці ў Сюды, у CSS, і адкрыць з
Gedit, пошук 0.
Але, на жаль, ёсць не так шмат тут адбываецца.
Усё, што я рабіў, было выкарыстоўваць тэг загалоўка, які , Здараецца, называюць h1, якая
па сутнасці азначае вялікі і смелы, і гэтым усё сказана.
Але сродкі, з дапамогай якіх мы можам забяспечыць ўваходы праз гэтыя
што называецца формамі.
>> Такім чынам, дазвольце мне ісці наперад і адкрываць і зачыняць, прэвентыўна, а тэг формы там.
І дазвольце мне ісці наперад і рабіць нешта накшталт гэтага.
Уваход, тыпу роўная тэксту.
А потым давайце закрыем тэгу самі дужкі.
Мне не трэба, каб пачаць тэкставае поле і спыніць тэкставага поля.
Гэта проста будзе там ці не.
>> А потым, што ніжэй, давайце зробім Тып ўваходу роўная ўявіць.
Захаваць.
А цяпер давайце проста зробім хуткая праверка спраўнасці.
Давайце перазагрузіць.
>> Добра, такім чынам, гэта не дрэнна.
Гэта не ў стылі Google, але гэта даволі блізка.
Там у тэкставым полі.
Я магу надрукаваць некаторыя рэчы ў, націсніце Enter, але нічога не адбываецца пакуль.
І гэта таму, што я не ўказаў дзеянне для гэтай формы, так бы мовіць.
Так што, калі я вярнуся ў элемент формы, Аказваецца, і я ведаю, што гэта толькі
ад прачыталі дакументацыю, што Форма пазнака мае атрыбут
называюць дзеянне, якое URL вэб-сайт, да якога
неабходна адправіць форме.
>> Я сапраўды не думаю, што ў нас ёсць час ажыццяўляць увесь канца таму для
пошукавай сёння.
Такім чынам, мы проста будзем казаць, а, перайсці на google.com / пошуку.
А цяпер дазвольце мне ў маіх цытат.
І дазвольце мне паказаць, што далейшае метад, які выкарыстоўваецца збіраецца
называць атрымаць.
>> Карацей кажучы, ёсць два шляхі, па крайняй меры, што вы можаце падаць інфармацыю
ад браўзэра да сервера.
Адзін з іх атрымаць, і для мэт сённяшняй, гэта проста азначае, у URL.
Вы бачыце дакладна пытальнікі, знак роўнасці, і што амперсанда
мы бачылі раней.
Ці ёсць альтэрнатыва называецца пост.
На дадзены момант вядома, што пост часта выкарыстоўваецца калі вы хочаце, каб загрузіць файлы, напрыклад,
малюнка і т. д., або калі вы хочаце прадставіць інфармацыю аб крэдытных картах, або
паролі, усё, што ён не сапраўды мае сэнс, канцэптуальна, або
Мудрая бяспеку, у канчатковым выніку ў адрас ваш браўзэр, калі бацькі сачэнне,
ці суседзяў па пакоі, ці ў каго ёсць доступ на кампутар, можа бачыць.
>> Дык давайце захаваем гэта тут.
І мне трэба зрабіць яшчэ адну рэч.
Гэта не дастаткова проста сказаў, даюць мне тэкставае поле.
Я павінен даць гэтага поля шануеце імя.
Так што дазвольце мне ўзяць выбар Google аб імёны, Q, і паказаць, што другі
прыпісваем Я сапраўды не клапоцяцца аб Назва кнопкі Submit.
Усё, што я клапоцяцца аб прадстаўленні што карыстач уводзіць цалі
>> А цяпер гэта накшталт выродлівай.
Ён проста кажа ўявіць.
Аказваецца, і я ведаю гэта ад дакументацыю, я магу на самой справе сказаць
значэнне роўна двукоссях "CS50 Seach, "блізкія цытаты.
Тады давайце яшчэ раз перазагрузіць.
Так што я б'юць Command-R ці Control-R на клавіятуры, каб перазагрузіць.
>> Цяпер у нас ёсць больш цікавыя пошукавай сістэме.
Аднак гэта не зусім падобныя Google ж, усё ж.
Так што давайце ісці наперад сюды і зрабіць невялікі перапынак лініі.
>> Такім чынам, зараз у нас ёсць Google.
Мы на самой справе амаль мяне ёсць Google.
Так што зараз адбудзецца?
Я збіраюся ўвесці ў чымсьці як коткі.
І браўзэр будзе разабраць гэтая форма, што я вызначаны.
І ён збіраецца адправіць карыстачу, што URL.
Таму ў гэты раз, для некаторых цікаўных прычын, Я атрымаў больш інфармацыі аб запасах
, Чым пра рэальных котак.
Але гэта нармальна, таму што мы ўсё яшчэ заўважаюць скончыў тут, Q роўная котак.
>> Такая доўгая кароткая гісторыя, здаецца, даволі трывіяльным, каб атрымаць ўваходныя дадзеныя ад карыстальніка.
І быць справядлівымі, ёсць пучкі іншых тыпаў палёў формы.
Там у сцяжкоў, і мала ўзаемна эксклюзіўныя кнопкі радыё і
выпадаючыя меню і многае іншае.
Але ўсе гэтыя з'яўляюцца адносна лёгка рэалізавана ў выглядзе
гэта тэкставае поле было.
І ў канчатковым рахунку, мы проста павінны зрабіць упэўнены, што хто-то слухае на іншы
Канец лініі для таго, каб атрымаць, што апрацоўванай інфармацыі, так ці інакш, і
вярніце нам нашы кошкі.
>> Давайце паглядзім на некалькі Больш складаны прыклад.
Адпусціце мяне ў мой каталог Vhost аўтара, ў лакальны хост, грамадскіх, і дзе я
пакласці зыходны код сёння.
Усё гэта будзе на курсы Вэб-сайт для вас, каб важдацца з.
І калі я іду ў froshims, дазвольце мне адкрыць гэты файл зараз, froshim0.php.
Гэта адна крыху больш шматслоўным, так мы не будзем пісаць гэта з нуля.
Але толькі заўважыць зараз некалькі некалькі знаёмыя характарыстыкі.
>> Адзін з іх, тэг формы, розныя дзеянні.
Гэта не поўны URL.
Цяпер, гэта мабыць, файл з імем register0.php таму, што ў момант,
Я збіраюся навучыць сябе крыху нешта пра PHP, праграмаванні
мовы, так як PHP можа быць выкарыстаны для ажыццявіць тое, што Google рэалізаваны ў выглядзе
задняй часткі іх пошукавымі сістэмамі.
>> Google, на самай справе, верагодна, выкарыстоўвае некаторыя Python, некаторыя C + +, і
пучкамі іншых мовах.
Але мы, безумоўна, можа рэалізаваць пошук вынікаў з дапамогай PHP, калі мы хацелі.
Але пакуль, мы будзем трымаць яго простая.
І гэта на самай справе нагадвае адну іншых першых сайтаў я
зроблены год таму.
>> Яшчэ ў свой час, ты зарэгістраваны ў вочнай спорту, як на першым курсе па
запоўніўшы паперку, хада праз двор, і, паклаўшы яго ў
паштовую скрыню ў Proctor Wigglesworth, і гэта было, як вы
зарэгістраваны.
І так мой праект неўзабаве пасля таго, CS50, было паставіць, што, што робіць ідэальным
сэнсе на палатно, якое не было як і ў модзе, то, як цяпер.
Але ўсё, што нам трэба было стварыць, Па сутнасці, HTML формы.
>> І гэтая форма выглядала прыкладна так.
У мяне быў ўклад у Імя пачаткоўца.
У мяне быў іншы сцяжок або яны ці не хацеў быць капітанам, тое, што
іх падлога была і тое, што іх інтэрнат было.
І тады я жорстка ў рэчах як Apley суда і Canaday,
Шэрыя, і гэтак далей.
>> Такім чынам, яшчэ раз, новыя тэгі.
Даўно не бачыў іх перш, новае атрыбутаў, але даволі даступным.
Як толькі вы бачыце, напрыклад, вы можаце выгляду з пазычаць гэтую ідэю і зрабіць падзенне
меню для большасці нічога.
Але тое, што ключавым з'яўляецца тое, што кожны з гэтыя рэчы маюць імёны.
А ўнізе гэтай формы, ёсць кнопку адпраўкі, пазнаку,
ці каштоўнасць, рэгістр.
>> Так што давайце ісці на гэтую старонку.
Дазвольце мне вярнуцца ў каталогаў.
Адпусціце мяне ў froshims, і перайсці да froshim0.php.
Так што гэты агідны, каб быць справядлівым.
Так што я мог вызначана стылізаваць гэтую з некаторымі CSS, я мог бы зрабіць некаторыя
графіка, можа быць, дадаць некаторыя колеру, і зрабіць гэта прыгажэй.
Але функцыянальна я б сцвярджаць, што гэта на самай справе даволі поўна.
>> На жаль, калі я запаўняю гэта, Дэвід, капітан, Мужчынскі, мы абярэм,
скажам Matthews, рэгістрацыі, усё, што адбываецца гэта.
Але заўважым пару вынас.
Адзін з іх, які файл вярнуліся тыя, Вынікі, па-відаць?
Так што гэта, сапраўды, register0.php.
Той факт, што мы ўбачылі, што дзеянні Значэнне хвіліну назад для register0, гэта
пацвярджае, што мы сапраўды скончылася да ў той канкрэтны файл.
>> Зараз гэта проста пачварна тэксту.
Але звярніце ўвагу, што гэты тэкст з'яўляецца Зыходзячы з лакальнага хаста,
які з прылады.
Падумайце аб прыбор зараз, як толькі вэб-сервер, які можа быць у
Навуковы цэнтр.
Гэта можа быць на фактычных вэб.
Так што гэта публічна даступныя.
>> Такім чынам, ясна, ёсць некаторы спосаб перадачы палёў формы ўваходу на сервер
так што ён можа нешта з імі рабіць.
На жаль, register0 даволі дурное.
Усё гэта робіць раздрукаваць масіў які выглядае наступным чынам.
І гэта не масіў у сэнсе, што мы яе ведаем.
Аказваецца, PHP, і шмат моў, не толькі колькасна
індэксаваная масівы, Першы індэкс нуля, то адзін, то два, то кропка,
кропка, кропка, N мінус 1.
>> Гэта тое, што называецца асацыятыўны масіў.
Асацыятыўны масіў, пры якой Вы можаце захоўваць пар ключ-значэнне, дзе
ключа не абавязкова з'яўляецца лікам.
Гэта на самай справе можа быць радком, словам.
І так што гэта можа быць рэалізавана, пад капотам, аказваецца,
выкарыстаннем структуры дадзеных, вядомых як?
Думка нешта драматычнае павінна было адбыцца -
хэш-табліцу.
>> Так хэш-табліцу, нагадаем, тыя з вас, хто гэта зрабіў для P набор 6, ці нават ўспомніць
гэта, па меншай меры, нават калі вы зрабілі спробу, хэш-табліцы, на наш выкарыстанні, былі выкарыстаныя для
проста захоўваць слоў.
Але на самай справе, вы захоўвалі ключоў і значэнняў.
Калі вы рэалізавалі хэш-табліцу для P набор 6 слоўнік, ключы былі
самі словы, а значэнні былі фактычна праўдзівымі або ілжывымі.
Так, тут, або няяўна, Не, не тут.
>> Ну, мы можам абагульніць гэтую ідэю.
І мы маглі б выкарыстоўваць вельмі падобныя дадзеныя Структура захоўваць не радок
Сам самотныя ў вашай хэш-табліцы, але Выкажам здагадку, што ў кожным з вашых хэш
табліцы вузлоў.
А вы маглі б зрабіць гэта нават у спробе , А не проста лагічнае.
Вы маглі б нешта іншае.
Што рабіць, калі ключ ня быў Максвел, для напрыклад, але ў двукоссі "імя", або
двукоссях "капітан". І ўнутры З вашай структуры дадзеных, вы змяшчаеце
значэнне, а не толькі лагічны, але і кошт як у двукоссях "Давіда", або
"M" ці "Matthews", і гэтак далей.
>> Так што тыя ж структуры дадзеных мы выкарыстоўвалі мабыць існуюць і ў іншых мовах.
І я б сцвярджаць, што яны на самой справе шмат, значна прасцей атрымаць доступ тут.
Давайце на самай справе зірнуць Зараз у нейкі такі сінтаксіс.
>> Я збіраюся пайсці ў каталог PHP.
І я збіраюся адкрыць лепш версія прывітанне-0, чым раней.
Звярніце ўвагу, што ўсё, што я рабіў, было дадаць некаторыя каментары.
Такім чынам, мы можам пазбавіцца ад гэтага вар'яцтва.
>> І гэтая праграма сапраўды друкуе прывітанне, таму што я паказаў паміж
тэгаў, якія я хачу выканаць гэты код.
Цяпер мы ўбачым у момант чаму гэта карысна.
Але давайце адкрыем адзін прыклад тут.
Дазвольце мне ісці наперад і адкрываць сказаць, Gedit умоў адзін.
>> Гэта шлях таму ў час.
Але тыдзень таму, я думаю, у тыдзень адзін або два тыдні, у нас быў прыклад называецца
conditions1.c.
І я вырашыў рэалізаваць яго ў PHP, проста выгляд падкрэсліць, што
PHP, сінтаксічна, амаль ідэнтычная і C. Гэта не велізарны скачок
з мінулага тыдня на гэта.
>> Звярніце ўвагу, у верхняй частцы гэтай праграмы, якая пачынаецца, як і раней, з некаторымі
каментары, якія Я пазбаўлюся як адцягненне.
Заўважце, што я знаходжуся ў PHP Рэжым у гэтым файле.
Так што гэты код, мы ўбачым, будуць выкананы.
Звярніце ўвагу, што ёсць Readline, які, верагодна,
аналаг у PHP з GetString.
Звярніце ўвагу, што гэта крыху розныя.
Рэальна задаецца запыт на Функцыя называецца чытаць лініі, і гэта
што бачыць карыстальнік.
Такім чынам, вы не павінны Е ўручную.
Але гэта не мае вялікага значэння.
Я збіраюся захоўваць, усярэдзіне $ N, вярнуць значэнне гэтага, так што ўсе
карыстач уводзіць з'яўляецца іх Int.
А вось яшчэ цікаўнасць.
Аказваецца, у PHP, любая пераменная проста павінен мець прэфікс
са знакам даляра.
Гэта крыху раздражняе.
Але звярніце ўвагу, што я не зрабіў у PHP.
Чаго не хапае ў левай руцэ боку ад знака роўнасці?
>> Ніякага згадкі пра тыпу.
Так што гэта адрозніваецца ад C. Для лепшага ці да горшага, PHP з'яўляецца свабодна
тыпізаваных мовах.
У яго ёсць лічбы.
У яго ёсць радкі.
У яго ёсць лагічныя.
І ў яго ёсць некалькі іншыя тыпы дадзеных.
Але вы, праграміст, як правіла, не павінны клапаціцца пра іх.
Верх гэтага з'яўляецца тое, што ён робіць гэта крыху лягчэй праграмаваць.
Вы можаце думаць трохі менш.
Недахопам з'яўляецца тое, яно таксама адкрывае вам да патэнцыйных памылак, калі вы выпадкова
лячэння шэрагу ў выглядзе радкі, радок як лік, патэнцыйна, але нават
Затым, PHP, і шмат моў, даволі памяркоўна.
Яны будуць выкарыстоўваць тое, што называецца няяўнай.
І калі вы спрабуеце выкарыстоўваць N ў кантэксце лікавага сітуацыі, ён будзе
ператварае тое, што тут будзе радком, таму што, калі карыстальнік ўводзіць
нешта, і вы атрымаеце вынік, Як і Readline, або атрымаць радок,
што збіраецца вяртаць радок.
>> Але звярніце ўвагу, пару радкоў праз, я праверыць, калі N больш за нуль.
Такім чынам, PHP будзе няяўна прыведзены мой "Радок" 123, або любы іншы карыстальнік
тыпы, у Int.
Карацей кажучы, рэчы проста працуе нашмат больш інтуітыўна.
Такім чынам, цяпер пачынаюць расслабляцца некалькі рэчы, якія мы зрабілі ў мінулым.
>> Многія гэты артыкул тое ж, усё ж.
Усё яшчэ роўных роўных.
Як у бок PHP таксама роўная роўная роўных, але пра гэта, мабыць, у
будучыні.
Гэта было.
Памылка друку, а два знака роўнасці азначае тое ж самае , Што і раней, для параўнання.
Е азначае тое ж самае, як раней.
Зваротная касая рыса N азначае тое ж самае , Што і раней.
>> Так як я магу запусціць гэтую праграму?
Ну, як і раней, калі я раблю PHP, conditions1.php і ўвядзіце
лік, напрыклад 123.
Гэта станоўчае лік.
Калі я друкую у 0, я выбіраю 0.
І калі я друкую ў адмоўнай 123, я атрымліваю Рэзервовае адмоўнае лік, якое з'яўляецца толькі
сказаць, сінтаксічна, PHP супер, супер падобныя.
>> Дык чаму ж гэта цяпер карысна ў вэб-кантэксце?
Ну, давайце вернемся да гэтай froshims Напрыклад, які выглядаў,
зноў жа, як гэта тут.
І давайце на самай справе падцягнуць вэб-старонкі зноў, якое выглядала так.
Што мы можам зрабіць з дадзеныя, якія прадстаўлены?
>> Ну, дазвольце мне адкрыць новыя версія гэтага.
І вы ўбачыце, што праблема наборы спецыфікацый правядзе вас
праз некалькі з іх.
Замест таго, каб пачаць з нуля, давайце паглядзім на froshims3,
які робіць трохі больш.
>> Звярніце ўвагу, па-першае, на самай справе, давайце адкрыем ад таго, што было 0, так што вы бачыце
тое, што было рэгістра 0.
Звярніце ўвагу на тое, што зрабіў рэгістра 0.
Адзін з іх, у мяне ёсць каментарыі ў пачатку.
Выдаляем іх і засяродзіцца толькі на гэтым.
Большасць змесціва register0.php , Відавочна, на якой мове?
Проста сырое PHP.
>> Так апавяшчэнне, гэты файл не запускаецца с, на дадзены момант, якая адкрывае дужка,
Пытальнік, PHP.
PHP сапраўды дазваляе змешвацца PHP кода з HTML тэгамі.
Але я зрабіў гэта тут, унутры на старонцы тут.
>> Цяпер, зноў жа, вы толькі ведаю гэта з паглядзеўшы на кіраўніцтве. print_r,
Аказваецца, гэта print_recursive. _recursive І гэта толькі зручны
функцыі карыснасці, які проста выводзіць, рэкурсіўна, што б вы перадаць яго.
Калі вы Уручаць яе масівам, гэта будзе друку масіва.
Калі вы перадаць яго нумар, ён будзе друкаваць колькасці.
Перадайце яму радка, ён будзе друкаваць радок.
Калі вы перадаць яго хэш-табліцу, яна выведзе хэш-табліцу.
Вам не трэба пісаць усё гэтага кода самастойна.
>> А цяпер звярніце ўвагу, што я ўваходжу PHP рэжыме тут.
Я выхадзе PHP рэжыме тут.
Таму, калі вэб-сервер чытае гэты файл зверху ўніз, злева направа, таму што
яна заканчваецца ў імя файла называецца. PHP, усё, што не ўнутры тэгаў PHP з'яўляецца
проста будзе каса з, як сырыя HTML.
Ніякае грандыёзнае прадпрыемства.
Але як толькі вэб-сервер заўважае гэта, ён скажа, што я не павінен
выплюнуць, літаральна, print_r пост.
Я павінен выканаць наступныя радкі кода.
>> Такім чынам, апошні пытанне, то, гэты файл , Ну, што ж такое гэта?
Зрабіць здагадку.
Што такое $ _POST, напэўна?
>> АЎДЫТОРЫЯ: [неразборліва]
>> Выступоўца 1: Так, адпраўленыя дадзеныя.
Нагадаем, давай гартаць тэкст таму ў Час на імгненне.
froshim0, зноў жа, выглядала наступным чынам.
Супер большасці гэта ўсяго толькі HTML.
Зноў жа, некаторыя тэгі Вы ня бачыў яшчэ, або з якімі
Вы ўжо знаёмыя.
Але самае цікавае было гэтага.
Гэта адна лінія, што сапраўды звязвае яго ў наш register0.php файла.
Я скарыстаецеся метадам паста.
А гэта значыць, што параметры Карыстальнік ўводзіць у ня
будзе ў канчатковым выніку, дзе.
>> Яны не збіраюцца адлюстроўвацца ў URL.
Яны па-ранейшаму збіраецца быць адпраўлена з кліенцкім кампутары, у браўзэры, каб
серверу, але толькі праз некаторыя іншыя механізм, які мы будзем паступацца сваімі рукамі
на сёння, але гэта не ў URL.
Але звярніце ўвагу на адносіны цяпер з пост, які, па дамове, з'яўляецца
ніжні рэгістр тут.
>> Але калі я адкрываю register0.php, Я мабыць пячаткай гэтага.
Так што гэта нейкае дзіўнае наймення.
Але тое, што добра ў PHP з'яўляецца тое, што, калі Выкарыстанне PHP ў вэб-кантэксце, а не ў
каманднага радка, як я зрабіў хвіліну назад, калі вы на самой справе яно выкарыстоўваецца ў вэб-
старонкі, у Vhost каталога, як мы, PHP аўтаматычна будзе запоўніць гэты
рэч, якая ўяўляе сабой асацыятыўны масіў, так бы мовіць, хэш-табліцы, з
усё, што карыстач увёў цалі
>> Карацей кажучы, $ _POST ва ўсіх каўпачкоў глабальная зменная, якая проста PHP
магічна стварае для вас, калі Выкарыстанне PHP ў вэб-кантэксце.
І гэта ставіць унутры ў яго ўсё Назвы параметраў у тым выглядзе,
быў прадстаўлены гэты файл і ўсё значэнні, якія карыстач уводзіць цалі
Так што да Цябе рукі тое, што карыстальнік набраў у гэтай форме.
>> Таму, перш чым, мы атрымалі сапраўды дурное выходных з проста бачыць гэта, таму што ўсё, што я зрабіў
быў рэкурсіўнага выснову гэтага масіва.
Ключ імя, значэнне Давіда.
Ключ капітан.
Значэнне далей.
І двайны стрэлкі і кут Кранштэйн там, гэта ўсяго толькі адвольныя.
Гэта не кода.
Гэта ўсяго толькі спосаб PHP, якія адлюстроўваюць што значэнне некаторага ключа.
>> Але цяпер дазвольце мне выказаць здагадку, што ў froshIMs3, гэта амаль ідэнтычныя
выключэннем таго, што ўяўляе на гэты файл.
І зноў жа, мы збіраемся накшталт толькі зірнуць на гэта, проста каб паглядзець некаторыя
сінтаксіс, але заўважце, што Гэты файл робіць.
Зрабіць здагадку, грунтуючыся толькі на лініях кода, які, верагодна, выглядаць
Грэцкі, да некаторай ступені, мабыць робяць.
>> Гэты файл так ці інакш звязана па пошце, электроннай пошце.
Так што гэтая праграма робіць?
У гэтай версіі, калі б я быў на самай справе запоўніце гэтую форму - і адпусціць мяне ў
froshIMs3, ня froshIMs0 -
Форма выглядае аднолькава.
Дэвід, капітан, мужчына, інтэрнат, Мэтьюз.
Але калі б я гэтага ўявіць, гэты файл збіраюся пайсці ў register3.php.
>> І я сцвярджаю, гледзячы на ​​гэта зыходны код, ён збіраецца
так ці інакш звязаныя з электроннай поштай.
Дазвольце мне ісці наперад і адкрыць гэты ў вялікія вокны, таму мы
можа ўбачыць яго чыста.
Мы знаходзімся ў віртуальных даменаў, лакальны хост, грамадскасці, froshims.
Я збіраюся адкрыць іншую Праграма, менавіта так мы
Больш падрабязна можна ўбачыць адразу.
>> Так што зараз тут, заўважыць некалькі рэчаў.
У верхняй частцы файл адкрыты Кранштэйн, пытальнік, PHP.
Тады ёсць куча каментароў, якія мы можам ігнараваць, з'яўляецца
нецікавыя на дадзены момант.
>> Зараз ёсць гэта.
Аказваецца, PHP мае шмат кода, які называецца патрабуюць.
Гэта вельмі падобныя па духу на Сі ўключаюць, хэш ўключаюць, якая
па сутнасці захоплівае змест некаторых іншы файл і проста пляскае іх тут,
так што вы можаце іх выкарыстаць.
У гэтым выпадку прылада мае, папярэдне ўстаноўлена, бібліятэка, свабодных і
бібліятэка з адкрытым зыходным кодам пад назвай PHP паштовай, што любы можа
спампаваць з інтэрнэту.
Мы проста зрабілі гэта за вас.
А гэта значыць, у мяне зараз ёсць электронная пошта функцыянальнасць у маім распараджэнні.
>> Такім чынам, звярніце увагу некалькі рэчаў.
Я збіраюся праверыць формы прадстаўлення.
Аказваецца, PHP, адна, мае клічных балаў за ня аператара, гэтак жа, як
С. Але PHP таксама мае функцыю называецца пустым.
>> Пустыя проста вяртае ісціну, калі значэнне пра рэчы вы перадаць яго ў
дужках пусты, як карыстальнік не ўводзіце нічога цалі
Так што гэта кажа, і звярніце ўвагу на сінтаксіс, вельмі нагадвае C, калі
Назва ключ, так што імя поля ў форме які быў прадстаўлены па пошце, па
карыстача, не апаражніць і іх Пол не пусты у тым выглядзе,
Ну, і іх інтэрнаты не пусты -
але заўважыць, што я не клапачуся пра капітана, тое што мы будзем рабіць?
>> Я збіраюся выканаць гэты радок кода.
І вы можаце думаць пра такую як Malloc, але гэта крыху
больш незвычайным, чым гэта.
Але зараз гэта дае мне спецыяльныя Пабудуем тыпу PHP паштовай праграмы.
Але ігнараваць новыя ключавыя словы на сённяшні дзень.
>> Цяпер я збіраюся выклікаць функцыю названую IsSMTP, у якім гаворыцца, выкарыстоўвайце SMTP.
Гэта порт 25, як і відэа на мінулым тыдні, калі рэч кідаў
паведамленняў электроннай пошты ў брандмаўэр.
Порт 25 SMTP.
SMTP азначае выкарыстанне паштовага сервера.
Які з іх, мы можам выкарыстоўваць Гарварда SMTP.fas.harvard.edu.
>> Мы можам ўсталяваць з адрасу быць Джонам Гарварда.
Калі я пракруціць ўніз далей, я магу ўсталяваць адрас атрымальніка, проста
адвольна, каб быць Джон Гарварда, а таксама.
Так ён збіраецца пасылаць па электроннай пошце самому сабе.
>> Цяпер я магу ўсталяваць тэму быць рэгістрацыю.
І я магу ўсталяваць целам электроннай пошты наступным чынам.
Гэтая лінія выглядае крыху больш загадкавым, але гэта толькі таму, што ёсць шмат
у ёй інфармацыі.
Адзін з іх, ёсць кропка аператара.
Хто-то павінен ведаць, што ўжо Аператар кропка робіць.
Гэта аб'яднанне.
Так што, калі вы хочаце ўзяць радок у PHP, і дадаць яго, або ў пачатак яго,
іншую радок у PHP, дзякуй Богу, не павінны выкарыстоўваць StrCopy і Malloc,
і ўсё, што больш.
>> Калі вы хочаце злучыць два радкі, хто клапоціцца аб памяці.
Няхай PHP зразумець гэта для вас.
PHP Што будуць рабіць з аператарам кропка тут проста зрабіць вялікае прапанову з
гэтай лініі, гэтая лінія, гэтую лінію, гэтую лінію.
А цяпер паведамлення, гэта будзе для падлучэння значэння.
Такім чынам, электроннай пошты, які Джон Гарвард адбываецца атрымліваць літаральна збіраўся сказаць
імя, тоўстай кішкі, то, хутчэй, то мы зачыніць радок і аб'яднаць на
усё, што карыстач увёў У, то новая радок.
>> Затым, на наступным радку Джона Гарварда E-mail, ён збіраецца сказаць
Капітан, З або нічога.
Ён скажа полу, мужчына ці жанчына.
Інтэрнат будзе Matthews у маім выпадку.
І звярніце ўвагу на тое знаёмае коскі ў самым канцы.
І потым, тут, заўважце, некалькі загадкавымі да гэтага часу, але зноў жа, пасля
шаблон, які будзе больш падрабязна азнаёміцца Пасля мноства Р 7, пры адпраўцы пошты
вяртае хлусня, а затым пайсці далей і паміраюць.
>> Такім чынам, PHP ёсць функцыя, званая паміраюць, якія, у літаральным сэнсе, проста забівае
сайт і проста выводзіць ўсё вы сказаць, што гэта - яе памірае
словамі, так бы мовіць.
І гэта, у выпадку, ён будзе друкаваць , Што інфармацыя аб памылцы для
што б ні здарылася пайсці не так.
Такая доўгая кароткая гісторыя тут, што ў нас ёсць прыклад, у якім, калі карыстальнік
адпраўляе форму, froshim0, froshims3.php, ён ідзе да
register3.php.
Але затым пераходзіць register3.php выканаць усе з гэтых ліній.
>> Такім чынам, ёсць некалькі сувенірнай браць тут.
Адзін з іх, па-відаць, гэта даволі лёгка, праграмна, адпраўляць электронную пошту,
і гэта добра.
Калі карыстальнікі зарэгістравацца на вашым сайце, у гэтым выпадку, калі яны рэгіструюцца для вашага
спорту, вы можаце па электроннай пошце пачаткоўца Проктор, або Джон
Гарвард, у гэтым выпадку.
>> Але гэта таксама азначае, што вы можаце рабіць тое, што?
Адправіць электронную пошту ад каго нікому.
І гэта вельмі дакладна.
Гэта не так лёгка зрабіць, калі Вы прывыклі выкарыстоўваць Gmail.
Але калі вы калі-небудзь выкарыстоўвалі або Eudora Светапогляду, вы можаце вельмі шмат што сказаць
паштовы сервер, які вы кім вы хочаце.
І вось тут мне трэба паставіць на гэты капялюш і сказаць: не рабі гэтага.
Але гэта з'яўляецца сведчаннем таго, наколькі лёгка гэта выканаць фішынгу і
адпраўляць ананімныя лісты, і спаму, у цэлым.
І гэта сапраўды зводзіцца да таго, факт, што ўсё, што трэба некаторы
праграмны доступ.
>> Як у баку, мае самыя блізкія сустрэчы з Дошка аб'яў, свой год пачаткоўца,
было, калі я выявіў гэты халаднаватае трук, які, нічога сабе, вы можаце
адпраўляць электронную пошту ад каго.
І так у нас былі некаторыя дурныя Аргумент, літаральна, у Matthews,
Сярод маіх Проктор групы.
Я нават не памятаю, чым была праблема.
Але я хацеў, каб паспрабаваць пакласці канец гэтай дурной дыскусіі.
>> Так што я вырашыў, што мне будзе проста адправіць па электроннай пошце да маёй групе Проктор, прыкідваючыся
Іншы хлопец, з меркаваннем якіх я не згодны, і мець яго пагадзіцца на
усё, што маё меркаванне было ў дадзенага абмеркавання.
І таму я кованых гэта паведамленне, паказаўшы Тэхніка падобныя па духу на гэта.
Але гэта было на самай справе прасцей ў той час.
Націсніце адправіць.
Ён не быў задаволены, і пры гэтым былі Дошка аб'яваў.
>> І я быў вельмі хутка злавілі ў секунд, таму што, як вы ведаеце, я падпісваю
мае электронныя лісты, у пэўным сэнсе.
І хоць я рабіць гэта ўручную, у вялікіх часткі, праз 15 гадоў, таму што я быў
траўмаваныя гэтым.
У мяне няма подпісы на маю электронную пошту цяпер.
Але ў 1995 годзе ў мяне проста было SIG, подпіс у маю электронную пошту.
Так з'явілася гэтая запіску: Дарагі Проктор групе, я пагадзіцца маё меркаванне
і пагадзіцца з Давідам, так і падпісаныя Такім чынам, новая лінія, новая лінія, DJM.
>> Так што не рабіце гэтага ці, увогуле, прыняць Перавага гэтага метаду.
Але пры стварэнні вэб-сайта, як, ваш канчатковы праект, пры прыняцці
сайт нешта прадпрымальніцкай, Вось як, прагматычна, вы можаце
прыцягваць іншыя паслугі ў Інтэрнэце , Такія як пошта, а затым фактычна
адправіць рэчы з дапамогай кода.
>> Так як мы можам палепшыць гэта?
Ну, па-першае, давайце кароткі агляд некаторыя з рэчаў, якія вы ўбачыце,
, А затым зірніце на Некалькі прыкладаў.
Так што, каб супакоіць, таму што мы ляцім праз PHP.
І я ведаю, у нейкі момант, вы будзеце мець на самай справе пачаць пісаць гэта, калі вы
яшчэ не зрабілі.
Зразумейце, што, адзін, асноўны добры з з акна з PHP.
Калі вы хочаце напісаць код, які атрымлівае выкананы, Вы проста пачаць пісаць яго ў
файл з імем. PHP таго часу, пакуль ў вас ёсць якая адкрывае дужка
Пытальнік PHP тэга.
>> Але звярніце ўвагу, гэта ўмовы ў PHP.
Звярніце ўвагу, гэта сапраўды такі ж слайд мы мелі ў адзін тыдзень, калі ў нас былі
Ва ўмовах C. Умовы ў PHP структурна і
сінтаксічна тое ж самае.
Адзінае адрозненне ў тым, калі ў вас ёсць зменных фактараў, у вас ёсць такія
знакі даляра.
>> Між тым, лагічныя выразы выглядаюць гэтак жа, як гэта на працягу
або-або і Ing-Ing разам.
Перамыкачы выглядаць дакладна гэтак жа.
Што прыемна ў PHP, тады як у C, перамыкачы павінны быць справы па
прымітывы, як цэлыя або сімвалы ў PHP Вашыя выказваньні выпадку сапраўды можа быць
на цэлыя радкі, якая на самай справе збольшага добра.
Эканоміць ваш час.
Не мог зрабіць гэтага C.
>> Вось цыкл у PHP.
Ён ідэнтычны.
Магчыма, некаторыя знакі даляра зменных.
Вы не павінны адзначыць, што нешта Int.
Вы проста аб'явіць яго са знакам даляра і імя зменнай.
Але для цыклу тое ж самае.
Час цыкла тое ж самае.
Рабіць падчас цыклу заставаўся нязменным.
>> Гэта крыху іншае.
Так што з PHP, з масівам, можна статычна абвясціць масіў, як і ў C,
але вы выкарыстоўваеце квадратныя дужкі.
У C, вы павінны выкарыстоўваць фігурныя дужкі, Калі вы нават не ведалі, што.
Але гэта на самай справе вельмі распаўсюджаная ў PHP абвясціць масіў, у дадзеным выпадку,
нумароў і выклічце нумары зменных.
>> Самі зменныя выглядаць наступным чынам.
Вось радок, у двукоссі "прывітанне свеце ". Вы маглі б зваротную касую рысу N.
Я проста не ў гэтым выпадку.
>> Зараз гэта цікавая канструкцыя.
C не мае гэтага.
Але гэта супер карысна.
І вы ўбачыце гэта ў наборы 7 P спецыфікацыі - для кожнай канструкцыі.
Калі вы хочаце паўтарыць над усімі элементы масіва, вам не прыйдзецца
мець справу з $ I $ і N, і + +, і ўсё такое.
Вы можаце літаральна скажам, у PHP, гэта -
Для кожнага колькасці як колькасці, так што Я мяркую, што $ нумарамі
з'яўляецца масіў лікаў.
І калі я кажу для кожнага нумара як нумар, гэта будзе
аўтаматычна, як мой цыкл выконваецца, абнаўлення, на кожнай ітэрацыі значэнне
Усярэдзіне даляра знак нумары -
зноў, і зноў, і зноў хада для мяне за гэты масіў.
Так што ён проста ратуе нас кода.
Няма коскі, няма + + ', ці не I, N не, гэта не проста прыемна.
>> Але PHP таксама мае гэтую.
І гэта супер магутны.
І вы будзеце выкарыстоўваць гэта, рукі на, у P усталяваны 7.
І асацыятыўны масіў таксама абвешчаны ў квадратныя дужкі.
Але звярніце ўвагу на сінтаксіс цяпер.
Гэта нагадвае тое, што мы бачылі print_r з хвіліну таму.
Колькі клавіш, а трохі праверкай на стан сьвядомасьці, гэтая масіва, здаецца, ёсць.
>> Так яно мае два.
І я называю гэта масіў.
Але калі гэта дапаможа, вы можаце думаць пра гэта, як хэш-табліцы або ў выглядзе
асацыятыўны масіў.
Але гэта проста іншы тып масіва.
І зноў жа, розныя мовы ёсць гэтыя.
Мы ўбачым нешта падобнае У JavaScript, а таксама.
Там дзве клавішы.
Адным з іх з'яўляецца ў двукоссі, "сімвал", адзін двукоссях «кошт». І гэтыя ключы
кожны мае значэння.
У гэтым выпадку значэнне сімвала з'яўляецца FB, для Значэнне facebook, і цана складае 49, 26,
які быў са Facebook, цана на сённяшнюю раніцу.
>> Так што ж такое карыснае аб асацыятыўны масіў.
Я, магчыма, была колькасна індэксавацца масіў з дапамогай ўсяго
простыя квадратныя дужкі.
І я, магчыма, быў знакам даляра цытата роўна менавіта гэта.
Дазвольце мне гэта зрабіць.
Выкажам здагадку, што я замест гэтага проста абвясцілі гэты масіў падобнага.
Гэта цалкам дапушчальна, сінтаксічна.
Гэта не прыводзіць да страты інфармацыі, такой.
Я ўсё яшчэ бачу, што сімвал з'яўляецца FB, і што цана 49, 26.
Дык чаму ж асацыятыўным масіваў пераканаўчым?
>> Залы: Вы не павінны памятаць, дзе вы паклалі рэчы.
>> Выступоўца 1: Сапраўды, у вас няма каб успомніць, дзе вы паклалі рэчы.
Вы не павінны адвольна запомніць што сімвал акцыі знаходзіцца ў кранштэйне нуля,
і цэны на акцыі знаходзіцца ў адным кранштэйне, што асабліва небяспечна, калі вы
змяніць становішча рэчаў, у рэшце рэшт.
Гэта значна прыемней асацыяваць што мы будзем называць метададзенымі
з фактычнымі дадзенымі.
Я б сцвярджаць, што тое, што мы сапраўды клапоцімся пра вось і FB 49, 26.
Знак і цана метададзеных якая апісвае дадзеныя, якія мы
на самай справе хвалюе.
Але гэта толькі так лягчэй атрымаць доступ.
>> Зараз, як у баку тое, што цану мы плацім?
Мы рабілі гэта ў CS50 на працягу многіх тыдняў.
Гэтая функцыя павінна прыйсці ў некаторых выдаткаў.
Памяці.
Значыць, вы не проста захоўваць 32-бітныя цэлае, напрыклад.
Вы захоўваеце сімвал / 0, напэўна.
Так вы выкарыстоўваеце больш памяці.
>> І тое, што прадукцыйнасць шукае нешта ў
асацыятыўны масіў, напэўна?
Гэта, верагодна, больш павольна.
Адвольны доступ добры, асабліва калі вы можаце зрабіць бінарны пошук.
Але калі вы на самой справе цяпер не шукае для лікаў, але для радкоў, гэта
сапраўды рэалізуецца пад капот, верагодна, у хэш-табліцы, дзе
Вы выкарыстоўвалі альбо хэш-табліцы з асобнай ланцужкі.
Ці вы карыстаецеся спрабуюць на самай справе захоўвання значэнняў.
Таму, магчыма, вы можаце зрабіць пастаянным часам, але Вы ўсё яшчэ павінны глядзець на S-Y-М-У-О-L,
патэнцыйна, а не толькі 32 Біты шукаць што-то.
Такім чынам, яшчэ раз, тыя ж ідэі бліжэйшыя Рэзервовае паўтарацца ў гэтым кантэксце.
>> Але, зноў жа, PHP цяпер мае некаторыя супер глабальныя, што, аказваецца, з'яўляюцца
асацыятыўныя масівы.
Мы бачылі адну хвіліну назад, $ _POST.
І гэта супер глабальнага мае ключоў і значэнняў.
У прыватнасці, клавішы выбудоўвацца з чым?
Дзе ключы ў $ _POST ўзялося?
Проста, каб рэзюмаваць?
>> АЎДЫТОРЫЯ: Імя.
>> Выступоўца 1: Імя, дзе?
>> АЎДЫТОРЫЯ: [неразборліва]
>> Выступоўца 1: Імя з'яўляецца атрыбутам.
Ну дзе, дзе яны першапачаткова ўзялося?
Форме.
Так што, калі HTML старонцы тэга формы, усярэдзіне якога знаходзяцца некалькі ўваходаў, як
сцяжкі, тэкставыя палі, выпадаючыя меню, кожнае з якіх мае назву, гэтыя
імёны ў канчатковым выніку ў якасці ключоў у $ _POST, і, шчыра кажучы, у гэтым дачыненні, $ _GET.
Калі метад GET, той жа ідэі.
Гэта проста ў іншым супер глабальным.
І значэння, вядома, зыходзіць ад усё, што карыстач уводзіць у яго ці
яе браўзэрам.
>> Але ёсць некалькі іншых.
Там у печыва, якія мы вярнуцца ў рэшце рэшт.
Але тыя рэчы, якія вы ведаеце, Вэб выкарыстоўвае для некаторых дабро ці зло.
Але мы яшчэ вернемся да гэтага.
Сервер і сесіі, і гэтыя два ёсць адмысловая ўтыліта.
>> Але давайце зірнем на гэта.
Дазвольце мне ісці наперад і адкрываць прыклад Так званыя mvc0.php MVC
азначае наступнае.
І ўвядзем гэта раней, чым тыповыя, на самай справе, каб вы праектаванні
Архіў задач 7, а таксама канчатковыя праекты, У родзе прамысловасці
стандартным спосабам, і чыстым спосабам.
Гэта добры дызайн.
>> Такім чынам, вы зараз ўбачыце, і вы будзеце вопыту, у наборы 7 P, парадыгма, адсартуйце
праграмавання мыслення, які выглядае трохі нешта накшталт гэтага.
Для мадэлі M, C для кантролера, V для прагляду.
Карацей кажучы, MVC з'яўляецца толькі часткова метадалогіі, спосаб зрабіць
вэб-сайтаў, у прыватнасці, у якім вы паставіць усе свае, дурныя фразы -
бізнес-логіка -
ўсе вашы інтэлектуальнай уласнасці ў тое, што называецца кантролерам, файл
як index.php, ці мы ўбачым, quote.php або buy.php.
>> У кантэксце праблемы набору 7, ваш мадэлі звычайна ўтрымліваюць дадзеныя,
усё, што звязана з базай дадзеных, як будзе у канчатковым рахунку бачыць, і вашы погляды
нясуць у сабе эстэтыку вашага сайта, HTML, CSS.
Такім чынам, мы ўжо бачылі гэта ў C трохі біт з дапамогай. г файлаў.
Мы сапраўды бачылі яго некалькі хвілін назад з CSS, па факторынгу стылізацыі CSS
рэчы з нашых HTML.
>> Так MVC сапраўды толькі аб маляванні лініі на пяску і сказаць,
цікавы праграмны код для Вашага сайт належыць у тым, што мы будзем называць
кантролера.
Рэчы, звязаныя з базай дадзеных звычайна заканчваецца ў мадэлі.
Але вы ўбачыце, у Архіў задач 7, зліццё C і M, каб захаваць яго простым.
Але выгляд, дзе ўсе вашы HTML і эстэтыкі звычайна праходзяць.
>> Дык што ж гэта азначае ў рэальным выразе?
Ну, дазвольце мне пайсці ў наш MVC каталог наступным чынам.
І вы будзеце бачыць больш гэтых аб'ездзіў ў спецыфікацыі.
Такім чынам, у mvc0, я сцвярджаю, што гэта, быццам бы, версія 0 сайтаў CS50 аўтара.
>> Усё ў нас ёсць некаторыя HTML, як і вялікая тэгі h1, па-відаць.
А потым маркіраванага спісу.
Я ніколі не бачыў маркіраваны спіс раней, але не склала вялікай працы.
Давайце хутка паглядзім на зыходны код.
Аказваецца неўпарадкаваных спіс з кулямі адкрыты вул кранштэйн з адным ці
больш элементаў спісу, Лі.
Так Указанне Тут тэга прывязкі.
Мы бачылі, што некалькі хвілін таму.
>> Так што гэта, як я рэалізаваў гэтай старонцы.
У мяне ёсць дзве спасылкі, два элемента спісу, адзін уль для неўпарадкаваных спіс, а канец
Вынік, эстэтычна, гэта вельмі даволі сайта, версія 0 тут.
Але што цікава, у тым, як гэта рэалізуецца пад капотам.
>> Адпусціце мяне ў Gedit і адкрыць гэтую самым першым прыкладзе, каб намаляваць карціну.
І мы будзем глядзець на тое, што недахопы, патэнцыйна, тут.
Цяпер, калі я іду ў лакальны, грамадскіх, MVC, заўважыць некалькі файлаў.
Я буду называць гэтыя, для момант ўсе кантралёры.
Але гэта крыху, таму што аб парушэнні Вы ўбачыце ўсё ў мяшаным
ўнутры іх.
>> І адпусьціў мяне ўнутры index.php.
І мы бачым, у літаральным сэнсе, тое ж HTML.
Таму, нават калі гэты файл заканчваецца . PHP, гэта не азначае, што ён павінен
ёсць PHP кода.
Гэта можа быць проста сырой HTML, хоць гэта глупства.
Але звярніце ўвагу, няма якая адкрывае дужкі PHP тэгаў, за выключэннем гэтай, якая, шчыра кажучы,
толькі там, каб служыць у якасці каментара.
Але гэта не функцыянальна нават тое, што цікава.
>> Але заўважыць гэта.
Што цікава, пра тое, які змены на гэтай старонцы.
Дазвольце мне націсніце лекцый.
І звярніце ўвагу на URL вось-вось зменіцца.
Цяпер я ў lectures.php.
Дазвольце мне націсніце нуля.
Цяпер я ў week0.php А цяпер мне адкрыць гэтыя файлы ў Gedit.
Не толькі індэкс, але няхай мне адкрыць лекцый.
І дазвольце мне пазбавіцца ад каментароў засяродзіць увагу на гэтай частцы толькі.
>> А цяпер дазвольце мне адкрыць яшчэ адзін, week0.php, выкінуць каментары,
проста ачысціць гэта.
А зараз звярніце ўвагу на наступнае.
Мысленне сапраўды роду старанна аб дызайн, і давайце зробім гэта лінія
на тое ж самае, што можа быць зроблена лепш тут, як вы думаеце?
>> Як я зрабіў адну тыдзень?
Як наконт гэтага.
Дык вось як я зрабіў адну тыдзень.
Я падышоў да File, New, Уставіць, Захаваць, week1.php, а затым я пайшоў сюды.
І я змяніў адзін -
што гэта быў за, адзін па пятніцу.
Я змяніў нулі да аднаго.
Я змяніў гэта аднаму.
>> Такім чынам, зараз паглядзіце на мае файлы.
Што можна было б зрабіць па-іншаму?
Дзе магчымасць, ці што?
Такім чынам, ёсць магчымасць пачаць факторынг гэты матэрыял.
Дазвольце мне адкрыць, як спойлер, для тое, што вы ўбачыце ў мноства Р 7.
Калі я адкрываю, у цяперашні час, у версіі index.php пяць з гэтага, гэта выглядае шлях
больш загадкавага, па агульным прызнанні.
>> Але гэта, у цяперашні час, з'яўляецца тое, што я пазваню кантролер, які па кантролі за
Логіка мая старонка.
І вы можаце рэканструяваць выгляд, Інтуітыўна, мабыць, тое, што адбываецца.
На першай лініі, гэта трохі загадкавым.
Але заўважце, я якія патрабуюць, як з рэзкае ўключаюць, файл з імем
helpers.php.
І тады я тэлефаную, па-відаць, функцыі, званай візуалізацыі, перадаючы
два аргументу.
>> Адным з іх з'яўляецца двукоссі, загалоўка.
А іншы, які Тып дадзеных гэтага, на аснове
на нашым сінтаксісе раней?
Гэта асацыятыўны масіў.
У прыватнасці, гэта які праходзіць у назве з некаторымі метададзенымі, які нагадвае
мне, што гэта і яго значэнне.
Потым я бачу жорстка UL, таму некаторыя волкія HTML.
Але тады я вярнуўся ў рэжым PHP выкліку функцыі візуалізацыі.
Так што нават калі вы ніколі не выкарыстоўвалі HTML або PHP раней, і нават калі гэта выглядае
страшней, чаму гэта, верагодна, лепшы дызайн?
Што можа быць лепш пра гэта, на аснове высноваў?
>> АЎДЫТОРЫЯ: [неразборліва]
>> Выступоўца 1: меней выяўленыя, што ў няма больш HTML тэгаў, не больш
кіраўнікі тэгаў, не больш за цела тэга У кожны пракляты файл.
Замест гэтага, у мяне вынесена супольнасцяў і, як мяркуецца, пакласці іх
ў файл ці інакш звязаны да загалоўка.
І тое ж самае для блізкіх цела Тэг, цесная HTML тэгаў.
Гэта, напэўна, тут ўнутры ніжняга калантытула недзе.
І вы ўбачыце, у Архіў задач 7, невялікі тур праз гэта.
>> Такім чынам, што чакае наперадзе?
Адзінае, у нас няма магчымасці ўсё ж для з'яўляецца захоўванне дадзеных.
І так, што мы пачынаем бачыць Асяроддзі, напрыклад, у тым, што ваш
Стары сябар Excel, або лічбы, дазваляе захоўваць вялікая колькасць
дадзеныя ў радкі і слупкі.
Аказваецца, што вы можаце зрабіць гэта ў тое, што называецца базай дадзеных, праграмнымі сродкамі.
маніякальна І аказваецца, пасля гэтага, мы будзем мець магчымасць захоўваць рэчы, як
гэта, што вы будзеце бачыць зноў у камплекце P 7, цэлую кучу імёнаў карыстальнікаў і
паролі, апошні з якіх на самай справе зашыфраваны, гэтак жа, як яны
былі ў хакерам выданне P набор 2 ст.
І ў рэшце рэшт, вы будзеце ажыццявіць гэта, уласны ETRADE-сайт, які, як
рэалізуе калектыўна CS50 фінансаў.
>> І нарэшце, паколькі Вы тут спыняліся так позна Сёння, калі вы вернецеся да гэтай часткі
кампуса, у 4:00 вечара сёння, мы будзем даць вам не толькі радай, у SCES
Кансультаванне кірмаш, у 4:00 вечара ў Максвелла-Дворкін, мы дамо вам некаторыя
Americone Мара, Cherry Garcia, Шакалад Fudge Brownie, Шакалад
Chip Cookie цеста, і, калі вы Google Каржакаваты Малпа, вы атрымаеце гэта.
Так што ўсё, што чакае ў 4:00 PM У Максвелла-Дворкін.
Убачымся ў сераду, а таксама.
>> Дакладчык 2: На наступным CS50, RJ спіць цалі
>> RJ: Мой профіль!
Ха!
О,