JASON Hirschhorn: Welcome всеки да седмица осем. Ние имаме една вълнуваща седмица напред от нас. Вие, момчета, сте се гмурнаха в това минало двойка от лекции на PHP, SQL, HTML, CSS, така че четири чисто нови езици, които се случват да поемат останалата част на този курс. Ние също така ще научите няколко други езици преди края на курса. Но така или иначе, няма нужда да казвам, че това е много вълнуващо време в CS50, сега можете са усвоили C, уж, и са да преминат към програмиране за уеб сайтове. Така че тази седмица, ние ще продължим вихрушка турне през четири езици току-що споменах, HTML, CSS, PHP, и SQL. И да се надяваме, че ще напусне изобилие от време в края на раздел, за да говори за тази седмица P набор и отговор някакви въпроси всичко, което имат. Всяка седмица, на същия списък на ресурсите за вас, за да ви помогне с седмицата проблем поставя и ще над материала - но тази седмица по-специално за тези уеб-базирани проблемни комплекта, има множество други ресурси от там, че най-вероятно ще намерите невероятно полезно. Аз ги имам тук. Ще ви изпратим имейл, след това раздел, и това също да бъде на линия. Но по-специално, има много на големи ресурси там. Има и някои не толкова голяма, такива, така че да се притесняват от тези. Но на този слайд, имам четири добър ресурси, по един за всяка от езици, които ще се работи с тази седмица - един референтен лист за HTML, референтен лист за CSS. Това право тук е ръководството на PHP. Така че, вместо да пишете мъж и после PHP команда, това е мястото, където бихте отида да гледам на функция прототип и примери, както и някои съвети и трикове за използване на PHP функции. Вие ще използвате този сайт често, така че аз ви насърчавам да се превърне запознат с него. Тя може да бъде малко по-технически, но тя също осигурява тон на ресурси и примери за всички функции, и Дори и другите, като например как да използвате масиви или различни видове променливи. Този сайт е много полезно за PHP. И тогава, за SQL, ако се гмурна в тази Седмица проблем комплект, вие ще знаете, че ние сме с помощта на база данни. И ние достъп до тази база данни чрез сравнително хубав потребителски интерфейс. Или това е един от начините да достъп тази база данни. Потребителският интерфейс е нарича PHPMyAdmin. Има един раздел SQL, които ние ще погледнете по-късно днес. И вие можете да въведете в своята извадка SQL заявки, да правят неща във вашата база данни и след това да изпълните тези запитвания. И ако те са верни, това ще се каже, правилно този е. Ако те са неверни, това ще да речем, че е невярна. Това е страхотно място да се упражнявате SQL заявки преди написването им в вашия код, за да сте сигурни имат формата правилна. И накрая, един друг сайт тук. Това е страницата, където можете да отидете и да проверите, за да се уверете, че HTML код е валиден. Така че, преди да включите вашите проблеми настроите тази седмица, се уверете, че всички Вашата HTML е валиден. Миналата седмица, ти беше избягал valgrind, да уверете се, че не е имал пропуски в паметта. Тази седмица, трябва да се уверете, че всички на вашия код е валиден HTML5. Ако това не е валидно HTML5, ти си ще получите точки разстояние. Така че не забравяйте - просто защото тя работи не означава, че е напълно валиден. Направи свой код чрез този сайт преди да го включите инча Отново, тук е на сайта. Ако имате някакви отзиви за мен, ние имаме още няколко секции наляво, и аз винаги искам да правя това, което мога, за да всички ви предоставим най-добрата част изпитате възможно. Така че позволете ми да знам, ако има нещо, което мога може да направите, за да подобри или ако са налице неща, които виждате, че бих могъл да направя по-добре. Благодаря ви, Ави. Сложете го на сайта. Това е мотора имах, когато е, да речем, четири у дома. Това е Teenage Mutant Ninja Turtle каране на колело, в случай, че не мога да кажа, защото това е малко неясно. Можете да го получите сега в ToysRUs за, мисля, около $ 100. Но характерно за този мотор, че аз искам да се обърне внимание, са тези точно тук. Това са колела за обучение. До сега, вие сте били ръчен чрез C. И сме взели дълго време, два месеца плюс, да мине през C. За тях следващата двойка на езици, ние няма да прекарат толкова много време. Колелата на обучение са идващи. И ние ще се потопите в тях езици бързо и се движи през ги бързо, което не е да се каже, че ние просто ще ви оставят плуване там с никакъв начин да подкрепят себе си или да разбера как тези езици работят. Аз просто ви показва списък на ресурси, за да ви помогне. Но имайте предвид, че PHP е невероятно подобни на C. Ще отидем то днес и някои от разликите. Но за по-голямата част, има за вериги. Има, ако условията. Когато искате да разрешите проблем, ти започваш да се използва комбинация от тях. Тя е много подобна. Логиката трябва да бъде много подобен на това, което сте правили в миналото. Какво е наистина ново тази седмица е синтаксис и как да изразиш себе си. И вие искате да пиша за линия, но тя може да изглежда малко по-различно. Или искате да се създаде масив, но това може да изглежда малко по-различно. Така че имайте предвид, че, движейки се напред, логиката е много подобно на това, сте направили в миналото. Но сега ще трябва да се натъкват на много нов синтаксис. И ние няма да ви преведе през всички елементи на синтаксис. Така че това е наистина зависи от вас, за да разбера, онлайн или чрез достигане на Обсъдете или ми изпратите имейл или да говорите с един друг, как да пиша неща в PHP и как да пише SQL заявки и как да използвате HTML и CSS. Но само да знаеш, че не е толкова ние се опитваме да ви хвърлят някъде там отново, за да плуват акули. Това е, което най-вероятно ще се направи с окончателния си проект, ако изберете различен език, като IOS и Objective C, или ако решите да започнете програмиране в бъдеще и потопите в други езици, като Python или Ruby. Често, логиката е много подобен по отношение на тези езици, и синтаксис е това, което е различно. И това ще бъде до вас, тъй като програмист, за да отидат да използвате в интернет налични и фигура ресурси как да изразя това, което вие знаете как да се изрази в C, в различен език. Така че това е добра практика, както за вашата окончателния проект, и отново, за това, което най-вероятно ще направи след като напуснете CS50. Преди да продължим нататък, има ли някой имате някакви въпроси за това какво Аз съм правил досега? Чудесно. Нека продължим. Първо, ние ще говорим накратко относно командата CHMOD. Това, което ще направя в началото на вашите проблеми настроен. Един от първите инструкциите за вас, след като изтеглите разпространение на кодове, е да се промени разрешенията на файловете и директории, които получавате. Някой може ли да се направи предположение или знаят защо е важно да се промени разрешения на определени файлове и директории на вашия компютър? Ави - ПУБЛИКАТА: Тогава никой освен за можете да видите това, което правиш? JASON Hirschhorn: OK. Така че, ако искаме да се сложи нещо на Мрежата и сте задали разрешения, които само вие можете да видите нещо, тогава никой друг не може да видим какво сте създали. Какво друго? Да. ПУБЛИКАТА: Предотвратяване някой друг, който Не искам да видя нещо, от виждам нещо. JASON Hirschhorn: Това е вярно също. Сигурно има някакъв код, който пишете, че не правя Искам хората да видят. Вие вероятно сте ОК с хора виждат Вашата HTML и вашето JavaScript. Но вашата PHP, а обратно края код, много логиката на кода си, може би неща, които съхраняват някои от вашите пароли за вашата база данни, не знаеш Искам хората да видят, че тип информация. Така че е важно, че всеки файл и указател ние създаваме има разрешение приложимо за това дали или не искаме хората да видят тези типове файлове и директории и да бъде в състояние да имат достъп до тях и потенциално дори да ги променят. Така че има три вида на разрешения. Има разрешение за четене, което означава, можете да прочетете на файл или списък съдържание на указателя. Има разрешение за запис, който означава, че можете да промените във файл или промяна директория и след това изпълни разрешение, което означава, че може да изпълнение на файл или по-скоро, вие може да се движи в една директория. Така CD нещо, ако имате разрешение да го изпълни, можете да преместите в тази директория. Това е кратък пример. Отново сте преминали през този в определен проблем. Но аз се създаде директория с командата защитен режим. I промените разрешенията. Тези две линии всъщност правят точно същото нещо. Това е, за да се убедите, че синтаксиса за промяна на разрешения, дали правиш А + X или 711, които са едни и същи. Ние погледнете надолу към тази хубава маса. Виждаме, че има потребител разрешения първи. Че си, индивидът е, и вашия сървър, потенциално. И тогава там е група и др. Разликите между тези две са сравнително тривиално. Така че, като цяло, ние ще еднократни тези заедно. Но по същество, ако имаме файл наречен включва, че ние искаме да бъдем могат да се редактират и че искаме другите да бъдат в състояние да изпълни, това е разрешението 711. И ние виждаме, че надолу тук, в тази таблица. Ние имаме за четене, писане и изпълнение. За всеки един от нас, ние искаме да да бъде в състояние да направи тези. Group и други, ние само искаме тях, за да бъде в състояние да изпълни. Начинът, по който превежда, че в редица разрешение е чрез двоичен. Така че, ако имаме три такива, това е едно в колоната за такива, а един в двойки колона, колона 1 на четворките. Това е седем точно там. И това разрешение е 1. Това разрешение е 1. Така 711, когато е същото като дава се чете, пише и изпълнява, и всички останали изпълни привилегии. Тази линия точно тук, ние по принцип ще четат и пишат, когато ние създаде директория. Така че тази линия тук просто добавя изпълни привилегии за всички. Така че това би означавало да, в допълнение към това, което имаме, добавяне на 1, 1, 1 на всеки. Има предвид, че това, че е ненужно да добавите четат и пишат. Но ако ти започваш да се използват цифрите, не може просто да добави нещо. Можете презапишете каквото разрешение бяха там и ги прилага с новите номер ти дам. Това беше доста бързо. Дали някой има някакви въпроси за промяна на разрешения? OK. Ако имате файл с PHP, какви разрешения искам тя да има? Това е проблем в комплект спец.. Така че можете да погледнете в спецификациите и после ми прочете отговора. ПУБЛИКАТА: Вие искате потребителят да Прочетох-запис. И вие искате всички друго да има нищо. JASON Hirschhorn: И това, което номера е, че? Публика: 600. JASON Hirschhorn: 600. Така CHMOD 600 - всеки път, когато печатате файл, PHP, тя CHMOD 600. OK. Имам една директория. Някой освен Jeff, Имам папка с файлове. Какви разрешения искам да се даде на тази папка - също в проблема избран спец., непосредствено под този отговор или предишния отговор? Също така потенциално в слайда - Marcus. ПУБЛИКАТА: за папка, това е 711. JASON Hirschhorn: 711 - така папка, което искате да дадете 711. Вие искате да бъдете в състояние да прочете тази папка, промените директории, се премести в тази папка. И вие искате всички останали, за да може да се ориентирате в тази папка, но не е задължително да се променя съдържанието му. Ами файл не-PHP, казват, файл с JavaScript? Какви разрешения искаме да се даде този тип файлове? Публика: 644. JASON Hirschhorn: 644 - Защо искаме да го дам 644? ПУБЛИКАТА: За да позволите на други хора да го прочетат. А ти чете или пише тя. JASON Hirschhorn: Така Добре, всички друго не може да се чете, че JavaScript файл. И вие можете да промените това, в допълнение да е в състояние да го прочете. Така че едно от най-честите бъгове хората имате с този проблем и за тяхното окончателния проект, ако това е уеб-базиран окончателното проект се, те няма да са създали правилните разрешения. И те няма да са в състояние , за да видите техния уебсайт. Или определена част от техния уебсайт. Така че се уверете, че сте настроили разрешения правилно. Недейте просто да се предположи, че тя ще го направи автоматично вместо вас. OK. Това беше една малка нещо, което сме прекарали една добра сума от време на, така бихме могли да го заковем. Нека да преминем към HTML. И отново, за тези следващите четири теми, ние ще мине през тях относително бързо. Така че, моля, чувствайте се свободни да ме спреш по всяко време, ако имате някакви въпроси, независимо дали те са свързани с това, което покрива или нещо от лекция или дори и от задаване на проблема. Спри ме, когато имате нужда да. Когато стигнем до края, ние просто ще начало става над набора проблем. Така че HTML е съкращение от HyperText Markup Language. Това не е език за програмиране. Всичко, което прави, е да структура вашето съдържание и също така предоставя някои метаданни. Така например, се предполага, че много от сте използвали Facebook преди. И вие можете да се включват връзки в, или може да поставите връзка, както си статус. И след това, ще забележите, че връзката винаги има хубава снимка да и текст. Обикновено, това е метаданни за дадена уеб страница. И това е Facebook-специфична метаданни. И тогава, когато Facebook е, че четене страница и вмъкване на този линк, той търси конкретната метаданните, така че знае какво изображение да се покаже, какво заглавие за да се покаже, и това, което абстрактен текст, за да се покаже. Така че ние може да включва метаданни с нашата уеб страница, използвайки HTML. И това също ни помага структура съдържанието, като цяло, което ние искаме да отидем там, където. Всичко в HTML е елемент. И елементи точно тук - този CS50, текст, е елемент. И тя има някои тагове. Той има този етикет. И ние забелязваме, има А в началото и след това с наклонена черта, така затваряне на един етикет в края. Понякога, там не е открита тагове и близък маркер. Има само едно нещо. Ще видим пример за това на следващия слайд. Така че не е нужно един отворен и близък маркер. Но за това, ние обгръщащ този CS50 елемент в една котва маркер. И по същество, тези тагове разказват браузъра какво да прави с конкретния елемент. Така че отново, CS50 е текстът ние ще видим. И това ще бъде тип котва. Anchor се използва по същество за връзки с нещо. По-специално, колкото можете вече кажа, че това е връзка към началната страница на CS50. Следващата част от етикет - или общо част от етикети, които са атрибути. И ние виждаме точно тук, че на етикет има едно атрибут, това HREF атрибут. И те променят конкретен етикет. В действителност, ако отидете на един от уебсайтове или препратките, които ти дадох преди или запознаете с етикет онлайн, вие ще забележите, че има тон на потенциални атрибути. Това е може би един на най-често срещаните. Това ми казва, за да създадете обвърже с конкретната сайта. И атрибути обикновено са дадени, ако не е дадена изключително, по двойки ключ-стойност. Така че тук е ключът, Href. И стойността е това тук. И това ще дойде по-удобно по-късно, когато започнете да използвате някои библиотеки, за да ни помогне код в JavaScript или пишете HTML съдържание. Ние често се случва да бъде - точно като нас ще направи масив скоба 0 и че ще ни даде някаква стойност. В бъдеще ние ще се прави много неща като нещо скоба HREF. И това ще ни даде стойността на HREF, или ако искаме да се актуализира Href ключ и след това да го даде определена стойност. Така че, точно като с масиви, където сме имали ключов 0 или клавиш 1 или ключ 2 или дори с хеш таблица, добре, с вашите хеш таблици , както и, най-вероятно е имал - това е масив, така че ключ 0, 1 ключ, ключ 2. Индексът там, ние можем мисля за това като ключов. И стойността е това, което се съхранява там. Всички тези характеристики са двойки ключ-стойност. И това е важно за промяна тях или да ги променяте или ги поставите по-късно. И накрая, вие сте виждали тази структура и преди, но това е най-основните структура на HTML страница. На върха, ние ви кажа, че това е в действителност HTML. И след това имаме един отворен HTML тагове и близък HTML тагове. Така че всичко вътре в това е HTML. Ние виждаме на главата и тялото. Ръководителят на вашия документ обикновено включва какво? Някакви предположения за това, което сложи в главата? ПУБЛИКАТА: Слагаш заглавието и стил. JASON Hirschhorn: Заглавието. Това беше голям предположение. Може и да съм ви предупредил за. Какви са някои други неща? Ние, споменати по един от тях, че може да отиде в главата. ПУБЛИКАТА: Той каза, стилове. JASON Hirschhorn: Styles - така че ако искате да се свържете в JavaScript или дори на CSS, което ти говориш за когато говорим за стилове. Друг файл, който искате да свържете в едно извън файл, който вероятно ще става в главата. Какво друго? Ние, споменати няколко пързалки Преди едно от нещата, които HTML може да направи за вас. Тя може да осигури - започва с М - ПУБЛИКАТА: Metadata. JASON Hirschhorn: Metadata - толкова много на метаданните ще отиде в главата, тъй като това не е задължително трябва да бъде част от тялото на вашия код. Това е като цяло - тялото е съдържание, което вижда някой. И така, аз просто раздал отговора до следващия ми въпрос. Но в организма е цяло съдържанието че ще бъде показана на уеб страницата. Както ще видим, сложни уебсайтове са склонни да общувам или да промените това, което те поставят в главата и тялото. Но като цяло, главата съдържа неща че потребителят няма да виждате на екрана. Тя свързва в други файлове и предоставя метаданни. Като има предвид, тялото съдържа всичко потребителят ще види. Имаш ли представа какво означава това р маркер? ПУБЛИКАТА: Параграф? ПУБЛИКАТА: Print. ПУБЛИКАТА: Не означава печат. ПУБЛИКАТА: Това означава ли, параграф? JASON Hirschhorn: Параграф - така че това е параграф. И това р етикет, аз може просто въвели това на екрана и след това включен нов ред в края на това. Някой знае ли как да се включат нов ред? ПУБЛИКАТА: PR - JASON Hirschhorn: PR - ПУБЛИКАТА: Slash PR? JASON Hirschhorn: PR наклонена черта щандове за нов ред. Но параграфи имат специфичен форматиране. И ние ще стигнем до форматиране в второ, когато говорим за CSS. Но всичко вътре в тези р тагове ще има някои форматиране по подразбиране свързани с него, вероятно някои отстояние между различни параграфи. И това ще бъде един от начините да се направи разграничение блокове от код. Всякакви други етикети - какви са другите етикети, които сте виждали? JASON Hirschhorn: h1 чрез h6. h1 чрез h6, и какво е това? ПУБЛИКАТА: Това ще обозначи колко голям и смели буквите са. JASON Hirschhorn: Точно така, тя стои за заглавна част. И така header1 е голям удар с глава. Той най-вероятно ще, по подразбиране, бъдете смели, а голям размер на шрифта, вероятно в центъра на екрана, по целия път надолу до h6, който е по-малък размер на шрифта, по-малко подчертае. Разбира се, вие можете да сте в CSS файл или някъде в кода си - която, отново, ние ще стигнем до това в секунда - промени това, поведението по подразбиране на тагове h1 е. Но имайте предвид, че Chrome, Safari, Firefox, Internet Explorer всички имаме подразбиране изглежда за много от тези стандартни тагове. Можете да, отново, винаги се променя как изглеждат. Всякакви други етикети, които всеки е виждал? Да - Аудитория: A Разделения сайт. JASON Hirschhorn: A Div маркер - Div тагове няма никакво вградена във формат, на себе си, който се използва за блокират различни видове код. Всякакви други етикети? Да. ПУБЛИКАТА: Li - JASON Hirschhorn: Li - какво е Ли за? ПУБЛИКАТА: List. ПУБЛИКАТА: Списък JASON Hirschhorn: Ли е за списък елементи. Има два вида списъци. Какви са двата вида? ПУБЛИКАТА: Подреден и неподреден. JASON Hirschhorn: Подреден и неподредените - толкова ул. щандове за неподреден списък. Това е, ако искате един куршум точка, списък на куршуми. Един подреден списък е номериран списък. И така, вие ще направите един отворен таг ул. и след това тона списък елементи и след това затворите тага ул.. и тази воля създадете неподреден списък. Отиваме, за да видите някои примери на HTML след малко. Но преди това, искам да стигнем до CSS. И CSS е съкращение от Cascading Style Sheets. И това е много тясно свързана с за HTML, но малко по-различен. Това ви помага да форматирате цялото съдържание че HTML структури. Така че в CSS, ние по принцип не искам да оформяне на всеки един горен или всеки единично или всяко изображение един параграф. Искаме да оформите някои елементи или може би специфичен елемент. И начина, по който ние стил специфичен елемент е да го дам ID. Така че това е атрибут. Той има ключ и стойност. ID е ключът. Logo е стойността. Избрах произволно лого. И ако ти дам нещо за самоличност, обикновено, че трябва да се прилага само един елемент. И тогава, в твоя стил лист, можете да стил, който даден елемент, обаче искате да изглежда. Ако искате да оформите няколко елементи, може би това е един определен клас на заглавията, само някои от вашите заглавки. Може би това е и удар с глава на изображение и точка всичко, което искате да бъде центриран. След това можете да дадете на тези групи на всички елементи на клас. И вие можете да дадете на класа специфични стилове. Така че един ID и клас са два начина за разбият кода си, така че може да помогне да по-конкретни в това, което ви стил. Има три начина да се стил. Първият е, с този стил атрибут. Така че виждате, ключът за стил е стил. Стойността на стил е всъщност друг списък ключова стойност. В този случай, аз качват един ключ, подравняване на текста. И аз казах, център. Може би се питате в този точка, как да знам за подравняване на текста. Какво означава, че дори да се направи? Това е чудесен въпрос да попитам, и ние ще стигнем до там в секунда. Така че това е един от начините да оформите нещо, просто го дам атрибут стил. Друг начин да оформите нещо е - това е Akshar споменах по-рано. Можете да използвате тагове в стил и сложи това в главата на вашия HTML документ. Значи в общи линии казва, съдържанието вътре тук е част от съдържанието стил. И формата за това е нещо, което искате да стил и след това, в рамките на фигурни скоби, ключовата стойност двойка атрибути, които искате да се даде на конкретен тип елемент. Накрая, и това е най- Най-честият начин. И това е начинът, по който го направи в р набор 7. Това е външен стил лист. Така че имате CSS файл.. И вътре в него, ще видите много неща, които изглеждат така, името на някакъв вид елемент или лична или клас и след това, в рамките на къдрава тиранти, списък на ключови стойност двойки. Разбира се, ако създадете външен файл, ти започваш да се трябва да го включват - рязък включва, че би бъде аналогията C - във вашия HTML файл. Така че трябва да включи тази код в HTML файл. Това е името на файла и ако се приеме, че е в същата директория. OK. Това беше много. И ние сега ще да диша и да потърсите в някакъв истински, на живо уеб сайт и можете повече. Но преди да направите това, има ли някой имате някакви въпроси? Така че, ако искате да направите това, заедно с мен, можем да отидем на уреда. И аз избрах началната страница CS50. Можете да направите това с всеки сайт. Но защо да не започнем с началната страница CS50? Нека да обновите. Аз всъщност силно препоръчвам да правиш това заедно с мен, защото това, което ние ще правим сега ще бъде изключително удобен за вас, а не само в P-Set 7, но в P-Set 8, както добре. Да. ПУБЛИКАТА: Има ли начин да се направи коментари в HTML, без да се използва PHP? JASON Hirschhorn: Да, можете да правят коментари в HTML. Публика: Какъв е синтаксиса? ПУБЛИКАТА: удивителен знак тире тире. ПУБЛИКАТА: OK. JASON Hirschhorn: Да. Това е синтаксис. Можете да направите коментар в HTML. Можете да направите коментари в PHP. Както ще видите, коментира в HTML ще все пак се появи, когато се вгледаме в HTML сорс кода на даден сайт. Така че това cs50.net. Ако щракнете с десния бутон в най-модерния браузъри на почти всяка страница, които разглеждате източника на страница. Така че нека да направим, че на CS50. А ето и ето, ние вижте нещо гигант. CS50 всъщност изглежда доста добре. Много уеб сайтове не ще погледнете тази хубава. Ако отидете на началната страница на Google и тя се отвори. Тя няма да изглежда тази хубава. Но забележите, че в горната част - това е един вид малък. Нека да направим това по-голям. OK. В началото, DOCTYPE HTML, че е запознат. След това ние виждаме отворената HTML тагове и главата, точно тук, на всички на тези мета тагове. И вие можете да видите това ог, не ще отидат в това сега. Но аз съм почти сигурен, че най- тези, които ще бъде Facebook. Това всъщност е във Facebook. Мисля, че стои отворен за графика. Така че не забравяйте, аз бях споменава там е Faceboook специфични метаданни можете дай една страница. Това е, което е точно тук. Така че, когато се свърже тази страница на Facebook, картинката, че ще ходи да се покаже е този образ точно тук. И всъщност виждаме, че това е Facebook, защото това е картинката Facebook. Но така или иначе, ние сме все настрана. Така че ние имаме някои метаданни тагове тук. Виждаме заглавието на CS50. И пак, заглавието е това, което става тук в раздела браузър. Ние виждаме това е обвързване в, точно тук, файл на външен JavaScript. Ние не сме говорили за JavaScript много, но следващата седмица - и със сигурност, ако правиш уеб-базиран проблем набор, ще се използва JavaScript. Това е как да се свържат във външната JavaScript файлове. Ние виждаме тук, най-накрая, СГО стил лист, който документира тези стилове на този код. Нека действително се отвори, че и да погледнем наистина бързо. Това изглежда луд. Няма начин аз ще бъда може да чете сам. Така че можете да всъщност все пак, ако сте приели Погледнете, можете да видите, че нещо има - ето. Това прилича на нещо, което съм виждал преди, цвета на фона, да я оставяте е равна на част червено-зелено-синьо стойност. Тези неща някак не трябва да изглежда, че чуждестранни, въпреки че, когато са представени по този начин, тя може да бъде малко поразителен. Ние не отиваме да разгледаме този CSS файл или прекарват много време на него, защото тя отново е доста трудно да се чете. Нека да се върнем към този HTML страница за CS50. И нека да превъртите надолу до тялото. А вътре виждаме това Div маркер. Виждаме глава точно тук. Виждаме котва маркер. И този списък елемент е даден конкретен клас. И ние виждаме, че клас повтаря отново и отново. Там са Къртис. Налице е коментарът в HTML5. И като забележите, все още можем да видим нея, но тя не е се появяват. Това всъщност е наистина интересно. Тя изглежда като този списък резултати елемент е коментиран. Ако се върнем към тази страница, отново, то все още се появява там, така интересно. О, това е защо, защото на следващия ред. Какво друго можем да видим на интереси? Останалата част от това е по-объркващо, в занимаващи се с тази дясната половина на уеб сайт, който е малко по- малко по-сложна. Така че това е, което някои HTML ще изглежда така. За мен обаче, това е малко огромна, а това не е така ми помогне много. Въпреки това, има нещо, което е, в действителност, да ми помогне много. И това е, което аз използвам, когато съм Опитвам се да разбера как нещо изглежда по начина, по който го прави, или как може Правя промени в моя сайт. И това е инструмент за разработчици която е вградена в Chrome. Така че, ако отидете на този три бара полето тук и слизат инструменти кликнете върху Инструменти за разработчици, един малък прозорец ще се появи в долната част на страницата. И по-специално, Chrome, тъй като тя е чудесно, ще форматирате този прозорец и вземете HTML и го правят да изглежда много по-хубав за вас. Така че сега това е действително някакъв сгъваем HTML, които можете да разгледате да инспектира елементите на страницата. Ако искаме да погледнем в тялото, всъщност подчертава. Когато превъртате над част от HTML, предвидени в този прозорец, той ще подчертае част тя говори за в голям прозорец. Така че нека се опитаме отново и взриви това малко. OK. Така че нека да се отвори на тялото. И аз съм превъртате през този лявата DIV. И вие забележите, че той е подчертаване това лявата половина на екрана. Така че нека да кликнете върху това и разширяване на това. Вътре в нея, тя изглежда като има две Divs. Има тази първа дивизия. Аз не виждам, че е маркиран. Аз не знам, но това изглежда така втора, лявата вътрешна, е съдържанието от лявата страна на екрана. Тогава там е това нещо, наречено с глава. Изглежда, че това, че изтъква на CS50 част. Ако отворим това, ние виждаме, че това е нищо повече от един удар с глава. Той е дал ID, и това е като се има предвид текст CS50. Така че отново, гледайки го през тази конзола или с помощта на инструментите за разработчици прозореца в дъното на марките екран проучване на този уеб сайт, надявам се, по- много по-малко смущаваща и много по-достъпни. Той също така ни позволява да разберем, че този сайт, въпреки че изглежда много красива и хубаво, не е чак толкова много повече от това, което ще бъде прави на проблем Set 7. И това е напълно в рамките на способността ви да създадете. Ако искаме да - От друга готино нещо за използването на тези инструменти е, ако дясната кликнете върху заглавие, можете да редактирате HTML. Така че нека да го наречем Джейсън. И сега вие ще забележите, че са се променили на HTML кода на тази страница. Разбира се, че не са се променили то за постоянно. Ако обновите браузъра си, а след това ще се върнете към оригиналния HTML. Но понякога и аз искам да трасира моя код, и аз не искам да изглежда точно имам прозорец Gedit и да се опитаме и да разберем какво става. Искам да видя какво ще се случи на живо. Така че аз ще редактирате код като този и да получите то така, както аз го искам да гледам. И тогава аз ще направи промени в моя код. И аз намирам, че това е много по-лесно когато можете да направите нещата, мигновено, така. Say, отново, ние искаме да направим друг шанс, защото ние проучваме с HTML и CSS точно сега. Мога да редактирате HTML точно сега. И аз отивам да включва линк. Така че аз отивам да промените дома си CS50 страница, така че ще се свърже с - нека да кажем - ми страница. Какво е името, ако някой припомня, или каква е атрибут Искам да дам към раздела котва, когато искам той да се свърже някъде другаде? ПУБЛИКАТА: HREF? JASON Hirschhorn: HREF - Така че сега, вие ще видите, че там е долна черта под Джейсън. Това е така, защото Chrome, по подразбиране, дава котви подчертаване. Вие вероятно сте видели, че преди , когато сте преминали към уеб страница. Нещата, които са линкове са подчертан, а в синьо. Стилът по подразбиране за връзка е да се подчертае, обикновено и го сложи в синьо. Ако не ми харесва, че Мога да променя това. И ние ще го променим в секунда. Но сега, също така да забележите, че, ако аз навъртам над това, в долния ляв ъгъл на екрана, точно над словните елементи е връзката, че съм го дал. Така че, ако аз направих кликнете върху това - и ние можем да Кликнете с десния бутон върху това, отворете нов раздел. Това всъщност не е моята страница. Това е просто моето име. Ето ти. Ние вече го превърне във връзка. Нека да разгледаме някои CSS, както добре. Най-красивото нещо - и аз отивам да направи това малко по-малък - около тази конзола е, че луд CSS лист видяхме преди, това беше наистина трудно да се направи разбор, сега е красиво изложени за нас от гледна точка на лявата ръка на този прозорец. Така че ние можем да погледнем. И ако ние разширяваме този раздел стилове, ние може да видите всички различни стилове които са свързани с, в този случай, този елемент, този връзка елемент. Ако го направим раздела комбинирани стилове, че просто ни показва не, където всичко идва от, но по същество всички от тези стилове, които действат на този конкретен елемент в момента. И нека да кажем, ние искаме да го промените малко. Така че това е, всички стилове, които са работи по този конкретен елемент. Да кажем, че искате да го промените, защото ние Искам да видя как нещо изглежда. А ние просто си играят около точно сега. Или искаме да проверим нещо, преди да я пишете в код и бутане то и превръщането му живеят. Ние можем да отидете на таба стилове. И в първата клетка го казва, element.style. И тук, можете да вмъкнете, можете да добавите нещо. Така че аз искам да - нека да отидем в моята връзка и определя цвета на фона. И това всъщност го autofills за вас, всички възможни свойства. Цвят на фона, и аз искам да се направи, че синьо. Blus не е дума. Blue е дума. Видях ли го измисли? О, е, че тъй като това е в Href? OK. Така че аз не виждам никаква промяна тук. И това е така, защото, ако ние подчертаваме връзка, вие ще забележите, че връзката всъщност не е контролирането на свойства на този елемент. Това е всъщност, ако отворите връзката, това заглавие точно тук, че това е контролиране на това, което изглежда. Така че, ако искате да сте на заден план синьо, аз всъщност трябва да се промени на цвета на фона на заглавна елемент. И сега виждаме, че фона е син. Така че отново, това бързо може да се случва чрез този материал доста бързо. Но това е по същество какво ти започваш да се прави. Това не е проблем на Set 7, но със сигурност, когато сте кодиране в интернет. OK. Искам да направя фона синьо. Въпреки че в този случай, синьо изглежда доста грозно. Мога да отида в тук, играят наоколо. Виждам, че го променя до синьо не работи на а. Аз всъщност трябва да се промени заглавието елемент, който да включва ясно небе фон. И след това, ако след това се върна в моя CSS файл, как мога действително зададете тази фон да бъде син и направи тази промяна пръчка? Защото, ако ние забелязваме, ако обновите страница, всички промени, които направих, са си отишли. Така разбрах, OK, ми фона е син. Трябва да отида в тази header1 елемент и да промените цвета на фона на синьо. Как мога да всъщност направи тази промяна? Е, припомни, че, ако ние влезем вътре от тук, тази заглавна част, заглавие има ID. И това е заглавието. И така в нашия CSS файл, можем да кажем, OK, вземе нещо с ID на заглавие и го даде този допълнителен имот. Как ние справки нещо с ID на правото на собственост, някакви идеи, или някой как справки IDs в нашия CSS файл? А хашиш, че е точно така. И имаш ли намек за това точно тук. Така че някъде в тази CSS файл, има тази линия на код - # # Ляв ляв вътрешен # Header # заглавие. И това го дава марж дъно, определянето на ценовата дъното на тази конкретен елемент. Е, ако исках да се промени това, Аз ще отида в тази CSS файл. И аз може или да намерите тази част от файла CSS. Или бих могъл да напиша моя собствен. Което можех да направя хеш заглавие къдрава скоба и тогава цвета на фона на дебелото черво синьо запетая и близки, че къдрава скоба. И това ще се промени на заден план цвят на този елемент на син. Причината те да ви даде толкова много тук, е , че това е необходимо в този случай, защото заглавието е уникален идентификатор. Но какво можете да направите, е да гнездят неща. Така че това се казва, OK, отидете в ляво. Това е много малък. Извинявам се за това. Но отидете на нещо с ID лявата. Вътре в това, погледнете за нещо с ID лявата вътрешна. Вътре в този поглед, потърсете нещото с ID заглавието. Вътре в това, погледнете за нещо ID заглавие и промените заглавието на ID. Така че това е просто начин на гнездене неща. Някои хора като гнездо него, защото той го прави малко по-ясни. Ще видите тук също, нали тук, няма хашиш. Това е просто h1. Това е така, защото h1 е дадена името на генерични маркер. И има някои CSS свойства свързва с всеки един h1. Така че, ако намери друг h1 на тази страница, Бих искал също да се види, че този стил е приложен към него, както и. Ако исках да приложите стил към един клас, как мога да се цитира клас или говорим за клас във файл CSS? ПУБЛИКАТА: Dot. JASON Hirschhorn: Това е с една точка. Така че нека да се върнем към тази страница преди. Ако го направя хеш ID. Това е промяна на стила на нещо с ID. Или съжалявам, ако го направя хеш лого, че е намирането на нещо, с идентификацията на лого и ще му даде специално CSS стил. Ако правя нещо отгоре., Че е намирането всичко с класа на върха и промяна на нейните стилове. Ако аз просто Н1, която намира всеки единични h1 и го дава каквото и да било стил Искам да го дам. Ако го направя h1 пространство и след това отгоре.. Това ще намерите всички H1S и след това всички тези, с класа на върха и след това само променя тези стилове, за да каквото си искам да го дам. И отново, бихме могли да са писали малко от това на нашата собствена. Но ние не би намерила толкова далеч. Много по-добре, тя изглежда всъщност отидете върху недвижим уебсайт на живо и да видим как те го правят и да разгледаме всичко на фантастични неща, които можете да получите да се направи. Нека разгледаме още един сайт преди да преминем нататък. И това е този, който най-вероятно ще се запознаят с. Това е CS50 Finance. Така че отново, всъщност можете да отидете в и спазват този CSS файл на вашия компютър, защото сте изтеглили тази CSS файл, ако сте изтеглили проблем настроен. Можем да отидем в Инструменти и Инструменти за разработчици. И ние виждаме много по-проста HTML оформление. Имаме началото, средата и дъното. И отново, нещо, което трябва да бъде запознати, защото сте разглеждали чрез кода за разпределение за определен проблем тази седмица. В горната част е на кода едно изображение се обади. И това е източник на изображение. Да кажем, че сте приключили всичко това, което Исках да за Проблем Set 7. И това е работа правилно, но Искам да променя начина, по който изглежда. И аз искам да се промени на фона от горната част на страницата, например, синьо. Ако бях на твое място, щях да дойда в тук и да разбера, какво OK искам да се променя. Да видим, Разделения ID върха, която изглежда като горната част на страницата. Така че нека да отидем там. Да се ​​опитате да смените цветен фон. Хайде направи Алис синьо, защото че е по-хубав един. И вие ще забележите, че - най-вероятно не може да види това. Но там е светло синьо, заедно с логото на CS50. Нека да го промените, вместо на червено. И вие ще забележите, сега аз просто се промени цвета на фона на червено. Така че сега аз ще отида в моя CSS файл и въведете # Топ къдрава скоба точно тук. Можете да видите правото на код тук, къдрава скоба. И тогава, бих добавила фон цвят, червено. И тогава, нямаше да да бъде къдрава скоба. Така че това е как ще проучи и експериментирате с форматиране на CS50 Finance сайт. Мога да го направя тук и тест го за моя браузър. И след това, мога да отида в моя застроена код и да се направят промени, които ще всъщност отидете на живо и, че хората всъщност видите, ако те са били да се стигне до моя конкретен сайт. OK. Това беше много. Извинявам се за преминаване през то толкова бързо. Дали някой има някакви въпроси изобщо за HTML или CSS? ПУБЛИКАТА: Може ли да отидете върху това как свързана какво стана Джейсън, отново? JASON Hirschhorn: Какво искаш да кажеш, свързани? ПУБЛИКАТА: Вие условие линк към друг уебсайт, използвайки котвата. JASON Hirschhorn: Значи са ви питам, само родово, как да направите връзка? Публика: Да. JASON Hirschhorn: OK. Кодът за вземане на линк - ПУБЛИКАТА: Не, като в HTML. JASON Hirschhorn: Тук долу, искаш да кажеш? Така че, ако искате да включите връзка някъде, да речем, това е HTML на моя страница точно тук. Това е HTML. Може би е открита във файл, index.html. Аз отивам инча Нека този авторското John Harvard линк към нещо. Така че ние ще редактирате всичко това като HTML. Всичко, което направите, е да се включи а, така скоба за близо скоба в начало, а след това скоба наклонена черта близък скоба в края. Така че сега аз бях включен етикет котва. И всъщност, ако щракнете от това, сега ще форматирате го редактирате като HTML. И кажи, ние искаме да го свърже. Ние бихте на HREF атрибут. И ние казваме - И сега, като забележите, авторско право Джон Харвард е синьо. И когато преминете през го, сега това е връзка. Така че, можете да напишете този код. Вие можете да поставите почти всичко , което искате в един таг котва и да го превърне във връзка. ПУБЛИКАТА: OK. Взех го. JASON Hirschhorn: И ако аз не искам тя - разбира се, понякога хората са склонни да мисля, че тези неща, които просто изглеждат синьо генерично и подчерта, са не най-красивата начин да се направи връзка. Така че ако дойда тук, ще видите, че някъде във файл CSS, има Написах тази една и след това две фигурни скоби. Така че нека да кажем, че за връзки, не знам искам те да станат сини, а аз искам цвета на линк към бъде тази хубава магента. Да го дам на цвета. Нека вземем магента. Сега, всички връзки на страницата си имат стане този хубав цвят на магента. Някои хора не обичат цветовете на всички. Някои хора не обичат подчертавания. Можете да получите, за да изберете. С връзки, можете да оформите как те погледнете веднъж сте ги посети. Както ще забележите, на много страници, връзки се превръщат лилаво ви ги посетите. Можете да промените този цвят, както добре. Да. ПУБЛИКАТА: Значи не я промените за всяка една връзка. Но ако просто исках да направя, че връзката себе си, бихте ли правят в ID дъното или нещо друго? JASON Hirschhorn: Така чудесен въпрос. Както сте забелязали, тук, аз промених някои част от CSS, който се отнася до всичко това е A. Ако исках да просто правя тази връзка в долната част, I ще отида да ми CSS файл и вероятно направи точно както ти каза, хеш дъно пространство а. И това ще ми даде Както всички в дъното. Или бих могъл, като алтернатива, го даде уникален идентификационен код и след това просто да направи хеш връзка. И това ще ми позволите да се промени това. Въпреки това, само раздава IDs волю-неволю обикновено е лош практика, защото тези, трябва да бъде уникален. И колкото повече имате тези, тя може да се получи малко объркващо. Да. ПУБЛИКАТА: Може ли да дадете същите ID на множество собственици? JASON Hirschhorn: Технически, да. Нищо няма да те спре, но вие Не трябва ли да му се даде клас. Добре, някакви други въпроси за HTML или CSS? OK. Нека да преминем към PHP. О, да. ПУБЛИКАТА: Какво е тя за тях уебсайтове, това означава, че ние може да редактира тях, преди да обновите. Но след като сме го връща на опресняване Обратно към първоначалната HTML? JASON Hirschhorn: Great въпрос - Така че, когато сте заредени това уеб страница, това е HTML. И това е JavaScript. Нейната PHP се изпълнява, за да ни даде каквато и тип сайт, което виждаме. И това създава известно HTML, някои JavaScript, както и някои CSS. И това вече е достъпен от нашия компютър. И копие на тези файлове е записан локално на компютъра ни, за момента. Така че ние може да редактира, че локално копие. Но, разбира се, ние не сме редактирането сървъра копие. И когато ние опресняване на страницата, получаваме друг сървър копие. И така, ние виждаме нещата обратно, тъй като те са били. Ако ние бяхме в състояние, от тук, за да редактирате официален уеб сайт, ние ще имаме много проблеми. Публика: Да, така че ние може да чете и пиша това копие. JASON Hirschhorn: Точно така. Ние сме само като локални промени тук, но отново, много полезно за проучване, често. Когато пиша последната ми проект, за Например, аз искам да видя как някои уебсайт, нещо поглед начина, по който те го направиха. Аз ще ида и да използвате този прозорец надолу тук, за да видим какво CSS, те дадоха на тя или какъв цвят са избрали или как те го, така че, когато се колебаеше над нещо, списъкът слезе в хубав каскаден мода. Това е чудесен начин да се запознаят какви други уебсайтове правят и да заемат от тях. Нека да преминем към PHP. PHP означава, в рекурсивно смисъл, PHP Hypertext процесор. И PHP, какво ще направи е изпълнение на код от страна на сървъра. Така че ние никога няма да видите PHP код. Въпреки това, той не играе добре с HTML и често създава много на HTML код. Но тъй като вие ще бъдете запознати с проблема Задайте 7, вашият PHP код ще се изпълни, генериране на някои HTML, и това е, което потребителят ще свърши види. PHP е невероятно подобен на C. Въпреки това, съществуват няколко разлики, и тези различия са важно да се отбележи. Една разлика е, че променливи в PHP са хлабаво написали. Някой има ли смисъл какво означава това? ПУБЛИКАТА: Няма нужда да го хвърли себе си. Както и няма нужда да пиша в текст. JASON Hirschhorn: Аз не бих използвал Думата гласове, но да, няма нужда да се декларират тип за конкретна променлива. Как вместо да декларираме променлива? ПУБЛИКАТА: Използвайте знак за долар. JASON Hirschhorn: Използвайте знак за долар. Така $ х е променлива. 1 $ е променлива. $ Низ е променлива. Тези променливи, $ х може е цяло число. След това, тя може да бъде низ. След това, тя може да бъде герой. Всъщност няма значение. Също така, готино нещо за PHP е, да речем, $ х е низ един. И $ Y е един характер. Можете да добавите $ х и $ у, и това ще ви дам два, какво можете да очаквате. Така че има операции в PHP. Защото е хлабаво написали променливи, някаква имплицитна леене е направил за вас и някои операции. Можете да извършвате операции върху нещата на различни видове. Докато преди, често получите съобщение за грешка в C поговорка, това не е типът че е трябвало да отидете тук. Само неща от този тип могат да отидат тук. Вие няма да получите този вид на грешка, като цяло, в PHP. Така че това е една голяма разлика - как да се справяме с променливи. Втората голяма разлика е, че PHP код се интерпретира. Призвана, е компилиран C код. Какво значи това? Е, за C код, който се завтече то чрез компилатор. Можете генерира двоичен файл. И вие се завтече, че двоичен файл. Ти се погрижи за всички грешки, преди сте генерирали двоичен файл. Разбира се, може да е имало сегментиране грешки, когато сте стартирали двоичен файл. Но това не е като да сте забравили да включат определението на ФОРМАТ, или вие не използвате променлива и просто създаден разхищава променлива. Или пък изобщо не определят функция прототип. Всичко, което се е случило преди да компилира. Той ви е дал всичко от грешките или лоши неща, които той смята, че може да се случи. И тогава, трябваше ви 0 и 1 файл, който сте стартирали. PHP код не работи по този начин. Отиваш да напишете своя PHP код. След това, ти започваш да се го спаси, вероятно. И най-малкото в P-Set 7, ти започваш за да обновите вашия уеб браузър, и ти започваш да се види какво се е случило. Вие ще видите на изхода на този PHP код. Може да видите също, в горната на вашата страница, грешка. Защото имаше някои грешка в PHP. Вие все още може да видите останалата част от уеб страницата се гледа добре. Но една част не е наред, а има грешка в това място. И това е така, защото тази част от Вашия PHP код не работи. В действителност, когато се изпълни, когато отида на нещо като by.php. Всичко ще мине през PHP подаде ред по ред и да го изпълни тогава и само тогава. Това няма да го събират в навечерието на време или съставят едно копие и след това да дадете че компилиран копие до всички. Всеки път, той ще мине през ред по ред и да го изпълни. Така че някои линии могат да работят и изведе нещо правилно. И други линии могат да бъдат разделени на и вместо изход грешка. Така че, когато отстраняване на грешки с PHP, дадохме ви няколко полезни неща за да ви помогне за отстраняване на грешки, като функцията бунище. Но като цяло, вие ще , за да видите тези грешки. И това е, как ти започваш да се Знам, че е направил нещо нередно. Но вие сте само ще види грешката след като всъщност стартирате код. Друг важен аспект на PHP и Мрежата за развитие е идеята, за да стигнем срещу пощата. Някой може ли да обясни каква е разликата между получи и пост са? Никой - Да. ПУБЛИКАТА: Не един от тях позволи на потребителите да видите данните, и един от тях не го прави? JASON Hirschhorn: Great. Да, имате ли нещо да добавите? ПУБЛИКАТА: I тънък мнение е супер-глобална променлива. JASON Hirschhorn: Така че и двете от тях променливи са дадени за вас. Това са само променливи. И знаеш ли, че са променливи, защото точно тук I използвате знака за долар. Това са променливи, дадени до вас от PHP. И когато се движите между уеб страници, искате да спестите малко информация. Може би искате да спестите, ако потребителят е влязъл инча Това не е записан в GET и POST. Това е записан в нещо друго, различна променлива. Някой знае ли какво променлива, която е запазена в, или какво променлива, който използвате в P-Set 7, за да се уверите, че потребителят е влязъл в? $ _SESSION, Че е точно така, Вероятно важно да бъдат запознати с имената на тези неща използвате често. Така че можете да използвате променливата на сесия, за да запишете информация от страница на страница. Това е супер променлива. Тя съществува на всяка страница, може би като глобална променлива, ако искате да се мисли за него по този начин. Има няколко други променливи които ви позволяват да се прехвърля информация от страница на страница. По-специално, тези, които ще се фокусират върху са GET и POST променливи. В PHP изглеждат $ _GET И $ _POST. И разликата, като Marcus посочи навън, между два от тях е, че информация в $ _GET е показва в URL адреса. Така че, ако погледнем тук, ние виждаме връзка YouTube. Ние виждаме това въпросителен знак. Виждаме V = и след това някаква стойност. Назад към тази идея на ключова стойност двойка, на V е ключът. И ето тук е стойността. Така че, ако бяхме да отидете на тази страница или кодиране на тази страница, ще имаме променлива с име $ _GET. Ако ние отидохме до $ _GET отворена скоба "V" близо скоба, много подобен на масив нотация, това е асоцииран масив защото ние не използвате индекси. Използваше струни като ключове. Но много подобна идея. Ако ние отидохме, ще получите тази стойност. На тази страница, щяхме да сме в състояние да използва тази стойност. Ако ние действително изглежда, нека отидете на страницата YouTube. Какво видео трябва да гледаме? Това едно, са хора Hobbit фенове? Публика: Да. JASON Hirschhorn: Така че аз съм копиране им URL акции и да я поставите в нов прозорец. И сега, ако погледнете тук, вие ще забележите, че, още веднъж - Отивам да копирате и поставите този в Gedit, така че ние може да го видите по-голямо. Ще забележите, че тя има този въпросителен знак. Въпросителната означава, че всичко след това ще бъде запаметява в променливата на GET. След това има V, това е първата ключ и тази първа стойност. Ampersand е специален. Ampersand казва: ОК, ние завърши първата стойност. Ние сме сега да преминат към друга двойка ключове стойност. Тук ключът е функция, наречена, и стойността е youtu.be. Така че, ако бях кодиране тази страница и някой отиде в този URL и аз трябваше може би watch.php. И аз бях кодиране това. И аз може да използвате променливата $ _GET. И аз ще имам V, и Бих притежава функция. И ако аз използвам V ключ, I ще получите тази стойност. И ако го направя $ _GET скоба "функция" близо скоба, аз ще получи тази стойност. Отново, това не е задължително прилага за - Очевидно е, че ключовете и стойностите в YouTube и да получат информация не се прилага за Нашият проблем Задайте 7. Но има някои неща, които ние мине през GET в нашата Проблем Set 7. И със сигурност, когато отидете на уеб страница или са с първата си собствена страница, на $ _GET Ще дойде по-удобно при кодиране си. Какво е една от причините да се използва $ _GET тогава, ако тя не предоставя на личния живот? Вие виждате тази информация това е да се прехвърлят. Всичко показва на потребителя. Но това, което е една от причините, които може да искате да запишете нещо в $ _GET, като за разлика от $ _POST? Защо може да искате да направите това? Добре. Помолих те в Quiz 1. Каква е професионалист от $ _GET? Какво е един професионалист? Да - ПУБЛИКАТА: По-лесно е да се споделяне на информация. JASON Hirschhorn: Мисля, че това е страхотно. Тя е по-лесно да споделят информация. По-лесно е да маркер. Можете да маркирате сега, YouTube.com / гледате? V = нещо и да отидете към този конкретен видео. Ако YouTube винаги правеше заявки POST да различни страници, всеки URL YouTube Би било YouTube.com. Вие не може да маркирате един видеоклип. Защото, ако ти кажа, сподели, че връзката с някой друг, те не го правят автоматично ще получите вашия пост променлива. Те просто се тази връзка, както и на връзка е един и същ за всички. Така, че е един професионалист. Тя ви позволява да Запомнете тази информация или да споделят тази информация или да го направи по-малко по-лесен за употреба. Разбира се, няма личен живот, така че ние имаме този пост променлива. И след информация не е показва в URL адреса. Това не е изцяло частна. Но това е малко по-лично. И така, вие ще видите този URL тук, cs50.net. Дали или не сте влезли в уебсайт, че ще имат едни и същи URL, cs50.net. Очевидно е, че нещо е различно, ако сте влезли в сайта. Имате право, едно, вероятно входа на вашия PIN. И това е потвърдено, че със сървъра. И това вероятно спестяване някаква друга информация. Но URL адреса не се променя изобщо. И така, това е случаят, когато нещо се изпраща по пощата. URL адресът не се променя. Тази информация не е POST показва в URL адреса. Но някои състояние се е променило, а може би има някаква информация, записана в на POST променлива. Извинете. преди да отида в SQL, всяка въпроси относно PHP, по-специално, въпроси за неща, които не излизат над че сте намерили или някоя синтаксис или логически въпроси за PHP? OK. Крайният езика, който ще бъде взаимодействие с тази седмица е Structured Query Language, SQL, произнесена продължението често. Това ви позволява да си взаимодействат с база данни в формализиран начин. И той играе много добре с PHP. Както ще видите в Проблем Set 7, ние сме ви е дал функция, наречена заявка. И това отнема SQL низ и изпълнява тази заявка в базата данни. В последните години, не са били дал тази функция. Вие трябваше да се използва PHP функции, за да направи заявката на базата данни и проверката за грешки и след това получи резултатите. И всъщност, това не е толкова трудно, защото отново, тя играе много добре с PHP. И PHP дава много функции да си взаимодействат с SQL база данни. Толкова често, двамата те вървят заедно. Разбира се, бихте могли да си взаимодействат с на SQL база данни с всеки редица други езици. Но PHP е страхотно да се избере. База данни - ние ще отидем над това бързо, защото това е бръмча дума, че ще започнете да използвате често - е колекция от маси. Така че ние можем да мисля за него като файл Excel. Един файл Excel има няколко раздела на дъното на екрана. Всеки раздел ние сега ще се обадя на една маса, където таблица е колекция от редове. И това, което е на ред? Е, ред е, че едно и също нещо във файла Excel. Това просто има определени стойности за всеки дадена област или всяка дадена колона. Това е като запис в таблицата. Той е студент, който има ID, а специфичен ID, и специфично име и конкретната къща. Така че една база данни е колекция на таблици. И самите маси са брой редове или записи. Има също така, във всяка маса, определени полета. И това се уточнява какво всеки запис е Ще трябва, понякога наричани полета колони, но като цяло, наречени полета. В тази много проста маса, имам три полета, поле ID, потребителско име област, както и поле за хашиш. И аз имам три реда. Точно сега, те са празни. Те най-вероятно няма да е празна ако това е истинското ми база данни. Така че, ако сте използвали Excel, подобна идея за това, което правите в Excel, все пак, Очевидно е, че сега ние ще бъдем в състояние да направи много по-мощни неща в информация, която се съхранява в нашата база данни. Можете ще бъде създаването на себе си една база данни за Проблем Set 7. Но ще бъде създаването на множествена таблици в базата данни. Ще се създаде база данни или маса за потребители. Вие също така ще бъде създаване на таблица за вероятно борсови сделки, за да се запази следите от тях, защото трябва да се приложи история функция. И двете тези таблици ще имат различни области. Например, в област, можете Вероятно искате потребителското си име и ID и хеш на паролата си. В таблицата Запаси, който следи история или масата на историята, най-вероятно не е нужно името на потребителя и хашиш и ID. Може би трябва само един от тези, стойности, които са уникални, да свързват то с даден потребител. Но след това, което искате да запазите и други неща като, по кое време е направена транзакция. Какво склад е купен или продаден? Колко акции на фондовата е купен или продаден? Каква беше цената, на която е купен или продаден склад? Така че отново, ти започваш да се взаимодейства с бази данни, това е Ще има няколко маси. Всяка таблица ще има свой собствен набор от полета. Въпреки това, най-вероятно ще бъде подобен поле във всяка таблица, която тях се отнася до един от друг. Обикновено, това е поле за ID. Защото, ако всеки потребител има уникален ID и вие асоциирате че ID с всеки сделка, която прави потребител или цялата история на този потребител. И вие имате ID на потребителя. Можете да получите информация или от маса. Можете да получите своето потребителско име и вие може да получи всичките си сделки. Всякакви въпроси за бази данни, или специфични въпроси? Всъщност, нека да се приеме, че. Ние ще бъдем там в двете страни. Така че има четири операции на бази данни, които ще се използва в Проблем Задайте 7 и вероятно някога се използва. Първото нещо, което искате да направите, е вложка нов запис в таблица или нов ред в таблица. Това е общ функция, родово форма, от тази SQL заявка. Вмъкнете в таблицата, независимо от колони искате да вмъкнете и след това ценностите, които вие ще искате да пусната в тези колони или полета. Ако имате няколко таблици в база данни или множество бази данни, Може да се наложи да укажете базата данни и таблицата, която искате да постави нещата в. Но много просто, ако искате да вмъкнете в нещо, вие казвате, тук са области, които искам да вмъкнете в. И тук са ценностите. В някои таблици, също така, и този потребител маса е добър пример. Вероятно в таблица на този потребител и вероятно в таблица потребителското си в P-Set 7, там не е просто стойност потребителско име. Там не е само парична стойност, или поле, по-скоро. Има и поле за ID. Аз няма да вмъкнете това поле ID. Това ще трябва да се даде ми автоматично, когато се добавя нов запис. Така че има някои области, които можете да настроите да бъде автоматично. Може би искате да дадете на всеки потребител $ 10 хиляди на пари в брой на разстояние бухалката. Така че аз не трябва да поставите редица парични тук. Всичко, което трябва да поставите е името на потребителя. И след това, областта на паричните средства ще бъде предварително населена, а полето ID ще бъдат предварително населена. Така че много пъти, ние не сме вмъкване нещо във всяка област, защото тези други области са предварително населени. Защото това е начина, по който създаде същата таблица. Второто нещо, което ти започваш да се искате да направите, е да изтриете запис. Изтриване на нещо е много проста. Даваш на масата, където искате да изтриете нещо от. И вие казвате, OK, искам да изтриете запис, който има потребителско име на Майло. Или искате да изтриете всички записи, които имате потребителско име на Milo или че бяха транзакция от потребителското ID номер 2. Всякакви въпроси, свързани с тези два вида заявки? ПУБЛИКАТА: [недоловим]. JASON Hirschhorn: Да. Така че аз ще използвам ред и запис взаимозаменяемо и някои с колона и област. Но един ред е един рекорд. Една колона е една област, ще към тази таблица. OK. Следващото нещо, което вие вероятно сте ще направите, е да получите някои информация от таблицата. Това е Select заявка. И отново, какво маса Аз съм от избора? И какво колона мога да искате да изберете, или каква стойност искам да изберете и от кой ред? Така Избор е малко по-конкретен. Аз казвам, ОК, аз искам тази таблица. И тогава искам потребителското име на колона, и Искам го от редицата с ID 2. Това е един начин да се направи Select. Или мога да кажа, да ми дадете всеки единичен потребителско име. Или мога да кажа, дай ми една цяла ред от тази таблица, където потребителското име е 1. Така че има няколко различни начини за направи Изберете заявки, в зависимост от това как много информация, която искате, Вие винаги може просто да изберете всичко от тази конкретна таблица и след това цикъл през нея, подбиране нещата, които искате. Но имайте предвид, ако сте избрали много неща, от една маса и ще ви има наистина голяма маса, която ще се известно време, така че най-добрия случай, за да изберете неща, че започваш да свърши използване. Също така, с Подбор и с всички тези друга SQL команди, както и, че съм което ви дава голи кости версия. Но казвам, аз съм избора на потребителите и аз искам да ги изкарваме по азбучен ред, Можех да изберете всички потребители и след сортиране ги по азбучен ред в моя код. Или има начин да пиша Избор заявка, че избира неща в азбучен мода, на базата на разстояние от специфичен колона, възходящ или низходящ. Така че имайте предвид, че много от това, което Искам да направя най-вероятно може да се направи в заявката чрез допълнително атрибут. И така, да гледам тези заявки онлайн или други неща, които можете да правите с тях заявки, за да ги разширят. Накрая, последното нещо, което искате да направите не се вмъкнете нещо или изтриете нещо, а по-скоро актуализира нещо. И това се прави с актуализацията заявка, и отново, какво маса. И каква промяна да искате да направите? И за кой ред или запис направя Аз искам да направя тази промяна? Всякакви въпроси за SQL? OK. Така че ние имаме около 15 минути. И това е последния слайд, което имам. И да се надяваме, този последен слайд е добър Segue на проблема настроен, защото разбирането, където искаме да вмъкнете записи, да ги изтриете, изберете тях, както и да ги актуализира, ще ни помогне разберем по-голям логика и поток Проблем на Set 7. Така че знам отговорите на всички въпроси на тези въпроси. Аз няма да ви кажа, всички отговори. Но ако някой друг би искал да представи съобщение до групата или отговорът на един от тези въпроси, ние можем използвате, че като скача точка за говорим за множеството проблем. Или ако някой има по-общ въпрос извън снимачната площадка проблем, се чувстват колебайте да поискате това, както добре. И ние можем да започнем от там. Имайте в предвид, че е безшумен се наранява всички. Да. ПУБЛИКАТА: Така е единственият начин да се мине променливи до и от различни уеб страници, или най-удобния начин, като се използват POST или GET? JASON Hirschhorn: Така че, да, това е Най-удобният начин да се каже - когато някой попълва формуляр - получите информация за друг уеб страница, като се използва GET или POST. Защото на рамката ние използваме в този проблем набор, ще забележите, , че много пъти, ние направи още една страница. Или ние можем да направи друг файл, не непременно друга страница. Така че ние преминаваме в променлива. И след това, тя прави един HTML страница, използвайки информация от тази променлива. Това не е технически, минаваща информация между различни уеб страници. Това минава информация между различни файлове. И така, можем да използваме всеки променлива да направя това. Но да, ако искахме да премине информация от дадена страница, за да друга страница, GET и POST би да бъде начин да се направи това. Всякакви други въпроси, свързани с задаване на проблема? OK. Нека да преминем, а след това, специфичен част от проблема зададен. Вие ще трябва да, в един момент, показвате портфейла на някого на екрана. Какво имам предвид, когато казвам, портфолио, в контекста на този проблем определя? ПУБЛИКАТА: Това е като запасите, които те има Колко, много акции, които те притежават, цената и колко парите, които те са напуснали. JASON Hirschhorn: Това звучи страхотно. Така че аз искам да се покажат всички запаси те притежават за всеки склад на фирмата акции и вероятно колко това е стойност, и след това отделна променлива, колко пари те са собственици. Да предположим, че искам да опиша това. Нека да започнем да говорим за това, как бих могъл отида за това, че, това, което аз съм маси ще трябва да се наложи да да бъде в състояние да направи това. Да - ПУБЛИКАТА: Ами потребители, и след това, предполагам можете да направите една таблица, наречена Акции или нещо подобно, което би било колко са купили. JASON Hirschhorn: OK. Така че аз ще се нуждаят от таблица, наречена Потребители, които съхранява запис на потребителско име, вероятно, най-вероятно някои ID, Вероятно парола на индивида. Какво е нещо друго, което ви току-що каза, че е свързан? Някой освен Майкъл, какво е нещо друго, което е свързано с всеки потребител, уникални за тях? ПУБЛИКАТА: ID. JASON Hirschhorn: ID - това, което е едно друго нещо, което сме Вероятно ще искате да показване на тази страница? ПУБЛИКАТА: Името им. JASON Hirschhorn: Тяхното име - това, което е Друго нещо, свързано с това зададете конкретен проблем? Публика: Какви запаси, които те притежават - JASON Hirschhorn: Ще има бъде много от това, което те притежават запаси. Какво е една специфична стойност обаче, че те ще имат свързани с тях? Как са те ще купуват и продават своите акции? ПУБЛИКАТА: Cash. JASON Hirschhorn: Те са ще има пари. Така всеки потребител ще има една стойност за пари. И това ще бъде уникални за всеки потребител. Така в таблица на потребителя, той прави смисъл да се сложи в брой. Може, разбира се, да създаде друг таблица, която има потребителски идентификатори и тяхната стойност на паричните средства. Но това няма смисъл. Той има смисъл да съм сложил всичко това в една таблица. Така че ние ще имаме една маса с тази информация. И тогава, каква е другата маса ние ще имаме? Ти каза, маса запаси. Какво можем пускането в масата на акции? Всеки, идеи - ПУБЛИКАТА: Компанията. JASON Hirschhorn: Отиваме да се сложи в името на компания, така AAPL за Apple. Да. Публика: Колко акции и колко те са си струва. JASON Hirschhorn: Колко акции, колко те са си струва - какво е нещо друго, което трябва в тази таблица? Аудитория: A потребителското ID, за да го индексират. JASON Hirschhorn: ID A User. Така че в тази таблица, ние ще Вероятно има - нека да кажа, че ако това е някой, който притежава три запаси, три реда, всеки с че потребителското ID или ръководство на това лице ID, но различно име на компания, различен брой акции Предполага се, и друга цена стойност за всеки на тези запаси. Отново, това, което аз казвам, че сега не е задължително прилагане, защото ти осъзнаваш, че има някои по- ефективните начини за неговото прилагане. Но това е едно добро място да започнете. OK. Така че това са две таблици, които имаме. Сега искаме да се покаже тази страница. Каква е първата вида на заявката ние ще трябва да се направи. На всяка страница, се приема, че е за употреба е влезете в профила си, имаме си потребителското ID. Така че това, което е първият вид заявката трябва да направим? Да. ПУБЛИКАТА: Тяхната потребителското ID. JASON Hirschhorn: Имаме си потребителското ID, когато ние започваме да код в в началото на нашата страница. Така че това, което е първият вид заявка ние трябва да се направи, тъй като ID на потребителя? Минахме през четири вида. Има само четири възможни отговора. ПУБЛИКАТА: Това е да изберете запис. JASON Hirschhorn: A Select - ние искаме да изберете от потребителя маса, за да се получи, да речем, тяхната сума в брой. И ние може да отпечатва сумата на паричните средства в горната част на екрана. OK. Каква е следващата вида на заявката искаме да направим? Ние имаме някои други неща ние трябва да се покаже. Тези, които се записват в друга таблица. Така че как ще да се получи, че? ПУБЛИКАТА: Вие избирате за тях. JASON Hirschhorn: A Select - отново има само четири възможности. Изберете вероятно звуци като най-подходящия. Така че ние трябва да направим още една заявка за селектиране отново с помощта на този потребител ID. И сега, ние искаме да се върне не само един ред, бу всички редове, които съответстват на нашата критерии, където потребителското ID се равнява на 1. И тогава можем да отидем и нека примка просто отпечатате всички онези, изложени на екрана, може би разпечатате на дружеството от всяка от тези на екрана. Страхотно, това звучи като това е показване на портфейла, не е много по- сложно от това. OK, потребителят след това реши, че те са много пари, останали. И те искат да купят някои повече акции от даден запас. Да речем, те вече притежават фондова прекалено на това дружество. Така че, те отиват да си бай страница. Те вход име на компанията. Каква е заявката, след въвеждането на името на фирмата, че трябва да се изпълни следващият? Да. ПУБЛИКАТА: Update. JASON Hirschhorn: Update - и какво таблица, не искате да се актуализира? ПУБЛИКАТА: Тяхната маса, базирани на тяхна ID номер? JASON Hirschhorn: Така актуализира не маса на потребителя - така актуализира таблицата запасите, където потребителското ID не само мачове, но Име на склад също съвпада. Ще получите някаква стойност. И след това, вие ще искате да се вземе тази стойност и добавете обаче много от запасите те Искам да купя от него. Така че не искам да сляпо презапишете тази стойност. Но можете да, в действителност, да вземе, че първоначалният ценим и просто го актуализира. Можете да го направите като плюс е равно, а не само за равенство. Какво е нещо, все пак - ако сме мисля за това и искаме да бъдем възможно най-стабилна - ние трябва да направим преди да стартирате тази заявка актуализация? Те искат да купят пет години от Apple. Всяка акция на Apple е $ 200. Публика: Трябва да проверим парите първо. JASON Hirschhorn: Ние трябва да проверите пари на първо място. Ние трябва да се уверете, че те разполагат с достатъчно пари. Какъв вид заявка можем да се изпълни, за да уверете, че те разполагат с достатъчно пари? ПУБЛИКАТА: Друг Select. JASON Hirschhorn: A Select - избираме въз основа на тяхната потребителска идентификация, , за да им стойност на паричните средства. Направи някои бързи математика. И ако това минава събере, те имат достатъчно пари. Тогава ще можем да тече нашия актуализация. Или може би, ако не, тогава ние минаваме. Даваме им предупреждение. OK. Разправя, че не разполагате с компания. Те си купуват нова компания. Те си купуват Microsoft. Какви въпроси искаме да направим, ако искат да купуват Microsoft? И те не притежава никакви Microsoft. Не Manu, някой друг, някой освен Маркъс? Carlos - Аудитория: A Select, за да се уверите те имат достатъчно пари. JASON Hirschhorn: Звучи добре. ПУБЛИКАТА: И след това попълните на [недоловим]. JASON Hirschhorn: Точно така, ние сме ще искате да вмъкнете в таблицата на запаси. И ние ще искате да вмъкнете. Ние можем да вмъкнете тяхната потребителска ID, името на компанията, и колко акции те искат да купят. Какви са някои други операции, които са страници или функционалност вие сте ще трябва да се приложи в P-Set 7, че ние трябва да отидем? ПУБЛИКАТА: Всъщност, аз вид има въпрос за този един. Преди да се покаже на портфейла, трябва ви проверява уебсайт Yahoo да уверете се, че цените на акциите не са се променили? JASON Hirschhorn: Това е звуци като добра идея. Така че това, което казва, е, Marcus, OK, склад Цените се променят непрекъснато. В акциите, които притежават маса, нашата таблица, наречена Запаси, ние може да спаси цена на запаса те го купи в. Но това не изглежда, че има солидни, тъй като цената на акциите е непрекъснато ще се промени. Така че в действителност, най-вероятно нямате нужда да спаси цената на акцията. Но всеки път, когато искате да покажете своята портфолио, обновите или да актуализирате в цената на акцията. И ако имате - и , което вече имате. Знам, че всички сте погледна в проблем поставя обратно вече. Ти разбра, че сме написали някакъв код за вас, че ще ви позволи да получи на цената на един склад, име на компанията. Така че, да, това може би ви звучи малко по-силен. Но тази таблица не е задължително трябва да спаси цената на акцията. OK. Какви са някои други функционалности ви трябва да приложат тази седмица, че можем да говорим? Искам да говоря за тях. Какво искаш да говорим? Това е може би в тази спекулация. Бих просто превъртете надолу до дъното на спецификацията и ме питаш първата дума ще видите, че няма смисъл. Една друга функционалност - нека да говорим за едно. Ще започнем от там. ПУБЛИКАТА: Записване историите. JASON Hirschhorn: Recording историята, страхотно един. Така че ще трябва да се следи на историята на транзакциите. Значи вие искате да следите на всеки време те купуват или продават акции. Купих моя състав. Ние току-що каза, че вероятно има смисъл да се включи Select, за да им размер на парични средства и проверете отново. Това вероятно е умен след това да се включи вмъкнете или актуализация, в зависимост от дали или не те са собственици на този запас. Ако искаме да следите една история, как можем да направим това? Ли това, че отивам в таблицата с акции? Публиката: Не. JASON Hirschhorn: Не, вероятно отива в друга маса. Защото казват, че купуват 10 акции на Apple. Тогава купи още 10 акции. Искате теглят отделни записи. Това са две отделни сделки. Така че ние имаме друга маса, История на маса. Така че отново, ние купуваме. Ние изпълни Select, след това Притурка или Update. Какво ще правим сега? Каква е следващата заявката изпълняваме когато си купуваш нещо? Искаме да следите на историята. Да. ПУБЛИКАТА: Вие искате да следите на неизправните сделки също. JASON Hirschhorn: Ами, преди да се каже какъв тип сделка, какво искаме да - Какъв тип заявка, Карлос, би ни позволи да следите на нещата като цяло? Имате четири предположения. Кой мислиш? ПУБЛИКАТА: Актуализиране. JASON Hirschhorn: Не се актуализира. Какво е второто си предположение? ПУБЛИКАТА: Избор. JASON Hirschhorn: Ако искате да запазите следите на нещо, вероятно ще пожелаете да го запиша някъде или да го запазите за по-късно. Така че, ако не се актуализира, а след това - ПУБЛИКАТА: Поставете я. JASON Hirschhorn: Insert, там отиваме. Да, така че можете да изберете размера на пари в брой, което имат, звучи страхотно. Те не разполагат с достатъчно пари в брой. Тази сделка няма да работят. Не, не е нужно да следите сделка, ако тя не работи. Или можете, ако искате да им даде твърд време. Но не е нужно да. След това поставете или обновяване в масата им запаси. И сега, че имате друга вашата трапеза. Вие имате история на маса или каквото и да искате да го наречете. И в тази таблица, вие ще за да вмъкнете нов ред. Това вероятно ще има ID на потребителя. Това вероятно ще има името на акцията. Това вероятно ще има време, че те го направиха. И в този случай, вие LL вероятно искате да вмъкнете цената. Защото за една история, не знаеш пука каква е текущата цена. Можете интересува каква е цената, когато те купуват или продават нещо. Така че това звучи като, за да приложат купуването напълно включва редица различни SQL заявки, но честно казано, не че много код като цяло. OK. И който се грижи за историята. Да кажем, ние искаме да показване на нашата история. Ние говорихме за показване нашето портфолио. Как бихме могли да се покаже нашата история? ПУБЛИКАТА: Вероятно хронологично. JASON Hirschhorn: Предполага се, че в хронологичен ред - какво заявка мислиш, че ще използвате? Аудитория: A изберете. JASON Hirschhorn: A изберете - изберете може би всички редове от таблицата които отговарят на потребителското ID и след това ги покаже в хронологичен ред, звучи добре. Трябва ли да се напише код, за да подреди чрез този списък? ПУБЛИКАТА: Не, защото ти казах ни има възходяща и низходящ нещо. JASON Hirschhorn: Thing? Публика: Да. JASON Hirschhorn: Да. ОК, не се обръщат в код, за да ме, че ръчно сортира чрез вашите заявки, да ги сортирате. Този код вече е дадена. Можете да напишете Select заявка че сортира неща. Подреди ги предварително и след това да ги отпечатате. Той прави много повече смисъл да се направи това по този начин, отколкото в другата посока. Да. Публика: Трябва ли да ги сортирате предварително? Това означава ли, че сте на сортиране тях в базата данни? JASON Hirschhorn: The Select заявката ги връща да ви сортирани. Така че направи това, а не просто да ги има се върне към вас в произволен ред и след това да ги сортирате себе си. Да. ПУБЛИКАТА: Има ли начин да я държи подредени в самата база данни, така че не е нужно да се справи то всяко ваше време - ПУБЛИКАТА: Можеш ли да го вмъкнете сортираните? JASON Hirschhorn: Въпрос - Има ли значение, че нещата са подредени в базата данни? Публиката: Не. JASON Hirschhorn: Е, те са подредени. Те са подредени в хронологичен ред. Но нека да приемем, че нещата са подредени хронологичен ред, от горе до долу. Имаме форма Google. Всеки път, когато някой отговори на нашия Google образуват, той просто получава поставени в дъното на тази таблица. Има ли значение, че нещата са не подредени в хронологичен ред? ПУБЛИКАТА: Ако това не е хронологичен, не трябва да го сортирате всеки път ви отведе информация навън. Но ако това е вече подредени, не можеш не трябва да направите, че допълнителното извикване на функция? JASON Hirschhorn: Така че това е всъщност е добра точка. За нас като програмисти, тя може да е от значение. И ние може да искате да намерите база данни че не подреди нещата хронологично. Или се създаде нашата база данни, поради което поддържа неща, сортирани по потребителското ID. Така че по този начин, да речем, имаме 1000 потребителски идентификатори. Или Facebook, имаме милиони на потребителски идентификатори. Ние не искаме нашата маса да бъде само случайни или нашата база данни, за да бъде на случаен принцип. Би било хубаво, ако всички потребителски идентификатори са сортирани. Така че след това можем да стартираме двоични търсения на нашата трапеза и след това просто да намерите специфично парче. Така че, да, в зависимост от това - ако ние мащабирани нагоре, ние може да искате да намерите база данни че съхраняват неща сортирани по различен начин, така че тези заявки ще отнеме по-малко време. И ние не трябва да мине през нашата Цялата база данни във всеки един ред в дадена маса. Но нивото ние работим в, ние не е нужно да се притеснявате за водене неща сортирани. Можем да предположим, че времето, необходимо тази заявка да тече ще бъде незначителен, имайки предвид това, което че си имаме работа с. Но да, страхотна идея - както в мащаб се изчисляват, то може да има смисъл да създаваме нашите база данни, в малко по различен начин. Една последна база данни дизайн нещо искам да се спомене, както и, защото ще да се сортират, или отбелязани по-скоро, на дизайна на вашата база данни. Ние говорихме за това. Cash е уникален за всеки потребител. Така че имаш таблица, наречена парични средства, които има си потребителското ID и тяхното количество пари в брой и след това таблица, наречена Потребителите, които има потребителя си ID и тяхното потребителско име. Тези таблици Карта върху всеки другата-към-едно. Той вероятно има смисъл за тях, за да бъде една маса. Така че нека да приемем, че имате потребителски таблица, която следи потребителски имена и пари в брой. Сега имате таблица, която има запаси индивидуална притежава. И индивид може да притежава повече от един склад. Така че те не върху картата всеки друг един към един. То няма смисъл да има един гигант таблица, която има 30 записи, които всичко се повтаря потребителско име, че всички Повтарям парола, че всички повторете няколко пари. Но може би всеки има различен състав име или друга цена, наличност. То няма смисъл да има че много големи записи. Бъдете умни за когато създавате тези бази данни, така че да не се правят нещо глупаво като това, повтаряйки много ненужна информация. OK. Ние имаме оставяли две минути. Хората отвън са развълнувани да се присъединят към нас или може би, вероятно, започнат свой собствен клас. Дали някой има някакви въпроси преди да довърша? Добре, това наистина беше вихрушка през всичко. Извинявам се, че тя е трябвало да бъде толкова бърз и че ние не може да бъде толкова ръце на тази седмица, тъй като щях да Обичаше да са били. Но, ако имате някакви въпроси относно всичко, което се приближи или нищо този проблем в стаята - Ако предположим, че сте го прочели и сложи в усилията на добра воля - не се колебайте да ми пишете или да се свържете с мен. Аз съм повече от щастлив да работи през код със себе си или отговори на всеки въпроси, които имате. Имайте предвид, че, тази седмица, много времето си ще бъдат изразходвани изучаване на нов синтаксис и се опитва да разбере как да напиша SQL заявки или PHP функции или сделка с рамка MVC. А много от времето си през тази седмица вероятно няма да се опитвам да разбера луд логика, че сме те моля да направиш. А много от него ние просто се приближи е относително лесно. Така че това не означава, изчакайте до последната минута. Но това не означава, настроите как да си вършите работят съответно, да се уверите, ти разбиране и изучаването на синтаксиса. Така че ти не си, изведнъж, знаейки точно това, което искате да направите, но с никаква представа как да точно го напиша. Добре, ще се видим следващата седмица.