1 00:00:00,000 --> 00:00:11,330 2 00:00:11,330 --> 00:00:12,360 >> DAVID MALAN: Bütün hüququ. 3 00:00:12,360 --> 00:00:15,970 Bu CS50, və bu Həftə doqquz sonu. 4 00:00:15,970 --> 00:00:18,560 Bu artıq bir qasırğa olub Son bir neçə gün. 5 00:00:18,560 --> 00:00:21,580 Siz diz edirsinizsə problem, yeddi set dərin onu olduqca var həyata 6 00:00:21,580 --> 00:00:23,340 bit yeni ki, orada var. 7 00:00:23,340 --> 00:00:26,660 Amma biz parça bilməz əgər in görək hər şey birlikdə burada qısaca 8 00:00:26,660 --> 00:00:29,230 əvvəl sonra hələ off veering başqa istiqamət və görən 9 00:00:29,230 --> 00:00:30,510 harada başqa biz bilərsiniz. 10 00:00:30,510 --> 00:00:32,630 >> Belə ki, bu günə qədər, biz HTML haqqında söhbət etdik. 11 00:00:32,630 --> 00:00:33,740 Biz CSS haqqında söhbət etdik. 12 00:00:33,740 --> 00:00:34,705 Biz PHP haqqında söhbət etdik. 13 00:00:34,705 --> 00:00:36,520 Siz SQL yaşamağa başlamışdır etdik. 14 00:00:36,520 --> 00:00:38,360 Bu gün biz bir az danışmaq lazımdır JavaScript haqqında. 15 00:00:38,360 --> 00:00:41,230 Bəs bu disparate bütün etmək languages ​​birlikdə uyğun? 16 00:00:41,230 --> 00:00:44,970 >> Beləliklə, biz haqqında ötən həftə danışıb bir server olan anlayışı. 17 00:00:44,970 --> 00:00:48,470 Belə ki, yalnız bu düzbucaqlı çəkmək imkan burada bir web server kimi. 18 00:00:48,470 --> 00:00:52,200 Və bir web server, şübhəsiz ki, faylları xidmət edir. 19 00:00:52,200 --> 00:00:54,640 Və o, bəzi faylları HTML faylları ola bilər. 20 00:00:54,640 --> 00:00:58,270 Belə ki, hər biri bir web server həyata tüpürmək edə bilər bir fayl ola bilər ki, 21 00:00:58,270 --> 00:01:01,290 biz yalnız bu kimi çəkmək lazımdır Bəzi HTML olan. 22 00:01:01,290 --> 00:01:04,786 Belə ki, layman nin baxımından, nə HTML nə imkan vermir? 23 00:01:04,786 --> 00:01:06,036 >> Auditoriya: Page göz gözəl. 24 00:01:06,036 --> 00:01:09,670 25 00:01:09,670 --> 00:01:12,310 >> DAVID MALAN: OK, bir səhifə gözəl baxmaq etmək, Mən sübut etdik edirəm, baxmayaraq ki, 26 00:01:12,310 --> 00:01:13,370 başqa. 27 00:01:13,370 --> 00:01:18,250 Belə ki, HTML pages qoymaq imkan vermir struktur, və bu imkan verir 28 00:01:18,250 --> 00:01:22,410 sort estetik bir səhifə qədər qeyd statik content qədər qeyd ki, 29 00:01:22,410 --> 00:01:23,640 sonra bir web browser ilə bilərsiniz. 30 00:01:23,640 --> 00:01:24,690 >> Amma bu əsas var. 31 00:01:24,690 --> 00:01:26,130 Bu statik məzmun var. 32 00:01:26,130 --> 00:01:28,590 Siz yazmaq, onu saxlamaq, və sonra gəmi. 33 00:01:28,590 --> 00:01:31,130 Və web server sonra xidmət Sizin qonaqlar qədər. 34 00:01:31,130 --> 00:01:35,700 >> Amma biz fərqli bir istifadə edərək şeyi stylize cəmi dil. 35 00:01:35,700 --> 00:01:40,150 Biz stil atributu istifadə etməyə başladı müəyyən tags. 36 00:01:40,150 --> 00:01:43,400 Və stil atributu us müəyyən edək font ölçüsü və rəngi kimi şeylər. 37 00:01:43,400 --> 00:01:46,460 Və yəqin ki, tapmaq üçün açılmış sonra, və ya tezliklə final üçün vəsiyyət 38 00:01:46,460 --> 00:01:50,160 potensial layihələr, hələ digər Siz CSS istifadə edə bilərsiniz ki, xassələri. 39 00:01:50,160 --> 00:01:54,710 Və layman nin baxımından, nə həqiqətən sonra CSS edir? 40 00:01:54,710 --> 00:01:57,810 Həmin onun yalnız misaldır. 41 00:01:57,810 --> 00:02:00,730 Bu nə imkan vermir ki, HTML nə görünmür 42 00:02:00,730 --> 00:02:02,606 biz belə uzaq gördüm? 43 00:02:02,606 --> 00:02:04,850 >> Auditoriya: özünüz üslub müəyyən. 44 00:02:04,850 --> 00:02:06,700 >> DAVID MALAN: üslub müəyyən Özünüz. 45 00:02:06,700 --> 00:02:10,280 Belə ki, sizin kimi dərsləri kimi şeylər müəyyən benzersiz rast, və ya ola bilər 46 00:02:10,280 --> 00:02:13,800 bir sənəd qovşaqlarının müəyyən qədər Əgər siz onları stylize bilər ki,. 47 00:02:13,800 --> 00:02:16,890 Lakin daha konkret, mən CSS demək istədiyiniz həqiqətən şeyi almaq imkan verir 48 00:02:16,890 --> 00:02:20,790 son mil və daha daxil imkan verir daha doğrusu, estetikasını 49 00:02:20,790 --> 00:02:24,340 çox hissəsi üçün HTML imkan verir halbuki Siz pages strukturu. 50 00:02:24,340 --> 00:02:27,310 >> Və bəzi yetirilməməsi var, baxmayaraq ki, kimi biz tag gördüm 51 00:02:27,310 --> 00:02:30,690 təxminən danışan bir mal tag, şeyi böyük və cəsarətli etdi. 52 00:02:30,690 --> 00:02:34,250 Ki, olduqca ümumi tərif var Tag - böyük və qalın. 53 00:02:34,250 --> 00:02:35,260 Nə font ölçüsü? 54 00:02:35,260 --> 00:02:36,080 Ki, nə rəng olar? 55 00:02:36,080 --> 00:02:36,890 Ki, necə qalın? 56 00:02:36,890 --> 00:02:39,830 Və CSS daha gözəl imkan verir kimi tune şeylər. 57 00:02:39,830 --> 00:02:42,150 Habelə layout, bəzi kimi siz gördük. 58 00:02:42,150 --> 00:02:45,180 >> Və səmimi, CSS bir az bir messy dil. 59 00:02:45,180 --> 00:02:48,370 Bu edə bilər ki, çox güclü Siz var ki, sözün hər hansı bir web 60 00:02:48,370 --> 00:02:51,880 bu gün internet görüldü, lakin Bu boyun bir ağrı növü var. 61 00:02:51,880 --> 00:02:54,440 Və bəzi başını çarptım var artıq yalnız etmək üçün divarları qarşı 62 00:02:54,440 --> 00:02:58,560 mərkəzi bir menyu kimi axmaq bir şey siz kazanılmış əgər problem yeddi müəyyən 63 00:02:58,560 --> 00:02:59,470 artıq point. 64 00:02:59,470 --> 00:03:01,530 >> Lakin həmin şeyi dərk zamanla daha asan əldə. 65 00:03:01,530 --> 00:03:02,820 Siz nümunələri qeyd başlayın. 66 00:03:02,820 --> 00:03:06,020 Və yenə, Google dost olacaq Siz olan müxtəlif yollarını 67 00:03:06,020 --> 00:03:07,220 problemləri bu cür həll edir. 68 00:03:07,220 --> 00:03:11,520 >> Mən CSS demək cəsarət, və HTML daha ümumiyyətlə, problemləri həll edə bilər 69 00:03:11,520 --> 00:03:15,910 bir çox yolları, bütün olan çox güc yaxşı ola bilər çox, doğru 70 00:03:15,910 --> 00:03:18,900 C kimi bir şey, hətta indi PHP, və ya JavaScript. 71 00:03:18,900 --> 00:03:21,080 Müxtəlif yalnız bir çox var şeyi yerinə qoymaq yolları. 72 00:03:21,080 --> 00:03:22,570 >> Amma bu almaq üçün başladı messy, dedik. 73 00:03:22,570 --> 00:03:26,480 Just cür HTML commingling və stil atributu ilə CSS 74 00:03:26,480 --> 00:03:27,590 bir az sloppy. 75 00:03:27,590 --> 00:03:31,460 Və belə ki, biz əvəzinə sort ifadə edərək, abstractly danışan, siz ki, 76 00:03:31,460 --> 00:03:34,050 ən azı amil başlamaq yəqin ki, sizin CSS həyata. 77 00:03:34,050 --> 00:03:37,430 Sizin stil atributları, lakin ən azı nə daxili stil tag istifadə 78 00:03:37,430 --> 00:03:38,840 web page hissəsi? 79 00:03:38,840 --> 00:03:39,560 >> Auditoriya: Head. 80 00:03:39,560 --> 00:03:40,120 >> DAVID MALAN: rəhbəri. 81 00:03:40,120 --> 00:03:43,270 İndiyə qədər, biz yalnız adı qaldı var, lakin siz də bir stil əlavə edə bilərsiniz 82 00:03:43,270 --> 00:03:47,230 tag, və təxminən sizin CSS qoya bilər Səhifənin üst doğru danışan. 83 00:03:47,230 --> 00:03:52,550 Amma sonra biz bir addım daha şeyi etdi və daha çox ki factored 84 00:03:52,550 --> 00:03:54,130 ayrı fayla. 85 00:03:54,130 --> 00:03:57,240 >> Və bu iki faylları idi elə indi bağlıdır. 86 00:03:57,240 --> 00:03:59,550 Və həqiqətən bu idi etdi ki, tag. 87 00:03:59,550 --> 00:04:02,920 Və nə mühüm və biri idi Bizim CSS faktorinq üçün motivasiya 88 00:04:02,920 --> 00:04:04,057 bütün daha? 89 00:04:04,057 --> 00:04:05,280 >> Auditoriya: reusability. 90 00:04:05,280 --> 00:04:05,785 >> DAVID MALAN: reusability. 91 00:04:05,785 --> 00:04:06,150 Sağ? 92 00:04:06,150 --> 00:04:09,470 Siz görmüşəm bilər p-set artıq yeddi ki pages bir çox 93 00:04:09,470 --> 00:04:12,260 satın səhifə satış səhifə, portfel səhifə yəqin ki, 94 00:04:12,260 --> 00:04:13,550 qədər eyni strukturlaşdırılmış. 95 00:04:13,550 --> 00:04:17,579 Üst bir CS50 maliyyə logo var Siz onu dəyişdirmək üçün qərar qəbul etdik halda. 96 00:04:17,579 --> 00:04:19,839 Bu bir footer var pages alt. 97 00:04:19,839 --> 00:04:24,315 Və CSS sonra onu amil imkan verir ayrı bir fayla belə ki, əgər 98 00:04:24,315 --> 00:04:27,780 Əgər qlobal şey dəyişmək istəyirsinizsə bütün site arasında, siz həqiqətən 99 00:04:27,780 --> 00:04:29,390 yalnız bir yerdə dəyişmək. 100 00:04:29,390 --> 00:04:32,750 >> Amma potensial ödəmək qiymət var həyata factored edərək tərəfindən 101 00:04:32,750 --> 00:04:38,380 Ayrı-ayrı daxil mənim HTML faylı CSS Bu ilə sened fayl 102 00:04:38,380 --> 00:04:40,650 Biz bazar ertəsi gördüm tag. 103 00:04:40,650 --> 00:04:43,850 İşin mənfi tərəfi odur ki, bu nə ola bilər? 104 00:04:43,850 --> 00:04:48,830 Biz olduğunuzda bir həftə əvvəl geri düşüncələri HTTP və TCP / IP və necə söhbət 105 00:04:48,830 --> 00:04:52,070 internet işləyir. 106 00:04:52,070 --> 00:04:53,530 Buraya bir şey? 107 00:04:53,530 --> 00:04:54,730 >> Auditoriya: Bu daha çox zaman alır. 108 00:04:54,730 --> 00:04:55,470 >> DAVID Malan: Bu daha çox zaman alır. 109 00:04:55,470 --> 00:04:56,750 Niyə? 110 00:04:56,750 --> 00:04:59,450 >> Auditoriya: [işitilemez]. 111 00:04:59,450 --> 00:04:59,750 >> DAVID Malan: Bəli. 112 00:04:59,750 --> 00:05:01,240 Belə ki, arguably bir az daha çox vaxt tələb edir. 113 00:05:01,240 --> 00:05:04,290 Biri, CSS açıq-aydın Çünki deyil eyni faylı. 114 00:05:04,290 --> 00:05:06,920 Belə ki, indi siz etmək üçün bir, lakin iki sorğuları. 115 00:05:06,920 --> 00:05:11,230 Və bu sorğuların hər biz gördüyümüz kimi Sözdə müfəttişi Chrome, 116 00:05:11,230 --> 00:05:15,740 və biz hər şəbəkə nişanı baxdı bu faylların bir HTTP tələb 117 00:05:15,740 --> 00:05:18,360 biz edir gördüm tələbi zaman bəzi məbləği. 118 00:05:18,360 --> 00:05:19,290 İndi, bəlkə bir çox deyil. 119 00:05:19,290 --> 00:05:20,670 Bəlkə yalnız 20 ms var. 120 00:05:20,670 --> 00:05:22,260 Bəlkə 200 ms var. 121 00:05:22,260 --> 00:05:25,530 >> Lakin, Facebook kimi bir səhifə haqqında düşünmək çox olan və ya CNN, və ya Google, 122 00:05:25,530 --> 00:05:28,060 biz var nümunələri daha İndiyədək baxdı. 123 00:05:28,060 --> 00:05:32,070 Bu pages, fayl onlarla ola bilər olan hər bir tələb edə bilər 124 00:05:32,070 --> 00:05:33,550 bir fayl download. 125 00:05:33,550 --> 00:05:35,800 Belə şeylər potensial bilər aşağı yavaş başlayın. 126 00:05:35,800 --> 00:05:39,280 >> Və xüsusilə bu gün zaman biz bütün bizim mobil mobil telefonlar və 127 00:05:39,280 --> 00:05:43,010 yavaş internet əlaqələri üçün olan Bir neçə, bir neçə ms gözləyin 128 00:05:43,010 --> 00:05:46,110 əlavə üçün daha ms faylları həqiqətən yavaş ola bilər. 129 00:05:46,110 --> 00:05:50,430 Gizlilik də izah edən söz növü var ki gözləmə ki, 130 00:05:50,430 --> 00:05:53,110 gözləyən zaman yaşamağa məlumat bir parça. 131 00:05:53,110 --> 00:05:54,430 >> Amma bir ayaq var. 132 00:05:54,430 --> 00:05:56,600 Belə ki, bütün növ deyil - 133 00:05:56,600 --> 00:05:58,170 faktiki burada tahterevalli bir qədər deyil. 134 00:05:58,170 --> 00:06:02,970 İndi İşin mənfi tərəfi odur, ancaq nə brauzerlər edə bilərsiniz onlar qarşısını almaq üçün smart etdiyiniz halda 135 00:06:02,970 --> 00:06:08,870 Eyni styles.css tələb olan fayl yenidən nə ola bilər? 136 00:06:08,870 --> 00:06:09,390 >> Bu cache. 137 00:06:09,390 --> 00:06:10,370 Belə ki, caching - 138 00:06:10,370 --> 00:06:11,690 C-A-C-H-E - 139 00:06:11,690 --> 00:06:15,810 ümumiyyətlə yalnız saxlamaq üçün burada deməkdir Siz ilk dəfə xahiş faylı və 140 00:06:15,810 --> 00:06:17,440 sonra da cache yoxlayın. 141 00:06:17,440 --> 00:06:20,400 , Siz saxlama konteyner növ istəyirik yoxlayın və artıq varsa, 142 00:06:20,400 --> 00:06:24,520 styles.css surəti, hətta bəzi başqa əgər p-set və ya hər hansı veb səhifəsinə 143 00:06:24,520 --> 00:06:28,560 sorğu yenidən, yalnız vermək istifadəçi həmin yaddaşdakı surəti. 144 00:06:28,560 --> 00:06:30,140 Istemeyi narahat etməyin. 145 00:06:30,140 --> 00:06:32,560 >> Orada İşin mənfi tərəfi odur, baxmayaraq ki, siz bəzi p-set ildə dövrəyə girdi var. 146 00:06:32,560 --> 00:06:35,870 Siz server bir dəyişiklik və əgər brauzerinizin geri getmək və 147 00:06:35,870 --> 00:06:39,250 bəzən browser edir, yenidən bir lütf və narahat etmir 148 00:06:39,250 --> 00:06:43,660 Sizin styles.css fayl yenidən downloading çünki, gel, bahis nə 149 00:06:43,660 --> 00:06:47,620 Facebook istifadə edir ki, bu üslub saat saat dəyişdirmək və ya gedir 150 00:06:47,620 --> 00:06:48,140 gün? 151 00:06:48,140 --> 00:06:48,800 Bu olduqca aşağı. 152 00:06:48,800 --> 00:06:52,260 Onlar zaman keçdikcə dəyişir, lakin bilər dəqiqə və ya saat. 153 00:06:52,260 --> 00:06:55,810 >> Web edərkən bir oyun Belə ki, Bilginize inkişaf, tez-tez aşağı keçirilir 154 00:06:55,810 --> 00:06:59,500 Misal üçün əsas keçmək basın və sonra brauzerinizin yeniden ki, iradə 155 00:06:59,500 --> 00:07:03,280 adətən browser yenidən demək hər şey, siz artıq olsa belə, 156 00:07:03,280 --> 00:07:04,180 keş o. 157 00:07:04,180 --> 00:07:06,630 Belə ki, yenə upsides və downsides, lakin onların hamısı 158 00:07:06,630 --> 00:07:08,260 nəticədə dizayn qərarları. 159 00:07:08,260 --> 00:07:11,520 >> Belə ki, indi, biz yalnız etmədi burada hekayə sonu. 160 00:07:11,520 --> 00:07:15,790 İndi geri getmək və geri və geri və əgər geri, biz yalnız tətbiq başladı 161 00:07:15,790 --> 00:07:18,060 HTML, lakin PHP. 162 00:07:18,060 --> 00:07:20,786 Belə ki, layman nin baxımından, nə PHP bizə imkan vermir? 163 00:07:20,786 --> 00:07:22,770 >> Auditoriya: [işitilemez]. 164 00:07:22,770 --> 00:07:24,258 >> DAVID Malan: Nə olub? 165 00:07:24,258 --> 00:07:25,250 >> Auditoriya: məntiq tətbiq kodu daxil. 166 00:07:25,250 --> 00:07:26,620 >> DAVID Malan: Bəli, təqdim kodunuzu daxil məntiq. 167 00:07:26,620 --> 00:07:29,570 Belə ki, əsl proqramlaşdırma dili var loops, və dəyişənlərin, və 168 00:07:29,570 --> 00:07:32,620 funksiyaları və şəraitlər, bütün biz geri yolu istifadə edərək olduğunuz şeylər 169 00:07:32,620 --> 00:07:33,780 zaman danışıq ildən. 170 00:07:33,780 --> 00:07:36,780 Və PHP, biz gördük, istifadə edilə bilər ya command line kimi - bu, 171 00:07:36,780 --> 00:07:39,190 nə bir şey yoxdur internet, belə ki, baxmayaraq 172 00:07:39,190 --> 00:07:43,150 həqiqətən, onun mənşəyi və nə çalışır yaxşı və əlverişli olacaq - 173 00:07:43,150 --> 00:07:47,130 lakin siz təbiəti yalnız PHP istifadə edə bilərsiniz bir print () vardır ki, 174 00:07:47,130 --> 00:07:49,660 funksiyası və printf () funksiyası, və ya echo () funksiyası. 175 00:07:49,660 --> 00:07:52,440 Yolları dəstələri var siz PHP ilə mətn çap edə bilərsiniz. 176 00:07:52,440 --> 00:07:56,540 >> Ona görə də bu proqramlaşdırma istifadə edə bilərsiniz dəqiq çıxış dil 177 00:07:56,540 --> 00:07:58,460 biz əvvəl söhbət nə. 178 00:07:58,460 --> 00:08:01,360 Siz dinamik yarada HTML. 179 00:08:01,360 --> 00:08:02,300 Bəlkə deyil bütün. 180 00:08:02,300 --> 00:08:06,460 Kimi Bəlkə ağır kodu əşyalar, mövzu və footer və logo, 181 00:08:06,460 --> 00:08:07,950 və stillər cədvəlləri, və bütün. 182 00:08:07,950 --> 00:08:11,190 Amma p-set yeddi kimi bir şey, siz səhmlərinin manipulyasiya və olduğunuz 183 00:08:11,190 --> 00:08:14,690 olan istifadəçi portfeli göstərən siz dinamik dəyişdirmək bilər niyyətindədir 184 00:08:14,690 --> 00:08:18,960 şübhəsiz ki, PHP və verir məntiqi istifadə bir proqramlaşdırma dili kimi sizə 185 00:08:18,960 --> 00:08:22,320 çıxış dinamik alt Saytın. 186 00:08:22,320 --> 00:08:25,900 >> Belə ki, dinamik web saytları haqqında danışmaq zaman, və ya web proqramlaşdırma, var 187 00:08:25,900 --> 00:08:27,200 həqiqətən haqqında nə söhbət edirik. 188 00:08:27,200 --> 00:08:31,450 PHP kimi dil, və ya şeyi istifadə adlandırılan Python, və ya Ruby, və ya Java, və ya 189 00:08:31,450 --> 00:08:35,900 bir verilənlər bazası sorğu hələ digər dillər, tez-tez və ya digər server və 190 00:08:35,900 --> 00:08:38,580 sonra dinamik HTML tüpürmək. 191 00:08:38,580 --> 00:08:42,470 >> İndi son nəticədə, bir kənara kimi, ki, ən web sites HTML, 192 00:08:42,470 --> 00:08:45,970 Sizin p-set yeddi, o cümlədən yəqin ki, böyük mess əgər olacaq 193 00:08:45,970 --> 00:08:48,060 Siz mənbə baxmaq bir browser kodu. 194 00:08:48,060 --> 00:08:49,010 Bu böyük deyil. 195 00:08:49,010 --> 00:08:51,550 Bu nöqtədə biz qayğısına zaman stil, biz qayğısına 196 00:08:51,550 --> 00:08:52,740 yazmaq ki, stuff. 197 00:08:52,740 --> 00:08:56,240 Biz məhsulları haqqında qayğı deyil nə kodunuzu çıxış edir. 198 00:08:56,240 --> 00:08:59,520 Belə ki, abzas narahat deyil o ki, PHP var burada əgər 199 00:08:59,520 --> 00:09:01,190 həqiqətən stuff tipi. 200 00:09:01,190 --> 00:09:04,430 Bütün sonra, brauzer, qayğı deyil və insan axtarır olmaz 201 00:09:04,430 --> 00:09:05,400 mənbəyində hər halda. 202 00:09:05,400 --> 00:09:09,000 Biz heyəti, məsələn, ki PHP baxaraq bilər. 203 00:09:09,000 --> 00:09:13,440 >> Mənə tez misal indi verim niyə başqa bu faydalı ola bilər. 204 00:09:13,440 --> 00:09:18,620 Belə ki, səmimi, son yadda bilməz dəfə mən bir problemi həll etmək üçün C istifadə 205 00:09:18,620 --> 00:09:19,620 real dünya. 206 00:09:19,620 --> 00:09:22,330 Bu məktəbin məzunu yəqin idi Mən bir dil istifadə etmək üçün lazım 207 00:09:22,330 --> 00:09:26,710 kifayət qədər aşağı səviyyədə idi və mənə verdi çox yüksək bir şey etmək imkanı 208 00:09:26,710 --> 00:09:30,720 həqiqətən çox CPU kimi saxlamaq üçün həyata böyük bir hissəsi dövründən mən biləcəyi kimi, 209 00:09:30,720 --> 00:09:33,990 Mən böyük veri kümeleri istifadə edirdi, çünki hər CPU dövrü sayılır. 210 00:09:33,990 --> 00:09:37,750 Və səmimi, hətta telefonlar kimi şeylər bu gün və digər cihazlar 211 00:09:37,750 --> 00:09:39,910 Siz olduqca çox yoxdur harada yaddaş və olduqca kimi yoxdur 212 00:09:39,910 --> 00:09:44,160 sürətli dillərindən istifadə çox CPU, hələ müraciət edir. 213 00:09:44,160 --> 00:09:47,290 >> Lakin real dünyada, zaman yalnız birlikdə bir proqram atmaq istəyirəm 214 00:09:47,290 --> 00:09:50,340 bəzi məlumatları təhlil və ya topladığımızda üçün qeydiyyatdan bütöv bir dəstə 215 00:09:50,340 --> 00:09:53,330 bəzi tələbə qrup və sizə çox istəyirəm tez göndərilməsi e-poçt avtomatlaşdırılması 216 00:09:53,330 --> 00:09:56,240 o hər bir bir-bir qeyd, sizin üçün nail olacaq 217 00:09:56,240 --> 00:09:59,240 yüksək səviyyədə dil C-dən belə danışmaq. 218 00:09:59,240 --> 00:10:04,060 PHP və ya Python kimi bir şey, və ya Ruby, və ya mövcud bir yarısı bir çox başqaları 219 00:10:04,060 --> 00:10:04,550 bu gün. 220 00:10:04,550 --> 00:10:07,200 Amma üç o, yəqin ki, var İndi ən moda hüququ. 221 00:10:07,200 --> 00:10:10,840 >> Və nə bu deməkdir siz ola bilərsiniz ki, mətn gedit kimi redaktoru və ya 222 00:10:10,840 --> 00:10:14,030 sonra ən çox başqa bir şey və yalnız başlamaq narahat olmadan kodu yazı 223 00:10:14,030 --> 00:10:17,800 olmadan, tərtib haqqında həqiqətən, yaddaş idarəetmə narahat 224 00:10:17,800 --> 00:10:20,820 ki, bir az olsa yadda saxlamaq sloppiness nəticədə geri gələcək 225 00:10:20,820 --> 00:10:24,790 data set olur, əgər yemək və ya böyük problem böyük olur. 226 00:10:24,790 --> 00:10:27,230 Lakin bu nə deməkdir Bizə aşağıdakı kimidir. 227 00:10:27,230 --> 00:10:29,860 >> Mənə davam və speller run edək problem altı seçin. 228 00:10:29,860 --> 00:10:33,480 Belə ki, bu, mənim trie-based təzahürüdür Mən böyük istifadə ki, 229 00:10:33,480 --> 00:10:35,500 Mən belə yaxşı çıxış board. 230 00:10:35,500 --> 00:10:38,720 Biz həftədə bir dəfə geri gəlmək və olacaq ki, üstün başa görənlər yenidən 231 00:10:38,720 --> 00:10:40,430 bizim son mühazirə böyük board. 232 00:10:40,430 --> 00:10:44,520 Amma indi, mənim irəli və yalnız gidelim mətn mənim həll run və biz edəcəyik 233 00:10:44,520 --> 00:10:48,460 getmək burada King James Müqəddəs, və. 234 00:10:48,460 --> 00:10:51,080 >> Belə ki, o guya bütün var həyata yanlış yazılmış sözlər 235 00:10:51,080 --> 00:10:52,240 Kral James Müqəddəs. 236 00:10:52,240 --> 00:10:55,560 Və həyata aldı cəmi yarım ikinci. 237 00:10:55,560 --> 00:10:58,270 Bu belə çox pis deyil xüsusi kompüter. 238 00:10:58,270 --> 00:11:01,540 Amma nə qədər hesab Mən yazmaq idi kodu. 239 00:11:01,540 --> 00:11:02,880 Yazmaq idi nə qədər kodu düşünün. 240 00:11:02,880 --> 00:11:06,170 Siz sərf neçə saat düşünün D-zalı və ya yurt ya hər 241 00:11:06,170 --> 00:11:07,890 əslində həlli qədər kodlaşdırma. 242 00:11:07,890 --> 00:11:11,850 >> Yaxşı, Mən, həqiqətən, yüksək səviyyədə varsa, PHP kimi dil, qeyd etmək 243 00:11:11,850 --> 00:11:13,350 Mən burada nə edə bilərsiniz. 244 00:11:13,350 --> 00:11:16,410 Birincisi, bu əvəzinə olduğunu güman Distribution kodu. 245 00:11:16,410 --> 00:11:17,790 Bu speller adlı bir fayl. 246 00:11:17,790 --> 00:11:20,220 Bugünkü hissəsi kimi mövcuddur distribution kodu. 247 00:11:20,220 --> 00:11:22,670 Və mən ən çox mənim əl dalğa gidiyorum ətraflı, lakin bu, həqiqətən edir 248 00:11:22,670 --> 00:11:25,500 necə maraqlı bir nümunə Bir dil port bilər 249 00:11:25,500 --> 00:11:28,870 PHP üzərində C kimi. 250 00:11:28,870 --> 00:11:33,420 Mən sözün, iki mətn pəncərə açdı speller.c mənim C versiya ilə bir, 251 00:11:33,420 --> 00:11:36,960 və mən yalnız mənim onu ​​tərcümə başlayıb PHP giderim istifadə edərək onu yazmağa 252 00:11:36,960 --> 00:11:38,840 ən yaxın ekvivalent fəaliyyət göstərir. 253 00:11:38,840 --> 00:11:40,100 >> Belə ki, bu bəzi şeyləri fərqlidir. 254 00:11:40,100 --> 00:11:43,730 Biz PHP istifadə etmir ki, ötən dəfə gördüm çox eyni şəkildə daxildir. 255 00:11:43,730 --> 00:11:47,050 Bu baxmayaraq, adətən tələb edir daxildir mövcuddur. 256 00:11:47,050 --> 00:11:50,330 Müəyyən bir az fərqli C # müəyyən, lakin var 257 00:11:50,330 --> 00:11:51,890 biz daimi etmək necə. 258 00:11:51,890 --> 00:11:55,860 O çıxır $ argc, PHP var belə ki, əvvəl gördüm. 259 00:11:55,860 --> 00:11:58,650 Bütün bunlar, yalnız dəyişənlərin var dollar əlamətləri ilə olan başlanğıc. 260 00:11:58,650 --> 00:12:00,590 Bu yalnız bir dəstə var Xatırladaq üzən xal. 261 00:12:00,590 --> 00:12:03,970 >> Belə ki, uzun hekayə qısa, siz xoş gəlmisiniz maraqlı bu vasitəsilə flip, bu 262 00:12:03,970 --> 00:12:10,010 Bu demək olar ki, bir xətt üçün-line dönüşüm PHP daxil speller.c C versiyası. 263 00:12:10,010 --> 00:12:12,630 Və sizin üçün bir daha bu nə ola bilər yarısı bir çox digər dillərdə. 264 00:12:12,630 --> 00:12:14,910 >> Amma nə maraqlı budur. 265 00:12:14,910 --> 00:12:16,910 Və ya nə açıq disheartening var bu deyil. 266 00:12:16,910 --> 00:12:20,790 Mənə davam və haqqında yazın edək dictionary.php və Ben iddia 267 00:12:20,790 --> 00:12:23,670 davam və yenidən həyata keçirəcəyik problem burada altı seçin. 268 00:12:23,670 --> 00:12:27,530 >> Belə ki, ilk nin təklif edək ki, bu həyata keçiriləcək fayl, 269 00:12:27,530 --> 00:12:30,550 PHP, mənə belə mənim tags açmaq bildirin. 270 00:12:30,550 --> 00:12:34,780 Mənə özümü qlobal verim dəyişən, $ ölçüsü sıfır olur. 271 00:12:34,780 --> 00:12:36,710 Və mən verəcəyəm özümü hash masa. 272 00:12:36,710 --> 00:12:38,110 Mən bu şey üçün bir hash masa istifadə edəcəyik. 273 00:12:38,110 --> 00:12:42,070 Nasıl PHP bir hash masa elan edirsiniz? 274 00:12:42,070 --> 00:12:42,990 Done. 275 00:12:42,990 --> 00:12:43,980 OK. 276 00:12:43,980 --> 00:12:48,870 >> Belə ki, açıq bracket yaxın bracket təmsil biz gördük kimi PHP nə? 277 00:12:48,870 --> 00:12:51,850 Bir sıra, lakin bilər bir sıra assosiativ array ola bilər. 278 00:12:51,850 --> 00:12:54,320 Assosiativ array edir məlumat quruluşu 279 00:12:54,320 --> 00:12:55,860 dəyərləri ilə asılı düymələri. 280 00:12:55,860 --> 00:12:59,430 >> İndi sayısal yönümlü sadə ilə dizi, o düymələri hansılardır? 281 00:12:59,430 --> 00:13:02,250 282 00:13:02,250 --> 00:13:03,960 Zero, bir, iki, üç, sağ? 283 00:13:03,960 --> 00:13:08,780 Köhnə məktəb stuff C. geri Amma ola bilər həmçinin, foo kimi strings və bar olmaq 284 00:13:08,780 --> 00:13:12,210 və ya Maksvell, və ya hər hansı bu cür simli. 285 00:13:12,210 --> 00:13:14,240 Beləliklə, mən leverage edə bilər yalnız bir anda. 286 00:13:14,240 --> 00:13:17,550 >> Mənə davam və elan edək kimi bir funksiyası - 287 00:13:17,550 --> 00:13:19,020 ilk yük () nə edək. 288 00:13:19,020 --> 00:13:20,690 Belə ki, funksiyası yük (). 289 00:13:20,690 --> 00:13:23,440 Və PHP ki, bir az fərqli sözün funksiyası yazın, ancaq 290 00:13:23,440 --> 00:13:24,930 bir dönüş növü yazın yoxdur. 291 00:13:24,930 --> 00:13:28,760 Mən irəli getmək və demək gidiyorum ki, yük () funksiyası almaq lazımdır 292 00:13:28,760 --> 00:13:31,000 yalnız arqument $ lüğət, kimi C versiyası etdi. 293 00:13:31,000 --> 00:13:32,510 Mən yaddaş ki, edirəm. 294 00:13:32,510 --> 00:13:34,910 >> Və mən Ben ki, təklif Bunu etmək üçün gedir. 295 00:13:34,910 --> 00:13:37,080 Mən sadəcə foreach etmək gedirəm. 296 00:13:37,080 --> 00:13:40,710 Mən adlı bir funksiyası zəng etmək gidiyorum faylı () ki, adı keçən 297 00:13:40,710 --> 00:13:44,990 fayl olan dəyişən deyil Söz $ dollar lüğəti. 298 00:13:44,990 --> 00:13:49,410 Və sonra mənim burada loop üçün, Ben daxilində irəli getmək və saxlamaq niyyətindədir mənim 299 00:13:49,410 --> 00:13:57,440 $ Söz doğru olur ki, $ masa. 300 00:13:57,440 --> 00:13:57,918 Done. 301 00:13:57,918 --> 00:14:01,264 Oh, gözləyin. 302 00:14:01,264 --> 00:14:02,422 Done. 303 00:14:02,422 --> 00:14:02,760 OK. 304 00:14:02,760 --> 00:14:04,970 >> Bu yük () funksiyası PHP demək. 305 00:14:04,970 --> 00:14:05,865 İndi niyə ki işləyir? 306 00:14:05,865 --> 00:14:07,010 Mən cür burada aldadıcı alıram. 307 00:14:07,010 --> 00:14:09,980 >> Belə ki, bir, biz gördük foreach qısa son dəfə. 308 00:14:09,980 --> 00:14:13,680 Bu yalnız üzərində təkrarlamaq bilər o deməkdir ki, i ilə rahatsız olmadan bir array 309 00:14:13,680 --> 00:14:16,150 və n və plus plus ki, bütün. 310 00:14:16,150 --> 00:14:21,350 Lüğət, əlbəttə fayl adı böyük və ya kiçik kimi bir şey, iki 311 00:14:21,350 --> 00:14:22,830 Biz keçən dəfə istifadə lüğətlər. 312 00:14:22,830 --> 00:14:26,715 Fayl mətn açır ki, bir funksiyası fayl, xətti ilə line onu oxuyur və 313 00:14:26,715 --> 00:14:29,840 Siz böyük bir sıra geri əlləri, kimin elementlərin hər bir edir 314 00:14:29,840 --> 00:14:31,340 faylı line. 315 00:14:31,340 --> 00:14:36,040 Belə ki, fopen birləşməsi, və fread, və loop, və fclose isə, 316 00:14:36,040 --> 00:14:37,080 və bütün. 317 00:14:37,080 --> 00:14:40,150 Söz yalnız deməkdir nəhayət ki, var dəyişən mən daxil olmaq üçün gedirəm 318 00:14:40,150 --> 00:14:41,890 bu loop hər iteration. 319 00:14:41,890 --> 00:14:46,910 >> Belə ki, qısa, burada bu bir liner deməkdir adı edir fayl açmaq 320 00:14:46,910 --> 00:14:50,750 lüğət, dəyişən, üzərində təkrarlamaq bu xətti ilə line, və siz hər dəfə 321 00:14:50,750 --> 00:14:54,290 adlı dəyişən sözü bir line, mağaza, və sonra sözü ilə bir şey. 322 00:14:54,290 --> 00:14:55,280 Mən nə istəyirəm? 323 00:14:55,280 --> 00:14:58,110 Mən hash table söz qoymaq istəyirik. 324 00:14:58,110 --> 00:15:00,860 >> Bəli, mən bir şey qoya bilər mənim yalnız C kimi hash table 325 00:15:00,860 --> 00:15:02,140 kvadrat mötərizə istifadə. 326 00:15:02,140 --> 00:15:03,660 Bu mənim hash masa üçün adıdır. 327 00:15:03,660 --> 00:15:07,180 Hesab edirəm ki, hash daxil index gedirəm Bu yerdə masa. 328 00:15:07,180 --> 00:15:08,920 Belə ki, sıfır bracket deyil, bir bracket deyil. 329 00:15:08,920 --> 00:15:11,990 Bracket quote dırnağı bağlamaq bir şey, nə ki, söz. 330 00:15:11,990 --> 00:15:15,200 Və yalnız kimi siz ola bilər sizin hash table iş trie, yalnız mağaza 331 00:15:15,200 --> 00:15:17,650 səmərəli Boolean, dolayısı və ya açıq-aşkar. 332 00:15:17,650 --> 00:15:18,260 Done. 333 00:15:18,260 --> 00:15:20,000 Mən dəyər doğru saxlanılması alıram. 334 00:15:20,000 --> 00:15:23,150 >> İndi hər şeyi bir neçə var Mən burada guşələrindən kəsici alıram. 335 00:15:23,150 --> 00:15:27,720 Texniki, bir olmalıdır olacaq sonunda annoying yeni xətt, / n, 336 00:15:27,720 --> 00:15:28,820 Bu sözləri hər. 337 00:15:28,820 --> 00:15:31,770 Mən yəqin ki, bir PHP funksiyası zəng etməlidir adlı chop (), hansı olacaq 338 00:15:31,770 --> 00:15:33,460 olduqca sözün off doğramaq. 339 00:15:33,460 --> 00:15:35,020 Mən, həqiqətən, lazım başqa bir şey. 340 00:15:35,020 --> 00:15:38,380 Mən yəqin ki, hər ölçüsü arttırmayı lazımdır iteration, mən takip saxlanılması alıram 341 00:15:38,380 --> 00:15:39,560 qlobal bu nə. 342 00:15:39,560 --> 00:15:43,180 Və səmimi, və bu biridir değilseniz PHP stupider aspektləri, 343 00:15:43,180 --> 00:15:46,950 qlobal dəyişən istifadə edərək, sizə lazım aydın siz demək. 344 00:15:46,950 --> 00:15:51,670 Mən həqiqətən qlobal yazın gedirəm Indi $ ölçüsü, qlobal $ masa, və 345 00:15:51,670 --> 00:15:52,690 mənim funksiyası tamamlandı. 346 00:15:52,690 --> 00:15:57,475 >> Belə ki, çox əvvəl kimi sadə, lakin yəqin ki, C-dən az zaman aldı 347 00:15:57,475 --> 00:15:58,220 version, bəlkə? 348 00:15:58,220 --> 00:15:58,730 OK. 349 00:15:58,730 --> 00:16:00,390 >> Belə ki, indi çek () funksiyası bunu bildirin. 350 00:16:00,390 --> 00:16:04,300 Bu ən azı etdi əgər in nəzər edək Bu C. Beləliklə bizim etdi ki, sonunda saat 351 00:16:04,300 --> 00:16:06,500 Mənə irəli getmək və elan edək bir funksiyası kimi yoxlamaq. 352 00:16:06,500 --> 00:16:09,070 Olan dəlil söz edir Speller gəlib gedir. 353 00:16:09,070 --> 00:16:13,410 Mən yalnız yoxlamaq üçün gedirəm əgər Aşağıdakı dəyişən isset, masa 354 00:16:13,410 --> 00:16:18,400 Sözün bracket strtolower - 355 00:16:18,400 --> 00:16:20,590 mənim parantez bütün balans imkan - 356 00:16:20,590 --> 00:16:24,275 sonra doğru qayıtmaq. 357 00:16:24,275 --> 00:16:27,020 358 00:16:27,020 --> 00:16:28,460 Else - 359 00:16:28,460 --> 00:16:30,330 ki, həqiqətən çətin idi bu proqramın tərkib hissəsidir. 360 00:16:30,330 --> 00:16:31,940 Başqa, saxta qayıtmaq. 361 00:16:31,940 --> 00:16:32,630 Done. 362 00:16:32,630 --> 00:16:33,460 Ki,) (çek var. 363 00:16:33,460 --> 00:16:34,520 >> İndi niyə bu işləyir? 364 00:16:34,520 --> 00:16:37,040 Yaxşı, bir mən, bir sözlə keçdi bir simli edir. 365 00:16:37,040 --> 00:16:41,400 Iki, mən hash daxilində yoxlanılması alıram $ masa adlanır kim masa. 366 00:16:41,400 --> 00:16:45,470 Mən zəng kiçik məcbur alıram in () tolower olduqca oxşar bir funksiyası 367 00:16:45,470 --> 00:16:48,580 C, amma bu bütün söz yoxdur, heç bir character. 368 00:16:48,580 --> 00:16:52,680 Və orada, başqa sözlə, müəyyən edilir bir dəyər başqa sözlə, müəyyən edilir, 369 00:16:52,680 --> 00:16:54,880 doğru, onda bəli, bu bir söz. 370 00:16:54,880 --> 00:16:56,530 Mən yük var onu qoymaq çünki (). 371 00:16:56,530 --> 00:16:59,100 Və əgər mən yalan qayıtmaq üçün gedirəm. 372 00:16:59,100 --> 00:17:00,090 >> İndi başqaları asandır. 373 00:17:00,090 --> 00:17:03,570 Function ölçüsü (), bu necə etməliyəm? 374 00:17:03,570 --> 00:17:05,230 Mən mahiyyətcə $ ölçüsü qayıtmaq yoxdur. 375 00:17:05,230 --> 00:17:07,770 Amma texniki lazımdır Bu annoying şey. 376 00:17:07,770 --> 00:17:10,640 Və həqiqətən eşitmək, mən kəsici edilib çox bir künc. 377 00:17:10,640 --> 00:17:12,920 Mən, həqiqətən, qlobal $ masa etmək lazımdır. 378 00:17:12,920 --> 00:17:16,260 >> Amma edib,) boşaltmaq ki. 379 00:17:16,260 --> 00:17:17,380 Boşaltmaq () gözəl deyil. 380 00:17:17,380 --> 00:17:20,500 Function boşaltmaq (). 381 00:17:20,500 --> 00:17:23,990 Necə I) (boşaltma həyata istəyirsiniz? 382 00:17:23,990 --> 00:17:25,079 Done. 383 00:17:25,079 --> 00:17:25,450 OK. 384 00:17:25,450 --> 00:17:28,900 >> Belə ki, (), yaddaş idarə edir boşaltmaq tamamilə sizin üçün qayğı 385 00:17:28,900 --> 00:17:31,800 PHP və bir çox kimi bir şey yüksək səviyyəli dil. 386 00:17:31,800 --> 00:17:32,600 Belə ki, bu gözəl deyil. 387 00:17:32,600 --> 00:17:36,080 Cəhənnəm, biz keçmişi sərf niyə Like C yazılı səkkiz plus həftə 388 00:17:36,080 --> 00:17:41,030 yəqin həqiqətən yavaş, həqiqətən, vaxt saat onlarla ilə istehlak problemləri 389 00:17:41,030 --> 00:17:42,530 bizim kəmərlər altında işləmək? 390 00:17:42,530 --> 00:17:46,110 >> Yaxşı, bir şey üçün, bu iş ola bilər kiçik proqramlar üçün gözəl. 391 00:17:46,110 --> 00:17:47,840 Bu, əlbəttə, sped mənim inkişaf zaman. 392 00:17:47,840 --> 00:17:49,790 Amma nə görək real dünyada. 393 00:17:49,790 --> 00:17:52,370 >> Bu kataloq gedək bir terminal pəncərə. 394 00:17:52,370 --> 00:17:53,370 Speller var. 395 00:17:53,370 --> 00:17:56,570 Və bir kənara kimi bildiriş və siz bilər problem set bu rast ola 396 00:17:56,570 --> 00:17:58,190 altı və ya problem yeddi seçin. 397 00:17:58,190 --> 00:18:01,610 Siz ciddi yoxdur . php ilə PHP faylları başa. 398 00:18:01,610 --> 00:18:05,250 Siz ki, ilk bir kimi bir xətt qoymaq çox top, xüsusi bir xətt var 399 00:18:05,250 --> 00:18:10,980 sintaksis ki, mahiyyətcə tapmaq deməkdir PHP deyilən və istifadə proqram 400 00:18:10,980 --> 00:18:12,270 Bu fayl şərh. 401 00:18:12,270 --> 00:18:15,410 Belə ki, indi heç kim həqiqətən bilir ki, Mən PHP proqram çalışan alıram. 402 00:18:15,410 --> 00:18:19,860 Mən sanki yalnız çalıştırabilirsiniz bir şey C. tərtib edilmişdir 403 00:18:19,860 --> 00:18:20,650 >> Amma burada bir şey var. 404 00:18:20,650 --> 00:18:21,600 Əslində, yenidən bunu edək. 405 00:18:21,600 --> 00:18:23,530 Dropbox/pset6 /. 406 00:18:23,530 --> 00:18:25,390 Speller var. 407 00:18:25,390 --> 00:18:26,720 OK, 0,44 saniyə. 408 00:18:26,720 --> 00:18:28,080 Bu daha sürətli bu vaxt var. 409 00:18:28,080 --> 00:18:29,745 >> İndi PHP versiyası daxil edək. 410 00:18:29,745 --> 00:18:43,070 411 00:18:43,070 --> 00:18:44,320 Nice touch. 412 00:18:44,320 --> 00:18:50,830 413 00:18:50,830 --> 00:18:53,285 Amma yalnız nə qədər vaxt düşünmək Mən ofis saat saxlanılır. 414 00:18:53,285 --> 00:18:56,990 415 00:18:56,990 --> 00:18:57,790 OK. 416 00:18:57,790 --> 00:19:01,020 >> Belə 3.59 saniyə, olan faktiki ya dəqiq səs deyil. 417 00:19:01,020 --> 00:19:03,710 Amma ki, uzun hekayə qısa, çünki Siz böyük məbləğdə həyata çap etdiyiniz zaman 418 00:19:03,710 --> 00:19:06,840 məhsullarının ekran ki, özü hər şeyi aşağı yavaşlatır. 419 00:19:06,840 --> 00:19:11,260 Həqiqətən CPU etdi nə cihaz 3.59 saniyə, idi 420 00:19:11,260 --> 00:19:15,260 0.44 tutan C, kontrast saniyə ən son. 421 00:19:15,260 --> 00:19:17,620 Bu, həqiqətən bir sifariş var müxtəlif bal gücündə. 422 00:19:17,620 --> 00:19:20,280 >> Belə ki, burada qiymət gələn? 423 00:19:20,280 --> 00:19:21,790 Niyə bu qədər çox yavaş? 424 00:19:21,790 --> 00:19:24,220 Niyə PHP belə zəif çıxış edir? 425 00:19:24,220 --> 00:19:25,242 Danielle? 426 00:19:25,242 --> 00:19:26,550 >> Auditoriya: Siz etmədi həqiqətən bir hash masa istifadə edin. 427 00:19:26,550 --> 00:19:27,710 >> DAVID MALAN: Mən, həqiqətən, olmadı bir hash masa istifadə edin. 428 00:19:27,710 --> 00:19:28,760 Mən cür etdi. 429 00:19:28,760 --> 00:19:29,870 Belə ki, assosiativ array var. 430 00:19:29,870 --> 00:19:33,650 Çox güman ki, PHP olan insanlar əgər həqiqətən ağıllı, onlar altında istifadə 431 00:19:33,650 --> 00:19:39,520 həyata başlıq faktiki hash table C və ya C + + kimi bir şey. 432 00:19:39,520 --> 00:19:41,290 Amma. 433 00:19:41,290 --> 00:19:42,760 Bəli. 434 00:19:42,760 --> 00:19:44,010 >> Auditoriya: [işitilemez]. 435 00:19:44,010 --> 00:19:46,690 436 00:19:46,690 --> 00:19:47,080 >> DAVID MALAN: Bəli. 437 00:19:47,080 --> 00:19:50,780 Mən indi yazdı funksiyaları hər - həqiqətən, siz demək olar ki, bir dəfə daha 438 00:19:50,780 --> 00:19:51,480 az louder? 439 00:19:51,480 --> 00:19:54,509 >> Auditoriya: funksiyalarının Hər ki, Siz daxil var, çox daha tam 440 00:19:54,509 --> 00:19:56,610 gücü çox - 441 00:19:56,610 --> 00:19:57,550 >> DAVID MALAN: Belə ki, çox doğru. 442 00:19:57,550 --> 00:20:01,490 Biz istəyirik ki, daha çox yerüstü var həqiqətən, yalnız odaklanarak görən deyil 443 00:20:01,490 --> 00:20:03,730 Mən yalnız yazdığı dictionary.php. 444 00:20:03,730 --> 00:20:08,020 Əksinə, bütün tərcüməçi var fonunda gedir. 445 00:20:08,020 --> 00:20:12,040 Həqiqətən, mən bu proqram qaçdı zaman, tərtib adet sıfır və olanları çalışan deyil 446 00:20:12,040 --> 00:20:14,290 Mənim Intel CPU üçün nəzərdə tutulmuşdur. 447 00:20:14,290 --> 00:20:19,270 Əksinə, bu xətti ilə line çalışan Dəqiq görünür ki, PHP kodu 448 00:20:19,270 --> 00:20:20,350 kimi biz bunu yazdınız. 449 00:20:20,350 --> 00:20:22,475 Və belə bir istifadə zaman şərh dil, 450 00:20:22,475 --> 00:20:23,850 əslində bu qiymət ödəmək yoxdur. 451 00:20:23,850 --> 00:20:27,010 Bu oxumaq üçün bəzi vaxt olacaq alt üçün fayl top, sol 452 00:20:27,010 --> 00:20:30,740 sağ, və sonra hər icra line təkrar. 453 00:20:30,740 --> 00:20:34,250 >> İndi əslində, xüsusilə web, Siz, həqiqətən, bu prosesi sürətləndirmək bilər 454 00:20:34,250 --> 00:20:38,660 nəticələrinin caching ilə PHP kodu təfsir olunur. 455 00:20:38,660 --> 00:20:41,640 Və ki, web kəsb edir, çünki bir istifadəçi kimi varsa 456 00:20:41,640 --> 00:20:46,300 Burada məni, lakin 1000 və ya 10,000 users, sonra fayl bəlkə ilk dəfə 457 00:20:46,300 --> 00:20:49,050 əldə bu sonra yavaş, lakin bu çox daha sürətli edir. 458 00:20:49,050 --> 00:20:51,000 >> Amma bu da, yenə bir ticarət off edir. 459 00:20:51,000 --> 00:20:53,870 Və tədqiqat data kimi şey , və ya hətta kimi böyük bir şey 460 00:20:53,870 --> 00:20:58,330 Bu, sizin users keçdikcə ki, yavaşlama hiss başlamaq. 461 00:20:58,330 --> 00:21:02,670 >> Belə ki, qısa, dillər şərh , dəbdə çox çox məşhur və 462 00:21:02,670 --> 00:21:06,710 səmimi languages ​​siz yəqin ki, problemlərin həlli zaman çatmalıdır 463 00:21:06,710 --> 00:21:08,200 CS50 sonrakı. 464 00:21:08,200 --> 00:21:12,720 Amma həqiqətən nə qədər həyata başlıq altında verilən alaraq 465 00:21:12,720 --> 00:21:15,910 hash, həqiqətən, bu keçmiş neçə həftə masalar, ağaclar və çalışır, 466 00:21:15,910 --> 00:21:20,770 nəticədə həqiqətən istifadə olunan açıq bracket kimi şeyi həyata, 467 00:21:20,770 --> 00:21:24,200 kvadrat mötərizə, biz indi bilərsiniz verilən üçün təşəkkürlə almaq. 468 00:21:24,200 --> 00:21:26,360 >> Belə ki, indi bir nəzər salaq bu web kontekstində. 469 00:21:26,360 --> 00:21:29,890 Mən var ki, son dəfə qeyd PHP superglobals bir dəstə ki 470 00:21:29,890 --> 00:21:32,490 həqiqətən müvafiq deyil skript xətti. 471 00:21:32,490 --> 00:21:36,210 Onlar kontekstində daha müvafiq istəyirik bir web kontekstində PHP istifadə edərək. 472 00:21:36,210 --> 00:21:41,220 Belə ki üçün bir web server PHP çalışan HTML kimi məhsulları yaratmaq üçün. 473 00:21:41,220 --> 00:21:44,540 >> Və biz $ _GET və $ _POST nəzər, və olduğu avtomatik users 'var 474 00:21:44,540 --> 00:21:49,100 bir təqdim əgər giriş sadəcə başa bitən bir fayl yaratmaq. web PHP 475 00:21:49,100 --> 00:21:50,460 Aracın kimi server. 476 00:21:50,460 --> 00:21:53,310 Lakin ən qısa baxaq $ _COOKIE Və $ _SESSION. 477 00:21:53,310 --> 00:21:56,670 >> Layman nin baxımından, bir cookie kimi nə Siz kontekstində onu anlamaq 478 00:21:56,670 --> 00:21:58,220 web istifadə? 479 00:21:58,220 --> 00:21:59,450 >> Auditoriya: kompüter Fayl. 480 00:21:59,450 --> 00:21:59,920 >> DAVID MALAN: Bəli. 481 00:21:59,920 --> 00:22:03,500 Bu istifadəçi bir fayl var nə səhifəsinə tərəfindən əkilmiş 482 00:22:03,500 --> 00:22:04,410 Siz ziyarət üçün baş verir. 483 00:22:04,410 --> 00:22:07,334 Belə ki, siz getmək zaman Facebook, getmək zaman siz getmək zaman bankofamerica.com üçün 484 00:22:07,334 --> 00:22:10,330 google.com, siz demək olar ki, hər hansı bir getmək zaman Dünyada veb bu gün, 485 00:22:10,330 --> 00:22:14,850 cs50.net, o cümlədən bir cookie əkilir bilgisayarınızda olan 486 00:22:14,850 --> 00:22:19,800 RAM saxlanılan dəyəri ya sizin brauzerinizin yaddaş, və ya kompüter 487 00:22:19,800 --> 00:22:22,800 bəzən həqiqətən bir fayl saxlanılır sabit sürücü. 488 00:22:22,800 --> 00:22:26,960 >> Və adətən fayl nə saxlanılır istifadəçi adı deyil, sizin deyil 489 00:22:26,960 --> 00:22:31,060 parol, adətən bir şey deyil həssas veb belə deyil halda 490 00:22:31,060 --> 00:22:35,040 onların təhlükəsizliyi ilə yaxşı, lakin Bu böyük bir unikal identifikator arasında 491 00:22:35,040 --> 00:22:35,680 başqa şeylər. 492 00:22:35,680 --> 00:22:38,920 Bu əkilmiş böyük təsadüfi sayı sizin var kompüter lakin siz hesab edə bilər 493 00:22:38,920 --> 00:22:42,740 olan kimi sort bir virtual əl möhürü bir klub və ya bir oyuncaq park ki 494 00:22:42,740 --> 00:22:47,160 imkan verir personal ki, sahibləri xidmət, kim unutmayın. 495 00:22:47,160 --> 00:22:51,030 Böyük təsadüfi sayı kimi Belə ki, 12345678 ki, açıq-aydın, baxmayaraq ki, 496 00:22:51,030 --> 00:22:54,180 kimi ki, çox təsadüfi deyil, think əl möhürü ki, ziyarət zaman 497 00:22:54,180 --> 00:22:57,930 facebook.com ilk dəfə, onlar Sizin tərəfdən ki sayı möhürü. 498 00:22:57,930 --> 00:23:01,510 Və sonra siz, HTTP danışmaq çünki bir browser olan, çünki Facebook 499 00:23:01,510 --> 00:23:06,440 açıq-aydın bir web kimi eyni danışır server, protokol HTTP deyir ki, 500 00:23:06,440 --> 00:23:09,930 zaman sonra ziyarət facebook.com olsun, ikinci 501 00:23:09,930 --> 00:23:13,560 sonra, bir saat sonra, hətta növbəti gün, belə uzun siz açıq-aydın yoxdur kimi 502 00:23:13,560 --> 00:23:17,050 çıxdınız təsirli olan əllərinizi yuyucu kimi. 503 00:23:17,050 --> 00:23:20,280 HTTP siz təqdim etməlidir deyir sizin əl möhürü hər zaman 504 00:23:20,280 --> 00:23:22,020 ki, veb qayıt. 505 00:23:22,020 --> 00:23:24,390 >> Facebook onlar nə olar ki, əl möhürü baxmaq və 506 00:23:24,390 --> 00:23:26,850 onlar 123456789, oh, deyirlər. 507 00:23:26,850 --> 00:23:30,260 Mən ilk baxışdan bilmirəm ki, bu David Malan, Kembric edir 508 00:23:30,260 --> 00:23:34,690 Massachusetts, lakin onlar kontrol edə bilərsiniz onların verilənlər bazası və demək oh, şəxs 509 00:23:34,690 --> 00:23:39,930 kimin kompüter biz 123456789 əkilmiş haqqında David Malan, Kembric edir 510 00:23:39,930 --> 00:23:40,440 Massachusetts. 511 00:23:40,440 --> 00:23:46,000 Onun profile sonra istifadəçi göstərmək bildirin səhifə və ya onun News Feed. 512 00:23:46,000 --> 00:23:49,660 >> Amma bir problem var bu halda web həqiqətən işləri necə. 513 00:23:49,660 --> 00:23:51,390 Nin tez misal nəzər salaq. 514 00:23:51,390 --> 00:23:55,190 Nin faktiki facebook.com demək gedək. 515 00:23:55,190 --> 00:23:58,130 Amma biz orada getmək əvvəl, gəlin Mənə davam və Chrome-nin açmaq 516 00:23:58,130 --> 00:23:59,790 Burada inspektor aşağı. 517 00:23:59,790 --> 00:24:01,140 Mənə şəbəkə nişanı baxaq. 518 00:24:01,140 --> 00:24:06,020 Və indi irəli getmək və yazın bildirin https://facebook.com edir. 519 00:24:06,020 --> 00:24:09,410 Biz görmürük ki, və mən yapýyorum bu istiqamətləndirmə və tullantıların bütün 520 00:24:09,410 --> 00:24:10,660 vaxt o yolu axtarır. 521 00:24:10,660 --> 00:24:12,690 Mənə Enter edək. 522 00:24:12,690 --> 00:24:13,130 >> Bütün hüquqlar. 523 00:24:13,130 --> 00:24:14,580 Biz sorğuların bütün dəstə görürəm. 524 00:24:14,580 --> 00:24:15,640 Facebook var gəlir. 525 00:24:15,640 --> 00:24:16,930 Faylları bütün dəstə var. 526 00:24:16,930 --> 00:24:19,290 Və burada, mənim qeyd başına və ki, gizlilik son dəfə 527 00:24:19,290 --> 00:24:21,240 HTTP istekleri bir çox. 528 00:24:21,240 --> 00:24:23,700 Lakin birinci yəqin ki, ən maraqlı. 529 00:24:23,700 --> 00:24:26,420 >> Elə burada aşağıya fırladın bildirin, Mən ikinci zoom olacaq. 530 00:24:26,420 --> 00:24:29,090 Bu cür olacaq bir mess, lakin in nəzər salaq. 531 00:24:29,090 --> 00:24:31,660 Facebook bizə göndərir məhsullarının bütün dəstə. 532 00:24:31,660 --> 00:24:33,490 >> Amma Vay, maraqlı. 533 00:24:33,490 --> 00:24:37,880 Onlar heç bir əkin, lakin dörd edirik Burada mənim əl üzərinə əl marka. 534 00:24:37,880 --> 00:24:40,400 Set-çerez, Set-çerez, set-çerez, set-çerez. 535 00:24:40,400 --> 00:24:44,030 Və burada bir neçə xüsusiyyətləri vardır. 536 00:24:44,030 --> 00:24:46,170 Onların hamısı bəzi qeyd müddəti cür. 537 00:24:46,170 --> 00:24:50,090 Facebook ümid edir kimi Və görünür 2015-ci ilədək yadda saxla. 538 00:24:50,090 --> 00:24:53,670 Belə ki, güman etdiyi vaxt Mən daxil olmalısınız və ya onlar yalnız will 539 00:24:53,670 --> 00:24:55,710 avtomatik Ben kəsb geri gələn deyil. 540 00:24:55,710 --> 00:24:57,840 Belə ki, həqiqətən layiqli var vaxt məbləği. 541 00:24:57,840 --> 00:24:59,170 >> Və digər var şeyi burada. 542 00:24:59,170 --> 00:25:03,036 Bu cookie zorla görünür deyərək tərəfindən silinib onu 1970-ci ildə müddəti başa çatıb 543 00:25:03,036 --> 00:25:04,460 cookies mövcud əvvəl. 544 00:25:04,460 --> 00:25:06,510 Belə ki, browser yalnız gedir OK güman ki, kimi 545 00:25:06,510 --> 00:25:07,910 əlində möhürü yuyan. 546 00:25:07,910 --> 00:25:11,240 >> İndi mənim browser verir bir sonrakı request - 547 00:25:11,240 --> 00:25:14,340 Mənə davam və bunu bildirin yenidən və yenidən. 548 00:25:14,340 --> 00:25:18,170 İndi mənə geri diyirləyin bildirin top istək və enmək 549 00:25:18,170 --> 00:25:20,760 Burada, sorğu mövzular. 550 00:25:20,760 --> 00:25:21,390 Bu bildiriş. 551 00:25:21,390 --> 00:25:25,280 Belə ki, indi mən cavab başlıqlarını altında deyiləm lakin bu tələbi başlıqlarını deyir bilərsiniz. 552 00:25:25,280 --> 00:25:29,220 Və bildiriş ki, mənim brauzerinizin hissəsi kimi vuruş yenidən sonra tələbi var 553 00:25:29,220 --> 00:25:32,780 ən azı aşağıdakı göndərdi məlumat. 554 00:25:32,780 --> 00:25:34,670 Göstərilməyib-çerez, lakin çerez. 555 00:25:34,670 --> 00:25:38,750 Belə ki, bu xətt, HTTP mövzu belə mənim browser sort olduğu danışmaq 556 00:25:38,750 --> 00:25:43,340 Mənim təqdim edilməsi bilmədən və Facebook yoxlama üçün mənim əlimdən. 557 00:25:43,340 --> 00:25:46,020 >> Belə ki, bu cookies ola bilər nə üçün sonra istifadə? 558 00:25:46,020 --> 00:25:49,420 Kim unutmayın, və ya nə xatırlamaq neçə dəfə olub, və ya sonra 559 00:25:49,420 --> 00:25:50,280 həqiqətən şey. 560 00:25:50,280 --> 00:25:52,742 >> Belə ki, burada counter.php edir. 561 00:25:52,742 --> 00:25:53,780 Və mənə font zoom imkan verir. 562 00:25:53,780 --> 00:25:58,380 Və mən bu səhifəni yeniden hər dəfə qeyd necə bir çox dəfə xatırlayaraq oldu 563 00:25:58,380 --> 00:25:59,250 Mən orada oldum. 564 00:25:59,250 --> 00:26:00,570 Yaxşı ki, bütün təsirli deyil. 565 00:26:00,570 --> 00:26:03,140 Gəlin yalnız ki, nişanı yaxın və indi geri gidelim 566 00:26:03,140 --> 00:26:07,860 http://localhost/counter.php. 567 00:26:07,860 --> 00:26:08,970 >> Oh, bu maraqlı deyil. 568 00:26:08,970 --> 00:26:10,960 Bu hələ belə xatırladı Mən nişanı bağlı olsa. 569 00:26:10,960 --> 00:26:14,010 Və səmimi, mən brauzerinizin yaxın olsa, düzgün həyata əgər, mən 570 00:26:14,010 --> 00:26:18,950 hələ bu istifadəçi olduğunu unutmayın bilər o kim ilk dəfə idi və 571 00:26:18,950 --> 00:26:22,840 yalnız bir dəfə mən Chrome menyusu daxil, hansı burada burada və getmək 572 00:26:22,840 --> 00:26:25,990 Tarix, və Clear Tarama Data basın, Siz bəzi var bilər 573 00:26:25,990 --> 00:26:33,050 keçmiş, yalnız sonra cookies olacaq həqiqətən web zamanı silinəcək 574 00:26:33,050 --> 00:26:33,970 inkişafı. 575 00:26:33,970 --> 00:26:35,340 >> Beləliklə, biz getmək əgər - 576 00:26:35,340 --> 00:26:37,080 nin burada gedit qədər yaxın bildirin. 577 00:26:37,080 --> 00:26:38,910 Və biz bu faylı indi getmək edin. 578 00:26:38,910 --> 00:26:44,210 Mənə bizim daxil gedək vhosts / localhost / ictimai və mənə bunu bildirin 579 00:26:44,210 --> 00:26:46,340 counter.php. 580 00:26:46,340 --> 00:26:48,350 Bu olduqca edək ki, sadə proqram. 581 00:26:48,350 --> 00:26:50,250 Bu olduqca sadə web edir. 582 00:26:50,250 --> 00:26:51,770 >> Belə ki, fayl üst yalnız şərh edir. 583 00:26:51,770 --> 00:26:54,930 Amma burada yeni xətt var siz ki, p-set yeddi, artıq gördük 584 00:26:54,930 --> 00:26:56,000 session_start (). 585 00:26:56,000 --> 00:27:00,380 Bu PHP kodu bir xətt ki, mahiyyətcə web server izah etmək 586 00:27:00,380 --> 00:27:03,400 əlləri möhür və əmin əl marka yoxlamaq üçün əmin olun. 587 00:27:03,400 --> 00:27:06,810 Yəni bütün line edir, ve bizim üçün həmin prosesin bütün edir. 588 00:27:06,810 --> 00:27:09,510 Sonra yalnız var fark Burada iki filialları. 589 00:27:09,510 --> 00:27:14,150 Bu əks əsas daxili adlı xüsusi qlobal dəyişən 590 00:27:14,150 --> 00:27:18,010 $ _SESSION Müəyyən edilir - başqa sözlə, orada bəzi dəyəri olduqda - 591 00:27:18,010 --> 00:27:22,440 İT almaq və bir yerli mağaza imkan dəyişən counter $ çağırıb. 592 00:27:22,440 --> 00:27:27,000 Başqa, əks $ təyin edək 0 default dəyəri. 593 00:27:27,000 --> 00:27:30,320 >> İndi burada ki, PHP bir aspekti var bir xeyir və lənət, həm də. 594 00:27:30,320 --> 00:27:32,080 PHP bir az sloppy edir. 595 00:27:32,080 --> 00:27:35,160 Belə ki, C isə nə edəcəyini əks daxilində olmuşdur 596 00:27:35,160 --> 00:27:36,725 ya burada və ya burada? 597 00:27:36,725 --> 00:27:39,270 598 00:27:39,270 --> 00:27:41,690 >> Bu məhdudlaşmır olardı o buruq aşırma üçün. 599 00:27:41,690 --> 00:27:42,090 Nə tahmin? 600 00:27:42,090 --> 00:27:46,920 PHP, bu hətta kənarda var Burada buruq burada aşırma, və 601 00:27:46,920 --> 00:27:49,120 burada, burada və hətta aşağı aşağıdır. 602 00:27:49,120 --> 00:27:52,400 Mən bu mənada bir xeyir demək kimi düşünmək yoxdur 603 00:27:52,400 --> 00:27:54,070 Biz həftə əvvəl etdiyi kimi çətin. 604 00:27:54,070 --> 00:27:56,880 Ancaq bu da ki, lənət bir az var Əgər bir dəyişən istifadə harada olursa olsun 605 00:27:56,880 --> 00:28:00,020 PHP, ən azı bu kimi bir proqramda, Bunun üçün qlobal əlçatan deyil 606 00:28:00,020 --> 00:28:01,170 yaxşı və ya pis üçün. 607 00:28:01,170 --> 00:28:06,130 Belə ki, indi unutmayın var Sizin dəyişənlər müəyyən ola bilər. 608 00:28:06,130 --> 00:28:07,640 Siz başqa yerdə onlara müəyyən ola bilər. 609 00:28:07,640 --> 00:28:09,460 >> Amma nə nəticədə nə üçün gedirəm? 610 00:28:09,460 --> 00:28:13,160 Hesab edirəm ki, qlobal daxilində saxlamaq gidiyorum ki, bir dəyər kimi dəyişən 611 00:28:13,160 --> 00:28:17,060 Counter əsas nəticəsi Counter plus 1. edirik 612 00:28:17,060 --> 00:28:18,910 Beləliklə, bu, yalnız hesab edir ki yoxdur 613 00:28:18,910 --> 00:28:20,590 ki, əks incrementation. 614 00:28:20,590 --> 00:28:24,850 Və mən saxlanılması alıram ki, əslində geri burada dəyəri deməkdir 615 00:28:24,850 --> 00:28:29,970 mahiyyətcə bazasında yeniləmə istifadəçi 123456789 olmuşdur unutmayın 616 00:28:29,970 --> 00:28:31,010 Burada iki dəfə. 617 00:28:31,010 --> 00:28:33,780 Mən növbəti dəfə daha bunu mən sahifani yeniden, bu yoxlamaq olacaq 618 00:28:33,780 --> 00:28:36,710 mənim əl möhür və demək, oh, istifadəçi 123456789 indi 619 00:28:36,710 --> 00:28:38,410 burada üç dəfə olmuşdur. 620 00:28:38,410 --> 00:28:43,390 >> Və nə PHP və analoji languages bizim üçün edirlər figuring olunur 621 00:28:43,390 --> 00:28:47,720 həyata necə və harada və necə uzun Bu xüsusi dəyərlər saxlamaq üçün 622 00:28:47,720 --> 00:28:48,830 superglobal. 623 00:28:48,830 --> 00:28:52,750 Bu növbəti dəfə superglobal I page ziyaret növ magically edir 624 00:28:52,750 --> 00:28:57,440 pre-yaşayış, dəyərləri ilə dolu ki, orada səfər son dəfə idi, 625 00:28:57,440 --> 00:29:02,310 ki, ikinci bir həftə əvvəl olub əvvəl və ya 2013-ci ildə biz indi söhbət edirik 626 00:29:02,310 --> 00:29:03,790 haqqında 2015. 627 00:29:03,790 --> 00:29:07,600 PHP və web server qayğı ki, bütün sizin üçün. 628 00:29:07,600 --> 00:29:08,850 >> Auditoriya: [işitilemez]. 629 00:29:08,850 --> 00:29:11,900 630 00:29:11,900 --> 00:29:15,760 >> DAVID MALAN: PHP Dəyişənlər var Siz halda mahiyyətcə həmişə qlobal 631 00:29:15,760 --> 00:29:18,400 bir funksiyası daxilində onlara bəyan, və onlar üçün yerli 632 00:29:18,400 --> 00:29:19,420 yalnız funksiyası. 633 00:29:19,420 --> 00:29:22,300 Amma hər hansı bir yazılı deyil etdik, çünki funksiyaları, onlar indi səmərəli var 634 00:29:22,300 --> 00:29:25,090 burada mənim bütün fayl ərzində qlobal. 635 00:29:25,090 --> 00:29:26,040 >> Auditoriya: bir yolu var mı onlara yerli etmək? 636 00:29:26,040 --> 00:29:28,470 >> DAVID MALAN: hər hansı bir var mı onlara yerli etmək yolu? 637 00:29:28,470 --> 00:29:30,680 Yalnız funksiyaları onları qucaqlayaraq. 638 00:29:30,680 --> 00:29:32,790 Olan son versiyası PHP, siz bunu edə bilərsiniz 639 00:29:32,790 --> 00:29:34,130 anonim funksiyası. 640 00:29:34,130 --> 00:29:35,930 Amma ki, daha çox JavaScript kontekstində. 641 00:29:35,930 --> 00:29:37,260 Amma qısa cavab yoxdur. 642 00:29:37,260 --> 00:29:40,888 A artıq cavab yes deyil. 643 00:29:40,888 --> 00:29:42,380 Nice. 644 00:29:42,380 --> 00:29:43,380 Yaxşı viktorina sual. 645 00:29:43,380 --> 00:29:43,930 Bütün hüquqlar. 646 00:29:43,930 --> 00:29:47,760 >> Belə ki, nəhayət, özü səhifə deyil əslində olduqca sadə. 647 00:29:47,760 --> 00:29:51,470 Qeyd edək ki, I PHP rejimi, geri çıxmaq dəfə ki, aşağı bu məhsulları bütün 648 00:29:51,470 --> 00:29:53,700 Aşağıda yalnız tüpürmək almaq üçün gedir brauzerinizin xam həyata. 649 00:29:53,700 --> 00:29:57,050 Mən göndərmək istəyirəm, çünki gözəl olan istifadəçi bir HTML, lakin mən istəyirəm 650 00:29:57,050 --> 00:29:59,140 dinamik HTML yeniləmə. 651 00:29:59,140 --> 00:30:03,930 Və mən bunu edə bilərsiniz bir yol düzmək üçün çox tez PHP geri düşmək 652 00:30:03,930 --> 00:30:07,730 rejimi, istifadə açıq bracket sual işarəsi bərabər işarəsi, sonra çıxış dəyəri 653 00:30:07,730 --> 00:30:08,650 counter. 654 00:30:08,650 --> 00:30:12,360 >> Və ya bu, bir az sirli görünür əgər bərabər işarəsi yalnız bəzi həqiqətən 655 00:30:12,360 --> 00:30:16,190 Bu sintaktik şəkər printf ($ counter). 656 00:30:16,190 --> 00:30:19,160 Amma səmimi, yalnız bir az çirkin və annoying bir az yazın. 657 00:30:19,160 --> 00:30:23,660 Belə ki, PHP çox gözəl bu xüsusiyyət təklif edir yalnız daha deyə bilərsiniz 658 00:30:23,660 --> 00:30:25,450 müfəssəl eyni şəkildə. 659 00:30:25,450 --> 00:30:26,940 >> Belə ki, nə altında gedir başlıq? 660 00:30:26,940 --> 00:30:31,210 Tez şəbəkə baxaq burada counter.php üçün nişanı. 661 00:30:31,210 --> 00:30:35,090 Və Mənə davam və ilk gedək Sizin cookies sil. 662 00:30:35,090 --> 00:30:38,670 Gəlin açıq gəzən data bəri vaxt başlanğıcıdır. 663 00:30:38,670 --> 00:30:39,680 İndi burada geri gedək. 664 00:30:39,680 --> 00:30:41,340 İndi səhifəni yenidən bildirin. 665 00:30:41,340 --> 00:30:42,170 Mən geri sıfır da deyiləm. 666 00:30:42,170 --> 00:30:44,810 Mənim əl möhürü yuyulur edilmişdir, çünki, İndi yeni bir cookie almaq. 667 00:30:44,810 --> 00:30:48,780 >> Mən şəbəkə nişanı baxmaq və həqiqətən əgər cavab başlıqlarını, bildiriş baxmaq 668 00:30:48,780 --> 00:30:51,960 cihaz məni göndərir ki, onun adı qədər bir cookie 669 00:30:51,960 --> 00:30:55,820 özbaşına, lakin cür əsaslı, PHPSESSID. 670 00:30:55,820 --> 00:30:58,440 Və həqiqətən mənə bu göndərilməsi böyük təsadüfi sayı. 671 00:30:58,440 --> 00:30:59,440 Bu, olduqca bir sıra deyil. 672 00:30:59,440 --> 00:31:00,390 Bu olduqca hexadecimal deyil. 673 00:31:00,390 --> 00:31:03,600 Bu alfasayısal simli bir növ var, lakin ehtimalla bu təsadüfi deyil. 674 00:31:03,600 --> 00:31:06,830 Və əl möhürü edir, belə ki, Mən istinad edirəm ki, danışmaq. 675 00:31:06,830 --> 00:31:11,960 >> Eyni zamanda mən sonra yenidən basın və əgər Mənim ikinci dəfə bu ikinci xətti baxmaq 676 00:31:11,960 --> 00:31:17,600 indi sorğu, bildiriş ki, mənim sorğu başlıqlarını PHPSESSID bu bərabərdir daxildir, 677 00:31:17,600 --> 00:31:19,390 -cookie müəyyən, lakin yalnız cookie deyil. 678 00:31:19,390 --> 00:31:22,950 Və mənim brauzerinizin təqdimat var Mənim əl Markanın. 679 00:31:22,950 --> 00:31:28,820 >> Belə ki, indi bir iltifat kimi, və daha çox danışmaq lazımdır bir həftə və ya bu, lakin haqqında 680 00:31:28,820 --> 00:31:31,590 nə şəkildə bu sizə edir həssas, sizin Facebook hesabı 681 00:31:31,590 --> 00:31:34,137 həssas, və digər bu kimi həssas hesabları? 682 00:31:34,137 --> 00:31:35,510 >> Auditoriya: kimsə cookie varsa. 683 00:31:35,510 --> 00:31:36,750 >> DAVID MALAN: Bəli, əgər kimsə cookie var. 684 00:31:36,750 --> 00:31:39,920 Mən çox sizin bəzi kimi, həqiqətən demək bir klub və ya bir kimi mühakimə ola bilər 685 00:31:39,920 --> 00:31:44,030 oyuncaq park, bir şey cəhd edin kimi bu olsa, möhürü surəti 686 00:31:44,030 --> 00:31:47,560 geri başqa şəxsin əl üzərinə, sonra o kimi təqdim 687 00:31:47,560 --> 00:31:53,250 öz, həqiqətən baxmaq əgər eyni, 123456789, sonra web 688 00:31:53,250 --> 00:31:57,980 server yəqin yalnız gedir ki, istifadəçi siz ki, etibar. 689 00:31:57,980 --> 00:32:01,450 >> Və bu, həqiqətən bir fundamental edir təhlükə siz cookies istifadə hər zaman 690 00:32:01,450 --> 00:32:05,420 çünki kimsə yalnız belə spoofs əgər cookie danışmaq, nə tutulur 691 00:32:05,420 --> 00:32:08,660 həqiqətən çıxarmaq ya edir Sizin kompüter baxaraq 692 00:32:08,660 --> 00:32:09,890 və OK kimi olan. 693 00:32:09,890 --> 00:32:14,520 Davudun cookie, s JJ3JIK və və onlar bilmək kifayət qədər ağıllı olduğunuzu 694 00:32:14,520 --> 00:32:18,080 necə sort əl göndərmək üçün bir brauzer və ya bir olan cookie 695 00:32:18,080 --> 00:32:22,350 onlar yazmaq proqram, onlar tamamilə ola bilər sizin kimi bir haqqinda daxil. 696 00:32:22,350 --> 00:32:28,560 Bu biclik etmək çətin deyil başqası biz p-set yenidən halda 697 00:32:28,560 --> 00:32:30,790 iki, hansı nə tanıtdı? 698 00:32:30,790 --> 00:32:32,065 >> Auditoriya: kriptoqrafiya. 699 00:32:32,065 --> 00:32:33,860 >> DAVID MALAN: A az Kriptoqrafiya bit. 700 00:32:33,860 --> 00:32:36,550 Simple Kriptoqrafiya, ən azı ildə standart nəşr, lakin gizli 701 00:32:36,550 --> 00:32:36,870 yenə. 702 00:32:36,870 --> 00:32:37,410 az. 703 00:32:37,410 --> 00:32:41,440 Siz bütün şifrelemek əgər belə çıxır ki, bir şey istifadə edərək, bu mövzular 704 00:32:41,440 --> 00:32:48,770 İndi, SSL kimi daha familiarly bilirik bilər Secure Socket Layer, və ya https:// URL'leri, 705 00:32:48,770 --> 00:32:51,890 sonra bu şeyi bütün biz oldum baxma həqiqətən şifrelenir olunur, 706 00:32:51,890 --> 00:32:54,800 olan sizin kimi o deməkdir ki, əl möhürü oxuya bilməz. 707 00:32:54,800 --> 00:32:59,350 Yalnız facebook.com bilər, və ya google.com, və ya bu halda, cihaz bilər 708 00:32:59,350 --> 00:33:00,550 ki, əl möhürü oxuyun. 709 00:33:00,550 --> 00:33:04,020 >> Faciəli olsa və yenidən, bu NSA məhsulları ilə çox uyğun 710 00:33:04,020 --> 00:33:06,410 gec, hətta SSL breakable edir. 711 00:33:06,410 --> 00:33:09,850 Və bu çətin deyil hətta şifreleme çat. 712 00:33:09,850 --> 00:33:12,040 Belə şifreleme krekinq tərəfindən çox deyil, lakin tricking tərəfindən 713 00:33:12,040 --> 00:33:15,720 decrypting daxil browser məlumat vaxtından əvvəl. 714 00:33:15,720 --> 00:33:17,880 Ancaq yenə də, biz sizə dolaşmaq lazımdır ki, uzun əvvəl. 715 00:33:17,880 --> 00:33:21,242 Indi üçün, yalnız qorxmaq. 716 00:33:21,242 --> 00:33:23,070 Bu faciəvi cür doğrudur. 717 00:33:23,070 --> 00:33:23,760 >> Bütün hüquqlar. 718 00:33:23,760 --> 00:33:27,910 Belə ki, bu indi bizi tərk edir? 719 00:33:27,910 --> 00:33:29,010 Yaxşı, bunu edək. 720 00:33:29,010 --> 00:33:31,790 Nin irəli getmək və tez edək biz fasilə teaser əvvəl. 721 00:33:31,790 --> 00:33:33,790 Və biz bir az artıq uzanmaq lazımdır edirəm Bu gün, lakin biz daxil dalış olacaq 722 00:33:33,790 --> 00:33:37,850 bir şey yeni və sexy edəcək olan daha üçün iştaha itiləmək. 723 00:33:37,850 --> 00:33:38,950 Belə ki, teaser var. 724 00:33:38,950 --> 00:33:41,520 >> Belə ki, SQL, söhbət başladı belə qısa heç son dəfə. 725 00:33:41,520 --> 00:33:44,670 Siz, həqiqətən, əlləri çirkli almaq lazımdır p-set yeddi bu bəzi. 726 00:33:44,670 --> 00:33:46,480 Və layman nin baxımından, nə SQL yoxdur - 727 00:33:46,480 --> 00:33:47,110 S-Q-L - 728 00:33:47,110 --> 00:33:49,850 sizin üçün nə? 729 00:33:49,850 --> 00:33:50,310 Bu nədir? 730 00:33:50,310 --> 00:33:51,546 Bəli. 731 00:33:51,546 --> 00:33:53,240 >> Auditoriya: Siz giriş məlumatları edək. 732 00:33:53,240 --> 00:33:53,360 >> DAVID MALAN: Bəli. 733 00:33:53,360 --> 00:33:55,120 Bu siz kecmə data ili bazasında. 734 00:33:55,120 --> 00:33:56,710 Query Language strukturlaşdırılmış. 735 00:33:56,710 --> 00:33:59,890 Bu mahiyyətcə bir proqramlaşdırma dili. 736 00:33:59,890 --> 00:34:03,400 Bunun xüsusiyyətləri var ki, biz hətta sinif istifadə edəcək. 737 00:34:03,400 --> 00:34:04,710 Amma səmərəli bilərsiniz funksiyaları müəyyən. 738 00:34:04,710 --> 00:34:06,870 Onlar saxlanılır deyilir SQL prosedurları. 739 00:34:06,870 --> 00:34:09,860 Amma biz kifayət qədər sadə və yalnız saxlamaq lazımdır bəzi əsas əməliyyatlar üçün istifadə 740 00:34:09,860 --> 00:34:14,320 , seçilməsi data məlumat daxil kimi məlumatların yenilənməsi və data silmə. 741 00:34:14,320 --> 00:34:17,400 >> Və həqiqətən bir verilənlər bazası hesab edə bilər, bir SQL verilənlər bazası kimi, kimi 742 00:34:17,400 --> 00:34:18,800 Microsoft Excel olan. 743 00:34:18,800 --> 00:34:21,989 SQL bir əlaqələrə aiddir, çünki verilənlər bazası, burada 744 00:34:21,989 --> 00:34:23,480 relation yalnız masalar deməkdir. 745 00:34:23,480 --> 00:34:24,739 Satır ve sütun. 746 00:34:24,739 --> 00:34:27,929 Belə ki, bir şey bir elektron tablo qoya bilər Bu və ya Google Docs kimi, 747 00:34:27,929 --> 00:34:32,460 Bir SQL bazasında qoymaq bilər bir masa elan edərək. 748 00:34:32,460 --> 00:34:34,800 >> İndi, necə həqiqətən daxil edirsiniz məlumat? 749 00:34:34,800 --> 00:34:38,239 Yaxşı, əmrləri ilə və ya bu kimi queries. 750 00:34:38,239 --> 00:34:40,199 SELECT, INSERT, UPDATE, DELETE və. 751 00:34:40,199 --> 00:34:44,489 Və çox hissəsi üçün, o var Siz lazımdır dörd yalnız maddələr 752 00:34:44,489 --> 00:34:47,370 olduqca güclü bir şey problem yeddi seçin. 753 00:34:47,370 --> 00:34:49,940 >> İndi geri gün, həqiqətən ki bir bir verilənlər bazası ilə qarşılıqlı 754 00:34:49,940 --> 00:34:52,730 qara və ağ terminal pəncərə bu kimi bir yanıb-sönən tez. 755 00:34:52,730 --> 00:34:56,370 Və biz çalışan etdiyiniz bazası cihaz olan MySQL adlanır 756 00:34:56,370 --> 00:34:58,560 pulsuz və açıq mənbə verilənlər bazası engine. 757 00:34:58,560 --> 00:35:02,240 Google və Wikipedia oxumaq məqalə, siz adıdır ki, bilirsiniz 758 00:35:02,240 --> 00:35:05,060 bəzi keçid bir az Linux versiyasını. 759 00:35:05,060 --> 00:35:10,460 Maria bazası əslində bir MySQL danışmaq belə ödemek. 760 00:35:10,460 --> 00:35:12,740 >> Uzun hekayə qısa, Oracle MySQL alıb. 761 00:35:12,740 --> 00:35:13,870 Oracle böyük şirkət var. 762 00:35:13,870 --> 00:35:17,010 İnsanlar ki, narahat edilmişdir artıq olduqca açıq mənbə qalır 763 00:35:17,010 --> 00:35:20,930 bu ki, MySQL yalnız bir surəti , hələ də pulsuz hələ açıq mənbə və 764 00:35:20,930 --> 00:35:23,550 default Fedora Linux quraşdırılmışdır. 765 00:35:23,550 --> 00:35:26,130 >> Amma bu bir ağrı növü ilə tanış olmaq üçün boyun 766 00:35:26,130 --> 00:35:27,310 verilənlər bazası bu yol. 767 00:35:27,310 --> 00:35:30,560 Beləliklə, biz CS50 cihaz daxil adlı pulsuz açıq mənbə vasitədir 768 00:35:30,560 --> 00:35:31,700 phpMyAdmin. 769 00:35:31,700 --> 00:35:33,940 Bir təsadüf ki, Bu PHP yazılı. 770 00:35:33,940 --> 00:35:36,450 Heç bir fundamental var burada PHP üçün lazımdır. 771 00:35:36,450 --> 00:35:40,090 Amma bu yalnız bir web-based alətdir ki, biz quraşdırılmış, pulsuz yükləmək 772 00:35:40,090 --> 00:35:43,850 us üçün imkan verir ki, cihaz, bir qrafik istifadəçi interfeysi ilə 773 00:35:43,850 --> 00:35:48,610 p-set yeddi bazası ilə tədqiq etmək yeni verilənlər bazası yaratmaq, 774 00:35:48,610 --> 00:35:51,980 Öz yekun layihə üçün demək istədiyiniz əgər kimi, və nəticədə yaratmaq 775 00:35:51,980 --> 00:35:55,900 CS50 Maliyyə Kimi dinamik saytları Siz sorğu imkan verir ki, 776 00:35:55,900 --> 00:35:58,140 dinamik data yeniləmə. 777 00:35:58,140 --> 00:36:01,420 >> Siz istifadə etmək fikrində deyilik yalnız bir sadə mətn faylı və ya CSV. 778 00:36:01,420 --> 00:36:05,950 Siz, həqiqətən, bir smart bazası istifadə edə bilərsiniz daha çox icra edə bilər proqram ki, 779 00:36:05,950 --> 00:36:10,240 yalnız oxumaq daha inkişaf etmiş sorğu xətti hər şey vasitəsilə. 780 00:36:10,240 --> 00:36:14,150 >> Belə ki, məsələn, bu, vermək nə p-set yeddi qutusu həyata. 781 00:36:14,150 --> 00:36:18,280 Bu yəqin ən azı bir masa biri olan üç sütun, 782 00:36:18,280 --> 00:36:21,450 istifadəçi adı, onlardan biri hash edir və digər olan ID edir. 783 00:36:21,450 --> 00:36:26,200 >> Amma maraqlı şey, və yalnız burada bir fikir həyata tease, istifadəçi adı 784 00:36:26,200 --> 00:36:29,270 sağ, ehtimalla artıq nadir? 785 00:36:29,270 --> 00:36:31,190 Mən demək, ən hər hansı bir bax, əgər orada, bir istifadəçi adı 786 00:36:31,190 --> 00:36:32,370 iki Caesars ola bilməz. 787 00:36:32,370 --> 00:36:33,440 Iki malans ola bilməz. 788 00:36:33,440 --> 00:36:34,950 Iki jharvards ola bilməz. 789 00:36:34,950 --> 00:36:35,600 Onun unikal. 790 00:36:35,600 --> 00:36:38,610 Əks halda, onlar bilmirəm jharvard əslində. 791 00:36:38,610 --> 00:36:42,710 Belə ki, nə də motivasiya ola bilər sol üçüncü sütun olan 792 00:36:42,710 --> 00:36:46,970 kimi görünür orada deyilir ID, eyni unikal ki sayı? 793 00:36:46,970 --> 00:36:51,300 Bu bir az lazımsız hiss ilk baxışda mənə. 794 00:36:51,300 --> 00:36:54,910 Niyə var məcburedici ola bilər yalnız unikal istifadəçi adı, 795 00:36:54,910 --> 00:36:56,837 unikal nömrələri həm də? 796 00:36:56,837 --> 00:36:59,460 >> Auditoriya: Onlar ola bilər eyni parol. 797 00:36:59,460 --> 00:37:01,720 >> DAVID MALAN: People ola bilər eyni parol, əmin olun. 798 00:37:01,720 --> 00:37:03,900 Ki, tamamilə ola bilər. 799 00:37:03,900 --> 00:37:08,270 Lakin onlar bu unikal istifadəçi adı varsa, mən ki, həqiqətən deyil ki, iddia edirəm 800 00:37:08,270 --> 00:37:11,630 olsun, çünki onlar yazın əgər onların istifadəçi adı, mən yalnız yoxlamaq lazımdır onların 801 00:37:11,630 --> 00:37:15,060 parol, onların öz hash. 802 00:37:15,060 --> 00:37:15,970 Niyə başqa? 803 00:37:15,970 --> 00:37:17,950 >> Auditoriya: Faster axtarış. 804 00:37:17,950 --> 00:37:18,680 >> DAVID MALAN: Faster axtarış. 805 00:37:18,680 --> 00:37:19,548 Niyə? 806 00:37:19,548 --> 00:37:21,460 >> Auditoriya: ID yalnız biridir. 807 00:37:21,460 --> 00:37:24,040 >> DAVID MALAN: ID yalnız bir xarakter, və ya daha dəqiq desək, bu, bir sıra var, 808 00:37:24,040 --> 00:37:26,910 belə ki, yəqin ki, 32 bit və ya kimi bir şey. 809 00:37:26,910 --> 00:37:30,270 Halbuki istifadəçi adı, yəqin Jason Hirschhorn qədər sort var 810 00:37:30,270 --> 00:37:33,900 ridiculously uzun, və o olacaq simli mənə daha çox vaxt 811 00:37:33,900 --> 00:37:40,910 bəlkə H-I-R-S-C-H-H-O-R-N müqayisə, və üçün kimi bir / 0 və ya bir şey, 812 00:37:40,910 --> 00:37:45,100 fərqli olaraq, Jason baxmaq üçün yalnız deyərək mənə istifadəçi sayı iki verir. 813 00:37:45,100 --> 00:37:46,510 32 bit var. 814 00:37:46,510 --> 00:37:48,550 Bu bir INT ki, Siz müqayisə etmək lazımdır. 815 00:37:48,550 --> 00:37:52,150 Və həqiqətən, dəqiq niyə bazaları üçün unikal kimlikleri təyin edirlər 816 00:37:52,150 --> 00:37:53,710 onlara satır. 817 00:37:53,710 --> 00:37:56,280 >> İndi digər məlumatlar növləri nə var yəqin İNT başqa 818 00:37:56,280 --> 00:37:57,160 bu kimi strings? 819 00:37:57,160 --> 00:37:59,700 Yaxşı, daha düzgün olmaq, Kimi SQL verilənlər bazası, 820 00:37:59,700 --> 00:38:02,060 MySQL, CHAR sahələri var. 821 00:38:02,060 --> 00:38:05,320 Və misleadingly bir az char bir CHAR deyil. 822 00:38:05,320 --> 00:38:10,290 Bir MySQL bazasında A CHAR sahədir bir və ya daha çox simvol, lakin var 823 00:38:10,290 --> 00:38:11,780 simvol sabit sayı. 824 00:38:11,780 --> 00:38:15,710 >> Belə ki, məsələn, mən artıq getmək əgər Əgər siz artıq var, ya phpMyAdmin kimi 825 00:38:15,710 --> 00:38:21,340 tezliklə problem yeddi qurmaq və mən gedəcək mənim bazasında, və yalnız əyləncə üçün, 826 00:38:21,340 --> 00:38:25,700 nin adlı yeni masa yaratmaq imkan yalnız iki sütun test. 827 00:38:25,700 --> 00:38:27,160 I Go basın lazımdır. 828 00:38:27,160 --> 00:38:30,070 Bu kifayət qədər tanış olacaq, Siz misgər xüsusilə də 829 00:38:30,070 --> 00:38:31,130 ətrafında öz. 830 00:38:31,130 --> 00:38:34,140 Burada yaratmaq ID yazın bilər növü INT yeni bir masa. 831 00:38:34,140 --> 00:38:37,770 Amma burada istifadəçi adınızı yazın bilər ki, əvvəllər masa yeniden. 832 00:38:37,770 --> 00:38:40,700 Mən bütün dəstə var fark seçmək növləri. 833 00:38:40,700 --> 00:38:43,610 >> Və bu çox nə phpMyAdmin cür gözəl. 834 00:38:43,610 --> 00:38:46,770 Bu sizin self-tədris növü var yalnız cür point, basın və bilərsiniz 835 00:38:46,770 --> 00:38:50,730 açılan menyular baxmaq, və nəticə çıxarmaq ki, nə səlahiyyətləri SQL verir. 836 00:38:50,730 --> 00:38:54,090 >> Və həqiqətən, mən Char seçerseniz, Mən sonra uzunluğu, və ya necə müəyyən etmək lazımdır 837 00:38:54,090 --> 00:38:55,940 çox dəyərləri, neçə simvol ola bilər. 838 00:38:55,940 --> 00:39:00,090 Belə ki, çox ortaq dəyərlər kimi şeylər 255, lakin bir az uzun. 839 00:39:00,090 --> 00:39:02,250 Adətən bir istifadəçi adı üçün səkkiz edir. 840 00:39:02,250 --> 00:39:03,590 Amma bu gün bir az kiçik. 841 00:39:03,590 --> 00:39:05,430 Belə ki, bu bir dizayn qərar deyil. 842 00:39:05,430 --> 00:39:08,630 Bu, 8 simvol max 32, 255, 1000? 843 00:39:08,630 --> 00:39:09,830 Bu qədər həqiqətən var. 844 00:39:09,830 --> 00:39:12,350 Amma CHAR sahəsində bir sabit sayı. 845 00:39:12,350 --> 00:39:16,420 Belə ki, çox neçə seçmək və növ edirik Siz uzun adınızı istəyirsinizsə berbat. 846 00:39:16,420 --> 00:39:19,132 Seçin bir çox və nə İşin mənfi tərəfi odur? 847 00:39:19,132 --> 00:39:20,820 >> Auditoriya: [işitilemez]. 848 00:39:20,820 --> 00:39:21,620 >> DAVID MALAN: Bu israfçı var. 849 00:39:21,620 --> 00:39:24,835 Just C kimi, bir böyük varsa yaddaş yığın sizə lazım çox, siz 850 00:39:24,835 --> 00:39:27,190 yalnız zaman israf və məkan israf. 851 00:39:27,190 --> 00:39:31,430 Belə ki, alternativ olaraq, var Bu problemi həll edən VARCHAR, 852 00:39:31,430 --> 00:39:36,390 , sabit uzunluğu kimi uzunluğu deyil müalicə lakin maksimum uzunluğu, və bir istifadə kimi 853 00:39:36,390 --> 00:39:40,990 dəyişən chars sayı, daha sonra sizin kimi yalnız bir çox chars istifadə etmək niyyətindədir 854 00:39:40,990 --> 00:39:42,710 həqiqətən lazımdır. 855 00:39:42,710 --> 00:39:43,670 Ki, mükəmməl səslənir. 856 00:39:43,670 --> 00:39:45,640 >> Niyə biz xilas yoxdur CHAR data yazın? 857 00:39:45,640 --> 00:39:48,500 Nə İşin mənfi tərəfi odur ola bilər səslənir VARCHARs istifadə 858 00:39:48,500 --> 00:39:51,644 kimi gözəl bir qalibiyyət var? 859 00:39:51,644 --> 00:39:52,596 Bəli? 860 00:39:52,596 --> 00:39:53,846 >> Auditoriya: [işitilemez]. 861 00:39:53,846 --> 00:39:57,360 862 00:39:57,360 --> 00:39:57,790 >> DAVID MALAN: OK, yaxşı. 863 00:39:57,790 --> 00:40:01,101 Belə ki, sizin data bütün eyni əgər uzunluğu, narahatlıq nə var? 864 00:40:01,101 --> 00:40:05,250 >> Auditoriya: Əgər israf edirik, çünki bütün bunları izah edərək data. 865 00:40:05,250 --> 00:40:09,060 >> DAVID MALAN: Belə ki, sizin data bütün əgər eyni uzunluğu, baxmayaraq ki, mən iddia edirəm 866 00:40:09,060 --> 00:40:12,300 ki, maksimum uzunluğu ifadə VARCHAR haqqında fərqli heç bir 867 00:40:12,300 --> 00:40:16,070 char üzrə sabit uzunluğu ifadə əgər Siz əvvəlcədən ki sayı bilirik. 868 00:40:16,070 --> 00:40:19,500 Amma həqiqətən, mən sort will ki, cavab həqiqəti çıxarış 869 00:40:19,500 --> 00:40:22,610 bir max hələ də var ki, hansı ki, xüsusilə əgər, annoying ola 870 00:40:22,610 --> 00:40:25,920 ki, bir şəxsin adı qarşılaşa siz ki, qeyri-adi uzun 871 00:40:25,920 --> 00:40:26,860 təxmin edirik. 872 00:40:26,860 --> 00:40:31,420 Və bu da bir az daha az səmərəli deyil həqiqətən VARCHARs axtarış 873 00:40:31,420 --> 00:40:35,620 , axtarış chars qarşı xüsusilə çox var və uzun masalar üçün 874 00:40:35,620 --> 00:40:36,510 məlumatların çox. 875 00:40:36,510 --> 00:40:40,060 Belə ki, burada da, tematik yenidən heç Aşkar seçim. 876 00:40:40,060 --> 00:40:42,870 >> Belə ki, yalnız digər hissi vermək maraq ola bilər ki, məlumat növləri 877 00:40:42,870 --> 00:40:45,400 ya p-müəyyən yeddi və ya gələcək, INT var. 878 00:40:45,400 --> 00:40:47,270 BigInt, var olan uzun uzun kimi. 879 00:40:47,270 --> 00:40:48,880 Bu 64 bit olmağa çalışır. 880 00:40:48,880 --> 00:40:51,640 Siz görəcəksiniz olan Decimal var bir çox olan problem set, 881 00:40:51,640 --> 00:40:55,300 problemlərin təmiz cavab biz float və üzən ilə qarşılaşdı 882 00:40:55,300 --> 00:40:55,980 qeyri-dəqiqlik qeyd. 883 00:40:55,980 --> 00:40:57,390 Və sonra Datetime var. 884 00:40:57,390 --> 00:41:01,530 Ki, bir veri növü sözün var bir il kimi baxmaq, bir ay, bir gün, 885 00:41:01,530 --> 00:41:03,730 və bir saat, dəqiqə, ikinci. 886 00:41:03,730 --> 00:41:07,470 >> Amma SQL verilənlər bazası da var şeylər indeksləri zəng edəcəyik. 887 00:41:07,470 --> 00:41:11,630 Və index ki, bir şey deyil masa üçün oluştururken müəyyən 888 00:41:11,630 --> 00:41:15,720 axtarış və digər əməliyyatları etmək daha səmərəli. 889 00:41:15,720 --> 00:41:18,550 Xüsusilə, deyilən bir şey var Siz ola bilər ki, PRIMARY index 890 00:41:18,550 --> 00:41:19,440 aşağıdakı kimi bəyan edir. 891 00:41:19,440 --> 00:41:22,330 >> Biz sizin üçün bunu users masa biz sizə verir. 892 00:41:22,330 --> 00:41:26,160 Mən əl yeniden əgər Lakin qeyd burada verən istifadəçilər masa 893 00:41:26,160 --> 00:41:27,110 istifadəçilər bir ad. 894 00:41:27,110 --> 00:41:28,125 Mən artıq ID ifadə edildi. 895 00:41:28,125 --> 00:41:29,330 Mən INT ifadə edildi. 896 00:41:29,330 --> 00:41:32,000 Mən istifadəçi adı müəyyən maksimum 32 simvol. 897 00:41:32,000 --> 00:41:36,140 Amma biz saxlamaq əgər kifayət qədər bu scrolling geniş pəncərə, bildiriş bir var 898 00:41:36,140 --> 00:41:38,260 Mən belirtebilirsiniz başqa şeylər dəstə. 899 00:41:38,260 --> 00:41:40,950 >> Biri mən atributları daxil edə bilərsiniz kimi, siz nə, bu bilirik 900 00:41:40,950 --> 00:41:42,190 INT İmzasız olmalıdır. 901 00:41:42,190 --> 00:41:45,510 Mən mənfi nömrələri istəmirsinizsə, belə ki, bu imzasız etmək edək. 902 00:41:45,510 --> 00:41:48,660 Null burada müvafiq deyil, çünki Mən hər istifadəçi istəyirəm 903 00:41:48,660 --> 00:41:49,640 bir unikal nömrəsini edir. 904 00:41:49,640 --> 00:41:50,830 Mən null olmaq istəmirəm. 905 00:41:50,830 --> 00:41:52,330 >> Amma bu maraqlıdır. 906 00:41:52,330 --> 00:41:57,780 Mən ID olduqunu belirtebilirsiniz əsas bu verilənlər bazası əsas, və ya bu 907 00:41:57,780 --> 00:42:00,620 unikal, və ya dizine, və ya tam mətn var. 908 00:42:00,620 --> 00:42:05,630 Belə ki, bu gün məqsədlər üçün, uzun hekayə qısa, PRIMARY deməkdir ki, bu edilir 909 00:42:05,630 --> 00:42:10,570 həm konseptual və texniki ola biz benzersiz üçün istifadə sahəsində 910 00:42:10,570 --> 00:42:12,140 istifadəçilər müəyyən edir. 911 00:42:12,140 --> 00:42:16,140 >> Biz istifadəçilər axtarmaq zaman Belə ki, bu sort edir əsasən onlara baxmaq üçün vəd 912 00:42:16,140 --> 00:42:17,370 ki, unikal identifikator. 913 00:42:17,370 --> 00:42:21,930 Və bazası təmin edəcək ki, siz əgər bir istifadəçi sayı 3 var, siz bilməzsiniz 914 00:42:21,930 --> 00:42:25,400 fiziki başqa bir istifadəçi daxil ki, eyni sayda 3. 915 00:42:25,400 --> 00:42:28,380 Bu verilənlər bazası yalnız imtina edəcək Bu dəyişiklikləri üçün. 916 00:42:28,380 --> 00:42:32,310 Siz, çünki yaxşı bir şey olan Özünüz özünüzü qorumaq. özü 917 00:42:32,310 --> 00:42:34,270 >> Alternativ olaraq, istifadəçi adı üçün. 918 00:42:34,270 --> 00:42:37,670 Belə ki, ikinci sıra, geri, istifadəçi adı sahədir. 919 00:42:37,670 --> 00:42:41,860 Belə ki, burada ikinci sıra adınız, biz uzaq orada sol etdi. 920 00:42:41,860 --> 00:42:43,940 >> Belə ki, nə mən müəyyən edə bilərsiniz? 921 00:42:43,940 --> 00:42:47,840 Mən SQL görə, icazə alıram iki əsas düymələri müəyyən etmək. 922 00:42:47,840 --> 00:42:50,750 Siz harada birgə düyməsini belirtebilirsiniz həm də sahələrdə baxmaq, lakin onlar deyil 923 00:42:50,750 --> 00:42:52,260 fərdi əsas düymələri ola. 924 00:42:52,260 --> 00:42:54,750 Belə ki, sual həyata var. 925 00:42:54,750 --> 00:42:56,040 Mən seçmək üçün istəyirsiniz bilər? 926 00:42:56,040 --> 00:42:59,710 >> Yaxşı, UNİKAL bir ruhu oxşar Bu daxil olduğu ilkin əsas 927 00:42:59,710 --> 00:43:03,570 sahəsində unikal olmalıdır, lakin bu bir olacaq deyil 928 00:43:03,570 --> 00:43:04,410 Mən hər zaman istifadə edin. 929 00:43:04,410 --> 00:43:08,450 Və biz bütün bu bir istifadə etmək fikrində deyilik yenə nə səbəbdən vaxt? 930 00:43:08,450 --> 00:43:10,490 Əgər bu potensial yavaş Bu uzun bir istifadəçi adı var. 931 00:43:10,490 --> 00:43:11,740 Bu, sadəcə vaxt itkisi var. 932 00:43:11,740 --> 00:43:16,140 >> İNDEKSİ, eyni zamanda, bu ifadə unikal olacaq, amma istərdim deyil 933 00:43:16,140 --> 00:43:19,470 Siz altında sehrli işləmək daha sürətli məni etmək üçün başlıq 934 00:43:19,470 --> 00:43:21,420 Bu sahədə axtarış. 935 00:43:21,420 --> 00:43:23,320 Belə ki, bu yəqin ki, burada müvafiq deyil. 936 00:43:23,320 --> 00:43:26,500 Istifadəçi adı üçün, Mən mübahisə istədiyiniz UNİKAL yaxşı cavabdır. 937 00:43:26,500 --> 00:43:31,200 Amma biz daha istifadəçilər ki, güman yalnız istifadəçi adı daha maraqlı, 938 00:43:31,200 --> 00:43:32,430 hashes, və ID nömrələri. 939 00:43:32,430 --> 00:43:33,860 Nə biz insanların tam adlarını verdi əgər? 940 00:43:33,860 --> 00:43:37,700 Biz onlara ünvanlarını verdi, nə əgər və onlar haqqında digər məlumatlar? 941 00:43:37,700 --> 00:43:43,360 >> Yaxşı, əgər müəyyən bir bir sütun verilənlər bazası dizine, o deməkdir ki, 942 00:43:43,360 --> 00:43:47,730 MySQL, Oracle və ya, və ya hər hansı məlumat bazası Siz öz sehrli işləmək lazımdır, istifadə etdiyiniz 943 00:43:47,730 --> 00:43:51,300 və xülya data bir növ istifadə edin bir ağac, ya bir trie, və ya a kimi strukturu 944 00:43:51,300 --> 00:43:55,940 hash table, və ya zəmanət bir şey ki, siz istifadə məlumat üçün axtarış zaman 945 00:43:55,940 --> 00:43:58,150 xüsusi sahəsində seçin - 946 00:43:58,150 --> 00:44:01,310 kimi mənə hər kəs göstərir ki, Oxford küçəsində yaşayır. 947 00:44:01,310 --> 00:44:02,540 Ki, kimi bir sorğu. 948 00:44:02,540 --> 00:44:06,250 Siz əvvəlcədən müəyyən əgər ki, siz sahəsində bir index istəyirəm, 949 00:44:06,250 --> 00:44:09,050 axtarışlar daha sürətli, çox olacaq. 950 00:44:09,050 --> 00:44:12,090 >> Bir index, ən yaxşı daxil deyilsə edə bilərsiniz bir xətti axtarış əgər 951 00:44:12,090 --> 00:44:13,030 sıralanır deyil. 952 00:44:13,030 --> 00:44:16,220 Amma İNDEKSİ, ağıllı daxil əgər verilənlər bazası edən insanlar - 953 00:44:16,220 --> 00:44:19,340 indi ağac bilən sizin kimi insanlar və çalışır və hash masalar - 954 00:44:19,340 --> 00:44:23,220 avtomatik olaraq bir məlumat inşa edəcək əmin olun ki, RAM strukturu 955 00:44:23,220 --> 00:44:26,050 o axtarışlar çox daha sürətli edir. 956 00:44:26,050 --> 00:44:29,660 >> Fulltext eyni zamanda, ruhda oxşar edir lakin siz wildcard etməyə imkan verir 957 00:44:29,660 --> 00:44:35,480 axtarışlar kimi mənə hər kəs göstərir ki, ilə başlamaq küçələrdə yaşayır 958 00:44:35,480 --> 00:44:36,960 hər hansı səbəbdən məktubu Ç. 959 00:44:36,960 --> 00:44:38,850 Siz wildcard axtarış edə bilərsiniz kimi. 960 00:44:38,850 --> 00:44:45,880 Və ya, şou kimi daha çekici şeylər Mənə sözü olan hər kəs - 961 00:44:45,880 --> 00:44:49,400 Mənə onun adı başlayır hər kəs göstərmək xüsusi məktubu ilə. 962 00:44:49,400 --> 00:44:51,880 Siz açar sözlər, üçün axtarış edə bilərsiniz bu şəkildə. 963 00:44:51,880 --> 00:44:52,630 Bütün hüquqlar. 964 00:44:52,630 --> 00:44:55,760 >> Belə ki, dizayn imkanları orada potensial. 965 00:44:55,760 --> 00:44:57,740 Başqaları var ki, I will mənim əlləri dalğa. 966 00:44:57,740 --> 00:45:00,530 Bu ola bilər ki, həyata çevirir müxtəlif storage motor. 967 00:45:00,530 --> 00:45:04,390 Bu biz ehtiyac daha çox gizli, əlbəttə problem üçün yeddi seçin. 968 00:45:04,390 --> 00:45:06,920 Mənim cari olaraq, uşaqlar istifadə InnoDB deyilən bir şey. 969 00:45:06,920 --> 00:45:10,910 Siz bu yerə qeyd görəcəksiniz phpMyAdmin interface çox güman ki. 970 00:45:10,910 --> 00:45:14,130 Amma digər dizayn var bilirik ki, potensial var ki, qərarlar 971 00:45:14,130 --> 00:45:18,030 faiz final layihələr gəlmək əgər Siz web-based bir şey yoxdur. 972 00:45:18,030 --> 00:45:19,330 >> Amma bunu edək. 973 00:45:19,330 --> 00:45:23,130 Nin irəli getmək və bu qoymaq edək bir hekayə üçün bir iltifat kimi ekran 974 00:45:23,130 --> 00:45:26,330 sizə cəlb bir roommate, və süd bir şüşə. 975 00:45:26,330 --> 00:45:28,240 Bir iki dəqiqə edək və ya belə ki, burada pozub. 976 00:45:28,240 --> 00:45:31,060 Siz ətrafında qalmaq bilər, əgər nin gəlsin geri, SQL bir az daha baxmaq, və 977 00:45:31,060 --> 00:45:35,160 sonra JavaScript bir az p-set nəzərə səkkiz. 978 00:45:35,160 --> 00:45:36,120 >> Bütün hüquqlar. 979 00:45:36,120 --> 00:45:40,420 Belə ki, siz bir haqqında düşünür olsun çox asanlıqla yarana bilər ki, künc halda 980 00:45:40,420 --> 00:45:44,240 bir verilənlər bazası istifadə edərək, və ya kontekstində səmimi, hətta real dünya şeyi istifadə 981 00:45:44,240 --> 00:45:46,280 ATM pul almaq kimi. 982 00:45:46,280 --> 00:45:47,640 Belə ki, burada bir soyuducu var. 983 00:45:47,640 --> 00:45:50,040 Siz də bir var Güman yurt və ya ev. 984 00:45:50,040 --> 00:45:54,990 Və bir roommate, və həm də var Siz, həqiqətən, məsələn, süd kimi. 985 00:45:54,990 --> 00:45:57,210 >> Belə ki, bir gün sinif evə gəlib. 986 00:45:57,210 --> 00:45:58,490 O hələ geri deyil. 987 00:45:58,490 --> 00:45:59,180 Siz soyuducu açmaq. 988 00:45:59,180 --> 00:46:00,870 Siz, həqiqətən, süd böyük bir şüşə istəyirəm. 989 00:46:00,870 --> 00:46:01,820 Süd var. 990 00:46:01,820 --> 00:46:02,920 Beləliklə, siz nə edirsiniz? 991 00:46:02,920 --> 00:46:03,840 Siz soyuducu bağlayın. 992 00:46:03,840 --> 00:46:04,670 Siz açarları grab. 993 00:46:04,670 --> 00:46:05,930 Siz kvadrat çıxmaq. 994 00:46:05,930 --> 00:46:09,240 Və o da CVS line almaq self checkout şeylər həmişə 995 00:46:09,240 --> 00:46:11,180 artıq həqiqətən çox almaq cashiers olan. 996 00:46:11,180 --> 00:46:11,820 Afərin. 997 00:46:11,820 --> 00:46:15,490 >> Beləliklə, eyni zamanda, dot dot dot roommate ev gəlir və o 998 00:46:15,490 --> 00:46:17,440 eyni bir həsrət var bəzi süd üçün. 999 00:46:17,440 --> 00:46:20,380 Belə ki, o, soyuducu açır daxili görünür, və oh, lənətləmək. 1000 00:46:20,380 --> 00:46:21,160 No süd. 1001 00:46:21,160 --> 00:46:24,750 Belə ki, o rəhbərlik, getmək olur yalnız olan digər CVS, bir 1002 00:46:24,750 --> 00:46:27,900 nədənsə üz blok və o, və ya o, bəzi süd almaq line olur. 1003 00:46:27,900 --> 00:46:30,480 >> Eyni zamanda, o, ev gəlmək və ya o ev gəlir, və nə 1004 00:46:30,480 --> 00:46:31,980 Əgər son nəticədə var? 1005 00:46:31,980 --> 00:46:33,080 Iki dəfə çox süd. 1006 00:46:33,080 --> 00:46:34,620 Amma həqiqətən kimi deyil süd qədər. 1007 00:46:34,620 --> 00:46:37,300 Belə ki, indi ki, indi çox süd var onlardan biri yalnız turş getmək üçün gedir 1008 00:46:37,300 --> 00:46:37,820 nəticədə. 1009 00:46:37,820 --> 00:46:39,370 Belə ki, bu, həqiqətən, pis problem deyil. 1010 00:46:39,370 --> 00:46:39,900 Sağ? 1011 00:46:39,900 --> 00:46:41,990 >> Belə ki, nə baş verib? 1012 00:46:41,990 --> 00:46:44,810 Belə ki, əsaslı, bu cür bir gülünc Məsələn. 1013 00:46:44,810 --> 00:46:48,580 Amma başlıq altında, biz nə etdik burada baş sizin, həm də yoxlanılır edir 1014 00:46:48,580 --> 00:46:52,390 bəzi parça dövlət yaddaş, soyuducu. 1015 00:46:52,390 --> 00:46:54,420 Siz həm dövlət yoxlanılır bəzi dəyişən. 1016 00:46:54,420 --> 00:46:57,360 Siz də bir nəticəyə çəkdi Əgər çıxış etdi. 1017 00:46:57,360 --> 00:47:01,420 Amma təəssüf ki, zamanı roommate mağaza idi ki, dövlət 1018 00:47:01,420 --> 00:47:05,670 dəyişən dəyişib, o geri gəldi və indi dövləti dəyişdirmək istəyir, lakin 1019 00:47:05,670 --> 00:47:07,480 Artıq dəyişib edilmişdir onun haqqında. 1020 00:47:07,480 --> 00:47:11,120 Və əlbəttə, o olmazdı onlar bilirdi əgər mağaza getdi 1021 00:47:11,120 --> 00:47:13,010 Siz marşrutu en artıq idi ki,. 1022 00:47:13,010 --> 00:47:16,430 >> Belə ki, real dünyada, necə ola bilər Siz fərz etsək, bu problemin qarşısını almaq 1023 00:47:16,430 --> 00:47:18,940 soyuducu, bir roommate var, və həqiqətən süd istəyirsiniz? 1024 00:47:18,940 --> 00:47:19,760 >> Auditoriya: bildirilməsi. 1025 00:47:19,760 --> 00:47:20,580 >> DAVID MALAN: bildirilməsi. 1026 00:47:20,580 --> 00:47:21,160 OK. 1027 00:47:21,160 --> 00:47:22,500 Amma necə ünsiyyət bilər? 1028 00:47:22,500 --> 00:47:23,990 >> Auditoriya: qeydi buraxın. 1029 00:47:23,990 --> 00:47:25,480 >> DAVID MALAN: sağ, qeydi buraxın? 1030 00:47:25,480 --> 00:47:28,025 Həmişə, qeyd tərk şou pərəstişkarları. 1031 00:47:28,025 --> 00:47:31,580 Bütün hüquqlar, belə ki, həmişə bir qeyd buraxın, və ya bir asma kilit və ya bir şey kimi həqiqətən qoymaq 1032 00:47:31,580 --> 00:47:35,440 sizin saxlayır ki, soyuducu dövlət yoxladıqdan dən roommate 1033 00:47:35,440 --> 00:47:36,540 ki, dəyişən. 1034 00:47:36,540 --> 00:47:40,800 >> İndi niyə bu ilgili ola bilər problem yeddi, ya ATM müəyyən. 1035 00:47:40,800 --> 00:47:46,780 Bəli, ATM bir dünya təsəvvür yerləşir Bir ATM qədər getmək mümkün ola bilər 1036 00:47:46,780 --> 00:47:48,920 burada maşın və burada başqa ATM. 1037 00:47:48,920 --> 00:47:50,680 Və bu tez-tez baş verir. 1038 00:47:50,680 --> 00:47:54,150 Və, iki ATM kartlar idi Güman olan əldə etmək mümkündür. 1039 00:47:54,150 --> 00:47:57,420 Siz həm maşın daxil səmərəli eyni zamanda, inşallah 1040 00:47:57,420 --> 00:47:58,660 heç bir axtarır isə. 1041 00:47:58,660 --> 00:48:01,260 Və sonra sizin PİN yazın təxminən eyni zamanda. 1042 00:48:01,260 --> 00:48:06,280 Və sonra bir balans sorğu etmək siz nə qədər pul görmək. 1043 00:48:06,280 --> 00:48:08,920 Və siz $ 100 var deyirlər hesabınıza sol. 1044 00:48:08,920 --> 00:48:13,310 Belə ki, mahiyyətcə eyni zamanda, siz daxil, bir sıfır, sıfır demək. 1045 00:48:13,310 --> 00:48:16,000 Siz inşallah bir pulu geri almaq. 1046 00:48:16,000 --> 00:48:18,440 >> Amma nə qədər pul geri almaq bilər? 1047 00:48:18,440 --> 00:48:21,710 İndi gün sonunda kompüter, onlar söhbət etdiyiniz xüsusilə əgər 1048 00:48:21,710 --> 00:48:27,360 server, mütləq şeylər yoxdur qaydada gözlənilir. 1049 00:48:27,360 --> 00:48:30,860 >> Belə ki, çünki, nə güman orada nə şəbəkə sürətli məsələlər 1050 00:48:30,860 --> 00:48:34,530 , və ya CPU məsələlər var, və ya kimi bir şey, güman ki, 1051 00:48:34,530 --> 00:48:38,530 ilk ATM sizin balans və yoxlayır oh, bu şəxs $ 100 var, görür. 1052 00:48:38,530 --> 00:48:41,840 Amma sonra çevirirsən olur, çünki bəlkə bir backup baş verir və belə ki, 1053 00:48:41,840 --> 00:48:42,500 aşağı yavaşlatan. 1054 00:48:42,500 --> 00:48:45,080 Və ya bəlkə, şəbəkə yoxlanılması isə əlaqə bir az yavaş, çünki var 1055 00:48:45,080 --> 00:48:45,910 bu, yalnız baş verir. 1056 00:48:45,910 --> 00:48:47,100 Onlar fiziki cihazlar edirik. 1057 00:48:47,100 --> 00:48:49,330 Belə ki, eyni zamanda, ikinci ATM edir eyni sualı. 1058 00:48:49,330 --> 00:48:53,030 David nə qədər pul var? $ 100 cavabdır. 1059 00:48:53,030 --> 00:48:58,930 Amma ilk ATM hələ var, çünki Mesaj həm 100 $ çıxmaq göndərdi 1060 00:48:58,930 --> 00:49:03,000 Bankomat bankın kassasında tanış var, indi $ 100 var, və görən 1061 00:49:03,000 --> 00:49:07,160 həm maşın potensial var bir cavab tüpürmək gedir. 1062 00:49:07,160 --> 00:49:12,240 >> İndi bu, bəzi mənada sizin üçün böyük bank nəticədə nə əgər 1063 00:49:12,240 --> 00:49:17,200 tərəfindən minus 100 məbləği dəyişdirmək üçün dəyişən bərabər yaradılması Sizin 1064 00:49:17,200 --> 00:49:21,570 fərqli olaraq bank, 0-a bərabər hesab 100 minus bunu. 1065 00:49:21,570 --> 00:49:24,410 İndi bank üçün ən pis halda - 1066 00:49:24,410 --> 00:49:27,470 və ya bank üçün ən yaxşı, eyni zamanda, onlar $ 200 vermək, və 1067 00:49:27,470 --> 00:49:31,690 Sizin bank hesabı indi mənfi göstərir Həqiqətən deyil olan $ 100, 1068 00:49:31,690 --> 00:49:32,950 bütün sizə fayda. 1069 00:49:32,950 --> 00:49:36,500 Amma point ki, bu irqi əldə iki roommates üçün şərt 1070 00:49:36,500 --> 00:49:40,660 süd, və ya pul almaq üçün çalışırıq iki ATM və vault dövlət dəyişdirmək 1071 00:49:40,660 --> 00:49:44,510 eyni zamanda mövcud bir bir verilənlər bazası var zaman. 1072 00:49:44,510 --> 00:49:48,290 >> İndi problem, bu məsələ yeddi müəyyən mənada yaranır ki, bir almaq əgər 1073 00:49:48,290 --> 00:49:52,110 Facebook fond payı, və sonra üçün Siz ikinci pay almaq instansiya 1074 00:49:52,110 --> 00:49:55,160 Facebook fond, etmək lazımdır proqramçı kimi bir qərar. 1075 00:49:55,160 --> 00:49:58,710 Yeniləmək üçün necə qərar üçün verilənlər bazası, bahis siz olacaq edir 1076 00:49:58,710 --> 00:50:02,250 bir ki, fond üçün sıra və bu var Onu həyata keçirmək üçün bir yoldur. 1077 00:50:02,250 --> 00:50:06,640 Və bir payı olacaq Onların fond ticker simvolu olan FB, 1078 00:50:06,640 --> 00:50:10,120 Bu istifadəçi adı və ya bu istifadəçi üçün ID, unikal identifikator. 1079 00:50:10,120 --> 00:50:12,340 >> Amma eyni hekayə burada baş verə bilər. 1080 00:50:12,340 --> 00:50:15,800 Siz görəcəksiniz kimi, SQL bir SELECT varsa problem görmək zaman, yeddi qurmaq, 1081 00:50:15,800 --> 00:50:18,460 oh, David bir payı var Facebook fond. 1082 00:50:18,460 --> 00:50:23,240 İndi bu iki səhmlər dəyişdirmək imkan, o almaq istəyir, çünki bir 1083 00:50:23,240 --> 00:50:24,120 ikinci payı. 1084 00:50:24,120 --> 00:50:27,860 Amma David həqiqətən iki idi Güman brauzer pəncərələrini açıq, və ya güman ki, 1085 00:50:27,860 --> 00:50:32,150 iki həyat yoldaşları ilə birgə hesab var, və onların hər ikisi yerinə yetirmək üçün çalışırıq 1086 00:50:32,150 --> 00:50:36,770 Eyni əməliyyat, orada da, potensial olmaq qərarı mövcud 1087 00:50:36,770 --> 00:50:39,670 Əvvəlki əsasında qəbul Dünyanın dövlət - 1088 00:50:39,670 --> 00:50:41,290 hesab bir payı var - 1089 00:50:41,290 --> 00:50:45,630 indi və həm insanların, və ya hər ikisi server, iki səhmlər arttırmayı demək üçün cəhd edin. 1090 00:50:45,630 --> 00:50:49,020 Amma bu halda, həvalə edə bilər Mənə həm səhmlərin pul, lakin 1091 00:50:49,020 --> 00:50:50,830 yalnız bir dəfə artırılacağını. 1092 00:50:50,830 --> 00:50:54,730 >> Belə ki, qısa, əsas problem burada, zarafat kimi bir tərk haqqında 1093 00:50:54,730 --> 00:50:58,750 Qeyd edək ki, və ya bir asma kilit qoyaraq, edir əgər iki nəfər və ya iki mövzuları - 1094 00:50:58,750 --> 00:50:59,930 danışıq geri edirəm - 1095 00:50:59,930 --> 00:51:03,220 bəzi dəyişən dövlət yoxlayacaq bilər və sonra dəyişən dəyişdirmək üçün cəhd edin, 1096 00:51:03,220 --> 00:51:07,950 lakin bu iki şeyi baş yoxdur Eyni zamanda, lakin müdaxilə almaq bilər 1097 00:51:07,950 --> 00:51:11,500 məlumatlar, baş verən digər şeyi çox qəribə dövlət almaq. 1098 00:51:11,500 --> 00:51:15,450 Və faydalana bilər və ya əziyyət bilər pul Məsələn mənada. 1099 00:51:15,450 --> 00:51:18,110 >> Belə ki, problem yeddi müəyyən, sizə vermək kod bu bir xətt, uzun olan 1100 00:51:18,110 --> 00:51:21,000 hekayə qısa, bu həll edir MySQL problem. 1101 00:51:21,000 --> 00:51:24,950 Deyil ki, bu çox uzun təlimat hətta bir xətt üzərində uyğun 1102 00:51:24,950 --> 00:51:30,370 burada ekran təmin edir ki, əməliyyat atom adlı budur. 1103 00:51:30,370 --> 00:51:33,720 Bu, bütün bir dəfə olur, və ya Bu bütün baş vermir. 1104 00:51:33,720 --> 00:51:37,530 Bu, çox uzun söz ola bilməz qismən müdaxilə almaq. 1105 00:51:37,530 --> 00:51:39,840 >> Və bu nə sözün deyil nə deyir. 1106 00:51:39,840 --> 00:51:44,200 Bəzi masa aşağıdakı daxil edin üç sahələri həmin xüsusi dəyərlər, 1107 00:51:44,200 --> 00:51:47,280 lakin cüt düyməsi, insert yoxdur. 1108 00:51:47,280 --> 00:51:48,280 Bir yeniləmə etməyin. 1109 00:51:48,280 --> 00:51:52,450 Belə ki, bu SELECT və bunu kimi Eyni zamanda danışmaq belə INSERT. 1110 00:51:52,450 --> 00:51:55,150 Və yəqin ki, var ki, əsas nə burada sövq? 1111 00:51:55,150 --> 00:51:58,300 1112 00:51:58,300 --> 00:52:01,380 >> Bu çıxır, və siz bu görəcəksiniz problem, yeddi spec müəyyən çünki 1113 00:52:01,380 --> 00:52:06,040 biz unikal əsas var elan etdik bu masa, belə ki, 1114 00:52:06,040 --> 00:52:08,480 Bir neçə satır ola bilməz ilə eyni istifadəçi üçün 1115 00:52:08,480 --> 00:52:10,150 Eyni quruş fond simvolu - 1116 00:52:10,150 --> 00:52:13,780 burada bu nümunə, DVN.V edir bir silly quruş fond ki, biz 1117 00:52:13,780 --> 00:52:14,980 spec baxın. 1118 00:52:14,980 --> 00:52:17,860 , Biz bu unikal elan etdik çünki nə bu o deməkdir ki, siz əgər 1119 00:52:17,860 --> 00:52:23,580 bir cüt sıra daxil etmək üçün cəhd edin, siz əvəzinə olmadan yeniləmə gedir 1120 00:52:23,580 --> 00:52:27,020 başqa hər kəs dəyişdirmək imkanı olan ya dünyanın dövlət. 1121 00:52:27,020 --> 00:52:29,400 Belə ki, qısa, bu təmin edir şeylər atom var. 1122 00:52:29,400 --> 00:52:32,530 >> Ümumiyyətlə, baxmayaraq ki, verilənlər bazası MySQL kimi - 1123 00:52:32,530 --> 00:52:35,460 və sizin üçün bu xüsusiyyət lazım deyil yeddi p-set, lakin yadda saxlamaq 1124 00:52:35,460 --> 00:52:36,200 gələcək - 1125 00:52:36,200 --> 00:52:38,870 əməliyyatlar adlanır nə dəstək, siz deyə bilərsiniz 1126 00:52:38,870 --> 00:52:40,990 Sözün əməliyyat başlamaq. 1127 00:52:40,990 --> 00:52:43,270 Daha sonra icra edə bilər iki SQL hesabatları. 1128 00:52:43,270 --> 00:52:45,710 Siz görəcəksiniz və bir SQL şərhdə, p-müəyyən yeddi, bir az görünür ilə 1129 00:52:45,710 --> 00:52:46,750 bu kimi bir şey. 1130 00:52:46,750 --> 00:52:48,820 Bir masa adlanır hesabı güncelleyin. 1131 00:52:48,820 --> 00:52:52,550 Nə bərabər balans sütunu balans sütun hazırda 1132 00:52:52,550 --> 00:52:57,280 1000 minus olduğu sayı, istifadəçi ID kimi hesab nömrəsi, 1133 00:52:57,280 --> 00:53:00,830 2 bərabərdir, və sonra yeniləmə hesab dot dot dot. 1134 00:53:00,830 --> 00:53:04,350 >> Belə ki, layman nin baxımından, nə yoxdur bu iki sorgular etdiyini görünür 1135 00:53:04,350 --> 00:53:05,840 bank real dünya mənada? 1136 00:53:05,840 --> 00:53:07,440 >> Auditoriya: qənaət ötürülməsi. 1137 00:53:07,440 --> 00:53:08,020 >> DAVID MALAN: Exactly. 1138 00:53:08,020 --> 00:53:10,470 Birinə vəsait köçürülməsi digər hesabı. 1139 00:53:10,470 --> 00:53:14,400 Bu başqa bir misal olduğu həqiqətən bu iki şeylər istəyirəm 1140 00:53:14,400 --> 00:53:15,570 və ya baş deyil. 1141 00:53:15,570 --> 00:53:18,880 Siz bir şey almaq istəmirəm Onların orta və potensial mess up 1142 00:53:18,880 --> 00:53:22,220 riyaziyyat, və ya mess up nə qədər Siz pul, və ya nə qədər 1143 00:53:22,220 --> 00:53:23,170 pul bank var. 1144 00:53:23,170 --> 00:53:26,890 Belə ki, nə əməliyyatlar haqqında həqiqətən gözəl MySQL ki, və 1145 00:53:26,890 --> 00:53:30,160 ümumiyyətlə verilənlər bazası, ki, onlar və həyata etdik etmiş ağıllı insanlar 1146 00:53:30,160 --> 00:53:33,670 bu funksiyalar etmək üçün necə anlamaq o şeyi də baş əmin 1147 00:53:33,670 --> 00:53:35,120 və ya bütün. 1148 00:53:35,120 --> 00:53:38,580 >> Və həqiqətən etmək istəyən əgər insanların istifadə etdiyi bir web 1149 00:53:38,580 --> 00:53:41,490 kampus, real dünyada insanlar, bunu başlanğıc mənada bir şey, 1150 00:53:41,490 --> 00:53:43,300 bu növ var dizayn qərarları ki, 1151 00:53:43,300 --> 00:53:45,020 heç belə əhəmiyyətli olacaq. 1152 00:53:45,020 --> 00:53:48,240 Əks halda, siz itirmək, data itirmək başlamaq istifadəçilər, və ya ən pis halda 1153 00:53:48,240 --> 00:53:51,800 biz potensial, burada gördük pul itirmək. 1154 00:53:51,800 --> 00:53:56,180 Belə ki, yenə, çox problemi müəyyən yeddi, eləcə də bəlkə bəzi 1155 00:53:56,180 --> 00:53:57,530 son layihələr siz. 1156 00:53:57,530 --> 00:54:01,870 >> Belə ki, biz ki, şəkil dəyişdirmək imkan yalnız daha bir şəkildə bir an əvvəl. 1157 00:54:01,870 --> 00:54:04,070 Mən əgər mənə, həqiqətən, görək - 1158 00:54:04,070 --> 00:54:06,030 nope ki, getdi. 1159 00:54:06,030 --> 00:54:06,690 Orada deyil. 1160 00:54:06,690 --> 00:54:09,020 >> Biz keçən dəfə sol harada, belə deyil. 1161 00:54:09,020 --> 00:54:12,390 Və biz silkələmək olacaq çıxır burada mix daha bir şey - 1162 00:54:12,390 --> 00:54:14,510 JavaScript adlı dil. 1163 00:54:14,510 --> 00:54:18,060 Belə JavaScript həqiqətən uyğun Bu parça daxil - 1164 00:54:18,060 --> 00:54:22,086 və mən kifayət qədər otaq buraxmadı, bu miqyaslı indi deyil. 1165 00:54:22,086 --> 00:54:23,900 OK, bu, həqiqətən riqqətli edir. 1166 00:54:23,900 --> 00:54:27,075 OK, belə ki, JavaScript var. 1167 00:54:27,075 --> 00:54:27,340 Bütün hüquqlar. 1168 00:54:27,340 --> 00:54:28,760 Mən, həqiqətən, bir zarar edirəm. 1169 00:54:28,760 --> 00:54:29,390 Bütün hüquqlar. 1170 00:54:29,390 --> 00:54:34,790 >> Belə JavaScript başqa proqramlaşdırma dil və bizim son ki, kömək edir 1171 00:54:34,790 --> 00:54:37,770 daha yoxdur ki, sakitləşdirmək burada yanğın hydrants. 1172 00:54:37,770 --> 00:54:41,100 Belə JavaScript də şərh edir Siz nə deməkdir dil, 1173 00:54:41,100 --> 00:54:42,670 adet sıfır və olanları onu tərtib. 1174 00:54:42,670 --> 00:54:43,690 Siz yalnız run. 1175 00:54:43,690 --> 00:54:47,680 Amma nə ilə əsaslı fərqli JavaScript adətən siz ki, 1176 00:54:47,680 --> 00:54:49,815 web server run yoxdur. 1177 00:54:49,815 --> 00:54:52,570 Bu run almaq deyil cihaz başına se. 1178 00:54:52,570 --> 00:54:57,490 Əksinə, bir istifadəçi tərəfindən nazil olur öz browser daxil HTTP via - 1179 00:54:57,490 --> 00:55:00,260 Chrome, Safari, Internet Explorer, Firefox, nə - 1180 00:55:00,260 --> 00:55:03,860 və bu həyata ki, brauzer var xüsusi proqramlaşdırma dili. 1181 00:55:03,860 --> 00:55:08,000 >> Belə ki, aydın olmaq üçün, PHP günə qədər olmuşdur command line at ya icra 1182 00:55:08,000 --> 00:55:11,290 bir server qara və ağ şüşəqaldıran, Aracın, kompüter kimi 1183 00:55:11,290 --> 00:55:14,490 cihaz istəyirəm, və ya bu oldu bir web server tərəfindən icra 1184 00:55:14,490 --> 00:55:15,860 bir kompüter çalışan. 1185 00:55:15,860 --> 00:55:20,490 Amma burada mövzu bu günə qədər ki, PHP edir server-yan icra, belə edilmişdir 1186 00:55:20,490 --> 00:55:24,820 istifadəçi və istifadəçi browser PHP kodu bir line görür heç vaxt. 1187 00:55:24,820 --> 00:55:28,530 >> Əslində, heç bir brauzeri açmaq əgər Sizin veb və ya başqa və siz 1188 00:55:28,530 --> 00:55:32,400 həqiqətən, sizin pəncərə PHP kodu görmək, kimsə up yivli edib. 1189 00:55:32,400 --> 00:55:34,950 Bu üçün nəzərdə deyil, çünki birbaşa brauzerinizin göndərildi. 1190 00:55:34,950 --> 00:55:38,150 Bu edam çevirdi üçün nəzərdə HTML kimi bir şey. 1191 00:55:38,150 --> 00:55:40,120 >> Amma JavaScript mahiyyətcə qarşı. 1192 00:55:40,120 --> 00:55:44,350 Bu adətən daxilində çalıştırmak üçün nəzərdə edir bir istifadəçi browser pəncərə. 1193 00:55:44,350 --> 00:55:46,840 Və saytlarda nə cür istifadə JavaScript sonra bu gün? 1194 00:55:46,840 --> 00:55:49,640 1195 00:55:49,640 --> 00:55:52,180 >> Sözün hər məşhur veb kimi. 1196 00:55:52,180 --> 00:55:55,430 Hər haqqinda siz uşaqlar yəqin ki, üçün JavaScript istifadə gündəlik istifadə 1197 00:55:55,430 --> 00:55:57,330 sadə və hətta sexiest xüsusiyyətləri. 1198 00:55:57,330 --> 00:55:59,800 >> Belə ki, Facebook kimi bir şey Ki, siz istifadə əgər söhbət. 1199 00:55:59,800 --> 00:56:01,040 Necə ki, həqiqətən işləyir? 1200 00:56:01,040 --> 00:56:05,090 Yaxşı günə qədər, işçilərinin bütün biz var HTML ilə aparılır və PHP ki, nəzərdə tutur 1201 00:56:05,090 --> 00:56:08,750 , bir URL qoparmaq, və hit daxil edin və bəzi HTML content. 1202 00:56:08,750 --> 00:56:11,970 Və siz dəyişikliklər linki basın URL, səhifə dəyişir və yenidən 1203 00:56:11,970 --> 00:56:12,740 bəzi yeni məzmun. 1204 00:56:12,740 --> 00:56:16,340 Başqa URL basın və ya bir formada təqdim başqa səhifəyə whisked almaq 1205 00:56:16,340 --> 00:56:17,420 Siz yeni məzmun görmək. 1206 00:56:17,420 --> 00:56:22,710 >> Amma Facebook Chat kimi bir şey istifadə edərək, və ya Gchat, və ya Google Maps, nadir hallarda 1207 00:56:22,710 --> 00:56:27,350 bütün səhifə belə ki, təravətləndirir an bir ağ ekran görmək və 1208 00:56:27,350 --> 00:56:28,470 sonra yeni məzmun. 1209 00:56:28,470 --> 00:56:32,610 Əksinə, web pages bu gün dinamik var yenidən yenilənir və əldə 1210 00:56:32,610 --> 00:56:35,570 təkrar bütün sort pərdə arxasında edir. 1211 00:56:35,570 --> 00:56:38,560 Və çıxır siz getmək zaman ki, Facebook kimi bir şey, və ya Gchat, 1212 00:56:38,560 --> 00:56:43,050 və ya Gmail və saytın yenilikləri avtomatik olaraq yeniden olmadan 1213 00:56:43,050 --> 00:56:47,630 bütün ekran, nə baş ki, Brauzerinizin cür gizli və etdi 1214 00:56:47,630 --> 00:56:49,410 əlavə HTTP istekleri - 1215 00:56:49,410 --> 00:56:52,740 deyil, bütün web pages, həm yalnız kimi məlumatların kiçik chunks, 1216 00:56:52,740 --> 00:56:55,740 ani mesaj sizin dost yalnız Siz və ya statusu yeniləmə ki göndərib 1217 00:56:55,740 --> 00:56:58,210 kimsə yalnız siz və ya tweet göndərdi ki, kimsə yalnız göndərdi. 1218 00:56:58,210 --> 00:57:02,120 Bu, sadəcə kiçik sorğu edilməsi oldu məlumat və sonra JavaScript istifadə edərək, bu 1219 00:57:02,120 --> 00:57:06,370 dəyişdirmək, dil proqramlaşdırma nə web page olmadan kimi görünür 1220 00:57:06,370 --> 00:57:09,860 server server olmadan yardım HTML yaradan. 1221 00:57:09,860 --> 00:57:13,820 >> Belə ki, qısa, JavaScript sonra istifadə edilə bilər yalnız yeni məlumatlar almaq deyil 1222 00:57:13,820 --> 00:57:16,750 bütövlükdə yeniden olmadan server səhifə və ya formu göndererek. 1223 00:57:16,750 --> 00:57:20,060 O, həmçinin dəyişdirmək üçün istifadə edilə bilər sözdə DOM - 1224 00:57:20,060 --> 00:57:21,520 sənəd obyekt modeli - 1225 00:57:21,520 --> 00:57:24,620 olan yalnız xülya yoludur HTML ağac deyərkən 1226 00:57:24,620 --> 00:57:26,220 biz sonuncu dəfə gördüm ki. 1227 00:57:26,220 --> 00:57:31,640 >> Belə ki sakitləşdirmək üçün JavaScript edir syntactically belə C oxşar həmçinin. 1228 00:57:31,640 --> 00:57:32,820 Heç bir əsas funksiyası var. 1229 00:57:32,820 --> 00:57:35,430 Siz yalnız kodu yazmağa başlayın və bu icra və ya almaq 1230 00:57:35,430 --> 00:57:36,900 daha düzgün şərh. 1231 00:57:36,900 --> 00:57:38,660 Conditions bu kimi görünür. 1232 00:57:38,660 --> 00:57:41,230 No C fərqli və ya Ki, məsələ PHP. 1233 00:57:41,230 --> 00:57:43,890 Boolean ifadələr və ya-ed birlikdə bu kimi görünür. 1234 00:57:43,890 --> 00:57:45,590 Birlikdə bu kimi baxmaq Anded. 1235 00:57:45,590 --> 00:57:47,750 >> Switches bu kimi görünür. 1236 00:57:47,750 --> 00:57:49,440 Loops bu kimi baxmaq edəcək. 1237 00:57:49,440 --> 00:57:51,060 Loops bu kimi görünür baxmayaraq. 1238 00:57:51,060 --> 00:57:53,316 Loops bu kimi baxmaq edəcək etməyin. 1239 00:57:53,316 --> 00:57:54,780 >> Bu yeni deyil. 1240 00:57:54,780 --> 00:57:58,753 Belə JavaScript bir foreach var per se tikintisi, lakin bu tikintisi 1241 00:57:58,753 --> 00:58:03,870 Bu dəyişən sıra i və i üçün halda bir indeks dəyəri olur. 1242 00:58:03,870 --> 00:58:06,880 Belə ki, bir az fərqli foreach baxmayaraq yeni versiyaları 1243 00:58:06,880 --> 00:58:10,280 JavaScript, hər zaman həyata gəlir belə ki, hətta bu dil xüsusiyyətləri 1244 00:58:10,280 --> 00:58:10,880 inkişaf edir. 1245 00:58:10,880 --> 00:58:16,920 >> Və bir kənara, JavaScript, bu gün də yalnız kimi bir server istifadə edilə bilər 1246 00:58:16,920 --> 00:58:19,920 PHP Node.js. adlı çərçivəsində istifadə 1247 00:58:19,920 --> 00:58:24,670 CS50 nin TFS biri Kevin, rəhbərlik etdi mövcud ki Node.js mövzusunda seminar 1248 00:58:24,670 --> 00:58:26,440 cs50.net/seminars. 1249 00:58:26,440 --> 00:58:28,830 Siz maraqlı olduğunuz Belə ki, bilirik ki, siz kimi server tərəfində istifadə edə bilərsiniz 1250 00:58:28,830 --> 00:58:33,870 yaxşı, lakin, kifayət qədər son trend var ancaq ki, bir güclü biridir. 1251 00:58:33,870 --> 00:58:35,270 >> Bu, bir az fərqlidir. 1252 00:58:35,270 --> 00:58:37,910 Bu JavaScript bir sıra edir. 1253 00:58:37,910 --> 00:58:40,115 Və müxtəlif nə çəkir C və ya PHP qarşı? 1254 00:58:40,115 --> 00:58:43,890 1255 00:58:43,890 --> 00:58:47,420 Bir neçə sürətli hekayələr var biz burada deyə bilərsiniz. 1256 00:58:47,420 --> 00:58:49,367 Nə PHP qarşı itkin var? 1257 00:58:49,367 --> 00:58:51,652 >> Auditoriya: [işitilemez]. 1258 00:58:51,652 --> 00:58:52,110 >> DAVID Malan: Var? 1259 00:58:52,110 --> 00:58:53,322 Bağışlayın, ancaq, yenə də demək? 1260 00:58:53,322 --> 00:58:54,740 >> Auditoriya: elan deyil dəyişən növü. 1261 00:58:54,740 --> 00:58:56,390 >> DAVID Malan: Biz bəyan deyilik dəyişən növü. 1262 00:58:56,390 --> 00:58:59,630 Belə ki, həqiqətən, çox PHP kimi, biz deyilik Bu dəyişən növləri ifadə. 1263 00:58:59,630 --> 00:59:02,670 Əksinə, biz daha ümumi olaraq istəyirik dəyişən üçün var edib. 1264 00:59:02,670 --> 00:59:06,690 Biz PHP-nin narahatlıq yoxdur dollar işarə edən isə yorucu 1265 00:59:06,690 --> 00:59:09,160 növü, daha aydın edir ki, bir şey dəyişən deyil. 1266 00:59:09,160 --> 00:59:11,830 Burada Halbuki, biz növ geri döndük Yalnız zəng C yanaşması 1267 00:59:11,830 --> 00:59:14,500 Biz istəyirik ki, adı ilə dəyişən ədəd kimi, bu vermək. 1268 00:59:14,500 --> 00:59:17,170 Və həmçinin PHP kimi, biz üçün kvadrat mötərizədə 1269 00:59:17,170 --> 00:59:19,170 ki, serialın içərisində dəyərlər. 1270 00:59:19,170 --> 00:59:22,490 >> JavaScript belə dəyişənlərin də Bu kimi baxmaq bilər. 1271 00:59:22,490 --> 00:59:26,900 Bu s adlı simli burada qeyd lakin eyni biz müəyyən deyil 1272 00:59:26,900 --> 00:59:28,750 bir simli var. 1273 00:59:28,750 --> 00:59:33,160 Burada baxmayaraq olmayan bir xüsusiyyətdir PHP eyni şəkildə mövcud 1274 00:59:33,160 --> 00:59:34,460 lakin bir az eyni. 1275 00:59:34,460 --> 00:59:36,530 Bu JavaScript bir obyekt deyil. 1276 00:59:36,530 --> 00:59:42,110 Və obyektlər İsveçrə ordusu növ var Məlumat strukturunun bıçaq ki, siz 1277 00:59:42,110 --> 00:59:43,900 şeyi hər hansı bir sıra istifadə edə bilərsiniz. 1278 00:59:43,900 --> 00:59:46,860 >> Burada, məsələn, biz bəyan edirik dəyişən quote çağırıb. 1279 00:59:46,860 --> 00:59:49,110 Dəyişən növü bir obyekt deyil. 1280 00:59:49,110 --> 00:59:53,550 Siz C struct kimi hesab edə bilər ki, düymələri və dəyərləri var. 1281 00:59:53,550 --> 00:59:55,250 Symbol bir açardır. 1282 00:59:55,250 --> 00:59:57,350 FB yəqin, bir dəyərdir bir fond rəmzidir. 1283 00:59:57,350 --> 00:59:57,930 Vergül. 1284 00:59:57,930 --> 01:00:02,180 Qiymət başqa əsas və onun dəyəri yəqin bir üzən point, və ya 1285 01:00:02,180 --> 01:00:06,510 ümumiyyətlə sayı $ 49,26 JavaScript. 1286 01:00:06,510 --> 01:00:09,030 >> Belə ki, PHP yoxdur - 1287 01:00:09,030 --> 01:00:12,980 olduqca PHP obyektlər görməmişik Bu kimi, lakin biz bir analog gördünüz, 1288 01:00:12,980 --> 01:00:14,093 nə idi? 1289 01:00:14,093 --> 01:00:14,980 >> Auditoriya: [işitilemez]. 1290 01:00:14,980 --> 01:00:16,110 >> DAVID Malan: Assosiativ Diziler. 1291 01:00:16,110 --> 01:00:19,990 PHP assosiativ Diziler vardır, halbuki onun sintaksis heç qədər belə deyil 1292 01:00:19,990 --> 01:00:20,370 müxtəlif - 1293 01:00:20,370 --> 01:00:21,780 biz kvadrat mötərizədə gördüm. 1294 01:00:21,780 --> 01:00:23,860 Biz qəribə okları simvol gördüm. 1295 01:00:23,860 --> 01:00:27,330 JavaScript obyektləri var, lakin bu əsasən semantik fərq və 1296 01:00:27,330 --> 01:00:29,260 İndi müxtəlif sinonimi. 1297 01:00:29,260 --> 01:00:35,060 Lakin, kənara kimi, PHP var ki, bir yol obyektlərin Java və digər 1298 01:00:35,060 --> 01:00:37,810 Dil obyektləri var obyekt-yönümlü proqramlaşdırma. 1299 01:00:37,810 --> 01:00:40,440 Lakin bu yalnız istifadə edəcəyik İndi məlumat növləri üçün. 1300 01:00:40,440 --> 01:00:42,170 Obyektləri və assosiativ seriallarda. 1301 01:00:42,170 --> 01:00:44,140 >> Bu biri ola bilər bir az daha aydın. 1302 01:00:44,140 --> 01:00:45,890 Bir obyekt faydalı niyə burada. 1303 01:00:45,890 --> 01:00:48,760 Bir tələbə bəyan etmək istədiyiniz zaman, Zamyla kimi, biz, həqiqətən bilər 1304 01:00:48,760 --> 01:00:52,630 ki, daxili danışmaq belə içine kimi buruq Mötərizədə istifadə object 1305 01:00:52,630 --> 01:00:55,060 düymələri bütün dəstə əvvəl burada və dəyərlər. 1306 01:00:55,060 --> 01:00:59,150 Biz ID, ev, və bir adı Bir nöqtəli vergül izlədi Zamyla, 1307 01:00:59,150 --> 01:01:00,690 sonunda adi. 1308 01:01:00,690 --> 01:01:04,840 >> Down burada da, bu bir az çoxdur, çox güclü, həmçinin, müxtəlif, lakin 1309 01:01:04,840 --> 01:01:05,690 bu gün. 1310 01:01:05,690 --> 01:01:08,780 Burada bir sıra var, və mən bilirəm ki, bir kvadrat mötərizə up var 1311 01:01:08,780 --> 01:01:11,090 üst və bir kvadrat mötərizə alt. 1312 01:01:11,090 --> 01:01:16,050 Bu nə data bir sıra edir JavaScript yəqin yazın? 1313 01:01:16,050 --> 01:01:21,260 Bu, görünür bir sıra edir üç obyektləri kimi. 1314 01:01:21,260 --> 01:01:24,580 Mən yalnız bir obyekt bilirik qıvrım aşırma çünki. 1315 01:01:24,580 --> 01:01:28,760 Və açıq buruq brace var qeyd bəzi stuff, yaxın buruq brace, vergül, 1316 01:01:28,760 --> 01:01:31,180 sonra bir daha, vergül, və sonra bir daha. 1317 01:01:31,180 --> 01:01:33,800 Belə ki, üç dəlilləri var iki vergüllə ayrılır. 1318 01:01:33,800 --> 01:01:36,810 >> Belə ki, bu üç obyektlərin bir sıra edir. 1319 01:01:36,810 --> 01:01:39,940 Və həmin obyektlərin hər görünür bəzi tələbə və ya personal 1320 01:01:39,940 --> 01:01:42,370 şəxsiyyət ilə sort, hər, ev, və adı. 1321 01:01:42,370 --> 01:01:45,060 Amma bu bir şey deyilən etdik JSON çağırıb - 1322 01:01:45,060 --> 01:01:47,450 JavaScript Obyekt Notation. 1323 01:01:47,450 --> 01:01:52,060 Və bu data format ki, həqiqətən belə çox məşhur və edir 1324 01:01:52,060 --> 01:01:55,100 vogue bu gün ki, bir yazmaq əgər Facebook istifadə edir ki proqram 1325 01:01:55,100 --> 01:01:59,150 API, Twitter API, həqiqətən, demək olar ki, orada hər hansı bir API bu gün, 1326 01:01:59,150 --> 01:02:02,820 CS50 öz bəzi, o cümlədən Əgər geri almaq data deyil 1327 01:02:02,820 --> 01:02:04,720 köhnə məktəb CSV format. 1328 01:02:04,720 --> 01:02:06,780 >> Geri Çünki ki, CSV super sadədir. 1329 01:02:06,780 --> 01:02:10,230 Bu yalnız sütun ayrılmış vergüllə. 1330 01:02:10,230 --> 01:02:13,190 JSON data daha çox metadata verir. 1331 01:02:13,190 --> 01:02:17,800 Bu hər dəyəri ilə əsas assosiasiya belə onlar yalnız güman yoxdur ki, 1332 01:02:17,800 --> 01:02:22,460 zeroth sütun bir dəyəri, sütun edir bir sütun iki başqa, başqa. 1333 01:02:22,460 --> 01:02:26,790 Burada JSON obyekt hər şey sort edir öz-özünə izah, çünki hər 1334 01:02:26,790 --> 01:02:30,940 Bu fayl adları bir sözün var kimi qarşısında adı 1335 01:02:30,940 --> 01:02:32,510 sitat string. 1336 01:02:32,510 --> 01:02:34,950 >> Belə ki, bir nəzər salaq burada nümunələri neçə. 1337 01:02:34,950 --> 01:02:36,800 Mənə cihaz daxil edək. 1338 01:02:36,800 --> 01:02:41,000 Və mənə bizim vhost daxil bildirin xalqın içinə directory. 1339 01:02:41,000 --> 01:02:45,590 Və mənə daxil bildirin JavaScript directory. 1340 01:02:45,590 --> 01:02:49,610 Və nin irəli getmək və açmaq bildirin DOM yalnız deməkdir dom-0.html, 1341 01:02:49,610 --> 01:02:51,010 sənəd obyekt model. 1342 01:02:51,010 --> 01:02:53,490 Bu, ağac məhsulları Mən daha əvvəl də ifadə. 1343 01:02:53,490 --> 01:02:54,950 >> Və mənə aşağıdakı təklif edək. 1344 01:02:54,950 --> 01:02:57,720 Burada elə bir web page var bədən olduqca sadədir. 1345 01:02:57,720 --> 01:03:00,170 Belə ki, aşağı burada altındakı, Mən bir forma var bildiriş. 1346 01:03:00,170 --> 01:03:01,500 Biz əvvəl gördük. 1347 01:03:01,500 --> 01:03:07,600 Bu olan biri iki giriş var Adı ID, biri bir növü vardır 1348 01:03:07,600 --> 01:03:09,830 təqdim və ilk bir növü mətn. 1349 01:03:09,830 --> 01:03:11,900 Belə ki, bu, həqiqətən, olduqca sadə səslənir. 1350 01:03:11,900 --> 01:03:13,090 >> Burada gedək. 1351 01:03:13,090 --> 01:03:15,390 Burada bu səhifəyə geri getmək edək. 1352 01:03:15,390 --> 01:03:21,030 Nin localhost daxil bildirin, və getmək JavaScript kataloq və getmək 1353 01:03:21,030 --> 01:03:24,640 burada dom-0, və biz bu formadadır. 1354 01:03:24,640 --> 01:03:26,550 Belə ki, yəqin var bütün bu səhifə yoxdur. 1355 01:03:26,550 --> 01:03:28,740 Ilə bir ad sahə var bir düyməsinə göndərin. 1356 01:03:28,740 --> 01:03:30,340 Amma burada PHP istifadə etmək niyyətində deyiləm. 1357 01:03:30,340 --> 01:03:34,310 Mən hər şey klient gedirəm aşağıdakı kimi belə JavaScript danışmaq. 1358 01:03:34,310 --> 01:03:39,100 >> Mən, həqiqətən, adı verilmişdir etdik ki, görürsünüz bu giriş sahəsində unikal 1359 01:03:39,100 --> 01:03:42,350 identifikator olan, həqiqətən bir anda mənə bir müddət saxlamaq. 1360 01:03:42,350 --> 01:03:45,480 Və mən bir tag təqdim etdik bilərsiniz Mənim web page başla 1361 01:03:45,480 --> 01:03:46,565  tag. 1362 01:03:46,565 --> 01:03:50,120 >> Belə ki, JavaScript ki, bu mənada var bir klient proqramlaşdırma dili. 1363 01:03:50,120 --> 01:03:55,020 Bu halda, yalnız CSS kimi, mən gətirdik düz mənim HTML daxilində. 1364 01:03:55,020 --> 01:03:58,810 Amma bir funksiyası elan etdik ihbar ki, bir az PHP kimi görünür 1365 01:03:58,810 --> 01:04:01,530 syntactically, lakin bu, həqiqətən edir JavaScript, çünki yenidən, bu 1366 01:04:01,530 --> 01:04:03,920 Brauzerinizin klient. 1367 01:04:03,920 --> 01:04:07,590 Bu gedir nə bir tahmin etmək nə olsa belə, sintaksis bəzi 1368 01:04:07,590 --> 01:04:09,338 burada yeni. 1369 01:04:09,338 --> 01:04:11,760 >> Auditoriya: kim salam söyləyin. 1370 01:04:11,760 --> 01:04:14,020 >> DAVID MALAN: Bu salam demək olacaq kim bu səhifə olub. 1371 01:04:14,020 --> 01:04:15,120 Belə ki, necə? 1372 01:04:15,120 --> 01:04:18,070 >> Belə ki, JavaScript çıxır bildiriş bir alert () funksiyası var. 1373 01:04:18,070 --> 01:04:22,840 Bu, çox növ kədərli funksiyası olduğunu həqiqətən, yalnız istifadəçilər annoy üçün çalışır. 1374 01:04:22,840 --> 01:04:25,440 Bu, həqiqətən, istifadə etməlidir bir deyil adətən, lakin tez və çirkli 1375 01:04:25,440 --> 01:04:27,710 yol sort bir şey çap qrafik istifadəçi 1376 01:04:27,710 --> 01:04:29,180 bir brauzer kimi, interfeys. 1377 01:04:29,180 --> 01:04:31,400 Mən var ki, burada edək bir tək quotes string. 1378 01:04:31,400 --> 01:04:36,010 Belə çıxır ki, C, JavaScript fərqli olaraq həqiqətən bir istifadə edə bilərsiniz 1379 01:04:36,010 --> 01:04:38,730 quotes, və səmimi yalnız növü var arasında üslub Konvensiyanın 1380 01:04:38,730 --> 01:04:41,180 JavaScript proqramçılar vahid quotes istifadə etmək. 1381 01:04:41,180 --> 01:04:43,750 PHP, onlar həqiqətən az var müxtəlif məna. 1382 01:04:43,750 --> 01:04:45,810 Amma indi üçün, yalnız bilirik ki, ki, yeganə səbəbi var. 1383 01:04:45,810 --> 01:04:49,270 JavaScript konqres tez-tez edir vahid quotes istifadə, lakin biz istifadə edə bilər 1384 01:04:49,270 --> 01:04:50,950 iki həm yerlərdə quotes həmçinin. 1385 01:04:50,950 --> 01:04:52,610 >> Belə ki, bu maraqlıdır. 1386 01:04:52,610 --> 01:04:56,430 Biz ki, son dəfə xatırlayıram Bir ağac çəkdi ki, ekranda şəkil 1387 01:04:56,430 --> 01:04:59,720 Siz HTML node idi və burada node və bədən node rəhbərlik, 1388 01:04:59,720 --> 01:05:00,800 və sonra bəzi mətn. 1389 01:05:00,800 --> 01:05:04,700 Amma bir xüsusi node var idi Mən sənəd deyilir ki, çox üst. 1390 01:05:04,700 --> 01:05:08,260 Bəli, bu bir, JavaScript çıxır JavaScript bir proqram yazmaq zaman 1391 01:05:08,260 --> 01:05:11,040 Bir brauzer, siz etmək imkanı var xüsusi qlobal dəyişən. 1392 01:05:11,040 --> 01:05:14,130 , PHP-nin superglobals ruhu oxşar bu bir adlanır 1393 01:05:14,130 --> 01:05:16,050 bütün kiçik sənəd. 1394 01:05:16,050 --> 01:05:21,480 >> Bu struct kimi, lakin bu struct də bunun içərisində funksiyaları vardır. 1395 01:05:21,480 --> 01:05:23,790 Belə ki, bir C struct yalnız adətən məlumat var. 1396 01:05:23,790 --> 01:05:29,060 Amma bu kimi bir JavaScript obyekt texniki, funksiyaları var da 1397 01:05:29,060 --> 01:05:31,830 başqa üsulları kimi tanınan, Bunun içərisində. 1398 01:05:31,830 --> 01:05:35,750 Və daxilində bir funksiyası zəng edə bilərsiniz Bu obyekt olduqca sözün onun bunu 1399 01:05:35,750 --> 01:05:39,610 adı, dot, və sonra adı funksiyası, və ya yenidən metodu. 1400 01:05:39,610 --> 01:05:41,160 Bu, həqiqətən, yalnız bir sinonimi var. 1401 01:05:41,160 --> 01:05:42,450 >> Bu funksiya nə edir? 1402 01:05:42,450 --> 01:05:43,840 Siz cür onun adı tahmin edə bilərsiniz. 1403 01:05:43,840 --> 01:05:45,590 ID element alın. 1404 01:05:45,590 --> 01:05:50,040 Belə ki, bu web page axtarış gedir, üçün axtarır ki, ağac axtarış 1405 01:05:50,040 --> 01:05:55,210 , AKA element, bir var nə node quote dırnağı bağlamaq adı unikal ID. 1406 01:05:55,210 --> 01:05:56,560 Və sonra mən nə üçün gedirəm? 1407 01:05:56,560 --> 01:06:00,350 Mən daxili dəyəri almaq üçün gedirəm olan ağac node, və gedirəm 1408 01:06:00,350 --> 01:06:02,580 elə ki, adı salam demək. 1409 01:06:02,580 --> 01:06:05,360 >> Belə ki, biz etdik, baxmayaraq ki, bir tahmin etmək hələ bu göründüyü kimi, nə artı 1410 01:06:05,360 --> 01:06:07,396 simvol burada və burada yəqin ki, demək? 1411 01:06:07,396 --> 01:06:08,230 >> Auditoriya: Concatenate. 1412 01:06:08,230 --> 01:06:09,220 >> DAVID MALAN: Concatenate. 1413 01:06:09,220 --> 01:06:11,290 Sağ və bu yalnız sort qərarları dizayn 1414 01:06:11,290 --> 01:06:12,280 insanlar il əvvəl. 1415 01:06:12,280 --> 01:06:15,190 PHP, siz concatenate nöqtələr ilə şeyi. 1416 01:06:15,190 --> 01:06:18,800 C, bir neçə hoops vasitəsilə jump və strcopy kimi funksiyaları () və ya zəng 1417 01:06:18,800 --> 01:06:20,600 strcat () və ya digər funksiyaları. 1418 01:06:20,600 --> 01:06:22,060 Amma JavaScript, siz müsbət istifadə edin. 1419 01:06:22,060 --> 01:06:24,770 Belə ki, bu, yalnız concatenating olunur üç strings - 1420 01:06:24,770 --> 01:06:27,850 hello, bir adı, və sonra ünlem. 1421 01:06:27,850 --> 01:06:30,390 >> Belə ki, zaman və nə bu funksiyası olsa adlanır? 1422 01:06:30,390 --> 01:06:33,150 Yaxşı, bir tahmin etmək Alt HTML. 1423 01:06:33,150 --> 01:06:35,810 Niyə adlı () salamlayıram, və ya edir? 1424 01:06:35,810 --> 01:06:39,730 1425 01:06:39,730 --> 01:06:44,030 >> Görünür, ən yaxşı kimi mən, demək bilər Bu formu təqdim edildikdə, təqdim, 1426 01:06:44,030 --> 01:06:47,200 Mən nə üçün gedirəm Bu quotes daxilində. 1427 01:06:47,200 --> 01:06:50,900 Və xüsusi, mən zəng etmək üçün gedirəm salamlayıram () və sonra saxta qayıtmaq. 1428 01:06:50,900 --> 01:06:53,090 >> Yaxşı, nə xalis görək təsiri burada ilk. 1429 01:06:53,090 --> 01:06:58,290 Mənə irəli getmək və yazın edək demək, Loren, tarixi, ildə. 1430 01:06:58,290 --> 01:06:59,440 Loren Hello. 1431 01:06:59,440 --> 01:07:02,990 Bəlkə bu yalnız idi əgər in nəzər salaq bir uğurlu həyata keçirilməsi. 1432 01:07:02,990 --> 01:07:03,200 Xeyr. 1433 01:07:03,200 --> 01:07:05,990 Belə ki, həyata yazaraq var nə Mən, həqiqətən, orada qoymaq ad. 1434 01:07:05,990 --> 01:07:07,970 >> Amma dəyişən deyil nə görürsünüz. 1435 01:07:07,970 --> 01:07:10,360 URL hələ dom-0.html edir. 1436 01:07:10,360 --> 01:07:11,820 Heç bir register.php var. 1437 01:07:11,820 --> 01:07:13,110 Ikinci fayl var. 1438 01:07:13,110 --> 01:07:14,930 Heç bir tədbir atributu var. 1439 01:07:14,930 --> 01:07:19,720 Belə ki, nə bu qaytarılması yalan ehtimalla bunu? 1440 01:07:19,720 --> 01:07:23,660 Niyə sonra salamlayıram zəng () və edirəm yəqin ki, yalan qaytarılması? 1441 01:07:23,660 --> 01:07:26,420 Siz basın zaman nə normal olur Hətta biz bir formada təqdim 1442 01:07:26,420 --> 01:07:27,854 Ötən həftə görüldü? 1443 01:07:27,854 --> 01:07:29,900 >> Auditoriya: [işitilemez]. 1444 01:07:29,900 --> 01:07:30,860 >> DAVID MALAN: Bu doğru, haradasa gedir? 1445 01:07:30,860 --> 01:07:32,720 Bəzi hedef URL gedir. 1446 01:07:32,720 --> 01:07:34,120 Amma burada baş istəmirəm. 1447 01:07:34,120 --> 01:07:37,620 Mən web page tamamilə olmaq istəyirəm bir dəfə olduğunuz Gmail kimi dinamik 1448 01:07:37,620 --> 01:07:38,650 , siz orada qalmaq. 1449 01:07:38,650 --> 01:07:42,900 URL bir şəkildə dəyişməzsə bütün səhifə yeniden göstərir. 1450 01:07:42,900 --> 01:07:46,680 Əksinə, mən yalnız bir şey dəyişmək istəyirsinizsə bir şey çap kimi 1451 01:07:46,680 --> 01:07:48,320 burada ekranda. 1452 01:07:48,320 --> 01:07:49,630 >> Yaxşı görüntülərini təmiz bildirin up bir az. 1453 01:07:49,630 --> 01:07:55,370 Mənə deyil dom-0 açmaq edək, lakin me dom-2 açmaq bildirin. 1454 01:07:55,370 --> 01:07:57,350 Just belə ki, burada bəzi sintaksis gördüm. 1455 01:07:57,350 --> 01:08:02,080 >> Belə çıxır ki, nə biz yalnız xam JavaScript istifadə etməyib. 1456 01:08:02,080 --> 01:08:04,420 Belə ki, bu həqiqətən dilidir JavaScript. 1457 01:08:04,420 --> 01:08:07,340 Siz bəzi bilirik bilər jQuery adlı kitabxana. 1458 01:08:07,340 --> 01:08:09,980 >> Belə ki, jQuery eyni deyil JavaScript kimi bir şey. 1459 01:08:09,980 --> 01:08:14,110 Bu həqiqətən ağıllı bir kitabxana var oğlan yazdığı və təbliğ belə 1460 01:08:14,110 --> 01:08:18,100 indi dünyada demək olar ki, hər kəs JavaScript istifadə edərkən jQuery istifadə edir. 1461 01:08:18,100 --> 01:08:20,890 Və ilk baxışda, vicdanla, bir az daha sirli görünür. 1462 01:08:20,890 --> 01:08:24,990 Amma siz getmək xüsusilə, əgər tapa bilərsiniz orada web ilə yekun layihə üçün 1463 01:08:24,990 --> 01:08:29,029 inkişaf, siz tapa bilərsiniz ki, bu şeyi təmizləyir və olduqca saxlayır 1464 01:08:29,029 --> 01:08:30,229 kodu bir neçə satır. 1465 01:08:30,229 --> 01:08:33,189 >> Belə ki, yalnız nəzər edək necə Bu formu işləyir. 1466 01:08:33,189 --> 01:08:35,664 Mən yəqin nə aradan qaldırılması idi bildirək mənim HTML? 1467 01:08:35,664 --> 01:08:38,240 1468 01:08:38,240 --> 01:08:40,630 Təqdim handler xeyir var belə danışmaq. 1469 01:08:40,630 --> 01:08:41,470 Heç bir atributu var. 1470 01:08:41,470 --> 01:08:43,359 Çünki bilirsiniz ki, nə Mən, həqiqətən, kimi deyil? 1471 01:08:43,359 --> 01:08:45,640 Biz düşən kimi mən hiss etdim orada köhnə vərdişləri. 1472 01:08:45,640 --> 01:08:49,340 Bu sloppy hiss etməyə başlayır kimi ilə həm CSS qaynayıb- 1473 01:08:49,340 --> 01:08:52,149 HTML, siz cür atma edirik, çünki bütün müxtəlif dillər 1474 01:08:52,149 --> 01:08:56,180 yer, eyni bu hiss başladınız aşağı getmək üçün pis bir yol kimi burada 1475 01:08:56,180 --> 01:09:01,069 Mən daxili JavaScript kodu qoyulması alıram mənim HTML yerine faktorinq. 1476 01:09:01,069 --> 01:09:02,279 >> Belə ki, burada bir dərs var. 1477 01:09:02,279 --> 01:09:05,080 Dom-2.html, mən faktorinq alıram. 1478 01:09:05,080 --> 01:09:07,399 Mən bir az şeyi edirəm fərqli. 1479 01:09:07,399 --> 01:09:09,630 Indi üçün, mən mənim əlləri dalğa gedirəm Bu, həqiqətən, nə də 1480 01:09:09,630 --> 01:09:10,590 başlıq altında. 1481 01:09:10,590 --> 01:09:14,210 Amma yalnız indi üçün güman ki, ilk Bu kitabxana kodu line 1482 01:09:14,210 --> 01:09:18,170 jQuery yalnız deməkdir adlı zaman sənəd aşağıdakı, hazırdır. 1483 01:09:18,170 --> 01:09:20,080 >> Web pages edə bilər, çünki yüklemek üçün bir müddət. 1484 01:09:20,080 --> 01:09:23,029 Siz yavaş internet ola bilər əlaqəsi və bu iplik bilər 1485 01:09:23,029 --> 01:09:25,290 və iplik, və nəhayət, dolu olacaq. 1486 01:09:25,290 --> 01:09:29,060 Kodu ki, xətt yalnız qədər gözləyin deyir bütün səhifə, sənəd hazırdır 1487 01:09:29,060 --> 01:09:31,189 Bu kodu həyata əvvəl, hazırdır. 1488 01:09:31,189 --> 01:09:34,390 >> İndi qeyd, bu yəqin ki, ilk ən faydalı 1489 01:09:34,390 --> 01:09:36,189 üz jQuery almaq. 1490 01:09:36,189 --> 01:09:42,140 Burada Bu xətt ruhunda çox oxşardır burada bu qədər uzun xətt. 1491 01:09:42,140 --> 01:09:46,920 Xam JavaScript kodu, orada isə bir sənəd qlobal obyekt var ki, 1492 01:09:46,920 --> 01:09:50,460 ,) (getElementById adlı funksiyası var yazan insanlar 1493 01:09:50,460 --> 01:09:55,720 jQuery demək ki, sadələşdirilmiş dollar işarəsi, və sonra daxili 1494 01:09:55,720 --> 01:10:00,250 parantez sonra iki quotes qoymaq və izlədi bir hash simvolu qoymaq 1495 01:10:00,250 --> 01:10:02,250 siz qamarlamaq istəyirəm unikal ID. 1496 01:10:02,250 --> 01:10:06,170 Belə ki, bu bərabərdir document.getElementById. 1497 01:10:06,170 --> 01:10:11,090 >> Eyni zamanda,. Yalnız deməkdir təqdim Siz etdiyiniz hər hansı formada təqdim edilməsi 1498 01:10:11,090 --> 01:10:14,240 sol toxunaraq, getmək qabaqda və bu icra. 1499 01:10:14,240 --> 01:10:16,600 Amma bu çox artıq maraq var. 1500 01:10:16,600 --> 01:10:19,560 Haqqında qəribə nə Mən burada qeyd etdik? 1501 01:10:19,560 --> 01:10:23,840 1502 01:10:23,840 --> 01:10:28,594 Yalnız bu cür syntactically edir yeni, itkin bir şey də var. 1503 01:10:28,594 --> 01:10:29,558 >> Auditoriya: Bu, yalnız funksiyası adlanır? 1504 01:10:29,558 --> 01:10:31,970 Bu alert adlı deyil? 1505 01:10:31,970 --> 01:10:32,440 >> DAVID MALAN: Bəli. 1506 01:10:32,440 --> 01:10:35,450 Yaxşı, belə alert () aşağı burada, ədalətli olmalıdır. 1507 01:10:35,450 --> 01:10:39,520 Amma heç bir qeyd yoxdur Bildiyiniz kimi, adı, foo və ya 1508 01:10:39,520 --> 01:10:40,980 burada bir şey. 1509 01:10:40,980 --> 01:10:43,830 Və həqiqətən, bu xüsusiyyətlərindən biridir olduqca ki, JavaScript 1510 01:10:43,830 --> 01:10:45,370 güclü, həm də olduqca yeni. 1511 01:10:45,370 --> 01:10:47,460 Və PHP həqiqətən də bu var. 1512 01:10:47,460 --> 01:10:49,500 >> Mənə davam və bunu bildirin real sürətli bir şey. 1513 01:10:49,500 --> 01:10:52,030 Mənə irəli getmək və burada bu qoyaq. 1514 01:10:52,030 --> 01:10:52,600 Mənə bunu bildirin. 1515 01:10:52,600 --> 01:10:53,690 Function. 1516 01:10:53,690 --> 01:10:56,455 ) Üzrə (bu handler zəng edək. 1517 01:10:56,455 --> 01:10:58,290 A handler funksiyası belə danışmaq. 1518 01:10:58,290 --> 01:11:00,110 Bəzi əməliyyat emal ki, bir şey. 1519 01:11:00,110 --> 01:11:02,700 Mənim abzas təmizləmək edək. 1520 01:11:02,700 --> 01:11:04,380 Və burada bu qoymaq. 1521 01:11:04,380 --> 01:11:06,090 Və burada qoymaq. 1522 01:11:06,090 --> 01:11:06,470 Yep. 1523 01:11:06,470 --> 01:11:07,060 OK. 1524 01:11:07,060 --> 01:11:10,300 >> Belə ki, indi mən adlı funksiyası var Mən, həqiqətən, bilmirəm ki, handler () 1525 01:11:10,300 --> 01:11:10,890 hələ nə. 1526 01:11:10,890 --> 01:11:12,710 Bu, sadəcə hələ ki, stuff var. 1527 01:11:12,710 --> 01:11:13,900 Whoops. 1528 01:11:13,900 --> 01:11:15,820 Çox aldıq. 1529 01:11:15,820 --> 01:11:18,490 Bunu edək. 1530 01:11:18,490 --> 01:11:18,990 Bütün hüquqlar. 1531 01:11:18,990 --> 01:11:20,240 Üzr istəyirik. 1532 01:11:20,240 --> 01:11:23,140 1533 01:11:23,140 --> 01:11:23,690 Bütün hüquqlar. 1534 01:11:23,690 --> 01:11:24,720 Mənə bunu bildirin. 1535 01:11:24,720 --> 01:11:25,020 OK. 1536 01:11:25,020 --> 01:11:27,040 Ki, gözəl və düz görünür İndi irəli. 1537 01:11:27,040 --> 01:11:29,090 Mənə bunu bildirin. 1538 01:11:29,090 --> 01:11:29,860 Bunu. 1539 01:11:29,860 --> 01:11:30,950 Və OK. 1540 01:11:30,950 --> 01:11:33,080 Belə ki, indi burada bu qoymaq bildirin. 1541 01:11:33,080 --> 01:11:35,840 1542 01:11:35,840 --> 01:11:37,270 Tez No daha proqramlaşdırma. 1543 01:11:37,270 --> 01:11:37,900 OK. 1544 01:11:37,900 --> 01:11:40,000 >> Belə ki, indi-nin geri gedək harada hekayə başladı. 1545 01:11:40,000 --> 01:11:43,530 Əvvəllər, dedim ki, burada bu xətt sənəd hazır olduqda deməkdir, getmək 1546 01:11:43,530 --> 01:11:44,380 qabaqda və bunu. 1547 01:11:44,380 --> 01:11:45,660 Mən nə istəyirəm? 1548 01:11:45,660 --> 01:11:49,070 Yaxşı xüsusi, mən getmək istəyirəm qabaqda və aşağıdakı. 1549 01:11:49,070 --> 01:11:53,700 Sonra kodu bu xətt icra və nə mən nə istəyirəm bu zəng edir 1550 01:11:53,700 --> 01:11:56,370 şəklində təqdim zaman fəaliyyət göstərir. 1551 01:11:56,370 --> 01:11:57,730 >> İndi bu maraqlı nə edir. 1552 01:11:57,730 --> 01:11:59,170 Bu funksiya özü deyil. 1553 01:11:59,170 --> 01:12:02,540 Mən parantez qoyulması deyiləm edək burada normal şəkildə. 1554 01:12:02,540 --> 01:12:06,800 Mən sözün adlı funksiyası keçən alıram başqa funksiyası handler () 1555 01:12:06,800 --> 01:12:10,800 kimi bir arqument kimi () təqdim adlı bir dəyişən kimi olsa. 1556 01:12:10,800 --> 01:12:14,290 Və bu xüsusiyyətlərindən biridir JavaScript, özləri funksiyaları edir 1557 01:12:14,290 --> 01:12:15,710 həqiqətən yalnız obyektləri var. 1558 01:12:15,710 --> 01:12:18,350 Əslində, onlar, həqiqətən, yalnız istəyirik bir növ dəyişənlər. 1559 01:12:18,350 --> 01:12:21,340 Və funksiyanın adı, əgər handler (), I bilməz heç bir səbəb yoxdur 1560 01:12:21,340 --> 01:12:23,390 burada bir arqument kimi keçir. 1561 01:12:23,390 --> 01:12:27,530 Və bu forma zaman deməkdir demo ID ilə 1562 01:12:27,530 --> 01:12:29,320 təqdim, bu funksiya zəng. 1563 01:12:29,320 --> 01:12:32,770 >> Amma indi, bu bütün əvvəlki halına qaytar əgər niyə mən bəlkə nə idi 1564 01:12:32,770 --> 01:12:34,850 bu bir an əvvəl? 1565 01:12:34,850 --> 01:12:36,840 Bəli, bu bir anonim funksiyası var. 1566 01:12:36,840 --> 01:12:41,080 Səmimi çünki mən niyə, mən həyata elan vaxt sərf narahat bir 1567 01:12:41,080 --> 01:12:45,540 funksiyası adlanır handler () yalnız zəng etmək üçün bir və yalnız bir yerdə bu? 1568 01:12:45,540 --> 01:12:48,640 Mən adı lazım deyil, və mən əgər daha çox yer zəng etmək lazımdır, 1569 01:12:48,640 --> 01:12:51,200 yalnız funksiyası həyata bildirin sağ mən lazım. 1570 01:12:51,200 --> 01:12:55,190 Və JavaScript və PHP dəstək nə anonim funksiyaları deyilir ki, 1571 01:12:55,190 --> 01:12:57,900 Mənə məhz burada etmək üçün imkan verir. 1572 01:12:57,900 --> 01:12:59,570 >> Amma biz yalnız səthi kazıma edirik. 1573 01:12:59,570 --> 01:13:02,430 Yalnız bir neçə ilə tease bildirin burada final nümunələri. 1574 01:13:02,430 --> 01:13:04,600 >> I quote.php getmək varsa. 1575 01:13:04,600 --> 01:13:07,160 1576 01:13:07,160 --> 01:13:11,870 Bu, həqiqətən, PHP olduğunu qeyd yazdığı funksiyası, bir PHP proqram, 1577 01:13:11,870 --> 01:13:15,270 gözləyir ki, adlı HTTP parametri simvolu və mən keçə bilər 1578 01:13:15,270 --> 01:13:16,730 FB kimi bir dəyəri. 1579 01:13:16,730 --> 01:13:20,010 Və biz, həqiqətən, mənbə baxmaq əgər kodu, bu bir pulsuz veb querying edir 1580 01:13:20,010 --> 01:13:23,680 yalnız p-set kimi, Yahoo Maliyyə adlı yeddi və bu, mənim qaytarılması 1581 01:13:23,680 --> 01:13:26,580 yəqin nə isə tanınmış format JSON edir - 1582 01:13:26,580 --> 01:13:28,010 JavaScript Obyekt Notation. 1583 01:13:28,010 --> 01:13:28,810 Bu, sadəcə bir obyekt var. 1584 01:13:28,810 --> 01:13:32,500 Qıvrım aşırma edək, quotes, kolon və vergülləri. 1585 01:13:32,500 --> 01:13:34,720 >> İndi isə, bu olduqca sərin. 1586 01:13:34,720 --> 01:13:38,520 Mən yəqin ki, bir proqramlaşdırma istifadə edə bilərsiniz, çünki URL'leri yaratmaq üçün dil 1587 01:13:38,520 --> 01:13:40,370 ki, dinamik bu kimi baxmaq sağ? 1588 01:13:40,370 --> 01:13:43,340 Google bu dəyişə bilərsiniz və Google geri almaq 1589 01:13:43,340 --> 01:13:47,930 $ 1,017.55 səhmlərinin qiyməti. 1590 01:13:47,930 --> 01:13:49,640 Beləliklə, biz indi bu istifadə edə bilərsiniz əgər in görək. 1591 01:13:49,640 --> 01:13:56,590 >> Mənə, burada ajax-0 getmək imkan olan Aşağıdakı kimi görünür. 1592 01:13:56,590 --> 01:13:59,750 Bu ki, yalnız bir web var bir düyməsinə ilə bir forma. 1593 01:13:59,750 --> 01:14:05,860 Mənə burada YHOO qabaqda getmək və yazın edək Yahoo fond simvolu üçün alın basın 1594 01:14:05,860 --> 01:14:10,530 Quote, indi mən kazanılmış etdik bilərsiniz 32,86 ilə bir uyarı. 1595 01:14:10,530 --> 01:14:14,050 >> Mənə həqiqətən bir meraklı versiyası gedək Bu səhifə, version iki və 1596 01:14:14,050 --> 01:14:17,530 Microsoft, MSFT deyək yazın. 1597 01:14:17,530 --> 01:14:18,410 Quote alın. 1598 01:14:18,410 --> 01:14:19,850 İndi, heç bir uyarı bildiriş. 1599 01:14:19,850 --> 01:14:22,770 Həyəcan bu qiymət deyir yerləşir təyin olunacaq? 1600 01:14:22,770 --> 01:14:27,060 Nümunələri sadə olduğunu nə Gchat göstərişlər və Facebook 1601 01:14:27,060 --> 01:14:30,070 Chat, və Gmail, və digər bu kimi saytları faktiki edirik 1602 01:14:30,070 --> 01:14:31,290 web page dəyişir. 1603 01:14:31,290 --> 01:14:31,800 >> Bu bildiriş. 1604 01:14:31,800 --> 01:14:33,120 Mənə səhifəni yenidən bildirin. 1605 01:14:33,120 --> 01:14:35,080 Mənə Chrome inspektor açmaq bildirin. 1606 01:14:35,080 --> 01:14:36,890 Mənə elementləri gedək aşağı burada nişanı. 1607 01:14:36,890 --> 01:14:42,310 İndi aşağı burada zoom əgər bildiriş və Bu qədər açıq, bu olduğunu qeyd mənim 1608 01:14:42,310 --> 01:14:44,500 HTML DOM - mənim sənəd object model. 1609 01:14:44,500 --> 01:14:45,920 Bu, mənim HTML edir. 1610 01:14:45,920 --> 01:14:48,750 Amma indi gedir, baxmayaraq ki, qeyd həm də onu görmək üçün bir az çətin olacaq 1611 01:14:48,750 --> 01:14:52,080 bir dəfə yerlərdə, mən FB yazın əgər burada, alt izləmək 1612 01:14:52,080 --> 01:14:54,110 ekran yalnız. 1613 01:14:54,110 --> 01:14:57,720 >> Bu, həqiqətən, dəyişən Tez mənim HTML. 1614 01:14:57,720 --> 01:15:01,670 Və sadəcə bunu edir bu kimi bir şey etməklə. 1615 01:15:01,670 --> 01:15:06,800 I ajax-2 açmaq varsa, bildiriş həyata kimi sexy bir şey 1616 01:15:06,800 --> 01:15:09,560 , bu, olduqca çirkin, baxmayaraq ki, lakin kimi inkişaf etmiş 1617 01:15:09,560 --> 01:15:11,910 funksional, bəzi var Alt HTML. 1618 01:15:11,910 --> 01:15:13,810 Amma tag üçün istifadə bildiriş. 1619 01:15:13,810 --> 01:15:16,640 Biz əvvəl bu istifadə etdik, lakin bu kimi bir, lakin onu məcbur etmir 1620 01:15:16,640 --> 01:15:17,840 yeni xətt üzərində hər şey. 1621 01:15:17,840 --> 01:15:20,830 Bu, sadəcə bir düzbucaqlı bölgəsi edir eyni xətt üzrə mahiyyətcə. 1622 01:15:20,830 --> 01:15:22,870 >> Mən qiymət ID verdi ki, görürsünüz. 1623 01:15:22,870 --> 01:15:26,800 Və eyni istifadə edərək çıxır JavaScript kitabxana, mən bir funksiyası var 1624 01:15:26,800 --> 01:15:30,440 adlı quote () ki, zaman deyirlər şəklində təqdim edilir. 1625 01:15:30,440 --> 01:15:31,800 Və nə edirəm bu. 1626 01:15:31,800 --> 01:15:35,730 Mən JavaScript dəyişən elan edirəm dəyəri qənaət url adlı 1627 01:15:35,730 --> 01:15:38,650 quote.php? simvolu =. 1628 01:15:38,650 --> 01:15:44,220 Başqa sözlə, mən başlıyorum sonra bir HTTP sorğu hazırlamaq və 1629 01:15:44,220 --> 01:15:49,250 Mən bir plus ilə üzərində concatenating alıram şəxsiyyət ilə nə element 1630 01:15:49,250 --> 01:15:54,190 rəmzi ki, hansı xəbərdarlıq edir mətn sahəsində sağ aşağı burada. 1631 01:15:54,190 --> 01:15:56,630 Belə ki, yalnız biz keçmişdə formaları idi istəyirəm. 1632 01:15:56,630 --> 01:16:01,450 >> Siz əgər, sonra bu, jQuery çıxır zəng. bir val üzvü çağırır ki, val () 1633 01:16:01,450 --> 01:16:05,900 funksiyası, bir dəyər funksiyası, olur ki istifadəçi daxil yazdığınız edib nə 1634 01:16:05,900 --> 01:16:08,920 Və sonra şəbəkə trafik bütün bu olur. 1635 01:16:08,920 --> 01:16:11,230 $. GetJSON. 1636 01:16:11,230 --> 01:16:13,720 >> Və bir kənara kimi, dollar əlamətidir yalnız stenoqrafiya notation. 1637 01:16:13,720 --> 01:16:16,860 Bu, həqiqətən jQuery.getJSON var. 1638 01:16:16,860 --> 01:16:21,520 Bu URL JSON mənə almaq və zaman sorğu geri gəlir, bu zəng 1639 01:16:21,520 --> 01:16:26,550 funksiyası arqument kimi keçmək nə server geri gəldi. 1640 01:16:26,550 --> 01:16:31,205 >> , Başqa sözlə mən geri getmək əgər browser və mən quote.php geri, 1641 01:16:31,205 --> 01:16:35,590 nə mənim browser edir əldə edir məlumatların bu yığın. 1642 01:16:35,590 --> 01:16:38,930 Mən burada bu web page getmək zaman, biz əvəzinə şəbəkə getmək əgər bildiriş 1643 01:16:38,930 --> 01:16:43,820 nişanı və onu təmizləmək, sonra yazın Google GOOG kimi bir şey və alın 1644 01:16:43,820 --> 01:16:46,340 Quote, səhifə dəyişməyib fark. 1645 01:16:46,340 --> 01:16:50,990 Amma bir HTTP sorğu, və nə oldu Biz baxsaq burada geri gəldi 1646 01:16:50,990 --> 01:16:56,130 cavab JSON bütün dəstə edir biz nəhayət əldə ki, 1647 01:16:56,130 --> 01:16:58,070 burada bu sadə line. 1648 01:16:58,070 --> 01:17:00,150 >> Data kazanılmış nə edir server. 1649 01:17:00,150 --> 01:17:02,120 Qiymət adı Mən qayğı əsas. 1650 01:17:02,120 --> 01:17:05,230 Belə ki, data.price mənə verir. 1651 01:17:05,230 --> 01:17:07,540 >> İndi isə, bu son nümunəsidir. 1652 01:17:07,540 --> 01:17:09,280 Siz səhifə ilə hələ daha çox edə bilərsiniz. 1653 01:17:09,280 --> 01:17:12,440 Bir həqiqətən, iki. 1654 01:17:12,440 --> 01:17:14,780 Biz geri gətirə bilər siz bu yadda əgər, tag. 1655 01:17:14,780 --> 01:17:15,850 Bu JavaScript var. 1656 01:17:15,850 --> 01:17:17,110 Biz bunu edə bilər. 1657 01:17:17,110 --> 01:17:17,690 Çox maraqlı. 1658 01:17:17,690 --> 01:17:18,800 Biz cliffhanger kimi tərk edəcəyik. 1659 01:17:18,800 --> 01:17:21,590 >> Amma daha excitingly, siz bu kimi şeylər. 1660 01:17:21,590 --> 01:17:25,940 I geolocation-1 getmək varsa, bu çıxır Chrome biz var bilir ki, 1661 01:17:25,940 --> 01:17:30,672 enlem boylam 42.37. -71,10. 1662 01:17:30,672 --> 01:17:32,940 Belə ki, daha çox var var sizin ixtiyarınızdadır. 1663 01:17:32,940 --> 01:17:34,290 Amma ki, növbəti həftə daha çox. 1664 01:17:34,290 --> 01:17:35,540 Bazar ertəsi baxın. 1665 01:17:35,540 --> 01:17:37,558