1 00:00:00,000 --> 00:00:05,616 2 00:00:05,616 --> 00:00:07,030 >> HANNAH BLUMBERG: Hi everyone. 3 00:00:07,030 --> 00:00:09,530 Biz Başlamak için gidiyoruz dakikada sadece birkaç erken 4 00:00:09,530 --> 00:00:11,738 Biz bir sürü beri materyal aracılığıyla almak için. 5 00:00:11,738 --> 00:00:12,790 Ben Hannah değilim. 6 00:00:12,790 --> 00:00:13,865 Ben bir TF değilim. 7 00:00:13,865 --> 00:00:16,239 Maria katılmadan olacak bize sadece bir kaç dakika içinde. 8 00:00:16,239 --> 00:00:17,560 O hemen önce bölümü öğretir. 9 00:00:17,560 --> 00:00:19,351 Ben bölüm hakkını öğretmek sonra, bu yüzden gidiyoruz 10 00:00:19,351 --> 00:00:21,200 Bir buçuk saat onu tutmak için. 11 00:00:21,200 --> 00:00:25,490 >> Buraya göreceğiniz gibi Yani, biz oldukça var Bir kaç konu biz aracılığıyla almak gerekir 12 00:00:25,490 --> 00:00:27,200 bu yüzden çabuk biraz gidiyorum. 13 00:00:27,200 --> 00:00:31,140 Ama herhangi bir noktada eğer bir şey söylemek Çok hızlı ya da anlamıyorsun, 14 00:00:31,140 --> 00:00:33,170 sorularla kesme çekinmeyin. 15 00:00:33,170 --> 00:00:36,610 Biz bu a yapabilmek olmak istiyorum Hepinize yararlı olarak oturumu gözden 16 00:00:36,610 --> 00:00:37,973 olabildiğince. 17 00:00:37,973 --> 00:00:38,920 Başar. 18 00:00:38,920 --> 00:00:41,650 >> Yani birlikte sağ atlamak izin Bazı konular olduğunu biz aslında 19 00:00:41,650 --> 00:00:46,980 çok kısa bir süre için kapalı Quiz 0 yorum oturumunda yarışması 0. 20 00:00:46,980 --> 00:00:48,840 Yani bağlantılı listeler ile başlayan. 21 00:00:48,840 --> 00:00:52,090 Yani sadece bazı sahip olduğunuzdan emin olun bağlantılı listeler hakkında temel bilgi 22 00:00:52,090 --> 00:00:55,110 ve yapıyor rahat temel işlemler bazılarıdır. 23 00:00:55,110 --> 00:00:58,560 >> Yani sadece, gözden bağlantılı etmek Listeler diziler daha iyi 24 00:00:58,560 --> 00:01:01,020 Onlar dinamik büyüyebilir çünkü. 25 00:01:01,020 --> 00:01:03,300 Yani biz bu büyük avantajımız var. 26 00:01:03,300 --> 00:01:06,031 Biz bunları kullanılmış gördük hash tabloları zaman 27 00:01:06,031 --> 00:01:08,280 tam olarak kaç olduğunu bilmiyorum şeyler istediğimiz gidiyoruz 28 00:01:08,280 --> 00:01:10,900 Bizim veri yapısı içine yerleştirin. 29 00:01:10,900 --> 00:01:15,700 Ne yazık ki, biz parçaları var Tüm bellekte üzerinde bağlantılı liste, 30 00:01:15,700 --> 00:01:20,820 bu yüzden mutlaka olmayacak sabit zamanlı erişim yapmak mümkün 31 00:01:20,820 --> 00:01:22,502 Bağlantılı Listedeki herhangi bir öğeye. 32 00:01:22,502 --> 00:01:24,210 Bulmak için Özellikle unsur, 33 00:01:24,210 --> 00:01:26,510 tüm yineleme var başından itibaren yol. 34 00:01:26,510 --> 00:01:30,610 Yani akılda tutmak çoğu bu Temel işlemler 1 omega vardır. 35 00:01:30,610 --> 00:01:32,130 Yani insert sadece 1 alacak. 36 00:01:32,130 --> 00:01:37,520 Sil almak n biz beri gidiyor Listeden bulmak gitmek zorunda. 37 00:01:37,520 --> 00:01:39,260 Ve arama n, en kötü ihtimalle, sürebilir. 38 00:01:39,260 --> 00:01:42,330 Biz böyle bir şey yapamayız Bağlantılı bir listede ikili arama 39 00:01:42,330 --> 00:01:45,101 çünkü biz değil, sadece rastgele ortada atlamak. 40 00:01:45,101 --> 00:01:45,600 Güzel. 41 00:01:45,600 --> 00:01:48,160 42 00:01:48,160 --> 00:01:48,960 Başar. 43 00:01:48,960 --> 00:01:50,270 >> Yığınlarının Biraz. 44 00:01:50,270 --> 00:01:53,980 Bu, yine, sınav 0 üzerinde geldi, sana bu yüzden onunla süper rahat olmalıdır. 45 00:01:53,980 --> 00:01:57,210 Ama yığınlar için, biz sizden tepsilerin yığınını hatırlamak. 46 00:01:57,210 --> 00:01:59,940 Ve bu ilk olacak, dışarı sürer. 47 00:01:59,940 --> 00:02:02,272 Bu yüzden bir şeyler biriktirecek yığını ve sonra 48 00:02:02,272 --> 00:02:04,980 Biz bir şey almaya çalışıyorsanız Biz off-- kapalı haşhaş çağrı hangi 49 00:02:04,980 --> 00:02:06,581 stack-- biz üst kapalı geliyor. 50 00:02:06,581 --> 00:02:09,289 Ve biz bir şey koymak istiyorsanız yığını, biz iterek diyoruz. 51 00:02:09,289 --> 00:02:13,170 Bu yüzden her zaman büyüyor gidiyor tepsilerin bir yığın gibi alttan. 52 00:02:13,170 --> 00:02:14,540 Başar. 53 00:02:14,540 --> 00:02:17,607 >> Biz gördük yığınlar uyguladık hem bağlantılı listeler ve dizileri ile. 54 00:02:17,607 --> 00:02:19,440 Eğer uygulama ediyorsanız diziler, istediğiniz 55 00:02:19,440 --> 00:02:22,350 izlemek için emin olun büyüklük ve kapasite hem de. 56 00:02:22,350 --> 00:02:27,540 Yani boyut akımı olacak destenizin şeylerin sayısı, 57 00:02:27,540 --> 00:02:32,900 kapasite ise toplam sayısı şeyleri size yığın saklayabilirsiniz. 58 00:02:32,900 --> 00:02:34,220 Güzel. 59 00:02:34,220 --> 00:02:35,767 >> Çok benzer, biz kuyruklar var. 60 00:02:35,767 --> 00:02:38,850 Bu durumda, yerine düşünme tepsilerin bir yığın, bir çizgi düşünüyorum. 61 00:02:38,850 --> 00:02:40,697 Bu ilk birinci olmak dışarı gidiyor. 62 00:02:40,697 --> 00:02:42,780 Için sıraya konum eğer öyleyse mağazada bir şey, 63 00:02:42,780 --> 00:02:46,920 Umarız kişinin ilk o hat ilk yardım olacak. 64 00:02:46,920 --> 00:02:49,350 >> Yerine itme söyleyerek ve Biz yığını için ne gibi pop, 65 00:02:49,350 --> 00:02:52,000 biz sadece Enqueue ve Dequeue söylüyorlar. 66 00:02:52,000 --> 00:02:54,970 Ve yine, eğer sen are bir dizi ile bu uygulama, 67 00:02:54,970 --> 00:02:56,720 Biz takip etmek gerekir değil sadece boyutu 68 00:02:56,720 --> 00:03:02,390 Kapasite, aynı zamanda baş ve hangi Bizim sıranın ön olacak. 69 00:03:02,390 --> 00:03:03,010 Güzel. 70 00:03:03,010 --> 00:03:05,770 Bu herhangi herhangi bir sorunuz var mı? 71 00:03:05,770 --> 00:03:06,320 Başar. 72 00:03:06,320 --> 00:03:07,640 Boyunca doğru hareket ederek. 73 00:03:07,640 --> 00:03:08,564 >> Tamam, hash tabloları. 74 00:03:08,564 --> 00:03:10,605 O başlar İşte burada Gerçekten ilginç olsun. 75 00:03:10,605 --> 00:03:14,150 Yani karma tablo tek uygulamasıdır bir ilişkisel dizinin. 76 00:03:14,150 --> 00:03:16,700 Yani temelde ne oldu Hepimiz bu giriş var olduğu, 77 00:03:16,700 --> 00:03:18,750 ve biz bir karma vermek der işlevi 78 00:03:18,750 --> 00:03:21,840 Tamam, bu nerede olduğunu karma tablo o aittir. 79 00:03:21,840 --> 00:03:24,860 >> En basit karma işlevi Yani biz sadece söyleyerek gördük, 80 00:03:24,860 --> 00:03:28,170 Tamam, biz koymak istiyorum varsayalım Bizim hash tablosunda dizeleri. 81 00:03:28,170 --> 00:03:30,870 Ve gerçekten basit bir fikir Tamam, demek olabilir, 82 00:03:30,870 --> 00:03:34,350 Sadece göre sıralamak izin sözcüğün ilk harfi. 83 00:03:34,350 --> 00:03:37,570 Burada gördüğünüz Yani, biz, muz almak Biz bir karma işlevi aracılığıyla koydu 84 00:03:37,570 --> 00:03:40,190 ve o, hey, diyor endeksi 1 gitmek gerekir. 85 00:03:40,190 --> 00:03:45,120 >> Yani biz aslında bir karma düşünebilirsiniz Farklı kovalar bir grup olarak tablo. 86 00:03:45,120 --> 00:03:49,880 Ve bu kova her gidiyor Bağlantılı bir listenin başını tutun. 87 00:03:49,880 --> 00:03:55,030 Ve bu bağlantılı listede nerede biz ise aslında farklı veri parçalarını koymak. 88 00:03:55,030 --> 00:03:57,820 >> Yani dalış biraz daha bir karma işlev, burada 89 00:03:57,820 --> 00:03:59,870 Ben sadece bir örnek biz sadece söylemek nerede tarif 90 00:03:59,870 --> 00:04:02,460 Tamam, ilk harfini almak Biz konum ve kelimenin 91 00:04:02,460 --> 00:04:03,990 kova içine sıralamak için gidiyor. 92 00:04:03,990 --> 00:04:08,490 Yani muhtemelen, 26 kova orada olacağım, alfabenin her bir harfi için bir tane. 93 00:04:08,490 --> 00:04:10,090 Neden bu büyük bir kıyım fonksiyonu değil mi? 94 00:04:10,090 --> 00:04:13,461 Ne bu ideal olmayan kılan nedir? 95 00:04:13,461 --> 00:04:13,960 Evet. 96 00:04:13,960 --> 00:04:15,790 >> HEDEF KİTLE: Sen gidiyorsun çarpışmalar olması. 97 00:04:15,790 --> 00:04:16,390 >> HANNAH BLUMBERG: Evet, kesinlikle. 98 00:04:16,390 --> 00:04:18,000 Sen çarpışmalar için gidiyoruz. 99 00:04:18,000 --> 00:04:18,954 Yani bir şey. 100 00:04:18,954 --> 00:04:21,620 Nasıl biz ve biz bahsedeceğiz Bir saniye içinde çarpışmalar düzeltin. 101 00:04:21,620 --> 00:04:23,980 Bu ilgili bir diğer problem Özellikle karma işlevi 102 00:04:23,980 --> 00:04:25,980 Bizim farklı olmasıdır kovalar olacak 103 00:04:25,980 --> 00:04:28,960 oldukça büyük ölçüde farklı boyutlarda. 104 00:04:28,960 --> 00:04:33,840 >> Biz bir sürü var olduğunu biliyorum X'den A ile başlar daha fazla kelime, 105 00:04:33,840 --> 00:04:38,980 Biz çok zorunda gidiyoruz Bizim hash tablosunda dengesiz kovalar. 106 00:04:38,980 --> 00:04:40,050 Güzel. 107 00:04:40,050 --> 00:04:41,340 Yani evet, en geri dönelim çarpışmalar noktası. 108 00:04:41,340 --> 00:04:42,900 Bir çarpışma varsa ne yapacağız? 109 00:04:42,900 --> 00:04:44,490 >> Biz birkaç farklı seçeneğiniz vardır. 110 00:04:44,490 --> 00:04:47,600 Yani bir, bu yüzden çalışıyoruz varsayalım Bizim karma tabloya berry koymak. 111 00:04:47,600 --> 00:04:50,370 Ve biz oh biz istiyoruz, bkz endeksi 1 koymak, 112 00:04:50,370 --> 00:04:52,070 ama muz zaten orada yaşıyor. 113 00:04:52,070 --> 00:04:53,110 Ne yapacağız? 114 00:04:53,110 --> 00:04:54,560 Biz iki ana seçenek var. 115 00:04:54,560 --> 00:04:58,050 >> Number one Tamam, söyleyebiliriz, endeksi 1 yer yok, 116 00:04:58,050 --> 00:05:03,210 ama sadece bakarak devam edelim Biz başka bir açık nokta bulana kadar. 117 00:05:03,210 --> 00:05:08,490 Bu yüzden, tamam söyleyeceğim en noktada 3 onu koyalım. 118 00:05:08,490 --> 00:05:09,240 Bu bir seçenek. 119 00:05:09,240 --> 00:05:11,470 Bu sondalama doğrusal denir. 120 00:05:11,470 --> 00:05:15,500 >> Ve ikinci bir seçenek, iyi, tamam, diyor Sadece bu kovalar her yapalım 121 00:05:15,500 --> 00:05:17,470 bağlantılı listeler başkanları olmak. 122 00:05:17,470 --> 00:05:21,910 Ve dahası var ise sorun yok bir kova, bir şey daha. 123 00:05:21,910 --> 00:05:23,820 Biz sadece gidiyoruz Ön üzerine ekleyin. 124 00:05:23,820 --> 00:05:26,032 Yani burada, tamam görebilirsiniz Biz berry takıldığında, biz 125 00:05:26,032 --> 00:05:28,240 sadece tür, muz aldı biraz üzerine itti 126 00:05:28,240 --> 00:05:29,842 ve orada bir dut attı. 127 00:05:29,842 --> 00:05:31,050 Ve bu da tamamen iyi. 128 00:05:31,050 --> 00:05:32,830 Bu ayrı bir zincirleme denir. 129 00:05:32,830 --> 00:05:38,100 Sen tür gibi bu düşünebilirsiniz Bağlantılı listelere başkanları bir dizi. 130 00:05:38,100 --> 00:05:41,950 Karma Herhangi bir sorunuz tablolar, hash fonksiyonları? 131 00:05:41,950 --> 00:05:44,290 Başar. 132 00:05:44,290 --> 00:05:45,470 >> Ağaçlar ve çalışır. 133 00:05:45,470 --> 00:05:47,287 Yani bir ağaç herhangi bir tür veri yapısının 134 00:05:47,287 --> 00:05:49,453 hangi çeşit var hiyerarşi veya bir çeşit 135 00:05:49,453 --> 00:05:51,247 sizin farklı nesnelere sıralama. 136 00:05:51,247 --> 00:05:53,580 Ve bu süper olacak net, biz bir örnek görünce. 137 00:05:53,580 --> 00:05:56,960 Ve biz birlikte, denemeden gördüm karma tablolar, pset5-- içinde 138 00:05:56,960 --> 00:06:00,700 yine, hangi tamamen adil oyun Bu bir veri olarak quiz-- için 139 00:06:00,700 --> 00:06:03,110 yapılar ki biz Farklı şeyleri saklamak. 140 00:06:03,110 --> 00:06:06,782 Sözlük halinde, Biz kelimelerin bir demet saklı. 141 00:06:06,782 --> 00:06:08,240 Yani bazı ağaçlar bir göz atalım. 142 00:06:08,240 --> 00:06:10,190 Yani bu, bir ağacın bir örnektir. 143 00:06:10,190 --> 00:06:13,105 Bu yapının bir tür var Hiyerarşik yapıda olduğu, 144 00:06:13,105 --> 00:06:15,920 Bunu görebileceğiniz üstündeki bu 1 düğüm 145 00:06:15,920 --> 00:06:20,750 2 ve 3'ün üzerinde rütbe çeşit var ki olan 4, 5 ve 6 ve 7, yukarıda, 146 00:06:20,750 --> 00:06:22,860 bu, 8 ve 9 üzerinde yer almaktadır. 147 00:06:22,860 --> 00:06:25,210 Hepsi bu yüzden biz demek ağaç, olabilir bunu sadece tür 148 00:06:25,210 --> 00:06:26,660 senin kafanda bu resim. 149 00:06:26,660 --> 00:06:29,050 >> Şimdi, biz bir çift var daha uzmanlaşmış ağaçlar. 150 00:06:29,050 --> 00:06:31,070 Yani bir örnek bir ikili ağaçtır. 151 00:06:31,070 --> 00:06:33,290 Ve bir ikili ağaç olduğunu Tekrar, sadece olacak 152 00:06:33,290 --> 00:06:37,040 çeşit bir veri yapısı hiyerarşisi, ancak her birleşme noktası 153 00:06:37,040 --> 00:06:38,650 en fazla iki çocuk da olabilir. 154 00:06:38,650 --> 00:06:41,530 Kelime ikili nereden geldiğini budur. 155 00:06:41,530 --> 00:06:43,410 Yani bu ikili ağacın bir örnektir. 156 00:06:43,410 --> 00:06:45,720 Yani ağaçların küçük bir kategori var. 157 00:06:45,720 --> 00:06:48,960 >> Şimdi daha spesifik etmesine izin vermedi ve İkili trees-- ikili arama hakkında konuşmak 158 00:06:48,960 --> 00:06:51,310 ağaçlar, oldukça. 159 00:06:51,310 --> 00:06:56,430 Yani burada bir fikir yok değil sadece Her düğüm, en fazla iki çocukları var 160 00:06:56,430 --> 00:07:00,300 ancak tüm çocukların Sol küçük olacak 161 00:07:00,300 --> 00:07:03,450 ve tüm çocukların Sağ büyük olacak. 162 00:07:03,450 --> 00:07:05,890 Yani sadece fark bizim ikili ağaç, orada 163 00:07:05,890 --> 00:07:08,650 sayılar arasında ilişki. 164 00:07:08,650 --> 00:07:12,990 Ama ikili arama ağaç, görüyoruz, tamam, burada 44 var. 165 00:07:12,990 --> 00:07:17,080 Ve 44 solundaki her sayıdır sağa doğru küçük ve her 166 00:07:17,080 --> 00:07:17,920 büyüktür. 167 00:07:17,920 --> 00:07:20,130 >> Ve her at tutar Ağacın seviyesi. 168 00:07:20,130 --> 00:07:24,810 Yani burada, bu daha küçük 22 ve 22 daha büyüktür. 169 00:07:24,810 --> 00:07:26,390 Ve bu ikili arama ağacı. 170 00:07:26,390 --> 00:07:28,900 Neden biz denir sizce İkili arama ağacı? 171 00:07:28,900 --> 00:07:30,651 Ne algoritma size hatırlatıyor? 172 00:07:30,651 --> 00:07:31,650 HEDEF KİTLE: İkili arama. 173 00:07:31,650 --> 00:07:32,480 HANNAH BLUMBERG: İkili arama. 174 00:07:32,480 --> 00:07:35,150 Eğer arıyorsanız Çünkü Bu ağacın özellikle sayı, 175 00:07:35,150 --> 00:07:38,800 Her noktada, sadece vuruş yapabilir büyük ağacın yarı kapalı. 176 00:07:38,800 --> 00:07:43,800 Ve böylece, bize bir şey vermek için gidiyor Bu ikili arama çok benziyor. 177 00:07:43,800 --> 00:07:45,870 Sorusu olan? 178 00:07:45,870 --> 00:07:47,570 Pekala, serin. 179 00:07:47,570 --> 00:07:48,560 >> Pekala, çalışır. 180 00:07:48,560 --> 00:07:49,657 Herkesin favori. 181 00:07:49,657 --> 00:07:51,990 Yani bu örnek, olduğu Sınıfta bir demet gördüm. 182 00:07:51,990 --> 00:07:54,710 Ve yine, bu sadece başka bir şeydir Biz veri saklayabilir yolu. 183 00:07:54,710 --> 00:07:57,530 Sözlük durumunda, yine, Bu sadece dizeleri olacak. 184 00:07:57,530 --> 00:08:00,870 Yani aslında bu ne görelim biraz daha düşük bir düzeyde benzer. 185 00:08:00,870 --> 00:08:03,690 >> Yani bir göz atalım Bir tray bir düğüm at. 186 00:08:03,690 --> 00:08:07,532 Ve biz, tamam orada oluyor, bakın Boolean bir düğümü olarak, 187 00:08:07,532 --> 00:08:09,170 Bir düğüme bir işaretçi. 188 00:08:09,170 --> 00:08:11,400 Ve biz görüyoruz Boolean is_word olarak adlandırılır. 189 00:08:11,400 --> 00:08:13,490 Bu nedenle esas olarak, işte bu karşılık gidiyor 190 00:08:13,490 --> 00:08:16,750 Bu küçük üçgenler hangi Burada ele verdik, eğer diyor 191 00:08:16,750 --> 00:08:19,100 Eğer tam bir kelime buldum. 192 00:08:19,100 --> 00:08:23,670 >> Biliyoruz ki "Turing" üzerinde Burada tam bir kelime, 193 00:08:23,670 --> 00:08:28,030 oysa sadece T-U-R bir kelime değil Biz o küçük delta görmüyorum çünkü. 194 00:08:28,030 --> 00:08:31,440 Ve o küçük delta, yine Bu is_word tekabül 195 00:08:31,440 --> 00:08:34,480 Bu Boole is_word. 196 00:08:34,480 --> 00:08:36,320 Ve sonra biz çocuklar bir dizi var. 197 00:08:36,320 --> 00:08:39,860 Eğer, her seviyede Yani Belirli bir düğüme sahip, 198 00:08:39,860 --> 00:08:42,470 ve bir o düğüm noktaları Tüm alfabesinin dizisi. 199 00:08:42,470 --> 00:08:44,346 >> Yani tekrar görebilirsiniz, Bu resim-- içinde ben 200 00:08:44,346 --> 00:08:48,170 geri atlama devam edecek ve forth-- bu üstünde dizilere 201 00:08:48,170 --> 00:08:51,640 Farklı bir grup var Bunun kapalı geliyor düğümleri. 202 00:08:51,640 --> 00:08:57,140 Eğer isterseniz 26 veya 27 sahiptir ekstra karakter dahil etmek. 203 00:08:57,140 --> 00:09:01,320 Ve bu bizi bir verir Bizim veri depolamak için bir yol 204 00:09:01,320 --> 00:09:04,450 baktı edilebilir şekilde Bu süper hızlı bakabilirsiniz. 205 00:09:04,450 --> 00:09:06,650 Bir tray için arama süresi nedir? 206 00:09:06,650 --> 00:09:07,970 >> HEDEF KİTLE: [duyulamaz]. 207 00:09:07,970 --> 00:09:08,300 >> HANNAH BLUMBERG: Evet. 208 00:09:08,300 --> 00:09:09,550 Teorik olarak, sabit bir zaman. 209 00:09:09,550 --> 00:09:13,230 Sadece boyutu olacak Eğer aramak istediğiniz sözcüğü. 210 00:09:13,230 --> 00:09:15,950 Biz zillion eklemek bile Bizim tray için daha fazla kelime, 211 00:09:15,950 --> 00:09:18,160 Bizi almaya gitmiyor artık belirlenmesi 212 00:09:18,160 --> 00:09:19,690 Belirli bir sözcük tray ise. 213 00:09:19,690 --> 00:09:21,412 Yani gerçekten çok güzel. 214 00:09:21,412 --> 00:09:23,697 >> HEDEF KİTLE: Sadece seni mi Bu diziyi başlatmak? 215 00:09:23,697 --> 00:09:24,780 Bir nokta veya iki kaçırdı. 216 00:09:24,780 --> 00:09:26,130 Sadece hakkında konuşabilir miyiz Bir saniye mi? 217 00:09:26,130 --> 00:09:26,680 >> HANNAH BLUMBERG: Tabii, kesinlikle. 218 00:09:26,680 --> 00:09:27,590 İyi soru. 219 00:09:27,590 --> 00:09:31,140 Soru oldu var bir dizi var 220 00:09:31,140 --> 00:09:34,180 olarak düğüm yıldızı olacak Tamam, sadece düğüme karşı? 221 00:09:34,180 --> 00:09:35,180 Güzel. 222 00:09:35,180 --> 00:09:37,990 Yani burada biz dediklerini Bizim dizi sadece olduğunu 223 00:09:37,990 --> 00:09:40,035 Diğer dizilere işaretçiler olacak. 224 00:09:40,035 --> 00:09:42,910 Dolayısıyla bu tür onu essentially-- var Bu şekilde bir bağlantılı liste gibi hissediyor 225 00:09:42,910 --> 00:09:46,620 nerede bu çocukların her biri Sadece bir sonraki düğüme işaret etmektedir. 226 00:09:46,620 --> 00:09:49,030 >> Ve yol biz aslında Tamam, hey, belirlemek, 227 00:09:49,030 --> 00:09:52,320 biz entire yineledi ettik kelime, sözlükte bu kelime, 228 00:09:52,320 --> 00:09:54,476 Biz sadece bu is_word kontrol edin. 229 00:09:54,476 --> 00:09:55,100 Büyük soru. 230 00:09:55,100 --> 00:09:55,675 Evet. 231 00:09:55,675 --> 00:09:56,216 HEDEF KİTLE: Tamam. 232 00:09:56,216 --> 00:09:57,470 Yani tray için çalışma zamanı neydi? 233 00:09:57,470 --> 00:09:58,386 >> HANNAH BLUMBERG: Elbette. 234 00:09:58,386 --> 00:10:01,852 Bir tray için çalışma Yani arama sabit zaman olacak. 235 00:10:01,852 --> 00:10:04,310 Yani sadece olacak kelimenin harf sayısı. 236 00:10:04,310 --> 00:10:06,310 Bu bağımlı değil Sözlük büyüklüğü 237 00:10:06,310 --> 00:10:09,510 veya veri yapısının boyutu. 238 00:10:09,510 --> 00:10:12,170 Yani burada biraz daha basit bir örnek. 239 00:10:12,170 --> 00:10:15,430 >> Bu durumda, bunu görebiliyorum sözcük yarasa sözlükte olduğunu 240 00:10:15,430 --> 00:10:18,900 ve zoom var, ama hayvanat bahçesi gibi bir şey yok. 241 00:10:18,900 --> 00:10:20,050 Nasıl hayvanat bahçesini yapmak istiyorsunuz? 242 00:10:20,050 --> 00:10:24,276 Biz hayvanat bahçesi için nasıl eklerim bizim Sözlük, bizim trayın mi? 243 00:10:24,276 --> 00:10:24,776 Evet. 244 00:10:24,776 --> 00:10:27,014 >> HEDEF KİTLE: is_word olun Gerçek [inaudible] için. 245 00:10:27,014 --> 00:10:27,930 HANNAH BLUMBERG: İyi. 246 00:10:27,930 --> 00:10:31,731 Bu yüzden Z-O-O söyleyebilirim, ve sonra biz çok zevkli olur hem de o kutuyu kapatmak kontrol etmek istiyorum. 247 00:10:31,731 --> 00:10:32,230 Büyük. 248 00:10:32,230 --> 00:10:35,160 249 00:10:35,160 --> 00:10:37,930 En çok kısaca bir karşılaştırma yapalım hash tabloları karşısında çalışır. 250 00:10:37,930 --> 00:10:39,770 Denemeleri gerçekten harika Çünkü, biz söylediğimiz gibi, 251 00:10:39,770 --> 00:10:41,610 Onlar sürekli zamanlı arama sağlar. 252 00:10:41,610 --> 00:10:44,285 Ama büyük bir dezavantaj onlar koskocaman olduğun. 253 00:10:44,285 --> 00:10:46,160 Sen anlamda alabilirsiniz, Hatta ona bakarak, 254 00:10:46,160 --> 00:10:48,454 o almaya gidiyor bu bellek büyük miktarda. 255 00:10:48,454 --> 00:10:50,620 Bu yüzden fazla olması için gidiyoruz hash tabloları daha büyük, 256 00:10:50,620 --> 00:10:52,270 ama onlar vermek için gidiyoruz Bizi çok daha hızlı arama süreleri. 257 00:10:52,270 --> 00:10:54,478 Yani bu tür senin Tradeoff, sen umurumda, ne 258 00:10:54,478 --> 00:10:57,350 o hız veya bellek olsun. 259 00:10:57,350 --> 00:11:02,251 Bu herhangi Herhangi bir sorunuz, C veri yapıları bütün. 260 00:11:02,251 --> 00:11:02,750 Güzel. 261 00:11:02,750 --> 00:11:03,250 TAMAM. 262 00:11:03,250 --> 00:11:07,322 Biz biraz geçmek için gidiyoruz Maria ile web geliştirme biraz. 263 00:11:07,322 --> 00:11:08,280 MARIA ZLATKOVA: Güzel. 264 00:11:08,280 --> 00:11:09,036 TAMAM. 265 00:11:09,036 --> 00:11:10,380 >> HANNAH BLUMBERG: Sen benim laptop kullanabilirsiniz. 266 00:11:10,380 --> 00:11:11,255 >> MARIA ZLATKOVA: Nice. 267 00:11:11,255 --> 00:11:13,320 268 00:11:13,320 --> 00:11:14,912 Tamam iyi. 269 00:11:14,912 --> 00:11:17,120 Biz web şimdi taşımak gibi geliştirme, biz biraz konuştuk 270 00:11:17,120 --> 00:11:20,680 Değişen izinleri hakkında dosya ve dizinleri 271 00:11:20,680 --> 00:11:24,190 böylece onlar erişilebilir diğer kullanıcılara, dünyaya, 272 00:11:24,190 --> 00:11:28,640 ve böylece biz nasıl görebilirsiniz temelde biz bunları iletebilirsiniz 273 00:11:28,640 --> 00:11:32,600 Biz web siteleri gibi şeyler geliştirmek zaman biz çoğunlukla yapıyorum. 274 00:11:32,600 --> 00:11:36,400 >> Bu yüzden chmod komutunu gördüm, hangi temelde, değişim modu. 275 00:11:36,400 --> 00:11:39,300 Bu bir Linux komut var ve bu erişim izinlerini değiştirir 276 00:11:39,300 --> 00:11:40,410 Dosya sistemi nesneleri. 277 00:11:40,410 --> 00:11:43,370 Ve bir dosya sistemi nesne Sadece bir dizin, dosya, 278 00:11:43,370 --> 00:11:46,810 herhangi bir şey yapabilirsiniz izinlerini değiştirin. 279 00:11:46,810 --> 00:11:53,750 >> Yani dosya izinlerini görmek için, Biz komut ls, liste, -l yazın. 280 00:11:53,750 --> 00:11:56,500 Ve biz bu yazdığınızda, biz genellikle bazı izinleri görmek 281 00:11:56,500 --> 00:11:59,660 bu gibi çeşit bakmak Bir dizin adının önünde. 282 00:11:59,660 --> 00:12:01,260 Yani d dizinine başvuruyor. 283 00:12:01,260 --> 00:12:05,930 Ve sonra biz üç var gizli suç şebekesi temelde 284 00:12:05,930 --> 00:12:11,675 ya izinleri bakın Bir kullanıcı, bir grup veya dünya. 285 00:12:11,675 --> 00:12:16,490 >> Izinleri türleri ki biz insan bu üç grup için var 286 00:12:16,490 --> 00:12:20,830 w okuma ya da r vardır yazma ve yürütme x. 287 00:12:20,830 --> 00:12:23,650 Ve biz o olabilir grup ve dünya da. 288 00:12:23,650 --> 00:12:26,940 Zor bir şey olduğunu bazen Biz chmod komutunu yazdığınızda, 289 00:12:26,940 --> 00:12:32,960 bazı numarayı yazarsınız Üç bit oluşuyordu. 290 00:12:32,960 --> 00:12:36,990 Yani biz böyle yapabilirdi 777 ve bu temelde 291 00:12:36,990 --> 00:12:40,450 katma değer de ifade Bu üçlü her birinin 292 00:12:40,450 --> 00:12:45,060 r 4 başvurmak istiyorum, çünkü w olur 2 bakın ve x 1 bakın istiyorsunuz, 293 00:12:45,060 --> 00:12:50,020 böylece, her numaraya kadar eklendiğinde kümülatif sayı aşağı gelirdi 294 00:12:50,020 --> 00:12:52,750 0 ile 7 arasında kümülatif bir değere. 295 00:12:52,750 --> 00:12:55,150 Bu yüzden de 0 olabilir hiç izinleri. 296 00:12:55,150 --> 00:12:58,200 Ve bu temelde bize verecekti Her iki kullanıcı için izinler, 297 00:12:58,200 --> 00:13:00,450 grup veya dünya. 298 00:13:00,450 --> 00:13:02,620 Şimdiye kadar bu konuda herhangi bir soru var mı? 299 00:13:02,620 --> 00:13:05,331 >> HEDEF KİTLE: okuduğunuzu dedi 4 oldu? 300 00:13:05,331 --> 00:13:06,164 MARIA ZLATKOVA: Evet. 301 00:13:06,164 --> 00:13:07,568 HEDEF KİTLE: [duyulamaz]. 302 00:13:07,568 --> 00:13:08,504 HANNAH BLUMBERG: Evet. 303 00:13:08,504 --> 00:13:11,790 HEDEF KİTLE: Ve sonra tüm bu ekleyerek başkalarının numaranızı işaret eder. 304 00:13:11,790 --> 00:13:12,665 MARIA ZLATKOVA: Evet. 305 00:13:12,665 --> 00:13:14,970 Evet. 306 00:13:14,970 --> 00:13:17,810 Bunlar harika sorulardır. 307 00:13:17,810 --> 00:13:20,490 Güzel. 308 00:13:20,490 --> 00:13:25,340 Sonra, HTML ve a atladı web geliştirme konusunda biraz daha. 309 00:13:25,340 --> 00:13:27,990 Yani HTML sadece anlamına gelir HyperText Markup Language. 310 00:13:27,990 --> 00:13:30,460 Ve bu biçimlendirme Standart olan dil 311 00:13:30,460 --> 00:13:32,720 web sayfaları oluşturmak için kullanılan söyledi. 312 00:13:32,720 --> 00:13:35,750 >> Bir biçimlendirme dili denir aslında derlenmiş değil çünkü. 313 00:13:35,750 --> 00:13:40,310 Bu nasıl bazı kod gerekir demiyor idam ya da böyle bir şey olabilir. 314 00:13:40,310 --> 00:13:44,800 Sadece delineates ve nasıl bir web tarif 315 00:13:44,800 --> 00:13:46,840 sayfa kurmak gerekir kendi elemanlarının her biri ile 316 00:13:46,840 --> 00:13:48,460 ve onlar kullanıcıya nasıl görünmesi gerektiğini. 317 00:13:48,460 --> 00:13:53,090 318 00:13:53,090 --> 00:13:57,110 >> HTML etiketleri Bazı biz gitti şunlardır. 319 00:13:57,110 --> 00:14:00,500 Bizim HTML belgelerinin tamamı DOCTYPE html ile başladı. 320 00:14:00,500 --> 00:14:02,550 Sonra hep html etiketine sahip. 321 00:14:02,550 --> 00:14:03,930 Biz bir baş ve bir vücuda sahip. 322 00:14:03,930 --> 00:14:07,890 Ve HTML sahip olması önemlidir iç içe yapısı bu tür 323 00:14:07,890 --> 00:14:09,280 çok açık çünkü. 324 00:14:09,280 --> 00:14:13,200 Ve sonra çok açık olduğunda biz Aslında yakın etiketleri açıp gerekir. 325 00:14:13,200 --> 00:14:18,400 Ve biz her zaman kapatmanız gerekir biz açtık etiketleri. 326 00:14:18,400 --> 00:14:23,170 >> Ve burada türlerinden bazıları var biz istiyoruz önde şeyler. 327 00:14:23,170 --> 00:14:26,580 Yani biz var, örneğin, CS50 başlığı. 328 00:14:26,580 --> 00:14:31,980 Ve sonra biz aslında Bir stil sayfası bağlayabilirsiniz 329 00:14:31,980 --> 00:14:34,030 biz sitemizi tarzı nasıl tanımlar. 330 00:14:34,030 --> 00:14:35,650 Yani CSS. 331 00:14:35,650 --> 00:14:39,320 Biz bunun üzerine gitmek için gidiyoruz yanı sıra slayt önümüzdeki birkaç. 332 00:14:39,320 --> 00:14:42,580 >> Bünyesinde, biz set Bazı sınıfları ve kimlikleri. 333 00:14:42,580 --> 00:14:45,860 Ve bir hatırlatma olarak, yine, Kimlikleri benzersiz ve sınıfları 334 00:14:45,860 --> 00:14:47,390 birden çok öğe atanabilir. 335 00:14:47,390 --> 00:14:52,110 Ve bu sadece anlamına gelir Biz sınıfları ve kimlikleri kullanabilirsiniz 336 00:14:52,110 --> 00:14:55,860 böylece diğer structures-- içinde için örneğin CSS dosyaları veya stil içinde 337 00:14:55,860 --> 00:15:00,940 Belirli parçalara atıfta bulunmak için sheets-- ve temelde stil istiyoruz söylüyorlar 338 00:15:00,940 --> 00:15:03,280 ya da bazı eleman tasarımı Bazı özel bir şekilde. 339 00:15:03,280 --> 00:15:06,440 Ve biz onlara atıfta Onların kimlikleri ve sınıflar. 340 00:15:06,440 --> 00:15:09,870 Ve biz de başvurabilirsiniz hem de etiketleri farklı şeyler, 341 00:15:09,870 --> 00:15:13,830 ancak kimlikleri ve sınıflar sadece bize biraz ver çok yönlülük ve özellikle ne 342 00:15:13,830 --> 00:15:15,850 başvurmak istiyorum. 343 00:15:15,850 --> 00:15:19,620 >> Yani sadece bir örnektir. 344 00:15:19,620 --> 00:15:22,730 Biz içinde, yine can Bir CSS dosyası nerede 345 00:15:22,730 --> 00:15:25,770 Bazı tanımlamak istediğiniz style-- renkler, yazı tipleri, böylece 346 00:15:25,770 --> 00:15:30,340 ve malzeme elimizden ki- gibi Bir vücut için stili tanımlayın. 347 00:15:30,340 --> 00:15:32,640 Yani o tanımlarsınız Tüm vücut etiketi için. 348 00:15:32,640 --> 00:15:36,160 Ama o zaman biz de tanımlayabilirsiniz Bir #title için bir stil. 349 00:15:36,160 --> 00:15:40,390 Ve yine, hashtag değinmektedir eden Kimlik ve nokta bizim sınıfa gelir. 350 00:15:40,390 --> 00:15:44,760 >> Sonra .info için biz Ayrıca bazı özelliklerini ayarlayabilirsiniz. 351 00:15:44,760 --> 00:15:49,750 Biz geri döndüğünüzde Ve yine, biz bizim sınıf bilgisi ve kimlik başlık denir. 352 00:15:49,750 --> 00:15:53,422 Ve biz bakın görebilirsiniz bunlara #title ve .info göre. 353 00:15:53,422 --> 00:15:55,380 HEDEF KİTLE: Eğer söyleyebilir misiniz başlık etiketi [? Beni evlat? ?] 354 00:15:55,380 --> 00:15:55,725 MARIA ZLATKOVA: Üzgünüm? 355 00:15:55,725 --> 00:15:58,120 HEDEF KİTLE: Eğer söyleyebilir misiniz başlık etiketi [? Beni evlat? ?] 356 00:15:58,120 --> 00:16:01,400 MARIA ZLATKOVA: Hashtag İD, yani #title demektir 357 00:16:01,400 --> 00:16:07,890 ne olursa olsun elemanlara değinmektedir başlık olarak adlandırılan bu kimliği var. 358 00:16:07,890 --> 00:16:10,735 Sonra nokta grubunu belirtir. 359 00:16:10,735 --> 00:16:14,590 Bu yüzden, bu Info elemanına değinmektedir sınıf bilgisi vardır çünkü. 360 00:16:14,590 --> 00:16:15,090 Aynen. 361 00:16:15,090 --> 00:16:17,905 >> HEDEF KİTLE: Neden do you HTML ayırt? 362 00:16:17,905 --> 00:16:20,985 Neden bazı şeyler vardır diyorsunuz Kimlikleri ve bazı şeyler sınıf? 363 00:16:20,985 --> 00:16:22,610 MARIA ZLATKOVA: Bu Ve sizlere sadece kalmış 364 00:16:22,610 --> 00:16:24,151 HANNAH BLUMBERG: soruyu tekrarlayın. 365 00:16:24,151 --> 00:16:25,370 MARIA ZLATKOVA: Oh, üzgünüm. 366 00:16:25,370 --> 00:16:29,480 Neden bazı unsurları ayırt edebiliriz kimlikleri ve sınıflar gibi diğer unsurlar olarak? 367 00:16:29,480 --> 00:16:34,760 O çünkü bu sadece var Gerçekten genellikle tasarım seçim. 368 00:16:34,760 --> 00:16:38,520 Size bir sürü verir olmak çok yönlülük 369 00:16:38,520 --> 00:16:43,250 Ben bu özel maddeyi istiyorum söylemek mümkün istedikleri için bu kimliği var 370 00:16:43,250 --> 00:16:45,300 bir çok şey yapmak Bunun, ve ben sadece 371 00:16:45,300 --> 00:16:50,010 Bir stil tanımlamak istediğiniz belirli tarzı Bu öğe için veya renk ne olursa olsun. 372 00:16:50,010 --> 00:16:52,630 Ve yol yapmak Sadece bir kimlik vererek olduğunu. 373 00:16:52,630 --> 00:16:55,060 >> Ve sonra ben istiyorum var farklı öğeleri bir çift 374 00:16:55,060 --> 00:16:58,940 olan, bunun yerine bu gidiyor ve their-- ayarı 375 00:16:58,940 --> 00:17:03,840 Bunun yerine bunu yapıyor etiket etiketi olur, çünkü 376 00:17:03,840 --> 00:17:07,369 Bütün etiketi için hücreyi ayarlamak Her zaman için bu etiketi kullanılır 377 00:17:07,369 --> 00:17:09,740 Eğer birden çok öğe için bir sınıf ayarlayabilirsiniz. 378 00:17:09,740 --> 00:17:15,109 Ve sonra sadece o sınıf erişebilir ve söylemek Bu sınıf bu şekilde stil istiyorum. 379 00:17:15,109 --> 00:17:17,579 >> Ve yine, sınıf can Birden fazla farklı öğeler olabilir 380 00:17:17,579 --> 00:17:21,150 ve kimlik özgü olması gerekmektedir. 381 00:17:21,150 --> 00:17:21,849 Büyük sorular. 382 00:17:21,849 --> 00:17:25,339 Başka soru? 383 00:17:25,339 --> 00:17:26,220 Tamam, müthiş. 384 00:17:26,220 --> 00:17:30,680 385 00:17:30,680 --> 00:17:35,330 Yine, bu nasıl bu seçiciler olduğunu hashtag ile CSS başvurulan, 386 00:17:35,330 --> 00:17:40,031 nokta ile, ya için bir şey olmadan Bazı etiketinin stilini atama, 387 00:17:40,031 --> 00:17:40,530 vücut gibi. 388 00:17:40,530 --> 00:17:43,500 389 00:17:43,500 --> 00:17:47,860 Ve burada genel var Bu nasıl yapılır sözdizimi. 390 00:17:47,860 --> 00:17:52,830 391 00:17:52,830 --> 00:17:55,680 >> Bazı iyi tekrarlamak için HTML ve CSS için uygulamalar, 392 00:17:55,680 --> 00:17:59,170 biz, yine yakın tüm ihtiyaç Biz açmak HTML etiketleri. 393 00:17:59,170 --> 00:18:03,950 Ve seni tavsiye ne son projeler için yapmak, 394 00:18:03,950 --> 00:18:10,560 ve CS50 Finans olarak yapmaktır HTML tüm doğrular emin olun. 395 00:18:10,560 --> 00:18:12,920 Ve bu W3 Validator ile yapılır. 396 00:18:12,920 --> 00:18:16,940 >> Ve yaptığımız o zaman ve ne Yaptığımız tavsiye neler 397 00:18:16,940 --> 00:18:19,790 bu yüzden, stil ayıran Biçimlendirme HTML CSS. 398 00:18:19,790 --> 00:18:24,210 Nasıl ilgilidir Yani her şey Sayfanız görsel bakmak için gidiyor 399 00:18:24,210 --> 00:18:27,330 ve nasıl modifiye edilmesi gidiyor CSS belgeye gitmek gerekir. 400 00:18:27,330 --> 00:18:33,880 Ve sonra biçimlendirme nasıl şeyler söyleyerek birbirine göre olan, HTML 401 00:18:33,880 --> 00:18:37,550 ve o içeri gitmeli HTML belgeleri. 402 00:18:37,550 --> 00:18:38,590 Sorusu olan? 403 00:18:38,590 --> 00:18:39,226 Mhm. 404 00:18:39,226 --> 00:18:42,628 >> HEDEF KİTLE: Tam olarak ne oluyor sayfa doğrulama ile ilgili 405 00:18:42,628 --> 00:18:47,945 Biz doğrulama yaparken [Duyulamaz] oluşturulan HTML? 406 00:18:47,945 --> 00:18:49,850 >> MARIA ZLATKOVA: Yani seni düşünüyorum ne--. 407 00:18:49,850 --> 00:18:53,020 Peki tam olarak ne oluyor sayfa doğrulama ile ilgili 408 00:18:53,020 --> 00:18:55,570 ve neden bunu yapmak gerekiyor? 409 00:18:55,570 --> 00:18:59,180 Temelde, biz bunu yapmak zorunda Çünkü bir çok kez, tarayıcı, 410 00:18:59,180 --> 00:19:01,390 Eğer bir etiket kapatmak yoksa Ya da bunun gibi bir şey, 411 00:19:01,390 --> 00:19:05,680 Tarayıcınız hala gidiyor Bir sayfa oluşturmak ve hala işe yarayabilecek, 412 00:19:05,680 --> 00:19:10,840 ama en iyi uygulama emin olun var Eğer, yine, tüm etiketleri kapattıktan 413 00:19:10,840 --> 00:19:13,190 Tüm unsurları olduğunu onlar olması gerektiği şekilde, 414 00:19:13,190 --> 00:19:18,470 ve gereğidir temelde önceden ayarlanmıştır sözleşmeler. 415 00:19:18,470 --> 00:19:21,970 >> Bu, yine, var sadece şey sen-meli 416 00:19:21,970 --> 00:19:24,040 yapıyor olması öğreniyor, zorunda aksine 417 00:19:24,040 --> 00:19:25,696 Böyle sloppier kod falan. 418 00:19:25,696 --> 00:19:26,688 Evet. 419 00:19:26,688 --> 00:19:27,680 Ah özür dilerim. 420 00:19:27,680 --> 00:19:29,221 Ben elinizi yükselterek sanıyordum. 421 00:19:29,221 --> 00:19:31,240 HEDEF KİTLE: Hayır, sadece [duyulamaz] oldu. 422 00:19:31,240 --> 00:19:33,800 >> MARIA ZLATKOVA: Tamam. 423 00:19:33,800 --> 00:19:34,640 >> HEDEF KİTLE: Teşekkür ederim. 424 00:19:34,640 --> 00:19:36,181 >> MARIA ZLATKOVA: Tabii ki, teşekkür ederim. 425 00:19:36,181 --> 00:19:41,680 Yani yine, nasıl içine gidiyor bilgi aktarılır 426 00:19:41,680 --> 00:19:44,630 ve iletişim modelleri bilgileri aktarmak için. 427 00:19:44,630 --> 00:19:45,730 TCP / IP. 428 00:19:45,730 --> 00:19:48,600 TCP sadece Şanzıman demektir Denetim Protokolü ve IP 429 00:19:48,600 --> 00:19:51,260 Internet Protokolü anlamına gelir. 430 00:19:51,260 --> 00:19:54,275 Ve bu sadece atıfta yol verisi teslim edilir. 431 00:19:54,275 --> 00:19:59,470 432 00:19:59,470 --> 00:20:02,710 >> Bazı veri varsa o bu nedenle sen-- teslim ihtiyacı 433 00:20:02,710 --> 00:20:06,770 Belirli bir sunucu için bir talepte. 434 00:20:06,770 --> 00:20:09,800 Örneğin, zaman cs50.net erişmeye çalıştığınızda, 435 00:20:09,800 --> 00:20:12,420 biz bir isteği yapmak CS50 sunucusu ve 436 00:20:12,420 --> 00:20:14,720 Biz almak istiyorum görmek bilgi bu tür. 437 00:20:14,720 --> 00:20:19,294 Ve sonra bu protokol dayalı Bu bilgilerin teslim edilir nasıl, 438 00:20:19,294 --> 00:20:21,460 Sunucu bilgi verir bize geri istemci. 439 00:20:21,460 --> 00:20:25,590 Ve sonra biz görmek mümkün değil sayfanın bilgiler 440 00:20:25,590 --> 00:20:26,390 ve daha sonra kullanılır. 441 00:20:26,390 --> 00:20:29,300 442 00:20:29,300 --> 00:20:33,050 >> Öyleyse Köprü Metni Aktarım Protokolü sadece başka bir protokol ya ayarlayın 443 00:20:33,050 --> 00:20:37,470 sözleşmelerin bu nasıl tanımlar web tarayıcı ve web sunucusu 444 00:20:37,470 --> 00:20:38,890 iletmelidir. 445 00:20:38,890 --> 00:20:43,730 Ve tüm bu koyarak Birlikte, HTTP, yine, 446 00:20:43,730 --> 00:20:50,960 Sadece bu köprü tanımlanmış nasıl tanımlar biz bunu çalışıyoruz HTML ile, 447 00:20:50,960 --> 00:20:59,500 size teslim edilmelidir nasıl ve nasıl size teslim olduğunu veri 448 00:20:59,500 --> 00:21:00,540 size alır. 449 00:21:00,540 --> 00:21:05,990 >> Siz hatırlarsanız Ve bu yüzden Bir sınıftan, biz istekleri bir sürü vardı 450 00:21:05,990 --> 00:21:08,970 ve biz sözdizimi bir sürü vardı Biz konum bu istekleri 451 00:21:08,970 --> 00:21:10,250 Şu anda üzerinde gidecek. 452 00:21:10,250 --> 00:21:13,270 Yani yine, biz ne zaman göndermek Bir sunucuya bir istek, 453 00:21:13,270 --> 00:21:15,920 Biz birkaç şey tanımlamak zorunda. 454 00:21:15,920 --> 00:21:18,520 Yani biz türünü bulmak gerek Talep biz kuruyoruz söyledi. 455 00:21:18,520 --> 00:21:22,180 Ve yine, var, örneğin, GET yöntemi bir türüdür 456 00:21:22,180 --> 00:21:25,290 Bizim isteği var. 457 00:21:25,290 --> 00:21:31,710 >> Ve sonra HTTP / 1.1 adildir Şu anda kullanmakta olduğunuz protokolü. 458 00:21:31,710 --> 00:21:34,224 459 00:21:34,224 --> 00:21:36,890 Çoğu zaman, bu oluyor biz kullanıyoruz protokole. 460 00:21:36,890 --> 00:21:40,290 Eğer bir soru varsa yüzden senin sınavda böyle. 461 00:21:40,290 --> 00:21:43,120 Bu sözleşmeler var biz bugüne kadar var. 462 00:21:43,120 --> 00:21:46,580 >> Backslash Ne tür anlamına gelir şeyleri biz isteyerek ediyoruz. 463 00:21:46,580 --> 00:21:52,810 Sonra, ana bilgisayar, bu, örneğin, bir dava, biz google.com gitmek için çalışıyoruz. 464 00:21:52,810 --> 00:21:57,070 Yani bu bir konak için değerdir. 465 00:21:57,070 --> 00:21:59,330 Bu talebin bir türüdür Bu gönderilebilir. 466 00:21:59,330 --> 00:22:02,890 >> Yanıtın bir tür ve o olabilir gönderilen, yine bu protokol dayalı, 467 00:22:02,890 --> 00:22:05,190 yine, HTTP / 1.1. 468 00:22:05,190 --> 00:22:07,150 Yani HTTP sürümü tekrar var. 469 00:22:07,150 --> 00:22:09,730 200 OK sadece durum kodudur. 470 00:22:09,730 --> 00:22:12,860 Ve bu Tamam, sadece bir ifade olduğunu Bu durum koduna dayalı. 471 00:22:12,860 --> 00:22:15,520 >> Ve sonra Content-Type Çeşidi değinmektedir 472 00:22:15,520 --> 00:22:20,295 o ise size iade edilir Eğer aldığınız web sayfası için 473 00:22:20,295 --> 00:22:22,570 ve tarayıcınızda o sonradan hale getirebilir. 474 00:22:22,570 --> 00:22:24,401 Ve o metin / html 'dir. 475 00:22:24,401 --> 00:22:26,660 >> HEDEF KİTLE: 1.1 ne anlama geliyor? 476 00:22:26,660 --> 00:22:29,910 >> MARIA ZLATKOVA: Bu sadece var versiyon of-- oh, 1.1 ne anlama geliyor? 477 00:22:29,910 --> 00:22:37,075 Bu sadece sürüm, HTTP biz kullanıyoruz protokol sürümü. 478 00:22:37,075 --> 00:22:37,700 Büyük soru. 479 00:22:37,700 --> 00:22:38,366 Diğer sorular? 480 00:22:38,366 --> 00:22:41,222 481 00:22:41,222 --> 00:22:45,080 >> HEDEF KİTLE: Eğer Özetle misiniz Content-Type çabucak? 482 00:22:45,080 --> 00:22:48,150 >> MARIA ZLATKOVA: Böylece Ne sunucusudur. 483 00:22:48,150 --> 00:22:51,020 ne information-- türü içerik türü sorular oldu. 484 00:22:51,020 --> 00:22:53,400 Böylece türü oldu Eğer geri almak bilgiler 485 00:22:53,400 --> 00:22:58,200 sunucunun, tipi gelen veri tarayıcı sonra olabilir ki 486 00:22:58,200 --> 00:23:00,604 Eğer kullandığınızdan emin kılıyor. 487 00:23:00,604 --> 00:23:03,020 HEDEF KİTLE: bu ne böyle mi protokol yapmanı söylüyor? 488 00:23:03,020 --> 00:23:03,390 MARIA ZLATKOVA: Üzgünüm? 489 00:23:03,390 --> 00:23:05,380 HEDEF KİTLE: protokol ne demek mi? 490 00:23:05,380 --> 00:23:05,915 MARIA ZLATKOVA: protocol-- 491 00:23:05,915 --> 00:23:07,940 İZLEYİCİ: -Ne Content-Type veya ne-- 492 00:23:07,940 --> 00:23:12,040 MARIA ZLATKOVA: Protokol dayanır on-- söylüyorum protokol nedir? 493 00:23:12,040 --> 00:23:16,070 Bu sadece yolu Bu bilgi bu 494 00:23:16,070 --> 00:23:18,610 Size teslim edildi tabanlı protokolün ne tür üzerinde 495 00:23:18,610 --> 00:23:21,830 Bu bilgiler var oldu size geri teslim etti. 496 00:23:21,830 --> 00:23:23,500 Bu mantıklı tür mu? 497 00:23:23,500 --> 00:23:28,320 498 00:23:28,320 --> 00:23:30,070 HANNAH BLUMBERG: Sen protokolün düşünebilirsiniz 499 00:23:30,070 --> 00:23:33,300 bir-- gibi Profesör düşünüyorum Malan nitelendirdi 500 00:23:33,300 --> 00:23:36,910 olarak tür bir- gibi sınıfta o gibi İnsan tokalaşma eşdeğer. 501 00:23:36,910 --> 00:23:44,930 Gibi, hey, ben bir istek duyuyorum, Say ve ben 1.1 sürümü ve HTTP nasıl işleneceğini biliyoruz. 502 00:23:44,930 --> 00:23:48,770 Ve sonra sunucu, diyor Tamam, ah, ben- hem mevcut. 503 00:23:48,770 --> 00:23:51,337 Ben de HTTP / 1.1 ile nasıl başa biliyorum. 504 00:23:51,337 --> 00:23:53,170 Ve ben vereceğim Bazı içerik geri. 505 00:23:53,170 --> 00:23:56,230 Bu durumda, bu oluyor türü text / html olmak. 506 00:23:56,230 --> 00:23:58,480 Dolayısıyla bu tür bir yolu Bunların communicating-- için 507 00:23:58,480 --> 00:24:00,480 >> MARIA ZLATKOVA: Bu sadece sen doğrulayan 508 00:24:00,480 --> 00:24:03,290 her ikisi de aynı, aşağıdaki Protokol ve her iki 509 00:24:03,290 --> 00:24:06,620 İstemci ve server-- böylece tarayıcı ve server-- 510 00:24:06,620 --> 00:24:09,280 sıralama sen biliyor bahsediyoruz var ve 511 00:24:09,280 --> 00:24:12,557 verilerdeki geçiş için kongre. 512 00:24:12,557 --> 00:24:17,022 >> HEDEF KİTLE: Yani Content-Type part-- Content-Type text / html-- işte 513 00:24:17,022 --> 00:24:18,521 Aynı mesajın ayrı bir parçası mı? 514 00:24:18,521 --> 00:24:20,509 Ya da en, 200 diyelim parçasıdır? 515 00:24:20,509 --> 00:24:22,010 200 Onlara o ya o-- söylüyor mu 516 00:24:22,010 --> 00:24:23,770 >> MARIA ZLATKOVA: 200 tüm Tamam gitti diyor. 517 00:24:23,770 --> 00:24:27,900 Ve sonra içerik türü bir çeşit Aynı mesajın ayrı bir parçası, 518 00:24:27,900 --> 00:24:34,274 ve bir şey söyleyerek ben İade text / html bu tür vardır. 519 00:24:34,274 --> 00:24:35,690 Bu sadece daha fazla bilgi veriyor. 520 00:24:35,690 --> 00:24:38,700 521 00:24:38,700 --> 00:24:39,995 Eklemek istediğiniz bir şey var mı? 522 00:24:39,995 --> 00:24:40,495 TAMAM. 523 00:24:40,495 --> 00:24:43,590 524 00:24:43,590 --> 00:24:46,530 >> Bu konuda Başka soru? 525 00:24:46,530 --> 00:24:48,370 Başar. 526 00:24:48,370 --> 00:24:54,070 Yani başka bir HTTP durumları bu Biz 200 OK ek olarak alabilir 527 00:24:54,070 --> 00:24:59,500 belki gördüğümüz olanlar muhtemelen çok 403 ve 404 bulunmaktadır. 528 00:24:59,500 --> 00:25:05,190 Yani 404, sen çalıştığınız takdirde yok erişim şey. 529 00:25:05,190 --> 00:25:10,460 Örneğin Yani kayıt CS50 Finans psets, 530 00:25:10,460 --> 00:25:15,640 Eğer quote.html render olsaydı ve bu dosyayı yoktu, 531 00:25:15,640 --> 00:25:19,740 ancak bunun yerine o, quote.php vardı 404 neden olacaktır Bulunamadı 532 00:25:19,740 --> 00:25:21,600 Dosya mevcut olmayabilir çünkü. 533 00:25:21,600 --> 00:25:25,690 >> Bir 403 için bu, yasak izinleri anlamına gelir. 534 00:25:25,690 --> 00:25:31,150 Bazı dosya ile değil okunabilir Yani eğer Dünya, bir 403 döndürdü alabilirsiniz. 535 00:25:31,150 --> 00:25:34,510 536 00:25:34,510 --> 00:25:37,810 Bazıları size olabilir 301, Kalıcı Taşındı get--; 537 00:25:37,810 --> 00:25:41,300 302, Bulunan; 304, Modifiye; 400 Bad Request; 538 00:25:41,300 --> 00:25:47,330 ve daha sonra Internal Server Error 500 ve 503, Hizmet kullanılamıyor. 539 00:25:47,330 --> 00:25:48,140 Evet. 540 00:25:48,140 --> 00:25:51,490 >> HEDEF KİTLE: Will biz bekleniyor Tüm bu durumları ezberlemek? 541 00:25:51,490 --> 00:25:53,739 MARIA ZLATKOVA: ben olurdu onları hile kağıda. 542 00:25:53,739 --> 00:25:55,146 [KAHKAHA] 543 00:25:55,146 --> 00:25:59,954 HEDEF KİTLE: Biz bekleniyor mısınız Her birini tetikleyen biliyor musun? 544 00:25:59,954 --> 00:26:00,995 MARIA ZLATKOVA: Onlar mı? 545 00:26:00,995 --> 00:26:03,870 HANNAH BLUMBERG: biz ettik olanlar için böylece soru into-- koşmak Ben-- 546 00:26:03,870 --> 00:26:08,010 MARIA ZLATKOVA: Onlar bekleniyor mısınız Bu durumu her ne birini tanıyorum 547 00:26:08,010 --> 00:26:09,330 kodlar tarafından tetiklenen olabilir? 548 00:26:09,330 --> 00:26:13,240 Kullandığımız olanlar için Yani ve koştu, evet, derdi. 549 00:26:13,240 --> 00:26:16,610 Bu yüzden kesinlikle 200 gördüm Tamam ve psets bunu dersleri verdi. 550 00:26:16,610 --> 00:26:19,071 Biz, 404 403 gördüm. 551 00:26:19,071 --> 00:26:20,550 Diğerleri için? 552 00:26:20,550 --> 00:26:22,690 >> HANNAH BLUMBERG: I would 500 adil bir oyun gibi görünüyor söylüyorlar. 553 00:26:22,690 --> 00:26:23,330 >> MARIA ZLATKOVA: 500, evet. 554 00:26:23,330 --> 00:26:24,246 >> HANNAH BLUMBERG: Evet. 555 00:26:24,246 --> 00:26:27,006 Sadece genel bir duygusu var Onları neden ne. 556 00:26:27,006 --> 00:26:28,880 Ve de sadece bu isimleri yapabilirsiniz tür 557 00:26:28,880 --> 00:26:32,890 gibi eğitimli bir tahmin olarak yapmak Neye aslında onları neden oldu. 558 00:26:32,890 --> 00:26:36,919 Örneğin, büyük olasılıkla, kalıcı hareket Dosya kalıcı taşındı. 559 00:26:36,919 --> 00:26:39,328 >> HEDEF KİTLE: Ama önceki on Sınav, bir o kadar oldu 560 00:26:39,328 --> 00:26:41,050 bunu nasıl cevap bizi bekliyorsunuz? 561 00:26:41,050 --> 00:26:42,883 >> HANNAH BLUMBERG: That Sıfır puan değerinde oldu. 562 00:26:42,883 --> 00:26:45,870 Çaydanlık üzerine 418 soru teknik bir HTTP durum olduğunu 563 00:26:45,870 --> 00:26:47,090 ama sıfır puan değerinde oldu. 564 00:26:47,090 --> 00:26:48,320 Açıkçası, sen değilsin bunları bilmek bekleniyor. 565 00:26:48,320 --> 00:26:49,670 >> HEDEF KİTLE: Gerçek bir biri mi? 566 00:26:49,670 --> 00:26:51,970 >> HANNAH BLUMBERG: Bu bir gerçek biri, ama bu bir şey ifade etmiyor. 567 00:26:51,970 --> 00:26:52,700 Sadece bir şaka. 568 00:26:52,700 --> 00:26:55,480 569 00:26:55,480 --> 00:26:57,010 Internet insanlar komik. 570 00:26:57,010 --> 00:26:59,680 >> MARIA ZLATKOVA: Büyük sorular, çocuklar. 571 00:26:59,680 --> 00:27:01,452 Başka soru? 572 00:27:01,452 --> 00:27:04,891 >> HEDEF KİTLE: iç sunucu hatası nedir? 573 00:27:04,891 --> 00:27:06,640 MARIA ZLATKOVA: Dahili Sunucu hatası sadece 574 00:27:06,640 --> 00:27:10,050 kaldın demektir iletişim kuramıyor 575 00:27:10,050 --> 00:27:13,400 nedense sunucu ile. 576 00:27:13,400 --> 00:27:15,400 Yani ille değil yapmak zorunda şey 577 00:27:15,400 --> 00:27:19,170 Böyle istemcisi falan. 578 00:27:19,170 --> 00:27:22,170 Ben herhangi bir özel örnek bilmiyorum Biz açıklamak için üzerine gittim ki 579 00:27:22,170 --> 00:27:23,000 ama evet. 580 00:27:23,000 --> 00:27:23,250 >> HANNAH BLUMBERG: Elbette. 581 00:27:23,250 --> 00:27:25,625 Yani, örneğin, gibi atalım Eğer mashup üzerinde çalışıyor söylüyorlar 582 00:27:25,625 --> 00:27:30,440 ve Google sunucu bazıları için aşağı indi nedeni, bir elektrik kesintisi, diyelim. 583 00:27:30,440 --> 00:27:33,400 Bu bir iç sunucu olurdu Hata ya da bir çeşit size ister of-- 584 00:27:33,400 --> 00:27:34,630 Bir yanıt geri almak olmaz. 585 00:27:34,630 --> 00:27:35,260 >> MARIA ZLATKOVA: Evet. 586 00:27:35,260 --> 00:27:37,050 Sen ne zaman bu sadece iletişim kuramıyor 587 00:27:37,050 --> 00:27:40,299 nedense çünkü için sunucu ile aşağı gidiyor ya da başka bir nedenle evi. 588 00:27:40,299 --> 00:27:44,430 589 00:27:44,430 --> 00:27:47,690 Yani PHP içine atlama. 590 00:27:47,690 --> 00:27:49,930 PHP, HTML aksine, bir olduğunu Programlama dili. 591 00:27:49,930 --> 00:27:54,820 Ve biz o çünkü kullanmaya başladı web geliştirme için çok yararlı. 592 00:27:54,820 --> 00:27:56,940 >> Biz ilk CS50 Finans kullandı. 593 00:27:56,940 --> 00:28:02,240 Ve bu temelde bize getirir Birlikte bu biçimlendirme, tasarım, 594 00:28:02,240 --> 00:28:07,460 ve biz aslında bilgileri nasıl kullandıkları Bir web sayfasında bir şeyler göstermek için. 595 00:28:07,460 --> 00:28:11,870 PHP Yani kendisi PHP anlamına gelir Hypertext Preprocessor, 596 00:28:11,870 --> 00:28:15,360 bu yüzden kendi başına bir özyinelemeli backnorym var. 597 00:28:15,360 --> 00:28:22,330 Ve PHP etiketlerini açarak biz sol Soru işaretleri ile ve sağ okları 598 00:28:22,330 --> 00:28:23,060 ve php. 599 00:28:23,060 --> 00:28:25,890 >> Yani biz zaten bir demet gördüm. 600 00:28:25,890 --> 00:28:29,150 Şimdi, biz sadece gitmek için gidiyoruz Bu konuda temel bazı şeyleri. 601 00:28:29,150 --> 00:28:32,280 PHP ile, değişken So isimleri dolar işareti ile başlar. 602 00:28:32,280 --> 00:28:35,660 Biz, yine, belirtmezseniz Değişken artık yazın. 603 00:28:35,660 --> 00:28:38,450 Biz C ile yaptığı gibi, biz bunu gerek yok. 604 00:28:38,450 --> 00:28:41,670 605 00:28:41,670 --> 00:28:44,490 >> Biz farklı bir demet yapabilirsiniz değişkenlerle şeyler. 606 00:28:44,490 --> 00:28:47,750 Biz bunları bir araya koyabilirsiniz Onları birleştirerek 607 00:28:47,750 --> 00:28:52,900 Nokta gösteriminin ile hangi Biz yine C yapamadık. 608 00:28:52,900 --> 00:28:57,490 Yine, biz biraz daha çok yönlülük var değişkenler açısından PHP ile. 609 00:28:57,490 --> 00:29:00,080 Yine, bir ana işlevi yok. 610 00:29:00,080 --> 00:29:03,370 >> Ve PHP yorumlanır derlenmiş aksine 611 00:29:03,370 --> 00:29:09,970 Yani sadece biz C dosyaları yaptınız mı nasıl Biz PHP için bunu yapmak zorunda değilsiniz. 612 00:29:09,970 --> 00:29:15,440 Ama doğrusu, yol dili olduğunu kendisi tarafından çalıştırılan, bu yorumlanır. 613 00:29:15,440 --> 00:29:18,550 Ve sonra gevşek daktilo Sadece biz demektir 614 00:29:18,550 --> 00:29:22,490 bir değişken belirtmek zorunda değilsiniz tipi ve değişken tipleri 615 00:29:22,490 --> 00:29:25,415 Zamanında anlaşılmaktadır. 616 00:29:25,415 --> 00:29:29,185 >> HEDEF KİTLE: Ama ne yaptım nokta birleştirme demek? 617 00:29:29,185 --> 00:29:30,060 MARIA ZLATKOVA: Elbette. 618 00:29:30,060 --> 00:29:37,660 Biz beraberken- şeyler koymak istediğinizde eğer öyleyse biz biraz değişken vardı 619 00:29:37,660 --> 00:29:41,500 3 değeri vardı ve biz başka vardı dize değeri vardı değişken, 620 00:29:41,500 --> 00:29:45,920 Beraber değişkenleri koyabilirsiniz Aralarında bir nokta koyarak 621 00:29:45,920 --> 00:29:46,970 ve bunları birleştirerek. 622 00:29:46,970 --> 00:29:52,670 Ya da oluşturabilirsiniz Değişken olarak adlandırılan isim 623 00:29:52,670 --> 00:29:56,900 ve bir araya koymak İki dizeleri bitiştirmek. 624 00:29:56,900 --> 00:30:00,680 >> Yani eğer biz çift bir dize vardı tırnak ve biz ondan sonra bir nokta koymak 625 00:30:00,680 --> 00:30:03,660 ve sonra o, başka bir dize vardı tamamen bir dize yaratacak. 626 00:30:03,660 --> 00:30:05,242 >> HEDEF KİTLE: Tamam. 627 00:30:05,242 --> 00:30:06,450 MARIA LETONYA: o temizlemek miydi? 628 00:30:06,450 --> 00:30:07,099 HEDEF KİTLE: Evet. 629 00:30:07,099 --> 00:30:07,890 MARIA ZLATKOVA: Tamam. 630 00:30:07,890 --> 00:30:08,766 Evet. 631 00:30:08,766 --> 00:30:11,146 >> HEDEF KİTLE: diyorsunuz yorumlanmış ziyade derlenmiş, 632 00:30:11,146 --> 00:30:14,160 Size bahsediyoruz değil olduğu gibi belirli olması gerekir 633 00:30:14,160 --> 00:30:15,906 o C karşı PHP geliyor? 634 00:30:15,906 --> 00:30:18,085 635 00:30:18,085 --> 00:30:20,710 MARIA ZLATKOVA: biz demek derlenmiş karşı olarak yorumlanır, 636 00:30:20,710 --> 00:30:21,850 ne demek istiyorsun? 637 00:30:21,850 --> 00:30:26,220 Yani biz ihtiyacımız yok demektir çalıştırılabilir dosyaları PHP çalıştırmak için. 638 00:30:26,220 --> 00:30:29,870 O gider gibi çalıştığı anlamına gelir. 639 00:30:29,870 --> 00:30:31,650 bu mantıklı mı? 640 00:30:31,650 --> 00:30:32,495 Biraz daha. 641 00:30:32,495 --> 00:30:34,620 HANNAH BLUMBERG: Yani bir tercüman düşünebilirsiniz 642 00:30:34,620 --> 00:30:38,980 sorumlu başka bir program olarak PHP ile satır satır gidiş için 643 00:30:38,980 --> 00:30:42,745 aksine aslında, onu yürütme ikiliye aşağı tüm derleme. 644 00:30:42,745 --> 00:30:46,050 Aslında hiçbir şey demek değildir Biz olması gereken ne kadar belirli hakkında. 645 00:30:46,050 --> 00:30:49,470 Biz hala hassas olması gerekiyor ve yok senin noktalı virgül unutmak ve emin olun 646 00:30:49,470 --> 00:30:51,470 Eğer senin dolar işareti ve bunun gibi şeyler. 647 00:30:51,470 --> 00:30:52,240 İyi soru. 648 00:30:52,240 --> 00:30:53,115 >> MARIA ZLATKOVA: Evet. 649 00:30:53,115 --> 00:30:55,590 Yani çizgi hattı ile aynı C dosyaları ile karşı, 650 00:30:55,590 --> 00:30:59,100 biz bütün finalini yapmak zorunda biz aslında çalıştırmadan önce. 651 00:30:59,100 --> 00:31:00,360 Bu temel fark bu. 652 00:31:00,360 --> 00:31:02,655 Fakat yine de, yapamayız gerçekten daha az spesifik olmak. 653 00:31:02,655 --> 00:31:08,760 654 00:31:08,760 --> 00:31:13,950 Yani PHP diziler temsil aslında sıralı bir harita. 655 00:31:13,950 --> 00:31:17,550 >> Tuşlara diziler ortak değerler yüzden. 656 00:31:17,550 --> 00:31:23,350 Iki yolu bir ilan Dizi, bu sözdizimi dayalı, 657 00:31:23,350 --> 00:31:26,380 Biz daha açık olabilir diyerek biz bir dizi var 658 00:31:26,380 --> 00:31:31,010 ve biz eşleştiren bu anahtar1 var değer2 eşler bu değer1, key2. 659 00:31:31,010 --> 00:31:34,660 Ya da biz sadece bir dizi oluşturabilirsiniz bu değerler kendisini içerir 660 00:31:34,660 --> 00:31:38,360 ve sonra tuşlar şekilde anlaşılacaktır. 661 00:31:38,360 --> 00:31:40,000 Bu konuda herhangi bir sorunuz? 662 00:31:40,000 --> 00:31:42,500 >> HEDEF KİTLE: Ne olur tuşları İkinci örnekte olacak? 663 00:31:42,500 --> 00:31:47,100 664 00:31:47,100 --> 00:31:47,920 0, 1, 2, 3? 665 00:31:47,920 --> 00:31:50,650 666 00:31:50,650 --> 00:31:55,780 >> MARIA ZLATKOVA Örneğin, bu sadece Bu anahtarlar mutlaka yok 667 00:31:55,780 --> 00:31:56,550 bir farklılık yarat. 668 00:31:56,550 --> 00:32:01,720 Onlar sadece nasıl yapabilirsiniz tanımlamak bunun içinde değerleri kullanın. 669 00:32:01,720 --> 00:32:08,660 Yani eğer bir foreach vardı PHP döngü o olur 670 00:32:08,660 --> 00:32:14,760 Hepimizi değerlere geçmesi için izin tüm değerleri üzerinden gidebilirsiniz, 671 00:32:14,760 --> 00:32:19,570 bile biz veya tanımlanmış olmasaydı sitenin içinde belirli bir anahtar 672 00:32:19,570 --> 00:32:20,820 Bir önceki sözdizimi. 673 00:32:20,820 --> 00:32:23,460 >> Bu yüzden bile bu tür dizinin, biz hala olabilir 674 00:32:23,460 --> 00:32:26,260 Bir foreach döngü var her geçer 675 00:32:26,260 --> 00:32:31,240 Dizideki anahtar değerleri. 676 00:32:31,240 --> 00:32:36,180 Bir foreach sözdizimi So Döngü, biz bir dizi ile başlar. 677 00:32:36,180 --> 00:32:38,720 678 00:32:38,720 --> 00:32:43,900 Bu $ dizi değişkeni bizim gerçek dizidir önceki slaytta tanımlanan 679 00:32:43,900 --> 00:32:47,550 Kelimenin tam anlamıyla gider değer olarak değerlerin her birinden, 680 00:32:47,550 --> 00:32:50,122 bağımsız olarak bağımsız olarak Biz anahtar vardı ya da değil. 681 00:32:50,122 --> 00:32:53,080 Ve sonra bir şeyler yapabiliriz foreach döngüsü içinde bir değer. 682 00:32:53,080 --> 00:32:57,730 Yani yine, eğer biz bir dizi vardı Bu burada created-- gibi 683 00:32:57,730 --> 00:33:03,270 bu yüzden foo ve değerinin anahtar bar, baz anahtar ve qux-- değeri 684 00:33:03,270 --> 00:33:09,730 Biz bir foreach döngüsü olabileceğini anahtar değeri olarak dizide geçer 685 00:33:09,730 --> 00:33:11,900 ve sonra bir şeyler yapmak anahtar ve / veya değer ile. 686 00:33:11,900 --> 00:33:15,980 Ama biz mutlaka her zaman değil Bir foreach bu döngüler olması 687 00:33:15,980 --> 00:33:19,410 değere anahtarı harita olarak diziye geçer. 688 00:33:19,410 --> 00:33:26,060 Biz gidebilirsiniz değer olarak foreach döngüsü dizisi. 689 00:33:26,060 --> 00:33:28,990 >> HANNAH BLUMBERG: Ve bence soru, aşağıdaki amaçlara ne 690 00:33:28,990 --> 00:33:31,229 örtülü indeksi nedir? 691 00:33:31,229 --> 00:33:31,895 HEDEF KİTLE: Kinda. 692 00:33:31,895 --> 00:33:32,240 MARIA ZLATKOVA: Oh. 693 00:33:32,240 --> 00:33:33,406 HANNAH BLUMBERG: Evet, evet. 694 00:33:33,406 --> 00:33:36,150 Yani temelde, belirttiğiniz yoksa anahtar, bu 01 olacak. 695 00:33:36,150 --> 00:33:37,140 >> MARIA ZLATKOVA: Evet. 696 00:33:37,140 --> 00:33:41,718 Sadece C gibi, sıfır var Bir anahtar belirtmezseniz endeksli. 697 00:33:41,718 --> 00:33:42,384 HEDEF KİTLE: Özür dilerim. 698 00:33:42,384 --> 00:33:43,827 Eğer konuşma deneyebilirsiniz Biraz daha yüksek sesle? 699 00:33:43,827 --> 00:33:45,270 Ben biraz yaşıyorum sorun her şeyi işitme. 700 00:33:45,270 --> 00:33:46,478 >> MARIA ZLATKOVA: Çok üzgünüm. 701 00:33:46,478 --> 00:33:48,439 Evet tabi ki. 702 00:33:48,439 --> 00:33:50,230 Yani bana istiyorsun Yine bu gitmek için? 703 00:33:50,230 --> 00:33:51,680 Ya da bu-- olduğunu 704 00:33:51,680 --> 00:33:54,930 HEDEF KİTLE: Önceki slide-- eğer So Sadece bir saniye geri gidebiliriz. 705 00:33:54,930 --> 00:33:57,313 MARIA ZLATKOVA: Tabii ki, üzgünüm. 706 00:33:57,313 --> 00:33:59,237 HEDEF KİTLE: Yani ikinci Burada dizi değil 707 00:33:59,237 --> 00:34:04,135 anahtar bir değer var gibi görünüyor, çeşit [? nedensellik. ?] 708 00:34:04,135 --> 00:34:05,343 MARIA ZLATKOVA: Doğru, doğru. 709 00:34:05,343 --> 00:34:07,608 HEDEF KİTLE: Peki nasıl işliyor derken hepsi ya da hiçbiri bu. 710 00:34:07,608 --> 00:34:08,969 Bana göre, bu gibi görünüyor Bir [? foo?] zaten. 711 00:34:08,969 --> 00:34:10,093 >> MARIA ZLATKOVA: Evet, evet. 712 00:34:10,093 --> 00:34:12,969 Yani yine, bu bir olduğunu Bu anlamda sipariş harita 713 00:34:12,969 --> 00:34:15,639 Orada anladım ki, Örneğin, indeksler 714 00:34:15,639 --> 00:34:20,159 Burada 0, 1, 2, 3 olarak anlaşılabilir. 715 00:34:20,159 --> 00:34:25,929 Yine, sahip olanlar bu indeksler bizim eşdeğerdir 716 00:34:25,929 --> 00:34:28,980 değerleri eşleştirilmektedir tuşlu. 717 00:34:28,980 --> 00:34:34,710 Yani eğer bizim anahtar 0-- üzüldüm. 718 00:34:34,710 --> 00:34:36,524 >> HANNAH BLUMBERG: Hayır, Orada burada tebeşir var. 719 00:34:36,524 --> 00:34:36,929 Aslında çok güzel. 720 00:34:36,929 --> 00:34:37,460 >> MARIA ZLATKOVA: Bu harika. 721 00:34:37,460 --> 00:34:38,260 TAMAM. 722 00:34:38,260 --> 00:34:49,489 Yani yine, $ dizi 0 olacaktır değeri 1 tuşuna basın. 723 00:34:49,489 --> 00:34:51,138 0 değeri 1 için anahtar olacaktır. 724 00:34:51,138 --> 00:34:51,971 İZLEYİCİ: Üzgünüm. 725 00:34:51,971 --> 00:34:53,190 Bu görünmez. 726 00:34:53,190 --> 00:34:53,659 >> HANNAH BLUMBERG: boşver Pekala. 727 00:34:53,659 --> 00:34:54,980 Tebeşir kötü bir fikirdi. 728 00:34:54,980 --> 00:34:58,030 Onu geri almak. 729 00:34:58,030 --> 00:35:01,425 Siz tuşları düşünebilirsiniz değerine 1-0 haritalar gibi. 730 00:35:01,425 --> 00:35:02,300 MARIA ZLATKOVA: Evet. 731 00:35:02,300 --> 00:35:04,630 Yani bu, 0, 1, bu, 2, 3 'tür. 732 00:35:04,630 --> 00:35:05,760 Bunlar senin anahtarları olabilir. 733 00:35:05,760 --> 00:35:10,020 Sen evet as-- onları düşünüyorum olabilir. 734 00:35:10,020 --> 00:35:12,740 Bunun yerine sahip açık anahtarlar, onlar 735 00:35:12,740 --> 00:35:17,180 tür olarak anlaşılan indeksleri 0 başlayan. 736 00:35:17,180 --> 00:35:21,630 737 00:35:21,630 --> 00:35:24,820 Tebeşir yardım etmedi. 738 00:35:24,820 --> 00:35:25,722 Evet. 739 00:35:25,722 --> 00:35:30,914 >> HEDEF KİTLE: foreach döngüsü için, Biz değer olarak görmek istiyorsa, 740 00:35:30,914 --> 00:35:33,245 0'a sadece otomatik endeksi ki? 741 00:35:33,245 --> 00:35:34,120 MARIA ZLATKOVA: Evet. 742 00:35:34,120 --> 00:35:35,745 Bu değerlerin her biri ile gitmek istiyorum. 743 00:35:35,745 --> 00:35:39,130 HEDEF KİTLE: [duyulamaz] olarak 0 veya sadece 0 yapardın? 744 00:35:39,130 --> 00:35:43,710 >> MARIA ZLATKOVA: Sen olurdu Daha sonra dolar işareti gibi söylemek 745 00:35:43,710 --> 00:35:46,266 Bazı değişken ismi, değer. 746 00:35:46,266 --> 00:35:47,182 HEDEF KİTLE: [duyulamaz]. 747 00:35:47,182 --> 00:35:50,048 748 00:35:50,048 --> 00:35:50,964 MARIA ZLATKOVA: Üzgünüm? 749 00:35:50,964 --> 00:35:52,839 HEDEF KİTLE: Üzgünüm, ben Sadece hatırlamaya çalışıyorum. 750 00:35:52,839 --> 00:35:57,190 Bunu yapabilirsin yapmak olsaydı nasıl otomatik indeksleme sadece 0 mi? 751 00:35:57,190 --> 00:36:00,780 >> MARIA ZLATKOVA: Peki bunu nasıl yapacağını Belirli anahtar adları yoktu? 752 00:36:00,780 --> 00:36:01,710 >> HEDEF KİTLE: Evet. 753 00:36:01,710 --> 00:36:07,820 >> MARIA ZLATKOVA: Sadece define-- olur sadece bazı isim olarak kendinizi söylüyorlar. 754 00:36:07,820 --> 00:36:17,950 Yani psets olarak, sizler belki $ satır olarak foreach $ satır hatırlıyorum, 755 00:36:17,950 --> 00:36:24,610 Biz kendimiz diyerek bu $ satır yarattı Biz $ satır olarak satıra geçmek istiyorum. 756 00:36:24,610 --> 00:36:28,360 Biz yoktu olsa bile satırlar tanımlı Bu açık $, 757 00:36:28,360 --> 00:36:31,990 biz sadece gidip olabilir Bu bizim anahtar olabilir demek 758 00:36:31,990 --> 00:36:33,615 ve sadece değerlerinin her geçmesi. 759 00:36:33,615 --> 00:36:37,295 760 00:36:37,295 --> 00:36:41,660 >> HEDEF KİTLE: Yani değer, yeni bir değişken Biz [duyulamaz] saklamak için yaratıyorsunuz? 761 00:36:41,660 --> 00:36:46,820 762 00:36:46,820 --> 00:36:49,990 >> MARIA ZLATKOVA: Peki o değil doğal, yeni bir değişken. 763 00:36:49,990 --> 00:37:00,310 Bu ifade eden bir değişken var Bunların her biri dizinin içinde. 764 00:37:00,310 --> 00:37:02,060 HANNAH BLUMBERG: It Yeni bir değişken adı. 765 00:37:02,060 --> 00:37:04,018 MARIA ZLATKOVA: Evet, yeni bir değişken adı, 766 00:37:04,018 --> 00:37:06,680 ama evet inherently-- değil. 767 00:37:06,680 --> 00:37:08,950 Bu sadece yeni bir değişken var Bunu yapabilirsiniz. 768 00:37:08,950 --> 00:37:12,680 Dolayısıyla, sadece nasıl yaptığımız do $ $ satır, satır satır olarak 769 00:37:12,680 --> 00:37:17,980 Yeni değişken adı oldu biz Bizim foreach döngüsü yaratabilir. 770 00:37:17,980 --> 00:37:22,065 O önce önceden varolmasaydı zorunda değildir. 771 00:37:22,065 --> 00:37:25,777 >> HEDEF KİTLE: Eğer geçmesi misiniz Orada örnek kullanarak her mantık? 772 00:37:25,777 --> 00:37:26,610 MARIA ZLATKOVA: Mhm. 773 00:37:26,610 --> 00:37:31,240 774 00:37:31,240 --> 00:37:32,080 Ah özür dilerim. 775 00:37:32,080 --> 00:37:33,780 İşte örnek. 776 00:37:33,780 --> 00:37:34,280 Elbette. 777 00:37:34,280 --> 00:37:38,950 Yani her yani array-- bu diziye gitmek demektir 778 00:37:38,950 --> 00:37:43,930 Bu value-- anahtar olarak gidiyor Bu diziye geçmesi 779 00:37:43,930 --> 00:37:49,480 ilk, gidin ve foo olsun Anahtar foo ve değer çubuğu. 780 00:37:49,480 --> 00:37:51,570 Ve daha sonra ikinci on for döngüsü yineleme, 781 00:37:51,570 --> 00:37:55,090 o geçmesi ve almaya gidiyor Anahtar baz ve değer qux. 782 00:37:55,090 --> 00:38:00,512 Ve sonra birlikte bir şeyler yapabiliriz Bunlardan biri veya her ikisi de. 783 00:38:00,512 --> 00:38:03,488 >> HEDEF KİTLE: Yani arkasındaki fikir değerine anahtar noktasına sahip olan, 784 00:38:03,488 --> 00:38:07,470 Eğer erişen ne sonuna kadar mı? 785 00:38:07,470 --> 00:38:10,680 >> MARIA ZLATKOVA: Fikir nedir önemli bir işaret değeri zorunda? 786 00:38:10,680 --> 00:38:16,400 Bu sadece bir kongre, başka var dizinin geçiyor yolu 787 00:38:16,400 --> 00:38:22,600 ve edememek ya erişmek için anahtar veya değer ya da her ikisi ve bunları kullanmak. 788 00:38:22,600 --> 00:38:27,100 >> HEDEF KİTLE: rol nedir foreach içinde çalıştığını sipariş? 789 00:38:27,100 --> 00:38:29,250 Biz eklemek için olsaydı Yani dizi elemanları sonra, 790 00:38:29,250 --> 00:38:32,140 Bu ilk olanlar olacak foreach dizisi olarak adlandırılan, 791 00:38:32,140 --> 00:38:33,750 ya da sonradan olurdu? 792 00:38:33,750 --> 00:38:37,770 >> MARIA ZLATKOVA: Peki nedir foreach bu düzen 793 00:38:37,770 --> 00:38:39,210 loop bir dizide geçer? 794 00:38:39,210 --> 00:38:42,220 İlk geçer son öğeye eleman, 795 00:38:42,220 --> 00:38:43,400 Son eklenen eleman. 796 00:38:43,400 --> 00:38:48,020 Daha sonra öğeleri eklerseniz, bunlar olur birinci elemanlar olur accessed-- olmak 797 00:38:48,020 --> 00:38:51,410 İlk olarak erişilebilir dizinin öğeleri, 798 00:38:51,410 --> 00:38:57,620 ve sonra her aracılığıyla gitmek istiyorum Bir ordered-- tür gibi unsurlar 799 00:38:57,620 --> 00:39:02,930 Bir emretti, ancak yol değil Onlar diziye konulmuştur. 800 00:39:02,930 --> 00:39:06,855 >> HEDEF KİTLE: Yani yeni unsurlar Daha sonra ilave edilir? 801 00:39:06,855 --> 00:39:10,680 Yani onlar olacak added-- ediyoruz [son olanlar? yineleme. ?] 802 00:39:10,680 --> 00:39:14,280 >> MARIA ZLATKOVA: yeni elemanlar can-- temelde, yeni unsurlar eklendiğinde, 803 00:39:14,280 --> 00:39:16,520 Onlar dizinin sonuna eklenir? 804 00:39:16,520 --> 00:39:17,632 >> HEDEF KİTLE: Evet. 805 00:39:17,632 --> 00:39:18,840 MARIA ZLATKOVA: Öyle inanıyorum. 806 00:39:18,840 --> 00:39:20,850 Evet. 807 00:39:20,850 --> 00:39:24,330 Ve sonra foreach döngüsü ile Eğer yeni unsurlar ekledik sonra 808 00:39:24,330 --> 00:39:26,790 ve onları geçmek, yeni unsurlar olur 809 00:39:26,790 --> 00:39:30,930 o ise, yeni elemanın accessed-- olmak Son eklenen son erişilebilir olacaktır. 810 00:39:30,930 --> 00:39:34,416 >> HEDEF KİTLE: Eğer sadece bir örnek verebilir şey bu olur [duyulamaz] 811 00:39:34,416 --> 00:39:37,404 değerine sahip bir şeyle [duyulamaz] veya değeri gibi, 812 00:39:37,404 --> 00:39:38,910 bunu nasıl biçimlendirmek istiyorum Seviyorum? 813 00:39:38,910 --> 00:39:39,785 >> MARIA ZLATKOVA: Elbette. 814 00:39:39,785 --> 00:39:42,340 815 00:39:42,340 --> 00:39:46,410 Ben bir örnek vereyim ne Biz değeri ile yapardınız? 816 00:39:46,410 --> 00:39:52,440 Yani siz aşina ne olabilir Biz bir dizi geçtiniz ki 817 00:39:52,440 --> 00:39:55,380 ve temelde baskılı elemanlarının her biri, 818 00:39:55,380 --> 00:40:00,910 örneğin, bir parçası olarak sıralı liste falan. 819 00:40:00,910 --> 00:40:02,674 Mantıklı ya da istiyoruz mu aşağıdaki amaçlara 820 00:40:02,674 --> 00:40:04,340 HEDEF KİTLE: Biz bu değerleri yazdırmak miyim? 821 00:40:04,340 --> 00:40:13,220 MARIA ZLATKOVA: Evet, biz baskı olabilir ve daha sonra temelde değeri, $ at çünkü 822 00:40:13,220 --> 00:40:16,570 belirli bir değer, biz olurdu bunun içinde değerini yazdırmak. 823 00:40:16,570 --> 00:40:20,150 Yani eğer bizim ilk tekrarda vardı ve bunun biz $ değer basılmış 824 00:40:20,150 --> 00:40:23,775 Biz bar yazdırmayı olacaktır. 825 00:40:23,775 --> 00:40:27,020 >> HEDEF KİTLE: için de vardır Are PHP döngüler ya da sadece foreach döngüsü? 826 00:40:27,020 --> 00:40:30,430 >> MARIA ZLATKOVA: var Ayrıca PHP döngüler için. 827 00:40:30,430 --> 00:40:33,399 Ve onların mantığı çoğunlukla Eğer kullanılan oldum ne aynı. 828 00:40:33,399 --> 00:40:34,690 HEDEF KİTLE: onun değeri null yüzden. 829 00:40:34,690 --> 00:40:35,090 MARIA ZLATKOVA: Aynı gibi. 830 00:40:35,090 --> 00:40:35,590 Evet. 831 00:40:35,590 --> 00:40:37,747 İZLEYİCİ: Ben sadece soracağım. 832 00:40:37,747 --> 00:40:39,695 Yani bir ilan zaman Dizi, sana ihtiyacım yok 833 00:40:39,695 --> 00:40:42,617 o gidiyor hangi boyutta anlatmak için yani olması sadece can 834 00:40:42,617 --> 00:40:44,417 eklemek ve elemanları [duyulamaz] götürmek. 835 00:40:44,417 --> 00:40:45,250 MARIA ZLATKOVA: Evet. 836 00:40:45,250 --> 00:40:45,750 Aynen. 837 00:40:45,750 --> 00:40:46,251 Kesinlikle. 838 00:40:46,251 --> 00:40:48,875 Biz bir diziyi bildirmek, biz ne boyutta söylemek gerekmez, 839 00:40:48,875 --> 00:40:51,022 Böylece biz sadece öğeleri ekleyebilir Daha sonra da o üzerine. 840 00:40:51,022 --> 00:40:55,075 841 00:40:55,075 --> 00:40:55,700 Daha çok soru? 842 00:40:55,700 --> 00:40:59,870 843 00:40:59,870 --> 00:41:05,950 Yani arada PHP ve HTML getirerek, ne de seen-- var, 844 00:41:05,950 --> 00:41:15,130 Örneğin, bu örnekte, elimizdeki bir giriş alanı olan bir HTML formu. 845 00:41:15,130 --> 00:41:18,830 >> Ve girdi alanı sadece adı ve sonra bir Gönder düğmesi vardır. 846 00:41:18,830 --> 00:41:26,040 Bastığınızda ve Gönder düğme, bizim merhaba.php dosyasında 847 00:41:26,040 --> 00:41:32,130 form için bir yöntem olduğu için olsun, biz isim de ne olursa olsun erişebilirsiniz 848 00:41:32,130 --> 00:41:40,360 Bu küresel değişkeni olsun o $ _GET olduğu için sözdizimi bu--. 849 00:41:40,360 --> 00:41:44,520 Ve sonra biz ne erişebilirsiniz adı bu form içinde kullanıcı girişi 850 00:41:44,520 --> 00:41:47,410 Bu alanın adını belirterek. 851 00:41:47,410 --> 00:41:51,480 852 00:41:51,480 --> 00:41:55,060 >> Başka bir soru veya herhangi bir bu özel örnek üzerine sorular? 853 00:41:55,060 --> 00:41:58,275 >> HEDEF KİTLE: PHP nerede? 854 00:41:58,275 --> 00:41:59,150 MARIA ZLATKOVA: Burayı. 855 00:41:59,150 --> 00:42:01,150 Yani bu PHP için açılış etikettir. 856 00:42:01,150 --> 00:42:01,530 >> HEDEF KİTLE: Ah, evet. 857 00:42:01,530 --> 00:42:02,363 >> MARIA ZLATKOVA: Evet. 858 00:42:02,363 --> 00:42:05,320 859 00:42:05,320 --> 00:42:09,609 >> HANNAH BLUMBERG:? = Kısaltmadır Bunun için PHP ve sadece yankı olduğunu. 860 00:42:09,609 --> 00:42:10,150 HEDEF KİTLE: Oh. 861 00:42:10,150 --> 00:42:10,720 MARIA ZLATKOVA: Evet, üzgünüm. 862 00:42:10,720 --> 00:42:12,040 Ben açıkça yapılmış olmalıdır. 863 00:42:12,040 --> 00:42:13,759 >> HANNAH BLUMBERG: Baskı. 864 00:42:13,759 --> 00:42:16,800 MARIA ZLATKOVA: Sadece fonksiyon var Bu bize bir şey yazdırmak için izin verir. 865 00:42:16,800 --> 00:42:19,795 866 00:42:19,795 --> 00:42:20,420 Büyük soru. 867 00:42:20,420 --> 00:42:24,140 868 00:42:24,140 --> 00:42:25,495 Yani evet going--. 869 00:42:25,495 --> 00:42:31,940 >> HEDEF KİTLE: Orada oldukça olacak mı PHP ve HTML el kodlama biraz 870 00:42:31,940 --> 00:42:33,450 sınav 1? 871 00:42:33,450 --> 00:42:36,310 872 00:42:36,310 --> 00:42:38,810 MARIA ZLATKOVA: a olabilir yorumlama adil bir miktar 873 00:42:38,810 --> 00:42:43,330 PHP ve HTML, ille kodlama büyük bir miktarı gibi, 874 00:42:43,330 --> 00:42:46,960 Eğer bir yazmak zorunda olabilir ama foreach döngüsü olsa da, for döngüsü. 875 00:42:46,960 --> 00:42:49,790 Halkaların herhangi biz Adil oyun burada kapak olduğunu. 876 00:42:49,790 --> 00:42:51,889 Ve çoğunlukla bu. 877 00:42:51,889 --> 00:42:53,430 HANNAH BLUMBERG: Ben hazırlıklı olacaktır. 878 00:42:53,430 --> 00:42:57,010 Aynı şekilde biz sizi istedi sınav 0 C fonksiyonları bir demet yazmak, 879 00:42:57,010 --> 00:42:59,766 Ben yapmaya hazır olacaktır PHP ve JavaScript aynı. 880 00:42:59,766 --> 00:43:00,640 MARIA ZLATKOVA: Evet. 881 00:43:00,640 --> 00:43:03,210 HANNAH BLUMBERG: söyleyebilirim değiliz gibi küçük-- 882 00:43:03,210 --> 00:43:06,251 gidiş Eğer büyük bir HTML yazmak yapmak Bu biraz sırf sayfa 883 00:43:06,251 --> 00:43:08,240 sıkıcı, ama sen parçalara sahip olabilir. 884 00:43:08,240 --> 00:43:09,310 Bu tamamen adil bir oyun. 885 00:43:09,310 --> 00:43:11,082 Küçük bir HTML sayfası gibi, tamamen adil. 886 00:43:11,082 --> 00:43:11,623 HEDEF KİTLE: Tamam. 887 00:43:11,623 --> 00:43:13,814 Peki JavaScript yanı? 888 00:43:13,814 --> 00:43:14,730 HANNAH BLUMBERG: Evet. 889 00:43:14,730 --> 00:43:15,250 JavaScript'in adil oyun. 890 00:43:15,250 --> 00:43:15,635 >> MARIA ZLATKOVA: Evet. 891 00:43:15,635 --> 00:43:16,801 Bu tamamen adil bir oyun. 892 00:43:16,801 --> 00:43:19,280 HANNAH BLUMBERG: Biz alırsınız gibi 10 dakika içinde o kadar. 893 00:43:19,280 --> 00:43:23,750 >> MARIA ZLATKOVA: SQL, yine, Yapılandırılmış sorgu dili. 894 00:43:23,750 --> 00:43:28,651 Temelde bize verileri yönetmek için izin verir Bir ilişkisel veritabanı yönetimi 895 00:43:28,651 --> 00:43:29,150 sistemi. 896 00:43:29,150 --> 00:43:31,149 Bu sadece temelde anlamına gelir biz bir yere sahip olduğunu 897 00:43:31,149 --> 00:43:37,980 Biz isteyebilirsiniz bazı verileri depolamak için Bir web sitesinde veya başka bir biçimde kullanın. 898 00:43:37,980 --> 00:43:42,190 Ve sonra biz almak sorgu var Bizim veritabanı bilgi, 899 00:43:42,190 --> 00:43:44,320 ya onlara bilgi eklemek için. 900 00:43:44,320 --> 00:43:47,560 Ortak ones-- UPDATE bir sürü INSERT, SELECT, ve DELETE. 901 00:43:47,560 --> 00:43:50,790 >> Yani UPDATE, bu sözdizimi Bir veritabanındaki verileri güncelleştirmek için. 902 00:43:50,790 --> 00:43:53,330 903 00:43:53,330 --> 00:43:57,340 Denilen bu tabloyu güncelleniyor SET söyleyerek tablo, 904 00:43:57,340 --> 00:44:04,170 Hepimizin bazı değerleri ayarlayabilirsiniz başka bir şey eşit satırları. 905 00:44:04,170 --> 00:44:09,410 Bu yüzden de bazı özel belirtebilirsiniz Biz Değiştirmek istediğiniz girdileri 906 00:44:09,410 --> 00:44:11,240 ve bu NEREDE kullanıyor olabilir. 907 00:44:11,240 --> 00:44:16,380 Ve biz sadece istediğinizi belirtebilirsiniz Bazı satırları değiştirmek nerede ev, 908 00:44:16,380 --> 00:44:19,830 Biz öğrencilerin bir tablo olsaydı ve tüm öğrenciler, ev vardı 909 00:44:19,830 --> 00:44:24,890 bu yüzden sadece bazı değerleri değiştirmek istiyorum Bir ev Currier eşittir, 910 00:44:24,890 --> 00:44:25,430 Örneğin. 911 00:44:25,430 --> 00:44:29,120 912 00:44:29,120 --> 00:44:31,800 >> INSERT için, ekleyebilirsiniz Bir tabloya belirli değerler. 913 00:44:31,800 --> 00:44:35,150 Yani INSERT INTO tablo, ve ve bu değerler, 914 00:44:35,150 --> 00:44:39,080 ve daha sonra parantez içinde, biz belirtmek hangi Eklemek istediğiniz değerleri. 915 00:44:39,080 --> 00:44:43,220 Yani masa, col1 INSERT INTO ve col2, değer val1 ve val2 olduğunu. 916 00:44:43,220 --> 00:44:48,930 Yani bu içine temelde yeni bir satır ekler değerleri 1 ve 2 içeren bir tablo 917 00:44:48,930 --> 00:44:50,850 sütun 1 ve 2 kapsamında. 918 00:44:50,850 --> 00:44:54,760 >> Ve sonra biz gitmek için gidiyoruz Bu nasıl görünüyor hızlı bir örnek 919 00:44:54,760 --> 00:44:56,310 biraz bizim veritabanı gibi. 920 00:44:56,310 --> 00:44:58,685 Ama bu son sorgu ben biz üzerinden gitmek için gidiyoruz düşünüyorum, 921 00:44:58,685 --> 00:45:01,450 SEÇ, sadece bize izin verir Bir tablodan veri seçmek için 922 00:45:01,450 --> 00:45:03,080 muhtemelen sonradan kullanmak için. 923 00:45:03,080 --> 00:45:05,830 Ve biz bunu yapmak yoludur biziz sadece bazı değişken saklayın. 924 00:45:05,830 --> 00:45:07,780 Ve sonra biz muhtemelen tekrar kullanabilirsiniz. 925 00:45:07,780 --> 00:45:10,260 >> Yani SEÇ yıldız tümünü seçmek anlamına gelir. 926 00:45:10,260 --> 00:45:13,280 Bu sadece bir steno var Tüm seçmek için. 927 00:45:13,280 --> 00:45:19,760 Masanın NEREDEN, biz arıyoruz bazı özel durumlar için, 928 00:45:19,760 --> 00:45:22,290 Böylece kolon eşittir Örneğin şey. 929 00:45:22,290 --> 00:45:24,410 Biz sadece isteseydik tablodan tüm seçin 930 00:45:24,410 --> 00:45:28,400 Bu sadece tüm sütunları seçer ve bir tablodan tüm satırları. 931 00:45:28,400 --> 00:45:32,040 >> Ve sonra masaya DELETE FROM NEREDE col şey eşittir, 932 00:45:32,040 --> 00:45:36,440 Bu sadece bazı siler masamıza kürek 933 00:45:36,440 --> 00:45:38,860 nerede bazı özel koşulları var. 934 00:45:38,860 --> 00:45:41,870 Bu durumda, şartlar olan sütun şey eşittir. 935 00:45:41,870 --> 00:45:43,460 Bu yüzden sadece hızlı bir örnek. 936 00:45:43,460 --> 00:45:49,100 Biz burada ve biz bu tabloyu varsa Bir tabloya yerleştirin, bu değerler, 937 00:45:49,100 --> 00:45:50,400 Bu yeni bir satır eklemek istiyorum. 938 00:45:50,400 --> 00:45:56,380 Oto-artış olsaydı, bu olurdu Sadece 2 0'dan 1'e bizim kimliğini artırmak. 939 00:45:56,380 --> 00:46:00,010 >> Öğrencilerden tüm seçtiyseniz, onu Sadece tüm alanları ve tüm satırları döndürür. 940 00:46:00,010 --> 00:46:02,430 Nerede yıl daha fazladır 2016 eşit veya, 941 00:46:02,430 --> 00:46:04,390 sadece dönecekti Hannah ve ben. 942 00:46:04,390 --> 00:46:08,360 Ve o zaman biz sadece seçtiyseniz Öğrencilerin DAN yıl id ve yıl 943 00:46:08,360 --> 00:46:11,710 nerede ev Cabot Evi yani, Yine, Hannah ve kendimi dönecekti. 944 00:46:11,710 --> 00:46:14,430 >> Sonra öğrencilerden silerseniz nerede name, Rob eşittir 945 00:46:14,430 --> 00:46:16,760 bütün o satır silmek istiyorum. 946 00:46:16,760 --> 00:46:19,696 Ve sonra biz ayarlarsanız isim, UPDATE öğrenciler 947 00:46:19,696 --> 00:46:21,570 SET adı Daven eşittir NEREDE Evin eşittir 948 00:46:21,570 --> 00:46:27,010 Cabot House buna gidecek Bu satır ve sonra adını güncelleyin. 949 00:46:27,010 --> 00:46:31,470 >> Ve sonra bir kaç SQL veri türleri CHAR, VARCHAR, INT ve FLOAT. 950 00:46:31,470 --> 00:46:32,760 Bunlar adil oyun bulunmaktadır. 951 00:46:32,760 --> 00:46:36,740 Ben tekrar gitmek istiyorum ve bildiğinizden emin olun 952 00:46:36,740 --> 00:46:40,930 ve senin hile kağıda onları Ne bu karakterler her 953 00:46:40,930 --> 00:46:44,140 kullanılmaktadır ne Eğer, senin psets bunları kullanılmış 954 00:46:44,140 --> 00:46:48,050 ve tanıdık olduğunuzdan emin olun ve seçmek zorunda rahat 955 00:46:48,050 --> 00:46:51,450 senin pset farklı veri türlerinden. 956 00:46:51,450 --> 00:46:51,950 Evet. 957 00:46:51,950 --> 00:46:54,300 >> HEDEF KİTLE: Bu tablo ne saklandı? 958 00:46:54,300 --> 00:46:57,119 Evet, nerede bu tabloyu saklanır? 959 00:46:57,119 --> 00:46:59,160 MARIA ZLATKOVA: Şey, Şu anda, bu depolanmış değil. 960 00:46:59,160 --> 00:47:00,700 Neyse, nerede bu tabloyu saklanır? 961 00:47:00,700 --> 00:47:04,503 Ama bir SQL veritabanında saklanabilir. 962 00:47:04,503 --> 00:47:07,330 >> HEDEF KİTLE: Ve nerede SQL veritabanı nedir? 963 00:47:07,330 --> 00:47:11,200 Bilgisayarda, çevrimiçi yerde, sunucu? 964 00:47:11,200 --> 00:47:15,000 >> MARIA ZLATKOVA: Bu bir olabilir farklı şeyler sayısı. 965 00:47:15,000 --> 00:47:19,690 >> HANNAH BLUMBERG: Biz arabirim ettik Çoğunlukla phpMyAdmin SQL tabloları. 966 00:47:19,690 --> 00:47:22,060 Yani biz bir sunucu sorabilirsiniz Bizim için bunları saklamak için. 967 00:47:22,060 --> 00:47:23,830 Biz kendi bilgisayarında bunları saklamak olabilir. 968 00:47:23,830 --> 00:47:27,950 >> MARIA ZLATKOVA: Sadece bağlıdır nasıl kendiniz için bunu yapmak istiyorum. 969 00:47:27,950 --> 00:47:30,075 Ama biz depolamak edilmiştir Onları, Hannah belirtildiği gibi, 970 00:47:30,075 --> 00:47:31,755 phpMyAdmin, hangi yayında. 971 00:47:31,755 --> 00:47:36,550 972 00:47:36,550 --> 00:47:39,280 Ve sonra yol kullandığımız PHP ve SQL, bunu saklamak 973 00:47:39,280 --> 00:47:43,450 Bazı değişkene ne için sorgulanan ettik. 974 00:47:43,450 --> 00:47:48,370 >> Hepimizin tarihin SELECT FROM Yani eğer user_id OTURUM kimliği eşittir, 975 00:47:48,370 --> 00:47:53,900 tüm satırları seçmek istiyorum belirli bir kişi için kim 976 00:47:53,900 --> 00:47:58,327 Tarihten kaydedilir masa ve sıralar halinde bunları sıralamak. 977 00:47:58,327 --> 00:48:00,410 Bilmek serin şey CS50 sorgu işlevi olduğunu 978 00:48:00,410 --> 00:48:02,180 SQL injection etiketleri karşı korur. 979 00:48:02,180 --> 00:48:07,420 Yani sadece emin kılan demektir girildiği giriş doğru 980 00:48:07,420 --> 00:48:09,920 ve o kişi kim giriş giriyor 981 00:48:09,920 --> 00:48:15,100 girişine çalışıyor değil bazı kötü niyetli Kod ya sofralarımızı düşmesi 982 00:48:15,100 --> 00:48:17,305 ya da her şeyi silmek Bizim veritabanı içinde. 983 00:48:17,305 --> 00:48:20,060 984 00:48:20,060 --> 00:48:23,400 >> Hızlı bir bakış Model View Controller modeli 985 00:48:23,400 --> 00:48:27,360 o organize bir yolu var ve kod düşünmeye. 986 00:48:27,360 --> 00:48:29,100 Bu, yine bir tasarım paradigma bu. 987 00:48:29,100 --> 00:48:33,380 Ne yani biz ise can-- ve iyi bir uygulama var 988 00:48:33,380 --> 00:48:37,790 farklı bölümlerini ayırmak için Bizim kod ve ne onlar 989 00:48:37,790 --> 00:48:40,530 Bu üç paradigmalar içine kontrol. 990 00:48:40,530 --> 00:48:46,700 >> Yani bizim görünümü en sık olan bizim şablonlar, bizim düzen, yol 991 00:48:46,700 --> 00:48:48,260 Bu bizim kod nasıl göründüğünü ayarlayın. 992 00:48:48,260 --> 00:48:55,190 Bu çoğunlukla bizim CSS dosyaları ve yolu Bizim kodun tasarımını tanımlanan, 993 00:48:55,190 --> 00:48:55,710 temelde. 994 00:48:55,710 --> 00:48:59,280 Bizim denetleyicisi çoğunlukla ne olduğunu PHP dosyaları ile yapıyorum. 995 00:48:59,280 --> 00:49:03,030 Yani yine, çalışan Elimizdeki bilgiler 996 00:49:03,030 --> 00:49:06,700 ve tanımlama nasıl bilgi, kullanılan 997 00:49:06,700 --> 00:49:10,660 ve daha sonra bu bilgileri geçen Ya görünümü veya modele üzerine. 998 00:49:10,660 --> 00:49:13,880 Ve modeli biz ettik yolu kullanılarak edilmiş, bizim veritabanı olmuştur 999 00:49:13,880 --> 00:49:17,510 yani bizim bilgi nerede bir yerde vardır bu yüzden saklanır 1000 00:49:17,510 --> 00:49:21,490 yaşamak ve herhangi Bu arada ilgilidir kod 1001 00:49:21,490 --> 00:49:25,410 Biz bu bilgiyi ya da almak biz bu bilgileri güncelleştirmek yolu. 1002 00:49:25,410 --> 00:49:28,940 1003 00:49:28,940 --> 00:49:33,200 >> MVC modelinde Yani, HTTP istekleri bir web sunucusuna gönderilir. 1004 00:49:33,200 --> 00:49:36,220 Daha sonra, kontrolör, yorumlanması kullanıcının isteği 1005 00:49:36,220 --> 00:49:38,260 ve sonra kullanıcı girişi doğrular. 1006 00:49:38,260 --> 00:49:41,580 Biz var isteğe bağlıdır kontrolör iletişim 1007 00:49:41,580 --> 00:49:44,000 Bir model ile, bir şey yani Bizim veritabanı gibi 1008 00:49:44,000 --> 00:49:47,500 ya da başka bir işlevsellik bu bilgileri aktarır. 1009 00:49:47,500 --> 00:49:50,340 Ve son olarak, kontrol cihazı görünümü üzerine bilgi geçer 1010 00:49:50,340 --> 00:49:52,090 böylece olabilir render ve olabildiğince bu 1011 00:49:52,090 --> 00:49:55,860 herhangi bir kişiye görünür hale web sayfasına erişmek. 1012 00:49:55,860 --> 00:49:58,440 1013 00:49:58,440 --> 00:50:01,340 >> Sorusu olan? 1014 00:50:01,340 --> 00:50:01,840 Başar. 1015 00:50:01,840 --> 00:50:04,530 1016 00:50:04,530 --> 00:50:08,469 Yani yine, modeli, fonksiyonu, yine, 1017 00:50:08,469 --> 00:50:11,260 bilgi kalıcı depolama olduğunu yönetme ve veri organize. 1018 00:50:11,260 --> 00:50:13,890 Ve biz çok ne gördüm uzak MySQL veritabanı 1019 00:50:13,890 --> 00:50:16,200 ve herhangi bir veri dosyaları kullanabilirsiniz söyledi. 1020 00:50:16,200 --> 00:50:20,580 >> Görünüm, bilgi sunumu için Kullanıcı, UI, ya da kullanıcı arayüzü. 1021 00:50:20,580 --> 00:50:22,350 Ve bu örnek HTML. 1022 00:50:22,350 --> 00:50:23,950 Ve sonra en az PHP olabilir. 1023 00:50:23,950 --> 00:50:28,360 Yani bir döngü o yinelenir veriler üzerinde dışarı basılır 1024 00:50:28,360 --> 00:50:30,720 görünümün bir parçası olarak, bir kontrolöre karşı çıktı. 1025 00:50:30,720 --> 00:50:35,660 Ve bizim PHP dosyaları sonra bir sürü Kontrolör kategoriye girer. 1026 00:50:35,660 --> 00:50:38,410 Sadece kullanıcı isteklerini işler ve modelden bilgi alır. 1027 00:50:38,410 --> 00:50:42,880 1028 00:50:42,880 --> 00:50:45,590 >> Belgenin içine atlama Object Model, bu sadece 1029 00:50:45,590 --> 00:50:47,700 Bu arada, HTML değinmektedir belgeler düzenleniyor. 1030 00:50:47,700 --> 00:50:51,600 Ve onlar bir ağaca organize ediyoruz bir hiyerarşi vardır yapısı. 1031 00:50:51,600 --> 00:50:56,720 Biz erişiminiz varsa yüzden [duyulamaz] Belgenin temsili, 1032 00:50:56,720 --> 00:51:02,750 bizim gibi, belge ile çalışabilirsiniz biz temelde nesneleri işlemek. 1033 00:51:02,750 --> 00:51:06,630 >> Ve bu a yapmak Biraz daha net, ne zaman 1034 00:51:06,630 --> 00:51:10,540 Biz çok şey var bizim Farklı etiketler cevap 1035 00:51:10,540 --> 00:51:12,590 Bizim ağacında farklı yolları. 1036 00:51:12,590 --> 00:51:17,070 Sonra, bu sözgelimi, başlangıç ​​belge düğümünü var. 1037 00:51:17,070 --> 00:51:20,010 Biz, o zaman, bizim HTML düğümü Bu kafa ve vücuda böler. 1038 00:51:20,010 --> 00:51:22,810 Baş sonra başlık vardır ve başlık, merhaba dünya içerir. 1039 00:51:22,810 --> 00:51:24,860 Ve vücudumuz sadece içeriyor merhaba, dünya da. 1040 00:51:24,860 --> 00:51:28,700 1041 00:51:28,700 --> 00:51:31,900 >> Herhangi Yani herhangi bir soru Şimdiye kadar kapalı şeyler? 1042 00:51:31,900 --> 00:51:35,891 Ve eğer, Hannah olacak JavaScript ile devralmak. 1043 00:51:35,891 --> 00:51:36,390 Başar. 1044 00:51:36,390 --> 00:51:37,473 >> HANNAH BLUMBERG: Tamam, güzel. 1045 00:51:37,473 --> 00:51:40,980 Şey PHP veya HTML ile gelirse, veya Maria kaplı şeyler herhangi 1046 00:51:40,980 --> 00:51:42,700 biz her zaman durdurabilirsiniz. 1047 00:51:42,700 --> 00:51:46,430 Biz iyi olur yapıyoruz Zaman yine çok harika. 1048 00:51:46,430 --> 00:51:48,770 Ve sadece geri dönmek için Gerçekten hızlı bir şekilde bu kadar, 1049 00:51:48,770 --> 00:51:51,010 Her bakarsanız Geçtiğimiz yılki sınav, bu 1050 00:51:51,010 --> 00:51:54,120 either-- burada çıkageldi bazı HTML, bu diyagram yapmak. 1051 00:51:54,120 --> 00:51:58,380 Ya da burada, bu diyagram, bazı yapmak HTML, yani kesinlikle pratik. 1052 00:51:58,380 --> 00:52:01,500 Ve sonra o kimse garantili bulunuyor Doğru alabilirsiniz soru. 1053 00:52:01,500 --> 00:52:02,000 Güzel. 1054 00:52:02,000 --> 00:52:04,510 Öyleyse JavaScript bahsedelim ve biraz var nasıl 1055 00:52:04,510 --> 00:52:09,130 PHP ve benzeri dillerde farklı C, biz önceden gördüğümüz iki dil. 1056 00:52:09,130 --> 00:52:10,780 Yani bir numara, o gevşek yazdığınız oluyor. 1057 00:52:10,780 --> 00:52:14,630 İşte PHP gibi, ama C. aksine 1058 00:52:14,630 --> 00:52:15,890 >> Bu bir dil var. 1059 00:52:15,890 --> 00:52:19,870 Yine, bu gibi PHP, C. Ve tersine 1060 00:52:19,870 --> 00:52:24,630 bize bunu use-- izin gidiyor web sayfaları ile gerçekten güzel çalışıyor. 1061 00:52:24,630 --> 00:52:28,350 Bize işlemek için izin gidiyor içeriği ve nasıl görünüyor 1062 00:52:28,350 --> 00:52:30,300 ve ne yaptığını. 1063 00:52:30,300 --> 00:52:32,330 >> Biz Ajax biraz görmeye gidiyoruz. 1064 00:52:32,330 --> 00:52:36,140 Bize iletişim kurmasını sağlar zaman uyumsuz farklı sunucuları ile 1065 00:52:36,140 --> 00:52:37,950 ve bilgi alabilirsiniz. 1066 00:52:37,950 --> 00:52:42,820 Ve bu şey gerçekten PHP ve C JavaScript ayıran 1067 00:52:42,820 --> 00:52:45,590 Bu istemci tarafında olmasıdır. 1068 00:52:45,590 --> 00:52:49,860 Hem PHP ve C vardır tipik sunucu tarafı. 1069 00:52:49,860 --> 00:52:51,960 >> Çoğunlukla ve Neredeyse tamamen Ne 1070 00:52:51,960 --> 00:52:53,900 Biz en azından, gördüm Bu sınıf, JavaScript 1071 00:52:53,900 --> 00:52:57,040 yani, istemci tarafında hareket Tarayıcı aslında olduğunu 1072 00:52:57,040 --> 00:52:58,597 Çalışan sorumlu değildir. 1073 00:52:58,597 --> 00:53:01,180 Ve biz değiliz demektir sunucu ile etkileşim gerekir. 1074 00:53:01,180 --> 00:53:04,380 Yani o çok daha hızlı olabilir anlamına gelir aslında çünkü sadece, Chrome bulunuyor 1075 00:53:04,380 --> 00:53:10,420 o Firefox, bu, Safari ne olursa olsun size Aslında kullanın JavaScript koşuyor. 1076 00:53:10,420 --> 00:53:12,290 >> HEDEF KİTLE: asenkron ne anlama geliyor? 1077 00:53:12,290 --> 00:53:13,620 >> HANNAH BLUMBERG: Ah ne zaman uyumsuz demek? 1078 00:53:13,620 --> 00:53:14,250 Büyük soru. 1079 00:53:14,250 --> 00:53:17,890 Eşzamansız means-- iyi, içerik hangi 1080 00:53:17,890 --> 00:53:22,140 biz Tamam olduğunu kullanın, biz Bir web sayfası oluştururken 1081 00:53:22,140 --> 00:53:23,860 ve biz biraz bilgi almak gerekir. 1082 00:53:23,860 --> 00:53:28,250 Mashup'a örnek Yani Biz isteyebilirsiniz bazı bilgiler 1083 00:53:28,250 --> 00:53:30,580 makale başlıkları olduğunu. 1084 00:53:30,580 --> 00:53:33,330 Şimdi, biz bir seçenek Yapabileceğim eşzamanlı bunu yapmak için 1085 00:53:33,330 --> 00:53:37,940 ve bu diyelim demektir durdurmak, makale gidip, 1086 00:53:37,940 --> 00:53:41,275 Daha sonra makale geri almak ve işlemek, ama bu gerçekten yavaş olurdu. 1087 00:53:41,275 --> 00:53:44,150 Kötü bir kullanıcı deneyimi olurdu Sadece oturuyor olurdu çünkü 1088 00:53:44,150 --> 00:53:46,630 bir şey yanıt için orada bekliyor. 1089 00:53:46,630 --> 00:53:50,020 >> Eşzamansız biz demektir Bizim iş hakkında gidiş devam 1090 00:53:50,020 --> 00:53:52,529 sayfa render ve Biz bir istek göndermek edeceğiz 1091 00:53:52,529 --> 00:53:54,570 Bu tür gidiyor Arka planda olur. 1092 00:53:54,570 --> 00:53:57,610 Ben örnek olarak kullanmak düşünüyorum Rob arama ve söyleyerek anlatım, 1093 00:53:57,610 --> 00:53:59,980 hey, bu kadar bakabilirsiniz ve benim için bana geri almak, 1094 00:53:59,980 --> 00:54:02,870 Sadece bana karşı Telefonda bekleyen. 1095 00:54:02,870 --> 00:54:07,020 Yani zaman uyumsuz olmuyor demektir Bizden uzak arka planda 1096 00:54:07,020 --> 00:54:08,676 paralel. 1097 00:54:08,676 --> 00:54:10,400 >> Büyük soru. 1098 00:54:10,400 --> 00:54:11,830 Başka herhangi bir şey? 1099 00:54:11,830 --> 00:54:12,330 Büyük. 1100 00:54:12,330 --> 00:54:15,020 Biz içine çok daha fazla atlarsınız Ajax ile asenkron istekleri. 1101 00:54:15,020 --> 00:54:18,287 >> HEDEF KİTLE: does nerede JavaScript-- mu o Model-View-Controller ile sonbahar? 1102 00:54:18,287 --> 00:54:19,620 HANNAH BLUMBERG: Büyük bir soru. 1103 00:54:19,620 --> 00:54:23,320 Nerede JavaScript düşüş yapar Model-View-Controller ile? 1104 00:54:23,320 --> 00:54:23,930 Hm. 1105 00:54:23,930 --> 00:54:28,350 Ben fall-- sanırım bu yüzden biz genellikle yok 1106 00:54:28,350 --> 00:54:31,340 Bu içine ezmek ister paradigması, ama ben söyleyebilirim sanırım, 1107 00:54:31,340 --> 00:54:34,280 Tamam, JavaScript, böylece aslında izin gidiyor 1108 00:54:34,280 --> 00:54:37,587 Bize, veri toplamak için Aslında yapmak, verileri yorumlamak 1109 00:54:37,587 --> 00:54:38,920 verilerle anlamlı şeyler. 1110 00:54:38,920 --> 00:54:41,100 Bu şekilde, çok kontrol gibi. 1111 00:54:41,100 --> 00:54:43,900 >> Ama aynı zamanda bizi izin gidiyor şeyler ve baskı şeyler görüntüler. 1112 00:54:43,900 --> 00:54:47,021 Bu şekilde, çok görünüm gibi. 1113 00:54:47,021 --> 00:54:47,520 Evet. 1114 00:54:47,520 --> 00:54:51,710 Yani PHP gibi bir şey bu tür her iki yerde olabilir. 1115 00:54:51,710 --> 00:54:53,330 İyi soru. 1116 00:54:53,330 --> 00:54:55,209 Başka herhangi bir şey? 1117 00:54:55,209 --> 00:54:56,000 Pekala, müthiş. 1118 00:54:56,000 --> 00:54:57,120 Boyunca doğru hareket ederek. 1119 00:54:57,120 --> 00:54:59,110 >> Yani bir örnek görelim Kullanabileceğimiz nasıl 1120 00:54:59,110 --> 00:55:02,250 Web programlarından birinde JavaScript. 1121 00:55:02,250 --> 00:55:05,680 Yani bu düşünün gerekir HTML bir grup ile index.html. 1122 00:55:05,680 --> 00:55:08,800 Ve bir şey seni istiyorum odaklanmak, bu betik etikettir. 1123 00:55:08,800 --> 00:55:13,280 Ve bu Tamam, biraz çalıştırmak istiyorsanız, diyor O yaşadığı burada JavaScript ve olduğunu. 1124 00:55:13,280 --> 00:55:15,400 Bu hello.js yaşıyor. 1125 00:55:15,400 --> 00:55:21,120 >> Çok CSS gibi, biz olabilir HTML içinde JavaScript koydu. 1126 00:55:21,120 --> 00:55:24,000 Neden biz bunu ayırmak isteyebilirsiniz? 1127 00:55:24,000 --> 00:55:24,500 Evet. 1128 00:55:24,500 --> 00:55:25,486 >> HEDEF KİTLE: yeniden yazmak için kolay? 1129 00:55:25,486 --> 00:55:26,402 >> HANNAH BLUMBERG: Evet. 1130 00:55:26,402 --> 00:55:28,450 Bu genelinde kullanımı kolay Farklı web sayfaları. 1131 00:55:28,450 --> 00:55:29,980 Bu temizleyici şeyler tutar. 1132 00:55:29,980 --> 00:55:32,090 Sadece iyi bir uygulamadır. 1133 00:55:32,090 --> 00:55:32,590 Başar. 1134 00:55:32,590 --> 00:55:33,930 Güzel cevap. 1135 00:55:33,930 --> 00:55:36,690 Çok iyi, bu nedenle bu oluyor Bizim index.html olmak. 1136 00:55:36,690 --> 00:55:39,430 Ve sonra aşağı burada olduğunu küçücük JavaScript dosyası. 1137 00:55:39,430 --> 00:55:42,410 >> Ve diyor ki, tüm Merhaba dünya uyarısı olduğunu. 1138 00:55:42,410 --> 00:55:46,040 Peki ne zaman olduğunu Bu sayfayı renders-- 1139 00:55:46,040 --> 00:55:49,680 bu yüzden ne olursa olsun web sitesine giderseniz Bu tüm ne olacak bu-- 1140 00:55:49,680 --> 00:55:53,330 Tamam, ben, gidiyor söylemek Bu JavaScript kodu çalıştırmak için gidiyor. 1141 00:55:53,330 --> 00:55:56,370 Ve bu JavaScript kodu Sadece uyarı Merhaba, dünya diyor. 1142 00:55:56,370 --> 00:55:59,090 Yani bu alacağım dost küçük pop-up. 1143 00:55:59,090 --> 00:56:00,360 >> Güzel? 1144 00:56:00,360 --> 00:56:04,746 Bu ilk tür kızımız gibi JavaScript program, bizim Merhaba dünya. 1145 00:56:04,746 --> 00:56:07,690 1146 00:56:07,690 --> 00:56:12,190 Orijinalini biraz daha bakalım neler JavaScript sözdizimi gibi görünüyor. 1147 00:56:12,190 --> 00:56:16,330 Ve özellikle, en karşılaştırın izin Daha önce gördüğümüz C ve PHP. 1148 00:56:16,330 --> 00:56:20,610 >> JavaScript, biz zorunda gidiyoruz var, değişken adı ve sonra 1149 00:56:20,610 --> 00:56:21,690 onun gerçek değeri. 1150 00:56:21,690 --> 00:56:26,170 Ve biz sadece bir türünü belirtmek yok PHP, ama çok C. aksine gibi 1151 00:56:26,170 --> 00:56:28,850 İstediğimiz Örneğin, eğer öyleyse değeri 50 saklamak için, 1152 00:56:28,850 --> 00:56:32,490 C biz söylemek gerekir, hey, C, ben bir tamsayı istiyorum, 1153 00:56:32,490 --> 00:56:35,076 Ben onu aramak için gidiyorum Ben ve değeri 50'dir. 1154 00:56:35,076 --> 00:56:36,450 PHP, bu biraz daha kolay. 1155 00:56:36,450 --> 00:56:41,880 Biz hey, ben bir değişken istiyorum, demek i olarak adlandırılan ve değeri 50'dir. 1156 00:56:41,880 --> 00:56:45,890 Çok benzer, JavaScript, biz hey, ben bir değişken i denir istediğini söylüyorsun 1157 00:56:45,890 --> 00:56:47,080 değeri 50'dir. 1158 00:56:47,080 --> 00:56:52,140 Ben her kullandığınızda sonraki zaman Ben, ben Var yazmaya gerek yok. 1159 00:56:52,140 --> 00:56:53,810 Sadece ben bu noktadan itibaren bu. 1160 00:56:53,810 --> 00:56:58,660 C, aynı şekilde, in Biz i int söylemek kez biz sadece i kullanın. 1161 00:56:58,660 --> 00:57:00,340 Güzel? 1162 00:57:00,340 --> 00:57:01,800 Pekala. 1163 00:57:01,800 --> 00:57:03,710 >> Döngüler için taşıma, Neyse ki, bu neredeyse 1164 00:57:03,710 --> 00:57:06,720 Ben onlar olduğunu düşünüyorum tam olarak-- bakmak Ne tam olarak aynı 1165 00:57:06,720 --> 00:57:09,799 döngüler gibi bakmak için gidiyoruz C gibi bir şey nerede sizin yanınızdaki döngü için 1166 00:57:09,799 --> 00:57:11,840 Üç sahip oluyor Bir başlatma parts-- 1167 00:57:11,840 --> 00:57:13,640 bir durumdur ve bir güncelleştirme. 1168 00:57:13,640 --> 00:57:15,340 Bir while döngüsü, bu tam olarak aynı görünüyor. 1169 00:57:15,340 --> 00:57:16,390 Biz sadece bunu bir koşul verir. 1170 00:57:16,390 --> 00:57:18,264 >> Ve bir do while döngüsünde, Yine, aynı. 1171 00:57:18,264 --> 00:57:20,190 Biz bunu bir koşul verin. 1172 00:57:20,190 --> 00:57:24,510 Diyelim ki çakışık yineleme istedim diyelim Bir şey beş kez yapmak istedim. 1173 00:57:24,510 --> 00:57:27,840 C, biz mal olabilir init i 0 eşittir. 1174 00:57:27,840 --> 00:57:30,480 i 5 den az, i ++. 1175 00:57:30,480 --> 00:57:34,240 Tek fark, JavaScript, Bunun yerine ben 0 eşittir int söyleyerek, 1176 00:57:34,240 --> 00:57:36,820 Biz var i 0'a eşittir söylüyorlar. 1177 00:57:36,820 --> 00:57:38,370 Güzel. 1178 00:57:38,370 --> 00:57:41,320 Tek fark bu. 1179 00:57:41,320 --> 00:57:43,200 Bu herhangi herhangi bir sorunuz var mı? 1180 00:57:43,200 --> 00:57:44,160 Evet. 1181 00:57:44,160 --> 00:57:48,480 >> HEDEF KİTLE: PHP Yani, aynı şey şey hariç ama bir değişken gibi mi? 1182 00:57:48,480 --> 00:57:49,564 Ya da var, örneğin oldu? 1183 00:57:49,564 --> 00:57:50,480 HANNAH BLUMBERG: Evet. 1184 00:57:50,480 --> 00:57:52,310 Yani PHP, gidiyor dolar işareti olması. 1185 00:57:52,310 --> 00:57:59,450 Yani $ i eşitler gidiyor 0, $ i $ i ++, en az 5 olduğunu. 1186 00:57:59,450 --> 00:58:02,490 Büyük soru. 1187 00:58:02,490 --> 00:58:04,570 >> Şimdi bahsedelim işlev bildirimleri. 1188 00:58:04,570 --> 00:58:07,010 C, biz ilan ettiğinde bir işlevi, biz bir isim verdi 1189 00:58:07,010 --> 00:58:08,490 ve biz bazı parametreler verdi. 1190 00:58:08,490 --> 00:58:10,670 Ve başında, biz tip yazdı. 1191 00:58:10,670 --> 00:58:12,440 JavaScript, hepimiz yazma yapmak zorunda 1192 00:58:12,440 --> 00:58:15,080 Anahtar kelime fonksiyonu olduğunu hey, JavaScript, diyor 1193 00:58:15,080 --> 00:58:16,570 Ben bir işlev tanımlamak üzereyim. 1194 00:58:16,570 --> 00:58:18,520 >> Bu durumda, bu adı toplamı bulunmaktadır. 1195 00:58:18,520 --> 00:58:20,820 Ve iki argüman, x ve y alır. 1196 00:58:20,820 --> 00:58:23,280 Umurumuzda değil dikkat edin x ve y türleri hakkında. 1197 00:58:23,280 --> 00:58:26,280 Ve tıpkı C gibi, biz Bu kelime dönüş, 1198 00:58:26,280 --> 00:58:29,140 bu yüzden bir şeyler yapabiliriz Dönüş x ve y gibi. 1199 00:58:29,140 --> 00:58:32,540 >> Ve şimdi bir kez biz bu ilk yazdık işlevi, her yerde toplamını kullanabilirsiniz. 1200 00:58:32,540 --> 00:58:34,740 Ve bu tamamen iyi. 1201 00:58:34,740 --> 00:58:37,530 Bir gerçekten harika bir şey hakkında C aksine çok JavaScript 1202 00:58:37,530 --> 00:58:40,770 olduğunu işlevleri olabilir ki değerler gibi muamele. 1203 00:58:40,770 --> 00:58:43,895 Yani biz burada gibi bir şey yapabilirsiniz Sanırım nerede bu up-- kapağı 1204 00:58:43,895 --> 00:58:46,400 Ben var toplamını örtbas part-- ve biz sadece dedi 1205 00:58:46,400 --> 00:58:49,850 Fonksiyon xy dönüş x artı y eşittir. 1206 00:58:49,850 --> 00:58:52,140 >> Yani ne diyeceği ise Bir anonim işlev. 1207 00:58:52,140 --> 00:58:53,920 Bir isim vermeden bir işlev var. 1208 00:58:53,920 --> 00:58:56,290 Bu işlev diyor Oysa toplamı, vesaire, vesaire, vesaire, 1209 00:58:56,290 --> 00:58:59,340 Bu sadece işlevi söyleyebilirim. 1210 00:58:59,340 --> 00:59:02,020 Ama şimdi olsa bile Bu anonim işlev, 1211 00:59:02,020 --> 00:59:03,630 Bu fonksiyon gerçekten sadece bir değerdir. 1212 00:59:03,630 --> 00:59:05,160 Biz bir değere gibi davranabilirsiniz. 1213 00:59:05,160 --> 00:59:10,180 >> Yani biz bir değişkene aynı kaydedebilirsiniz şekilde biz bir değişkende 50 saklamak. 1214 00:59:10,180 --> 00:59:13,870 Bu yüzden Tamam, bir istiyorum, söyleyebilirim Değişken, bu toplamı denir 1215 00:59:13,870 --> 00:59:16,011 ve bu fonksiyonudur. 1216 00:59:16,011 --> 00:59:18,760 Yani bu iki şey aslında aynı şeyi yapacağız, 1217 00:59:18,760 --> 00:59:21,576 ancak sözdizimi biraz Farklı ve eğlenceli bir not tür. 1218 00:59:21,576 --> 00:59:22,076 Evet. 1219 00:59:22,076 --> 00:59:25,548 >> HEDEF KİTLE: Eğer diyebiliriz Yani diyerek anonim oldu işlevi, 1220 00:59:25,548 --> 00:59:28,244 toplamı parantez 2, 5? 1221 00:59:28,244 --> 00:59:29,160 HANNAH BLUMBERG: Evet. 1222 00:59:29,160 --> 00:59:32,280 Bu anonim çağırabilirsiniz Aynı şekilde işlev görmektedir. 1223 00:59:32,280 --> 00:59:33,350 Sen toplamı yapardı (2, 5) ;. 1224 00:59:33,350 --> 00:59:36,180 1225 00:59:36,180 --> 00:59:38,200 Bu tamamen iyi olurdu. 1226 00:59:38,200 --> 00:59:41,575 >> Ben var toplamı eşittir yapmadım Eğer fonksiyon, sadece silindi eğer 1227 00:59:41,575 --> 00:59:45,480 bu-- Ben benim taraftan olduğunu biliyorum, ama o zaman paha silindi iddia 1228 00:59:45,480 --> 00:59:46,964 Bu fonksiyon tür sadece gitti. 1229 00:59:46,964 --> 00:59:49,630 Yine, çünkü kullanmak asla Eğer bunun için bir isim yok. 1230 00:59:49,630 --> 00:59:53,497 Bu şeye başvurmak için zor Ne aramak için bilmiyorum. 1231 00:59:53,497 --> 00:59:54,080 İyi soru. 1232 00:59:54,080 --> 00:59:54,580 Evet. 1233 00:59:54,580 --> 00:59:59,580 >> HEDEF KİTLE: sen toplamı başvuru miyim x artı y değeri ile diğer yerlerde? 1234 00:59:59,580 --> 01:00:01,940 >> HANNAH BLUMBERG: Can sen diğer yerlerde referans toplamı 1235 01:00:01,940 --> 01:00:03,360 değeri x artı y? 1236 01:00:03,360 --> 01:00:05,130 Ne demek istediğimi tamamen emin değilim. 1237 01:00:05,130 --> 01:00:10,582 >> HEDEF KİTLE: Peki senin geçmiş yarı anonim Fonksiyon toplamı bu eşit olduğunu 1238 01:00:10,582 --> 01:00:14,452 anonim işlev, yani toplamı Eğer can-- şimdi değişken 1239 01:00:14,452 --> 01:00:15,410 HANNAH BLUMBERG: Doğru. 1240 01:00:15,410 --> 01:00:18,980 Yani toplamı değişkendir, ancak actually-- var: 1241 01:00:18,980 --> 01:00:23,770 yani toplamı olan bir değişkendir değer fonksiyonudur. 1242 01:00:23,770 --> 01:00:27,030 Dolayısıyla bu tür bir işlevi olduğunu Bir garip şey başınızı etrafına sarmak için 1243 01:00:27,030 --> 01:00:29,880 biz oynamaya oldum beri C ve C de bunu yapamam 1244 01:00:29,880 --> 01:00:32,679 Ama şimdi biz diyoruz özetleyebilirim Burada toplamı diyebiliriz aynı şekilde. 1245 01:00:32,679 --> 01:00:33,220 HEDEF KİTLE: Tamam. 1246 01:00:33,220 --> 01:00:33,970 HANNAH BLUMBERG: Evet. 1247 01:00:33,970 --> 01:00:34,553 İyi soru. 1248 01:00:34,553 --> 01:00:35,438 Evet. 1249 01:00:35,438 --> 01:00:39,862 >> HEDEF KİTLE: Yani kullanmayın PHP veya JavaScript prototipler? 1250 01:00:39,862 --> 01:00:42,070 HANNAH BLUMBERG: Hayır, biz prototipler kullanmanız gerekmez, 1251 01:00:42,070 --> 01:00:43,880 Özellikle JavaScript. 1252 01:00:43,880 --> 01:00:49,380 Ben Yani kötü bir uygulama şey Yapmanız gerektiğini söyleyecek 1253 01:00:49,380 --> 01:00:52,620 Eğer var i = 50 yazmak zorunda kalmamasıdır. 1254 01:00:52,620 --> 01:00:54,840 Sadece 50 = i yapmaya başlayabiliriz. 1255 01:00:54,840 --> 01:00:57,490 Ve sadece ben global bir değişken olur. 1256 01:00:57,490 --> 01:01:00,550 >> Bu çok kötü bir uygulamadır asla explicity var i, say 1257 01:01:00,550 --> 01:01:01,800 ama yapabileceğin bir şey var. 1258 01:01:01,800 --> 01:01:03,591 Tercüman değil sen bağırma olacak. 1259 01:01:03,591 --> 01:01:05,920 JavaScript, oldukça gibi ne istersen yapabilirsin. 1260 01:01:05,920 --> 01:01:09,301 1261 01:01:09,301 --> 01:01:09,800 Ah özür dilerim. 1262 01:01:09,800 --> 01:01:10,300 İki var. 1263 01:01:10,300 --> 01:01:12,150 Turuncu pantolon. 1264 01:01:12,150 --> 01:01:13,190 Devam et. 1265 01:01:13,190 --> 01:01:14,390 >> HEDEF KİTLE: Hayır, önce sen. 1266 01:01:14,390 --> 01:01:16,765 >> HEDEF KİTLE: Hayır, ben sadece diyordum Ben elimi yukarı yoktu. 1267 01:01:16,765 --> 01:01:20,248 1268 01:01:20,248 --> 01:01:20,748 TAMAM. 1269 01:01:20,748 --> 01:01:26,604 Aramak için olsaydı Yani ilk kez, şimdi, özetlemek 1270 01:01:26,604 --> 01:01:29,864 Aynı şekilde diyoruz, x y her zamanki gibi? 1271 01:01:29,864 --> 01:01:30,780 HANNAH BLUMBERG: Evet. 1272 01:01:30,780 --> 01:01:32,572 Yani bu iki esas aynı şeyi yapmak. 1273 01:01:32,572 --> 01:01:35,113 HEDEF KİTLE: Peki avantaj bir ya da daha başka bir kullanımının? 1274 01:01:35,113 --> 01:01:37,500 HANNAH BLUMBERG: Hayır avantaj bir ya da daha başka bir kullanımının. 1275 01:01:37,500 --> 01:01:40,080 Ben sadece ikinizi göstermek istedim sözdizimi farklı parçalar. 1276 01:01:40,080 --> 01:01:42,770 Bir çok kez nerede anonim fonksiyonlar bir amaç var 1277 01:01:42,770 --> 01:01:48,220 Eğer başka bir argüman işlev bir fonksiyonu olacaktır. 1278 01:01:48,220 --> 01:01:50,600 Ve biz o göreceğiz Ajax ile bir saniye. 1279 01:01:50,600 --> 01:01:53,577 >> Herhangi bir mantıklı gelmiyordu eğer öyleyse, Kafanın arkasında saklayın. 1280 01:01:53,577 --> 01:01:55,660 Bu nerede bir anonim var işlevi yararlı olabilir 1281 01:01:55,660 --> 01:01:58,284 gerçekten değer değil çünkü biz sadece konum beri bir ad vererek 1282 01:01:58,284 --> 01:01:59,443 kez kullanmaya devam. 1283 01:01:59,443 --> 01:02:00,370 Evet. 1284 01:02:00,370 --> 01:02:03,635 >> HEDEF KİTLE: Eğer x ve y değişikliği sonrası üzerinde, hem de değiştirebilir özetlemek olacak? 1285 01:02:03,635 --> 01:02:06,510 HANNAH BLUMBERG: Eğer x ve y değişim Daha sonra, hem de değiştirebilir özetlemek olacak? 1286 01:02:06,510 --> 01:02:08,840 Yani bu aslında bir , bir şeyi düşünmek 1287 01:02:08,840 --> 01:02:12,260 Yine, sadece çok farklı hissediyor C ila Bu değer değildir. 1288 01:02:12,260 --> 01:02:13,620 Bu 5 değil. 1289 01:02:13,620 --> 01:02:15,550 Sadece kendisi işlevi var. 1290 01:02:15,550 --> 01:02:19,110 Yani en kısa sürede bunu parametreleri vermek gibi, o aslında bir değeri hesaplamak gerekir. 1291 01:02:19,110 --> 01:02:21,193 >> MARIA ZLATKOVA: Ve Eğer işlevini çağırabilirsiniz 1292 01:02:21,193 --> 01:02:23,272 ve bazı değerini almak için kullanabilirsiniz. 1293 01:02:23,272 --> 01:02:24,230 HANNAH BLUMBERG: Doğru. 1294 01:02:24,230 --> 01:02:25,250 Kesinlikle. 1295 01:02:25,250 --> 01:02:25,863 Evet. 1296 01:02:25,863 --> 01:02:27,946 >> HEDEF KİTLE: eğer yüzden sadece değişkeninde saklayın 1297 01:02:27,946 --> 01:02:31,430 var x gibi iki values-- toplamına eşittir 1298 01:02:31,430 --> 01:02:32,420 >> HANNAH BLUMBERG: Evet. 1299 01:02:32,420 --> 01:02:35,320 Yani sadece var toplamını yapabileceği iki değerin toplamına eşittir. 1300 01:02:35,320 --> 01:02:37,670 Evet. 1301 01:02:37,670 --> 01:02:38,680 Başka soru? 1302 01:02:38,680 --> 01:02:39,642 Evet. 1303 01:02:39,642 --> 01:02:42,047 >> HEDEF KİTLE: Ama olur böyle toplamı ve toplamı karıştırmayın? 1304 01:02:42,047 --> 01:02:45,062 Eğer değişken toplamı ararsanız gibi, İşlev toplamı diyorsun? 1305 01:02:45,062 --> 01:02:45,895 HANNAH BLUMBERG: Mm. 1306 01:02:45,895 --> 01:02:46,395 Mm. 1307 01:02:46,395 --> 01:02:51,253 Eğer bir şey yaptıysak gibi, toplamı toplamı 2, 5 eşittir? 1308 01:02:51,253 --> 01:02:53,170 >> HEDEF KİTLE: Evet. 1309 01:02:53,170 --> 01:02:56,465 >> HANNAH BLUMBERG: Ben inanıyorum toplamının değeri üzerine olacaktır. 1310 01:02:56,465 --> 01:02:59,290 Yani başka ilginç JavaScript hakkında bir şey 1311 01:02:59,290 --> 01:03:02,950 tek bir değişken alabilir ki Farklı türde bir demet. 1312 01:03:02,950 --> 01:03:03,790 Kötü uygulama. 1313 01:03:03,790 --> 01:03:06,280 Bir şeyler yapmamalıdır gibi sadece ne dedi. 1314 01:03:06,280 --> 01:03:10,240 >> Ama C, ben ayarlanırsa bir tam sayıya eşit, 1315 01:03:10,240 --> 01:03:13,570 Biz asla olduğunu biliyorum bir dize olmaya devam. 1316 01:03:13,570 --> 01:03:15,670 Bu JavaScript durum böyle değil. 1317 01:03:15,670 --> 01:03:17,770 Evet, iyi bir soru. 1318 01:03:17,770 --> 01:03:20,151 Başka herhangi bir şey? 1319 01:03:20,151 --> 01:03:20,650 Pekala. 1320 01:03:20,650 --> 01:03:21,850 Zamanında tüm haklarını yapıyor. 1321 01:03:21,850 --> 01:03:23,050 Tutulması gidiyor. 1322 01:03:23,050 --> 01:03:25,200 Pekala. 1323 01:03:25,200 --> 01:03:27,780 >> Biz bir dizi bakarsak JavaScript, burada 1324 01:03:27,780 --> 01:03:30,250 dizelerden oluşan bir dizi hızlı bir örnektir. 1325 01:03:30,250 --> 01:03:31,967 Ve diziler dinamik büyüyebilir. 1326 01:03:31,967 --> 01:03:33,675 Onlar yok Aynı şekilde, sabit boyut 1327 01:03:33,675 --> 01:03:37,990 Onlar C yapmak olduğunu biz erişebilirsiniz Sadece köşeli parantez ile elemanları. 1328 01:03:37,990 --> 01:03:41,720 >> Yani PHP ve bir sürü çok benziyor Bu durumda, diyebiliriz C gibi, 1329 01:03:41,720 --> 01:03:48,360 Ben kelimesini JavaScript isteseydim, yapardım 0, 1, 2 ile köşeli parantez arr yoktur. 1330 01:03:48,360 --> 01:03:51,450 1331 01:03:51,450 --> 01:03:55,390 Biz Ve sonra C hatırlarsanız Bir dizinin uzunluğunu almak istedim, 1332 01:03:55,390 --> 01:03:56,820 Gerçekten sinir bozucu oldu. 1333 01:03:56,820 --> 01:03:58,460 Ama JavaScript, süper kolay. 1334 01:03:58,460 --> 01:03:59,910 Tüm yapmamız, .length. 1335 01:03:59,910 --> 01:04:01,120 O uzunlukları verir. 1336 01:04:01,120 --> 01:04:01,892 Bu kadar. 1337 01:04:01,892 --> 01:04:03,140 >> HEDEF KİTLE: Bu kadar basit. 1338 01:04:03,140 --> 01:04:05,306 >> HANNAH BLUMBERG: Evet, yapar hayatınızı çok daha kolay. 1339 01:04:05,306 --> 01:04:08,950 1340 01:04:08,950 --> 01:04:11,560 Tamam, yok object--. 1341 01:04:11,560 --> 01:04:15,480 JavaScript hissediyorum nesneler C yapılar gibi bir çok 1342 01:04:15,480 --> 01:04:18,280 ve PHP ilişkisel diziler. 1343 01:04:18,280 --> 01:04:20,270 Yani biz ne gördüm bir sürü JSON olan 1344 01:04:20,270 --> 01:04:23,150 JavaScript Object Notation duruyor. 1345 01:04:23,150 --> 01:04:25,550 Ve bu temelde bir yoldur bizim veri yapılandırılması. 1346 01:04:25,550 --> 01:04:27,880 >> Yani bir örnek görelim, muhtemelen en kolay. 1347 01:04:27,880 --> 01:04:32,540 Yani burada bir nesnenin bir örnek Bu CS50, sınıf saklar. 1348 01:04:32,540 --> 01:04:37,790 Ben sınıf derken, ben, ders demek değil, evet CS50 kursu da--. 1349 01:04:37,790 --> 01:04:40,730 Ve göreceksiniz ki Nesnenin her şeyi 1350 01:04:40,730 --> 01:04:43,526 içerdiği olacak küme parantezi. 1351 01:04:43,526 --> 01:04:48,260 >> Ve biz alan adlarını ilişkilendirmek başlar veya farklı değerlere sahip tuşlar. 1352 01:04:48,260 --> 01:04:52,920 Peki bu nasıl tür görmeye başlayabilirsiniz PHP bir ilişkisel dizi gibi hissediyor. 1353 01:04:52,920 --> 01:04:57,450 Yani biz alanını ilişkilendirmek için gidiyoruz ya da anahtar adı, kurs, dize ile, 1354 01:04:57,450 --> 01:04:58,510 CS50. 1355 01:04:58,510 --> 01:04:59,940 >> Biz bir eğitmen zorunda gidiyoruz. 1356 01:04:59,940 --> 01:05:00,940 Biz TFs zorunda gidiyoruz. 1357 01:05:00,940 --> 01:05:05,240 Biz psets sayısını zorunda gidiyoruz ve biz kaydettik gidiyoruz. 1358 01:05:05,240 --> 01:05:10,720 Ve unutmayın, bir serin şey tümüdür bunlar farklı türleri vardır, 1359 01:05:10,720 --> 01:05:12,020 ve bu tamamen iyi. 1360 01:05:12,020 --> 01:05:15,330 >> Bu, aslında, bir nesne için gayet muhtemelen bir nesne için beklenen 1361 01:05:15,330 --> 01:05:19,620 dizeleri bir arada olması ve sayılar ve Boolean ve diziler 1362 01:05:19,620 --> 01:05:23,420 ve herhangi başka olabilir senin nesne içinde olmasını istiyorum. 1363 01:05:23,420 --> 01:05:28,570 Ve bunlar olacak unutmayın adları veya tuşları ve o zaman biz sadece 1364 01:05:28,570 --> 01:05:30,300 Biraz kolon değerine ayarlayın. 1365 01:05:30,300 --> 01:05:32,015 >> HEDEF KİTLE: Tam JSON ne anlama geliyor? 1366 01:05:32,015 --> 01:05:33,890 HANNAH BLUMBERG: Ne Tam JSON demek? 1367 01:05:33,890 --> 01:05:36,470 JSON sadece açılımı JavaScript Object Notation. 1368 01:05:36,470 --> 01:05:38,430 Bu biçimlendirme sadece bir yolu. 1369 01:05:38,430 --> 01:05:40,040 Evet. 1370 01:05:40,040 --> 01:05:41,800 Bu bizim veri biçimlendirme bir yolu. 1371 01:05:41,800 --> 01:05:43,620 >> C, bu yapılar var. 1372 01:05:43,620 --> 01:05:45,800 PHP, bu ilişkilendirilebilir diziler var. 1373 01:05:45,800 --> 01:05:47,120 JavaScript, biz nesneleri var. 1374 01:05:47,120 --> 01:05:48,969 >> HEDEF KİTLE: Yani CS50 bir nesne değil mi? 1375 01:05:48,969 --> 01:05:51,010 HANNAH BLUMBERG: CS50 olduğu Bu durumda, nesne. 1376 01:05:51,010 --> 01:05:54,830 1377 01:05:54,830 --> 01:05:57,880 Şimdi, nasıl biz aslında erişimi yapmak bu alanlar, bu alanları değiştirmek veya. 1378 01:05:57,880 --> 01:06:03,920 Örneğin, biz karar varsayalım Bir az pset bu dönem istedi. 1379 01:06:03,920 --> 01:06:06,300 Bunun yerine dokuz, biz konum Sadece sekiz zorunda olacak. 1380 01:06:06,300 --> 01:06:08,240 Bunu nasıl değiştirecek? 1381 01:06:08,240 --> 01:06:09,436 >> Oh, yanlış yol. 1382 01:06:09,436 --> 01:06:11,060 Biz bunu iki yolu vardır. 1383 01:06:11,060 --> 01:06:13,490 Sayı bir nokta ile olan notasyonu ve iki numaralı 1384 01:06:13,490 --> 01:06:15,750 köşeli ayraç ile. 1385 01:06:15,750 --> 01:06:19,720 Yani, örneğin, ben eğer değiştirmek veya erişim istedi 1386 01:06:19,720 --> 01:06:26,820 Bizim CS50 nesne psets alan ne yapacağını CS50.psets olduğunu 1387 01:06:26,820 --> 01:06:30,770 böylece nesne nokta adı alan veya anahtarın adı. 1388 01:06:30,770 --> 01:06:37,120 >> Çok benzer, bu tam olarak eşdeğer sonra CS50 yapmak ve 1389 01:06:37,120 --> 01:06:42,050 köşeli parantez içinde, psets. 1390 01:06:42,050 --> 01:06:42,837 Güzel? 1391 01:06:42,837 --> 01:06:44,298 Evet. 1392 01:06:44,298 --> 01:06:47,707 >> HEDEF KİTLE: Yani JSON olduğunu teknik olarak hala JavaScript, 1393 01:06:47,707 --> 01:06:51,814 olsa psets biz [duyulamaz] bunu ayırmak? 1394 01:06:51,814 --> 01:06:52,730 HANNAH BLUMBERG: Elbette. 1395 01:06:52,730 --> 01:06:56,290 Soru Yani, vardır JavaScript ve JSON eşdeğer? 1396 01:06:56,290 --> 01:07:00,750 Yani JSON gösterimi temelde olduğunu biz yazmak yolu 1397 01:07:00,750 --> 01:07:02,700 JavaScript bir nesne. 1398 01:07:02,700 --> 01:07:05,190 Yani tam olarak aynı değiller. 1399 01:07:05,190 --> 01:07:08,950 >> Orada, JavaScript söyleyebilirim JavaScript nesnelerdir. 1400 01:07:08,950 --> 01:07:12,590 JSON bu nesneleri alır ve Onları yazdırır ve bunları görüntüler 1401 01:07:12,590 --> 01:07:15,160 veya güzel bir şekilde saklar. 1402 01:07:15,160 --> 01:07:18,110 Böylece JSON bir programlama değildir dil JavaScript yolu. 1403 01:07:18,110 --> 01:07:20,900 Bu sadece gösterim var JavaScript bizim nesneler. 1404 01:07:20,900 --> 01:07:21,400 Evet. 1405 01:07:21,400 --> 01:07:24,144 >> HEDEF KİTLE: Peki tam olarak ne [Duyulamaz] tamamlamak? 1406 01:07:24,144 --> 01:07:25,060 HANNAH BLUMBERG: Elbette. 1407 01:07:25,060 --> 01:07:27,727 Yani bu aslında hiçbir şey yapmaz. 1408 01:07:27,727 --> 01:07:28,935 Bu erişmek için sadece bir yoludur. 1409 01:07:28,935 --> 01:07:31,393 Yani biz değiştirmek istedim diyelim Sorun set sayısı 1410 01:07:31,393 --> 01:07:32,450 sekiz dokuzdan. 1411 01:07:32,450 --> 01:07:34,383 Yaptığımız şey yapmak olduğunu CS50.psets = 8 ;. gibi 1412 01:07:34,383 --> 01:07:38,500 1413 01:07:38,500 --> 01:07:39,400 >> Evet, harika bir soru. 1414 01:07:39,400 --> 01:07:40,733 Bu sadece size sözdizimi göstermektir. 1415 01:07:40,733 --> 01:07:43,620 Gerçekten yararlı bir şey yapmaz. 1416 01:07:43,620 --> 01:07:46,085 Sorusu olan? 1417 01:07:46,085 --> 01:07:48,210 Boyunca doğru hareket ederek. 1418 01:07:48,210 --> 01:07:51,960 >> Yani nasıl hızlı bir örneğe bakalım Sana bunu söyledim çünkü JavaScript işleri 1419 01:07:51,960 --> 01:07:55,170 yaptığı bütün bu güzel şeyler ve Bize web sayfalarını değiştirmenize olanak sağlar. 1420 01:07:55,170 --> 01:07:56,970 En doğrusu eylem görelim. 1421 01:07:56,970 --> 01:07:59,850 Yani, örneğin, bu HTML dosyasını almak. 1422 01:07:59,850 --> 01:08:04,350 >> Ve ben seni odaklanmak istiyorum şey Bir düğme bu özel etiketi, 1423 01:08:04,350 --> 01:08:06,182 id search_button ile. 1424 01:08:06,182 --> 01:08:08,670 Sadece sayfada var. 1425 01:08:08,670 --> 01:08:10,690 Bu yüzden şimdi görelim neler aslında yapabiliriz. 1426 01:08:10,690 --> 01:08:12,560 >> Peki, ne zaman varsayalım O düğmesini tıklatın 1427 01:08:12,560 --> 01:08:16,010 biz alert-- yapmak istiyorum düğmesine tıkladım. 1428 01:08:16,010 --> 01:08:17,840 En bunu nasıl yapabilirim görelim. 1429 01:08:17,840 --> 01:08:23,869 Yani bu bir şey değil window.onload-- Bu bu nedenle, sınıfta gördüm 1430 01:08:23,869 --> 01:08:26,180 sınav için bilmeniz gerekmez. 1431 01:08:26,180 --> 01:08:33,660 Ama bu temelde Tamam, çağrı diyor Bu fonksiyon zaman pencere yükler. 1432 01:08:33,660 --> 01:08:35,080 >> Yani bu sadece tür kurulum kodu var. 1433 01:08:35,080 --> 01:08:36,390 Bu konuda çok fazla endişe etmeyin. 1434 01:08:36,390 --> 01:08:39,170 Ya sana odaklanmak istiyorum burada. 1435 01:08:39,170 --> 01:08:44,020 Biz var searchButton eşittir demek document.getElementById search_button. 1436 01:08:44,020 --> 01:08:46,450 >> Tahmin edebileceğiniz gibi Yani, bu ne yapar, diyor olduğunu 1437 01:08:46,450 --> 01:08:50,920 Tamam, eleman bulmak gidin Kimlik search_button ile. 1438 01:08:50,920 --> 01:08:52,790 Ve şimdi biz buna sahip ve ben gerçek eleman 1439 01:08:52,790 --> 01:08:56,279 Bir depolamak için gidiyor Değişken searchButton. 1440 01:08:56,279 --> 01:09:00,651 Ve şimdi biz aslında o eleman kullanabilirsiniz ve değiştirmek, ya da değerlerini erişmek, 1441 01:09:00,651 --> 01:09:01,359 Bunun gibi şeyler. 1442 01:09:01,359 --> 01:09:04,649 Biz aslında başlayabilirsiniz web sayfası ile meşgul. 1443 01:09:04,649 --> 01:09:10,330 >> Yani burada şimdi var, tamam, demek o tıklandığında bu düğme, 1444 01:09:10,330 --> 01:09:12,859 Bu anonim işlevini çağırın. 1445 01:09:12,859 --> 01:09:16,811 Yani bu nerede anonimdir işlevleri kullanışlı hale. 1446 01:09:16,811 --> 01:09:18,060 Ve fonksiyon ne yapar? 1447 01:09:18,060 --> 01:09:20,529 Peki, sadece bu çağrıları uyarı fonksiyonu ve o diyor 1448 01:09:20,529 --> 01:09:22,910 Ara düğmesine tıkladım. 1449 01:09:22,910 --> 01:09:29,670 >> Ben nereye gidersem Yani ne olacak Bu HTML yaşıyor ve ben düğmesini tıklatın 1450 01:09:29,670 --> 01:09:33,729 Ben bir fantezi küçük bir uyarı alırsınız Bu düğmeye tıklandığında söyledi. 1451 01:09:33,729 --> 01:09:40,710 Yani işler odaklanmak burada-- document.getElementById 1452 01:09:40,710 --> 01:09:44,960 Belirli bir HTML alır Verilen kimliği ile öğesi. 1453 01:09:44,960 --> 01:09:48,529 Ve şimdi biz ayarlayabilirsiniz ne zaman ne olacağını 1454 01:09:48,529 --> 01:09:50,702 söz konusu eleman tıklandığında. 1455 01:09:50,702 --> 01:09:52,670 >> HEDEF KİTLE: Biz bütün bunlar koymak zorunda? 1456 01:09:52,670 --> 01:09:53,162 >> HANNAH BLUMBERG: Üzgünüm? 1457 01:09:53,162 --> 01:09:55,130 >> HEDEF KİTLE: biz var mı fiziksel olarak tüm kodu? 1458 01:09:55,130 --> 01:09:56,340 >> HANNAH BLUMBERG: biz var mı fiziksel olarak tüm kodu? 1459 01:09:56,340 --> 01:09:56,839 Evet. 1460 01:09:56,839 --> 01:09:58,120 Sinir bozucu bu tür değil midir? 1461 01:09:58,120 --> 01:10:00,032 Bu kod bir sürü. 1462 01:10:00,032 --> 01:10:01,574 >> HEDEF KİTLE: Bir şey ithal olabilir. 1463 01:10:01,574 --> 01:10:02,532 HANNAH BLUMBERG: Doğru. 1464 01:10:02,532 --> 01:10:03,610 Biz bir şey kullanabilirsiniz. 1465 01:10:03,610 --> 01:10:08,140 Ve particular-- oh, bu kadar bana ben bölümü öğretmek zorunda. 1466 01:10:08,140 --> 01:10:11,061 Özellikle, diyelim jQuery kütüphanesini kullanmak, 1467 01:10:11,061 --> 01:10:13,060 gerçekten çünkü Uzun ve gerçekten sinir bozucu 1468 01:10:13,060 --> 01:10:16,860 ve ben bunu basitleştirmek için güçlü olmak istiyorum ve daha kısa ve yazmayı kolaylaştırır. 1469 01:10:16,860 --> 01:10:19,810 >> Yani jQuery JavaScript kütüphanesidir. 1470 01:10:19,810 --> 01:10:24,930 Yani JavaScript programlama dil; jQuery bir kütüphanedir. 1471 01:10:24,930 --> 01:10:27,190 Ve daha kolay şeylerin bir demet yapar. 1472 01:10:27,190 --> 01:10:33,230 Değişen ve karşısına gidiyor yapar Bir HTML belgesi çok daha kolay. 1473 01:10:33,230 --> 01:10:35,030 >> Bu işleme olayları kolaylaştırır. 1474 01:10:35,030 --> 01:10:37,580 Daha kolay animasyon yapar ve daha kolay Ajax hale getirir. 1475 01:10:37,580 --> 01:10:40,140 Yani iki içine atlamak izin Şu anda bu şeyler. 1476 01:10:40,140 --> 01:10:40,900 Afedersiniz. 1477 01:10:40,900 --> 01:10:42,620 Yaptığımız önce, bazı temel sözdizimi. 1478 01:10:42,620 --> 01:10:46,870 >> Bu en çağırır nedir jQuery kütüphanesi gibi görünüyorsun. 1479 01:10:46,870 --> 01:10:50,520 Biz bu dolar kullanabilirsiniz sign-- PHP hiçbir bağlantı işareti, 1480 01:10:50,520 --> 01:10:56,030 sadece adı inconvenient-- seçici, nokta ve ardından bir eylem. 1481 01:10:56,030 --> 01:10:58,860 Yani bazı görelim Bunun somut örnekleri. 1482 01:10:58,860 --> 01:11:02,980 >> Yani bu aslında aynı Olay slayt kodu. 1483 01:11:02,980 --> 01:11:08,740 Yani bu uzun, çirkin bir şey olur Bu çok güzel, küçük bir şey. 1484 01:11:08,740 --> 01:11:10,370 Yani bu yıkmak deneyelim. 1485 01:11:10,370 --> 01:11:17,090 Bu tamam, jQuery-- bu dolar diyor jQuery sign-- bana pencereyi bulmak. 1486 01:11:17,090 --> 01:11:18,480 Yani seçici var. 1487 01:11:18,480 --> 01:11:21,800 >> O yüklediğinde, bu işlevini çağırın. 1488 01:11:21,800 --> 01:11:23,880 Yani içindeki her şey var. 1489 01:11:23,880 --> 01:11:24,380 TAMAM. 1490 01:11:24,380 --> 01:11:25,740 Şimdiye kadar, çok iyi? 1491 01:11:25,740 --> 01:11:26,750 Pekala. 1492 01:11:26,750 --> 01:11:32,970 >> Şimdi, jQuery, beni bulmak Kimlik search_button ile bir şey. 1493 01:11:32,970 --> 01:11:36,090 Ve bu ne tıklandığında, Bu işlevini çağırın. 1494 01:11:36,090 --> 01:11:37,900 Ve sonra bu işlev en tam olarak aynı. 1495 01:11:37,900 --> 01:11:41,052 Sadece uyarı biraz yapmak, Ara düğmesine tıkladım. 1496 01:11:41,052 --> 01:11:42,650 >> Bu yüzden gerçekten güzel. 1497 01:11:42,650 --> 01:11:46,260 Gerçekten yoğunlaşır ve Bizim kod kolaylaştırır. 1498 01:11:46,260 --> 01:11:49,030 Bunu biliyor muydunuz nasıl bu kimlik search_button var 1499 01:11:49,030 --> 01:11:50,960 ve sınıf search_button gibi değil? 1500 01:11:50,960 --> 01:11:52,024 >> HEDEF KİTLE: Hashtag? 1501 01:11:52,024 --> 01:11:52,940 HANNAH BLUMBERG: Evet. 1502 01:11:52,940 --> 01:11:56,450 Bu karma sembol, sadece CSS gibi. 1503 01:11:56,450 --> 01:12:00,080 Ne zaman biz çok CSS ile hatırlıyorum No şey seçmek istedim, 1504 01:12:00,080 --> 01:12:01,590 Biz pound işareti kullanılır. 1505 01:12:01,590 --> 01:12:05,400 Ve biz seçmek istedim sınıf tarafından bir şey, biz nokta kullanın. 1506 01:12:05,400 --> 01:12:06,870 Büyük. 1507 01:12:06,870 --> 01:12:08,230 Mantıklı? 1508 01:12:08,230 --> 01:12:11,500 Yani jQuery gerekiyordu sadece bizim hayatınızı kolaylaştıracak. 1509 01:12:11,500 --> 01:12:12,000 Evet. 1510 01:12:12,000 --> 01:12:15,660 >> İZLEYİCİ: Yani ben biraz kafam karıştı anonim işlev nasıl çalıştığı. 1511 01:12:15,660 --> 01:12:19,027 Bu anonymouse isim musunuz işlevi, işlev? 1512 01:12:19,027 --> 01:12:20,594 Nasıl denir? 1513 01:12:20,594 --> 01:12:21,510 HANNAH BLUMBERG: Elbette. 1514 01:12:21,510 --> 01:12:25,812 Yani işlevi sadece bir anahtar kelime olduğunu Ben bir işlev tanımlamak üzereyim, diyor. 1515 01:12:25,812 --> 01:12:26,520 HEDEF KİTLE: Tamam, evet. 1516 01:12:26,520 --> 01:12:27,353 HANNAH BLUMBERG: Tamam mı? 1517 01:12:27,353 --> 01:12:32,120 Ve sonra biz bir şekilde geçmesi argüman en atalım aşağıdaki amaçlara 1518 01:12:32,120 --> 01:12:37,040 tıklama işlevine bu iç Şehre. 1519 01:12:37,040 --> 01:12:39,420 Yani evet, o işlev, böylece Bu anonim işlev, 1520 01:12:39,420 --> 01:12:40,910 gerçek bir bağımsız değişken olur. 1521 01:12:40,910 --> 01:12:43,632 Yani, JavaScript hatırlıyorum biz değerler gibi işlevleri davranabilirsiniz. 1522 01:12:43,632 --> 01:12:44,340 HEDEF KİTLE: Tamam, evet. 1523 01:12:44,340 --> 01:12:45,256 HANNAH BLUMBERG: Evet. 1524 01:12:45,256 --> 01:12:46,035 Ben böyle "Oh." 1525 01:12:46,035 --> 01:12:47,490 Güzel. 1526 01:12:47,490 --> 01:12:49,915 Diğer sorular? 1527 01:12:49,915 --> 01:12:50,505 Zaman? 1528 01:12:50,505 --> 01:12:51,380 MARIA ZLATKOVA: İyi. 1529 01:12:51,380 --> 01:12:52,760 İyi. 1530 01:12:52,760 --> 01:12:54,210 >> HANNAH BLUMBERG: Başar. 1531 01:12:54,210 --> 01:12:55,720 Bazı hızlı kullanışlı jQuery. 1532 01:12:55,720 --> 01:12:57,559 Ben gitmek için gitmiyorum Bunların tümü boyunca uzanabilir. 1533 01:12:57,559 --> 01:12:59,350 Bu slaytları olacak Online biraz yukarı 1534 01:12:59,350 --> 01:13:02,040 Daha sonra, bu yüzden kontrol edebilirsiniz Biraz sonra dışarı. 1535 01:13:02,040 --> 01:13:07,120 Ama temelde, genel dediğimiz yerde desen, tutar 1536 01:13:07,120 --> 01:13:11,510 Hey, tamam, jQuery, burada benim Daha sonra burada seçici ve bir eylem var. 1537 01:13:11,510 --> 01:13:15,940 Ve erişim gibi şeyler yapabilirsiniz bir form değeri, bazı HTML erişmek 1538 01:13:15,940 --> 01:13:19,195 kullanıcıyı ne kontrol Bir form, böyle şeyler gönderir. 1539 01:13:19,195 --> 01:13:20,106 Evet. 1540 01:13:20,106 --> 01:13:22,090 >> HEDEF KİTLE: Yani Sınav, biz ihtiyacımız olacak 1541 01:13:22,090 --> 01:13:25,066 oldukça çok şey bilmek jQuery belgeleri. 1542 01:13:25,066 --> 01:13:31,018 Bu yüzden jQuery kopyala / yapıştır verilen Bizim hile tabakasına dokümantasyon, 1543 01:13:31,018 --> 01:13:32,506 nerede çizgi çizilir değil mi? 1544 01:13:32,506 --> 01:13:33,957 Gibi kaç bilmemiz gerekiyor? 1545 01:13:33,957 --> 01:13:35,290 HANNAH BLUMBERG: Büyük bir soru. 1546 01:13:35,290 --> 01:13:37,765 Soru esasen size verilen 1547 01:13:37,765 --> 01:13:41,330 jQuery belgelerine erişemiyor Test sırasında, ne kadar olmalıdır 1548 01:13:41,330 --> 01:13:41,830 biliyor musun? 1549 01:13:41,830 --> 01:13:45,540 Biz gelip beklemek olmaz bazı rasgele fonksiyonu ile 1550 01:13:45,540 --> 01:13:47,240 Google'da sizi beklediğiniz. 1551 01:13:47,240 --> 01:13:52,930 >> Adil oyun şeyler yapardım vardır Genel sözdizimi sadece tür demek 1552 01:13:52,930 --> 01:13:58,310 No seçmek için güçlü olmak ve bu yüzden sadece CSS gibi class-- tarafından. 1553 01:13:58,310 --> 01:14:01,876 Ve daha sonra gerçek fonksiyonları kendilerini, biz büyük olasılıkla anlatacağım. 1554 01:14:01,876 --> 01:14:02,376 Evet. 1555 01:14:02,376 --> 01:14:05,591 >> HEDEF KİTLE: Yani seçmek sınıf tarafından noktayı anlamına gelecektir. 1556 01:14:05,591 --> 01:14:06,840 HANNAH BLUMBERG: Evet, kesinlikle. 1557 01:14:06,840 --> 01:14:07,340 İyi. 1558 01:14:07,340 --> 01:14:10,461 Eğer sınıf tarafından seçtiğinizde, gidiyor yerine kiloluk işareti nokta edilecek. 1559 01:14:10,461 --> 01:14:10,960 Evet. 1560 01:14:10,960 --> 01:14:12,710 >> HEDEF KİTLE: Would you fark üzerinden gitmek 1561 01:14:12,710 --> 01:14:14,310 KODU ve sınıf seçme arasında? 1562 01:14:14,310 --> 01:14:14,560 >> HANNAH BLUMBERG: Elbette. 1563 01:14:14,560 --> 01:14:17,510 Seçimi arasındaki fark Sınıf kimliği ve seçme. 1564 01:14:17,510 --> 01:14:20,685 Maria söyledi Yani bir biraz daha erken, orada 1565 01:14:20,685 --> 01:14:26,280 Sadece bir HTML öğesi olabilir Belirli bir kimlikle, sınıfta iken, 1566 01:14:26,280 --> 01:14:29,740 bu grubun bir demet bize izin verir Birlikte farklı unsurları, 1567 01:14:29,740 --> 01:14:34,300 bu yüzden ilgili şeyler, ama tam olarak aynı. 1568 01:14:34,300 --> 01:14:35,685 Bu soruya cevap mı? 1569 01:14:35,685 --> 01:14:36,200 Başar. 1570 01:14:36,200 --> 01:14:37,194 Evet. 1571 01:14:37,194 --> 01:14:40,680 >> HEDEF KİTLE: Birden fazla varsa ne olur Aynı sınıfta olan şeyler? 1572 01:14:40,680 --> 01:14:42,150 >> HANNAH BLUMBERG: Ne olur Birden şeyler varsa o 1573 01:14:42,150 --> 01:14:43,280 aynı sınıf mı? 1574 01:14:43,280 --> 01:14:45,829 Yani, örneğin, biz eğer Sadece saf JavaScript kullanarak 1575 01:14:45,829 --> 01:14:48,120 Biz böyle bir şey yapacağını document.getElementsByClass. 1576 01:14:48,120 --> 01:14:52,280 1577 01:14:52,280 --> 01:14:56,320 Ve bu aslında yok sonra ne döner elemanların bir dizidir. 1578 01:14:56,320 --> 01:14:59,517 >> Ve yineleme ya var Onları istediğiniz hangisinin bulmak ya. 1579 01:14:59,517 --> 01:15:01,350 Bu verecek değil Tek bir eleman. 1580 01:15:01,350 --> 01:15:03,450 Size vermek için gidiyor elemanlı bir dizi. 1581 01:15:03,450 --> 01:15:05,280 Büyük soru. 1582 01:15:05,280 --> 01:15:07,700 Başka herhangi bir şey? 1583 01:15:07,700 --> 01:15:09,520 Başar. 1584 01:15:09,520 --> 01:15:12,860 >> Bu yüzden aşina iseniz düşünüyorum Herhangi bir jQuery, pset gördüm 1585 01:15:12,860 --> 01:15:15,600 gitmek iyi olmalıdır. 1586 01:15:15,600 --> 01:15:16,325 Soru? 1587 01:15:16,325 --> 01:15:17,610 Oh hayır. 1588 01:15:17,610 --> 01:15:18,859 Ben gerçekten öğretmeliyiz. 1589 01:15:18,859 --> 01:15:19,358 Rahatlayın. 1590 01:15:19,358 --> 01:15:20,035 O iyi olacak. 1591 01:15:20,035 --> 01:15:20,660 Oraya olacak. 1592 01:15:20,660 --> 01:15:24,670 1593 01:15:24,670 --> 01:15:26,870 >> En Ajax hakkında konuşalım. 1594 01:15:26,870 --> 01:15:31,350 Yani Ajax bir-- iyi olacak, en ne demektir ile başlayalım. 1595 01:15:31,350 --> 01:15:32,350 Bir kısaltma var. 1596 01:15:32,350 --> 01:15:35,855 Bu uyumsuz duruyor JavaScript ve XML. 1597 01:15:35,855 --> 01:15:39,800 Ve XML temelde olacak olan [Duyulamaz] bizim veri türü ile. 1598 01:15:39,800 --> 01:15:42,100 Ama biz aslında XML kullanmadım. 1599 01:15:42,100 --> 01:15:43,430 Bunun yerine, biz sadece JSON kullanın. 1600 01:15:43,430 --> 01:15:48,350 >> Yani temelde, bazı verilerinin-- var asenkron, JavaScript ve veri 1601 01:15:48,350 --> 01:15:50,040 Bu durumda, JSON. 1602 01:15:50,040 --> 01:15:52,820 Ve bizim hedefimiz bahsettiğimiz gibi Biraz daha erken, 1603 01:15:52,820 --> 01:15:56,880 Bir yapmak mümkün olduğu istek, bu istek yapmak var 1604 01:15:56,880 --> 01:16:00,700 onun bir şey arka plan, ama devam 1605 01:16:00,700 --> 01:16:02,550 biz yapmak niyetinde ne yapmak. 1606 01:16:02,550 --> 01:16:06,650 Ve bu bilgiler daha sonra ne zaman hazır, o zaman biz onu dahil edeceğiz. 1607 01:16:06,650 --> 01:16:08,470 >> Yani bu ne görelim Aslında benziyor. 1608 01:16:08,470 --> 01:16:11,210 Ve bu, sen olmalı tanıdık biraz 1609 01:16:11,210 --> 01:16:13,680 pset8 gelen bir sadece zorlandı. 1610 01:16:13,680 --> 01:16:16,200 Yani burada geçerli bir jQuery var Fonksiyon biz olabilir 1611 01:16:16,200 --> 01:16:18,250 Bu dolar işareti about-- bilmek istiyorum. 1612 01:16:18,250 --> 01:16:21,500 Bu yüzden jQuery işlevi, .getJSON diyor. 1613 01:16:21,500 --> 01:16:25,020 >> Peki bu işlev yapar öyle Bir URL ve bazı parameters-- alır 1614 01:16:25,020 --> 01:16:28,000 bu yüzden halinde düşünüyorum pset8 nedeniyle, gibiydi 1615 01:16:28,000 --> 01:16:33,520 URL articles.php ve parametreler = Bazı posta kodunu gitmek oldu. 1616 01:16:33,520 --> 01:16:41,580 Ve Tamam, bir talepte diyor Verilen parametreler ile bu URL. 1617 01:16:41,580 --> 01:16:43,480 Ve bu sadece olur. 1618 01:16:43,480 --> 01:16:47,730 >> O bitirdiğinde, Ya başarıyla tamamlamak olacak 1619 01:16:47,730 --> 01:16:49,370 ya da başarısız oluyor. 1620 01:16:49,370 --> 01:16:53,480 Yani bu çağrının eşdeğerdir Rob ve bir şeyler yapmak için ona sormak. 1621 01:16:53,480 --> 01:17:00,260 O geri aradığında Ve sonra o Ya Ben bittim ya da başarısız demek için gidiyor. 1622 01:17:00,260 --> 01:17:04,030 >> Sen durumunda Yani bitmiş, tamam, ben bittim, söylüyorlar. 1623 01:17:04,030 --> 01:17:05,980 Ve sonra bu işlevini çağırın. 1624 01:17:05,980 --> 01:17:08,915 Bu durumda, bu olacak bazı bilgiler alır işlevi. 1625 01:17:08,915 --> 01:17:12,890 Genellikle umurumda biri, veri biz aslında iade edilen veriler 1626 01:17:12,890 --> 01:17:15,900 .GetJSON arama sonucu. 1627 01:17:15,900 --> 01:17:17,470 >> Ve onunla bir şeyler yapabiliriz. 1628 01:17:17,470 --> 01:17:23,670 Pset8 durumunda Yani Biz bir liste olarak görüntülenir. 1629 01:17:23,670 --> 01:17:29,050 Fail bir işlev olacak isteği başarısız olursa o denir 1630 01:17:29,050 --> 01:17:30,450 sebebi ne olursa olsun. 1631 01:17:30,450 --> 01:17:35,104 Ve pset8 halinde, biz sadece console.log. 1632 01:17:35,104 --> 01:17:36,020 Bu konuda herhangi bir sorunuz? 1633 01:17:36,020 --> 01:17:36,300 Evet. 1634 01:17:36,300 --> 01:17:39,633 >> HEDEF KİTLE: biz sadece işlev teta kullanabilir miyim işlevini yerine, textStatus, jqHXR. 1635 01:17:39,633 --> 01:17:43,464 1636 01:17:43,464 --> 01:17:44,380 HANNAH BLUMBERG: Elbette. 1637 01:17:44,380 --> 01:17:46,713 Yani evet, ben pset düşünüyorum, biz sadece fonksiyon verilerini gördüm. 1638 01:17:46,713 --> 01:17:48,700 Yani sadece Tamam, evet Şeyin var. 1639 01:17:48,700 --> 01:17:50,510 Yani biz pset gördüm budur. 1640 01:17:50,510 --> 01:17:51,480 Bu tamamen iyi. 1641 01:17:51,480 --> 01:17:54,210 >> İsterseniz Bunlar sadece Daha fazla bilgi çekerek, 1642 01:17:54,210 --> 01:17:57,190 bunlar olduğunu Eğer .getJSON dan alabilir. 1643 01:17:57,190 --> 01:17:59,040 İyi soru. 1644 01:17:59,040 --> 01:17:59,706 Başka herhangi bir şey? 1645 01:17:59,706 --> 01:18:00,206 Evet. 1646 01:18:00,206 --> 01:18:01,787 >> HEDEF KİTLE: So .GetJSON Ajax nedir? 1647 01:18:01,787 --> 01:18:02,620 HANNAH BLUMBERG: Tamam. 1648 01:18:02,620 --> 01:18:05,700 Yani bu zor kısmı türüdür. 1649 01:18:05,700 --> 01:18:12,390 Bu sağlayan bir jQuery fonksiyonudur Eğer uyumsuz çağrı yapmak. 1650 01:18:12,390 --> 01:18:16,080 Ve bu asenkron çağrılar, işte ne Ajax olarak atıfta oldum. 1651 01:18:16,080 --> 01:18:16,850 Evet. 1652 01:18:16,850 --> 01:18:20,185 Yani bana gerçekten uzun bir zaman aldı Ben bir öğrenci iken ayrı çekin. 1653 01:18:20,185 --> 01:18:21,560 HEDEF KİTLE: Tekrar diyebilir miyiz? 1654 01:18:21,560 --> 01:18:22,476 HANNAH BLUMBERG: Evet. 1655 01:18:22,476 --> 01:18:23,630 Tekrar diyebilir miyiz? 1656 01:18:23,630 --> 01:18:29,010 Bu .GetJSON işlevi jQuery fonksiyonudur. 1657 01:18:29,010 --> 01:18:31,970 Ve bunu yapmak için gidiyor Zaman uyumsuz bir çağrı. 1658 01:18:31,970 --> 01:18:35,700 Ve bu asenkron çağrılar, biz ettik Ajax olarak kişilere atıfta. 1659 01:18:35,700 --> 01:18:39,610 1660 01:18:39,610 --> 01:18:41,872 >> Başka soru? 1661 01:18:41,872 --> 01:18:43,330 Biz sol sadece bir kaç dakika var. 1662 01:18:43,330 --> 01:18:45,080 Ve Maria'nın gidiş güvenlik tamamlamayı 1663 01:18:45,080 --> 01:18:47,464 ve sonra biz gidiyoruz hemen yapılacak. 1664 01:18:47,464 --> 01:18:48,630 MARIA ZLATKOVA: Başar, tamam. 1665 01:18:48,630 --> 01:18:54,030 Yani bu sadece bir çift almak bu-- saniye bu üzerinden bakmak için. 1666 01:18:54,030 --> 01:18:56,750 Ve bu gerçekten büyük bir şey değil. 1667 01:18:56,750 --> 01:18:59,430 Ve neden kimse bana söyleyebilir? 1668 01:18:59,430 --> 01:19:05,650 Ne foo oluyor ve olabilir olabilir edilir potansiyel olarak kötü bir şey neden, 1669 01:19:05,650 --> 01:19:06,770 ve bu ne denir? 1670 01:19:06,770 --> 01:19:07,270 Evet. 1671 01:19:07,270 --> 01:19:10,391 HEDEF KİTLE: Eğer var argüman 12'den fazla karakter geçti, 1672 01:19:10,391 --> 01:19:11,454 o taşma olabilir. 1673 01:19:11,454 --> 01:19:12,370 MARIA ZLATKOVA: Doğru. 1674 01:19:12,370 --> 01:19:14,180 Mükemmel. 1675 01:19:14,180 --> 01:19:15,384 Ne denir? 1676 01:19:15,384 --> 01:19:16,300 Sadece bahsetti. 1677 01:19:16,300 --> 01:19:16,840 >> HEDEF KİTLE: Bellek taşması. 1678 01:19:16,840 --> 01:19:18,381 >> MARIA ZLATKOVA: Evet, tampon taşması. 1679 01:19:18,381 --> 01:19:21,230 Yani bu bir şey olduğunu biz tampon taşması olarak bakın. 1680 01:19:21,230 --> 01:19:25,500 Ve biz, foo o içini görmek Biz bizim tampon, c tanımladığınız 1681 01:19:25,500 --> 01:19:27,240 12 bir büyüklüktedir. 1682 01:19:27,240 --> 01:19:32,680 Ancak, ana, biz değiliz hiç bir şekilde check- 1683 01:19:32,680 --> 01:19:36,480 olup, böylece argv1-- İkinci argüman oldu. 1684 01:19:36,480 --> 01:19:39,630 Biz kontrol yok bunun boyutu uygundur. 1685 01:19:39,630 --> 01:19:43,380 >> Yani eğer biz vardı Özellikle kötü niyetli kullanıcı 1686 01:19:43,380 --> 01:19:47,170 olarak bazı argüman koymak kimin 12 daha uzun ve daha sonra potansiyel 1687 01:19:47,170 --> 01:19:50,850 Bu sınırları ötesindeki argüman, bazı yürütülebilir kod vardı 1688 01:19:50,850 --> 01:19:55,570 O kötü bir şey yapmaya çalışıyordu Bununla; o zaman bu, ne olur 1689 01:19:55,570 --> 01:19:59,310 dönüşü geçersiz olur foo işlevi adresi 1690 01:19:59,310 --> 01:20:04,370 zaman fonksiyonu neden Bu kod yürütmesine dönen. 1691 01:20:04,370 --> 01:20:07,540 Ve sonra kötü şeyler olabilirdi. 1692 01:20:07,540 --> 01:20:09,850 Bu herkese mantıklı mı? 1693 01:20:09,850 --> 01:20:12,424 >> Ve biz buna karşı nasıl koruyabilirim? 1694 01:20:12,424 --> 01:20:13,090 Baska öneri? 1695 01:20:13,090 --> 01:20:16,480 1696 01:20:16,480 --> 01:20:21,890 Temel olarak, iç Potansiyel foo nasıl 1697 01:20:21,890 --> 01:20:28,294 Emin olmak için kontrol edebilirsiniz o olamaz? 1698 01:20:28,294 --> 01:20:33,879 >> İZLEYİCİ: boyutu 12 aşılırsa, Ek bellek ayrılamadı ki? 1699 01:20:33,879 --> 01:20:37,170 MARIA ZLATKOVA: Öneri ise, tahsis boyutta ek bellek aşmıştır. 1700 01:20:37,170 --> 01:20:39,800 Aslında, biz bir şey a yapabiliriz hem de daha basit bir şey. 1701 01:20:39,800 --> 01:20:44,870 Biz sadece dize uzunluğunu alabilirsiniz girilen argüman, 1702 01:20:44,870 --> 01:20:48,590 daha az olup olmadığını kontrol ya da daha 12-- eşit 1703 01:20:48,590 --> 01:20:50,790 biz istediğimiz olan Biz istemiyoruz, çünkü olmak 1704 01:20:50,790 --> 01:20:52,373 bizim tampon sınırlarını aşan. 1705 01:20:52,373 --> 01:20:55,690 Ve öyle değil o, biz argümanı ile çalışabilirsiniz. 1706 01:20:55,690 --> 01:21:00,296 Ve eğer o, biz aslında istiyorum kullanıcı potansiyel olarak YELLO için. 1707 01:21:00,296 --> 01:21:01,670 Ama bu bunu nasıl olduğunu. 1708 01:21:01,670 --> 01:21:02,443 Evet. 1709 01:21:02,443 --> 01:21:04,360 >> HEDEF KİTLE: Acaba memcpy gerçek hızlı açıklayabilir? 1710 01:21:04,360 --> 01:21:05,443 MARIA ZLATKOVA: Oh, üzgünüm. 1711 01:21:05,443 --> 01:21:06,040 Evet. 1712 01:21:06,040 --> 01:21:11,290 Memcpy tamam, ne olursa olsun o-- özür alır. 1713 01:21:11,290 --> 01:21:15,850 Memcpy ne olursa olsun alır barda, ne olursa olsun geçirilir 1714 01:21:15,850 --> 01:21:18,050 komut satırı argümanı olarak foo üzerine. 1715 01:21:18,050 --> 01:21:19,440 Yani argv1 almaya gidiyor. 1716 01:21:19,440 --> 01:21:21,420 Argv1 Burada çubuğu olarak adlandırılır. 1717 01:21:21,420 --> 01:21:24,453 Yani bar almaya gidiyor ve o c içine kopyalamak için gidiyor. 1718 01:21:24,453 --> 01:21:25,402 >> HEDEF KİTLE: Tamam. 1719 01:21:25,402 --> 01:21:28,360 MARIA ZLATKOVA: Ve gidiyor Üçüncü argüman sadece atıfta copy-- 1720 01:21:28,360 --> 01:21:30,601 ne kadar o c kopyalamak için gidiyor. 1721 01:21:30,601 --> 01:21:31,142 HEDEF KİTLE: Ah. 1722 01:21:31,142 --> 01:21:33,030 Yani bu kişinin kopyalama sonra hepsi. 1723 01:21:33,030 --> 01:21:34,310 >> MARIA ZLATKOVA: Evet, bunun hepsi taklit ediyor. 1724 01:21:34,310 --> 01:21:34,810 Evet. 1725 01:21:34,810 --> 01:21:38,400 1726 01:21:38,400 --> 01:21:41,910 İlk olarak, biz bar değil emin olun Bir işaretçi çünkü eşit null. 1727 01:21:41,910 --> 01:21:44,680 Sonra bar dize uzunluğunu olsun. 1728 01:21:44,680 --> 01:21:47,530 Biz bu kadar emin daha az ya da 12 buna eşittir. 1729 01:21:47,530 --> 01:21:50,070 Ve sonra biz ettik çünkü emin yaptı, biz aslında can 1730 01:21:50,070 --> 01:21:53,122 memcpy ve Tamam emin olun. 1731 01:21:53,122 --> 01:21:53,705 Sorusu olan? 1732 01:21:53,705 --> 01:21:56,280 1733 01:21:56,280 --> 01:21:58,690 Büyük. 1734 01:21:58,690 --> 01:22:00,400 Ben iki doğru veya yanlış soru var. 1735 01:22:00,400 --> 01:22:05,470 Herkes hemen bana söyleyebilir Bu doğru ya da yanlış olup olmadığını? 1736 01:22:05,470 --> 01:22:07,460 Evet, yanlış değil. 1737 01:22:07,460 --> 01:22:07,960 Kesinlikle. 1738 01:22:07,960 --> 01:22:09,330 İkisi de yanlış. 1739 01:22:09,330 --> 01:22:12,682 Tek bir şifre kullanarak Yani asla gerçekten iyi bir fikir olduğunu 1740 01:22:12,682 --> 01:22:14,890 Birisi bilir çünkü eğer şifrenizi, onlar sadece can 1741 01:22:14,890 --> 01:22:16,260 Tüm diğer hesaplarına erişim. 1742 01:22:16,260 --> 01:22:19,260 Ve sonra simgeler hiçbir şey güvenliğini sağlamak için. 1743 01:22:19,260 --> 01:22:24,900 Biz genellikle HTTPS bakmalısınız HTTP yerine ve URL. 1744 01:22:24,900 --> 01:22:28,560 >> Ve bazı başka tip biz belirttiğimiz saldırılar, 1745 01:22:28,560 --> 01:22:31,390 David belirtilen ettiğini SQL enjeksiyon saldırıları ders. 1746 01:22:31,390 --> 01:22:37,310 Biz zaten gördük biz Yapma-- eğer CS50 sorgu işlevi emin SQL yapar 1747 01:22:37,310 --> 01:22:39,530 enjeksiyon saldırıları oluşamaz. 1748 01:22:39,530 --> 01:22:42,640 Ama biz CS50 kullanarak olmasaydı, alıntı, unquote "sorguda," 1749 01:22:42,640 --> 01:22:46,830 Emin olmak için olurdu kullanıcı girişi aslında bazı SQL değil 1750 01:22:46,830 --> 01:22:49,670 Tüm neden olur sorgu Bizim tablolar atılacak 1751 01:22:49,670 --> 01:22:54,070 ya da kötü bir şey Bizim veritabanı ile olur. 1752 01:22:54,070 --> 01:22:56,790 >> Oturum kaçırma olduğunu başka türde bir saldırı 1753 01:22:56,790 --> 01:23:05,940 Bu bazı kötü olur kişinin bazı kurbanın oturumunu kullanır 1754 01:23:05,940 --> 01:23:08,740 Kimlik giriş bilgilerine erişmek için. 1755 01:23:08,740 --> 01:23:13,620 Yani çok önemsiz bir örnektir gibi biz ortak bir bilgisayar varsa, 1756 01:23:13,620 --> 01:23:21,120 Daha sonra kötü bir insan olarak ve daha sonra günlükleri Onlar kaydedilir çerezleri. 1757 01:23:21,120 --> 01:23:23,380 Ve çerezler oturum için değişmez. 1758 01:23:23,380 --> 01:23:27,620 >> Sonra kurban gitmek var ve daha sonra web sitesine giriş yapın. 1759 01:23:27,620 --> 01:23:30,290 Çerezleri değişmez Belirli bir oturum için. 1760 01:23:30,290 --> 01:23:33,060 Ve sonra kurban içine günlükleri Daha sonra web sitesi ve bırakır. 1761 01:23:33,060 --> 01:23:36,190 Ve sonra kişi kim gider Daha sonra yine kendi oturum kimliğini kullanabilir 1762 01:23:36,190 --> 01:23:37,430 Onların bilgilere erişmek için. 1763 01:23:37,430 --> 01:23:40,050 Böylece bir örnek Bunun olmasına nasıl. 1764 01:23:40,050 --> 01:23:45,570 >> Ve sonra ben çok fazla endişe olmaz özel kod ya da bir şey hakkında 1765 01:23:45,570 --> 01:23:49,270 Bu neden olabilir böyle, ama fikir çeşit olan nedir 1766 01:23:49,270 --> 01:23:51,400 Bu yer değişkenlerdir. 1767 01:23:51,400 --> 01:23:53,897 Ve sonra başlık manipüle Veri saldırı başka bir türüdür 1768 01:23:53,897 --> 01:23:55,230 O David bahsetti vardır. 1769 01:23:55,230 --> 01:23:59,730 Ve bu sadece atıfta ne zaman ne olabilir 1770 01:23:59,730 --> 01:24:04,300 yanıtı, HTTP Bizim başlık içinde yanıt 1771 01:24:04,300 --> 01:24:05,720 Düzgün temizlenmiş değil. 1772 01:24:05,720 --> 01:24:14,340 >> Ve, örneğin fields-- herhangi Birisi başlığının biri yazar ise 1773 01:24:14,340 --> 01:24:18,860 değerler başka bir şey içeren ne contain-- gerekir aslında 1774 01:24:18,860 --> 01:24:22,720 Bir 200 örneğin, şunları kapsar Tamam durum kodu, daha sonra 1775 01:24:22,720 --> 01:24:26,890 potansiyel olarak zararlı yapabilirdi şeyler onlar gerekiyordu değilken. 1776 01:24:26,890 --> 01:24:30,815 Ama ben çok endişe olmaz özel kod hakkında çok 1777 01:24:30,815 --> 01:24:34,110 Bu, bu neden olabilir anlayış sadece sıralama 1778 01:24:34,110 --> 01:24:37,290 Böyle üst düzey şeyler. 1779 01:24:37,290 --> 01:24:39,570 >> Ben bu olduğunu düşünüyorum, biz kapağı zorunda. 1780 01:24:39,570 --> 01:24:40,090 İnanılmaz. 1781 01:24:40,090 --> 01:24:43,310 Herkes herhangi herhangi bir sorunuz varsa Biz kapalı şeyler? 1782 01:24:43,310 --> 01:24:44,213 Evet. 1783 01:24:44,213 --> 01:24:48,077 >> HEDEF KİTLE: Yani bir tür daha lojistik bir soru. 1784 01:24:48,077 --> 01:24:53,400 Içerik ağırlıklı odaklanmıştır sınav 1 sonraki şeylere? 1785 01:24:53,400 --> 01:24:55,730 >> MARIA ZLATKOVA: Yani soru, içerik 1786 01:24:55,730 --> 01:24:59,720 sınav 1 sonra şeylere odaklanmıştır? 1787 01:24:59,720 --> 01:25:06,070 Yani odak sonra ise hariç yarışması 1, 1788 01:25:06,070 --> 01:25:10,914 Biz şeylere odaklanmak gerektiğini pset5 ve veri yapıları bir çok 1789 01:25:10,914 --> 01:25:11,580 Biz kapalı olduğunu. 1790 01:25:11,580 --> 01:25:14,300 Ve biz söyleyemeyiz biz önce bir şey yok sayabilirsiniz 1791 01:25:14,300 --> 01:25:17,120 bunun yanı sıra bunun üzerine inşa çünkü. 1792 01:25:17,120 --> 01:25:21,845 >> Böylece odaklanmak, ayrıca pset5 malzemesi bağlı listeler, yığınlar dahil olduğu gibi, 1793 01:25:21,845 --> 01:25:23,720 kuyruklar ve her şey Hannah üzerine gitti. 1794 01:25:23,720 --> 01:25:24,050 >> HANNAH BLUMBERG: Doğru. 1795 01:25:24,050 --> 01:25:27,450 Evet, hepimiz C şeyler gitti çok çok hızlı başlayan. 1796 01:25:27,450 --> 01:25:29,090 Ama bu gözden emin olun. 1797 01:25:29,090 --> 01:25:32,700 Geri dönün ve sınav 0 Yorum izleyebilirsiniz. 1798 01:25:32,700 --> 01:25:36,110 >> Birkaç tane daha lojistik notlar, sadece ederken dikkatinizi var. 1799 01:25:36,110 --> 01:25:39,100 Biz ofis saatleri yaşayacaksın hem Pazartesi ve Salı gecesi. 1800 01:25:39,100 --> 01:25:41,540 Onlar MD 119 olmak için gidiyoruz. 1801 01:25:41,540 --> 01:25:44,220 Bu yüzden, bütün web sitesinde ise Bunu, hiçbir endişe duymuyorum eğer. 1802 01:25:44,220 --> 01:25:45,266 >> MARIA ZLATKOVA: 11:00 08:30. 1803 01:25:45,266 --> 01:25:46,260 >> HANNAH BLUMBERG: Evet, 11:00 08:30. 1804 01:25:46,260 --> 01:25:46,910 Orada olacağız. 1805 01:25:46,910 --> 01:25:48,368 Biz soruları cevaplamak için orada olacağım. 1806 01:25:48,368 --> 01:25:49,480 Oldukça soğuk ve eğlenceli. 1807 01:25:49,480 --> 01:25:53,240 Siz herhangi bir soru sorabilirsiniz Eğer sınav 1 olması. 1808 01:25:53,240 --> 01:25:55,740 Ve sınav 1 açık Çarşamba, çok iyi şanslar. 1809 01:25:55,740 --> 01:25:59,770 Belki, herhangi bir sorunuz varsa Burada bir-bir bize konuşmak gelip. 1810 01:25:59,770 --> 01:26:00,880 Güzel. 1811 01:26:00,880 --> 01:26:01,630 Çok teşekkürler. 1812 01:26:01,630 --> 01:26:02,880 >> MARIA ZLATKOVA: Çok teşekkürler, çocuklar. 1813 01:26:02,880 --> 01:26:03,480 >> HEDEF KİTLE: Yay. 1814 01:26:03,480 --> 01:26:05,930 >> [ALKIŞ] 1815 01:26:05,930 --> 01:26:07,530