1 00:00:00,000 --> 00:00:08,090 2 00:00:08,090 --> 00:00:09,810 >> Jason HIRSCHHORN: Maligayang pagdating, lahat ng tao, sa linggo 10. 3 00:00:09,810 --> 00:00:15,130 Ito ay isang kapana-panabik na linggo dahil bukas ay Pagsusulit 1, na kung saan makikipag-ugnay kami 4 00:00:15,130 --> 00:00:16,400 upang sa isang segundo. 5 00:00:16,400 --> 00:00:21,770 Ngayon sa seksyon, kami makapupunta sa pumunta sa paglipas ng ilang mga mapagkukunan para sa mga pagsusulit, at 6 00:00:21,770 --> 00:00:24,890 pagkatapos ko sagutin ang anumang at lahat tanong mo guys mayroon. 7 00:00:24,890 --> 00:00:27,880 At kami ay sa wakas ay nagtatapos sa ng mga problema sa pagsasanay. 8 00:00:27,880 --> 00:00:30,940 >> Maaari naming gastusin ang buong seksyon pagsagot sa mga tanong. 9 00:00:30,940 --> 00:00:33,240 Maaari naming gastusin ang buong seksyon ng pagpunta sa paglipas ng mga problema sa pagsasanay. 10 00:00:33,240 --> 00:00:36,890 Susubukan naming lamang palawakin upang punan ang espasyo at oras na mayroon kami. 11 00:00:36,890 --> 00:00:40,590 >> Kaya ko bang ilagay ang listahan na ito up ang bawat linggo, ngunit ito ay partikular na mahalaga sa linggong ito. 12 00:00:40,590 --> 00:00:44,980 Para sa pag-aaral, kung hindi mo pa nagsimula na, oh batang lalaki. 13 00:00:44,980 --> 00:00:46,400 Ngunit sana ay sinimulan mo na. 14 00:00:46,400 --> 00:00:50,710 At pupunta ka sa pamamagitan ng mga materyales at mga mapagkukunan na nakalista dito. 15 00:00:50,710 --> 00:00:54,300 Gusto ko lubos na inirerekomenda isang bilang ng mga ito. 16 00:00:54,300 --> 00:00:58,780 >> Sa partikular, mga tala panayam ay hindi mapaniniwalaan o kapani-paniwala mahalaga at kapaki-pakinabang. 17 00:00:58,780 --> 00:01:02,880 Study.cs50.net ay nagbibigay sa isang mahusay na panimulang aklat sa pagbasa sa ng maraming 18 00:01:02,880 --> 00:01:04,250 ang mga paksa sakop namin. 19 00:01:04,250 --> 00:01:07,810 Mayroon din itong ilang mga mahusay na pagsasanay ng mga problema. 20 00:01:07,810 --> 00:01:11,260 At pagkatapos ay, ang Google ay mahusay, masyadong. 21 00:01:11,260 --> 00:01:12,360 Hindi ko alam kung ano ang nais mong gamitin ito para sa. 22 00:01:12,360 --> 00:01:14,090 Ngunit gamitin ang Google, pati na rin. 23 00:01:14,090 --> 00:01:16,680 >> Abutin ang out sa akin kung mayroon kang anumang mga tanong, komento, o alalahanin. 24 00:01:16,680 --> 00:01:19,420 Hanapin sa ibabaw ng pagsusuri session mga slide mula sa huling gabi. 25 00:01:19,420 --> 00:01:21,540 O, kung mayroon kang ilang mga oras, panoorin ang video na ito. 26 00:01:21,540 --> 00:01:24,930 Nagbibigay ang mga ito ng maraming mga kapaki-pakinabang materyal at impormasyon. 27 00:01:24,930 --> 00:01:29,730 At subukan at saklawan kung hindi lahat, marami sa ang mga paksa na sakop at na ka namin 28 00:01:29,730 --> 00:01:32,610 maaaring makita sa pagsusulit. 29 00:01:32,610 --> 00:01:35,590 >> Nagsasalita ng pagsusulit, na Magiging bukas. 30 00:01:35,590 --> 00:01:37,260 Ito ay 75 minuto ang haba. 31 00:01:37,260 --> 00:01:40,740 Marami sa ikaw ay pagkuha ito sa 1 singko ng hapon, at ilan sa inyo ay 32 00:01:40,740 --> 00:01:42,740 pagkuha ito sa 05:30. 33 00:01:42,740 --> 00:01:45,300 Para sa mga oras na naka-pagkuha ito at ang lokasyong iyong paglalaan ito, tiyakin 34 00:01:45,300 --> 00:01:49,400 mong suriin ang mga dokumento sa CS50.net homepage. 35 00:01:49,400 --> 00:01:54,340 >> Alalahanin na maaari kang makakuha ng isang 8 1/2 sa pamamagitan ng 11 sheet gumawa ng sa iyo. 36 00:01:54,340 --> 00:01:57,310 Malimit, ang mga tao ay hindi ito gamitin sheet sa lahat sa panahon ng pagsusulit. 37 00:01:57,310 --> 00:01:59,740 Ngunit talaga ito, ito ay isang hindi kapani-paniwalang kapaki-pakinabang na tool sa pag-aaral. 38 00:01:59,740 --> 00:02:04,370 Kaya paglagay nang sama-sama na sheet ay kung ano ang Ako na ginugol marahil tatlo o apat na oras 39 00:02:04,370 --> 00:02:07,110 ginagawa noong ako ay nag-aaral para sa CS50, at na noon ay madali ang pinaka-kapaki-pakinabang 40 00:02:07,110 --> 00:02:08,740 paraan maaari kong mag-aral para sa pagsusulit. 41 00:02:08,740 --> 00:02:10,949 Kaya kahit na mayroon kang ilang mga iba pang mga tao ni Mga Gabay sa pag-aaral upang tumingin sa at 42 00:02:10,949 --> 00:02:14,740 gamitin bilang sanggunian, masidhing kong inirerekumendang paggawa ng iyong sariling mga gabay sa pag-aaral, paglalagay ng 43 00:02:14,740 --> 00:02:15,490 na mga bagay-bagay nang magkakasama. 44 00:02:15,490 --> 00:02:17,335 Iyon ay talagang nakakatulong matuto ka lahat ng materyal. 45 00:02:17,335 --> 00:02:20,270 46 00:02:20,270 --> 00:02:24,810 >> Huling ngunit hindi bababa sa seksiyong ito, pagkatapos ng pagsusulit bukas mayroong isa 47 00:02:24,810 --> 00:02:25,940 higit pa panayam - 48 00:02:25,940 --> 00:02:26,960 sa susunod na Lunes. 49 00:02:26,960 --> 00:02:30,430 May isang higit na bahagi, hindi susunod Martes bago Thanksgiving, ngunit ang 50 00:02:30,430 --> 00:02:31,630 Martes matapos na. 51 00:02:31,630 --> 00:02:36,600 Susubukan naming i-meeting-sama para sa isang huling paalam party at din ang paggawa ng ilang mga cool na 52 00:02:36,600 --> 00:02:41,530 mga bagay upang makakuha ng mga ka guys ay nasasabik tungkol sa higit pang mga pag-aaral sa computer science. 53 00:02:41,530 --> 00:02:45,040 >> Mayroong isa pang proyekto, ang isa pang patas, isa nang higit pa hackathon. 54 00:02:45,040 --> 00:02:47,900 Kami ay papalapit sa pagtatapos ng CS50, na kung saan ay kapana-panabik - 55 00:02:47,900 --> 00:02:50,950 ngunit rin, kung ikaw ay tulad ng sa akin, isang maliit na malungkot. 56 00:02:50,950 --> 00:02:53,950 Bago ako magpatuloy, mayroon ang sinuman anumang mga katanungan tungkol sa kung ano 57 00:02:53,950 --> 00:02:55,200 na sakop namin sa ngayon? 58 00:02:55,200 --> 00:03:02,760 59 00:03:02,760 --> 00:03:08,730 >> Ni pumunta sa paglipas ng ilang mga katanungan OK, na rin ipaalam na mayroon ka para sa pagsusulit at mga paksa 60 00:03:08,730 --> 00:03:09,960 maaari naming masaklawan. 61 00:03:09,960 --> 00:03:11,540 Kaya ito ay isang listahan na ko bang ilagay ang sama-sama. 62 00:03:11,540 --> 00:03:15,500 Ito ay sa pamamagitan hindi lubusan, ngunit sana ay buhayin ang alaala ng iyong memorya kung ikaw 63 00:03:15,500 --> 00:03:20,310 may ilang mga katanungan tungkol sa alinman sa mga ito mga paksa, o kung mayroon kang mga katanungan tungkol sa 64 00:03:20,310 --> 00:03:23,260 mga problema na kasanayan mula sa mga pagsusulit sa taon na nakalipas. 65 00:03:23,260 --> 00:03:27,470 >> Nagkaroon na ako ng ilang mga katanungan na naging nag-email sa akin, ngunit gusto kong pigilin ang pagsulong 66 00:03:27,470 --> 00:03:29,490 sa mga para sa isang segundo. 67 00:03:29,490 --> 00:03:34,570 Kahit sino ay may anumang mga katanungan ba, problema hindi nila naintindihan, 68 00:03:34,570 --> 00:03:38,100 sagot hindi nila naintindihan upang makapagsimula sa amin? 69 00:03:38,100 --> 00:03:39,520 Avi. 70 00:03:39,520 --> 00:03:41,585 >> Madla: Puwede ba sa iyo ng higit lamang sa DOM at Ajax talagang mabilis? 71 00:03:41,585 --> 00:03:46,540 Tulad ng, kung ano ang kailangan naming malaman o dapat Nauunawaan tungkol sa mga ito? 72 00:03:46,540 --> 00:03:49,750 >> Jason HIRSCHHORN: Pupunta ako upang sagutin sa pangkalahatan ang tanong na ito ng, ano ang gagawin ko 73 00:03:49,750 --> 00:03:52,100 kailangang malaman tungkol sa ibinigay na paksa x? 74 00:03:52,100 --> 00:03:55,280 Dahil mayroon akong isang pakiramdam marami sa inyo ay pagpunta sa hilingin sa akin na iyon, o ang 75 00:03:55,280 --> 00:03:56,570 malaman ang tungkol iyon. 76 00:03:56,570 --> 00:04:02,920 Kaya sa lawak na ang paksa ay saklaw sa panayam, o seksyon, o sa 77 00:04:02,920 --> 00:04:06,460 study.cs50.net, ng problema sa set, mo Dapat na pamilyar sa mga ito. 78 00:04:06,460 --> 00:04:10,580 >> Kaya hindi mo kailangang malaman ang bawat uri ng tag na magagamit sa HTML o 79 00:04:10,580 --> 00:04:15,950 bawat uri ng katangian o ari-arian maaari kang magbigay ng isang bagay sa CSS. 80 00:04:15,950 --> 00:04:20,204 Ngunit kung nakita mo ito sa isang panayam halimbawa, kung nakita mo ito sa isang problema 81 00:04:20,204 --> 00:04:23,290 hanay, dapat mong marahil maging pamilyar may ito, lalo na ng mga bagay na nakita mo 82 00:04:23,290 --> 00:04:24,260 sa panayam. 83 00:04:24,260 --> 00:04:28,510 Kaya napag-usapan namin ang mga dokumento sa bagay na modelo ng kaunti sa 84 00:04:28,510 --> 00:04:30,530 seksyon, higit pa kaya sa panayam. 85 00:04:30,530 --> 00:04:32,990 Dapat kang maging pamilyar may ganoong karaming ng mga ito. 86 00:04:32,990 --> 00:04:34,750 >> At dapat kang maging pamilyar sa Ajax sa parehong lawak. 87 00:04:34,750 --> 00:04:38,105 Hindi namin nakita hindi mapaniniwalaan o kapani-paniwala advanced o kumplikadong mga halimbawa ng Ajax, kaya 88 00:04:38,105 --> 00:04:40,920 hindi ka pagpunta sa hilingin gawin isang bagay na hindi mapaniniwalaan o kapani-paniwala kumplikado. 89 00:04:40,920 --> 00:04:45,180 Ngunit maaari mong hilingin, paano gagawin ko gumawa ng isang Ajax tawag gamit ang jQuery? 90 00:04:45,180 --> 00:04:47,350 Alin ang isang bagay na iyong nakita ang isang numero ng beses bago, parehong sa 91 00:04:47,350 --> 00:04:51,370 suriin ang session at sa panayam, at ito ay lamang ng dalawang-HDR linya ng code. 92 00:04:51,370 --> 00:04:53,190 >> Kaya na ay isang bagay na dapat mong maging pamilyar sa. 93 00:04:53,190 --> 00:04:55,550 Ngunit muli, para sa lahat ng mga paksang ito, kung nakita mo ito 94 00:04:55,550 --> 00:04:59,220 bago, ito ay patas na laro. 95 00:04:59,220 --> 00:05:01,540 At maaari naming hilingin sa iyo - malinaw naman, kami ay pagpunta sa hilingin sa iyo ng mga bagay sa iyo 96 00:05:01,540 --> 00:05:02,340 hindi pa nakikita dati. 97 00:05:02,340 --> 00:05:04,240 Coding ng isang bagay na hindi mo pa nakita bago. 98 00:05:04,240 --> 00:05:06,570 Alin ang hindi upang sabihin nating mayroon kang hindi nakita ang mga tool upang malutas 99 00:05:06,570 --> 00:05:08,120 na problema bago. 100 00:05:08,120 --> 00:05:09,200 Na nakita mo ang mga tool. 101 00:05:09,200 --> 00:05:11,160 >> Halimbawa, sa Pagsusulit 1, kung kailangan mong i-code strlen. 102 00:05:11,160 --> 00:05:12,790 Hindi pa kami naka-code strlen bago. 103 00:05:12,790 --> 00:05:14,980 Pero alam mo kung paano gamitin ang isang para sa loop, alam mo kung paano gamitin kung kundisyon. 104 00:05:14,980 --> 00:05:18,570 Alam mo kung paano sumulat ng mga variable sa C. Ito ay pagpunta sa maging ang parehong bagay dito. 105 00:05:18,570 --> 00:05:22,350 Hindi ka pagpunta sa hilingin sa iyo na gawin anumang bagay na hindi mo na nakita bago, ngunit 106 00:05:22,350 --> 00:05:25,150 maaari mong hilingin sa iyo na, tulad ng, ilagay isang bagay nang magkasama sa isang nobelang paraan, o 107 00:05:25,150 --> 00:05:27,650 malutas ang isang iba't ibang mga uri ng mga problema. 108 00:05:27,650 --> 00:05:30,830 >> Paumanhin, iyon ay hindi na tiyak sa inyong tanong, ngunit hindi ako makapag sagutin tungkol sa 109 00:05:30,830 --> 00:05:34,390 bawat solong paksa kung ano ang iyong o hindi kailangang malaman. 110 00:05:34,390 --> 00:05:36,830 Ngunit din, paumanhin, huling bagay sa iyon. 111 00:05:36,830 --> 00:05:42,900 Kami ay ginugol makabuluhang mas maraming oras sa mga listahan ng link kaysa mayroon kami sa Ajax. 112 00:05:42,900 --> 00:05:46,160 Hindi ka gumamit Ajax sa isang hanay problema. 113 00:05:46,160 --> 00:05:48,510 Ang isa sa mga gitnang tampok ng na itakda problema na noon ay mga listahan ng link. 114 00:05:48,510 --> 00:05:50,370 At ginugol namin ng maraming oras sa panayam at seksyon gumagamit nito. 115 00:05:50,370 --> 00:05:57,080 >> Kaya, logro ay listahan link ay darating up nang higit pa madalas sa mga pagsusulit kaysa Ajax kalooban. 116 00:05:57,080 --> 00:06:00,390 O kaya ang mga tanong na kinakailangang gawin sa link listahan ay nagkakahalaga ng higit pang mga point. 117 00:06:00,390 --> 00:06:03,520 Kaya maaari mong tiyak na tumututok at makitid in sa mga bagay na higit pa 118 00:06:03,520 --> 00:06:06,720 malamang na makabuo dahil mayroon kaming ginugol mas maraming oras sa mga ito. 119 00:06:06,720 --> 00:06:08,700 >> OK anumang iba pang mga tanong? 120 00:06:08,700 --> 00:06:09,890 Oo. 121 00:06:09,890 --> 00:06:13,660 >> Madla: Puwede ba namin sa ibabaw ng paggamit ng anonymous na function sa JavaScript? 122 00:06:13,660 --> 00:06:17,140 Isa akong ay kaunti naguguluhan tungkol sa na. 123 00:06:17,140 --> 00:06:20,180 >> Jason HIRSCHHORN: Kaya sa JavaScript - 124 00:06:20,180 --> 00:06:24,400 Sinusubukan ko mag-isip kung paano ko makakasulat ito sa - 125 00:06:24,400 --> 00:06:27,590 kaya ng aktwal na buksan up ang code na ito ipaalam. 126 00:06:27,590 --> 00:06:31,830 127 00:06:31,830 --> 00:06:36,030 Kaya ito ay code na ginawa namin noong nakaraang linggo. 128 00:06:36,030 --> 00:06:41,400 At nakita mo na ito bago kung ay dito sa seksyon noong nakaraang linggo. 129 00:06:41,400 --> 00:06:43,180 O kaya nakita mo na ang isang bagay na katulad nito dati. 130 00:06:43,180 --> 00:06:44,800 >> Ngunit maaari kang tumingin sa ito ang unang linya. 131 00:06:44,800 --> 00:06:46,950 Ito ay kung paano ka magsimula - 132 00:06:46,950 --> 00:06:48,010 lahat ng tao ay nakita na ito bago. 133 00:06:48,010 --> 00:06:51,930 Kung nais mong ilagay ang ilang mga code ng JavaScript, mong ilagay ito sa loob na ito, sa pag-aakala 134 00:06:51,930 --> 00:06:53,520 gumagamit ka ng JQuery. 135 00:06:53,520 --> 00:06:56,940 Ito ay nagsasabi, huwag gumawa ng kahit ano hanggang sa na-load ng dokumento. 136 00:06:56,940 --> 00:06:59,940 >> At pagkatapos, Curt, makikita mo dito mismo kami ay paggawa ng isang bagay tulad nito - 137 00:06:59,940 --> 00:07:02,560 function na bukas paren, sarado paren. 138 00:07:02,560 --> 00:07:05,250 Kaya tayo ay hindi pagbibigay ito gumana ng pangalan. 139 00:07:05,250 --> 00:07:09,160 Kami ay hindi pagpunta upang tukuyin ito function na ay dapat na tumakbo at pagkatapos ay 140 00:07:09,160 --> 00:07:10,830 tumawag ito ng grupo ng mga beses. 141 00:07:10,830 --> 00:07:15,140 Naka lamang sinasabi namin ang dokumentong ito na tumatagal ng isang function. 142 00:07:15,140 --> 00:07:16,690 Ang isang pares ng mga bagay na maaaring gawin. 143 00:07:16,690 --> 00:07:20,670 >> At hindi namin nais upang patagalin ang oras pagbibigay ito ng isang pangalan o i-save ito para sa 144 00:07:20,670 --> 00:07:21,650 habang-buhay. 145 00:07:21,650 --> 00:07:24,150 Gusto lang namin na magpatakbo ng ilang mga bagay. 146 00:07:24,150 --> 00:07:27,500 Kaya isang hindi nakikilalang uri ng function ng Naghahain ang layuning iyon. 147 00:07:27,500 --> 00:07:30,280 Kapag hindi ka naka-pagpunta sa gumamit ng isang bagay nang paulit-ulit, kaya hindi mo kailangang 148 00:07:30,280 --> 00:07:32,420 upang bigyan ito ng isang pangalan - ikaw lamang nais na gamitin ito nang isang beses - 149 00:07:32,420 --> 00:07:36,720 Gusto mo sabihin lamang function, para sa Halimbawa, sa kasong ito, at hindi ka lang 150 00:07:36,720 --> 00:07:38,280 pagtukoy sa isang bagay na maaari mong bigyan ng pangalan. 151 00:07:38,280 --> 00:07:40,920 >> Tulad ng, maaari naming hilahin ito ng function out at bigyan ito ng isang pangalan at pagkatapos ay tumawag na 152 00:07:40,920 --> 00:07:41,760 gumana dito. 153 00:07:41,760 --> 00:07:44,270 Ngunit hindi namin kailangan upang dahil hindi namin nais na sayangin oras na nagbibigay ito ng isang pangalan o 154 00:07:44,270 --> 00:07:46,240 pag-aaksaya ng isang bagay sa aming mga puwang pangalan. 155 00:07:46,240 --> 00:07:47,530 At makikita mo na marami. 156 00:07:47,530 --> 00:07:52,810 Halimbawa, nakita namin na marami sa code, ngunit na iyong nakita na ito bago kapag 157 00:07:52,810 --> 00:07:54,010 i-click mo ng isang bagay - 158 00:07:54,010 --> 00:07:55,980 patakbuhin ang uri ng code. 159 00:07:55,980 --> 00:07:59,850 >> Maaari naming tukuyin ang code na nais naming upang tumakbo kapag kami i-click ang, sa kasong ito, 160 00:07:59,850 --> 00:08:03,450 ang ID na ito, bilang isang hiwalay na pag-andar at pagkatapos ay tumakbo na function. 161 00:08:03,450 --> 00:08:07,940 Ngunit sa kasong ito, kami ay lamang laktaw na hakbang at gumagalaw ito sa dito at 162 00:08:07,940 --> 00:08:10,340 lamang sa pagtukoy sa lahat ng bagay na gusto naming mangyari at 163 00:08:10,340 --> 00:08:12,450 hindi pagbibigay ito ng isang pangalan. 164 00:08:12,450 --> 00:08:15,550 Iyon pa rin maaaring hindi magkaroon nasagot ang iyong katanungan. 165 00:08:15,550 --> 00:08:15,960 >> Madla: Hindi, ginagawa nito. 166 00:08:15,960 --> 00:08:18,290 Ibig kong sabihin, hulaan ko ko lang gawin hindi talaga makakuha ng kung bakit magiging isang 167 00:08:18,290 --> 00:08:20,800 gumana sa lahat, bagaman. 168 00:08:20,800 --> 00:08:21,590 Dahil ito ay hindi talaga ini-tinatawag. 169 00:08:21,590 --> 00:08:23,170 Hindi talaga magkaroon ito ng isang pangalan. 170 00:08:23,170 --> 00:08:25,510 >> Jason HIRSCHHORN: Ito ay isang function sa pakiramdam na ito ay isang serye ng mga hakbang na ito, 171 00:08:25,510 --> 00:08:28,460 tulad ng gusto mong ilagay sa isang function. 172 00:08:28,460 --> 00:08:29,970 At pagkatapos na ang dahilan kung bakit tinatawag naming ito ang hindi kilalang function. 173 00:08:29,970 --> 00:08:30,815 Hindi namin pagpunta sa bigyan ito ng isang pangalan. 174 00:08:30,815 --> 00:08:33,159 Hindi namin pagpunta sa aksaya sinusubukan upang pangalanan ito, ngunit magagawa namin. 175 00:08:33,159 --> 00:08:34,890 >> Anonymous na mga pag-andar, mo Maaari laging bigyan ng pangalan. 176 00:08:34,890 --> 00:08:37,620 Kaya halimbawa, ang code na ito dito mismo, maaari naming ilagay ang code na ito sa loob ng isang 177 00:08:37,620 --> 00:08:39,929 function at pagkatapos ay tumawag sa ang pagpapaganang ito dito. 178 00:08:39,929 --> 00:08:41,600 Sa halip, sinasabi namin, hindi namin pagpunta sa pag-abala sa na. 179 00:08:41,600 --> 00:08:44,390 Lamang kami ng pagpunta sa magsulat ang lahat ng ito dito mismo. 180 00:08:44,390 --> 00:08:49,840 >> Ito ay tulad ng kung minsan kapag sumusulat ka isang apat na loop sa C - ka guys 181 00:08:49,840 --> 00:08:51,630 nakita na ito bago - siguro ikaw ay iterating sa pamamagitan ng isang forloop 182 00:08:51,630 --> 00:08:53,090 sa katumbas i 0. 183 00:08:53,090 --> 00:08:54,830 Ako ay mas mababa sa strlen. 184 00:08:54,830 --> 00:08:59,520 O ka ng pagpunta sa pamamagitan ng ilang mga array, maaari mong i-save ang array 185 00:08:59,520 --> 00:09:01,580 index i sa ilang mga variable. 186 00:09:01,580 --> 00:09:02,830 At gumamit ka ng variable na iyon. 187 00:09:02,830 --> 00:09:06,550 Kaya hindi mo kailangang i-rewrite ang array bracket i paulit-ulit. 188 00:09:06,550 --> 00:09:08,160 >> At iyon ang uri ng mga tulad ng isang dummy variable. 189 00:09:08,160 --> 00:09:10,790 Hindi ito paghahatid ng magkano layunin maliban sa upang gawin ang iyong code ng kaunti mas malinis 190 00:09:10,790 --> 00:09:12,120 at mas madaling basahin. 191 00:09:12,120 --> 00:09:13,290 Mga Katulad na pagpapaandar dito. 192 00:09:13,290 --> 00:09:15,665 Ginagawa lamang ito ng kaunti mas madali, ngunit pagtakbo walang pagkakaiba. 193 00:09:15,665 --> 00:09:18,620 194 00:09:18,620 --> 00:09:19,330 Na sagutin ang iyong tanong? 195 00:09:19,330 --> 00:09:19,970 >> Madla: Oo. 196 00:09:19,970 --> 00:09:20,720 >> Jason HIRSCHHORN: OK .. 197 00:09:20,720 --> 00:09:21,880 Mario? 198 00:09:21,880 --> 00:09:25,380 >> Madla: Kahapon madalas nila ilagay function ng panaklong kaganapan. 199 00:09:25,380 --> 00:09:26,420 Ang ibig sabihin na ang isang bagay? 200 00:09:26,420 --> 00:09:30,500 O kaya ay ito para sa mga bagay tulad ng na nais nilang gawin 201 00:09:30,500 --> 00:09:35,100 document.ready function na kaganapan. 202 00:09:35,100 --> 00:09:37,130 >> Jason HIRSCHHORN: nakita namin na ito, at muli, ang mga ito ay mas maliit na mga bagay na 203 00:09:37,130 --> 00:09:39,590 Marahil hindi ko nais na gumastos ng masyadong maraming oras sa. 204 00:09:39,590 --> 00:09:43,200 Dahil kung minsan hindi ko nais na mga tao makakuha natakot out na mayroon silang hindi 205 00:09:43,200 --> 00:09:44,220 naririnig ang tungkol sa mga bagay na ito na magkano. 206 00:09:44,220 --> 00:09:46,200 Ngunit usapan natin ng kaunti tungkol sa handler ng kaganapan. 207 00:09:46,200 --> 00:09:50,360 Kaya may mangyari, at pagkatapos ay ito function ay pinaandar. 208 00:09:50,360 --> 00:09:53,210 At pagkatapos ay gusto rin naming malaman ang ilang mga detalye tungkol sa kung ano 209 00:09:53,210 --> 00:09:54,450 nangyari sa kaganapang ito. 210 00:09:54,450 --> 00:09:55,730 >> Kaya sa tingin pabalik sa problema set 4. 211 00:09:55,730 --> 00:09:58,390 Iyon ay marahil ang pinakamadaling paraan upang maunawaan na sa bakasyon out. 212 00:09:58,390 --> 00:09:59,740 Nagkaroon ng ilang mga code - 213 00:09:59,740 --> 00:10:01,980 tulad ng isang kaganapan ang mangyayari, ngunit Maaari ibig sabihin ng maraming bagay na kaganapan. 214 00:10:01,980 --> 00:10:06,240 Kung ma ibig sabihin ang mouse ay na-click, ito maaaring ibig sabihin mo pindutin ang isang arrow key, et 215 00:10:06,240 --> 00:10:07,190 pa, at iba pa. 216 00:10:07,190 --> 00:10:09,800 >> Ngunit ang lahat ng mga na-save ito ito generic bagay na tinatawag na mga kaganapan. 217 00:10:09,800 --> 00:10:12,340 At pagkatapos ay maaari naming sabihin, ay sa kaganapang ito bagay na ito? 218 00:10:12,340 --> 00:10:13,640 O kaya ay sa kaganapang ito bagay na ito? 219 00:10:13,640 --> 00:10:15,500 O kaya naman, anong uri ng mga nangyari may kaganapan na? 220 00:10:15,500 --> 00:10:18,660 Kaya na ang dahilan kung bakit nilikha mo ang variable na doon upang i-save na ang dagdag na impormasyon 221 00:10:18,660 --> 00:10:21,420 tungkol sa kung ano ang eksaktong nangyari na ka pagpunta sa nais na 222 00:10:21,420 --> 00:10:24,840 gamitin sa function. 223 00:10:24,840 --> 00:10:28,200 Ngunit muli, na marahil ang isa sa mga mas mahalagang mga bagay upang maging napaka- 224 00:10:28,200 --> 00:10:29,450 alam. 225 00:10:29,450 --> 00:10:31,470 226 00:10:31,470 --> 00:10:36,110 >> OK, kung ano ang iba pang mga tanong na mayroon mga tao Nagkaroon, o stumbling bloke na nila 227 00:10:36,110 --> 00:10:37,360 Nakatagpo habang sinusuri? 228 00:10:37,360 --> 00:10:41,260 229 00:10:41,260 --> 00:10:42,510 Susubukan naming i-back sa listahang iyon. 230 00:10:42,510 --> 00:10:52,550 231 00:10:52,550 --> 00:10:56,080 Paano ang tungkol sa panahon ng pagsasanay pagsusulit, kung mga tao kinuha mga naka? 232 00:10:56,080 --> 00:10:59,110 Ano ng ilang problema na tripped mo guys up? 233 00:10:59,110 --> 00:11:08,970 234 00:11:08,970 --> 00:11:12,720 Alam ko para sa isang katotohanan na ng nakaraang taon pagsusulit ay talagang mahirap. 235 00:11:12,720 --> 00:11:15,670 >> Madla: Maaari mo bang ipaliwanag kung ano isang SQL iniksyon atake ay? 236 00:11:15,670 --> 00:11:18,970 >> Jason HIRSCHHORN: OK, mahusay. 237 00:11:18,970 --> 00:11:20,440 Kaya usapan natin ang tungkol sa ito ng kaunti. 238 00:11:20,440 --> 00:11:22,050 Mayroong isang panayam sa seguridad. 239 00:11:22,050 --> 00:11:25,670 At muli, tulad ng nabanggit ko mas maaga, ito ay isang bukod. 240 00:11:25,670 --> 00:11:30,010 Ngunit ikaw ay bigo sa pagsusulit kapag basahin mo ng ilang maliliit na dalawang punto 241 00:11:30,010 --> 00:11:33,040 pinag-uusapan, at ikaw ay tulad, kapag ay kailanman malaman ko na? 242 00:11:33,040 --> 00:11:35,560 >> Ang lahat ng mga bagay sa mga aralin na hindi mo sa tingin mo na kailangan upang 243 00:11:35,560 --> 00:11:38,290 alam, o maaari mong pagtakpan dahil hindi nila kailangang gawin sa mga 244 00:11:38,290 --> 00:11:41,860 hanay problema, mga habilin malamang dumating up muli sa pagsusulit. 245 00:11:41,860 --> 00:11:45,030 Kaya, cool na, masaya mga bagay na mo lamang Naisip ni David Sinasabi para sa iyo upang 246 00:11:45,030 --> 00:11:49,070 masiyahan, siya ay nagsasabi sa iyo para sa iyo upang magsaya at upang gawing maging ka lamang super 247 00:11:49,070 --> 00:11:50,550 nasasabik tungkol sa pag-aaral ng lahat ng bagay doon ay upang malaman 248 00:11:50,550 --> 00:11:51,670 tungkol sa computer science. 249 00:11:51,670 --> 00:11:53,680 Yaong mga bagay makabuo din sa mga pagsusulit. 250 00:11:53,680 --> 00:11:56,440 Kaya, kahit na ang mga maliliit na bagay na ginawa hindi direktang umuugnay sa iyong problema 251 00:11:56,440 --> 00:11:59,630 set, bilang ka guys ay pamilyar sa mula sa Pagsusulit 0, ay marahil dumating up. 252 00:11:59,630 --> 00:12:01,530 At ito ay isang magandang halimbawa ng isang bagay. 253 00:12:01,530 --> 00:12:10,140 >> Kaya isang SQL iniksyon pag-atake ay kapag ikaw makakuha ng ilang impormasyon mula sa gumagamit at 254 00:12:10,140 --> 00:12:15,090 gusto mong ipasok ito sa isang table na gamit isang pahayag insert SQL, ngunit ikaw 255 00:12:15,090 --> 00:12:17,680 Hindi sanitize ang input maagang ng panahon. 256 00:12:17,680 --> 00:12:21,560 Kaya, malinaw naman nasaksihan namin SQL pahayag. 257 00:12:21,560 --> 00:12:22,810 Kukunin ko na lang magbukas ng mga - 258 00:12:22,810 --> 00:12:25,590 259 00:12:25,590 --> 00:12:26,840 ni pumunta ipaalam - 260 00:12:26,840 --> 00:12:31,290 261 00:12:31,290 --> 00:12:31,960 magpapadala kami pumunta sa pagsusuri - 262 00:12:31,960 --> 00:12:35,180 Ako sa tingin, na sakop ito? 263 00:12:35,180 --> 00:12:36,350 Sa tingin ko Samala ginawa. 264 00:12:36,350 --> 00:12:39,292 Kaya maaari naming makakuha ng - 265 00:12:39,292 --> 00:12:41,270 >> Madla: Saan mo mo mahanap ito? 266 00:12:41,270 --> 00:12:44,990 >> Jason HIRSCHHORN: Kaya kung pupunta ka sa CS50.net, mga pagsusulit, at pagkatapos ay maaari kang 267 00:12:44,990 --> 00:12:47,170 mag-scroll sa ibabaw at makakuha ng mga slide mula sa pagsusuri session. 268 00:12:47,170 --> 00:12:49,860 Ngunit maaari mong makita na ito ay isang magandang halimbawa ng isang SQL iniksyon atake. 269 00:12:49,860 --> 00:12:53,690 Tumagal kami ng ilang impormasyon mula sa gumagamit na ang at sila ay magbibigay sa amin ng isang string, at pagkatapos namin 270 00:12:53,690 --> 00:12:55,780 gustong isingit na string sa isang database. 271 00:12:55,780 --> 00:12:59,780 Sa pangkalahatan ay pumunta kami sa sanitize na input, na nangangahulugan na ang ilang mga 272 00:12:59,780 --> 00:13:01,050 mga character na mapanganib. 273 00:13:01,050 --> 00:13:04,000 >> Halimbawa, sa mga string ng SQL, mga panipi - 274 00:13:04,000 --> 00:13:05,000 single quote o double quote - 275 00:13:05,000 --> 00:13:05,620 ibig sabihin ng isang bagay. 276 00:13:05,620 --> 00:13:08,380 Ibig sabihin ng mga ito magtapos ang string na ito dito. 277 00:13:08,380 --> 00:13:13,090 At kaya kung ang gumagamit ay nagbibigay sa iyo ng isang solong o double quote, maaari silang maging 278 00:13:13,090 --> 00:13:18,970 sinusubukang i-patisod iyong SQL query at magpasok ng ilang mga masasamang gawain sa ito. 279 00:13:18,970 --> 00:13:23,130 At kung gagawin nila iyon, maaari silang makakuha ng kontrol ng iyong database o gumawa ng ilang 280 00:13:23,130 --> 00:13:24,760 mga bagay na hindi mo nais na gawin nila. 281 00:13:24,760 --> 00:13:28,300 >> Kaya na ang dahilan kung bakit sa tuwing nagsasagawa kami ng SQL mga query, sanitize namin ang pag-input bago 282 00:13:28,300 --> 00:13:31,090 paglalagay ito sa database, na Ang ibig sabihin namin makatakas sa mga character. 283 00:13:31,090 --> 00:13:32,590 Susubukan naming makipag-usap tungkol sa na sa isang segundo. 284 00:13:32,590 --> 00:13:35,820 Ngunit mahaba kuwento maikling, isang SQL iniksyon atake ay kung hindi mo gawin iyon - 285 00:13:35,820 --> 00:13:39,760 kung hindi mo na ang bahala sa input Binigyan ka nila bago paglalagay ng iyong 286 00:13:39,760 --> 00:13:46,830 database, maaari nila, tulad ng nakikita mo pababa dito, magpatakbo ng isang query na iyon, sa katunayan - 287 00:13:46,830 --> 00:13:52,470 sila ilagay sa kanilang mga code down na dito at piliin ang line na ito pababa dito Pipiliin 288 00:13:52,470 --> 00:13:56,360 ang lahat ng bagay mula sa talahanayan alintana ng kung ano ang password ay ibinibigay. 289 00:13:56,360 --> 00:13:58,960 Dahil mayroon kang o 1 ay katumbas ng 1. 290 00:13:58,960 --> 00:14:02,750 >> Kaya ito ay isa lamang, mahabang kuwento maikling, isang paraan upang sakupin ang database. 291 00:14:02,750 --> 00:14:07,570 Ang tanong, pagkatapos, para sa iyo guys, ay kung saan sa p sets 7 nag sanitize mo ang lahat ng 292 00:14:07,570 --> 00:14:10,010 ang input sa iyong mga query sa SQL? 293 00:14:10,010 --> 00:14:11,230 Saan mo hakbang na mangyayari? 294 00:14:11,230 --> 00:14:14,150 Saan ko mapipigilan mo SQL iniksyon pag-atake na mangyari sa p set 7? 295 00:14:14,150 --> 00:14:20,100 296 00:14:20,100 --> 00:14:20,490 Oo. 297 00:14:20,490 --> 00:14:21,870 >> Madla: silid sa ilalim ng lupa? 298 00:14:21,870 --> 00:14:23,120 >> Jason HIRSCHHORN: Kaya ito ay hindi silid sa ilalim ng lupa. 299 00:14:23,120 --> 00:14:52,360 300 00:14:52,360 --> 00:14:55,380 Hindi namin ginawa gagawin mo ito para sa itakda ang partikular na problema, ngunit ito ang mangyayari 301 00:14:55,380 --> 00:14:58,190 sa ang pag-andar ng query. 302 00:14:58,190 --> 00:15:00,930 Talaga ay nagsulat namin ito para sa iyo, at kinuha namin ang pangangalaga ng 303 00:15:00,930 --> 00:15:03,040 sanitizing input para sa iyo. 304 00:15:03,040 --> 00:15:07,790 Ngunit sa taon na nakalipas, mga mag-aaral ay nagkaroon i-type ang input sa kanilang sarili. 305 00:15:07,790 --> 00:15:10,020 Sa p hanay 7, ng maraming mo - 306 00:15:10,020 --> 00:15:11,270 hayaan mo akong magbukas ng isa sa iba pang mga file. 307 00:15:11,270 --> 00:15:18,530 308 00:15:18,530 --> 00:15:22,590 >> Kaya mapapansin mo dito ang maraming mga tao, sa problema itakda 7, ay hindi tumawag 309 00:15:22,590 --> 00:15:25,240 ito function na sa mga string. 310 00:15:25,240 --> 00:15:27,880 Function na ito, htmlspecialchars, muli - 311 00:15:27,880 --> 00:15:31,410 ang string na ito ay maaaring mayroong ilang mga bagay na na sa HTML ibig sabihin ng ibang bagay. 312 00:15:31,410 --> 00:15:36,160 Tulad ng isang suhay, isang parisukat, o isang anggulo bracket ibig sabihin ng isang bagay sa HTML. 313 00:15:36,160 --> 00:15:38,980 >> At kaya kung mag-print ka na sumali sa screen o kung gagawin mo lang na at 314 00:15:38,980 --> 00:15:42,260 i-print na out sa iyong HTML, na maaaring gawin ang isang bagay na hindi mo inaasahan. 315 00:15:42,260 --> 00:15:45,180 Kaya htmlspecialchars napupunta sa paglipas ng lahat ng mga mga character na may espesyal na 316 00:15:45,180 --> 00:15:47,030 meeting at escapes sa kanila. 317 00:15:47,030 --> 00:15:51,450 Kaya maipo-print mo sa teksto gusto mong makita, sa halip na 318 00:15:51,450 --> 00:15:53,280 screwing up ang iyong HTML. 319 00:15:53,280 --> 00:15:55,040 Tinatawag namin na function ng sa header. 320 00:15:55,040 --> 00:15:57,390 At ng maraming mga tao nakalimutan upang tumawag na pag-andar sa 321 00:15:57,390 --> 00:15:58,700 code ikaw ay sumusulat. 322 00:15:58,700 --> 00:16:03,970 >> Kaya, halimbawa, kung ang isang pangalan ng mga stock ay nagkaroon ng isang anggulo bracket sa loob nito at nakalimutan 323 00:16:03,970 --> 00:16:06,675 itawag sa pag-andar, angulo na sana itinapon off bracket kung ano 324 00:16:06,675 --> 00:16:08,250 iyong HTML mukhang. 325 00:16:08,250 --> 00:16:11,810 Ngunit sa pagtawag na ito function na ay makatakas na kaya talaga ito ng mga Kopya out bilang isang 326 00:16:11,810 --> 00:16:15,870 anggulo bracket at hindi magtapon off iyong HTML code. 327 00:16:15,870 --> 00:16:18,760 >> Ang parehong mga dahilan nasaksihan namin, paminsan-minsan, slashes bago double quote sa isang 328 00:16:18,760 --> 00:16:22,310 printf linya dahil hindi namin gusto ang down na double quote ang string. 329 00:16:22,310 --> 00:16:24,050 Gusto naming i-print ang mga ito out sa screen. 330 00:16:24,050 --> 00:16:26,920 Kaya lahat ng mga ito ay ang parehong ideya. 331 00:16:26,920 --> 00:16:28,260 Na sagutin ang iyong tanong? 332 00:16:28,260 --> 00:16:31,529 333 00:16:31,529 --> 00:16:33,870 >> Madla: Kind ng. 334 00:16:33,870 --> 00:16:35,300 >> Jason HIRSCHHORN: Gusto mo ba magkaroon ng isang follow-up? 335 00:16:35,300 --> 00:16:43,252 >> Madla: hulaan ko ang mga SQL iniksyon pag-atake ay ang gagawin sa na? 336 00:16:43,252 --> 00:16:45,720 Hindi ko maunawaan kung paano ang dalawang mga kaugnay na. 337 00:16:45,720 --> 00:16:47,610 Bakit ginagawa mo ang specialchars? 338 00:16:47,610 --> 00:16:51,200 >> Jason HIRSCHHORN: OK, kaya ang SQL iniksyon atake ay kapag mag-iniksyon sa iyo 339 00:16:51,200 --> 00:16:59,180 ang ilang mga nakakahamak na mga string sa isang tao ng programa, at tumagal lamang nila ito at patakbuhin 340 00:16:59,180 --> 00:17:01,230 ang SQL query na may isang string na iyong ibinigay sa kanila. 341 00:17:01,230 --> 00:17:04,220 Tulad ng iyong nakikita dito pababa, na ay maaaring may problema. 342 00:17:04,220 --> 00:17:07,480 Kaya ang paraan ng pumipigil sa iyo laban na mong gawin ang kanilang mga string na bigyan sila 343 00:17:07,480 --> 00:17:09,220 mo - kaya ang string na ito dito mismo - 344 00:17:09,220 --> 00:17:11,240 at sanitize mo ito. 345 00:17:11,240 --> 00:17:14,305 Ikaw makatakas sa lahat ng mga bagay na mga potensyal na may problemang. 346 00:17:14,305 --> 00:17:18,626 Kaya hindi mo bigyang-kahulugan ang mga ito bilang isang bagay ay nangangahulugan na ang isang bagay. 347 00:17:18,626 --> 00:17:23,390 >> At isang halimbawa ng na may HTML ay ito function. 348 00:17:23,390 --> 00:17:26,060 Kaya ito ang parehong ideya dito. 349 00:17:26,060 --> 00:17:27,579 At lamang ako ay nagpapakita sa iyo ng iba pang mga mga halimbawa ng kapag ikaw ay 350 00:17:27,579 --> 00:17:29,030 nakita sa ideya na ito bago. 351 00:17:29,030 --> 00:17:33,913 Ng escaping input ng user bago ang pag-print ito out sa isang screen o paglalagay ito 352 00:17:33,913 --> 00:17:36,782 sa loob ng isang SQL statement. 353 00:17:36,782 --> 00:17:40,790 >> Madla: Kaya sa kasong ito, ang user ay ang panggugulo sa mga programmer. 354 00:17:40,790 --> 00:17:41,240 >> Jason HIRSCHHORN: Oo. 355 00:17:41,240 --> 00:17:44,800 Sa lahat ng mga pag-atake sa seguridad, na laging pangkalahatan user, o 356 00:17:44,800 --> 00:17:47,470 mataas na tao, ay sinusubukang i-gulo sa iyo, ang programmer. 357 00:17:47,470 --> 00:17:51,038 At ang mga ito ay mga paraan maaari kang pigilan laban sa kanila. 358 00:17:51,038 --> 00:17:54,280 >> Madla: Kaya Mayroon akong tanong tungkol sa hash function. 359 00:17:54,280 --> 00:17:59,340 Sa Pagsusulit 1 mula 2011, mayroong dalawang tungkol sa mga isahang-panig hashes. 360 00:17:59,340 --> 00:18:02,540 At lamang ako ay nagtataka ano nilalayong na. 361 00:18:02,540 --> 00:18:03,660 >> Jason HIRSCHHORN: OK, na pagsusulit? 362 00:18:03,660 --> 00:18:03,770 2011? 363 00:18:03,770 --> 00:18:04,705 >> Madla: Oo. 364 00:18:04,705 --> 00:18:06,720 >> Madla: Pagsusulit 1? 365 00:18:06,720 --> 00:18:08,620 >> Madla: [hindi marinig]. 366 00:18:08,620 --> 00:18:09,940 Iyan ay tulad ng hashing isang password. 367 00:18:09,940 --> 00:18:12,220 Na hindi paglalagay ng mga bagay - 368 00:18:12,220 --> 00:18:13,440 >> Jason HIRSCHHORN: Ano pahina ay ito? 369 00:18:13,440 --> 00:18:15,720 >> Madla: Sa tingin ko 9 o 10, o pareho. 370 00:18:15,720 --> 00:18:16,720 >> Jason HIRSCHHORN: Ang lahat ng karapatan, sige, Curt. 371 00:18:16,720 --> 00:18:17,780 Maaari mong sagutin habang tinitingnan namin. 372 00:18:17,780 --> 00:18:19,540 >> Madla: Sa tingin ko ito ay pakikipag-usap tungkol sa hashing isang password. 373 00:18:19,540 --> 00:18:24,430 Tulad ng, kapag may isang taong nagpasok ng isang password, mo i-on ito sa isang naka-encrypt na bagay. 374 00:18:24,430 --> 00:18:27,395 Iyan ang hash password, na naiiba mula sa isang hash na 375 00:18:27,395 --> 00:18:30,900 Inilalagay ng isang bagay sa isang hash table. 376 00:18:30,900 --> 00:18:31,610 >> Jason HIRSCHHORN: Sabihin makita. 377 00:18:31,610 --> 00:18:33,930 Hayaan akong makuha ang kung ano ang kanilang bigyan bilang sagot. 378 00:18:33,930 --> 00:18:35,440 At pagkatapos ay babagtasin namin ito. 379 00:18:35,440 --> 00:18:42,430 380 00:18:42,430 --> 00:18:45,400 >> Kaya nagbigay Curt isang mahusay na halimbawa ng isang one-way hash. 381 00:18:45,400 --> 00:18:48,800 Kapag nakakita kami ito bago, namin tumagal ang password at i - 382 00:18:48,800 --> 00:18:53,040 tandaan, sa p hanay 7, maaari isang tao magkaroon ng isang password na password lang, 383 00:18:53,040 --> 00:18:55,300 ngunit pagkatapos ay maipo-naka-encrypt sa ilang mga talagang mahaba bagay. 384 00:18:55,300 --> 00:18:59,830 Ang one-way hash ay nangangahulugang ito ay napakadaling upang pumunta mula sa isang paraan upang ang iba pang mga, ngunit 385 00:18:59,830 --> 00:19:02,800 ito ay napakahirap upang pumunta mula sa ang iba pang mga paraan pabalik. 386 00:19:02,800 --> 00:19:05,230 >> At gayon alam mo na, kapag ikaw ay nag-check ng mga password ng mga tao sa problema 387 00:19:05,230 --> 00:19:08,820 itakda 7, gusto mong gawin ang kanilang - 388 00:19:08,820 --> 00:19:11,953 kaya, halimbawa, sabihin natin na sila nais na baguhin ang kanilang password, hilingin mo ang mga ito 389 00:19:11,953 --> 00:19:13,130 para sa kanilang lumang password. 390 00:19:13,130 --> 00:19:13,910 Kinunan mo ang kanilang mga lumang password. 391 00:19:13,910 --> 00:19:15,150 Naka-encrypt mo ito. 392 00:19:15,150 --> 00:19:19,240 At pagkatapos ay i-kumpara ang dalawang encryptions sa halip na unencrypting ang orihinal 393 00:19:19,240 --> 00:19:20,780 isa, dahil ito ay talagang mahirap na pumunta na paraan. 394 00:19:20,780 --> 00:19:27,070 395 00:19:27,070 --> 00:19:28,035 Oo. 396 00:19:28,035 --> 00:19:31,430 >> Madla: Paano malalalim na gumagana ang aming pang-unawa ng TelNet kailangang maging? 397 00:19:31,430 --> 00:19:34,870 398 00:19:34,870 --> 00:19:41,360 >> Jason HIRSCHHORN: Kung ito ay Binanggit sa madaling sabi sa panayam, ang isang maikling lamang 399 00:19:41,360 --> 00:19:43,260 pag-unawa. 400 00:19:43,260 --> 00:19:45,585 Muli, bumalik sa sagot sa tanong Avi ni - 401 00:19:45,585 --> 00:19:48,260 402 00:19:48,260 --> 00:19:50,430 ang higit pang mga bagay makabuo, mas malamang ito ay mayroon kang upang maging napaka- 403 00:19:50,430 --> 00:19:51,530 pamilyar sa mga ito. 404 00:19:51,530 --> 00:19:54,730 Kung nagawa sa ngayon lamang sila sa panayam, ito lamang ay isang lugar. 405 00:19:54,730 --> 00:19:57,180 Ngunit kung dumating ang mga ito sa panayam, seksyon, at magtakda ng isang problema, pagkatapos ay i-mo 406 00:19:57,180 --> 00:19:58,710 marahil na kailangang maging sobrang pamilyar sa mga ito. 407 00:19:58,710 --> 00:20:01,320 408 00:20:01,320 --> 00:20:03,960 >> Kaya nagkaroon ako ng isang katanungan mula mas maaga tungkol sa - 409 00:20:03,960 --> 00:20:06,950 sabihin noon ay taglagas 2010 - 410 00:20:06,950 --> 00:20:08,520 Pagsusulit 1, ni-pull up hayaan - 411 00:20:08,520 --> 00:20:17,390 412 00:20:17,390 --> 00:20:21,790 ang tanong na ito sa stack at queues, na ginawa kaming magpalipas ng isang patas kaunting oras 413 00:20:21,790 --> 00:20:23,720 pakikipag-usap tungkol sa panayam, kahit na bagama't ginawa namin hindi talaga 414 00:20:23,720 --> 00:20:26,020 kailanman pindutin ito sa seksyon. 415 00:20:26,020 --> 00:20:33,190 Kaya ang tanong na ito ay nagbibigay sa iyo ng isang serye ng mga utos at humihiling sa iyo kung ano ang 416 00:20:33,190 --> 00:20:35,560 ay makakakuha ng naka-print na sa kasong ito. 417 00:20:35,560 --> 00:20:40,180 Kaya ito ay isang ganap na makatuwirang tanong na maaaring hilingin sa inyo 418 00:20:40,180 --> 00:20:43,090 guys, at pagkatapos ay sa iyo guys dapat makasagot ito. 419 00:20:43,090 --> 00:20:50,020 >> Kaya bakit hindi ka tumingin sa ito para sa 30 segundo, at pagkatapos ay kung ang sinuman ay nais na 420 00:20:50,020 --> 00:20:52,140 ipanukala ang sagot sa akin, at pagkatapos babagtasin namin ito. 421 00:20:52,140 --> 00:21:22,590 422 00:21:22,590 --> 00:21:24,235 Ang lahat ng mga karapatan, kung sino ang may isang sagot sa tanong 27? 423 00:21:24,235 --> 00:21:31,740 424 00:21:31,740 --> 00:21:33,860 Oo. 425 00:21:33,860 --> 00:21:40,250 >> Madla: Ito ba ay 1, 2, 3, 3? 426 00:21:40,250 --> 00:21:40,780 >> Jason HIRSCHHORN: Tama iyon. 427 00:21:40,780 --> 00:21:42,570 27 ay 1, 2, 3, 3. 428 00:21:42,570 --> 00:21:44,510 Kaya tingnan natin kung paano namin nakuha ko na ipaalam. 429 00:21:44,510 --> 00:21:48,930 >> Una, ang sinasabi namin, kung s ay isang pila, ano ay makakakuha ng naka-print? 430 00:21:48,930 --> 00:21:53,360 Kaya isang q ay unang in, unang out. 431 00:21:53,360 --> 00:21:54,680 Nakita namin na ang bago. 432 00:21:54,680 --> 00:21:56,820 Nakita namin ang larawan ng mga tao naghihintay sa Apple 433 00:21:56,820 --> 00:21:58,400 I-store upang bumili ng ilang mga produkto. 434 00:21:58,400 --> 00:22:00,900 Ang unang mga tao sa mga ang unang mga tao out. 435 00:22:00,900 --> 00:22:02,940 Ang unang bagay sa isang queue ay ang unang bagay. 436 00:22:02,940 --> 00:22:08,320 >> Kaya kung itulak kami ng isang bagay sa isang pila, itulak mo ang 1, pagkatapos ay i-pop namin ang 1. 437 00:22:08,320 --> 00:22:09,630 Pop lamang ay nangangahulugan na kumuha. 438 00:22:09,630 --> 00:22:11,080 Sa kasong ito, tumagal lamang ng isang bagay out. 439 00:22:11,080 --> 00:22:12,910 Kami kumuha ng unang bagay, na ang isang 1. 440 00:22:12,910 --> 00:22:15,200 Kaya makikita inilalagay namin ang mga bagay na namin i-print down na higit sa dito. 441 00:22:15,200 --> 00:22:18,110 Ito ay wala na sa aming queue. 442 00:22:18,110 --> 00:22:23,500 >> Pagkatapos itulak kami sa isang 2 at 3, at pop namin off ang unang bagay. 443 00:22:23,500 --> 00:22:25,030 Muli, dahil ito ay isang queue. 444 00:22:25,030 --> 00:22:33,320 Kaya kumuha kami ng 2, pagkatapos ay inilalagay namin sa isa pang 3 at tatawag sa pop. 445 00:22:33,320 --> 00:22:34,980 Ang aming 3 ay unang. 446 00:22:34,980 --> 00:22:40,940 >> At pagkatapos ay nagkaroon kami ang maramihang mga iba pang mga bagay at tawag pop. 447 00:22:40,940 --> 00:22:43,740 Ngunit muli, dahil ito ay isang pila, unang in, unang out. 448 00:22:43,740 --> 00:22:45,980 Isinasaalang-alang namin ang unang bagay na kailanman ilagay in 449 00:22:45,980 --> 00:22:47,100 Iyon lang ang aming 3. 450 00:22:47,100 --> 00:22:50,060 At, sa kasong ito, ay hindi kami mag-alala tungkol sa lahat ng mga iba pang mga bagay. 451 00:22:50,060 --> 00:22:51,310 Kaya na kung ito ay isang queue. 452 00:22:51,310 --> 00:22:58,917 453 00:22:58,917 --> 00:23:00,167 Ang anumang mga katanungan tungkol sa isang pila? 454 00:23:00,167 --> 00:23:03,290 455 00:23:03,290 --> 00:23:04,040 >> Ang isang stack ay naiiba. 456 00:23:04,040 --> 00:23:07,782 Ano ang acronym mayroon kami para sa pag-unawa ng isang stack? 457 00:23:07,782 --> 00:23:08,750 >> Madla: Huling in, unang out. 458 00:23:08,750 --> 00:23:10,130 >> Jason HIRSCHHORN: LIFO, sa tingin ko. 459 00:23:10,130 --> 00:23:11,830 Tatagal sa, una out. 460 00:23:11,830 --> 00:23:15,630 Kaya nakita natin ang isang halimbawa ng isang stack ng trays sa dining hall. 461 00:23:15,630 --> 00:23:17,590 Anuman ang tray ay sa tuktok ay makakakuha ng kinuha ang. 462 00:23:17,590 --> 00:23:19,550 At pagkatapos ay kung bagong trays dumating sa, sila makakuha ng ilagay sa tuktok. 463 00:23:19,550 --> 00:23:21,070 At pagkatapos ay ang anumang ay sa tuktok ay makakakuha ng kinuha ang. 464 00:23:21,070 --> 00:23:24,010 Kaya mga trays sa ibaba ay maaaring manatili doon para sa sandali. 465 00:23:24,010 --> 00:23:28,480 >> Sa kasong iyon, muli, kami ay gumuhit ito out. 466 00:23:28,480 --> 00:23:31,770 Itulak namin sa isa, kaya isa ay unang sa linya. 467 00:23:31,770 --> 00:23:32,790 At mga pop kami ng isang bagay off. 468 00:23:32,790 --> 00:23:37,280 At mayroon lamang isang bagay sa doon, kaya lumipat kami 1 down na dito. 469 00:23:37,280 --> 00:23:41,940 Pagkatapos ay ilalagay namin sa 2 at 3 at pop kami ng isang bagay off. 470 00:23:41,940 --> 00:23:43,650 >> Ngunit muli, dahil ito ay isang pila - 471 00:23:43,650 --> 00:23:45,010 o ito ay isang stack, sa halip - 472 00:23:45,010 --> 00:23:47,480 tumagal kami kahit anong noon ay sa huling. 473 00:23:47,480 --> 00:23:49,300 Anuman ay nasa huling pagdating out muna. 474 00:23:49,300 --> 00:23:50,890 At 3 ay sa huling. 475 00:23:50,890 --> 00:23:56,110 Kaya binuo namin ang 3 down na doon, pagkatapos ay ilalagay namin sa isa pang 3 at kami 476 00:23:56,110 --> 00:23:57,360 pop muli ng isang bagay. 477 00:23:57,360 --> 00:23:59,990 478 00:23:59,990 --> 00:24:05,710 Sa wakas, inilalagay namin sa 4, 5, 6, at 7, at dito pop namin. 479 00:24:05,710 --> 00:24:09,060 At dahil ito ay isang stack, tumagal kami ano naman ay ilalagay sa huling at sumulat 480 00:24:09,060 --> 00:24:10,240 na pababa dito. 481 00:24:10,240 --> 00:24:14,256 Kaya magtapos up namin na may 1, 3, 3, 7. 482 00:24:14,256 --> 00:24:17,380 483 00:24:17,380 --> 00:24:21,380 Kahit sinong mayroon ba kayong mga katanungan tungkol sa stack o queues, o halimbawang ito? 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 Sabihin bumalik sa listahan ng mga paksa. 487 00:24:30,440 --> 00:24:32,510 Hindi na paraan, sa ganitong paraan. 488 00:24:32,510 --> 00:24:34,280 Ano pang ibang mga katanungan ay walang mga tao? 489 00:24:34,280 --> 00:24:37,550 490 00:24:37,550 --> 00:24:39,480 >> Madla: Hindi ko alam kung gaano kahalaga ito ay, ngunit ako ay lito sa pamamagitan ng 491 00:24:39,480 --> 00:24:43,550 pagkakaiba sa pagitan ng iba't ibang uri ng mga wika tulad ng markup, pinagsama-sama, 492 00:24:43,550 --> 00:24:45,980 kahulugan. 493 00:24:45,980 --> 00:24:46,750 >> Jason HIRSCHHORN: Iyon isang magandang tanong. 494 00:24:46,750 --> 00:24:50,500 Sa tingin ko na ay medyo mahalaga, kaya ng pumunta sa paglipas ng ito mabilis na ipaalam. 495 00:24:50,500 --> 00:24:56,850 Ang malaki wika nasaksihan namin sa ngayon ay C, PHP, at JavaScript, sa mga tuntunin 496 00:24:56,850 --> 00:24:58,330 ng mga programa wika. 497 00:24:58,330 --> 00:25:01,060 HTML, tulad ng sa iyo nabanggit, ay hindi isang programming language. 498 00:25:01,060 --> 00:25:02,260 Ito ay isang markup language. 499 00:25:02,260 --> 00:25:05,700 At pagkatapos ay mayroon kaming CSS, na rin hindi isang programming language. 500 00:25:05,700 --> 00:25:10,330 >> Nakakita kami din SQL, na kung saan ay hindi isang programming language alinman. 501 00:25:10,330 --> 00:25:15,695 Kaya nagbibigay-daan sa SQL mong magsulat mga query para sa isang database. 502 00:25:15,695 --> 00:25:18,370 503 00:25:18,370 --> 00:25:20,140 HTML ay isang markup language. 504 00:25:20,140 --> 00:25:22,570 Tinutukoy nito kung paano ang mga bagay ay nakaayos. 505 00:25:22,570 --> 00:25:26,250 At CSS ay nagbibigay-daan sa iyo upang Estilo bagay. 506 00:25:26,250 --> 00:25:28,520 Iyon ay marahil ang lawak para sa kung ano ang iyong kailangang malaman tungkol sa mga tatlong. 507 00:25:28,520 --> 00:25:32,920 Ngunit ito ay mas interesante sa mga figure out sa mga pagkakaiba sa pagitan ng C, PHP, 508 00:25:32,920 --> 00:25:34,320 at JavaScript. 509 00:25:34,320 --> 00:25:37,900 >> Kaya isa sa mga pinakamalaking mga pagkakaiba, bilang ka nabanggit, ay kung paano ang mga ito ay 510 00:25:37,900 --> 00:25:40,550 pinagsama-sama, o anumang ang katumbas ay. 511 00:25:40,550 --> 00:25:42,580 Kaya C ay pinagsama-sama. 512 00:25:42,580 --> 00:25:43,950 Gusto naming palaging magpatakbo ng isang tagatala. 513 00:25:43,950 --> 00:25:51,100 At pagkatapos ay kung nasaan ang iyong mga error kapag pinatakbo mo ang C tagatala? 514 00:25:51,100 --> 00:25:55,740 Saan ipinapakita ng ito sa iyo ang mga error Sa iyong code? 515 00:25:55,740 --> 00:25:57,860 Paano ko malalaman mo mayroong isang error sa iyong code sa C? 516 00:25:57,860 --> 00:25:58,770 >> Madla: Ipinapakita nito sa iyo sa terminal. 517 00:25:58,770 --> 00:26:00,410 >> Jason HIRSCHHORN: Ipinapakita nito sa iyo sa terminal bilang ka kino-compile. 518 00:26:00,410 --> 00:26:02,620 At kung mayroong mga error, ito hindi ang talagang sumulat ng libro ito. 519 00:26:02,620 --> 00:26:04,830 Kaya alam mo na mayroong mga error kanan ang layo, maagang ng panahon, bago mo 520 00:26:04,830 --> 00:26:06,050 kahit na tumatakbo ang iyong mga code. 521 00:26:06,050 --> 00:26:10,010 >> Siyempre, maaaring tumakbo ang iyong code at makakuha ng segmentation fault, ngunit na noon ay 522 00:26:10,010 --> 00:26:12,350 marahil dahil ginawa mo ilang ulok logic bagay. 523 00:26:12,350 --> 00:26:15,770 Ngunit ang iyong code sa technically maaaring patakbuhin ang lahat ng tama at. 524 00:26:15,770 --> 00:26:18,210 Kaya C code ay makakakuha ng inipon maagang ng panahon. 525 00:26:18,210 --> 00:26:19,760 Paano ang tungkol sa code na PHP? 526 00:26:19,760 --> 00:26:21,430 Saan ng mga error sa iyong code na PHP? 527 00:26:21,430 --> 00:26:23,170 Paano mo alam mo na ikaw ay may mga error sa iyong code na PHP? 528 00:26:23,170 --> 00:26:26,038 529 00:26:26,038 --> 00:26:28,430 >> Madla: Patakbuhin oras? 530 00:26:28,430 --> 00:26:31,230 >> Jason HIRSCHHORN: Oo, kapag nag- Gusto patakbuhin ito, gusto mong patakbuhin ang 531 00:26:31,230 --> 00:26:32,180 PHP code sa likod. 532 00:26:32,180 --> 00:26:33,300 At pagkatapos ay nais mong ipakita ang isang screen. 533 00:26:33,300 --> 00:26:35,260 Maaari mong makita ang ilang mga bagay sa itaas, ngunit pagkatapos ay makikita mo na ang, tulad ng, ang ilang mga 534 00:26:35,260 --> 00:26:36,710 orange, pangit talahanayan. 535 00:26:36,710 --> 00:26:41,420 At ito ay magbibigay sa iyo ng isang numero ng linya at sabihin nating, blah, blah, blah, mga bagay-bagay na ito 536 00:26:41,420 --> 00:26:42,400 Hindi gumana. 537 00:26:42,400 --> 00:26:48,730 >> Kaya PHP ay kahulugan linya sa pamamagitan ng linya at pinaandar sa server. 538 00:26:48,730 --> 00:26:52,380 At pagkatapos ay ang resulta ay ipinadala sa paglipas ng sa iyo. 539 00:26:52,380 --> 00:26:53,340 Mahusay. 540 00:26:53,340 --> 00:26:56,410 Pinaandar sa linya ng server sa pamamagitan ng linya at pagkatapos ay ipinadala sa paglipas ng sa iyo. 541 00:26:56,410 --> 00:26:59,010 At kung mayroong isang error, magkakaroon ito ipadala mo ang error, ngunit maaaring mayroon ka 542 00:26:59,010 --> 00:27:00,400 nakuha ang ilang mga bagay-bagay maagang ng panahon. 543 00:27:00,400 --> 00:27:02,730 Kaya baka nakapagtrabaho ang ilan sa mga ito, ngunit sa paglaon, maaaring hindi magkaroon ng ilang mga bagay-bagay 544 00:27:02,730 --> 00:27:03,890 hindi nagtrabaho. 545 00:27:03,890 --> 00:27:04,600 >> Paano ang tungkol sa JavaScript? 546 00:27:04,600 --> 00:27:06,065 Saan mo nakikita mo ang mga error sa JavaScript? 547 00:27:06,065 --> 00:27:10,860 548 00:27:10,860 --> 00:27:12,870 Sa p set 8, kapag ikaw nakakuha ng isang error, paano alam mo? 549 00:27:12,870 --> 00:27:13,710 Saan ito lalabas? 550 00:27:13,710 --> 00:27:15,900 >> Madla: Sa console, sa ibaba. 551 00:27:15,900 --> 00:27:17,650 >> Jason HIRSCHHORN: Sa console, sa ilalim. 552 00:27:17,650 --> 00:27:20,160 Gusto rin nito ang magbibigay sa iyo ng numero ng linya, at gagawin ito 553 00:27:20,160 --> 00:27:21,330 lalabas sa ilalim. 554 00:27:21,330 --> 00:27:24,320 At ang JavaScript ay hindi pinaandar sa server. 555 00:27:24,320 --> 00:27:27,800 JavaScript ay ipinadala sa iyong computer, at pagkatapos ay kapag ito ay oras na upang patakbuhin ang 556 00:27:27,800 --> 00:27:31,670 JavaScript, ang JavaScript ay magpatakbo ng linya sa pamamagitan ng linya sa 557 00:27:31,670 --> 00:27:33,410 client, sa iyong tabi. 558 00:27:33,410 --> 00:27:35,570 Hindi sa server, sa gilid ng client. 559 00:27:35,570 --> 00:27:37,690 >> At katulad, ito ay magpatakbo ng linya sa pamamagitan ng linya. 560 00:27:37,690 --> 00:27:40,630 At pagkatapos ay kapag nais mong makakuha ng isang error, Gusto ito lalabas sa ilalim. 561 00:27:40,630 --> 00:27:44,580 Katulad nito sa PHP, ang ilan sa mga ito puwede pumugot ng ulo, at pagkatapos ay maaari kang makakuha ng isang 562 00:27:44,580 --> 00:27:46,310 error sa susunod. 563 00:27:46,310 --> 00:27:49,910 >> Gayundin, medyo hindi tulad ng PHP, kung Nakakuha ka ng isang error sa JavaScript - 564 00:27:49,910 --> 00:27:52,780 sabihin hindi mo gawin ang karapatan code para sa isang kahon ng alerto - 565 00:27:52,780 --> 00:27:55,800 maaari mong patuloy na tumatakbo ang iyong mga programa. 566 00:27:55,800 --> 00:27:58,180 Ang kahon ng alerto hindi gagana, ngunit iyong programa ay magiging masarap. 567 00:27:58,180 --> 00:28:00,490 Lang siguro na function na ay mabibigo. 568 00:28:00,490 --> 00:28:02,610 >> Kaya mayroong ilan sa pinakamalalaking pagkakaiba sa mga tuntunin ng kung paano ang mga 569 00:28:02,610 --> 00:28:09,230 mga wika, o kung paano ang programming code mong isulat ay aktwal na sinusuri. 570 00:28:09,230 --> 00:28:11,970 May mga iba pang mga pagkakaiba sa din mga tuntunin ng - ang pinakamalaking pagkakaiba 571 00:28:11,970 --> 00:28:15,590 nasaksihan namin sa mga tuntunin ng mga variable sa iba't ibang mga wika. 572 00:28:15,590 --> 00:28:19,660 Kaya maaari sinuman ninyo ako ng pagkakaiba sa pagitan ng mga variable 573 00:28:19,660 --> 00:28:20,910 sa tatlong mga wika? 574 00:28:20,910 --> 00:28:24,802 575 00:28:24,802 --> 00:28:25,770 Oo. 576 00:28:25,770 --> 00:28:27,130 >> Madla: Sa C, ang mga ito ay mahigpit na nai-type. 577 00:28:27,130 --> 00:28:28,550 Sa iba pang mga dalawang, ang mga ito ay maluwag-type. 578 00:28:28,550 --> 00:28:30,040 >> Jason HIRSCHHORN: At kung ano ang ibig sabihin na? 579 00:28:30,040 --> 00:28:31,775 >> Madla: Iyon sa C, mayroon kang idedeklara ang uri ng variable kapag 580 00:28:31,775 --> 00:28:36,140 Ipinahahayag mo ang variable, tulad ng interbool o pansamantalang trabaho. 581 00:28:36,140 --> 00:28:36,990 >> Jason HIRSCHHORN: Mahusay. 582 00:28:36,990 --> 00:28:39,780 Sa C, palagi namin ay may upang ilagay isang uri ng isang variable. 583 00:28:39,780 --> 00:28:41,360 At maaaring hindi namin talagang paghaluin ang mga uri. 584 00:28:41,360 --> 00:28:45,750 Hindi mo maaaring gawin ng isang integer plus isang string. 585 00:28:45,750 --> 00:28:48,760 Ngunit bilang nagbigay kami nakikita sa mga iba pang mga wika, na talagang maaaring paghaluin ang mga uri, 586 00:28:48,760 --> 00:28:51,230 at hindi ka na kailanman talagang may upang bigyan isang bagay ng uri, kailanman. 587 00:28:51,230 --> 00:28:53,905 >> Kaya paano ko malalaman namin bagay ang mga variable sa PHP at JavaScript? 588 00:28:53,905 --> 00:28:57,120 589 00:28:57,120 --> 00:28:58,685 >> Madla: Sa PHP, simulan nila may dollar sign. 590 00:28:58,685 --> 00:29:00,810 Sa JavaScript, kapag pinahahayag mga ito, mayroon kang upang magkaroon ng isang bar. 591 00:29:00,810 --> 00:29:01,760 >> Jason HIRSCHHORN: Mag-right. 592 00:29:01,760 --> 00:29:03,535 Kaya sa PHP, simulan nila may dollar sign. 593 00:29:03,535 --> 00:29:06,300 Sa JavaScript, mayroon sila na magkaroon ng bar, kahit na minsan ay ginagawa nila hindi talaga 594 00:29:06,300 --> 00:29:07,520 mayroon na magkaroon ng bar. 595 00:29:07,520 --> 00:29:09,240 Ngunit iyon lamang ang tama. 596 00:29:09,240 --> 00:29:13,300 >> Kaya na ang isang malaking pagkakaiba sa pagitan ng mga variable. 597 00:29:13,300 --> 00:29:16,140 Sa tingin ko ang mga ito ay marahil, off ang tuktok ng aking ulo, ang dalawang pinakamalaking 598 00:29:16,140 --> 00:29:19,250 pagkakaiba sa pagitan ng mga tatlong mga wika. 599 00:29:19,250 --> 00:29:20,594 Ngunit, oo. 600 00:29:20,594 --> 00:29:24,720 >> Madla: At ang nasasakupan ng C variable ay para lamang sa mga kulot tirante, 601 00:29:24,720 --> 00:29:27,760 kung saan ang iba pang mga bago, ito ay nais lamang, ito ay namatay kung ito ay nasa isang function lamang, 602 00:29:27,760 --> 00:29:29,650 ngunit kung hindi man, it's - 603 00:29:29,650 --> 00:29:30,240 >> Jason HIRSCHHORN: Mag-right. 604 00:29:30,240 --> 00:29:36,780 Kaya ang saklaw ay bahagyang naiiba sa C. Bilang tandaan mo, kulot tirante tukuyin 605 00:29:36,780 --> 00:29:37,710 ang nasasakupan ng variable. 606 00:29:37,710 --> 00:29:41,680 Kaya kung ito ay tinukoy sa loob ng isang kung kondisyon, na kung saan ay sa loob ng isang para sa loop, 607 00:29:41,680 --> 00:29:44,290 ang variable ay naroroon lamang doon. 608 00:29:44,290 --> 00:29:47,760 >> Sa JavaScript, kung ang isang variable ay tinukoy sa loob ng isang kung kondisyon - 609 00:29:47,760 --> 00:29:50,750 sa loob ng isang para sa loop - ito ay umiiral para sa na function, ngunit hindi ito ay umiiral 610 00:29:50,750 --> 00:29:52,330 labas na function. 611 00:29:52,330 --> 00:29:59,250 Kaya na saklaw ay mas may kakayahang umangkop Medyo sa JavaScript at PHP. 612 00:29:59,250 --> 00:30:00,500 Iyon sagutin ang mga katanungan? 613 00:30:00,500 --> 00:30:03,110 614 00:30:03,110 --> 00:30:04,635 OK, ang anumang iba pang mga tanong? 615 00:30:04,635 --> 00:30:07,260 616 00:30:07,260 --> 00:30:08,865 Maaari naming gawin apat na higit pang mga minuto ng mga tanong, pagkatapos ay 617 00:30:08,865 --> 00:30:10,740 ipapakita namin tumalon sa coding. 618 00:30:10,740 --> 00:30:12,645 >> Madla: Maaari ba kaming pumunta sa Ajax at makipag-usap tungkol sa kung ano na? 619 00:30:12,645 --> 00:30:15,670 620 00:30:15,670 --> 00:30:17,800 >> Jason HIRSCHHORN: Makipag-usap sa Avi pagkatapos. 621 00:30:17,800 --> 00:30:19,170 Tinanong niya na pinag-uusapan nang mas maaga. 622 00:30:19,170 --> 00:30:19,630 >> Madla: My masama. 623 00:30:19,630 --> 00:30:20,880 >> Jason HIRSCHHORN: Huwag mag-alala. 624 00:30:20,880 --> 00:30:22,740 625 00:30:22,740 --> 00:30:24,290 >> Madla: Ano ang eksaktong ay JSON? 626 00:30:24,290 --> 00:30:28,360 627 00:30:28,360 --> 00:30:28,900 >> Jason HIRSCHHORN: Ano ang JSON? 628 00:30:28,900 --> 00:30:29,930 Ano ang iyong katanungan? 629 00:30:29,930 --> 00:30:31,350 >> Madla: lang talaga mabilis, ang pagkakaiba sa pagitan ng 630 00:30:31,350 --> 00:30:32,870 print at echo sa PHP. 631 00:30:32,870 --> 00:30:36,200 632 00:30:36,200 --> 00:30:38,490 >> Jason HIRSCHHORN: Bakit hindi ka google ang pagkakaiba sa pagitan ng pag-print at echo? 633 00:30:38,490 --> 00:30:40,670 Bahagyang pagkakaiba. 634 00:30:40,670 --> 00:30:42,020 Hindi na malaki ng isang pakikitungo. 635 00:30:42,020 --> 00:30:44,960 Ngunit siguradong mo dapat google ito, at makikita na bigyan ka ng magandang sagot. 636 00:30:44,960 --> 00:30:46,910 >> JSON, marahil mas malaki ng isang pakikitungo. 637 00:30:46,910 --> 00:30:49,300 Ang ibig sabihin ay JavaScript Bagay pagtatanda. 638 00:30:49,300 --> 00:30:51,865 At kapag nakita natin JSON ginagamit? 639 00:30:51,865 --> 00:30:55,110 640 00:30:55,110 --> 00:30:55,900 Kapag nakita mo - 641 00:30:55,900 --> 00:30:57,400 bakit mo kahit na alam ang salitang JSON? 642 00:30:57,400 --> 00:30:59,140 Kapag nakita mo ito? 643 00:30:59,140 --> 00:31:02,200 >> Madla: Kapag kami ay nakakakuha ng mga stock quote para sa pananalapi. 644 00:31:02,200 --> 00:31:02,690 >> Jason HIRSCHHORN: Kaya nakita mo ito kapag ikaw ay pagkuha 645 00:31:02,690 --> 00:31:04,830 mga stock quote para sa pananalapi. 646 00:31:04,830 --> 00:31:07,340 At bakit mo makita ito? 647 00:31:07,340 --> 00:31:09,000 >> Madla: Kapag kami ay binabawi ang lahat ng mga impormasyon na 648 00:31:09,000 --> 00:31:10,400 dumating sa format na iyon. 649 00:31:10,400 --> 00:31:11,700 >> Jason HIRSCHHORN: Kaya nais mong makakuha ng - 650 00:31:11,700 --> 00:31:12,540 oo. 651 00:31:12,540 --> 00:31:13,020 Sige. 652 00:31:13,020 --> 00:31:15,210 >> Madla: [hindi marinig] impormasyon out ng isang bagay? 653 00:31:15,210 --> 00:31:17,170 >> Jason HIRSCHHORN: Parehong ng mga magkasama ay ang kasagutan 654 00:31:17,170 --> 00:31:18,100 kaming naghahanap ng para sa. 655 00:31:18,100 --> 00:31:21,240 Gusto mong impormasyon mula sa ito ibang mga webpage. 656 00:31:21,240 --> 00:31:23,790 At gusto mong umaasa na kapag ikaw ay pagkuha ng impormasyon na iyon, magiging 657 00:31:23,790 --> 00:31:26,720 na ipinakita sa iyo sa ilang mga uri ng ng Standardized format. 658 00:31:26,720 --> 00:31:29,530 >> Bawat tao ay marahil pamilyar may pinaghihiwalay ng kuwit. 659 00:31:29,530 --> 00:31:32,970 Maaari mong i-export ang isang Excel spreadsheet o anumang uri ng spreadsheet bilang isang listahan ng mga 660 00:31:32,970 --> 00:31:34,540 pinaghihiwalay ng kuwit. 661 00:31:34,540 --> 00:31:37,370 At ang mga kuwit hatiin ang lahat ang mga iba't ibang larangan. 662 00:31:37,370 --> 00:31:38,780 JavaScript pagtatanda ng Bagay - 663 00:31:38,780 --> 00:31:39,440 JSON - 664 00:31:39,440 --> 00:31:43,540 ay isa pang uri ng Standardized layout ng mga bagay. 665 00:31:43,540 --> 00:31:49,010 At iyon ang madalas kung paano namin mabawi impormasyon mula sa aming mga query sa Ajax. 666 00:31:49,010 --> 00:31:51,770 >> Kaya sa kasong ito, nakuha namin ito mula sa site ng Yahoo. 667 00:31:51,770 --> 00:31:53,600 Sila ay bumalik mga bagay na amin sa isang JSON object. 668 00:31:53,600 --> 00:31:56,790 At pagkatapos ay alam namin, dahil ito ay isang standard, ano ito 669 00:31:56,790 --> 00:31:57,250 pagpunta sa hitsura. 670 00:31:57,250 --> 00:32:00,760 Kaya maaari naming umulit sa pamamagitan ng array na ibinalik sa amin, ang hanay ng mga 671 00:32:00,760 --> 00:32:03,180 bagay na ay ibinabalik sa amin. 672 00:32:03,180 --> 00:32:07,770 >> Namin kailangan marahil na malaman ang mga key, ngunit sila sa pangkalahatan ay magbibigay sa iyo ng 673 00:32:07,770 --> 00:32:11,370 dokumentasyon sa website kapag ka sa pagkuha ng ilang mga JSON 674 00:32:11,370 --> 00:32:12,170 pagtatanda para sa kanila. 675 00:32:12,170 --> 00:32:16,940 Gayundin, maaari mong JSON encode ang isang bagay. 676 00:32:16,940 --> 00:32:19,900 Kaya mayroong isang function JSON guhitan sa ilalim-encode. 677 00:32:19,900 --> 00:32:22,970 At gayon maaari mong gawin ang isang bagay na na iyong nilikha, JSON-encode ito, at 678 00:32:22,970 --> 00:32:26,390 pumasa ito sa sa isang bagay pa man, kung gusto mong. 679 00:32:26,390 --> 00:32:30,770 At JSON mabasa Umiiral na din para sa isang katulad na layunin, o para sa 680 00:32:30,770 --> 00:32:31,780 ang tapat na layunin. 681 00:32:31,780 --> 00:32:36,570 >> Madla: Huwag kailangan naming malaman coding para sa hash table at pagsusubok na? 682 00:32:36,570 --> 00:32:40,300 O kaya kailangan lang namin upang maunawaan kung paano sila ginagamit, conceptually? 683 00:32:40,300 --> 00:32:44,570 >> Jason HIRSCHHORN: Kaya, itaas ang iyong kamay kung ginawa mo ng hash talahanayan para sa p-set 4 684 00:32:44,570 --> 00:32:46,920 na may isang listahan ng link. 685 00:32:46,920 --> 00:32:47,960 O kaya p set 5. 686 00:32:47,960 --> 00:32:49,060 Kaya na ay isang malawak na karamihan ng mga tao. 687 00:32:49,060 --> 00:32:50,390 P set 5, 6, na nakakaalam. 688 00:32:50,390 --> 00:32:51,240 Ang isang mahabang oras nakaraan. 689 00:32:51,240 --> 00:32:54,140 >> Kaya ang karamihan sa mga ginawa mo hash table na may mga listahan ng link. 690 00:32:54,140 --> 00:32:56,525 At dahil na ay marahil ang higit pa karaniwang mga diskarte, at dahil kami na ginugol 691 00:32:56,525 --> 00:32:59,460 ng maraming oras ng paggawa ng mga listahan link at hash mga talahanayan, dapat mong marahil maging 692 00:32:59,460 --> 00:33:02,600 medyo pamilyar sa paano Code isang hash talahanayan at isang listahan ng link. 693 00:33:02,600 --> 00:33:05,060 >> At kung sa tingin mo pabalik sa problema na set, ay hindi ito talaga 694 00:33:05,060 --> 00:33:06,410 bilang matitigas na bilang na iyong inaasahan. 695 00:33:06,410 --> 00:33:08,120 At nagkaroon ng maraming mas kaunti code kaysa sa iyong inaasahan. 696 00:33:08,120 --> 00:33:11,150 697 00:33:11,150 --> 00:33:14,650 Gusto ko sabihin na dapat mong malaman kung paano i- Code ng hash talahanayan o ng isang listahan ng link. 698 00:33:14,650 --> 00:33:17,010 Hindi na nais mong hilingin na, kinakailangan, ngunit dapat mong 699 00:33:17,010 --> 00:33:19,730 ay tiyak na malaman na. 700 00:33:19,730 --> 00:33:21,860 >> Gayundin, kung tiningnan mo sa pamamagitan ng nakaraang mga pagsusulit, nagkaroon ng maraming 701 00:33:21,860 --> 00:33:26,450 mga tanong tungkol sa pagsusulat ng mga function sa mga listahan ng link o doble na naka-link listahan. 702 00:33:26,450 --> 00:33:28,370 Iyon ay tila upang makabuo bawat solong taon. 703 00:33:28,370 --> 00:33:31,940 Mag-right isingit sa isang listahan ng link, i-right tanggalin mula sa isang listahan link, i-right isingit 704 00:33:31,940 --> 00:33:33,610 para sa isang doble na naka-link listahan, at iba pa. 705 00:33:33,610 --> 00:33:36,170 Kaya iyon, nararamdaman ko medyo kumportable sinasabi dapat mong malaman na. 706 00:33:36,170 --> 00:33:40,600 >> Para sa try, Gusto ko sabihin dapat mong ay tiyak na alam kung paano ito gumagana, at siguro 707 00:33:40,600 --> 00:33:43,570 ibigay ang ilang pseudocode para sa kung paano sa code ito at i-set up ito. 708 00:33:43,570 --> 00:33:45,600 Ngunit hindi ito ay magiging ang pinakamasama bagay sa sa mundo kung hindi mo alam kung paano 709 00:33:45,600 --> 00:33:48,870 Code ito sa C. Mas mahusay na kung ikaw Alam kung paano ito code sa C, ngunit sa palagay ko 710 00:33:48,870 --> 00:33:52,516 marahil pseudocode para sa isang try ng ginagawa maging ang pinaka-na kakailanganin mo 711 00:33:52,516 --> 00:33:53,270 malaman para sa isang try. 712 00:33:53,270 --> 00:33:53,930 >> Madla: Dagdag na credit? 713 00:33:53,930 --> 00:33:58,290 >> Jason HIRSCHHORN: At parehong may, kung namin pumunta sa binary paghahanap puno, maaari mong 714 00:33:58,290 --> 00:34:02,320 kailangan - at nakita mo sa nakaraan, tapos na kami ng maraming ng - alam sa iyo kung paano 715 00:34:02,320 --> 00:34:03,380 Gumagana ang binary paghahanap tree. 716 00:34:03,380 --> 00:34:07,150 Dapat marahil magagawang kang magtakda ng isang up sa palsipikado code. 717 00:34:07,150 --> 00:34:10,510 Ngunit dahil ang karamihan sa mga tao ay hindi gawin iyon sa problema 718 00:34:10,510 --> 00:34:13,880 hanay, nais kong sabihin ito ay marahil hindi gaanong Mahalaga na alam mo kung paano i-code 719 00:34:13,880 --> 00:34:17,380 at set up ng isang puno tulad na. 720 00:34:17,380 --> 00:34:19,679 >> Anumang iba pang mga katanungan? 721 00:34:19,679 --> 00:34:23,234 Gayundin, maaari naming hilingin sa kanila sa buong bilang pumunta kami sa pamamagitan ng ilang mga problema. 722 00:34:23,234 --> 00:34:27,170 OK, kami ay pagpunta sa ilipat sa. 723 00:34:27,170 --> 00:34:28,230 Laktawan na slide para sa ngayon. 724 00:34:28,230 --> 00:34:32,449 >> Nagsasalita ng puno, na ay ang unang tanong Mayroon akong para sa iyo guys. 725 00:34:32,449 --> 00:34:34,270 Dahil ito ay isang problema. 726 00:34:34,270 --> 00:34:37,380 Gusto ko sabihin ito ay lubos na malamang makakakuha ka makakuha ng isang problema tulad nito sa iyong pagsusulit 727 00:34:37,380 --> 00:34:43,659 humihiling sa iyo na code ng ilang uri ng insert, tanggalin, paghahanap, para sa isang uri 728 00:34:43,659 --> 00:34:45,270 ng istraktura ng data nasaksihan namin. 729 00:34:45,270 --> 00:34:47,719 >> Iyon ay lumalabas sa bawat taon at kami na ginugol ng isang maraming oras sa ikalawang kalahati ng ito 730 00:34:47,719 --> 00:34:50,270 semestre ng pagpunta sa paglipas ng mga uri ng data. 731 00:34:50,270 --> 00:34:54,170 Kaya ngayon, na tinukoy ko ang isang node sa isang binary paghahanap tree. 732 00:34:54,170 --> 00:34:58,490 At kung ano Gusto kong mong gawin ay ibinibigay isang binary puno paghahanap na magsisimula 733 00:34:58,490 --> 00:35:05,450 sa ito node star ugat, kumpletuhin ang pagpapatupad ng pag-andar sa ibaba, 734 00:35:05,450 --> 00:35:07,430 kung saan ang mangyayari sa maging isang function find. 735 00:35:07,430 --> 00:35:09,260 At gawin ito sa at walang recursions. 736 00:35:09,260 --> 00:35:10,860 >> Kaya gusto ko sa iyo na magsulat ng dalawang mga pag-andar. 737 00:35:10,860 --> 00:35:14,310 Ang isa ginagawa ito na may recursion, isa ginagawa ito nang walang recursion. 738 00:35:14,310 --> 00:35:18,050 At huwag ipagpalagay na ang ugat ay magiging di-null. 739 00:35:18,050 --> 00:35:21,790 Kaya kaming naghahanap para sa integer i in tree na nagsisimula sa ugat, at kailangan namin 740 00:35:21,790 --> 00:35:25,280 upang isulat ito recursively at iteratively. 741 00:35:25,280 --> 00:35:26,300 Oo. 742 00:35:26,300 --> 00:35:29,730 >> Madla: Kaya gusto mo sa amin na nagbabalik ng tunay kung makita namin ito, at hindi totoo kung namin 743 00:35:29,730 --> 00:35:30,480 huwag mahanap ito. 744 00:35:30,480 --> 00:35:32,160 >> Jason HIRSCHHORN: Paano mo kilala mo? 745 00:35:32,160 --> 00:35:33,100 Paano mo malalaman mo na? 746 00:35:33,100 --> 00:35:36,500 >> Madla: unang ako ay nagtatanong, ngunit ako ay sa pag-aakala, dahil ang nakasulat sa bool sa 747 00:35:36,500 --> 00:35:37,490 ang simula ng pag-andar. 748 00:35:37,490 --> 00:35:37,880 >> Jason HIRSCHHORN: Mag-right. 749 00:35:37,880 --> 00:35:41,020 Sinasabi nito bool, kaya hindi ko kahit na kailangan upang sabihin sa iyo kung ano ang aking inaasahan mong bumalik 750 00:35:41,020 --> 00:35:41,350 dahil sabi ni ito doon. 751 00:35:41,350 --> 00:35:42,280 Ngunit na tama. 752 00:35:42,280 --> 00:35:43,510 Bumalik, totoo o hindi. 753 00:35:43,510 --> 00:35:47,630 >> Kaya bago ka magsimula, Gusto ko inirerekomenda, kung hindi ka pamilyar sa 754 00:35:47,630 --> 00:35:51,300 binary paghahanap puno, mabilis pagguhit isang larawan ng ito upang makuha ang iyong 755 00:35:51,300 --> 00:35:51,750 pang-unawa, i-right. 756 00:35:51,750 --> 00:35:54,720 Iyon ay makakatulong din sa iyo kapag sumusulat ang iyong code at pagsuri ito. 757 00:35:54,720 --> 00:35:57,830 Muli, ikaw rin ay walang ganoong karaming oras sa pagsusulit upang gawin ang lahat ng mga bagay 758 00:35:57,830 --> 00:35:59,030 na tanungin ka naming gawin. 759 00:35:59,030 --> 00:36:02,350 Kaya pagsusulat ng palsipikado code ay lubhang kapaki-pakinabang. 760 00:36:02,350 --> 00:36:05,310 >> At namin sa pangkalahatan ay magbibigay tungkol sa - 761 00:36:05,310 --> 00:36:06,820 kung ang pseudocode ay ganap na ganap tama, na 762 00:36:06,820 --> 00:36:08,910 sa pangkalahatan ay 50% sa isang tanong. 763 00:36:08,910 --> 00:36:11,410 Kaya ito ay hindi isang mahirap at mabilis na mga panuntunan, ngunit kung isulat mo lang pseudocode at ito ay 764 00:36:11,410 --> 00:36:13,460 tama, ito ay sa pangkalahatan ay 50%. 765 00:36:13,460 --> 00:36:14,970 Kaya ko na nais palaging inirerekumenda - 766 00:36:14,970 --> 00:36:16,870 kung ikaw ay pinindot para sa oras, o kahit na lamang na sinusubukan mong malaman ito out - 767 00:36:16,870 --> 00:36:18,290 simula sa pseudocode. 768 00:36:18,290 --> 00:36:24,840 At sa wakas, kung maaari mong isulat ito lahat sa C, na magiging hindi kapani-paniwala. 769 00:36:24,840 --> 00:36:29,010 >> Kaya ipaalam sa tumagal ng tatlong minuto upang gumana sa programang ito. 770 00:36:29,010 --> 00:36:33,120 At pagkatapos ay pumunta kami sa sumulat pseudocode para dito lamang nang isang beses, at pagkatapos ay 771 00:36:33,120 --> 00:36:35,455 kami ay pagpunta sa code ito recursively at pagkatapos ay iteratively. 772 00:36:35,455 --> 00:37:28,720 773 00:37:28,720 --> 00:37:30,760 >> Kung mayroon kang anumang mga katanungan, huwag mag- libreng itaas ang iyong kamay. 774 00:37:30,760 --> 00:37:34,270 Maligayang upang maglakad sa paligid at sagutin ang mga ito bago namin simulan ang bilang isang pangkat. 775 00:37:34,270 --> 00:39:22,600 776 00:39:22,600 --> 00:39:27,200 >> Ipaalam sa amin ipagpatuloy, at kami ay pagpunta sa pseudocode ang recursive na bersyon ng 777 00:39:27,200 --> 00:39:29,830 ito, at pagkatapos ay namin code ito. 778 00:39:29,830 --> 00:39:33,380 Kaya isang recursive function na Kailangan ng dalawang bagay. 779 00:39:33,380 --> 00:39:35,960 Ito ay maaaring isang tanong na Maaaring hilingin sa iyo. 780 00:39:35,960 --> 00:39:37,950 Kailangan ng dalawang bagay. 781 00:39:37,950 --> 00:39:40,610 Sino ang maaaring taasan ang kanilang mga kamay at sabihin sa akin ano ang dalawang bagay isang recursive 782 00:39:40,610 --> 00:39:43,680 Kailangan ng pag-andar? 783 00:39:43,680 --> 00:39:45,030 Sa pamamagitan ng kahulugan nito ay may dalawang bagay. 784 00:39:45,030 --> 00:39:46,280 Ano ang mga dalawang bagay? 785 00:39:46,280 --> 00:39:48,580 786 00:39:48,580 --> 00:39:49,830 Bagong mga kamay. 787 00:39:49,830 --> 00:39:55,050 788 00:39:55,050 --> 00:39:56,390 Oo, Alden. 789 00:39:56,390 --> 00:39:57,980 >> Madla: Kaya hindi ako eksaktong sigurado kung ito ay ang terminolohiya, ngunit - 790 00:39:57,980 --> 00:39:59,715 >> Jason HIRSCHHORN: Nagagalak akong ka pagtataas ng iyong mga kamay. 791 00:39:59,715 --> 00:40:03,380 >> Madla: Kailangan nito ng base kaso, at kailangan nito ang isang recursive na hakbang. 792 00:40:03,380 --> 00:40:03,960 >> Jason HIRSCHHORN: Perpekto. 793 00:40:03,960 --> 00:40:06,340 Kailangan nito ng base kaso at isang recursive na hakbang. 794 00:40:06,340 --> 00:40:10,430 Kaya kung ano ang aming base kaso dito? 795 00:40:10,430 --> 00:40:12,950 >> Madla: F ugat ay katumbas ng katumbas null. 796 00:40:12,950 --> 00:40:15,110 Paumanhin, lamang sa pseudocode, kung ito ay walang bisa. 797 00:40:15,110 --> 00:40:16,360 Kung ugat ay walang bisa. 798 00:40:16,360 --> 00:40:21,900 799 00:40:21,900 --> 00:40:23,540 >> Jason HIRSCHHORN: Kung ugat ay walang bisa. 800 00:40:23,540 --> 00:40:23,850 Iyan ay mahusay na. 801 00:40:23,850 --> 00:40:24,610 Iyon lang ang aming base kaso. 802 00:40:24,610 --> 00:40:25,910 Iyon ay kung ano kami ay pagpunta upang suriin sa bawat oras. 803 00:40:25,910 --> 00:40:28,000 At base kaso ay ang unang bagay na gagawin mo. 804 00:40:28,000 --> 00:40:29,720 Kung ang hit mo ang batayang kaso, tapos ka na. 805 00:40:29,720 --> 00:40:34,140 >> Ngayon ay kailangan namin ang aming recursive tawag, at Gusto ko ay payag kang Taya kailangan namin ng ilang 806 00:40:34,140 --> 00:40:35,440 recursive tawag dito. 807 00:40:35,440 --> 00:40:39,630 Dahil ito ay isang puno, at kami maaaring pumunta maraming paraan. 808 00:40:39,630 --> 00:40:43,190 Kaya kung ugat ay null, kami ay mabuti. 809 00:40:43,190 --> 00:40:44,970 >> Ano ang gagawin ninyong imungkahi? 810 00:40:44,970 --> 00:40:49,640 At ngayon Pupunta ako upang simulan ang pagtawag out sa iyo guys, dahil alam ko sa inyo guys 811 00:40:49,640 --> 00:40:50,540 lahat alam ito. 812 00:40:50,540 --> 00:40:52,610 Ngunit Annie, kung ano ang dapat sa susunod na linya maging? 813 00:40:52,610 --> 00:40:53,570 Paano kung natuklasan namin na ito? 814 00:40:53,570 --> 00:40:55,526 Ano ang gagawin namin? 815 00:40:55,526 --> 00:40:57,300 >> Madla: Kung natuklasan namin na ito? 816 00:40:57,300 --> 00:40:59,160 >> Jason HIRSCHHORN: O ano Dapat na iyon - 817 00:40:59,160 --> 00:41:02,124 bigyan mo ako ng pseudocode para sa line kung saan natuklasan namin na ito. 818 00:41:02,124 --> 00:41:04,700 >> Madla: Kung katumbas i ugat i? 819 00:41:04,700 --> 00:41:06,650 >> Jason HIRSCHHORN: At pagkatapos ay kung ano ang gagawin namin? 820 00:41:06,650 --> 00:41:07,590 >> Madla: Bumalik totoo. 821 00:41:07,590 --> 00:41:08,530 >> Jason HIRSCHHORN: Mahusay. 822 00:41:08,530 --> 00:41:16,890 Kaya kung i ay i - 823 00:41:16,890 --> 00:41:17,400 oh, naka-parehong tinatawag nilang i. 824 00:41:17,400 --> 00:41:18,470 Iyon ay makakakuha ng nakalilito. 825 00:41:18,470 --> 00:41:23,830 Ngunit kung i ay bumalik i totoo. 826 00:41:23,830 --> 00:41:25,620 Iyon ay marahil ang susunod na bagay na dapat namin gawin. 827 00:41:25,620 --> 00:41:27,300 Gumagawa kahulugan. 828 00:41:27,300 --> 00:41:30,610 >> OK, ngayon hindi pa kami tapos sa aming recursive pa tumawag, bagaman, dahil ang isang recursive 829 00:41:30,610 --> 00:41:32,300 tawag ay tumawag muli ang function. 830 00:41:32,300 --> 00:41:41,460 Kaya kung ano dapat ang susunod na linya ng pseudocode maging? 831 00:41:41,460 --> 00:41:42,730 Anna. 832 00:41:42,730 --> 00:41:43,980 >> Madla: Ang natitira gilid. 833 00:41:43,980 --> 00:41:47,040 834 00:41:47,040 --> 00:41:47,590 >> Jason HIRSCHHORN: Maging tiyak, bagaman. 835 00:41:47,590 --> 00:41:50,600 Ito ay isang binary paghahanap tree, kaya kung ano ang pag-check sa kaliwang bahagi ay nilalagay? 836 00:41:50,600 --> 00:41:51,890 >> Madla: Kaya node - 837 00:41:51,890 --> 00:41:53,342 Sorry, ugat. 838 00:41:53,342 --> 00:41:55,306 At pagkatapos arrow kaliwa. 839 00:41:55,306 --> 00:41:59,234 840 00:41:59,234 --> 00:42:00,720 Node, node, paumanhin. 841 00:42:00,720 --> 00:42:01,978 Hindi ako sa pagbabasa nito nang maayos. 842 00:42:01,978 --> 00:42:05,700 Ito ay tinatawag na node, tama? 843 00:42:05,700 --> 00:42:09,270 >> Jason HIRSCHHORN: Ito ay tinatawag na ugat sa na pag-andar, ngunit alinman paraan. 844 00:42:09,270 --> 00:42:10,925 Ang kaliwang bahagi - oo? 845 00:42:10,925 --> 00:42:13,780 >> Madla: Kung hindi katumbas ng i, pagkatapos kami ay pagpunta sa tumawag sa 846 00:42:13,780 --> 00:42:15,130 muli ang pag-andar? 847 00:42:15,130 --> 00:42:15,490 >> Jason HIRSCHHORN: Tama iyon. 848 00:42:15,490 --> 00:42:17,870 Kung ito ay hindi katumbas i, kami ay pagpunta upang tumawag muli ang pag-andar. 849 00:42:17,870 --> 00:42:21,435 Ngunit ano gilid ng tree kami makapupunta upang tumawag muli ang pag-andar? 850 00:42:21,435 --> 00:42:22,685 >> Madla: Sa kaliwang bahagi. 851 00:42:22,685 --> 00:42:25,932 852 00:42:25,932 --> 00:42:27,670 >> Jason HIRSCHHORN: Hindi kami palaging pagpunta sa tumawag ito sa kaliwa, kung ito 853 00:42:27,670 --> 00:42:29,190 hindi kasing-halaga nito. 854 00:42:29,190 --> 00:42:29,610 >> Madla: Oh, paumanhin. 855 00:42:29,610 --> 00:42:31,200 Tumawag sa kanan. 856 00:42:31,200 --> 00:42:33,680 >> Jason HIRSCHHORN: gusto naming malaman partikular, kahit na - tandaan, sa isang 857 00:42:33,680 --> 00:42:37,700 binary puno ng paghahanap, ang lahat ng bagay sa kaliwang bahagi ay mas maliit. 858 00:42:37,700 --> 00:42:40,460 Lahat sa kanan bahagi ay mas malaki. 859 00:42:40,460 --> 00:42:43,990 Kaya lang hindi - oo, sige. 860 00:42:43,990 --> 00:42:46,805 >> Madla: Kung ito ay mas mababa kaysa sa i, pagkatapos - 861 00:42:46,805 --> 00:42:52,130 862 00:42:52,130 --> 00:42:53,380 kung ito ay sa kaliwa - 863 00:42:53,380 --> 00:42:56,160 864 00:42:56,160 --> 00:42:58,606 >> Jason HIRSCHHORN: Kaya kung Ri Mababa sa - 865 00:42:58,606 --> 00:43:01,854 866 00:43:01,854 --> 00:43:09,110 kaya kung ang aming numero ay mas mababa kaysa i, ano gilid nais naming i-sasamang sa? 867 00:43:09,110 --> 00:43:15,120 >> Madla: Gusto naming pumunta sa kanang bahagi. 868 00:43:15,120 --> 00:43:16,250 >> Jason HIRSCHHORN: Gusto naming pumunta - 869 00:43:16,250 --> 00:43:19,210 ipaalam sa akin gumuhit ng isang mabilis na tree. 870 00:43:19,210 --> 00:43:23,850 Kung ito ay 5, ito ay magiging 3. 871 00:43:23,850 --> 00:43:29,410 Kaya kung Ri ay mas mababa sa limang, kung ano gilid nais namin upang pumunta sa? 872 00:43:29,410 --> 00:43:30,390 >> Madla: Paumanhin, kung ano? 873 00:43:30,390 --> 00:43:33,190 >> Jason HIRSCHHORN: Ang aming numero ay kaunti kaysa sa bilang Ikinalulungkot namin 874 00:43:33,190 --> 00:43:34,710 pagtingin sa ngayon. 875 00:43:34,710 --> 00:43:35,890 >> Madla: Oh, pagkatapos ay nais naming upang pumunta sa kaliwang bahagi. 876 00:43:35,890 --> 00:43:36,240 Oo. 877 00:43:36,240 --> 00:43:36,920 Sorry. 878 00:43:36,920 --> 00:43:37,230 >> Jason HIRSCHHORN: Mismong. 879 00:43:37,230 --> 00:43:38,480 Walang alalahanin. 880 00:43:38,480 --> 00:43:41,020 Sa binary puno ng paghahanap, ang lahat ng bagay mas mababa ay sa kaliwa, 881 00:43:41,020 --> 00:43:42,110 mas malaki ay sa kanan. 882 00:43:42,110 --> 00:43:46,700 Kaya kung ang aming numero ay mas mababa sa ang i namin Sinusuri - 883 00:43:46,700 --> 00:43:48,790 dahil nakikita mo sa node, mayroon itong i - 884 00:43:48,790 --> 00:43:50,040 pagkatapos ay gusto mong pumunta sa kaliwa. 885 00:43:50,040 --> 00:43:55,480 886 00:43:55,480 --> 00:43:56,720 >> At ito ay isang madaling isa. 887 00:43:56,720 --> 00:44:01,700 Ano ito ang iba pang mga linya ng pseudocode kailangan namin upang isulat? 888 00:44:01,700 --> 00:44:02,910 Carlos? 889 00:44:02,910 --> 00:44:05,970 >> Madla: Ang parehong bagay, lumipat ka lang ito sa isang mas malaki kaysa sa pag-sign 890 00:44:05,970 --> 00:44:07,420 at pumunta sa kanan. 891 00:44:07,420 --> 00:44:08,350 >> Jason HIRSCHHORN: Maari bang ma-mo ito sinasabi nang isa pang beses? 892 00:44:08,350 --> 00:44:11,640 >> Madla: Kung ang aming numero ay mas malaki kaysa i, pumunta sa kanan. 893 00:44:11,640 --> 00:44:24,900 894 00:44:24,900 --> 00:44:26,690 >> Jason HIRSCHHORN: Napakahusay trabaho sa pseudocode. 895 00:44:26,690 --> 00:44:28,700 Ipaalam sa amin gawin ito sa tunay na code. 896 00:44:28,700 --> 00:44:33,280 At muli, ito pseudocode habilin marahil makakuha ka, dahil ito ay 897 00:44:33,280 --> 00:44:35,480 tama, 50% sa tanong na ito. 898 00:44:35,480 --> 00:44:39,720 Ngunit isinasalin din ito pseudocode isa sa isa, mahalagang, sa code. 899 00:44:39,720 --> 00:44:44,380 >> Kaya ipaalam sa amin gawin ito sa C. Sino ang maaaring magbigay sa akin ang unang linya ng code? 900 00:44:44,380 --> 00:44:48,390 Talaga, una, bago kong gawin na, hayaan mo akong itabi - 901 00:44:48,390 --> 00:44:49,260 >> Madla: Mayroon akong tanong. 902 00:44:49,260 --> 00:44:52,430 Bakit mo i-indent mo ang linya binigyan mo ako? 903 00:44:52,430 --> 00:44:54,160 >> Jason HIRSCHHORN: Dahil ang Hindi ako makakasulat. 904 00:44:54,160 --> 00:44:55,240 Hindi ko alam. 905 00:44:55,240 --> 00:44:55,650 Tama ka. 906 00:44:55,650 --> 00:44:57,780 Linya na dapat ay banda roon. 907 00:44:57,780 --> 00:45:11,600 908 00:45:11,600 --> 00:45:14,480 >> OK, dito ay ang aming function. 909 00:45:14,480 --> 00:45:18,090 At hayaan mo akong itabi, gayundin, aming kahulugan ng isang node. 910 00:45:18,090 --> 00:45:23,320 911 00:45:23,320 --> 00:45:27,180 Ano ang mangyayari kung ginawa naming hindi sumulat typedef? 912 00:45:27,180 --> 00:45:30,240 Alam ba ng kahit sino? 913 00:45:30,240 --> 00:45:32,570 >> Madla: Hindi ito ay sumulat ng libro. 914 00:45:32,570 --> 00:45:33,860 >> Jason HIRSCHHORN: gagawin Ito sumulat ng libro, oo. 915 00:45:33,860 --> 00:45:37,120 >> Madla: Gusto ito magpahayag lamang ng isa Halimbawa sa halip na ginagawa itong isang bagong 916 00:45:37,120 --> 00:45:39,840 type maaari mong magpahayag ng maramihang mga kaso ng? 917 00:45:39,840 --> 00:45:41,700 >> Jason HIRSCHHORN: Kaya ito gagawin hindi Alam - ito gagawin hindi 918 00:45:41,700 --> 00:45:43,120 Ipinahahayag lamang sa isang uri. 919 00:45:43,120 --> 00:45:46,150 Maaari mo pa ring gumawa ng maraming mga node. 920 00:45:46,150 --> 00:45:48,070 >> Madla: Ngunit hindi nais na mayroon kami upang sumulat struct node sa bawat panahon? 921 00:45:48,070 --> 00:45:48,640 >> Jason HIRSCHHORN: Tama iyon. 922 00:45:48,640 --> 00:45:50,960 Gusto mong mag-isulat struct node sa bawat oras, sa halip na lamang node. 923 00:45:50,960 --> 00:45:55,270 Ngunit sa typedef, maaari mo lamang sumulat node bawat solong oras. 924 00:45:55,270 --> 00:45:58,240 OK, na hindi pa naibigay - oo, Avica. 925 00:45:58,240 --> 00:46:01,520 >> Madla: Kung ugat ay katumbas Kapantay null, bumalik hindi totoo. 926 00:46:01,520 --> 00:46:07,130 927 00:46:07,130 --> 00:46:09,490 >> Jason HIRSCHHORN: Mahusay, at na aming base kaso. 928 00:46:09,490 --> 00:46:11,200 Susunod na linya ng code. 929 00:46:11,200 --> 00:46:13,999 Isang tao na hindi pa naibigay sa akin ng isang linya ng code pa? 930 00:46:13,999 --> 00:46:14,945 Oo. 931 00:46:14,945 --> 00:46:23,360 >> Madla: Root arrow i ay katumbas katumbas i. 932 00:46:23,360 --> 00:46:27,260 Pagkatapos ay bumalik totoo. 933 00:46:27,260 --> 00:46:29,162 >> Jason HIRSCHHORN: Mahusay. 934 00:46:29,162 --> 00:46:32,048 Susunod na linya? 935 00:46:32,048 --> 00:46:32,790 Oo. 936 00:46:32,790 --> 00:46:34,010 May ibang? 937 00:46:34,010 --> 00:46:36,774 At pagkatapos ay maaari kang pumunta sa susunod. 938 00:46:36,774 --> 00:46:44,820 >> Madla: Iba Pa kung ugat arrow i Mababa sa bumalik i 939 00:46:44,820 --> 00:46:47,737 function na tinatawag na find na root - 940 00:46:47,737 --> 00:46:50,611 >> Jason HIRSCHHORN: Paumanhin. 941 00:46:50,611 --> 00:46:56,272 >> Madla: Return find ugat tumuturo sa kaliwa kuwit i. 942 00:46:56,272 --> 00:47:01,760 943 00:47:01,760 --> 00:47:08,440 >> Jason HIRSCHHORN: Kaya kung Ri ay mas malaki kaysa sa bagay sa tree, nais naming 944 00:47:08,440 --> 00:47:09,573 pumunta sa kaliwa? 945 00:47:09,573 --> 00:47:11,790 >> Madla: Hindi, nagkaroon ko na lumipat. 946 00:47:11,790 --> 00:47:13,040 >> Jason HIRSCHHORN: Aling isa? 947 00:47:13,040 --> 00:47:16,310 948 00:47:16,310 --> 00:47:16,950 >> Madla: Hindi, oo. 949 00:47:16,950 --> 00:47:19,050 Mayroon akong mas mababa kaysa sa mag-sign doon. 950 00:47:19,050 --> 00:47:22,890 >> Jason HIRSCHHORN: Kanan, kung Ri ay mas mababa kaysa sa kung ano ang nasa root - 951 00:47:22,890 --> 00:47:25,660 aming kasalukuyang ugat - pagkatapos namin gustong pumunta sa kaliwa. 952 00:47:25,660 --> 00:47:26,960 At kung ano ang huling linya, ikaw? 953 00:47:26,960 --> 00:47:30,930 >> Madla: talaga ang parehong bagay, maliban lumipat sa mas malaki kaysa sa o 954 00:47:30,930 --> 00:47:34,690 katumbas ng mas mababa at kaliwa hanggang kanan. 955 00:47:34,690 --> 00:47:43,590 956 00:47:43,590 --> 00:47:43,680 >> Jason HIRSCHHORN: Mahusay. 957 00:47:43,680 --> 00:47:48,430 Kahit sinong mayroon ba kayong mga katanungan tungkol dito? 958 00:47:48,430 --> 00:47:52,560 Kaya ang ilang iba pang mga bagay na gagawin naging tama ay na 959 00:47:52,560 --> 00:47:53,810 ay maaaring ang-ltiff. 960 00:47:53,810 --> 00:47:56,520 961 00:47:56,520 --> 00:47:59,520 Hulaan, technically, wala sa mga ito talagang kailangan din na maging-ltiff. 962 00:47:59,520 --> 00:48:00,950 >> Gayundin, doon ay marahil lamang isa kaso down na dito. 963 00:48:00,950 --> 00:48:02,380 Kaya na ay marahil ang iyong huling kaso. 964 00:48:02,380 --> 00:48:04,000 Hindi mo kailangan na-ltiff. 965 00:48:04,000 --> 00:48:06,160 Ngunit marahil handa na upang magsulat ito, upang maging malinaw. 966 00:48:06,160 --> 00:48:06,660 Oo. 967 00:48:06,660 --> 00:48:09,200 >> Madla: Kaya tingin ninyo ay hindi ang pagsusulit - kung gumawa kami ng mga error, halimbawa, 968 00:48:09,200 --> 00:48:11,725 sa syntax - 969 00:48:11,725 --> 00:48:13,990 maliit na mga error sa syntax - 970 00:48:13,990 --> 00:48:17,810 paano ito na makakuha ng kinuha sa pagsusulit? 971 00:48:17,810 --> 00:48:21,300 >> Jason HIRSCHHORN: Sa pangkalahatan sa pagsusulit, maliit na syntax error o maliit 972 00:48:21,300 --> 00:48:24,010 error estilo huwag mawalan ka ng puntos. 973 00:48:24,010 --> 00:48:26,610 Kaya kung nakalimutan mo ang isang tuldok-kuwit dito, magiging OK. 974 00:48:26,610 --> 00:48:30,290 Kung nakalimutan mong isara ang panaklong, na magiging OK. 975 00:48:30,290 --> 00:48:34,880 >> Napakalaki mga error sa syntax na makapagpabago sa functional kahulugan ng iyong code 976 00:48:34,880 --> 00:48:37,600 kapansin-pansing, maaari kang makakuha ng kinuha off point para sa. 977 00:48:37,600 --> 00:48:40,330 O sa pangkalahatan, lamang grading mo sa kung o hindi ang iyong 978 00:48:40,330 --> 00:48:42,150 pag-andar ng code, kahit na - 979 00:48:42,150 --> 00:48:44,830 hindi disenyo nito nang sa gayon magkano, at hindi istilo nito. 980 00:48:44,830 --> 00:48:50,780 981 00:48:50,780 --> 00:48:55,480 >> Hayaan ngayon code ng isang umuulit bersyon ng find. 982 00:48:55,480 --> 00:49:00,400 983 00:49:00,400 --> 00:49:03,450 Kaya ito ay magiging kaakit-akit na katulad, ngunit doon ay tiyak pagpunta sa maging 984 00:49:03,450 --> 00:49:06,250 ilang mga pangunahing pagkakaiba. 985 00:49:06,250 --> 00:49:09,160 Gayunpaman, ang aming pseudocode Maaari marahil pumunta - 986 00:49:09,160 --> 00:49:11,610 Maaari pa rin kami ng isang linya ng pseudocode at alamin kung ano ang 987 00:49:11,610 --> 00:49:14,160 line ay sa kasong ito. 988 00:49:14,160 --> 00:49:18,010 >> Kaya sa isang umuulit na bersyon, kung ano sa tingin mo, Julia, dapat 989 00:49:18,010 --> 00:49:19,260 maging unang linya? 990 00:49:19,260 --> 00:49:23,100 991 00:49:23,100 --> 00:49:26,920 >> Madla: Muli, sa umuulit boolean, kailangan mong i-set up ang isang para sa loop, tama? 992 00:49:26,920 --> 00:49:27,660 >> Jason HIRSCHHORN: OK. 993 00:49:27,660 --> 00:49:38,480 >> Madla: Kaya't para tulad ng, k, para sa x ay katumbas ng 0, x ay mas mababa kaysa i. 994 00:49:38,480 --> 00:49:42,260 O wala na, x ay mas mababa sa laki ng tree. 995 00:49:42,260 --> 00:49:42,760 >> Jason HIRSCHHORN: puno Ang. 996 00:49:42,760 --> 00:49:46,660 Kaya hindi talaga namin alam kung ang sukat ng puno, at hindi kami talaga alam para sa 997 00:49:46,660 --> 00:49:48,900 kung gaano karaming beses namin maaaring pumunta, kaya kung ano ang isang iba't ibang uri ng loop na maaaring maging 998 00:49:48,900 --> 00:49:50,150 mas mahusay na sa kasong ito? 999 00:49:50,150 --> 00:49:53,250 1000 00:49:53,250 --> 00:49:55,244 >> Madla: Kung pang dahilan? 1001 00:49:55,244 --> 00:49:57,070 >> Jason HIRSCHHORN: Kung tao hindi maaaring maging isang loop. 1002 00:49:57,070 --> 00:49:58,935 Kaya kung ano ang isang uri ng loop namin maaari lamang pumunta hanggang sa ilang mga kaso ay nagkakilala? 1003 00:49:58,935 --> 00:50:07,250 1004 00:50:07,250 --> 00:50:11,560 Ano ang lamang iba pang uri ng loop sa C bukod sa isang para sa loop? 1005 00:50:11,560 --> 00:50:11,930 >> Madla: Habang. 1006 00:50:11,930 --> 00:50:13,380 >> Jason HIRSCHHORN: Habang, eksakto. 1007 00:50:13,380 --> 00:50:16,430 Sa isang habang loop, huwag kailangang malaman kung paano - 1008 00:50:16,430 --> 00:50:18,450 Maaari gawin ang isang habang loop at para sa loop ang eksaktong parehong bagay, ngunit ang magandang bagay 1009 00:50:18,450 --> 00:50:21,500 tungkol sa isang habang loop ay hindi namin kailangan malaman kung paano malaki ang aming puno ay. 1010 00:50:21,500 --> 00:50:23,060 Kaya kami ay pagpunta sa pumunta hanggang sa kung ano? 1011 00:50:23,060 --> 00:50:25,880 1012 00:50:25,880 --> 00:50:28,032 >> Madla: Hanggang sa ito ay katumbas ng ang laki ng - 1013 00:50:28,032 --> 00:50:32,320 >> Jason HIRSCHHORN: Well, ito ay napaka katulad ng aming recursive kaso. 1014 00:50:32,320 --> 00:50:33,360 Kaya - 1015 00:50:33,360 --> 00:50:36,470 >> Madla: Habang ugat ayaw ko ang katumbas i. 1016 00:50:36,470 --> 00:50:37,620 >> Jason HIRSCHHORN: Iyan ay talagang malapit. 1017 00:50:37,620 --> 00:50:39,430 Habang ugat i - 1018 00:50:39,430 --> 00:50:40,610 subukan na ito ipaalam. 1019 00:50:40,610 --> 00:50:41,180 Hindi sa tingin ko [hindi marinig] 1020 00:50:41,180 --> 00:50:43,026 kung saan ang root i ay hindi katumbas i. 1021 00:50:43,026 --> 00:50:47,380 1022 00:50:47,380 --> 00:50:49,460 Baka kailangan namin upang baguhin ito sa isang maliit na bit, ngunit na tunog tulad ng ito ay medyo 1023 00:50:49,460 --> 00:50:50,160 mahusay, sa ngayon. 1024 00:50:50,160 --> 00:50:51,710 Kaya gagawin namin iyon. 1025 00:50:51,710 --> 00:50:55,660 >> Gayundin, tandaan, hindi namin ipinapalagay alinsunod sa mga tanong. 1026 00:50:55,660 --> 00:50:57,880 Hindi mo ipinapalagay na ang ugat ay magiging di-null. 1027 00:50:57,880 --> 00:51:01,914 Kaya ano ang gagawin sa tingin mo ang napaka unang bagay na dapat naming gawin ay? 1028 00:51:01,914 --> 00:51:02,770 >> Madla: gawin lamang ang parehong bagay tulad ng dati. 1029 00:51:02,770 --> 00:51:05,260 Kung root ay katumbas Kapantay null, bumalik hindi totoo. 1030 00:51:05,260 --> 00:51:11,030 1031 00:51:11,030 --> 00:51:12,130 >> Jason HIRSCHHORN: Mahusay. 1032 00:51:12,130 --> 00:51:13,820 Kaya maaaring ito ay walang bisa. 1033 00:51:13,820 --> 00:51:15,810 Kaya gusto namin upang makakuha ng pawalan ng ito kaagad. 1034 00:51:15,810 --> 00:51:19,560 At pagkatapos ay kami ay pagpunta check kung ugat i ay hindi katumbas i. 1035 00:51:19,560 --> 00:51:24,480 Kaya, sabihin natin na kami ay naghahanap sa punong kahoy na ito para sa 3, i ugat ay hindi katumbas ko, ngayon 1036 00:51:24,480 --> 00:51:25,950 Ikinalulungkot namin sa aming habang loop. 1037 00:51:25,950 --> 00:51:27,500 Ano ang gusto naming gawin? 1038 00:51:27,500 --> 00:51:32,320 1039 00:51:32,320 --> 00:51:35,430 At muli, ito ay magiging kaakit-akit katulad ng aming recursive na bersyon. 1040 00:51:35,430 --> 00:51:36,230 Oo. 1041 00:51:36,230 --> 00:51:40,470 >> Madla: So saan mo nais na umulit, o panatilihin ang pagpunta pababa sa puno hangga't 1042 00:51:40,470 --> 00:51:42,400 root ay hindi katumbas ng null. 1043 00:51:42,400 --> 00:51:45,120 1044 00:51:45,120 --> 00:51:46,640 >> Jason HIRSCHHORN: Hangga't ang ugat ay hindi katumbas ng null? 1045 00:51:46,640 --> 00:51:50,200 >> Madla: Ang ugat gitling i ay hindi kapantay sa null. 1046 00:51:50,200 --> 00:51:51,220 Root lang, oo. 1047 00:51:51,220 --> 00:51:52,920 Bilang isang mahaba bilang root ay hindi katumbas ng null. 1048 00:51:52,920 --> 00:51:54,240 >> Jason HIRSCHHORN: Kaya gusto mo upang baguhin ito sa ugat 1049 00:51:54,240 --> 00:51:56,590 hindi pantay null? 1050 00:51:56,590 --> 00:51:59,020 >> Madla: Oo. 1051 00:51:59,020 --> 00:52:00,800 >> Madla: maaari naming pagsamahin mga ito, tama? 1052 00:52:00,800 --> 00:52:02,990 Hindi namin kailangan ang kung, sa umpisa. 1053 00:52:02,990 --> 00:52:05,180 >> Jason HIRSCHHORN: OK, kaya kung don't namin - 1054 00:52:05,180 --> 00:52:08,140 kung pagsamahin namin ang mga ito, kaya kami ay pagpunta sa gawin habang ugat ay hindi katumbas null, at 1055 00:52:08,140 --> 00:52:10,800 kung root ang mangyayari sa maging null sa nagsisimula, ano ang gagawin namin pababa dito? 1056 00:52:10,800 --> 00:52:11,450 >> Madla: Bumalik false. 1057 00:52:11,450 --> 00:52:12,730 >> Jason HIRSCHHORN: Mahusay. 1058 00:52:12,730 --> 00:52:14,110 Kaya parehong paraan marahil sana ay nagtrabaho. 1059 00:52:14,110 --> 00:52:15,645 Ito ay isang iba't ibang mga paraan, at ito ay pinagsasama ito. 1060 00:52:15,645 --> 00:52:18,950 Ngunit muli, kung ginawa mong alinman sa paraan, kami ay hindi pagpunta sa tumagal-off disenyo 1061 00:52:18,950 --> 00:52:19,800 tumuturo sa pagsusulit. 1062 00:52:19,800 --> 00:52:21,020 Ngunit mahusay na ito ay mukhang. 1063 00:52:21,020 --> 00:52:23,940 >> Kaya habang ugat ay hindi katumbas ng null, ano ang unang 1064 00:52:23,940 --> 00:52:25,400 bagay nais naming suriin? 1065 00:52:25,400 --> 00:52:26,330 Ibang tao? 1066 00:52:26,330 --> 00:52:29,720 Walang bisa, ano ang unang bagay? 1067 00:52:29,720 --> 00:52:32,850 >> Madla: Kung Ri Mababa sa - 1068 00:52:32,850 --> 00:52:36,140 oh, hulaan ko, kung tayo na natagpuan ito sa root. 1069 00:52:36,140 --> 00:52:40,830 Kaya kung ugat arrow i ay katumbas ng i - 1070 00:52:40,830 --> 00:52:40,990 >> Jason HIRSCHHORN: Paumanhin? 1071 00:52:40,990 --> 00:52:45,840 >> Madla: Kung ugat arrow i katumbas ay katumbas i - 1072 00:52:45,840 --> 00:52:47,090 >> Jason HIRSCHHORN: Ano ang gagawin namin? 1073 00:52:47,090 --> 00:52:50,300 1074 00:52:50,300 --> 00:52:51,550 >> Madla: Bumalik totoo. 1075 00:52:51,550 --> 00:52:58,850 1076 00:52:58,850 --> 00:52:59,280 >> Jason HIRSCHHORN: Mahusay. 1077 00:52:59,280 --> 00:53:00,530 At ano ang susunod? 1078 00:53:00,530 --> 00:53:04,510 1079 00:53:04,510 --> 00:53:06,843 Jeff, ano ang susunod na linya ng code? 1080 00:53:06,843 --> 00:53:16,190 >> Madla: Kung i Mababa sa ugat arrow i, pagkatapos ay i-ugat ay katumbas ng ugat arrow kaliwa. 1081 00:53:16,190 --> 00:53:21,550 >> Jason HIRSCHHORN: Root Kapantay ang natitira ugat arrow. 1082 00:53:21,550 --> 00:53:24,530 Kaya na ay marahil ang pinakamalaking pagkakaiba dito sa umuulit na ito 1083 00:53:24,530 --> 00:53:26,600 bersyon na taliwas sa mga recursive na bersyon. 1084 00:53:26,600 --> 00:53:28,970 Ang recursive bersyon, namin tumawag muli ang pag-andar. 1085 00:53:28,970 --> 00:53:32,640 Makikita-update namin ang ugat kapag tinatawag naming ang bagong function. 1086 00:53:32,640 --> 00:53:34,170 Narito hindi kami sa pagtawag ng isang bagong function. 1087 00:53:34,170 --> 00:53:37,610 Naka lamang lang update namin lipulin ito function. 1088 00:53:37,610 --> 00:53:38,880 Iyan ay mahusay na. 1089 00:53:38,880 --> 00:53:40,730 At kung ano ay ang huling linya ng code? 1090 00:53:40,730 --> 00:53:43,950 1091 00:53:43,950 --> 00:53:44,880 Oo, Mario? 1092 00:53:44,880 --> 00:53:48,290 >> Madla: Iba Pa ugat ay katumbas ng ugat na arrow sa kanan. 1093 00:53:48,290 --> 00:53:49,492 >> Jason HIRSCHHORN: Paumanhin? 1094 00:53:49,492 --> 00:53:52,340 >> Madla: Root Kapantay ugat na arrow sa kanan. 1095 00:53:52,340 --> 00:53:55,590 1096 00:53:55,590 --> 00:53:57,140 >> Jason HIRSCHHORN: Puwede ka ring magsulat ng isang bagay na tulad nito? 1097 00:53:57,140 --> 00:54:02,786 1098 00:54:02,786 --> 00:54:03,890 >> Madla: Wala akong palagay. 1099 00:54:03,890 --> 00:54:05,140 >> Jason HIRSCHHORN: Maaari mong hindi. 1100 00:54:05,140 --> 00:54:07,302 1101 00:54:07,302 --> 00:54:08,270 Hindi mo maaaring gawin plus Kapantay. 1102 00:54:08,270 --> 00:54:10,780 OK, kaya ito magandang mukhang. 1103 00:54:10,780 --> 00:54:13,620 Bakit hindi gawin lang namin na upang linisin up ito. 1104 00:54:13,620 --> 00:54:15,220 Ito ay mukhang mahusay, at ito ay gumagana. 1105 00:54:15,220 --> 00:54:16,920 At gusto namin masira out. 1106 00:54:16,920 --> 00:54:21,460 >> Kung ugat kaliwa ay null o ugat karapatan ay null, gusto naming makabuo dito. 1107 00:54:21,460 --> 00:54:22,470 Root ay magiging katumbas ng null. 1108 00:54:22,470 --> 00:54:24,270 Nais naming masira out sa aming loop, at nais naming ibalik hindi totoo. 1109 00:54:24,270 --> 00:54:26,280 Kaya kapag masira kami sa labas ng loop, bumalik kami ng hindi totoo. 1110 00:54:26,280 --> 00:54:29,520 1111 00:54:29,520 --> 00:54:32,793 >> At muli, ang isang habang loop ay perpekto dito dahil hindi namin alam kung paano 1112 00:54:32,793 --> 00:54:33,850 malaki ang aming puno ay. 1113 00:54:33,850 --> 00:54:36,460 Sinubukan naming i-isulat ang para sa loop, ngunit namin natanto na kailangan mong malaman kung paano 1114 00:54:36,460 --> 00:54:37,410 malaki ito ay maagang ng panahon. 1115 00:54:37,410 --> 00:54:38,720 Oo. 1116 00:54:38,720 --> 00:54:41,790 >> Madla: Kung hindi ito ay isang binary puno ng paghahanap, magiging real matematika-y 1117 00:54:41,790 --> 00:54:44,220 upang isulat ito iteratively, tama? 1118 00:54:44,220 --> 00:54:47,170 Tulad ng, kung ito ay isang tree, ngunit hindi kinakailangan - 1119 00:54:47,170 --> 00:54:49,730 kaya ito ay hindi lahat na mas maliit sa kaliwa, at ang lahat ng mga mas malaki sa kanan. 1120 00:54:49,730 --> 00:54:52,540 Mas mahirap talaga upang umulit sa paglipas ng ito, tama? 1121 00:54:52,540 --> 00:54:55,720 Nais naming magkaroon upang i-save kung ano ang mas maaga sa sa tree at bumalik, 1122 00:54:55,720 --> 00:54:56,970 at bagay-bagay tulad na. 1123 00:54:56,970 --> 00:54:59,690 1124 00:54:59,690 --> 00:55:02,010 >> Jason HIRSCHHORN: Kung ito ay hindi isang binary puno ng paghahanap, kung ito ay lamang ng isang 1125 00:55:02,010 --> 00:55:04,740 puno at mga bagay ay hindi pinagsunod-sunod tulad nito - 1126 00:55:04,740 --> 00:55:07,440 at mas maaga namin natanto kapag Anna ay pagtulong sa amin na ginagawang 1127 00:55:07,440 --> 00:55:08,800 Uri-uriin tumutulong sa amin ng maraming - 1128 00:55:08,800 --> 00:55:12,610 Gusto kailanganin naming, oo, palaging i-save ang kung saan kami nauna. 1129 00:55:12,610 --> 00:55:14,430 Subalit, maaaring may maraming kung saan kami ay previouslys. 1130 00:55:14,430 --> 00:55:17,730 Maaaring magkaroon ng maraming magulang nodes. 1131 00:55:17,730 --> 00:55:22,530 >> Marahil ang pinakamahusay na paraan upang gawin na iyong gagawin maging upang panatilihin ang panunulak ng mga bagay sa ilang 1132 00:55:22,530 --> 00:55:24,170 uri ng stack o queue. 1133 00:55:24,170 --> 00:55:26,030 Hindi mo kailangang code na ito dahil ito ay isang mahirap na problema. 1134 00:55:26,030 --> 00:55:30,820 Ngunit itulak mo ang ilang mga bagay sa isang stack o queue at pagkatapos ay pop-off ang mga ito, at 1135 00:55:30,820 --> 00:55:31,890 pagkatapos suriin ang mga ito. 1136 00:55:31,890 --> 00:55:34,200 >> At pagkatapos ay may ilang iba pang mga bagay na kung saan ang talaga naglalagay ka ng mga nodes, at 1137 00:55:34,200 --> 00:55:36,090 pagkatapos ay lumikha na iyon, at pagkatapos ay maghanap sa pamamagitan ng na. 1138 00:55:36,090 --> 00:55:38,700 Iyon ay maaaring ang pinakamahusay na paraan upang gawin ito. 1139 00:55:38,700 --> 00:55:42,410 OK, anumang mga katanungan tungkol sa problemang ito? 1140 00:55:42,410 --> 00:55:44,670 >> Madla: Ito ay sa isang kaugnay na tala. 1141 00:55:44,670 --> 00:55:50,460 Makakaapekto ba ang mayroon kami upang ihambing run beses para sa hash talahanayan, binary 1142 00:55:50,460 --> 00:55:52,160 puno ng paghahanap, at iba pa? 1143 00:55:52,160 --> 00:55:54,310 >> Jason HIRSCHHORN: Malamang. 1144 00:55:54,310 --> 00:55:56,150 Kaya sabihin gawin na talagang mabilis. 1145 00:55:56,150 --> 00:55:58,490 Patakbuhin oras para sa hash talahanayan - 1146 00:55:58,490 --> 00:55:59,090 ano ang mga iba? 1147 00:55:59,090 --> 00:56:00,050 Binary puno? 1148 00:56:00,050 --> 00:56:02,920 >> Madla: mga listahan ng Link. 1149 00:56:02,920 --> 00:56:04,780 >> Jason HIRSCHHORN: OK, gawin ni insert ipaalam. 1150 00:56:04,780 --> 00:56:09,980 Ano ang malaking O ng insert sa isang hash talahanayan? 1151 00:56:09,980 --> 00:56:13,080 1152 00:56:13,080 --> 00:56:15,285 Ano ang mga pagpapalagay nagsasagawa ka ng? 1153 00:56:15,285 --> 00:56:17,760 >> Madla: ka ng pagpasok sa simula ng listahan link. 1154 00:56:17,760 --> 00:56:19,860 >> Jason HIRSCHHORN: Malamang ang unang palagay ay walang mga banggaan. 1155 00:56:19,860 --> 00:56:22,340 Kung walang mga banggaan, pagkatapos ay ang oras sa pagpapasok ay isa. 1156 00:56:22,340 --> 00:56:26,560 Kung mayroong mga banggaan, at ikaw ay paggawa nakahiwalay chaining at pagpasok 1157 00:56:26,560 --> 00:56:31,880 sa simula ng listahan link, pagkatapos pagpapasok ay pare-pareho din. 1158 00:56:31,880 --> 00:56:34,700 >> Kung gumawa ka ng isang hash talahanayan ngunit ikaw magkaroon ng ibang paraan ng pagharap 1159 00:56:34,700 --> 00:56:36,040 may banggaan, kung ano ang ng ibang paraan? 1160 00:56:36,040 --> 00:56:41,580 1161 00:56:41,580 --> 00:56:42,960 Ano ay isang iba't ibang mga paraan ng pagharap sa 1162 00:56:42,960 --> 00:56:44,205 banggaan sa isang hash talahanayan? 1163 00:56:44,205 --> 00:56:44,915 >> Madla: De-programming. 1164 00:56:44,915 --> 00:56:45,540 >> Jason HIRSCHHORN: De-programming. 1165 00:56:45,540 --> 00:56:47,770 Kaya kami ay pagpunta upang panatilihin ang hinahanap para sa susunod na bukas na puwesto. 1166 00:56:47,770 --> 00:56:50,390 Iyon ay hindi pare-pareho ang oras sa pagpapasok. 1167 00:56:50,390 --> 00:56:52,266 Maaari kang magkaroon ng upang pumunta sa pamamagitan ng ang buong talahanayan, upang 1168 00:56:52,266 --> 00:56:53,936 maaaring maging malaki O ng n. 1169 00:56:53,936 --> 00:56:54,740 Oo. 1170 00:56:54,740 --> 00:56:57,690 >> Madla: Kung hindi man lamang chaining? 1171 00:56:57,690 --> 00:57:00,160 >> Jason HIRSCHHORN: ginawa namin hiwalay chaining. 1172 00:57:00,160 --> 00:57:00,720 Iyon ay ang unang isa. 1173 00:57:00,720 --> 00:57:01,560 Iyon ay kung ano ang listahan link. 1174 00:57:01,560 --> 00:57:03,720 Ang magarbong pangalan ay hiwalay chaining. 1175 00:57:03,720 --> 00:57:06,880 Ito ay maaaring maging anumang uri ng istraktura listahan mangyari naming gawin sa listahan na link. 1176 00:57:06,880 --> 00:57:10,490 >> Kaya muli, pagpapasok sa isang hash talahanayan maaaring maging pare-pareho ang panahon. 1177 00:57:10,490 --> 00:57:13,160 Paano ang tungkol sa pagpapasok ng sa isang queue stacker? 1178 00:57:13,160 --> 00:57:19,260 1179 00:57:19,260 --> 00:57:20,640 >> Madla: na pare-pareho ba ang hindi? 1180 00:57:20,640 --> 00:57:21,530 >> Jason HIRSCHHORN: Ito ay pare-pareho ang panahon. 1181 00:57:21,530 --> 00:57:23,420 Naka pagtulak mo lang ito sa. 1182 00:57:23,420 --> 00:57:24,120 OK. 1183 00:57:24,120 --> 00:57:25,380 Insertion, ano ang mga iba pang mga bago? 1184 00:57:25,380 --> 00:57:27,100 Sa isang try? 1185 00:57:27,100 --> 00:57:30,252 Ano ang malaking O ng pagpapasok sa isang try? 1186 00:57:30,252 --> 00:57:32,808 >> Madla: Ang haba ay pare-pareho. 1187 00:57:32,808 --> 00:57:34,560 Ang haba ng pinakamahabang - 1188 00:57:34,560 --> 00:57:36,998 ang haba ng salita ka pagpasok. 1189 00:57:36,998 --> 00:57:38,210 >> Jason HIRSCHHORN: Paumanhin? 1190 00:57:38,210 --> 00:57:39,120 Maghintay, kaya't kung ano ang ko marinig? 1191 00:57:39,120 --> 00:57:40,260 Sinabi mo - kung ano ang iyong masasabi? 1192 00:57:40,260 --> 00:57:41,650 Ano ang iyong sagot, Marcus? 1193 00:57:41,650 --> 00:57:43,640 >> Madla: Ang haba ng salita ka pagpasok sa character, 1194 00:57:43,640 --> 00:57:45,480 sa pag-aakala ito ay isang character na try. 1195 00:57:45,480 --> 00:57:46,840 >> Jason HIRSCHHORN: OK, kaya ang haba ng salita. 1196 00:57:46,840 --> 00:57:49,500 Gagawin namin ang isang palagay na ito ay isang string ng mga character. 1197 00:57:49,500 --> 00:57:51,930 Sinabi mo ng isang bagay na naiiba, bagaman. 1198 00:57:51,930 --> 00:57:55,490 Sinabi mo haba ng pinakamahabang salita. 1199 00:57:55,490 --> 00:57:57,600 >> Madla: Iyon lang pare-pareho, tama? 1200 00:57:57,600 --> 00:57:58,440 >> Jason HIRSCHHORN: Bakit ginagawa itong maging pare-pareho? 1201 00:57:58,440 --> 00:58:00,970 >> Madla: Tulad ng, kung gumagamit ka ng malaki O pagtatanda, pagkatapos ay hindi ito nag-iiba batay 1202 00:58:00,970 --> 00:58:04,680 sa bilang ng mga bagay na ay nasa ang try. 1203 00:58:04,680 --> 00:58:07,344 >> Jason HIRSCHHORN: Kaya kami ay sabihin ito ay pare-pareho ang panahon. 1204 00:58:07,344 --> 00:58:11,840 Ito ay pare-pareho ang pagpapasok, at na dahil sa ideyang ito - 1205 00:58:11,840 --> 00:58:14,820 sabihin nating mayroon kami ng isang salita na 45, o isang salita na 60, na 1206 00:58:14,820 --> 00:58:16,800 May nagbabagong numero. 1207 00:58:16,800 --> 00:58:21,050 At gusto lang ay maipapasok sa pare-pareho ang panahon. 1208 00:58:21,050 --> 00:58:26,060 >> Sa pagsasanay bagaman, hindi ito ay magiging, malinaw naman, mangyari sa isa millisecond, 1209 00:58:26,060 --> 00:58:26,590 halimbawa. 1210 00:58:26,590 --> 00:58:28,880 Ngunit nais naming sabihin malaki O ay pare-pareho para sa isang try. 1211 00:58:28,880 --> 00:58:31,330 At iyon ang isa sa mga pinakamalaking kalamangan. 1212 00:58:31,330 --> 00:58:33,330 >> Paano ang tungkol sa pagpapasok sa isang listahan ng link? 1213 00:58:33,330 --> 00:58:37,220 Lamang sa isang generic, pinagsunod-sunod listahan ng link? 1214 00:58:37,220 --> 00:58:37,700 Oo. 1215 00:58:37,700 --> 00:58:38,530 >> Madla: Mayroon akong isang katanungan. 1216 00:58:38,530 --> 00:58:42,670 Sa pagsubok, ang mga ito ay kailanman hilingin sa amin ang oras pagpapasok na apat na hakbang, 1217 00:58:42,670 --> 00:58:43,270 o ng isang bagay? 1218 00:58:43,270 --> 00:58:44,300 O isa lamang - 1219 00:58:44,300 --> 00:58:47,670 kapag sinabi mong oras sa pagpapasok ay isa, na nangangahulugan lamang pare-pareho ang oras? 1220 00:58:47,670 --> 00:58:49,770 >> Jason HIRSCHHORN: Oo, gagawin nila laging magtanong, ay ito malaki O ng n? 1221 00:58:49,770 --> 00:58:51,440 Big O ng log n? 1222 00:58:51,440 --> 00:58:53,960 N nakalapat pare-pareho. 1223 00:58:53,960 --> 00:58:56,520 Iyon ang talaga ang tanging mga kailangan mong malaman. 1224 00:58:56,520 --> 00:58:58,420 Paano ang tungkol sa pagpapasok papunta sa pinagsunod-sunod listahan ng link? 1225 00:58:58,420 --> 00:58:59,440 >> Madla: Mayroon akong isang tanong - 1226 00:58:59,440 --> 00:58:59,980 isang tanong - 1227 00:58:59,980 --> 00:59:01,060 >> Jason HIRSCHHORN: Ano ang sagot sa na tanong, bagaman? 1228 00:59:01,060 --> 00:59:02,120 >> Madla: Maghintay, ano ang mong tanungin? 1229 00:59:02,120 --> 00:59:06,750 >> Jason HIRSCHHORN: Ano ang malaking O ng pagpapasok sa isang listahan pinagsunod-sunod link? 1230 00:59:06,750 --> 00:59:07,070 >> Madla: Isa? 1231 00:59:07,070 --> 00:59:09,400 Walang paghihintay, Walang paghihintay, n. 1232 00:59:09,400 --> 00:59:11,420 >> Jason HIRSCHHORN: N. Bukod ang listahan ng link. 1233 00:59:11,420 --> 00:59:12,706 At kung ano ang iyong katanungan? 1234 00:59:12,706 --> 00:59:16,440 >> Madla: So gusto mong isulat o ng k o o ng 1 para sa - 1235 00:59:16,440 --> 00:59:18,150 >> Jason HIRSCHHORN: Oh. 1236 00:59:18,150 --> 00:59:21,830 Gusto ko magsulat o ng 1, marahil. 1237 00:59:21,830 --> 00:59:24,160 Nagkaroon ng isa sa iba pang mga istraktura ng data na sana ay naging mabuti. 1238 00:59:24,160 --> 00:59:25,730 Tree, binary paghahanap tree. 1239 00:59:25,730 --> 00:59:27,510 Ano ang pagpapasok sa isang binary puno ng paghahanap? 1240 00:59:27,510 --> 00:59:31,190 1241 00:59:31,190 --> 00:59:33,900 >> Madla: Mag-login. 1242 00:59:33,900 --> 00:59:39,260 >> Jason HIRSCHHORN: Kaya, ano ang pinakamasama kaso sa isang binary paghahanap puno? 1243 00:59:39,260 --> 00:59:45,350 Kaya kung mangyari namin upang simulan sa 5, at ang bawat numero ay mas malaki kaysa 5, pagkatapos 1244 00:59:45,350 --> 00:59:48,760 Nakakuha kami ng 5, 7, 9, 11, at iba pa. 1245 00:59:48,760 --> 00:59:52,255 Sa kasong ito, ito ay isa lamang ng isang link lamang listahan, at kailangan namin upang ipasok ang lahat ng 1246 00:59:52,255 --> 00:59:52,680 ang paraan sa dulo. 1247 00:59:52,680 --> 00:59:54,350 Kaya malaki O ng n. 1248 00:59:54,350 --> 00:59:57,720 >> Na maaaring maging ang aming pinakamasama kaso sa isang binary paghahanap tree. 1249 00:59:57,720 --> 01:00:00,890 Malinaw, hindi mo nais na bumuo ng isang binary paghahanap puno na may 5 sa 1250 01:00:00,890 --> 01:00:04,270 gitna, alam 5 gusto maging ang pinakamababang numero. 1251 01:00:04,270 --> 01:00:08,030 Ngunit maaaring ito ay, kung ikaw ay na nagsisimula mula sa simula. 1252 01:00:08,030 --> 01:00:10,980 Ang anumang mga katanungan sa bago ito ko lumipat sa isa pang katanungan? 1253 01:00:10,980 --> 01:00:11,560 Iyon ay isang mahusay na tanong. 1254 01:00:11,560 --> 01:00:15,100 Gusto ko alam malaki O ng - 1255 01:00:15,100 --> 01:00:18,620 >> Madla: Ano ang tungkol sa paghahanap para sa mga apat? 1256 01:00:18,620 --> 01:00:20,400 >> Jason HIRSCHHORN: Talagang kami ay ang paghahanap at pag-uuri. 1257 01:00:20,400 --> 01:00:22,160 Ginawa namin ang lahat ng mga algorithm, i-right. 1258 01:00:22,160 --> 01:00:23,390 Maghintay, ay na para sa Pagsusulit 1? 1259 01:00:23,390 --> 01:00:23,980 Ay na sakop - 1260 01:00:23,980 --> 01:00:25,860 ay na mayroon ka na tanong sa Pagsusulit 1? 1261 01:00:25,860 --> 01:00:29,650 Ang malaking O runtime ng binary paghahanap, -uri-uriin ang pagpapasok, bubble sort? 1262 01:00:29,650 --> 01:00:30,160 >> Madla: Oo. 1263 01:00:30,160 --> 01:00:32,790 >> Jason HIRSCHHORN: Kung nagkaroon ka na tanong sa Pagsusulit 0, logro ay hindi mo 1264 01:00:32,790 --> 01:00:35,180 makakuha ng parehong eksaktong tanong sa Pagsusulit 1. 1265 01:00:35,180 --> 01:00:36,300 Maaaring maging mahusay pa rin malaman mga. 1266 01:00:36,300 --> 01:00:38,520 Dapat mo sana alam gh na. 1267 01:00:38,520 --> 01:00:40,740 >> Ngunit iba pang mga logarithmic runtimes ay marahil handa na upang malaman. 1268 01:00:40,740 --> 01:00:42,890 Mga bagay na hindi sakop sa Pagsusulit 0. 1269 01:00:42,890 --> 01:00:47,300 Tulad ng lahat ng mga operator na ito sa mga abstract na uri ng data. 1270 01:00:47,300 --> 01:00:50,760 >> OK, ng ilipat sa ipaalam. 1271 01:00:50,760 --> 01:00:52,190 Ay dapat na medyo mabilis na isa ito. 1272 01:00:52,190 --> 01:00:56,170 At ito ay isang bagong wika ay mayroon kaming hindi talagang naka-code sa bago. 1273 01:00:56,170 --> 01:00:59,300 Ito ay isang tanong na nagtatanong sa code sa PHP. 1274 01:00:59,300 --> 01:01:01,950 Kaya isaalang-alang ang array PHP sa ibaba. 1275 01:01:01,950 --> 01:01:06,150 Sumulat ng PHP at / o ang HTML code tulad na ito output ng dalawang-haligi ng talahanayan na may TFs 1276 01:01:06,150 --> 01:01:08,810 mga pangalan at bahay. 1277 01:01:08,810 --> 01:01:11,600 >> Hindi kailanman nagawa mo na ito bago, ang partikular na problema. 1278 01:01:11,600 --> 01:01:16,270 Ngunit ito ay dapat na maging masyadong pamilyar sa ano ang iyong ginawa sa problema itakda 7. 1279 01:01:16,270 --> 01:01:21,250 Kaya Gusto ko ay payag kang Taya ikaw ang magiging hilingin sa iyo na code sa isang bagay PHP na 1280 01:01:21,250 --> 01:01:23,880 ay halos kapareho sa kung ano ang iyong ginawa sa problema itakda 7. 1281 01:01:23,880 --> 01:01:26,300 >> Una, array ay hindi na tiyak. 1282 01:01:26,300 --> 01:01:28,140 Anong uri ng array ay ito? 1283 01:01:28,140 --> 01:01:29,080 >> Madla: nag-uugnay. 1284 01:01:29,080 --> 01:01:31,250 >> Jason HIRSCHHORN: Ito ay isang nag-uugnay array. 1285 01:01:31,250 --> 01:01:33,750 At ano ang mga pagkakaiba sa pagitan ng isang nag-uugnay array at isang bagay? 1286 01:01:33,750 --> 01:01:41,780 1287 01:01:41,780 --> 01:01:44,857 >> Madla: Ang isang bagay na array ay may isang index ng integer, at isang nag-uugnay array 1288 01:01:44,857 --> 01:01:47,814 ay isang index ng isang string, o ang isang bagay tulad na. 1289 01:01:47,814 --> 01:01:50,570 1290 01:01:50,570 --> 01:01:54,880 >> Jason HIRSCHHORN: Kaya isang array ng mga bagay ay magkaroon ng mga indeks ng 1291 01:01:54,880 --> 01:01:57,090 integer, ngunit ang isang bagay ay may mga patlang. 1292 01:01:57,090 --> 01:02:01,590 Ito ay may mga patlang tulad ng mga pangalan pangalanan, bahay, mag-aaral. 1293 01:02:01,590 --> 01:02:03,720 Mayroon ka bang isang ideya? 1294 01:02:03,720 --> 01:02:06,630 >> Madla: Well, nag-uugnay array ay nasa PHP, tama? 1295 01:02:06,630 --> 01:02:07,880 At sa bagay ay nasa JavaScript? 1296 01:02:07,880 --> 01:02:12,330 1297 01:02:12,330 --> 01:02:14,820 >> Jason HIRSCHHORN: totoo lang, walang tunay na pagkakaiba sa pagitan ng dalawa. 1298 01:02:14,820 --> 01:02:19,540 Parehong may mga string bilang ang mga key, at maaari mayroon talaga ng kahit ano bilang halaga. 1299 01:02:19,540 --> 01:02:21,250 Iba't ibang mga wika tumawag sa isa bagay nag-uugnay array, 1300 01:02:21,250 --> 01:02:22,750 isang bagay ang isang bagay. 1301 01:02:22,750 --> 01:02:25,960 Kaya totoo lang, walang tunay pagkakaiba, ngunit mayroong tiyak na ilang 1302 01:02:25,960 --> 01:02:27,730 syntactical mga pagkakaiba sa pagitan ng dalawang. 1303 01:02:27,730 --> 01:02:28,200 Oo. 1304 01:02:28,200 --> 01:02:33,580 >> Madla: Kaya ay sa bagay na naka-code na rin sa ilalim ng ng hood bilang isang hash talahanayan, pagkatapos? 1305 01:02:33,580 --> 01:02:35,796 >> Jason HIRSCHHORN: Ano ang ginagawa mo ibig sabihin, naka-code sa ilalim ng hood? 1306 01:02:35,796 --> 01:02:38,017 >> Madla: Kami ay sinabi na nag-uugnay array ay technically isang 1307 01:02:38,017 --> 01:02:39,960 hash table. 1308 01:02:39,960 --> 01:02:44,510 Kaya ay bagay din technically isang hash talahanayan? 1309 01:02:44,510 --> 01:02:45,350 >> Jason HIRSCHHORN: Hindi ako pupunta upang sagutin na tanong. 1310 01:02:45,350 --> 01:02:46,600 Magpapadala ako babalik sa iyo sa na. 1311 01:02:46,600 --> 01:02:48,980 Ngunit hindi ko tingin ng alinman sa ng mga katulad na. 1312 01:02:48,980 --> 01:02:53,790 Ngunit, sa anumang paraan, nag-uugnay array at sa bagay, sa pangkalahatan, ang mga taong gumagamit ng mga 1313 01:02:53,790 --> 01:02:54,910 mga tuntunin ng salitan. 1314 01:02:54,910 --> 01:02:57,630 Sa kasong ito, ang mga cool na bahagi ay maaari mong gamitin ang mga key. 1315 01:02:57,630 --> 01:03:00,580 Mga string bilang key, sa halip na lamang simpleng numero. 1316 01:03:00,580 --> 01:03:02,070 >> Kaya na-pakikipag-usap ko tungkol sa ito para sa sandali. 1317 01:03:02,070 --> 01:03:04,090 Sana, ang ilang mga tao ay may nakuha makapagsimula sa ito. 1318 01:03:04,090 --> 01:03:08,050 Kami ay pagpunta sa sumulat ng ilang PHP at HTML code, tulad na makakakuha tayo ng isang dalawang-haligi 1319 01:03:08,050 --> 01:03:11,830 mesa na may mga pangalan at mga bahay TFs. 1320 01:03:11,830 --> 01:03:15,380 >> OK, ako rin ay nais ng isang header Ang hilera sa talahanayan na ito. 1321 01:03:15,380 --> 01:03:18,410 Kaya ako pupunta upang makakuha ng tuwid sa ito. 1322 01:03:18,410 --> 01:03:20,770 Kami ay pagpunta sa file, bago, at kami ay pagpunta sa - 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 Paano ako magsisimulang isang talahanayan? 1326 01:03:29,970 --> 01:03:32,090 Ano ang tag, Michael, upang magsimula ng talahanayan? 1327 01:03:32,090 --> 01:03:32,890 >> Madla: Table. 1328 01:03:32,890 --> 01:03:34,020 >> Jason HIRSCHHORN: Table. 1329 01:03:34,020 --> 01:03:37,870 At kung buksan ako ng tag, kung ano iba kailangan ko? 1330 01:03:37,870 --> 01:03:39,810 >> Madla: Isang ulo? 1331 01:03:39,810 --> 01:03:41,040 O, hulaan ko, class. 1332 01:03:41,040 --> 01:03:41,730 >> Jason HIRSCHHORN: Kaya, paumanhin. 1333 01:03:41,730 --> 01:03:45,430 Ipagpalagay na mayroon nang nakasulat na namin ang doctab, HTML, ang lahat ng mga bagay-bagay na iyon. 1334 01:03:45,430 --> 01:03:50,230 Ngunit kung buksan ko ito talahanayan tag, kung ano iba ang kailangan kong isulat? 1335 01:03:50,230 --> 01:03:53,450 para patunayan ang HTML? 1336 01:03:53,450 --> 01:03:55,000 >> Madla: Isara ito. 1337 01:03:55,000 --> 01:03:56,050 >> Jason HIRSCHHORN: Isara ang tag. 1338 01:03:56,050 --> 01:03:57,575 Paano ako magsusulat ng isang close-talahanayan tag na ito? 1339 01:03:57,575 --> 01:03:59,580 >> Madla: Dot iwa talahanayan. 1340 01:03:59,580 --> 01:04:00,960 >> Jason HIRSCHHORN: slash talahanayan, mahusay. 1341 01:04:00,960 --> 01:04:02,730 Malamang saysay ang sumulat ng kapwa ng mga magkasama dahil 1342 01:04:02,730 --> 01:04:03,870 na kailangan mong gawin ito. 1343 01:04:03,870 --> 01:04:08,575 OK, kung gusto ko ang isang hilera ng header, paano gawin Sumulat ako ng isang hilera ng header may mga pamagat? 1344 01:04:08,575 --> 01:04:11,650 1345 01:04:11,650 --> 01:04:19,290 >> Madla: mas ba ito sa 10 oras malapit - 1346 01:04:19,290 --> 01:04:21,550 Tr, oo. 1347 01:04:21,550 --> 01:04:22,100 >> Jason HIRSCHHORN: tr? 1348 01:04:22,100 --> 01:04:25,080 >> Madla: Pagkatapos parehong bagay, ang slash, oo. 1349 01:04:25,080 --> 01:04:26,610 >> Jason HIRSCHHORN: OK, at bigyan mo ako ng dalawang mga hanay. 1350 01:04:26,610 --> 01:04:30,100 1351 01:04:30,100 --> 01:04:33,210 >> Madla: 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 Gusto ko ng dalawang mga hanay. 1355 01:04:39,520 --> 01:04:40,960 Ito bigyan ba ako ng dalawang haligi? 1356 01:04:40,960 --> 01:04:43,880 Gaano karaming mga haligi ay ito? 1357 01:04:43,880 --> 01:04:45,920 One. 1358 01:04:45,920 --> 01:04:47,170 Kaya sabihin kopyahin at i-paste ito. 1359 01:04:47,170 --> 01:04:59,750 1360 01:04:59,750 --> 01:05:03,390 >> Kaya talaga, sa pagsusulit, ang lahat ng code na ito na na naisulat namin sa ngayon ay 1361 01:05:03,390 --> 01:05:04,710 talagang ibinigay sa iyo. 1362 01:05:04,710 --> 01:05:06,200 Ngunit dapat mong marahil pa rin alam kung paano sumulat ng ito. 1363 01:05:06,200 --> 01:05:06,470 Oo. 1364 01:05:06,470 --> 01:05:10,636 >> Madla: Ang iyong bahay ay sa pagitan ng dalawa. 1365 01:05:10,636 --> 01:05:11,130 >> Jason HIRSCHHORN: Boom. 1366 01:05:11,130 --> 01:05:12,720 Dapat itong pumunta doon, tama? 1367 01:05:12,720 --> 01:05:14,600 Magandang tawag. 1368 01:05:14,600 --> 01:05:17,760 Kaya muli, ang lahat ng code na ito ay ang tunay ibinigay sa iyo sa aktwal na pagsusulit. 1369 01:05:17,760 --> 01:05:19,570 Ngunit ito ay masaya na magsulat dito, at mo dapat malaman kung paano magsulat dito. 1370 01:05:19,570 --> 01:05:23,640 Kaya ito ay kung saan kailangan mo upang simulan ang iyong code. 1371 01:05:23,640 --> 01:05:25,150 Ano ang kailangan namin upang magsulat dito mismo? 1372 01:05:25,150 --> 01:05:28,640 1373 01:05:28,640 --> 01:05:30,565 >> Paumanhin, kailangan kong baguhin ang pangalan ng file na ito. 1374 01:05:30,565 --> 01:05:41,180 1375 01:05:41,180 --> 01:05:44,270 Kaya-save namin ito sa isang. HTML file, hindi sa isang file na. PHP. 1376 01:05:44,270 --> 01:05:47,030 Mga bagay na ito ay nangangahulugan na walang anuman sa isang. file PHP. 1377 01:05:47,030 --> 01:05:48,500 Kaya kami sa isang. HTML file. 1378 01:05:48,500 --> 01:05:50,090 Ano ang unang bagay na Kailangan kong isulat? 1379 01:05:50,090 --> 01:05:52,990 Gusto kong maglagay ng mga PHP code sa isang HTML. 1380 01:05:52,990 --> 01:05:57,300 >> Madla: PHP, tulad ng isa pang karot at tandang pananong PHP, tama? 1381 01:05:57,300 --> 01:05:58,310 >> Jason HIRSCHHORN: Mahusay. 1382 01:05:58,310 --> 01:05:59,360 At paano ko tapusin ko na? 1383 01:05:59,360 --> 01:06:02,510 >> Madla: Gamit ang isang tandang pananong. 1384 01:06:02,510 --> 01:06:03,120 >> Jason HIRSCHHORN: Mabuti iyan. 1385 01:06:03,120 --> 01:06:07,090 Iyon ang unang bagay na kailangan ko kung gusto ko maglagay ng mga code na PHP in dito. 1386 01:06:07,090 --> 01:06:11,210 >> Madla:. Naisip ko na isang PHP file ay maaaring tumagal ng HTML. 1387 01:06:11,210 --> 01:06:12,290 >> Jason HIRSCHHORN: Oo. 1388 01:06:12,290 --> 01:06:15,330 Maaaring tumagal ang file na. PHP ilang HTML at ipapakita. 1389 01:06:15,330 --> 01:06:16,450 Iyon ay ang aking masamang. 1390 01:06:16,450 --> 01:06:18,300 Lamang ako ay sinusubukan upang gayahin ano iyon ay sa pagsusulit. 1391 01:06:18,300 --> 01:06:21,910 1392 01:06:21,910 --> 01:06:24,720 >> OK, paumanhin upang lituhin mo. 1393 01:06:24,720 --> 01:06:25,550 Oo, practice.HTML. 1394 01:06:25,550 --> 01:06:27,340 Ngayon kami ay pagpunta sa ilagay ilang PHP code in 1395 01:06:27,340 --> 01:06:30,530 Ano ang unang linya ng Code na PHP ang dapat kong isulat? 1396 01:06:30,530 --> 01:06:33,360 Pupunta ako sa pumunta sa pamamagitan ng array at gumawa ng mga ito sa isang table. 1397 01:06:33,360 --> 01:06:34,600 Oo. 1398 01:06:34,600 --> 01:06:37,160 >> Madla: Maaari mong gamitin ang alinman sa isang para sa H loop o isang para sa loop. 1399 01:06:37,160 --> 01:06:38,415 >> Jason HIRSCHHORN: OK, kung ano ang gusto mong gamitin? 1400 01:06:38,415 --> 01:06:40,720 >> Madla: Gusto ko gumamit ng isang para sa loop. 1401 01:06:40,720 --> 01:06:48,700 Para sa, at pagkatapos ay gawin mo dollar sign i katumbas ng 0 semicolon dolyar 1402 01:06:48,700 --> 01:06:51,580 mag-sign i mas mababa sa 2. 1403 01:06:51,580 --> 01:06:55,455 At pagkatapos ay tuldok-kuwit i dolyar mag-sign i plus plus. 1404 01:06:55,455 --> 01:07:01,890 1405 01:07:01,890 --> 01:07:03,880 >> Jason HIRSCHHORN: Paano ako mong malaman upang gumamit ng 2? 1406 01:07:03,880 --> 01:07:10,444 >> Madla: Dahil mayroong dalawang nag-uugnay array sa loob ng mas malaking 1407 01:07:10,444 --> 01:07:11,960 nag-uugnay array. 1408 01:07:11,960 --> 01:07:13,610 >> Jason HIRSCHHORN: Kaya ang sisikat ni hindi isang associate ng array. 1409 01:07:13,610 --> 01:07:15,500 Ang sisikat lang ng isang normal na array. 1410 01:07:15,500 --> 01:07:17,380 Ngunit ikaw ay karapatan, may mga dalawang nag-uugnay array 1411 01:07:17,380 --> 01:07:18,910 sa loob ng aming mas malaking array. 1412 01:07:18,910 --> 01:07:20,310 Iyon ang dahilan kung bakit gumamit ka ng dalawang. 1413 01:07:20,310 --> 01:07:24,270 Pakiramdam ko ay hindi komportable sa pagpapalagay na ang mga ito ay 2, kaya kung ano ang isang paraan upang isulat 1414 01:07:24,270 --> 01:07:26,810 ito nang hindi ipagpalagay na ang mga ito ay 2? 1415 01:07:26,810 --> 01:07:27,507 >> Madla: [hindi marinig]? 1416 01:07:27,507 --> 01:07:29,165 >> Jason HIRSCHHORN: OK, paano huwag magsulat ka na? 1417 01:07:29,165 --> 01:07:35,262 >> Madla: Foreach dollar sign tfs o tulad ng pag-sign tf dolyar. 1418 01:07:35,262 --> 01:07:38,360 1419 01:07:38,360 --> 01:07:41,960 >> Jason HIRSCHHORN: OK, kaya para sa bawat tfs bilang tfs, gusto kong, ngayon 1420 01:07:41,960 --> 01:07:43,650 muli, mayroon ang aking mga talahanayan. 1421 01:07:43,650 --> 01:07:45,250 Kaya kung sino ang maaaring magbigay sa akin ang susunod na linya ng code? 1422 01:07:45,250 --> 01:07:52,870 1423 01:07:52,870 --> 01:07:59,810 >> Madla: I-print, at pagkatapos ay sa sipi, bracket tr ng pagtatapos 1424 01:07:59,810 --> 01:08:02,670 bracket, end quote. 1425 01:08:02,670 --> 01:08:05,300 End panaklong, tuldok-kuwit. 1426 01:08:05,300 --> 01:08:07,135 >> Jason HIRSCHHORN: OK, at ano ang na pagpunta sa gawin? 1427 01:08:07,135 --> 01:08:08,610 >> Madla: Ito ay pagpunta sa sabihin, ang mga bagong hilera. 1428 01:08:08,610 --> 01:08:11,070 Ito ay pagpunta sa ilagay ang tag para sa isang bagong hilera. 1429 01:08:11,070 --> 01:08:13,000 >> Jason HIRSCHHORN: Kanan, ito ang PHP, tulad ng usapan natin ang tungkol sa mas maaga - ito 1430 01:08:13,000 --> 01:08:22,160 PHP ay pagpunta sa susuriin, at pagkatapos ay ito ay pagpunta sa i-print out upang ang file na ito ng isang 1431 01:08:22,160 --> 01:08:26,350 talahanayan hilahin ng lubid, at pagkatapos na HTML ay susuriin. 1432 01:08:26,350 --> 01:08:27,810 Kami ay pagkopya ito lamang HTML ay nagkaroon up namin dito. 1433 01:08:27,810 --> 01:08:28,120 Oo. 1434 01:08:28,120 --> 01:08:29,470 >> Madla: [hindi marinig]? 1435 01:08:29,470 --> 01:08:30,290 >> Jason HIRSCHHORN: Paumanhin? 1436 01:08:30,290 --> 01:08:31,240 Ito ay dito mismo. 1437 01:08:31,240 --> 01:08:33,590 Fall ng 2012. 1438 01:08:33,590 --> 01:08:35,970 Huwag tingnan ang sagot, malutas ng ito nang magkasama ipaalam. 1439 01:08:35,970 --> 01:08:37,330 Kaya i-print namin hilera ng talahanayan. 1440 01:08:37,330 --> 01:08:38,550 Kaya ikaw ay marahil sa ang ugoy ng mga bagay. 1441 01:08:38,550 --> 01:08:41,060 Ano ang susunod na linya ng code na kailangan namin upang isulat? 1442 01:08:41,060 --> 01:08:42,926 Assam, ibigay sa akin ang susunod na linya ng code. 1443 01:08:42,926 --> 01:08:46,290 >> Madla: Kailangan mong pangalan ang tf ni. 1444 01:08:46,290 --> 01:08:54,319 Tf bukas bracket panipi pangalanan closed bracket. 1445 01:08:54,319 --> 01:08:57,310 >> Jason HIRSCHHORN: Bigyan mo ako ng kanilang pangalan. 1446 01:08:57,310 --> 01:08:58,540 >> Madla: Kailangan mong i-print na. 1447 01:08:58,540 --> 01:08:59,790 >> [INTERPOSING tinig] 1448 01:08:59,790 --> 01:09:01,963 1449 01:09:01,963 --> 01:09:03,430 >> Jason HIRSCHHORN: OK, paano ko ito i-print? 1450 01:09:03,430 --> 01:09:04,680 >> [INTERPOSING tinig] 1451 01:09:04,680 --> 01:09:08,609 1452 01:09:08,609 --> 01:09:10,350 >> Jason HIRSCHHORN: ako nawawala isang bagay na ngayon. 1453 01:09:10,350 --> 01:09:12,470 Ano ako ay nawawala ako? 1454 01:09:12,470 --> 01:09:13,720 >> Madla: Kailangan mo ng dollar sign. 1455 01:09:13,720 --> 01:09:15,960 1456 01:09:15,960 --> 01:09:17,210 >> Jason HIRSCHHORN: Ano ang iba ako ay nawawala ako? 1457 01:09:17,210 --> 01:09:20,100 1458 01:09:20,100 --> 01:09:21,650 Ang lahat ng mga na-print na namin sa ngayon ay ang tr. 1459 01:09:21,650 --> 01:09:25,589 1460 01:09:25,589 --> 01:09:27,470 >> Madla: Isara ang tr pagkatapos nito. 1461 01:09:27,470 --> 01:09:28,720 >> Jason HIRSCHHORN: Kaya kailangan namin upang isara ang tr pagkatapos. 1462 01:09:28,720 --> 01:09:34,390 1463 01:09:34,390 --> 01:09:37,906 Sino ang nakakakita ng kung ano ang nawawala namin sa 16 na linya? 1464 01:09:37,906 --> 01:09:39,340 Oo, Anna. 1465 01:09:39,340 --> 01:09:47,050 >> Madla: Kailangan mo upang buksan isang td at kulot tirante. 1466 01:09:47,050 --> 01:09:49,380 >> Jason HIRSCHHORN: At kung saan huwag inilalagay namin ang kulot tirante? 1467 01:09:49,380 --> 01:09:51,790 >> Madla: Paikot ang pangalan tf. 1468 01:09:51,790 --> 01:09:53,080 >> Jason HIRSCHHORN: Tulad ng mga ito? 1469 01:09:53,080 --> 01:09:55,420 >> Madla: Oo. 1470 01:09:55,420 --> 01:09:59,000 At pagkatapos isara ang td. 1471 01:09:59,000 --> 01:10:00,250 >> Jason HIRSCHHORN: Tulad ng mga iyon? 1472 01:10:00,250 --> 01:10:03,370 1473 01:10:03,370 --> 01:10:06,950 >> Madla: kailangan ba kayo ng double quotation mark sa tabi ng kulot tirante? 1474 01:10:06,950 --> 01:10:07,460 >> Jason HIRSCHHORN: Kanan dito? 1475 01:10:07,460 --> 01:10:08,710 Hindi, hindi mo gusto. 1476 01:10:08,710 --> 01:10:10,820 1477 01:10:10,820 --> 01:10:12,550 Kaya iyon mismo kanan. 1478 01:10:12,550 --> 01:10:12,940 Oo. 1479 01:10:12,940 --> 01:10:15,290 >> Madla: Kaya ang pagkakaiba sa pagitan na at encatenating may mga tuldok ay, kung ang 1480 01:10:15,290 --> 01:10:18,420 kang gumamit ng mga tuldok, gusto mayroon kang magkaroon ng double quotation marks, pagkatapos ng isang tuldok, 1481 01:10:18,420 --> 01:10:20,370 pagkatapos ay ang tuldok - 1482 01:10:20,370 --> 01:10:20,520 >> Jason HIRSCHHORN: Tama. 1483 01:10:20,520 --> 01:10:23,800 Kaya mo sinasabi na mayroong isang tunay paraan ng pagsusulat ng mga ito tulad na. 1484 01:10:23,800 --> 01:10:26,760 1485 01:10:26,760 --> 01:10:28,966 Ano ang pagdudugtong operator sa JavaScript? 1486 01:10:28,966 --> 01:10:31,200 >> Madla: Ang isang plus sign. 1487 01:10:31,200 --> 01:10:34,710 Nakalimutan mong ilagay ang kulot suhay likod. 1488 01:10:34,710 --> 01:10:35,760 >> Jason HIRSCHHORN: Mahusay. 1489 01:10:35,760 --> 01:10:38,850 At mayroong isa pang linya ng code nawawala. 1490 01:10:38,850 --> 01:10:40,130 Sino ang maaaring magbigay sa akin ang huling linya ng code nawawala namin? 1491 01:10:40,130 --> 01:10:43,940 1492 01:10:43,940 --> 01:10:47,602 >> Madla: lamang ang eksaktong parehong bagay, sa pamamagitan lamang ng bahay sa halip ng pangalan. 1493 01:10:47,602 --> 01:10:52,960 1494 01:10:52,960 --> 01:10:53,450 Malaki 1495 01:10:53,450 --> 01:10:54,390 >> Jason HIRSCHHORN: Mahusay. 1496 01:10:54,390 --> 01:10:59,320 At ang syntax ay akmang-akma para sa pagkuha ng mga bagay sa isang associate ng array. 1497 01:10:59,320 --> 01:11:04,450 Kaya sa mga aktwal na pagsusulit, ikaw ay talaga ibinigay na up hanggang dito. 1498 01:11:04,450 --> 01:11:05,710 Kaya ang code na ito ay ibinigay sa iyo. 1499 01:11:05,710 --> 01:11:07,750 Lahat kayo ay nagkaroon ng na magsulat ay mga apat na linya at tandaang mag- 1500 01:11:07,750 --> 01:11:09,190 isara ang tag na talahanayan. 1501 01:11:09,190 --> 01:11:11,370 Ikaw guys talagang ginawa lahat na at higit pa. 1502 01:11:11,370 --> 01:11:11,810 Oo. 1503 01:11:11,810 --> 01:11:14,850 >> Madla: Kaya magiging pagtakbo ang parehong kung nagkaproblema ka lamang na ang lahat sa 1504 01:11:14,850 --> 01:11:17,250 isa malaki tawag sa pag-print, i-right? 1505 01:11:17,250 --> 01:11:19,630 At pagkatapos ay concatenated lamang ito sa, at iba pa? 1506 01:11:19,630 --> 01:11:20,730 >> Jason HIRSCHHORN: Tulad ng mga iyon? 1507 01:11:20,730 --> 01:11:21,980 >> Madla: Oo. 1508 01:11:21,980 --> 01:11:23,810 1509 01:11:23,810 --> 01:11:26,940 Ito lamang ay hindi magiging ganito ang magandang kung ikaw ay ng pagtingin sa ito kapag naka-inspecting 1510 01:11:26,940 --> 01:11:28,550 ang elemento sa iyong website, tama? 1511 01:11:28,550 --> 01:11:29,800 >> Jason HIRSCHHORN: Sumasang-ayon ako. 1512 01:11:29,800 --> 01:11:35,410 1513 01:11:35,410 --> 01:11:38,710 Kung load ko ang webpage na ito, nais kong maging magagawang makita ang code na ito PHP, kailanman? 1514 01:11:38,710 --> 01:11:39,240 >> Madla: Hindi. 1515 01:11:39,240 --> 01:11:40,080 >> Jason HIRSCHHORN: Hindi. 1516 01:11:40,080 --> 01:11:42,240 At talagang, hindi ko ginagawa. 1517 01:11:42,240 --> 01:11:43,920 >> Madla: Hindi ito HTML, tama? 1518 01:11:43,920 --> 01:11:45,000 Kaya maaaring magawa mong - 1519 01:11:45,000 --> 01:11:46,780 >> Jason HIRSCHHORN: Kaya ito PHP gagawin susuriin ng server side. 1520 01:11:46,780 --> 01:11:51,020 PHP ay laging sinusuri server side, kaya ikaw ay hindi kailanman magagawang makita ang code na PHP. 1521 01:11:51,020 --> 01:11:52,980 >> Madla: Pero gusto mo magagawang makita ang mga resulta ng mga kopya. 1522 01:11:52,980 --> 01:11:53,480 >> Jason HIRSCHHORN: Mag-right. 1523 01:11:53,480 --> 01:11:55,510 At totoo lang puwede hindi ilagay ang lahat ng ito sa linya. 1524 01:11:55,510 --> 01:11:59,740 Maaari itong i-format itong mabuti para sa iyo, o baka ilagay ito dito sa isang linya. 1525 01:11:59,740 --> 01:12:01,521 Hindi malinaw. 1526 01:12:01,521 --> 01:12:03,596 Ngunit oo, magandang punto. 1527 01:12:03,596 --> 01:12:06,470 >> Madla: Paano dumating ang doon Walang teksto ang pagha-highlight para sa 1528 01:12:06,470 --> 01:12:07,550 anuman sa mga utos na PHP? 1529 01:12:07,550 --> 01:12:09,370 Dahil tandaan ako nakakakita na. 1530 01:12:09,370 --> 01:12:11,620 >> Jason HIRSCHHORN: Dahil ito ay isang . HTML maghain up dito sa tuktok. 1531 01:12:11,620 --> 01:12:20,390 1532 01:12:20,390 --> 01:12:21,650 May pumunta ka. 1533 01:12:21,650 --> 01:12:25,752 1534 01:12:25,752 --> 01:12:28,800 >> Madla: Kung ginawa namin ang paunang pamamaraan may para sa mga loop, kanan, kung namin 1535 01:12:28,800 --> 01:12:33,500 Nais na i-access ng tfs, kami ay gawin tfs bracket 0 bracket, pagkatapos ay 1536 01:12:33,500 --> 01:12:35,180 [Hindi marinig]? 1537 01:12:35,180 --> 01:12:35,970 >> Jason HIRSCHHORN: gagawin mo - 1538 01:12:35,970 --> 01:12:40,560 kaya mo sinasabi na para sa para sa loop, mo gagawin sa pag-sign tfs bracket dollar 1 1539 01:12:40,560 --> 01:12:41,850 o i, i-right. 1540 01:12:41,850 --> 01:12:46,780 O kaya dollar sign isara i bracket at pagkatapos ay i-square bracket 1541 01:12:46,780 --> 01:12:49,600 double quote, oo. 1542 01:12:49,600 --> 01:12:50,640 >> OK, mahusay. 1543 01:12:50,640 --> 01:12:53,020 Mayroon kaming isa pang mabilis na isa. 1544 01:12:53,020 --> 01:12:55,090 Pitong minuto, kaya gusto ko upang pumunta sa ibabaw ng isang ito. 1545 01:12:55,090 --> 01:12:56,160 Ito ay isa pang halimbawa. 1546 01:12:56,160 --> 01:12:58,740 Humihingi kami ngayon ng lahat-lahat ng iba pang mga wika. 1547 01:12:58,740 --> 01:12:59,990 >> Mayroon kaming ilang mga HTML code. 1548 01:12:59,990 --> 01:13:02,480 1549 01:13:02,480 --> 01:13:07,460 Ito ay uri ng maliit sa screen, ngunit Gusto ko sa iyo upang tumingin sa pamamagitan nito talaga 1550 01:13:07,460 --> 01:13:11,140 mabilis, at maaari isang tao sabihin sa akin, kung ako ay upang i-load ang web page, 1551 01:13:11,140 --> 01:13:12,390 kung ano ang nais kong makita? 1552 01:13:12,390 --> 01:13:22,710 1553 01:13:22,710 --> 01:13:26,450 Ilarawan ang lahat ng bagay tungkol sa ang webpage na ito. 1554 01:13:26,450 --> 01:13:28,630 Noah? 1555 01:13:28,630 --> 01:13:30,450 Ano ang gusto kong makita? 1556 01:13:30,450 --> 01:13:38,140 >> Madla: Code sa front end ng Google na may isang pakiramdam para sa teksto at isang 1557 01:13:38,140 --> 01:13:39,190 isumite ang pindutan. 1558 01:13:39,190 --> 01:13:41,180 >> Jason HIRSCHHORN: At kung ano sasabihin ang pindutang? 1559 01:13:41,180 --> 01:13:42,430 >> Madla: ang Isumite. 1560 01:13:42,430 --> 01:13:44,620 1561 01:13:44,620 --> 01:13:45,160 Oh, paghahanap. 1562 01:13:45,160 --> 01:13:45,840 Sorry. 1563 01:13:45,840 --> 01:13:46,830 >> Jason HIRSCHHORN: Ito sasabihin ng paghahanap. 1564 01:13:46,830 --> 01:13:47,520 Tandaan, ang pangalan. 1565 01:13:47,520 --> 01:13:50,550 Ano ang ginagamit namin pangalan para sa? 1566 01:13:50,550 --> 01:13:53,774 Ang katangiang ito pangalan, kung ano ang na ginagamit para sa? 1567 01:13:53,774 --> 01:13:55,470 >> [INTERPOSING tinig] 1568 01:13:55,470 --> 01:13:59,300 >> Madla: Iyon ang pangalan nito para sa kapag nag-click? 1569 01:13:59,300 --> 01:14:00,160 >> Jason HIRSCHHORN: Iyon ay maaaring maging. 1570 01:14:00,160 --> 01:14:02,690 Ngunit ano ang gagawin sa pangkalahatan namin makita - bakit binibigyan ka namin queue pangalan na ito? 1571 01:14:02,690 --> 01:14:03,830 Bakit nakita namin na? 1572 01:14:03,830 --> 01:14:05,220 Oo. 1573 01:14:05,220 --> 01:14:08,600 >> Madla: Hindi na maging index ng mga super global variable? 1574 01:14:08,600 --> 01:14:12,740 >> Jason HIRSCHHORN: Oo, sa pangkalahatan kapag ang form na nais isumite, at pagkatapos ay kung saan 1575 01:14:12,740 --> 01:14:13,500 Gusto ito isumite sa? 1576 01:14:13,500 --> 01:14:14,750 Ano pahina? 1577 01:14:14,750 --> 01:14:16,820 1578 01:14:16,820 --> 01:14:18,460 Noah, kung ano ang pahina na nais ito upang isumite? 1579 01:14:18,460 --> 01:14:25,710 1580 01:14:25,710 --> 01:14:27,700 >> Madla: hindi ako sigurado. 1581 01:14:27,700 --> 01:14:28,920 >> Jason HIRSCHHORN: Saan maaari namin mahanap ito? 1582 01:14:28,920 --> 01:14:31,025 Saan mo mahanap kung ano ang pahina ito na isinusumite sa? 1583 01:14:31,025 --> 01:14:32,850 Ano linya ng code? 1584 01:14:32,850 --> 01:14:34,040 >> Madla: ang pagkilos na Form. 1585 01:14:34,040 --> 01:14:34,650 >> Jason HIRSCHHORN: Mismong. 1586 01:14:34,650 --> 01:14:35,130 Action. 1587 01:14:35,130 --> 01:14:37,100 Kaya ito na isinusumite sa pahina ng paghahanap. 1588 01:14:37,100 --> 01:14:38,630 Backslash paghahanap. 1589 01:14:38,630 --> 01:14:40,140 Kaya iyon mismo kanan. 1590 01:14:40,140 --> 01:14:40,680 Ano paraan? 1591 01:14:40,680 --> 01:14:42,090 >> Madla: Kumuha. 1592 01:14:42,090 --> 01:14:42,490 >> Jason HIRSCHHORN: Kumuha. 1593 01:14:42,490 --> 01:14:43,420 Mismong. 1594 01:14:43,420 --> 01:14:44,490 Kaya basahin namin ito. 1595 01:14:44,490 --> 01:14:45,180 Ito ay magiging isang form. 1596 01:14:45,180 --> 01:14:45,910 Ikaw ay akmang-akma. 1597 01:14:45,910 --> 01:14:50,340 Dalawang bagay sa form, ang pamagat ng pahina at ang tuktok ay magiging Google. 1598 01:14:50,340 --> 01:14:54,270 >> Kaya narito ang dalawang tanong na dapat mong makasagot tungkol sa pahinang ito. 1599 01:14:54,270 --> 01:15:01,760 Kung ang HTML naninirahan sa website na ito at input ng user ang bug sa ang teksto na ito 1600 01:15:01,760 --> 01:15:06,900 field dito mismo, kung ano ang URL magpapakita gumagamit ang mahanap ang kanyang sarili sa 1601 01:15:06,900 --> 01:15:08,150 pagsusumite ng form? 1602 01:15:08,150 --> 01:15:10,980 1603 01:15:10,980 --> 01:15:12,510 >> Kaya mayroon kaming ito dito mismo. 1604 01:15:12,510 --> 01:15:13,720 Pupunta ako upang bumalik sa ang pahinang ito, bagaman. 1605 01:15:13,720 --> 01:15:16,980 Kukunin ko magsulat up ito sa unang bahagi. 1606 01:15:16,980 --> 01:15:18,230 Maaari ba lahat ng tao makita sa paglipas dito? 1607 01:15:18,230 --> 01:15:30,620 1608 01:15:30,620 --> 01:15:32,906 OK, Mario, sa tingin mo alam? 1609 01:15:32,906 --> 01:15:34,700 Ano pahina? 1610 01:15:34,700 --> 01:15:37,630 >> Madla: Backslash paghahanap. 1611 01:15:37,630 --> 01:15:38,880 >> Jason HIRSCHHORN: pupuntahan ko upang ilipat pababa dito. 1612 01:15:38,880 --> 01:15:44,800 1613 01:15:44,800 --> 01:15:49,155 OK, backslash tanong sa paghahanap mark q ay katumbas ng bug. 1614 01:15:49,155 --> 01:15:53,560 1615 01:15:53,560 --> 01:15:55,165 Kahit sino ay may iba't ibang mga mungkahi? 1616 01:15:55,165 --> 01:15:57,910 1617 01:15:57,910 --> 01:15:59,160 Oo. 1618 01:15:59,160 --> 01:16:01,700 1619 01:16:01,700 --> 01:16:03,740 >> Kaya paano ko makuha namin ito? 1620 01:16:03,740 --> 01:16:05,520 Well, nakakita kami na ito bago. 1621 01:16:05,520 --> 01:16:07,170 At ikaw ay dumating up gamit ito nang mas maaga. 1622 01:16:07,170 --> 01:16:08,870 Ikaw ay karapatan, Noah, na ang pagkilos ng pagsasabi sa amin kung ano ang 1623 01:16:08,870 --> 01:16:11,700 page kami ng pagpunta sa. 1624 01:16:11,700 --> 01:16:12,820 >> Alam din natin kung ano ang pamamaraan. 1625 01:16:12,820 --> 01:16:13,420 Kami ay kasalukuyang get. 1626 01:16:13,420 --> 01:16:17,040 At ang mga pagkakaiba sa pagitan ng get at post ay na makakuha ng ipinapakita sa URL 1627 01:16:17,040 --> 01:16:18,490 at mag-post ang hindi. 1628 01:16:18,490 --> 01:16:22,760 Kaya kung na sinulat ko ang post doon sa pamamaraan, ano ang magiging naiiba? 1629 01:16:22,760 --> 01:16:24,250 >> Madla: gagawin Ito lamang maging slash paghahanap. 1630 01:16:24,250 --> 01:16:25,400 >> Jason HIRSCHHORN: gagawin Ito lamang ma-iwa paghahanap. 1631 01:16:25,400 --> 01:16:27,400 Walang bagay sa ibabaw dito ang mangyayari. 1632 01:16:27,400 --> 01:16:30,030 Ngunit dahil ito ay isang makakuha, ang URL ay ipinapakita bilang mga sumusunod. 1633 01:16:30,030 --> 01:16:35,140 Unang makita namin ang isang tandang pananong at makikita natin ang pangalan at ang halaga. 1634 01:16:35,140 --> 01:16:42,730 Sabihin nating nagkaroon ng isa sa iba pang mga patlang ng teksto at Nagbigay ako ng ito ng isang pangalan ng r at i-input ng isang 1635 01:16:42,730 --> 01:16:45,220 halaga, uod. 1636 01:16:45,220 --> 01:16:48,560 Ano ang gusto ito ngayon hitsura? 1637 01:16:48,560 --> 01:16:52,040 Isa pang field ng teksto ko, bigyan ako ng pangalanan ng r at isang halaga ng uod. 1638 01:16:52,040 --> 01:16:56,990 >> Madla: Pagkatapos bar ang kailangan mong ang ampersand uod. 1639 01:16:56,990 --> 01:16:58,380 >> Jason HIRSCHHORN: Iyon hindi ampersand. 1640 01:16:58,380 --> 01:17:00,500 >> Madla: O kaya kahit anong lamang ang at simbolo. 1641 01:17:00,500 --> 01:17:01,330 >> Jason HIRSCHHORN: Oo, hindi. 1642 01:17:01,330 --> 01:17:03,700 Ikaw ay karapatan, ako ay mali. 1643 01:17:03,700 --> 01:17:05,660 Iyon ay tulad ng isang g. 1644 01:17:05,660 --> 01:17:06,910 >> Madla: uod. 1645 01:17:06,910 --> 01:17:08,840 1646 01:17:08,840 --> 01:17:11,090 r ay katumbas ng uod, paumanhin. 1647 01:17:11,090 --> 01:17:13,970 1648 01:17:13,970 --> 01:17:14,700 >> Jason HIRSCHHORN: Mayroon bang walang r sa doon? 1649 01:17:14,700 --> 01:17:16,680 >> Madla: Hindi, mayroong. 1650 01:17:16,680 --> 01:17:18,030 >> Jason HIRSCHHORN: Susubukan naming makipag-usap tungkol na pagkatapos ng klase. 1651 01:17:18,030 --> 01:17:18,930 Iyan ay akmang-akma. 1652 01:17:18,930 --> 01:17:20,530 Kaya ang at ay tama. 1653 01:17:20,530 --> 01:17:23,430 At pagkatapos ay maaari kang magkaroon ng maraming sa mga ito, at sila ay lahat ay concatenated 1654 01:17:23,430 --> 01:17:24,950 kasama na at. 1655 01:17:24,950 --> 01:17:25,900 Kaya iyon mismo kanan. 1656 01:17:25,900 --> 01:17:27,700 >> Mayroong isa pang tanong. 1657 01:17:27,700 --> 01:17:30,676 Sketch DOM ang HTML ni, simula may dokumento. 1658 01:17:30,676 --> 01:17:33,330 1659 01:17:33,330 --> 01:17:34,570 Maaari naming gawin iyon sa loob ng dalawang minuto. 1660 01:17:34,570 --> 01:17:36,790 Gagawin namin ang ito sa paglipas dito. 1661 01:17:36,790 --> 01:17:38,040 Kukunin ko bumalik sa ang webpage na ito. 1662 01:17:38,040 --> 01:17:40,630 1663 01:17:40,630 --> 01:17:42,160 OK, simulan namin gamit ang dokumento. 1664 01:17:42,160 --> 01:17:49,698 1665 01:17:49,698 --> 01:17:52,090 >> Ano ang susunod? 1666 01:17:52,090 --> 01:17:53,910 Kaya kapag binabasa mo sa pamamagitan ng - 1667 01:17:53,910 --> 01:17:54,540 >> Madla: HTML. 1668 01:17:54,540 --> 01:17:55,790 >> Jason HIRSCHHORN: HTML ang susunod. 1669 01:17:55,790 --> 01:17:57,850 Kami ay pagpunta sa pumunta sa pamamagitan ng tag na tag. 1670 01:17:57,850 --> 01:18:00,890 Ano pagkaraan ng HTML? 1671 01:18:00,890 --> 01:18:01,550 >> Madla: 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 Ano pagkatapos ng ulo? 1675 01:18:08,520 --> 01:18:09,770 >> Madla: Pamagat. 1676 01:18:09,770 --> 01:18:11,880 1677 01:18:11,880 --> 01:18:12,560 >> Jason HIRSCHHORN: Pamagat. 1678 01:18:12,560 --> 01:18:14,740 At may isang halaga ng Google pamagat, ngunit hindi ako pagpunta sa 1679 01:18:14,740 --> 01:18:16,240 isulat na sa para sa ngayon. 1680 01:18:16,240 --> 01:18:18,750 OK, kung saan ang katawan pumunta? 1681 01:18:18,750 --> 01:18:20,890 >> Madla: darating rin off ng HTML. 1682 01:18:20,890 --> 01:18:21,490 >> Jason HIRSCHHORN: Mismong. 1683 01:18:21,490 --> 01:18:22,820 Pagdating off ng Katawan dito. 1684 01:18:22,820 --> 01:18:25,970 1685 01:18:25,970 --> 01:18:30,330 Ba ang lahat ng tao makita kung bakit iyon ang kaso? 1686 01:18:30,330 --> 01:18:32,970 Dapat marahil magagawang upang malaman mo ito out, masyadong, kahit na ako ay walang 1687 01:18:32,970 --> 01:18:33,665 ito maganda indentation. 1688 01:18:33,665 --> 01:18:37,680 >> Indentation Ang uri ng mga nagbibigay ito ang layo, ngunit maaari mong makita na ang ulo-tag ay 1689 01:18:37,680 --> 01:18:41,240 Isinara, na nangangahulugan na namin marahil Hindi maaaring bumaba dito. 1690 01:18:41,240 --> 01:18:43,460 Kailangan namin upang bumalik up sa kahit anong ay bago mismo ang ulo 1691 01:18:43,460 --> 01:18:44,730 tag, o sa ilalim na. 1692 01:18:44,730 --> 01:18:46,720 Humihingi kami ng kahit na sa head tag. 1693 01:18:46,720 --> 01:18:48,560 >> At sa ilalim ng katawan napupunta form. 1694 01:18:48,560 --> 01:18:50,300 Sa ilalim ng form na ito, mayroong dalawang input. 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 Iyon lang ang Nakatanggap ako. 1698 01:18:55,490 --> 01:18:56,980 Pagsusulit 1 ay bukas. 1699 01:18:56,980 --> 01:18:58,350 Ako kaya nasasabik para sa iyo guys. 1700 01:18:58,350 --> 01:18:59,690 Ito ay pagpunta sa maging isang sabog. 1701 01:18:59,690 --> 01:19:00,250 >> Kung mayroon kang - 1702 01:19:00,250 --> 01:19:00,600 >> Madla: [palakpakan] 1703 01:19:00,600 --> 01:19:02,460 >> Jason HIRSCHHORN: Oh itigil, ihinto. 1704 01:19:02,460 --> 01:19:04,520 Subalit hindi, ako kidding. 1705 01:19:04,520 --> 01:19:07,220 Kung mayroon kang anumang mga katanungan, i-right pagkatapos seksyon, magpapadala ako nasa labas. 1706 01:19:07,220 --> 01:19:11,700 Kung mayroon kang anumang mga katanungan ngayong gabi, huwag mag-atubiling tumawag, email, gchat, 1707 01:19:11,700 --> 01:19:12,740 kalapati sa akin carrier. 1708 01:19:12,740 --> 01:19:13,950 Good luck bukas. 1709 01:19:13,950 --> 01:19:16,220 Magkaroon ng isang kahanga-hangang Thanksgiving break na, kung hindi ko kayo makita bago pagkatapos. 1710 01:19:16,220 --> 01:19:19,320 At ako makakakita ka pagkatapos ng Thanksgiving sa Martes para sa aming mga panghuling 1711 01:19:19,320 --> 01:19:20,295 party na seksyon kailanman. 1712 01:19:20,295 --> 01:19:21,545 >> Madla: [hindi marinig]. 1713 01:19:21,545 --> 01:19:25,270 1714 01:19:25,270 --> 01:19:25,790 >> Jason HIRSCHHORN: Mahusay. 1715 01:19:25,790 --> 01:19:28,900 OK, kukunin ko na nakikita mo guys susunod linggo, o sa loob ng dalawang linggo. 1716 01:19:28,900 --> 01:19:30,150 At good luck bukas. 1717 01:19:30,150 --> 01:19:32,203