1 00:00:00,000 --> 00:00:01,940 >> [MUSIC پخش] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> DAVID مالان: این CS 50 و است این آغاز هفته نه است. 4 00:00:14,620 --> 00:00:18,240 و آنچه ما فکر کردم ما امروز نیست تنها فصل گذشته هفته بستن 5 00:00:18,240 --> 00:00:22,670 مواد که در آن ما را بر روی سرور متمرکز سمت برنامه نویسی تحت وب با PHP و SQL، 6 00:00:22,670 --> 00:00:23,549 برخی چیزهای پایگاه داده. 7 00:00:23,549 --> 00:00:25,590 ما در مورد یک بیت از بحث امروز امنیت و پس از آن 8 00:00:25,590 --> 00:00:29,590 انتقال به برنامه نویسی سمت سرویس گیرنده شناخته شده به عنوان زبان جاوا اسکریپت. 9 00:00:29,590 --> 00:00:31,330 اما در ابتدا، برخی از رستگاری. 10 00:00:31,330 --> 00:00:35,030 >> شما نمیتوانید به یاد بیاورید که در چهارشنبه، من مجموعه ای از 11 00:00:35,030 --> 00:00:37,550 برای نوشتن یک وب سایت است که در ورودی کاربر در زمان 12 00:00:37,550 --> 00:00:41,120 توسط HTML را تشکیل می دهند که پس از آن ذخیره شده که نام ورودی کاربر، تلفن 13 00:00:41,120 --> 00:00:43,124 اعداد و تلفن همراه حامل در پایگاه داده باشد. 14 00:00:43,124 --> 00:00:45,540 و پس از آن من تا به حال یک دستور کمی اسکریپت خط نوشته شده در PHP 15 00:00:45,540 --> 00:00:47,956 که قرار بود تکرار در طول ردیف ها را در پایگاه داده 16 00:00:47,956 --> 00:00:49,400 و ارسال پیام های متنی. 17 00:00:49,400 --> 00:00:53,870 با وجود چند، چندین تلاش، ما بود که کار تا پایان می کنید. 18 00:00:53,870 --> 00:00:57,820 >> بنابراین من این هفته تمام را صرف کار در آن کد را به ما گذشته نقطه 19 00:00:57,820 --> 00:01:01,220 که در آن ما به سمت چپ خاموش، به موجب آن همه من در پایان چهارشنبه کردم 20 00:01:01,220 --> 00:01:05,500 این پیام متنی بود از مارگو که من تلاش، 21 00:01:05,500 --> 00:01:09,940 پس از یک پیام متنی از دیگر همکلاسی، شما این دیوید ام. 22 00:01:09,940 --> 00:01:14,030 به دنبال این، زیبا و دلگرم کننده است. 23 00:01:14,030 --> 00:01:15,840 نگه داشته و در رفتن، بسیار دلگرم کننده. 24 00:01:15,840 --> 00:01:20,960 من تقریبا آن را تا کردم و then-- توجه داشته باشید که ما در روز چهارشنبه به پایان رسید است. 25 00:01:20,960 --> 00:01:25,850 و پس از آن در واقع شاید مورد علاقه من، لحظه ای بعد، این در آمد. 26 00:01:25,850 --> 00:01:27,000 لعنت جریان زندگی می کنند. 27 00:01:27,000 --> 00:01:31,080 >> بنابراین، امروز، ما این مسئله را حل با سریع در آنچه که من انجام داده ام از نگاه. 28 00:01:31,080 --> 00:01:35,440 پس همه از این کد در دسترس است آنلاین از هفته گذشته، هفته هشتم، 29 00:01:35,440 --> 00:01:36,300 کد منبع. 30 00:01:36,300 --> 00:01:39,425 و شما خواهید دید که من از طریق رفت، و من در واقع تمیز کردن چیزهای کمی. 31 00:01:39,425 --> 00:01:42,080 من معرفی یک زن و شوهر دیگر ویژگی های یک پایگاه داده SQL. 32 00:01:42,080 --> 00:01:45,300 به عنوان مثال، به جای فقط حامل ور کاراکتر را 33 00:01:45,300 --> 00:01:47,310 که من فکر می کنم من در پرواز هفته گذشته انجام داد. 34 00:01:47,310 --> 00:01:49,820 من به جای آن را به عنوان تعریف آنچه شمارشی نامیده می شود. 35 00:01:49,820 --> 00:01:53,310 >> و برخی از شما ممکن است دیده می شود این به عنوان ما به بررسی C. شمارشی است که در واقع 36 00:01:53,310 --> 00:01:56,820 یکی از ویژگی های C که در آن شما می توانید شمردن یک دسته کامل از ثابت 37 00:01:56,820 --> 00:01:59,640 و ارزش های خودکار اختصاص آنها، مانند یک، دو، سه، چهار 38 00:01:59,640 --> 00:02:01,330 بدون نیاز به شماره کد سخت است. 39 00:02:01,330 --> 00:02:04,780 بنابراین SQL پشتیبانی از همان، به موجب آن اگر شما باید یک پایگاه داده است که تنها به شما 40 00:02:04,780 --> 00:02:09,389 می خواهید در یکی از محدود را ارزش ها، شما به معنای واقعی کلمه می توانید آن را مشخص 41 00:02:09,389 --> 00:02:13,120 که من وجود دارد به مدت چهار انجام داده اند محبوب حامل تلفن همراه ایالات متحده است. 42 00:02:13,120 --> 00:02:13,819 >> بنابراین من که. 43 00:02:13,819 --> 00:02:16,610 و من ساخته شده و تعدادی از تغییرات به عنوان خوب، که مهمترین آنها 44 00:02:16,610 --> 00:02:20,090 شد به ایمیل کار به دلیل به یاد بیاورید، که این برنامه با تکیه بر آن 45 00:02:20,090 --> 00:02:23,470 به طور کلی یک ایمیل به نام دروازه SMS، است که فقط 46 00:02:23,470 --> 00:02:27,670 راه فانتزی گفتن که ورایزون و AT & T، و دیگر مردمی حمایت از سرور، 47 00:02:27,670 --> 00:02:30,740 به موجب آن اگر آن را دریافت ایمیل، آن را تبدیل به SMS 48 00:02:30,740 --> 00:02:33,290 و می فرستد یک متن پیام به تلفن کسی. 49 00:02:33,290 --> 00:02:37,010 بنابراین اگر من این را به درستی انجام داد، در اینجا یک فرم جدید و بهبود یافته است 50 00:02:37,010 --> 00:02:39,259 است که رفتن به صحبت کردن کد جدید و بهبود یافته، که 51 00:02:39,259 --> 00:02:40,300 شما می توانید با بازی آنلاین. 52 00:02:40,300 --> 00:02:44,140 و امیدوارم من را خواهد بوق تلفن در یک لحظه. 53 00:02:44,140 --> 00:02:47,240 >> بنابراین برای اولین بار، من قصد دارم برای تایپ به نام من. 54 00:02:47,240 --> 00:02:51,400 دوم، من قصد ندارم این این زمان انجام دهد. 55 00:02:51,400 --> 00:02:53,920 من قصد دارم به انجام بازرسی عنصر. 56 00:02:53,920 --> 00:02:56,710 و این فقط یک چیزی که کمی، بنابراین من نمی کنند 57 00:02:56,710 --> 00:02:59,250 ایجاد ساعت تولید ارسال کار من به عنوان آخرین بار بود. 58 00:02:59,250 --> 00:03:02,300 در حال حاضر وجود دارد شماره تلفن من است. 59 00:03:02,300 --> 00:03:03,560 >> من ورایزون را انتخاب کنید. 60 00:03:03,560 --> 00:03:10,260 و در اینجا، اجازه دهید در این میکروفون را روشن در اینجا، و هدف از این در تلفن من در اینجا. 61 00:03:10,260 --> 00:03:13,130 من قصد دارم به ثبت نام کلیک کنید، امیدوار باشید 62 00:03:13,130 --> 00:03:14,530 آن را به پایگاه داده باشد. 63 00:03:14,530 --> 00:03:16,780 حالا من قصد دارم برای رفتن به برنامه خط فرمان، که 64 00:03:16,780 --> 00:03:20,825 فراخوان علامت نقطه نامیده می شد متن، و عبور از انگشتان دست خود را. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 در اینجا ما بروید. 67 00:03:26,527 --> 00:03:27,501 >> [DINGS PHONE] 68 00:03:27,501 --> 00:03:28,962 >> [تشویق حضار] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 DAVID مالان: بنابراین سرگرم کننده بیش از this-- آن را سرگرم کننده، البته، اگر من به آن را دریافت. 71 00:03:34,940 --> 00:03:38,004 اما بیشتر سرگرم کننده است، من فکر کردم، اگر ما ایجاد یکی از آن لحظات فیلم 72 00:03:38,004 --> 00:03:40,420 که در آن چیزی واقعا بد در جهان اتفاق افتاده است، 73 00:03:40,420 --> 00:03:42,860 و مثل همه NSA مردم تلفن همراه شروع beeping 74 00:03:42,860 --> 00:03:44,860 با پیام های متنی هشدار آنها را به این واقعیت است. 75 00:03:44,860 --> 00:03:47,026 بنابراین من فکر کردم ما سعی می کنیم که برای از نو خلق همان در اینجا، 76 00:03:47,026 --> 00:03:49,610 به موجب آن با استفاده از یک پایگاه داده نیست، من به جای در پیش 77 00:03:49,610 --> 00:03:51,490 برنامه ای است که به نظر می رسد مثل این می نوشت. 78 00:03:51,490 --> 00:03:53,660 >> این index.php-- است و من این کد را قرار داده آنلاین 79 00:03:53,660 --> 00:03:56,710 به عنوان well-- که ظاهرا فقط ارائه form.php، 80 00:03:56,710 --> 00:04:00,990 با استفاده از الگوی MVC یک سبک است که ما صحبت در مورد جزئیات بیشتر در مجموعه ای مشکل 81 00:04:00,990 --> 00:04:01,650 هفت. 82 00:04:01,650 --> 00:04:02,910 که به صورت بسیار ساده است. 83 00:04:02,910 --> 00:04:06,634 آن را برای ارسال به فایل here.php از طریق پست به نام. 84 00:04:06,634 --> 00:04:09,300 و آن را ظاهرا به درخواست برای یک نام و یک شماره تلفن، 85 00:04:09,300 --> 00:04:11,400 و پس از آن از طریق به اصطلاح انتخاب منو، آن را 86 00:04:11,400 --> 00:04:14,250 رفتن به شما حداقل چهار را محبوب حامل تلفن همراه در ایالات متحده، 87 00:04:14,250 --> 00:04:17,470 و پس از آن اجازه می دهد تا شما را به طور موثر را حضور با کلیک در اینجا. 88 00:04:17,470 --> 00:04:20,471 >> و در اینجا، در همین حال، در حال رفتن به قرض برخی از کد آن را از زمان گذشته است. 89 00:04:20,471 --> 00:04:22,553 و اگر شما فقط این خامه ای، شما خواهید دید که وجود دارد این است که 90 00:04:22,553 --> 00:04:23,900 یک دسته کامل از چک کردن خطا. 91 00:04:23,900 --> 00:04:26,640 اما زیبایی در پایان این است که ما به یک پایگاه داده نوشتن نه امروز. 92 00:04:26,640 --> 00:04:29,130 ما آن را ساده نگه داشتن و فقط امیدوارم ارسال 93 00:04:29,130 --> 00:04:32,190 یک پیام متنی از طریق تابع I طی چند روز گذشته نوشت تماس 94 00:04:32,190 --> 00:04:36,270 متن، که در توابع. پی اچ پی، که دوباره در دسترس است. 95 00:04:36,270 --> 00:04:38,210 >> بنابراین اگر شما می خواهم به شریک شدن در این. 96 00:04:38,210 --> 00:04:40,190 ما قصد داریم به ذخیره سازی هر چیزی. 97 00:04:40,190 --> 00:04:43,809 برو به این URL در اینجا در زمان واقعی است. 98 00:04:43,809 --> 00:04:46,850 آن را ارائه نه فقط رتبهدهی نشده است، اما اجازه دهید ببینید اگر ما می توانیم یکی از این فیلم داشته باشد 99 00:04:46,850 --> 00:04:49,830 لحظه که تلفن همراه همه شروع می شود beeping، امیدوارم فقط 100 00:04:49,830 --> 00:04:53,580 یک بار در سال جاری بر خلاف در سال 2011 جایی که این رفت به طرز وحشیانه ای به چپ چپ. 101 00:04:53,580 --> 00:04:58,910 و هنگامی که شما به آن آدرس بروید، شما باید یک فرم فوق العاده ساده را ببینید 102 00:04:58,910 --> 00:05:03,884 که اگر شما یک نام، تلفن همراه تعداد و حامل تلفن همراه است که 103 00:05:03,884 --> 00:05:06,175 مسابقات لیست وجود دارد، به پیش رو و با پر کردن فرم. 104 00:05:06,175 --> 00:05:07,880 اما آیا برخورد کند ارائه فقط رتبهدهی نشده است. 105 00:05:07,880 --> 00:05:10,850 >> فرم رفتن به شبیه به این. 106 00:05:10,850 --> 00:05:13,660 پیش بروید و نوع در نام شما، شماره تلفن. 107 00:05:13,660 --> 00:05:17,670 OOP، کسی رفتن جلوتر از منحنی. 108 00:05:17,670 --> 00:05:18,170 این OK. 109 00:05:18,170 --> 00:05:19,340 OK، همه پر کردن فرم. 110 00:05:19,340 --> 00:05:21,400 این باید در کار تلفن، TOO، اگر شما می خواهید. 111 00:05:21,400 --> 00:05:23,695 همه حق است، در علائم خود را، دریافت مجموعه، بروید. 112 00:05:23,695 --> 00:05:24,195 آمار اینجا. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 چه؟ 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 شماره 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 به خدا سوگند، من تست شده این چندین بار است. 119 00:05:40,250 --> 00:05:41,720 شما آن را کردم؟ 120 00:05:41,720 --> 00:05:43,145 >> [INTERPOSING صداهای] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> DAVID مالان: OK، خطای کاربر شاید. 123 00:05:49,560 --> 00:05:50,550 که دو است. 124 00:05:50,550 --> 00:05:53,300 این دو از کار چند صد، سه، چهار. 125 00:05:53,300 --> 00:05:55,940 OK، که خوب است. 126 00:05:55,940 --> 00:05:58,520 چهار از پنج را برای چگونه در مورد صحت. 127 00:05:58,520 --> 00:05:59,810 >> پس چه اتفاقی افتاده؟ 128 00:05:59,810 --> 00:06:02,727 بنابراین احتمالا، بدون دیدن شما صفحه نمایش، چرا ممکن است آن را errored اند؟ 129 00:06:02,727 --> 00:06:05,518 این احتمالا که ما فقط بود تلاش برای ایجاد بیش از حد بسیاری از اتصالات 130 00:06:05,518 --> 00:06:08,110 به سرور ایمیل دانشگاه هاروارد همه در یک بار از همان آدرس IP. 131 00:06:08,110 --> 00:06:10,740 من فقط حدس زدن از من نیست دارای لوکس تست 132 00:06:10,740 --> 00:06:13,220 این کد با برخی از 300 نفر در پیشبرد 133 00:06:13,220 --> 00:06:16,040 اما در حال حاضر متوجه است که که باید حداقل 134 00:06:16,040 --> 00:06:18,250 کار انجام شده در این زمان رفت. 135 00:06:18,250 --> 00:06:22,880 >> همه حق است، پس چرا این همه وابسته تر به چه خبر است؟ 136 00:06:22,880 --> 00:06:24,900 خب اول، سریع چند اطلاعیه. 137 00:06:24,900 --> 00:06:29,350 بنابراین یکی، اگر شما می خواهم برای پیوستن به چانگ، و نیک، و دیگران در این ناهار روز جمعه، 138 00:06:29,350 --> 00:06:32,400 انجام RSVP در URL معمول وجود دارد. 139 00:06:32,400 --> 00:06:35,650 اگر شما به فکر تمرکز یا انجام ثانویه در CS، 140 00:06:35,650 --> 00:06:38,941 آیا شما یک دانشجوی سال دوم، و یا دانشجوی سال اول، و یا حتی تاریخ یا ارشد در این نقطه 141 00:06:38,941 --> 00:06:42,490 و هنوز هم می تواند در دوره های فشار، متوجه است که مدرسه مهندسی 142 00:06:42,490 --> 00:06:45,620 برای آزاد بن جمع آوری و بستنی جری و مشاوره 143 00:06:45,620 --> 00:06:48,910 چهارشنبه مدت کوتاهی پس از کلاس ساعت 4:00 بعد از ظهر در ساختمان CS 144 00:06:48,910 --> 00:06:49,771 در ماکسول دورکین. 145 00:06:49,771 --> 00:06:51,520 اگر این است بیش از حد سریع بر روی صفحه نمایش، فقط به 146 00:06:51,520 --> 00:06:55,260 به cs50.harvard.edu برای پیوند به رویداد فیس بوک 147 00:06:55,260 --> 00:06:57,140 که در آن شما می توانید جزئیات بیشتری را مشاهده کنید. 148 00:06:57,140 --> 00:07:01,390 >> در همین حال، من فکر کردم من اصلاح یک چیز دیگر من در روز چهارشنبه goofed. 149 00:07:01,390 --> 00:07:04,400 معلوم است که ID مارک در فیس بوک سه نیست. 150 00:07:04,400 --> 00:07:05,230 این چهار بود. 151 00:07:05,230 --> 00:07:08,330 تبدیل کردن او به حال بیش آزمون حساب از من یاد می آورند. 152 00:07:08,330 --> 00:07:12,400 اما آنچه این احساس فرصت برای انجام این کار است به جلو و یک URL مثل این. 153 00:07:12,400 --> 00:07:16,680 >> پس معلوم است که فیس بوک API، رابط کاربردی برنامه نویسی، 154 00:07:16,680 --> 00:07:20,070 که یک مکانیسم موجب آن شما می توانید داده ها برنامه نویسی درخواست 155 00:07:20,070 --> 00:07:24,480 در فیس بوک و بازگشت به ماشین آلات اطلاعات قابل خواندن، صفحات وب نمی 156 00:07:24,480 --> 00:07:28,690 اما فقط متن خام، چیزی به نام جاوا اسکریپت نشانه گذاری شی. 157 00:07:28,690 --> 00:07:32,150 و در واقع، اگر این دیدار من URL، و بزرگ نمایی، به طور پیش فرض، 158 00:07:32,150 --> 00:07:34,960 این مارک عمومی اطلاعات در دسترس است. 159 00:07:34,960 --> 00:07:37,430 >> و جزئیات جالب اینجا که فقط ID خود است 160 00:07:37,430 --> 00:07:40,670 در واقع، تعداد چهار، که من به عنوان به زودی به عنوان من این را متوجه شدم. 161 00:07:40,670 --> 00:07:44,260 شما می توانید خودتان این را انجام دهید اگر شما می دانید نام کاربری فیس بوک خود را در صورتی که دارای یک. 162 00:07:44,260 --> 00:07:45,440 فقط آن را در بالا وجود دارد. 163 00:07:45,440 --> 00:07:46,640 و هیچ یک از این خصوصی است. 164 00:07:46,640 --> 00:07:48,670 من فقط انجام این کار حتی در حالت ناشناس. 165 00:07:48,670 --> 00:07:49,900 بنابراین من حتی عضو وارد نشده اید. 166 00:07:49,900 --> 00:07:54,440 و شما از دیدن که من ظاهرا تعداد کاربر 6،454 بود 167 00:07:54,440 --> 00:07:56,480 در فیس بوک است که نمی خیلی بد است این روزها. 168 00:07:56,480 --> 00:07:59,900 پس به هر حال، شما همچنین خواهید دید اطلاعات اضافی وجود دارد. 169 00:07:59,900 --> 00:08:02,150 >> و جنبه های مفید از آن این است که شما 170 00:08:02,150 --> 00:08:06,890 می تواند نرم افزار خود را ارسال که به نحوی ادغام داده ها مثل این 171 00:08:06,890 --> 00:08:08,170 به برنامه خود شما. 172 00:08:08,170 --> 00:08:10,650 شما می توانید کاربران را به توانمند سازی ورود به وب سایت خود را، 173 00:08:10,650 --> 00:08:14,190 با استفاده از نام کاربری خود را سفارشی نیست و رمز عبور اما شاید ورود به فیس بوک خود 174 00:08:14,190 --> 00:08:16,170 و حتی دریافت اطلاعات در مورد دوستان خود، 175 00:08:16,170 --> 00:08:18,740 اگر آنها تایید مانند، و یا. 176 00:08:18,740 --> 00:08:21,430 بنابراین توجه داشته باشید که CS50، بیش از حد، تا به برخی از رابط های برنامه کاربردی خود، 177 00:08:21,430 --> 00:08:24,620 یکی برای داده کاتولوگ البته، برخی برای منوها در آغوش ناهار خوری 178 00:08:24,620 --> 00:08:26,730 سالن، همه از ساختمان ها و مکان های 179 00:08:26,730 --> 00:08:30,930 در دانشگاه ما یک API برای و همچنین که شما می توانید به همین ترتیب پرس و جو و دریافت 180 00:08:30,930 --> 00:08:35,520 داده های متنی که شما می توانید به عقب یکپارچه به PHP، جاوا اسکریپت و یا، و یا حتی، 181 00:08:35,520 --> 00:08:38,320 هر چند به میزان کمتر، C پروژه نهایی است. 182 00:08:38,320 --> 00:08:41,190 >> در واقع پیش رو برای نهایی پروژه چند نقاط عطف هستند. 183 00:08:41,190 --> 00:08:42,980 شما یک ایمیل از ما در روز های دیگر است. 184 00:08:42,980 --> 00:08:45,761 متوجه است که پیشنهاد به دلیل این دوشنبه آینده. 185 00:08:45,761 --> 00:08:49,010 بنابراین، الزام آور نیست، اما شما آیا نیاز به دریافت بورسیه آموزش شما 186 00:08:49,010 --> 00:08:51,260 تایید قبل از ساخت هر گونه تغییر پس از آن. 187 00:08:51,260 --> 00:08:54,280 و پس از آن در پیش است تعدادی دیگر از نقاط عطف. 188 00:08:54,280 --> 00:08:56,542 >> بنابراین به شما کسی را دست انداختن، بیش از حد، با برخی از فرصت، 189 00:08:56,542 --> 00:08:58,250 ما یک دسته از این لامپ رنگ. 190 00:08:58,250 --> 00:09:01,190 و برخی از شما بچه ها در حال حاضر برخی از این در اتاق خوابگاه خود را به عنوان به خوبی. 191 00:09:01,190 --> 00:09:02,920 و آنها نیز API داشته باشد. 192 00:09:02,920 --> 00:09:07,300 بنابراین کسانی که هفته لامپ های باینری به یاد پیش که دن برادلی و انسل 193 00:09:07,300 --> 00:09:08,780 داف برای ما ایجاد شده است. 194 00:09:08,780 --> 00:09:12,560 آنها یک رابط نرم افزار به استفاده این لامپ، که در حال حاضر 195 00:09:12,560 --> 00:09:15,232 به برق وصل و پس از آن از طریق بی سیم 196 00:09:15,232 --> 00:09:17,690 به یک چیز کوچک متصل به نام پل را در اینجا، 197 00:09:17,690 --> 00:09:21,280 مانند یک روتر اختصاصی کمی این دستگاه خاص. 198 00:09:21,280 --> 00:09:26,540 >> اما معلوم است که اگر من می دانم که چگونه به ارسال پیام HTTP، همانطور که همه ما در حال حاضر، 199 00:09:26,540 --> 00:09:31,670 من می توانم یک پیام مانند این به ارسال این لامپ به آن را روشن یا خاموش 200 00:09:31,670 --> 00:09:34,000 و یا انجام هر تعداد عملیات دیگر بر روی آن. 201 00:09:34,000 --> 00:09:36,110 توجه داشته باشید که آن را می کنید، آن را ارسال کنید. 202 00:09:36,110 --> 00:09:37,760 یکی دیگه به ​​نام می شود وجود دارد. 203 00:09:37,760 --> 00:09:39,630 در واقع برخی دیگر از جمله افعال وجود دارد. 204 00:09:39,630 --> 00:09:42,920 اما متوجه یک راه وجود دارد، بریده بریده API، بریده بریده توسعه جدید، 205 00:09:42,920 --> 00:09:44,990 بریده بریده نور، بریده بریده یک، بریده بریده دولت است. 206 00:09:44,990 --> 00:09:49,060 >> که ظاهرا فقط مسیر است که این شرکت، فیلیپس، 207 00:09:49,060 --> 00:09:51,640 تصمیم گرفت که شما را مجبور به آمار با یک درخواست HTTP 208 00:09:51,640 --> 00:09:55,010 اگر شما می خواهید به تغییر دولت از لامپ با استفاده از HTTP 1.1. 209 00:09:55,010 --> 00:09:56,380 سپس متوجه خط خالی. 210 00:09:56,380 --> 00:10:00,170 و سپس در نهایت آنچه که به نظر می رسد نوع آرایه ای از نوعی، 211 00:10:00,170 --> 00:10:04,730 این است که دوباره به آن می شود جاوا اسکریپت نشانه گذاری شیء، یا جیسون. 212 00:10:04,730 --> 00:10:08,000 و آنچه که اینجا میبینید این است که سه جفت ارزش کلیدی وجود دارد. 213 00:10:08,000 --> 00:10:09,115 >> یک کلید بر نامیده می شود. 214 00:10:09,115 --> 00:10:10,990 و ارزش خود را به ظاهر است که درست باشد. 215 00:10:10,990 --> 00:10:13,612 روشنایی 128، است که نوعی از نوع int است. 216 00:10:13,612 --> 00:10:15,820 و سپس زمان انتقال است صفر، است که ظاهرا 217 00:10:15,820 --> 00:10:17,970 چه مدت آن را به را به نوبه خود این چیز در. 218 00:10:17,970 --> 00:10:19,890 >> بنابراین در حال حاضر این لامپ خاموش است. 219 00:10:19,890 --> 00:10:22,880 اما اگر من دقیقا this-- اجازه مرا به بازی ورق کمی 220 00:10:22,880 --> 00:10:25,200 که دن در راه اندازی advance-- و من قصد دارم 221 00:10:25,200 --> 00:10:27,920 به جلو بروید و کپی از دستور زیر. 222 00:10:27,920 --> 00:10:30,200 حلقه، به عنوان برخی از شما ممکن است در CS50 شایان 223 00:10:30,200 --> 00:10:35,080 بحث در مورد ابزار مانند شبکه راه دور به گونه ای است که شما می توانید درخواست های HTTP شبیه سازی، 224 00:10:35,080 --> 00:10:36,360 به طور خاص قرار می دهد. 225 00:10:36,360 --> 00:10:39,710 من می توانم این اطلاعات ارسال، به طور خاص چیزی است که ما فقط 226 00:10:39,710 --> 00:10:43,430 یک لحظه دیدم پیش به طور خاص این URL در اینجا. 227 00:10:43,430 --> 00:10:46,310 و پس از آن حلقه به رتق و فتق همه از هدر لازم 228 00:10:46,310 --> 00:10:47,600 و تجزیه وجود دارد از. 229 00:10:47,600 --> 00:10:54,700 >> بنابراین تمام من مجبور به انجام آن کپی کنید این را به یک پنجره ترمینال و سپس کلید را وارد کنید. 230 00:10:54,700 --> 00:10:56,000 و لامپ می رود. 231 00:10:56,000 --> 00:10:59,060 و این همه را از طریق رفتن کامپیوتر من به صورت بی سیم 232 00:10:59,060 --> 00:11:01,960 به نحوی به پایین پل، که است و سپس صحبت کردن به این لامپ. 233 00:11:01,960 --> 00:11:02,960 من چیز دیگری می توانید انجام دهید. 234 00:11:02,960 --> 00:11:07,050 من می توانم این چیز را به رنگ قرمز به عنوان مثال. 235 00:11:07,050 --> 00:11:11,040 من می توانم به عنوان مثال را این چیزی که سبز. 236 00:11:11,040 --> 00:11:12,220 من می توانم آن را به آبی. 237 00:11:12,220 --> 00:11:14,760 >> و اطلاع در هر یک از این موارد، تمام چیزی که برایش تغییر 238 00:11:14,760 --> 00:11:18,540 به اصطلاح ارزش رنگ است در واقع آن را برخی از رنگ را. 239 00:11:18,540 --> 00:11:20,320 بنابراین، اجازه دهید این یکی دادن در نیز هست. 240 00:11:20,320 --> 00:11:21,000 در حال حاضر آن آبی رنگ است. 241 00:11:21,000 --> 00:11:24,672 >> و شما می توانید حتی خیال باف انجام همه چیز where-- اجازه دهید به سبز بروید. 242 00:11:24,672 --> 00:11:26,630 و من می توانم این کار را انجام از البته با کد خود من. 243 00:11:26,630 --> 00:11:30,670 اما حتی خود API پشتیبانی از عملیات های بد بو 244 00:11:30,670 --> 00:11:35,510 مثل این که در حال حاضر زحمت ما برای 30 ثانیه بعد. 245 00:11:35,510 --> 00:11:39,170 >> به طوری که یک طعم و مزه چیزی است که شما ممکن است با API، این یکی مربوط به 246 00:11:39,170 --> 00:11:40,010 لامپ. 247 00:11:40,010 --> 00:11:42,510 توجه داشته باشید که CS50 دارای یک زن و شوهر جفت گوگل شیشه ای اگر شما می خواهم 248 00:11:42,510 --> 00:11:45,380 دوست برای مقابله با چیزی همراه آن خطوط، آردوینو Unos، که 249 00:11:45,380 --> 00:11:48,670 کامپیوتر کوچک، اساسا، از روی یک مدار کمی 250 00:11:48,670 --> 00:11:50,470 که شما می توانید اتصال سیم و چیزهای دیگر 251 00:11:50,470 --> 00:11:52,732 و در واقع کنترل محیط زیست جهان واقعی خود را. 252 00:11:52,732 --> 00:11:54,940 و پس از آن یک زن و شوهر وجود دارد اسباب بازی های جدید است که ما داریم. 253 00:11:54,940 --> 00:11:59,294 این یکی به معنای واقعی کلمه فقط وارد روز دیگر از طریق پست، میو بازوبند. 254 00:11:59,294 --> 00:12:01,710 و من فکر کردم این یک راه برای به شما را در مورد پروژه هیجان زده 255 00:12:01,710 --> 00:12:03,720 که شما ممکن است با استفاده از این امر سخت افزار 256 00:12:03,720 --> 00:12:08,900 است برای پخش این کلیپ های کوتاه که از آن استفاده میکنند به کسی را دست انداختن مردمی 257 00:12:08,900 --> 00:12:10,500 که ما در حال حاضر در آینده زندگی می کنند. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [MUSIC پخش] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> DAVID مالان: بنابراین در چند هفته، شما بیش از حد می تواند این باشد که در نمایشگاه CS50 سرد. 262 00:13:37,109 --> 00:13:39,150 دستگاه دیگری که ما یک دسته از ما که 263 00:13:39,150 --> 00:13:42,090 خوشحال به وام برای پروژه های یک کنترل کننده حرکت نامیده می شود. 264 00:13:42,090 --> 00:13:45,030 این یک دستگاه USB کمی است شما را به یک کامپیوتر متصل کنند 265 00:13:45,030 --> 00:13:47,520 اجازه می دهد تا شما را به ارتباط برقرار کردن با لپ تاپ شما، مک و یا PC، 266 00:13:47,520 --> 00:13:51,570 به عنوان اینکه شما مثل یک ایکس باکس کینکت به حال و در واقع حرکات فیزیکی را بسیار 267 00:13:51,570 --> 00:13:54,509 مثل ما در این را ببینید چشم انداز آینده. 268 00:13:54,509 --> 00:13:56,505 >> [MUSIC پخش] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> DAVID مالان: بنابراین حتی اگر شما هیچ ایده چگونه چیزی شبیه به آن 271 00:15:06,260 --> 00:15:10,050 احتمالا اختراع و یا کار در سطح سخت افزار، بدون توجه به. 272 00:15:10,050 --> 00:15:13,520 حتی پس از چند ماه از CS50، و درک درستی از برنامه نویسی 273 00:15:13,520 --> 00:15:19,460 به طور کلی، و برنامه نویسی وب تر به تازگی، و پس از آن نیز از API های، و HTTP، 274 00:15:19,460 --> 00:15:21,830 شما دسترسی از طریق دارای رابط های برنامه کاربردی نرم افزار اگر شما 275 00:15:21,830 --> 00:15:24,680 نمی خواهم به قرض گرفتن یکی از این دستگاه به واقع به آن صحبت کنید 276 00:15:24,680 --> 00:15:27,180 و لازم نیست که نگران اجرای اساسی 277 00:15:27,180 --> 00:15:30,220 جزئیات، است که به طور کامل سازگار با این مفهوم لایه بندی 278 00:15:30,220 --> 00:15:33,610 انتزاع ایم که در طول ترم دیده می شود. 279 00:15:33,610 --> 00:15:37,990 >> بنابراین بیش از آخر هفته، دیدم یک زن و شوهر قطعه از اخبار است. 280 00:15:37,990 --> 00:15:40,640 برو اول، رفتن به سمینارها اگر شما می خواهم چیزی را یاد بگیرید 281 00:15:40,640 --> 00:15:42,160 بیشتر در مورد هر تعداد از موضوعات. 282 00:15:42,160 --> 00:15:43,340 URL وجود دارد. 283 00:15:43,340 --> 00:15:45,890 و این یکی به آن ارسال شد من توسط چانگ، که می دانید، 284 00:15:45,890 --> 00:15:47,850 که چاپ ارتش ما از فیل. 285 00:15:47,850 --> 00:15:49,910 و این تیتر به شرح زیر بود. 286 00:15:49,910 --> 00:15:51,280 من وحشت زده از تلویزیون جدید من هستم. 287 00:15:51,280 --> 00:15:54,301 چرا من می ترسم به نوبه خود این چیزی که در و شما بیش از حد می شود. 288 00:15:54,301 --> 00:15:56,050 بنابراین ما در حال حاضر در هستی نقطه در ترم، 289 00:15:56,050 --> 00:15:58,860 بیش از حد، که در آن حتی اگر کوچکترین درک 290 00:15:58,860 --> 00:16:02,620 چگونه وب کار می کند، و HTTP، و امنیت، چیزهایی مثل این 291 00:16:02,620 --> 00:16:03,980 باید شروع به گرفتن چشم خود را. 292 00:16:03,980 --> 00:16:07,450 اما همچنین، شما درک آیا این چیزها هستند یا نه 293 00:16:07,450 --> 00:16:08,430 تهدید واقعی. 294 00:16:08,430 --> 00:16:10,940 >> بنابراین من در زمان چند گزیده از این مقاله در اینجا. 295 00:16:10,940 --> 00:16:12,540 و داستان به شرح زیر است. 296 00:16:12,540 --> 00:16:14,300 من در حال حاضر مالک تلویزیون های هوشمند جدید، که 297 00:16:14,300 --> 00:16:18,470 وعده به ارائه جریان محتوای چند رسانه ای، بازی ها، برنامه، 298 00:16:18,470 --> 00:16:21,450 رسانه های اجتماعی و اینترنت مرور، آه و تلویزیون بیش از حد. 299 00:16:21,450 --> 00:16:24,410 تنها مشکل این است که من در حال حاضر ترس از آن استفاده کنید، می گوید: نویسنده. 300 00:16:24,410 --> 00:16:29,592 شما خواهد بود، بیش از حد، اگر شما خواندن را از طریق سیاست حفظ حریم خصوصی 46 صفحه برای تلویزیون خود را. 301 00:16:29,592 --> 00:16:31,800 مقدار داده این جمع آوری چیز سرسام آور است. 302 00:16:31,800 --> 00:16:35,710 این سیاهههای مربوط که در آن، چه زمانی، چگونه، و برای چه مدت استفاده از تلویزیون. 303 00:16:35,710 --> 00:16:38,190 این مجموعه ردیابی کوکی ها، که بحث، 304 00:16:38,190 --> 00:16:40,560 و چراغ طراحی شده برای تشخیص زمانی که شما 305 00:16:40,560 --> 00:16:43,185 محتوای خاص را مشاهده و یا یک پیام ایمیل خاص 306 00:16:43,185 --> 00:16:45,230 اگر شما می خواهید برای چک کردن ایمیل بر روی تلویزیون خود را. 307 00:16:45,230 --> 00:16:48,430 این رکورد برنامه شما استفاده، وب سایت بازدید می کنید، 308 00:16:48,430 --> 00:16:52,280 و چگونه شما با محتوای تعامل، انجام همه از آن از طریق تلویزیون های هوشمند خود را. 309 00:16:52,280 --> 00:16:55,470 این نیز، yet-- creepier که addition-- من 310 00:16:55,470 --> 00:16:58,140 ساخته شده در دوربین با شناسایی چهره با چهره. 311 00:16:58,140 --> 00:17:01,010 >> هدف این است که برای کنترل حرکت برای تلویزیون 312 00:17:01,010 --> 00:17:05,490 و شما را قادر به ورود به شخصی حساب کاربری با استفاده از صورت خود را. 313 00:17:05,490 --> 00:17:08,940 در حرکت صعودی، تصاویر ذخیره شده بر روی تلویزیون به جای آپلود 314 00:17:08,940 --> 00:17:09,940 به سرور شرکت ها. 315 00:17:09,940 --> 00:17:12,520 در حرکت نزولی، اینترنت اتصال باعث می شود کل TV 316 00:17:12,520 --> 00:17:14,811 آسیب پذیر به هکرها که توانایی نشان داده اند 317 00:17:14,811 --> 00:17:16,700 به دست گرفتن کنترل کامل دستگاه. 318 00:17:16,700 --> 00:17:20,880 >> دردسر بیشتر، اگر بود که نمی به اندازه کافی هوشمند، میکروفون است. 319 00:17:20,880 --> 00:17:23,599 تلویزیون دارای صدای قابلیت تشخیص 320 00:17:23,599 --> 00:17:26,859 که اجازه می دهد تا بینندگان را به کنترل صفحه نمایش با دستورات صوتی. 321 00:17:26,859 --> 00:17:30,290 اما همراه با خدمات یک هشدار و نه شوم. 322 00:17:30,290 --> 00:17:33,030 لطفا توجه داشته باشید که اگر کلمات صحبت خود را شامل 323 00:17:33,030 --> 00:17:36,210 شخصی یا دیگر حساس اطلاعات، که اطلاعات 324 00:17:36,210 --> 00:17:40,310 در میان داده ها اسیر می شود و انتقال به شخص ثالث. 325 00:17:40,310 --> 00:17:40,870 کردم که؟ 326 00:17:40,870 --> 00:17:45,860 آیا می گویند شخصی و یا حساس مسائل در مقابل تلویزیون خود را. 327 00:17:45,860 --> 00:17:47,280 >> پس این است که در واقع برای واقعی است. 328 00:17:47,280 --> 00:17:50,530 و آن را سخت برای دیدن اگر شما نمی رفتن به بهترین فروش و یا مانند برای تلویزیون 329 00:17:50,530 --> 00:17:51,030 این روزها. 330 00:17:51,030 --> 00:17:52,540 همه آنها در برخی از راه های هوشمند هستیم. 331 00:17:52,540 --> 00:17:54,740 و آنها گرفتن دقیق و creepier. 332 00:17:54,740 --> 00:17:57,490 و آنها را به سادگی جمع آوری داده ها در راه است که ما در مورد صحبت کردیم 333 00:17:57,490 --> 00:18:01,840 و سپس آن را آپلود از طریق HTTP و یا برخی از پروتکل های دیگر را به برخی از سرور. 334 00:18:01,840 --> 00:18:05,720 >> بنابراین این یک مقاله سرگرم کننده در این وب سایت آنلاین 335 00:18:05,720 --> 00:18:08,940 در اینجا، که در مورد صحبت کردیم اشکال خاص و یا کد اشتباه 336 00:18:08,940 --> 00:18:11,340 که ما در واقع می تواند کراوات به بحث در هفته گذشته است. 337 00:18:11,340 --> 00:18:15,730 بنابراین این تیتر را به عنوان بود شرح زیر است، داستان در اینجا می رود، 338 00:18:15,730 --> 00:18:18,720 جاش Breckman برای کار شرکت است که فرود یک قرارداد 339 00:18:18,720 --> 00:18:22,390 به منظور توسعه یک مدیریت محتوا سیستم، و یا CMS به عنوان آنها نامیده می شود، 340 00:18:22,390 --> 00:18:24,380 برای یک وب سایت نسبتا بزرگ دولت است. 341 00:18:24,380 --> 00:18:27,300 بخش عمده ای از پروژه در حال توسعه یک سیستم مدیریت محتوا 342 00:18:27,300 --> 00:18:29,840 به طوری که کارکنان می شود قادر به ساخت و حفظ 343 00:18:29,840 --> 00:18:31,877 همیشه در حال تغییر محتوا برای سایت خود. 344 00:18:31,877 --> 00:18:34,210 همه چیز به خوبی برای رفت چند روز پس از رفتن زندگی می کنند. 345 00:18:34,210 --> 00:18:37,020 اما در روز شش، همه چیز رفت تا به خوبی نیست. 346 00:18:37,020 --> 00:18:39,500 همه از محتوا در وب سایت به طور کامل از بین رفته بود. 347 00:18:39,500 --> 00:18:42,950 و تمام صفحات به طور پیش فرض منجر شد، لطفا به صفحه وب محتوای وارد کنید. 348 00:18:42,950 --> 00:18:43,810 اوه. 349 00:18:43,810 --> 00:18:46,080 جاش به نام شد بررسی و متوجه 350 00:18:46,080 --> 00:18:49,390 که یکی به خصوص در سخت آدرس IP خارجی 351 00:18:49,390 --> 00:18:53,380 رفته در و حذف همه محتوای بر روی سیستم. 352 00:18:53,380 --> 00:18:56,290 >> آدرس IP به آن تعلق نمی به برخی از خم هکر در خارج از کشور 353 00:18:56,290 --> 00:18:58,340 در از بین بردن مفید اطلاعات دولتی. 354 00:18:58,340 --> 00:19:05,190 این حل و فصل به googlebot.com، خزنده تار عنکبوت بسیار خود گوگل است. 355 00:19:05,190 --> 00:19:06,010 اوه. 356 00:19:06,010 --> 00:19:09,150 پس از کمی تحقیق و تقلا در اطراف برای پیدا کردن یک نسخه پشتیبان تهیه noncorrupt، 357 00:19:09,150 --> 00:19:10,180 جاش مشکل پیدا کرد. 358 00:19:10,180 --> 00:19:12,700 >> کاربر کپی کرده و جا به جا برخی از مطالب را از یک 359 00:19:12,700 --> 00:19:15,670 صفحه خود را به دیگری، از جمله ویرایش لینک 360 00:19:15,670 --> 00:19:17,577 ویرایش محتوا در صفحه 361 00:19:17,577 --> 00:19:20,160 به طور معمول این نخواهد بود موضوع را از کاربر خارج می 362 00:19:20,160 --> 00:19:24,320 نیاز به یک نام و رمز عبور را وارد کنید، اما سیستم احراز هویت سیستم مدیریت محتوا، 363 00:19:24,320 --> 00:19:27,520 سیستم ورود به سیستم، آیا به حساب نمی 364 00:19:27,520 --> 00:19:30,980 هک پیشرفته تکنیک های گوگل عنکبوتی. 365 00:19:30,980 --> 00:19:31,700 اوه. 366 00:19:31,700 --> 00:19:33,610 >> همانطور که معلوم است، گوگل عنکبوتی استفاده نمی کند 367 00:19:33,610 --> 00:19:36,950 کوکی ها، به این معنی که می توانید به راحتی دور زدن چک برای 368 00:19:36,950 --> 00:19:39,840 در مجموعه کوکی به سیستم وارد می شود نادرست است. 369 00:19:39,840 --> 00:19:42,620 همچنین این توجه به عدم پرداخت جاوا اسکریپت، که به طور معمول 370 00:19:42,620 --> 00:19:45,170 سریع و تغییر مسیر کاربران که به سیستم وارد نشدهاید. 371 00:19:45,170 --> 00:19:48,610 با این حال این هر دنبال لینک در هر صفحه آن را پیدا کرد، 372 00:19:48,610 --> 00:19:51,700 از جمله کسانی که با حذف صفحه در عنوان. 373 00:19:51,700 --> 00:19:52,650 اوه. 374 00:19:52,650 --> 00:19:56,070 >> پس به چه معنی است در بیش اصطلاحات فنی اما نسبتا قابل دسترس؟ 375 00:19:56,070 --> 00:19:58,340 این فقط بدان معنی است که در سراسر وب سایت خود، 376 00:19:58,340 --> 00:20:02,287 آنها URL ها به حال بر خلاف این نیست که شما ممکن است را در مجموعه هفت مشکل. 377 00:20:02,287 --> 00:20:04,620 به یاد بیاورید در مجموعه مسائل هفت یا می دانید در مجموعه مسائل هفت 378 00:20:04,620 --> 00:20:06,411 که شما به چالش کشیده می شود، در میان چیزهای دیگر، 379 00:20:06,411 --> 00:20:08,570 به فروش سهام به نمایندگی از کاربران. 380 00:20:08,570 --> 00:20:14,010 اما اجرای آن ویژگی های راه از طریق لینک در کاربر خود را دریافت کنید 381 00:20:14,010 --> 00:20:16,880 رابط، احتمالا نه هوشمندانه ترین ایده 382 00:20:16,880 --> 00:20:20,300 چرا که اگر سایت خود را به نحوی توسط انسان یا در دسترس 383 00:20:20,300 --> 00:20:23,577 که با کلیک کردن در اطراف و یا خرید ربات مانند گوگل یا یک عنکبوت 384 00:20:23,577 --> 00:20:26,160 به عنوان آنها نامیده می شود که فقط خزنده وب تلاش برای شاخص 385 00:20:26,160 --> 00:20:29,060 وب به عنوان یک موتور جستجو، آنها می توانند به راحتی 386 00:20:29,060 --> 00:20:31,340 آمار از طریق این نوع از URL. 387 00:20:31,340 --> 00:20:33,770 و این عملکرد معادل، در این مورد، 388 00:20:33,770 --> 00:20:37,000 فروش تمام سهام گوگل. 389 00:20:37,000 --> 00:20:40,030 >> حالا رک و پوست کنده، آن را به طور کامل نادان که CMS 390 00:20:40,030 --> 00:20:43,240 استفاده از جاوا اسکریپت و کوکی ها پیاده سازی سیستم ورود به آن 391 00:20:43,240 --> 00:20:47,100 و انجام آن نیست که سمت سرور، به عنوان شما بچه ها انجام خواهد شد و در PSet 7-- 392 00:20:47,100 --> 00:20:49,940 یک login.php وجود دارد file-- همیشه، همیشه، 393 00:20:49,940 --> 00:20:52,789 همیشه باید امنیت انجام شده در سمت سرور، 394 00:20:52,789 --> 00:20:56,080 نه در سمت سرویس گیرنده به دلیل، به عنوان این مقاله نشان می دهد و شما ممکن است خودتان 395 00:20:56,080 --> 00:20:59,600 در برخی از نقطه، آن است بی اهمیت برای کاربر، خوب یا بد، 396 00:20:59,600 --> 00:21:02,860 فقط به خاموش کردن جاوا اسکریپت به ذکر کوکی نیست. 397 00:21:02,860 --> 00:21:06,020 به طوری که WTF روزانه شما است. 398 00:21:06,020 --> 00:21:07,970 >> یکی بیشتر، وجود دارد که فقط نوع ترسناک، 399 00:21:07,970 --> 00:21:11,360 تا من آن را در صورت ذکر تنها به عنوان یک درس زندگی است. 400 00:21:11,360 --> 00:21:14,850 هر زمان که شما با استفاده از یک برنامه به نام مثل اسنپ چت و یا مانند 401 00:21:14,850 --> 00:21:19,380 که می گوید این عکس ها فقط برای آخرین پنج ثانیه، ده ثانیه، و یا فلان چیز. 402 00:21:19,380 --> 00:21:21,680 آنها زودگذر است که هستیم کاملا این مورد نیست. 403 00:21:21,680 --> 00:21:25,670 مثل هیچ راهی وجود دارد، دیجیتالی، برای اجرای نوعی از ویدئو، 404 00:21:25,670 --> 00:21:30,150 یا تصویر یا متن به اشتراک گذاری مانند که دریافت کننده در انتهای دیگر 405 00:21:30,150 --> 00:21:31,660 نمی تواند به نحوی داده را ذخیره کنید. 406 00:21:31,660 --> 00:21:34,300 >> در راه ساده ترین، کسی می تواند تلفن خود را. 407 00:21:34,300 --> 00:21:36,850 و آنها را به یک پنجره 10 ثانیه در حالی که به دنبال در برخی از ضربه محکم و ناگهانی 408 00:21:36,850 --> 00:21:39,410 فقط به برخی از تلفن های دیگر را و عکس آن، بدیهی است. 409 00:21:39,410 --> 00:21:41,660 بنابراین شما می توانید حفظ چیزی دیجیتالی که راه. 410 00:21:41,660 --> 00:21:44,620 برخی از شما می دانید که چگونه به تصاویر را بر روی تلفن خود را. 411 00:21:44,620 --> 00:21:49,290 در واقع، اگر شما این را نمی دانند، متوجه باشید که حداقل اسنپ چت، 412 00:21:49,290 --> 00:21:51,040 و من فکر می کنم دیگر برنامه های کاربردی این روزها، 413 00:21:51,040 --> 00:21:53,720 حداقل شما اگر بگویید دریافت کننده است در واقع 414 00:21:53,720 --> 00:21:55,310 گرفته شده از صفحه نمایش از تصویر خود را. 415 00:21:55,310 --> 00:22:00,870 >> اما بدتر از این وجود، این snappening بود، به عنوان کسی که اخیرا ابداع، 416 00:22:00,870 --> 00:22:04,680 که در آن برخی از 100000 جرقه بزند منتشر شده بود 417 00:22:04,680 --> 00:22:09,310 در آنچه که یک فایل تورنت نام در وب سایت های مختلف در نهایت. 418 00:22:09,310 --> 00:22:12,000 و این شامل یک دسته کامل پیام های خصوصی و پست. 419 00:22:12,000 --> 00:22:15,210 به نظر می رسد بسیاری از آنها خوش خیم، بنابراین نه آنچه که شما ممکن است انتظار. 420 00:22:15,210 --> 00:22:17,580 اما از آنجا که مردم به حال با استفاده از یک وب سایت شخص ثالث، 421 00:22:17,580 --> 00:22:20,270 ورود با اسنپ چت خود نام کاربری و کلمه عبور و سپس 422 00:22:20,270 --> 00:22:23,470 صرفه جویی در همه از جرقه بزند خود در این وب سایت شخص ثالث. 423 00:22:23,470 --> 00:22:26,130 و آن این است که شخص ثالث بود وب سایت است که هک شد، 424 00:22:26,130 --> 00:22:30,710 که کسی فقط به معنای نمیفهمد چگونه برای دریافت تمام 100000 به علاوه از آن تصاویر 425 00:22:30,710 --> 00:22:33,822 به دیسک سخت خود را برای به اشتراک گذاری پس از آن. 426 00:22:33,822 --> 00:22:36,030 صادقانه بگویم، اینجا بیش از حد، آن را مرتب سازی بر از نادان که اسنپ چت 427 00:22:36,030 --> 00:22:39,360 است به گونه ای که اجرا یک شخص ثالث می تواند رهگیری مرتب سازی بر اساس 428 00:22:39,360 --> 00:22:43,310 داده و آن را به شما گره خورده است برنامه خود در حال اجرا بر روی گوشی. 429 00:22:43,310 --> 00:22:46,947 اما در اینجا، بیش از حد، درک کنند که این همه چیز باید به شما با تعجب متوجه نشدم، 430 00:22:46,947 --> 00:22:49,030 و یا حداقل باید وجود داشته باشد یک درس زندگی در اینجا. 431 00:22:49,030 --> 00:22:52,220 اگر شما می خواهم فنی جزئیات، وجود دارد که به URL بروید 432 00:22:52,220 --> 00:22:53,570 که در اسلاید امروز است. 433 00:22:53,570 --> 00:23:00,960 همه حق است، هر گونه سوال در درس های زندگی امروز در CS؟ 434 00:23:00,960 --> 00:23:02,710 خاموش. 435 00:23:02,710 --> 00:23:04,970 در همه هر چیزی؟ 436 00:23:04,970 --> 00:23:06,301 در همه هر چیزی؟ 437 00:23:06,301 --> 00:23:09,050 من بسیاری از مردم چک کردم اسنپ ​​چت و یا چیزی خود را در حال حاضر. 438 00:23:09,050 --> 00:23:11,690 >> همه حق است، بنابراین SQL، پرس و جو زبان ساخت یافته. 439 00:23:11,690 --> 00:23:12,509 اجازه دهید این بپیچید. 440 00:23:12,509 --> 00:23:14,300 و همچنین، حتی اگر ما فقط خاراندن 441 00:23:14,300 --> 00:23:16,310 سطح این زبان، ما به شما می دهد 442 00:23:16,310 --> 00:23:18,930 به اندازه کافی از زبان در قالب PSet 7 443 00:23:18,930 --> 00:23:22,140 به طوری که شما می توانید برخی از مقابله قابلیت نسبتا رایج است. 444 00:23:22,140 --> 00:23:24,912 اما متوجه یک زن و شوهر وجود دارد چیزهایی که ما از شما نیاز ندارد، 445 00:23:24,912 --> 00:23:27,120 اما آنها در حال رفتن به مهم آمده پروژه نهایی 446 00:23:27,120 --> 00:23:30,760 و قطعا می آیند ساخت واقعی وب سایت ها با کاربران واقعی 447 00:23:30,760 --> 00:23:32,040 این تصمیم در طراحی است. 448 00:23:32,040 --> 00:23:34,460 >> به نظر می رسد که در پایگاه داده خروجی زیر، شما 449 00:23:34,460 --> 00:23:37,460 دارای مجموعه ای از گزینه های مانند انواع داده برای ستون خود 450 00:23:37,460 --> 00:23:41,670 و چیزهای دیگر، اما شما نیز باید انتخاب ذخیره سازی به اصطلاح 451 00:23:41,670 --> 00:23:44,570 موتور برای همه اطلاعات شما، مرتب کردن بر اساس فایل سیستم، 452 00:23:44,570 --> 00:23:46,700 اگر شما آشنا هستید، برای همه از اطلاعات شما. 453 00:23:46,700 --> 00:23:48,830 چه در قالب آن در نهایت در ذخیره؟ 454 00:23:48,830 --> 00:23:53,300 و شایع ترین، شاید، شده است MyISAM از INNODB و اصطلاحات فنی 455 00:23:53,300 --> 00:23:56,060 که ما فقط در مورد مراقبت از به حدی که یکی است 456 00:23:56,060 --> 00:23:58,500 و یکی اختصاص ندارد از ویژگی های زیر است. 457 00:23:58,500 --> 00:24:00,390 >> فرض کنید که شما را یخچال خوابگاه کم است. 458 00:24:00,390 --> 00:24:03,030 و فرض کنید که شما و شما هم اتاقی، که در این یخچال، 459 00:24:03,030 --> 00:24:04,682 واقعا علاقه شیر بگو. 460 00:24:04,682 --> 00:24:07,140 و این است که، در واقع، چگونه داستان به من راه برگشت گفته شد 461 00:24:07,140 --> 00:24:10,890 در آن روز که من یک دوره در زمان به نام CS 161 سیستم عامل، که 462 00:24:10,890 --> 00:24:12,580 به طور مشابه به بررسی این موضوع. 463 00:24:12,580 --> 00:24:13,760 بنابراین شما این یخچال کردم. 464 00:24:13,760 --> 00:24:14,630 شما از شیر است. 465 00:24:14,630 --> 00:24:17,000 و شما به خانه، هم اتاقی شما هنوز هم در کلاس و یا هر چیز دیگری، 466 00:24:17,000 --> 00:24:19,208 و شما تصمیم می گیرید من قصد دارم به بیرون رفتن و گرفتن برخی از شیر. 467 00:24:19,208 --> 00:24:22,630 بنابراین شما در یخچال را ببندید، قفل اتاق خوابگاه، در سراسر خیابان بروید 468 00:24:22,630 --> 00:24:25,330 به CVS یا هر جا، و در خط به خرید برخی از شیر. 469 00:24:25,330 --> 00:24:28,960 >> در همین حال، هم اتاقی خود را به خانه از کلاس، به داخل اتاق خوابگاه، 470 00:24:28,960 --> 00:24:31,802 باز یخچال، همچنین متوجه ooph، ما از شیر است. 471 00:24:31,802 --> 00:24:33,760 بنابراین او می بندد یخچال و سپس اتفاق می افتد 472 00:24:33,760 --> 00:24:35,610 برای رفتن به CVS دیگر، که اتفاق می افتد 473 00:24:35,610 --> 00:24:38,470 یک بلوک به دور از CVS دیگر در میدان، و می شود در خط 474 00:24:38,470 --> 00:24:40,230 وجود دارد به گرفتن برخی از شیر. 475 00:24:40,230 --> 00:24:42,524 در حال حاضر، البته، چند دقیقه بعد، شما هر دو به عقب بر گردیم، 476 00:24:42,524 --> 00:24:44,690 و بدتر از همه ممکن نتایج اتفاق افتاده است. 477 00:24:44,690 --> 00:24:45,792 هر دو شما باید شیر. 478 00:24:45,792 --> 00:24:47,500 و شما واقعا نمی مثل شیر که بسیار. 479 00:24:47,500 --> 00:24:49,625 بنابراین یکی از آنها این است که فقط رفتن به ترش در برخی از نقطه. 480 00:24:49,625 --> 00:24:55,941 بنابراین در حال حاضر شما یک مقدار بیش از حد شیر در یخچال همه به خاطر چرا؟ 481 00:24:55,941 --> 00:24:57,072 >> [نامفهوم] 482 00:24:57,072 --> 00:24:59,780 DAVID مالان: بله، شما نمی به نحوی با یکدیگر ارتباط برقرار 483 00:24:59,780 --> 00:25:00,904 که شما گرفتن شیر شد. 484 00:25:00,904 --> 00:25:04,320 بنابراین در ساده ترین راه در جهان انسان، 485 00:25:04,320 --> 00:25:08,390 چگونه ممکن است به شما برای جلوگیری از این احمقانه سناریو اتفاق می افتد از جمله 486 00:25:08,390 --> 00:25:09,750 که شما فقط تا پایان با یک. 487 00:25:09,750 --> 00:25:10,840 متن آنها، بله خوب است. 488 00:25:10,840 --> 00:25:12,877 اما چگونه دیگری؟ 489 00:25:12,877 --> 00:25:13,460 پس از یادداشت های. 490 00:25:13,460 --> 00:25:14,626 DAVID مالان: توجه داشته باشید پس از آن. 491 00:25:14,626 --> 00:25:17,150 هر شکلی از ارتباطات که هم اتاقی خود را می گوید 492 00:25:17,150 --> 00:25:18,670 را به یخچال برای شیر نیست. 493 00:25:18,670 --> 00:25:20,440 من قصد دارم برای رفتن به restock در خود من. 494 00:25:20,440 --> 00:25:22,770 بنابراین شما به نحوی نیاز برای قفل کردن این منابع. 495 00:25:22,770 --> 00:25:27,180 بنابراین ما می توانیم this-- را ما می توانیم نوع خراب کردن داستان و تبدیل به یک داستان CS 496 00:25:27,180 --> 00:25:30,360 به موجب آن از این فکر می کنم به عنوان درست مانند یک متغیر، که ذخیره ارزش باشد. 497 00:25:30,360 --> 00:25:32,570 و در حال حاضر، ارزش شیر صفر است، 498 00:25:32,570 --> 00:25:35,410 که شما خود را می خواهم نه هم اتاقی به بازرسی که متغیر 499 00:25:35,410 --> 00:25:38,730 و پس از آن تصمیم را به او و یا خودش بر اساس وضعیت که متغیر 500 00:25:38,730 --> 00:25:42,430 اگر شما در روند هستید تغییر حالت آن متغیر است. 501 00:25:42,430 --> 00:25:46,140 >> بنابراین یکی از خطوط SQL است که ما شما در PSet 7 مشخصات را 502 00:25:46,140 --> 00:25:47,310 این یکی در اینجا است. 503 00:25:47,310 --> 00:25:49,740 و ما صرف یک بزرگ مقدار زمان صحبت کردن در مورد آن است. 504 00:25:49,740 --> 00:25:55,100 اما معلوم است، اگر شما در حال تلاش برای خرید برخی از سهام در امور مالی CS50 505 00:25:55,100 --> 00:25:58,000 که شما در حال حاضر برخی از سهام، شما 506 00:25:58,000 --> 00:26:01,750 می خواهم که قادر به انجام یک تعداد از همه چیز فورا با هم. 507 00:26:01,750 --> 00:26:04,360 شما می خواهید می شود قادر به به طور موثر، در سطح بالا، 508 00:26:04,360 --> 00:26:06,700 بررسی تمام حق، اگر من می خواهم به خرید سهام بیشتر از آزاد، 509 00:26:06,700 --> 00:26:08,780 سهام پنی ما صحبت در مورد در تنظیمات، 510 00:26:08,780 --> 00:26:10,660 من اول بررسی کنید خواهید چگونه بسیاری از سهام من. 511 00:26:10,660 --> 00:26:11,810 و فرض کنید این پنج. 512 00:26:11,810 --> 00:26:14,600 و فرض کنید من می خواهم خرید 10، من در نهایت 513 00:26:14,600 --> 00:26:17,069 می خواهم به 15 سهم از سهام. 514 00:26:17,069 --> 00:26:18,360 بنابراین من باید به دو سوال بپرسم. 515 00:26:18,360 --> 00:26:20,230 دولت از متغیر چیست؟ 516 00:26:20,230 --> 00:26:21,470 دولت از ردیف چیست؟ 517 00:26:21,470 --> 00:26:22,970 چگونه بسیاری از سهام را من در حال حاضر؟ 518 00:26:22,970 --> 00:26:24,636 سپس شما می خواهید به جلو بروید و به روز رسانی آن است. 519 00:26:24,636 --> 00:26:27,720 به طوری که آنالوگ به شیر در آن را چک کنید ردیف، 520 00:26:27,720 --> 00:26:30,730 و پس از آن شما می خواهید برای به روز رسانی چرا که اگر شما می خواهید برای خرید 10 سهام، 521 00:26:30,730 --> 00:26:32,521 شما نمی خواهید به تغییر ردیف به 10، شما 522 00:26:32,521 --> 00:26:35,300 می خواهید آن را تغییر دهید تا 5 به علاوه 10 یا، البته، 15. 523 00:26:35,300 --> 00:26:40,030 >> این خط از کد تضمین می کند که این دو ایده مفهومی 524 00:26:40,030 --> 00:26:42,810 اتفاق می افتد با هم یا نه در همه. 525 00:26:42,810 --> 00:26:46,920 هیچ کس، از جمله برخی از سایر کاربران که به همان وب سایت وارد شده، 526 00:26:46,920 --> 00:26:49,900 می تواند به نحوی قطع چک کردن از ردیف 527 00:26:49,900 --> 00:26:52,960 و به روز رسانی از ردیف، را انتخاب کنید و به روز رسانی اگر شما خواهد شد. 528 00:26:52,960 --> 00:26:57,360 و نحو فوق العاده واضح نیست، اما این یک خط، طولانی است از آن است، 529 00:26:57,360 --> 00:27:01,150 تضمین می کند که این دو عملیات متغیر را چک کنید و یا چک ردیف 530 00:27:01,150 --> 00:27:04,660 و به روز رسانی ردیف اتفاق می افتد اتمی. 531 00:27:04,660 --> 00:27:06,849 >> اوه باز دوباره میریم. 532 00:27:06,849 --> 00:27:07,890 متن پیام بر روی تلفن من است. 533 00:27:07,890 --> 00:27:09,954 بنابراین اجازه دهید به این کمی بیشتر بتن. 534 00:27:09,954 --> 00:27:12,120 فرض کنید که شما نمی اجرای یک یخچال و فریزر، 535 00:27:12,120 --> 00:27:16,400 و شما اجرا نمی PSet 7 اما یک بانک واقعی، 536 00:27:16,400 --> 00:27:20,000 و یا ATM، پرداخت خودکار ماشین، به موجب آن شما به نحوی 537 00:27:20,000 --> 00:27:22,960 می خواهم که قادر به توانمند کاربران برای انتقال پول 538 00:27:22,960 --> 00:27:24,500 از یک حساب به دیگری. 539 00:27:24,500 --> 00:27:25,100 OK، قطع. 540 00:27:25,100 --> 00:27:26,683 من قصد دارم برای نادیده گرفتن این در حال حاضر، از شما سپاسگزارم. 541 00:27:26,683 --> 00:27:30,450 بنابراین ما می خواهیم را به حرکت پول از یک شماره حساب 542 00:27:30,450 --> 00:27:33,600 به حساب های مختلف تعداد، به طور خاص 100 دلار است. 543 00:27:33,600 --> 00:27:37,690 بنابراین این نوع از خودسرانه است به عنوان مثال، به موجب آن شما، ATM، 544 00:27:37,690 --> 00:27:41,060 در صورت تمایل به اجرای دو SQL نمایش داده شد، کم از یک حساب، 545 00:27:41,060 --> 00:27:42,430 و اضافه کردن به حساب دیگر. 546 00:27:42,430 --> 00:27:46,766 اما شما می خواهید برای اطمینان حاصل شود که این دو خط هر دو اتفاق می افتد یا نه در همه. 547 00:27:46,766 --> 00:27:48,640 شما چیزی را نمی خواهیم گرفتن قطع. 548 00:27:48,640 --> 00:27:51,440 شما در انجام این پسر بد هوشمند نیست به نحوی که در بانک مرکزی امریکا ایستاده 549 00:27:51,440 --> 00:27:53,270 با دو در مقابل دستگاههای خودپرداز از او و به نوعی 550 00:27:53,270 --> 00:27:55,270 مرتب کردن بر اساس تایپ کردن در دستورات در همان زمان، 551 00:27:55,270 --> 00:28:01,230 امیدوارم تلاش برای کسر به جای 200 $ از 100 دلار است و تنها با داشتن 100 $ اعتبار. 552 00:28:01,230 --> 00:28:04,450 به طور خلاصه، شما می خواهید به این رفتار دقیقا همانطور که شما انتظار می رود. 553 00:28:04,450 --> 00:28:06,540 >> و راه را به شما انجام دهد این در SQL پایگاه داده است 554 00:28:06,540 --> 00:28:09,350 شما آن را بسته بندی در چه به نام معامله. 555 00:28:09,350 --> 00:28:14,290 به معنای واقعی کلمه در SQL، شما می توانید تماس بگیرید به CS50 عملکرد پرس و جو همراه با اعلان شروع نقل قول را تمام کردن 556 00:28:14,290 --> 00:28:15,370 معامله. 557 00:28:15,370 --> 00:28:18,640 سپس شما می توانید هر تعداد اجرا نمایش داده شد پس از آن SQL، 558 00:28:18,640 --> 00:28:20,870 اما هیچ یک از آنها را اثر بر روی پایگاه داده 559 00:28:20,870 --> 00:28:25,880 تا با شما تماس پرس و جو نقل قول نقل قول را تمام کردن مرتکب، اگر دوباره با استفاده از PHP. 560 00:28:25,880 --> 00:28:29,810 و در این راه، شما می توانید اطمینان حاصل شود که کاربران حتی اگر شما 1000 همه 561 00:28:29,810 --> 00:28:32,080 هدف قرار دادن پایگاه داده خود را در همان زمان، SQL 562 00:28:32,080 --> 00:28:34,540 قول می دهم که این خواهد دو نمایش داده شد خواهد بود 563 00:28:34,540 --> 00:28:36,740 پس از دیگری به اجرا در یکی از سمت راست. 564 00:28:36,740 --> 00:28:40,330 بنابراین شما پایان ندارد تا با بیش از شیر یا مقدار اشتباه است، در نهایت، 565 00:28:40,330 --> 00:28:40,830 از پول است. 566 00:28:40,830 --> 00:28:43,110 >> پس این را در ذهن، خیلی PSet 7 567 00:28:43,110 --> 00:28:45,250 اما برای پروژه های نهایی اگر شما واقعا هستید 568 00:28:45,250 --> 00:28:49,690 تلاش برای حرکت در اطراف اطلاعات در جدول همانطور که شما ممکن اینجا. 569 00:28:49,690 --> 00:28:53,980 اما شاید حتی ساده تر و بیشتر آشکار به درک با یک مثال 570 00:28:53,980 --> 00:28:54,860 این یکی در اینجا است. 571 00:28:54,860 --> 00:28:57,760 و کسی که ما را در مورد ایمیل فرستاده این فقط روز دیگر 572 00:28:57,760 --> 00:28:59,600 هنگامی که او را دیدم چیزی آنلاین مشابه. 573 00:28:59,600 --> 00:29:03,480 >> پس به دانش من، سیستم پین آسیب پذیر به این حمله نیست. 574 00:29:03,480 --> 00:29:06,637 و من هیچ نظری ندارم که اگر آن را حتی استفاده پایگاه داده SQL زیر هود. 575 00:29:06,637 --> 00:29:08,470 اما اجازه دهید از آن استفاده کنید برای به خاطر بحث. 576 00:29:08,470 --> 00:29:10,178 در اینجا روی صفحه نمایش است که مردمی هاروارد تمایل 577 00:29:10,178 --> 00:29:13,620 برای دیدن در هنگام ورود با خود تعداد هاروارد ID و پین خود را. 578 00:29:13,620 --> 00:29:19,020 و فرض کنید که سیستم پین بود اجرا در PHP و MySQL را با 579 00:29:19,020 --> 00:29:22,000 پایگاه داده، کد که کسی سال ممکن است نوشته شده است پیش 580 00:29:22,000 --> 00:29:23,270 ممکن است شبیه به این. 581 00:29:23,270 --> 00:29:25,230 اول، اعلام متغیر نام کاربری به نام. 582 00:29:25,230 --> 00:29:27,560 و فقط که از superglobal در POST. 583 00:29:27,560 --> 00:29:30,140 سپس متغیر دیگر را دریافت کنید نام کاربری رمز عبور و انجام همان. 584 00:29:30,140 --> 00:29:33,080 و پس از آن فقط اجرا این پرسش در اینجا، 585 00:29:33,080 --> 00:29:36,690 ستاره انتخاب کنید و از کاربران که در آن نام کاربری برابر چنین و چنان 586 00:29:36,690 --> 00:29:38,510 و رمز عبور برابر چنین و چنان. 587 00:29:38,510 --> 00:29:40,660 >> توجه کنید که فرفری پرانتز من در اینجا استفاده می شود 588 00:29:40,660 --> 00:29:42,880 فقط به PHP معنا، به جلو و جایگزین 589 00:29:42,880 --> 00:29:45,400 ارزش این دو متغیرهای سمت راست وجود دارد. 590 00:29:45,400 --> 00:29:50,090 آنها به شدت ضروری نیست، اما آنها تمایل به جلوگیری از اشتباهات نحو لطیف است. 591 00:29:50,090 --> 00:29:53,650 بنابراین به نظر می رسد این به طور کامل درست در نگاه اول. 592 00:29:53,650 --> 00:29:54,240 و آن است. 593 00:29:54,240 --> 00:29:56,680 شما می توانید پیاده سازی سیستم پین در این راه. 594 00:29:56,680 --> 00:30:00,460 >> اما فرض کنید که فوق العاده دانش آموز باهوش و مخرب 595 00:30:00,460 --> 00:30:03,020 ورودی این به عنوان پین خود را. 596 00:30:03,020 --> 00:30:05,550 بنابراین من گلوله را حذف کردیم نشانه اینجا در مسخره کردن، 597 00:30:05,550 --> 00:30:08,760 و من در واقع نشان کرده ام آنچه که او یا او ممکن است تایپ. 598 00:30:08,760 --> 00:30:10,350 و آن را کمی عجیب و غریب. 599 00:30:10,350 --> 00:30:13,850 اما آنچه بیرون می پرد در شما در به طور بالقوه نگران کننده در مورد ورودی کاربر، 600 00:30:13,850 --> 00:30:16,450 حتی اگر شما هیچ ایده چه حمله تزریق SQL به معنی. 601 00:30:16,450 --> 00:30:20,300 چرا این نگاه کمی ماهی؟ 602 00:30:20,300 --> 00:30:21,050 آن چیست؟ 603 00:30:21,050 --> 00:30:21,550 [نامفهوم] 604 00:30:21,550 --> 00:30:24,260 DAVID مالان: یا است کمی مشکوک است. 605 00:30:24,260 --> 00:30:26,310 در واقع، که یک کلمه کلیدی از SQL است. 606 00:30:26,310 --> 00:30:28,105 به طوری که به خوبی جواب نمی دهد. 607 00:30:28,105 --> 00:30:29,980 این واقعیت وجود دارد که همه این نقل قول تکی 608 00:30:29,980 --> 00:30:32,646 there-- در واقع، یکی از ساده ترین راه هایی برای شکستن برخی از پایگاه های داده 609 00:30:32,646 --> 00:30:35,880 با تایپ کردن در یک نام مانند اوریلی است که دارای یک آپوستروف در آن 610 00:30:35,880 --> 00:30:38,600 چرا که اگر انسان که نوشت کد پشت صحنه 611 00:30:38,600 --> 00:30:41,570 را به حساب نیست که وجود دارد ممکن است نقل قول تکی در یک کاربر 612 00:30:41,570 --> 00:30:45,060 ورودی، و او است که با استفاده از نقل قول تکی در کد خود، 613 00:30:45,060 --> 00:30:46,040 چیزهای بد اتفاق می افتد. 614 00:30:46,040 --> 00:30:47,870 >> در واقع، بدتر، این را در نظر بگیرید. 615 00:30:47,870 --> 00:30:50,600 اگر این دوباره کد که کسی در سال دانشگاه هاروارد 616 00:30:50,600 --> 00:30:53,100 پیش پین نوشت سیستم، متوجه چه 617 00:30:53,100 --> 00:30:56,220 درباره به جایگزین برای نام کاربری و رمز عبور 618 00:30:56,220 --> 00:30:59,780 اگر نوع کاربر در دوباره skroob به عنوان نام کاربری خود را 619 00:30:59,780 --> 00:31:03,960 و پس از آن یک، دو، سه، چهار، پنج، نقل قول نقل قول نقل قول را تمام کردن و یا یک برابر 620 00:31:03,960 --> 00:31:04,660 یک نقل قول. 621 00:31:04,660 --> 00:31:07,220 و متوجه چه کلیدی در اینجا کاربر است نه 622 00:31:07,220 --> 00:31:09,900 رمز عبور خود را آغاز و یا پین خود را با یک نقل قول. 623 00:31:09,900 --> 00:31:12,610 و آنها آن را به پایان نرسیده با نقل قول زیرا او 624 00:31:12,610 --> 00:31:16,315 است فرض کنید که اگر برنامه نویس بود تا SHARP نیست، 625 00:31:16,315 --> 00:31:18,690 آنها می خواهند به آن نقل قول تکی در کد خود. 626 00:31:18,690 --> 00:31:19,860 >> بنابراین در اینجا کد است. 627 00:31:19,860 --> 00:31:23,820 و تعویض که ممکن است در حال حاضر اتفاق می افتد این است. 628 00:31:23,820 --> 00:31:26,350 و من تاکید کرده ام که چه کاربر در تایپ. 629 00:31:26,350 --> 00:31:28,480 بنابراین قبل از، پس از. 630 00:31:28,480 --> 00:31:33,330 و متوجه آنچه که در حال حاضر کمی نگران کننده است در مورد نیمه سمت راست این کد SQL؟ 631 00:31:33,330 --> 00:31:36,300 این کمی پیچیده تر است، مسلما، از نمایش داده شد دیده ایم. 632 00:31:36,300 --> 00:31:38,550 اما این نمی تواند احتمالا یک چیز خوبی اگر شما 633 00:31:38,550 --> 00:31:42,240 گفت: ستاره را انتخاب کنید، که انتخاب همه چیز را از جدول کاربر 634 00:31:42,240 --> 00:31:46,630 که در آن نام کاربری و برابر skroob رمز عبور برابر یک، دو، سه، چهار، 635 00:31:46,630 --> 00:31:49,610 پنج یا یک برابر است. 636 00:31:49,610 --> 00:31:53,860 مفهوم منطقی چه که بند آخر احتمالا؟ 637 00:31:53,860 --> 00:31:55,650 این فقط همیشه درست است. 638 00:31:55,650 --> 00:31:59,930 >> و چون ما مرتب کردن بر اساس حدس زده و یا توسط آزمایش و خطا نمیفهمد 639 00:31:59,930 --> 00:32:02,760 که برنامه نویس که نوشت این کد نبود 640 00:32:02,760 --> 00:32:07,250 پیش بینی یک فرد انسان یا بد تایپ کردن در نقل قول تکی و همچنین، 641 00:32:07,250 --> 00:32:10,350 ما می توانیم از نظر نحوی پرس و جو SQL کامل 642 00:32:10,350 --> 00:32:12,260 با چیزی مزخرف اما چیزی که 643 00:32:12,260 --> 00:32:15,930 است از لحاظ نحو نادرست که همیشه درست ارزیابی می کند. 644 00:32:15,930 --> 00:32:19,130 بنابراین اگر از این کد استفاده می شود برای پاسخ به سوال درست یا غلط باید 645 00:32:19,130 --> 00:32:22,930 این کاربر اجازه داده می شود به تصویب، پاسخ این است که همیشه به ظاهر رفتن 646 00:32:22,930 --> 00:32:26,930 به دلیل واقعی این است که همیشه رفتن به چیزی از پایگاه داده را انتخاب کنید 647 00:32:26,930 --> 00:32:29,280 به خاطر یکی از دوره همیشه یکی برابر است. 648 00:32:29,280 --> 00:32:30,360 >> پس چه راه حل است؟ 649 00:32:30,360 --> 00:32:33,290 خب در PSet 7، ما در واقع جلوگیری از این همه با هم. 650 00:32:33,290 --> 00:32:37,360 ما به شما یک تابع پرس و جو را، و ما شما را تشویق به استفاده از علامت سوال 651 00:32:37,360 --> 00:32:40,430 به عنوان متغیرهایی، مشابه در روح به٪ s printf را در، 652 00:32:40,430 --> 00:32:43,710 اما آنچه که در مورد کلید علامت سوال در اینجا این است که اگر شما در واقع از طریق به عنوان خوانده شده 653 00:32:43,710 --> 00:32:46,950 functions.php قرار، که در آن ما عملکرد پرس و جو اجرا شده است، 654 00:32:46,950 --> 00:32:52,780 آن علامت سوال ها فرار، به موجب آن هر چیزی به طور بالقوه خطرناک 655 00:32:52,780 --> 00:32:58,210 مثل یک نقل قول تنها تبدیل شده است به نقل قول فرار تک. 656 00:32:58,210 --> 00:33:00,590 >> پس این است که چه چیزی واقعا اتفاق می افتد اگر شما 657 00:33:00,590 --> 00:33:04,850 استفاده از تابع پرس و جو CS50 یا هر تعداد کتابخانه رایگان شخص ثالث که 658 00:33:04,850 --> 00:33:06,000 همین کار را. 659 00:33:06,000 --> 00:33:09,850 آیا در این مورد مهم نیست، در سبز، اگر کاربر در یک نقل قول تک تایپ 660 00:33:09,850 --> 00:33:12,070 چرا که پرس و جو تابع است که ما نوشت 661 00:33:12,070 --> 00:33:15,120 رفتن به اضافه backslashes قبل هر گونه نقل قول خطرناک است. 662 00:33:15,120 --> 00:33:17,360 پس این است که نه، در واقع، رفتن به حلال. 663 00:33:17,360 --> 00:33:20,910 این مثل تایپ در یک دیوانه به دنبال رمز عبور است که، البته، نمی 664 00:33:20,910 --> 00:33:23,490 به رمز عبور واقعی skroob است. 665 00:33:23,490 --> 00:33:28,260 >> بنابراین غذای آماده برای CS50 یکی است، کاملا همیشه چیزی استفاده 666 00:33:28,260 --> 00:33:30,860 مانند تابع پرس و جو CS50 است یا کتابخانه های زمینه ای، 667 00:33:30,860 --> 00:33:32,560 که اتفاق می افتد به نام PDO. 668 00:33:32,560 --> 00:33:35,880 اما هرگز، هرگز، هرگز کد مثل این 669 00:33:35,880 --> 00:33:39,472 بدون فرار و یا شستشو آنها می گویند ورودی خود را. 670 00:33:39,472 --> 00:33:42,430 و شما در برخی از نقطه احتمالا آمده در برخی از وب سایت مثل این. 671 00:33:42,430 --> 00:33:46,060 در واقع، به نظر می رسد را به صورت را مانند در فرودگاه ها و هتل ها در مکان های 672 00:33:46,060 --> 00:33:48,880 جایی که آنها باید Wi-Fi رایگان دسترسی که شما باید برای ورود به، 673 00:33:48,880 --> 00:33:51,010 این وب سایت ها همیشه به طرز وحشیانه ای اجرا شده است. 674 00:33:51,010 --> 00:33:55,680 و به این ترتیب نوعی از سرگرم کننده در ورزش در خانه، نه برای اهداف مخرب یا بیشتر 675 00:33:55,680 --> 00:33:59,170 از سرگرم کننده در جاده ها ورزش، این است که فقط نوع 676 00:33:59,170 --> 00:34:02,850 آپوستروف، نقل قول تنها، را به یک فرم در برخی از وب سایت 677 00:34:02,850 --> 00:34:03,810 و ببینید چه اتفاقی می افتد. 678 00:34:03,810 --> 00:34:06,660 و اگر سرور یا سقوط می دهد شما به نوعی از پیام های خطا، 679 00:34:06,660 --> 00:34:09,690 آن را به خوبی ممکن است که کسی تا به این پیش بینی نیست. 680 00:34:09,690 --> 00:34:15,239 و پس از آن شما باید مناسب هشدار مقامات و ادامه نمی یابد. 681 00:34:15,239 --> 00:34:20,843 >> بنابراین در حال حاضر شما بچه ها امیدوار باشید درک کمی بیشتر شوخ طبعی یکی از بازیکنان بالماسکه و کارناوال که غالبا دارای ماسک منقاردار است در اینجا. 682 00:34:20,843 --> 00:34:24,120 >> [خنده حضار] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 DAVID مالان: شما می دانید که شما یک گیک هستید. 685 00:34:29,070 --> 00:34:30,944 در چند بعدی سال، شما به یاد داشته باشید 686 00:34:30,944 --> 00:34:33,520 که جداول بابی کمی است از آنجا که این کارتون در اینجا. 687 00:34:33,520 --> 00:34:36,760 پس نگه داشتن آن در ذهن به عنوان ما سوئیچ زمینه برای آخرین بار 688 00:34:36,760 --> 00:34:38,770 امروز به جاوا اسکریپت. 689 00:34:38,770 --> 00:34:41,600 ما نسبتا کمی را صرف کرده ام زمان در نحو PHP 690 00:34:41,600 --> 00:34:43,440 زیرا این در واقع فوق العاده شبیه به C. 691 00:34:43,440 --> 00:34:47,300 و به خوبی به اندازه کافی، جاوا اسکریپت خیلی فوق العاده شبیه به نحو C است 692 00:34:47,300 --> 00:34:49,639 و همچنین ما در خواهید دید فقط یک لحظه و به عنوان ما به شما 693 00:34:49,639 --> 00:34:51,205 در اواخر این هفته به طور خاص را ببینید. 694 00:34:51,205 --> 00:34:54,080 چه شما می توانید با این زبان انجام می دهند، هر چند، همه قوی تر، 695 00:34:54,080 --> 00:34:55,790 به خصوص با رابط های برنامه کاربردی. 696 00:34:55,790 --> 00:34:56,960 >> اما برای اولین بار یک تور سریع است. 697 00:34:56,960 --> 00:35:00,450 بنابراین یکی، در جاوا اسکریپت، وجود دارد هیچ تابع اصلی، که خوب است. 698 00:35:00,450 --> 00:35:02,650 همانطور که با PHP، شما فقط می توانید کد ارسال. 699 00:35:02,650 --> 00:35:04,310 شرایط شبیه به این. 700 00:35:04,310 --> 00:35:07,100 و عبارات بولی ممکن مثل این و یا شبیه به این. 701 00:35:07,100 --> 00:35:09,530 سوئیچ ها وجود دارد، و آنها ممکن است شبیه به این. 702 00:35:09,530 --> 00:35:10,970 چهار حلقه شبیه به این. 703 00:35:10,970 --> 00:35:12,390 در حالی که حلقه های شبیه به این. 704 00:35:12,390 --> 00:35:14,160 آیا در حالیکه شبیه به این. 705 00:35:14,160 --> 00:35:16,850 و سپس آرایه شبیه این، بسیار شبیه به PHP. 706 00:35:16,850 --> 00:35:20,740 اما توجه کنید که در جاوا اسکریپت شما اعلام یک متغیر با یک دلار 707 00:35:20,740 --> 00:35:25,190 امضا، نه با یک نوع داده اما به معنای واقعی کلمه با گفتن ور متغیر قبل از آن. 708 00:35:25,190 --> 00:35:27,900 این بیش از حد است از نوع بی قاعده در آن است که انواع، 709 00:35:27,900 --> 00:35:29,729 اما شما به صراحت به آنها اعلام کنند. 710 00:35:29,729 --> 00:35:31,520 و پس از آن رشته، برای به عنوان مثال، ممکن است نگاه 711 00:35:31,520 --> 00:35:34,350 مثل این است که رشته در این مورد به نام بازدید کنندگان. 712 00:35:34,350 --> 00:35:35,410 و سپس یک شی. 713 00:35:35,410 --> 00:35:37,010 و این ما را بیشتر قبل از اینکه طولانی را ببینید. 714 00:35:37,010 --> 00:35:41,470 و یک شی است که شاید یکی از اغلب دیده می شود ساختمان داده 715 00:35:41,470 --> 00:35:44,050 در جاوا اسکریپت بر اساس برنامه به دلیل آن اجازه می دهد تا 716 00:35:44,050 --> 00:35:46,680 شما به معاشرت خودسرانه جفت ارزش کلیدی فقط 717 00:35:46,680 --> 00:35:51,240 مانند آرایه های انجمنی پی اچ پی و درست مانند جدول هش خود را 718 00:35:51,240 --> 00:35:54,042 و یا سعی کنید که ما اجرا چند هفته قبل. 719 00:35:54,042 --> 00:35:56,250 بنابراین اجازه دهید ببینیم که چه چیزی در واقع ما می توانیم با جاوا اسکریپت انجام دهد. 720 00:35:56,250 --> 00:35:59,410 و به طور خاص، این است که یک لیست از ویژگی های لباس های شسته شده 721 00:35:59,410 --> 00:36:02,300 که مرورگرها که ما اجازه می دهد به قلاب جاوا اسکریپت 722 00:36:02,300 --> 00:36:05,470 به یک وب سایت به صورت زیر. 723 00:36:05,470 --> 00:36:09,340 جاوا اسکریپت است که اغلب به عنوان یک استفاده می شود سمت کلاینت برای زبان برنامه نویسی. 724 00:36:09,340 --> 00:36:10,130 این وارد نیست. 725 00:36:10,130 --> 00:36:11,370 این بیش از حد تفسیر می شود. 726 00:36:11,370 --> 00:36:15,740 اما بر خلاف PHP، که تا به حال اجرا شده است بر روی سرور، در سرور وب، 727 00:36:15,740 --> 00:36:18,220 و یا در داخل عمیق از مشتریان، جاوا اسکریپت 728 00:36:18,220 --> 00:36:22,190 که در آن متفاوت است معمولا در مرورگر اجرا می شود. 729 00:36:22,190 --> 00:36:26,060 >> بنابراین هر کد جاوا اسکریپت شما شروع به نوشتن برای PSet 8، و یا پروژه نهایی خود را، 730 00:36:26,060 --> 00:36:29,890 و یا در دنیای واقعی به طور کلی رفتن به بر روی سرور ذخیره شود، مطلقا 731 00:36:29,890 --> 00:36:33,110 در یک نقطه و یا نقطه HTML JS برای فایل جاوا اسکریپت. 732 00:36:33,110 --> 00:36:35,770 اما مرورگر است که دانلود که جاوا اسکریپت 733 00:36:35,770 --> 00:36:39,530 کد به عنوان مثال خود را از کروم، و یا IE، فایرفاکس و یا، یا هر چیز دیگری. 734 00:36:39,530 --> 00:36:43,870 و کد است که در واقع برای به دست آوردن داخل مرورگر خود اجرا. 735 00:36:43,870 --> 00:36:46,560 فقط به این واقعی تر، اجازه دهید این را به صورت بتن. 736 00:36:46,560 --> 00:36:50,120 >> ما هیچ ایده چه چیزی از این کد می کند بدون واقعا خواندن از طریق آن. 737 00:36:50,120 --> 00:36:52,670 اما اجازه دهید به Facebook.com بروید بدون ورود به سیستم. 738 00:36:52,670 --> 00:37:00,440 به من اجازه رفتن به بازرسی عنصر و به، اجازه دهید بگویم، شبکه و صفحه. 739 00:37:00,440 --> 00:37:04,150 و ما see-- به من اجازه تغییر بازنگری صفحه را به تمام درخواست ها به جدید. 740 00:37:04,150 --> 00:37:08,850 و اولین فایل بینم CSS، CSS است. 741 00:37:08,850 --> 00:37:10,880 در اینجا برای اولین بار جاوا اسکریپت فایل، و من 742 00:37:10,880 --> 00:37:14,600 هیچ ایده چه چیزی این کار را بکند، اما در اینجا برخی از کد های جاوا اسکریپت 743 00:37:14,600 --> 00:37:16,180 که درایوهای فیس بوک. 744 00:37:16,180 --> 00:37:18,400 حتی واقعا که آشکار به زوم در. 745 00:37:18,400 --> 00:37:20,260 این هنوز فقط به عنوان مزخرف. 746 00:37:20,260 --> 00:37:24,341 >> اما شما حتی پایین را ببینید، وجود دارد حتی بیشتر از این فایل جاوا اسکریپت. 747 00:37:24,341 --> 00:37:24,840 اوه. 748 00:37:24,840 --> 00:37:25,440 که یک پینگ است. 749 00:37:25,440 --> 00:37:28,550 اجازه دهید به پایین کمی علاوه بر این، بیشتر، بیشتر است. 750 00:37:28,550 --> 00:37:29,894 یکی وجود دارد. 751 00:37:29,894 --> 00:37:31,238 یکی وجود دارد. 752 00:37:31,238 --> 00:37:31,880 یکی وجود دارد. 753 00:37:31,880 --> 00:37:35,820 >> بنابراین حتی اگر فیس بوک، در پشت صحنه است، در بخشی در PHP نوشته شده است 754 00:37:35,820 --> 00:37:39,100 و نسخه از آن خود فیس بوک، یک مقدار زیادی از جاوا اسکریپت وجود دارد. 755 00:37:39,100 --> 00:37:41,330 در واقع، هر یک از چت شما در فیس بوک انجام دهید، 756 00:37:41,330 --> 00:37:45,520 هر یک از جدول زمانی به روز رسانی های درون خطی که اتفاق می افتد در زمان واقعی، همه از آن 757 00:37:45,520 --> 00:37:47,944 توسط جاوا اسکریپت هدایت می شود. 758 00:37:47,944 --> 00:37:48,444 آره؟ 759 00:37:48,444 --> 00:37:50,235 >> رسید من مطمئن نیستم در صورتی که این فیس بوک است، 760 00:37:50,235 --> 00:37:53,624 اما من فکر کردم که فیس بوک در حال توسعه خود را در خانه به زبان کد خود را؟ 761 00:37:53,624 --> 00:37:54,540 DAVID مالان: آنها را انجام داد. 762 00:37:54,540 --> 00:37:58,110 به همین دلیل من می گویم واریانس PHP به نام هیپ هاپ است که آنها در واقع 763 00:37:58,110 --> 00:38:03,440 ویژگی های اضافه شده به طوری که وقتی که علامت گذاری به عنوان اولین اجرا فیس بوک، 764 00:38:03,440 --> 00:38:04,710 آن را در PHP نوشته شده است. 765 00:38:04,710 --> 00:38:07,370 و این نوع باقی مانده است مرتب کردن بر اساس زبان جلویی 766 00:38:07,370 --> 00:38:09,030 که آنها را برای استفاده بسیار از برنامه نویسی خود را، اما آن را 767 00:38:09,030 --> 00:38:11,870 یک زبان که نبوده است ترازو به خصوص به خوبی به میلیاردها 768 00:38:11,870 --> 00:38:12,630 از مردم است. 769 00:38:12,630 --> 00:38:15,300 و به طوری که آنها خود را اضافه کرده اند بهبود در پشت صحنه. 770 00:38:15,300 --> 00:38:17,049 و آنها با استفاده از هر تعداد زبان های دیگر 771 00:38:17,049 --> 00:38:19,170 برای بخش های مختلف زیرساخت های خود را. 772 00:38:19,170 --> 00:38:24,080 بنابراین، بله، آن است که یک واریانس است آنچه که ما در حال حاضر به عنوان PHP می دانند. 773 00:38:24,080 --> 00:38:26,610 >> بنابراین اجازه دهید یک نگاه در چند مثال 774 00:38:26,610 --> 00:38:28,890 چگونه ممکن است ما در اینجا جاوا اسکریپت استفاده کنید. 775 00:38:28,890 --> 00:38:32,530 در کد منبع امروز، ما یک دسته از فایل ها، اولین بار است که، 776 00:38:32,530 --> 00:38:34,090 اجازه دهید به نام DOM صفر است. 777 00:38:34,090 --> 00:38:36,770 بنابراین به نظر می رسد DOM صفر به شرح زیر است. 778 00:38:36,770 --> 00:38:40,730 اجازه بدهید من به این شاخه بروید و باز کردن domzero.html، 779 00:38:40,730 --> 00:38:44,970 بالای آن دارای یک نوع توضیحات اعلامیه، گفت: در اینجا می آید HTML 5. 780 00:38:44,970 --> 00:38:46,440 و در حال حاضر در اینجا یک تگ HTML است. 781 00:38:46,440 --> 00:38:47,540 در اینجا تگ head است. 782 00:38:47,540 --> 00:38:49,210 و این چیزی است که امروز جدید. 783 00:38:49,210 --> 00:38:52,620 >> ما در حال حاضر برچسب اسکریپت در داخل سر صفحه. 784 00:38:52,620 --> 00:38:55,290 و این ظاهرا می کند بسیار کمی است، اما متوجه 785 00:38:55,290 --> 00:38:58,410 که من تعریف کرده ام اسکریپت، جاوا اسکریپت. 786 00:38:58,410 --> 00:39:01,050 و از سوی دیگر، از آنجا که این یک تصور غلط رایج است، 787 00:39:01,050 --> 00:39:05,220 جاوا اسکریپت است مطلقا هیچ چیزی برای انجام این کار با جاوا، زبان 788 00:39:05,220 --> 00:39:08,010 که برخی از شما ممکن است در نفربرهای آموخته است. 789 00:39:08,010 --> 00:39:10,480 این بیشتر از یک بازاریابی چیزی که بیش از هر چیز، 790 00:39:10,480 --> 00:39:12,980 سوار coattails سال پیش جاوا. 791 00:39:12,980 --> 00:39:17,300 اما جاوا اسکریپت، هیچ ربطی به جاوا، فقط به طور مشابه، و آزاردهنده، 792 00:39:17,300 --> 00:39:18,480 اشتباه به نام. 793 00:39:18,480 --> 00:39:21,890 >> بنابراین در اینجا این است که چگونه یک تابع شما اعلام در جاوا اسکریپت، به معنای واقعی کلمه می گویند تابع، 794 00:39:21,890 --> 00:39:24,556 سپس نام تابع، پس از آن هر آن ممکن است استدلال کنند، 795 00:39:24,556 --> 00:39:25,530 فقط در PHP را دوست دارم. 796 00:39:25,530 --> 00:39:28,990 معلوم است در جاوا اسکریپت، یکی از مهمترین و توابع آزار دهنده است که وجود هشدار است. 797 00:39:28,990 --> 00:39:31,392 این یک پنجره کوچک است که پاپ تا به شما هشدار 798 00:39:31,392 --> 00:39:32,600 به برخی از قطعه ای از اطلاعات است. 799 00:39:32,600 --> 00:39:33,766 به طور کلی بر اخم. 800 00:39:33,766 --> 00:39:35,980 اما ما آن را به عنوان استفاده از ما ورزش برای اولین بار در اینجا. 801 00:39:35,980 --> 00:39:37,900 >> توجه کنید چند ویژگی از جاوا اسکریپت. 802 00:39:37,900 --> 00:39:41,524 تنها نقل قول ها و نقل قول ها دو در واقع مهم نیست دیگر. 803 00:39:41,524 --> 00:39:43,690 تنها نقل قول ها و دو به نقل از مبادله، 804 00:39:43,690 --> 00:39:46,220 در حالی که در C، شما مجبور به استفاده از به نقل از دو برابر برای رشته ها، 805 00:39:46,220 --> 00:39:48,150 و شما دو واحد نقل برای کاراکتر. 806 00:39:48,150 --> 00:39:51,150 در جهان جاوا اسکریپت، بسیاری از مردم، اکثر مردم 807 00:39:51,150 --> 00:39:54,970 تک کتیشن استفاده کنیم در اطراف رشته فقط به خاطر آن چیزی که سبکی. 808 00:39:54,970 --> 00:39:58,330 اما آنچه اپراتور به علاوه در اینجا، که ما قبل از دیده می شود؟ 809 00:39:58,330 --> 00:39:59,836 >> رسید الحاق. 810 00:39:59,836 --> 00:40:00,960 DAVID مالان: الحاق. 811 00:40:00,960 --> 00:40:02,450 بنابراین C هم ندارد این را داشته باشد. 812 00:40:02,450 --> 00:40:04,820 PHP دارای عملگر نقطه، که نشانی از این. 813 00:40:04,820 --> 00:40:09,710 جاوا اسکریپت است اپراتور به علاوه، که اشتباه است درست مثل جاوا. 814 00:40:09,710 --> 00:40:11,440 حالا چه خبر است اینجا؟ 815 00:40:11,440 --> 00:40:14,260 >> بنابراین در اینجا که در آن یک پایه درک این تصویر 816 00:40:14,260 --> 00:40:17,010 ما انداخت تا یک زن و شوهر روز قبل به بازی می آید. 817 00:40:17,010 --> 00:40:19,620 به یاد داشته باشید هنگامی که ما تا به حال ساده نسخه HTML page-- 818 00:40:19,620 --> 00:40:20,830 آن را فقط گفت: سلام جهان. 819 00:40:20,830 --> 00:40:22,770 و پس از آن ما یک درخت کشید در سمت راست، که 820 00:40:22,770 --> 00:40:27,320 حال یک دسته از مستطیل و خطوط اتصال آنها را مانند یک درخت خانواده. 821 00:40:27,320 --> 00:40:30,820 به طوری که به اصطلاح DOM یا سند مدل شیء. 822 00:40:30,820 --> 00:40:36,759 و معلوم است که شما می توانید دسترسی داشته باشید مستطیل در آن درخت با نحو 823 00:40:36,759 --> 00:40:37,550 مانند زیر است. 824 00:40:37,550 --> 00:40:41,370 شما به معنای واقعی کلمه می گویند سند است، که یک متغیر جهانی خاص در جاوا اسکریپت 825 00:40:41,370 --> 00:40:45,890 برنامه ای است که دارای یک تابع مرتبط با آن است که شما می توانید دسترسی داشته باشید 826 00:40:45,890 --> 00:40:50,280 شبیه به یک ساختار است، اما شما به سادگی می گویند نقطه و سپس نام تابع، 827 00:40:50,280 --> 00:40:52,390 دریافت عنصر ID. 828 00:40:52,390 --> 00:40:55,460 >> عنصر من می خواهم برای به دست آوردن ظاهرا نقل قول نقل قول را تمام کردن نام. 829 00:40:55,460 --> 00:40:57,150 و پس از آن من می خواهم به ارزش آن است. 830 00:40:57,150 --> 00:40:58,330 در حال حاضر ما در حال گرفتن جلوتر از خودمان. 831 00:40:58,330 --> 00:41:00,038 من حتی مطمئن نیستم که همه این است که در مورد. 832 00:41:00,038 --> 00:41:03,000 اجازه دهید به جلو سریع به HTML در صفحه، که فوق العاده ساده است. 833 00:41:03,000 --> 00:41:05,370 >> توجه کنید که من تعریف کرده ام فرم را در اینجا. 834 00:41:05,370 --> 00:41:07,940 توجه کنید که من آن را به شما داده ام منحصر به فرد ID، حتی اگر ما استفاده می شود نه 835 00:41:07,940 --> 00:41:08,870 این ویژگی قبل از. 836 00:41:08,870 --> 00:41:11,300 اما این در HTML وجود دارد. 837 00:41:11,300 --> 00:41:15,570 شما منحصر به فرد می تواند شناسایی برخی از تکه از HTML با یک شناسه مثل این. 838 00:41:15,570 --> 00:41:19,880 >> توجه کن this-- معلوم HTML پشتیبانی، در لیست خشکشویی 839 00:41:19,880 --> 00:41:22,490 یک لحظه پیش، یک کل دسته از گرداننده رویداد. 840 00:41:22,490 --> 00:41:25,060 و این رویداد می گوید در را ارسال کنید. 841 00:41:25,060 --> 00:41:28,730 در ارائه این کاربر فرم، کد زیر تماس بگیرید. 842 00:41:28,730 --> 00:41:31,360 و کدی که رفتن به نام یا اعدام 843 00:41:31,360 --> 00:41:35,260 دقیقا این، یونانی عملکرد نادرست به دنبال بازگشت. 844 00:41:35,260 --> 00:41:37,360 هر چیز دیگری باید خیلی آشنا. 845 00:41:37,360 --> 00:41:42,050 >> در اینجا یک ورودی از نوع متن، که است ID، در این مورد، در حال رفتن به نام. 846 00:41:42,050 --> 00:41:45,430 ما یک ویژگی نام واقعی ندارد این time-- و دکمه ارسال. 847 00:41:45,430 --> 00:41:48,330 بنابراین به نظر می رسد و در نتیجه صفحه مثل این. 848 00:41:48,330 --> 00:41:52,890 و رفتار و در نتیجه، شما خواهید دید، به نظر می رسد مثل این. 849 00:41:52,890 --> 00:41:56,940 صفحه آن میزبان های محلی می گوید، سلام دیوید، به سختی زیبا و دل انگیز 850 00:41:56,940 --> 00:41:58,340 راه برای خوش آمد می گوید یک کاربر. 851 00:41:58,340 --> 00:41:59,950 اما آنچه در واقع در رفتن؟ 852 00:41:59,950 --> 00:42:01,360 >> خب، در نظر گرفتن آنچه در این است. 853 00:42:01,360 --> 00:42:02,310 این یک فیلد متنی است. 854 00:42:02,310 --> 00:42:04,635 و با توجه به HTML در اینجا، من آن را به شما داده ام 855 00:42:04,635 --> 00:42:07,350 شناسه منحصر به فرد به نام نقل قول نقل قول را تمام کردن نام. 856 00:42:07,350 --> 00:42:09,770 در همین حال، من گفته ام زمانی که کاربر تسلیم این فرم 857 00:42:09,770 --> 00:42:13,820 با ضربه وارد کنید و یا با کلیک کردن ارسال را فشار دهید، فراخوانی تابع به نام مادربرد 858 00:42:13,820 --> 00:42:15,410 و سپس بازگشت کاذب. 859 00:42:15,410 --> 00:42:16,870 اجازه دهید آن را در جهت معکوس در نظر بگیرند. 860 00:42:16,870 --> 00:42:20,590 توجه کنید وقتی که من تایپ کنید، URL این صفحه تغییر نمی کند. 861 00:42:20,590 --> 00:42:22,420 آیکون مرورگر شروع نکردند نخ ریسی. 862 00:42:22,420 --> 00:42:27,050 من به جایی، و این به معنای واقعی کلمه به خاطر من گفت بازگشت کاذب. 863 00:42:27,050 --> 00:42:31,534 بازگشت اتصال کوتاه کاذب و یا متوقف می شود رفتار پیش فرض از یک فرم است. 864 00:42:31,534 --> 00:42:33,700 به طوری که پس از آن ما را با این یک سوال نهایی است. 865 00:42:33,700 --> 00:42:34,764 چه مادربرد انجام دهید؟ 866 00:42:34,764 --> 00:42:36,680 خب، سلام ظاهرا خواستار یک تابع به نام 867 00:42:36,680 --> 00:42:39,250 هشدار، عبور می کند در یک بحث طولانی که 868 00:42:39,250 --> 00:42:43,950 نتیجه الحاق به هم دسته از زیر رشته، سلام فضای کاما، 869 00:42:43,950 --> 00:42:45,810 پس از آن هر چه این می گرداند. 870 00:42:45,810 --> 00:42:51,490 بنابراین سند مانند یک جهانی متغیر که ریشه آن درخت، 871 00:42:51,490 --> 00:42:55,560 تماس یک تابع خاص، در غیر این صورت در حال حاضر به عنوان یک روش شناخته شده است. 872 00:42:55,560 --> 00:42:57,650 یک تابع که در داخل یک متغیر است 873 00:42:57,650 --> 00:42:59,640 به نام روش به جای یک تابع. 874 00:42:59,640 --> 00:43:01,570 >> بنابراین با دریافت ID عنصر. 875 00:43:01,570 --> 00:43:03,940 چه عنصر شما انجام دهد می خواهم به ID خود را دریافت کنید؟ 876 00:43:03,940 --> 00:43:06,970 نقل قول نقل قول را تمام کردن نام و پس از آن به طور خاص ارزش. 877 00:43:06,970 --> 00:43:12,000 بنابراین به عبارت دیگر، که به سادگی کد می یابد فیلد متنی که ID نام 878 00:43:12,000 --> 00:43:13,380 و پس از آن می شود ارزش خود را. 879 00:43:13,380 --> 00:43:16,460 بنابراین اگر من به تغییر این و می گویند داوین به جای دیوید، 880 00:43:16,460 --> 00:43:20,670 و تایپ کنید، در حال حاضر ما یک تبریک برای داوین. 881 00:43:20,670 --> 00:43:22,890 >> همه حق است، پس همه خوب و خوب است. 882 00:43:22,890 --> 00:43:25,480 اما بیایید ببینیم که اگر ما می توانیم این کمی از پاک کن فقط 883 00:43:25,480 --> 00:43:28,190 نوشتن کد مثل این است به طور کلی رفتن به بر اخم است. 884 00:43:28,190 --> 00:43:30,060 این است که به نگاه ترسناک. 885 00:43:30,060 --> 00:43:32,330 اما چه چیزی برای اولین بار تفاوت که در اینجا توجه داشته باشید 886 00:43:32,330 --> 00:43:35,970 در این نسخه علاوه بر نام تغییر به DOM یک؟ 887 00:43:35,970 --> 00:43:41,110 چه ساختاری متفاوت به نظر می رسد در مورد این در مقابل دیگر؟ 888 00:43:41,110 --> 00:43:41,932 آره؟ 889 00:43:41,932 --> 00:43:43,890 رسید از: آیا فرم بالای اسکریپت در حال حاضر؟ 890 00:43:43,890 --> 00:43:46,570 DAVID مالان: آره، فرم در بالا اسکریپت برای برخی از دلیل کنجکاو. 891 00:43:46,570 --> 00:43:48,736 به طوری که اولین چیزی است که بیرون می پرد به من، بیش از حد. 892 00:43:48,736 --> 00:43:50,990 و خوشبختانه حداقل، این بخش یکسان است. 893 00:43:50,990 --> 00:43:53,470 بنابراین تنها چیزی که به نظر می رسد به صورت متفاوت از این است. 894 00:43:53,470 --> 00:43:55,296 >> بنابراین در اینجا آنچه را شسته و رفته درباره جاوا اسکریپت 2. 895 00:43:55,296 --> 00:43:57,420 و آن را می سازد آن را به سخت درک در نگاه اول، 896 00:43:57,420 --> 00:44:00,670 به خصوص برای پروژه های نهایی اگر شما دنبال آن هستید در کد نمونه آنلاین، 897 00:44:00,670 --> 00:44:04,200 اما جوش پایین به برخی از ویژگی های اساسی نحوی. 898 00:44:04,200 --> 00:44:06,230 در اینجا دوباره این است که سند متغیر جهانی است. 899 00:44:06,230 --> 00:44:09,540 در اینجا دوباره که روش یا تابع می باشد که می گوید: این عنصر را با ID. 900 00:44:09,540 --> 00:44:11,570 این بار من می خواهم دریافت ID به نام دمو. 901 00:44:11,570 --> 00:44:12,490 که در آن است که؟ 902 00:44:12,490 --> 00:44:15,400 که ظاهرا سمت راست در اینجا، به صورت خود به خود. 903 00:44:15,400 --> 00:44:20,010 >> و در حال حاضر توجه کنید که ظاهرا اگر من بازگشت که گره از درخت که 904 00:44:20,010 --> 00:44:22,940 نشان دهنده فرم به خودی خود، نه یک فیلد متن، 905 00:44:22,940 --> 00:44:26,970 معلوم است که فرم، که گره یا مستطیل از درخت، 906 00:44:26,970 --> 00:44:30,450 تا به آنچه ما ملک تماس بگیرید، بسیار، بسیار، بسیار شبیه 907 00:44:30,450 --> 00:44:35,390 در روح به ساختار در C این فقط عضو داده در داخل این مستطیل. 908 00:44:35,390 --> 00:44:38,300 >> بنابراین من به شکل داریم در اینجا، و من اتصال، 909 00:44:38,300 --> 00:44:44,650 یا من اختصاص، به در آن ثبت کنترل و یا به جای در ثبت اموال 910 00:44:44,650 --> 00:44:45,740 از تابع زیر. 911 00:44:45,740 --> 00:44:49,000 و این است، به دور، از احمقانه ترین چیزی که تا کنون نحوی. 912 00:44:49,000 --> 00:44:53,610 به نظر می رسد در جاوا اسکریپت و در PHP، و رک و پوست کنده که برای ماده در C، 913 00:44:53,610 --> 00:44:58,990 حتی اگر ما این کار را نمی کند، شما می توانید اضافه کردن بی نام، ناشناس، و یا AKA لامبدا 914 00:44:58,990 --> 00:45:03,000 توابع که نام ندارد اما می توان با این وجود گفته می شود. 915 00:45:03,000 --> 00:45:07,050 >> بنابراین آنچه من در اینجا انجام می شود من اختصاص این در ثبت اموال، که 916 00:45:07,050 --> 00:45:14,330 در داخل این گره از درخت DOM من، تابع، اشاره گر تابع اگر شما خواهد شد. 917 00:45:14,330 --> 00:45:16,310 که تابع هیچ نام، اما که نمی کند 918 00:45:16,310 --> 00:45:19,110 مهم چون ما را ببینید در یک لحظه که چگونه به آن تماس بگیرید. 919 00:45:19,110 --> 00:45:21,780 زمانی که این تابع نامیده می شود، این کد اجرا می شود، پس از آن 920 00:45:21,780 --> 00:45:24,210 نادرست است درست مثل قبل بازگشت. 921 00:45:24,210 --> 00:45:25,800 >> اما متوجه آنچه که من انجام داده ام. 922 00:45:25,800 --> 00:45:27,830 در این مرحله در داستان، من یک فرم. 923 00:45:27,830 --> 00:45:30,190 آن را به یک ID منحصر به فرد به نام دمو. 924 00:45:30,190 --> 00:45:33,740 در اینجا، من یک تگ اسکریپت که کد زیر را اجرا می کند. 925 00:45:33,740 --> 00:45:37,720 این به آن گره متصل در درخت به آن را در ارسال 926 00:45:37,720 --> 00:45:40,260 مالکیت این تابع در اینجا. 927 00:45:40,260 --> 00:45:44,310 و فقط با طبیعت چگونه مرورگرها کار، هنگامی که من در حال حاضر با کلیک بر روی ثبت کردن و یا ضربه را وارد کنید، 928 00:45:44,310 --> 00:45:45,889 که تابع است رفتن به دریافت نامیده می شود. 929 00:45:45,889 --> 00:45:48,680 این کار به دلیل یک نام که لازم نیست هک مراقبت چه آن را به نام. 930 00:45:48,680 --> 00:45:52,540 تنها زمانی آن را به حال رفتن به نام وقتی است که من به صورت ارسال کنید. 931 00:45:52,540 --> 00:45:55,130 هیچ نیازی نیست برای من وجود دارد، توسعه انسانی، 932 00:45:55,130 --> 00:45:57,330 به واقع آن را هر جای دیگر. 933 00:45:57,330 --> 00:46:00,720 >> در حال حاضر فقط به عنوان یک تیزر، به عنوان اگر آن شد مهم نیست به اندازه کافی خم، 934 00:46:00,720 --> 00:46:03,330 ما حتی می توانیم این را نگاه با استفاده از مرموز تر 935 00:46:03,330 --> 00:46:05,850 یک کتابخانه فوق العاده محبوب به نام جی کوئری. 936 00:46:05,850 --> 00:46:08,760 در واقع jQuery و جاوا اسکریپت اغلب تلفیق شدهاست. 937 00:46:08,760 --> 00:46:12,790 و آنچه ما در روز چهارشنبه آغاز شده است با استفاده از این زبان و این کتابخانه ها 938 00:46:12,790 --> 00:46:16,030 برای ساخت به طور فزاینده آسنکرون و برنامه های کاربردی پویا 939 00:46:16,030 --> 00:46:18,950 مانند نقشه گرفتن برنامه های کاربردی، برنامه های کاربردی 940 00:46:18,950 --> 00:46:22,360 که به روز رسانی صفحه وب در واقعی زمان، بسیار شبیه به فیس بوک و یا Gchat 941 00:46:22,360 --> 00:46:27,130 انجام دهید، و دیگر اکتفا به ثبت کردن ضربه توسط GET و یا فقط پست 942 00:46:27,130 --> 00:46:27,630 به تنهایی. 943 00:46:27,630 --> 00:46:29,055 بنابراین من به شما در روز چهارشنبه را ببینید. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [MUSIC پخش] 946 00:46:35,550 --> 00:48:09,728