ЈАСОН Hirschhorn: Добредојдовте сите осум недела. Имаме возбудлива недела пред нас. Вие момци сте гулаб во овој изминатите неколку на предавања во PHP, SQL, HTML, CSS, па четири бренд нови јазици што се случува да ги преземат остатокот овој курс. Ние, исто така, ќе научат на неколку други јазици, пред крајот курсот. Но во секој случај, не е потребно да се каже, ова е многу возбудливо време во CS50, сега ја совладале Ц, наводно, и се да се пресели на програмирање за веб-сајтови. Така оваа недела, ние ќе се обидеме да се оди на виорот турнеја низ четири јазици јас само споменати, HTML, CSS, PHP и SQL. И се надевам, ние ќе ги остават многу време на крајот од делот да се зборува за оваа недела P собата и одговор било какви прашања на сите што треба. Секоја недела, истата листа на ресурси за вас, за да ви помогнеме да со недела проблем во собата и ќе во текот на материјал - но оваа недела особено, за овие веб-базирани проблем сетови, постојат мноштво на други ресурси од таму дека најверојатно ќе најдете неверојатно корисни. Јас ги имам тука. Јас ќе ти ја по email оваа по дел, и ова исто така се онлајн. Но особено, постојат многу на големи ресурси таму. Исто така има и некои не толку голема оние, па бидете внимателни на оние. Но, на овој слајд, имам четири добри ресурси, еден за секоја од јазици кои ќе се работат со оваа недела - еден референтен лист за HTML, референтна листа за CSS. Ова право тука е упатството PHP. Така, наместо на пишување човек, а потоа на PHP команда, ова е местото каде што би одат да се погледне до функцијата прототип и примери, а исто така некои совети и трикови за користење на PHP функции. Ќе го искористите овој сајт често, па јас ги охрабри да стане запознаени со него. Тоа може да биде малку технички, но тоа исто така, обезбедува еден тон на ресурсите и примери за сите функции и дури и други, како и како да се користи низи или различни типови на променливи. Овој сајт е многу корисна за PHP. А потоа, за SQL, ако полноглавци во овој недела проблем сет, ќе знаеш дека ние сме со користење на база на податоци. И ние пристап таа база на податоци преку релативно убаво кориснички интерфејс. Или тоа е еден начин за пристап таа база на податоци. Корисничкиот интерфејс е наречен phpMyAdmin. Има SQL табот, кои ќе погледнете подоцна денес. И што можете да напишете во нивните мостра SQL прашања, да се прават работите во вашата база на податоци а потоа се кандидира оние пребарувања. И ако тие се точни, тоа ќе велат, ова е точно. Ако тие се неточни, тоа ќе да речеме, тоа е точно. Тоа е одлично место за да се практикуваат својата SQL queries пред пишувањето на нив во вашиот код, да бидете сигурни дека имаат форма точно. Конечно, еден друг веб-сајт овде. Ова е веб-сајт каде што можете да оди и провери да бидете сигурни дека вашата HTML кодот е валиден. Значи пред да наполнат своите проблеми постави оваа недела, бидете сигурни дека сите Ваше HTML е валидна. Минатата недела, сте имале се кандидира valgrind, да бидете сигурни дека нема меморија протекување. Оваа недела, треба да бидете сигурни дека сите на вашиот код е валиден HTML5. Ако не е валидна HTML5, ти си ќе добиете поени исклучени. Така бидете сигурни - само поради тоа што работи не значи тоа е сосема валиден. Го стартувате вашиот код преку оваа интернет страница пред да наполнат внатре Повторно, тука е веб-сајт. Ако имате било какви повратни информации за мене, имаме уште неколку секции лево, и јас секогаш сакате да го направите она што можам да да сите ви обезбеди со најдобрите секција искуство е можно. Па дозволете ми да знам дали има нешто што може да се направи за да се подобри или ако постојат нештата што ги гледаме дека би можел да го направи подобро. Ви благодарам, Ави. Го стави на веб-сајтот. Ова беше Велосипеди имав кога беше, да речеме, четири дома. Тоа е тинејџерскиот мутант нинџа желка велосипедизам, во случај да не може да се каже, затоа што тоа е малку појасна. Можете да го имате сега во ToysRUs за, мислам, околу $ 100. Но карактеристика на овој велосипед кој сакам да обрнат внимание на се овие токму тука. Овие се тркала на обуката. До сега, сте биле рачни преку В И ние потребно долго време, два месеци плус, да се оди преку В За овие следните неколку јазици, ние нема да поминуваат толку време. Тркала обуката се излетаат. И ние ќе се нурне во овие јазици брзо и се движат преку нив брзо, што не е да се каже дека ние сме само ќе ве остават пливање таму без начин да се поддржи себе или дознаам како овие јазици работат. Јас само ти го покажав листа на ресурси за да ви помогнат. Но, имајте на ум дека PHP е неверојатно слични на C. Ние ќе одиме преку тоа уште денес и некои од разликите. Но, во најголем дел, постојат за петелки. Постојат ако услови. Кога сакате да го реши проблемот, сте ќе треба да се користи комбинација од нив. Тоа е многу слични. Логиката треба да биде многу сличен на што сте го направиле во минатото. Она што е навистина ново оваа недела е синтакса и како да се изразат. И сакате да се напише за телефонска линија, но тоа може да изгледа малку поинаква. Или сакате да се создаде низа, но тоа може да изгледа малку поинаква. Значи имајте на ум дека, движејќи се напред, логиката е многу сличен на она што сте го направиле во минатото. Но ти си сега се случува да се наиде на многу нови синтакса. И ние не се случува да ви прошетка низ сите елементи на синтакса. Така, тоа е навистина зависи од вас да дознаам, онлајн или преку дојдеме на Дискутираат или испраќање мене или да разговараат со еден на друг, како да се напише работи во PHP и како да се напише SQL queries и како да се користи HTML и CSS. Но само да знаете, тоа не е толку ние се обидуваме да го исфрлам од таму повторно да пливаат ајкули. Тоа е она што, најверојатно, ќе се прави со вашата крајна проект, ако изберете различен јазик, како IOS и Цел C, или, ако одлучат да почнат програмирање во иднина и нурне во други јазици, како Пајтон или Руби. Честопати, логиката е многу слична во сите овие јазици, и Синтаксата е она што е различно. И тоа ќе биде до вас, како програмер, да одат користите веб ресурси достапни за вас и фигура како да го изразат она што знаеш како да го изразат во C, во различен јазик. Па ова е добра практика, и за вашите финалниот проект, и повторно, за она што, најверојатно, ќе направи откако ќе ја напушти CS50. Пред да се движи, Дали некој имате било какви прашања во врска со она што Јас го направив досега? Одлично. Ајде да се движат натаму. Прво, ние ќе зборуваме за кратко за chmod команда. Ова, ние ќе го направиме на почетокот на вашите проблеми во собата. Еден од првите инструкции за вас, откако ќе го симнете дистрибуција код, е да се смени дозволите на датотеки и директориуми добиваш. Некој може да вложување на Претпоставувам или знаете зошто е важно да се промени дозволи на одредени датотеки и директориуми на вашиот компјутер? AVI - ПУБЛИКАТА: Тогаш никој, освен за можете да видите она што го правиш? ЈАСОН Hirschhorn: OK. Значи, ако сакаме да се стави нешто на веб и имаш дозволи сет кој само може да се види нешто, тогаш никој друг не може види она што го направивме. Што друго? Да. Публика: Без било кој друг што ќе не сакаат да се види нешто, од види нешто. ЈАСОН Hirschhorn: Тоа е точно, исто така. Таму е веројатно некои код кој ти пишувам, дека не го стори сакате луѓето да ја видите. Ти си веројатно во ред со луѓето гледаат HTML и вашиот JavaScript. Но вашиот PHP, задниот крај код, многу логиката на вашиот код, можеби работи кои ги чувате некои од вашите лозинки за вашите бази на податоци, вие не сакате луѓето да се види дека тип на информации. Значи важно е дека секоја датотека и директориум ние создаваме има дозволи применливи за тоа дали или не сакаме луѓето да видат оние типови на датотеки и директориуми и да бидат способни за пристап до нив и потенцијално дури и да ги променат. Па така постојат три вида на дозволите. Има дозвола за читање, што значи ќе можете да прочитате датотеката или листа на содржината на директориумот. Има дозвола за запишување, која значи можете да ги менувате датотека или промена директориумот и потоа изврши дозвола, што значи дека може изврши датотека или подобро кажано, можете може да се движи во директориумот. Значи ЦД нешто, ако имате дозвола да го изврши, можете да се движите во тој директориум. Ова е краток пример. Повторно, сте поминале во текот на овој во проблемот во собата. Но јас се создаде директориум со Командата mkdir. Јас промена на дозволи. Овие две линии всушност се направи иста работа. Тоа е да се илустрира дека синтаксата за менување дозволи, без разлика дали ќе го направите на a + x или 711, тие се исти. Ние се погледне надолу на оваа убава маса. Можеме да видиме дека постојат корисник дозволи во прв план. Тоа е вас, на поединецот, и Вашиот сервер, потенцијално. А потоа, тука е група и други. Разликите помеѓу овие две се релативно тривијални. Значи генерално, ќе грутка оние заедно. Но во суштина, ако имаме датотека наречен вклучува дека сакаме да бидеме можност да се променат и дека сакаме другите за да може да се изврши, тоа е дозвола 711. И гледаме дека надолу овде, во оваа табела. Имаме читате, пишувате, и извршување. За секој од нас, ние сакаме да да биде во можност да се направи тие. Група и други, ние само сакаме да бидат во можност да се изврши. Начинот на кој ние се преведе дека во голем број на дозвола е преку бинарни. Значи, ако имаме три оние, тоа е 1 во оние колона, 1 во twos колона, 1 на четири колона. Тоа е 7 во право таму. И оваа дозвола е 1. Оваа дозвола е 1. Така 711 кога е иста како и давање се читате, пишувате, и извршување, и сите останати изврши привилегии. Оваа линија токму тука, ние обично ќе се читаат и пишуваат, кога ние Креирајте директориум. Па оваа линија тука само додава изврши привилегии за секого. Така што ќе биде слично на, во Покрај она што го имаме, додавање на 1, 1, 1 до секого. Со оглед на тоа, тоа е непотребен за да додадете читаат и пишуваат. Но, ако ви се случува да се користи броеви, не само да додадете нешто. Можете да запише што дозвола се таму и да ги имплементира со новиот број ви даде. Тоа беше прилично брзо. Дали некој има било какви прашања за промена на дозволите? OK. Ако имам PHP фајл, што дозволи сакам тоа да имаат? Ова е во проблемот сет спецификации. Па може да се погледне на спецификации и потоа ме чита одговор. ПУБЛИКАТА: Сакате на корисникот да имаат за-читање пишуваат дозволи. И сакате сите друг да нема ништо друго. ЈАСОН Hirschhorn: И што броеви е тоа? Публика: 600. ЈАСОН Hirschhorn: 600. Па chmod 600 - секогаш кога ќе се печати датотеката PHP, тоа chmod на 600. OK. Имам директориум. Некој покрај Џеф, Имам датотека папка. Што дозволи сакам да им даде на таа папка - Исто така во проблемот постави спецификации, веднаш под овој одговор или претходниот одговор? Исто така, потенцијално на слајд - Маркус. ПУБЛИКАТА: За папка, тоа е 711. ЈАСОН Hirschhorn: 711 - па папка, сакате да им даде 711. Сакате да бидете во можност да го прочитате таа папка, промена директориуми, се движат во таа папка. И сакате сите други да бидат во можност да се движите во рамките на таа папка, но не мора да се промени нејзината содржина. Она што за не-PHP фајл, велат, го вклучите Javascript-датотека? Што дозволи сакаме да им даде на овој тип на датотека? Публика: 644. ЈАСОН Hirschhorn: 644 - зошто ние сакаме да го 644 даде? Публика: Да ги споделите со други луѓе го прочита. А ти прочита или запише неа. ЈАСОН Hirschhorn: Значи во право, секој друг не може да се прочита дека го вклучите Javascript-датотека. И можете да ги менувате дека, покрај да биде во можност да го прочита. Значи една од најчестите грешки луѓе имаат со овој проблем се постави и нивните финалниот проект, ако тоа е веб-базирани конечна Проектот е, тие нема да имаат поставено соодветни овластувања. И тие не ќе бидат во можност да ја видат својата веб-страница. Или одреден дел од нивниот веб-сајт. Така бидете сигурни дека ќе го поставите дозволи правилно. Немојте само да се претпостави дека тоа ќе направете го тоа автоматски за вас. OK. Тоа беше една мала нешто што ние потрошени добар износ на време, па така ние би можеле да го помине. Ајде да се движи во HTML. И повторно, за овие наредните четири теми, ние ќе оди преку нив релативно брзо. Па ве молиме да се чувствуваат слободни да ме спречи во било време, ако имате било какви прашања, дали тие се поврзани со она што јас го покрие или нешто од предавање или дури и од проблемот во собата. Ме запре кога ќе треба. Кога ќе дојде до крајот, ние само ќе тргнат во текот на проблемот во собата. Па HTML залага за хипертекст Markup Language. Тоа не е програмски јазик. Сето тоа е структурата на вашата содржина и исто така обезбеди некои метаподатоци. Така на пример, веројатно, многу од сте го користеле Фејсбук порано. И можете да го вклучите врски во, или можете може да се стави линк како ваш статус. И тогаш, ќе забележите дека врската секогаш има убав слика кон неа, и некој текст. Општо земено, тоа е некој метаподатоци за веб страница. И тоа е Фејсбук специфични метаподатоци. А потоа, кога Фејсбук е читањето дека страница и вметнување на линкот, тоа изгледа за специфични метаподатоци, па затоа знае што слика да се прикаже, што насловот да се прикаже, и она што апстрактни текст да се прикаже. Па ние може да вклучуваат метаподатоци со нашата веб страница користејќи HTML. А исто така ни помага структура содржината, генерално, она што ние сакаме да одиме каде. Се што е во HTML елемент. И елементи, токму тука - овој CS50, текстот е на елементот. И таа има неколку тагови. Таа има овој таг. И кога ќе забележиме постои една на почетокот, а потоа на коса е, па затворање на ознака на крајот. Понекогаш, таму не е отворен таг и блиски таг. Има само едно нешто. Ќе видиме пример за тоа на следниот слајд. Значи, вие не треба отворено и близок таг. Но, за ова, ние сме обвивка овој CS50 елемент во сидро таг. А во суштина, овие тагови каже прелистувачот што да правиме со на одреден елемент. Значи, повторно, CS50 е текстот ние ќе се види. И тоа се случува да биде еден вид на сидро. Сидро е во суштина се користат за линкови до нешто. Особено, како што можете да веќе се каже, ова е водат до CS50 почетната страница од пребарувачот. Следниот дел на етикетата - или, генерално, дел од тагови кои се атрибути. И гледаме токму тука, дека на таг има една атрибут, овој href атрибут. И тие менувате одреден таг. Всушност, ако одите на една од веб-сајтови или референци ви дадов пред или погледне до таг онлајн, ќе забележите постојат еден тон на потенцијални атрибути. Ова е веројатно еден од најчестите. Ова е ми кажуваше да се создаде водат до одредена веб-страница. И атрибути обично се дадени, ако не и исклучиво дадени, во клучните вредност парови. Па тука е клучот, href. А вредноста е овој овде. И дека ќе ни се најде подоцна, кога ќе почнат да го користат некои библиотеки да да ни помогне код во вклучите Javascript- или пишувате HTML содржина. Ние често се случува да биде - исто како и ние би го направил низа заграда 0 и дека ќе ни даде некои вредност. Во иднина, ние ќе се прави многу работи како нешто заградата href. И тоа ќе ни даде на вредноста на href, или ако сакаме да се ажурираат href копчето и потоа го даде одредена вредност. Значи исто како и со низи, каде што имаше копчето 0 или копчето 1 или копчето 2 или дури и со хаш табелата, добро, со хеш табели како и, веројатно имаше - тоа беше низа, па клучот 0, копчето 1, клучните 2. Дека индексот има, може да се мислам на тоа како клучна. А вредноста е она што беше чуваат таму. Сите овие атрибути се клучните вредност парови. И дека ќе биде важно за менување нив или ажурирање на нив или вметнување на нив подоцна. Конечно, сте виделе оваа структура пред, но ова е најосновна структурата на HTML страница. На врвот, ние ви кажам дека ова е всушност HTML. И тогаш имаме отворена HTML таг и близок HTML таг. Па сè внатрешноста на ова е HTML. Можеме да видиме на главата и телото. Главата на вашиот документ обично вклучува што? Секое нагаѓања за тоа што стави во глава? ПУБЛИКАТА: Вие го стави на насловот и стил. ЈАСОН Hirschhorn: Насловот. Тоа беше голем погоди. Јас може да ви падна исклучување на. Кои се некои други работи? Ние спомна еден од нив што би можеле да одат во главата. Публика: Тој рече стилови. ЈАСОН Hirschhorn: Стилови - па ако сакате да се поврзе во вклучите Javascript- или дури и CSS, која ќе зборуваме за кога ќе зборуваме за стилови. Друга датотека, сакате да се поврзе во надвор датотека, која веројатно ќе се случува во главата. Што друго? Ние спомна неколку слајдови пред една од работите што HTML може да направи за вас. Тоа може да обезбеди - започнува со M - Публика: метаподатоци. ЈАСОН Hirschhorn: Метаподатоци - толку многу на метаподатоци ќе одат во главата, затоа што тоа не е задолжително ќе треба да биде дел од телото на вашиот код. Тоа е генерално - телото е содржина, што некој ги гледа. И така јас само ги раздаде на одговор до мојата следна прашање. Но во телото е генерално содржината што се случува да бидат прикажани на веб-страница. Како што ќе видиме, комплицирани веб-сајтови имаат тенденција да се мешаат или промена на она што тие се стави во главата и телото. Но генерално, шефот содржи нешта дека корисникот нема да види на екранот. Таа поврзува со други датотеки и обезбедува метаподатоци. Каде што, на телото содржи сè корисникот нема да видите. Секоја идеја што е ова p таг значи? Публика: Ставот? Публика: Печати. Публика: Не значи печатење. Публика: Дали тоа значи став? ЈАСОН Hirschhorn: Ставот - така што ова е став. И ова стр таг, јас може да има само отчукува ова на екранот, а потоа вклучени на ред на крајот од неа. Некој знае како да се вклучат линија пауза? ПУБЛИКАТА: PR - ЈАСОН Hirschhorn: PR - Публика: Slash ПР? ЈАСОН Hirschhorn: PR коса црта се залага за прелом на ред. Но ставовите имаат посебни форматирање. И ние ќе дојдеме до форматирање во Второ, кога зборуваме за CSS. Но, сè во внатрешноста на овие стр тагови ќе има некои стандардно форматирање поврзани со него, веројатно некои проред помеѓу различни ставови. И тоа ќе биде еден од начините да се разликува блокови на код. Било која друга тагови - што се други тагови дека сте виделе? ЈАСОН Hirschhorn: Н1 преку h6. Н1 преку h6, и што е тоа? Публика: Тоа ќе го означи како голем и храбар букви се. ЈАСОН Hirschhorn: Точно, таа се залага за заглавието. И така header1 е голем заглавието. Тоа ќе веројатно, по дифолт, биде храбар, а голем големината на фонтот, најверојатно во центарот на на екранот, на целиот пат до h6, кој е помал големината на фонтот, помалку нагласена. Се разбира, можете, во си CSS датотека или некаде во вашиот код - што, повторно, ќе дојдеме до дека во една секунда - промени она што стандардно однесување на Н1 таг е. Но, имајте на ум дека Chrome, Safari, Firefox, Internet Explorer сите имаат стандардно изгледа за многу овие стандардни тагови. Можете да, повторно, секогаш промени она што тие изгледаат. Било која друга тагови дека секој го видел? Да - Публика: А div сајт. ЈАСОН Hirschhorn: А div таг - div таг не имаш вграден во формат, по себе, што се користи за да го блокира различни видови на код. Било која друга тагови? Да. ПУБЛИКАТА: Li - ЈАСОН Hirschhorn: Li - она што е Li за? ПУБЛИКАТА: Листа. ПУБЛИКАТА: Листа ЈАСОН Hirschhorn: Ли е за елементи од листата. Постојат два типа на списоци. Кои се два вида? Публика: подредени и неподредени. ЈАСОН Hirschhorn: нарачани и неподреден - па ул штандови за неподреден список. Тоа е ако сакате куршум точка, листа на куршуми. Подредена листа е нумерирана листа. И така ќе направите отворен ул таг и потоа тони на елементи од листата, а потоа затвори ул таг. и дека ќе креирате неподреден список. Ние ќе видиме некои примери на HTML во малку. Но пред тоа, сакам да се дојде до CSS. И CSS стои за Cascading Style Sheets. И ова е многу тесно поврзана во HTML но малку поинаква. Ова ви помага да го форматирам сите содржини дека HTML структури. Па во CSS, ние обично не сакаат да стил секоја насловот или на секои една слика или секоја еден став. Ние сакаме да стил некои елементи или можеби специфичен елемент. И начинот на кој ние Стил специфични елемент е да се даде проект. Па ова е атрибут. Таа има клуч и вредност. ID е клучот. Користење на логото е вредност. Јас зедов логото случајно. И ако ви даде нешто лична карта, Општо земено, тоа треба да се даде само на еден елемент. А потоа, во вашиот стил на состојба, можете да стил кој одреден елемент, сепак што сакате да се погледне. Ако сакате да стил голем број на елементи, можеби е одредена класа на заглавија, само некои од вашите заглавија. Можеби тоа е насловот и некоја слика и некој став сите што сакаат да бидат во центарот. Тогаш може да се даде на оние групи на елементи на сите класа. И може да се даде на класа специфични стилови. Значи ID и класа два начина да се растури вашиот код, па можете да помогнете да биде повеќе специфични за она што стил. Постојат три начини да стил. Првиот е со овој стил атрибут. Така што гледате, клучот стил е стил. Стил вредност е всушност друга листа клучните вредност. Во овој случај, јас зедов една буква, text-align. И реков, центар. Може да се бара себеси во овој точка, како не знам за text-align. Што значи дека дури направам? Тоа е големо прашање да прашам, и ние ќе стигнеме таму за една секунда. Значи тоа е еден начин да стил нешто, само да го даде стил атрибут. Друг начин да стил нешто не е во - ова е Akshar споменати претходно. Можете да го користите во стил-тагови и го стави тоа во главата на вашиот HTML документ. Па ти си во основа велејќи: содржината внатре тука некои стил содржина. И форматот за тоа е нешто што сакате да стил, а потоа, во внатрешноста на тркалезните загради, на клучните вредност пар атрибути кои сакате да им даде на дека конкретен тип на елемент. Конечно, и ова е Највообичаен начин. И ова е начинот на кој ние направете го тоа во стр сет 7. Тоа е надворешен стил лист. Па имате. CSS датотека. И во него, ќе видите многу работите кои изгледаат како оваа, името на некои од типот на елемент или лична карта или класа, а потоа, во внатрешноста на кадрава загради, листа на клучните вредност парови. Се разбира, ако се создаде надворешен датотека, си оди за да треба да го вклучуваат - остри вклучуваат, кои би биде C аналогија - во HTML датотеката. Значи мора да се вклучи оваа код во HTML датотеката. Ова е името на датотеката и претпоставувајќи дека е во истиот директориум. OK. Тоа беше многу. И ние сме сега се случува да дишат и да бараат на некои реални, живи веб-сајт и истражуваат ова повеќе. Но, пред да го направите тоа, дали некој имате било какви прашања? Значи, ако сакате да го направите ова, заедно со мене, можеме да одиме на апаратот. И го одбрав CS50 Главна страница. Можете да го направите тоа со било кој веб-сајт. Но, зошто да не почнеме со на CS50 почетната страница од пребарувачот? Ајде да се одмориме. Јас всушност препорачуваме да прави ова, заедно со мене, затоа што она што ние се случува да се направи сега ќе биде неверојатно корисна за вас, не само во P-Сет 7, но во P-Сет 8, како и. Да. Публика: Дали постои начин да се направи коментари во HTML, без користење на PHP? ЈАСОН Hirschhorn: Да, можеш даваш коментари во HTML. Публика: Што е синтакса? Публика: извичник цртичка цртичка. Публика: OK. ЈАСОН Hirschhorn: Да. Тоа е синтакса. Можете да го направите коментари во HTML. Можете да го направите коментари во PHP. Како што ќе видите, коментираат во HTML ќе уште се појавиш, кога ќе се погледне на HTML код на одреден сајт. Значи ова cs50.net. Ако десен клик во повеќето современи прелистувачи на повеќето било страница, ќе видите извор на страната. Па ајде го направи тоа на CS50. И овде и овде, ние види гигант работа. CS50 всушност изгледа многу убаво. Многу веб-сајтови нема погледнете оваа убава. Ако одите на почетната страница на Google и го отвори. Тоа нема да изгледа оваа убава. Но ќе забележите дека, на врвот - ова е вид на мали. Да се ​​направи ова поголем. OK. На врвот, DOCTYPE HTML, тоа е познато. Тогаш можеме да видиме на отворен HTML таг и главата, токму тука, сите на овие мета тагови. И можете да ја видите оваа Труд, не ќе одат во тоа сега. Но, јас сум речиси позитивни во тоа оние ќе биде Facebook. Тоа е всушност Фејсбук. Мислам дека се залага за отворени графиконот. Значи се сеќавам, бев се спомене постои Faceboook специфични метаподатоци можете да им даде на една страница. Тоа е она што е во право тука. Па кога ќе ја поврзат оваа страница на Фејсбук, сликата тоа се случува да се покаже Дали оваа слика е во право тука. А ти всушност да се види дека тоа е Фејсбук, затоа што тоа е сликата Фејсбук. Но во секој случај, ние сме добивање настрана. Па ние имаме некои метаподатоци тагови тука. Гледаме насловот на CS50. И повторно, насловот е она што се случува тука во јазичето пребарувач. Го гледаме ова е поврзување во, токму тука, надворешен го вклучите Javascript-датотека. Ние не се зборуваше за вклучите Javascript-многу, но следната недела - и, секако, ако правиш веб-базирани проблем во собата, ќе биде со користење вклучите Javascript-. Ова е како да се поврзат во надворешните JavaScript датотеки. Гледаме токму тука, конечно, CSS стилот на состојба, што ги документира овие стилови на овој код. Ајде всушност отворите дека и погледнете навистина брзо. Ова изгледа лудо. Не постои начин јас би бил можност да се чита преку. Па можете да всушност иако, ако се земе погледне, може да се вид да се види дека постојат - таму ќе одиме. Што личи на нешто што сум го видел пред, боја на позадината, тоа поставување еднаква на некои црвено-зелено-сино вредност. Овој материјал кој вид на не треба да се чини дека странски, иако, кога се претставени како овој, тоа може да биде малку преголема. Ние нема да се погледне на овој CSS датотека или поминуваат многу време на неа, затоа што тоа е, повторно, прилично тешко да се прочита. Да се ​​вратиме на ова HTML страница за CS50. И ајде да дојдете до телото. И внатре гледаме овој div таг. Гледаме насловот, токму тука. Можеме да видиме на сидро таг. И овој елемент на листата е дадена специфична класа. И гледаме дека класата се повторува одново и одново. Таму ќе се Кертис. Постои коментар во HTML5. И штом ќе забележите, ние се уште може да се види тоа, но тоа не е showing up. Тоа е всушност навистина интересно. Тоа изгледа вака листа резултати елемент е коментира надвор. Ако одиме на оваа страница, повторно, сè уште се појавува таму, толку интересно. О, тоа е зошто, затоа што на овој следната линија. Што друго можеме да видиме на интерес? Остатокот на ова е повеќе збунувачки, во справување со овој десната половина на сајт, кој е малку малку посложена. Значи тоа е она што некои HTML ќе изгледа. За мене сепак, ова е малку огромна, а ова не да ми помогне многу. Сепак, има нешто што не, всушност, да ми помогне многу. И тоа е она што јас го користам кога јас сум се обидувам да дознаам како нешто изгледа онака како што изгледа, или како може Јас се прават промени на мојот вебсајт. И дека е инвеститорот алатка која е вградена во Хром. Значи, ако одите на овие три барови право тука и се спуштаме до алатки кликнете на Алатки за програмери, малку прозорец ќе pop-up на дното од страницата. А особено, Хром, бидејќи тоа е прекрасна, ќе го форматирате овој прозорец и земе HTML и го направите да изгледа многу поубав за вас. Па сега тоа е всушност некои склопувачки HTML дека можете да истражуваат за да ги провери елементите на страната. Ако сакаме да се погледне на телото, тоа всушност нагласува. Кога ќе дојдете во текот на еден дел од HTML, во овој прозорец, тоа ќе нагласи дел тоа зборува за во големите прозорец. Па да ми повторно се обиде и разнесат овој се малку. OK. Па ајде отвори телото. И јас сум лизгање во текот на овој левата div. И ќе забележите дека тоа е истакнување овој левата половина на екранот. Па ајде кликнете на и да ги прошират тоа. Во него, тоа изгледа како постојат два Divs. Има оваа прва div. Јас не гледам дека истакнат. Не знам, но тоа би изгледало вака втората, лево внатрешна, е содржината на левата страна од екранот. Потоа, тука е тоа нешто наречено заглавието. Изгледа дека е истакнување на CS50 дел. Ако ги отвориме дека горе, можеме да видиме дека тоа е ништо повеќе од насловот 1. Тоа е дадена проект, а тоа е со оглед на текст cs50. Па уште еднаш, гледа во него, преку овој конзола или со користење на алатки за развој панелот на дното на екранот прави истражување на оваа веб-страница, се надевам, на многу помалку застрашувачки и многу повеќе достапни. Таа, исто така ни овозможува да се разбере дека оваа веб страна, и покрај тоа што изгледа многу убава и убаво, не е толку многу повеќе од она што ви се случува да биде прават на проблем Постави 7. И ова е сосема во рамките на вашата способност да се создаде. Ако сакаме да - на други кул работа во врска со користење на овие алатки е, ако десен клик на наслов, можете да ги менувате HTML. Па ајде да го наречеме Џејсон. И сега Вие ќе забележиш јас се менуваат HTML кодот на оваа страница. Се разбира, јас не се променети тоа трајно. Ако јас се освежи мојот интернет пребарувач, тогаш тоа ќе се врати на оригиналниот HTML. Но понекогаш сакате да debug мојот код, и јас не сакам да се погледне само имам gedit прозорец и се обиде да се разбере што се случува. Сакам да ја видам што ќе се случи во живо. Па ќе се променат кодот вака и да добијат него, како што тоа сакате да се погледне. А потоа јас ќе се направи промени во мојот код. И сметам дека тоа е многу полесно кога можете да направите работите моментално, како што. Да речеме, пак, сакаме да се направи уште шанса, бидејќи ние сме истражување со HTML и CSS, токму сега. Можам да ги менувате HTML токму сега. И јас одам да го вклучите линк. Па јас сум ќе се смени дома CS50 е страница, така што ќе водат до - да речеме - мојот дом страница. Што е името, ако некој се сеќава, или што е атрибут сакам да им даде да сидро јазиче кога сакам тоа да се поврзе на некое друго место? Публика: href? ЈАСОН Hirschhorn: href - Па сега, ќе се види дека постои е нагласам под Џејсон. Тоа е затоа што Хром, по дифолт, дава сидра нагласам. Веројатно сте виделе дека пред кога сте поминале на веб-страница. Работи кои се линкови се потцртан и во сина боја. Стандардно стил за врска е да се генерално се истакне и го стави во сина боја. Ако не ми се допаѓа тоа, Јас може да го промени тоа. И ние ќе го промени во една секунда. Но сега, исто така забележуваме дека, ако јас лебдиш во текот на овој, во долниот лев агол на екранот, веднаш над зборот елементи е на линкот што го дадов. Значи, ако јас не кликнете на тоа - и можеме да десен клик на ова, се отвори нов таб. Ова не е всушност мојот почетната страница од пребарувачот. Тоа е само моето име. Таму да одите. Сега сме ја претвори во врска. Ајде да се истражуваат некои CSS, како и. Позицијата на работа - и јас ќе одам да го прават овој малку помали - за оваа конзола е дека луд CSS лист видовме порано, тоа беше навистина тешко да го анализирам, сега е најубаво поставени за нас на левата страна на овој прозорец. За да можеме да се погледне. И ако ние се прошири оваа стилови табот, ги може да се види сите на различни стилови кои се поврзани со, во овој случај, ова особено елемент, тоа линк елемент. Ако го правиме табот соединение стилови, кои само ни покажува не, каде што сè доаѓа од, но во суштина сите овие стилови кои работат на ова особено елемент, токму сега. И да речеме, сакаме да ја промените малку. Значи ова е сите стилови кои се кои работат на ова особено елемент. Велат сакаме да го промени, бидејќи ние сакате да видите како нешто изгледа. И ние сме само игра околу сега. Или сакаме да се тестираат нешто надвор, пред пишувањето во кодот и туркање тоа и што го прави во живо. Можеме да одиме до табот стилови. И во првата кутија тоа вели, element.style. И тука, можете да вметнете, можете да додадете нешто. Па сакам да - ајде да одиме на мојот линк и поставите бојата на позадина. И тоа всушност го autofills за вас, сите можни својства. Боја на позадината, и сакам да се направи таа сина. Blus не е збор. Сино е збор. Никако не можев да се види тоа излезе? Ох, е така затоа што тоа е во href? OK. Па јас не гледам никаква промена тука. И тоа е затоа што, ако ние ја нагласи линк, ќе забележите дека врската всушност и не ја контролира својства на овој особено елемент. Тоа е всушност, ако ние го отворите линкот, овој наслов, токму тука тоа е контрола на она што изгледа. Па ако сакам да се направи позадина сини, јас всушност треба да се промени боја на позадина насловот елемент. А сега гледаме дека позадина е сино. Па уште еднаш, овој брзо може да се случува преку овој материјал прилично брзо. Но тоа е во суштина она што сте ќе треба да се прави. Тоа не е на проблем Постави 7, но секако кога сте кодирање на интернет. OK. Сакам да се направи позадина сина. Иако, во овој случај, сини изгледа прилично грдо. Јас може да оди тука, се позанимавам. Гледам дека менување на тоа да сини не работи на еден. Морам да го променат насловот елемент за да го вклучите сини позадина. А потоа, ако тогаш ќе одам се враќам на CSS датотека, како можам да всушност се постави овој позадината да биде сина и направи оваа промена стап? Затоа што ако ние известување, ако јас се освежи страница, сите промени што ги направив се качил. Па сфатив, во ред, мојот позадина е сино. Јас треба да одам во таа header1 елемент и ја менуваат бојата позадина на сино. Како можам да всушност направи таа промена? Па, се потсетиме дека, ако ние одиме внатре од тука, овој наслов, на насловот има проект. И тоа е наслов. И така во нашата CSS фајл, може да се каже, во ред, земе нешто со проект на насловот и даде овој дополнителен имот. Како да ја референца нешто со Проект на титулата, сите идеи, или некој знам како референца ИД во нашата CSS датотека? А хаш, тоа е точно. И ќе морате навестување на тоа право овде. Значи некаде во овој CSS фајл, има оваа линија код - # Лево # левата внатрешна # заглавие # титула. И тоа е тоа давајќи маргина дното, дефинирање на маргина дното на оваа одреден елемент. Па, ако сакав да го промени тоа, Јас ќе одам во оваа CSS датотека. И јас или би можеле да се најдат на овој дел на CSS датотека. Или би можел да ги пишувам моите сопствени. Можам да ја направам хаш наслов кадрава голема заграда и потоа боја на позадината на дебелото сино точка и запирка и блиску што кадрава голема заграда. И дека ќе го промени позадина бојата на овој елемент на сино. Причината што тие ви даде толку многу тука е тоа, тоа е потребно во овој случај, бидејќи насловот е единствен број. Но, она што можете да направите е гнездо работи. Значи ова е велејќи дека, во ред, одат на левата страна. Тоа е многу мал. Јас се извинувам за тоа. Но оди на работа со проект лево. Внатре во тоа, погледнете за работа со проект лево внатрешното. Внатре во тоа изглед, погледнете за нешто со проект заглавието. Внатре во тоа, погледнете за нешто Проект насловот и промена на насловот на проект. Значи ова е само начин на вгнездување на нештата. Некои луѓе како гнездо тоа, бидејќи тоа го прави малку појасни. Ќе видите овде долу, исто така, право тука, нема хаш. Тоа е само Н1. Тоа е затоа што Н1 е дадена име на генерички таг. А тука се и некои CSS особини поврзани со секој Н1. Значи, ако јас се најде друг h1 на оваа страница, Јас, исто така ќе видите дека овој стил беше се применува на него, како и. Ако сакав да примени стил на класата, како можам да референца класа или зборува за класа во датотека CSS? Публика: точка. ЈАСОН Hirschhorn: Тоа е со точка. Па ајде да се вратиме на оваа страница пред. Ако го направам хаш проект. Тоа се менува стилот на работа со проект. Или ми е, ако го направам хаш лого, тоа е наоѓање на нешто со ID на логото и тоа даваат одредена CSS стил. Ако го направам нешто. Врвот, тоа е изнаоѓање сè со класа на врвот и менува својот стилови. Ако јас не едноставно Н1, што си го наоѓа секој еден H1 и тоа му дава на она што стил сакам да го даде. Ако го направам h1 простор и тогаш. Врвот. Кои ќе одат да ги најдете сите h1s а потоа сите оние со класа на врвот и тогаш само се менуваат оние стилови за да што сакам да го даде. И повторно, би можеле да го имаат напишано некои од овие на нашите сопствени. Но, ние не би добиле толку далеку. Многу подобро, се чини дека, всушност, оди на вистински живи веб-сајт и да видиме како тие го прават тоа и да бараат на сите фантастични работи можеш да го направите. Ајде да погледнеме во уште еден веб-сајт пред да продолжат понатаму. И ова е оној кој најверојатно ќе бидат запознаени со. Ова е CS50 финансии. Значи, повторно, вие всушност може да оди во и набљудуваат оваа CSS датотека на вашиот компјутер, бидејќи сте ја преземале оваа CSS фајл, ако сте ја превзеле проблем во собата. Можеме да одиме на алатки и Алатки за програмери. И можеме да видиме многу поедноставно HTML распоред. Имаме почетокот, средината и дното. И повторно, нешто што треба да биде запознаени со тоа, бидејќи сте погледна преку дистрибуција код за проблемот оваа недела во собата. На врвот е, по кодот, една слика нарекува. А тоа е изворот на сликата. Кажам сум завршил сите на она што Сакав да за Проблем Постави 7. И тоа е работи правилно, но Сакам да го промените начинот на кој таа изгледа. И сакам да се промени позадината на врвот на страницата за да, на пример, сина. Ако тоа ми се, јас ќе дојде во тука и да дознаам, ОК што сакам да се промени. Ајде да видиме, div id врвот, кои изгледа како на врвот на страната. Па ајде да одиме таму. Ајде да се обидеме менување на боја на позадината. Ајде да одиме направи Алис сина, бидејќи тоа е поубав еден. И ќе забележите дека - што веројатно не може да се види тоа. Но, постои светло сина, заедно со логото CS50. Да го замениме наместо на црвено. И ќе забележите сега јас едноставно ги променија боја на позадината на црвено. Па сега јас ќе одам во мојата CSS датотека и Вид # врвот кадрава paren во право тука. Можете да видите го кодот право тука, кадрава голема заграда. И тогаш, јас ќе додадете позадина боја, црвена. И тогаш, таму ќе биде кадрава голема заграда. Па тоа е како јас ќе се истражуваат и експериментирате со форматирање на CS50 Финансии сајт. Би можел да го направите тука и тест тоа надвор на мојот интернет пребарувач. А потоа, би можел да одам во мојата реалните код и направи промени кои ќе всушност оди во живо и дека луѓето всушност гледаат, ако тие требало да дојде до мојот специфичен сајт. OK. Тоа беше многу. Јас се извинувам за одење преку толку брзо. Дали некој има било какви прашања на сите за HTML или CSS? ПУБЛИКАТА: Може ли само одиме околу тоа како ќе поврзани она што стана Џејсон, повторно? ЈАСОН Hirschhorn: Што сакаш да кажеш поврзани? ПУБЛИКАТА: Вие се предвидени линк до друг веб-страница, со користење на сидро. ЈАСОН Hirschhorn: Значи се прашувате, само генерички, како да се направи линк? Публика: Да. ЈАСОН Hirschhorn: OK. Кодот за правење на врската - ПУБЛИКАТА: Не, како во HTML. ЈАСОН Hirschhorn: Низ тука, да кажеш? Па ако сакам да вклучите линк некаде, да речеме, тоа е HTML на мојот страница, токму тука. Ова е HTML. Можеби тоа е отворена во датотека, index.html. Одам внатре Ајде да ја имаат оваа авторските права Џон Харвард линк до нешто. Па ние ќе променат сето ова како HTML. Сите вие ​​направите е да го вклучите на една, па заградата блиску заграда, на на почетокот, а потоа заградата коса црта блиску заграда на крајот. Па сега јас сум вклучен сидро таг. А всушност, ако кликнете надвор од ова, сега ќе форматирам го уреди како HTML. И да каже, ние сакаме да ја водат. Ние ќе е на href атрибут. И велиме - И сега, како ќе забележите, авторски права Џон Харвард е сино. И кога ќе дојдете во текот него, тоа е сега врска. Така можете да го напишете дека кодот. Можете да го опкружуваат доста нешто сакаш во сидро таг и вклучете го во врска. Публика: OK. Добив тоа. ЈАСОН Hirschhorn: И ако јас не сакам тоа - се разбира, понекогаш луѓето имаат тенденција да се мисли овие работи кои само погледнете сини генерички и подвлечен се не најубаво начин да се направи линк. Значи, ако дојдам овде, ќе видите дека, некаде во датотека CSS, постои напишан ова и потоа две големи загради. Па да речеме дека, за врски, јас не сакате да станат сини, а јас сакате бојата на линк до биде оваа убава магента. Нека си го даде боја. Ајде да ги собереш магента. Сега, сите линкови на мојата страница има стане оваа убава боја на магента. Некои луѓе не ми се допаѓа бои на сите. Некои луѓе не сакаат нагласува. Можеш да одбереш. Со линкови, можете да стил како тие изгледа откако ќе ги посетиле. Како што ќе забележите на многу страници, врски се претвори пурпурната ќе ги посетите. Можете да го промени тоа во боја, како и. Да. ПУБЛИКАТА: Значи вие ја промените за секоја врска. Но ако сте само сакав да го направите тоа линк себе, ќе ви само да се направи во проект дното или нешто? ЈАСОН Hirschhorn: Значи големо прашање. Како што забележа тука, Ја променив некои дел на CSS кој се однесува на сè што е А Ако сакав да само го направи тоа линк на дното, јас ќе одам да ми CSS датотека и веројатно направите онака како што рече, хаш дното простор е. И што ќе ми даде сите Како во дното. Или би можел, пак, го даде уникатен ID и потоа само го прават хаш линк. И дека ќе ми дозволите да се промени ова. Сепак, само doling од лични карти сакал-нејќел главно е лоша пракса, затоа што тие треба да бидат единствени. И колку повеќе ќе имаат оние кои се, тоа може да се добие малку збунувачки. Да. ПУБЛИКАТА: Може да ви даде истиот Проект на повеќе сопственици? ЈАСОН Hirschhorn: Технички, да. Ништо нема да ве спречи, но вие треба да не треба да го даде една класа. Добро, било какви други прашања за HTML или CSS? OK. Дозволете ни да се движи кон PHP. О, да. Публика: Што е тоа во врска со овие веб-сајтови, тоа значи дека ние може да се уреди ги пред да се одмориме. Но еднаш сме го освежи тоа се враќа назад до првичниот HTML? ЈАСОН Hirschhorn: Велики прашање - па кога ние сме натоварени оваа веб-страница, тоа е HTML. И тоа е да го вклучите Javascript. Нејзините PHP се извршува за да ни даде она што типот на веб страната гледаме. И тоа е создадено некои HTML, некои JavaScript, и некои CSS. А тоа е сега се достапни од нашиот компјутер. И копија од овие датотеки се зачувани локално на нашиот компјутер, засега. Па ние да ги менувате дека локалните копија. Но, се разбира, ние не сме уредување серверот копија. И кога ќе се освежи страница, добиеме друг сервер копија. И така ние ги гледам работите назад како што беа. Ако бевме во можност, од тука, за уредување на официјална веб-страница, би имале многу на проблеми. Публика: Да, па можеме да прочитаме и пишува дека копија. ЈАСОН Hirschhorn: Право. Ние сме само правење локални промени тука, но повторно, многу корисна за истражување, Честопати. Кога ги пишувам моите финалниот проект, за пример, сакам да се види како некои веб-сајт направен нешто изглед начинот на кој тие го направија. Јас ќе одам во и користете го овој панел надолу тука, да погледнеме во она CSS што им ја давале или каква боја тие ја искористија или како тие добив тоа, така што, кога ќе се лебдел над нешто, листата слезе во еден убав каскадни модата. Тоа е одличен начин да се провери што други веб-сајтови не и позајми од нив. Ајде да се движи во PHP. PHP се залага за, во рекурзивен смисла, PHP Хипертекст процесор. И PHP, она што се случува да се направи е се изврши код серверот. Па ние никогаш нема да ја видите PHP код. Сепак, тоа не игра убаво со HTML и често се генерира многу HTML код. Но, како што ќе биде запознаен со проблемот Намести 7, вашиот PHP код ќе се изврши, произведуваат некои HTML, и тоа е она што корисникот ќе заврши до гледањето. PHP е неверојатно сличен со C. Сепак, постојат неколку разлики, и тие разлики се важни да се забележи. Една разлика е во тоа што променливи во PHP се лабаво отчукува. Дали некој има чувство на она што значи тоа? ПУБЛИКАТА: Нема потреба да го фрли себе. Како нема потреба да пишувам во текстот. ЈАСОН Hirschhorn: Јас не ќе го користи Зборот Наѓ, но да, нема потреба да се изјасни вид за одредена променлива. Како наместо ние да декларирате променлива? ПУБЛИКАТА: Користете знакот за долар. ЈАСОН Hirschhorn: Користете знакот за долар. Значи $ x е променлива. 1 $ е променлива. $ String е променлива. Овие променливи, $ x може да да биде цел број. Тогаш, тоа би можело да биде стринг. Тогаш, тоа би можело да биде лик. Тоа навистина не е важно. Исто така, кул работа во врска со PHP е, да речеме, $ x е стринг еден. И $ y е ликот еден. Можете да додадете $ x и y $, и тоа ќе ви даде 2, она што би очекувале. Па така постојат операции во PHP. Затоа што тоа е лабаво отчукува променливи, некои имплицитни кастинг е направено за вас и некои операции. Можете да го направите операции на работите од различни видови. А пред, често добиваат грешка во C вели, ова не е од типот што би требало да одат овде. Единственото нешто од овој тип може да оди тука. Вие нема да се добие тој вид на грешка, генерално, во PHP. Па тоа е една голема разлика - како ќе се справи со променливи. Втората голема разлика е во тоа што PHP код се толкува. Wheres, C код е компајлирана. Што значи тоа? Па, за C код трчаше преку компајлер. Можете генерирана бинарна датотека. И ќе истрча дека бинарна датотека. Ќе се грижеше за сите грешки пред ќе генерира бинарна датотека. Се разбира, може да биде сегментирање на грешки, кога ќе истрча на бинарна датотека. Но, тоа не е како тебе заборавиле да го вклучите дефиницијата на printf, или не сте се користи променлива и само создаде непотребното променлива. Или не сте се дефинира функција прототип. Она што се случи пред да состави. Тоа ви даде сите на грешки или лоши работи кои мислев дека може да се случи. И тогаш, сте имале вашиот 0 и 1 датотеката која сте трчаше. PHP код не работи како што. Си оди за да напишете вашиот PHP код. Потоа, си оди за да освен тоа, веројатно. И најмалку во P-Сет 7, сте ќе за да се освежи вашиот веб пребарувач, и си оди за да се види што се случило. Сте ќе видите излез на тој PHP код. Вие исто така може да се види, на врвот на вашата страница, грешка. Затоа што имаше некои грешка во вашиот PHP. Вие сеуште може да видите остатокот од веб-страница е во потрага добро. Но, еден дел не е во ред, и има грешка во тоа место. А тоа е затоа што дел од вашиот PHP код не функционира. Всушност, кога ќе се изврши, кога ќе одат на нешто како by.php. Тоа се случува да одат преку вашиот PHP поднесе линија по линија и изврши го тогаш и само тогаш. Тоа нема да го компајлирате пред време или ги собере една копија, а потоа даде дека Составувач копија на сите. Секој пат, тоа се случува да поминат низ линија по линија и изврши го. Па некои линии би можеле да работат и излез нешто точно. И други линии може да биде прекината и излез за грешка наместо тоа. Значи, кога дебагирање со PHP, ние сме со оглед на ви неколку корисни работи да ви помогне да debug, како депонија функција. Но, генерално, си оди да ги види овие грешки. И тоа како ви се случува да знам дека направив нешто погрешно. Но ти си само ќе видите грешка некогаш сте всушност се кандидира на кодот. Друг важен аспект на PHP и Веб развој е идејата за GET наспроти пост. Некој може да се објасни што е разликата помеѓу GET и POST се? Никој - Да. Публика: Дали не е еден од нив нека корисник видите на податоци, а еден од нив не го прави тоа? ЈАСОН Hirschhorn: Велики. Да, имаш нешто да додадеш? Публика: Јас тенки пост е супер-глобална променлива. ЈАСОН Hirschhorn: Значи и двете од овие варијабли се дадени за вас. Овие се само променливи. И знаеш што тие се променливи, бидејќи токму тука јас користат знакот за долар. Овие се променливи со оглед до вас од страна на PHP. И кога се префрлате помеѓу веб страни, сакате да ги зачувате некои информации. Веројатно сакате да ја спаси ако корисникот е логирани Тоа не е зачувана во GET и POST. Дека е зачувана во нешто друго, различни променлива. Секој знае што променлива која е зачувана во, или она што променлива ги користите во P-Намести 7, да бидете сигурни дека корисникот е најавен во? $ _SESSION, Тоа е токму во право, веројатно е важно да се биде запознаен со имињата на овие работи го користите често. Па можете да користите сесијата променлива да се спаси информации од страница до страница. Тоа е супер променлива. Таа постои на секоја страница, можеби како глобалната променлива, ако сакате да се размислува за тоа како тоа. Постојат неколку други променливи кои ќе ви овозможи за пренос на информации од страница до страница. Особено, оние што ќе се фокусираат на се добие и POST променливи. Во PHP тие изгледаат како $ _GET И $ _POST. И разликата, како Маркус посочи надвор, помеѓу двете од нив е дека, информации во $ _GET е прикажани во URL-то. Па ако гледаме долу тука, можеме да видиме на YouTube линк. Го гледаме ова прашалник. Гледаме V =, а потоа некои вредност. Назад кон оваа идеја на клучните вредност пар, v е клучот. И овде е вредноста. Значи, ако ние требаше да одат на оваа страница или кодирање на оваа страница, ќе имаме променлива наречена $ _GET. Ако отидовме до $ _GET отворен заградата "V" блиску заграда, многу слична на низа нотација, ова е вонреден низа бидејќи ние не сме користење на индекси. Се користат стрингови како клучеви. Но многу слична идеја. Ако ние отидовме, ќе добијат од оваа вредност. На оваа страница, ќе можеме да се користи оваа вредност. Ако ние всушност изгледаат, да оди на страница на YouTube. Што видео треба да го гледаме? Овој, се луѓе Хобитот фанови? Публика: Да. ЈАСОН Hirschhorn: Па јас сум копирање нивниот удел рачно и вметнување во нов прозорец. И сега, ако се погледне до тука, ќе забележи дека, уште еднаш - Одам да го копирате и залепите ова во gedit, па можеме да видиме дека поголем. Ќе забележите дека има овој прашалник. Прашалник означува дека сè што после тоа ќе биде зачувани во ГЕТ променлива. И тогаш имаше V, тоа е првиот клуч и оваа прва вредност. Симболот е посебен. Симболот е велејќи дека, во ред, ние заврши првата вредност. Ние сме сега се придвижат кон друг клучните вредност пар. Тука, клучот е наречен функција, а вредноста е youtu.be. Значи, ако јас бев кодирање оваа страница и некој отиде на овој URL и морав можеби watch.php. И јас бев кодирање ова. И јас може да го користи $ _GET променлива. И јас ќе имаат v, и Јас би имаат функција. И ако јас го користам клучните V, јас ќе ја добие оваа вредност. И ако сум го правела $ _GET заградата "функција" блиску заграда, јас ќе ја добие оваа вредност. Повторно, тоа не мора да се однесуваат на - Очигледно, YouTube клучеви и вредности и да добијат информации не се однесува на Нашиот проблем Намести 7. Но, постојат одредени работи кои ние помине преку стапите во нашиот проблем Постави 7. И, секако, кога ќе отидете на веб-страница или се кодирање свој страница, $ _GET Ќе дојде во рака кога вашиот кодирање. Што е една од причините да се користи $ _GET тогаш, ако тоа овозможува не приватност? Гледаш сите овие информации тоа е се префрлени. Тоа е сите прикажано на корисникот. Но она што е една од причините што можеби ќе сакате да ја зачувате нешто во $ _GET, како за разлика од $ _POST? Зошто можеби ќе сакате да го направите тоа? Во ред е. Те прашав во одбивање 1. Што е про на $ _GET? Што е една про? Да - ПУБЛИКАТА: Тоа е полесно да се споделување на информации. ЈАСОН Hirschhorn: Мислам дека тоа е одлично. Тоа е полесно да се споделуваат информации. Тоа е полесно да обележите. Можете да обележите сега, YouTube.com / watch? V = нешто и да си одат на конкретни видео. Дали YouTube правеше POST побарување да различни страници, секој YouTube URL ќе биде YouTube.com. Вие не може да обележувач еден видео. Бидејќи ако се каже дели со врски што водат со некој друг, тие не автоматски ја добиете вашата порака променлива. Тие се само добивање на овој линк, и линк е иста за сите. Па тоа е една про. Тоа ви овозможува да обележите овој информации или споделите оваа информации или го прават тоа малку повеќе user-friendly. Се разбира, не постои приватност, па ние имаме овој пост променлива. И пост информации не е прикажани во URL-то. Тоа не е целосно приватна. Но, тоа е малку повеќе приватни. И така ќе видите овој URL долу тука, cs50.net. Дали или не сте најавени во веб-сајт, тоа се случува да имаат ист URL-то, cs50.net. Очигледно, нешто е различно, ако сте најавени во веб страната. Имате една, веројатно внесете вашиот ПИН. И тоа е потврдено дека со серверот. И тоа е веројатно заштеда некои други информации. Но URL не се менува воопшто. И така тоа е случај, кога нешто се испраќа по пошта. URL-то не се менува. Овој пост информации не е прикажани во URL-то. Но, некои Државата се смени, а можеби има некои информации зачувани во ПОСТ променлива. Жал. пред да одам во SQL, било прашања во врска со PHP, особено, прашања за работи што не одат над дека си нашол или било синтакса или логика прашања за PHP? OK. Конечниот јазик ќе биде интеракција со оваа недела е Структурно јазик за пребарување, SQL, се изговара продолжение често. Која ви овозможува да комуницирате со база на податоци во формализиран начин. И таа игра многу убаво со PHP. Како што ќе видите во проблем Постави 7, ние сме ви даде функција наречена пребарување. И е потребно на SQL стринг и извршува дека барањето на базата на податоци. Во изминатите години, да не беа со оглед на оваа функција. Ти мораше да го користите PHP функции да се направи пребарување на базата на податоци и проверка за грешки и потоа добиете резултати. А всушност, тоа не е толку тешко, бидејќи повторно, таа игра многу убаво со PHP. И PHP ви дава голем број на функции за да комуницирате со SQL база на податоци. Толку често, двајцата тие одат заедно. Се разбира, можете да комуницирате со SQL база на податоци со која било број на други јазици. Но PHP е одличен да одберете. База на податоци - ќе одиме во текот на овој брзо, бидејќи ова е зуи збор ние ќе започнете да го користите често - е збирка на табели. Значи можеме да мислам на тоа како една датотека Excel. Една датотека Excel има повеќе јазичиња на дното на екранот. Секој таб ние сега ќе го наречеме маса, каде што маса е збирка на редови. И она што е ред? Па, ред е тоа што истото во датотека Excel. Дека само има одредени вредности за секоја дадената област или секоја дадена колона. Тоа е како влегување во табелата. Тоа е студент, кој има проект, на специфични ID, и специфично име и специфични куќа. Па база на податоци е збирка на табели. И табели самите се бројот на редови или евиденција. Постојат, исто така, во секоја маса, одредени области. И дека го одредува она што секој рекорд е ќе мора, полиња, понекогаш се нарекува колони, но обично се нарекува полиња. Во овој многу едноставен маса, Јас имам три полиња, проект поле, корисничко име поле, и хаш област. И имам три реда. Токму сега, тие се празни. Тие веројатно не ќе биде празна ако ова беше мојата вистинска база на податоци. Значи, ако сте користеле Excel, слична идеја на она што го правите во Excel, иако, Очигледно, сега ние ќе треба да бидат способни да направи многу повеќе моќни работи на информации кои се чуваат во нашата база на податоци. Ќе се себе си создавање на една база на податоци за Проблем Постави 7. Но ќе биде создавање на повеќе маси во базата на податоци. Ќе биде создавање на база на податоци или маса за корисниците. Ќе се исто така создавање на табела за веројатно акции трансакции, да се задржи ги пратите од нив, затоа што треба да се спроведе карактеристика на историјата. И оние маси ќе има различни области. На пример, во еден корисник област, веројатно сакаат нивните корисничко име и ID и хаш на нивните лозинка. Во резерви маса која следи на историја или на маса Историја, можете веројатно не треба корисничкото име и хаш и проект. Најверојатно треба само еден од оние вредности кои се уникатни, да се дружат со даден корисник. Но, тогаш, вие сакате да ги чувате други работи како, колку време беше трансакција направени. Што акции беше купен или се продаваат? Колку акции на акции беше купен или се продаваат? Која беше цената по која акции беше купен или се продаваат? Значи, повторно, си оди за да се во интеракција со бази на податоци кои е ќе има повеќе табели. Секоја маса ќе има свој сет на полиња. Сепак, таму најверојатно, ќе биде сличен поле во секоја маса, што ги поврзува една со друга. Обично, ова е проект поле. Бидејќи ако секој корисник има единствен број и ќе се дружат тој проект со секој трансакција дека корисникот го прави или сите од историјата, кои корисникот. И имаш проект на корисникот. Можете да добиете информации или од табелата. Може да се добијат нивните корисничко име, и вие да ги добиете сите на нивните трансакции. Какви прашања во врска бази на податоци, или специфични прашања? Всушност, да се одржи тоа. Ние ќе бидеме таму во двете страни. Па така постојат четири операции на бази на податоци кои ќе се користат во Проблемот Намести 7 и, најверојатно, некогаш се користи. Првото нешто што сакате да направите е да внесете нов рекорд во табелата или нов ред во табелата. Ова е генерички функција, генерички форма, на кој SQL упит. Вметнете во табелата, без разлика на колони сакате да вметнете и потоа вредностите кои ви се случува да сакаат да стави во оние колони или области. Ако имате повеќе табели во база на податоци или повеќе бази на податоци, можете исто така може да треба да го одредите база на податоци и табелата со која сакате да се стави работите во. Но многу едноставна, ако сакате да вметнете во нешто, ти што велиш, тука се полиња сакам да вметнете во. И тука се вредности. Во некои табели, исто така, и на овој корисник маса е добар пример. Веројатно во табелата на овој корисник и веројатно во табелата вашиот корисникот во P-Сет 7, таму не е само корисничко име вредност. Таму не е само готовина вредност, или поле, наместо. Исто така постои и проект поле. Јас не одам за да вметнете тој проект област. Тоа се случува да се даде на ме автоматски, кога нов рекорд е вметната. Значи има некои поле што ќе може да се постави да биде автоматска. Можеби сакате да им даде на секој корисник 10.000 $ на готовина надвор од лилјак. Па јас не треба да го вметнете голем број на пари овде. Сè што ми треба за да вметнете е корисничко име. А потоа, од областа на готовина ќе бидат претходна пополнети, и област ИД бројот ќе се да се пре-населен. Па многу пати, ние не сме вметнување нешто во секое поле, затоа што оние други области се пред-населени. Затоа што тоа е како ние постави таа табела. Втората работа што се случува да се сакате да направите е да избришете запис. Бришење нешто е многу едноставна. Ви даде табелата каде што сакате да избришете нешто од. И ќе каже, во ред, сакам да ја избришете рекорд кој има корисничко име на Мило. Или сакам да ги избришете сите рекорди кои имате корисничко име на Мило или дека биле трансакција од кориснички ID број 2. Било какви прашања во врска со овие два вида на прашања? ПУБЛИКАТА: [нечујни]. ЈАСОН Hirschhorn: Да. Па ќе одам да се користи ред и евиденција мешаат и некои со колона и поле. Но еден ред е една евиденција. Една колона е едно поле, ќе назад кон оваа табела. OK. Следното нешто што си веројатно одам да направите е да се добијат некои информации од масата. Тоа е Одбери пребарување. И повторно, она што на маса јас избирање од? И она колона сакам да го изберете, или што вредност сакам да одберете и од кој ред? Па Изберете е малку специфична. Велам, во ред, сакам оваа табела. И тогаш сакам колоната корисничко име, и Јас го сакате од спорот со проект 2. Тоа е еден начин да се направи Одберете. Или можам да кажам, дај ми секој единствен корисничко име. Или можам да кажам, ми даде цела ред од оваа табела, каде што корисничкото име е 1. Па така постојат неколку различни начини да се направи Изберете прашања, во зависност од тоа многу информации што сакате, Можете да секогаш само одберете сè од таа специфична маса, а потоа јамка низ него, изборот на работите што сакате. Но, имајте на ум, ако сте изборот многу работи од табелата и да ви имаат навистина голема маса, која ќе се некое време, па најдобро е да изберете само работи кои ви се случува да постигнете со користење. Исто така, со Изберете и со сите овие други SQL команди, како и, јас сум кои ви даваат голи коски верзија. Но велат, јас сум изборот на корисниците и сакам да ги испечатите по азбучен ред, Јас би можеле да одберете сите корисници а потоа вид ги по азбучен ред во моето код. Или постои начин да се напише изберете пребарување, што го избира работи во азбучен модата, базирана на специфични колона, или возвишен или опаѓачки. Значи имајте на ум дека, многу од она што го сакате да го направите веројатно може да се направи во пребарување преку дополнителни атрибут. Па гледам нагоре овие прашања преку Интернет или други работи што можете да направите со овие прашања да ги прошират. Конечно, последната работа што сакате да направите не се вметне нешто или избришете нешто, туку ажурира нешто. И тоа е направено со ажурирање пребарување, и повторно, она што масата. И она што промена сакам да се направи? И на која ред или да снимате направи Сакам да се направи таа промена? Било какви прашања за SQL? OK. Па ние имаме околу 15 минути. И ова е последниот слајд имам. И се надевам, овој последниот слајд е добар segue во проблемот постави, бидејќи разбирање, каде што сакате да го вметнете евиденција, избришете ги изберете нив, и надградба на нив ќе ни помогне се разбере поголеми логика и проток на проблемот Постави 7. Па знам сите одговори на овие прашања. Јас не одам да ви кажам сите на одговорите. Но, ако некој друг би сакале да претставуваат прашање на група или одговори на еден од овие прашање, може да се ја користат таа како скокање Off точка за се зборува за проблемот во собата. Или ако некој има повеќе генерички Прашањето надвор проблемот собата, се чувствуваат слободни да побарате тоа како добро. И ние може да започне таму. Имајте на ум дека молчењето е повреда на секого. Да. Публика: Така е само начин да се помине променливи до и од различни веб страници, или најзгодно начин, со користење POST или GET? ЈАСОН Hirschhorn: Така да, тоа е најзгодно начин да се каже - кога некој пополнува форма - добијат информации на друг веб страница, користење на GET или POST. Затоа што на рамка ние сме со користење во овој проблем сет, ќе забележите тоа, многу пати, ние направи друга страница. ние Или ние го направи друга датотека, не мора да друга страница. Па ние помине во променлива. И тогаш, тоа го прави на HTML страница, со користење на информации од таа променлива. Тоа не е технички поминува информации помеѓу различни веб страници. Дека поминува информации помеѓу различни датотеки. И така ние може да користите било која променлива да го стори тоа. Но да, ако сакаме да го положат информации од одредена страница, за да друга страница, GET и POST би да биде начин да го направите тоа. Било други прашања за проблемот во собата? OK. Ајде да одиме преку, а потоа, специфично дел од проблемот во собата. Ви се случува да треба, во еден момент, прикажување портфолио некој на екранот. Што ми значи кога велам портфолио, во контекст на овој проблем во собата? Публика: Тоа е како на акции, кои тие имаат како, многу акции што ги поседуваат, цената, и колку пари што ги оставиле. ЈАСОН Hirschhorn: Тоа звучи одлично. Па сакам да ги прикажува сите акции што сопствени за секој вид на компанијата акции и веројатно колку што е вредност, а потоа посебна променлива, колку пари тие поседуваат. Така велат Сакам да се опише тоа. Ајде да почнам да зборувам за тоа како би можел одат за тоа го прават, што табели сум ќе треба да треба да да биде во можност да го стори тоа. Да - ПУБЛИКАТА: Па корисници, и тогаш, претпоставувам можете да направите табела наречена Акции или нешто слично, кои ќе биде колку тие го купиле. ЈАСОН Hirschhorn: OK. Па јас сум ќе треба табела наречена Корисници, кои води евиденција на корисничко име, веројатно, веројатно некои проект, веројатно лозинка на поединецот. Што е нешто друго што само рече дека е поврзано? Некој покрај Мајкл, она што е нешто друго што е поврзано со секој корисник, карактеристични за нив? Публика: проект. ЈАСОН Hirschhorn: ID - што е една друга работа, дека ние сме веројатно нема да сакате да го прикажување на оваа страница? Публика: нивното име. ЈАСОН Hirschhorn: Нивното име - што е Друга работа во врска со овој Посебен проблем во собата? Публика: Што акции што ги поседуваат - ЈАСОН Hirschhorn: Има се случува да да биде многу од она што акции што ги поседуваат. Што е една специфична вредност иако, дека тие се случува да имаат поврзани со нив? Како се случува да се купи и ги продаваат своите акции? Публика: Кеш. ЈАСОН Hirschhorn: Тие се ќе имаат кеш. Па секој корисник ќе има една вредност за пари. И дека ќе биде единствен за секој корисник. Па во маса на корисникот, тоа го прави смисла да се стави во готово. Можете да, се разбира, се создаде уште табела која има кориснички ИД и нивните вредност на готовина. Но, тоа не дава никаква смисла. Логично е да се стави само сето тоа во една табела. Па ние ќе да има маса со таа информација. И тогаш, што е на другата маса ние ќе имаме? Ќе рече, резерви табела. Што сме ние ставање во на резерви маса? Секој, идеи - ПУБЛИКАТА: Компанијата. ЈАСОН Hirschhorn: Ние ќе да се стави во името на компанија, така AAPL за Apple. Да. ПУБЛИКАТА: Колку акции и колку тие се вреди. ЈАСОН Hirschhorn: Колку акции, колку тие се во вредност - што е нешто друго ние треба во таа табела? Публика: А корисничко име да индексира тоа. ЈАСОН Hirschhorn: корисник проект. Па во таа табела, ние ќе најверојатно имаат - да речеме, ако тоа е некој кој го поседува Три акции, три реда, секој со дека корисничко име или корисник на поединецот Проект, но со друго име компанија, различен број на акции веројатно, и друга цена вредност за секоја на овие резерви. Повторно, она што сакам да кажам дека сега не е значи имплементација, бидејќи сфаќаш постојат некои повеќе ефикасни начини да се имплементира. Но, ова е добро место за почеток. OK. Значи тоа се две маси имаме. Сега ние сакаме да се прикаже оваа страница. Што е првото тип на пребарување ние ќе треба да се направи. На секоја страница, се претпоставува дека е корисник е ме, имаме нивните кориснички проект. Значи она што е првиот вид на пребарување ние треба да се направи? Да. Публика: Нивната корисникот проект. ЈАСОН Hirschhorn: Имаме нивните корисничко име, кога ние сме почнуваат да кодот во почетокот на нашата страница. Значи она што е првиот тип на пребарување ние треба да се направи, со оглед на ID на корисникот? Отидовме во текот на четири типови. Има само четири можни одговори. ПУБЛИКАТА: Тоа е да изберете запис. ЈАСОН Hirschhorn: A Одберете - ние сакаме да изберете од корисникот маса за да се добие, да речеме, нивниот износ на готовина. И можеме да печатиме износ на готовина на врвот на екранот. OK. Што е следниот тип на пребарување сакаме да направам? Имаме некои други работи ние треба да се прикаже. Оние кои се зачувани во друга маса. Па, како ќе се дојде до тоа? Публика: Вие одберете за нив. ЈАСОН Hirschhorn: A Одберете - повторно, постојат само четири опции. Изберете веројатно звучи како вистинскиот. Значи ние треба да правиме уште изберете барање, повторно користење на тој корисник проект. И сега, ние сакаме да се врати не само една ред, бу сите редови кои одговараат на нашите критериуми, каде корисничко име е еднаква на 1. А потоа можеме да одиме и нека јамка само печати сите оние кои се надвор од екранот, можеби печатење на компанија од секоја од оние на екранот. Голем, тоа звучи како тоа е прикажување на портфолио, не многу повеќе покомплицирано од тоа. Добро, тогаш на корисникот одлучи дека тие имаат многу пари останати. И тие сакаат да купат некои повеќе акции на акции. Да речеме, тие веќе поседувате акциите на оваа компанија е премногу. Па тие одат на вашиот купување страница. Тие влез името на компанијата. Што е барањето, по внесување на име на компанија, дека треба да се изврши следно? Да. ПУБЛИКАТА: Ажурирање. ЈАСОН Hirschhorn: Ажурирање - и она што маса сакаш да се ажурираат? Публика: нивната маса, врз основа на нивните ID број? ЈАСОН Hirschhorn: Значи обновете го не маса на корисникот - па ажурирање на резерви на маса, каде што корисничко име не само што ги совпаѓа, но акциите на името, исто така, се совпаѓа. Ќе добиете некои вредност. А потоа, ќе сакаат да ги преземат на таа вредност и додадете сепак многу акции што сакаат да купат од неа. Значи, вие не сакате да слепо пребришете таа вредност. Но, можете да, всушност, се дека почетна вредност и само да го ажурира. Можете да го направите како плус еднаква, а не само еднаквите. Што е нешто иако - ако ние сме размислува за ова и ние сакаме да биде како што е можно поцврста - ние треба да се направи пред да ја стартувате таа ажурирање пребарување? Тие сакаат да купат пет години на Apple. Секоја акција на Apple е $ 200. ПУБЛИКАТА: Ние треба да се провери пари во прв план. ЈАСОН Hirschhorn: ние треба да провери пари во прв план. Ние треба да бидете сигурни дека тие имаат доволно пари. Каков вид на побарување може да се изврши за да се бидете сигурни дека тие имаат доволно пари? Публика: Друга Избери. ЈАСОН Hirschhorn: A Одберете - ние избираме врз основа на нивните корисничко име, да се добие нивната вредност на готовина. Направи некои брзи математика. И ако тоа поминува собере, тие имаат доволно пари. Тогаш можеме да се кандидира на нашите ажурирање. Или можеби, ако не, ние помине тогаш. Ние им даде предупредување. OK. Велат дека не имаат една компанија. Тие се купуваат нова компанија. Тие се купуваат на Microsoft. Каков вид на прашања сакаме да се направи, ако сакаат да купат Мајкрософт? И тие не поседуваат било на Microsoft. Не Ману, некој друг, некој Покрај Маркус? Carlos - Публика: A Одберете, да бидете сигурни дека тие имаат доволно пари. ЈАСОН Hirschhorn: Звучи добро. Публика: И тогаш ќе внесете на [нечујни]. ЈАСОН Hirschhorn: Точно, ние сме ќе сакате да го вметнете во резерви табела. И ние ќе сакате да го внесете. Ние можеме да вметнете своите корисничко име, името на компанијата, и колку акции тие сакаат да ги купат. Кои се некои други операции кои се страници или функционалност сте ќе мора да се спроведе во P-Сет 7, дека ние треба да одиме во текот? ПУБЛИКАТА: Всушност, јас вид на имаат прашање за оваа. Пред да се прикаже портфолио, треба ќе проверува веб-сајтот да се бидете сигурни дека цените на акциите не се променети? ЈАСОН Hirschhorn: Тоа е звуци како добра идеја. Па што Маркус е велејќи дека е, во ред, акции цените постојано се менува. Во акции што ги поседуваат маса, нашите табела наречена резерви, би можеле да го спаси Цената на акциите на тие го купиле во. Но тоа не изгледа дека робустен, затоа што цената на акциите е постојано ќе се смени. Така, всушност, вие веројатно не треба за да се спаси цената на акциите. Но секој пат кога ќе се прикаже нивната портфолио, ве освежи или да ги ажурирате Цената на акциите. И ако имате - и имате веќе. Знам дека сте сите се погледнавме во Проблемот поставува назад веќе. Ќе се сфати дека ние сме писмени некои кодот за вас, кои ќе ви овозможи да се добие цената на акции, Даденото име на компанијата. Па да, тоа веројатно звучи малку поцврсти. Но таа маса не мора нужно треба за да се спаси цената на акциите. OK. Кои се некои други функционалности треба да се спроведе оваа недела дека можеме да зборуваме за? Сакам да се зборува за нив. Што сакаш да се зборува за? Тоа е веројатно во овој спецификации. Јас само би движете надолу кон дното на спец и ме прашуваат првиот збор ќе видите дека не дава никаква смисла. Една друга функционалност - ајде да зборуваме за еден. Ќе започне таму. Публика: Снимање на истории. ЈАСОН Hirschhorn: снимање историјата, одлично. Па ви се случува да мора да ги пратите од историјата на трансакции. Па сакате да ги пратите на секој време тие купуваат или продаваат акции. Јас го купив мојот парк. Ние едноставно се рече, веројатно има смисла за да го вклучите Изберете, да се добие нивниот износ на готовина и проверка назад. Тоа веројатно е паметен тогаш да го вклучите вметнете или ажурирање, во зависност од дали или не тие поседувате дека акциите. Ако ние исто така сакаме да ги пратите на историја, како можеме да го направите тоа? Дали тоа одат во резерви маса? ПУБЛИКАТА: Не ЈАСОН Hirschhorn: Не, тоа веројатно оди во друга маса. Бидејќи велат дека купуваат 10 Акциите на Apple. Тогаш ќе купи уште 10 акции. Сакате забавува посебна евиденција. Тоа се две одделни трансакции. Значи имаме уште една маса, маса историја. Значи, повторно, да се купи. Ние изврши Одберете, потоа вметнете или ажурирање. Што ќе правиме следно? Што е следниот пребарување се изврши кога сме купување нешто? Ние сакаме да ги пратите на историјата. Да. ПУБЛИКАТА: Сакате да ги пратите на неуспешни трансакции премногу. ЈАСОН Hirschhorn: Па, пред да каже она што видот на трансакцијата, она што сакаме да - Каков тип на пребарување, Карлос, би ни овозможи да ги пратите работи во воопшто? Ќе има четири нагаѓања. Кои една мислите? Публика: ажурирање. ЈАСОН Hirschhorn: Не се ажурира. Што е вашиот втор погоди? ПУБЛИКАТА: Избор. ЈАСОН Hirschhorn: Ако сакате да се задржи ги пратите на нешто, веројатно сакате да го запишам некаде или да го зачувате за подоцна. Значи, ако не ажурирање, а потоа - ПУБЛИКАТА: Внеси неа. ЈАСОН Hirschhorn: Insert, таму ќе одиме. Да, па можете да изберете на износот на пари имаат, звучи одлично. Тие немаат доволно пари. Дека трансакцијата не е оди на работа. Не, вие не треба да ги пратите на трансакција ако тоа не функционира. Или можете да, ако сакате да им даде тешко време. Но, вие не мора да се. Потоа, да ја вметнете или ажурирање во нивните резерви табела. И сега, имате друга маса. Имате историја маса или она што сакате да го повикате. И во таа табела, сте ќе да ја внесе нов ред. Тоа е веројатно нема да имаат проект на корисникот. Тоа е веројатно нема да имаат името на акциите. Тоа е веројатно нема да имаат едно време, што тие го направив тоа. И во овој случај, ќе бидете најверојатно сакате да го вметнете цена. Бидејќи за историјата, вие не грижа што сегашната цена е. Ти е гајле што цената е кога тие купен или се продаваат нешто. Па тоа звучи како да се имплементира купување целосно вклучува голем број на различни SQL queries, но искрено, не дека многу код во целина. OK. И дека се грижи за историја. Да речеме, ние сакаме да прикаже нашата историја. Ние разговаравме за прикажување нашето портфолио. Како сме Посочете ни историја? Публика: Веројатно хронолошки. ЈАСОН Hirschhorn: Веројатно хронолошки - она пребарување мислите дека ние би го користите? Публика: А одберете. ЈАСОН Hirschhorn: А Изберете - изберете можеби сите редови од таа маса кои се совпаѓаат со корисничко име, а потоа прикажување на нив хронолошки, звучи добро. Дали ни е потребна за да се напише кодот за да го решите преку таа листа? Публика: Не, бидејќи ви кажав ни постои растечки и слегуваат работа. ЈАСОН Hirschhorn: нешто? Публика: Да. ЈАСОН Hirschhorn: Да. Добро, не се претвори во кодот за мене, дека рачно ги сортира преку вашите прашања, да ги решите. Кодот е веќе дадено. Можете да напишете Избери пребарување дека ги сортира работи. Сортирање нив претходно и потоа да ги испечатите. Тоа го прави многу повеќе смисла да го стори на тој начин, отколку на друг начин. Да. Публика: Дали ние треба да сортирање нив однапред? Дали тоа ќе значи вид нив во базата на податоци? ЈАСОН Hirschhorn: Изберете пребарување се враќа на нив да ви подредени. Па го направи тоа, наместо само да ги имаат се врати за вас во случаен редослед и потоа да ги средиме себе. Да. Публика: Дали постои начин да се задржи подредени во базата на податоци себе, така што вие не мора да го решите тоа секој пат кога ќе - Публика: Можете ли да го вметнете сортирани? ЈАСОН Hirschhorn: Прашање - е важно дека работите се подредени во базата на податоци? ПУБЛИКАТА: Не ЈАСОН Hirschhorn: Па, тие се подредени. Тие се сортирани хронолошки од понови. Но, ајде да се претпостави дека работите се подредени хронолошки, од врвот до дното. Имаме Google форма. Секогаш кога некој одговара на нашите Google форма, тоа само добива се стави во дното на табелата. Е важно дека работите се сортирани хронолошки не? Публика: Ако тоа не е хронолошки, не мора да го решите секој пат ве однесе информации надвор. Но, ако тоа е веќе сортирани, нели не мора да го направи тоа дополнителна повик на функција? ЈАСОН Hirschhorn: Значи тоа е всушност добра точка. За нас како програмери, тоа би можело да е важно. И ние би сакале да се најдете база на податоци тоа не го решите работите хронолошки. Или постави нашата база на податоци, така што се држи работи подредени по корисник проект. Па на тој начин, да речеме, имаме 1000 кориснички ИД. Или Фејсбук, имаме милиони на корисникот ИД. Ние не сакаме нашата маса да биде само случајни или нашата база на податоци да биде случаен. Тоа би било убаво ако сите корисник ИД се подредени. Па тогаш ние би можеле да работат бинарни пребарувања на нашата маса, а потоа само се најде на специфични парче. Така да, во зависност од - ако ние намалени до, ние можеби ќе сакате да се најде база на податоци кои се чуваат работите подредени во различни начин, така што овие барања ќе се помалку време. И ние не треба да одат преку нашата целата база на податоци во секој ред во дадена табела. Но нивото ние работиме на, ние не треба да се грижите за водење на работи подредени. Можеме да претпоставиме дека времето што е потребно дека барањето да се кандидира ќе биде занемарливи, со оглед на тоа што ние сме се занимаваат со. Но да, одлична идеја - како што скала нагоре, тоа би можело да се направи смисла да дизајн нашата база на податоци во малку поинаков начин. Една конечна база на податоци дизајн нешто што сакам да се спомене, како и, бидејќи ќе се оценува, или постигна поточно, на дизајнот на вашата база на податоци. Ние разговаравме за ова. Пари е единствен за секој корисник. Значи имаш табела наречена готовина која има свои корисничко име и нивниот износ од готовина и потоа табела наречена корисници кои има свои корисник ID и нивните корисничко име. Оние маси сајтот кон секоја другиот-на-еден. Тоа веројатно го прави смисла за нив да биде една табела. Значи да претпоставиме имате корисник маса која следи на кориснички имиња и готовина. Сега го имате систем кој има акции поединец поседува. И индивидуална може да поседуваат повеќе од еден парк. Значи овие не ги мапираат врз секој другиот еден-на-. Тоа не дава никаква смисла да се има еден гигант табела која има 30 книги, кои сите повторува корисничко име, дека сите повторете лозинка, дека сите повторете голем број на пари. Но секој има можеби различни акции име или различни цената на акциите. Тоа не дава никаква смисла да се имаат дека многу големи записи. Бидете паметни за тоа кога ќе се создадат овие бази на податоци, така што не се прави нешто глупо, како што, повторувајќи многу непотребни информации. OK. Имаме две минути. Луѓе надвор сме возбудени за да се приклучат ни или веројатно, веројатно, започнат свој сопствен класа. Дали некој има било какви прашања пред да завршам? Добро, ова беше навистина виорот преку сè. Јас се извинувам што морало да биде така брзо и дека не може да биде како рацете на оваа недела како јас би го сакал да биле. Но, ако имате било какви прашања во врска со ништо отидовме во текот или нешто овој проблем во собата - Арогантен сте го прочиташ и да се стави во добра вера напор - се чувствуваат слободни да ми мејл или контактирајте ме. Јас сум повеќе од среќни да работат преку вашиот код со вас или одговори на сите прашања имаш. Имајте на ум дека, оваа недела, многу вашето време ќе бидат потрошени за учење на нова синтакса и се обидува да се разбере како да се напише SQL queries или PHP функции или се занимаваат со рамка MVC. А многу од вашето време оваа недела веројатно нема да се обидува да дознаам луди логиката дека ние сме ќе побара од вас да го стори. А многу од тоа ние само отиде е релативно јасна. Па тоа не значи дека чекаат до последната минута. Но тоа не значи прилагоди Како Вие Дали вашиот да работат соодветно, да бидете сигурни дека ти си разбирање и учењето на синтаксата. Па вие не сте, одеднаш, знаејќи токму она што сакате да го направите, но без идеја како да се точно го пишувам. Добро, ќе се видиме следната недела.