1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [پخش موسیقی] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 هنا: سلام، همه. 5 00:00:12,700 --> 00:00:15,866 با تشکر از شما بچه ها خیلی برای بیرون آمدن در آب و هوای نفرت انگیز برای مسابقه یک 6 00:00:15,866 --> 00:00:16,910 بررسی جلسه. 7 00:00:16,910 --> 00:00:20,020 همانطور که شما بچه ها می دانید، مسابقه یکی از این چهارشنبه است. 8 00:00:20,020 --> 00:00:22,209 بنابراین ما قصد رفتن از طریق یک دسته از موضوعات. 9 00:00:22,209 --> 00:00:24,000 داوین: با سلام، می توانم بگویم چیزی واقعی سریع؟ 10 00:00:24,000 --> 00:00:25,215 هنا: آره، به داوین رفتن به چیزی می گویند واقعی سریع است. 11 00:00:25,215 --> 00:00:25,780 داوین: با عرض پوزش. 12 00:00:25,780 --> 00:00:29,490 فقط سریع واقعی، اگر شما سوال در مورد مسابقه، شما می توانید آنلاین. 13 00:00:29,490 --> 00:00:32,420 برو به 2014 مسابقه یک، در مورد مسابقه. 14 00:00:32,420 --> 00:00:34,680 این تدارکات کردم در مورد به کجا بروید، زمانی که برای رفتن. 15 00:00:34,680 --> 00:00:38,100 اگر شما به طور همزمان ثبت نام، ما هستیم رفتن به مسابقه آرایش در 05:30. 16 00:00:38,100 --> 00:00:40,350 و یا اگر شما به من شماره ارسال می شود، شما برخی از موضوع های دیگر داشته باشد. 17 00:00:40,350 --> 00:00:42,640 اما 05:30 آرایش است زمان در روز چهارشنبه. 18 00:00:42,640 --> 00:00:44,540 اما اگر سوالی دارید، سوالات عمومی، 19 00:00:44,540 --> 00:00:45,748 آنلاین تمام تدارکات. 20 00:00:45,748 --> 00:00:47,690 بنابراین برای اولین بار از وجود تیک بزنید. 21 00:00:47,690 --> 00:00:49,070 >> هنا: عالی. 22 00:00:49,070 --> 00:00:53,030 بنابراین در اینجا لیست بزرگ از موضوعات است که ما قصد داریم تا از طریق امروز بروید. 23 00:00:53,030 --> 00:00:57,390 من قصد دارم به پوشش دادن همه از C مسائل، این است که ستون اول. 24 00:00:57,390 --> 00:01:00,710 بنابراین چیزهای C که ما بعد از مسابقه صفر پوشیده شده است. 25 00:01:00,710 --> 00:01:05,459 شروع با یک لیست پیوندی، که شامل اشاره گر. 26 00:01:05,459 --> 00:01:07,668 >> همه حق است، بنابراین ما با این دید در آخرین جلسه بررسی، 27 00:01:07,668 --> 00:01:10,000 بنابراین من قصد دارم به رفتن را از طریق این است کمی سریعتر. 28 00:01:10,000 --> 00:01:13,500 فقط دست خود را بالا می برد اگر شما من می خواهم به کم کردن سرعت یا چیزی رسیدگی بیشتر است. 29 00:01:13,500 --> 00:01:17,150 اما ما با استفاده از لیست به دلیل مرتبط ما در C با آرایه های آغاز شده است. 30 00:01:17,150 --> 00:01:20,920 و آرایه های بزرگ هستند، اما مشکل این است که آنها یک اندازه ثابت. 31 00:01:20,920 --> 00:01:24,925 لیست های پیوندی به ما اجازه ایجاد به صورت پویا ساختمان داده به اندازه. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> و ما باید عملیات اساسی ما، درج، حذف، و جستجو کنید. 34 00:01:32,320 --> 00:01:36,780 و ما می توانیم درج در انجام بدترین حالت زمان ثابت 35 00:01:36,780 --> 00:01:39,140 اگر ما فقط آن را در همان ابتدا. 36 00:01:39,140 --> 00:01:45,220 حذف و جستجو، بدترین مورد بزرگ آه از زمان N. 37 00:01:45,220 --> 00:01:47,140 بنابراین دوباره، فقط به تلنگر از طریق این تصاویر، 38 00:01:47,140 --> 00:01:50,860 من می دانم که ما این زمان آخرین دیدم، اما ما می خواهید برای پیگیری لیست پیوندی ما 39 00:01:50,860 --> 00:01:53,440 با پیگیری از رئیس لیست پیوندی ما. 40 00:01:53,440 --> 00:01:55,580 از آنجا که ما می دانیم که هر یک از گره های ما 41 00:01:55,580 --> 00:01:58,610 فقط رفتن به نقطه را به گره بعدی در لیست پیوندی ما. 42 00:01:58,610 --> 00:02:00,460 >> به طوری که ما چگونه پیگیری. 43 00:02:00,460 --> 00:02:02,910 حتی اگر این نیست قطعات مداوم از حافظه، 44 00:02:02,910 --> 00:02:07,410 ما می توانیم آنها را تنها با پیدا کردن پس از فلش های مختلف. 45 00:02:07,410 --> 00:02:09,800 در اینجا ساختار ما برای یک لیست گره در ارتباط است. 46 00:02:09,800 --> 00:02:11,440 ما این زمان آخرین دیدم. 47 00:02:11,440 --> 00:02:13,080 ما گره ساختار ما. 48 00:02:13,080 --> 00:02:14,340 و آن را دارای دو مشخصه. 49 00:02:14,340 --> 00:02:17,020 شماره یک، واقعی ارزش ما می خواهیم به ذخیره کنید. 50 00:02:17,020 --> 00:02:18,290 در این مورد، آن یک عدد صحیح است. 51 00:02:18,290 --> 00:02:21,100 این می تواند یک رشته، آن می تواند یک کاراکتر، هر آنچه که شما می خواهید. 52 00:02:21,100 --> 00:02:24,710 و پس از آن، ما باید برای پیگیری گره بعدی در لیست پیوندی ما. 53 00:02:24,710 --> 00:02:29,797 به طوری که برای رفتن به یک اشاره گر به گره بعدی. 54 00:02:29,797 --> 00:02:31,880 اگر شما فقط انجام شد جستجو، مثل من گفت قبل از، 55 00:02:31,880 --> 00:02:34,900 شما می خواهم که به دنبال فلش خود را کاهش دهید. 56 00:02:34,900 --> 00:02:40,720 درج، شما می توانید پیگیری از جایی که بقیه فهرست شما است. 57 00:02:40,720 --> 00:02:44,150 و شما می خواهید به تغییر مسیر سر به نقطه را به عنصر جدید ما، که 58 00:02:44,150 --> 00:02:46,640 در این مورد است، و سپس یک نقطه خواهد 59 00:02:46,640 --> 00:02:49,480 به باقی مانده از لیست پیوندی. 60 00:02:49,480 --> 00:02:52,996 بنابراین دوباره، من می دانم این است که کمی کمی از تکرار از مسابقه صفر است. 61 00:02:52,996 --> 00:02:55,370 بنابراین ما باید بسیار مراقب باشید در مورد جهت که در آن ما 62 00:02:55,370 --> 00:03:00,390 انجام این pointings بنابراین ما نمی از دست دادن آهنگ از پشت لیست. 63 00:03:00,390 --> 00:03:04,122 خوب، هر گونه سوال با فقط به تنهایی لیست های پیوندی؟ 64 00:03:04,122 --> 00:03:06,060 عالی، خوب، سرد. 65 00:03:06,060 --> 00:03:09,410 >> بنابراین در حال حاضر، ما قصد داریم برای رفتن بر روی چیزی فقط کمی پیچیده تر است، 66 00:03:09,410 --> 00:03:10,920 مضاعف لیست مرتبط است. 67 00:03:10,920 --> 00:03:13,680 بنابراین علاوه بر نگه داشتن آهنگ از گره بعدی، 68 00:03:13,680 --> 00:03:16,220 ما همچنین می خواهم برای پیگیری از گره های قبلی است. 69 00:03:16,220 --> 00:03:19,580 و این ما اجازه می دهد تا به، اگر ما در برخی از نقطه در لیست پیوندی ما، 70 00:03:19,580 --> 00:03:23,110 نه تنها به جلو بروید، اما همچنین عقب تکرار. 71 00:03:23,110 --> 00:03:25,220 از آنجا که ما در دیدم لیست تنهایی مرتبط، 72 00:03:25,220 --> 00:03:27,980 اگر ما در برخی از گره بود، و همه ناگهانی، ما تصمیم گرفتیم، 73 00:03:27,980 --> 00:03:30,160 در واقع، من می خواهم برای رفتن به حق گره قبل از من، 74 00:03:30,160 --> 00:03:32,034 شما می خواهم که به همه در راه بازگشت به سر 75 00:03:32,034 --> 00:03:35,710 و تکرار از طریق تا زمانی که شما یافت گره شما به دنبال. 76 00:03:35,710 --> 00:03:37,680 >> بنابراین این باعث می شود همه چیز کمی ساده تر به عنوان ما 77 00:03:37,680 --> 00:03:39,670 تلاش برای تکرار از طریق لیست پیوندی ما. 78 00:03:39,670 --> 00:03:47,870 اما این ما را ملزم به پیگیری یک اشاره گر بیشتر، بنابراین یک ستاره گره است. 79 00:03:47,870 --> 00:03:50,830 همه حق است، بنابراین در اینجا می آید بخشی از سرگرم کننده است. 80 00:03:50,830 --> 00:03:55,600 ما قصد داریم برای تمرین اجرای حذف برای لیست مضاعف مرتبط. 81 00:03:55,600 --> 00:03:58,660 بنابراین این چیزی است که است بازی کاملا عادلانه برای مسابقه. 82 00:03:58,660 --> 00:04:00,750 این در آزمونها گذشته نشان داد تا. 83 00:04:00,750 --> 00:04:04,220 بنابراین قطعا آماده کد کمی در C. 84 00:04:04,220 --> 00:04:07,900 فراموش نکنید که با تمام نمی این بازی سرگرم کننده پی اچ پی و جاوا اسکریپت، 85 00:04:07,900 --> 00:04:10,560 ما هنوز به خاطر داشته باشید به انجام C. بنابراین قلم مو رنگ کردن در آن 86 00:04:10,560 --> 00:04:12,146 اگر شما احساس زنگ زده. 87 00:04:12,146 --> 00:04:14,580 >> همه حق است، بیایید ببینید که اگر ما می توانیم این کار را انجام. 88 00:04:14,580 --> 00:04:16,312 خوب، سرد. 89 00:04:16,312 --> 00:04:18,600 بنابراین ما در حال رفتن به سعی ویرایش سمت راست در اینجا، 90 00:04:18,600 --> 00:04:20,707 و امیدوارم این می رود به عنوان برنامه ریزی شده. 91 00:04:20,707 --> 00:04:23,915 همه حق است، آیا کسی می خواهم به من بدهید یک پیشنهاد که چگونه من باید شروع کنم؟ 92 00:04:23,915 --> 00:04:27,030 تنها فرض من گیری است که من در حال حاضر 93 00:04:27,030 --> 00:04:30,180 یک ساختار تعریف شده، یکی من در صفحه آخر نشان داد، 94 00:04:30,180 --> 00:04:31,420 در آخرین اسلاید. 95 00:04:31,420 --> 00:04:39,250 و من ذخیره سازی سر من مرتبط لیست در برخی از اشاره گر ها نامیده می شود. 96 00:04:39,250 --> 00:04:42,190 آیا کسی می خواهید برای دریافت به من آغاز شده؟ 97 00:04:42,190 --> 00:04:45,410 >> رسید شما می توانید جدید ایجاد گره را از طریق لیست تماس بگیرید؟ 98 00:04:45,410 --> 00:04:46,410 >> هنا: بسیار معروف، به طوری ما قصد داریم برای ایجاد 99 00:04:46,410 --> 00:04:47,951 یک گره جدید به این لیست خزیدن. 100 00:04:47,951 --> 00:04:48,570 من دوست دارم که. 101 00:04:48,570 --> 00:04:50,799 من فقط آن را اشاره گر اگر که خوب. 102 00:04:50,799 --> 00:04:52,340 و که در آن باید آن را در اصل شروع کنم؟ 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> رسید احتمالا در سر از لیست. 105 00:04:59,840 --> 00:05:00,590 هنا: زیبا. 106 00:05:00,590 --> 00:05:03,670 ما می خواهیم برای شروع در سر، که من گفتم در حال رفتن به در فهرست ذخیره می شود. 107 00:05:03,670 --> 00:05:04,170 عالی. 108 00:05:04,170 --> 00:05:05,220 تا کنون، خیلی خوب است. 109 00:05:05,220 --> 00:05:08,260 و در حال حاضر، هدف ما این است که تکرار از طریق لیست 110 00:05:08,260 --> 00:05:12,870 تا زمانی که ما گره با پیدا کردن ارزش N که ما می خواهیم را حذف کنید. 111 00:05:12,870 --> 00:05:13,540 باشه؟ 112 00:05:13,540 --> 00:05:15,910 >> بنابراین در حال حاضر بخشی است که در آن ما می خواهیم به تکرار از طریق. 113 00:05:15,910 --> 00:05:19,488 آیا می توانم هر کسی پیشنهاد راه برای تکرار از طریق؟ 114 00:05:19,488 --> 00:05:20,979 >> رسید حلقه. 115 00:05:20,979 --> 00:05:21,840 >> هنا: حلقه. 116 00:05:21,840 --> 00:05:22,620 عاشقشم. 117 00:05:22,620 --> 00:05:25,550 به طور خاص، ما می توانیم یک حلقه در حالی که سعی می کنید. 118 00:05:25,550 --> 00:05:30,919 OK، و ما می دانیم که ما رسیده ایم پایان لیست ما زمانی که چه؟ 119 00:05:30,919 --> 00:05:32,210 رسید وقتی اشاره گر تهی است. 120 00:05:32,210 --> 00:05:33,418 هنا: هنگامی که اشاره گر تهی است. 121 00:05:33,418 --> 00:05:34,320 زیبا، من آن را دوست دارم. 122 00:05:34,320 --> 00:05:35,110 خوب، سرد. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 خیلی متاسفم اگر بریس محدوده من است نوع سقوط روی صفحه نمایش. 125 00:05:43,190 --> 00:05:44,090 ما آن را بازگرداند. 126 00:05:44,090 --> 00:05:46,610 خوب، سرد. 127 00:05:46,610 --> 00:05:48,690 گام بعدی چیست؟ 128 00:05:48,690 --> 00:05:51,950 >> بنابراین ما می دانیم که ما می خواهیم را حذف کنید گره است که ارزش N. 129 00:05:51,950 --> 00:05:56,340 بنابراین اجازه دهید در مورد که در آن پیدا کردن ما در واقع گره ما را پیدا کنید. 130 00:05:56,340 --> 00:05:57,840 پس چگونه می کنید که من؟ 131 00:05:57,840 --> 00:06:02,210 من فقط می خواهم بگویم اگر اشاره گر، و پس از آن اگر من می خواهید برای دریافت مقدار از اشاره گر، 132 00:06:02,210 --> 00:06:08,940 من فقط نمی فلش N، برابر N، پارامتر 133 00:06:08,940 --> 00:06:14,490 که ما به این تابع داد، گره که ما می خواهیم به واقع حذف کنید. 134 00:06:14,490 --> 00:06:17,090 هر گونه سؤال تا اینجا؟ 135 00:06:17,090 --> 00:06:18,360 خیلی خوب. 136 00:06:18,360 --> 00:06:24,140 OK، بنابراین در حال حاضر اجازه دهید یک عکس سریع در قرعه کشی در هیئت مدیره به منظور تجسم این. 137 00:06:24,140 --> 00:06:30,710 >> بنابراین اجازه دهید می گویند گره دوست داشتنی ما وجود دارد. 138 00:06:30,710 --> 00:06:34,480 و آن را تا مقدار، من فقط می گویند چهار. 139 00:06:34,480 --> 00:06:40,340 و آن را به آینده اشاره گره در لیست پیوندی ما. 140 00:06:40,340 --> 00:06:42,220 و هیچ چیز قبل از آن وجود دارد. 141 00:06:42,220 --> 00:06:45,800 بنابراین ما باید قبلی ما با اشاره به هیچ چیز نیست. 142 00:06:45,800 --> 00:06:48,110 در این مورد، ما اشاره به عقب. 143 00:06:48,110 --> 00:06:50,960 خوب، فقط راه اندازی من لیست بیش از اینجا مرتبط است. 144 00:06:50,960 --> 00:06:53,630 و ما یک لیست است که اشاره به این ساختار برای شروع با. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 من یکی بیشتر برای شما در قرعه کشی به خاطر کامل بودن. 147 00:07:00,485 --> 00:07:04,209 148 00:07:04,209 --> 00:07:06,117 باشه. 149 00:07:06,117 --> 00:07:07,480 من این رو به جلو را در نقطه. 150 00:07:07,480 --> 00:07:09,550 و من که یکی پشت نقطه. 151 00:07:09,550 --> 00:07:10,360 اوه، ببخشید. 152 00:07:10,360 --> 00:07:12,710 آره، این عقب کردم. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 آیا آن را دوباره. 155 00:07:16,967 --> 00:07:18,330 خوب، وجود دارد که ما بروید. 156 00:07:18,330 --> 00:07:19,910 همه حق است، آن را کردم. 157 00:07:19,910 --> 00:07:21,780 خوب، در اینجا تصویر ما است. 158 00:07:21,780 --> 00:07:24,860 >> خوب، پس ما می خواهیم به در نظر گرفتن دو مورد. 159 00:07:24,860 --> 00:07:27,330 مورد اول است اگر گره ما می خواهیم به حذف 160 00:07:27,330 --> 00:07:29,420 است در آغاز از لیست ما است. 161 00:07:29,420 --> 00:07:34,070 و پس از آن، مورد دوم که ما می خواهیم به نظر است اگر آن را هر جای دیگر. 162 00:07:34,070 --> 00:07:37,660 من درک می کنم که این کاملا رسم کثیف با تمام پاک کردن من، 163 00:07:37,660 --> 00:07:40,400 اما امیدوارم که ما سعی خواهیم کرد به این روشن با برخی از کد. 164 00:07:40,400 --> 00:07:45,450 >> خوب، پس اجازه دهید در مورد پوشش که در آن ما در بر داشت گره ما، 165 00:07:45,450 --> 00:07:48,900 و آن را در بسیار است شروع از لیست پیوندی ما. 166 00:07:48,900 --> 00:07:50,810 همه به من بدهید پیشنهاد اینجا به آنچه به عنوان 167 00:07:50,810 --> 00:07:54,684 من باید انجام دهید تا در واقع گره ما را حذف کنم؟ 168 00:07:54,684 --> 00:07:55,970 این کمی روی حیله و تزویر. 169 00:07:55,970 --> 00:07:56,470 باشه؟ 170 00:07:56,470 --> 00:07:59,628 >> رسید شما را به گره که قبل از آن می شود 171 00:07:59,628 --> 00:08:01,794 و آن را به نقطه یکی که پس از آن می شود، 172 00:08:01,794 --> 00:08:03,004 و گره که که پس از آن می شود و 173 00:08:03,004 --> 00:08:04,554 آن را به گره قبل از آن اشاره می کنند. 174 00:08:04,554 --> 00:08:05,220 هنا: دقیقا. 175 00:08:05,220 --> 00:08:10,640 خوب، پس این مورد where-- ما دو مورد. 176 00:08:10,640 --> 00:08:14,100 ما در مورد که در آن گره که ما به دنبال 177 00:08:14,100 --> 00:08:18,270 جلوی در لیست است. 178 00:08:18,270 --> 00:08:23,110 OK و سپس مورد که شما توضیح داده شده است در غیر این صورت، درست است؟ 179 00:08:23,110 --> 00:08:24,500 این در جایی دیگری در این فهرست است. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 بنابراین شما گفت، ما به نیاز در گره های قبلی نگاه کنید، 182 00:08:32,840 --> 00:08:36,500 و گره قبلی اشاره به گره بعدی. 183 00:08:36,500 --> 00:08:40,510 بنابراین اجازه دهید بگویم ما تلاش برای از بین بردن پنج 184 00:08:40,510 --> 00:08:43,059 در طراحی بسیار کثیف من اینجا. 185 00:08:43,059 --> 00:08:47,530 ما می خواهیم مطمئن شوید که چهار در حال حاضر به شش امتیاز. 186 00:08:47,530 --> 00:08:49,590 چهار نقاط در کنار شش. 187 00:08:49,590 --> 00:08:52,150 و شش نقاط قبلی به چهار. 188 00:08:52,150 --> 00:08:53,960 هدف ما این اینجا، درست است؟ 189 00:08:53,960 --> 00:08:56,150 این چیزی است که من به شما فکر می کنم فقط بیش از وجود دارد گفت. 190 00:08:56,150 --> 00:08:58,450 >> خوب، پس اجازه دهید که قطعه اول است. 191 00:08:58,450 --> 00:09:02,300 بیایید انجام دارند اشاره گر قبلی قبلی. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 بنابراین چهار بعدی باید به چه نقطه؟ 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 دقیقا، در این مورد، شش. 196 00:09:14,900 --> 00:09:18,470 بنابراین ما باید اشاره گر می گویند، در کنار. 197 00:09:18,470 --> 00:09:20,600 باشه؟ 198 00:09:20,600 --> 00:09:21,150 خیلی خوب. 199 00:09:21,150 --> 00:09:24,870 بنابراین بیایید از این تصویر زشت خلاص شدن از شر و سعی کنید به منظور جلب یک کمی بهتر. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 ما لیست سر ما در اینجا. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 و این اشاره به اولین گره در لیست پیوندی ما، که ما گفت که چهار است. 204 00:09:42,740 --> 00:09:45,620 در اینجا گره دوم ما، پنج است. 205 00:09:45,620 --> 00:09:47,307 و گره سوم ما، شش. 206 00:09:47,307 --> 00:09:50,265 فقط تلاش برای جلب دقیق عکس، فقط کمی تمیز تر است. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 خوب، پس چهار بعدی نوشته اصلی به پنج نقطه. 209 00:09:56,280 --> 00:09:58,620 پنج نقاط در کنار شش. 210 00:09:58,620 --> 00:10:00,170 شش نقاط قبلی به پنج. 211 00:10:00,170 --> 00:10:02,470 و پنج نقاط قبلی به چهار. 212 00:10:02,470 --> 00:10:03,360 بنابراین بسیار بهتر! 213 00:10:03,360 --> 00:10:04,530 خوب، سرد. 214 00:10:04,530 --> 00:10:07,770 >> بنابراین در حال حاضر، آنچه که ما نه تنها در اینجا، این خط از کد، 215 00:10:07,770 --> 00:10:12,680 که می گوید اشاره گر قبلی بعد، پس چه معنا است؟ 216 00:10:12,680 --> 00:10:17,540 این بدان معناست که اگر ما به دنبال در پنج، رفتن به گره قبلی، 217 00:10:17,540 --> 00:10:21,970 و آن را آینده باید در حال حاضر نقطه به پنج بعدی. 218 00:10:21,970 --> 00:10:27,840 بنابراین اساسا، آنچه که انجام است که پاک کردن این فلش 219 00:10:27,840 --> 00:10:29,640 و آن را از سمت راست به بیش از پنج جست و خیز. 220 00:10:29,640 --> 00:10:31,360 این است که روشن؟ 221 00:10:31,360 --> 00:10:33,200 من می دانم که می تواند یک کمی ناقص. 222 00:10:33,200 --> 00:10:34,480 من مقداری گره سر را ببینید. 223 00:10:34,480 --> 00:10:35,390 خوبه. 224 00:10:35,390 --> 00:10:36,670 خوب، سرد. 225 00:10:36,670 --> 00:10:39,590 در حال حاضر، چه گام بعدی چیست؟ 226 00:10:39,590 --> 00:10:42,060 >> من بعد از تنظیم مجدد شده است. 227 00:10:42,060 --> 00:10:45,297 در حال حاضر، که فلش دیگر من نیاز به تغییر؟ 228 00:10:45,297 --> 00:10:46,130 این یک حق در اینجا. 229 00:10:46,130 --> 00:10:47,560 شش قبلی. 230 00:10:47,560 --> 00:10:50,620 ما نمی خواهیم شش قبلی نمی به نقطه را به پنج دیگر. 231 00:10:50,620 --> 00:10:54,580 ما می خواهیم آن را به نقطه را به چهار. 232 00:10:54,580 --> 00:10:56,190 آیا این تصویر را حس؟ 233 00:10:56,190 --> 00:10:58,370 بنابراین در حال حاضر ما در واقع می تواند پنج نفر را. 234 00:10:58,370 --> 00:10:59,370 بنابراین اجازه دهید که قطعه. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 من قبل از من چه کاری باید انجام تنظیم مجدد شش قبلی به چهار؟ 237 00:11:11,180 --> 00:11:14,360 هر ایده وجود دارد؟ 238 00:11:14,360 --> 00:11:17,369 >> رسید: رایگان گره بین آنها را با تنظیم آن را به تهی؟ 239 00:11:17,369 --> 00:11:17,910 هنا: دانلود. 240 00:11:17,910 --> 00:11:21,100 قطعا، به هدف پایان ما رفتن به آزاد گره. 241 00:11:21,100 --> 00:11:22,490 بنابراین ما می توانیم این حق در اینجا انجام. 242 00:11:22,490 --> 00:11:23,540 اشاره گر رایگان. 243 00:11:23,540 --> 00:11:24,810 کاملا. 244 00:11:24,810 --> 00:11:29,160 اما حتی قبل از آن، اجازه دهید از سمت راست به هدف ما just-- 245 00:11:29,160 --> 00:11:38,730 در اینجا این است که مجموعه اشاره گر بعدی قبلی برابر با اشاره گر قبلی. 246 00:11:38,730 --> 00:11:40,760 من می دانم این است که گرفتن تحت پوشش است. 247 00:11:40,760 --> 00:11:45,440 خوب، اجازه دهید take-- سرد. 248 00:11:45,440 --> 00:11:46,990 هر کس می تواند این خط پایین را ببینید؟ 249 00:11:46,990 --> 00:11:47,840 و یا آن را فوق العاده کوچک؟ 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> بنابراین قبل از اجرا ما این خط در اینجا، ما می خواهیم 252 00:11:54,300 --> 00:11:58,375 مطمئن شوید که اشاره گر بعدی است تهی نیست. 253 00:11:58,375 --> 00:12:00,500 از آنجا که اگر اشاره گر بعدی است تهی، چه نوع خطا 254 00:12:00,500 --> 00:12:02,727 خواهد من وقتی که من را امتحان کنید مرجع اشاره گر تهی؟ 255 00:12:02,727 --> 00:12:03,560 رسید گسل SEG. 256 00:12:03,560 --> 00:12:05,660 هنا: گسل SEG، زیبا. 257 00:12:05,660 --> 00:12:09,690 خوب، پس اگر که نیست تهی، پس ما می توانیم را بازنشانی کنید. 258 00:12:09,690 --> 00:12:14,420 و ما شش نقطه دوباره به چهار. 259 00:12:14,420 --> 00:12:17,440 سوالات تا این نقطه؟ 260 00:12:17,440 --> 00:12:17,940 بله؟ 261 00:12:17,940 --> 00:12:19,814 >> رسید در اولین خود را اگر بیانیه ای، شما را انجام داد 262 00:12:19,814 --> 00:12:23,817 معنی به فلش بعدی، یا [نامفهوم]؟ 263 00:12:23,817 --> 00:12:25,150 هنا: من به معنای اشاره گر فلش N. 264 00:12:25,150 --> 00:12:30,270 بنابراین اساسا، آنچه من در تلاش برای انجام می گویند است، گره فعلی که من هستم 265 00:12:30,270 --> 00:12:34,100 شمارش، گره فعلی که من به دنبال در، من ذخیره سازی در اشاره گر. 266 00:12:34,100 --> 00:12:37,630 و من می خواهم به دانستن اشاره گر را ارزش، که در این مورد است N. 267 00:12:37,630 --> 00:12:39,500 و من می خواهم برای دیدن است، گره من به دنبال 268 00:12:39,500 --> 00:12:42,790 برای گره من هدف را حذف کنید؟ 269 00:12:42,790 --> 00:12:47,657 به طوری که به همین دلیل ما را در اینجا اشاره گر N. 270 00:12:47,657 --> 00:12:49,857 >> رسید بنابراین فلش رفتن به N، شما مقدار 271 00:12:49,857 --> 00:12:52,058 و ذخیره آن در یک گره به نام N؟ 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> هنا: بنابراین آن را مانند اگر من است رفتن را از طریق این لیست پیوندی 274 00:12:58,820 --> 00:13:00,310 و با اشاره به پنج. 275 00:13:00,310 --> 00:13:03,600 اگر من می خواهم به که ارزش، اگر من می خواهم به این تعداد، 5، 276 00:13:03,600 --> 00:13:06,400 من باید انجام دهید اشاره گر فلش N. 277 00:13:06,400 --> 00:13:06,900 داغ؟ 278 00:13:06,900 --> 00:13:07,900 آره. 279 00:13:07,900 --> 00:13:11,200 >> رسید از: آیا نفر نام متغیر؟ 280 00:13:11,200 --> 00:13:11,700 هنا: بله. 281 00:13:11,700 --> 00:13:14,870 بنابراین اگر ما تلنگر پشت یک اسلاید، N به نام است 282 00:13:14,870 --> 00:13:18,660 از ارزش داخل گره در لیست پیوندی ما. 283 00:13:18,660 --> 00:13:21,510 و من می دانم که می تواند کمی دریافت کمی گیج کننده به دلیل ما نیز 284 00:13:21,510 --> 00:13:24,680 خواستار چیزی که ما می خواهیم به حذف N. 285 00:13:24,680 --> 00:13:26,717 به طوری که که در آن است که یک خط می آید. 286 00:13:26,717 --> 00:13:27,671 آره؟ 287 00:13:27,671 --> 00:13:31,010 >> رسید چه شما [نامفهوم] چگونه کار می کنند؟ 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 اشاره گر [نامفهوم]؟ 290 00:13:35,780 --> 00:13:37,520 >> هنا: مطمئنا. 291 00:13:37,520 --> 00:13:40,027 آیا شما about-- که خط صحبت کردن؟ 292 00:13:40,027 --> 00:13:41,526 رسید آخرین خط [نامفهوم]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> هنا: مطمئنا، OK. 295 00:13:45,250 --> 00:13:48,540 بنابراین اجازه دهید به تصویر در نگاه به منظور تلاش در توضیح این. 296 00:13:48,540 --> 00:13:51,030 متاسفم، برای دوربین، سوال بود 297 00:13:51,030 --> 00:13:54,580 می تواند ما اشاره گر توضیح فلش اشاره گر بعدی قبلی. 298 00:13:54,580 --> 00:14:01,510 خوب، پس اجازه دهید بگویم که ما در پنج هستید و هدف ما این است به حذف پنج. 299 00:14:01,510 --> 00:14:07,240 بنابراین بعدی اشاره گر، که از این سه گره می کند که ما را؟ 300 00:14:07,240 --> 00:14:10,840 که ما را به ارمغان می آورد به گره ششم، درست است؟ 301 00:14:10,840 --> 00:14:16,490 >> OK، بنابراین در حال حاضر ما در حال درخواست برای قبلی شش است. 302 00:14:16,490 --> 00:14:17,060 باشه؟ 303 00:14:17,060 --> 00:14:20,210 و ما در حال بازنشانی این برابر به چهار، 304 00:14:20,210 --> 00:14:23,214 که رخ داده است به پنج قبلی. 305 00:14:23,214 --> 00:14:25,180 من می دانم، آن را فوق العاده سخت برای پیگیری. 306 00:14:25,180 --> 00:14:29,286 من واقعا به شما توصیه می تصاویر رسم اگر شما یک سوال شبیه به این را دریافت کنید. 307 00:14:29,286 --> 00:14:30,242 بله؟ 308 00:14:30,242 --> 00:14:32,617 >> رسید از: آیا دلیل است که ما [نامفهوم] ندارد؟ 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> هنا: دقیقا. 311 00:14:38,570 --> 00:14:44,800 بنابراین سوال این بود، چرا ما لازم نیست برای بررسی در اینجا؟ 312 00:14:44,800 --> 00:14:48,160 چرا ما نیاز به بررسی کنید که اشاره گر قبلی است برابر با تهی نیست؟ 313 00:14:48,160 --> 00:14:50,070 و آن را به دلیل ایم در حال حاضر از هم جدا کردن 314 00:14:50,070 --> 00:14:52,490 مورد اگر اشاره گر را در آغاز بسیار. 315 00:14:52,490 --> 00:14:54,060 سوال بسیار خوبی است. 316 00:14:54,060 --> 00:14:56,880 هر چیز دیگری در این؟ 317 00:14:56,880 --> 00:14:57,380 خوب، سرد. 318 00:14:57,380 --> 00:14:58,360 بنابراین اجازه دهید آن را به پایان برساند تا. 319 00:14:58,360 --> 00:14:59,890 ما تقریبا وجود دارد. 320 00:14:59,890 --> 00:15:01,310 >> بنابراین اگر آن را در سر است؟ 321 00:15:01,310 --> 00:15:03,360 چه می شود اگر به جای تلاش برای حذف پنج، 322 00:15:03,360 --> 00:15:06,240 ما در واقع می خواست چهار را حذف کنید؟ 323 00:15:06,240 --> 00:15:07,270 چه من باید انجام دهید؟ 324 00:15:07,270 --> 00:15:09,610 خوب، من می خواهم به تنظیم مجدد سر من به چه؟ 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 فریاد آن را؟ 327 00:15:15,585 --> 00:15:16,710 رسید یکی پس از آن. 328 00:15:16,710 --> 00:15:17,460 هنا: زیبا. 329 00:15:17,460 --> 00:15:26,430 خوب، به ما می خواهیم لیست به اشاره شود به هر اشاره گر ما گره بعدی است. 330 00:15:26,430 --> 00:15:29,040 خوب است. 331 00:15:29,040 --> 00:15:30,810 و فقط برای کامل را خاطر، ما را 332 00:15:30,810 --> 00:15:35,590 می خواهم به بررسی کنید که تا زمانی که لیست ما است تهی نیست، تا زمانی که لیست ما نیست 333 00:15:35,590 --> 00:15:42,730 خالی، سپس ما می خواهیم به راه قبلی برابر ما به تهی. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 سوال تا کنون؟ 336 00:15:50,230 --> 00:15:53,205 در یک قدمی from--؟ 337 00:15:53,205 --> 00:15:55,530 >> رسید آن را اگر می شود لیست برابر با تهی نیست؟ 338 00:15:55,530 --> 00:15:56,950 >> هنا: بله، شما کاملا حق با شماست. 339 00:15:56,950 --> 00:15:58,130 خیلی متاسفم. 340 00:15:58,130 --> 00:16:00,040 لیست می باشد برابر با تهی نیست. 341 00:16:00,040 --> 00:16:01,915 عالی. 342 00:16:01,915 --> 00:16:04,245 تلاش برای آوردن این همه بر روی صفحه نمایش. 343 00:16:04,245 --> 00:16:06,870 این نوع از سقوط کردن. 344 00:16:06,870 --> 00:16:07,730 با عرض پوزش، بچه ها. 345 00:16:07,730 --> 00:16:11,874 و آخرین اما نه کم، تمام ما باید انجام دهیم بازگشت است. 346 00:16:11,874 --> 00:16:12,840 باشه. 347 00:16:12,840 --> 00:16:15,400 که بود بسیاری کهنه در واقعا به سرعت. 348 00:16:15,400 --> 00:16:16,800 نگاهی به دوم به نگاه این بیش از. 349 00:16:16,800 --> 00:16:18,216 به من بگو اگر شما هر گونه سوال. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 آره؟ 352 00:16:20,732 --> 00:16:26,940 >> رسید اگر لیست در سر، then-- صبر کنید، بی خیال. 353 00:16:26,940 --> 00:16:27,700 >> هنا: OK، خوب است. 354 00:16:27,700 --> 00:16:30,987 پس این است که اگر لیست در سر، ما آن را به هر که ما قرار داده حذف شده است. 355 00:16:30,987 --> 00:16:31,486 آره؟ 356 00:16:31,486 --> 00:16:33,777 >> رسید آیا می توانید توضیح دهید اولین اگر دوباره بیانیه ای؟ 357 00:16:33,777 --> 00:16:36,149 اگر اشاره گر به N به N برابر است با؟ 358 00:16:36,149 --> 00:16:36,690 هنا: مطمئنا. 359 00:16:36,690 --> 00:16:42,780 بنابراین هدف ما از این تابع کل است گره است که ارزش N را حذف کنید. 360 00:16:42,780 --> 00:16:47,460 بنابراین اگر پیدا کنیم، به عنوان ما تکرار از طریق لیست ما، 361 00:16:47,460 --> 00:16:51,770 گره با مقدار N، که یکی از ما می خواهند را حذف کنید. 362 00:16:51,770 --> 00:16:57,286 بنابراین همه از حذف اتفاقی می افتد داخل که بزرگ اگر بیانیه. 363 00:16:57,286 --> 00:16:58,593 آیا که حس می کند؟ 364 00:16:58,593 --> 00:16:59,480 سرد. 365 00:16:59,480 --> 00:16:59,990 آره؟ 366 00:16:59,990 --> 00:17:02,864 >> رسید شاید شما نه تنها می توانید ببینید آن، اما نمی شما همچنین نیاز به یک خط 367 00:17:02,864 --> 00:17:06,024 برای پیمایش از طریق لیست؟ 368 00:17:06,024 --> 00:17:06,690 هنا: عالی. 369 00:17:06,690 --> 00:17:10,896 بیایید این را یک کمی، و ما که درست در پایین پرتاب. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 شاید هیئت مدیره می اید یک ایده کمی بهتر شده است. 372 00:17:15,490 --> 00:17:17,829 پس چگونه می توانم حرکت اشاره گر به جلو؟ 373 00:17:17,829 --> 00:17:20,184 >> رسید اشاره گر برابر اشاره گر به علاوه یک. 374 00:17:20,184 --> 00:17:21,599 >> هنا: زیبا. 375 00:17:21,599 --> 00:17:25,050 به طوری که ما اجازه می دهد تا به از طریق ادامه تکرار. 376 00:17:25,050 --> 00:17:26,251 باشه. 377 00:17:26,251 --> 00:17:27,750 رسید نمی وجود دارد دیگری باشد؟ 378 00:17:27,750 --> 00:17:29,028 هنا: یک بار دیگر؟ 379 00:17:29,028 --> 00:17:32,444 رسید نمی وجود داشته باشد دیگری پس از قدیمی بزرگ اگر 380 00:17:32,444 --> 00:17:35,519 بیانیه [نامفهوم]؟ 381 00:17:35,519 --> 00:17:36,310 هنا: کدام بخش؟ 382 00:17:36,310 --> 00:17:38,350 متاسفم. 383 00:17:38,350 --> 00:17:41,800 >> رسید پیمایش، باید چیزی دیگری؟ 384 00:17:41,800 --> 00:17:43,550 هنا: شما کاملا می تواند دیگری داشته باشد. 385 00:17:43,550 --> 00:17:46,930 از آنجا که من حق بازگشت دارند وجود دارد، شما دیگر نیاز ندارد. 386 00:17:46,930 --> 00:17:48,760 اما آره، سوال خوب است. 387 00:17:48,760 --> 00:17:50,170 خوب، بله؟ 388 00:17:50,170 --> 00:17:52,878 رسید آیا ما می توانیم از اشاره گر فکر می کنم است که از طریق لیست در حال حرکت 389 00:17:52,878 --> 00:17:56,610 به عنوان مصرف در ارزش از هر گره در لیست؟ 390 00:17:56,610 --> 00:18:00,650 یا اینکه ما باید از آن به عنوان فکر می کنم مرتب کردن بر اساس خارجی را به لیست؟ 391 00:18:00,650 --> 00:18:02,350 >> هنا: در هر دو صورت یکی خوب است، من فکر می کنم. 392 00:18:02,350 --> 00:18:05,880 این طور که من تصور است من می گویم، خوب، من اشاره گر هستم. 393 00:18:05,880 --> 00:18:06,520 و این من است. 394 00:18:06,520 --> 00:18:07,150 این دست من است. 395 00:18:07,150 --> 00:18:09,960 من قصد دارم به نقطه را به مختلف چیزهایی که من می خواهم به تکرار از طریق. 396 00:18:09,960 --> 00:18:12,270 اول، من قصد دارم به نقطه به سر از لیست. 397 00:18:12,270 --> 00:18:14,144 و این من من می گوید رفتن به نقطه را به چهار. 398 00:18:14,144 --> 00:18:18,060 و به این ترتیب من، که خارج از لیست، من می توانم به هر یک از این عناصر اشاره. 399 00:18:18,060 --> 00:18:19,520 بنابراین من از خودم به عنوان اشاره گر فکر می کنم. 400 00:18:19,520 --> 00:18:21,645 رسید بنابراین، هنگامی که شما حذف یکی از آن عناصر، 401 00:18:21,645 --> 00:18:23,404 شما خودتان را حذف کنید، پس به صحبت می کنند. 402 00:18:23,404 --> 00:18:24,070 هنا: دقیقا. 403 00:18:24,070 --> 00:18:25,920 بنابراین شما چیزی حذف شما اشاره به در حال. 404 00:18:25,920 --> 00:18:28,340 بنابراین در مثال که ما شاهد که در آن ما 405 00:18:28,340 --> 00:18:31,670 تلاش برای حذف پنج، زمانی که من با اشاره به پنج، 406 00:18:31,670 --> 00:18:34,200 من می خواهم به حذف چیزی که من با اشاره به. 407 00:18:34,200 --> 00:18:35,870 دقیقا سمت راست. 408 00:18:35,870 --> 00:18:36,577 بله؟ 409 00:18:36,577 --> 00:18:39,410 رسید آیا ما مراقبت های گرفته شده از مورد که در آن n است در لیست نمی کند؟ 410 00:18:39,410 --> 00:18:40,460 هنا: اگر N است در لیست نمی کند؟ 411 00:18:40,460 --> 00:18:43,501 همه که اتفاق خواهد افتاد این است که شما هستید رفتن به طریق و تکرار تکرار 412 00:18:43,501 --> 00:18:47,616 از طریق، و پس از آن، شما در حال رفتن برای رسیدن به اشاره گر بودن تهی، 413 00:18:47,616 --> 00:18:48,990 و سپس شما قصد انجام شود. 414 00:18:48,990 --> 00:18:50,812 >> رسید بنابراین ما باید برای بازگشت هر چیزی؟ 415 00:18:50,812 --> 00:18:51,520 هنا: ما می تواند. 416 00:18:51,520 --> 00:18:54,500 راه که اگر این تعریف تابع، من فقط می گویند که آن را برمی گرداند 417 00:18:54,500 --> 00:18:55,770 از درجه اعتبار ساقط بدون در نظر گرفتن. 418 00:18:55,770 --> 00:18:58,360 اما شما می توانید از چیزی مانند بازگشت یک عدد صحیح، 419 00:18:58,360 --> 00:19:00,920 و آن را بازگشت منفی 1 اگر نتواند. 420 00:19:00,920 --> 00:19:03,070 یه چیزی شبیه اون. 421 00:19:03,070 --> 00:19:04,494 سوالات with-- بله؟ 422 00:19:04,494 --> 00:19:05,410 رسید [نامفهوم]؟ 423 00:19:05,410 --> 00:19:05,993 هنا: با عرض پوزش؟ 424 00:19:05,993 --> 00:19:07,419 رسید [نامفهوم]؟ 425 00:19:07,419 --> 00:19:07,960 هنا: مطمئنا. 426 00:19:07,960 --> 00:19:11,730 به طوری که actual-- است زمانی که ما کرده ایم انجام تمام این کار در حال حرکت 427 00:19:11,730 --> 00:19:16,530 همه این فلش در اطراف، کل ما هدف این بود تا از گره خلاص شدن از شر 428 00:19:16,530 --> 00:19:18,230 که ما دنبال آن هستید. 429 00:19:18,230 --> 00:19:21,610 بنابراین در این مورد، آزاد اشاره گر، اگر من با اشاره به پنج، 430 00:19:21,610 --> 00:19:24,670 آن را مانند پاک کردن این گره وسط است. 431 00:19:24,670 --> 00:19:27,250 این بخش اشاره گر رایگان است. 432 00:19:27,250 --> 00:19:29,090 این حس را؟ 433 00:19:29,090 --> 00:19:31,390 >> رسید بنابراین حتی تصور شما نمی [نامفهوم]؟ 434 00:19:31,390 --> 00:19:36,060 >> هنا: بنابراین ما در آغاز فرض ما برخی از لیستی که بود already-- 435 00:19:36,060 --> 00:19:37,220 آنها این با هم قرار داده شده بود. 436 00:19:37,220 --> 00:19:39,761 بنابراین به منظور ساخت این لیست، آنها باشی [نامفهوم]. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 سرد. 439 00:19:42,750 --> 00:19:44,490 هر چیز دیگری با این؟ 440 00:19:44,490 --> 00:19:46,386 بله؟ 441 00:19:46,386 --> 00:19:49,204 >> رسید: اگر لیست می کند خط صفر برابر نیست؟ 442 00:19:49,204 --> 00:19:49,704 [نامفهوم]؟ 443 00:19:49,704 --> 00:19:52,289 444 00:19:52,289 --> 00:19:53,080 هنا: راست که اینجا هستید؟ 445 00:19:53,080 --> 00:19:53,840 رسید آره. 446 00:19:53,840 --> 00:19:57,370 هنا: OK، تمام من انجام است من فقط مطمئن شوید 447 00:19:57,370 --> 00:20:03,250 که قبل از من به لیست ارجاع امتحان کنید، قبل از من سعی می کنم برای دسترسی به گذشته، 448 00:20:03,250 --> 00:20:07,210 من می خواهم مطمئن شوید که آن را نمی صفر تا من یک گسل SEG می کنید. 449 00:20:07,210 --> 00:20:08,400 سرد. 450 00:20:08,400 --> 00:20:10,820 >> خوب، من می دانم که این کاملا بود تا حد زیادی به نفوذ کنه. 451 00:20:10,820 --> 00:20:14,950 بنابراین این اسلاید خواهد بود در دسترس شما ساخته شده است. 452 00:20:14,950 --> 00:20:17,341 بنابراین شما می توانید از طریق آن با جزئیات بیشتر بروید. 453 00:20:17,341 --> 00:20:17,841 بله؟ 454 00:20:17,841 --> 00:20:19,749 >> رسید چرا لیست [نامفهوم]؟ 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 هنا: مطمئنا. 457 00:20:24,670 --> 00:20:27,390 بنابراین لیست واقعا به اشاره این عنصر حق در اینجا، 458 00:20:27,390 --> 00:20:29,200 عنصر اول در لیست. 459 00:20:29,200 --> 00:20:30,748 بنابراین آن را نمی توان قبلی را داشته باشد. 460 00:20:30,748 --> 00:20:31,736 بله؟ 461 00:20:31,736 --> 00:20:35,194 >> رسید: آیا نقطه اشاره گر به همان آدرس در حافظه؟ 462 00:20:35,194 --> 00:20:38,404 آیا آن را به همان نقطه آدرس در حافظه به عنوان گره 463 00:20:38,404 --> 00:20:40,640 که آن را با اشاره به؟ 464 00:20:40,640 --> 00:20:43,865 >> هنا: بله، آن را اشاره این گره در حافظه است. 465 00:20:43,865 --> 00:20:47,190 >> رسید راست، بنابراین زمانی که شما [نامفهوم]؟ 466 00:20:47,190 --> 00:20:50,580 >> هنا: در یک معنا، بله. 467 00:20:50,580 --> 00:20:51,280 باشه. 468 00:20:51,280 --> 00:20:52,997 همه حق است، اجازه دهید حرکت همراه با این. 469 00:20:52,997 --> 00:20:55,330 و اگر سوالات بیشتری، چوب در اطراف در پایان، 470 00:20:55,330 --> 00:20:57,130 و ما می توانیم از طریق آن دوباره بروید. 471 00:20:57,130 --> 00:20:58,120 خوب، سرد. 472 00:20:58,120 --> 00:21:00,490 در حال حاضر، ما را به حرکت در به هش جداول، تلاش می کند، 473 00:21:00,490 --> 00:21:04,940 و درختان، که به شما کردم فوق العاده آشنا با در-P مجموعه پنج، کتاب املاء. 474 00:21:04,940 --> 00:21:11,020 >> بنابراین جدول هش است فقط یک آرایه با لیست تنهایی مرتبط 475 00:21:11,020 --> 00:21:14,050 و یا مضاعف لیست آینده خاموش از آن مرتبط است. 476 00:21:14,050 --> 00:21:16,380 بنابراین ما باید برخی از مرتب کردن بر اساس از آرایه انجمنی. 477 00:21:16,380 --> 00:21:21,280 و چگونه ما می دانیم که از این آرایه سطل برای وارد شدن 478 00:21:21,280 --> 00:21:24,137 ما با استفاده از یک تابع هش. 479 00:21:24,137 --> 00:21:26,470 بنابراین در این مورد، می توانید هر کسی حدس بزنید چه تابع هش 480 00:21:26,470 --> 00:21:28,636 می شود فقط در برخی از بر اساس از ورودی و خروجی؟ 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> رسید تعداد حروف الفبا. 483 00:21:33,194 --> 00:21:33,860 هنا: دقیقا. 484 00:21:33,860 --> 00:21:36,160 این فقط آنها را قرار می دهد به ترتیب حروف الفبا. 485 00:21:36,160 --> 00:21:39,280 همه چیز که با شروع می شود به سطل برای اولین بار قرار داده است. 486 00:21:39,280 --> 00:21:43,340 همه چیز با یک B است به قرار سطل دوم، غیره، و غیره. 487 00:21:43,340 --> 00:21:45,620 عالی، OK. 488 00:21:45,620 --> 00:21:48,980 و یک تابع هش هر است تابع طول می کشد که در یک کلمه 489 00:21:48,980 --> 00:21:51,910 و به شما خواهد گفت چه سطل آن را در تعلق دارد. 490 00:21:51,910 --> 00:21:55,150 بنابراین که ورود در ما آرایه آن متعلق به. 491 00:21:55,150 --> 00:21:58,080 >> بنابراین هر بار که من را من هش تابع یک کلمه، 492 00:21:58,080 --> 00:22:00,660 باید آن را به من همان بگویید محل هر زمان تنها. 493 00:22:00,660 --> 00:22:03,270 بنابراین اگر ما با استفاده از تابع هش از اسلاید قبلی 494 00:22:03,270 --> 00:22:05,950 که در آن ما در حال مرتب سازی بر اساس حرف اول از حروف الفبا، 495 00:22:05,950 --> 00:22:08,230 هر بار که من را من تابع هش "اپل" 496 00:22:08,230 --> 00:22:10,180 همیشه باید به من دادن 0. 497 00:22:10,180 --> 00:22:12,890 بنابراین اگر من یک سیب در جدول هش من قرار داده، 498 00:22:12,890 --> 00:22:17,700 اگر من به "اپل" به تابع هش من، باید آن را می گویند، به آن را در سطل 0. 499 00:22:17,700 --> 00:22:19,980 اگر من به دنبال اپل در جدول هش من 500 00:22:19,980 --> 00:22:24,340 و من می گویم، که در آن سیب قدرت زندگی می کنند، شما تابع هش خود را بپرسید. 501 00:22:24,340 --> 00:22:26,900 و آن را می گوید، به سطل 0. 502 00:22:26,900 --> 00:22:29,150 خیلی خوب؟ 503 00:22:29,150 --> 00:22:32,660 سوالات با توابع هش؟ 504 00:22:32,660 --> 00:22:34,570 عالی. 505 00:22:34,570 --> 00:22:37,320 >> در اینجا یک کمی بیشتر توضیح مفصل 506 00:22:37,320 --> 00:22:39,570 از آنچه یک تابع هش ممکن است مانند نگاه کنید. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 خیلی خوب. 509 00:22:42,960 --> 00:22:45,960 در حال حاضر، مشکل با هش توابع است در یک دنیای ایده آل، 510 00:22:45,960 --> 00:22:48,870 ما فقط یکی باید چیزی که در هر سطل. 511 00:22:48,870 --> 00:22:50,900 اما در واقعیت، وجود دارد نه تنها یک کلمه 512 00:22:50,900 --> 00:22:54,280 که با A. شروع می شود وجود ندارد تنها یک کلمه است که با B. پس شروع می شود 513 00:22:54,280 --> 00:22:56,960 در این مورد، اگر ما ناگهان دریافت "توت،" 514 00:22:56,960 --> 00:22:58,710 و ما می خواهیم آن را قرار داده به جدول هش ما، 515 00:22:58,710 --> 00:23:03,640 و ما می بینیم، آه، نه، موز است در حال حاضر وجود دارد، چه ما رو انجام دهید؟ 516 00:23:03,640 --> 00:23:05,900 >> خب، ما دو گزینه. 517 00:23:05,900 --> 00:23:07,990 اولین گزینه است کاوش خطی، که 518 00:23:07,990 --> 00:23:11,100 فقط بدان معناست به پیدا کردن سطل خالی بعدی. 519 00:23:11,100 --> 00:23:14,100 برو پیدا ورود آرایه خالی بعدی. 520 00:23:14,100 --> 00:23:15,750 و فقط با قرار دادن "توت" وجود دارد. 521 00:23:15,750 --> 00:23:18,880 بنابراین من می دانم آن را به قرار با موز در سطل است. 522 00:23:18,880 --> 00:23:22,155 اما فقط آن را در سطل سه، چون سطل سه خالی است. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 یکی دیگر از گزینه است که احتمالا آنچه شما پیاده سازی 525 00:23:26,680 --> 00:23:29,220 در خود P-مجموعه، که در آن شما زنجیری جداگانه داشت. 526 00:23:29,220 --> 00:23:33,990 بنابراین هر یک از سطل خود را، هر یک از عناصر آرایه خود را، 527 00:23:33,990 --> 00:23:38,410 نه تنها دارای یک عبارت، اما در واقع دارای یک اشاره گر به یک لیست از کلمات. 528 00:23:38,410 --> 00:23:41,880 به طوری که اگر شما تا به حال موز در جدول هش شما 529 00:23:41,880 --> 00:23:44,740 و شما به طور ناگهانی می خواستم برای اضافه کردن انواع توت ها، هیچ مشکلی. 530 00:23:44,740 --> 00:23:51,110 فقط توت در به پایان، یا به اضافه ابتدا، از لیست پیوندی خود را. 531 00:23:51,110 --> 00:23:54,040 خوب، بسیار جذاب است. 532 00:23:54,040 --> 00:23:58,490 سوالات با هش جدول قبل از ما در برود؟ 533 00:23:58,490 --> 00:23:59,850 >> خیلی خوب. 534 00:23:59,850 --> 00:24:01,070 درختان و تلاش می کند. 535 00:24:01,070 --> 00:24:07,980 خوب، پس این گزینه دیگری بود برای اجرای فرهنگ لغت. 536 00:24:07,980 --> 00:24:09,100 شما می توانید ساخته شده را امتحان کنید. 537 00:24:09,100 --> 00:24:13,420 پس از آن یک نوع خاص از درخت که رفتار مانند یک جدول هش چند سطح. 538 00:24:13,420 --> 00:24:16,862 بنابراین شما تصویر مشاهده می کنید که در آن شما باید یک آرایه که 539 00:24:16,862 --> 00:24:19,320 اشاره به یک دسته از آرایه آن نقطه به یک دسته از آرایه 540 00:24:19,320 --> 00:24:20,390 آن نقطه به یک دسته از آرایه های. 541 00:24:20,390 --> 00:24:23,140 و خواهیم دید دقیقا همان چیزی است که می خواهم در یک اسلاید آینده نگاه کنید. 542 00:24:23,140 --> 00:24:26,070 و به طور کلی، یک درخت فقط هر ساختار داده است 543 00:24:26,070 --> 00:24:29,710 که در آن داده است در برخی از سلسله مراتب سازمان یافته است. 544 00:24:29,710 --> 00:24:32,610 تا جایی که ما دیدیم ما نوعی از درک 545 00:24:32,610 --> 00:24:36,130 از سطح بالا، رسیدن به سطح بعدی، رسیدن به سطح بعدی، رسیدن به سطح بعدی. 546 00:24:36,130 --> 00:24:39,690 بنابراین این است که احتمالا روشن ترین با برخی از نمونه های خاص. 547 00:24:39,690 --> 00:24:40,880 بنابراین در اینجا درخت ماست. 548 00:24:40,880 --> 00:24:42,970 شما می توانید ببینید که آن سطوح خاص 549 00:24:42,970 --> 00:24:45,480 که ما با آن گره ریشه، یک شروع می شود. 550 00:24:45,480 --> 00:24:47,640 و ما می توانیم از طریق درخت ما بروید. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> درخت دودویی است نوع خاصی از درخت. 553 00:24:53,910 --> 00:24:56,770 و تنها مشخصات برای یک درخت دودویی 554 00:24:56,770 --> 00:25:01,130 این است که هر گره است حداکثر دو برگ. 555 00:25:01,130 --> 00:25:03,960 بنابراین شما نمی خواهید برای دیدن هر از این گره باید سه یا چهار 556 00:25:03,960 --> 00:25:06,880 و یا برخی از تعداد دیگر از برگ. 557 00:25:06,880 --> 00:25:11,310 و پس از آن حتی مشخص تر یک درخت جستجوی دودویی است 558 00:25:11,310 --> 00:25:18,010 که در آن هر گره به سمت چپ از گره در حال رفتن به یک ارزش کوچکتر است. 559 00:25:18,010 --> 00:25:21,180 و هر ارزش به راست است برای رفتن به بزرگتر. 560 00:25:21,180 --> 00:25:26,900 بنابراین اگر شما نگاه کنید به 44 است در ریشه های ما، به سمت چپ، 11، 22، و 33 561 00:25:26,900 --> 00:25:28,940 همه کمتر از ریشه ما. 562 00:25:28,940 --> 00:25:33,890 و در سمت راست همه تعداد bigger-- 66، 55، و 77. 563 00:25:33,890 --> 00:25:37,380 و این خاصیت صادق در هر سطح از درخت. 564 00:25:37,380 --> 00:25:42,690 >> بنابراین، هنگامی که ما را به 22، 11، و 33، هنوز هم 11 565 00:25:42,690 --> 00:25:46,950 است کوچکتر از 22 و 33 بزرگتر از 22 است. 566 00:25:46,950 --> 00:25:50,160 و این باعث می شود آن را آسان تر برای جستجو چرا که اگر ما به دنبال یک عدد، 567 00:25:50,160 --> 00:25:53,877 ما دقیقا می دانیم که شاخه به دنبال پایین. 568 00:25:53,877 --> 00:25:56,210 بنابراین این باید به شما یادآوری کمی از جستجوی دودویی. 569 00:25:56,210 --> 00:25:56,967 آره؟ 570 00:25:56,967 --> 00:25:58,835 >> رسید بنابراین، هنگامی که شما هستید توصیف باینری، 571 00:25:58,835 --> 00:26:00,587 شما گفت که حداکثر دو برگ است؟ 572 00:26:00,587 --> 00:26:01,170 هنا: MM-HM. 573 00:26:01,170 --> 00:26:02,580 رسید می تواند از آن کمتر داشته باشد؟ 574 00:26:02,580 --> 00:26:03,121 هنا: آره. 575 00:26:03,121 --> 00:26:06,720 بنابراین اجازه دهید بگویم، به عنوان مثال، شما حتی تعدادی از چیزهای ندارد 576 00:26:06,720 --> 00:26:11,791 و شما نمی تواند پر کنید تا تمام خود را برگ، آن را خوب اگر یکی یکی. 577 00:26:11,791 --> 00:26:12,290 باشه؟ 578 00:26:12,290 --> 00:26:12,789 عالی. 579 00:26:12,789 --> 00:26:15,930 هر گونه سؤال دیگر در درختان؟ 580 00:26:15,930 --> 00:26:16,670 باشه. 581 00:26:16,670 --> 00:26:20,110 >> بازگشت به تلاش ما را به عنوان من صحبت کردن در درباره کمی قبل از آن، 582 00:26:20,110 --> 00:26:23,900 چگونه ما باید این آرایه چند سطح. 583 00:26:23,900 --> 00:26:26,280 بنابراین در این مورد، ما در بالای شروع می شود. 584 00:26:26,280 --> 00:26:29,030 و ما می توانیم هر کلمه داده شده را دنبال کنید. 585 00:26:29,030 --> 00:26:30,780 بنابراین اجازه دهید بگویم ما می خواستیم برای تورینگ است. 586 00:26:30,780 --> 00:26:34,380 ما در T شروع، به دنبال آن پایین به یک آرایه که شامل U، 587 00:26:34,380 --> 00:26:37,350 و به دنبال آن پایین تا ما رسیدن به این دلتا کمی که 588 00:26:37,350 --> 00:26:39,060 می گوید ما، بله، شما یافت یک کلمه. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 پاک کردن در تلاش؟ 591 00:26:44,120 --> 00:26:48,138 هر چیزی به رفتن بیش از وجود دارد؟ 592 00:26:48,138 --> 00:26:48,908 بله؟ 593 00:26:48,908 --> 00:26:51,866 رسید: آیا نماد دلتا به اشغال فضای درون را امتحان کنید؟ 594 00:26:51,866 --> 00:26:54,532 هنا: آره، بنابراین آن را نمی کند لزوما حتی نیاز به یک دلتا. 595 00:26:54,532 --> 00:26:57,760 اما ما نیاز به برخی از راه برای بگویید ما computer-- با عرض پوزش، 596 00:26:57,760 --> 00:27:01,130 به طوری که ما می دانیم که TUR است یک کلمه نیست. 597 00:27:01,130 --> 00:27:04,180 از آنجا که اجازه دهید بگویم ما ندارد این مفهوم دلتا، این مفهوم 598 00:27:04,180 --> 00:27:09,850 از تبریک می گویم، شما یافت یک کلمه، آن را از طریق خواهند رفت و تکرار T-U-R، 599 00:27:09,850 --> 00:27:11,300 و سپس می گویند، جذاب، من آن را در بر داشت! 600 00:27:11,300 --> 00:27:12,670 این باید یک کلمه باشد. 601 00:27:12,670 --> 00:27:13,720 اما این واقعا نیست. 602 00:27:13,720 --> 00:27:15,310 ما می خواهیم کل تورینگ به یک کلمه. 603 00:27:15,310 --> 00:27:17,760 بنابراین ما باید چیزی در داشته پایان که می گوید، تبریک می گویم، 604 00:27:17,760 --> 00:27:19,051 شما یک کلمه مشروع پیدا کردم. 605 00:27:19,051 --> 00:27:21,680 رسید بنابراین اگر شما مانند به حال 26 نامه در الفبا، 606 00:27:21,680 --> 00:27:24,560 به نظر شما در واقع 27 کلید در خود را امتحان کنید؟ 607 00:27:24,560 --> 00:27:26,010 >> هنا: عالی، آره. 608 00:27:26,010 --> 00:27:28,210 پس در واقع، من فکر می کنم که بر روی اسلاید بعدی باشد. 609 00:27:28,210 --> 00:27:29,440 TA-دا! 610 00:27:29,440 --> 00:27:32,880 جایی که اگر شما یک گره در خود را امتحان کنید، شما 611 00:27:32,880 --> 00:27:35,800 رفتن به 27 کودکان به جای 26. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 هر گونه سؤال با که؟ 614 00:27:40,050 --> 00:27:40,550 آره؟ 615 00:27:40,550 --> 00:27:44,569 رسید: چرا تلاش می کند را تا فضای زیادی [نامفهوم] تا شما را به؟ 616 00:27:44,569 --> 00:27:47,629 چرا نظر گرفته می شود [نامفهوم]؟ 617 00:27:47,629 --> 00:27:48,170 هنا: مطمئنا. 618 00:27:48,170 --> 00:27:48,790 اجازه بازگشت. 619 00:27:48,790 --> 00:27:52,350 سوال این است، چرا تلاش هستند، بسیار بزرگتر 620 00:27:52,350 --> 00:27:54,620 از چیزی شبیه به یک جدول هش. 621 00:27:54,620 --> 00:27:57,790 بنابراین برای هر یک از این سطوح، حتی اگر آنها در اینجا کشیده شده نیست، 622 00:27:57,790 --> 00:28:01,250 شما باید تمام 26 حرف می باشد. 623 00:28:01,250 --> 00:28:04,420 و دلیل که شما نمی توانید می گویند، آه، اما مانند برای تورینگ، من 624 00:28:04,420 --> 00:28:07,570 لازم نیست که هر یک از آن همه چیز در همان سطح U. خوب، 625 00:28:07,570 --> 00:28:11,390 اگر به طور ناگهانی به شما می خواستم برای اضافه کردن چیزی است که مانند T-H بود، 626 00:28:11,390 --> 00:28:14,800 شما می باید قابلیت اضافه کرد که کلمه. 627 00:28:14,800 --> 00:28:17,330 بنابراین برای هر حرف تنها، شما در حال رفتن به 628 00:28:17,330 --> 00:28:19,730 به یک دسته از آرایه های آینده خاموش از آن. 629 00:28:19,730 --> 00:28:24,060 بنابراین شما می توانید ببینید که چگونه آن را می خواهم دریافت واقعا بزرگ، واقعا سریع است. 630 00:28:24,060 --> 00:28:26,560 هر گونه سؤال دیگر؟ 631 00:28:26,560 --> 00:28:28,980 خیلی خوب. 632 00:28:28,980 --> 00:28:29,832 آره؟ 633 00:28:29,832 --> 00:28:33,210 >> رسید وقتی که تلاش می کند هستند سریع تر از جداول هش؟ 634 00:28:33,210 --> 00:28:36,280 >> هنا: هنگامی که تلاش می کند هستند سریع تر از جداول هش؟ 635 00:28:36,280 --> 00:28:39,120 بنابراین اگر شما تا به حال واقعا تابع هش بد است. 636 00:28:39,120 --> 00:28:41,840 بنابراین اجازه دهید بگویم من بود مانند، در اینجا تابع هش شما است. 637 00:28:41,840 --> 00:28:43,660 مهم نیست که چه کلمه شما به من بدهید، من همیشه 638 00:28:43,660 --> 00:28:47,740 رفتن به آن را در ورود به آرایه 0. 639 00:28:47,740 --> 00:28:52,000 و به این ترتیب ما تا پایان تنها با قرار دادن همه چیز در یکی از بزرگ لیست طولانی در ارتباط است. 640 00:28:52,000 --> 00:28:58,740 و به این ترتیب یک زمان مراجعه را در بدترین را N اگر آن را در پایان بسیار از لیست ما است. 641 00:28:58,740 --> 00:29:03,150 با امتحان کنید، ما فقط باید به تکرار از طریق حروف کلمه را. 642 00:29:03,150 --> 00:29:07,080 بنابراین حتی اگر ما اضافه یک دسته کلمات را امتحان کنید ما، 643 00:29:07,080 --> 00:29:09,620 آن را ما دیگر را ندارد برای پیدا کردن یک کلمه خاص است. 644 00:29:09,620 --> 00:29:11,750 >> همه ما باید انجام دهیم این است، برای به عنوان مثال، در این مورد، 645 00:29:11,750 --> 00:29:17,170 اجازه دهید بگویم ما به دنبال زوم، ما فقط می خواهم که به تکرار بیش از 646 00:29:17,170 --> 00:29:19,840 Z-O-O-M، چهار حرف. 647 00:29:19,840 --> 00:29:22,250 به طوری که فقط طول زوم کلمه. 648 00:29:22,250 --> 00:29:25,400 مهم نیست که چگونه بسیاری از کلمات بیشتر ما در این امتحان قرار داده است. 649 00:29:25,400 --> 00:29:30,225 ما همیشه می توانید آن را دریافت در آن چهار مرحله. 650 00:29:30,225 --> 00:29:31,215 عالی. 651 00:29:31,215 --> 00:29:32,205 بله؟ 652 00:29:32,205 --> 00:29:34,185 >> رسید: پس [نامفهوم] یک آرایه است، درست است؟ 653 00:29:34,185 --> 00:29:35,322 >> هنا: MM-HM. 654 00:29:35,322 --> 00:29:37,155 رسید اگر شما به دنبال [نامفهوم]، 655 00:29:37,155 --> 00:29:40,929 به شما را از طریق رفتن آرایه خود را برای پیدا کردن [نامفهوم]؟ 656 00:29:40,929 --> 00:29:41,470 هنا: مطمئنا. 657 00:29:41,470 --> 00:29:44,000 رسید که آیا زمان بیشتری را ندارد؟ 658 00:29:44,000 --> 00:29:46,370 هنا: اگر من قصد دارم به می گویند که آرایه من همیشه 659 00:29:46,370 --> 00:29:49,250 رفتن به A، B، C، D، E، F، G، اه، اه، اه، 660 00:29:49,250 --> 00:29:51,630 بنابراین اگر من همیشه می دانم که این در جهت یکسان، 661 00:29:51,630 --> 00:29:53,880 اگر من همیشه می دانم که این به ترتیب حروف الفبا، 662 00:29:53,880 --> 00:29:57,860 من فقط می توانم بگویم O تعداد است چنین و چنان در الفبای. 663 00:29:57,860 --> 00:29:59,620 فقط به آن محل بروید. 664 00:29:59,620 --> 00:30:01,860 از آنجا که به یاد داشته باشید، با آرایه، ما می توانیم دسترسی 665 00:30:01,860 --> 00:30:06,590 هر عنصر از آرایه که در ثابت زمان اگر ما می دانیم که در آن ما به دنبال. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 آره؟ 668 00:30:09,580 --> 00:30:12,005 >> رسید از قبلی اسلاید [نامفهوم] 27، 669 00:30:12,005 --> 00:30:14,430 اما 26 برای یکی از اولین. 670 00:30:14,430 --> 00:30:15,400 >> هنا: با عرض پوزش؟ 671 00:30:15,400 --> 00:30:18,800 >> رسید از: آیا اول یک 0، بنابراین آیا آن را نه 26؟ 672 00:30:18,800 --> 00:30:24,900 >> هنا: مطمئنا، تا زمانی که ما می گویند 27، که رفتن به دادن شاخص با ما 0 تا 26. 673 00:30:24,900 --> 00:30:28,220 اما اگر شما در واقع به حساب کسانی که از، آن را برای رفتن به 27. 674 00:30:28,220 --> 00:30:30,007 سوال خوبی است. 675 00:30:30,007 --> 00:30:30,590 هر چیز دیگری؟ 676 00:30:30,590 --> 00:30:31,200 آره؟ 677 00:30:31,200 --> 00:30:34,420 >> رسید بنابراین تلاش می کند هستند آهسته تر از جداول هش؟ 678 00:30:34,420 --> 00:30:37,920 >> هنا: تلاش در حال رفتن به، در نظریه، سریع تر از جداول هش 679 00:30:37,920 --> 00:30:39,760 اما تا حافظه بیشتر. 680 00:30:39,760 --> 00:30:40,534 آره؟ 681 00:30:40,534 --> 00:30:41,450 رسید [نامفهوم]؟ 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> هنا: متاسفم، من شما را نمی شنوند. 684 00:30:47,484 --> 00:30:48,400 رسید [نامفهوم]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 0 تا 25 به شما می دهد 26. 687 00:30:54,100 --> 00:30:56,958 >> هنا: 0 تا 25 را شما 26 را، درست است. 688 00:30:56,958 --> 00:30:58,457 >> رسید و پس از آن [نامفهوم]. 689 00:30:58,457 --> 00:30:59,040 هنا: راست. 690 00:30:59,040 --> 00:31:04,760 بنابراین تعداد ما در حال تعیین است تعداد چیز در آرایه ما. 691 00:31:04,760 --> 00:31:07,260 بنابراین اگر ما 27، آن ​​را به ما بدهد 0 692 00:31:07,260 --> 00:31:10,620 از طریق 26، که به خواهد اتاق ما برای، در این مورد، 693 00:31:10,620 --> 00:31:12,770 من از جمله آپوستروف نیست. 694 00:31:12,770 --> 00:31:17,040 بنابراین ما در حال رسیدن 0 از طریق 25 هستند 26 حرف اول حروف الفبا، 695 00:31:17,040 --> 00:31:18,990 یا همه 26 حروف الفبا. 696 00:31:18,990 --> 00:31:21,190 و پس از آن که آخرین چیزی که، در ورود 26 است، 697 00:31:21,190 --> 00:31:24,598 رفتن به چک علامت گذاری به عنوان، و یا دلتا. 698 00:31:24,598 --> 00:31:26,960 هر چیز دیگری؟ 699 00:31:26,960 --> 00:31:29,130 عالی. 700 00:31:29,130 --> 00:31:30,020 فضای من دست داد. 701 00:31:30,020 --> 00:31:31,020 خوب، سرد. 702 00:31:31,020 --> 00:31:33,240 >> بنابراین ما در حال حاضر بر این لمس کرد. 703 00:31:33,240 --> 00:31:37,430 اما تجارت بزرگ کردن بین تلاش می کند و جداول هش 704 00:31:37,430 --> 00:31:39,720 این است که تلاش می کند ارائه، در نظریه، ثابت نگاه کردن 705 00:31:39,720 --> 00:31:42,890 بار اما استفاده زیادی از حافظه است. 706 00:31:42,890 --> 00:31:46,495 همه راست، در حال حاضر ما کمی ساختار کمتر پیچیده، 707 00:31:46,495 --> 00:31:49,640 و ما با C انجام می شود، و ما حق همراه شما حرکت می کند. 708 00:31:49,640 --> 00:31:51,930 >> بنابراین پشته، ما با این دید در سخنرانی که در آن شما 709 00:31:51,930 --> 00:31:55,020 چیزی شبیه به یک دارند پشته سینی که در آن 710 00:31:55,020 --> 00:31:57,330 آخرین چیزی که شما قرار داده در پشته است که 711 00:31:57,330 --> 00:31:59,500 به اولین چیزی که شما را خاموش. 712 00:31:59,500 --> 00:32:02,880 بنابراین این چیزی است که واقعا تعریف پشته این است که آخرین چیزی که شما را در 713 00:32:02,880 --> 00:32:06,080 رفتن به اولین چیزی که شما را خاموش. 714 00:32:06,080 --> 00:32:09,279 و اصطلاحات که استفاده می کنیم اگر ما قصد داریم برای قرار دادن چیزی، 715 00:32:09,279 --> 00:32:12,070 اگر ما قصد داریم به اضافه کردن چیزی به پشته ما، ما تماس بگیرید که هل دادن. 716 00:32:12,070 --> 00:32:14,970 و اگر ما چیزی را خاموش، ما آنرا گردانندگان سایت. 717 00:32:14,970 --> 00:32:17,080 و اگر ما قصد داریم به پیاده سازی پشته، ما 718 00:32:17,080 --> 00:32:20,660 باید مطمئن شوید که برای پیگیری هر دو اندازه و ظرفیت. 719 00:32:20,660 --> 00:32:24,940 بنابراین تعداد کل عناصر ما می توانیم تعداد جمعیت فعلی عناصر نگه دارید و 720 00:32:24,940 --> 00:32:27,880 که ما در حال برگزاری. 721 00:32:27,880 --> 00:32:29,885 >> و بسیار به طور مشابه، ما باید صف. 722 00:32:29,885 --> 00:32:34,510 و تنها تفاوت است به جای با پشته، 723 00:32:34,510 --> 00:32:37,630 ما گفت: آخرین چیزی که ما را در اولین چیزی که ما را خاموش باشد. 724 00:32:37,630 --> 00:32:40,940 بنابراین با صف، اولین چیزی که ما در قرار 725 00:32:40,940 --> 00:32:43,129 در حال رفتن به اولین چیزی که ما را از. 726 00:32:43,129 --> 00:32:45,420 پس این است که مانند اگر شما در واقع پوشش در فروشگاه 727 00:32:45,420 --> 00:32:48,140 و شما در حال کمک، پس از آن اولین کسی در خط 728 00:32:48,140 --> 00:32:50,880 باید اولین کسی کمک شود. 729 00:32:50,880 --> 00:32:52,220 به طوری که می تواند یک صف. 730 00:32:52,220 --> 00:32:55,880 >> بنابراین ما نیاز به پیگیری از اندازه، ظرفیت، و سر از آنجایی که ما هستیم 731 00:32:55,880 --> 00:33:01,130 رفتن به هر کس را خاموش جلو لیست به جای پشت. 732 00:33:01,130 --> 00:33:03,480 سوالات در آن؟ 733 00:33:03,480 --> 00:33:06,330 هر گونه سؤال C که شما را آزار؟ 734 00:33:06,330 --> 00:33:09,590 ساختمان داده، هر یک از چیزهای که سرگرم کننده؟ 735 00:33:09,590 --> 00:33:10,530 همه حق است، سرد است. 736 00:33:10,530 --> 00:33:14,120 بنابراین من آن را به دست به آلیسون پرش به برخی از برنامه نویسی بیشتر است. 737 00:33:14,120 --> 00:33:15,965 >> آلیسون: اوه، خواهیم دید. 738 00:33:15,965 --> 00:33:17,370 خواهیم دید که چگونه به خوبی من در اینجا. 739 00:33:17,370 --> 00:33:21,410 خوب، من قصد دارم به سعی و پرواز از طریق این مسائل، بچه ها. 740 00:33:21,410 --> 00:33:24,540 هانا بسیار در رفت عمق در همه چیز او. 741 00:33:24,540 --> 00:33:26,900 من قصد دارم به سعی کنید شما یک دید کلی انفجار سریع 742 00:33:26,900 --> 00:33:31,290 به طوری که ما می توانیم به داوین با تمام دریافت سرگرم کننده جاوا اسکریپت و امنیت چیز 743 00:33:31,290 --> 00:33:33,380 که شاید شما در واقع می خواهید به شنیدن بیشتر در مورد. 744 00:33:33,380 --> 00:33:36,600 >> خوب، به عنوان هانا گفت، اگر شما هر گونه سوال، 745 00:33:36,600 --> 00:33:39,170 من بیش از حد سریع رفتن، لطفا، اجازه دهید من می دانم. 746 00:33:39,170 --> 00:33:42,114 من به سوالات در صورت لزوم پاسخ. 747 00:33:42,114 --> 00:33:45,280 بنابراین برای شروع، ما قصد داریم برای شروع با احتمالا یکی از چیزهایی که اولین 748 00:33:45,280 --> 00:33:48,730 شما با وب یاد گرفته برنامه نویسی، مجوز. 749 00:33:48,730 --> 00:33:52,720 بنابراین سطح دسترسی، شما بچه ها باید بوده است کارشناسی ارشد در این با تمام وب 750 00:33:52,720 --> 00:33:54,870 برنامه نویسی که شما انجام شده است به تازگی. 751 00:33:54,870 --> 00:33:57,320 این اساسا فقط یک دستور که تغییر مجوز 752 00:33:57,320 --> 00:34:00,779 و یا مجوزهای دسترسی از ما اشیاء فایل سیستم. 753 00:34:00,779 --> 00:34:02,570 البته، در واقع دیدن این، اگر شما 754 00:34:02,570 --> 00:34:04,910 داشتن هر گونه مشکل با این در طول مجموعه مشکل شما، 755 00:34:04,910 --> 00:34:11,460 ممکن است شما LS -l، که طولانی استفاده می شود، برای دریافت نوع مشخصات مانند این، 756 00:34:11,460 --> 00:34:14,209 که در آن شما در واقع مشاهده همه مجوز برای یک فایل. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> و واقعا، ما فقط رفتن به از طریق به سرعت فقط خیلی 759 00:34:20,732 --> 00:34:21,940 بسیار چه هر یک از این معنی. 760 00:34:21,940 --> 00:34:24,481 پس ما حق در اینجا د، که فقط برای دایرکتوری است. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 بدیهی است حق در اینجا، ما rwx را ببینید، که قابل خواندن، نوشتن، و اجرایی است. 763 00:34:31,739 --> 00:34:37,090 این نیز می تواند به عنوان بیت نشان داده می شود، که ما را به در صفحه بعد دریافت کنید. 764 00:34:37,090 --> 00:34:40,699 بنابراین هر سه تایی که ما دیدم در اینجا، پس از آن سه Triad ها ملاقات میکند. 765 00:34:40,699 --> 00:34:48,120 ما rwx اند، R چیزی X و R هیچ چیز X برای این فایل اول است. 766 00:34:48,120 --> 00:34:49,690 این ساختار به طور کلی است. 767 00:34:49,690 --> 00:34:50,940 >> بنابراین ما باید برخی از دایرکتوری. 768 00:34:50,940 --> 00:34:53,999 ما برخی از گروه های کاربری با این مجوز. 769 00:34:53,999 --> 00:34:57,040 برخی از گروه است که این مجوز، و جهان است که اجازه. 770 00:34:57,040 --> 00:34:59,420 شما می توانید از این به عنوان یک سه گانه فکر می کنم. 771 00:34:59,420 --> 00:35:01,130 شما می توانید از این به عنوان سه بیت فکر می کنم. 772 00:35:01,130 --> 00:35:04,060 به طوری که آنها می توانند ارزش نگه در هر نقطه از 0 تا 773 00:35:04,060 --> 00:35:07,350 به 7، همین دلیل است که گاهی اوقات ما تا به حال شما انجام سطح دسترسی 774 00:35:07,350 --> 00:35:17,510 600 به جای سطح دسترسی RW هر. 775 00:35:17,510 --> 00:35:19,170 ما به عنوان مثال وجود دارد. 776 00:35:19,170 --> 00:35:24,260 اما اساسا، شما می توانید فکر می کنم از این به صورت فقط rwx، 777 00:35:24,260 --> 00:35:28,520 یا شما می توانید از آنها به عنوان برخی فکر می کنم تعداد جایی که این یکی از اولین در اینجا 778 00:35:28,520 --> 00:35:31,480 نشان دهنده یک عدد بین 0 و 7، این یک ثانیه 779 00:35:31,480 --> 00:35:33,970 نشان دهنده یک عدد بین 0 و 7، و یک سوم 780 00:35:33,970 --> 00:35:38,245 نشان دهنده یک عدد بین 0 و 7، خوب؟ 781 00:35:38,245 --> 00:35:42,700 >> R دارای ارزش 4. W تا به ارزش 2 و X 782 00:35:42,700 --> 00:35:49,230 تا به ارزش 1، همین دلیل است که این اجازه در اینجا خواهد بود سطح دسترسی 700. 783 00:35:49,230 --> 00:35:53,520 از آنجا که در این مورد در اینجا، آن را می گوید ما اند بیت اول بر بدبختانه وجود دارد. 784 00:35:53,520 --> 00:35:55,380 بنابراین ما باید 4 برای خوانده شده. 785 00:35:55,380 --> 00:35:58,730 بیت دوم است برای بدبختانه W، است که 2، بنابراین در حال حاضر ما 6. 786 00:35:58,730 --> 00:36:02,070 و بیت سوم است در بدبختانه برای X است که 1 است، بنابراین ما هفت. 787 00:36:02,070 --> 00:36:04,820 و البته، گروه ما جهان ما و هر 0 می باشد. 788 00:36:04,820 --> 00:36:07,770 بنابراین این نیز معادل سطح دسترسی 700. 789 00:36:07,770 --> 00:36:12,081 و من قطعا به تلاش درک نگاشت بین کسانی که. 790 00:36:12,081 --> 00:36:14,080 من مطمئن هستم که اگر آن را تا نه آمد تا در مسابقه قبل، 791 00:36:14,080 --> 00:36:18,590 اما این امر می تواند سوال که من ممکن است بپرسید. 792 00:36:18,590 --> 00:36:22,110 >> فقط کمی رفتن حتی بیشتر به سطح دسترسی در اینجا، در اینجا 793 00:36:22,110 --> 00:36:27,730 است بسیار کلی ساختار یک تماس سطح دسترسی. 794 00:36:27,730 --> 00:36:29,500 بنابراین البته، ما در اینجا سطح دسترسی. 795 00:36:29,500 --> 00:36:34,410 منابع، چه این اشاره به است که ما می دهی این مجوز به 796 00:36:34,410 --> 00:36:36,570 یا که مصرف می کنیم این مجوز های دور از. 797 00:36:36,570 --> 00:36:44,330 بنابراین ما باید در اینجا در مجوز، مانند ما داده ام شما سطح دسترسی به علاوه X، 798 00:36:44,330 --> 00:36:45,440 همانطور که ما به زودی خواهید دید. 799 00:36:45,440 --> 00:36:48,460 فقط بدان معناست به این خاص مجوز به همه. 800 00:36:48,460 --> 00:36:49,600 آنها به تمام بدهد. 801 00:36:49,600 --> 00:36:55,370 بنابراین شما به خوبی می تواند تو علاوه X دارند و یا گرم به علاوه X یا O به علاوه X یا چند 802 00:36:55,370 --> 00:36:55,870 آن. 803 00:36:55,870 --> 00:36:59,280 به طوری که بخش اول همیشه رفتن به مراجع. 804 00:36:59,280 --> 00:37:03,220 چه کسی ما می دهی این مجوز به، یا که آنها را مصرف می کنیم به دور از؟ 805 00:37:03,220 --> 00:37:04,850 >> دوم اپراتور است. 806 00:37:04,850 --> 00:37:07,350 بنابراین شما بچه ها بیشتر با اضافه پرداخته است. 807 00:37:07,350 --> 00:37:12,140 این را می دهد دسترسی به هر کس که شما آنها را دادن، 808 00:37:12,140 --> 00:37:14,840 در حالی که منهای، منطقی، آنها را حذف می کند. 809 00:37:14,840 --> 00:37:16,880 بنابراین هیچ چیز بیش از حد وحشتناک وجود دارد. 810 00:37:16,880 --> 00:37:23,060 و پس از آن حالت چیزی است که ما در مورد صحبت کردیم با خواندن، نوشتن، و یا اجرای. 811 00:37:23,060 --> 00:37:29,070 بنابراین علاوه X به معنی را اجرایی مجوز به همه. 812 00:37:29,070 --> 00:37:33,430 و پس از آن، البته، که در آن فایل خاص و یا دایرکتوری. 813 00:37:33,430 --> 00:37:33,980 باشه؟ 814 00:37:33,980 --> 00:37:36,010 هر کس خوب با سطح دسترسی؟ 815 00:37:36,010 --> 00:37:37,850 نه خیلی بد؟ 816 00:37:37,850 --> 00:37:42,417 >> خوب، پس HTML، هر یک از شما قدیمی به اندازه کافی سن مای اسپیس to--؟ 817 00:37:42,417 --> 00:37:44,750 من این را به بخش من فرستاده، و به معنای واقعی کلمه نیمی از مردم 818 00:37:44,750 --> 00:37:45,790 به من نگاه کرد مثل من دیوانه بود. 819 00:37:45,790 --> 00:37:47,498 و من دوست دارم، بچه ها بود، ما که قدیمی نیست. 820 00:37:47,498 --> 00:37:48,910 بیا. 821 00:37:48,910 --> 00:37:53,360 بنابراین زبان نشانه گذاری ابرمتن، آن را صادقانه فقط یک راه را برای شما 822 00:37:53,360 --> 00:37:57,990 برای نمایش کارهای معینی را در وب. 823 00:37:57,990 --> 00:37:59,210 پس از آن یک زبان نشانه گذاری است. 824 00:37:59,210 --> 00:38:00,640 این یک زبان برنامه نویسی نیست. 825 00:38:00,640 --> 00:38:02,160 هیچ منطق در آن وجود دارد. 826 00:38:02,160 --> 00:38:05,710 این است که به سادگی برای تغییر راه چیزی نمایش داده می شود. 827 00:38:05,710 --> 00:38:07,670 OK، به طوری که مهم تمایز را. 828 00:38:07,670 --> 00:38:12,030 این نظر گرفته یک زبان نشانه گذاری، نه یک زبان برنامه نویسی. 829 00:38:12,030 --> 00:38:15,100 >> بنابراین در اینجا ما باید تگ HTML است. 830 00:38:15,100 --> 00:38:20,390 در این اسلاید احتمالا بیشتر از آنهایی که شما باید با آن آشنا شود 831 00:38:20,390 --> 00:38:22,390 و واقعا راحت با. 832 00:38:22,390 --> 00:38:25,700 بنابراین بدیهی است، ما باید برچسب HTML ما، که 833 00:38:25,700 --> 00:38:29,930 تعیین که همه چیز در بین این دو خواهد بود HTML. 834 00:38:29,930 --> 00:38:33,070 ما برخی از لینک که بدیهی است که به شما می دهد 835 00:38:33,070 --> 00:38:34,990 یک لینک به یک صفحه وب خارجی. 836 00:38:34,990 --> 00:38:37,520 برخی از عنوان، در سر ما در اینجا. 837 00:38:37,520 --> 00:38:40,020 و ما با باید بدن ما H1، که یک ضربه، 838 00:38:40,020 --> 00:38:42,260 پس از آن خواهید آن را خوب را و درشت و بزرگتر است. 839 00:38:42,260 --> 00:38:46,040 و پس از آن، ما باید برخی از P، است که یک پاراگراف. 840 00:38:46,040 --> 00:38:49,000 شما احتمالا باید بدانید و با همه چیز آشنا 841 00:38:49,000 --> 00:38:54,030 مانند چگونه یک تصویر شما وارد است، هر کلاس هدر دیگر وجود دارد؟ 842 00:38:54,030 --> 00:38:57,240 من قطعا خواهد بود راحت با DIV. 843 00:38:57,240 --> 00:39:00,840 بنابراین این باید اکثریت برچسب ها که شما باید با آن آشنا باشد. 844 00:39:00,840 --> 00:39:04,370 اما البته، به عنوان با همه چیز در CS 50، لیست جامع نیست. 845 00:39:04,370 --> 00:39:08,200 بنابراین مطمئن شوید که شما قلم مو رنگ کردن در آن. 846 00:39:08,200 --> 00:39:13,260 >> CSS، بنابراین CSS، اگر هر کدام از شما تماشا سمینار من از دو هفته پیش، 847 00:39:13,260 --> 00:39:16,250 واقعا تنها راه به سبک صفحه وب خود؟ 848 00:39:16,250 --> 00:39:18,950 OK، بنابراین ما باید برخی از زبان نشانه گذاری. 849 00:39:18,950 --> 00:39:23,220 HTML، که طول می کشد مراقبت از فقط متن و که در آن ممکن است بر روی صفحه است. 850 00:39:23,220 --> 00:39:25,760 اما CSS واقعا چه چیزی باعث آن بسیار. 851 00:39:25,760 --> 00:39:30,690 شما می توانید این را در HTML سایت خود بگذارید دارند فایل، اما همانطور که ما بعد صحبت در مورد، 852 00:39:30,690 --> 00:39:32,660 من کاملا مطمئن هستم که آن ممکن است شود در اسلاید بعدی، آن 853 00:39:32,660 --> 00:39:35,620 روش معمول است، و در واقع عمل که ما واقعا تشویق، 854 00:39:35,620 --> 00:39:40,670 را برای شما به نگه داشتن آنها را از هم جدا هنگامی که ما درباره MVC و کل الگوی صحبت کنید. 855 00:39:40,670 --> 00:39:42,490 این واقعا چه این تغذیه به. 856 00:39:42,490 --> 00:39:46,110 >> بنابراین CSS تنها راه است همه چیز را نگاه بسیار. 857 00:39:46,110 --> 00:39:50,500 همه چیز در اینجا، مانند بدن و #title و اطلاعات، 858 00:39:50,500 --> 00:39:54,340 این انتخاب و آنچه به نام انجام می دهند این است که آنها همه چیز خاص را انتخاب کنید 859 00:39:54,340 --> 00:39:59,260 در فایل HTML شما و اعمال هر سبک، 860 00:39:59,260 --> 00:40:04,090 هر نوعی از چیزهایی که شما می خواهید، به که عنصر خاص از وب سایت خود را 861 00:40:04,090 --> 00:40:04,590 صفحه. 862 00:40:04,590 --> 00:40:08,820 بنابراین در اینجا، ما یک رنگ پس زمینه و رنگ 863 00:40:08,820 --> 00:40:12,450 و یک خانواده فونت که در حال اعمال شده به آنچه در بدن است. 864 00:40:12,450 --> 00:40:15,530 بنابراین اگر ما به اینجا نگاه، آن به عنوان مطرح شده ندارد اعمال می شود. 865 00:40:15,530 --> 00:40:22,340 این تنها به آنچه که اعمال می شود در این انتخاب بدن، خوب؟ 866 00:40:22,340 --> 00:40:25,250 >> با عنوان اینجا، این است رفتن به همان چیز، 867 00:40:25,250 --> 00:40:28,410 رنگ متن بودن آبی تنها رفتن 868 00:40:28,410 --> 00:40:33,870 را تحت تاثیر قرار چه در داخل انتخاب عنوان. 869 00:40:33,870 --> 00:40:36,580 و همچنین اطلاعات در اینجا، متن صورتی خواهد بود، 870 00:40:36,580 --> 00:40:38,600 هر آنچه اطلاعات، که در اینجا ببینید. 871 00:40:38,600 --> 00:40:40,860 بنابراین تنها چیزی که خواهد بود صورتی در این صفحه 872 00:40:40,860 --> 00:40:44,100 عضویت Monday، 2014 نوامبر 17 است. 873 00:40:44,100 --> 00:40:48,770 خوب، پس CSS تنها راه است کنترل بیشتری over-- بله؟ 874 00:40:48,770 --> 00:40:51,850 >> رسید: چرا شما برای استفاده از هش با عنوان؟ 875 00:40:51,850 --> 00:40:55,170 >> هنا: اسلاید بعدی، قول می دهم! 876 00:40:55,170 --> 00:40:56,810 ما وجود دارد را دریافت کنید. 877 00:40:56,810 --> 00:40:59,830 پس این دلیل است که ما مجبور به استفاده از هش. 878 00:40:59,830 --> 00:41:03,429 بنابراین انتخاب در سه اصلی را فرم که ما به شما بچه ها در مورد صحبت کنید. 879 00:41:03,429 --> 00:41:05,595 من fyou می خواهید برای کسب اطلاعات بیشتر، مقدار زیادی وجود دارد. 880 00:41:05,595 --> 00:41:07,540 این اسناد CSS بزرگ وجود دارد. 881 00:41:07,540 --> 00:41:12,680 یک نام برچسب است که برای انجام وجود دارد فقط با برچسب های عادی خود را در HTML. 882 00:41:12,680 --> 00:41:17,210 بنابراین H1، ص، DIV، H2، کسانی که چیزها. 883 00:41:17,210 --> 00:41:20,320 و ما فقط می توانید آن را به عنوان نام. 884 00:41:20,320 --> 00:41:22,650 بنابراین به عنوان ما در اینجا با دیدن بدن، آن را به یک تگ طبیعی است. 885 00:41:22,650 --> 00:41:26,660 بنابراین ما فقط می توانید قرار بدن زمانی که ما در حال صحبت کردن در فایل CSS است. 886 00:41:26,660 --> 00:41:29,730 >> با عنوان، کل دلیل ما این هش است ما چه 887 00:41:29,730 --> 00:41:31,010 ID در نظر گرفته. 888 00:41:31,010 --> 00:41:35,400 بنابراین ID همیشه باید منحصر به فرد در صفحه HTML خود را 889 00:41:35,400 --> 00:41:37,930 به طوری که وقتی شما اشاره به آن، شما 890 00:41:37,930 --> 00:41:41,990 می دانم که شما فقط اشاره به یک چیز خاص است. 891 00:41:41,990 --> 00:41:46,270 بنابراین در این مورد در اینجا، با ما H1 در اینجا، CS 50 جلسه بررسی، 892 00:41:46,270 --> 00:41:47,810 ما باید یک id از عنوان. 893 00:41:47,810 --> 00:41:54,280 بنابراین به منظور فقط به مراجعه قطعه ای از HTML ما، ما یک عنوان هش. 894 00:41:54,280 --> 00:41:58,080 فقط با کنوانسیون، شناسه ها تعیین شده با یک رشته هش در مقابل آنها. 895 00:41:58,080 --> 00:42:01,650 در راه همان، ما را ببینید اطلاعات در اینجا یک کلاس است. 896 00:42:01,650 --> 00:42:06,070 و به این ترتیب کلاس با CSS است به عنوان یک کلاس نقطه 897 00:42:06,070 --> 00:42:08,895 و یا نقطه هر چه که کلاس است. 898 00:42:08,895 --> 00:42:10,850 بنابراین در این مورد در اینجا، آن اطلاعات است. 899 00:42:10,850 --> 00:42:13,090 >> بنابراین من آن را به عقب. 900 00:42:13,090 --> 00:42:16,200 هر دو از این خواهد بود برای CSS ما صورتی در اینجا 901 00:42:16,200 --> 00:42:18,430 چرا که آنها هر دو در یک کلاس اطلاعات. 902 00:42:18,430 --> 00:42:23,070 و در فایل CSS ما، ما را تعیین که هر چیزی که با یک کلاس از اطلاعات 903 00:42:23,070 --> 00:42:24,120 باید صورتی باشد. 904 00:42:24,120 --> 00:42:25,968 آیا این را حس؟ 905 00:42:25,968 --> 00:42:27,435 بله؟ 906 00:42:27,435 --> 00:42:30,731 >> رسید به اگر شما بودند همه چیز در سفید بدن، 907 00:42:30,731 --> 00:42:32,814 و پس از آن شما سعی می کنید به چیزی در درون آن آبی، 908 00:42:32,814 --> 00:42:34,770 می که باعث مشکلات؟ 909 00:42:34,770 --> 00:42:37,310 >> هنا: پس CSS است شیوه نامه آبشاری. 910 00:42:37,310 --> 00:42:40,730 بنابراین هر چه باشد به سمت پایین خواهد ارجحیت دارد. 911 00:42:40,730 --> 00:42:44,080 بنابراین اگر شما چیزی را با بدن، و شما همه چیز را سفید، 912 00:42:44,080 --> 00:42:49,300 و سپس بعد بر روی عنوان شما تغییر یا شما تغییر متن درون بدن، 913 00:42:49,300 --> 00:42:50,560 آن را بازنویسی کند. 914 00:42:50,560 --> 00:42:55,360 بنابراین هر چیزی نسبت به پایین خواهد ارجحیت دارد. 915 00:42:55,360 --> 00:42:56,730 بله؟ 916 00:42:56,730 --> 00:42:59,627 >> رسید و شناسه منحصر به فرد هستند، اما کلاس می تواند بیشتر؟ 917 00:42:59,627 --> 00:43:00,210 هنا: راست. 918 00:43:00,210 --> 00:43:06,320 بنابراین شناسه باید منحصر به فرد باشد، و کلاس می تواند به عنوان بسیاری از چیزهای مراجعه به شما به عنوان می خواهم. 919 00:43:06,320 --> 00:43:07,580 هر گونه سؤال دیگر؟ 920 00:43:07,580 --> 00:43:09,800 بله. 921 00:43:09,800 --> 00:43:11,210 >> رسید [نامفهوم]. 922 00:43:11,210 --> 00:43:13,509 می خواهم بدانم که آیا که باعث تفاوت. 923 00:43:13,509 --> 00:43:15,217 هنا: متاسفم، چه سوال بود؟ 924 00:43:15,217 --> 00:43:18,960 رسید کوچک وجود دارد "F" و سرمایه "اف" 925 00:43:18,960 --> 00:43:21,440 هنا: بنابراین تفاوت بین کوچک "F" و سرمایه "F" 926 00:43:21,440 --> 00:43:22,606 باید تفاوت را ندارد. 927 00:43:22,606 --> 00:43:26,330 بنابراین "F" خواهد بود 15 در هر صورت. 928 00:43:26,330 --> 00:43:28,130 داغ، هر چیز دیگری؟ 929 00:43:28,130 --> 00:43:29,930 هر کس خوب، CSS؟ 930 00:43:29,930 --> 00:43:30,850 بله؟ 931 00:43:30,850 --> 00:43:31,790 >> رسید با عرض پوزش. 932 00:43:31,790 --> 00:43:35,550 آیا می توانید یک کلاس و ID؟ 933 00:43:35,550 --> 00:43:38,030 >> هنا: بله، شما می توانید. 934 00:43:38,030 --> 00:43:40,420 چیزهایی که می تواند هر دو در یک کلاس و ID داشته باشد. 935 00:43:40,420 --> 00:43:44,670 و من به شدت توصیه تست این به خودی خود. 936 00:43:44,670 --> 00:43:50,480 CSS شما بهترین فقط با یادگیری چیزی، صفحه وب بسیار ساده است، 937 00:43:50,480 --> 00:43:53,440 طراحی برخی از CSS، و فقط دیدن چگونه آنها تداخل می کنند. 938 00:43:53,440 --> 00:43:56,970 و شما به دست آوردن بسیار خوب است، حس بصری برای چگونه کار می کند. 939 00:43:56,970 --> 00:43:58,810 >> خوب، همه خوب با CSS؟ 940 00:43:58,810 --> 00:44:01,280 شما همه در حال رفتن به وب سایت های زیبا با CSS در حال حاضر. 941 00:44:01,280 --> 00:44:05,460 خوب، بهترین شیوه، فقط همه چیز را به خاطر داشته باشید، همه چیز 942 00:44:05,460 --> 00:44:09,810 that-- این دلیل است که ما اسکله شما برای طراح و فلان چیز. 943 00:44:09,810 --> 00:44:11,820 بنابراین همه تگ های HTML را ببندید. 944 00:44:11,820 --> 00:44:14,840 بنابراین اگر شما بدن باز، باید بدن نزدیک وجود داشته باشد. 945 00:44:14,840 --> 00:44:18,180 اگر شما یک بند باز، باید یک پاراگراف نزدیک وجود داشته باشد. 946 00:44:18,180 --> 00:44:19,555 بررسی کنید صفحه شما تایید. 947 00:44:19,555 --> 00:44:23,330 شما بچه ها باید بسیار آشنا باشد با این از-P مجموعه هفت 948 00:44:23,330 --> 00:44:26,350 با CS 50 امور مالی با اعتبار سنج W3. 949 00:44:26,350 --> 00:44:28,340 و همانطور که گفتم قبل، یکی از پارادایم های بزرگ ما 950 00:44:28,340 --> 00:44:33,780 جدا سبک خود را با CSS از نشانه گذاری خود را، که HTML. 951 00:44:33,780 --> 00:44:36,900 و پس از آن، البته، ما این XKCD بزرگ را در اینجا. 952 00:44:36,900 --> 00:44:38,280 ماهواره، تسکین خنده دار! 953 00:44:38,280 --> 00:44:41,340 >> OK، TCP / IP. 954 00:44:41,340 --> 00:44:44,650 بین این و HTTP، اساسا آنها هر دو پروتکل است. 955 00:44:44,650 --> 00:44:46,810 بنابراین شما فقط می تواند فکر می کنم از آنها به عنوان مجموعه ای از قوانین 956 00:44:46,810 --> 00:44:50,110 که حکومت چگونه همه چیز حرکت در سراسر اینترنت است. 957 00:44:50,110 --> 00:44:53,410 بنابراین کنترل انتقال پروتکل، و یا پروتکل اینترنت، 958 00:44:53,410 --> 00:44:57,280 تنها راه مطمئن شوید است که داده می شود که در آن این رفتن 959 00:44:57,280 --> 00:45:00,030 و ما اگر می دانید ما همیشه از دست رفته داده. 960 00:45:00,030 --> 00:45:03,520 بنابراین اگر شما بچه ها فکر می کنم به سخنرانی چند هفته پیش با دیوید 961 00:45:03,520 --> 00:45:06,980 که در آن ما تا به حال چهار پاکت، آنها همه مانند یکی از چهار شماره شد، 962 00:45:06,980 --> 00:45:11,300 دو نفر از چهار، سه چهار، چهار نفر از چهار، این فقط مجموعه ای از قوانین است. 963 00:45:11,300 --> 00:45:13,830 ما گفت، خوب، هر زمان که ما هستیم ارسال بیش از یک بسته، 964 00:45:13,830 --> 00:45:16,610 ما می رویم به تعداد آن را با چه تعداد است 965 00:45:16,610 --> 00:45:19,040 و چگونه بسیاری از کل که کاربر باید دریافت کنید. 966 00:45:19,040 --> 00:45:22,540 >> و این تنها گفتن هر کس دریافت داده که آیا آنها 967 00:45:22,540 --> 00:45:26,120 اگر همه چیز و یا بدست چیزی در امتداد راه گم شدم. 968 00:45:26,120 --> 00:45:28,840 و آنها باید برای آن به کار دوباره سوال. 969 00:45:28,840 --> 00:45:31,140 این است که واقعا فقط مجموعه ای از قوانین. 970 00:45:31,140 --> 00:45:33,650 این که شما چگونه می توانید از آن فکر می کنم، خوب؟ 971 00:45:33,650 --> 00:45:37,700 و همچنین، آن پورت، مشخص است که شما بچه ها can-- من در طول سخنرانی می دانید، 972 00:45:37,700 --> 00:45:39,170 آنها یک لیست کامل از بنادر به حال. 973 00:45:39,170 --> 00:45:41,630 اما ما آنها را در اینجا در حال حاضر وجود ندارد. 974 00:45:41,630 --> 00:45:45,290 >> پروتکل انتقال ابرمتن (hypertext) پس است، دوباره، آن پروتکل دیگری است. 975 00:45:45,290 --> 00:45:48,630 پس از آن دیگری مجموعه ای از قوانین است حاکم، در این مورد، 976 00:45:48,630 --> 00:45:51,130 چگونه فرامتن منتقل شده است. 977 00:45:51,130 --> 00:45:54,340 پس از آن فقط اجازه می دهد تا مرورگرهای به صحبت می کنند به وب سرور. 978 00:45:54,340 --> 00:45:56,910 و همانطور که ما در اینجا گفت، آن را مانند دستدهی انسان است. 979 00:45:56,910 --> 00:46:00,480 این فقط یک راه برای حکومت است چگونه وب سرور است 980 00:46:00,480 --> 00:46:02,690 رفتن به تعامل با مرورگر شما. 981 00:46:02,690 --> 00:46:05,660 و ما فقط یک زن و شوهر از نمونه های. 982 00:46:05,660 --> 00:46:09,100 ما برخی از درخواست در اینجا که در آن می توانید از روش است. 983 00:46:09,100 --> 00:46:13,760 ما HTTP 1.1، که نسخه پروتکل برای ما. 984 00:46:13,760 --> 00:46:17,230 و پس از آن، میزبان، که همان چیزی است ما در واقع در تلاش برای دسترسی داشته باشید. 985 00:46:17,230 --> 00:46:21,800 و پس از آن، به عنوان شما در اینجا ببینید، ما گرفتن برخی از پاسخ به این 200 986 00:46:21,800 --> 00:46:25,032 OK به عنوان کد HTTP پاسخ ما. 987 00:46:25,032 --> 00:46:27,240 ما یک لیست بزرگ من قصد دارم به جلو و در یک ثانیه 988 00:46:27,240 --> 00:46:29,430 که شما بچه ها باید با آن آشنا باشد. 989 00:46:29,430 --> 00:46:35,750 و ما این نوع محتوا متن / HTML، که فقط می گوید که چه نوع از داده ها 990 00:46:35,750 --> 00:46:39,990 ما از سرور دریافت، خوب؟ 991 00:46:39,990 --> 00:46:44,230 این میزبان و این نوع محتوا بخشی از هدر HTTP. 992 00:46:44,230 --> 00:46:49,610 شما می توانید به عنوان چند و یا به عنوان کمی به عنوان داشته لازم برای متن چه 993 00:46:49,610 --> 00:46:50,580 شما با خرید و فروش. 994 00:46:50,580 --> 00:46:53,371 گاهی اوقات شما یک مقدار زیادی از اطلاعات که از سرور شما. 995 00:46:53,371 --> 00:46:56,040 شاید آنها درخواست زیادی اطلاعات از کاربر. 996 00:46:56,040 --> 00:46:57,600 این بسته به زمینه. 997 00:46:57,600 --> 00:47:01,144 اگر شما در CS 50 مطالعه نگاه کنید، در بسیاری بیشتر در مورد آن وجود دارد. 998 00:47:01,144 --> 00:47:03,060 اما ما باید تا حد زیادی به دریافت از طریق، بنابراین من قصد دارم 999 00:47:03,060 --> 00:47:05,760 به بفرما اگر که OK با شما بچه ها؟ 1000 00:47:05,760 --> 00:47:07,960 سرد. 1001 00:47:07,960 --> 00:47:08,460 صبر کن. 1002 00:47:08,460 --> 00:47:11,182 من قطعا که لیست کل of-- متعجب! 1003 00:47:11,182 --> 00:47:13,140 من نمی دانم که چرا این است تمام راه را بیش از اینجا. 1004 00:47:13,140 --> 00:47:15,660 من فکر کردم من به معنای واقعی کلمه منتقل آن در حالی که من sitting-- بود 1005 00:47:15,660 --> 00:47:16,540 >> داوین: آیا شما می خواهید به آن آموزش؟ 1006 00:47:16,540 --> 00:47:17,420 و یا اینکه شما می خواهید من به آن آموزش؟ 1007 00:47:17,420 --> 00:47:20,010 >> رسید من فکر کردم ما می تواند فقط آنها را نشان می دهد برای شروع با. 1008 00:47:20,010 --> 00:47:22,210 منظور من، شما می توانید به رفتن آنها بیشتر است، اما من 1009 00:47:22,210 --> 00:47:26,030 فکر کردم این از آنجایی که من حس تر ساخته شده فقط در مورد وضعیت HTTP صحبت شد. 1010 00:47:26,030 --> 00:47:28,200 بنابراین در اینجا کل لیست است. 1011 00:47:28,200 --> 00:47:31,730 من حدس می زنم چه اتفاق خواهد افتاد است داوین در حال رفتن به به آنها به بعد. 1012 00:47:31,730 --> 00:47:35,330 اما یک لیست کامل وجود دارد، پیش نمایش از طعم و مزه آمده است. 1013 00:47:35,330 --> 00:47:41,640 خوب، ما قصد داریم به blow-- این است که به یک دوره سقوط پی اچ پی شبیه هیچ دیگر. 1014 00:47:41,640 --> 00:47:44,874 >> بنابراین پی اچ پی، پیش پردازنده فرامتن، آن backronym بازگشتی است، 1015 00:47:44,874 --> 00:47:46,540 که به معنی آن چیز دیگری نامگذاری شد. 1016 00:47:46,540 --> 00:47:49,050 و سپس آنها دوست دارند، این بود واقعا حس. 1017 00:47:49,050 --> 00:47:52,210 به طوری که آنها فقط به نام it-- و آن مخفف بود، 1018 00:47:52,210 --> 00:47:54,840 به طوری که آنها فقط آن را پی اچ پی ساخته شده پیش پردازنده فرامتن، که 1019 00:47:54,840 --> 00:47:55,980 فقط باعث می شود هیچ حس. 1020 00:47:55,980 --> 00:47:57,714 داستان سرگرم کننده است. 1021 00:47:57,714 --> 00:47:58,880 این یک زبان برنامه نویسی است. 1022 00:47:58,880 --> 00:48:02,360 بنابراین تا آنجا که تاکید می کنم که HTML غیر فعال است یک زبان برنامه نویسی نیست، 1023 00:48:02,360 --> 00:48:05,350 آن را یک زبان نشانه گذاری، پی اچ پی یک زبان برنامه نویسی است. 1024 00:48:05,350 --> 00:48:07,422 چگونه شما می دانید این است دلیل است منطق وجود دارد. 1025 00:48:07,422 --> 00:48:08,380 می شرطی وجود دارد. 1026 00:48:08,380 --> 00:48:12,750 ما متغیر، در حالی که ما هیچ یک از کسانی که همه چیز در HTML. 1027 00:48:12,750 --> 00:48:16,960 >> همه حق است، پس ما باید این کمی کمی در اینجا است که مانند یک طعم و مزه PHP است. 1028 00:48:16,960 --> 00:48:20,510 بنابراین اصول اولیه، نام متغیر با علامت دلار شروع می شود. 1029 00:48:20,510 --> 00:48:21,500 بسیاری از مردم آن را دوست دارم. 1030 00:48:21,500 --> 00:48:22,371 به یاد ما پول است. 1031 00:48:22,371 --> 00:48:22,995 این همه بزرگ است. 1032 00:48:22,995 --> 00:48:25,280 همه ما می خواهیم پی اچ پی. 1033 00:48:25,280 --> 00:48:28,020 بنابراین ما مشخص نیست نوع متغیر دیگر. 1034 00:48:28,020 --> 00:48:29,995 آن است که در زمان اجرا تعیین می شود. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 مترجم مثل خواهد بود، آه، ما فقط از طریق اجرا شود، 1037 00:48:35,890 --> 00:48:39,565 و با توجه به زمینه، ما چه نوع از انواع ببینید 1038 00:48:39,565 --> 00:48:41,560 این متغیر باید. 1039 00:48:41,560 --> 00:48:42,815 هیچ تابع اصلی وجود دارد. 1040 00:48:42,815 --> 00:48:43,690 چیزهایی که فقط اجرا خواهد شد. 1041 00:48:43,690 --> 00:48:47,851 شما بچه ها با واردات خود را در خود -P مجموعه گذشته، شما این اطلاع می دهد. 1042 00:48:47,851 --> 00:48:49,350 بود واقعا وجود دارد یک تابع اصلی. 1043 00:48:49,350 --> 00:48:52,070 شما فقط نوشت چه شما می خواستم به اتفاق می افتد. 1044 00:48:52,070 --> 00:48:53,280 و آن را فقط نوعی از اتفاق افتاده است. 1045 00:48:53,280 --> 00:48:56,760 به طوری که PHP را برای شما. 1046 00:48:56,760 --> 00:48:59,180 >> آرایه خیلی مشابه هستند. 1047 00:48:59,180 --> 00:49:01,270 ما هنوز هم این براکت داشته باشد. 1048 00:49:01,270 --> 00:49:05,940 در اینجا، ما برخی از متغیر نام ورود، و آن را برابر با 1049 00:49:05,940 --> 00:49:08,540 to-- ما عادی ما نماد براکت. 1050 00:49:08,540 --> 00:49:10,630 و ما باید برخی از ارزش های کلیدی است. 1051 00:49:10,630 --> 00:49:14,630 و تفاوت بزرگ بین C و PHP آرایه 1052 00:49:14,630 --> 00:49:19,330 این است که ما می توانیم این associate-- دارند ما می توانیم ارزش به کلید مرتبط. 1053 00:49:19,330 --> 00:49:22,440 بنابراین به جای فقط داشتن یک آرایه است که نمایه 1054 00:49:22,440 --> 00:49:26,630 شده توسط تعدادی و یا موقعیت آن عنصر در آرایه، 1055 00:49:26,630 --> 00:49:29,060 ما در واقع می توانید آن را با یک کلید مرتبط. 1056 00:49:29,060 --> 00:49:36,700 از کجا می توان گفت، خوب، من می خواهم هر چه ارزش با میوه همراه است. 1057 00:49:36,700 --> 00:49:39,280 و شاید ما باید میوه به موز رفت. 1058 00:49:39,280 --> 00:49:41,760 بنابراین آن را می خواهم موز را به ما بازگرداند. 1059 00:49:41,760 --> 00:49:44,100 >> اما در واقع، بیشتر چیزی که قدرتمند در مورد این 1060 00:49:44,100 --> 00:49:47,960 این است که اگر شما بچه ها به یاد داشته باشید نسخه ی نمایشی از سخنرانی که در آن ما اساسا 1061 00:49:47,960 --> 00:49:53,050 کتاب املاء بازنویسی در پی اچ پی، و آن مراجعه was-- واقعا فقط مانند، 1062 00:49:53,050 --> 00:49:55,007 این کلید وجود دارد؟ 1063 00:49:55,007 --> 00:49:56,590 این واقعا نوع از قدرت آن است. 1064 00:49:56,590 --> 00:49:58,560 شما لازم نیست به تکرار از طریق آرایه خود را. 1065 00:49:58,560 --> 00:50:00,311 شما لازم نیست که می دانم چه فضای آن در است. 1066 00:50:00,311 --> 00:50:01,976 این می تواند در پایان یا آغاز شود. 1067 00:50:01,976 --> 00:50:04,790 تا زمانی که شما می دانید کلید که با ارزش همراه، 1068 00:50:04,790 --> 00:50:09,740 پی اچ پی فقط می توانید تف که ارزش حق بازگشت در شما، خوب؟ 1069 00:50:09,740 --> 00:50:12,960 >> و پس از آن، ما نیز فقط فقط چون ما 1070 00:50:12,960 --> 00:50:16,750 می تواند جفت ارزش کلیدی به این معنا نیست که شما به. 1071 00:50:16,750 --> 00:50:19,180 شما همچنین می توانید فقط ایجاد یک آرایه طبیعی مانند اینجا، 1072 00:50:19,180 --> 00:50:21,540 در پایین، که در آن است فقط یک، دو، سه، چهار. 1073 00:50:21,540 --> 00:50:22,510 کسانی که ارزش های ما هستند. 1074 00:50:22,510 --> 00:50:25,320 و در واقع، کلید های خود را شاخص می باشد. 1075 00:50:25,320 --> 00:50:26,830 بنابراین کلید برای یک خواهد بود صفر است. 1076 00:50:26,830 --> 00:50:28,610 کلید برای دو خواهد بود. 1077 00:50:28,610 --> 00:50:31,910 بنابراین و غیره، مگر اینکه شما به صراحت یک کلید اختصاص، 1078 00:50:31,910 --> 00:50:34,630 شما می توانید که فرض ارزش فقط شاخص خود است. 1079 00:50:34,630 --> 00:50:37,290 آیا این را حس برای همه؟ 1080 00:50:37,290 --> 00:50:38,070 بدون پرسش؟ 1081 00:50:38,070 --> 00:50:38,930 عالی. 1082 00:50:38,930 --> 00:50:44,420 >> OK، حلقه foreach راه است تکرار از طریق آرایه های خود را. 1083 00:50:44,420 --> 00:50:47,490 بنابراین ما باید چیزی در اینجا، فقط ساختار کلی. 1084 00:50:47,490 --> 00:50:51,020 بنابراین حلقه foreach، به نام آرایه ما، به عنوان هر 1085 00:50:51,020 --> 00:50:53,930 شما می خواهید به تماس هر عنصر در آرایه خود را، 1086 00:50:53,930 --> 00:50:57,270 و ما می توانیم چیزی را با انجام که عنصر یا با ارزش. 1087 00:50:57,270 --> 00:50:58,680 بنابراین ما به عنوان مثال در اینجا. 1088 00:50:58,680 --> 00:51:05,770 در حال حاضر انجمنی آرایه با این دو مدخل 1089 00:51:05,770 --> 00:51:10,080 با نوار با مواد غذایی همراه و qux با باز همراه است. 1090 00:51:10,080 --> 00:51:12,180 بنابراین کلید می غذ و باز. 1091 00:51:12,180 --> 00:51:13,650 ارزش هستند نوار و qux. 1092 00:51:13,650 --> 00:51:18,560 بنابراین حلقه foreach، ما باید آرایه ما در اینجا، به عنوان جفت ارزش کلیدی است. 1093 00:51:18,560 --> 00:51:21,560 این به ما اجازه می دهد تا به دسترسی هر دو کلید و ارزش. 1094 00:51:21,560 --> 00:51:23,680 شاید شما فقط می خواهید ارزش، که در این صورت 1095 00:51:23,680 --> 00:51:27,640 شما فقط می تواند مانند ورود انجام به عنوان ارزش $، و سپس شما 1096 00:51:27,640 --> 00:51:30,640 فقط دسترسی ارزش به شما به عنوان تکرار از طریق. 1097 00:51:30,640 --> 00:51:32,600 اما شاید، برای برخی از دلیل، شما می خواهید کلید، 1098 00:51:32,600 --> 00:51:35,460 همین دلیل است که من انتخاب این مثال به جای. 1099 00:51:35,460 --> 00:51:40,240 بنابراین شما در واقع می تواند دستکاری کلید و ارزش در این مورد. 1100 00:51:40,240 --> 00:51:41,070 باشه؟ 1101 00:51:41,070 --> 00:51:41,905 سوال؟ 1102 00:51:41,905 --> 00:51:44,279 >> رسید اگر شما به خواست فقط دستکاری کلید، می 1103 00:51:44,279 --> 00:51:45,910 شما باید انجام دهید foreach-- 1104 00:51:45,910 --> 00:51:47,360 >> آلیسون: راست. 1105 00:51:47,360 --> 00:51:50,560 بنابراین اگر شما به خواست دستکاری فقط کلید، 1106 00:51:50,560 --> 00:51:53,680 شما هنوز هم این نیاز نحو چرا که اگر شما فقط 1107 00:51:53,680 --> 00:51:56,930 دارای ورود به عنوان چیزی، به عنوان یک چیز، آن را 1108 00:51:56,930 --> 00:52:00,070 رفتن به فرض که شما می خواهید ارزش، نه کلیدی است. 1109 00:52:00,070 --> 00:52:06,780 بنابراین اگر شما تا به حال فقط درست مثل دارند ورود به عنوان، شاید این است مانند $ عنصر، 1110 00:52:06,780 --> 00:52:11,670 آن را به فرض کنیم که شما می گی فقط برای ارزش در هر نقطه. 1111 00:52:11,670 --> 00:52:13,879 اگر شما به صراحت به خواهید انجام کاری با کلید، 1112 00:52:13,879 --> 00:52:16,170 حتی اگر شما به قصد ندارم انجام هر کاری با ارزش، 1113 00:52:16,170 --> 00:52:18,430 شما نیاز به این ساختار که ما را در اینجا 1114 00:52:18,430 --> 00:52:22,330 که در آن شما به صراحت درخواست برای هر دو کلید و ارزش. 1115 00:52:22,330 --> 00:52:24,170 سوال بزرگ. 1116 00:52:24,170 --> 00:52:25,940 هر چیز دیگری؟ 1117 00:52:25,940 --> 00:52:27,490 سرد. 1118 00:52:27,490 --> 00:52:29,911 >> همه راست، پی اچ پی و HTML. 1119 00:52:29,911 --> 00:52:31,410 اوه، ما به هستی-P مجموعه هفت دوباره. 1120 00:52:31,410 --> 00:52:35,380 بنابراین این باید کمی آشنا نگاه کنید. 1121 00:52:35,380 --> 00:52:41,760 پس این نوعی HTML ساده است است که برخی از نام ورودی از سلام. 1122 00:52:41,760 --> 00:52:43,820 و ما می بینیم ما روش ما را از دریافت کنید. 1123 00:52:43,820 --> 00:52:47,430 و اگر ما از ما P-مجموعه ای به یاد داشته باشید، هنگامی که این فرم است را مشاهده کنید، 1124 00:52:47,430 --> 00:52:58,130 آن یک آرایه به نام $ _GET است که می فرستد همه این ورودی یا متغیر از 1125 00:52:58,130 --> 00:53:00,490 فرم که باید دستکاری در پی اچ پی ما. 1126 00:53:00,490 --> 00:53:03,320 بنابراین در این مورد، کاربر در نام خود قرار داده است. 1127 00:53:03,320 --> 00:53:04,370 آنها را از آن ارسال کنید. 1128 00:53:04,370 --> 00:53:07,810 و ما می بینیم که ما برخی از آرایه دریافت کنید. 1129 00:53:07,810 --> 00:53:09,080 ما آرایه GET ما. 1130 00:53:09,080 --> 00:53:11,510 و ما دسترسی به نام. 1131 00:53:11,510 --> 00:53:15,070 >> به طوری که می گوید، خوب، من را ارزش که با نام همراه، 1132 00:53:15,070 --> 00:53:16,550 نام بودن کلید در اینجا. 1133 00:53:16,550 --> 00:53:21,400 و این نقشه را به طور مستقیم به آنچه ما گفت: نام ورودی ما است. 1134 00:53:21,400 --> 00:53:28,960 پس این شد که شما به کلید به آنچه در حال رفتن به در آرایه خود را در اینجا. 1135 00:53:28,960 --> 00:53:31,220 آیا این را حس برای همه؟ 1136 00:53:31,220 --> 00:53:32,070 بله؟ 1137 00:53:32,070 --> 00:53:36,240 >> رسید: آیا نام در گرفتن مراجعه به خط بنفش در [نامفهوم]؟ 1138 00:53:36,240 --> 00:53:37,740 >> آلیسون: این به این اشاره دارد در اینجا. 1139 00:53:37,740 --> 00:53:43,840 بنابراین این زمینه حق در اینجا، آن را به این نام اینجا اشاره دارد. 1140 00:53:43,840 --> 00:53:47,800 بنابراین این می تواند به نام شده است مانند شماره تلفن، یا هر چیز دیگری. 1141 00:53:47,800 --> 00:53:51,790 این نام در واقع می گوید، چه شما خواستار این زمینه؟ 1142 00:53:51,790 --> 00:53:53,600 چگونه شما را به رفتن به این زمینه اشاره؟ 1143 00:53:53,600 --> 00:53:57,670 و این نام است که در واقع دوست، ما هستیم گفت این زمینه است نام نامیده می شود. 1144 00:53:57,670 --> 00:53:59,224 اینگونه است که ما در حال رفتن به آن دسترسی داشته باشید. 1145 00:53:59,224 --> 00:54:02,070 >> رسید بنابراین آن را دوست، نام ورودی برابر باب، and-- 1146 00:54:02,070 --> 00:54:04,380 >> آلیسون: راست، و سپس شما می باب پایین وجود دارد. 1147 00:54:04,380 --> 00:54:06,090 دقیقا. 1148 00:54:06,090 --> 00:54:07,800 هر کس سرد؟ 1149 00:54:07,800 --> 00:54:10,990 همه حق است، بنابراین در مقابل POST GET، این دو راه اصلی هستند 1150 00:54:10,990 --> 00:54:14,880 که ما عبور داده در یک درخواست HTTP. 1151 00:54:14,880 --> 00:54:17,370 شما بچه ها باید دیده اند هر دو از این امیدوارم. 1152 00:54:17,370 --> 00:54:20,940 بنابراین با GET، اطلاعات از طریق URL منتقل می شود. 1153 00:54:20,940 --> 00:54:23,490 بنابراین اگر شما تا به حال انجام گوگل جستجو، یوتیوب، نظر شما 1154 00:54:23,490 --> 00:54:25,130 احتمالا متوجه علامت سوال. 1155 00:54:25,130 --> 00:54:28,230 و پس از آن، تمامی واژگان که شما فقط در آن وجود دارد قرار داده است. 1156 00:54:28,230 --> 00:54:31,410 و بعد از عبور داده در بدن پیام HTTP. 1157 00:54:31,410 --> 00:54:36,922 بنابراین بر خلاف، شما نوع در نظر که داده ها از کاربر پنهان است. 1158 00:54:36,922 --> 00:54:38,630 اما آنچه واقعا مهم است که درک 1159 00:54:38,630 --> 00:54:44,040 این است که این است که هنوز هم فقط به عنوان نا امن به عنوان دریافت کنید. 1160 00:54:44,040 --> 00:54:48,780 قیاس من مایل به استفاده است اگر شما شماره حساب بانکی خود را 1161 00:54:48,780 --> 00:54:52,795 و شما آن را ارسال در خارج از یک پاکت نامه، که بسیار پرخطر است. 1162 00:54:52,795 --> 00:54:55,920 اگر شما آن را ارسال بر روی یک تکه مقاله و آن را در داخل پاکت، 1163 00:54:55,920 --> 00:54:58,850 هنوز هم واقعا ناامن به دلیل همه شما باید انجام دهید این است که باز کردن 1164 00:54:58,850 --> 00:55:03,480 و نگاه در محتویات واقعی از پیام که برای دیدن. 1165 00:55:03,480 --> 00:55:08,310 پس این است که "پنهان" و مردم دوست دارند فکر می کنم این امن، اما آن را واقعا نمی. 1166 00:55:08,310 --> 00:55:11,000 و من مطمئن هستم داوین خواهد شد دریافت به که بیشتر، شاید. 1167 00:55:11,000 --> 00:55:12,850 اما این مهم تمایز به 1168 00:55:12,850 --> 00:55:15,820 و چیزی واقعا خوب به درک. 1169 00:55:15,820 --> 00:55:19,220 >> OK، SQL، زبان ساختارمند جستجو. 1170 00:55:19,220 --> 00:55:22,220 همه چیز که ما دیده ایم تا به تازگی! 1171 00:55:22,220 --> 00:55:25,400 بنابراین آن را اساسا فقط طراحی، بدیهی است، برای مدیریت داده ها. 1172 00:55:25,400 --> 00:55:30,560 شما بچه ها بسیاری از تجربه با حال این در جداول خود را با پی اچ پی MyAdmin. 1173 00:55:30,560 --> 00:55:34,100 و چهار نمایش داده شد رایج وجود دارد که ما می خواهیم به شما بچه ها می دانم. 1174 00:55:34,100 --> 00:55:37,304 بنابراین به روز رسانی، درج وجود دارد، را انتخاب کنید، و حذف. 1175 00:55:37,304 --> 00:55:38,970 بنابراین مطمئن شوید که شما آن می دانند واقعا خوب است. 1176 00:55:38,970 --> 00:55:40,960 ما قصد رفتن از طریق آنها واقعا سریع است. 1177 00:55:40,960 --> 00:55:44,340 >> بنابراین به روز رسانی، واقعا، به عنوان چه شما ممکن است فکر می کنم آن را ندارد، 1178 00:55:44,340 --> 00:55:46,740 آن را فقط به روز رسانی داده ها در پایگاه داده خود را. 1179 00:55:46,740 --> 00:55:48,750 بنابراین ما برخی از مثال در اینجا. 1180 00:55:48,750 --> 00:55:53,310 این است که به طور کلی ساختار پرس و جو به روز رسانی. 1181 00:55:53,310 --> 00:55:56,150 بنابراین جدول ما به روز رسانی که ما در حال صحبت کردن در مورد. 1182 00:55:56,150 --> 00:56:00,520 و ما می خواهیم به راه خاص ارزش ها، ستون های خاص 1183 00:56:00,520 --> 00:56:02,600 به ارزش های خاص برابر است. 1184 00:56:02,600 --> 00:56:07,500 بنابراین این فقط به روز رسانی جدول، تغییر ارزش ها در تمام ردیف در این مورد. 1185 00:56:07,500 --> 00:56:13,690 بنابراین در این یکی را در اینجا، واقعی به عنوان مثال، ما باید insert-- متاسفم. 1186 00:56:13,690 --> 00:56:17,630 این اسلاید پیشرفته بدون من متوجه. 1187 00:56:17,630 --> 00:56:22,230 >> بنابراین این جدول به روز رسانی تنظیم col1 برابر به val1 که در آن خانه برابر "چرخمساز." 1188 00:56:22,230 --> 00:56:25,300 چه این یکی است آن را تنها تغییر، تنها آن 1189 00:56:25,300 --> 00:56:28,130 به روز رسانی این ارزش ها در مکان های خاص. 1190 00:56:28,130 --> 00:56:32,300 بنابراین در این یکی از اولین، آن این تغییرات ارزش برای همه چیز در جدول خود را، 1191 00:56:32,300 --> 00:56:32,860 باشه؟ 1192 00:56:32,860 --> 00:56:35,820 آن را برای تغییر این ستون برای هر ورود به تک، 1193 00:56:35,820 --> 00:56:37,020 برای هر سطر. 1194 00:56:37,020 --> 00:56:40,840 اما این که در آن، شما می توانید از از آن به عنوان یک مقدماتی فکر می کنم. 1195 00:56:40,840 --> 00:56:44,020 بنابراین آن را تنها رفتن به تغییر آن را در مکان های بسیار خاص است. 1196 00:56:44,020 --> 00:56:47,840 بنابراین در-P مجموعه هفت، هنگامی که شما شاید مقدار پول نقد به روز شده 1197 00:56:47,840 --> 00:56:53,050 که کاربر خود را به حال، شما احتمالا به حال برخی که در آن ID برابر جلسه ID، درست است؟ 1198 00:56:53,050 --> 00:56:55,280 >> از آنجا که شما نمی خواست تغییر مقدار پول نقد 1199 00:56:55,280 --> 00:56:57,630 برای هر کسی که با استفاده از وب سایت شما. 1200 00:56:57,630 --> 00:57:00,480 شما آن را تغییر دهید برای یک خواست فرد خاص، آن شخص بودن 1201 00:57:00,480 --> 00:57:02,410 هر کس با استفاده از آن در آن زمان بود. 1202 00:57:02,410 --> 00:57:04,320 درست است؟ 1203 00:57:04,320 --> 00:57:07,510 خوب، پس وارد کردن، درج برخی از ارزش ها به جداول. 1204 00:57:07,510 --> 00:57:11,650 این مثل این است که هنگامی که شما هستید ایجاد یک کاربر جدید با نام تجاری. 1205 00:57:11,650 --> 00:57:14,240 ساختار کلی در اینجا به هر جدول درج 1206 00:57:14,240 --> 00:57:15,680 ما در حال صحبت کردن در مورد. 1207 00:57:15,680 --> 00:57:18,910 ارزش ها، بودن ارزش هایی که ما در واقع می خواهید برای وارد کردن. 1208 00:57:18,910 --> 00:57:23,060 خوب، پس به عنوان ما در اینجا ببینید، ما به جدول وارد کنید. 1209 00:57:23,060 --> 00:57:27,790 این ستون خاص با است ارزش مطابقت دارد خود را. 1210 00:57:27,790 --> 00:57:29,940 بنابراین این می گوید، درج یک ردیف جدید شامل 1211 00:57:29,940 --> 00:57:33,660 ارزش val1 و val2 تحت این ستون خاص. 1212 00:57:33,660 --> 00:57:39,240 >> بنابراین شاید شما فقط می خواهید برای پر کردن از نیمی از چیزهایی که در این ردیف. 1213 00:57:39,240 --> 00:57:41,150 این چیزی است که این بخش در اینجا شما اجازه می دهد انجام دهد. 1214 00:57:41,150 --> 00:57:43,280 این برنامه به شما امکان می دهد در واقع مشخص است که بخشی. 1215 00:57:43,280 --> 00:57:44,244 بله؟ 1216 00:57:44,244 --> 00:57:52,150 >> رسید می توانید تنها [نامفهوم] سلول در سطر [نامفهوم]؟ 1217 00:57:52,150 --> 00:57:55,000 >> آلیسون: اگر شما فقط پر در بخش های خاصی از ردیف خود، 1218 00:57:55,000 --> 00:57:57,480 بقیه سلول فقط خالی می باشد. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 تا زمانی که شما آنها را اجازه می دهد به خالی باشد، آن را یک مشکل نیست. 1221 00:58:05,660 --> 00:58:09,570 اگر شما سعی می کنید به آنها دسترسی داشته باشید، آن را رفتن به بازگشت برخی از عنصر خالی می باشد. 1222 00:58:09,570 --> 00:58:13,850 اما این مهم است که بدانید که در جداول خاص، 1223 00:58:13,850 --> 00:58:16,690 آنها اجازه داده می شود به تهی. 1224 00:58:16,690 --> 00:58:18,890 شما ممکن است به یک اجرا مشکل در طول خود را P-مجموعه 1225 00:58:18,890 --> 00:58:21,320 از آنجا که ما هیچ اجازه نمی از ارزش های خود تهی باشد. 1226 00:58:21,320 --> 00:58:26,110 اما شما می توانید مشخص کنید ارزش اختیاری در جدول خود را. 1227 00:58:26,110 --> 00:58:29,640 >> OK، انتخاب کنید، بنابراین این است تنها راه گرفتن 1228 00:58:29,640 --> 00:58:33,790 اطلاعات خاص از یک جدول در برخی از شناسه که شما می خواهید. 1229 00:58:33,790 --> 00:58:37,990 ستاره بنابراین انتخاب کنید و از جدول که در آن رده برابر چیزی فقط بدان معناست، 1230 00:58:37,990 --> 00:58:43,820 من تمام اطلاعات مرتبط را که در آن این ستون خاص درست است. 1231 00:58:43,820 --> 00:58:49,020 بنابراین ستاره در این مورد خواهد شد بازگشت به کل ردیف به شما، خوب؟ 1232 00:58:49,020 --> 00:58:54,880 >> و پس از آن، در این مورد، ستاره از انتخاب جدول فقط به شما می دهد که کل جدول. 1233 00:58:54,880 --> 00:58:58,940 و پس از آن، بدیهی است حذف، آن را فقط حذف ردیف از جدول. 1234 00:58:58,940 --> 00:59:01,320 بنابراین از جدول حذف، هر جدول ما 1235 00:59:01,320 --> 00:59:06,830 ارجاع، که در آن برخی از خاص شناسه یا برخی از شرایط واقعی است. 1236 00:59:06,830 --> 00:59:07,720 بله؟ 1237 00:59:07,720 --> 00:59:08,700 >> رسید سوال. 1238 00:59:08,700 --> 00:59:10,699 چرا استفاده می دو نقل قول ها، و این که آیا شما 1239 00:59:10,699 --> 00:59:13,600 انجام نقل از دو برابر و یا تک نقل قول ها، آن را ایجاد تفاوت؟ 1240 00:59:13,600 --> 00:59:18,235 >> آلیسون: به نقل از دو یا نقل قول تکی یک تفاوت در SQL را ندارد. 1241 00:59:18,235 --> 00:59:19,610 من فکر کردم من یک سؤال دیگر دیدم. 1242 00:59:19,610 --> 00:59:20,814 بله؟ 1243 00:59:20,814 --> 00:59:25,070 >> رسید: آیا آن تاثیر نمی گذارد چه می شود از پرس و جو فرار؟ 1244 00:59:25,070 --> 00:59:27,945 >> آلیسون: راب؟ 1245 00:59:27,945 --> 00:59:31,410 >> راب: چه چیزی شما را توسط معنی از پرس و جو فرار؟ 1246 00:59:31,410 --> 00:59:36,870 >> رسید: اگر کسی پرس و جو تنها در فرم of-- 1247 00:59:36,870 --> 00:59:39,862 >> راب: اگر کسی به بود قرار دادن یک نقل قول تنها در، 1248 00:59:39,862 --> 00:59:43,560 پس از آن تا زمانی که شما در حال بهداشتی نمودن ورودی خود را، پس از آن مهم نیست. 1249 00:59:43,560 --> 00:59:46,205 اما اگر شما با استفاده از یک نقل قول و شما اشتباه 1250 00:59:46,205 --> 00:59:47,914 فرار ورودی خود را، پس بله، آنها نیاز 1251 00:59:47,914 --> 00:59:51,079 برای قرار دادن نقل قول تنها به منظور شکستن کد شما. اگر شما استفاده از دو علامت، 1252 00:59:51,079 --> 00:59:53,580 آنها نیاز به قرار دادن دو نقل قول برای شکستن کد شما. 1253 00:59:53,580 --> 00:59:56,163 اما تا زمانی که شما همه چیز فرار به درستی، مهم نیست. 1254 00:59:56,163 --> 00:59:59,220 این فقط رفتن به ترجمه به نماد درست به هر حال. 1255 00:59:59,220 --> 01:00:02,332 >> رسید به چه معنی فرار؟ 1256 01:00:02,332 --> 01:00:04,040 آلیسون: خوب، مانند مطابق با اصول بهداشتی و فرار کنند. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 امتحان که ما، XKCD بزرگ کمیک که آنها را بالا بکشد که در آن شما را داشته باشد، 1259 01:00:13,820 --> 01:00:15,629 oh-- 1260 01:00:15,629 --> 01:00:16,670 راب: این آخرین اسلاید است. 1261 01:00:16,670 --> 01:00:18,500 آلیسون: این آخرین اسلاید، واقعا؟ 1262 01:00:18,500 --> 01:00:20,200 اوه خدای من. 1263 01:00:20,200 --> 01:00:21,780 وجود دارد که ما بروید، کامل است. 1264 01:00:21,780 --> 01:00:27,900 خوب، پس اساسا، شما می توانید تزریق چیزی به این پرس و جوی SQL 1265 01:00:27,900 --> 01:00:30,560 که در آن می شکند شما کد و یا به عنوان دیوید نشان داد 1266 01:00:30,560 --> 01:00:38,460 در کلاس، اگر ما به برخی از واحد نقل قول 1 برابر 1 و اگر در کد ما، 1267 01:00:38,460 --> 01:00:41,230 ما فقط به طور مستقیم کپی که در، و ما یک نقل قول پایان دادن به تک، 1268 01:00:41,230 --> 01:00:44,740 چه اتفاقی می افتد این است که ما را دریافت کنید برخی از بیان است که 1269 01:00:44,740 --> 01:00:48,680 ارزیابی به درست است که خواهد شد اجازه دهید کسی وارد بانک اطلاعاتی ما 1270 01:00:48,680 --> 01:00:51,720 و دریافت اطلاعات است که ما نمی خواهم آنها را برای به دست آوردن. 1271 01:00:51,720 --> 01:00:54,240 بنابراین بهداشتی نمودن ورودی فقط بدان معناست مطمئن شوید 1272 01:00:54,240 --> 01:00:57,680 که ما در حال فرار از این شخصیت ها و تعیین آنها 1273 01:00:57,680 --> 01:01:01,720 به عنوان کاراکتر و چیز نمی که باید اجازه داده شود 1274 01:01:01,720 --> 01:01:04,990 به معنای واقعی کلمه انجام شود به عنوان بیانیه SQL ما. 1275 01:01:04,990 --> 01:01:09,980 >> بنابراین چیزی که بزرگ است که ما گفت که شما بچه ها باید با استفاده از است 1276 01:01:09,980 --> 01:01:13,650 کاراکتر های ویژه HTML بودند، که چیزی است 1277 01:01:13,650 --> 01:01:15,730 که شما ممکن است بخواهید به نگاهی. 1278 01:01:15,730 --> 01:01:17,240 OK، حذف کنید. 1279 01:01:17,240 --> 01:01:19,450 انواع داده ها، این همه آنلاین است. 1280 01:01:19,450 --> 01:01:23,510 از آنجا که ما 15 دقیقه، من هستم فقط رفتن به حق از طریق این. 1281 01:01:23,510 --> 01:01:28,500 پی اچ پی و SQL، اساسا این است فقط ما یک تابع پرس و جو به حال که 1282 01:01:28,500 --> 01:01:31,520 در برابر محافظت از کمک کرد این حملات مخرب. 1283 01:01:31,520 --> 01:01:33,970 بنابراین هر زمان که شما استفاده پرس و جو، ما ساخت شد مطمئن 1284 01:01:33,970 --> 01:01:36,560 که همه چیز فلان چیز بررسی شد. 1285 01:01:36,560 --> 01:01:41,070 >> MVC فقط یک پارادایم طراحی است، بنابراین مدل، مشخصات، کنترل. 1286 01:01:41,070 --> 01:01:44,200 این فقط یک راه برای نگه داشتن چیزهای است زیبا و در راه همان تقسیم 1287 01:01:44,200 --> 01:01:47,100 که ما تمایل به عامل کد را به توابع. 1288 01:01:47,100 --> 01:01:53,390 این فقط یک چارچوب طراحی وب سایت است که اجازه می دهد تا شما را به انجام همان. 1289 01:01:53,390 --> 01:01:54,760 من قصد دارم به جست و خیز این. 1290 01:01:54,760 --> 01:01:58,530 >> این چیزی است که من خواهد بود فوق العاده راحت با. 1291 01:01:58,530 --> 01:02:01,132 این یک جدول بزرگ کمی وجود دارد. 1292 01:02:01,132 --> 01:02:03,090 این به شما می دهد تابع به عنوان مثال از مدل. 1293 01:02:03,090 --> 01:02:05,473 من فقط رفتن را از طریق این دلیل من واقعا می خواهید داوین قادر به صحبت کنید. 1294 01:02:05,473 --> 01:02:07,140 اگر شما هر گونه سوال، لطفا در صورت تمایل. 1295 01:02:07,140 --> 01:02:07,931 من در اینجا پس از خواهید بود. 1296 01:02:07,931 --> 01:02:10,360 فقط می آیند با من صحبت کنی. 1297 01:02:10,360 --> 01:02:13,380 با آن، ما باید وضعیت HTTP. 1298 01:02:13,380 --> 01:02:16,270 و داوین رفتن به ضربه از طریق این در 15 دقیقه. 1299 01:02:16,270 --> 01:02:17,560 این است برای رفتن به بزرگ است. 1300 01:02:17,560 --> 01:02:18,893 >> داوین: OK. 1301 01:02:18,893 --> 01:02:20,312 آه، میکروفون خود را؟ 1302 01:02:20,312 --> 01:02:22,210 آره. 1303 01:02:22,210 --> 01:02:23,336 متأسفم. 1304 01:02:23,336 --> 01:02:24,460 آلیسون: راه برای آماده می شود. 1305 01:02:24,460 --> 01:02:25,335 داوین: نه، من آماده هستم. 1306 01:02:25,335 --> 01:02:25,860 من حاضرم. 1307 01:02:25,860 --> 01:02:28,790 بیا انجامش بدیم. 1308 01:02:28,790 --> 01:02:29,290 آن را آماده. 1309 01:02:29,290 --> 01:02:30,041 باشه. 1310 01:02:30,041 --> 01:02:30,540 متأسفم. 1311 01:02:30,540 --> 01:02:31,664 من قهوه در خودم ریخته. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 من نمی دانم اگر من بیشتر هستم ناراحت که من نگاه احمقانه، 1314 01:02:38,210 --> 01:02:40,600 یا که من قهوه ندارد دیگر. 1315 01:02:40,600 --> 01:02:44,480 به هر حال، فقط یک اعلام سریع در مورد ورق شما بچه ها داشته باشد. 1316 01:02:44,480 --> 01:02:47,994 پس این ورق شما بچه ها داشته است این مقام چه در مسابقه. 1317 01:02:47,994 --> 01:02:49,660 این مقام چه در مسابقه است. 1318 01:02:49,660 --> 01:02:52,520 همچنین، بر روی وب سایت، ما بگویید شما، OK، این در مسابقه باشد. 1319 01:02:52,520 --> 01:02:55,020 بنابراین در بازی ورق کمی شما، رسمی نیست. 1320 01:02:55,020 --> 01:02:56,690 و اشتباهات در آن وجود دارد. 1321 01:02:56,690 --> 01:03:01,490 بنابراین بهتر است به فقط کورکورانه از آن استفاده کنید. 1322 01:03:01,490 --> 01:03:04,390 بنابراین بله، این است که. 1323 01:03:04,390 --> 01:03:05,980 بنابراین اجازه دهید به این سریع واقعی دریافت کنید. 1324 01:03:05,980 --> 01:03:07,420 >> بنابراین وضعیت HTTP. 1325 01:03:07,420 --> 01:03:10,430 پس چه اتفاقی می افتد زمانی که وب سایت، همه چیز درست است. 1326 01:03:10,430 --> 01:03:11,144 OK همه چیز است. 1327 01:03:11,144 --> 01:03:13,310 همه چیز می آید و به شما راه که می خواهید آن را به. 1328 01:03:13,310 --> 01:03:15,370 شما دریافت می کنید 200 OK. 1329 01:03:15,370 --> 01:03:19,250 301، که در آن ما دیده می شود که 301 قبل از؟ 1330 01:03:19,250 --> 01:03:20,890 صبر کنید، چه خبر؟ 1331 01:03:20,890 --> 01:03:23,250 متأسفم. 1332 01:03:23,250 --> 01:03:24,980 ما سخنرانی من قلع در طول امنیتی را دیدم. 1333 01:03:24,980 --> 01:03:30,690 بنابراین در طول امنیتی، بنابراین اگر دیوید تایپ در HTTP و سپس سعی برای رفتن به cs50.net، 1334 01:03:30,690 --> 01:03:31,940 شما در حال رفتن به 301 نقل مکان کرد. 1335 01:03:31,940 --> 01:03:32,440 چرا؟ 1336 01:03:32,440 --> 01:03:35,570 از آنجا که آن را به تغییر مسیر شما به طور خودکار به HTTPS ما. 1337 01:03:35,570 --> 01:03:38,649 >> بنابراین 301 نقل مکان کرد، فقط آن را اساسا یک تغییر مسیر. 1338 01:03:38,649 --> 01:03:40,190 و شما می توانید در مورد آن را مانند این فکر می کنم. 1339 01:03:40,190 --> 01:03:43,790 هر یک از وضعیت های که با 2 شروع، کسانی مانند، OK، OK همه چیز است. 1340 01:03:43,790 --> 01:03:46,530 هر یک از وضعیت های که شروع با 3، کسانی هستند تغییر مسیر. 1341 01:03:46,530 --> 01:03:49,571 وضعیت هایی که به با 4 شروع، این بدان معناست برخی از نوع خطا مشتری وجود دارد. 1342 01:03:49,571 --> 01:03:52,440 وضعیت هایی که به با 5 شروع، که به نوعی از خطای سرور است. 1343 01:03:52,440 --> 01:03:54,680 بنابراین شما نوع شکستن وضعیت مانند آن. 1344 01:03:54,680 --> 01:03:59,120 بنابراین 304 تغییر نیست، بنابراین در خود server.c P-مجموعه، پس بیایید به شما می گویند 1345 01:03:59,120 --> 01:04:00,600 cat.html لود. 1346 01:04:00,600 --> 01:04:03,360 همه چیز به عقب می آید، شما 200S، OK، بزرگ است. 1347 01:04:03,360 --> 01:04:04,540 >> بیایید می گویند شما آن را تجدید. 1348 01:04:04,540 --> 01:04:07,310 خب، در داخل که cat.html، شما باید JPEG. 1349 01:04:07,310 --> 01:04:09,520 خب، که JPEG است رفتن به بارگذاری مجدد. 1350 01:04:09,520 --> 01:04:12,140 شما نمی خواهید برای ارسال دیگر GET درخواست به سرور، 1351 01:04:12,140 --> 01:04:13,980 و سپس تمام این اطلاعات را. 1352 01:04:13,980 --> 01:04:17,560 آن را به تنها be-- که تصویر است رفتن به بر روی دستگاه شما ذخیره سازی می شود. 1353 01:04:17,560 --> 01:04:19,540 و به طوری که تصویر خواهد بود 304. 1354 01:04:19,540 --> 01:04:20,720 بنابراین آن را اصلاح نشده است. 1355 01:04:20,720 --> 01:04:24,600 اگر شما پس از بستن، روشن کوکی ها، و پس از آن تازه 1356 01:04:24,600 --> 01:04:27,490 و سعی کنید برای بارگذاری آن صفحه دوباره، شما در حال رفتن برای دیدن 200S. 1357 01:04:27,490 --> 01:04:28,910 شما نمی دید که 304. 1358 01:04:28,910 --> 01:04:32,340 >> 400، درخواست بد، واقعی سریع، مانند اگر شما 1359 01:04:32,340 --> 01:04:34,880 رفتن به ارسال شی JSON به سرور 1360 01:04:34,880 --> 01:04:38,090 و جسم JSON شما نادرست بود، شما چیزی شبیه به آن را ببینید. 1361 01:04:38,090 --> 01:04:39,000 403، ممنوع است. 1362 01:04:39,000 --> 01:04:40,330 وقتی که شما یک ممنوع؟ 1363 01:04:40,330 --> 01:04:41,394 احتمالا احتمالا؟ 1364 01:04:41,394 --> 01:04:42,060 رسید سطح دسترسی. 1365 01:04:42,060 --> 01:04:42,950 داوین: سطح دسترسی، آره. 1366 01:04:42,950 --> 01:04:44,730 بنابراین شما تنظیم نشده مجوز های صحیح می باشد. 1367 01:04:44,730 --> 01:04:45,577 404 پیدا نشد. 1368 01:04:45,577 --> 01:04:46,410 این فقط وجود ندارد. 1369 01:04:46,410 --> 01:04:48,670 بنابراین اگر شما در URL اشتباه تایپ کنید. 1370 01:04:48,670 --> 01:04:53,500 500، خطای داخلی سرور، سرور احتمالا شد به درستی پیکربندی نشده است. 1371 01:04:53,500 --> 01:04:56,260 چیزی در پایان شما نیست، اما چیزی در سمت سرور. 1372 01:04:56,260 --> 01:04:57,240 و 503؟ 1373 01:04:57,240 --> 01:04:59,502 بسیاری از مردم را دیدم 503s در آخرین P-مجموعه. 1374 01:04:59,502 --> 01:05:00,460 وقتی که که اتفاق می افتد؟ 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 من زمزمه شنیده می شود. 1377 01:05:05,660 --> 01:05:07,767 >> رسید وقتی که گوگل تصمیم می گیرد که شما یک ربات هستید. 1378 01:05:07,767 --> 01:05:10,350 داوین: آره، وقتی که گوگل تصمیم می گیرد شما در یک ربات هستید، شما 503s. 1379 01:05:10,350 --> 01:05:11,560 به طوری که بیش از حد است. 1380 01:05:11,560 --> 01:05:14,620 اگر شما از سرور درخواست کرده ام بیش از حد، آن را معمولا به طور موقت. 1381 01:05:14,620 --> 01:05:15,560 و بسیاری از شما آن را متوجه. 1382 01:05:15,560 --> 01:05:16,185 بنابراین شما دیدم 503. 1383 01:05:16,185 --> 01:05:19,282 شما ممکن است کمی گرفته استراحت، سپس 503s رفت، 1384 01:05:19,282 --> 01:05:20,490 و همه چیز تمام سمت راست بود. 1385 01:05:20,490 --> 01:05:26,640 >> گیب: رئال سریع، هنگامی که آیا شما بچه ها دریافت 500 در احتمالا این مشکل تاریخ و زمان آخرین مجموعه؟ 1386 01:05:26,640 --> 01:05:27,954 بله؟ 1387 01:05:27,954 --> 01:05:30,906 >> رسید معمولا اگر سرور دارای یک فایل نابجا 1388 01:05:30,906 --> 01:05:34,650 یا [نامفهوم] خود ماشین [نامفهوم]. 1389 01:05:34,650 --> 01:05:38,870 >> گیب: پس از آن ممکن است یک پیکربندی موضوع در پی اچ پی خود را بر روی سرور خود. 1390 01:05:38,870 --> 01:05:42,250 اما ممکن است تنها چیزی مانند یک نقطه و ویرگول که خود را فراموش. 1391 01:05:42,250 --> 01:05:44,130 اگر شما در حال تایپ کردن پی اچ پی، برخی نحو نادرست 1392 01:05:44,130 --> 01:05:46,000 ممکن است شما چیزی شبیه به آن را دریافت کنید. 1393 01:05:46,000 --> 01:05:46,960 باشه؟ 1394 01:05:46,960 --> 01:05:48,610 >> داوین: دانلود. 1395 01:05:48,610 --> 01:05:51,180 آیا می خواهید به من برای انجام درست تا AJAX؟ 1396 01:05:51,180 --> 01:05:52,950 >> گیب: [نامفهوم]. 1397 01:05:52,950 --> 01:05:53,450 داوین: OK. 1398 01:05:53,450 --> 01:05:54,230 پس چه DOM است؟ 1399 01:05:54,230 --> 01:05:55,290 چه DOM برای ایستادن؟ 1400 01:05:55,290 --> 01:05:56,990 >> رسید مدل شی سند. 1401 01:05:56,990 --> 01:05:57,490 داوین: خوب. 1402 01:05:57,490 --> 01:06:00,775 و چرا ما آن را دوست دارم؟ 1403 01:06:00,775 --> 01:06:02,670 عالی. 1404 01:06:02,670 --> 01:06:06,651 راست، پس از آن فقط به ما اجازه می دهد تا به دسترسی HTML، دسترسی به صفحه ما بسیار به سرعت. 1405 01:06:06,651 --> 01:06:07,150 چرا؟ 1406 01:06:07,150 --> 01:06:09,980 از آنجا که ما در حال درمان ما صفحه، درمان تگ های HTML ما، 1407 01:06:09,980 --> 01:06:11,730 درمان همه چیز اگر آنها به عنوان اشیاء است. 1408 01:06:11,730 --> 01:06:13,710 اگر ما آنها را درمان مانند آنها اشیاء، پس چه می توانیم بکنیم؟ 1409 01:06:13,710 --> 01:06:15,210 خب، ما می توانیم توابع بر روی آنها تماس بگیرید. 1410 01:06:15,210 --> 01:06:16,460 و این مهم به همین دلیل است؟ 1411 01:06:16,460 --> 01:06:19,200 خب، چرا که ما قصد استفاده از جاوا اسکریپت برای به روز رسانی HTML ما، 1412 01:06:19,200 --> 01:06:20,500 به روز رسانی این اشیاء. 1413 01:06:20,500 --> 01:06:23,869 بنابراین اگر ما آنها را درمان مانند اشیاء، ما پس از آن می تواند توابع فراخوانی بر روی آنها. 1414 01:06:23,869 --> 01:06:26,660 من قصد دارم به این کمی دریافت زمانی که به من به جاوا اسکریپت بروید، 1415 01:06:26,660 --> 01:06:30,510 اما شما تمام مانند دیده می شود document.getElementByID. 1416 01:06:30,510 --> 01:06:32,870 بنابراین سند خود است عنصر، دریافت عنصر توسط ID، 1417 01:06:32,870 --> 01:06:35,087 بنابراین شما در حال رفتن به نگاه برای برخی از ID در یک تگ HTML. 1418 01:06:35,087 --> 01:06:36,920 و پس از آن، شما می توانید انجام دهید چیز دیگری به آن. 1419 01:06:36,920 --> 01:06:40,089 به عنوان مثال، مانند document.body، سپس شما می توانید کودک اضافه. 1420 01:06:40,089 --> 01:06:41,630 بنابراین شما در حال رفتن به پیدا کردن سند. 1421 01:06:41,630 --> 01:06:42,340 شما از این سند است. 1422 01:06:42,340 --> 01:06:43,629 شما در حال رفتن به پیدا کردن بدن است. 1423 01:06:43,629 --> 01:06:44,420 شما بدن یافت می شود. 1424 01:06:44,420 --> 01:06:46,545 و پس از آن، شما در حال رفتن به تماس برخی از عملکرد بر روی آن. 1425 01:06:46,545 --> 01:06:50,312 بنابراین کودک اضافه، و شما می توانید اضافه برخی از HTML بر روی پایان در داخل بدن شما. 1426 01:06:50,312 --> 01:06:52,520 بنابراین اساسا، شما فقط هستید درمان آن را مانند یک شی. 1427 01:06:52,520 --> 01:06:54,515 شما درمان HTML برچسب ها مانند یک شی. 1428 01:06:54,515 --> 01:06:57,071 و آن را می سازد آن را بسیار آسان و سریع از طریق آنها بروید. 1429 01:06:57,071 --> 01:06:59,070 اما آن را نیز به شما اجازه می دهد تا توابع را فراخوانی بر روی آنها 1430 01:06:59,070 --> 01:07:04,410 بنابراین شما می توانید دستکاری و تغییر عناصر. 1431 01:07:04,410 --> 01:07:10,162 >> گیب: با توجه به این، چرا جاوا اسکریپت به گونه ای است زبان به خوبی با HTML تعامل؟ 1432 01:07:10,162 --> 01:07:12,870 شانس هستند، زمانی که مردم انتخاب شد زبان برای مرورگر، 1433 01:07:12,870 --> 01:07:14,990 برای سمت سرویس گیرنده، جاوا اسکریپت واقعا خوب است، 1434 01:07:14,990 --> 01:07:16,765 واقعا در دست زدن به اشیاء خوب است. 1435 01:07:16,765 --> 01:07:20,620 و اشیاء نوع دوست اشیاء که در HTML ظاهر می شود، 1436 01:07:20,620 --> 01:07:23,940 پس از آن بسیار آسان برای جاوا اسکریپت به انجام این نوع از دست زدن به. 1437 01:07:23,940 --> 01:07:24,440 داوین: خوب. 1438 01:07:24,440 --> 01:07:25,670 بنابراین در اینجا فقط برای مثال است. 1439 01:07:25,670 --> 01:07:29,020 بنابراین من در مسابقه سال گذشته فکر می کنم، و یا شاید دو سال پیش، ما 1440 01:07:29,020 --> 01:07:30,840 از شما خواسته برای ایجاد یک درخت. 1441 01:07:30,840 --> 01:07:32,660 پس این دقیقا همان چیزی است که شما می خواهم را انجام دهد. 1442 01:07:32,660 --> 01:07:34,255 بنابراین شما شروع با سند. 1443 01:07:34,255 --> 01:07:36,130 و سپس شما اساسا فقط در برچسب ها نگاه کنید. 1444 01:07:36,130 --> 01:07:38,100 بنابراین اگر شما نگاه کنید، ما با یک تگ HTML شروع می شود. 1445 01:07:38,100 --> 01:07:41,660 و پس از آن، شما سرنخ در مورد چگونگی گرفتن این بر اساس دندانه انجام دهد. 1446 01:07:41,660 --> 01:07:43,870 بنابراین نوع سر شاخه کردن. 1447 01:07:43,870 --> 01:07:46,242 در داخل سر، ما برچسب دیگری برای عنوان. 1448 01:07:46,242 --> 01:07:47,450 بنابراین پس از آن، ما یک تگ عنوان. 1449 01:07:47,450 --> 01:07:49,760 و در داخل آن، ما برخی از رشته. 1450 01:07:49,760 --> 01:07:52,210 و به این ترتیب ما را نمایندگی یک رشته در یک دایره. 1451 01:07:52,210 --> 01:07:54,010 و تمام برچسب ها در مربع می باشد. 1452 01:07:54,010 --> 01:07:56,270 >> و اگر شما نگاه کنید، اگر ما از این فکر می کنم به عنوان یک درخت، 1453 01:07:56,270 --> 01:07:58,730 و اجازه دهید بگویم که HTML غیر فعال است پدر و مادر، و سپس سر و بدن 1454 01:07:58,730 --> 01:07:59,772 در حال رفتن به خواهر و برادر. 1455 01:07:59,772 --> 01:08:01,813 آنها هر دو رفتن به کودکان از آن پدر و مادر. 1456 01:08:01,813 --> 01:08:03,620 بنابراین به دلیل آنها هر دو خواهر و برادر، آنها 1457 01:08:03,620 --> 01:08:06,590 رفتن به نوع بعدی به هر یک از دیگر در مدل درخت ما. 1458 01:08:06,590 --> 01:08:08,590 و پس از آن، شما اساسا همین کار را دقیق. 1459 01:08:08,590 --> 01:08:13,512 بنابراین دشوار نیست، اما ما خواسته پرسش مانند این قبل از در مسابقه. 1460 01:08:13,512 --> 01:08:15,220 گیب: آیا کسی سوالات تا کنون؟ 1461 01:08:15,220 --> 01:08:16,357 آیا این خوب است؟ 1462 01:08:16,357 --> 01:08:16,856 داوین: دانلود. 1463 01:08:16,856 --> 01:08:19,630 1464 01:08:19,630 --> 01:08:21,600 جاوا اسکریپت، OK، چیزهای خوب است. 1465 01:08:21,600 --> 01:08:24,069 بنابراین جاوا اسکریپت، چه جاوا اسکریپت است؟ 1466 01:08:24,069 --> 01:08:28,370 خوب، جاوا اسکریپت is-- آن پیچیده است، اما این 1467 01:08:28,370 --> 01:08:30,727 برخی از برجسته که شما باید در ذهن داشته باشیم. 1468 01:08:30,727 --> 01:08:31,810 اول، آن را آزادانه تایپ. 1469 01:08:31,810 --> 01:08:33,529 به چه معنا است؟ 1470 01:08:33,529 --> 01:08:35,596 بنابراین PHP was-- آره، چه خبر؟ 1471 01:08:35,596 --> 01:08:39,854 >> رسید شما به صراحت ندارد دولت چه نوع متغیر است. 1472 01:08:39,854 --> 01:08:40,479 داوین: کامل. 1473 01:08:40,479 --> 01:08:43,270 بنابراین او گفت شما لازم نیست که به صراحت نوع متغیر حالت. 1474 01:08:43,270 --> 01:08:44,160 این دقیقا همان سمت راست. 1475 01:08:44,160 --> 01:08:49,700 بنابراین در C، اگر من تا به حال اعضای هیات من برابر با 50، پس از آن در پی اچ پی، آن را درست مثل این، $ من، 1476 01:08:49,700 --> 01:08:50,550 برابر 50. 1477 01:08:50,550 --> 01:08:54,319 سپس در جاوا اسکریپت، چه تماس می شود؟ 1478 01:08:54,319 --> 01:08:55,260 ور، درست است؟ 1479 01:08:55,260 --> 01:08:56,566 این می شود مانند ور من برابر با 50. 1480 01:08:56,566 --> 01:08:58,649 اما شما لازم نیست که به مانند، OK، این یک int است. 1481 01:08:58,649 --> 01:09:00,350 خوب، این رشته است. 1482 01:09:00,350 --> 01:09:01,731 بدون نیاز به انجام این کار. 1483 01:09:01,731 --> 01:09:02,939 این یک زبان تفسیر شده است. 1484 01:09:02,939 --> 01:09:04,904 پس چه معنا است؟ 1485 01:09:04,904 --> 01:09:06,340 >> رسید وارد نشده است. 1486 01:09:06,340 --> 01:09:10,470 >> داوین: چه وارد این معنی نیست؟ 1487 01:09:10,470 --> 01:09:11,392 آره؟ 1488 01:09:11,392 --> 01:09:15,336 >> رسید شما لازم نیست به بازسازی کد 1489 01:09:15,336 --> 01:09:18,294 می توانید آن را برای آماده کامپیوتر آن را اجرا کنید. 1490 01:09:18,294 --> 01:09:23,144 این فقط در زمان گرفته شده اعدام و کامپیوتر [نامفهوم]. 1491 01:09:23,144 --> 01:09:25,560 داوین: آره، بنابراین آن را به عبور از طریق مترجم. 1492 01:09:25,560 --> 01:09:26,750 اما شما دقیقا حق با شماست. 1493 01:09:26,750 --> 01:09:28,319 بنابراین شما هرگز به آن کامپایل، درست است؟ 1494 01:09:28,319 --> 01:09:30,399 هنگامی که شما انجام می دهند خود را پی اچ پی و کد جاوا اسکریپت، 1495 01:09:30,399 --> 01:09:31,365 شما هرگز کامپایل نامیده می شود. 1496 01:09:31,365 --> 01:09:33,779 شما هرگز چیزی شبیه به نام یا چیزی شبیه به آن. 1497 01:09:33,779 --> 01:09:34,800 دلیلش این است که آن را تفسیر می شود. 1498 01:09:34,800 --> 01:09:37,319 پس هر زمان آن را از طریق مرورگر می رود، آن را از طریق یک مترجم می رود. 1499 01:09:37,319 --> 01:09:40,370 و که رفتن به آن تفسیر فقط در زمان واقعی حق دور برای شما. 1500 01:09:40,370 --> 01:09:43,770 پس چه برخی از مثبت و منفی هستند به داشتن یک زبان تفسیر 1501 01:09:43,770 --> 01:09:45,258 و داشتن یک زبان وارد؟ 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 بنابراین compiling-- آره، چه خبر؟ 1504 01:09:50,540 --> 01:09:52,444 >> رسید تفسیر کندتر است. 1505 01:09:52,444 --> 01:09:53,319 داوین: در چه حس؟ 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> رسید: پس از شما کامپایل، شما لازم نیست 1508 01:09:59,091 --> 01:10:04,400 برای انجام هر گونه مراحل اضافی برای اجرای آن، در حالی که این [نامفهوم]. 1509 01:10:04,400 --> 01:10:05,570 >> داوین: راست، کامل است. 1510 01:10:05,570 --> 01:10:08,386 پس چه می گفت اساسا که تدوین، 1511 01:10:08,386 --> 01:10:10,760 زمانی که شما کامپایل، شما یک بسیاری از هزینه های در صف مقابل، درست است؟ 1512 01:10:10,760 --> 01:10:11,760 شما در حال رفتن به آن کامپایل. 1513 01:10:11,760 --> 01:10:13,750 اما پس از آن را به شما کامپایل، کامپایلر رفتن به بهینه سازی آن. 1514 01:10:13,750 --> 01:10:14,840 این خبر به سرعت. 1515 01:10:14,840 --> 01:10:16,170 این رفتن به اساسا به عنوان سریع به عنوان آن می تواند باشد. 1516 01:10:16,170 --> 01:10:18,830 با تفسیر، شما هرگز که هزینه در صف مقابل. 1517 01:10:18,830 --> 01:10:22,260 در عوض، آن را به کمی آهسته تر هر زمان تنها شما آن را تفسیر. 1518 01:10:22,260 --> 01:10:24,940 و شما به به تفسیر هر زمان تنها آن. 1519 01:10:24,940 --> 01:10:27,114 بنابراین به جای داشتن این یک زمان هزینه، در حال حاضر شما 1520 01:10:27,114 --> 01:10:29,530 رفتن به باید آن را تفسیر هر بار که صفحه ارائه. 1521 01:10:29,530 --> 01:10:31,890 >> بنابراین مترجم خوب چون شما لازم نیست که به آن کامپایل، 1522 01:10:31,890 --> 01:10:33,980 اما آنها در که هر بد زمان لود صفحه، آن را 1523 01:10:33,980 --> 01:10:35,771 رفتن به تفسیر این جاوا اسکریپت. 1524 01:10:35,771 --> 01:10:40,520 و آن را به اجرا کمی کندتر از اگر شما به آن کامپایل. 1525 01:10:40,520 --> 01:10:43,044 اجازه می دهد تا شما را به communicate-- آه، صبر کنید. 1526 01:10:43,044 --> 01:10:44,960 مورد استفاده برای دستکاری محتوا و ظاهر. 1527 01:10:44,960 --> 01:10:46,043 ما فقط در مورد که صحبت کردیم. 1528 01:10:46,043 --> 01:10:47,250 آن استفاده می کند DOM. 1529 01:10:47,250 --> 01:10:49,930 AJAX، ما را به دریافت AJAX در کمی. 1530 01:10:49,930 --> 01:10:51,520 و پس از آن، آن سمت سرویس گیرنده است. 1531 01:10:51,520 --> 01:10:53,110 بنابراین PHP سمت سرور است. 1532 01:10:53,110 --> 01:10:54,360 جاوا اسکریپت سمت کلاینت است. 1533 01:10:54,360 --> 01:10:57,780 چه به آن مثبت است؟ 1534 01:10:57,780 --> 01:10:58,280 این آن را می گوید. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 این سریع تر، درست است؟ 1537 01:11:02,780 --> 01:11:05,282 از آنجا که شما لازم نیست to-- آن سریع تر است. 1538 01:11:05,282 --> 01:11:07,490 شما لازم نیست برای برقراری ارتباط با برخی از دستگاه های دیگر. 1539 01:11:07,490 --> 01:11:08,790 اگر شما فقط در حال شما مشتری، شما هرگز هستید 1540 01:11:08,790 --> 01:11:11,280 رفتن به رفتن و ببینید چه چیزی بر روی سرور 1541 01:11:11,280 --> 01:11:13,150 و پس از آن گزارش یا چیزی شبیه به آن. 1542 01:11:13,150 --> 01:11:15,410 بنابراین سمت سرویس گیرنده تمایل به یک کمی سریعتر. 1543 01:11:15,410 --> 01:11:17,910 >> گیب: بله، اما این به این معنا نیست PHP است 1544 01:11:17,910 --> 01:11:20,440 سریعتر از جاوا اسکریپت و یا چیز مشابه آن. 1545 01:11:20,440 --> 01:11:23,270 آنها نوع اجرا در همان سرعت زیرا آنها هر دو هستیم 1546 01:11:23,270 --> 01:11:24,490 زبان تفسیر شده است. 1547 01:11:24,490 --> 01:11:26,680 چیزی که آهسته در اینجا به درخواست است. 1548 01:11:26,680 --> 01:11:28,870 بنابراین شما در واقع رفتن تمام راه را به برزیل 1549 01:11:28,870 --> 01:11:31,460 برای به دست آوردن برخی از اطلاعات که زندگی می کند وجود دارد. 1550 01:11:31,460 --> 01:11:34,590 اما پی اچ پی و جاوا اسکریپت، آنها نوع در همان سرعت اجرا شود. 1551 01:11:34,590 --> 01:11:37,930 این نیست که یکی است سریع تر از دیگر. 1552 01:11:37,930 --> 01:11:40,600 این، نیز، سوال ترفند در اینجا. 1553 01:11:40,600 --> 01:11:47,338 بنابراین جاوا اسکریپت هرگز می شود کد ماشین، درست یا غلط؟ 1554 01:11:47,338 --> 01:11:48,590 >> رسید کاذب. 1555 01:11:48,590 --> 01:11:49,090 گیب: غلط. 1556 01:11:49,090 --> 01:11:51,298 این برای تبدیل شدن به ماشین کد زیرا کد ماشین است 1557 01:11:51,298 --> 01:11:53,210 تنها چیزی را که ماشین درک. 1558 01:11:53,210 --> 01:11:55,800 حتی اگر آن را وارد نیست، هنوز هم کد ماشین تبدیل می شود 1559 01:11:55,800 --> 01:11:59,120 به این دلیل که مترجم است فقط برنامه ای است که می رود خط به خط 1560 01:11:59,120 --> 01:12:02,170 و تبدیل آن خط به چیزی که کامپیوتر را درک. 1561 01:12:02,170 --> 01:12:02,825 باشه؟ 1562 01:12:02,825 --> 01:12:03,325 سرد. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> داوین: در اینجا فقط یک بسیار اساسی سلام برنامه جاوا اسکریپت جهان است. 1565 01:12:12,890 --> 01:12:15,590 بنابراین من نمی دانم if-- شما این را دیده ام. 1566 01:12:15,590 --> 01:12:17,630 اما شما فقط HTML را در اینجا. 1567 01:12:17,630 --> 01:12:21,020 و به جای در واقع قرار دادن جاوا اسکریپت در تگ script، 1568 01:12:21,020 --> 01:12:22,810 بنابراین شما به طور معمول می خواهم آن را در سر قرار داده است. 1569 01:12:22,810 --> 01:12:24,030 شما باید تگ اسکریپت. 1570 01:12:24,030 --> 01:12:24,870 شما آن را رها وجود دارد. 1571 01:12:24,870 --> 01:12:28,350 همه ما در اینجا انجام داده ام است ما in-- مرتبط ام بنابراین ما در یک فایل جاوا اسکریپت مرتبط ام 1572 01:12:28,350 --> 01:12:29,137 مثل این. 1573 01:12:29,137 --> 01:12:30,470 و شما تمام انجام داده ام این، درست است؟ 1574 01:12:30,470 --> 01:12:34,740 بنابراین، هنگامی که شما با استفاده از jQuery و underscore.js در آخرین P-مجموعه، 1575 01:12:34,740 --> 01:12:38,700 شما تن از کد در ندارد برچسب ها اسکریپت خود را، تا در سر خود را. 1576 01:12:38,700 --> 01:12:41,415 شما می توانید به جای انجام این کار، اما شما فقط آن ارتباط در. 1577 01:12:41,415 --> 01:12:43,540 و از تو آن ارتباط در درست مثل شما با CSS انجام دهد. 1578 01:12:43,540 --> 01:12:50,186 پس از آن فقط باعث می شود آن را آسان تر به عنوان خوانده شده بنابراین کد خود را مانند 1000 خطوط طولانی نیست 1579 01:12:50,186 --> 01:12:52,310 با تن از توابع است که شما ممکن است با استفاده از شود. 1580 01:12:52,310 --> 01:12:53,518 >> در عوض، شما فقط آن را در پیوند. 1581 01:12:53,518 --> 01:12:55,050 این آن compartmentalizes. 1582 01:12:55,050 --> 01:13:00,110 آن را مانند نوشتن برخی از فایل هدر است، و پس از آن از جمله این که فایل هدر در C. 1583 01:13:00,110 --> 01:13:01,620 فکر می کنم از آن درست مثل این. 1584 01:13:01,620 --> 01:13:02,680 پس چه انجام این کار؟ 1585 01:13:02,680 --> 01:13:04,560 خوب، این است که برای اجرای. 1586 01:13:04,560 --> 01:13:05,410 این خبر را آگاه سازد. 1587 01:13:05,410 --> 01:13:08,020 بنابراین شما در حال رفتن به کمی پاپ تا به نام جهان خوش آمدید. 1588 01:13:08,020 --> 01:13:11,420 سوال سریع، چک سلامت عقل فقط، بنابراین شما در اینجا ببینید در بدن، 1589 01:13:11,420 --> 01:13:13,160 می گویند بدن، HTML در اینجا. 1590 01:13:13,160 --> 01:13:14,080 چه می آید برای اولین بار؟ 1591 01:13:14,080 --> 01:13:16,864 آیا من بدن، HTML را ببینید در اینجا، و یا با هوشیاری برای اولین بار از دیدن من؟ 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> رسید هشدار. 1594 01:13:20,820 --> 01:13:21,470 >> داوین: راست. 1595 01:13:21,470 --> 01:13:22,110 او می گوید هشدار. 1596 01:13:22,110 --> 01:13:22,610 چرا؟ 1597 01:13:22,610 --> 01:13:24,470 >> رسید از آنجا که شما رفتن از بالا به پایین. 1598 01:13:24,470 --> 01:13:25,600 >> داوین: بله. 1599 01:13:25,600 --> 01:13:26,100 کامل است. 1600 01:13:26,100 --> 01:13:29,207 بنابراین او می گوید، شما را از بالا به رفتن پایین، که کاملا درست است. 1601 01:13:29,207 --> 01:13:30,790 شما قصد رفتن از بالا به پایین. 1602 01:13:30,790 --> 01:13:34,790 و در جاوا اسکریپت، جی کوئری، شما یک تابع که مانند onload، و یا آماده شدن است، 1603 01:13:34,790 --> 01:13:38,030 و که می گوید، خوب، صبر کنید تا همه از این HTML لود شده است. 1604 01:13:38,030 --> 01:13:39,580 و پس از آن، JavaScript در مرورگر تماس بگیرید. 1605 01:13:39,580 --> 01:13:42,190 از آنجا که ما که در اینجا، نه اولین چیزی که اتفاق خواهد افتاد 1606 01:13:42,190 --> 01:13:43,920 است این رفتن از بالا به پایین. 1607 01:13:43,920 --> 01:13:46,310 این رفتن به ضربه که JS تماس بگیرید، آن را به هشدار. 1608 01:13:46,310 --> 01:13:49,510 بعد از آن شما روی OK کلیک کنید، که هشدار از بین می رود. 1609 01:13:49,510 --> 01:13:53,600 سپس آن را به نشان می دهد شما HTML بدن اینجا. 1610 01:13:53,600 --> 01:13:54,590 زیبا. 1611 01:13:54,590 --> 01:14:00,880 >> خوب، پس فقط واقعی سریع، نوشتن در جاوا اسکریپت فوق العاده سریع است. 1612 01:14:00,880 --> 01:14:02,710 به منظور اعلام یک متغیر، نام متغیر. 1613 01:14:02,710 --> 01:14:07,070 بنابراین در C، شما باید اعضای هیات من، شما اعلام چه نوع از نوع آن است. 1614 01:14:07,070 --> 01:14:08,040 پی اچ پی، $. 1615 01:14:08,040 --> 01:14:08,755 جاوا اسکریپت، ور. 1616 01:14:08,755 --> 01:14:09,630 ما در مورد این صحبت کردیم. 1617 01:14:09,630 --> 01:14:11,020 همه حق است، اجازه دهید بروید. 1618 01:14:11,020 --> 01:14:12,510 >> حلقه، همین. 1619 01:14:12,510 --> 01:14:14,230 همان چیزی که. 1620 01:14:14,230 --> 01:14:18,165 اعلامیه تابع، بنابراین درست مثل شما در C. دیده ام 1621 01:14:18,165 --> 01:14:21,290 تنها چیزی که متفاوت است بنابراین، هنگامی که شما را به زبان های برنامه نویسی دیگر، 1622 01:14:21,290 --> 01:14:24,780 مانند وقتی که شما را 51 ترم بعدی و شما در حال انجام با OCAML، 1623 01:14:24,780 --> 01:14:26,690 شما می توانید با توابع ناشناس رسیدگی کند. 1624 01:14:26,690 --> 01:14:28,240 به طوری که این دقیقا همان چیزی است که شما را در اینجا. 1625 01:14:28,240 --> 01:14:31,560 بنابراین شما می خواهید به در مجموع قرار داده، نوعی از ارزش مجموع. 1626 01:14:31,560 --> 01:14:33,870 اما شما فقط ممکن است انجام آن یک زمان. 1627 01:14:33,870 --> 01:14:37,310 بنابراین شما نمی خواهید به آن تماس بگیرید تابع مجموع، آن را یک اعلامیه تابع را. 1628 01:14:37,310 --> 01:14:39,830 در عوض، شما فقط از آن استفاده کنید به عنوان یک تابع بی نام. 1629 01:14:39,830 --> 01:14:42,469 و شما این زیادی را دیده ام. 1630 01:14:42,469 --> 01:14:44,510 شما یک نمونه از دیدن این در چند اسلاید. 1631 01:14:44,510 --> 01:14:45,597 آره، خواهیم دید. 1632 01:14:45,597 --> 01:14:46,430 گیب: سوال خوب. 1633 01:14:46,430 --> 01:14:50,660 هنگامی که ممکن است شما مایل به استفاده از یک تابع بی نام اینجا؟ 1634 01:14:50,660 --> 01:14:54,111 در واقع، زمانی که شما می خواهید چیزی، مانند یک رویداد، اتفاق می افتد. 1635 01:14:54,111 --> 01:14:55,860 بنابراین، هنگامی که ماوس است کلیک، به عنوان مثال، 1636 01:14:55,860 --> 01:14:57,790 شما می خواهید برخی از تابع به نام. 1637 01:14:57,790 --> 01:15:00,570 بنابراین شما به این رویداد عبور کنترل، شما را به این رویداد عبور، 1638 01:15:00,570 --> 01:15:02,870 نوع، تابع که شما می خواهید به آن می شود. 1639 01:15:02,870 --> 01:15:04,710 و آنچه را که شما عبور مانند است، در پایان 1640 01:15:04,710 --> 01:15:08,757 از روز، فقط یک اشاره گر به که آموزش، به تابع. 1641 01:15:08,757 --> 01:15:11,090 بنابراین آن را دوست ندارم شما در حال عبور تمام کد، فقط به عنوان 1642 01:15:11,090 --> 01:15:12,173 یک اشاره گر به تابع. 1643 01:15:12,173 --> 01:15:17,871 و پس از آن، وقتی کسی کلیک ماوس، پس از آن که تابع به نام می شود. 1644 01:15:17,871 --> 01:15:22,340 >> داوین: آرایه، بنابراین شما یک اعلامیه آرایه. 1645 01:15:22,340 --> 01:15:23,990 سپس، یک آرایه برای قرار دادن همه چیز در. 1646 01:15:23,990 --> 01:15:25,769 رئال سریع، چه خواهد شد این نسخه قابل چاپ کردن؟ 1647 01:15:25,769 --> 01:15:27,060 عنصر سوم چه خواهد بود؟ 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> رسید "JS". 1650 01:15:32,450 --> 01:15:33,940 >> داوین: حق، آن خواهد بود "JS." 1651 01:15:33,940 --> 01:15:35,760 صبر کنید، به عقب برگردید. 1652 01:15:35,760 --> 01:15:37,100 طول چیست؟ 1653 01:15:37,100 --> 01:15:38,117 >> رسید سه. 1654 01:15:38,117 --> 01:15:38,950 داوین: سه، درست است؟ 1655 01:15:38,950 --> 01:15:40,210 دقیقا همان چیزی است که شما فکر می کنم. 1656 01:15:40,210 --> 01:15:42,072 OK، در حال حاضر بروید. 1657 01:15:42,072 --> 01:15:43,530 آرایه، شما می توانید همه چیز را به آنها اضافه کنید. 1658 01:15:43,530 --> 01:15:45,395 بنابراین شما می توانید فراتر بروید مرزهای اولیه خود را. 1659 01:15:45,395 --> 01:15:46,740 تنها چیزی که در ذهن نگه دارید. 1660 01:15:46,740 --> 01:15:49,760 پی اچ پی، جاوا اسکریپت، آنها کمی هستید از نظر چیز کمی بخشنده تر 1661 01:15:49,760 --> 01:15:50,570 که می خواهم. 1662 01:15:50,570 --> 01:15:54,260 اشیاء، بسیار شبیه ساختمانها در C، بسیار 1663 01:15:54,260 --> 01:15:56,590 مانند آرایه های انجمنی در پی اچ پی. 1664 01:15:56,590 --> 01:15:58,720 شما تمام تجربه با این حال. 1665 01:15:58,720 --> 01:16:01,880 بنابراین JSON، زمانی که شما عبور JSON عقب و جلو در-P مجموعه هشت، 1666 01:16:01,880 --> 01:16:03,260 که جسم خود را. 1667 01:16:03,260 --> 01:16:06,290 >> بنابراین بله، به عنوان مثال، واقعی به عنوان مثال سریع است. 1668 01:16:06,290 --> 01:16:07,880 در اینجا یک شی است. 1669 01:16:07,880 --> 01:16:12,700 راه شما این مرجع شی، بنابراین فقط واقعی سریع، 1670 01:16:12,700 --> 01:16:18,630 اجازه دهید بگویم من می خواستم برای پیدا کردن از، OK، چه دوره است؟ 1671 01:16:18,630 --> 01:16:20,681 و به این ترتیب نام شی در اینجا CS50 است. 1672 01:16:20,681 --> 01:16:23,180 و پس از آن اگر من تا به حال انجمنی آرایه، چگونه می توانم انجام دهم که؟ 1673 01:16:23,180 --> 01:16:24,580 من با استفاده از یک کلید، درست است؟ 1674 01:16:24,580 --> 01:16:26,030 بنابراین من به نام آرایه. 1675 01:16:26,030 --> 01:16:30,160 من براکت، به نقل از، کلید، نقل قول پایان، پایان براکت، 1676 01:16:30,160 --> 01:16:33,610 و است که مرجع است که عنصر در داخل آرایه انجمنی من. 1677 01:16:33,610 --> 01:16:37,646 چگونه می توانم اشاره البته در داخل جسم من؟ 1678 01:16:37,646 --> 01:16:39,170 کسی می داند؟ 1679 01:16:39,170 --> 01:16:40,622 >> رسید [نامفهوم]. 1680 01:16:40,622 --> 01:16:41,784 >> داوین: چه خبر؟ 1681 01:16:41,784 --> 01:16:42,700 رسید CS50.course. 1682 01:16:42,700 --> 01:16:43,510 داوین: راست، آره. 1683 01:16:43,510 --> 01:16:45,320 بنابراین CS50.course. 1684 01:16:45,320 --> 01:16:48,770 بنابراین راه شما چیزهایی مرجع در داخل یک شی JSON است با یک نقطه. 1685 01:16:48,770 --> 01:16:53,114 >> رسید شما همچنین می توانید نحو آرایه استفاده کنید. 1686 01:16:53,114 --> 01:16:54,050 >> داوین: OK، خوب است. 1687 01:16:54,050 --> 01:16:57,544 >> گیب: شما همچنین می توانید براکت CS50 استفاده، رشته، مانند علامت نقل قول. 1688 01:16:57,544 --> 01:16:59,210 رسید من فکر می کنم آن را یکسان به PHP. 1689 01:16:59,210 --> 01:17:00,293 گیب: این همان چیزی است. 1690 01:17:00,293 --> 01:17:02,487 داوین: زیبا! 1691 01:17:02,487 --> 01:17:03,945 اما تو این مکان های دیگر را ببینید. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 آره، بنابراین ادامه دهم. 1694 01:17:10,480 --> 01:17:13,330 این چیزی است که من فقط گفت. 1695 01:17:13,330 --> 01:17:17,840 بنابراین به یک مثال جاوا اسکریپت جی کوئری. 1696 01:17:17,840 --> 01:17:19,440 بنابراین این DOM من است، درست است؟ 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 رئال سریع، بنابراین من سر، سلام جهان، بدن. 1699 01:17:25,410 --> 01:17:26,160 من یک دکمه داشته باشد. 1700 01:17:26,160 --> 01:17:27,870 این گزارش می گوید "فشار من،" بنابراین من می خواهم به آن فشار. 1701 01:17:27,870 --> 01:17:29,745 و من می خواهم برای انجام کاری هنگامی که آن را کلیک. 1702 01:17:29,745 --> 01:17:31,220 راست، در کنار. 1703 01:17:31,220 --> 01:17:34,630 >> درست است، بنابراین این جاوا اسکریپت من است. 1704 01:17:34,630 --> 01:17:37,790 بنابراین jQuery است فقط راحت تر راه برای ارسال به جاوا اسکریپت. 1705 01:17:37,790 --> 01:17:40,920 بنابراین این، و آنچه من قصد دارم به نشان می دهد شما بعد، در حال رفتن به جی کوئری، 1706 01:17:40,920 --> 01:17:41,930 یکسان هستند. 1707 01:17:41,930 --> 01:17:43,990 به طوری که آنها خواهد همان چیزی را انجام دهید. 1708 01:17:43,990 --> 01:17:45,974 فقط جی کوئری گرایش به کمی آسان تر است. 1709 01:17:45,974 --> 01:17:47,140 افراد تمایل دارند که آن را دوست دارم بیشتر. 1710 01:17:47,140 --> 01:17:48,390 از آن است که بسیاری از قابلیت های. 1711 01:17:48,390 --> 01:17:49,830 بنابراین مردم تمایل به استفاده از جی کوئری. 1712 01:17:49,830 --> 01:17:53,270 همه شما از jQuery در آخرین P-مجموعه استفاده می شود. 1713 01:17:53,270 --> 01:17:54,270 پس چه انجام این کار خواهد شد؟ 1714 01:17:54,270 --> 01:17:56,580 چه خواهد شد این JavaScript-- تا این ساده است فقط جاوا اسکریپت. 1715 01:17:56,580 --> 01:17:57,430 چه این کار را انجام خواهد؟ 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 آنچه در آن انجام خواهد داد؟ 1718 01:18:03,450 --> 01:18:04,890 >> بنابراین اول، شما پنجره onload را ببینید. 1719 01:18:04,890 --> 01:18:05,390 درست است؟ 1720 01:18:05,390 --> 01:18:06,640 بنابراین ما قبل از نمی بینم که. 1721 01:18:06,640 --> 01:18:09,380 پس این است که رفتن به صبر تا زمانی که تمام پنجره بار. 1722 01:18:09,380 --> 01:18:12,770 بنابراین آن را تا به صبر بار HTML، تمام تصاویر 1723 01:18:12,770 --> 01:18:13,770 قبل از آن را هر چیزی. 1724 01:18:13,770 --> 01:18:16,050 بنابراین اجازه دهید بگویم DOM ما لود شده است. 1725 01:18:16,050 --> 01:18:17,270 همه چیز وجود دارد. 1726 01:18:17,270 --> 01:18:19,080 پس چه اتفاقی خواهد افتاد؟ 1727 01:18:19,080 --> 01:18:19,922 آره؟ 1728 01:18:19,922 --> 01:18:22,880 >> رسید دکمه به نظر می رسد. 1729 01:18:22,880 --> 01:18:25,201 >> داوین: دکمه در حال حاضر وجود دارد. 1730 01:18:25,201 --> 01:18:26,700 آره، بنابراین دکمه در حال حاضر وجود دارد. 1731 01:18:26,700 --> 01:18:31,190 اما این است که می گویند، خوب، اگر دکمه من کلیک کنید، 1732 01:18:31,190 --> 01:18:33,650 تا دکمه در حال حاضر وجود دارد، مانند تگ HTML. 1733 01:18:33,650 --> 01:18:35,980 صبر کنید، بازگشت واقعی سریع است. 1734 01:18:35,980 --> 01:18:39,470 این برچسب راست راست در اینجا است برای رفتن به یک دکمه در حال حاضر. 1735 01:18:39,470 --> 01:18:40,810 در حال حاضر یک دکمه وجود دارد. 1736 01:18:40,810 --> 01:18:44,120 اما پس از آن، JavaScript در مرورگر برچسب، حق در اینجا، 1737 01:18:44,120 --> 01:18:46,160 آن را می گوید، خوب، من می خواهم برای به دست آوردن عنصر توسط ID، 1738 01:18:46,160 --> 01:18:50,300 بنابراین دکمه جستجو فقط می گوید، خوب، من می خواهم به نقشه این متغیر به آن را فشار دهید. 1739 01:18:50,300 --> 01:18:53,120 به طوری که متغیر است فقط یک راه ساده تر برای دسترسی به دکمه. 1740 01:18:53,120 --> 01:18:57,300 و من می گویم، خوب، اگر من کلیک کنید که را فشار دهید، بنابراین اگر من که عنصر کلیک کنید، 1741 01:18:57,300 --> 01:18:59,560 و این عنصر اشاره به دکمه، اگر روی آن کلیک کنید من، 1742 01:18:59,560 --> 01:19:00,875 پس از آن من می خواهم به تماس یک تابع. 1743 01:19:00,875 --> 01:19:03,500 در اینجا یکی از آن ناشناس است توابع ما در مورد صحبت شد. 1744 01:19:03,500 --> 01:19:04,840 >> فقط برخی از عملکرد تماس بگیرید. 1745 01:19:04,840 --> 01:19:08,840 در داخل آن تابع، اساسا چیزی که ما را دیده ام بسیاری، هشدار. 1746 01:19:08,840 --> 01:19:10,477 شما با کلیک بر روی دکمه جستجو. 1747 01:19:10,477 --> 01:19:12,060 آن را به یک دکمه اساسا داشته باشد. 1748 01:19:12,060 --> 01:19:13,040 شما آن را کلیک کنید. 1749 01:19:13,040 --> 01:19:14,040 شما دریافت می کنید که هشدار. 1750 01:19:14,040 --> 01:19:14,850 X است. 1751 01:19:14,850 --> 01:19:15,754 خودشه. 1752 01:19:15,754 --> 01:19:16,254 آره؟ 1753 01:19:16,254 --> 01:19:21,980 >> رسید بنابراین اگر شما قرار داده اسکریپت [نامفهوم]، برچسب اسکریپت در HTML سایت خود بگذارید؟ 1754 01:19:21,980 --> 01:19:24,300 >> داوین: شما می توانید اسکریپت قرار داده مستقیم برچسب در سر 1755 01:19:24,300 --> 01:19:30,667 دلیل این که شما این onload. 1756 01:19:30,667 --> 01:19:32,000 این هم که شما یک کلیک. 1757 01:19:32,000 --> 01:19:34,166 بنابراین آن را تا به صبر شما برای چیزی را کلیک کنید. 1758 01:19:34,166 --> 01:19:37,470 اما onload فقط در امان باشند، به مطمئن بارهای همه چیز به HTML شما 1759 01:19:37,470 --> 01:19:38,170 از قبل. 1760 01:19:38,170 --> 01:19:39,247 آره؟ 1761 01:19:39,247 --> 01:19:40,330 شما می خواهید به چیزی می گویند؟ 1762 01:19:40,330 --> 01:19:41,080 >> گیب: [نامفهوم]. 1763 01:19:41,080 --> 01:19:42,485 داوین: آره. 1764 01:19:42,485 --> 01:19:45,426 >> رسید اجتناب بنابراین onload تعریف دکمه جستجو متغیر 1765 01:19:45,426 --> 01:19:49,930 تنها با گفتن document.getElementByID جستجو دکمه نقطه [نامفهوم]. 1766 01:19:49,930 --> 01:19:52,320 >> داوین: قطعا، اما بعد از آن رشته خود را فقط بزرگ می شود. 1767 01:19:52,320 --> 01:19:55,553 دقیقا، بنابراین این فقط به آن را برای شما آسان تر، آره. 1768 01:19:55,553 --> 01:19:56,053 بله؟ 1769 01:19:56,053 --> 01:19:57,886 >> رسید از کجا ما ایجاد window.onload؟ 1770 01:19:57,886 --> 01:19:58,951 و یا document.ready در؟ 1771 01:19:58,951 --> 01:20:00,590 >> داوین: بله است، وجود دارد. 1772 01:20:00,590 --> 01:20:02,094 بله، وجود دارد، من بررسی می شود. 1773 01:20:02,094 --> 01:20:03,710 >> گیب: نه برای آنها را به مورد مراقبت. 1774 01:20:03,710 --> 01:20:06,970 >> داوین: خوب، پس من قصد دارم به هر حال به شما بگویم. 1775 01:20:06,970 --> 01:20:11,005 بنابراین اساسا، فقط به طور کلی، به طوری که window.onload منتظر می ماند تا DOM خود را، تمام 1776 01:20:11,005 --> 01:20:12,180 HTML خود را، بارهای. 1777 01:20:12,180 --> 01:20:13,513 آن را تا بار تصاویر خود را منتظر. 1778 01:20:13,513 --> 01:20:14,930 آن را تا بارهای همه چیز منتظر. 1779 01:20:14,930 --> 01:20:18,410 document.ready در، آن را فقط منتظر می ماند تا بار DOM خود را. 1780 01:20:18,410 --> 01:20:22,190 هنگامی که HTML غیر فعال است همه وجود دارد، یک بار DOM شما وجود دارد، شروع می شود در حال اجرا. 1781 01:20:22,190 --> 01:20:23,400 این تنها تفاوت است. 1782 01:20:23,400 --> 01:20:24,700 >> گیب: سلامت عقل سریع چک کنید. 1783 01:20:24,700 --> 01:20:29,060 بنابراین این دیده می شود نوع مانند یک خط از کد، درست است؟ 1784 01:20:29,060 --> 01:20:33,600 از آنجا که آن را window.onload برابر یک دسته از مسائل. 1785 01:20:33,600 --> 01:20:39,030 هنگامی که جاوا اسکریپت بار خوانده شده این، درست یا نادرست، تابع اجرا می شود. 1786 01:20:39,030 --> 01:20:40,020 نادرست است. 1787 01:20:40,020 --> 01:20:40,920 باشه؟ 1788 01:20:40,920 --> 01:20:44,470 چه اتفاقی می افتد، شما فقط عبور این تابع به عنوان یک تابع ناشناس 1789 01:20:44,470 --> 01:20:45,300 به window.onload. 1790 01:20:45,300 --> 01:20:48,480 و پس از آن زمانی که آن را رفتن در واقع اعدام کنید؟ 1791 01:20:48,480 --> 01:20:49,600 هنگامی که بارهای پنجره. 1792 01:20:49,600 --> 01:20:50,420 است که یک واقعه است. 1793 01:20:50,420 --> 01:20:52,460 به طوری که jus T چیزی که ما هستیم صحبت کردن در مورد قبل از آن، درست است؟ 1794 01:20:52,460 --> 01:20:54,580 بنابراین، هنگامی که رویداد اتفاق می افتد، تابع اتفاق می افتد. 1795 01:20:54,580 --> 01:20:55,746 همان چیزی که با onClick استفاده. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> داوین: خوب، پس کسی در زمان دور document.ready در. 1798 01:21:03,130 --> 01:21:04,698 اما این خواهد بود که same-- دقیق 1799 01:21:04,698 --> 01:21:06,864 رسید علامت دلار، که document.ready در است. 1800 01:21:06,864 --> 01:21:07,710 این یک میانبر است. 1801 01:21:07,710 --> 01:21:08,501 >> داوین: اوه، که است؟ 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 خوب، این به این معناست document.ready در، میانبر. 1804 01:21:15,500 --> 01:21:19,660 اما این همان window.onload است جز که تفاوت کمی 1805 01:21:19,660 --> 01:21:20,680 من به شما در مورد گفت. 1806 01:21:20,680 --> 01:21:21,870 و این jQuery است. 1807 01:21:21,870 --> 01:21:25,190 پس این همان دقیق آن است thing-- این جاوا اسکریپت است. 1808 01:21:25,190 --> 01:21:29,500 این است just-- برخی از مردم از آن فکر می کنم به عنوان یک سبک وزن تر، نسخه براق 1809 01:21:29,500 --> 01:21:32,370 است که مقدار زیادی از قابلیت که شما احتمالا خواهید با استفاده از شود. 1810 01:21:32,370 --> 01:21:34,500 پس این همین کار دقیق. 1811 01:21:34,500 --> 01:21:37,110 >> بنابراین همه چیز به نوع اشاره. 1812 01:21:37,110 --> 01:21:40,364 بنابراین در مثال دیگر، ما حال document.getElementByID، 1813 01:21:40,364 --> 01:21:42,280 بنابراین ما به حال این طولانی رشته که برای به دست آوردن 1814 01:21:42,280 --> 01:21:44,290 این عنصر را با هر ID آن است. 1815 01:21:44,290 --> 01:21:46,470 که توسط این تماس به جای حق در اینجا. 1816 01:21:46,470 --> 01:21:50,860 بنابراین شما علامت دلار را ببینید، سپس شما نقل قول، هشتگ را ببینید. 1817 01:21:50,860 --> 01:21:52,370 هشتگ همیشه یک انتخاب. 1818 01:21:52,370 --> 01:21:54,730 این گزارش می گوید، خوب، این است که با ID. 1819 01:21:54,730 --> 01:21:56,120 انتخاب برای یک کلاس چه خبر؟ 1820 01:21:56,120 --> 01:21:57,190 >> رسید نقطه. 1821 01:21:57,190 --> 01:21:57,960 >> داوین: نقطه، درست است. 1822 01:21:57,960 --> 01:22:01,950 اگر شما فقط رفتن به برچسب، آنچه در آن است را انتخاب کنید؟ 1823 01:22:01,950 --> 01:22:03,310 این فقط برچسب است، دقیقا. 1824 01:22:03,310 --> 01:22:05,560 و شما می توانید که در اینجا نیز استفاده کنید. 1825 01:22:05,560 --> 01:22:08,560 >> گیب: و بر اساس برچسب، ما مانند معنی DIV، به عنوان مثال، یا سر. 1826 01:22:08,560 --> 01:22:11,500 >> داوین: یا بدن و یا P یا هر چیزی که می خواهم، آره. 1827 01:22:11,500 --> 01:22:14,390 بنابراین در اینجا، OK، به جای گفت document.getElementByID، 1828 01:22:14,390 --> 01:22:16,500 این همان چیزی دقیق آن است. 1829 01:22:16,500 --> 01:22:17,990 فقط در jQuery، آن را کوتاه تر. 1830 01:22:17,990 --> 01:22:19,860 پس از آن ساده تر. 1831 01:22:19,860 --> 01:22:23,420 بنابراین پس از آن، بیش onClick استفاده، فقط کلیک کنید. 1832 01:22:23,420 --> 01:22:26,320 تابع جی کوئری، به این تابع. 1833 01:22:26,320 --> 01:22:27,580 هشدار همان دقیق آن است. 1834 01:22:27,580 --> 01:22:29,452 بنابراین آن را کمی است کوچکتر یا کمی 1835 01:22:29,452 --> 01:22:32,410 کوتاه تر، کمی از مردم bit-- فکر می کنم آن را کمی ساده تر برای نوشتن، 1836 01:22:32,410 --> 01:22:34,600 یک کمی آسان تر به درک. 1837 01:22:34,600 --> 01:22:35,640 اما این jQuery است. 1838 01:22:35,640 --> 01:22:37,887 بسیاری از مردم کمی کمی گیج و نگران 1839 01:22:37,887 --> 01:22:40,220 و آنها فکر می کنم، OK، جی کوئری متفاوت از جاوا اسکریپت است. 1840 01:22:40,220 --> 01:22:42,136 من به یاد داشته باشید این دو چیز متفاوت است. 1841 01:22:42,136 --> 01:22:42,740 این طور نیست. 1842 01:22:42,740 --> 01:22:45,315 منظور من، آن نحو متفاوت است. 1843 01:22:45,315 --> 01:22:46,970 اما جی کوئری جاوا اسکریپت است. 1844 01:22:46,970 --> 01:22:50,050 این فقط یک ظاهر نسخه بهتر است که 1845 01:22:50,050 --> 01:22:51,967 ممکن است راحت تر به درک که مردم استفاده کنید. 1846 01:22:51,967 --> 01:22:53,716 گیب: آره، به صادق، که علامت دلار 1847 01:22:53,716 --> 01:22:57,240 که شما در جی کوئری را مشاهده کنید، که فقط نام یک تابع که جی کوئری تعریف می کند. 1848 01:22:57,240 --> 01:22:58,614 این کار چیز خاصی ندارد. 1849 01:22:58,614 --> 01:23:03,140 آیا این فقط به نام از یک تابع، فقط می خواهم شما می توانید از علامت دلار را تعریف کنیم. 1850 01:23:03,140 --> 01:23:05,670 >> داوین: آره، بنابراین در مورد این صحبت کردیم. 1851 01:23:05,670 --> 01:23:06,680 بعضی چیزها مفید است. 1852 01:23:06,680 --> 01:23:10,414 من به دنبال بازگشت در آزمونها قدیمی. 1853 01:23:10,414 --> 01:23:13,080 در چند آزمونها گذشته، آنها بوده ام مجبور به استفاده از چیزهایی مثل این. 1854 01:23:13,080 --> 01:23:15,230 بنابراین document.ready در، بنابراین مطمئن شوید همه چیز 1855 01:23:15,230 --> 01:23:17,410 قبل از اینکه شما لود شروع به انجام همه چیز. 1856 01:23:17,410 --> 01:23:20,120 انتخاب ID، و یا انتخاب یک کلاس، آن را می خواهم فقط 1857 01:23:20,120 --> 01:23:24,020 شود نقل قول نقطه برخی از کلاس، پایان نقل قول. 1858 01:23:24,020 --> 01:23:26,580 ثبت کردن، بنابراین اگر شما هستیم ارسال یک فرم و تماس 1859 01:23:26,580 --> 01:23:28,830 این تابع پس از فرم تسلیم. 1860 01:23:28,830 --> 01:23:34,210 ارزش، بنابراین اجازه دهید بگویم من تا به حال یک فرم ارسال مقاله، مانند نام کاربر، یک ایمیل، 1861 01:23:34,210 --> 01:23:34,950 هر. 1862 01:23:34,950 --> 01:23:36,010 من یک جعبه متن بود. 1863 01:23:36,010 --> 01:23:37,670 بنابراین من تایپ به آن جعبه متن. 1864 01:23:37,670 --> 01:23:42,170 خوب، اگر شما می خواهید برای دریافت ارزش از این جعبه متن، شما با استفاده از نقطه وال. 1865 01:23:42,170 --> 01:23:44,050 و پس از آن، در اینجا، نقطه HTML همان است 1866 01:23:44,050 --> 01:23:47,710 مثل سند نقطه getElementByID نقطه innerHTML بطوری. 1867 01:23:47,710 --> 01:23:50,890 به طوری که رفتن به بازگشت شما HTML از آن ID. 1868 01:23:50,890 --> 01:23:55,080 در اینجا، شما فقط استفاده از برخی از ID یا هر نقطه HTML. 1869 01:23:55,080 --> 01:23:56,930 که به دنبال HTML از آن عنصر است. 1870 01:23:56,930 --> 01:24:00,130 اگر شما می خواهید به آن تغییر که HTML، شما می توانید آن چیزی منتقل می کند. 1871 01:24:00,130 --> 01:24:05,600 بنابراین شما می خواهم نقطه HTML شود، و پس از آن در داخل، به نقل از، HTML جدید و یا چیزی. 1872 01:24:05,600 --> 01:24:07,490 >> گیب: خوب، پس AJAX. 1873 01:24:07,490 --> 01:24:10,347 من واقعا دوست دارم به درک AJAX واقعا خوب است. 1874 01:24:10,347 --> 01:24:12,430 بنابراین من می خواهید بچه ها به درک AJAX واقعا خوب است. 1875 01:24:12,430 --> 01:24:14,221 از آنجا که اگر شما انجام دهید، شما تقریبا رفتن 1876 01:24:14,221 --> 01:24:16,810 به درک که همه چیز است که با HTTP، پی اچ پی، 1877 01:24:16,810 --> 01:24:21,080 جاوا اسکریپت به دلیل آن همه می آید با هم در AJAX. 1878 01:24:21,080 --> 01:24:25,130 AJAX زبان است. 1879 01:24:25,130 --> 01:24:27,000 AJAX یک تکنیک است. 1880 01:24:27,000 --> 01:24:31,690 و آن را با استفاده تعداد زیادی از ابزار های مختلف. 1881 01:24:31,690 --> 01:24:35,090 AJAX مخفف ناهمزمان جاوا اسکریپت XML. 1882 01:24:35,090 --> 01:24:36,730 بنابراین روش، زبان، داده. 1883 01:24:36,730 --> 01:24:40,610 >> بنابراین زبان اصلی است که ما استفاده می کنیم در AJAX به ماشه همه چیز 1884 01:24:40,610 --> 01:24:42,830 و برای رسیدگی به همه چیز بعد از جاوا اسکریپت است. 1885 01:24:42,830 --> 01:24:45,160 به همین دلیل آن مربوط بسیار نزدیک به جاوا اسکریپت. 1886 01:24:45,160 --> 01:24:49,810 و سپس ناهمزمان است چرا که ما این کار را انجام نمی 1887 01:24:49,810 --> 01:24:51,980 همه در یک بار زمانی که ما در حال بارگذاری صفحه. 1888 01:24:51,980 --> 01:24:57,190 این چیزی است که ما می توانیم انجام کارهای نوع موازی. 1889 01:24:57,190 --> 01:24:59,725 ایده اصلی در پشت AJAX این است که شما می خواهید 1890 01:24:59,725 --> 01:25:02,170 آن را به گرفتن برخی از اطلاعات خاص. 1891 01:25:02,170 --> 01:25:06,450 به عنوان مثال، زمانی که شما تایپ جدید نام کاربری هنگامی که شما به ثبت نام کاربر، 1892 01:25:06,450 --> 01:25:08,520 نام کاربری من است abc123. 1893 01:25:08,520 --> 01:25:11,671 و پس از آن، در پایان از فرم، شما باید با کلیک بر روی ثبت کردن. 1894 01:25:11,671 --> 01:25:14,420 و آن را به حال برای رفتن به سرور، و پس از آن اگر در پایگاه داده را بررسی کنید، 1895 01:25:14,420 --> 01:25:15,594 abc123 در حال حاضر وجود دارد. 1896 01:25:15,594 --> 01:25:18,510 و اگر آن را در حال حاضر وجود دارد، آن را می گوید، نام کاربری در حال حاضر در پایگاه داده. 1897 01:25:18,510 --> 01:25:21,010 و آنها، شما باید برای پر کردن از کل فرم دوباره. 1898 01:25:21,010 --> 01:25:23,110 و این واقعا، واقعا بد بود. 1899 01:25:23,110 --> 01:25:25,440 >> و پس از آن مردم می گویند، خوب، چرا ما نمی توانیم فقط 1900 01:25:25,440 --> 01:25:29,560 انجام یک درخواست HTTP کوچک فقط به بررسی برای دیدن در صورتی که این کاربر در پایگاه داده 1901 01:25:29,560 --> 01:25:32,080 قبل از کاربر به حال ارسال تمام فرم؟ 1902 01:25:32,080 --> 01:25:36,350 بنابراین برای مثال، زمانی که کاربر اتمام تایپ abc123، 1903 01:25:36,350 --> 01:25:39,660 اجازه دهید فقط به سرور کمی کمی و فقط درست یا غلط 1904 01:25:39,660 --> 01:25:43,080 از سرور برای دیدن اگر که یک نام کاربری معتبر و یا نیست. 1905 01:25:43,080 --> 01:25:49,250 OK، به طوری که یکی از اصلی است با استفاده از از AJAX امروزه هنوز هم. 1906 01:25:49,250 --> 01:25:52,130 >> داوین: خیلی واقعی سریع، در تماس آژاکس در jQuery، 1907 01:25:52,130 --> 01:25:54,770 شما می توانید از نشان که شما می خواهم آن را به همزمان. 1908 01:25:54,770 --> 01:25:56,330 شما باید این کار را انجام نمی شود. 1909 01:25:56,330 --> 01:25:57,640 اما شما می توانید انجام این کار. 1910 01:25:57,640 --> 01:25:59,277 و اگر شما را انجام داد، چه اتفاقی خواهد افتاد؟ 1911 01:25:59,277 --> 01:26:01,610 خوب، برای مثال، زمانی که شما هستید گرفتن اخبار یا هر چیز دیگری، 1912 01:26:01,610 --> 01:26:05,464 مرورگر شما فقط رفتن به صبر تا زمانی که کل تماس کامل است 1913 01:26:05,464 --> 01:26:08,130 به جای اجازه دادن به شما انجام دهد دیگر همه چیز درست بعد از شما آن را کلیک کنید. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> گیب: این عبور نمی کنه. 1916 01:26:17,115 --> 01:26:19,681 اوه خدای من. 1917 01:26:19,681 --> 01:26:20,180 با عرض پوزش! 1918 01:26:20,180 --> 01:26:22,810 1919 01:26:22,810 --> 01:26:23,601 آره. 1920 01:26:23,601 --> 01:26:25,350 "در گذشته، مشتری مورد نیاز برای درخواست 1921 01:26:25,350 --> 01:26:26,840 کل محتوای یک وب سایت. " 1922 01:26:26,840 --> 01:26:28,210 این چیزی است که من گفتم. 1923 01:26:28,210 --> 01:26:30,070 این به ما اجازه می دهد تا برای ارسال GET اضافی و یا POST 1924 01:26:30,070 --> 01:26:32,140 درخواست بدون نیاز به بازنگری مرورگر ما. 1925 01:26:32,140 --> 01:26:34,806 بنابراین در پایان روز، ما هستیم در واقع ساخت یک درخواست HTTP 1926 01:26:34,806 --> 01:26:35,740 در اینجا با استفاده از جاوا اسکریپت. 1927 01:26:35,740 --> 01:26:39,700 از آنجا که قبل از، ما فقط جاوا اسکریپت استفاده می شود برای تغییر HTML که در حال حاضر آمد. 1928 01:26:39,700 --> 01:26:43,110 و در حال حاضر، ما می توانیم آن را به رابط استفاده با وب سرور نیز هست. 1929 01:26:43,110 --> 01:26:46,140 راه این اتفاق می افتد است که ما باید به مشتری. 1930 01:26:46,140 --> 01:26:47,340 داوین مشتری است. 1931 01:26:47,340 --> 01:26:50,797 و او تمام جاوا اسکریپت در حال اجرا به دلیل HTML گنگ است. 1932 01:26:50,797 --> 01:26:51,630 جاوا اسکریپت هوشمند است. 1933 01:26:51,630 --> 01:26:54,690 بنابراین داوین داوین است هوشمند خود بخشی و بخشی گنگ خود را. 1934 01:26:54,690 --> 01:26:57,590 او قصد استفاده از بخش های هوشمند خود را در حال حاضر. 1935 01:26:57,590 --> 01:27:00,860 او قصد استفاده از جاوا اسکریپت به درخواست، به عنوان مثال، 1936 01:27:00,860 --> 01:27:04,340 آیا abc123 است در پایگاه داده یا نه. 1937 01:27:04,340 --> 01:27:08,450 >> بنابراین داوین، لطفا، شما فقط درخواست HTTP به من ارسال کنید. 1938 01:27:08,450 --> 01:27:09,197 متشکرم. 1939 01:27:09,197 --> 01:27:10,530 بنابراین او فقط یک درخواست HTTP ارسال می شود. 1940 01:27:10,530 --> 01:27:11,270 شما می بینید که؟ 1941 01:27:11,270 --> 01:27:14,700 و این فقط به همان شیوه است که هر درخواست HTTP فرستاده است. 1942 01:27:14,700 --> 01:27:16,830 مرورگر، گوگل کروم و یا چیزی است، 1943 01:27:16,830 --> 01:27:19,570 رفتن به که در داوین تلاش برای ارسال یک درخواست HTTP، 1944 01:27:19,570 --> 01:27:20,930 رفتن به کمک HM کمی. 1945 01:27:20,930 --> 01:27:23,950 و این برای رفتن تمام راه را به سرور. 1946 01:27:23,950 --> 01:27:27,370 در حال حاضر، سرور در حال رفتن به پی اچ پی در اینجا، و یا هر زبان دیگر. 1947 01:27:27,370 --> 01:27:29,990 فقط در یک درخواست HTTP عادی مانند. 1948 01:27:29,990 --> 01:27:31,950 این یک درخواست HTTP نرمال است تقریبا. 1949 01:27:31,950 --> 01:27:33,658 >> و پس از آن، سرور رفتن به می گویند، خوب، 1950 01:27:33,658 --> 01:27:37,270 داوین می خواهد من به چه چک این abc123 در پایگاه داده است. 1951 01:27:37,270 --> 01:27:38,310 برو بحث به مدل. 1952 01:27:38,310 --> 01:27:41,310 مدل می گوید این طور نیست. abc123 نام کاربری خوب است. 1953 01:27:41,310 --> 01:27:47,940 و سپس، وب سرور در حال رفتن به استفاده از پی اچ پی به ارائه نوعی از فایل. 1954 01:27:47,940 --> 01:27:52,280 این می تواند به معنای واقعی کلمه فقط یک فایل که شامل "بله" در آن است، و یا "نه، 1955 01:27:52,280 --> 01:27:53,315 یا چیزی شبیه به آن. 1956 01:27:53,315 --> 01:27:54,190 این می تواند هر فایل. 1957 01:27:54,190 --> 01:27:57,080 >> این می تواند مانند من قصد دارم به ارسال داوین یک عکس از یک اردک 1958 01:27:57,080 --> 01:28:01,200 اگر آن را در پایگاه داده است و ارسال یک عکس از یک همستر 1959 01:28:01,200 --> 01:28:02,420 اگر آن را در پایگاه داده نیست. 1960 01:28:02,420 --> 01:28:04,294 این امر می تواند نوع گنگ، اما آن کار خواهد کرد. 1961 01:28:04,294 --> 01:28:07,030 خوب، پس من یک اردک به داوین ارسال. 1962 01:28:07,030 --> 01:28:08,150 داوین یک اردک. 1963 01:28:08,150 --> 01:28:13,330 و در حال حاضر، که در حال رفتن که مسئولیت رسیدگی به اردک؟ 1964 01:28:13,330 --> 01:28:16,390 بخش های هوشمند داوین دوباره، بنابراین جاوا اسکریپت، درست است؟ 1965 01:28:16,390 --> 01:28:18,620 جاوا اسکریپت فرستاده درخواست، و جاوا اسکریپت 1966 01:28:18,620 --> 01:28:22,300 رفتن به دریافت درخواست و تفسیر آن در بعضی از فرم. 1967 01:28:22,300 --> 01:28:26,630 >> و در این مفهوم، آن را به می گویند، خوب، اگر اردک پس از آن من خوب هستم. 1968 01:28:26,630 --> 01:28:30,770 اگر همستر، سپس من قصد دارم می گویند، هیچ، نام کاربری در حال حاضر 1969 01:28:30,770 --> 01:28:31,970 در پایگاه داده وجود دارد. 1970 01:28:31,970 --> 01:28:33,845 اما معمولا، شما نمی رفتن به ارسال یک اردک. 1971 01:28:33,845 --> 01:28:36,740 شما در حال رفتن به ارسال چیزی کمی دقیق. 1972 01:28:36,740 --> 01:28:40,320 و آنچه ما استفاده از XML است. 1973 01:28:40,320 --> 01:28:42,690 و اخیرا، ما با استفاده از JSON. 1974 01:28:42,690 --> 01:28:45,629 JSON است فقط جاوا اسکریپت نشانه گذاری جسم، که 1975 01:28:45,629 --> 01:28:47,670 اساسا شما دریافت کل شی جاوا اسکریپت. 1976 01:28:47,670 --> 01:28:50,820 و شما آن را در یک فایل، فقط دوست دارم که شی CS50 که شما بچه ها را دیدم. 1977 01:28:50,820 --> 01:28:53,090 شما آن را در یک فایل، و شما آن را ارسال را به داوین. 1978 01:28:53,090 --> 01:28:55,850 >> بنابراین در این مورد، من ایجاد یک شی جاوا اسکریپت 1979 01:28:55,850 --> 01:28:59,570 و فقط می گویند، کاربر وجود دارد، بله. 1980 01:28:59,570 --> 01:29:01,630 و یا کاربر وجود دارد، هیچ. 1981 01:29:01,630 --> 01:29:02,810 و ارسال آن به او. 1982 01:29:02,810 --> 01:29:03,830 و چرا JSON؟ 1983 01:29:03,830 --> 01:29:07,330 از آنجا که شخص که دریافت این است 1984 01:29:07,330 --> 01:29:10,030 رفتن به استفاده از جاوا اسکریپت که مسئولیت رسیدگی به پاسخ. 1985 01:29:10,030 --> 01:29:14,970 و جاوا اسکریپت به خوبی به خاطر کار آن ابتدا باید جاوا اسکریپت نشانه گذاری شی نامیده می شود. 1986 01:29:14,970 --> 01:29:15,470 درست است؟ 1987 01:29:15,470 --> 01:29:19,660 بنابراین او فقط می توانید تماس بگیرید تابع و دریافت این شی بلندی از پاسخ. 1988 01:29:19,660 --> 01:29:22,890 و پس از آن، او را برای رفتن به اینکه آیا می دانید که کاربر در پایگاه داده است یا نه. 1989 01:29:22,890 --> 01:29:25,230 >> بنابراین می بینید، همه آن را آینده با هم در سرور وب، 1990 01:29:25,230 --> 01:29:28,450 و پس از آن یکی HTTP به درخواست وجود دارد و یک پاسخ HTTP و همه چیز. 1991 01:29:28,450 --> 01:29:30,600 بنابراین مطمئن شوید که شما بچه ها را درک این تماس AJAX 1992 01:29:30,600 --> 01:29:37,260 زیرا کمک می کند شما را در درک همه از مفاهیم ما در حال صحبت کردن در مورد. 1993 01:29:37,260 --> 01:29:40,260 >> بنابراین در اینجا یک مثال از AJAX با jQuery. 1994 01:29:40,260 --> 01:29:42,130 و در اینجا، ما با JSON دریافت انجام دهد. 1995 01:29:42,130 --> 01:29:45,660 بنابراین ما در حال تلاش برای به دست آوردن تصویری از یک گربه در اینجا، و یا یک اردک. 1996 01:29:45,660 --> 01:29:48,110 ما در حال تلاش برای بدست آوردن یک فایل JSON. 1997 01:29:48,110 --> 01:29:51,184 و پس از آن ما تا صبر آن را انجام داده، نقطه انجام می شود. 1998 01:29:51,184 --> 01:29:52,850 این بدان معناست که من منتظر پاسخ. 1999 01:29:52,850 --> 01:29:54,180 این ممکن است در حالی که کمی طول می کشد. 2000 01:29:54,180 --> 01:29:56,360 سپس، شما در حال بارگذاری کمی را ببینید. 2001 01:29:56,360 --> 01:29:59,340 اگر می خواهید برای انجام این کار در وب سایت شما. 2002 01:29:59,340 --> 01:30:01,440 بنابراین نقطه انجام می شود، و پس از آن چه اتفاق می افتد زمانی که آن را انجام داده؟ 2003 01:30:01,440 --> 01:30:04,040 شما در ناشناس عبور تابع، درست مثل ما قبل دیدم. 2004 01:30:04,040 --> 01:30:07,800 از آنجا که انجام یک رویداد است، فقط مانند کلیک ماوس و یا هر چیز دیگری، 2005 01:30:07,800 --> 01:30:08,710 برای جی کوئری. 2006 01:30:08,710 --> 01:30:13,710 بنابراین شما در این تابع با عبور داده ها، متن، وضعیت، و jqXHR. 2007 01:30:13,710 --> 01:30:15,790 و در واقع، که فقط برخی از متغیرهای 2008 01:30:15,790 --> 01:30:22,160 که شما می توانید بعد از به استفاده از وضعیت درخواست HTTP، 2009 01:30:22,160 --> 01:30:24,470 داده هایی را که آن را برای ارسال به شما. 2010 01:30:24,470 --> 01:30:28,740 پس شما بعد از می توانید آن را تفسیر و انجام کاری با آن معنی دار. 2011 01:30:28,740 --> 01:30:30,240 و اگر نتواند، زمانی که ممکن است آن را شکست؟ 2012 01:30:30,240 --> 01:30:33,780 خوب، هنگامی که درخواست HTTP می دهد شما 500 یا چیزی شبیه به آن. 2013 01:30:33,780 --> 01:30:37,420 سپس، آن را به شما بگویم وضعیت، چه نوع شکست که بود، 2014 01:30:37,420 --> 01:30:38,420 و تمام انواع چیزهای. 2015 01:30:38,420 --> 01:30:40,630 شما باید مطمئن شوید که مسئولیت رسیدگی به هر دو مورد، 2016 01:30:40,630 --> 01:30:42,770 در غیر این صورت برنامه می رود دیوانه. 2017 01:30:42,770 --> 01:30:45,820 >> داوین: بنابراین بله، این دقیقا همان آنچه شما در گذشته P-مجموعه خود را دیدم. 2018 01:30:45,820 --> 01:30:49,720 تماس AJAX واقعی در JSON دریافت است. 2019 01:30:49,720 --> 01:30:50,587 این تماس است. 2020 01:30:50,587 --> 01:30:52,920 و پس از آن، نقطه انجام است مانند آن را چک اگر آن را موفق. 2021 01:30:52,920 --> 01:30:55,620 اگر موفقیت آمیز باشد، شما می خواهید برای انجام کاری با داده ها. 2022 01:30:55,620 --> 01:30:59,290 شما به عقب بر گردیم از آن اطلاعات درخواست JSON. 2023 01:30:59,290 --> 01:31:00,600 این چیزی است که شما به عقب بر گردیم. 2024 01:31:00,600 --> 01:31:04,470 بنابراین اگر شما از شما P-مجموعه ای به یاد داشته باشید، بسیاری از شما می خواهم براکت داده بودند من 2025 01:31:04,470 --> 01:31:06,302 یا هر چیز دیگری، لینک نقطه یا عنوان. 2026 01:31:06,302 --> 01:31:08,260 هر آنچه به آینده از آن JSON، هر آنچه که 2027 01:31:08,260 --> 01:31:11,020 زمینه که در آن شی JSON هستند، این چیزی است که شما در حال گرفتن پشت. 2028 01:31:11,020 --> 01:31:12,394 اطلاعات چیزی است که شما در حال گرفتن پشت. 2029 01:31:12,394 --> 01:31:15,510 وضعیت متن، تنها چیزی است که به شما اجازه می دانم که چه اتفاقی افتاده است. 2030 01:31:15,510 --> 01:31:20,570 و پس از آن، jqXHR، که فقط جی کوئری درخواست XML HTTP. 2031 01:31:20,570 --> 01:31:21,990 این درست مثل یک شی. 2032 01:31:21,990 --> 01:31:23,932 و پس از آن شکست، درست مانند گیب گفت. 2033 01:31:23,932 --> 01:31:27,140 گیب: در مثال کوچک ما از abc123 فقط برای بررسی در صورتی که در پایگاه داده 2034 01:31:27,140 --> 01:31:32,260 یا نه، داده می شود چیزی است که شما را انجام دهد، اگر نقطه داده نام کاربری وجود دارد، 2035 01:31:32,260 --> 01:31:37,720 است که آنچه PHP خود را تولید شده برای شما، اگر نام داده نقطه کاربر وجود دارد، پس از آن 2036 01:31:37,720 --> 01:31:40,880 من قصد دارم برای هشدار، کاربر نام وجود دارد. 2037 01:31:40,880 --> 01:31:44,300 دیگری، من فقط رفتن به اجازه کاربر ادامه پر کردن فرم. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 OK، امنیت، سرد. 2040 01:31:50,820 --> 01:31:52,060 >> داوین: من می خواهم به؟ 2041 01:31:52,060 --> 01:31:54,500 >> گیب: من دوست دارم این یکی. 2042 01:31:54,500 --> 01:31:57,680 بنابراین چیزی است که به نظر می رسد آشنا. 2043 01:31:57,680 --> 01:31:59,750 ما در حال تقریبا انجام می شود. 2044 01:31:59,750 --> 01:32:02,670 بنابراین این فقط مثال است شما بچه ها در کلاس را دیدم. 2045 01:32:02,670 --> 01:32:04,860 شما شد argv1 با استفاده از. 2046 01:32:04,860 --> 01:32:06,460 که مانند یک استدلال خط فرمان است. 2047 01:32:06,460 --> 01:32:09,270 و ما مم کپی که به یک بافر اندازه 12. 2048 01:32:09,270 --> 01:32:12,560 مشکل در اینجا چیست؟ 2049 01:32:12,560 --> 01:32:13,660 سرریز بافر! 2050 01:32:13,660 --> 01:32:15,400 از آنجا که ما یک بافر اندازه 12. 2051 01:32:15,400 --> 01:32:18,400 argv1 ممکن است به اندازه دو میلیارد داشته باشد. 2052 01:32:18,400 --> 01:32:19,960 ما هیچ چک کردن مرز نمی کنند. 2053 01:32:19,960 --> 01:32:24,970 بنابراین ما ممکن است مقدار زیادی از حافظه کپی کنید. 2054 01:32:24,970 --> 01:32:28,630 و ما به ویژه خواهید بود بد در مورد این. 2055 01:32:28,630 --> 01:32:32,600 ما چطور می توانیم انجام این کار است بسیار بسیار در این مورد چیست؟ 2056 01:32:32,600 --> 01:32:33,278 بله؟ 2057 01:32:33,278 --> 01:32:36,528 رسید بخشی از دو میلیارد همه چیز حاوی کد اجرایی که برمی گرداند 2058 01:32:36,528 --> 01:32:38,127 [نامفهوم]. 2059 01:32:38,127 --> 01:32:38,710 گیب: دقیقا. 2060 01:32:38,710 --> 01:32:41,110 به طوری که نوع است چیزی که مردم استفاده 2061 01:32:41,110 --> 01:32:43,344 به فرار از زندان آیفون، به عنوان مثال. 2062 01:32:43,344 --> 01:32:44,260 بنابراین این نوع از چیزی. 2063 01:32:44,260 --> 01:32:48,610 از آنجا که شما فقط می توانید دستگاه را اجرای هر کدی که دوست دارید. 2064 01:32:48,610 --> 01:32:50,247 تعمیر، بنابراین مشکل خاصی نیست. 2065 01:32:50,247 --> 01:32:51,330 فقط برای محدوده تیک بزنید. 2066 01:32:51,330 --> 01:32:53,455 شما برای تهی به دلیل چک ما همیشه برای null به 2067 01:32:53,455 --> 01:32:54,940 زمانی که ما در حال برخورد با رشته. 2068 01:32:54,940 --> 01:32:57,840 و پس از آن، شما را از طول رشته قبل از. 2069 01:32:57,840 --> 01:33:00,150 و اگر رشته طول یک رشته معتبر است 2070 01:33:00,150 --> 01:33:03,700 طول، است که در 0 و 12، و سپس ما خوب است. 2071 01:33:03,700 --> 01:33:07,144 >> داوین: اگر شما برای بررسی نمی تهی، واقعی سریع، چه اتفاقی خواهد افتاد؟ 2072 01:33:07,144 --> 01:33:07,810 آن را گسل از seg. 2073 01:33:07,810 --> 01:33:10,850 چرا آن را SEG گسل؟ 2074 01:33:10,850 --> 01:33:12,510 از آنجا که شما خواستار strlen در تهی. 2075 01:33:12,510 --> 01:33:13,010 گیب: آره. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 درست یا غلط، با استفاده از یک رمز عبور یک ایده خوب است. 2078 01:33:19,630 --> 01:33:20,430 >> رسید کاذب. 2079 01:33:20,430 --> 01:33:21,150 >> گیب: غلط. 2080 01:33:21,150 --> 01:33:23,870 استفاده از بسیاری از کلمات عبور، و بزرگ، بلند هستند. 2081 01:33:23,870 --> 01:33:26,050 آیکون قفل اطمینان از امنیت. 2082 01:33:26,050 --> 01:33:27,080 >> رسید کاذب. 2083 01:33:27,080 --> 01:33:27,749 >> گیب: غلط. 2084 01:33:27,749 --> 01:33:28,790 این هیچ معنی ندارد. 2085 01:33:28,790 --> 01:33:30,480 این فقط یک آیکون است. 2086 01:33:30,480 --> 01:33:32,824 SSL در برابر محافظت مرد در عمق حمله. 2087 01:33:32,824 --> 01:33:33,490 رسید کاذب. 2088 01:33:33,490 --> 01:33:34,110 گیب: غلط. 2089 01:33:34,110 --> 01:33:35,355 خوب، پس تمام کسانی که نادرست است. 2090 01:33:35,355 --> 01:33:38,324 2091 01:33:38,324 --> 01:33:39,490 زیبا. 2092 01:33:39,490 --> 01:33:40,220 [نامفهوم] 2093 01:33:40,220 --> 01:33:42,500 می خواهم در مورد این صحبت کنید؟ 2094 01:33:42,500 --> 01:33:43,259 به نوبه خود شما. 2095 01:33:43,259 --> 01:33:45,050 داوین: انواع حملات، مرد در وسط. 2096 01:33:45,050 --> 01:33:47,134 یک مرد در عمق حمله چه خبر؟ 2097 01:33:47,134 --> 01:33:48,050 رسید [نامفهوم]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 داوین: اگر شما یک ارسال HTTP درخواست، آنها می توانند این کار، درست است؟ 2100 01:33:54,020 --> 01:33:57,890 اما اگر شما در حال ارسال HTTPS، آنها احتمالا قادر نخواهد بود برای انجام این کار. 2101 01:33:57,890 --> 01:33:59,952 بسیاری از نقاط وجود دارد همراه اتصال شما. 2102 01:33:59,952 --> 01:34:00,660 شما باید روتر. 2103 01:34:00,660 --> 01:34:01,746 شما باید سرور دی ان اس. 2104 01:34:01,746 --> 01:34:04,120 اگر کسی قادر است به لحاظ جسمی ببینید چه چیزی شما ارسال، 2105 01:34:04,120 --> 01:34:06,140 تا کسی قادر به است در واقع بین شما، 2106 01:34:06,140 --> 01:34:08,840 مشتری و سرور، و است قادر به دیدن آنچه شما ارسال، 2107 01:34:08,840 --> 01:34:10,298 این مرد در عمق حمله است. 2108 01:34:10,298 --> 01:34:14,287 بنابراین برای دیدن آنچه که شما در حال تلاش برای از دریافت سرور، و یا قادر به see-- بدتر است، 2109 01:34:14,287 --> 01:34:16,620 شما ممکن است قادر به دیدن کوکی ها و یا چیزی شبیه به آن. 2110 01:34:16,620 --> 01:34:19,290 >> بنابراین برای مثال، اگر شما با استفاده از SSL نیست، او 2111 01:34:19,290 --> 01:34:21,900 ممکن است قادر به دیدن جلسه خود را کوکی ها ID. 2112 01:34:21,900 --> 01:34:25,460 و این است جلسه ربودن نام چرا که او کوکی ها ID خود را می بیند، 2113 01:34:25,460 --> 01:34:28,317 و پس از آن او قادر به رفتن به که وب سایت و تظاهر به شما باشد. 2114 01:34:28,317 --> 01:34:31,150 از آنجا که فقط در پی اچ پی دوست، به یاد داشته باشید هنگامی که ما وارد شده، چه کنیم؟ 2115 01:34:31,150 --> 01:34:33,340 ما ID جلسه به ID برابر مجموعه. 2116 01:34:33,340 --> 01:34:34,810 به طوری که شما شناسایی می کند. 2117 01:34:34,810 --> 01:34:38,300 به همین دلیل شما می توانید نمونه کارها خود را ببینید و نمونه کارها هر کسی نمی دیگری. 2118 01:34:38,300 --> 01:34:42,320 >> خب، اگر من قادر به گرفتن آن کوکی هستم، پس از آن من می توانید بر روی آن صفحه وارد شوید. 2119 01:34:42,320 --> 01:34:45,380 و پس از آن، من می توانم فقط مسائل خود را ببینید و شروع به خرید و فروش مواد. 2120 01:34:45,380 --> 01:34:46,800 به طوری که جلسه ربودن است. 2121 01:34:46,800 --> 01:34:50,810 اما شما باید to-- قادر بنابراین شما نمی می توانید مرد در عمق حمله استفاده 2122 01:34:50,810 --> 01:34:52,290 حتی اگر آنها با استفاده از SSL. 2123 01:34:52,290 --> 01:34:53,520 اما شما نباید قادر به. 2124 01:34:53,520 --> 01:34:56,580 اگر آنها با استفاده از اس اس ال، شما نمی توانید ربودن جلسه. 2125 01:34:56,580 --> 01:34:58,927 چرا؟ 2126 01:34:58,927 --> 01:35:01,135 از آنجا که آن همه رمزگذاری شده، درست است؟ اگر آن را رمزگذاری، 2127 01:35:01,135 --> 01:35:03,509 و من هنوز یک مرد در میانه، من هنوز هم اطلاعات خود را دریافت کنید. 2128 01:35:03,509 --> 01:35:04,279 خوبه. 2129 01:35:04,279 --> 01:35:05,070 اما آن رمزگذاری شده است. 2130 01:35:05,070 --> 01:35:07,750 بنابراین من نمی توانم واقعا از آن استفاده کنید. 2131 01:35:07,750 --> 01:35:09,840 به طوری که دو است. 2132 01:35:09,840 --> 01:35:11,544 >> رئال سریع، سایت متقابل جعل درخواست. 2133 01:35:11,544 --> 01:35:13,960 که فقط اگر یک لینک وجود دارد و این لینک چیزی می کند 2134 01:35:13,960 --> 01:35:14,890 که شما فکر نمی کنم که باید انجام دهید. 2135 01:35:14,890 --> 01:35:18,150 بنابراین برای مثال، اگر لینک بود رفتن به خرید سهام و یا فروش سهام، 2136 01:35:18,150 --> 01:35:19,360 و شما می دانید که نیست. 2137 01:35:19,360 --> 01:35:22,040 شما بر روی لینک کلیک، درخواست، خریداری فرستاده 2138 01:35:22,040 --> 01:35:24,240 و یا به فروش می رسد چیزی است که شما نمی خواستم انجام دهد. 2139 01:35:24,240 --> 01:35:25,120 این که. 2140 01:35:25,120 --> 01:35:30,720 >> اسکریپت سایت صلیب، بنابراین در اینجا، شما در حال عبور از طریق متغیر س، 2141 01:35:30,720 --> 01:35:33,510 به جای عبور در نوعی ارزش، شاید پرسش است مانند یک نام. 2142 01:35:33,510 --> 01:35:36,560 بنابراین به جای عبور برابر پرسش داوین و یا چیزی شبیه به آن، 2143 01:35:36,560 --> 01:35:38,740 اگر شما HTML استفاده کنید کاراکتر های ویژه، اگر شما 2144 01:35:38,740 --> 01:35:43,100 این فرار کنی مطمئن شوید آن را خوب، پس من می تواند به جای عبور در، 2145 01:35:43,100 --> 01:35:46,910 اجازه دهید بگویم در اینجا من گفت: چاپ و یا چیزی شبیه به آن، 2146 01:35:46,910 --> 01:35:51,070 پس از آن من می توانم در اینجا یک تماس اسکریپت عبور در. 2147 01:35:51,070 --> 01:35:53,140 >> بنابراین پس از آن، به جای فقط گرفتن یک متغیر، 2148 01:35:53,140 --> 01:35:54,960 من پس از آن که اجرای این تماس اسکریپت. 2149 01:35:54,960 --> 01:35:57,065 بنابراین در داخل که اسکریپت تماس بگیرید، چه کاری انجام میدهد؟ 2150 01:35:57,065 --> 01:36:00,190 سند محل نقطه، که رفتن به تغییر مکان از سند است. 2151 01:36:00,190 --> 01:36:02,290 بنابراین من قصد دارم به تغییر مسیر به جای دیگری است. 2152 01:36:02,290 --> 01:36:08,170 آن را به نام پسر بد در این مثال، بسیار خوب است. 2153 01:36:08,170 --> 01:36:10,536 نمی تواند از کلمه فکر می کنم. 2154 01:36:10,536 --> 01:36:12,410 و پس از آن، چه چیزی حتی بدتر این است که من قصد دارم 2155 01:36:12,410 --> 01:36:16,832 به پس از آن مجموعه کوکی، که برخی از متغیر من در این وب سایت داشته باشد. 2156 01:36:16,832 --> 01:36:19,040 من قصد دارم به آن را برابر با به سند نقطه کوکی. 2157 01:36:19,040 --> 01:36:20,660 بنابراین، من قصد دارم به سرقت کوکی خود را. 2158 01:36:20,660 --> 01:36:22,951 و من قصد دارم به تغییر مسیر برخی از اطلاعات به یک وب سایت 2159 01:36:22,951 --> 01:36:25,120 که به شما اختصاص ندارد دسترسی است. 2160 01:36:25,120 --> 01:36:29,250 و این همه اتفاق می افتد چون تو فرار نیست که چه شما را دیده ام. 2161 01:36:29,250 --> 01:36:29,910 آره؟ 2162 01:36:29,910 --> 01:36:32,160 >> رسید پس فقط به را روشن، آن را 2163 01:36:32,160 --> 01:36:37,550 vulnerable.com که آسیب پذیر این است. 2164 01:36:37,550 --> 01:36:39,300 به طوری که لینک می توانید ظاهر در هر صفحه داده شده است. 2165 01:36:39,300 --> 01:36:42,200 کسی کلیک بر روی آن، به vulnerable.com می رود. 2166 01:36:42,200 --> 01:36:43,700 شما باید یک کوکی به vulnerable.com. 2167 01:36:43,700 --> 01:36:46,670 بیایید می گویند فیس بوک است آسیب پذیر، به طوری facebook.com. 2168 01:36:46,670 --> 01:36:48,310 شما باید کوکی فیس بوک خود را. 2169 01:36:48,310 --> 01:36:50,925 چه این در حال انجام، شما رفتن به facebook.com، 2170 01:36:50,925 --> 01:36:53,990 آن را بلافاصله هدایت شما به badguy.com، 2171 01:36:53,990 --> 01:36:57,182 اما از جمله اطلاعات کوکی های خود را. 2172 01:36:57,182 --> 01:36:59,310 پس از آن تغییر مسیر سریع است، اما کوکی فیس بوک خود را 2173 01:36:59,310 --> 01:37:02,572 با که تغییر مسیر شامل، و این که چگونه آنها [نامفهوم]. 2174 01:37:02,572 --> 01:37:04,280 گیب: آره، وجود دارد برخی از چیزهایی که بسیار متوسط 2175 01:37:04,280 --> 01:37:06,070 که مردم می توانند انجام اگر این وجود دارد. 2176 01:37:06,070 --> 01:37:09,190 برای مثال، اگر فیس بوک اجازه همه برای تغییر نام کاربری خود را، 2177 01:37:09,190 --> 01:37:11,680 و آنها هیچ نمی چک سلامت عقل، بنابراین شما 2178 01:37:11,680 --> 01:37:16,810 می تواند یک چیز جاوا اسکریپت درج که تصویر خود را به یک همستر تغییر می دهد. 2179 01:37:16,810 --> 01:37:22,590 و این درج همان جاوا اسکریپت به هر کسی که بازدید شما. 2180 01:37:22,590 --> 01:37:26,400 بنابراین هر کسی که بازدید شما است، همان چیزی که در نام کاربری. 2181 01:37:26,400 --> 01:37:30,104 و چون آن یک ویروس است، آن گسترش می یابد نمایی. 2182 01:37:30,104 --> 01:37:32,270 داوین: ما آخرین جست و خیز یکی، و سپس ما در حال انجام می شود. 2183 01:37:32,270 --> 01:37:34,120 بنابراین این فقط یک مثال دیگر است. 2184 01:37:34,120 --> 01:37:36,120 پس این است که آنها نمی فرار جدول SQL خود را. 2185 01:37:36,120 --> 01:37:37,090 بنابراین شما می توانید آن را رها کنید. 2186 01:37:37,090 --> 01:37:38,805 بنابراین شما می خواهید برای فرار از همه چیز. 2187 01:37:38,805 --> 01:37:44,010 که مثال قبلی بود با اسکریپت سایت صلیب. 2188 01:37:44,010 --> 01:37:45,430 با عرض پوزش ما کمی فرار دیر است. 2189 01:37:45,430 --> 01:37:46,870 فردا، متاسفم! 2190 01:37:46,870 --> 01:37:48,560 فردا، ما ساعات اداری. 2191 01:37:48,560 --> 01:37:50,870 بنابراین ساعات اداری در Cabbot 8:00-11:00. 2192 01:37:50,870 --> 01:37:55,240 ساعات کار اداری هستند به شدت برای سوالات مسابقه. 2193 01:37:55,240 --> 01:37:56,587