1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> JASON Hirschhorn: Добре дошли, всички, за 10-та седмица. 3 00:00:09,810 --> 00:00:15,130 Това е една вълнуваща седмица, защото утре е Quiz 1, което ние ще се 4 00:00:15,130 --> 00:00:16,400 в секунда. 5 00:00:16,400 --> 00:00:21,770 Днес в раздел, ние ще отидем над някои ресурси за теста, и 6 00:00:21,770 --> 00:00:24,890 тогава аз ще отговоря на всеки и всички въпроси, вие имате. 7 00:00:24,890 --> 00:00:27,880 И ние най-накрая ще завърши с някои проблеми практика. 8 00:00:27,880 --> 00:00:30,940 >> Ние можем да прекараме целия участък отговаряне на въпроси. 9 00:00:30,940 --> 00:00:33,240 Ние можем да прекараме целия участък преминавате проблеми практика. 10 00:00:33,240 --> 00:00:36,890 Ние просто ще се разшири, за да запълни пространството и времето, което имаме. 11 00:00:36,890 --> 00:00:40,590 >> Така че сложих този списък на всяка седмица, но това е особено важно тази седмица. 12 00:00:40,590 --> 00:00:44,980 За изучаване, ако не сте започва вече, о, момче. 13 00:00:44,980 --> 00:00:46,400 Но се надяваме, че сте започнали вече. 14 00:00:46,400 --> 00:00:50,710 И вие ще чрез материалите и ресурси, изброени тук. 15 00:00:50,710 --> 00:00:54,300 Бих силно препоръчвам Някои от тях. 16 00:00:54,300 --> 00:00:58,780 >> По-специално, записки от лекции са изключително важно и полезно. 17 00:00:58,780 --> 00:01:02,880 The study.cs50.net осигурява голям грунд за много 18 00:01:02,880 --> 00:01:04,250 темите, обхванати. 19 00:01:04,250 --> 00:01:07,810 Тя също има някои големи практика проблеми. 20 00:01:07,810 --> 00:01:11,260 И след това, Google е страхотно, също. 21 00:01:11,260 --> 00:01:12,360 Аз не знам какво ще го използвате за. 22 00:01:12,360 --> 00:01:14,090 Но използвам Google, както добре. 23 00:01:14,090 --> 00:01:16,680 >> Протегнете ръка към мен, ако имате някакви въпроси, коментари или притеснения. 24 00:01:16,680 --> 00:01:19,420 Погледни през сесия за преглед слайдове от снощи. 25 00:01:19,420 --> 00:01:21,540 Или, ако имате малко време, гледате видеото. 26 00:01:21,540 --> 00:01:24,930 Те осигуряват много полезно материали и информация. 27 00:01:24,930 --> 00:01:29,730 И се опита да покрие, ако не всички, много от темите, които сме обхванати и че сте 28 00:01:29,730 --> 00:01:32,610 може да видите на теста. 29 00:01:32,610 --> 00:01:35,590 >> Говорейки за теста, че ще бъде утре. 30 00:01:35,590 --> 00:01:37,260 То е дълго 75 минути игра. 31 00:01:37,260 --> 00:01:40,740 Много от вас са го приемате по една часа, а някои от вас са 32 00:01:40,740 --> 00:01:42,740 да го приемате в 5:30. 33 00:01:42,740 --> 00:01:45,300 За времето, което да го приемате и място, което да го приемате, се уверете, че 34 00:01:45,300 --> 00:01:49,400 да проверите на документа на началната страница CS50.net. 35 00:01:49,400 --> 00:01:54,340 >> Не забравяйте, че можете да получите един 8 1/2 от 11 лист, за да вземете със себе си. 36 00:01:54,340 --> 00:01:57,310 Много пъти, хората не използват този лист на всички по време на теста. 37 00:01:57,310 --> 00:01:59,740 Но наистина, това е невероятно полезно проучване инструмент. 38 00:01:59,740 --> 00:02:04,370 Така че пускането заедно този лист е това, което Прекарах вероятно три или четири часа 39 00:02:04,370 --> 00:02:07,110 прави, когато аз учех за CS50, и че е лесно най-полезни 40 00:02:07,110 --> 00:02:08,740 начин да учат за теста. 41 00:02:08,740 --> 00:02:10,949 Така че, дори и ако имате някои други хора проучване ръководства да разгледаме и 42 00:02:10,949 --> 00:02:14,740 използвате като препратки, аз силно препоръчвам създавате свои собствени проучване ръководство, поставяйки 43 00:02:14,740 --> 00:02:15,490 тези неща заедно. 44 00:02:15,490 --> 00:02:17,335 Това наистина помага да се научат всички на материала. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> Последно, но не на последно място в този раздел, След утрешния викторината има едно 47 00:02:24,810 --> 00:02:25,940 повече лекция - 48 00:02:25,940 --> 00:02:26,960 следващия понеделник. 49 00:02:26,960 --> 00:02:30,430 Има и още един раздел, а не следващата Вторник преди Деня на благодарността, но 50 00:02:30,430 --> 00:02:31,630 Вторник, след това. 51 00:02:31,630 --> 00:02:36,600 Ние ще се срещне заедно за окончателното сбогом страна и също така прави някои готини 52 00:02:36,600 --> 00:02:41,530 неща, за да ви накара момчета развълнувани нататъшни изследвания в областта на компютърните науки. 53 00:02:41,530 --> 00:02:45,040 >> Има и още един проект, по един справедлива, по един Hackathon. 54 00:02:45,040 --> 00:02:47,900 Ние сме почти на края на CS50, което е вълнуващо - 55 00:02:47,900 --> 00:02:50,950 но също така, ако сте като ме, малко тъжно. 56 00:02:50,950 --> 00:02:53,950 Преди да се премине, не всеки има всякакви въпроси за това какво 57 00:02:53,950 --> 00:02:55,200 ние сме обхванати досега? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> ОК, нека да отидем на някои въпроси че имате за теста и теми 60 00:03:08,730 --> 00:03:09,960 ние може да покрие. 61 00:03:09,960 --> 00:03:11,540 Така че това е списък, че аз, взети заедно. 62 00:03:11,540 --> 00:03:15,500 Тя в никакъв случай не е изчерпателен, но надяваме се, ще бутам паметта си, ако 63 00:03:15,500 --> 00:03:20,310 има някои въпроси за някое от тези теми, или ако имате въпроси относно 64 00:03:20,310 --> 00:03:23,260 практически проблеми от викторини през последните години. 65 00:03:23,260 --> 00:03:27,470 >> Имах няколко въпроса, които са били изпращана към мен, но аз искам да се държат на разстояние 66 00:03:27,470 --> 00:03:29,490 на тези за секунда. 67 00:03:29,490 --> 00:03:34,570 Дали някой има някакви въпроси, проблеми, които не разбират, 68 00:03:34,570 --> 00:03:38,100 отговори, че не разбират за да ни започна? 69 00:03:38,100 --> 00:03:39,520 Ави. 70 00:03:39,520 --> 00:03:41,585 >> ПУБЛИКАТА: Може ли да отидем DOM и Ajax наистина бързо? 71 00:03:41,585 --> 00:03:46,540 Подобно на това, което трябва да се знае или би трябвало разбере за тях? 72 00:03:46,540 --> 00:03:49,750 >> JASON Hirschhorn: Отивам да се отговори обикновено този въпрос, това, което правя 73 00:03:49,750 --> 00:03:52,100 трябва да знаете за дадена тема х? 74 00:03:52,100 --> 00:03:55,280 Защото имам чувството, че много от вас Ще ме попитате това, или са 75 00:03:55,280 --> 00:03:56,570 любопитни за това. 76 00:03:56,570 --> 00:04:02,920 Така че, до степен, че темата е била покрит с лекция, или раздел, или на 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, проблем зададена, трябва да е запознат с него. 78 00:04:06,460 --> 00:04:10,580 >> Така че не е нужно да се знае всеки тип на маркер, който е на разположение в HTML или 79 00:04:10,580 --> 00:04:15,950 всеки тип атрибут или имущество можете да дадете нещо в CSS. 80 00:04:15,950 --> 00:04:20,204 Но ако го видя в един пример лекция, ако го видя в проблем 81 00:04:20,204 --> 00:04:23,290 набор, вероятно ще трябва да бъдат запознати с него, особено неща, които видях 82 00:04:23,290 --> 00:04:24,260 в лекция. 83 00:04:24,260 --> 00:04:28,510 Така че ние обсъдихме документа Object Model малко в 84 00:04:28,510 --> 00:04:30,530 раздел, още повече, че в лекция. 85 00:04:30,530 --> 00:04:32,990 Вие трябва да сте запознати с тази част от него. 86 00:04:32,990 --> 00:04:34,750 >> И трябва да сте запознати с Аякс в същата степен. 87 00:04:34,750 --> 00:04:38,105 Никога не сме виждали изключително напреднал или сложни примери на Ajax, така че 88 00:04:38,105 --> 00:04:40,920 Вие няма да бъдете помолени направя нещо невероятно сложно. 89 00:04:40,920 --> 00:04:45,180 Но може да бъдете помолени, как да направя извършване на спешно повикване, използвайки Jquery Ajax? 90 00:04:45,180 --> 00:04:47,350 Което е нещо, което съм виждал номер пъти преди, както в 91 00:04:47,350 --> 00:04:51,370 преглед на сесията и в лекция, и това е само два-ина реда код. 92 00:04:51,370 --> 00:04:53,190 >> Така че това е нещо, което трябва да е запознат с. 93 00:04:53,190 --> 00:04:55,550 Но отново, за всички тези теми, ако сте го виждали 94 00:04:55,550 --> 00:04:59,220 и преди, това е честна игра. 95 00:04:59,220 --> 00:05:01,540 И ние може да ви попитам - Очевидно е, че ние сме Ще попитате ли си, че нещата 96 00:05:01,540 --> 00:05:02,340 не сте виждали преди. 97 00:05:02,340 --> 00:05:04,240 Кодиране на нещо, което не трябва виждали преди. 98 00:05:04,240 --> 00:05:06,570 Което не означава, че не сте виждал инструментите за решаване 99 00:05:06,570 --> 00:05:08,120 този проблем преди. 100 00:05:08,120 --> 00:05:09,200 Вие сте виждали тези инструменти. 101 00:05:09,200 --> 00:05:11,160 >> За пример, на Quiz 1, ако , което трябва да се кодира strlen. 102 00:05:11,160 --> 00:05:12,790 Ние не са кодирани strlen преди. 103 00:05:12,790 --> 00:05:14,980 Но знаете ли как да се използва за линия, Знаете ли как да се използва, ако условия. 104 00:05:14,980 --> 00:05:18,570 Знаеш ли как да пиша променливи в C. Това ще бъде едно и също нещо тук. 105 00:05:18,570 --> 00:05:22,350 Вие няма да бъдете помолени да направите нещо, което не сте виждали преди, но 106 00:05:22,350 --> 00:05:25,150 може да бъдете помолени да, като, сложи нещо заедно по нов начин, или 107 00:05:25,150 --> 00:05:27,650 решаване на различен тип проблем. 108 00:05:27,650 --> 00:05:30,830 >> Съжаляваме, че не е специфичен за вашия въпрос, но аз не мога да отговоря за 109 00:05:30,830 --> 00:05:34,390 всяка една тема какво правят или не трябва да знаеш. 110 00:05:34,390 --> 00:05:36,830 Но също така, съжалявам, последно нещо по този въпрос. 111 00:05:36,830 --> 00:05:42,900 Ние са прекарали значително повече време за връзка списъци, отколкото имаме на Аякс. 112 00:05:42,900 --> 00:05:46,160 Вие не сте използвали Ajax в проблем набор. 113 00:05:46,160 --> 00:05:48,510 Една от основните функции на тази проблем, който беше определен линк списъци. 114 00:05:48,510 --> 00:05:50,370 И ние прекарахме много време в лекция и раздел да го използвате. 115 00:05:50,370 --> 00:05:57,080 >> Така, шансовете са списък връзка ще излезе по- често на теста от Ajax воля. 116 00:05:57,080 --> 00:06:00,390 Или въпросите, които имат общо с връзка списък ще бъде на стойност повече точки. 117 00:06:00,390 --> 00:06:03,520 Така че със сигурност може да се фокусира и тесен в за неща, които са по- 118 00:06:03,520 --> 00:06:06,720 вероятно да излезе, защото имаме прекарал повече време в тях. 119 00:06:06,720 --> 00:06:08,700 >> ОК ли други въпроси? 120 00:06:08,700 --> 00:06:09,890 Да. 121 00:06:09,890 --> 00:06:13,660 >> ПУБЛИКАТА: Може ли да отидем при използването на анонимни функции в JavaScript? 122 00:06:13,660 --> 00:06:17,140 Аз съм си малко объркан за това. 123 00:06:17,140 --> 00:06:20,180 >> JASON Hirschhorn: Така че в JavaScript - 124 00:06:20,180 --> 00:06:24,400 Опитвам се да мисля как съм би могъл да напише това на - 125 00:06:24,400 --> 00:06:27,590 така че нека действително се отвори този код. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Така че това е код, който направихме миналата седмица. 128 00:06:36,030 --> 00:06:41,400 И сте виждали това и преди, ако бяха тук, в раздел миналата седмица. 129 00:06:41,400 --> 00:06:43,180 Или сте виждали нещо подобно на това преди. 130 00:06:43,180 --> 00:06:44,800 >> Но вие можете да погледнете тази първа линия. 131 00:06:44,800 --> 00:06:46,950 Това е как да започнете - 132 00:06:46,950 --> 00:06:48,010 всеки е виждал преди. 133 00:06:48,010 --> 00:06:51,930 Ако искате да се въведе някакъв JavaScript кода, да я поставите вътре в този, приемайки 134 00:06:51,930 --> 00:06:53,520 използвате JQuery. 135 00:06:53,520 --> 00:06:56,940 Това се казва, не прави нищо докато бъдат натоварени на документа. 136 00:06:56,940 --> 00:06:59,940 >> И тогава, Кърт, ще видите точно тук правим нещо подобно - 137 00:06:59,940 --> 00:07:02,560 функционални отворени Paren, затворени Paren. 138 00:07:02,560 --> 00:07:05,250 Така че ние не даваме тази функционира име. 139 00:07:05,250 --> 00:07:09,160 Ние няма да се дефинира тази функция е трябвало да се движи и след това 140 00:07:09,160 --> 00:07:10,830 го наричат ​​няколко пъти. 141 00:07:10,830 --> 00:07:15,140 Просто казваме този документ вече се функция. 142 00:07:15,140 --> 00:07:16,690 Няколко неща за вършене. 143 00:07:16,690 --> 00:07:20,670 >> И ние не искаме да прекарват времето придавайки му име или да го запишете за 144 00:07:20,670 --> 00:07:21,650 за вечни времена. 145 00:07:21,650 --> 00:07:24,150 Ние просто искаме да направим някои неща. 146 00:07:24,150 --> 00:07:27,500 Така анонимен функция сортиране на обслужва тази цел. 147 00:07:27,500 --> 00:07:30,280 Когато няма да използвате нещо отново и отново, така че не е нужно 148 00:07:30,280 --> 00:07:32,420 да му се даде име - просто искам да го използвам веднъж - 149 00:07:32,420 --> 00:07:36,720 вие просто ще кажа, функция, за Например, в този случай, и вие сте просто 150 00:07:36,720 --> 00:07:38,280 определяне нещо, което бихте могли да дадете име. 151 00:07:38,280 --> 00:07:40,920 >> Например, ние може да тегли тази функция се и да му дадете име и след това да се обади, че 152 00:07:40,920 --> 00:07:41,760 функционира тук. 153 00:07:41,760 --> 00:07:44,270 Но ние не трябва да, защото ние не правим искате да губите време, което му име или 154 00:07:44,270 --> 00:07:46,240 губиш нещо в името ни пространство. 155 00:07:46,240 --> 00:07:47,530 И ще видите, че много. 156 00:07:47,530 --> 00:07:52,810 Например, ние виждаме, че много в тази код, но сте го виждали преди, когато 157 00:07:52,810 --> 00:07:54,010 щракнете върху нещо - 158 00:07:54,010 --> 00:07:55,980 стартирате този вид код. 159 00:07:55,980 --> 00:07:59,850 >> Бихме могли да се определи кодът, който искаме да тече, когато щракнете върху него, в този случай, 160 00:07:59,850 --> 00:08:03,450 това ID, като отделна функция и след това да изпълните тази функция. 161 00:08:03,450 --> 00:08:07,940 Но в този случай, ние просто прескочите тази стъпка и да го преместите в тук и 162 00:08:07,940 --> 00:08:10,340 само до определяне на всичко че искаме да се случи и 163 00:08:10,340 --> 00:08:12,450 не му даде име. 164 00:08:12,450 --> 00:08:15,550 Това все още не може да се наложи отговори на въпроса ви. 165 00:08:15,550 --> 00:08:15,960 >> ПУБЛИКАТА: Не, това е така. 166 00:08:15,960 --> 00:08:18,290 Искам да кажа, мисля, че просто наистина не разбирам защо това би било 167 00:08:18,290 --> 00:08:20,800 функционира на всички, все пак. 168 00:08:20,800 --> 00:08:21,590 Защото това не е наистина се обади. 169 00:08:21,590 --> 00:08:23,170 Това няма да има име. 170 00:08:23,170 --> 00:08:25,510 >> JASON Hirschhorn: Това е функция в смисъл, че това е поредица от стъпки, 171 00:08:25,510 --> 00:08:28,460 като теб ще поставя във функция. 172 00:08:28,460 --> 00:08:29,970 И тогава това е защо ние наричаме тя анонимна функция. 173 00:08:29,970 --> 00:08:30,815 Ние няма да му се даде име. 174 00:08:30,815 --> 00:08:33,159 Ние няма да губим опитвам да го наречете, но можехме. 175 00:08:33,159 --> 00:08:34,890 >> Анонимни функции, вие винаги може да се даде име. 176 00:08:34,890 --> 00:08:37,620 Така например, този код точно тук, бихме могли да поставите този код във вътрешността на 177 00:08:37,620 --> 00:08:39,929 функция и след това се обадете тази функция тук. 178 00:08:39,929 --> 00:08:41,600 Вместо това, ние казваме, ние не отиваме да се занимавам с това. 179 00:08:41,600 --> 00:08:44,390 Ние просто ще напиша всичко точно тук. 180 00:08:44,390 --> 00:08:49,840 >> Това е като понякога, когато пишете четиригодишен цикъл в C - момчета 181 00:08:49,840 --> 00:08:51,630 съм виждал това и преди - може би си итерации чрез forloop 182 00:08:51,630 --> 00:08:53,090 в I е равна на 0. 183 00:08:53,090 --> 00:08:54,830 I е по-малко от strlen. 184 00:08:54,830 --> 00:08:59,520 Или, което става чрез някои масив, можете да спестите масив 185 00:08:59,520 --> 00:09:01,580 индекс и в някои променлива. 186 00:09:01,580 --> 00:09:02,830 А вие използвате тази променлива. 187 00:09:02,830 --> 00:09:06,550 Така че не е нужно да се пренапише масив скоба аз отново и отново и отново. 188 00:09:06,550 --> 00:09:08,160 >> И това е нещо като сляпо променлива. 189 00:09:08,160 --> 00:09:10,790 Това не е много, обслужващи цел, различна от за да направите вашия код е малко по-чист 190 00:09:10,790 --> 00:09:12,120 и по-лесно да се чете. 191 00:09:12,120 --> 00:09:13,290 Подобна функция тук. 192 00:09:13,290 --> 00:09:15,665 Просто го прави малко по-лесно, но функционално няма разлика. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Това отговаря ли на въпроса ти? 195 00:09:19,330 --> 00:09:19,970 >> Публика: Да. 196 00:09:19,970 --> 00:09:20,720 >> JASON Hirschhorn: ОК .. 197 00:09:20,720 --> 00:09:21,880 Марио? 198 00:09:21,880 --> 00:09:25,380 >> ПУБЛИКАТА: Вчера те често поставят функция скоби събитие. 199 00:09:25,380 --> 00:09:26,420 Това означава ли нещо? 200 00:09:26,420 --> 00:09:30,500 Или това е за неща като че ще направят 201 00:09:30,500 --> 00:09:35,100 document.ready функция събитие. 202 00:09:35,100 --> 00:09:37,130 >> JASON Hirschhorn: Виждали сме това и отново, те са по-малки неща 203 00:09:37,130 --> 00:09:39,590 Аз може би не искате да прекарват твърде много време в. 204 00:09:39,590 --> 00:09:43,200 Защото понякога не искам хората се откачи, че те не са 205 00:09:43,200 --> 00:09:44,220 Чух за тези неща, които много. 206 00:09:44,220 --> 00:09:46,200 Но ние говорихме малко за обработчици на събития. 207 00:09:46,200 --> 00:09:50,360 Така че нещо се случва, и след това тази функция се изпълнява. 208 00:09:50,360 --> 00:09:53,210 И след това ние също искаме да знаем някои подробности за това какво 209 00:09:53,210 --> 00:09:54,450 се е случило в този случай. 210 00:09:54,450 --> 00:09:55,730 >> Така че мисля, че обратно към определен проблем 4. 211 00:09:55,730 --> 00:09:58,390 Това е може би най-лесният начин да се Разбирам, че в избухне. 212 00:09:58,390 --> 00:09:59,740 Имаше някакъв код - 213 00:09:59,740 --> 00:10:01,980 подобно събитие ще се случи, но събитие може да означава много неща. 214 00:10:01,980 --> 00:10:06,240 Ако би могло да означава се кликне, той може да означава ви удари клавиш със стрелка, et 215 00:10:06,240 --> 00:10:07,190 прочие, и прочие. 216 00:10:07,190 --> 00:10:09,800 >> Но всичко това е записан в този родов нещо, наречено събития. 217 00:10:09,800 --> 00:10:12,340 И тогава можем да кажем, е това събитие това нещо? 218 00:10:12,340 --> 00:10:13,640 Или това е събитие, това нещо? 219 00:10:13,640 --> 00:10:15,500 Или, какъв вид е случило с това събитие? 220 00:10:15,500 --> 00:10:18,660 Така че това е защо се създаде тази променлива там, за да спаси това допълнително информация 221 00:10:18,660 --> 00:10:21,420 за това какво точно се е случило, че вие ще искате да 222 00:10:21,420 --> 00:10:24,840 използва във функцията. 223 00:10:24,840 --> 00:10:28,200 Но отново, това е може би един от по-малко важни неща, за да бъде супер 224 00:10:28,200 --> 00:10:29,450 запознати. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> OK, какви други въпроси да има хора е имал или е препъни блокове те 227 00:10:36,110 --> 00:10:37,360 срещани, докато се преразглежда? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 Ние ще подкрепи в този списък. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 Ами по време на тренировка викторини, ако хора са взели тези, които вече? 232 00:10:56,080 --> 00:10:59,110 Какви са някои проблеми, които спъна вие нагоре? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Знам със сигурност, че от миналата година викторина беше наистина трудно. 235 00:11:12,720 --> 00:11:15,670 >> ПУБЛИКАТА: Можете ли да обясните какво SQL инжекция атака на е? 236 00:11:15,670 --> 00:11:18,970 >> JASON Hirschhorn: Добре, чудесно. 237 00:11:18,970 --> 00:11:20,440 Така че ние говорихме за това след малко. 238 00:11:20,440 --> 00:11:22,050 Има една лекция на тема сигурност. 239 00:11:22,050 --> 00:11:25,670 И пак, както споменах по-рано, това е настрана. 240 00:11:25,670 --> 00:11:30,010 Но вие ще бъдете разочаровани от викторината когато четете някои малки две точка 241 00:11:30,010 --> 00:11:33,040 въпрос, и вие сте като, когато изобщо ти научи това? 242 00:11:33,040 --> 00:11:35,560 >> Всички тези неща в тези лекции че не си мислиш, че е необходимо да се 243 00:11:35,560 --> 00:11:38,290 знам, или бихте могли да замаже защото те не са имали общо с 244 00:11:38,290 --> 00:11:41,860 проблем набор, тези, най-вероятно ще излезе отново на теста. 245 00:11:41,860 --> 00:11:45,030 Така че, готини, забавни неща, които просто Мислех Дейвид разказваше за вас да 246 00:11:45,030 --> 00:11:49,070 ползват, той ви казвах, за да насладите и да ви накара да бъде само супер 247 00:11:49,070 --> 00:11:50,550 развълнуван за учене всичко там е да се научите 248 00:11:50,550 --> 00:11:51,670 за компютърни науки. 249 00:11:51,670 --> 00:11:53,680 Тези неща също идват на викторини. 250 00:11:53,680 --> 00:11:56,440 Така че, дори и тези малки неща, които не сте са пряко свързани с проблема си 251 00:11:56,440 --> 00:11:59,630 настроен, тъй като вие сте запознати с от Quiz 0, най-вероятно ще излезе. 252 00:11:59,630 --> 00:12:01,530 И това е добър пример на нещо. 253 00:12:01,530 --> 00:12:10,140 >> Така атаки на SQL инжекция е, когато получите някаква информация от потребителя и 254 00:12:10,140 --> 00:12:15,090 искате да го вмъкнете в таблицата, използвайки на SQL вложка изявление, но ви 255 00:12:15,090 --> 00:12:17,680 не се санира входа преди време. 256 00:12:17,680 --> 00:12:21,560 Така че, очевидно сме виждали SQL отчети. 257 00:12:21,560 --> 00:12:22,810 Аз просто ще се отвори - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 да вървим - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 ние ще отидем на преглед - 262 00:12:31,960 --> 00:12:35,180 Мисля, които го покриват? 263 00:12:35,180 --> 00:12:36,350 Мисля Samala направих. 264 00:12:36,350 --> 00:12:39,292 Така че можем да вземем - 265 00:12:39,292 --> 00:12:41,270 >> ПУБЛИКАТА: Къде го намери това? 266 00:12:41,270 --> 00:12:44,990 >> JASON Hirschhorn: Така че, ако отидете на CS50.net, викторини, и след това можете да 267 00:12:44,990 --> 00:12:47,170 превъртете отново и да получите пързалки от заседанието за преразглеждане. 268 00:12:47,170 --> 00:12:49,860 Но можете да видите това е добър пример на инжектиране атака SQL. 269 00:12:49,860 --> 00:12:53,690 Ние приемаме някаква информация от страна на потребителя и те ни дават един низ и след това ние 270 00:12:53,690 --> 00:12:55,780 искате да вмъкнете, че низ в база данни. 271 00:12:55,780 --> 00:12:59,780 Като цяло ние ще се санира, че въвеждане, което означава, че има някои 272 00:12:59,780 --> 00:13:01,050 символи, които са опасни. 273 00:13:01,050 --> 00:13:04,000 >> Така например, в SQL низове, тези цитати - 274 00:13:04,000 --> 00:13:05,000 апострофи или двойни кавички - 275 00:13:05,000 --> 00:13:05,620 означава нещо. 276 00:13:05,620 --> 00:13:08,380 Те означават край на това низ тук. 277 00:13:08,380 --> 00:13:13,090 И така, ако потребителят дава един-единствен или двойна оферта, те могат да бъдат 278 00:13:13,090 --> 00:13:18,970 се опитва да препъне вашия SQL заявка и вмъкнете някои лоши неща в него. 279 00:13:18,970 --> 00:13:23,130 И ако го направят това, те биха могли да получат контрол на вашата база данни, или се направят някои 280 00:13:23,130 --> 00:13:24,760 неща, които не искат да направят. 281 00:13:24,760 --> 00:13:28,300 >> Така че това е защо, когато ние се SQL заявки, ние хигиенизирам входа преди 282 00:13:28,300 --> 00:13:31,090 поставяйки я в базата данни, която означава, че ние избяга тези знаци. 283 00:13:31,090 --> 00:13:32,590 Ще говорим за това в секунда. 284 00:13:32,590 --> 00:13:35,820 Но дълга история накратко, SQL инжекция атака е, ако не направим това - 285 00:13:35,820 --> 00:13:39,760 ако не се грижим за вход те ви даде преди пускането си 286 00:13:39,760 --> 00:13:46,830 база данни, те могат, както виждате надолу тук, изпълнение на заявка, че в действителност - 287 00:13:46,830 --> 00:13:52,470 те поставят в кода си тук и това изберете линия тук ще избере 288 00:13:52,470 --> 00:13:56,360 всичко от масата, независимо на което е дадено на паролата. 289 00:13:56,360 --> 00:13:58,960 Защото вие имате една или равен на 1. 290 00:13:58,960 --> 00:14:02,750 >> Така че това е основно, дълга история кратко, начин да поеме базата данни. 291 00:14:02,750 --> 00:14:07,570 Въпросът, тогава, за вас, момчета, е където в р комплекта 7 ли дезинфекцирайте всички 292 00:14:07,570 --> 00:14:10,010 входовете на вашите SQL заявки? 293 00:14:10,010 --> 00:14:11,230 Когато се случи тази стъпка? 294 00:14:11,230 --> 00:14:14,150 Къде ви попречи SQL инжекция атаки от случва в определени стр. 7? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Да. 297 00:14:20,490 --> 00:14:21,870 >> ПУБЛИКАТА: Crypt? 298 00:14:21,870 --> 00:14:23,120 >> JASON Hirschhorn: Така че това не е крипта. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 Ние не ви накара да направите това за тази Особен проблем настроен, но това се случва 301 00:14:55,380 --> 00:14:58,190 във функцията на заявки. 302 00:14:58,190 --> 00:15:00,930 Ние всъщност го е написал за теб, и ние се грижи за 303 00:15:00,930 --> 00:15:03,040 саниране входове за вас. 304 00:15:03,040 --> 00:15:07,790 Но през последните години, учениците са имали да въведете входовете на техните собствени. 305 00:15:07,790 --> 00:15:10,020 В стр. набор 7, много от вас - 306 00:15:10,020 --> 00:15:11,270 позволете ми да се отворят един друг файл. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Така че, вие ще забележите, тук много хора, в проблем определила 7, не се обаждат 309 00:15:22,590 --> 00:15:25,240 тази функция на струни. 310 00:15:25,240 --> 00:15:27,880 Тази функция, htmlspecialchars, отново - 311 00:15:27,880 --> 00:15:31,410 този низ може да има някои неща, че в HTML означава нещо друго. 312 00:15:31,410 --> 00:15:36,160 Като презрамки, квадрат, или под ъгъл скоба да кажа нещо в HTML. 313 00:15:36,160 --> 00:15:38,980 >> И така, ако първо разпечатате, че чак до екрана или ако просто приемете, че и 314 00:15:38,980 --> 00:15:42,260 отпечатате, че, за да ви HTML, това може направя нещо, което не очакваме. 315 00:15:42,260 --> 00:15:45,180 Така htmlspecialchars отива над всички онези, символи, които имат специално 316 00:15:45,180 --> 00:15:47,030 среща и им убягва. 317 00:15:47,030 --> 00:15:51,450 Така той получава отпечатан, тъй като текстът искате да видите, а не 318 00:15:51,450 --> 00:15:53,280 завинтване на вашия HTML. 319 00:15:53,280 --> 00:15:55,040 Обадихме се на тази функция в заглавната си част. 320 00:15:55,040 --> 00:15:57,390 И много хора, забравих да наричаме това функция в 321 00:15:57,390 --> 00:15:58,700 код, който се пише. 322 00:15:58,700 --> 00:16:03,970 >> Така, например, ако името на склад имаше ъглова скоба в него и сте забравили 323 00:16:03,970 --> 00:16:06,675 да се обадя на тази функция, този ъгъл скоба може да са отхвърлили това, което 324 00:16:06,675 --> 00:16:08,250 Вашата HTML приличаше. 325 00:16:08,250 --> 00:16:11,810 Но обажда тази функция ще избяга че така тя всъщност отпечатва като 326 00:16:11,810 --> 00:16:15,870 ъглова скоба и не хвърлят Свали си HTML код. 327 00:16:15,870 --> 00:16:18,760 >> Поради същата причина сме виждали, понякога, наклонени черти преди двойни кавички в 328 00:16:18,760 --> 00:16:22,310 ФОРМАТ линия, защото ние не искаме двойни кавички надолу низа. 329 00:16:22,310 --> 00:16:24,050 Искаме да ги отпечатате до екрана. 330 00:16:24,050 --> 00:16:26,920 Така че всичко това е една и съща идея. 331 00:16:26,920 --> 00:16:28,260 Това отговаря ли на въпроса ти? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> ПУБЛИКАТА: Нещо такова. 334 00:16:33,870 --> 00:16:35,300 >> JASON Hirschhorn: ли има последващи действия? 335 00:16:35,300 --> 00:16:43,252 >> ПУБЛИКАТА: Предполагам, че SQL инжекция атака има нещо общо с това? 336 00:16:43,252 --> 00:16:45,720 Аз не разбирам как двете са свързани. 337 00:16:45,720 --> 00:16:47,610 Защо ще правят specialchars? 338 00:16:47,610 --> 00:16:51,200 >> JASON Hirschhorn: ОК, така че SQL инжекция атака е, когато се инжектира 339 00:16:51,200 --> 00:16:59,180 някои злонамерени струни в нечий програма, и те просто го вземе и да тичам 340 00:16:59,180 --> 00:17:01,230 на SQL заявка с низ Ти ги даде. 341 00:17:01,230 --> 00:17:04,220 Както можете да видите тук, че може да бъде проблематично. 342 00:17:04,220 --> 00:17:07,480 Така че начина, по който се предотврати срещу които е вземете им низ, че те дават 343 00:17:07,480 --> 00:17:09,220 вие - така че този низ точно тук - 344 00:17:09,220 --> 00:17:11,240 и ти го правя по-приемлив. 345 00:17:11,240 --> 00:17:14,305 Можете избягат всички неща, които са потенциално проблематични. 346 00:17:14,305 --> 00:17:18,626 Така че не ги интерпретира като нещо това означава нещо. 347 00:17:18,626 --> 00:17:23,390 >> И пример за това с HTML е тази функция. 348 00:17:23,390 --> 00:17:26,060 Така че това е една и съща идея тук. 349 00:17:26,060 --> 00:17:27,579 И аз просто ви показва друг примери за когато сте 350 00:17:27,579 --> 00:17:29,030 виждал тази идея преди. 351 00:17:29,030 --> 00:17:33,913 От бягство въвеждане на потребителя преди печат тя излиза към екран или пускането 352 00:17:33,913 --> 00:17:36,782 вътре изявление SQL. 353 00:17:36,782 --> 00:17:40,790 >> ПУБЛИКАТА: Така че в този случай, потребителят е каша с програматора. 354 00:17:40,790 --> 00:17:41,240 >> JASON Hirschhorn: Да. 355 00:17:41,240 --> 00:17:44,800 С всички тези атаки на сигурността, това е винаги по принцип на потребителя, или 356 00:17:44,800 --> 00:17:47,470 някой се опитва да се забъркваш с вас, програмист. 357 00:17:47,470 --> 00:17:51,038 И това са начини, можете да предотврати срещу тях. 358 00:17:51,038 --> 00:17:54,280 >> ПУБЛИКАТА: Така че аз имам един въпрос за хеш функции. 359 00:17:54,280 --> 00:17:59,340 В Quiz 1 от 2011 г., има две въпроси за едностранни хешове. 360 00:17:59,340 --> 00:18:02,540 И аз просто се чудех какво означава това. 361 00:18:02,540 --> 00:18:03,660 >> JASON Hirschhorn: OK, които викторина? 362 00:18:03,660 --> 00:18:03,770 2011 г.? 363 00:18:03,770 --> 00:18:04,705 >> Публика: Да. 364 00:18:04,705 --> 00:18:06,720 >> ПУБЛИКАТА: Quiz 1? 365 00:18:06,720 --> 00:18:08,620 >> ПУБЛИКАТА: [недоловим]. 366 00:18:08,620 --> 00:18:09,940 Това е все едно хеширане парола. 367 00:18:09,940 --> 00:18:12,220 Това не е удар неща - 368 00:18:12,220 --> 00:18:13,440 >> JASON Hirschhorn: Какво страница беше? 369 00:18:13,440 --> 00:18:15,720 >> ПУБЛИКАТА: Мисля, че беше 9 или 10, или и двете. 370 00:18:15,720 --> 00:18:16,720 >> JASON Hirschhorn: Добре, давай, Кърт. 371 00:18:16,720 --> 00:18:17,780 Можете да отговорите, докато ние с нетърпение. 372 00:18:17,780 --> 00:18:19,540 >> ПУБЛИКАТА: Мисля, че това говори за хеширане парола. 373 00:18:19,540 --> 00:18:24,430 Например, когато някой влиза с парола, можете да го превърне в криптирана нещо. 374 00:18:24,430 --> 00:18:27,395 Това е хеш парола, която е различен от разбъркващата функция, че 375 00:18:27,395 --> 00:18:30,900 слага нещо в хеш таблица. 376 00:18:30,900 --> 00:18:31,610 >> JASON Hirschhorn: Да видим. 377 00:18:31,610 --> 00:18:33,930 Позволете ми да спра това, което те даде като отговор. 378 00:18:33,930 --> 00:18:35,440 И тогава ние ще минеш през нея. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Така че Кърт даде чудесен пример на еднопосочна хеш. 381 00:18:45,400 --> 00:18:48,800 Когато сме виждали това и преди, ние вземат паролата и да се обърнат - 382 00:18:48,800 --> 00:18:53,040 Спомням си, в комплект стр. 7, някой може има парола, която е само с парола, 383 00:18:53,040 --> 00:18:55,300 но след това той получава кодирано в някои наистина дълго нещо. 384 00:18:55,300 --> 00:18:59,830 The еднопосочна хеш означава, че е много лесно да се премине от един начин на другия, но 385 00:18:59,830 --> 00:19:02,800 това е много трудно да се премине от по друг начин обратно. 386 00:19:02,800 --> 00:19:05,230 >> И така, вие знаете, когато сте били проверка пароли на хората в проблем 387 00:19:05,230 --> 00:19:08,820 определила 7, вие ще си вземат - 388 00:19:08,820 --> 00:19:11,953 така че, например, казват, че искат да променят своята парола, можете да ги помолите 389 00:19:11,953 --> 00:19:13,130 за старата си парола. 390 00:19:13,130 --> 00:19:13,910 Ти взе старата си парола. 391 00:19:13,910 --> 00:19:15,150 Можете да го кодирано. 392 00:19:15,150 --> 00:19:19,240 И след това сравнение на двете криптиране отколкото unencrypting оригинала 393 00:19:19,240 --> 00:19:20,780 едно, защото това е наистина трудно да се отиде по този начин. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Да. 396 00:19:28,035 --> 00:19:31,430 >> ПУБЛИКАТА: Как в дълбочина прави нашия разбиране на Telnet трябва да бъде? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> JASON Hirschhorn: Ако беше споменато накратко в лекция, само на кратко 399 00:19:41,360 --> 00:19:43,260 разбиране. 400 00:19:43,260 --> 00:19:45,585 Отново, обратно към отговора на въпрос на AVI - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 колкото повече неща се появяват, толкова по-вероятно това е, което трябва да бъде супер 403 00:19:50,430 --> 00:19:51,530 запознат с тях. 404 00:19:51,530 --> 00:19:54,730 Ако те идват само в лекция, това е само едно място. 405 00:19:54,730 --> 00:19:57,180 Но ако те идват в лекция, секция, и проблем, зададен, тогава вие 406 00:19:57,180 --> 00:19:58,710 вероятно ще трябва да бъде супер запознат с тях. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Така че аз имах един въпрос от по-рано около - 409 00:20:03,960 --> 00:20:06,950 т.е. беше есен 2010 - 410 00:20:06,950 --> 00:20:08,520 Quiz 1, нека да спра - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 този въпрос на стекове и опашки, които ние не прекарват справедлива част от времето 413 00:20:21,790 --> 00:20:23,720 говори в лекция, дори въпреки че ние всъщност не 414 00:20:23,720 --> 00:20:26,020 някога го удари в раздел. 415 00:20:26,020 --> 00:20:33,190 Така че този въпрос ви дава серия от команди, и ви питам какво 416 00:20:33,190 --> 00:20:35,560 материал се отпечатва в този случай. 417 00:20:35,560 --> 00:20:40,180 Така че това е един напълно логичен въпрос че може да бъде поискано от вас 418 00:20:40,180 --> 00:20:43,090 момчета, и тогава вие трябва да да бъде в състояние да му отговори. 419 00:20:43,090 --> 00:20:50,020 >> Така че, защо не и да го погледнеш за 30 секунди, а след това, ако някой иска да 420 00:20:50,020 --> 00:20:52,140 предложи отговорите на мен, и След това ние ще минеш през нея. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 Добре, кой има отговор на въпрос 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Да. 425 00:21:33,860 --> 00:21:40,250 >> ПУБЛИКАТА: Дали е 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> JASON Hirschhorn: Точно така. 427 00:21:40,780 --> 00:21:42,570 27 е 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Така че нека да погледнем как сме стигнали това. 429 00:21:44,510 --> 00:21:48,930 >> Първо, ние казваме, ако S е опашка, това, което се отпечатва? 430 00:21:48,930 --> 00:21:53,360 Така че р е първи влязъл, първи излязъл. 431 00:21:53,360 --> 00:21:54,680 Виждали сме това и преди. 432 00:21:54,680 --> 00:21:56,820 Видяхме картина на хората чака на Apple 433 00:21:56,820 --> 00:21:58,400 Магазин, за да купя някои продукти. 434 00:21:58,400 --> 00:22:00,900 Първите хора в са първите хора навън. 435 00:22:00,900 --> 00:22:02,940 Първите неща в режим на изчакване са първите неща навън. 436 00:22:02,940 --> 00:22:08,320 >> Така че, ако ние прокара нещо в опашка, натискане на един, а след това ние се появи на 1. 437 00:22:08,320 --> 00:22:09,630 Поп просто означава извади. 438 00:22:09,630 --> 00:22:11,080 В този случай, просто приемете нещо. 439 00:22:11,080 --> 00:22:12,910 Ние извадете първата нещо, това е едно. 440 00:22:12,910 --> 00:22:15,200 Така че ние ще постави нещата ние печат надолу тук. 441 00:22:15,200 --> 00:22:18,110 Това вече не е в нашата опашка. 442 00:22:18,110 --> 00:22:23,500 >> Тогава натиснете върху 2 и 3, и ние гърмя първото нещо. 443 00:22:23,500 --> 00:22:25,030 Отново, защото това е една опашка. 444 00:22:25,030 --> 00:22:33,320 Така че ние поведат с 2, а след това ще се постави върху друг 3 и се обадете отново поп. 445 00:22:33,320 --> 00:22:34,980 Нашата 3 е на първо място. 446 00:22:34,980 --> 00:22:40,940 >> И тогава имахме цял куп други неща и разговор поп. 447 00:22:40,940 --> 00:22:43,740 Но отново, тъй като това е опашката, първи влязъл, първи излязъл. 448 00:22:43,740 --> 00:22:45,980 Ние извади първото нещо, че е някога е бил извеждан инча 449 00:22:45,980 --> 00:22:47,100 Това е нашият 3. 450 00:22:47,100 --> 00:22:50,060 И в този случай, ние не се притеснявайте за всички тези други неща. 451 00:22:50,060 --> 00:22:51,310 Така че това е, ако това е опашка. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Всякакви въпроси за опашката? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> A стак е различно. 456 00:23:04,040 --> 00:23:07,782 Какво е акроним имаме за разбирането на комин? 457 00:23:07,782 --> 00:23:08,750 >> ПУБЛИКАТА: Последно влязъл, първи излязъл. 458 00:23:08,750 --> 00:23:10,130 >> JASON Hirschhorn: LIFO, мисля. 459 00:23:10,130 --> 00:23:11,830 Последен вътре, първи излязъл. 460 00:23:11,830 --> 00:23:15,630 Така видяхме пример за комин на тави в зала за хранене. 461 00:23:15,630 --> 00:23:17,590 Каквото и тава е на върха получава качват нагоре. 462 00:23:17,590 --> 00:23:19,550 И след това, ако нови тави идват в, те се поставят на върха. 463 00:23:19,550 --> 00:23:21,070 И след всичко, което е на отгоре получава качват нагоре. 464 00:23:21,070 --> 00:23:24,010 Така че тези тави на долния мощта остане там за известно време. 465 00:23:24,010 --> 00:23:28,480 >> В този случай, отново, ние ще изготви това. 466 00:23:28,480 --> 00:23:31,770 Ние тласък на един, така че един е първи по ред. 467 00:23:31,770 --> 00:23:32,790 И ние се появи нещо на разстояние. 468 00:23:32,790 --> 00:23:37,280 И има само едно нещо, там, така че ние се движат една тук долу. 469 00:23:37,280 --> 00:23:41,940 След това ще се постави на 2 и 3 и ние изскочи нещо на разстояние. 470 00:23:41,940 --> 00:23:43,650 >> Но отново, тъй като това е опашка - 471 00:23:43,650 --> 00:23:45,010 или това е една купчина, по-скоро - 472 00:23:45,010 --> 00:23:47,480 вземаме каквото беше в последния. 473 00:23:47,480 --> 00:23:49,300 Каквото и да е, в последно излиза на първо място. 474 00:23:49,300 --> 00:23:50,890 И 3 е в последен. 475 00:23:50,890 --> 00:23:56,110 Така че ние поставяме на три там, а след това ще се постави върху друга три и ние 476 00:23:56,110 --> 00:23:57,360 изскочи нещо отново. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 И накрая, ние поставяме на 4, 5, 6 и 7, и тук ние поп. 479 00:24:05,710 --> 00:24:09,060 И тъй като това е един комин, ние се каквото и да е пусната в последния и пишат 480 00:24:09,060 --> 00:24:10,240 че тук долу. 481 00:24:10,240 --> 00:24:14,256 Така че ние в крайна сметка с 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Дали някой има някакви въпроси относно стекове или опашки, или този пример? 484 00:24:21,380 --> 00:24:27,540 485 00:24:27,540 --> 00:24:29,030 >> OK. 486 00:24:29,030 --> 00:24:30,440 Нека да се върнем към списъка с теми. 487 00:24:30,440 --> 00:24:32,510 Не по този начин, по този начин. 488 00:24:32,510 --> 00:24:34,280 Какви други въпроси хората имат? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> ПУБЛИКАТА: Не знам колко е важно това е, но аз бях объркана от 491 00:24:39,480 --> 00:24:43,550 разлика между различните видове езици като маркиране, събират, 492 00:24:43,550 --> 00:24:45,980 тълкува. 493 00:24:45,980 --> 00:24:46,750 >> JASON Hirschhorn: Това е Добър въпрос. 494 00:24:46,750 --> 00:24:50,500 Мисля, че това е много важен, така че нека да го прегледаме бързо. 495 00:24:50,500 --> 00:24:56,850 Големите езици, които сме виждали досега са C, PHP и JavaScript, от гледна точка 496 00:24:56,850 --> 00:24:58,330 на езиците за програмиране. 497 00:24:58,330 --> 00:25:01,060 HTML, както споменах, не е език за програмиране. 498 00:25:01,060 --> 00:25:02,260 Това е език за маркиране. 499 00:25:02,260 --> 00:25:05,700 И тогава имаме CSS, който също е не е език за програмиране. 500 00:25:05,700 --> 00:25:10,330 >> Ние също така сме виждали SQL, която не е език за програмиране от двамата. 501 00:25:10,330 --> 00:25:15,695 Така SQL ви позволява да пишете заявки за база данни. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML е език за маркиране. 504 00:25:20,140 --> 00:25:22,570 Той определя как нещата са структурирани. 505 00:25:22,570 --> 00:25:26,250 И CSS ви позволява да оформите нещата. 506 00:25:26,250 --> 00:25:28,520 Това е вероятно, доколкото за това, което трябва да знаете за тези три. 507 00:25:28,520 --> 00:25:32,920 Но това е по-интересно да фигура разликите между C, PHP, 508 00:25:32,920 --> 00:25:34,320 и JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Така че един от най-големите разлики, както споменах, е как те са 510 00:25:37,900 --> 00:25:40,550 компилиран, или каквото и еквивалент е. 511 00:25:40,550 --> 00:25:42,580 Така че C е компилиран. 512 00:25:42,580 --> 00:25:43,950 Ние винаги ще тече компилатор. 513 00:25:43,950 --> 00:25:51,100 И тогава къде са вашите грешки когато стартирате C компилатор? 514 00:25:51,100 --> 00:25:55,740 Къде ли ви шоуто грешки в кода си? 515 00:25:55,740 --> 00:25:57,860 Откъде знаеш, че има един грешка в кода в C? 516 00:25:57,860 --> 00:25:58,770 >> ПУБЛИКАТА: Тя ви показва в терминала. 517 00:25:58,770 --> 00:26:00,410 >> JASON Hirschhorn: Тя ви показва на терминал, както сте съставянето. 518 00:26:00,410 --> 00:26:02,620 И ако има грешки, той всъщност няма да го компилирате. 519 00:26:02,620 --> 00:26:04,830 Така че, вие знаете, че има грешки правилните далеч, преди време, преди да 520 00:26:04,830 --> 00:26:06,050 дори и тичам вашия код. 521 00:26:06,050 --> 00:26:10,010 >> Разбира се, вие може да стартирате свой код и получите грешка сегментация, но това беше 522 00:26:10,010 --> 00:26:12,350 вероятно защото сте направили някаква глупава логика нещо. 523 00:26:12,350 --> 00:26:15,770 Но вашия код с технически всичко правилно и да тичам. 524 00:26:15,770 --> 00:26:18,210 Така C код получава съставен преди време. 525 00:26:18,210 --> 00:26:19,760 Какво ще кажете за PHP код? 526 00:26:19,760 --> 00:26:21,430 Къде бяха грешки в PHP код? 527 00:26:21,430 --> 00:26:23,170 Откъде знаеш, че имаш грешки във вашата PHP код? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> ПУБЛИКАТА: Пусни време? 530 00:26:28,430 --> 00:26:31,230 >> JASON Hirschhorn: Да, когато ще го изпълним, ще изпълнете 531 00:26:31,230 --> 00:26:32,180 PHP код в гърба. 532 00:26:32,180 --> 00:26:33,300 И тогава ще се покаже на екрана. 533 00:26:33,300 --> 00:26:35,260 Може да видите някои неща, които бяха на върха, но след това вие ще видите, като някои 534 00:26:35,260 --> 00:26:36,710 оранжево, грозна маса. 535 00:26:36,710 --> 00:26:41,420 И това ще ви даде номер на ред и да речем, дрън, дрън, дрън, тези неща 536 00:26:41,420 --> 00:26:42,400 не работи. 537 00:26:42,400 --> 00:26:48,730 >> Така че PHP се интерпретира ред по ред и се изпълнява на сървъра. 538 00:26:48,730 --> 00:26:52,380 И след това резултатът е изпрати до вас. 539 00:26:52,380 --> 00:26:53,340 Чудесно. 540 00:26:53,340 --> 00:26:56,410 Изпълнени в сървъра ред по ред и след това се изпраща към вас. 541 00:26:56,410 --> 00:26:59,010 И ако има грешка, тя ще изпрати вие грешката, но може да се наложи 542 00:26:59,010 --> 00:27:00,400 намерила някои неща преди време. 543 00:27:00,400 --> 00:27:02,730 Така че някои от тях може да са обработени, но по-късно, някои неща не може да има 544 00:27:02,730 --> 00:27:03,890 не е работил. 545 00:27:03,890 --> 00:27:04,600 >> Ами JavaScript? 546 00:27:04,600 --> 00:27:06,065 Къде видяхте грешки джава? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 В стр. настроите 8, когато получих грешка, как разбрахте? 549 00:27:12,870 --> 00:27:13,710 Къде ще го покаже? 550 00:27:13,710 --> 00:27:15,900 >> ПУБЛИКАТА: В конзолата, в дъното. 551 00:27:15,900 --> 00:27:17,650 >> JASON Hirschhorn: В конзола, на дъното. 552 00:27:17,650 --> 00:27:20,160 Той също така ще ви дава даде номер на ред, и би 553 00:27:20,160 --> 00:27:21,330 се появи на дъното. 554 00:27:21,330 --> 00:27:24,320 И JavaScript не е била изпълнена на сървъра. 555 00:27:24,320 --> 00:27:27,800 JavaScript е изпратен на вашия компютър, и след това, когато дойде време да изпълните 556 00:27:27,800 --> 00:27:31,670 JavaScript, за JavaScript е тичам ред по линия на 557 00:27:31,670 --> 00:27:33,410 клиент, на твоя страна. 558 00:27:33,410 --> 00:27:35,570 Не на сървъра, от страна на клиента. 559 00:27:35,570 --> 00:27:37,690 >> И също така, че е тичам ред по ред. 560 00:27:37,690 --> 00:27:40,630 И тогава, когато вие ще получите съобщение за грешка, тя ще се появи в долната част. 561 00:27:40,630 --> 00:27:44,580 Подобно на PHP, част от него може изпълнение, и тогава може да се получи 562 00:27:44,580 --> 00:27:46,310 грешка по-късно. 563 00:27:46,310 --> 00:27:49,910 >> Също така, малко за разлика от PHP, ако имаш грешка в JavaScript - 564 00:27:49,910 --> 00:27:52,780 Казват, че не съм направил правото код за предупреждение кутия - 565 00:27:52,780 --> 00:27:55,800 вие може да продължи да работи вашата програма. 566 00:27:55,800 --> 00:27:58,180 Кутията за тревога няма да работи, но Вашата програма ще бъде наред. 567 00:27:58,180 --> 00:28:00,490 Просто може би тази функция ще се провали. 568 00:28:00,490 --> 00:28:02,610 >> Така че има някои от най-големите разлика от гледна точка на това как те 569 00:28:02,610 --> 00:28:09,230 език, или как програмния код пишете всъщност са оценени. 570 00:28:09,230 --> 00:28:11,970 Има и други различия в от гледна точка на - най-голямата разлика 571 00:28:11,970 --> 00:28:15,590 сме виждали по отношение на променливи в различните езици. 572 00:28:15,590 --> 00:28:19,660 Така че, може ли някой да ми даде разлика между променливите 573 00:28:19,660 --> 00:28:20,910 в трите езика? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Да. 576 00:28:25,770 --> 00:28:27,130 >> ПУБЛИКАТА: В C, те са стриктно написали. 577 00:28:27,130 --> 00:28:28,550 В другите две, те са хлабаво написали. 578 00:28:28,550 --> 00:28:30,040 >> JASON Hirschhorn: И какво означава това? 579 00:28:30,040 --> 00:28:31,775 >> ПУБЛИКАТА: Това в C, трябва да се декларират вида на променливата когато 580 00:28:31,775 --> 00:28:36,140 Вие декларирате променлива, като interbool или Чар. 581 00:28:36,140 --> 00:28:36,990 >> JASON Hirschhorn: Отлично. 582 00:28:36,990 --> 00:28:39,780 В C, ние винаги трябваше да се примири тип на променлива. 583 00:28:39,780 --> 00:28:41,360 И наистина не можем да смесвайте различни типове. 584 00:28:41,360 --> 00:28:45,750 Вие не може да направи цяло число плюс низ. 585 00:28:45,750 --> 00:28:48,760 Но както сме виждали в тези други езици, всъщност можете да се смесват видове, 586 00:28:48,760 --> 00:28:51,230 и никога не сте наистина трябва да се даде нещо тип, никога. 587 00:28:51,230 --> 00:28:53,905 >> Е, как да сме сигурни, че нещата са променливи в PHP и JavaScript? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> ПУБЛИКАТА: В PHP, те започват със знак за долар. 590 00:28:58,685 --> 00:29:00,810 В JavaScript, когато вие декларирате тях, трябва да имаш един бар. 591 00:29:00,810 --> 00:29:01,760 >> JASON Hirschhorn: Точно така. 592 00:29:01,760 --> 00:29:03,535 Така че в PHP, те започват със знак за долар. 593 00:29:03,535 --> 00:29:06,300 В JavaScript, те трябва да имат бар, въпреки че понякога те всъщност не 594 00:29:06,300 --> 00:29:07,520 Трябва да има бар. 595 00:29:07,520 --> 00:29:09,240 Но това е вярно. 596 00:29:09,240 --> 00:29:13,300 >> Така че това е голяма разлика между променливите. 597 00:29:13,300 --> 00:29:16,140 Мисля, че тези, които са най-вероятно, изключете върха на главата ми, двете най-големи 598 00:29:16,140 --> 00:29:19,250 разлики между тези три езика. 599 00:29:19,250 --> 00:29:20,594 Но, да. 600 00:29:20,594 --> 00:29:24,720 >> ПУБЛИКАТА: И обхвата на C променливи е ограничен до фигурните скоби, 601 00:29:24,720 --> 00:29:27,760 където други такива, това е просто обичат, той умира, ако това е само една функция, 602 00:29:27,760 --> 00:29:29,650 но по друг начин, това е. - 603 00:29:29,650 --> 00:29:30,240 >> JASON Hirschhorn: Точно така. 604 00:29:30,240 --> 00:29:36,780 Така обхват е малко по-различен в C. Като си спомняте, фигурни скоби определят 605 00:29:36,780 --> 00:29:37,710 обхвата на променливи. 606 00:29:37,710 --> 00:29:41,680 Така че, ако това се дефинира вътре в ако състояние, което е вътре за линия, 607 00:29:41,680 --> 00:29:44,290 променливата съществува само там. 608 00:29:44,290 --> 00:29:47,760 >> В JavaScript, ако променлива е определена ако вътре в състояние - 609 00:29:47,760 --> 00:29:50,750 вътре за линия - тя ще съществува за тази функция, но това няма да съществува 610 00:29:50,750 --> 00:29:52,330 извън тази функция. 611 00:29:52,330 --> 00:29:59,250 Така обхватът е малко по-гъвкава в JavaScript и PHP. 612 00:29:59,250 --> 00:30:00,500 Това отговори на въпроса? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 Добре, някакви други въпроси? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 Ние можем да направим още четири минути на въпроси, а след това 617 00:30:08,865 --> 00:30:10,740 ние ще се потопите в кодиране. 618 00:30:10,740 --> 00:30:12,645 >> ПУБЛИКАТА: Може ли да отидем в Аякс и да поговорим за това какво е това? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> JASON Hirschhorn: Говорете с Avi след това. 621 00:30:17,800 --> 00:30:19,170 Той попита на този въпрос по-рано. 622 00:30:19,170 --> 00:30:19,630 >> ПУБЛИКАТА: My лошо. 623 00:30:19,630 --> 00:30:20,880 >> JASON Hirschhorn: Не се тревожете. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> ПУБЛИКАТА: Какво точно е JSON? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> JASON Hirschhorn: Какво е JSON? 628 00:30:28,900 --> 00:30:29,930 Какъв е вашият въпрос? 629 00:30:29,930 --> 00:30:31,350 >> ПУБЛИКАТА: Просто наистина бързо, разликата между 630 00:30:31,350 --> 00:30:32,870 печат и ехо в PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> JASON Hirschhorn: Защо не Google разликата между печат и ехо? 633 00:30:38,490 --> 00:30:40,670 Малка разлика. 634 00:30:40,670 --> 00:30:42,020 Не че кой знае какво. 635 00:30:42,020 --> 00:30:44,960 Но определено трябва да го Google, и това ще ви даде по-добър отговор. 636 00:30:44,960 --> 00:30:46,910 >> JSON, вероятно по-голям от една сделка. 637 00:30:46,910 --> 00:30:49,300 Стойки за JavaScript Object Notation. 638 00:30:49,300 --> 00:30:51,865 И когато видяхме JSON се използва? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Когато сте виждали - 641 00:30:55,900 --> 00:30:57,400 защо ли изобщо думата JSON? 642 00:30:57,400 --> 00:30:59,140 Кога си го виждал? 643 00:30:59,140 --> 00:31:02,200 >> ПУБЛИКАТА: Когато ние получавахме борсови котировки за финансиране. 644 00:31:02,200 --> 00:31:02,690 >> JASON Hirschhorn: Значи сте видели го, когато сте били получаване 645 00:31:02,690 --> 00:31:04,830 борсови котировки за финансиране. 646 00:31:04,830 --> 00:31:07,340 И защо ли да го видя? 647 00:31:07,340 --> 00:31:09,000 >> ПУБЛИКАТА: Когато бяхме извличане цялата информация, която 648 00:31:09,000 --> 00:31:10,400 дойде в този формат. 649 00:31:10,400 --> 00:31:11,700 >> JASON Hirschhorn: Така че вие ​​ще получите - 650 00:31:11,700 --> 00:31:12,540 Да. 651 00:31:12,540 --> 00:31:13,020 Давай напред. 652 00:31:13,020 --> 00:31:15,210 >> ПУБЛИКАТА: [недоловим] информация от един обект? 653 00:31:15,210 --> 00:31:17,170 >> JASON Hirschhorn: И на тези, взети заедно е отговорът 654 00:31:17,170 --> 00:31:18,100 търсим. 655 00:31:18,100 --> 00:31:21,240 Вие искате информация от тази друга уеб страница. 656 00:31:21,240 --> 00:31:23,790 И се надявам, че когато сте получаване на тази информация, тя ще бъде 657 00:31:23,790 --> 00:31:26,720 представени пред вас в някакъв вид на стандартизиран формат. 658 00:31:26,720 --> 00:31:29,530 >> Всеки е вероятно запознати с разделени със запетая стойности. 659 00:31:29,530 --> 00:31:32,970 Можете да експортирате таблица в Excel или всякакъв вид на таблица и списък на 660 00:31:32,970 --> 00:31:34,540 разделени със запетая стойности. 661 00:31:34,540 --> 00:31:37,370 И запетайките разделят всички най-различни области. 662 00:31:37,370 --> 00:31:38,780 JavaScript Object Notation - 663 00:31:38,780 --> 00:31:39,440 JSON - 664 00:31:39,440 --> 00:31:43,540 е друг тип стандартизиран оформление на нещата. 665 00:31:43,540 --> 00:31:49,010 И това е често как ние възвръщаме информация от нашите заявки Аякс. 666 00:31:49,010 --> 00:31:51,770 >> Така че в този случай, ще го имаме от сайта Yahoo. 667 00:31:51,770 --> 00:31:53,600 Те се връщат неща, за да ни в JSON обект. 668 00:31:53,600 --> 00:31:56,790 И тогава ние знаем, защото това е стандарт, какво е 669 00:31:56,790 --> 00:31:57,250 ще изглежда така. 670 00:31:57,250 --> 00:32:00,760 Така че можем да превъртите през масива че е върнал при нас, масива на 671 00:32:00,760 --> 00:32:03,180 предмети, които се връщат при нас. 672 00:32:03,180 --> 00:32:07,770 >> Вероятно е необходимо да знаете ключовете, но те обикновено ви дам 673 00:32:07,770 --> 00:32:11,370 документация в сайта, когато сте привлекателен някои JSON 674 00:32:11,370 --> 00:32:12,170 нотация за тях. 675 00:32:12,170 --> 00:32:16,940 Също така, можете да JSON кодира обект. 676 00:32:16,940 --> 00:32:19,900 Така че има функция JSON подчертае кодират. 677 00:32:19,900 --> 00:32:22,970 И така, можете да вземете един обект, който сте създали, JSON го кодират, и 678 00:32:22,970 --> 00:32:26,390 да го давате на нещо друго, ако искате да. 679 00:32:26,390 --> 00:32:30,770 И JSON декодиране също съществува за подобна цел, или за 680 00:32:30,770 --> 00:32:31,780 противоположната цел. 681 00:32:31,780 --> 00:32:36,570 >> Публика: Трябва ли да знам за кодиране за хеш таблици и се опитва? 682 00:32:36,570 --> 00:32:40,300 Или ние просто трябва да се разбере, как те се използват, концептуално? 683 00:32:40,300 --> 00:32:44,570 >> JASON Hirschhorn: Така че, вдигнете ръката си Ако се направи хеш таблица за р Сет 4 684 00:32:44,570 --> 00:32:46,920 със списък на връзка. 685 00:32:46,920 --> 00:32:47,960 Или р комплект 5. 686 00:32:47,960 --> 00:32:49,060 Така че това е една огромна част от хората. 687 00:32:49,060 --> 00:32:50,390 P комплект 5, 6, кой знае. 688 00:32:50,390 --> 00:32:51,240 Преди много време. 689 00:32:51,240 --> 00:32:54,140 >> Така че по-голямата част от вас е направил хеш таблици с линк списъци. 690 00:32:54,140 --> 00:32:56,525 И тъй като това е може би още по- общ подход, а защото сме прекарали 691 00:32:56,525 --> 00:32:59,460 много време прави връзката списъци и хеш таблици, вероятно ще трябва да бъде 692 00:32:59,460 --> 00:33:02,600 доста запознат с това как да се кодира хеш таблица и списък с линкове. 693 00:33:02,600 --> 00:33:05,060 >> И ако мислите, че обратно на този проблем зададена, тя не беше наистина 694 00:33:05,060 --> 00:33:06,410 толкова силно, колкото се очакваше. 695 00:33:06,410 --> 00:33:08,120 И имаше много по-малко код, отколкото сте очаквали. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Бих казал, че трябва да знаеш как да кодира хеш таблица или списък с линкове. 698 00:33:14,650 --> 00:33:17,010 Не, че ще бъде поискано, че задължително, но трябва да 699 00:33:17,010 --> 00:33:19,730 Със сигурност знаем, че. 700 00:33:19,730 --> 00:33:21,860 >> Също така, ако погледнете през последните викторини, там са били много 701 00:33:21,860 --> 00:33:26,450 въпроси за писане на функции на Линк списъци или двойно-свързани списъци. 702 00:33:26,450 --> 00:33:28,370 Това изглежда да излезе всяка една година. 703 00:33:28,370 --> 00:33:31,940 Right вмъкнете в списък за връзка, нали изтриете от списъка за връзка, нали вмъкнете 704 00:33:31,940 --> 00:33:33,610 за двойно свързан списък, и така нататък. 705 00:33:33,610 --> 00:33:36,170 Така че, аз се чувствам доста комфортно казваш, че трябва да знаят това. 706 00:33:36,170 --> 00:33:40,600 >> За опит, бих казал, че трябва Със сигурност знаете как тя работи, и може би 707 00:33:40,600 --> 00:33:43,570 даде някои pseudocode за това как да го кодират и го изправи. 708 00:33:43,570 --> 00:33:45,600 Но това не би било най-лошото нещо в света, ако вие не знаете как да се 709 00:33:45,600 --> 00:33:48,870 го код в C. Това би било чудесно, ако можете знаеше как да го код в C, но аз мисля, 710 00:33:48,870 --> 00:33:52,516 вероятно pseudocode за опит би да бъде най-много ще ви е необходимо 711 00:33:52,516 --> 00:33:53,270 да знаете за да опитате. 712 00:33:53,270 --> 00:33:53,930 >> ПУБЛИКАТА: Екстра кредит? 713 00:33:53,930 --> 00:33:58,290 >> JASON Hirschhorn: И същото с това, ако ние отидете в двоични дървета за търсене, може да се 714 00:33:58,290 --> 00:34:02,320 нужда - и вие сте виждали в миналото, ние сме направили много - знаете как 715 00:34:02,320 --> 00:34:03,380 двоично търсене дърво работи. 716 00:34:03,380 --> 00:34:07,150 Може би трябва да бъде в състояние да зададете една в псевдо код. 717 00:34:07,150 --> 00:34:10,510 Но тъй като по-голямата част от хората не направи това по проблема 718 00:34:10,510 --> 00:34:13,880 набор, бих казал, че това е може би по-малко важно, че знаете как да се кодира 719 00:34:13,880 --> 00:34:17,380 и да се създаде такова дърво. 720 00:34:17,380 --> 00:34:19,679 >> Някакви други въпроси? 721 00:34:19,679 --> 00:34:23,234 Също така, ние можем да ги питам целия като минем през някои проблеми. 722 00:34:23,234 --> 00:34:27,170 ОК, ние ще продължим напред. 723 00:34:27,170 --> 00:34:28,230 Пропусни този слайд за сега. 724 00:34:28,230 --> 00:34:32,449 >> Говорейки на дървета, това е първата Имам въпрос за вас, момчета. 725 00:34:32,449 --> 00:34:34,270 Тъй като това е проблем. 726 00:34:34,270 --> 00:34:37,380 Бих казал, че е много вероятно ти ще получи проблем като този на вашия викторина 727 00:34:37,380 --> 00:34:43,659 Моля те да кодира някакъв вид вложка, изтриване, търсене, за един вид 728 00:34:43,659 --> 00:34:45,270 на структурата на данните, които сме виждали. 729 00:34:45,270 --> 00:34:47,719 >> Това идва всяка година и ние прекарахме много време на втората половина на тази 730 00:34:47,719 --> 00:34:50,270 семестър става над тези типове данни. 731 00:34:50,270 --> 00:34:54,170 Така че точно сега, аз съм определил възел в двоично търсене дърво. 732 00:34:54,170 --> 00:34:58,490 И това, което бих искал да направите, е да даде двоично търсене дърво, което започва 733 00:34:58,490 --> 00:35:05,450 в този възел звезда корен, изпълнете изпълнение на функцията по-долу, 734 00:35:05,450 --> 00:35:07,430 което се случва, да бъде функция находка. 735 00:35:07,430 --> 00:35:09,260 И го правя с и без рекурсии. 736 00:35:09,260 --> 00:35:10,860 >> Така че аз искам да пиша две функции. 737 00:35:10,860 --> 00:35:14,310 Един прави това с рекурсия, един Правейки това, без рекурсия. 738 00:35:14,310 --> 00:35:18,050 И не си мислете, че корен ще бъде непразна. 739 00:35:18,050 --> 00:35:21,790 Така че ние не търсим за цялото число и в дървото започва в основата, и имаме нужда от 740 00:35:21,790 --> 00:35:25,280 да напиша това рекурсивно и итеративно. 741 00:35:25,280 --> 00:35:26,300 Да. 742 00:35:26,300 --> 00:35:29,730 >> ПУБЛИКАТА: Значи вие искате от нас да се върне вярно ако го намерите, и невярно, ако ние 743 00:35:29,730 --> 00:35:30,480 не го намери. 744 00:35:30,480 --> 00:35:32,160 >> JASON Hirschhorn: Откъде знаеш? 745 00:35:32,160 --> 00:35:33,100 Откъде знаете това? 746 00:35:33,100 --> 00:35:36,500 >> ПУБЛИКАТА: питах първи, но аз бях ако се приеме, защото тя казва, булев в 747 00:35:36,500 --> 00:35:37,490 началото на функцията. 748 00:35:37,490 --> 00:35:37,880 >> JASON Hirschhorn: Точно така. 749 00:35:37,880 --> 00:35:41,020 Той казва, булев, така че дори не трябва да се да ти кажа това, което аз очаквам да се върне 750 00:35:41,020 --> 00:35:41,350 защото тя казва, точно там. 751 00:35:41,350 --> 00:35:42,280 Но това е добре. 752 00:35:42,280 --> 00:35:43,510 Връщане, вярно или невярно. 753 00:35:43,510 --> 00:35:47,630 >> Така че, преди да започнете, аз бих препоръчал, Ако не сте запознати с 754 00:35:47,630 --> 00:35:51,300 двоични дървета за търсене, бързо рисуване снимка на него, за да получите 755 00:35:51,300 --> 00:35:51,750 разбиране, нали. 756 00:35:51,750 --> 00:35:54,720 Това също ще ви помогне при писане кода си и го проверява. 757 00:35:54,720 --> 00:35:57,830 Отново, вие също не са толкова много време на теста да правя всички неща, 758 00:35:57,830 --> 00:35:59,030 че ние ви молим да се направи. 759 00:35:59,030 --> 00:36:02,350 Така че написването псевдо код е много полезен. 760 00:36:02,350 --> 00:36:05,310 >> И ние по принцип дават около - 761 00:36:05,310 --> 00:36:06,820 ако pseudocode е напълно правилно, това е 762 00:36:06,820 --> 00:36:08,910 обикновено до 50% на един въпрос. 763 00:36:08,910 --> 00:36:11,410 Така че това не е трудно и бързо правило, но ако просто напишете pseudocode и това е 764 00:36:11,410 --> 00:36:13,460 правилно, това е обикновено до 50%. 765 00:36:13,460 --> 00:36:14,970 Така че аз бих винаги препоръчвам - 766 00:36:14,970 --> 00:36:16,870 ако сте натиснат за време, или дори ако вие сте просто се опитва да го разбера - 767 00:36:16,870 --> 00:36:18,290 като се започне с pseudocode. 768 00:36:18,290 --> 00:36:24,840 И най-накрая, ако бихте могли да напиша тази всичко в C, че ще бъде фантастично. 769 00:36:24,840 --> 00:36:29,010 >> Така че нека да вземе три минути да работят по тази програма. 770 00:36:29,010 --> 00:36:33,120 И тогава ние ще напишем pseudocode за него само веднъж, и след това 771 00:36:33,120 --> 00:36:35,455 ние ще го кодира рекурсивно и след това итеративно. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Ако имате някакви въпроси, не се колебайте безплатно вдигнете ръката си. 774 00:37:30,760 --> 00:37:34,270 Честит да се разхожда и да отговори на тях преди да започнем като група. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Нека да го възобновите, и ние ще се pseudocode рекурсивната версия на 777 00:39:27,200 --> 00:39:29,830 това, и след това ние ще го кодира. 778 00:39:29,830 --> 00:39:33,380 Така рекурсивно функция се нуждае от две неща. 779 00:39:33,380 --> 00:39:35,960 Това може да е въпрос, който бихте могли да бъдат задавани. 780 00:39:35,960 --> 00:39:37,950 Има нужда от две неща. 781 00:39:37,950 --> 00:39:40,610 Кой може да вдигне ръка и да ми кажете какви са двете неща, рекурсивно 782 00:39:40,610 --> 00:39:43,680 функция се нуждае? 783 00:39:43,680 --> 00:39:45,030 По дефиниция тя има две неща. 784 00:39:45,030 --> 00:39:46,280 Какви са тези две неща? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Нови ръце. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Да, Алдън. 789 00:39:56,390 --> 00:39:57,980 >> ПУБЛИКАТА: Така че аз не съм съвсем сигурен дали това е терминологията, но - 790 00:39:57,980 --> 00:39:59,715 >> JASON Hirschhorn: Радвам се, че сте вдигане на ръка. 791 00:39:59,715 --> 00:40:03,380 >> ПУБЛИКАТА: Тя се нуждае от базов модел, и тя се нуждае от рекурсивни стъпка. 792 00:40:03,380 --> 00:40:03,960 >> JASON Hirschhorn: Perfect. 793 00:40:03,960 --> 00:40:06,340 Тя се нуждае от базов и рекурсивно стъпка. 794 00:40:06,340 --> 00:40:10,430 Така че това, което е нашата база случай тук? 795 00:40:10,430 --> 00:40:12,950 >> ПУБЛИКАТА: F корен равнява равнява нула. 796 00:40:12,950 --> 00:40:15,110 За съжаление, само в pseudocode, ако това е нищожна. 797 00:40:15,110 --> 00:40:16,360 Ако корен е нищожна. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> JASON Hirschhorn: Ако корен е нищожна. 800 00:40:23,540 --> 00:40:23,850 Това е отлична. 801 00:40:23,850 --> 00:40:24,610 Това е нашата база случай. 802 00:40:24,610 --> 00:40:25,910 Това е, което ние ще да се провери всеки път. 803 00:40:25,910 --> 00:40:28,000 И базов модел е първото нещо, което правите. 804 00:40:28,000 --> 00:40:29,720 Ако ви удари основния случай, сте готови. 805 00:40:29,720 --> 00:40:34,140 >> Сега имаме нужда от нашия рекурсивно повикване, и бих да бъдат готови да се обзаложим, ние се нуждаем от няколко 806 00:40:34,140 --> 00:40:35,440 рекурсивни призовава тук. 807 00:40:35,440 --> 00:40:39,630 Защото това е едно дърво, и ние може да отиде много начини. 808 00:40:39,630 --> 00:40:43,190 Така че, ако корен е нищожна, ние сме добре. 809 00:40:43,190 --> 00:40:44,970 >> Какво предлагаш? 810 00:40:44,970 --> 00:40:49,640 И сега, аз ще започна да вика на вас, защото знам, че вие ​​момчета 811 00:40:49,640 --> 00:40:50,540 Всички знаем това. 812 00:40:50,540 --> 00:40:52,610 Но Ани, какво трябва на следващия ред да бъде? 813 00:40:52,610 --> 00:40:53,570 Ами ако ние го намери? 814 00:40:53,570 --> 00:40:55,526 Какво ще правим? 815 00:40:55,526 --> 00:40:57,300 >> ПУБЛИКАТА: Ако ние го намери? 816 00:40:57,300 --> 00:40:59,160 >> JASON Hirschhorn: Или какво би трябвало да бъде - 817 00:40:59,160 --> 00:41:02,124 дай ми pseudocode за на линия, където го намерихме. 818 00:41:02,124 --> 00:41:04,700 >> ПУБЛИКАТА: Ако аз се равнява на корен аз? 819 00:41:04,700 --> 00:41:06,650 >> JASON Hirschhorn: И тогава какво ще правим? 820 00:41:06,650 --> 00:41:07,590 >> ПУБЛИКАТА: Завръщане вярно. 821 00:41:07,590 --> 00:41:08,530 >> JASON Hirschhorn: Great. 822 00:41:08,530 --> 00:41:16,890 Така че, ако аз е, аз - 823 00:41:16,890 --> 00:41:17,400 О, те платиха аз. 824 00:41:17,400 --> 00:41:18,470 Това става объркващо. 825 00:41:18,470 --> 00:41:23,830 Но ако аз е да се върна вярно. 826 00:41:23,830 --> 00:41:25,620 Това е най-вероятно следващата нещо, което можем да направим. 827 00:41:25,620 --> 00:41:27,300 Има смисъл. 828 00:41:27,300 --> 00:41:30,610 >> ОК, сега не сме направили нашия рекурсивни Все още се обадя, все пак, защото рекурсивно 829 00:41:30,610 --> 00:41:32,300 повикване ще се обадя отново тази функция. 830 00:41:32,300 --> 00:41:41,460 Така че това, което трябва на следващия линия на pseudocode бъде? 831 00:41:41,460 --> 00:41:42,730 Anna. 832 00:41:42,730 --> 00:41:43,980 >> ПУБЛИКАТА: отляво. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> JASON Hirschhorn: Бъдете конкретни, все пак. 835 00:41:47,590 --> 00:41:50,600 Това е двоично търсене дърво, така че това, което прави проверка на лявата страна води? 836 00:41:50,600 --> 00:41:51,890 >> ПУБЛИКАТА: Така възел - 837 00:41:51,890 --> 00:41:53,342 Съжалявам, корен. 838 00:41:53,342 --> 00:41:55,306 И след това с лявата стрелка. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Node, възел, съжалявам. 841 00:42:00,720 --> 00:42:01,978 Аз не съм го прочете правилно. 842 00:42:01,978 --> 00:42:05,700 Тя се нарича възел, нали? 843 00:42:05,700 --> 00:42:09,270 >> JASON Hirschhorn: Тя ще се нарича корен в тази функция, но така или иначе. 844 00:42:09,270 --> 00:42:10,925 От лявата страна - Така ли? 845 00:42:10,925 --> 00:42:13,780 >> ПУБЛИКАТА: Ако това не стане равно аз, след това отиваме да се обадя 846 00:42:13,780 --> 00:42:15,130 отново функцията? 847 00:42:15,130 --> 00:42:15,490 >> JASON Hirschhorn: Точно така. 848 00:42:15,490 --> 00:42:17,870 Ако това не стане равно аз, отиваме да се обадя отново функцията. 849 00:42:17,870 --> 00:42:21,435 Но от коя страна на дървото отиваме да се обадя отново на функцията? 850 00:42:21,435 --> 00:42:22,685 >> ПУБЛИКАТА: От лявата страна. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> JASON Hirschhorn: Ние не винаги сме Ще го наричаме ляво, ако тя 853 00:42:27,670 --> 00:42:29,190 не го равни. 854 00:42:29,190 --> 00:42:29,610 >> ПУБЛИКАТА: О, съжалявам. 855 00:42:29,610 --> 00:42:31,200 Обадете се на правото. 856 00:42:31,200 --> 00:42:33,680 >> JASON Hirschhorn: Искаме да знаем специално, все пак - не забравяйте, в 857 00:42:33,680 --> 00:42:37,700 двоично търсене дърво, всичко, за да лявата страна е по-малък. 858 00:42:37,700 --> 00:42:40,460 Всичко в дясно страна е по-голяма. 859 00:42:40,460 --> 00:42:43,990 Така че това просто не е - да, давай напред. 860 00:42:43,990 --> 00:42:46,805 >> ПУБЛИКАТА: Ако е по-малко, отколкото аз, след това - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 ако това е в ляво - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> JASON Hirschhorn: Така че, ако ри е по-малко от - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 така че ако ни брой е по-малко, отколкото аз, коя страна искаме да отидем, за да? 867 00:43:09,110 --> 00:43:15,120 >> ПУБЛИКАТА: Искаме да отидем от дясната страна. 868 00:43:15,120 --> 00:43:16,250 >> JASON Hirschhorn: Искаме да отида - 869 00:43:16,250 --> 00:43:19,210 позволете ми да насоча бърз дърво. 870 00:43:19,210 --> 00:43:23,850 Ако това е 5, това ще бъде 3. 871 00:43:23,850 --> 00:43:29,410 Така че, ако ри е по-малко от пет, какво страна искаме да отидем, за да? 872 00:43:29,410 --> 00:43:30,390 >> ПУБЛИКАТА: Съжалявам, какво? 873 00:43:30,390 --> 00:43:33,190 >> JASON Hirschhorn: Нашият номер е по-малко от броя сме 874 00:43:33,190 --> 00:43:34,710 търси в момента. 875 00:43:34,710 --> 00:43:35,890 >> ПУБЛИКАТА: О, тогава ние искаме за да отидете на левия фланг. 876 00:43:35,890 --> 00:43:36,240 Да. 877 00:43:36,240 --> 00:43:36,920 Извинете. 878 00:43:36,920 --> 00:43:37,230 >> JASON Hirschhorn: Точно така. 879 00:43:37,230 --> 00:43:38,480 Не се притеснявай. 880 00:43:38,480 --> 00:43:41,020 В двоично търсене дърво, всичко по-ниска е отляво, 881 00:43:41,020 --> 00:43:42,110 по-голяма е вдясно. 882 00:43:42,110 --> 00:43:46,700 Така че, ако ни брой е по-малък от Аза ние проверяваме - 883 00:43:46,700 --> 00:43:48,790 защото вие виждате в възел, той има и - 884 00:43:48,790 --> 00:43:50,040 след това искате да отидете в ляво. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> И това е лесен. 887 00:43:56,720 --> 00:44:01,700 Какво е другата линия на pseudocode ние трябва да пиша? 888 00:44:01,700 --> 00:44:02,910 Карлос? 889 00:44:02,910 --> 00:44:05,970 >> ПУБЛИКАТА: Същото нещо, просто превключвате да има повече от знак 890 00:44:05,970 --> 00:44:07,420 и отидете на правото. 891 00:44:07,420 --> 00:44:08,350 >> JASON Hirschhorn: Можете ли да го кажа още един път? 892 00:44:08,350 --> 00:44:11,640 >> ПУБЛИКАТА: Ако нашето число е по-голямо отколкото аз, отидете на правото. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> JASON Hirschhorn: Отлично работа на pseudocode. 895 00:44:26,690 --> 00:44:28,700 Нека да направим това в реалния код. 896 00:44:28,700 --> 00:44:33,280 И отново, това ще pseudocode вероятно можете да получите, защото това е 897 00:44:33,280 --> 00:44:35,480 вярна, 50% по този въпрос. 898 00:44:35,480 --> 00:44:39,720 Но това pseudocode също един превежда един, по същество, в код. 899 00:44:39,720 --> 00:44:44,380 >> Така че нека да направим това в C. Кой може да даде ме на първия ред на кода? 900 00:44:44,380 --> 00:44:48,390 Всъщност, на първо място, преди да го направя че, позволете ми да спра - 901 00:44:48,390 --> 00:44:49,260 >> ПУБЛИКАТА: Аз имам един въпрос. 902 00:44:49,260 --> 00:44:52,430 Защо тире Онлайн ти дадох? 903 00:44:52,430 --> 00:44:54,160 >> JASON Hirschhorn: Защото Не можех да пиша. 904 00:44:54,160 --> 00:44:55,240 Не знам. 905 00:44:55,240 --> 00:44:55,650 Прав си. 906 00:44:55,650 --> 00:44:57,780 Тази линия трябва да бъде там. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> Добре, тук е нашата функция. 909 00:45:14,480 --> 00:45:18,090 И нека да отбиеш, също така, нашата дефиниция на възел. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Какво се случва, ако не го направихме напиши typedef? 912 00:45:27,180 --> 00:45:30,240 Знае ли някой? 913 00:45:30,240 --> 00:45:32,570 >> ПУБЛИКАТА: Не би компилирате. 914 00:45:32,570 --> 00:45:33,860 >> JASON Hirschhorn: Това би събира, да. 915 00:45:33,860 --> 00:45:37,120 >> ПУБЛИКАТА: Бихте тя просто декларира едно Например, вместо да го нова 916 00:45:37,120 --> 00:45:39,840 тип сте може да декларира, множествена случаи на? 917 00:45:39,840 --> 00:45:41,700 >> JASON Hirschhorn: така че не би знам - това не би 918 00:45:41,700 --> 00:45:43,120 просто декларира един тип. 919 00:45:43,120 --> 00:45:46,150 Вие все още може да се направи много възли. 920 00:45:46,150 --> 00:45:48,070 >> ПУБЛИКАТА: Но не би ние трябва да напиши структура възел всеки път? 921 00:45:48,070 --> 00:45:48,640 >> JASON Hirschhorn: Точно така. 922 00:45:48,640 --> 00:45:50,960 Може би трябва да се напише структура възел всеки път, вместо просто възел. 923 00:45:50,960 --> 00:45:55,270 Но с typedef, може просто да напиши възел всеки път. 924 00:45:55,270 --> 00:45:58,240 Добре, кой не е дал - да, Avica. 925 00:45:58,240 --> 00:46:01,520 >> ПУБЛИКАТА: Ако корен равнява равни нищожна, връщане фалшиви. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> JASON Hirschhorn: Great, и това е нашата база случай. 928 00:46:09,490 --> 00:46:11,200 Следващия ред код. 929 00:46:11,200 --> 00:46:13,999 Някой, който не е дал ме линия на код Все още? 930 00:46:13,999 --> 00:46:14,945 Да. 931 00:46:14,945 --> 00:46:23,360 >> ПУБЛИКАТА: Root стрелка аз е равна равна и. 932 00:46:23,360 --> 00:46:27,260 След това се върнете вярно. 933 00:46:27,260 --> 00:46:29,162 >> JASON Hirschhorn: Great. 934 00:46:29,162 --> 00:46:32,048 Следващия ред? 935 00:46:32,048 --> 00:46:32,790 Да. 936 00:46:32,790 --> 00:46:34,010 Някой друг? 937 00:46:34,010 --> 00:46:36,774 И тогава може да се върви напред. 938 00:46:36,774 --> 00:46:44,820 >> ПУБЛИКАТА: Else ако корен стрелка аз е по-малко, отколкото да се върна 939 00:46:44,820 --> 00:46:47,737 функция, наречена находка корен - 940 00:46:47,737 --> 00:46:50,611 >> JASON Hirschhorn: Съжалявам. 941 00:46:50,611 --> 00:46:56,272 >> ПУБЛИКАТА: Върни находка корен изтъква наляво запетая аз. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> JASON Hirschhorn: Така че, ако ри е по-голяма отколкото нещо на дървото, ние искаме да 944 00:47:08,440 --> 00:47:09,573 отидете в ляво? 945 00:47:09,573 --> 00:47:11,790 >> ПУБЛИКАТА: Не, имах, че включен. 946 00:47:11,790 --> 00:47:13,040 >> JASON Hirschhorn: Кое? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> ПУБЛИКАТА: Не, да. 949 00:47:16,950 --> 00:47:19,050 Имам по-малко от подпише там. 950 00:47:19,050 --> 00:47:22,890 >> JASON Hirschhorn: Добре, ако РИ е по-малко от това, което е в основата - 951 00:47:22,890 --> 00:47:25,660 сегашната ни корен - тогава ние Искам да отида в ляво. 952 00:47:25,660 --> 00:47:26,960 И това, което е на последния ред, нали? 953 00:47:26,960 --> 00:47:30,930 >> ПУБЛИКАТА: По принцип едно и също нещо, освен превключите в по-голяма или 954 00:47:30,930 --> 00:47:34,690 равнява на по-малко от и отляво надясно. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> JASON Hirschhorn: Отлично. 957 00:47:43,680 --> 00:47:48,430 Дали някой има някакви въпроси за това? 958 00:47:48,430 --> 00:47:52,560 Така някои други неща, които биха са били правилно е, че 959 00:47:52,560 --> 00:47:53,810 може да бъде-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Предполагам, технически, нито един от тях наистина да се наложи да бъде-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> Също така, там е може би само един случай тук. 963 00:48:00,950 --> 00:48:02,380 Така че това е може би последния си случай. 964 00:48:02,380 --> 00:48:04,000 Ти дори не се нуждаят от това-ltiff. 965 00:48:04,000 --> 00:48:06,160 Но може би е добре да напиша това, за да бъде ясно. 966 00:48:06,160 --> 00:48:06,660 Да. 967 00:48:06,660 --> 00:48:09,200 >> ПУБЛИКАТА: Значи не смятате, че теста - ако ние правим грешки, например, 968 00:48:09,200 --> 00:48:11,725 в синтаксиса - 969 00:48:11,725 --> 00:48:13,990 малки грешки в синтаксиса - 970 00:48:13,990 --> 00:48:17,810 как това се взема в теста? 971 00:48:17,810 --> 00:48:21,300 >> JASON Hirschhorn: По принцип на теста, малък синтактични грешки или малък 972 00:48:21,300 --> 00:48:24,010 грешки стил не губят точки. 973 00:48:24,010 --> 00:48:26,610 Така че, ако сте забравили точка и запетая тук, би било OK. 974 00:48:26,610 --> 00:48:30,290 Ако сте забравили да затворите тази скоба, че ще бъде ОК. 975 00:48:30,290 --> 00:48:34,880 >> Огромни грешки в синтаксиса, които променят функционален смисъл на вашия код 976 00:48:34,880 --> 00:48:37,600 драстично, може да получите излетяло точки. 977 00:48:37,600 --> 00:48:40,330 Или като цяло, просто ви класификация от това дали или не си 978 00:48:40,330 --> 00:48:42,150 кодови функции, дори - 979 00:48:42,150 --> 00:48:44,830 не си дизайн толкова много, и не му стил. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Нека сега да кодира един повтарящ версия на находка. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Така че това ще бъде доста сходни, но има със сигурност щеше да бъде 984 00:49:03,450 --> 00:49:06,250 някои ключови различия. 985 00:49:06,250 --> 00:49:09,160 Въпреки това, нашата pseudocode вероятно може да отиде - 986 00:49:09,160 --> 00:49:11,610 Все още можем да вземем една линия на pseudocode и да разбера какво, по 987 00:49:11,610 --> 00:49:14,160 линия е в този случай. 988 00:49:14,160 --> 00:49:18,010 >> Така че в един повтарящ се версия, какво мислиш ли, Джулия, трябва 989 00:49:18,010 --> 00:49:19,260 На първо място се? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> ПУБЛИКАТА: Отново в повтарящ булев, , което трябва да се създаде за линия, нали? 992 00:49:26,920 --> 00:49:27,660 >> JASON Hirschhorn: OK. 993 00:49:27,660 --> 00:49:38,480 >> ПУБЛИКАТА: Така че за подобно, к, за х е равна на 0, х е по-малко, отколкото аз. 994 00:49:38,480 --> 00:49:42,260 Или не, х е по-малко от размер на дървото. 995 00:49:42,260 --> 00:49:42,760 >> JASON Hirschhorn: Дървото. 996 00:49:42,760 --> 00:49:46,660 Така че ние наистина не знаем размера на дърво, и ние наистина не знаем за 997 00:49:46,660 --> 00:49:48,900 Колко пъти можем да отидем, така че какво е различен вид на линия, която може да бъде 998 00:49:48,900 --> 00:49:50,150 по-добре в този случай? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> ПУБЛИКАТА: Ако друго? 1001 00:49:55,244 --> 00:49:57,070 >> JASON Hirschhorn: Ако друго не може да бъде примка. 1002 00:49:57,070 --> 00:49:58,935 Така че това, което е един вид контур можем просто отидете до някои случай е изпълнено? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Какво е единственият друг вид контур в C освен за цикъл? 1005 00:50:11,560 --> 00:50:11,930 >> ПУБЛИКАТА: Докато. 1006 00:50:11,930 --> 00:50:13,380 >> JASON Hirschhorn: Макар, точно така. 1007 00:50:13,380 --> 00:50:16,430 В една линия, докато не се направи Трябва да знаете как - 1008 00:50:16,430 --> 00:50:18,450 една линия, докато и за линия може да направи точно същото нещо, но хубавото 1009 00:50:18,450 --> 00:50:21,500 около една линия, докато е, че ние не се нуждаят от да знаете колко голям е нашето дърво. 1010 00:50:21,500 --> 00:50:23,060 Така че ние ще отидем до какво? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> ПУБЛИКАТА: До той е равен размера на - 1013 00:50:28,032 --> 00:50:32,320 >> JASON Hirschhorn: Е, това е много подобен на нашия рекурсивни случай. 1014 00:50:32,320 --> 00:50:33,360 Така че - 1015 00:50:33,360 --> 00:50:36,470 >> ПУБЛИКАТА: Докато корен Не е равно аз. 1016 00:50:36,470 --> 00:50:37,620 >> JASON Hirschhorn: Това е наистина близо. 1017 00:50:37,620 --> 00:50:39,430 Докато корен I - 1018 00:50:39,430 --> 00:50:40,610 нека да го опитам. 1019 00:50:40,610 --> 00:50:41,180 Не мисля, че [недоловим] 1020 00:50:41,180 --> 00:50:43,026 където корен и не е равно аз. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 Ние може да се наложи да го промените в малко малко, но това звучи като тя е доста 1023 00:50:49,460 --> 00:50:50,160 добре, за сега. 1024 00:50:50,160 --> 00:50:51,710 Така че ние ще направим това. 1025 00:50:51,710 --> 00:50:55,660 >> Също така, не забравяйте, че не можем да приемем, на въпроса. 1026 00:50:55,660 --> 00:50:57,880 Не си мислете, че корен ще бъде непразна. 1027 00:50:57,880 --> 00:51:01,914 И така, какво мислите, че самото Първото нещо, което трябва да направим е? 1028 00:51:01,914 --> 00:51:02,770 >> ПУБЛИКАТА: Just направи същото нещо, както преди. 1029 00:51:02,770 --> 00:51:05,260 Ако основата е равна на равни нищожна, връщане фалшиви. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> JASON Hirschhorn: Great. 1032 00:51:12,130 --> 00:51:13,820 Така че това може да се счита за невалидно. 1033 00:51:13,820 --> 00:51:15,810 Така че ние искаме да се отървем от него веднага. 1034 00:51:15,810 --> 00:51:19,560 И тогава ние ще проверява дали корен и не е равно аз. 1035 00:51:19,560 --> 00:51:24,480 Така че, да кажем, ние сме в търсене на това дърво за 3, корен аз не съм равен, сега 1036 00:51:24,480 --> 00:51:25,950 ние сме в нашата линия, докато. 1037 00:51:25,950 --> 00:51:27,500 Какво искаме да направим? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 И отново, това ще бъде доста подобен на нашия рекурсивни версия. 1040 00:51:35,430 --> 00:51:36,230 Да. 1041 00:51:36,230 --> 00:51:40,470 >> ПУБЛИКАТА: Значи вие ще искате да повторите, или продължавай надолу по дървото, толкова дълго, колкото 1042 00:51:40,470 --> 00:51:42,400 основата не е равна на нула. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> JASON Hirschhorn: толкова дълго, колкото корен не е равна на нула? 1045 00:51:46,640 --> 00:51:50,200 >> ПУБЛИКАТА: корен таблото АЗ не е равно на нула. 1046 00:51:50,200 --> 00:51:51,220 Просто корена, да. 1047 00:51:51,220 --> 00:51:52,920 Като докато основата е не е равно на нула. 1048 00:51:52,920 --> 00:51:54,240 >> JASON Hirschhorn: Значи вие искате да промените това в корена 1049 00:51:54,240 --> 00:51:56,590 не е равно на нула? 1050 00:51:56,590 --> 00:51:59,020 >> Публика: Да. 1051 00:51:59,020 --> 00:52:00,800 >> ПУБЛИКАТА: Можем да комбинираме те, нали? 1052 00:52:00,800 --> 00:52:02,990 Ние не се нуждаем от, ако първоначално. 1053 00:52:02,990 --> 00:52:05,180 >> JASON Hirschhorn: ОК, така че ако ние не - 1054 00:52:05,180 --> 00:52:08,140 ако ги комбинирате, така че ние ще направим докато корен не е равно на нула, и 1055 00:52:08,140 --> 00:52:10,800 ако коренът се случва да бъде нула в започваща, какво правим тук? 1056 00:52:10,800 --> 00:52:11,450 >> ПУБЛИКАТА: връщане фалшиви. 1057 00:52:11,450 --> 00:52:12,730 >> JASON Hirschhorn: Great. 1058 00:52:12,730 --> 00:52:14,110 Така че и в двете посоки вероятно би работил. 1059 00:52:14,110 --> 00:52:15,645 Това е друг начин, и това го съчетава. 1060 00:52:15,645 --> 00:52:18,950 Но пак, ако го направиш така или иначе, ние сме Няма да свалиш дизайн 1061 00:52:18,950 --> 00:52:19,800 точки на теста. 1062 00:52:19,800 --> 00:52:21,020 Но това изглежда добре. 1063 00:52:21,020 --> 00:52:23,940 >> Така че, докато корен не е равно нищожна, каква е първата 1064 00:52:23,940 --> 00:52:25,400 нещо, което искате да проверите? 1065 00:52:25,400 --> 00:52:26,330 Някой друг? 1066 00:52:26,330 --> 00:52:29,720 Null, какво е първото нещо? 1067 00:52:29,720 --> 00:52:32,850 >> ПУБЛИКАТА: Ако РИ е по-малко от - 1068 00:52:32,850 --> 00:52:36,140 О, предполагам, ако ние вече Намерих го в корена. 1069 00:52:36,140 --> 00:52:40,830 Така че, ако корен стрелка и е равна на I - 1070 00:52:40,830 --> 00:52:40,990 >> JASON Hirschhorn: Моля? 1071 00:52:40,990 --> 00:52:45,840 >> ПУБЛИКАТА: Ако корен стрелка и е равно равнява I - 1072 00:52:45,840 --> 00:52:47,090 >> JASON Hirschhorn: Какво ще правим? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> ПУБЛИКАТА: Завръщане вярно. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> JASON Hirschhorn: Great. 1077 00:52:59,280 --> 00:53:00,530 И какво следва? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Jeff, каква е следващата линия на код? 1080 00:53:06,843 --> 00:53:16,190 >> ПУБЛИКАТА: Ако аз е по-малко от корен стрелка аз, след това се равнява на корен корен лява стрелка. 1081 00:53:16,190 --> 00:53:21,550 >> JASON Hirschhorn: корен равни корен стрелка наляво. 1082 00:53:21,550 --> 00:53:24,530 Така че това е може би най-големият разлика тук, в този повтарящ се 1083 00:53:24,530 --> 00:53:26,600 версия за разлика от рекурсивно версия. 1084 00:53:26,600 --> 00:53:28,970 Рекурсивният версия, ние обадите отново функцията. 1085 00:53:28,970 --> 00:53:32,640 Ние ще се актуализира, когато корен ние наричаме новата функция. 1086 00:53:32,640 --> 00:53:34,170 Тук не се обаждате на нова функция. 1087 00:53:34,170 --> 00:53:37,610 Ние сме просто само актуализиране корен в тази функция. 1088 00:53:37,610 --> 00:53:38,880 Това е отлична. 1089 00:53:38,880 --> 00:53:40,730 И това, което е последната линия на код? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Да, Марио? 1092 00:53:44,880 --> 00:53:48,290 >> ПУБЛИКАТА: Else корен равни корен с дясна стрелка. 1093 00:53:48,290 --> 00:53:49,492 >> JASON Hirschhorn: Моля? 1094 00:53:49,492 --> 00:53:52,340 >> ПУБЛИКАТА: Root равни корен с дясна стрелка. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> JASON Hirschhorn: Бихте ли също напиша нещо подобно? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> ПУБЛИКАТА: Нямам представа. 1099 00:54:03,890 --> 00:54:05,140 >> JASON Hirschhorn: Не можеш. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Не можеш да направиш плюс равни. 1102 00:54:08,270 --> 00:54:10,780 ОК, така че това изглежда добре. 1103 00:54:10,780 --> 00:54:13,620 Защо просто не го направиш за да го почисти. 1104 00:54:13,620 --> 00:54:15,220 Това изглежда страхотно, а това ще проработи. 1105 00:54:15,220 --> 00:54:16,920 И ние ще избухне. 1106 00:54:16,920 --> 00:54:21,460 >> Ако корен лявата е нула или корен полето е нищожна, ние ще дойде до тук. 1107 00:54:21,460 --> 00:54:22,470 Root ще бъде равна на нула. 1108 00:54:22,470 --> 00:54:24,270 Ние ще се измъкнат от нашата верига, и ние ще се върне фалшиви. 1109 00:54:24,270 --> 00:54:26,280 Така че, когато ние избягаме от контур, ние връщане фалшиви. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> И отново, за известно време примката беше перфектна тук, защото ние не знаем как 1112 00:54:32,793 --> 00:54:33,850 големия ни дърво е. 1113 00:54:33,850 --> 00:54:36,460 Опитахме се да пишем за линия, но ние Осъзнах, че трябва да разбера как 1114 00:54:36,460 --> 00:54:37,410 голям, че е по-напред от време. 1115 00:54:37,410 --> 00:54:38,720 Да. 1116 00:54:38,720 --> 00:54:41,790 >> ПУБЛИКАТА: Ако това не беше двоичен търсене дърво, би било реално математика-у 1117 00:54:41,790 --> 00:54:44,220 да го напиша итеративно, нали? 1118 00:54:44,220 --> 00:54:47,170 Например, ако това е дърво, но не задължително - 1119 00:54:47,170 --> 00:54:49,730 така че това не беше всичко по-малки в ляво, и всички по-голяма отдясно. 1120 00:54:49,730 --> 00:54:52,540 Това ще бъде наистина трудно да превъртите над него, нали? 1121 00:54:52,540 --> 00:54:55,720 Ние ще трябва да спаси това, което е по-рано на в дървото и да се върнеш, 1122 00:54:55,720 --> 00:54:56,970 и подобни неща. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> JASON Hirschhorn: Ако не беше двоичен търсене дърво, ако това е просто 1125 00:55:02,010 --> 00:55:04,740 дърво и неща, които не са били подредени по този начин - 1126 00:55:04,740 --> 00:55:07,440 и ние осъзнахме по-рано, когато Анна ни помагаше, че правейки 1127 00:55:07,440 --> 00:55:08,800 сортирани ни помага много - 1128 00:55:08,800 --> 00:55:12,610 ние ще трябва да, да, винаги спаси където бяхме преди. 1129 00:55:12,610 --> 00:55:14,430 Но може да има много където бяхме previouslys. 1130 00:55:14,430 --> 00:55:17,730 Може да има много възли майки. 1131 00:55:17,730 --> 00:55:22,530 >> Вероятно най-добрият начин да направите това би бъде да продължаваш да се бориш неща върху някои 1132 00:55:22,530 --> 00:55:24,170 тип комин или опашка. 1133 00:55:24,170 --> 00:55:26,030 Вие никога не ще трябва да се кодира тази защото е трудно проблем. 1134 00:55:26,030 --> 00:55:30,820 Но те бутна някои неща, върху купчина или опашка и след това да ги гърмя, и 1135 00:55:30,820 --> 00:55:31,890 след това да ги оцени. 1136 00:55:31,890 --> 00:55:34,200 >> И след това има нещо друго, където вие всъщност извеждайки възли, и 1137 00:55:34,200 --> 00:55:36,090 след това да създадете това, а после търси чрез това. 1138 00:55:36,090 --> 00:55:38,700 Това може да бъде най-добрият начин да го направя. 1139 00:55:38,700 --> 00:55:42,410 ОК, някакви въпроси относно този проблем? 1140 00:55:42,410 --> 00:55:44,670 >> ПУБЛИКАТА: Това е на свързан нота. 1141 00:55:44,670 --> 00:55:50,460 Ще трябва да сравним манш пъти за хеш таблици, двоичен 1142 00:55:50,460 --> 00:55:52,160 търсене на дървета, и т.н.? 1143 00:55:52,160 --> 00:55:54,310 >> JASON Hirschhorn: Вероятно. 1144 00:55:54,310 --> 00:55:56,150 Така че нека да направим това много бързо. 1145 00:55:56,150 --> 00:55:58,490 Пусни време за хеш таблица - 1146 00:55:58,490 --> 00:55:59,090 какви са другите? 1147 00:55:59,090 --> 00:56:00,050 Binary дърво? 1148 00:56:00,050 --> 00:56:02,920 >> ПУБЛИКАТА: списъци Линк. 1149 00:56:02,920 --> 00:56:04,780 >> JASON Hirschhorn: Добре, нека да направим вложка. 1150 00:56:04,780 --> 00:56:09,980 Какво е най-голям О от вложка на хеш таблица? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Какви са предположенията че правиш? 1153 00:56:15,285 --> 00:56:17,760 >> Публика: Ти си поставяте в в началото на списъка с линк. 1154 00:56:17,760 --> 00:56:19,860 >> JASON Hirschhorn: Вероятно първото предположение е, че няма сблъсъци. 1155 00:56:19,860 --> 00:56:22,340 Ако няма сблъсъци, след това време на вмъкване е един. 1156 00:56:22,340 --> 00:56:26,560 Ако има сблъсъци, а ти си прави отделен верижното и вмъкване 1157 00:56:26,560 --> 00:56:31,880 в началото на списъка на връзка, след това вмъкване е също постоянна. 1158 00:56:31,880 --> 00:56:34,700 >> Ако правиш хеш таблица, но вие има различен метод за справяне 1159 00:56:34,700 --> 00:56:36,040 със сблъсъци, какво е различен метод? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Какво е различен метод за справяне с 1162 00:56:42,960 --> 00:56:44,205 сблъсък в хеш таблица? 1163 00:56:44,205 --> 00:56:44,915 >> ПУБЛИКАТА: Linear програмиране. 1164 00:56:44,915 --> 00:56:45,540 >> JASON Hirschhorn: Linear програмиране. 1165 00:56:45,540 --> 00:56:47,770 Така че ние ще продължим да търсим за следващия отворен място. 1166 00:56:47,770 --> 00:56:50,390 Това не е константно време вмъкване. 1167 00:56:50,390 --> 00:56:52,266 Може да се наложи да мине през цялата таблица, така че 1168 00:56:52,266 --> 00:56:53,936 може да бъде голям О п. 1169 00:56:53,936 --> 00:56:54,740 Да. 1170 00:56:54,740 --> 00:56:57,690 >> ПУБЛИКАТА: В противен случай просто верижното? 1171 00:56:57,690 --> 00:57:00,160 >> JASON Hirschhorn: Направихме отделна верижното. 1172 00:57:00,160 --> 00:57:00,720 Това беше първата. 1173 00:57:00,720 --> 00:57:01,560 Това е, което списъкът на връзката. 1174 00:57:01,560 --> 00:57:03,720 Привлекателният името е отделна верижното. 1175 00:57:03,720 --> 00:57:06,880 Тя може да бъде всякакъв вид списък структура ние се случи да се направи в списъка за връзка. 1176 00:57:06,880 --> 00:57:10,490 >> Така че отново, поставяне върху маса хеш може да бъде постоянно време. 1177 00:57:10,490 --> 00:57:13,160 Какво ще кажете за вмъкване на теглич опашка? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> ПУБЛИКАТА: Не е ли това постоянно? 1180 00:57:20,640 --> 00:57:21,530 >> JASON Hirschhorn: Това е константно време. 1181 00:57:21,530 --> 00:57:23,420 Ти просто го натискате. 1182 00:57:23,420 --> 00:57:24,120 OK. 1183 00:57:24,120 --> 00:57:25,380 Insertion, какви са тези други? 1184 00:57:25,380 --> 00:57:27,100 На пробвам? 1185 00:57:27,100 --> 00:57:30,252 Какво е голям O на вмъкване на пробвам? 1186 00:57:30,252 --> 00:57:32,808 >> ПУБЛИКАТА: Дължина е постоянна. 1187 00:57:32,808 --> 00:57:34,560 Дължина на най-дългият - 1188 00:57:34,560 --> 00:57:36,998 дължината на думата вие поставяте. 1189 00:57:36,998 --> 00:57:38,210 >> JASON Hirschhorn: Моля? 1190 00:57:38,210 --> 00:57:39,120 Изчакайте, така че това, което съм чул? 1191 00:57:39,120 --> 00:57:40,260 Ти каза - това, което казахте? 1192 00:57:40,260 --> 00:57:41,650 Какъв беше отговорът ти, Маркъс? 1193 00:57:41,650 --> 00:57:43,640 >> ПУБЛИКАТА: Дължината на думата вие поставяте в герои, 1194 00:57:43,640 --> 00:57:45,480 ако приемем, че това е опит характер. 1195 00:57:45,480 --> 00:57:46,840 >> JASON Hirschhorn: ОК, така че дължината на думата. 1196 00:57:46,840 --> 00:57:49,500 Ще се направи предположение, че това е низ от символи. 1197 00:57:49,500 --> 00:57:51,930 Ти каза нещо по-различно, все пак. 1198 00:57:51,930 --> 00:57:55,490 Ти каза, че дължината на най-дългата дума. 1199 00:57:55,490 --> 00:57:57,600 >> ПУБЛИКАТА: Това е просто константа, нали? 1200 00:57:57,600 --> 00:57:58,440 >> JASON Hirschhorn: Защо тя е постоянна? 1201 00:57:58,440 --> 00:58:00,970 >> ПУБЛИКАТА: Например, ако използвате голям O нотация, а след това тя не се различават в зависимост 1202 00:58:00,970 --> 00:58:04,680 от броя на нещата, които вече сме в опит. 1203 00:58:04,680 --> 00:58:07,344 >> JASON Hirschhorn: Така че ние ще Казват, че е константно време. 1204 00:58:07,344 --> 00:58:11,840 Това е постоянна вмъкване, и че е така, защото тази идея - 1205 00:58:11,840 --> 00:58:14,820 кажем, че имаме една дума, която е на 45 г. или дума, която е 60, 1206 00:58:14,820 --> 00:58:16,800 има постоянен брой. 1207 00:58:16,800 --> 00:58:21,050 И тя просто ще бъде поставена в константно време. 1208 00:58:21,050 --> 00:58:26,060 >> На практика обаче, това не би било Очевидно е, че се случи в една милисекунда, 1209 00:58:26,060 --> 00:58:26,590 например. 1210 00:58:26,590 --> 00:58:28,880 Но бихме казали голяма O е константа за да опитате. 1211 00:58:28,880 --> 00:58:31,330 И това е един от неговите най-големите предимства. 1212 00:58:31,330 --> 00:58:33,330 >> Какво ще кажете за вмъкване в списък за връзка? 1213 00:58:33,330 --> 00:58:37,220 Само генеричен, сортиран връзка? 1214 00:58:37,220 --> 00:58:37,700 Да. 1215 00:58:37,700 --> 00:58:38,530 >> ПУБЛИКАТА: Имах въпрос. 1216 00:58:38,530 --> 00:58:42,670 На теста, ще те някога ни е да зададете вмъкване на време, че е четири стъпки, 1217 00:58:42,670 --> 00:58:43,270 или нещо друго? 1218 00:58:43,270 --> 00:58:44,300 Или това е просто - 1219 00:58:44,300 --> 00:58:47,670 когато ти казват време вмъкване е едно, това просто означава, константно време? 1220 00:58:47,670 --> 00:58:49,770 >> JASON Hirschhorn: Да, те биха винаги питам, той е голям O на п? 1221 00:58:49,770 --> 00:58:51,440 Big O на лог н? 1222 00:58:51,440 --> 00:58:53,960 N квадрат постоянна. 1223 00:58:53,960 --> 00:58:56,520 Това са наистина единственият такива, които трябва да знаете. 1224 00:58:56,520 --> 00:58:58,420 Какво ще кажете за поставяне върху сортирано списък връзка? 1225 00:58:58,420 --> 00:58:59,440 >> ПУБЛИКАТА: Имах въпрос - 1226 00:58:59,440 --> 00:58:59,980 въпрос - 1227 00:58:59,980 --> 00:59:01,060 >> JASON Hirschhorn: Какъв е отговорът на този въпрос, все пак? 1228 00:59:01,060 --> 00:59:02,120 >> ПУБЛИКАТА: Чакай, какво те питам? 1229 00:59:02,120 --> 00:59:06,750 >> JASON Hirschhorn: Какво е голям O на вмъкване в списък с подредени връзка? 1230 00:59:06,750 --> 00:59:07,070 >> ПУБЛИКАТА: One? 1231 00:59:07,070 --> 00:59:09,400 Не, чакайте, Не, чакайте, п. 1232 00:59:09,400 --> 00:59:11,420 >> JASON Hirschhorn: N. Освен Списъкът на връзката. 1233 00:59:11,420 --> 00:59:12,706 И това, което е на вашия въпрос? 1234 00:59:12,706 --> 00:59:16,440 >> ПУБЛИКАТА: Значи ще ти пиша о на к о или на 1, за - 1235 00:59:16,440 --> 00:59:18,150 >> JASON Hirschhorn: Oh. 1236 00:59:18,150 --> 00:59:21,830 Аз ще напиша о на един, най-вероятно. 1237 00:59:21,830 --> 00:59:24,160 Имаше една друга структура на данните че би било добре. 1238 00:59:24,160 --> 00:59:25,730 Tree, двоично търсене дърво. 1239 00:59:25,730 --> 00:59:27,510 Какво е вмъкване на двоично дърво за търсене? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> ПУБЛИКАТА: Вход. 1242 00:59:33,900 --> 00:59:39,260 >> JASON Hirschhorn: И така, какво е най-лошото случай в двоично търсене дърво? 1243 00:59:39,260 --> 00:59:45,350 Така че, ако ние се случи да започне на 5, и на всеки брой е по-голяма от 5, тогава 1244 00:59:45,350 --> 00:59:48,760 имаме 5, 7, 9, 11, и така нататък. 1245 00:59:48,760 --> 00:59:52,255 В този случай, това е основно само една връзка списък, а ние трябва да поставите всички 1246 00:59:52,255 --> 00:59:52,680 Между другото в края. 1247 00:59:52,680 --> 00:59:54,350 Така че това е голяма O от п. 1248 00:59:54,350 --> 00:59:57,720 >> Това би могло да бъде най-лошото нашия случай на двоично търсене дърво. 1249 00:59:57,720 --> 01:00:00,890 Очевидно е, че никога няма да се конструира двоично търсене дърво с 5 в 1250 01:00:00,890 --> 01:00:04,270 средна, знаейки, 5 ще е най-малък брой. 1251 01:00:04,270 --> 01:00:08,030 Но тя може да бъде, ако сте като се започне от нулата. 1252 01:00:08,030 --> 01:00:10,980 Всякакви въпроси за тази преди I преминете към друг въпрос? 1253 01:00:10,980 --> 01:00:11,560 Това е добър въпрос. 1254 01:00:11,560 --> 01:00:15,100 Аз ще знам голям O на - 1255 01:00:15,100 --> 01:00:18,620 >> ПУБЛИКАТА: Какво ще кажете за търсене за тези четири? 1256 01:00:18,620 --> 01:00:20,400 >> JASON Hirschhorn: Определено сме е търсене и сортиране. 1257 01:00:20,400 --> 01:00:22,160 Ние направихме всички тези алгоритми, нали. 1258 01:00:22,160 --> 01:00:23,390 Чакай, бе, че за Quiz 1? 1259 01:00:23,390 --> 01:00:23,980 Е, която покриваше - 1260 01:00:23,980 --> 01:00:25,860 Имахте ли вече, че въпрос на Quiz 1? 1261 01:00:25,860 --> 01:00:29,650 Големият O време на работа на двоично търсене, вмъкване на сортиране, сортиране балон? 1262 01:00:29,650 --> 01:00:30,160 >> Публика: Да. 1263 01:00:30,160 --> 01:00:32,790 >> JASON Hirschhorn: Ако сте имали, че въпрос на Quiz 0, шансовете са, няма да го направиш 1264 01:00:32,790 --> 01:00:35,180 получите същото точна въпроса за тест 1. 1265 01:00:35,180 --> 01:00:36,300 Може би все още е добре да се знае тези. 1266 01:00:36,300 --> 01:00:38,520 Надяваме се, трябва да знаете, GH вече. 1267 01:00:38,520 --> 01:00:40,740 >> Но други логаритмични Runtimes са може би добре да се знае. 1268 01:00:40,740 --> 01:00:42,890 Неща, които не са били обхванати от Quiz 0. 1269 01:00:42,890 --> 01:00:47,300 Подобно на всички тези оператори на тези абстрактни типове данни. 1270 01:00:47,300 --> 01:00:50,760 >> ОК, нека продължим. 1271 01:00:50,760 --> 01:00:52,190 Този човек трябва да е доста бърз. 1272 01:00:52,190 --> 01:00:56,170 И това е един нов език, ние не трябва всъщност кодирани в преди. 1273 01:00:56,170 --> 01:00:59,300 Това е въпрос, офертна за кодиране в PHP. 1274 01:00:59,300 --> 01:01:01,950 Така че помислете за PHP масив-долу. 1275 01:01:01,950 --> 01:01:06,150 Напиши PHP и / или HTML кодове, така че тя извежда таблица с две колони с TFS 1276 01:01:06,150 --> 01:01:08,810 имена и къщи. 1277 01:01:08,810 --> 01:01:11,600 >> Никога не съм правил това и преди, този конкретен проблем. 1278 01:01:11,600 --> 01:01:16,270 Но това трябва да бъде много добре запознат с какво си направил в проблем определила 7. 1279 01:01:16,270 --> 01:01:21,250 Така че аз ще бъда готов да се обзаложи, ще бъде помолени да кодира нещо в PHP, че 1280 01:01:21,250 --> 01:01:23,880 е много подобен на това, което Направих в проблем определила 7. 1281 01:01:23,880 --> 01:01:26,300 >> Първо, масив не е толкова специфични. 1282 01:01:26,300 --> 01:01:28,140 Какъв тип масив е това? 1283 01:01:28,140 --> 01:01:29,080 >> ПУБЛИКАТА: асоциативен. 1284 01:01:29,080 --> 01:01:31,250 >> JASON Hirschhorn: Това е асоциативен масив. 1285 01:01:31,250 --> 01:01:33,750 И каква е разликата между асоциативен масив и обект? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> ПУБЛИКАТА: Един обект масив има индекс от цели числа, и асоциативен масив 1288 01:01:44,857 --> 01:01:47,814 е индекс на низ, или нещо подобно. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> JASON Hirschhorn: Така масив от обекти ще имат индекси на 1291 01:01:54,880 --> 01:01:57,090 числа, но обект има полета. 1292 01:01:57,090 --> 01:02:01,590 Той има тези имена области като име, къща, студент. 1293 01:02:01,590 --> 01:02:03,720 Имате ли идея? 1294 01:02:03,720 --> 01:02:06,630 >> ПУБЛИКАТА: Е, асоциативен масив е в PHP, нали? 1295 01:02:06,630 --> 01:02:07,880 И обект е в JavaScript? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> JASON Hirschhorn: Честно казано, няма реална разлика между двете. 1298 01:02:14,820 --> 01:02:19,540 И двете имат струни като ключовете, и да имат основно нещо като стойност. 1299 01:02:19,540 --> 01:02:21,250 Различни езици наричат ​​един нещо асоциативен масив, 1300 01:02:21,250 --> 01:02:22,750 едно нещо, което един обект. 1301 01:02:22,750 --> 01:02:25,960 Така че, честно казано, не е реално разлика, но там със сигурност е известно 1302 01:02:25,960 --> 01:02:27,730 синтактични разлики между двете. 1303 01:02:27,730 --> 01:02:28,200 Да. 1304 01:02:28,200 --> 01:02:33,580 >> ПУБЛИКАТА: Така е обект също кодирани под качулката като хеш таблица, а след това? 1305 01:02:33,580 --> 01:02:35,796 >> JASON Hirschhorn: Това, което правиш означава, кодирани под капака? 1306 01:02:35,796 --> 01:02:38,017 >> ПУБЛИКАТА: Казаха ни, че асоциативен масив е технически по- 1307 01:02:38,017 --> 01:02:39,960 хеш таблица. 1308 01:02:39,960 --> 01:02:44,510 Така че е обект също е технически хеш таблица? 1309 01:02:44,510 --> 01:02:45,350 >> JASON Hirschhorn: Аз не отивам да се отговори на този въпрос. 1310 01:02:45,350 --> 01:02:46,600 Ще се свържем с вас по този въпрос. 1311 01:02:46,600 --> 01:02:48,980 Но аз не мисля, че би било от на тези, които по този начин. 1312 01:02:48,980 --> 01:02:53,790 Но, по никакъв начин, асоциативен масив и обект, като цяло, хората използват тези 1313 01:02:53,790 --> 01:02:54,910 термини като взаимозаменяеми. 1314 01:02:54,910 --> 01:02:57,630 В този случай, на хладно част е можете да използвате ключове. 1315 01:02:57,630 --> 01:03:00,580 Strings като ключове, а не само прости числа. 1316 01:03:00,580 --> 01:03:02,070 >> Така че аз съм бил говорим за това за известно време. 1317 01:03:02,070 --> 01:03:04,090 Надяваме се, че някои хора имат намерила започна по този въпрос. 1318 01:03:04,090 --> 01:03:08,050 Отиваме да пиша някакъв PHP и HTML код, така че ние се две колони 1319 01:03:08,050 --> 01:03:11,830 маса с TFS имена и къщи. 1320 01:03:11,830 --> 01:03:15,380 >> ОК, аз също бих искал глава ред на тази таблица. 1321 01:03:15,380 --> 01:03:18,410 Така че аз отивам да получите направо в това. 1322 01:03:18,410 --> 01:03:20,770 Отиваме да подаде, нов, и ние ще - 1323 01:03:20,770 --> 01:03:27,780 1324 01:03:27,780 --> 01:03:28,320 >> OK. 1325 01:03:28,320 --> 01:03:29,970 Как да започна една маса? 1326 01:03:29,970 --> 01:03:32,090 Какво е етикет, Michael, за да започне една маса? 1327 01:03:32,090 --> 01:03:32,890 >> ПУБЛИКАТА: Таблица. 1328 01:03:32,890 --> 01:03:34,020 >> JASON Hirschhorn: Таблица. 1329 01:03:34,020 --> 01:03:37,870 И ако отворите маркер, какво друго ми трябва? 1330 01:03:37,870 --> 01:03:39,810 >> Аудитория: A главата? 1331 01:03:39,810 --> 01:03:41,040 Или, аз предполагам, клас. 1332 01:03:41,040 --> 01:03:41,730 >> JASON Hirschhorn: Така че, съжалявам. 1333 01:03:41,730 --> 01:03:45,430 Да приемем, че вече съм писал doctab, HTML, всички тези неща. 1334 01:03:45,430 --> 01:03:50,230 Но ако отворите тази таблица тагове, какво друго трябва да пиша? 1335 01:03:50,230 --> 01:03:53,450 за валидиране на HTML? 1336 01:03:53,450 --> 01:03:55,000 >> ПУБЛИКАТА: Затворете го. 1337 01:03:55,000 --> 01:03:56,050 >> JASON Hirschhorn: Затворете етикет. 1338 01:03:56,050 --> 01:03:57,575 Как да напиша тагове близък маса? 1339 01:03:57,575 --> 01:03:59,580 >> ПУБЛИКАТА: Dot наклонена черта маса. 1340 01:03:59,580 --> 01:04:00,960 >> JASON Hirschhorn: Slash маса, чудесно. 1341 01:04:00,960 --> 01:04:02,730 Вероятно има смисъл да пиша и двете на тези, които заедно, защото 1342 01:04:02,730 --> 01:04:03,870 сте се погрижили да го направя. 1343 01:04:03,870 --> 01:04:08,575 OK, ако искам заглавен ред, как Аз пиша заглавен ред с титли? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> ПУБЛИКАТА: тя е по-малко от 10 часа в близост - 1346 01:04:19,290 --> 01:04:21,550 TR, да. 1347 01:04:21,550 --> 01:04:22,100 >> JASON Hirschhorn: TR? 1348 01:04:22,100 --> 01:04:25,080 >> ПУБЛИКАТА: След едно и също нещо, наклонената черта, да. 1349 01:04:25,080 --> 01:04:26,610 >> JASON Hirschhorn: OK, и ми даде две колони. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> ПУБЛИКАТА: T D? 1352 01:04:33,210 --> 01:04:34,460 >> JASON Hirschhorn: OK. 1353 01:04:34,460 --> 01:04:37,730 1354 01:04:37,730 --> 01:04:39,520 Искам две колони. 1355 01:04:39,520 --> 01:04:40,960 Означава ли това да ми даде две колони? 1356 01:04:40,960 --> 01:04:43,880 Колко колони е това? 1357 01:04:43,880 --> 01:04:45,920 One. 1358 01:04:45,920 --> 01:04:47,170 Така че нека да копирате и поставите този. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Така че, всъщност, на теста, всичко това код че съм писал досега беше 1361 01:05:03,390 --> 01:05:04,710 всъщност дава на вас. 1362 01:05:04,710 --> 01:05:06,200 Но ти трябва вероятно все още знам как да го напиша. 1363 01:05:06,200 --> 01:05:06,470 Да. 1364 01:05:06,470 --> 01:05:10,636 >> ПУБЛИКАТА: Вашата къща е между двете. 1365 01:05:10,636 --> 01:05:11,130 >> JASON Hirschhorn: Boom. 1366 01:05:11,130 --> 01:05:12,720 Тя трябва да отиде точно там, нали? 1367 01:05:12,720 --> 01:05:14,600 Добър избор. 1368 01:05:14,600 --> 01:05:17,760 Така че отново, всичко това кодът е всъщност който ви е даден от действителното викторина. 1369 01:05:17,760 --> 01:05:19,570 Но е забавно да го напиша, а вие Трябва да знаете как да го напиша. 1370 01:05:19,570 --> 01:05:23,640 Така че това е мястото, където трябва да започнат свой код. 1371 01:05:23,640 --> 01:05:25,150 Какво ни е нужно да пиша тук? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> Съжалявам, че трябва да променя името на този файл. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Така че ние го записва в. HTML файл, не в PHP файл.. 1376 01:05:44,270 --> 01:05:47,030 Тези неща биха означавали нищо в PHP файл.. 1377 01:05:47,030 --> 01:05:48,500 Така че ние сме в една. HTML файл. 1378 01:05:48,500 --> 01:05:50,090 Какво е първото нещо, Имам нужда да пиша? 1379 01:05:50,090 --> 01:05:52,990 Искам да се въведе някакъв PHP код в HTML. 1380 01:05:52,990 --> 01:05:57,300 >> ПУБЛИКАТА: PHP, като друг морков и въпросителен знак PHP, нали? 1381 01:05:57,300 --> 01:05:58,310 >> JASON Hirschhorn: Great. 1382 01:05:58,310 --> 01:05:59,360 И как мога да свърши това? 1383 01:05:59,360 --> 01:06:02,510 >> Аудитория: С въпросителен знак. 1384 01:06:02,510 --> 01:06:03,120 >> JASON Hirschhorn: Това е страхотно. 1385 01:06:03,120 --> 01:06:07,090 Това е първото нещо, което ми трябва, ако искам да се въведе някакъв PHP код в тук. 1386 01:06:07,090 --> 01:06:11,210 >> ПУБЛИКАТА:. Мислех, че PHP файл може да отнеме HTML. 1387 01:06:11,210 --> 01:06:12,290 >> JASON Hirschhorn: Да. 1388 01:06:12,290 --> 01:06:15,330 A. PHP файл може да отнеме известно HTML и да се покаже. 1389 01:06:15,330 --> 01:06:16,450 Това ми беше лошо. 1390 01:06:16,450 --> 01:06:18,300 Просто се опитвах да имитират това, което беше на теста. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> OK, съжалявам да ви обърка. 1393 01:06:24,720 --> 01:06:25,550 Да, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Сега отиваме да се сложи някои PHP код инча 1395 01:06:27,340 --> 01:06:30,530 Какво е на първа линия на PHP код трябва да напиша? 1396 01:06:30,530 --> 01:06:33,360 Отивам да мине през този масив и да го направи в таблица. 1397 01:06:33,360 --> 01:06:34,600 Да. 1398 01:06:34,600 --> 01:06:37,160 >> ПУБЛИКАТА: Можете да използвате А за H линия или за линия. 1399 01:06:37,160 --> 01:06:38,415 >> JASON Hirschhorn: Добре, какво искаш да се използва? 1400 01:06:38,415 --> 01:06:40,720 >> ПУБЛИКАТА: Бих се използва за линия. 1401 01:06:40,720 --> 01:06:48,700 За, и след това да направите знака за долар I е равна на 0 и запетая долар 1402 01:06:48,700 --> 01:06:51,580 знакът, по-малко от 2. 1403 01:06:51,580 --> 01:06:55,455 И тогава аз и запетая долар знакът, плюс плюс. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> JASON Hirschhorn: Как да Знаете ли, че да се използва 2? 1406 01:07:03,880 --> 01:07:10,444 >> ПУБЛИКАТА: Защото имаше два асоциативни масиви в рамките на по-голям 1407 01:07:10,444 --> 01:07:11,960 асоциативен масив. 1408 01:07:11,960 --> 01:07:13,610 >> JASON Hirschhorn: Така че големият нещото не представлява асоциативен масив. 1409 01:07:13,610 --> 01:07:15,500 Голямото нещо е просто един нормален масив. 1410 01:07:15,500 --> 01:07:17,380 Но ти си прав, има две асоциативни масиви 1411 01:07:17,380 --> 01:07:18,910 вътре в нашия по-голям масив. 1412 01:07:18,910 --> 01:07:20,310 Ето защо можете да използвате два. 1413 01:07:20,310 --> 01:07:24,270 Чувствам се неудобно, ако се приеме, че те са две, така че това, което е начин да се пишат 1414 01:07:24,270 --> 01:07:26,810 това, без да се предположи, че те са две? 1415 01:07:26,810 --> 01:07:27,507 >> ПУБЛИКАТА: [недоловим]? 1416 01:07:27,507 --> 01:07:29,165 >> JASON Hirschhorn: Добре, как пишеш това? 1417 01:07:29,165 --> 01:07:35,262 >> ПУБЛИКАТА: Foreach знака за долар TFS или като знак за долар TF. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> JASON Hirschhorn: ОК, така че за всеки TFS като TFS, аз искам да, сега 1420 01:07:41,960 --> 01:07:43,650 отново, имате моята маса. 1421 01:07:43,650 --> 01:07:45,250 Така че, който може да ми даде следващия ред код? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> ПУБЛИКАТА: Print, а след това в цитати, край скоба TR 1424 01:07:59,810 --> 01:08:02,670 скоба, край цитат. 1425 01:08:02,670 --> 01:08:05,300 Крайните скоби, точка и запетая. 1426 01:08:05,300 --> 01:08:07,135 >> JASON Hirschhorn: OK, и Какво е това смяташ да правиш? 1427 01:08:07,135 --> 01:08:08,610 >> ПУБЛИКАТА: Ще кажа, нов ред. 1428 01:08:08,610 --> 01:08:11,070 Това ще постави таг за нов ред. 1429 01:08:11,070 --> 01:08:13,000 >> JASON Hirschhorn: Точно така, това PHP, като ние говорихме по-рано - това 1430 01:08:13,000 --> 01:08:22,160 PHP ще бъдат оценени, а след това то се случва да разпечатате до този файл 1431 01:08:22,160 --> 01:08:26,350 маса за теглене, а след това, че HTML ще бъде оценена. 1432 01:08:26,350 --> 01:08:27,810 Ние просто копиране на този HTML имахме тук. 1433 01:08:27,810 --> 01:08:28,120 Да. 1434 01:08:28,120 --> 01:08:29,470 >> ПУБЛИКАТА: [недоловим]? 1435 01:08:29,470 --> 01:08:30,290 >> JASON Hirschhorn: Моля? 1436 01:08:30,290 --> 01:08:31,240 Това е точно тук. 1437 01:08:31,240 --> 01:08:33,590 Есен 2012. 1438 01:08:33,590 --> 01:08:35,970 Не гледайте отговорите, нека да го решим заедно. 1439 01:08:35,970 --> 01:08:37,330 Така че ние отпечатате ред от таблица. 1440 01:08:37,330 --> 01:08:38,550 Така че, вие вероятно сте на люлка на нещата. 1441 01:08:38,550 --> 01:08:41,060 Каква е следващата линия на код трябва да пиша? 1442 01:08:41,060 --> 01:08:42,926 Асам, дай ми на следващия ред на код. 1443 01:08:42,926 --> 01:08:46,290 >> Публика: Трябва името на TF-те години. 1444 01:08:46,290 --> 01:08:54,319 Tf отворени скоби кавички назовем затворени скоби. 1445 01:08:54,319 --> 01:08:57,310 >> JASON Hirschhorn: Дайте ми името си. 1446 01:08:57,310 --> 01:08:58,540 >> Публика: Трябва да отпечатате това. 1447 01:08:58,540 --> 01:08:59,790 >> [вмъкване VOICES] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> JASON Hirschhorn: OK, как мога да го отпечатате? 1450 01:09:03,430 --> 01:09:04,680 >> [вмъкване VOICES] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> JASON Hirschhorn: Аз съм липсва нещо сега. 1453 01:09:10,350 --> 01:09:12,470 Какво липсва? 1454 01:09:12,470 --> 01:09:13,720 >> ПУБЛИКАТА: Имате нужда от знак за долар. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> JASON Hirschhorn: Какво иначе аз съм липсва? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Всички сме отпечатани досега е TR. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> ПУБЛИКАТА: Затворете TR след него. 1461 01:09:27,470 --> 01:09:28,720 >> JASON Hirschhorn: Така че ние трябва , за да затворите след TR. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Който вижда какво ни липсва по линия 16? 1464 01:09:37,906 --> 01:09:39,340 Да, Anna. 1465 01:09:39,340 --> 01:09:47,050 >> ПУБЛИКАТА: Вие трябва да отворите на ТД и фигурни скоби. 1466 01:09:47,050 --> 01:09:49,380 >> JASON Hirschhorn: И къде да вложим фигурни скоби? 1467 01:09:49,380 --> 01:09:51,790 >> ПУБЛИКАТА: Около името на TF. 1468 01:09:51,790 --> 01:09:53,080 >> JASON Hirschhorn: Харесвам това? 1469 01:09:53,080 --> 01:09:55,420 >> Публика: Да. 1470 01:09:55,420 --> 01:09:59,000 И след това затворете ТД. 1471 01:09:59,000 --> 01:10:00,250 >> JASON Hirschhorn: Така ли? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> ПУБЛИКАТА: Имате ли нужда от двойни кавички марка в непосредствена близост до фигурните скоби? 1474 01:10:06,950 --> 01:10:07,460 >> JASON Hirschhorn: Точно тук? 1475 01:10:07,460 --> 01:10:08,710 Не, не е така. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Така че това е точно така. 1478 01:10:12,550 --> 01:10:12,940 Да. 1479 01:10:12,940 --> 01:10:15,290 >> ПУБЛИКАТА: Така разликата между тази и encatenating с точки е, ако 1480 01:10:15,290 --> 01:10:18,420 използвате точки, ще трябва да имат двойни кавички, тогава една точка, 1481 01:10:18,420 --> 01:10:20,370 след точката - 1482 01:10:20,370 --> 01:10:20,520 >> JASON Hirschhorn: Правилно. 1483 01:10:20,520 --> 01:10:23,800 Значи казваш, че има един последен начин на писане на тази така. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Какво оператора на конкатенация в JavaScript? 1486 01:10:28,966 --> 01:10:31,200 >> Аудитория: A знак плюс. 1487 01:10:31,200 --> 01:10:34,710 Забравили сте да поставите къдрава подпре гърба. 1488 01:10:34,710 --> 01:10:35,760 >> JASON Hirschhorn: Great. 1489 01:10:35,760 --> 01:10:38,850 И има още един ред на код липсва. 1490 01:10:38,850 --> 01:10:40,130 Кой може да ми даде последния ред на код ни липсва? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> ПУБЛИКАТА: Just точно същото нещо, само с къща вместо име. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Голям 1495 01:10:53,450 --> 01:10:54,390 >> JASON Hirschhorn: Great. 1496 01:10:54,390 --> 01:10:59,320 И си синтаксис е точно така за все неща в асоциирано масив. 1497 01:10:59,320 --> 01:11:04,450 Така че по отношение на реалното викторина, вие сте всъщност се отказали, докато тук. 1498 01:11:04,450 --> 01:11:05,710 Така че този код е дал. 1499 01:11:05,710 --> 01:11:07,750 Всичко, което трябваше да се напише бяха тези четири линии и не забравяйте да 1500 01:11:07,750 --> 01:11:09,190 затворите тага на маса. 1501 01:11:09,190 --> 01:11:11,370 Вие, момчета, всъщност направиха всичко това и още. 1502 01:11:11,370 --> 01:11:11,810 Да. 1503 01:11:11,810 --> 01:11:14,850 >> ПУБЛИКАТА: Така че би било функционално същото, ако просто трябваше, че всички в 1504 01:11:14,850 --> 01:11:17,250 един голям печат разговор, нали? 1505 01:11:17,250 --> 01:11:19,630 И след това просто долепват го на, и така нататък? 1506 01:11:19,630 --> 01:11:20,730 >> JASON Hirschhorn: Така ли? 1507 01:11:20,730 --> 01:11:21,980 >> Публика: Да. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 Това просто няма да изглежда добре, ако бяхте гледам го, когато сте проверка 1510 01:11:26,940 --> 01:11:28,550 елементът на вашия сайт, нали? 1511 01:11:28,550 --> 01:11:29,800 >> JASON Hirschhorn: Съгласен съм. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Ако бях натоварен тази уеб страница, щях да бъда можете да видите този PHP код, някога? 1514 01:11:38,710 --> 01:11:39,240 >> Публиката: Не. 1515 01:11:39,240 --> 01:11:40,080 >> JASON Hirschhorn: Не. 1516 01:11:40,080 --> 01:11:42,240 И всъщност, аз не бих. 1517 01:11:42,240 --> 01:11:43,920 >> ПУБЛИКАТА: Това не е HTML, нали? 1518 01:11:43,920 --> 01:11:45,000 Така че може да бъде в състояние да - 1519 01:11:45,000 --> 01:11:46,780 >> JASON Hirschhorn: Така че това би PHP бъдат оценени от страна на сървъра. 1520 01:11:46,780 --> 01:11:51,020 PHP е винаги оценени от страна на сървъра, така че Вие никога не сте в състояние да видите PHP код. 1521 01:11:51,020 --> 01:11:52,980 >> ПУБЛИКАТА: Но вие ще бъдете в състояние да видите резултата от отпечатъците. 1522 01:11:52,980 --> 01:11:53,480 >> JASON Hirschhorn: Точно така. 1523 01:11:53,480 --> 01:11:55,510 И честно казано не може я тури всички на линия. 1524 01:11:55,510 --> 01:11:59,740 Тя може да го форматирате добре за вас, или може да го постави на една линия. 1525 01:11:59,740 --> 01:12:01,521 Неясно. 1526 01:12:01,521 --> 01:12:03,596 Но да, добра точка. 1527 01:12:03,596 --> 01:12:06,470 >> ПУБЛИКАТА: Как така има без текст Отбелязването за 1528 01:12:06,470 --> 01:12:07,550 някоя от командите за PHP? 1529 01:12:07,550 --> 01:12:09,370 Защото си спомням, виждайки, че. 1530 01:12:09,370 --> 01:12:11,620 >> JASON Hirschhorn: Защото това е . HTML файл тук на върха. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 Ето ти. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> ПУБЛИКАТА: Ако сме направили първоначалния метод с за примки, нали, ако ние 1535 01:12:28,800 --> 01:12:33,500 Исках да получите достъп до TFS, ще можем направи TFS скоба 0 скоба, след това 1536 01:12:33,500 --> 01:12:35,180 [Недоловим]? 1537 01:12:35,180 --> 01:12:35,970 >> JASON Hirschhorn: Може би - 1538 01:12:35,970 --> 01:12:40,560 значи казваш за на линия за, вие би направил в знак за долар TFS скоба 1 1539 01:12:40,560 --> 01:12:41,850 или аз, нали. 1540 01:12:41,850 --> 01:12:46,780 Или знак за долар затворя скобата и след това квадратна скоба 1541 01:12:46,780 --> 01:12:49,600 двойни кавички, да. 1542 01:12:49,600 --> 01:12:50,640 >> OK, отлично. 1543 01:12:50,640 --> 01:12:53,020 Имаме още един бърз милион. 1544 01:12:53,020 --> 01:12:55,090 Седем минути, така че аз искам да отидат през този един. 1545 01:12:55,090 --> 01:12:56,160 Това е друг пример. 1546 01:12:56,160 --> 01:12:58,740 Сега сме съвсем друг език. 1547 01:12:58,740 --> 01:12:59,990 >> Ние имаме някои HTML код. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 Това е вид на малки на екрана, но Искам да гледам през него наистина 1550 01:13:07,460 --> 01:13:11,140 бързо, и може някой да ми каже, ако трябва да заредите този уеб страница, 1551 01:13:11,140 --> 01:13:12,390 какво ще видя? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Опишете всичко за тази уеб страница. 1554 01:13:26,450 --> 01:13:28,630 Ной? 1555 01:13:28,630 --> 01:13:30,450 Какво щях да видя? 1556 01:13:30,450 --> 01:13:38,140 >> ПУБЛИКАТА: Code в предния край на Google с усещане за текст и 1557 01:13:38,140 --> 01:13:39,190 бутона Публикувай. 1558 01:13:39,190 --> 01:13:41,180 >> JASON Hirschhorn: И това, което бих казал бутона? 1559 01:13:41,180 --> 01:13:42,430 >> ПУБЛИКАТА: Изпращане. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 О, търсене. 1562 01:13:45,160 --> 01:13:45,840 Съжалявам. 1563 01:13:45,840 --> 01:13:46,830 >> JASON Hirschhorn: Ще кажа търсене. 1564 01:13:46,830 --> 01:13:47,520 Не забравяйте, че името. 1565 01:13:47,520 --> 01:13:50,550 Какво да използваме за име? 1566 01:13:50,550 --> 01:13:53,774 Това име атрибут, какво е че се използват за? 1567 01:13:53,774 --> 01:13:55,470 >> [вмъкване VOICES] 1568 01:13:55,470 --> 01:13:59,300 >> ПУБЛИКАТА: Това е името му за когато е кликнал? 1569 01:13:59,300 --> 01:14:00,160 >> JASON Hirschhorn: Това би могло да бъде. 1570 01:14:00,160 --> 01:14:02,690 Но какво ние обикновено виж - защо са даваме това име опашка? 1571 01:14:02,690 --> 01:14:03,830 Защо ние виждаме, че? 1572 01:14:03,830 --> 01:14:05,220 Да. 1573 01:14:05,220 --> 01:14:08,600 >> ПУБЛИКАТА: Не, че се превърне форум на супер глобалната променлива? 1574 01:14:08,600 --> 01:14:12,740 >> JASON Hirschhorn: Да, по принцип, когато тази форма ще представи, и след това, когато 1575 01:14:12,740 --> 01:14:13,500 би това представя? 1576 01:14:13,500 --> 01:14:14,750 Какво страница? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Ной, коя страница ще представя това? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> ПУБЛИКАТА: Аз не съм сигурен. 1581 01:14:27,700 --> 01:14:28,920 >> JASON Hirschhorn: Къде бихме могли да го намерите? 1582 01:14:28,920 --> 01:14:31,025 Къде да намерите това, което страница го представя? 1583 01:14:31,025 --> 01:14:32,850 Каква линия на код? 1584 01:14:32,850 --> 01:14:34,040 >> ПУБЛИКАТА: действие Form. 1585 01:14:34,040 --> 01:14:34,650 >> JASON Hirschhorn: Точно така. 1586 01:14:34,650 --> 01:14:35,130 Action. 1587 01:14:35,130 --> 01:14:37,100 Така го представя на страницата за търсене. 1588 01:14:37,100 --> 01:14:38,630 Обратно наклонена черта търсене. 1589 01:14:38,630 --> 01:14:40,140 Така че това е точно така. 1590 01:14:40,140 --> 01:14:40,680 Какъв метод? 1591 01:14:40,680 --> 01:14:42,090 >> ПУБЛИКАТА: Get. 1592 01:14:42,090 --> 01:14:42,490 >> JASON Hirschhorn: Get. 1593 01:14:42,490 --> 01:14:43,420 Точно така. 1594 01:14:43,420 --> 01:14:44,490 Така че ние четем това. 1595 01:14:44,490 --> 01:14:45,180 Това ще бъде един вид. 1596 01:14:45,180 --> 01:14:45,910 Ти си точно така. 1597 01:14:45,910 --> 01:14:50,340 Две неща за формата, наименованието на страница и на върха ще бъде Google. 1598 01:14:50,340 --> 01:14:54,270 >> Така че тук са два въпроса трябва да да бъде в състояние да отговори за тази страница. 1599 01:14:54,270 --> 01:15:01,760 Ако този HTML живее в този уеб сайт и потребителят въвежда бъг в този текст 1600 01:15:01,760 --> 01:15:06,900 поле точно тук, какво ще URL потребителят се озове при 1601 01:15:06,900 --> 01:15:08,150 подаване на формуляра? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Така че ние имаме това право тук. 1604 01:15:12,510 --> 01:15:13,720 Отивам да се върнем към тази страница, все пак. 1605 01:15:13,720 --> 01:15:16,980 Ще напиша тази първа част. 1606 01:15:16,980 --> 01:15:18,230 Всеки ли може да видите тук? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 OK, Mario, мислиш ли, че? 1609 01:15:32,906 --> 01:15:34,700 Какво страница? 1610 01:15:34,700 --> 01:15:37,630 >> ПУБЛИКАТА: търсене Обратно наклонена черта. 1611 01:15:37,630 --> 01:15:38,880 >> JASON Hirschhorn: Отивам да се премести тук. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 OK, наклонена черта търсене въпрос марка Q е равно на бъг. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Някой да има различно предложение? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Да. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> И как ще се получи това? 1620 01:16:03,740 --> 01:16:05,520 Е, ние сме виждали това и преди. 1621 01:16:05,520 --> 01:16:07,170 И ти дойде с това по-рано. 1622 01:16:07,170 --> 01:16:08,870 Ти беше прав, Ной, че действията ни казва какво 1623 01:16:08,870 --> 01:16:11,700 страница ние ще. 1624 01:16:11,700 --> 01:16:12,820 >> Ние също така знаем, какъв метод. 1625 01:16:12,820 --> 01:16:13,420 Правим получите. 1626 01:16:13,420 --> 01:16:17,040 И разликата между GET и пост е, че се показва в URL адреса 1627 01:16:17,040 --> 01:16:18,490 и пост не го прави. 1628 01:16:18,490 --> 01:16:22,760 Така че, ако аз написах пост точно там в метод, какво би било по-различно? 1629 01:16:22,760 --> 01:16:24,250 >> ПУБЛИКАТА: Това би просто бъде търсене наклонена черта. 1630 01:16:24,250 --> 01:16:25,400 >> JASON Hirschhorn: Това би просто да се намали търсенето. 1631 01:16:25,400 --> 01:16:27,400 Нищо тук няма да се случи. 1632 01:16:27,400 --> 01:16:30,030 Но тъй като това е, толкова по-URL се показва, както следва. 1633 01:16:30,030 --> 01:16:35,140 Първо виждаме въпросителен знак и ние виждаме името и стойността. 1634 01:16:35,140 --> 01:16:42,730 Кажете имаше едно друго текстово поле и Дадох го на името на г и аз въведете 1635 01:16:42,730 --> 01:16:45,220 стойност, гъсеница. 1636 01:16:45,220 --> 01:16:48,560 Какво би това сега изглежда? 1637 01:16:48,560 --> 01:16:52,040 Имам още едно текстово поле, давам име на г и стойност на гъсеница. 1638 01:16:52,040 --> 01:16:56,990 >> ПУБЛИКАТА: След бар ще имате Амперсант гъсеницата. 1639 01:16:56,990 --> 01:16:58,380 >> JASON Hirschhorn: Това е не амперсанд. 1640 01:16:58,380 --> 01:17:00,500 >> ПУБЛИКАТА: Или просто каквото и и символ. 1641 01:17:00,500 --> 01:17:01,330 >> JASON Hirschhorn: Да, не. 1642 01:17:01,330 --> 01:17:03,700 Ти беше прав, не съм бил прав. 1643 01:17:03,700 --> 01:17:05,660 Това е все едно един грам. 1644 01:17:05,660 --> 01:17:06,910 >> ПУБЛИКАТА: Caterpillar. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 R е равна на гъсеница, съжалявам. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> JASON Hirschhorn: Има ли не R там? 1649 01:17:14,700 --> 01:17:16,680 >> ПУБЛИКАТА: Не, има. 1650 01:17:16,680 --> 01:17:18,030 >> JASON Hirschhorn: Ще говорим за това след края на тренировката. 1651 01:17:18,030 --> 01:17:18,930 Това е точно така. 1652 01:17:18,930 --> 01:17:20,530 Така че и е вярна. 1653 01:17:20,530 --> 01:17:23,430 И тогава може да има много от тях, и всички те ще бъдат съединявани 1654 01:17:23,430 --> 01:17:24,950 заедно с това и. 1655 01:17:24,950 --> 01:17:25,900 Така че това е точно така. 1656 01:17:25,900 --> 01:17:27,700 >> Има и още един въпрос. 1657 01:17:27,700 --> 01:17:30,676 Скица този HTML е DOM, като се започне с документ. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 Можем да го направим, че след две минути. 1660 01:17:34,570 --> 01:17:36,790 Ние ще го направя тук. 1661 01:17:36,790 --> 01:17:38,040 Ще се върнем към тази уеб страница. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 Добре, да започнем с документ. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Каква е следващата? 1666 01:17:52,090 --> 01:17:53,910 Така че, когато четете чрез - 1667 01:17:53,910 --> 01:17:54,540 >> ПУБЛИКАТА: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> JASON Hirschhorn: HTML е следващия. 1669 01:17:55,790 --> 01:17:57,850 Ние ще отидем етикет по етикет. 1670 01:17:57,850 --> 01:18:00,890 Какво след HTML? 1671 01:18:00,890 --> 01:18:01,550 >> ПУБЛИКАТА: Head. 1672 01:18:01,550 --> 01:18:02,800 >> JASON Hirschhorn: Head. 1673 01:18:02,800 --> 01:18:05,090 1674 01:18:05,090 --> 01:18:08,520 Какво става, след като главата? 1675 01:18:08,520 --> 01:18:09,770 >> ПУБЛИКАТА: дял. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> JASON Hirschhorn: дял. 1678 01:18:12,560 --> 01:18:14,740 И заглавието е на стойност от Google, но аз няма да 1679 01:18:14,740 --> 01:18:16,240 пишат, че в за сега. 1680 01:18:16,240 --> 01:18:18,750 OK, къде тялото отидете? 1681 01:18:18,750 --> 01:18:20,890 >> ПУБЛИКАТА: Също така излиза на HTML. 1682 01:18:20,890 --> 01:18:21,490 >> JASON Hirschhorn: Точно така. 1683 01:18:21,490 --> 01:18:22,820 Body идва на разстояние от тук. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Всички ли виждам защо това е така? 1686 01:18:30,330 --> 01:18:32,970 Може би трябва да бъде в състояние да разбера това, твърде, дори ако не са имали 1687 01:18:32,970 --> 01:18:33,665 тази хубава вдлъбнатина. 1688 01:18:33,665 --> 01:18:37,680 >> Вдлъбнатината вид го подарява, но можете да видите, че главата маркер има 1689 01:18:37,680 --> 01:18:41,240 е затворен, което означава, вероятно Не можем да слезем тук. 1690 01:18:41,240 --> 01:18:43,460 Ние трябва да се върнем до каквото и да Беше точно преди главата 1691 01:18:43,460 --> 01:18:44,730 тагове, или под това. 1692 01:18:44,730 --> 01:18:46,720 Ние сме дори с главата маркер. 1693 01:18:46,720 --> 01:18:48,560 >> И под тялото отива форма. 1694 01:18:48,560 --> 01:18:50,300 Под форма, има два входа. 1695 01:18:50,300 --> 01:18:53,330 1696 01:18:53,330 --> 01:18:54,420 OK. 1697 01:18:54,420 --> 01:18:55,490 Това е всичко, което имам. 1698 01:18:55,490 --> 01:18:56,980 Quiz 1 е утре. 1699 01:18:56,980 --> 01:18:58,350 Толкова съм развълнувана за вас, момчета. 1700 01:18:58,350 --> 01:18:59,690 Това ще бъде взрив. 1701 01:18:59,690 --> 01:19:00,250 >> Ако имате - 1702 01:19:00,250 --> 01:19:00,600 >> ПУБЛИКАТА: [APPLAUSE] 1703 01:19:00,600 --> 01:19:02,460 >> JASON Hirschhorn: О, спрете, спрете. 1704 01:19:02,460 --> 01:19:04,520 Но не, че се шегувам. 1705 01:19:04,520 --> 01:19:07,220 Ако имате някакви въпроси, нали След раздел, аз ще бъда отвън. 1706 01:19:07,220 --> 01:19:11,700 Ако имате някакви въпроси, тази вечер, Чувствайте се свободни да се обадя, електронна поща, Gchat, 1707 01:19:11,700 --> 01:19:12,740 носител ми гълъби. 1708 01:19:12,740 --> 01:19:13,950 Успех утре. 1709 01:19:13,950 --> 01:19:16,220 Имате прекрасна почивка на благодарността, ако не те видя преди това. 1710 01:19:16,220 --> 01:19:19,320 И аз ще ви видя след Деня на благодарността във вторник за нашата крайна 1711 01:19:19,320 --> 01:19:20,295 раздел партия някога. 1712 01:19:20,295 --> 01:19:21,545 >> ПУБЛИКАТА: [недоловим]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> JASON Hirschhorn: Great. 1715 01:19:25,790 --> 01:19:28,900 Добре, ще се видим следващия седмица, или две седмици. 1716 01:19:28,900 --> 01:19:30,150 И късмет утре. 1717 01:19:30,150 --> 01:19:32,203