1 00:00:00,000 --> 00:00:12,040 >> [MUSIC ifa] 2 00:00:12,040 --> 00:00:16,460 >> HOPARLÖR 1: Bütün sağ, bu CS50 edir, və bu həftə dörd start edir 3 00:00:16,460 --> 00:00:20,420 və Siz eşitmişəm bilər və ya oxumaq, dünya bitən edilmişdir. 4 00:00:20,420 --> 00:00:23,520 Internet ətrafında bütün Going olmuşdur bilik və maarifləndirmə 5 00:00:23,520 --> 00:00:27,100 bir proqram, a bir səhv Bash adlı proqramlaşdırma dili. 6 00:00:27,100 --> 00:00:32,729 Bu gözəl markalı edilmişdir Shellshock ya Bash qapı kimi, 7 00:00:32,729 --> 00:00:35,485 lakin bu kimi məqalələr qeyri-adi deyil. 8 00:00:35,485 --> 00:00:38,807 Və əslində, onların çox gətirmək Heartbleed geri xatirələri, 9 00:00:38,807 --> 00:00:41,640 Siz qeyd ola bilər ötən yaz geri düyməsini basın olan 10 00:00:41,640 --> 00:00:43,980 eyni kifayət qədər dramatik idi. 11 00:00:43,980 --> 00:00:47,110 İndi sizin burada bu gün necə bir çox var 12 00:00:47,110 --> 00:00:50,330 başa düşmürəm, hətta nə Bu Shellshock eşitdim, haqqında bütün var? 13 00:00:50,330 --> 00:00:51,370 14 00:00:51,370 --> 00:00:54,245 Bütün sağ, və siz necə çox həssas kompüter var? 15 00:00:54,245 --> 00:00:55,680 16 00:00:55,680 --> 00:01:00,250 OK, uzaq daha əlləri olmalıdır indi up səbəblərdən biz görəcəksiniz. 17 00:01:00,250 --> 00:01:02,580 >> Nin nə bir nəzər salaq KİV-də davam 18 00:01:02,580 --> 00:01:05,304 və sonra bir az izah Burada bizim üçün texniki. 19 00:01:05,304 --> 00:01:07,670 20 00:01:07,670 --> 00:01:11,250 >> HOPARLÖR 2: Təhlükəsizlik mütəxəssisləri var xəbərdarlığını ciddi bir qüsur ola bilər ki, 21 00:01:11,250 --> 00:01:15,650 yüzlərlə təsir haqqında Dünyanın web istifadəçilər milyonlarla. 22 00:01:15,650 --> 00:01:20,600 Belə ki, məhz oldu ki, səhv nə Shellshock dublyaj, və o nə edir? 23 00:01:20,600 --> 00:01:23,720 24 00:01:23,720 --> 00:01:28,910 Yaxşı, Shellshock də kimi tanınır Bash bug, bu istismar proqram. 25 00:01:28,910 --> 00:01:33,230 Hackers həssas scan virus istifadə Linux və Unix çalışan sistemləri 26 00:01:33,230 --> 00:01:36,300 əməliyyat sistemləri və onlara sirayət. 27 00:01:36,300 --> 00:01:38,730 Bash bir command line shell edir. 28 00:01:38,730 --> 00:01:43,460 Bu istifadəçi məsələ başlamaq üçün əmr verir proqram çərçivəsində proqramları və xüsusiyyətləri 29 00:01:43,460 --> 00:01:45,250 mətn yazaraq. 30 00:01:45,250 --> 00:01:49,980 Bu adətən proqramçılar tərəfindən istifadə, və oldu dünyaya açıq olmamalıdır, 31 00:01:49,980 --> 00:01:51,590 Shellshock dəyişir baxmayaraq. 32 00:01:51,590 --> 00:01:54,160 33 00:01:54,160 --> 00:01:57,910 >> Yaxşı, worringly, bəzi analitiklər Bu böyük təhlükə ola bilər xəbərdarlıq, 34 00:01:57,910 --> 00:02:01,580 Shellshock tam imkan verir, çünki bir yoluxmuş maşın nəzarət, 35 00:02:01,580 --> 00:02:06,030 Heartbleed isə yalnız icazə hakerlər kompüter casus. 36 00:02:06,030 --> 00:02:09,130 Bu, belə ki, ciddi 10 bir 10 qiymətləndirilib edilmişdir 37 00:02:09,130 --> 00:02:11,900 Milli tərəfindən şiddətli Açığı Database. 38 00:02:11,900 --> 00:02:15,530 39 00:02:15,530 --> 00:02:20,015 Bütün web server 2/3 var Bəzi Mac kompüterlər daxil olmaqla risk. 40 00:02:20,015 --> 00:02:22,760 41 00:02:22,760 --> 00:02:25,600 Yaxşı, siz əmin olun İndi sistemləri yama. 42 00:02:25,600 --> 00:02:29,330 Bir web çalışan hosting hər kəs təsirlənən əməliyyat sistemləri 43 00:02:29,330 --> 00:02:31,800 qısa müddətdə tədbirlər görməlidir. 44 00:02:31,800 --> 00:02:35,390 Bu baxmaq lazımdır ödəyə bilər hər kəs onların monitorinqi və web tətbiqi 45 00:02:35,390 --> 00:02:37,355 firewall hər hansı hücumlar üçün baxmaq. 46 00:02:37,355 --> 00:02:39,979 47 00:02:39,979 --> 00:02:41,770 HOPARLÖR 3: pis şey ola bilər ki, 48 00:02:41,770 --> 00:02:45,080 Kimsə kodu yazmaq olardı ki, avtomatik getmək və scan ki, 49 00:02:45,080 --> 00:02:48,280 internet və təsir Bu kompüter bütün. 50 00:02:48,280 --> 00:02:50,710 Və onlar, bunu bir dəfə, onlar nə edə bilər, ən pis şey 51 00:02:50,710 --> 00:02:53,300 yalnız hər şeyi silin, və ya aşağı saytlar bağlamaq. 52 00:02:53,300 --> 00:02:55,360 Beləliklə, biz ziyan oldu bu nöqteyi-dan, 53 00:02:55,360 --> 00:02:58,300 biz pis niyyətli insanlar var ki, burada olan yalnız havoc səbəb qərar 54 00:02:58,300 --> 00:03:02,534 sistemləri aşağı salınmasında və ya silinməsi ilə kimi faylları, və hər şeyi. 55 00:03:02,534 --> 00:03:05,200 HOPARLÖR 2: Bəzi bu demək ən çətin ölçmək üçün 56 00:03:05,200 --> 00:03:08,080 il bugs, və bu həftə və ya hətta bilər 57 00:03:08,080 --> 00:03:10,820 ay son təsirini müəyyən etmək üçün. 58 00:03:10,820 --> 00:03:12,180 59 00:03:12,180 --> 00:03:15,560 >> HOPARLÖR 1: Belə ki, bütün doğrudur lakin funny şey demək olar ki, bütün deyil 60 00:03:15,560 --> 00:03:18,330 görüntü yalnız gördüm, bəlkə klaviatura istisna olmaqla, 61 00:03:18,330 --> 00:03:20,930 ilə əlaqəsi yoxdur heç səhv. 62 00:03:20,930 --> 00:03:23,960 Serverlər və teller və s, bu cür tangentially bağlı oldu, 63 00:03:23,960 --> 00:03:27,410 lakin əsas olduqca həqiqətən tanış burada neler. 64 00:03:27,410 --> 00:03:30,050 Əslində, mənə gedək bizim CS50 cihaz. 65 00:03:30,050 --> 00:03:32,910 Mənə irəli getmək və maksimize bildirin burada terminal pəncərə. 66 00:03:32,910 --> 00:03:36,020 Və uşaqlar, bu istifadə edilmişdir və ya, onun versiyası əlaqədar 67 00:03:36,020 --> 00:03:39,460 proqramları yazmaq üçün gedit, s komutları yazın və, 68 00:03:39,460 --> 00:03:43,690 və bu həqiqətən var və həftə, Bash, B-A-S-H olmuşdur. 69 00:03:43,690 --> 00:03:46,890 Bu edir Bourne yenidən, shell olan deyərək bir xülya yoludur, 70 00:03:46,890 --> 00:03:50,220 bu bir var ki, bir proqram səmərəli, tez yanıb-sönən, 71 00:03:50,220 --> 00:03:51,970 ki, gözləyir oturur sizin üçün giriş üçün. 72 00:03:51,970 --> 00:03:53,920 Və komanda var line interface olan vasitəsilə 73 00:03:53,920 --> 00:03:57,650 Sizlərin əmrləri çalışan edilmişdir və nəticədə tərtib və sonra çalışan 74 00:03:57,650 --> 00:03:58,400 proqramları. 75 00:03:58,400 --> 00:04:01,320 >> Amma Bash də proqramlaşdırma Aşağıdakı mənada dil. 76 00:04:01,320 --> 00:04:05,460 Siz kimi əmrləri olduğunu bilirik cd və ls və həmçinin cingilti və başqaları, 77 00:04:05,460 --> 00:04:09,580 lakin öz əmrləri müəyyən edə bilərsiniz Bash onları həyata. 78 00:04:09,580 --> 00:04:11,420 İndi biz fikrində deyilik böyük ətraflı daxil 79 00:04:11,420 --> 00:04:16,089 kimi proqramlaşdırma dili cümbüş, lakin , məsələn, bilirsiniz, an ki, 80 00:04:16,089 --> 00:04:17,607 adlı komanda var "salam". 81 00:04:17,607 --> 00:04:19,440 Belə ki, bilər Bu paketləri biridir. 82 00:04:19,440 --> 00:04:20,856 Bu, mənim kompüter yüklü deyil. 83 00:04:20,856 --> 00:04:21,870 Sizin administrator soruşun. 84 00:04:21,870 --> 00:04:26,030 Amma orada istəyirsinizsə bir proqram üçün Bash ya mənim sətirinə "salam" adlı, 85 00:04:26,030 --> 00:04:30,810 Mən, həqiqətən, ki, sintaksis istifadə edə bilərsiniz olduqca C. kimi, kifayət qədər eyni deyil 86 00:04:30,810 --> 00:04:35,020 ancaq bir olduqca benzer funksiyası, bəzi təfərrüatları itkin olsa. 87 00:04:35,020 --> 00:04:38,090 Heç bir şey görünür, lakin indi mən "salam" yazın əgər 88 00:04:38,090 --> 00:04:40,960 Siz, həqiqətən, bir yaza bilərsiniz proqram deyil C deyil, Java, 89 00:04:40,960 --> 00:04:44,280 başqa proqramlaşdırma dil, lakin Bash özü. 90 00:04:44,280 --> 00:04:47,630 >> İndi burada əsas mən yazdı ki, Bu yeni bir əmr vermək istədim ad, 91 00:04:47,630 --> 00:04:50,820 və parantez də Bu simvolik bir funksiyası olan. 92 00:04:50,820 --> 00:04:54,010 Bir kənara kimi, siz də əyləncə edə bilərsiniz və əslində, hətta Mac OS şeyi, 93 00:04:54,010 --> 00:04:55,620 Bu Terminal adlı bir proqramdır. 94 00:04:55,620 --> 00:04:58,800 Bu hər kəs daxil gəlir Bu otaqda bir Mac var ki, kompüter, 95 00:04:58,800 --> 00:05:03,640 və Mac bənzər şeylər edə bilərsiniz OS, lakin siz kənarda bilərsiniz. 96 00:05:03,640 --> 00:05:07,110 Və bu, bir az teğet lakin bu cür əyləncə var. 97 00:05:07,110 --> 00:05:09,715 Mən bu səhər xatırladıldı, Bu vasitəsilə düşünür zaman, 98 00:05:09,715 --> 00:05:13,279 bir az oyun Mən oynamaq üçün istifadə CS50 keçmiş TFS biri ilə 99 00:05:13,279 --> 00:05:16,570 istənilən vaxt, o uzaq gəzmək vasitəsi onun ekranda ilə klaviatura oxunuş, 100 00:05:16,570 --> 00:05:23,611 Mən bir əmri yerinə olardı bu kimi "salam demək." 101 00:05:23,611 --> 00:05:26,610 İndi hər hansı bir zaman o geri gəldi onun klaviatura Mən ekran rəsmiləşdirilməyib sonra 102 00:05:26,610 --> 00:05:27,985 və o, aşağı oturmaq olardı bəzi iş etmək üçün cəhd, 103 00:05:27,985 --> 00:05:29,250 onun qovluğu məzmunu siyahısı 104 00:05:29,250 --> 00:05:29,510 >> [AUDIO playback] 105 00:05:29,510 --> 00:05:30,010 >> -Alo. 106 00:05:30,010 --> 00:05:31,621 107 00:05:31,621 --> 00:05:32,120 Hello. 108 00:05:32,120 --> 00:05:35,030 >> Ədalət Belə ki,: HOPARLÖR 1 Bu "salam". həqiqətən deyil 109 00:05:35,030 --> 00:05:36,894 Bu adətən bir şey idi that-- daha yaxın 110 00:05:36,894 --> 00:05:37,560 [AUDIO playback] 111 00:05:37,560 --> 00:05:37,750 -Beep. 112 00:05:37,750 --> 00:05:39,320 HOPARLÖR 1: I would-- --that belə ki, onun kompüter ki 113 00:05:39,320 --> 00:05:42,170 O, həqiqətən, ona heç bir zaman and onun klaviatura oturdu. 114 00:05:42,170 --> 00:05:46,265 Və çox tez o fiqurlu Onun ekran etmişlər tərk etmək deyil. 115 00:05:46,265 --> 00:05:48,730 Amma bu cür təklif axmaq əyləncə ki, 116 00:05:48,730 --> 00:05:50,210 Bash kimi bir şey ilə ola bilər. 117 00:05:50,210 --> 00:05:52,770 Amma bir az daha çox ciddi, daha əmin olmaq. 118 00:05:52,770 --> 00:05:57,235 Və əslində, bu biridir ən təhlükəli və uzunmüddətli bugs 119 00:05:57,235 --> 00:05:58,860 həqiqətən qlobal dünya isabət etdi. 120 00:05:58,860 --> 00:06:02,060 Bu səhv ətrafında olmuşdur 20 ildir, 121 00:06:02,060 --> 00:06:05,780 və yalnız bir də vurdu olacaq onun nisbi sadəliyi an. 122 00:06:05,780 --> 00:06:07,990 >> Belə ki, bu nümayəndəsidir əmr əgər 123 00:06:07,990 --> 00:06:10,448 sanki indi, Mac öz Siz qapaq açıq zaman, 124 00:06:10,448 --> 00:06:12,940 ki yazaraq cəhd edə bilərsiniz Terminal adlı program. 125 00:06:12,940 --> 00:06:15,410 Terminal altında Proqramlar kommunal xidmət 126 00:06:15,410 --> 00:06:18,790 bir dəfə üçün, Windows users yoxdur bu threat-- narahat 127 00:06:18,790 --> 00:06:22,310 lakin Macs ilə sizin yazın bir pəncərə bu mən burada edəcəyik kimi, 128 00:06:22,310 --> 00:06:24,210 və siz yazın əgər Bu proqram ki, 129 00:06:24,210 --> 00:06:28,830 Mən indi nə olacaq kimi, Terminal adlı, Sözü görmək əgər "zəif" 130 00:06:28,830 --> 00:06:32,200 Sizin kompüter istismar həssas. 131 00:06:32,200 --> 00:06:33,850 >> İndi həqiqətən nə deməkdir? 132 00:06:33,850 --> 00:06:35,870 Və bu etiraf edir bəzi olduqca crazy sintaksis, 133 00:06:35,870 --> 00:06:39,050 lakin ən azı çəkmək imkan maraqlı aspektləri bəzi. 134 00:06:39,050 --> 00:06:42,567 Belə görünür ki, bəzi sintaksis var ən azı C, tanış bir az 135 00:06:42,567 --> 00:06:43,950 və daha çox, ümumiyyətlə proqramlaşdırma. 136 00:06:43,950 --> 00:06:47,550 Mən bəzi parantez görmək, semicolons, qıvrım aşırma və bu, 137 00:06:47,550 --> 00:06:50,820 lakin bu çıxır ki, sarı burada axmaq şey 138 00:06:50,820 --> 00:06:53,580 bir funksiyası əsasən ki, heç bir şey yoxdur. 139 00:06:53,580 --> 00:06:57,840 Kolon vasitələri heç bir şey, və nöqtəli vergül heç bir şey bunu dayandırmaq deməkdir. 140 00:06:57,840 --> 00:07:00,250 Bu daxili Belə ki, qıvrım aşırma, əslində 141 00:07:00,250 --> 00:07:02,440 Mən bərabər var ki, sol, bu imza 142 00:07:02,440 --> 00:07:05,500 mahiyyətcə yaradır bir komanda və ya bir dəyişən, 143 00:07:05,500 --> 00:07:09,520 x adlanır və onu təyin orada kodu ki, sarı bit. 144 00:07:09,520 --> 00:07:14,040 Ki, "echo kimi bir şey ola bilər salam "və ya" beep "və ya bir şey 145 00:07:14,040 --> 00:07:15,120 ki, yaxın. 146 00:07:15,120 --> 00:07:17,780 Ancaq gözləri əgər bildiriş doğru daha gezmek, 147 00:07:17,780 --> 00:07:22,150 artıq bu xətt daha çox var ki, nöqtəli vergül yalnız son. 148 00:07:22,150 --> 00:07:25,160 Sonra ", həssas Echo" və kənarda daha çox var. 149 00:07:25,160 --> 00:07:26,530 Digər nöqtəli vergül, bash c :. 150 00:07:26,530 --> 00:07:28,120 151 00:07:28,120 --> 00:07:34,050 >> Belə ki, uzun hekayə qısa, kodu bu xətt 152 00:07:34,050 --> 00:07:36,660 çekici üçün kifayət qədər ki, bir kompüter 153 00:07:36,660 --> 00:07:39,830 bir şey bunu həssas Siz etmək istəyirəm ki, 154 00:07:39,830 --> 00:07:44,290 Bash vasitəsi bir səhv var, çünki Bash dayandırmaq idi baxmayaraq 155 00:07:44,290 --> 00:07:48,980 command sağ oxu xətləri orada sarı mətn sonra, 156 00:07:48,980 --> 00:07:52,520 20-plus yaşlı səhv, Bash həqiqətən oxu olmuşdur 157 00:07:52,520 --> 00:07:56,780 ki, nöqtəli vergül kənarda və olduqca qədər izah nə. 158 00:07:56,780 --> 00:07:59,070 >> Belə ki, dolayısı nə var ki, nəticədə? 159 00:07:59,070 --> 00:08:01,340 Mən yalnız "salam echo" dedi və ya "zəif echo" 160 00:08:01,340 --> 00:08:05,449 lakin nə bir şey idi əgər həqiqətən zərərli, rm-rf * kimi, 161 00:08:05,449 --> 00:08:07,240 siz ola bilər əvvəl heç yazdığınız, 162 00:08:07,240 --> 00:08:08,920 və səmimi yəqin ki, çox tezliklə olmalıdır, 163 00:08:08,920 --> 00:08:10,700 Bir edə bilərsiniz, çünki bu zərər var. 164 00:08:10,700 --> 00:08:11,210 Niyə? 165 00:08:11,210 --> 00:08:12,990 rm əlbəttə nə yoxdur? 166 00:08:12,990 --> 00:08:14,270 Rədd et. 167 00:08:14,270 --> 00:08:15,930 * Nə deməkdir? 168 00:08:15,930 --> 00:08:16,430 Bütün. 169 00:08:16,430 --> 00:08:18,180 Belə ki, qondarma var vəhşi kart, o deməkdir ki, 170 00:08:18,180 --> 00:08:20,410 hər şeyi silmək cari kataloq. 171 00:08:20,410 --> 00:08:23,379 r recursive demək olur, Siz silmə ne varsa deməkdir 172 00:08:23,379 --> 00:08:26,420 bir kataloq və orada daxili Digər faylları və digər rehberler edir 173 00:08:26,420 --> 00:08:28,950 recursively var dive və bütün silin. 174 00:08:28,950 --> 00:08:31,040 Və f onlara bütün pis deyil. 175 00:08:31,040 --> 00:08:32,580 Hər kəs f burada nə deməkdir bilirsinizmi? 176 00:08:32,580 --> 00:08:33,690 177 00:08:33,690 --> 00:08:34,360 Force. 178 00:08:34,360 --> 00:08:37,830 Belə ki, hətta, vasitələri məcbur Bu pis bir fikir varsa, 179 00:08:37,830 --> 00:08:40,939 məni isteyen olmadan bunu daha təsdiqi üçün. 180 00:08:40,939 --> 00:08:43,230 Belə ki, bilirsiniz, biz gülmək Bu, lakin səmimi, mən yəqin ki, 181 00:08:43,230 --> 00:08:44,972 bu neçə dəfə yazın bir gün reallıq çünki 182 00:08:44,972 --> 00:08:47,210 bu sürətli yoldur heyəti bütün dəstə silin. 183 00:08:47,210 --> 00:08:48,590 Lakin hətta mən bir zərər görmüşük. 184 00:08:48,590 --> 00:08:53,100 >> Amma bir kompüter oyun olsaydı bəzi axmaq dəyişən müəyyən daxil 185 00:08:53,100 --> 00:08:56,810 və ya funksiyası x adlı, lakin sonra icra daxil kompüter tricking 186 00:08:56,810 --> 00:09:00,030 ki hüdudlarından kənarda funksiyası ki, nöqtəli vergül kənarda, 187 00:09:00,030 --> 00:09:04,430 Siz həqiqətən bir kompüter bezemek bilər rm kimi bir şey həyata daxil rf 188 00:09:04,430 --> 00:09:07,810 və ya E-poçt command və ya Copy command. 189 00:09:07,810 --> 00:09:11,400 Anything sözün siz ilə edə bilərsiniz kompüter, faylları silmə olsun, 190 00:09:11,400 --> 00:09:15,350 , faylları yaratmaq kimsə spam, uzaqdan bir server hücum, 191 00:09:15,350 --> 00:09:17,190 Siz ifadə edə bilər, əgər bir komanda ilə, siz 192 00:09:17,190 --> 00:09:19,120 bunu bir kompüter bezemek bilər. 193 00:09:19,120 --> 00:09:21,510 >> İndi bir nümunə nə bunu necə edə bilər? 194 00:09:21,510 --> 00:09:24,300 Yaxşı, kompüter bir çox var internet çalışan Bash. 195 00:09:24,300 --> 00:09:26,390 Us Mac istifadəçilər onların bütün var. 196 00:09:26,390 --> 00:09:30,390 Linux server bir çox var həmçinin onlara və Unix server. 197 00:09:30,390 --> 00:09:32,630 Windows yenidən alır nisbətən çəngəl off 198 00:09:32,630 --> 00:09:34,590 Siz quraşdırılmış olduğunuz halda xüsusi proqram. 199 00:09:34,590 --> 00:09:37,130 Server İndi bir çox üçün Məsələn, run web server, 200 00:09:37,130 --> 00:09:39,840 və əslində Linux bəlkə edir ən məşhur əməliyyat sistemi 201 00:09:39,840 --> 00:09:43,060 internet kompüter yayınlanması ki, web pages xidmət edir. 202 00:09:43,060 --> 00:09:44,910 İndi biz sonra görəcəksiniz kimi semestr zaman 203 00:09:44,910 --> 00:09:48,470 Siz bir sorğu göndərə Sizin browser Chrome, 204 00:09:48,470 --> 00:09:50,790 Internet Explorer, whatever-- bir uzaq server, 205 00:09:50,790 --> 00:09:53,730 O çıxır ki, hətta baxmayaraq Yalnız tipli www.example.com, 206 00:09:53,730 --> 00:09:59,590 Sizin browser bir mesaj göndərir ki, bir az daha gizli, bu kimi. 207 00:09:59,590 --> 00:10:01,239 >> Amma bir az qəribə bir şey hiss. 208 00:10:01,239 --> 00:10:03,030 İlk iki xətləri Mən əvvəl görməmişəm 209 00:10:03,030 --> 00:10:04,904 lakin onlar baxmaq deyil xüsusilə təhlükəli. 210 00:10:04,904 --> 00:10:08,030 Amma oğurlanmış etdik nə görürsünüz Burada üçüncü xətti. 211 00:10:08,030 --> 00:10:13,390 Pis oğlan bir mesaj göndərmək üçün, əgər onun kompüter bu kimi 212 00:10:13,390 --> 00:10:17,270 zəif Mac və ya a həssas Linux server, 213 00:10:17,270 --> 00:10:21,580 lətifə ki, Bash edir ki, sadə az əmr sətri, 214 00:10:21,580 --> 00:10:27,450 hər yerdə və tez-tez mahiyyətcə icra istifadə 215 00:10:27,450 --> 00:10:30,020 bir məzmunu aldığı mesajı. 216 00:10:30,020 --> 00:10:33,490 Və məntiq, siz Buna görə də, bir web server bezemek, 217 00:10:33,490 --> 00:10:36,370 kimi bir şey göndərmək User-Agent, adətən 218 00:10:36,370 --> 00:10:38,300 Bu ehtimal edilir Brauzerinizin adı. 219 00:10:38,300 --> 00:10:42,420 User-Agent Chrome, User-Agent Internet Explorer, User-Agent Firefox, bu 220 00:10:42,420 --> 00:10:44,590 yalnız brauzerinizin edir özünü müəyyən yoldur. 221 00:10:44,590 --> 00:10:46,605 Amma əgər pis oğlan çox ağılla mm-mm, mən deyir 222 00:10:46,605 --> 00:10:47,930 sizə niyyətində deyil nə mənim brauzerinizin, 223 00:10:47,930 --> 00:10:50,888 Mən əvəzinə bu göndərmək üçün gedirəm bir rm-rf ilə şey sirli görünüşlü 224 00:10:50,888 --> 00:10:55,840 * Bu, sözün bir bezemek bilər internet həssas web server 225 00:10:55,840 --> 00:10:59,055 məhz icra daxil orada bütün faylları silmek üçün. 226 00:10:59,055 --> 00:11:00,930 Və səmimi, ki, deyil Bu hətta ən pis. 227 00:11:00,930 --> 00:11:01,763 Siz bir şey edə bilərsiniz. 228 00:11:01,763 --> 00:11:04,480 Siz başlamaq bilər paylanmış xidmət hücum inkar 229 00:11:04,480 --> 00:11:07,030 Siz bu mesajı göndərilir web server bütün dəstələri 230 00:11:07,030 --> 00:11:10,256 və onlara bütün, enmək idi Məsələn, Harvard.edu server, 231 00:11:10,256 --> 00:11:12,130 və bang sıralayabilirsiniz onların həyata heck 232 00:11:12,130 --> 00:11:15,490 ki, bir şəbəkə trafik başqa, bu pis oğlan tərəfindən səbəb. 233 00:11:15,490 --> 00:11:18,760 >> Belə ki, uzun hekayə qısa, demək olar ki, Mac sahibi olan bu otaqda hər kəs 234 00:11:18,760 --> 00:11:20,240 Bu həssasdır. 235 00:11:20,240 --> 00:11:24,100 Gümüş astarlı siz değilseniz ki Sizin laptop bir web server çalışan, 236 00:11:24,100 --> 00:11:27,780 və həqiqətən konfiqurasiya olduğunuz halda Bu, onu SSH kimi bir şey imkan 237 00:11:27,780 --> 00:11:28,670 Siz, həqiqətən, təhlükəsiz edirik. 238 00:11:28,670 --> 00:11:31,710 Bu həssas, lakin heç bir var bir laptop almaq üçün çalışırıq, 239 00:11:31,710 --> 00:11:33,290 belə ki, sort arxayın ola bilərsiniz. 240 00:11:33,290 --> 00:11:36,210 Lakin, Apple tezliklə olacaq bu bir düzeltme yenilənməsi olacaq. 241 00:11:36,210 --> 00:11:39,660 Linux dünya artıq azad etdi Fedora və Ubuntu üçün giderir bir sıra 242 00:11:39,660 --> 00:11:43,790 və digər Linux versiyasını, həqiqətən, Siz cihaz yeniləmə 50 run əgər, 243 00:11:43,790 --> 00:11:45,930 çox olacaq ki, hətta yenilənir və düzəldilir. 244 00:11:45,930 --> 00:11:47,764 Lakin çox deyil həqiqətən, həssas olmuşdur 245 00:11:47,764 --> 00:11:49,804 Siz var halda, çünki cihaz ilə tinkered 246 00:11:49,804 --> 00:11:52,770 və açıq dizüstü etdi olmayan internet əlçatan 247 00:11:52,770 --> 00:11:54,910 default, Siz var həqiqətən, çünki gözəl olmuşdur 248 00:11:54,910 --> 00:11:56,890 firewalling və digər texnika. 249 00:11:56,890 --> 00:12:01,000 >> Amma bir səhv bir ifrat nümunəsidir var biz sözün 20 üçün yaşamış etdik ki, 250 00:12:01,000 --> 00:12:04,050 il, kimsə əgər bilir bütün bu vaxt bu barədə məlum? 251 00:12:04,050 --> 00:12:06,300 Və əslində, bu bir edir əsas problemlər 252 00:12:06,300 --> 00:12:08,690 biz sonra görəcəksiniz ki, təhlükəsizlik haqqında semestr, 253 00:12:08,690 --> 00:12:13,020 ki, yalnız real dünyada kimi yaxşı uşaqlar əlverişsiz edir. 254 00:12:13,020 --> 00:12:16,500 Pis uşaqlar həyata saxlamaq üçün, biz var hər qapı kilidli əmin olun ki, 255 00:12:16,500 --> 00:12:20,340 hər pəncərə ki, təhlükəsiz ki, bir ev girdiyi hər nöqtə 256 00:12:20,340 --> 00:12:21,980 pis uşaqlar həyata saxlamaq üçün təhlükəsiz edir. 257 00:12:21,980 --> 00:12:26,870 Amma nə pis oğlan var həqiqətən, sizin ev güzəştə etmək 258 00:12:26,870 --> 00:12:28,200 və siz oğurlamaq? 259 00:12:28,200 --> 00:12:32,574 O yalnız oxunuş bir tapmaq üçün var qapı, bir broken pəncərə və ya bir şey 260 00:12:32,574 --> 00:12:35,240 o xətlər boyunca və bu var kompüter təhlükəsizliyi eyni şey. 261 00:12:35,240 --> 00:12:37,660 Biz milyonlarla yaza bilərsiniz proqramlaşdırma kodu xətləri 262 00:12:37,660 --> 00:12:40,570 və yüzlərlə və ya minlərlə sərf Doğru almaq üçün çalışırıq saat, 263 00:12:40,570 --> 00:12:43,370 lakin əgər siz yalnız bir etmək düzgünlüyünə səhv, 264 00:12:43,370 --> 00:12:47,030 Siz bütün sistemi qoya bilər və həqiqətən, bu halda, bütün internet 265 00:12:47,030 --> 00:12:48,660 və risk dünya. 266 00:12:48,660 --> 00:12:51,950 >> Daha çox öyrənmək istəyirsinizsə Belə ki, Bu barədə, burada bu URL getmək. 267 00:12:51,950 --> 00:12:54,450 Fəaliyyət üçün heç bir ehtiyac yoxdur gecə siz değilseniz 268 00:12:54,450 --> 00:12:57,116 o daha rahat arasında Öz web çalışan edilmişdir 269 00:12:57,116 --> 00:12:59,810 server, hansı olmalıdır halda, Əslində, proqram yeniləmə. 270 00:12:59,810 --> 00:13:03,244 >> Və bu da başlığı çıxış, və indi kağız, 271 00:13:03,244 --> 00:13:05,410 biz bağlıdır etdik ki, Bu gün üçün kurs veb. 272 00:13:05,410 --> 00:13:07,600 Bu bir yoldaş idi adlı Ken Thompson, kim 273 00:13:07,600 --> 00:13:10,120 bir çox məşhur qəbul edilib kompüter mükafat, 274 00:13:10,120 --> 00:13:13,495 və o, bir neçə il bu çıxış əvvəl, mahiyyətcə eyni mövzu haqqında. 275 00:13:13,495 --> 00:13:18,250 276 00:13:18,250 --> 00:13:20,520 Sual millət xahiş, Siz olmalıdır həqiqətən 277 00:13:20,520 --> 00:13:23,480 inam, nəticədə, proqram verilmişdir etdik? 278 00:13:23,480 --> 00:13:26,100 Məsələn, biz bütün var, proqramları yazılı edilmişdir, 279 00:13:26,100 --> 00:13:27,820 və biz tərtib etdik cingilti ilə onlara. 280 00:13:27,820 --> 00:13:31,830 Və sizin bilik, siz yazılı CS50 üçün hər hansı bir proqram var olduğu 281 00:13:31,830 --> 00:13:35,310 növ arxa qapı, bir yol var pis oğlan ki, sizin proqram çalışan əgər, 282 00:13:35,310 --> 00:13:37,410 Sizin kompüter üzərində bilər? 283 00:13:37,410 --> 00:13:38,310 Yəqin ki, sağ? 284 00:13:38,310 --> 00:13:40,180 Mario, və Greedy, və kredit. 285 00:13:40,180 --> 00:13:41,680 Bu bütün olduqca kiçik proqramları var. 286 00:13:41,680 --> 00:13:43,910 Siz olduqca olmaq istədiyiniz pis həqiqətən əgər 287 00:13:43,910 --> 00:13:47,310 bütün kompüter həssas edib kodu 10 və ya 20 xətləri yazılı sonra, 288 00:13:47,310 --> 00:13:49,690 və ya ən azı xəbərsiz təhlükəsizlik nəticələri. 289 00:13:49,690 --> 00:13:52,023 İndi mən ki, Facetiously demək lakin biz bu gün görmək olacaq 290 00:13:52,023 --> 00:13:54,600 və bu həftə həqiqətən həqiqətən, həqiqətən, asan 291 00:13:54,600 --> 00:13:57,980 pis və hətta etmək üçün qısa proqramları həssas. 292 00:13:57,980 --> 00:14:02,880 >> Amma indi, ən azı, həyata sual burada xahiş olunur ki, 293 00:14:02,880 --> 00:14:04,850 bir compiler cingilti haqqında. 294 00:14:04,850 --> 00:14:08,360 Niyə biz cingilti etibar edilmişdir Son iki və ya üç həftə? 295 00:14:08,360 --> 00:14:12,650 Kim kim cingilti yazırdı ki, demək deyil orada bir "əgər" şərt yox idi 296 00:14:12,650 --> 00:14:17,680 ki, mahiyyətcə bir adet sıfır vurulub və hər proqram olanları tərtib 297 00:14:17,680 --> 00:14:21,180 ki, imkan verərdi ona və ya onun giriş Sizin kompüter zaman yuxuda etdiyiniz 298 00:14:21,180 --> 00:14:23,580 və laptop qapaq açıq və kompüter çalışan? 299 00:14:23,580 --> 00:14:24,080 Right? 300 00:14:24,080 --> 00:14:28,350 Biz şərəf sistemi hüququnun bu cür var İndi biz cingilti legit ki, etibar yerləşir. 301 00:14:28,350 --> 00:14:30,000 Siz cihaz legit ki, etibar. 302 00:14:30,000 --> 00:14:34,430 Siz etibar sanki hər proqram Mac və ya PC etibarlı deyil. 303 00:14:34,430 --> 00:14:37,510 Və bu sadə səhv təklif kimi, bu zərərli deyil, hətta, 304 00:14:37,510 --> 00:14:40,580 ki, tamamilə deyil Bu halda ola bilər. 305 00:14:40,580 --> 00:14:42,350 >> Belə ki, cəhənnəm kimi qorxuram edilməlidir. 306 00:14:42,350 --> 00:14:45,560 Açığı, heç bir sadə var bu digər həll 307 00:14:45,560 --> 00:14:48,185 ictimai maarifləndirmə bir növ daha çox artan mürəkkəbliyi 308 00:14:48,185 --> 00:14:50,310 biz üst tikinti edirik ki, kompüter sistemləri, 309 00:14:50,310 --> 00:14:53,740 və necə getdikcə həssas biz çox yaxşı ola bilər. 310 00:14:53,740 --> 00:14:55,570 >> İndi Breakout qeyd etdi. 311 00:14:55,570 --> 00:14:59,889 Belə ki, Breakout edir problem üç qurmaq, Breakout yesteryear bir oyun 312 00:14:59,889 --> 00:15:02,180 Siz geri bilər ki, lakin Bizim üçün problem, üç müəyyən 313 00:15:02,180 --> 00:15:04,450 bizə etmək üçün imkan verir şeyi bir pillə geri 314 00:15:04,450 --> 00:15:08,880 biz proqramları yazılı zaman, belə ki, hətta bu kimi bir Terminal pəncərə, 315 00:15:08,880 --> 00:15:14,670 biz, həqiqətən, nəticədə, çalıştırabilirsiniz qrafik proqramlar 316 00:15:14,670 --> 00:15:17,800 fərqli olaraq biz idi Not çıxış. 317 00:15:17,800 --> 00:15:20,910 Belə ki, bu heyət nin Breakout həyata keçirilməsi, 318 00:15:20,910 --> 00:15:23,930 yalnız bu kərpic-breaking edir oyun, geri sizin avar hərəkət edən 319 00:15:23,930 --> 00:15:27,590 və irəli, və siz top hit üst qədər o rəngli kərpic qarşı. 320 00:15:27,590 --> 00:15:30,020 Belə ki, bu bizi cəlb edir sort geri harada 321 00:15:30,020 --> 00:15:33,180 biz çox tez ola idi Not, indi C, 322 00:15:33,180 --> 00:15:35,800 öz həyata qrafik istifadəçi interfeys. 323 00:15:35,800 --> 00:15:38,960 >> Lakin daha çox, bu problem set ilk təqdim 324 00:15:38,960 --> 00:15:41,000 biz ötürür Siz kodu bir dəstə. 325 00:15:41,000 --> 00:15:43,940 Və əslində, mən açıq gətirmək Bu diqqət, xüsusilə, çünki 326 00:15:43,940 --> 00:15:47,090 o az rahat, bu problem, ən azı ilk baxışdan, müəyyən 327 00:15:47,090 --> 00:15:49,170 kimi hiss edir biz bir notch onu qəbul etdik. 328 00:15:49,170 --> 00:15:51,540 , Biz sizə təqdim etdik, çünki axtarış bəzi 329 00:15:51,540 --> 00:15:54,930 və pset problemləri çeşidlənməsi, biz yazırdı ki kodu bir dəstə, 330 00:15:54,930 --> 00:15:56,680 və şərh bir neçə ki, "nə üçün" demək 331 00:15:56,680 --> 00:15:58,221 siz blanklara doldurmaq lazımdır. 332 00:15:58,221 --> 00:16:00,020 Belə ki, çox qorxudan deyil, lakin Bu ilk dəfə 333 00:16:00,020 --> 00:16:03,370 Biz sizə kodu təhvil etdiyiniz etmək lazımdır ki, ilk oxumaq anlamaq və əlavə 334 00:16:03,370 --> 00:16:04,290 və başa. 335 00:16:04,290 --> 00:16:05,940 >> Və sonra Breakout ilə, biz eyni olacaq 336 00:16:05,940 --> 00:16:08,740 bir neçə onlarla daha çox xətləri verilməsi kodu, səmimi, verir ki, 337 00:16:08,740 --> 00:16:11,490 çərçivəsində bir çox üçün Bu oyun, lakin qısa dayandırmaq 338 00:16:11,490 --> 00:16:14,304 kərpic həyata və top və avar, 339 00:16:14,304 --> 00:16:15,970 lakin biz bəzi digər funksiyaları həyata yoxdur. 340 00:16:15,970 --> 00:16:18,280 Və hətta ilk baxışda ki, yenə, xüsusilə, az rahat əgər 341 00:16:18,280 --> 00:16:21,480 xüsusilə zor görünə bilər və Siz bir çox yeni funksiyalar var edirəm 342 00:16:21,480 --> 00:16:24,070 Əgər fikrinizi kesmek lazımdır ətrafında və ki, doğrudur. 343 00:16:24,070 --> 00:16:26,281 Amma bu, unutmayın olduqca Not kimi. 344 00:16:26,281 --> 00:16:28,780 Oran siz bütün istifadə etməyib var Not puzzle ədəd. 345 00:16:28,780 --> 00:16:31,120 Oran siz kesmek üçün qayğı etməyib var Onların bütün ətrafında fikrinizi 346 00:16:31,120 --> 00:16:33,617 Bu aldı bütün idi, çünki Söyle, oh, anlamaq üçün 347 00:16:33,617 --> 00:16:35,450 Mən nə edə var ki, puzzle parça ilə. 348 00:16:35,450 --> 00:16:38,260 Və həqiqətən, problemin müəyyən 3 spec, biz qeyd edəcəyik 349 00:16:38,260 --> 00:16:41,370 sənədlərin edəcək bəzi yeni funksiyaları sizə təqdim, 350 00:16:41,370 --> 00:16:43,570 və nəticədə proqramlaşdırma istifadə tikir. 351 00:16:43,570 --> 00:16:47,610 , Loops Conditions, dəyişənlərin və funksiyaları 352 00:16:47,610 --> 00:16:50,720 eyni olacaq nə biz belə uzaq gördüm. 353 00:16:50,720 --> 00:16:53,560 >> Belə ki, həqiqətən, biz nə verəcəyik Bəzi nümunə kodu edir ki, 354 00:16:53,560 --> 00:16:56,110 Bir pəncərə yaratmaq imkan verir ki, bu fərqli deyil görünür 355 00:16:56,110 --> 00:16:59,540 və nəticədə çevirmək çox bu kimi bir şey. 356 00:16:59,540 --> 00:17:02,250 Belə ki, CS50 istifadə etmək, , ofis saat və daha çox müzakirə 357 00:17:02,250 --> 00:17:05,290 və əslində rahatlıq yazmaq üçün kod məbləği 358 00:17:05,290 --> 00:17:06,760 əslində bütün çox deyil. 359 00:17:06,760 --> 00:17:10,359 İlk problem yalnız acclimate olunur özünüzü kod biz yazdıq. 360 00:17:10,359 --> 00:17:11,450 361 00:17:11,450 --> 00:17:15,810 >> Pset3 haqqında hər hansı bir sualınız, Shellshock, və ya başqa? 362 00:17:15,810 --> 00:17:19,226 >> Auditoriya: Bu kimi görünürdü Breakout ilə keçir 363 00:17:19,226 --> 00:17:22,154 kod demək olar ki, bir obyekt-yönümlü style, 364 00:17:22,154 --> 00:17:24,675 amma C bir idi düşündüm obyekt-yönümlü proqram. 365 00:17:24,675 --> 00:17:26,050 HOPARLÖR 1: əla sual. 366 00:17:26,050 --> 00:17:28,258 Belə ki, vasitəsilə axtarır distribution kodu, kodu 367 00:17:28,258 --> 00:17:30,180 biz pset3 üçün yazdığı tanış olanlar üçün, onu 368 00:17:30,180 --> 00:17:32,230 bir var kimi görünür az obyekt-yönümlü. 369 00:17:32,230 --> 00:17:33,800 Qısa cavab deyil. 370 00:17:33,800 --> 00:17:38,130 Bu sizin necə bir təxmindir istifadə edərək, obyekt-yönümlü kodu edə bilər 371 00:17:38,130 --> 00:17:41,850 C kimi dil, lakin hələ nəticədə prosessual. 372 00:17:41,850 --> 00:17:44,900 Daxilində metodlar var dəyişənlərin, siz görəcəksiniz kimi. 373 00:17:44,900 --> 00:17:46,180 Amma bu xatırladır. 374 00:17:46,180 --> 00:17:48,780 Və biz daha xüsusiyyət görəcəksiniz PHP və JavaScript almaq zaman 375 00:17:48,780 --> 00:17:49,946 sonunda semestr doğru. 376 00:17:49,946 --> 00:17:53,667 Amma indi, kimi hesab nə bir ipucu gəlib. 377 00:17:53,667 --> 00:17:54,250 Yaxşı sualdır. 378 00:17:54,250 --> 00:17:56,051 379 00:17:56,051 --> 00:17:56,550 Bütün hüquqlar. 380 00:17:56,550 --> 00:17:59,730 Belə ki, sort idi birləşmə biz necə Sol şeyi son dəfə. 381 00:17:59,730 --> 00:18:03,250 Və sort sərin idi birləşmə mənada bu qədər sürətli idi ki, 382 00:18:03,250 --> 00:18:07,100 ən azı ötəri testlər əsasında Biz bubble, demək, çox, ötən həftə idi 383 00:18:07,100 --> 00:18:08,710 sort, seçim sort, durub sırala. 384 00:18:08,710 --> 00:18:11,780 Və nə çox səliqəli idi yalnız necə müfəssəl və cleanly 385 00:18:11,780 --> 00:18:12,810 Siz ifadə edə bilər. 386 00:18:12,810 --> 00:18:15,840 Və biz bir üst nə demək idi birləşmə çalışan zaman bound 387 00:18:15,840 --> 00:18:16,340 sort? 388 00:18:16,340 --> 00:18:17,633 389 00:18:17,633 --> 00:18:18,495 Bəli? 390 00:18:18,495 --> 00:18:19,360 >> Auditoriya: n log n? 391 00:18:19,360 --> 00:18:20,819 >> HOPARLÖR 1: n sağ, n daxil olun. n log n. 392 00:18:20,819 --> 00:18:23,776 Və biz nə ki geri gəlmək lazımdır həqiqətən deməkdir və ya gəlir, 393 00:18:23,776 --> 00:18:25,570 lakin bu yaxşı idi nə çalışan zaman çox 394 00:18:25,570 --> 00:18:28,440 biz bubble üçün gördüm ki, seçilməsi və durub sort? 395 00:18:28,440 --> 00:18:30,610 Belə ki, n kvadrat. n kvadrat , bu daha böyükdür 396 00:18:30,610 --> 00:18:34,650 və kifayət qədər aydın deyil, hətta, ki, log n n daha kiçik olduğunu, 397 00:18:34,650 --> 00:18:36,910 belə ki, n dəfə əgər n daha kiçik bir şey, 398 00:18:36,910 --> 00:18:38,680 kvadrat n daha az olacaq. 399 00:18:38,680 --> 00:18:40,130 Orada intuisiya bir az var. 400 00:18:40,130 --> 00:18:42,190 Amma bunun üçün bir ödədi. 401 00:18:42,190 --> 00:18:47,000 Bu sürətli idi, lakin bir mövzu açılmış Keçən həftə ortaya bu tradeoff idi. 402 00:18:47,000 --> 00:18:49,804 Mən daha yaxşı performans var vaxt müdrik, lakin nə 403 00:18:49,804 --> 00:18:52,470 Mən digər sərf var idi əl, üçün nail olmaq üçün? 404 00:18:52,470 --> 00:18:53,591 >> Auditoriya: Yaddaş. 405 00:18:53,591 --> 00:18:54,465 HOPARLÖR 1: Yenə deyirəm? 406 00:18:54,465 --> 00:18:55,173 Auditoriya: Yaddaş. 407 00:18:55,173 --> 00:18:57,040 HOPARLÖR 1: Yaddaş, və ya space ümumiyyətlə. 408 00:18:57,040 --> 00:18:59,040 Və bu super idi Bizim insanlar Aşkar, 409 00:18:59,040 --> 00:19:02,240 lakin bizim könüllü Xatırladaq ki, irəli gücləndirməklə və gücləndirməklə edilmişdir 410 00:19:02,240 --> 00:19:04,780 sanki geri array var sanki burada və var 411 00:19:04,780 --> 00:19:07,130 Burada ikinci bir array onlar istifadə edə bilər Çünki 412 00:19:07,130 --> 00:19:09,080 lazım yerde o insanlar daxil etmək üçün. 413 00:19:09,080 --> 00:19:11,480 Biz yalnız yerdə onları dəyişdirmək bilmədi. 414 00:19:11,480 --> 00:19:13,800 Belə ki, sort leverage daxil daha çox yer olan 415 00:19:13,800 --> 00:19:15,620 biz lazım deyil digər alqoritmlər, 416 00:19:15,620 --> 00:19:17,410 lakin ayaq çox daha sürətli edir. 417 00:19:17,410 --> 00:19:20,780 Və səmimi, real dünya məkanında Bu days-- RAM, sabit disk space-- 418 00:19:20,780 --> 00:19:25,030 nisbətən ucuz, və belə ki mütləq pis bir şey. 419 00:19:25,030 --> 00:19:28,320 >> Belə ki, bir sürətli nəzər bir az imkan daha ardıcıl, biz nə 420 00:19:28,320 --> 00:19:30,220 və niyə biz n log n bildirib. 421 00:19:30,220 --> 00:19:33,260 Belə ki, burada səkkiz ədəd və səkkiz könüllü biz son dəfə idi. 422 00:19:33,260 --> 00:19:35,718 Və Birleştirme ki, ilk şey Sort etmək bizə nə idi bildirib? 423 00:19:35,718 --> 00:19:37,010 424 00:19:37,010 --> 00:19:38,010 Auditoriya: iki bölün. 425 00:19:38,010 --> 00:19:38,663 HOPARLÖR 1: Yenə deyirəm? 426 00:19:38,663 --> 00:19:39,650 Auditoriya: iki bölün. 427 00:19:39,650 --> 00:19:40,610 HOPARLÖR 1: iki Divide, doğru. 428 00:19:40,610 --> 00:19:42,818 Bu çox xatırladan bölmək telefon kitab, 429 00:19:42,818 --> 00:19:44,220 və daha çox, ümumiyyətlə fəth. 430 00:19:44,220 --> 00:19:45,640 Beləliklə, biz sol yarım baxdı. 431 00:19:45,640 --> 00:19:48,700 Və biz sort, dedi, sonra bir dəfə elementləri sol yarısı, 432 00:19:48,700 --> 00:19:49,690 Biz növbəti nə dedi? 433 00:19:49,690 --> 00:19:51,210 434 00:19:51,210 --> 00:19:54,860 Sol sol yarım sort yarım olan, bizə icazə 435 00:19:54,860 --> 00:19:57,570 iki ayırıcı sonra, dörd və iki yönəldir. 436 00:19:57,570 --> 00:20:01,280 >> Necə, indi bir siyahısını sort yoxdur sarı, Sortlaşdır Birleştirme istifadə ölçüsü iki, var? 437 00:20:01,280 --> 00:20:02,330 438 00:20:02,330 --> 00:20:04,580 Yaxşı yarı bölmək, və sol yarım sort. 439 00:20:04,580 --> 00:20:07,100 Və bu şeylər idi bir az axmaq qısa var. 440 00:20:07,100 --> 00:20:10,720 Siz ki, bir siyahısını düzmək necə size bir, burada bu sayı dörd kimi? 441 00:20:10,720 --> 00:20:12,330 442 00:20:12,330 --> 00:20:13,210 Bu sıralanır. 443 00:20:13,210 --> 00:20:14,200 Siz tamamlayın. 444 00:20:14,200 --> 00:20:17,300 >> Amma sonra necə bir siyahısını sort yoxdur ölçüsü sayı iki zaman bir? 445 00:20:17,300 --> 00:20:21,640 Yaxşı, indi nə eyni şey idi üçüncü və Merge Sort əsas addım? 446 00:20:21,640 --> 00:20:24,020 Siz sol birləşməsi idi yarısı və sağ yarım. 447 00:20:24,020 --> 00:20:26,580 Ki, bir dəfə, biz baxdı dörd, biz iki baxdı. 448 00:20:26,580 --> 00:20:28,750 Biz bütün hüququ qərar açıq-aydın iki birinci gəlir, 449 00:20:28,750 --> 00:20:31,840 belə ki, biz iki qoydu onun dörd izlədi yer. 450 00:20:31,840 --> 00:20:35,010 İndi siz cür geri var, və bu xarakterik sortudur 451 00:20:35,010 --> 00:20:37,570 Birləşdirmə kimi bir alqoritm Sort, yaddaş geri. 452 00:20:37,570 --> 00:20:40,240 Hekayə növbəti line nə idi? 453 00:20:40,240 --> 00:20:41,780 Mən növbəti nə diqqət etmək lazımdır? 454 00:20:41,780 --> 00:20:43,110 455 00:20:43,110 --> 00:20:47,350 Sol sağ yarım altı və səkkiz hansı yarım. 456 00:20:47,350 --> 00:20:50,320 >> Mənə yalnız bu addım imkan çox nöqtə belaboring olmadan. 457 00:20:50,320 --> 00:20:53,330 Altı və səkkiz, sonra altı sıralanır, səkkiz çeşidlənir. 458 00:20:53,330 --> 00:20:57,190 Ki, kimi onları birlikdə daxil, və indi növbəti böyük addım 459 00:20:57,190 --> 00:21:00,990 , əlbəttə, doğru yarım sort edir Bu alqoritm ilk addım. 460 00:21:00,990 --> 00:21:02,870 Beləliklə, biz bir, üç, yeddi, beş yönəldir. 461 00:21:02,870 --> 00:21:04,540 Biz sonra sol yarısının yönəldir. 462 00:21:04,540 --> 00:21:09,400 Ki, sol yarısı, sağ yarım ki, və sonra bir və üç birləşməsi. 463 00:21:09,400 --> 00:21:13,100 Sonra sağ yarım, sonra yarım buraxdı bu, sonra sağ yarım. 464 00:21:13,100 --> 00:21:15,985 Addım qalır nə indi birləşməsi, və? 465 00:21:15,985 --> 00:21:18,040 466 00:21:18,040 --> 00:21:22,460 Böyük sol yarım və böyük Birleştirme sağ yarım, belə bir, orada gedir 467 00:21:22,460 --> 00:21:27,330 sonra, sonra iki, üç, dörd, beş, altı, yeddi, sonra səkkiz. 468 00:21:27,330 --> 00:21:31,990 >> Belə ki, indi niyə bu nəticədə aşkar olunur, xüsusilə də əgər n və logarithms daha 469 00:21:31,990 --> 00:21:35,487 ümumiyyətlə deyil, xilas ən azı son yaddaş? 470 00:21:35,487 --> 00:21:37,070 Bəli, bu şey boyu bildiriş. 471 00:21:37,070 --> 00:21:41,230 Biz səkkiz elementləri var idi və biz iki, iki, iki bölünür. 472 00:21:41,230 --> 00:21:44,590 Belə ki, baza daxil səkkiz iki bizə üç verir. 473 00:21:44,590 --> 00:21:45,640 474 00:21:45,640 --> 00:21:48,540 Və mənə etibar əgər ki, bir az dumanlı. 475 00:21:48,540 --> 00:21:54,710 Lakin, səkkiz iki üç baza daxil belə ki, biz birləşməsi üç qat etdik. 476 00:21:54,710 --> 00:21:57,170 Və biz birləşdi zaman elementləri, necə bir çox elementləri 477 00:21:57,170 --> 00:21:58,950 biz o satır hər baxmaq idi? 478 00:21:58,950 --> 00:22:00,212 479 00:22:00,212 --> 00:22:01,437 N ümumi, sağ? 480 00:22:01,437 --> 00:22:04,020 Üst sıra daxil Çünki, biz tədricən bunu baxmayaraq, 481 00:22:04,020 --> 00:22:05,990 biz nəticədə bir dəfə hər sayı toxundu. 482 00:22:05,990 --> 00:22:09,054 Və ikinci sırada, üçün ölçüsü iki həmin siyahıları birləşməsi, 483 00:22:09,054 --> 00:22:10,470 biz bir dəfə hər element toxunmaq idi. 484 00:22:10,470 --> 00:22:12,690 Və sonra burada həqiqətən aydın son sırada, 485 00:22:12,690 --> 00:22:15,430 biz o hər toxunmaq idi bir dəfə, lakin yalnız bir dəfə elementləri, 486 00:22:15,430 --> 00:22:18,400 belə Buradakı n log n, sonra yatır. 487 00:22:18,400 --> 00:22:21,780 >> Və indi yalnız şeyi bir az etmək yalnız bir an üçün formal daha, əgər 488 00:22:21,780 --> 00:22:24,260 İndi bu təhlil etmək idi yüksək səviyyədə bir növ at 489 00:22:24,260 --> 00:22:28,340 və necə qərar üçün cəhd edin Siz ifadə haqqında getmək bilər 490 00:22:28,340 --> 00:22:31,780 Bu alqoritm çalışan zaman yalnız ona deyil baxaraq 491 00:22:31,780 --> 00:22:33,590 bir göstərdi Məsələn istifadə edərək,? 492 00:22:33,590 --> 00:22:36,590 Yaxşı, nə qədər vaxt bir deyərdim Sarı bu almaq kimi addım, 493 00:22:36,590 --> 00:22:37,173 n <2 qaytarılması əgər? 494 00:22:37,173 --> 00:22:38,840 495 00:22:38,840 --> 00:22:39,830 Ki, nə böyük bir O var? 496 00:22:39,830 --> 00:22:41,450 497 00:22:41,450 --> 00:22:44,540 Mən, bir, belə bir addım görən deyiləm bəlkə iki addımlar əgər çünki 498 00:22:44,540 --> 00:22:47,110 və sonra geri, lakin bu daimi vaxt, sağ? 499 00:22:47,110 --> 00:22:49,960 Beləliklə, biz O (1), olduğunu söylədi Mən bu ifadə edəcəyik necə. 500 00:22:49,960 --> 00:22:51,480 T, yalnız vaxt çalışan. 501 00:22:51,480 --> 00:22:54,150 n, giriş ölçüsü belə T (n), bir xülya yolu 502 00:22:54,150 --> 00:22:56,330 çalışmasına deyərək ölçüsü n vaxt giriş 503 00:22:56,330 --> 00:23:00,220 qaydada olacaq daimi vaxt, O (1). 504 00:23:00,220 --> 00:23:01,970 >> Lakin başqa, bu barədə nə? 505 00:23:01,970 --> 00:23:05,660 Siz ifadə necə bu sarı xətt çalışan zaman? 506 00:23:05,660 --> 00:23:06,250 Nə T? 507 00:23:06,250 --> 00:23:09,440 508 00:23:09,440 --> 00:23:12,665 Siz cür burada istifadə etmək olar və cyclically mənim sual cavab. 509 00:23:12,665 --> 00:23:14,770 510 00:23:14,770 --> 00:23:17,900 Belə ki, çalışan zaman əgər biz yalnız demək general T (n) edir. 511 00:23:17,900 --> 00:23:18,950 512 00:23:18,950 --> 00:23:22,490 İndi siz cür burada punting edirik və , yaxşı, yalnız sol yarım sort deyərək 513 00:23:22,490 --> 00:23:23,920 və sonra sağ yarım sort. 514 00:23:23,920 --> 00:23:27,520 Biz simvolik təmsil bilər necə bu sarı xətt çalışan zaman? 515 00:23:27,520 --> 00:23:28,020 Nə T? 516 00:23:28,020 --> 00:23:29,360 Giriş ölçüsü nədir? 517 00:23:29,360 --> 00:23:30,510 518 00:23:30,510 --> 00:23:31,057 Iki n. 519 00:23:31,057 --> 00:23:32,140 Niyə yalnız demək deyil? 520 00:23:32,140 --> 00:23:36,449 Və sonra bu başqa T (n / 2) və sonra yenə iki sıralanır yarıya indirir daxil əgər, 521 00:23:36,449 --> 00:23:38,615 necə bir çox elementləri gedirəm məlumat toxunmaq var? 522 00:23:38,615 --> 00:23:39,780 523 00:23:39,780 --> 00:23:40,320 n. 524 00:23:40,320 --> 00:23:42,790 Mən bu ifadə edə yalnız cür xülya olmaq 525 00:23:42,790 --> 00:23:44,430 ümumi çalışan zaman kimi. 526 00:23:44,430 --> 00:23:51,140 T (n), T (n / 2) yalnız çalışan dəfə plus T (n / 2), yarım və sağ yarım sol 527 00:23:51,140 --> 00:23:55,360 plus yəqin ki, n addımlar olan O (n), lakin bəlkə, mən iki barmaqlarını istifadə edirəm əgər, 528 00:23:55,360 --> 00:23:57,960 bir çox kimi iki dəfə addımlar, lakin xətti var. 529 00:23:57,960 --> 00:24:00,440 Bu addımlar bir sıra var ki, n bir amil var 530 00:24:00,440 --> 00:24:02,270 biz bu kimi ifadə edə bilər. 531 00:24:02,270 --> 00:24:05,550 Bu, biz ayaqla zərbə lazımdır indi geri orta məktəb riyaziyyat dərsliyinin 532 00:24:05,550 --> 00:24:10,290 biz nəticədə təkrarlanma olursunuz başa, bu bərabər, n dəfə log n 533 00:24:10,290 --> 00:24:12,530 siz həqiqətən əgər riyaziyyat daha formal. 534 00:24:12,530 --> 00:24:13,950 >> Belə ki, yalnız iki perspektivləri var. 535 00:24:13,950 --> 00:24:17,500 Bir ilə bir sayca nümayəndəsi nümunə ağır kodlu 536 00:24:17,500 --> 00:24:21,140 səkkiz nömrələri, və daha çox istifadə biz orada almışdır necə ümumi görünüşü. 537 00:24:21,140 --> 00:24:25,670 Amma nə həqiqətən maraqlı , yenə velosiped bu anlayışdır. 538 00:24:25,670 --> 00:24:26,900 Mən loops üçün istifadə deyiləm. 539 00:24:26,900 --> 00:24:29,860 I növ müəyyən edirəm özü baxımından bir şey, 540 00:24:29,860 --> 00:24:31,950 yalnız bu riyazi funksiyası, 541 00:24:31,950 --> 00:24:34,860 həm də bu yalançı kodu baxımından. 542 00:24:34,860 --> 00:24:38,260 Bu yalançı kodu recursive edir onun xətləri ki, iki 543 00:24:38,260 --> 00:24:42,310 mahiyyətcə onu izah getmək üçün kiçik həll etmək üçün özünü istifadə 544 00:24:42,310 --> 00:24:45,400 kiçik ölçüsü problem, və sonra yenidən və yenidən 545 00:24:45,400 --> 00:24:48,820 və yenidən qədər yavaş-yavaş onu bu qondarma baza halda aşağı. 546 00:24:48,820 --> 00:24:52,810 >> Belə nin əslində bir daha çekici çəkmək imkan almaq-üz bu aşağıdakı kimi. 547 00:24:52,810 --> 00:24:58,420 Mənə gedit getmək və bir edək bugünkü mənbə kodu bəzi baxmaq, 548 00:24:58,420 --> 00:24:59,930 Bu misal burada xüsusilə. 549 00:24:59,930 --> 00:25:03,709 Yəqin edər Sigma 0, nömrələri n biridir. 550 00:25:03,709 --> 00:25:05,750 Belə ki, nə tanış görək burada və tanımadığı. 551 00:25:05,750 --> 00:25:08,690 Birinci biz bir neçə var daxildir, belə ki, yeni bir şey var. 552 00:25:08,690 --> 00:25:09,190 Prototip. 553 00:25:09,190 --> 00:25:11,370 Mən bir az dumanlı deyiləm Bu bir neçə gün sonra, 554 00:25:11,370 --> 00:25:13,790 lakin biz nə demək idi bir funksiyası prototip deyil? 555 00:25:13,790 --> 00:25:15,099 556 00:25:15,099 --> 00:25:16,015 Auditoriya: [işitilemez]. 557 00:25:16,015 --> 00:25:16,905 HOPARLÖR 1: Nə olub? 558 00:25:16,905 --> 00:25:17,800 Auditoriya: Biz bunu elan edir. 559 00:25:17,800 --> 00:25:18,883 HOPARLÖR 1: Biz bunu elan edir. 560 00:25:18,883 --> 00:25:22,290 Belə ki, hey, cingilti tədris həqiqətən, hələ bu həyata deyil, 561 00:25:22,290 --> 00:25:25,740 lakin haradasa bu faylı ehtimalla, bir funksiyası nə adlandırmaq gedir? 562 00:25:25,740 --> 00:25:26,930 563 00:25:26,930 --> 00:25:27,540 Sigma. 564 00:25:27,540 --> 00:25:30,540 Və bu yalnız bir söz ki, bu kimi baxmaq olacaq. 565 00:25:30,540 --> 00:25:33,720 Bu kimi bir tam almaq olacaq input-- və daha çox açıq ola bilər 566 00:25:33,720 --> 00:25:36,570 və int n Ve demək bir int geri gedir, 567 00:25:36,570 --> 00:25:39,900 lakin nöqtəli vergül vasitələri, mm, mən ətrafında almaq lazımdır bir az sonra bu həyata. 568 00:25:39,900 --> 00:25:40,989 Yenə cingilti lal edir. 569 00:25:40,989 --> 00:25:43,280 Bu, yalnız nə bilmək olacaq Siz alt üst demək 570 00:25:43,280 --> 00:25:45,765 belə ki, biz ən azı vermək lazımdır Bu nə bir ipucu gəlib. 571 00:25:45,765 --> 00:25:47,330 >> İndi burada əsas baxaq. 572 00:25:47,330 --> 00:25:50,040 Burada aşağı diyirləyin bildirin və bunu əsas nə görmək. 573 00:25:50,040 --> 00:25:53,780 Bu funksiya uzun deyil, və Əslində burada tikinti tanış edir. 574 00:25:53,780 --> 00:25:57,590 Mən bir dəyişən n elan və Mən təkrar istifadəçi bezdirmək 575 00:25:57,590 --> 00:26:01,880 GetInt istifadə bir müsbət tam üçün, və bu loop yalnız exit 576 00:26:01,880 --> 00:26:03,280 bir istifadəçi riayət etmişdir. 577 00:26:03,280 --> 00:26:05,670 Isə bunu, biz istifadə etdiyiniz yol istifadəçi bezdirmək. 578 00:26:05,670 --> 00:26:06,670 İndi bu maraqlı deyil. 579 00:26:06,670 --> 00:26:08,510 Mən adlı int bəyan "cavab". 580 00:26:08,510 --> 00:26:11,420 Mən bu qaytarılması dəyəri təyin adlı funksiyası "sigma." 581 00:26:11,420 --> 00:26:15,200 Mən hələ nə bilirik, lakin deyil Mən bir an əvvəl elan xatırlayıram. 582 00:26:15,200 --> 00:26:18,310 Və sonra mən keçən alıram dəyəri istifadəçi tipli, n ki 583 00:26:18,310 --> 00:26:20,420 və sonra mən cavab hesabat. 584 00:26:20,420 --> 00:26:22,260 Yaxşı geri hərəkət edək yalnız bir an üçün. 585 00:26:22,260 --> 00:26:28,620 Bu kataloq davam edək, etmək sigma 0, həqiqətən, bu proqram çalıştırmak 586 00:26:28,620 --> 00:26:30,490 və nə görmək. 587 00:26:30,490 --> 00:26:35,930 Mən irəli getmək və run əgər Belə ki, Bu proqram, ./sigma-0, 588 00:26:35,930 --> 00:26:40,139 və mən bir müsbət yazın Iki kimi tam, Sigma, 589 00:26:40,139 --> 00:26:43,180 Yunan simvolu nəzərdə tutur kimi, yalnız bütün nömrələri qədər əlavə etmək üçün gedir 590 00:26:43,180 --> 00:26:44,320 iki qədər sıfır. 591 00:26:44,320 --> 00:26:46,560 Belə ki, 0 plus 1 plus 2. 592 00:26:46,560 --> 00:26:48,830 Belə ki, bu ümid mənə 3 verməlidir. 593 00:26:48,830 --> 00:26:49,750 Yəni bunu bütün var. 594 00:26:49,750 --> 00:26:52,690 Və eyni, əgər mən yenidən bu çalıştırmak və mən bu sayı üç vermək 595 00:26:52,690 --> 00:26:56,721 ki var, belə ki, 3 plus 2 var 5, üstəgəl 1 mənə 6 verməlidir. 596 00:26:56,721 --> 00:26:59,470 Mən, həqiqətən, crazy almaq sonra əgər böyük nömrələri yazmağa başlayın, 597 00:26:59,470 --> 00:27:01,290 mənə verməlidir böyük və daha böyük məbləğdə. 598 00:27:01,290 --> 00:27:02,250 Belə ki, bütün var. 599 00:27:02,250 --> 00:27:04,010 >> Belə ki, nə sigma kimi görünür? 600 00:27:04,010 --> 00:27:05,430 Bəli, bu olduqca sadə var. 601 00:27:05,430 --> 00:27:08,940 Biz həyata ola bilər necə həftə keçmiş neçə bu. 602 00:27:08,940 --> 00:27:11,120 "Int" qaytarılması növü olacaq. 603 00:27:11,120 --> 00:27:14,330 Sigma adı, və edir əvəzinə n dəyişən m. 604 00:27:14,330 --> 00:27:15,940 Mən üst qədər dəyişdirmək lazımdır. 605 00:27:15,940 --> 00:27:17,340 Sonra bu bir ağlı başında olma çek edir. 606 00:27:17,340 --> 00:27:18,430 607 00:27:18,430 --> 00:27:19,950 Biz bir anda nə görürsünüz. 608 00:27:19,950 --> 00:27:24,220 İndi mən bir dəyişən elan, məbləği, sıfıra başlamaq. 609 00:27:24,220 --> 00:27:28,140 Sonra loop üçün bu var yəqin aydınlıq üçün, iterating, 610 00:27:28,140 --> 00:27:33,810 i = 1-dən bir = m, olan nə Yığdığınız istifadəçi, və sonra mən 611 00:27:33,810 --> 00:27:35,690 bu kimi məbləği arttırmayı. 612 00:27:35,690 --> 00:27:37,360 Və sonra məbləği geri. 613 00:27:37,360 --> 00:27:38,440 >> Belə ki, suallar bir neçə. 614 00:27:38,440 --> 00:27:42,370 One, bu ki, mənim comment iddia sonsuz loop riskini qarşısını alır. 615 00:27:42,370 --> 00:27:45,620 Niyə bir mənfi sayı keçən olardı , potensial, sonsuz loop vadar? 616 00:27:45,620 --> 00:27:49,396 617 00:27:49,396 --> 00:27:51,290 >> Auditoriya: Siz m nail olmaq olmaz. 618 00:27:51,290 --> 00:27:52,880 >> HOPARLÖR 1: m etməyin. 619 00:27:52,880 --> 00:27:55,880 Amma m keçmişdir, edək olunur sadə bir misal hesab edir. 620 00:27:55,880 --> 00:27:58,510 M tərəfindən qəbul edilir, əgər mənfi bir istifadəçi. 621 00:27:58,510 --> 00:28:00,059 Asılı olmayaraq əsas. 622 00:28:00,059 --> 00:28:01,850 Main bizi qoruyur Bu da, mən yalnız deyiləm 623 00:28:01,850 --> 00:28:04,680 həqiqətən anal olan sigma də əmin 624 00:28:04,680 --> 00:28:06,540 ki, giriş mənfi ola bilməz. 625 00:28:06,540 --> 00:28:10,130 M mənfi Belə ki, mənfi bir şey kimi. 626 00:28:10,130 --> 00:28:11,930 Nə olacaq? 627 00:28:11,930 --> 00:28:14,390 Yaxşı, i gedir bir başlatılmış almaq, 628 00:28:14,390 --> 00:28:19,060 sonra i olacaq daha az və ya m bərabərdir? 629 00:28:19,060 --> 00:28:24,130 630 00:28:24,130 --> 00:28:24,765 >> Ilə seçilir. 631 00:28:24,765 --> 00:28:26,930 632 00:28:26,930 --> 00:28:29,370 Ki, verməyək əmrində deyilirdi: Bu hekayə nix bildirin. 633 00:28:29,370 --> 00:28:32,780 Çünki, ki, sual etməyib Mən alluding edirəm ki, risk 634 00:28:32,780 --> 00:28:38,360 i, çünki baş niyyətində deyil həmişə böyük than-- OK ola gedir, 635 00:28:38,360 --> 00:28:39,871 Mən sual dönmək. 636 00:28:39,871 --> 00:28:40,370 OK. 637 00:28:40,370 --> 00:28:42,030 Burada yalnız bu hissəsi diqqət edək. 638 00:28:42,030 --> 00:28:44,210 639 00:28:44,210 --> 00:28:48,830 Niyə bəzi bəyan etməyib loop kənarda? 640 00:28:48,830 --> 00:28:52,010 Line etdik 49 Notice loop daxilində i elan, 641 00:28:52,010 --> 00:28:54,950 lakin online 48 I var bəzi xaricində elan etdi. 642 00:28:54,950 --> 00:28:55,695 Bəli. 643 00:28:55,695 --> 00:28:56,611 Auditoriya: [işitilemez]. 644 00:28:56,611 --> 00:28:58,734 645 00:28:58,734 --> 00:28:59,400 HOPARLÖR 1: Sure. 646 00:28:59,400 --> 00:29:03,360 Belə ki, ilk növbədə mən əlbəttə deyil elan və məbləği başlamaq istəyirəm 647 00:29:03,360 --> 00:29:06,130 Bu sıfır daxilində hər iteration loop, 648 00:29:06,130 --> 00:29:09,370 Bu aydın məğlub çünki nömrələri cəmlənməsi məqsədi. 649 00:29:09,370 --> 00:29:11,770 Mən dəyişən saxlamaq olardı sıfır geri dəyəri. 650 00:29:11,770 --> 00:29:17,992 Və həmçinin hansı başqa daha gizli deyil eyni dizayn qərar üçün səbəb? 651 00:29:17,992 --> 00:29:18,954 Bəli. 652 00:29:18,954 --> 00:29:20,279 >> Auditoriya: [işitilemez]. 653 00:29:20,279 --> 00:29:21,070 HOPARLÖR 1: Exactly. 654 00:29:21,070 --> 00:29:24,060 Mən kənarda daxil olmaq üçün istədiyiniz çox nə line loop? 655 00:29:24,060 --> 00:29:25,390 656 00:29:25,390 --> 00:29:26,400 53 On. 657 00:29:26,400 --> 00:29:29,910 Və thumb bizim qayda əsasında mühazirələr bir neçə əvvəl, 658 00:29:29,910 --> 00:29:33,680 dəyişənlər üçün, həqiqətən, xaric olunur onları əhatə edən qıvrım aşırma. 659 00:29:33,680 --> 00:29:38,190 Mən daxili məbləğ bəyan yoxsa belə Bu xarici qıvrım aşırma, 660 00:29:38,190 --> 00:29:40,250 Mən line 53 istifadə edə bilməz. 661 00:29:40,250 --> 00:29:43,160 Mən bəyan, başqa bir yol qoymaq burada, hətta daxilində məbləği 662 00:29:43,160 --> 00:29:45,410 Loop, mən 53 ilə gedə bilmədi. 663 00:29:45,410 --> 00:29:47,150 Dəyişən səmərəli keçmişdir olardı. 664 00:29:47,150 --> 00:29:48,579 Belə ki, səbəblərdən bir neçə. 665 00:29:48,579 --> 00:29:50,370 Amma indi geri gedək və nə görmək. 666 00:29:50,370 --> 00:29:51,730 Belə ki, sigma adlı olur. 667 00:29:51,730 --> 00:29:55,640 Bu 1 plus 2 və ya 1 plus 2 up edir plus 3 və sonra dəyər qaytarır 668 00:29:55,640 --> 00:29:59,660 cavab mağazalar onu və burada printf Mən ekranda görən niyə edir. 669 00:29:59,660 --> 00:30:03,079 Belə ki, bu biz iterativ zəng edəcəyik nə yanaşma, harada iteration yalnız 670 00:30:03,079 --> 00:30:03,870 bir loop istifadə deməkdir. 671 00:30:03,870 --> 00:30:06,900 Loop, bir müddət loop, bir Baxmayaraq A loop, yalnız daha bir şey bunu 672 00:30:06,900 --> 00:30:08,380 və təkrar. 673 00:30:08,380 --> 00:30:13,505 >> Amma sigma səliqəli funksiyası növ Mən fərqli həyata bilər. 674 00:30:13,505 --> 00:30:14,620 675 00:30:14,620 --> 00:30:19,120 Bu barədə nə olan yalnız cür sərin olmaq 676 00:30:19,120 --> 00:30:21,880 Mənə həqiqətən xilas edək yayındırma bir çox 677 00:30:21,880 --> 00:30:24,380 Bu funksiya çünki həqiqətən, çox sadədir. 678 00:30:24,380 --> 00:30:27,780 Gəlin yavaş-yavaş aşağı yalnız onun dörd əsas xətləri 679 00:30:27,780 --> 00:30:30,410 və xilas bütün Şərh və qıvrım aşırma. 680 00:30:30,410 --> 00:30:34,334 Bu mind-əsən cür alternativ həyata keçirilməsi. 681 00:30:34,334 --> 00:30:37,250 Bütün sağ, bəlkə ağla-əsən deyil, lakin sexier, bütün sağ cür, 682 00:30:37,250 --> 00:30:39,920 çox daha çox müfəssəl şəkildə bu baxmaq. 683 00:30:39,920 --> 00:30:43,120 Kod yalnız dörd xətləri ilə, Mən ilk bu ağlı başında olma çek var. 684 00:30:43,120 --> 00:30:45,732 M daha az və ya bərabər olduqda, sıfır, sigma heç bir əhəmiyyət kəsb edir. 685 00:30:45,732 --> 00:30:48,190 Bu yalnız ehtimal müsbət nömrələri üçün bu halda, 686 00:30:48,190 --> 00:30:50,340 mən yalnız gedirəm özbaşına sıfır geri 687 00:30:50,340 --> 00:30:53,210 ən azı biz var ki, bəzi əsas işi qondarma. 688 00:30:53,210 --> 00:30:54,430 >> Amma burada gözəllik var. 689 00:30:54,430 --> 00:30:59,930 Bu əlavə bu ideyanın bütövlükdə, n 1 ədəd, və ya bu halda m, 690 00:30:59,930 --> 00:31:02,630 dollar keçən cür edilə bilər. 691 00:31:02,630 --> 00:31:04,947 Yaxşı, m 1 cəmidir nədir? 692 00:31:04,947 --> 00:31:05,780 Yaxşı, siz nə bilirik? 693 00:31:05,780 --> 00:31:11,949 Bu m məbləği kimi eyni plus m minus 1 1 cəmidir. 694 00:31:11,949 --> 00:31:12,740 Yaxşı nə bilirik? 695 00:31:12,740 --> 00:31:13,940 M minus 1 sigma nədir? 696 00:31:13,940 --> 00:31:17,860 Yaxşı, əgər növ bu edin məntiqi, bu m minus 1 kimi eyni 697 00:31:17,860 --> 00:31:21,415 plus m minus 2 sigma. 698 00:31:21,415 --> 00:31:22,480 699 00:31:22,480 --> 00:31:26,012 Siz cür yalnız var bilərsiniz Yalnız əgər bu kimi 700 00:31:26,012 --> 00:31:28,220 dost annoy çalışır və onlar sizə bir sual, 701 00:31:28,220 --> 00:31:31,344 cür, bir sual ilə cavab cür buck keçən saxlaya bilərsiniz. 702 00:31:31,344 --> 00:31:34,560 Amma nə əsas var siz saxlamaq əgər ki, sual kiçik və daha kiçik edilməsi 703 00:31:34,560 --> 00:31:36,910 və kiçik, etdiyiniz sigma nə xahiş 704 00:31:36,910 --> 00:31:39,116 n, bir sigma nə n, n sigma nə var? 705 00:31:39,116 --> 00:31:40,990 Siz nə xahiş edirik n sigma, nə sigma var 706 00:31:40,990 --> 00:31:42,839 n minus 1, n minus 2 sigma nə var? 707 00:31:42,839 --> 00:31:44,880 Nəhayət, sizin sual nə olmaq niyyətindədir? 708 00:31:44,880 --> 00:31:50,250 Bir və ya sigma nədir sıfır, bir çox kiçik dəyəri, 709 00:31:50,250 --> 00:31:52,220 və tezliklə sizin kimi ki, dost almaq 710 00:31:52,220 --> 00:31:54,350 xahiş etmək niyyətində deyil yenə eyni sual, 711 00:31:54,350 --> 00:31:55,975 yalnız oh sıfır, demək olacaq. 712 00:31:55,975 --> 00:31:58,490 Biz bu cür oynayan tamamlayın axmaq cyclical oyun. 713 00:31:58,490 --> 00:32:02,950 >> Belə ki, recursion proqramlaşdırma aktdır bir funksiyası özü zəng. 714 00:32:02,950 --> 00:32:06,630 Tərtib və run zaman Bu proqram deyil, eyni şəkildə davranmaq üçün gedir, 715 00:32:06,630 --> 00:32:09,620 lakin nə əsas var daxili sigma adlı funksiyası, 716 00:32:09,620 --> 00:32:13,150 kod orada bir xətt var biz özümüzü zəng etdiyiniz 717 00:32:13,150 --> 00:32:14,980 olan normal pis olacaq. 718 00:32:14,980 --> 00:32:21,160 Məsələn, nə ilk, mən əgər Bu tərtib, belə sigma-- etmək 719 00:32:21,160 --> 00:32:22,710 sigma 1 ./sigma-1 etmək. 720 00:32:22,710 --> 00:32:25,050 721 00:32:25,050 --> 00:32:27,690 Müsbət tam, xahiş edirik, 50 1275. 722 00:32:27,690 --> 00:32:30,810 Belə ki, nə funksiyası görünür doğru bir test əsasında ola bilər. 723 00:32:30,810 --> 00:32:34,917 Amma bir az təhlükəli nə almaq və qondarma baza halda silmək, 724 00:32:34,917 --> 00:32:37,750 və yalnız yaxşı mən yalnız edilməsi alıram, demək bu artıq bu daha mürəkkəb. 725 00:32:37,750 --> 00:32:42,450 Nin yalnız sigma hesablamaq imkan m alaraq və sonra əlavə 726 00:32:42,450 --> 00:32:44,564 m minus bir sigma da? 727 00:32:44,564 --> 00:32:45,980 Yaxşı, nə burada nə olacaq? 728 00:32:45,980 --> 00:32:47,140 Nin kiçiltmək edək. 729 00:32:47,140 --> 00:32:52,920 Nin proqram derleyeceğiz edək, saxlamaq, proqram derleyeceğiz, 730 00:32:52,920 --> 00:33:00,450 və sonra hazır ./sigma-1, yakınlaştırma , 50 müsbət tam edin daxil edin. 731 00:33:00,450 --> 00:33:02,180 732 00:33:02,180 --> 00:33:04,430 Necə bir çox hazırıq ki, görən qədər fess üçün? 733 00:33:04,430 --> 00:33:04,950 >> OK. 734 00:33:04,950 --> 00:33:06,690 Belə ki, bu baş verə bilər bir sıra səbəbləri, 735 00:33:06,690 --> 00:33:09,148 və səmimi bu həftə biz istəyirik onlara daha çox vermək haqqında. 736 00:33:09,148 --> 00:33:11,780 Amma bu halda, cəhd geri səbəb 737 00:33:11,780 --> 00:33:14,430 Burada nə baş verə bilər? 738 00:33:14,430 --> 00:33:17,400 Seqmentasiya günah, biz keçən etdi vaxt, yaddaş seqmentinə aiddir. 739 00:33:17,400 --> 00:33:18,690 Pis bir şey baş verib. 740 00:33:18,690 --> 00:33:21,550 Amma nə oldu mexaniki əyri getdi ki, 741 00:33:21,550 --> 00:33:25,000 Çünki burada mənim çıxarılması ki, qondarma baza halda, 742 00:33:25,000 --> 00:33:26,870 olduğu bir ağır kodlu dəyəri geri? 743 00:33:26,870 --> 00:33:28,970 744 00:33:28,970 --> 00:33:30,460 Nə yanlış getdi düşünürsünüz? 745 00:33:30,460 --> 00:33:31,219 Bəli. 746 00:33:31,219 --> 00:33:32,135 >> Auditoriya: [işitilemez]. 747 00:33:32,135 --> 00:33:36,387 748 00:33:36,387 --> 00:33:36,970 HOPARLÖR 1: Ah. 749 00:33:36,970 --> 00:33:37,550 Yaxşı sualdır. 750 00:33:37,550 --> 00:33:39,508 Sayı ölçüsü belə Mən cəmlənməsi ki, 751 00:33:39,508 --> 00:33:41,920 Bu ötüb ki, böyük var yaddaş kosmik ölçüsü. 752 00:33:41,920 --> 00:33:44,640 Yaxşı fikir, lakin əsaslı bir qəza səbəb olacaq. 753 00:33:44,640 --> 00:33:48,230 Ki, tam daşqın səbəb ola bilər bit yalnız çevirmek 754 00:33:48,230 --> 00:33:51,760 sonra biz həqiqətən böyük səhv bir mənfi sayı kimi, sayı, 755 00:33:51,760 --> 00:33:53,260 lakin özü bir qəza səbəb deyil ki. 756 00:33:53,260 --> 00:33:55,509 Çünki sonunda gün bir int hələ 32 bit edir. 757 00:33:55,509 --> 00:33:57,640 Siz fikrində deyilik təsadüfən 33-cü az oğurlamaq. 758 00:33:57,640 --> 00:33:58,431 Amma yaxşı bir fikir. 759 00:33:58,431 --> 00:33:58,984 Bəli. 760 00:33:58,984 --> 00:33:59,900 >> Auditoriya: [işitilemez]. 761 00:33:59,900 --> 00:34:00,551 762 00:34:00,551 --> 00:34:02,300 HOPARLÖR 1: Metodu heç çalışan dayanır, 763 00:34:02,300 --> 00:34:06,658 və həqiqətən yenə də özünü çağırır və təkrar və yenidən 764 00:34:06,658 --> 00:34:08,449 yenidən və heç Heç bu funksiyaları 765 00:34:08,449 --> 00:34:13,310 onların yeganə xətti, çünki başa kodu təkrar themself çağırır 766 00:34:13,310 --> 00:34:14,219 və yenidən. 767 00:34:14,219 --> 00:34:16,080 Və nə həqiqətən var biz burada baş və indi 768 00:34:16,080 --> 00:34:18,100 cür pictorially bu cəlb edə bilər. 769 00:34:18,100 --> 00:34:20,899 Mənə bir artıq getmək edək yalnız bir an üçün şəkil. 770 00:34:20,899 --> 00:34:22,940 Bu ki, bir şəkil nəticədə əti edəcək 771 00:34:22,940 --> 00:34:26,336 daha ətraflı haqqında neler Sizin kompüter yaddaş daxilində. 772 00:34:26,336 --> 00:34:28,460 Və ki çıxır Bu şəkil alt 773 00:34:28,460 --> 00:34:29,709 yığını deyilən bir şey deyil. 774 00:34:29,709 --> 00:34:31,920 Bu yığın yaddaş, RAM bir yığın, 775 00:34:31,920 --> 00:34:33,920 yalnız hər hansı bir zaman istifadə bir funksiyası adlanır. 776 00:34:33,920 --> 00:34:36,239 Istənilən vaxt, bir proqramçı, bir funksiyası zəng, 777 00:34:36,239 --> 00:34:38,860 əməliyyat sistemi kimi Mac OS, Windows və ya Linux, 778 00:34:38,860 --> 00:34:41,920 Polip bayt bir dəstə, bəlkə bir neçə kilobayt, bəlkə neçə megabayt 779 00:34:41,920 --> 00:34:44,590 yaddaş, onları əlləri Sizə və sonra imkan verir 780 00:34:44,590 --> 00:34:47,650 Siz istifadə edərək funksiyanı çalıştırmak nə dəyişənlərin lazımdır. 781 00:34:47,650 --> 00:34:50,699 Və sonra başqa zəng əgər funksiyası və başqa bir funksiyası, 782 00:34:50,699 --> 00:34:53,590 Siz yaddaş bir dilim almaq və yaddaş bir dilim. 783 00:34:53,590 --> 00:34:57,090 >> Və həqiqətən, bu yaşıl qablar əgər Annenberg dən yaddaş etdirir 784 00:34:57,090 --> 00:34:59,870 Burada ilk olur zaman funksiyası sigma zəng. 785 00:34:59,870 --> 00:35:04,510 Bu kimi bir tray qoyulması kimi ilkin boş yığını nə. 786 00:35:04,510 --> 00:35:07,142 Amma sonra ki, əgər tray belə ki, danışmaq, özü çağırır, 787 00:35:07,142 --> 00:35:08,850 başqa instansiya zəng sigma ki, var 788 00:35:08,850 --> 00:35:11,640 əməliyyat sistemi xahiş kimi, ooh, bir az daha çox yaddaş lazımdır 789 00:35:11,640 --> 00:35:12,520 mənə verir. 790 00:35:12,520 --> 00:35:14,840 Və sonra üst üstünə olur. 791 00:35:14,840 --> 00:35:18,030 Amma nə əsas var ki, ilk tray, hələ 792 00:35:18,030 --> 00:35:20,620 O, bu ikinci tray istinad çünki. 793 00:35:20,620 --> 00:35:23,500 İndi isə, sigma sigma zəng, ki, daha çox yaddaş tələb kimi var. 794 00:35:23,500 --> 00:35:25,830 Buraya piled olur. 795 00:35:25,830 --> 00:35:29,350 sigma başqa bir var, sigma zəng burada piled olur ki, tray. 796 00:35:29,350 --> 00:35:32,942 Və bunu saxlamaq əgər, nəhayət, növ bu vizual xəritəsi 797 00:35:32,942 --> 00:35:35,525 ki, chart, nə olacaq qablar və yığını ilə nə? 798 00:35:35,525 --> 00:35:37,480 799 00:35:37,480 --> 00:35:41,160 Bu məbləğ artıq gedir yaddaş sizin kompüter var. 800 00:35:41,160 --> 00:35:45,790 Və tezliklə bu yaşıl tray kimi üfüqi xətt artıq 801 00:35:45,790 --> 00:35:49,410 yığını yuxarıda və söz yığın bax, biz gələcəkdə geri gəlmək lazımdır, 802 00:35:49,410 --> 00:35:50,410 ki, pis bir şey deyil. 803 00:35:50,410 --> 00:35:52,810 Yığın fərqli edir yaddaş seqment, 804 00:35:52,810 --> 00:35:55,190 və bu imkan qablar xovlu və xovlu üzrə 805 00:35:55,190 --> 00:35:57,800 Siz artıq olacaq yaddaş öz seqment, 806 00:35:57,800 --> 00:36:00,420 və proqram həqiqətən qəza gedir. 807 00:36:00,420 --> 00:36:02,930 >> İndi bir kənara, bu ideya kimi recursion, buna görə də, 808 00:36:02,930 --> 00:36:06,500 aydın, problemlərə gətirib çıxara bilər, lakin mütləq pis bir şey deyil. 809 00:36:06,500 --> 00:36:08,840 Çünki hesab, sonra bütün how-- və bəlkə 810 00:36:08,840 --> 00:36:11,700 bu bir alışma edir TƏTBİQ NASIL üçün zərif və ya necə sadə 811 00:36:11,700 --> 00:36:14,890 sigma ki, həyata idi. 812 00:36:14,890 --> 00:36:17,440 Və biz istifadə etmək fikrində deyilik CS50 bütün çox recursion, 813 00:36:17,440 --> 00:36:20,780 lakin CS51, və həqiqətən hər hansı bir sinif Siz data strukturları manipulyasiya 814 00:36:20,780 --> 00:36:23,640 ağac, və ya ailə ağac kimi, ki, bir iyerarxiya 815 00:36:23,640 --> 00:36:26,000 Bu super faydalı super var. 816 00:36:26,000 --> 00:36:29,750 İndi bir kənara, belə ki, siz kompüter elm istəyən kimi 817 00:36:29,750 --> 00:36:33,180 Google-nin bəzi ilə tanış Google getmək əgər daxili zarafatlar, 818 00:36:33,180 --> 00:36:36,345 və siz nə qədər baxmaq , definition demək, recursion daxil edin. 819 00:36:36,345 --> 00:36:40,208 820 00:36:40,208 --> 00:36:41,110 Uh-huh. 821 00:36:41,110 --> 00:36:42,670 Bir kənara kimi, mən bir neçə qədər çıxardı. 822 00:36:42,670 --> 00:36:45,470 Bu 10 dəqiqə kimi idi süründürməçilik bu səhər. 823 00:36:45,470 --> 00:36:52,890 Əgər Google "əyri" bildiriş başını əyərək slightly-- 824 00:36:52,890 --> 00:36:55,120 və sonra bu bəlkə ən dəhşətli 825 00:36:55,120 --> 00:36:57,286 kimsə kimi sərf-ci ildən Bu həyata onların gün 826 00:36:57,286 --> 00:36:59,880 bir neçə il gəlib ago--. 827 00:36:59,880 --> 00:37:01,140 828 00:37:01,140 --> 00:37:04,540 Oh, wait-- ki, bir səhv var. 829 00:37:04,540 --> 00:37:08,410 830 00:37:08,410 --> 00:37:11,410 >> Belə ki, bir çalışan Dünyanın ən böyük saytları 831 00:37:11,410 --> 00:37:13,510 bu axmaq az Pasxa yumurta var. 832 00:37:13,510 --> 00:37:16,690 Onlar yəqin ki, bir istehlak kodu xətləri nontrivial sayı 833 00:37:16,690 --> 00:37:19,280 yalnız biz ola bilər ki, kimi kiçik fun şeyi. 834 00:37:19,280 --> 00:37:22,140 Amma ən azı indi almaq Bu daxili zarafatlar bəzi. 835 00:37:22,140 --> 00:37:28,330 >> İndi bəzi nəzər salaq ağ, biz gec izah etdik yatır 836 00:37:28,330 --> 00:37:30,707 və geri peel başlamaq Bəzi qat texniki 837 00:37:30,707 --> 00:37:32,790 Siz, həqiqətən, başa düşürəm ki, neler oldu 838 00:37:32,790 --> 00:37:34,860 və başa düşmək olar təhdidlər bəzi, 839 00:37:34,860 --> 00:37:38,060 Shellshock kimi, İndi olmağa başladı 840 00:37:38,060 --> 00:37:41,110 hər kəsin önündə diqqət, ən azı media. 841 00:37:41,110 --> 00:37:45,810 Belə ki, burada bir çox sadə funksiyası Boşluq, heç bir şey qaytarır. 842 00:37:45,810 --> 00:37:46,790 Onun adı dəyişdirmək olur. 843 00:37:46,790 --> 00:37:50,880 Bu iki dəyişənlərin edir və heç bir şey qaytarır. 844 00:37:50,880 --> 00:37:52,260 A və b edir. 845 00:37:52,260 --> 00:37:53,337 Belə ki, tez nümayiş. 846 00:37:53,337 --> 00:37:54,170 Biz bu qədər gətirdi. 847 00:37:54,170 --> 00:37:56,100 Biz də bir az bilər yalnız bir an üçün burada qırmaq 848 00:37:56,100 --> 00:37:57,250 və içmək üçün bir az bir şey var. 849 00:37:57,250 --> 00:38:00,120 Kimsə qoşulması ağla deyil ki, əgər Burada yalnız bir an üçün mənə. 850 00:38:00,120 --> 00:38:01,830 Necə maroon köynək haqqında? 851 00:38:01,830 --> 00:38:02,335 Qədər Hadi. 852 00:38:02,335 --> 00:38:04,060 853 00:38:04,060 --> 00:38:05,260 Yalnız bir gün. 854 00:38:05,260 --> 00:38:06,251 Baxmayaraq ki, təşəkkür edirəm. 855 00:38:06,251 --> 00:38:08,000 Bütün hüquqlar, biz olan burada gəlir? 856 00:38:08,000 --> 00:38:08,660 Sizin adınız nədir? 857 00:38:08,660 --> 00:38:09,360 >> HOPARLÖR 4: Laura. 858 00:38:09,360 --> 00:38:09,740 >> HOPARLÖR 1: Laura. 859 00:38:09,740 --> 00:38:10,370 Qədər Hadi. 860 00:38:10,370 --> 00:38:11,460 861 00:38:11,460 --> 00:38:13,850 Belə ki, Laura, çox sadə problem bu gün. 862 00:38:13,850 --> 00:38:14,704 863 00:38:14,704 --> 00:38:15,370 Yo cavab Nice. 864 00:38:15,370 --> 00:38:16,410 865 00:38:16,410 --> 00:38:16,910 Bütün hüquqlar. 866 00:38:16,910 --> 00:38:21,179 Beləliklə, biz burada bəzi süd və biz burada bəzi portağal suyu var 867 00:38:21,179 --> 00:38:23,345 və bəzi fincan ki, biz Bu gün Annenberg dən borc. 868 00:38:23,345 --> 00:38:24,178 >> HOPARLÖR 4: Borc. 869 00:38:24,178 --> 00:38:27,240 HOPARLÖR 1: Və irəli getmək üçün gedir və bu yarım şüşə verir. 870 00:38:27,240 --> 00:38:28,250 871 00:38:28,250 --> 00:38:28,800 Bütün hüquqlar. 872 00:38:28,800 --> 00:38:30,750 Və biz yarım vermək lazımdır süd bir şüşə. 873 00:38:30,750 --> 00:38:31,905 874 00:38:31,905 --> 00:38:35,890 Oh, və yalnız, belə ki, bu kimi nə xatırlayıram 875 00:38:35,890 --> 00:38:38,860 Mən gətirmək yadda Bu və bu gün. 876 00:38:38,860 --> 00:38:42,030 877 00:38:42,030 --> 00:38:42,530 Okay. 878 00:38:42,530 --> 00:38:45,470 Siz ağla deyil ki, görək, biz Öz eynək onları qoya bilər 879 00:38:45,470 --> 00:38:46,560 əgər siz. 880 00:38:46,560 --> 00:38:48,710 Bu Laura gözü dünya olacaq. 881 00:38:48,710 --> 00:38:49,210 Bütün hüquqlar. 882 00:38:49,210 --> 00:38:53,820 Belə ki, məqsəd, iki fincan verilir Burada maye, süd və portağal şirəsi, 883 00:38:53,820 --> 00:38:58,370 iki məzmunu dəyişdirmək, belə ki, portağal şirəsi süd fincan gider 884 00:38:58,370 --> 00:39:00,710 və süd gider portağal şirəsi fincan. 885 00:39:00,710 --> 00:39:02,359 >> HOPARLÖR 4: Mən başqa bir fincan almaq mı? 886 00:39:02,359 --> 00:39:05,650 HOPARLÖR 1: Mən də, xahiş elə sevindim Bu daha yaxşı görüntülər olardı 887 00:39:05,650 --> 00:39:06,710 xahiş olmasaydı. 888 00:39:06,710 --> 00:39:10,620 Amma bəli, biz bir üçüncü təklif edə bilər əlbəttə, boş ki, fincan. 889 00:39:10,620 --> 00:39:11,120 Bütün hüquqlar. 890 00:39:11,120 --> 00:39:12,300 Belə ki, orada məzmunu dəyişdirmək. 891 00:39:12,300 --> 00:39:16,100 892 00:39:16,100 --> 00:39:17,050 Çox gözəl. 893 00:39:17,050 --> 00:39:20,390 894 00:39:20,390 --> 00:39:21,305 Çox yaxşı. 895 00:39:21,305 --> 00:39:23,121 896 00:39:23,121 --> 00:39:24,745 Siz olduqca diqqətlə bunu edirik. 897 00:39:24,745 --> 00:39:26,970 898 00:39:26,970 --> 00:39:28,655 Və üç addım. 899 00:39:28,655 --> 00:39:30,390 900 00:39:30,390 --> 00:39:31,350 Bütün hüquqlar. 901 00:39:31,350 --> 00:39:31,930 Əla. 902 00:39:31,930 --> 00:39:33,930 Alqış böyük dəyirmi Laura üçün yaxşı olardı. 903 00:39:33,930 --> 00:39:36,500 904 00:39:36,500 --> 00:39:37,000 Bütün hüquqlar. 905 00:39:37,000 --> 00:39:40,790 Biz bir az ayrılıq hədiyyə var sizin üçün, lakin mənə bu götürək. 906 00:39:40,790 --> 00:39:42,620 Çox təşəkkür edirik. 907 00:39:42,620 --> 00:39:46,170 Sadə misal Beləliklə, baxmayaraq ki, Əgər ki, nümayiş etdirmək 908 00:39:46,170 --> 00:39:48,300 məzmunu dəyişdirmək istəyirəm iki qablar, 909 00:39:48,300 --> 00:39:52,360 və ya dəyişənlərin onlara zəng edək, Bəzi müvəqqəti saxlama lazımdır 910 00:39:52,360 --> 00:39:56,710 belə məzmunu bir keçirməyə Siz, həqiqətən mübadilə edə bilər ki,. 911 00:39:56,710 --> 00:40:01,790 Belə ki, həqiqətən, burada bu mənbə kodu qədər C məhz nümayəndəsidir. 912 00:40:01,790 --> 00:40:06,340 Portağal şirəsi bir və süd idi , b idi və biz iki dəyişdirmək istədi 913 00:40:06,340 --> 00:40:08,990 Siz yaradıcı bir şey cəhd edə bilər digər daxil bir tökərək, 914 00:40:08,990 --> 00:40:11,031 lakin yəqin ki, deyil ki xüsusilə də son. 915 00:40:11,031 --> 00:40:15,260 Və belə ki, biz üçüncü fincan, zəng istifadə Bu konvensiya tərəfindən T-M-P tmp 916 00:40:15,260 --> 00:40:19,370 və məzmunu qoymaq OJ ki, sonra bir fincan dəyişdirmək, 917 00:40:19,370 --> 00:40:22,610 sonra daxil OJ qoymaq orijinal fincan, bununla 918 00:40:22,610 --> 00:40:25,320 tam olaraq nail olmaq Laura, svop etdi. 919 00:40:25,320 --> 00:40:26,850 >> Belə ki, məhz bunu bildirin. 920 00:40:26,850 --> 00:40:30,110 Mənə irəli getmək və açmaq ki, misal up 921 00:40:30,110 --> 00:40:32,720 həqiqətən, heç bir "adlı bu deyil, çünki ", dəyişdirmək 922 00:40:32,720 --> 00:40:36,180 Sizcə bilər kimi sadəcə edilir. 923 00:40:36,180 --> 00:40:41,190 Belə ki, bu proqram, fark Mən stdio.h, bizim köhnə dostumuz istifadə edirəm. 924 00:40:41,190 --> 00:40:43,130 Mən prototip var , orada mübadilə üçün olan 925 00:40:43,130 --> 00:40:45,450 onun həyata keçirilməsi üzrə deməkdir yəqin ki, aşağı, 926 00:40:45,450 --> 00:40:48,050 və görək əsas nə bu proqram mənim üçün nə olacaq. 927 00:40:48,050 --> 00:40:52,020 Mən ilk int x olur elan bir və y iki olur int. 928 00:40:52,020 --> 00:40:54,930 Belə ki, OJ kimi o hesab müvafiq və süd. 929 00:40:54,930 --> 00:40:57,100 Və sonra mən yalnız bir var printf x bu söyləyərək 930 00:40:57,100 --> 00:41:00,120 və y yalnız mən bilər, bu vizual neler oldu. 931 00:41:00,120 --> 00:41:03,810 Sonra iddia printf var Mən iki dəyişdirmə edirəm ki, 932 00:41:03,810 --> 00:41:07,100 və sonra mən bir çap onlar dəyişdirildikdə edirik ki, iddia, 933 00:41:07,100 --> 00:41:09,300 və mən yenə x və y çap. 934 00:41:09,300 --> 00:41:13,010 Belə ki, aşağı burada svop edir dəqiq Laura nə, 935 00:41:13,010 --> 00:41:16,240 və biz gördüm dəqiq nə bir an əvvəl ekran. 936 00:41:16,240 --> 00:41:19,380 >> Belə nin irəli getmək və sorely məyus olacaq. 937 00:41:19,380 --> 00:41:24,690 Heç bir mübadilə etmək, və heç bir mübadilə run, Burada çıxış yakınlaştırma. 938 00:41:24,690 --> 00:41:28,320 Daxil edin x y dəyişdirildikdə dəyişdirmə, 2, 1. 939 00:41:28,320 --> 00:41:32,700 x hələ 1 və y hələ 2. 940 00:41:32,700 --> 00:41:37,630 Belə ki, baxmayaraq, səmimi, bu görünür dəqiq daha çox texniki olsa, kimi, 941 00:41:37,630 --> 00:41:40,730 Laura nə, iş deyildi. 942 00:41:40,730 --> 00:41:42,130 Belə ki, niyə ki? 943 00:41:42,130 --> 00:41:46,630 Yaxşı, o zaman çıxır ki, biz bu kimi bir proqram yazmaq 944 00:41:46,630 --> 00:41:51,590 həm əsas, burada qeyd olunur və sonra başqa bir funksiyası, svop kimi, 945 00:41:51,590 --> 00:41:54,230 Burada qeyd olunan dünya çağırır 946 00:41:54,230 --> 00:41:57,030 kimi bir az bir şey görünür bir an əvvəl bu qablar. 947 00:41:57,030 --> 00:42:00,440 Zaman əsas adlı olur ilk, ki, əməliyyat sistemi tələb kimi 948 00:42:00,440 --> 00:42:04,030 hər hansı bir yerli üçün yaddaş bir az x və əsas var ki, y kimi dəyişənlərin, 949 00:42:04,030 --> 00:42:05,660 və onlar orada son. 950 00:42:05,660 --> 00:42:10,920 Əsas zənglər dəyişdirmək, və əsas, lakin əgər iki dəlilləri, bir və b dəyişdirmək keçir, 951 00:42:10,920 --> 00:42:16,410 portağal şirəsi və süd, bu kimi deyil portağal şirəsi və süd təhvil 952 00:42:16,410 --> 00:42:17,500 Laura. 953 00:42:17,500 --> 00:42:21,300 Kompüter nə, onu edir portağal şirəsi surətlərini keçir 954 00:42:21,300 --> 00:42:27,110 ki, Laura süd və surətləri, nə bu tray daxilində nəticədə var 955 00:42:27,110 --> 00:42:32,510 dəyəri bir və iki və ya OJ edir və süd, amma surət, 956 00:42:32,510 --> 00:42:34,790 belə ki, bu məqamda hekayə var 957 00:42:34,790 --> 00:42:36,930 Bu qablar hər OJ və süd edir. 958 00:42:36,930 --> 00:42:39,260 Bir və iki var Bu qablar hər, 959 00:42:39,260 --> 00:42:41,720 və svop funksiyası həqiqətən işləyir. 960 00:42:41,720 --> 00:42:46,090 Bu daxili onlara dəyişdirmə oldu ikinci topmost tray, 961 00:42:46,090 --> 00:42:48,147 lakin dəyişdirmə heç bir təsir var. 962 00:42:48,147 --> 00:42:49,980 Və yalnız bəzi əsaslanır biz əsas prinsipi 963 00:42:49,980 --> 00:42:52,970 əvvəl danışdıq, və həqiqətən yalnız bir neçə dəqiqə əvvəl, nə 964 00:42:52,970 --> 00:42:58,770 dəyişən izah edə bilər svop daxilində və b 965 00:42:58,770 --> 00:43:05,560 baxmayaraq ki, x və y heç bir təsiri yoxdur Mən mübadilə funksiyası x və y keçdi. 966 00:43:05,560 --> 00:43:08,750 Burada əsas söz nədir simplistically izah edə bilər? 967 00:43:08,750 --> 00:43:11,250 968 00:43:11,250 --> 00:43:12,627 Mən burada eşitdim edirəm? 969 00:43:12,627 --> 00:43:13,335 Auditoriya: qayıt. 970 00:43:13,335 --> 00:43:14,085 HOPARLÖR 1: qayıt? 971 00:43:14,085 --> 00:43:14,590 Qayıtmaq deyil. 972 00:43:14,590 --> 00:43:15,895 Digər biri ilə gedək. 973 00:43:15,895 --> 00:43:16,395 Nə olub? 974 00:43:16,395 --> 00:43:17,080 >> Auditoriya: [işitilemez]. 975 00:43:17,080 --> 00:43:20,000 >> HOPARLÖR 1: OK, biz bilər dönmək belə hekayə geri iş, 976 00:43:20,000 --> 00:43:21,914 lakin daha sadə izahı var. 977 00:43:21,914 --> 00:43:22,580 Auditoriya: Sayt. 978 00:43:22,580 --> 00:43:23,288 HOPARLÖR 1: Sayt. 979 00:43:23,288 --> 00:43:24,300 Mən vüsət almaq lazımdır. 980 00:43:24,300 --> 00:43:27,290 Belə ki, əhatə dairəsi, harada yadda Bizim x və y elan etdi. 981 00:43:27,290 --> 00:43:30,840 Onlar daxilində elan edirik əsas sağ burada. 982 00:43:30,840 --> 00:43:33,200 bir və b, eyni zamanda, səmərəli elan 983 00:43:33,200 --> 00:43:35,930 svop daxilində, kifayət qədər da qıvrım aşırma, lakin hələ 984 00:43:35,930 --> 00:43:37,690 mübadilə ümumi sahəsi. 985 00:43:37,690 --> 00:43:40,560 Və həqiqətən, bir və b yalnız bu tray daxilində mövcud 986 00:43:40,560 --> 00:43:44,850 Annenberg, bu kod ikinci yığın. 987 00:43:44,850 --> 00:43:49,500 Belə ki, biz, həqiqətən, surəti dəyişir, lakin edirik ki, həqiqətən bütün faydalı deyil. 988 00:43:49,500 --> 00:43:52,190 >> Belə ki, bir nəzər edək bu bir az aşağı səviyyədə. 989 00:43:52,190 --> 00:43:55,430 Mən geri getmək üçün gedirəm Mənbə Directory, 990 00:43:55,430 --> 00:43:58,330 və mən ilk gedirəm burada zoom və yalnız 991 00:43:58,330 --> 00:44:02,290 Mən bu olduğumu təsdiq böyük terminal pəncərə, 992 00:44:02,290 --> 00:44:04,430 proqram hələ ki, kimi davranır edir. 993 00:44:04,430 --> 00:44:06,840 Indi bu düşünək qəsdən deyil. 994 00:44:06,840 --> 00:44:10,090 Aydındır I mübadilə istədi iş, belə ki, bir səhv kimi hiss edir. 995 00:44:10,090 --> 00:44:12,780 İndi mən bir əlavə başlaya bilər mənim kodu printf nin çox, 996 00:44:12,780 --> 00:44:16,010 , burada y x üzərində çap burada, burada, burada b a. 997 00:44:16,010 --> 00:44:18,220 Amma səmimi, ki, yəqin ki, nə var Siz bir neçə həftə məşğul olduğunuz 998 00:44:18,220 --> 00:44:20,190 İndi, ofis saat və evdə iş zaman 999 00:44:20,190 --> 00:44:22,150 Bəzi hataları tapmaq üçün çalışırıq psets. 1000 00:44:22,150 --> 00:44:25,560 Əgər siz artıq yoxdur, əgər Lakin, görürsünüz ki, problem üç sizə təqdim set 1001 00:44:25,560 --> 00:44:31,630 GDB adlı komanda, harada gdb, GNU ayıklama, 1002 00:44:31,630 --> 00:44:34,040 özünü bütün dəstə var xüsusiyyətləri ki, həqiqətən bilərsiniz 1003 00:44:34,040 --> 00:44:38,160 us hallar anlamaq imkan bu kimi, lakin daha compellingly, 1004 00:44:38,160 --> 00:44:39,940 problemləri həll və hataları tapa bilərsiniz. 1005 00:44:39,940 --> 00:44:40,940 Mən bunu gedirəm. 1006 00:44:40,940 --> 00:44:44,770 Əvəzində ./noswap, mən əvəzinə deyiləm GDB ./noswap run olacaq. 1007 00:44:44,770 --> 00:44:47,410 1008 00:44:47,410 --> 00:44:51,200 Başqa sözlə, mən çalıştırmak üçün gedirəm mənim proqram Bash, bizim yeni dost 1009 00:44:51,200 --> 00:44:51,850 bu gün. 1010 00:44:51,850 --> 00:44:53,970 Mən çalıştırmak üçün gedirəm mənim daxili proqram noswap 1011 00:44:53,970 --> 00:44:56,900 adlı digər proqram Ayıklama olan gdb olan 1012 00:44:56,900 --> 00:45:01,035 yardım üçün nəzərdə tutulmuşdur bir proqramdır tapmaq və hataları aradan qaldırılması, insanların. 1013 00:45:01,035 --> 00:45:03,410 Mən burada Run hit əgər Belə ki, var mətn bir dəhşətli məbləği 1014 00:45:03,410 --> 00:45:04,868 Siz, həqiqətən, oxumaq heç vaxt. 1015 00:45:04,868 --> 00:45:07,290 Bu əhəmiyyətli bir yayındırma var Tez, hansı 1016 00:45:07,290 --> 00:45:10,030 I Control-L olmaq üçün gedirəm orada üst almaq üçün. 1017 00:45:10,030 --> 00:45:11,800 Bu gdb tez edir. 1018 00:45:11,800 --> 00:45:15,550 Mən indi bu proqram çalıştırmak üçün istəyirsinizsə, Bu gün bu kiçik dələduz hesabatı kimi 1019 00:45:15,550 --> 00:45:21,860 slide Run ilk təklif biz təqdim etmək nəzərdə əmrləri. 1020 00:45:21,860 --> 00:45:25,150 Mən yalnız yazın gedirəm gdb daxilində burada run, 1021 00:45:25,150 --> 00:45:26,811 və həqiqətən mənim proqram qaçdı. 1022 00:45:26,811 --> 00:45:29,310 İndi bəzi əlavə var bu kimi ekranın çıxış, 1023 00:45:29,310 --> 00:45:31,910 lakin gdb yalnız olan anal var və neler bizə izah. 1024 00:45:31,910 --> 00:45:34,451 Siz, həqiqətən, narahat yoxdur İndi bu məlumat haqqında. 1025 00:45:34,451 --> 00:45:36,890 Amma həqiqətən cool nə Mən əgər gdb, bu again-- 1026 00:45:36,890 --> 00:45:42,100 Control-L getməmə screen-- təmizləyir irəli və növü "bununla, əsas qırmaq", 1027 00:45:42,100 --> 00:45:45,743 Mən daxil edin hit zaman, nə qəbulu fasilə point noswap.c adlı, 1028 00:45:45,743 --> 00:45:51,270 harada gdb olan line 16, həqiqətən, mənim proqramı həyata fiqurlu 1029 00:45:51,270 --> 00:45:53,070 , mənim funksiyası əslində. 1030 00:45:53,070 --> 00:45:55,070 Biz indi ignore lazımdır Bu lakin bir ünvan var 1031 00:45:55,070 --> 00:45:57,310 xüsusi olaraq bu funksiya xatirəsinə. 1032 00:45:57,310 --> 00:46:00,240 Belə ki, indi mən run yazın zaman, Burada cool nə görürsünüz. 1033 00:46:00,240 --> 00:46:05,650 Mənim proqram line I pozur duraklatabilirsiniz icra gdb bildirib. 1034 00:46:05,650 --> 00:46:09,850 Mən indi mənim kodu dəyişdirmək üçün yoxdur, , bəzi printf nin əlavə derleyeceğiz, təkrar 1035 00:46:09,850 --> 00:46:13,300 Bu, dəyişdirmək, printf nin əlavə saxlamaq, derleyeceğiz, axır. 1036 00:46:13,300 --> 00:46:18,100 Mən yalnız mənim proqram vasitəsilə gəzmək bilər insan sürətlə addım-addım, 1037 00:46:18,100 --> 00:46:20,880 deyil sürət Intel-daxili cür. 1038 00:46:20,880 --> 00:46:24,580 >> Belə ki, indi bu xətt bildiriş Mən geri getmək əgər burada görünür, və 1039 00:46:24,580 --> 00:46:27,800 gedit mənim proqram, ki, həqiqətən olduğunu qeyd 1040 00:46:27,800 --> 00:46:29,280 kodu ilk line. 1041 00:46:29,280 --> 00:46:31,240 Line 16 gedit var. 1042 00:46:31,240 --> 00:46:34,610 Var line 16 gdb ərzində, və hətta bu qara və ağ interface baxmayaraq 1043 00:46:34,610 --> 00:46:37,760 təxminən istifadəçi kimi dostu, bu deməkdir 1044 00:46:37,760 --> 00:46:41,680 ki, line 16 icra olunmayıb hələ, lakin bu barədə var. 1045 00:46:41,680 --> 00:46:46,220 Belə ki, həqiqətən, Mən çap yazın əgər x deyil, printf, yalnız çap x, 1046 00:46:46,220 --> 00:46:50,730 Mən sıfır bəzi saxta dəyər almaq x hələ başlatılmadı deyil, çünki. 1047 00:46:50,730 --> 00:46:54,760 Əgər Mən, növbəti yazın gedir, ya alıram yalnız növbəti üçün n, xülya olmaq istəyirəm. 1048 00:46:54,760 --> 00:46:59,090 Amma hal-hazırda daxil yazın zaman Bu xətt 17 hərəkət bildiriş. 1049 00:46:59,090 --> 00:47:02,840 Belə ki, məntiqi, edam etdik əgər line 16 və indi çap x yazın 1050 00:47:02,840 --> 00:47:03,640 Mən nə görürsünüz? 1051 00:47:03,640 --> 00:47:04,970 1052 00:47:04,970 --> 00:47:05,520 Biri. 1053 00:47:05,520 --> 00:47:07,820 >> Və indi bu etiraf qarışıqdır. 1054 00:47:07,820 --> 00:47:11,260 2, bir xülya yoludur əgər sonra ki, dəyəri istinad etmək istəyirəm, 1055 00:47:11,260 --> 00:47:12,510 Siz "dollar iki imzalayacaq." deyə bilərsiniz 1056 00:47:12,510 --> 00:47:13,480 Bu geri istinad kimi. 1057 00:47:13,480 --> 00:47:14,570 Amma indi üçün, yalnız ignore. 1058 00:47:14,570 --> 00:47:17,070 Nə maraqlı nə edir bərabər işarəsi sağ. 1059 00:47:17,070 --> 00:47:21,000 Və indi mən daha sonrakı yazın əgər və çap y, mən 2 görməlisiniz. 1060 00:47:21,000 --> 00:47:23,870 Mən də indi çap edə bilərsiniz x yenidən və səmimi, 1061 00:47:23,870 --> 00:47:27,130 Mən bir az qarışıq alıram əgər Mən, mən siyahısı üçün daxil edə bilərsiniz 1062 00:47:27,130 --> 00:47:30,590 və yalnız ətrafında bəzi kontekstində görmək point Mən, həqiqətən deyiləm. 1063 00:47:30,590 --> 00:47:35,180 Və indi yazın bilər növbəti və orada x 1. 1064 00:47:35,180 --> 00:47:36,300 İndi mən növbəti yazın. 1065 00:47:36,300 --> 00:47:37,710 Oh, y 2. 1066 00:47:37,710 --> 00:47:40,750 Və yenə, o, confusing edir gdb nin çıxış çünki 1067 00:47:40,750 --> 00:47:43,044 öz çıxışı ilə commingled olunur. 1068 00:47:43,044 --> 00:47:45,710 Amma siz, unutmayın əgər geri və irəli sizin kodu baxma 1069 00:47:45,710 --> 00:47:47,740 və ya yan onu çəkilişi bəlkə tərəfindən, will 1070 00:47:47,740 --> 00:47:51,020 Mən, həqiqətən, yalnız deyiləm ki, yuxarıda Mənim proqram vasitəsilə gücləndirməklə. 1071 00:47:51,020 --> 00:47:54,620 >> Amma sanki, sonrakı nə görürsünüz. 1072 00:47:54,620 --> 00:47:56,380 Burada line 22 var. 1073 00:47:56,380 --> 00:48:01,315 Bununla hərəkət, mənə artıq getmək edək 23, və mən indi, hələ bir x çap əgər. 1074 00:48:01,315 --> 00:48:03,890 Və mən bir də, y çap əgər. 1075 00:48:03,890 --> 00:48:05,820 Belə ki, bu faydalı həyata deyil. 1076 00:48:05,820 --> 00:48:07,450 Belə ki, bu redo imkan verir. 1077 00:48:07,450 --> 00:48:10,069 Mənə geri gedək daha üst və növü run. 1078 00:48:10,069 --> 00:48:12,110 Və bu proqram deyərək ki debugged olunur 1079 00:48:12,110 --> 00:48:14,109 artıq başlayıb, əvvəldən başladı. 1080 00:48:14,109 --> 00:48:15,420 Bəli, yenə bunu bildirin. 1081 00:48:15,420 --> 00:48:22,000 Və bu zaman, növbəti edək növbəti, növbəti, növbəti, növbəti, 1082 00:48:22,000 --> 00:48:24,180 lakin indi şeylər maraqlı almaq. 1083 00:48:24,180 --> 00:48:27,760 İndi mən daxil addım istəyirik svop, mən növbəti yazın yoxdur. 1084 00:48:27,760 --> 00:48:34,380 Mən bunu hiss indi addım yazın, noswap.c line 33 mənə atladı. 1085 00:48:34,380 --> 00:48:37,240 Mən gedit geri getmək əgər, line 33 nə var? 1086 00:48:37,240 --> 00:48:40,500 Ki, faktiki ilk var svop daxilində kodu line. 1087 00:48:40,500 --> 00:48:44,150 Çünki indi mən gözəl, cür ətrafında soxmaq və maraqlı almaq 1088 00:48:44,150 --> 00:48:46,052 kimi nə var həqiqətən olur. 1089 00:48:46,052 --> 00:48:46,760 Mənə tmp çap edək. 1090 00:48:46,760 --> 00:48:47,770 1091 00:48:47,770 --> 00:48:48,800 Whoa. 1092 00:48:48,800 --> 00:48:51,438 Niyə tmp bəzi var crazy, saxta zibil dəyəri? 1093 00:48:51,438 --> 00:48:54,579 1094 00:48:54,579 --> 00:48:56,120 Auditoriya: Bu başlatılmadı deyil. 1095 00:48:56,120 --> 00:48:57,150 HOPARLÖR 1: Bu başlatılmadı deyil. 1096 00:48:57,150 --> 00:49:00,270 Və həqiqətən, bir proqram çalıştırdığınızda, Siz yaddaş bütöv bir dəstə sunulur 1097 00:49:00,270 --> 00:49:03,392 əməliyyat sistemi, lakin siz heç bir dəyərləri başlatılmış deyil, 1098 00:49:03,392 --> 00:49:05,600 belə nə bit edirik Bu, baxmayaraq ki, burada görən 1099 00:49:05,600 --> 00:49:07,770 Bu crazy böyük mənfi sayı, yalnız deməkdir 1100 00:49:07,770 --> 00:49:10,750 o ki, qalıqları var ki, RAM bəzi əvvəlki istifadə, 1101 00:49:10,750 --> 00:49:13,050 Mən baxmayaraq özüm hələ lazım. 1102 00:49:13,050 --> 00:49:17,086 Belə ki, indi mən irəli və növü getmək üçün gedirəm növbəti və indi çap tmp yazın əgər, 1103 00:49:17,086 --> 00:49:17,835 Mən nə görürsünüz? 1104 00:49:17,835 --> 00:49:19,570 1105 00:49:19,570 --> 00:49:23,360 Nə olursa olsun bir dəyəri olub, yalnız ilk arqument 1106 00:49:23,360 --> 00:49:25,550 x kimi ilk idi şey, qəbul edilir 1107 00:49:25,550 --> 00:49:30,450 belə bir və x eyni olmalıdır, belə çap tmp mənə bir verməlidir. 1108 00:49:30,450 --> 00:49:36,360 >> Beləliklə, nə siz problem set görəcəksiniz üç, gdb on növ bir tutorial edir 1109 00:49:36,360 --> 00:49:40,020 lakin bu başlanğıcı olduğunu dərk bir alət bir göz ki, həqiqətən olacaq 1110 00:49:40,020 --> 00:49:42,774 Əgər problem həll kömək çox daha çox səmərəli. 1111 00:49:42,774 --> 00:49:44,690 Biz nəticədə etdiyiniz nə Çərşənbə günü edəcəyimiz 1112 00:49:44,690 --> 00:49:48,180 bir neçə qat geri soymaq başlamaq və bəzi təlim təkərlər aradan qaldırılması. 1113 00:49:48,180 --> 00:49:50,496 Ki, deyilən şey string ki Biz bir müddət üçün istifadə etdiyiniz 1114 00:49:50,496 --> 00:49:53,370 biz yavaş-yavaş üz olacaq və sizin söhbət başlamaq 1115 00:49:53,370 --> 00:49:55,725 bir şey daha esoterically char * kimi tanınan, 1116 00:49:55,725 --> 00:49:59,550 lakin biz bu gözəl nə olacaq və yumşaq ilk belə göstəricilər baxmayaraq, 1117 00:49:59,550 --> 00:50:02,730 onlar deyilir etdiyiniz kimi, bəzi edə bilərsiniz əgər sui-istifadə çox pis şeylər, 1118 00:50:02,730 --> 00:50:06,040 bir az claymation baxaraq bizim dostumuz Stanford Nick Parlante 1119 00:50:06,040 --> 00:50:09,670 University, kompüter bir professor Bu önizleme birlikdə qoymaq edən elm 1120 00:50:09,670 --> 00:50:11,075 bu çərşənbə gəlmək nə. 1121 00:50:11,075 --> 00:50:12,196 1122 00:50:12,196 --> 00:50:13,400 >> [Video playback] 1123 00:50:13,400 --> 00:50:13,900 -Hey, Binky. 1124 00:50:13,900 --> 00:50:14,930 1125 00:50:14,930 --> 00:50:15,780 Uyan. 1126 00:50:15,780 --> 00:50:17,240 Bu göstərici əyləncə üçün vaxt var. 1127 00:50:17,240 --> 00:50:18,260 1128 00:50:18,260 --> 00:50:19,350 >> Ki, hansı var? 1129 00:50:19,350 --> 00:50:21,150 Göstəricilər haqqında məlumat əldə edin? 1130 00:50:21,150 --> 00:50:22,050 Oh, goody! 1131 00:50:22,050 --> 00:50:22,897 1132 00:50:22,897 --> 00:50:23,730 [END Video playback] 1133 00:50:23,730 --> 00:50:25,396 HOPARLÖR 1: Bu barədə çərşənbə günü sizi gözləyir. 1134 00:50:25,396 --> 00:50:26,440 Biz sonra görəcəksiniz. 1135 00:50:26,440 --> 00:50:27,106 [Video playback] 1136 00:50:27,106 --> 00:50:30,420 Və indi, Deep Thoughts, Daven Farnham tərəfindən. 1137 00:50:30,420 --> 00:50:33,980 1138 00:50:33,980 --> 00:50:35,900 >> Niyə biz C öyrənir? 1139 00:50:35,900 --> 00:50:36,785 Niyə A +? 1140 00:50:36,785 --> 00:50:38,550 1141 00:50:38,550 --> 00:50:40,910 >> [Gülüş] 1142 00:50:40,910 --> 00:50:42,160 >> [END Video playback]