[MUSIC پخش] DAVID مالان: این CS 50 و است این آغاز هفته نه است. و آنچه ما فکر کردم ما امروز نیست تنها فصل گذشته هفته بستن مواد که در آن ما را بر روی سرور متمرکز سمت برنامه نویسی تحت وب با PHP و SQL، برخی چیزهای پایگاه داده. ما در مورد یک بیت از بحث امروز امنیت و پس از آن انتقال به برنامه نویسی سمت سرویس گیرنده شناخته شده به عنوان زبان جاوا اسکریپت. اما در ابتدا، برخی از رستگاری. شما نمیتوانید به یاد بیاورید که در چهارشنبه، من مجموعه ای از برای نوشتن یک وب سایت است که در ورودی کاربر در زمان توسط HTML را تشکیل می دهند که پس از آن ذخیره شده که نام ورودی کاربر، تلفن اعداد و تلفن همراه حامل در پایگاه داده باشد. و پس از آن من تا به حال یک دستور کمی اسکریپت خط نوشته شده در PHP که قرار بود تکرار در طول ردیف ها را در پایگاه داده و ارسال پیام های متنی. با وجود چند، چندین تلاش، ما بود که کار تا پایان می کنید. بنابراین من این هفته تمام را صرف کار در آن کد را به ما گذشته نقطه که در آن ما به سمت چپ خاموش، به موجب آن همه من در پایان چهارشنبه کردم این پیام متنی بود از مارگو که من تلاش، پس از یک پیام متنی از دیگر همکلاسی، شما این دیوید ام. به دنبال این، زیبا و دلگرم کننده است. نگه داشته و در رفتن، بسیار دلگرم کننده. من تقریبا آن را تا کردم و then-- توجه داشته باشید که ما در روز چهارشنبه به پایان رسید است. و پس از آن در واقع شاید مورد علاقه من، لحظه ای بعد، این در آمد. لعنت جریان زندگی می کنند. بنابراین، امروز، ما این مسئله را حل با سریع در آنچه که من انجام داده ام از نگاه. پس همه از این کد در دسترس است آنلاین از هفته گذشته، هفته هشتم، کد منبع. و شما خواهید دید که من از طریق رفت، و من در واقع تمیز کردن چیزهای کمی. من معرفی یک زن و شوهر دیگر ویژگی های یک پایگاه داده SQL. به عنوان مثال، به جای فقط حامل ور کاراکتر را که من فکر می کنم من در پرواز هفته گذشته انجام داد. من به جای آن را به عنوان تعریف آنچه شمارشی نامیده می شود. و برخی از شما ممکن است دیده می شود این به عنوان ما به بررسی C. شمارشی است که در واقع یکی از ویژگی های C که در آن شما می توانید شمردن یک دسته کامل از ثابت و ارزش های خودکار اختصاص آنها، مانند یک، دو، سه، چهار بدون نیاز به شماره کد سخت است. بنابراین SQL پشتیبانی از همان، به موجب آن اگر شما باید یک پایگاه داده است که تنها به شما می خواهید در یکی از محدود را ارزش ها، شما به معنای واقعی کلمه می توانید آن را مشخص که من وجود دارد به مدت چهار انجام داده اند محبوب حامل تلفن همراه ایالات متحده است. بنابراین من که. و من ساخته شده و تعدادی از تغییرات به عنوان خوب، که مهمترین آنها شد به ایمیل کار به دلیل به یاد بیاورید، که این برنامه با تکیه بر آن به طور کلی یک ایمیل به نام دروازه SMS، است که فقط راه فانتزی گفتن که ورایزون و AT & T، و دیگر مردمی حمایت از سرور، به موجب آن اگر آن را دریافت ایمیل، آن را تبدیل به SMS و می فرستد یک متن پیام به تلفن کسی. بنابراین اگر من این را به درستی انجام داد، در اینجا یک فرم جدید و بهبود یافته است است که رفتن به صحبت کردن کد جدید و بهبود یافته، که شما می توانید با بازی آنلاین. و امیدوارم من را خواهد بوق تلفن در یک لحظه. بنابراین برای اولین بار، من قصد دارم برای تایپ به نام من. دوم، من قصد ندارم این این زمان انجام دهد. من قصد دارم به انجام بازرسی عنصر. و این فقط یک چیزی که کمی، بنابراین من نمی کنند ایجاد ساعت تولید ارسال کار من به عنوان آخرین بار بود. در حال حاضر وجود دارد شماره تلفن من است. من ورایزون را انتخاب کنید. و در اینجا، اجازه دهید در این میکروفون را روشن در اینجا، و هدف از این در تلفن من در اینجا. من قصد دارم به ثبت نام کلیک کنید، امیدوار باشید آن را به پایگاه داده باشد. حالا من قصد دارم برای رفتن به برنامه خط فرمان، که فراخوان علامت نقطه نامیده می شد متن، و عبور از انگشتان دست خود را. در اینجا ما بروید. [DINGS PHONE] [تشویق حضار] DAVID مالان: بنابراین سرگرم کننده بیش از this-- آن را سرگرم کننده، البته، اگر من به آن را دریافت. اما بیشتر سرگرم کننده است، من فکر کردم، اگر ما ایجاد یکی از آن لحظات فیلم که در آن چیزی واقعا بد در جهان اتفاق افتاده است، و مثل همه NSA مردم تلفن همراه شروع beeping با پیام های متنی هشدار آنها را به این واقعیت است. بنابراین من فکر کردم ما سعی می کنیم که برای از نو خلق همان در اینجا، به موجب آن با استفاده از یک پایگاه داده نیست، من به جای در پیش برنامه ای است که به نظر می رسد مثل این می نوشت. این index.php-- است و من این کد را قرار داده آنلاین به عنوان well-- که ظاهرا فقط ارائه form.php، با استفاده از الگوی MVC یک سبک است که ما صحبت در مورد جزئیات بیشتر در مجموعه ای مشکل هفت. که به صورت بسیار ساده است. آن را برای ارسال به فایل here.php از طریق پست به نام. و آن را ظاهرا به درخواست برای یک نام و یک شماره تلفن، و پس از آن از طریق به اصطلاح انتخاب منو، آن را رفتن به شما حداقل چهار را محبوب حامل تلفن همراه در ایالات متحده، و پس از آن اجازه می دهد تا شما را به طور موثر را حضور با کلیک در اینجا. و در اینجا، در همین حال، در حال رفتن به قرض برخی از کد آن را از زمان گذشته است. و اگر شما فقط این خامه ای، شما خواهید دید که وجود دارد این است که یک دسته کامل از چک کردن خطا. اما زیبایی در پایان این است که ما به یک پایگاه داده نوشتن نه امروز. ما آن را ساده نگه داشتن و فقط امیدوارم ارسال یک پیام متنی از طریق تابع I طی چند روز گذشته نوشت تماس متن، که در توابع. پی اچ پی، که دوباره در دسترس است. بنابراین اگر شما می خواهم به شریک شدن در این. ما قصد داریم به ذخیره سازی هر چیزی. برو به این URL در اینجا در زمان واقعی است. آن را ارائه نه فقط رتبهدهی نشده است، اما اجازه دهید ببینید اگر ما می توانیم یکی از این فیلم داشته باشد لحظه که تلفن همراه همه شروع می شود beeping، امیدوارم فقط یک بار در سال جاری بر خلاف در سال 2011 جایی که این رفت به طرز وحشیانه ای به چپ چپ. و هنگامی که شما به آن آدرس بروید، شما باید یک فرم فوق العاده ساده را ببینید که اگر شما یک نام، تلفن همراه تعداد و حامل تلفن همراه است که مسابقات لیست وجود دارد، به پیش رو و با پر کردن فرم. اما آیا برخورد کند ارائه فقط رتبهدهی نشده است. فرم رفتن به شبیه به این. پیش بروید و نوع در نام شما، شماره تلفن. OOP، کسی رفتن جلوتر از منحنی. این OK. OK، همه پر کردن فرم. این باید در کار تلفن، TOO، اگر شما می خواهید. همه حق است، در علائم خود را، دریافت مجموعه، بروید. آمار اینجا. چه؟ شماره به خدا سوگند، من تست شده این چندین بار است. شما آن را کردم؟ [INTERPOSING صداهای] DAVID مالان: OK، خطای کاربر شاید. که دو است. این دو از کار چند صد، سه، چهار. OK، که خوب است. چهار از پنج را برای چگونه در مورد صحت. پس چه اتفاقی افتاده؟ بنابراین احتمالا، بدون دیدن شما صفحه نمایش، چرا ممکن است آن را errored اند؟ این احتمالا که ما فقط بود تلاش برای ایجاد بیش از حد بسیاری از اتصالات به سرور ایمیل دانشگاه هاروارد همه در یک بار از همان آدرس IP. من فقط حدس زدن از من نیست دارای لوکس تست این کد با برخی از 300 نفر در پیشبرد اما در حال حاضر متوجه است که که باید حداقل کار انجام شده در این زمان رفت. همه حق است، پس چرا این همه وابسته تر به چه خبر است؟ خب اول، سریع چند اطلاعیه. بنابراین یکی، اگر شما می خواهم برای پیوستن به چانگ، و نیک، و دیگران در این ناهار روز جمعه، انجام RSVP در URL معمول وجود دارد. اگر شما به فکر تمرکز یا انجام ثانویه در CS، آیا شما یک دانشجوی سال دوم، و یا دانشجوی سال اول، و یا حتی تاریخ یا ارشد در این نقطه و هنوز هم می تواند در دوره های فشار، متوجه است که مدرسه مهندسی برای آزاد بن جمع آوری و بستنی جری و مشاوره چهارشنبه مدت کوتاهی پس از کلاس ساعت 4:00 بعد از ظهر در ساختمان CS در ماکسول دورکین. اگر این است بیش از حد سریع بر روی صفحه نمایش، فقط به به cs50.harvard.edu برای پیوند به رویداد فیس بوک که در آن شما می توانید جزئیات بیشتری را مشاهده کنید. در همین حال، من فکر کردم من اصلاح یک چیز دیگر من در روز چهارشنبه goofed. معلوم است که ID مارک در فیس بوک سه نیست. این چهار بود. تبدیل کردن او به حال بیش آزمون حساب از من یاد می آورند. اما آنچه این احساس فرصت برای انجام این کار است به جلو و یک URL مثل این. پس معلوم است که فیس بوک API، رابط کاربردی برنامه نویسی، که یک مکانیسم موجب آن شما می توانید داده ها برنامه نویسی درخواست در فیس بوک و بازگشت به ماشین آلات اطلاعات قابل خواندن، صفحات وب نمی اما فقط متن خام، چیزی به نام جاوا اسکریپت نشانه گذاری شی. و در واقع، اگر این دیدار من URL، و بزرگ نمایی، به طور پیش فرض، این مارک عمومی اطلاعات در دسترس است. و جزئیات جالب اینجا که فقط ID خود است در واقع، تعداد چهار، که من به عنوان به زودی به عنوان من این را متوجه شدم. شما می توانید خودتان این را انجام دهید اگر شما می دانید نام کاربری فیس بوک خود را در صورتی که دارای یک. فقط آن را در بالا وجود دارد. و هیچ یک از این خصوصی است. من فقط انجام این کار حتی در حالت ناشناس. بنابراین من حتی عضو وارد نشده اید. و شما از دیدن که من ظاهرا تعداد کاربر 6،454 بود در فیس بوک است که نمی خیلی بد است این روزها. پس به هر حال، شما همچنین خواهید دید اطلاعات اضافی وجود دارد. و جنبه های مفید از آن این است که شما می تواند نرم افزار خود را ارسال که به نحوی ادغام داده ها مثل این به برنامه خود شما. شما می توانید کاربران را به توانمند سازی ورود به وب سایت خود را، با استفاده از نام کاربری خود را سفارشی نیست و رمز عبور اما شاید ورود به فیس بوک خود و حتی دریافت اطلاعات در مورد دوستان خود، اگر آنها تایید مانند، و یا. بنابراین توجه داشته باشید که CS50، بیش از حد، تا به برخی از رابط های برنامه کاربردی خود، یکی برای داده کاتولوگ البته، برخی برای منوها در آغوش ناهار خوری سالن، همه از ساختمان ها و مکان های در دانشگاه ما یک API برای و همچنین که شما می توانید به همین ترتیب پرس و جو و دریافت داده های متنی که شما می توانید به عقب یکپارچه به PHP، جاوا اسکریپت و یا، و یا حتی، هر چند به میزان کمتر، C پروژه نهایی است. در واقع پیش رو برای نهایی پروژه چند نقاط عطف هستند. شما یک ایمیل از ما در روز های دیگر است. متوجه است که پیشنهاد به دلیل این دوشنبه آینده. بنابراین، الزام آور نیست، اما شما آیا نیاز به دریافت بورسیه آموزش شما تایید قبل از ساخت هر گونه تغییر پس از آن. و پس از آن در پیش است تعدادی دیگر از نقاط عطف. بنابراین به شما کسی را دست انداختن، بیش از حد، با برخی از فرصت، ما یک دسته از این لامپ رنگ. و برخی از شما بچه ها در حال حاضر برخی از این در اتاق خوابگاه خود را به عنوان به خوبی. و آنها نیز API داشته باشد. بنابراین کسانی که هفته لامپ های باینری به یاد پیش که دن برادلی و انسل داف برای ما ایجاد شده است. آنها یک رابط نرم افزار به استفاده این لامپ، که در حال حاضر به برق وصل و پس از آن از طریق بی سیم به یک چیز کوچک متصل به نام پل را در اینجا، مانند یک روتر اختصاصی کمی این دستگاه خاص. اما معلوم است که اگر من می دانم که چگونه به ارسال پیام HTTP، همانطور که همه ما در حال حاضر، من می توانم یک پیام مانند این به ارسال این لامپ به آن را روشن یا خاموش و یا انجام هر تعداد عملیات دیگر بر روی آن. توجه داشته باشید که آن را می کنید، آن را ارسال کنید. یکی دیگه به ​​نام می شود وجود دارد. در واقع برخی دیگر از جمله افعال وجود دارد. اما متوجه یک راه وجود دارد، بریده بریده API، بریده بریده توسعه جدید، بریده بریده نور، بریده بریده یک، بریده بریده دولت است. که ظاهرا فقط مسیر است که این شرکت، فیلیپس، تصمیم گرفت که شما را مجبور به آمار با یک درخواست HTTP اگر شما می خواهید به تغییر دولت از لامپ با استفاده از HTTP 1.1. سپس متوجه خط خالی. و سپس در نهایت آنچه که به نظر می رسد نوع آرایه ای از نوعی، این است که دوباره به آن می شود جاوا اسکریپت نشانه گذاری شیء، یا جیسون. و آنچه که اینجا میبینید این است که سه جفت ارزش کلیدی وجود دارد. یک کلید بر نامیده می شود. و ارزش خود را به ظاهر است که درست باشد. روشنایی 128، است که نوعی از نوع int است. و سپس زمان انتقال است صفر، است که ظاهرا چه مدت آن را به را به نوبه خود این چیز در. بنابراین در حال حاضر این لامپ خاموش است. اما اگر من دقیقا this-- اجازه مرا به بازی ورق کمی که دن در راه اندازی advance-- و من قصد دارم به جلو بروید و کپی از دستور زیر. حلقه، به عنوان برخی از شما ممکن است در CS50 شایان بحث در مورد ابزار مانند شبکه راه دور به گونه ای است که شما می توانید درخواست های HTTP شبیه سازی، به طور خاص قرار می دهد. من می توانم این اطلاعات ارسال، به طور خاص چیزی است که ما فقط یک لحظه دیدم پیش به طور خاص این URL در اینجا. و پس از آن حلقه به رتق و فتق همه از هدر لازم و تجزیه وجود دارد از. بنابراین تمام من مجبور به انجام آن کپی کنید این را به یک پنجره ترمینال و سپس کلید را وارد کنید. و لامپ می رود. و این همه را از طریق رفتن کامپیوتر من به صورت بی سیم به نحوی به پایین پل، که است و سپس صحبت کردن به این لامپ. من چیز دیگری می توانید انجام دهید. من می توانم این چیز را به رنگ قرمز به عنوان مثال. من می توانم به عنوان مثال را این چیزی که سبز. من می توانم آن را به آبی. و اطلاع در هر یک از این موارد، تمام چیزی که برایش تغییر به اصطلاح ارزش رنگ است در واقع آن را برخی از رنگ را. بنابراین، اجازه دهید این یکی دادن در نیز هست. در حال حاضر آن آبی رنگ است. و شما می توانید حتی خیال باف انجام همه چیز where-- اجازه دهید به سبز بروید. و من می توانم این کار را انجام از البته با کد خود من. اما حتی خود API پشتیبانی از عملیات های بد بو مثل این که در حال حاضر زحمت ما برای 30 ثانیه بعد. به طوری که یک طعم و مزه چیزی است که شما ممکن است با API، این یکی مربوط به لامپ. توجه داشته باشید که CS50 دارای یک زن و شوهر جفت گوگل شیشه ای اگر شما می خواهم دوست برای مقابله با چیزی همراه آن خطوط، آردوینو Unos، که کامپیوتر کوچک، اساسا، از روی یک مدار کمی که شما می توانید اتصال سیم و چیزهای دیگر و در واقع کنترل محیط زیست جهان واقعی خود را. و پس از آن یک زن و شوهر وجود دارد اسباب بازی های جدید است که ما داریم. این یکی به معنای واقعی کلمه فقط وارد روز دیگر از طریق پست، میو بازوبند. و من فکر کردم این یک راه برای به شما را در مورد پروژه هیجان زده که شما ممکن است با استفاده از این امر سخت افزار است برای پخش این کلیپ های کوتاه که از آن استفاده میکنند به کسی را دست انداختن مردمی که ما در حال حاضر در آینده زندگی می کنند. [MUSIC پخش] DAVID مالان: بنابراین در چند هفته، شما بیش از حد می تواند این باشد که در نمایشگاه CS50 سرد. دستگاه دیگری که ما یک دسته از ما که خوشحال به وام برای پروژه های یک کنترل کننده حرکت نامیده می شود. این یک دستگاه USB کمی است شما را به یک کامپیوتر متصل کنند اجازه می دهد تا شما را به ارتباط برقرار کردن با لپ تاپ شما، مک و یا PC، به عنوان اینکه شما مثل یک ایکس باکس کینکت به حال و در واقع حرکات فیزیکی را بسیار مثل ما در این را ببینید چشم انداز آینده. [MUSIC پخش] DAVID مالان: بنابراین حتی اگر شما هیچ ایده چگونه چیزی شبیه به آن احتمالا اختراع و یا کار در سطح سخت افزار، بدون توجه به. حتی پس از چند ماه از CS50، و درک درستی از برنامه نویسی به طور کلی، و برنامه نویسی وب تر به تازگی، و پس از آن نیز از API های، و HTTP، شما دسترسی از طریق دارای رابط های برنامه کاربردی نرم افزار اگر شما نمی خواهم به قرض گرفتن یکی از این دستگاه به واقع به آن صحبت کنید و لازم نیست که نگران اجرای اساسی جزئیات، است که به طور کامل سازگار با این مفهوم لایه بندی انتزاع ایم که در طول ترم دیده می شود. بنابراین بیش از آخر هفته، دیدم یک زن و شوهر قطعه از اخبار است. برو اول، رفتن به سمینارها اگر شما می خواهم چیزی را یاد بگیرید بیشتر در مورد هر تعداد از موضوعات. URL وجود دارد. و این یکی به آن ارسال شد من توسط چانگ، که می دانید، که چاپ ارتش ما از فیل. و این تیتر به شرح زیر بود. من وحشت زده از تلویزیون جدید من هستم. چرا من می ترسم به نوبه خود این چیزی که در و شما بیش از حد می شود. بنابراین ما در حال حاضر در هستی نقطه در ترم، بیش از حد، که در آن حتی اگر کوچکترین درک چگونه وب کار می کند، و HTTP، و امنیت، چیزهایی مثل این باید شروع به گرفتن چشم خود را. اما همچنین، شما درک آیا این چیزها هستند یا نه تهدید واقعی. بنابراین من در زمان چند گزیده از این مقاله در اینجا. و داستان به شرح زیر است. من در حال حاضر مالک تلویزیون های هوشمند جدید، که وعده به ارائه جریان محتوای چند رسانه ای، بازی ها، برنامه، رسانه های اجتماعی و اینترنت مرور، آه و تلویزیون بیش از حد. تنها مشکل این است که من در حال حاضر ترس از آن استفاده کنید، می گوید: نویسنده. شما خواهد بود، بیش از حد، اگر شما خواندن را از طریق سیاست حفظ حریم خصوصی 46 صفحه برای تلویزیون خود را. مقدار داده این جمع آوری چیز سرسام آور است. این سیاهههای مربوط که در آن، چه زمانی، چگونه، و برای چه مدت استفاده از تلویزیون. این مجموعه ردیابی کوکی ها، که بحث، و چراغ طراحی شده برای تشخیص زمانی که شما محتوای خاص را مشاهده و یا یک پیام ایمیل خاص اگر شما می خواهید برای چک کردن ایمیل بر روی تلویزیون خود را. این رکورد برنامه شما استفاده، وب سایت بازدید می کنید، و چگونه شما با محتوای تعامل، انجام همه از آن از طریق تلویزیون های هوشمند خود را. این نیز، yet-- creepier که addition-- من ساخته شده در دوربین با شناسایی چهره با چهره. هدف این است که برای کنترل حرکت برای تلویزیون و شما را قادر به ورود به شخصی حساب کاربری با استفاده از صورت خود را. در حرکت صعودی، تصاویر ذخیره شده بر روی تلویزیون به جای آپلود به سرور شرکت ها. در حرکت نزولی، اینترنت اتصال باعث می شود کل TV آسیب پذیر به هکرها که توانایی نشان داده اند به دست گرفتن کنترل کامل دستگاه. دردسر بیشتر، اگر بود که نمی به اندازه کافی هوشمند، میکروفون است. تلویزیون دارای صدای قابلیت تشخیص که اجازه می دهد تا بینندگان را به کنترل صفحه نمایش با دستورات صوتی. اما همراه با خدمات یک هشدار و نه شوم. لطفا توجه داشته باشید که اگر کلمات صحبت خود را شامل شخصی یا دیگر حساس اطلاعات، که اطلاعات در میان داده ها اسیر می شود و انتقال به شخص ثالث. کردم که؟ آیا می گویند شخصی و یا حساس مسائل در مقابل تلویزیون خود را. پس این است که در واقع برای واقعی است. و آن را سخت برای دیدن اگر شما نمی رفتن به بهترین فروش و یا مانند برای تلویزیون این روزها. همه آنها در برخی از راه های هوشمند هستیم. و آنها گرفتن دقیق و creepier. و آنها را به سادگی جمع آوری داده ها در راه است که ما در مورد صحبت کردیم و سپس آن را آپلود از طریق HTTP و یا برخی از پروتکل های دیگر را به برخی از سرور. بنابراین این یک مقاله سرگرم کننده در این وب سایت آنلاین در اینجا، که در مورد صحبت کردیم اشکال خاص و یا کد اشتباه که ما در واقع می تواند کراوات به بحث در هفته گذشته است. بنابراین این تیتر را به عنوان بود شرح زیر است، داستان در اینجا می رود، جاش Breckman برای کار شرکت است که فرود یک قرارداد به منظور توسعه یک مدیریت محتوا سیستم، و یا CMS به عنوان آنها نامیده می شود، برای یک وب سایت نسبتا بزرگ دولت است. بخش عمده ای از پروژه در حال توسعه یک سیستم مدیریت محتوا به طوری که کارکنان می شود قادر به ساخت و حفظ همیشه در حال تغییر محتوا برای سایت خود. همه چیز به خوبی برای رفت چند روز پس از رفتن زندگی می کنند. اما در روز شش، همه چیز رفت تا به خوبی نیست. همه از محتوا در وب سایت به طور کامل از بین رفته بود. و تمام صفحات به طور پیش فرض منجر شد، لطفا به صفحه وب محتوای وارد کنید. اوه. جاش به نام شد بررسی و متوجه که یکی به خصوص در سخت آدرس IP خارجی رفته در و حذف همه محتوای بر روی سیستم. آدرس IP به آن تعلق نمی به برخی از خم هکر در خارج از کشور در از بین بردن مفید اطلاعات دولتی. این حل و فصل به googlebot.com، خزنده تار عنکبوت بسیار خود گوگل است. اوه. پس از کمی تحقیق و تقلا در اطراف برای پیدا کردن یک نسخه پشتیبان تهیه noncorrupt، جاش مشکل پیدا کرد. کاربر کپی کرده و جا به جا برخی از مطالب را از یک صفحه خود را به دیگری، از جمله ویرایش لینک ویرایش محتوا در صفحه به طور معمول این نخواهد بود موضوع را از کاربر خارج می نیاز به یک نام و رمز عبور را وارد کنید، اما سیستم احراز هویت سیستم مدیریت محتوا، سیستم ورود به سیستم، آیا به حساب نمی هک پیشرفته تکنیک های گوگل عنکبوتی. اوه. همانطور که معلوم است، گوگل عنکبوتی استفاده نمی کند کوکی ها، به این معنی که می توانید به راحتی دور زدن چک برای در مجموعه کوکی به سیستم وارد می شود نادرست است. همچنین این توجه به عدم پرداخت جاوا اسکریپت، که به طور معمول سریع و تغییر مسیر کاربران که به سیستم وارد نشدهاید. با این حال این هر دنبال لینک در هر صفحه آن را پیدا کرد، از جمله کسانی که با حذف صفحه در عنوان. اوه. پس به چه معنی است در بیش اصطلاحات فنی اما نسبتا قابل دسترس؟ این فقط بدان معنی است که در سراسر وب سایت خود، آنها URL ها به حال بر خلاف این نیست که شما ممکن است را در مجموعه هفت مشکل. به یاد بیاورید در مجموعه مسائل هفت یا می دانید در مجموعه مسائل هفت که شما به چالش کشیده می شود، در میان چیزهای دیگر، به فروش سهام به نمایندگی از کاربران. اما اجرای آن ویژگی های راه از طریق لینک در کاربر خود را دریافت کنید رابط، احتمالا نه هوشمندانه ترین ایده چرا که اگر سایت خود را به نحوی توسط انسان یا در دسترس که با کلیک کردن در اطراف و یا خرید ربات مانند گوگل یا یک عنکبوت به عنوان آنها نامیده می شود که فقط خزنده وب تلاش برای شاخص وب به عنوان یک موتور جستجو، آنها می توانند به راحتی آمار از طریق این نوع از URL. و این عملکرد معادل، در این مورد، فروش تمام سهام گوگل. حالا رک و پوست کنده، آن را به طور کامل نادان که CMS استفاده از جاوا اسکریپت و کوکی ها پیاده سازی سیستم ورود به آن و انجام آن نیست که سمت سرور، به عنوان شما بچه ها انجام خواهد شد و در PSet 7-- یک login.php وجود دارد file-- همیشه، همیشه، همیشه باید امنیت انجام شده در سمت سرور، نه در سمت سرویس گیرنده به دلیل، به عنوان این مقاله نشان می دهد و شما ممکن است خودتان در برخی از نقطه، آن است بی اهمیت برای کاربر، خوب یا بد، فقط به خاموش کردن جاوا اسکریپت به ذکر کوکی نیست. به طوری که WTF روزانه شما است. یکی بیشتر، وجود دارد که فقط نوع ترسناک، تا من آن را در صورت ذکر تنها به عنوان یک درس زندگی است. هر زمان که شما با استفاده از یک برنامه به نام مثل اسنپ چت و یا مانند که می گوید این عکس ها فقط برای آخرین پنج ثانیه، ده ثانیه، و یا فلان چیز. آنها زودگذر است که هستیم کاملا این مورد نیست. مثل هیچ راهی وجود دارد، دیجیتالی، برای اجرای نوعی از ویدئو، یا تصویر یا متن به اشتراک گذاری مانند که دریافت کننده در انتهای دیگر نمی تواند به نحوی داده را ذخیره کنید. در راه ساده ترین، کسی می تواند تلفن خود را. و آنها را به یک پنجره 10 ثانیه در حالی که به دنبال در برخی از ضربه محکم و ناگهانی فقط به برخی از تلفن های دیگر را و عکس آن، بدیهی است. بنابراین شما می توانید حفظ چیزی دیجیتالی که راه. برخی از شما می دانید که چگونه به تصاویر را بر روی تلفن خود را. در واقع، اگر شما این را نمی دانند، متوجه باشید که حداقل اسنپ چت، و من فکر می کنم دیگر برنامه های کاربردی این روزها، حداقل شما اگر بگویید دریافت کننده است در واقع گرفته شده از صفحه نمایش از تصویر خود را. اما بدتر از این وجود، این snappening بود، به عنوان کسی که اخیرا ابداع، که در آن برخی از 100000 جرقه بزند منتشر شده بود در آنچه که یک فایل تورنت نام در وب سایت های مختلف در نهایت. و این شامل یک دسته کامل پیام های خصوصی و پست. به نظر می رسد بسیاری از آنها خوش خیم، بنابراین نه آنچه که شما ممکن است انتظار. اما از آنجا که مردم به حال با استفاده از یک وب سایت شخص ثالث، ورود با اسنپ چت خود نام کاربری و کلمه عبور و سپس صرفه جویی در همه از جرقه بزند خود در این وب سایت شخص ثالث. و آن این است که شخص ثالث بود وب سایت است که هک شد، که کسی فقط به معنای نمیفهمد چگونه برای دریافت تمام 100000 به علاوه از آن تصاویر به دیسک سخت خود را برای به اشتراک گذاری پس از آن. صادقانه بگویم، اینجا بیش از حد، آن را مرتب سازی بر از نادان که اسنپ چت است به گونه ای که اجرا یک شخص ثالث می تواند رهگیری مرتب سازی بر اساس داده و آن را به شما گره خورده است برنامه خود در حال اجرا بر روی گوشی. اما در اینجا، بیش از حد، درک کنند که این همه چیز باید به شما با تعجب متوجه نشدم، و یا حداقل باید وجود داشته باشد یک درس زندگی در اینجا. اگر شما می خواهم فنی جزئیات، وجود دارد که به URL بروید که در اسلاید امروز است. همه حق است، هر گونه سوال در درس های زندگی امروز در CS؟ خاموش. در همه هر چیزی؟ در همه هر چیزی؟ من بسیاری از مردم چک کردم اسنپ ​​چت و یا چیزی خود را در حال حاضر. همه حق است، بنابراین SQL، پرس و جو زبان ساخت یافته. اجازه دهید این بپیچید. و همچنین، حتی اگر ما فقط خاراندن سطح این زبان، ما به شما می دهد به اندازه کافی از زبان در قالب PSet 7 به طوری که شما می توانید برخی از مقابله قابلیت نسبتا رایج است. اما متوجه یک زن و شوهر وجود دارد چیزهایی که ما از شما نیاز ندارد، اما آنها در حال رفتن به مهم آمده پروژه نهایی و قطعا می آیند ساخت واقعی وب سایت ها با کاربران واقعی این تصمیم در طراحی است. به نظر می رسد که در پایگاه داده خروجی زیر، شما دارای مجموعه ای از گزینه های مانند انواع داده برای ستون خود و چیزهای دیگر، اما شما نیز باید انتخاب ذخیره سازی به اصطلاح موتور برای همه اطلاعات شما، مرتب کردن بر اساس فایل سیستم، اگر شما آشنا هستید، برای همه از اطلاعات شما. چه در قالب آن در نهایت در ذخیره؟ و شایع ترین، شاید، شده است MyISAM از INNODB و اصطلاحات فنی که ما فقط در مورد مراقبت از به حدی که یکی است و یکی اختصاص ندارد از ویژگی های زیر است. فرض کنید که شما را یخچال خوابگاه کم است. و فرض کنید که شما و شما هم اتاقی، که در این یخچال، واقعا علاقه شیر بگو. و این است که، در واقع، چگونه داستان به من راه برگشت گفته شد در آن روز که من یک دوره در زمان به نام CS 161 سیستم عامل، که به طور مشابه به بررسی این موضوع. بنابراین شما این یخچال کردم. شما از شیر است. و شما به خانه، هم اتاقی شما هنوز هم در کلاس و یا هر چیز دیگری، و شما تصمیم می گیرید من قصد دارم به بیرون رفتن و گرفتن برخی از شیر. بنابراین شما در یخچال را ببندید، قفل اتاق خوابگاه، در سراسر خیابان بروید به CVS یا هر جا، و در خط به خرید برخی از شیر. در همین حال، هم اتاقی خود را به خانه از کلاس، به داخل اتاق خوابگاه، باز یخچال، همچنین متوجه ooph، ما از شیر است. بنابراین او می بندد یخچال و سپس اتفاق می افتد برای رفتن به CVS دیگر، که اتفاق می افتد یک بلوک به دور از CVS دیگر در میدان، و می شود در خط وجود دارد به گرفتن برخی از شیر. در حال حاضر، البته، چند دقیقه بعد، شما هر دو به عقب بر گردیم، و بدتر از همه ممکن نتایج اتفاق افتاده است. هر دو شما باید شیر. و شما واقعا نمی مثل شیر که بسیار. بنابراین یکی از آنها این است که فقط رفتن به ترش در برخی از نقطه. بنابراین در حال حاضر شما یک مقدار بیش از حد شیر در یخچال همه به خاطر چرا؟ [نامفهوم] DAVID مالان: بله، شما نمی به نحوی با یکدیگر ارتباط برقرار که شما گرفتن شیر شد. بنابراین در ساده ترین راه در جهان انسان، چگونه ممکن است به شما برای جلوگیری از این احمقانه سناریو اتفاق می افتد از جمله که شما فقط تا پایان با یک. متن آنها، بله خوب است. اما چگونه دیگری؟ پس از یادداشت های. DAVID مالان: توجه داشته باشید پس از آن. هر شکلی از ارتباطات که هم اتاقی خود را می گوید را به یخچال برای شیر نیست. من قصد دارم برای رفتن به restock در خود من. بنابراین شما به نحوی نیاز برای قفل کردن این منابع. بنابراین ما می توانیم this-- را ما می توانیم نوع خراب کردن داستان و تبدیل به یک داستان CS به موجب آن از این فکر می کنم به عنوان درست مانند یک متغیر، که ذخیره ارزش باشد. و در حال حاضر، ارزش شیر صفر است، که شما خود را می خواهم نه هم اتاقی به بازرسی که متغیر و پس از آن تصمیم را به او و یا خودش بر اساس وضعیت که متغیر اگر شما در روند هستید تغییر حالت آن متغیر است. بنابراین یکی از خطوط SQL است که ما شما در PSet 7 مشخصات را این یکی در اینجا است. و ما صرف یک بزرگ مقدار زمان صحبت کردن در مورد آن است. اما معلوم است، اگر شما در حال تلاش برای خرید برخی از سهام در امور مالی CS50 که شما در حال حاضر برخی از سهام، شما می خواهم که قادر به انجام یک تعداد از همه چیز فورا با هم. شما می خواهید می شود قادر به به طور موثر، در سطح بالا، بررسی تمام حق، اگر من می خواهم به خرید سهام بیشتر از آزاد، سهام پنی ما صحبت در مورد در تنظیمات، من اول بررسی کنید خواهید چگونه بسیاری از سهام من. و فرض کنید این پنج. و فرض کنید من می خواهم خرید 10، من در نهایت می خواهم به 15 سهم از سهام. بنابراین من باید به دو سوال بپرسم. دولت از متغیر چیست؟ دولت از ردیف چیست؟ چگونه بسیاری از سهام را من در حال حاضر؟ سپس شما می خواهید به جلو بروید و به روز رسانی آن است. به طوری که آنالوگ به شیر در آن را چک کنید ردیف، و پس از آن شما می خواهید برای به روز رسانی چرا که اگر شما می خواهید برای خرید 10 سهام، شما نمی خواهید به تغییر ردیف به 10، شما می خواهید آن را تغییر دهید تا 5 به علاوه 10 یا، البته، 15. این خط از کد تضمین می کند که این دو ایده مفهومی اتفاق می افتد با هم یا نه در همه. هیچ کس، از جمله برخی از سایر کاربران که به همان وب سایت وارد شده، می تواند به نحوی قطع چک کردن از ردیف و به روز رسانی از ردیف، را انتخاب کنید و به روز رسانی اگر شما خواهد شد. و نحو فوق العاده واضح نیست، اما این یک خط، طولانی است از آن است، تضمین می کند که این دو عملیات متغیر را چک کنید و یا چک ردیف و به روز رسانی ردیف اتفاق می افتد اتمی. اوه باز دوباره میریم. متن پیام بر روی تلفن من است. بنابراین اجازه دهید به این کمی بیشتر بتن. فرض کنید که شما نمی اجرای یک یخچال و فریزر، و شما اجرا نمی PSet 7 اما یک بانک واقعی، و یا ATM، پرداخت خودکار ماشین، به موجب آن شما به نحوی می خواهم که قادر به توانمند کاربران برای انتقال پول از یک حساب به دیگری. OK، قطع. من قصد دارم برای نادیده گرفتن این در حال حاضر، از شما سپاسگزارم. بنابراین ما می خواهیم را به حرکت پول از یک شماره حساب به حساب های مختلف تعداد، به طور خاص 100 دلار است. بنابراین این نوع از خودسرانه است به عنوان مثال، به موجب آن شما، ATM، در صورت تمایل به اجرای دو SQL نمایش داده شد، کم از یک حساب، و اضافه کردن به حساب دیگر. اما شما می خواهید برای اطمینان حاصل شود که این دو خط هر دو اتفاق می افتد یا نه در همه. شما چیزی را نمی خواهیم گرفتن قطع. شما در انجام این پسر بد هوشمند نیست به نحوی که در بانک مرکزی امریکا ایستاده با دو در مقابل دستگاههای خودپرداز از او و به نوعی مرتب کردن بر اساس تایپ کردن در دستورات در همان زمان، امیدوارم تلاش برای کسر به جای 200 $ از 100 دلار است و تنها با داشتن 100 $ اعتبار. به طور خلاصه، شما می خواهید به این رفتار دقیقا همانطور که شما انتظار می رود. و راه را به شما انجام دهد این در SQL پایگاه داده است شما آن را بسته بندی در چه به نام معامله. به معنای واقعی کلمه در SQL، شما می توانید تماس بگیرید به CS50 عملکرد پرس و جو همراه با اعلان شروع نقل قول را تمام کردن معامله. سپس شما می توانید هر تعداد اجرا نمایش داده شد پس از آن SQL، اما هیچ یک از آنها را اثر بر روی پایگاه داده تا با شما تماس پرس و جو نقل قول نقل قول را تمام کردن مرتکب، اگر دوباره با استفاده از PHP. و در این راه، شما می توانید اطمینان حاصل شود که کاربران حتی اگر شما 1000 همه هدف قرار دادن پایگاه داده خود را در همان زمان، SQL قول می دهم که این خواهد دو نمایش داده شد خواهد بود پس از دیگری به اجرا در یکی از سمت راست. بنابراین شما پایان ندارد تا با بیش از شیر یا مقدار اشتباه است، در نهایت، از پول است. پس این را در ذهن، خیلی PSet 7 اما برای پروژه های نهایی اگر شما واقعا هستید تلاش برای حرکت در اطراف اطلاعات در جدول همانطور که شما ممکن اینجا. اما شاید حتی ساده تر و بیشتر آشکار به درک با یک مثال این یکی در اینجا است. و کسی که ما را در مورد ایمیل فرستاده این فقط روز دیگر هنگامی که او را دیدم چیزی آنلاین مشابه. پس به دانش من، سیستم پین آسیب پذیر به این حمله نیست. و من هیچ نظری ندارم که اگر آن را حتی استفاده پایگاه داده SQL زیر هود. اما اجازه دهید از آن استفاده کنید برای به خاطر بحث. در اینجا روی صفحه نمایش است که مردمی هاروارد تمایل برای دیدن در هنگام ورود با خود تعداد هاروارد ID و پین خود را. و فرض کنید که سیستم پین بود اجرا در PHP و MySQL را با پایگاه داده، کد که کسی سال ممکن است نوشته شده است پیش ممکن است شبیه به این. اول، اعلام متغیر نام کاربری به نام. و فقط که از superglobal در POST. سپس متغیر دیگر را دریافت کنید نام کاربری رمز عبور و انجام همان. و پس از آن فقط اجرا این پرسش در اینجا، ستاره انتخاب کنید و از کاربران که در آن نام کاربری برابر چنین و چنان و رمز عبور برابر چنین و چنان. توجه کنید که فرفری پرانتز من در اینجا استفاده می شود فقط به PHP معنا، به جلو و جایگزین ارزش این دو متغیرهای سمت راست وجود دارد. آنها به شدت ضروری نیست، اما آنها تمایل به جلوگیری از اشتباهات نحو لطیف است. بنابراین به نظر می رسد این به طور کامل درست در نگاه اول. و آن است. شما می توانید پیاده سازی سیستم پین در این راه. اما فرض کنید که فوق العاده دانش آموز باهوش و مخرب ورودی این به عنوان پین خود را. بنابراین من گلوله را حذف کردیم نشانه اینجا در مسخره کردن، و من در واقع نشان کرده ام آنچه که او یا او ممکن است تایپ. و آن را کمی عجیب و غریب. اما آنچه بیرون می پرد در شما در به طور بالقوه نگران کننده در مورد ورودی کاربر، حتی اگر شما هیچ ایده چه حمله تزریق SQL به معنی. چرا این نگاه کمی ماهی؟ آن چیست؟ [نامفهوم] DAVID مالان: یا است کمی مشکوک است. در واقع، که یک کلمه کلیدی از SQL است. به طوری که به خوبی جواب نمی دهد. این واقعیت وجود دارد که همه این نقل قول تکی there-- در واقع، یکی از ساده ترین راه هایی برای شکستن برخی از پایگاه های داده با تایپ کردن در یک نام مانند اوریلی است که دارای یک آپوستروف در آن چرا که اگر انسان که نوشت کد پشت صحنه را به حساب نیست که وجود دارد ممکن است نقل قول تکی در یک کاربر ورودی، و او است که با استفاده از نقل قول تکی در کد خود، چیزهای بد اتفاق می افتد. در واقع، بدتر، این را در نظر بگیرید. اگر این دوباره کد که کسی در سال دانشگاه هاروارد پیش پین نوشت سیستم، متوجه چه درباره به جایگزین برای نام کاربری و رمز عبور اگر نوع کاربر در دوباره skroob به عنوان نام کاربری خود را و پس از آن یک، دو، سه، چهار، پنج، نقل قول نقل قول نقل قول را تمام کردن و یا یک برابر یک نقل قول. و متوجه چه کلیدی در اینجا کاربر است نه رمز عبور خود را آغاز و یا پین خود را با یک نقل قول. و آنها آن را به پایان نرسیده با نقل قول زیرا او است فرض کنید که اگر برنامه نویس بود تا SHARP نیست، آنها می خواهند به آن نقل قول تکی در کد خود. بنابراین در اینجا کد است. و تعویض که ممکن است در حال حاضر اتفاق می افتد این است. و من تاکید کرده ام که چه کاربر در تایپ. بنابراین قبل از، پس از. و متوجه آنچه که در حال حاضر کمی نگران کننده است در مورد نیمه سمت راست این کد SQL؟ این کمی پیچیده تر است، مسلما، از نمایش داده شد دیده ایم. اما این نمی تواند احتمالا یک چیز خوبی اگر شما گفت: ستاره را انتخاب کنید، که انتخاب همه چیز را از جدول کاربر که در آن نام کاربری و برابر skroob رمز عبور برابر یک، دو، سه، چهار، پنج یا یک برابر است. مفهوم منطقی چه که بند آخر احتمالا؟ این فقط همیشه درست است. و چون ما مرتب کردن بر اساس حدس زده و یا توسط آزمایش و خطا نمیفهمد که برنامه نویس که نوشت این کد نبود پیش بینی یک فرد انسان یا بد تایپ کردن در نقل قول تکی و همچنین، ما می توانیم از نظر نحوی پرس و جو SQL کامل با چیزی مزخرف اما چیزی که است از لحاظ نحو نادرست که همیشه درست ارزیابی می کند. بنابراین اگر از این کد استفاده می شود برای پاسخ به سوال درست یا غلط باید این کاربر اجازه داده می شود به تصویب، پاسخ این است که همیشه به ظاهر رفتن به دلیل واقعی این است که همیشه رفتن به چیزی از پایگاه داده را انتخاب کنید به خاطر یکی از دوره همیشه یکی برابر است. پس چه راه حل است؟ خب در PSet 7، ما در واقع جلوگیری از این همه با هم. ما به شما یک تابع پرس و جو را، و ما شما را تشویق به استفاده از علامت سوال به عنوان متغیرهایی، مشابه در روح به٪ s printf را در، اما آنچه که در مورد کلید علامت سوال در اینجا این است که اگر شما در واقع از طریق به عنوان خوانده شده functions.php قرار، که در آن ما عملکرد پرس و جو اجرا شده است، آن علامت سوال ها فرار، به موجب آن هر چیزی به طور بالقوه خطرناک مثل یک نقل قول تنها تبدیل شده است به نقل قول فرار تک. پس این است که چه چیزی واقعا اتفاق می افتد اگر شما استفاده از تابع پرس و جو CS50 یا هر تعداد کتابخانه رایگان شخص ثالث که همین کار را. آیا در این مورد مهم نیست، در سبز، اگر کاربر در یک نقل قول تک تایپ چرا که پرس و جو تابع است که ما نوشت رفتن به اضافه backslashes قبل هر گونه نقل قول خطرناک است. پس این است که نه، در واقع، رفتن به حلال. این مثل تایپ در یک دیوانه به دنبال رمز عبور است که، البته، نمی به رمز عبور واقعی skroob است. بنابراین غذای آماده برای CS50 یکی است، کاملا همیشه چیزی استفاده مانند تابع پرس و جو CS50 است یا کتابخانه های زمینه ای، که اتفاق می افتد به نام PDO. اما هرگز، هرگز، هرگز کد مثل این بدون فرار و یا شستشو آنها می گویند ورودی خود را. و شما در برخی از نقطه احتمالا آمده در برخی از وب سایت مثل این. در واقع، به نظر می رسد را به صورت را مانند در فرودگاه ها و هتل ها در مکان های جایی که آنها باید Wi-Fi رایگان دسترسی که شما باید برای ورود به، این وب سایت ها همیشه به طرز وحشیانه ای اجرا شده است. و به این ترتیب نوعی از سرگرم کننده در ورزش در خانه، نه برای اهداف مخرب یا بیشتر از سرگرم کننده در جاده ها ورزش، این است که فقط نوع آپوستروف، نقل قول تنها، را به یک فرم در برخی از وب سایت و ببینید چه اتفاقی می افتد. و اگر سرور یا سقوط می دهد شما به نوعی از پیام های خطا، آن را به خوبی ممکن است که کسی تا به این پیش بینی نیست. و پس از آن شما باید مناسب هشدار مقامات و ادامه نمی یابد. بنابراین در حال حاضر شما بچه ها امیدوار باشید درک کمی بیشتر شوخ طبعی یکی از بازیکنان بالماسکه و کارناوال که غالبا دارای ماسک منقاردار است در اینجا. [خنده حضار] DAVID مالان: شما می دانید که شما یک گیک هستید. در چند بعدی سال، شما به یاد داشته باشید که جداول بابی کمی است از آنجا که این کارتون در اینجا. پس نگه داشتن آن در ذهن به عنوان ما سوئیچ زمینه برای آخرین بار امروز به جاوا اسکریپت. ما نسبتا کمی را صرف کرده ام زمان در نحو PHP زیرا این در واقع فوق العاده شبیه به C. و به خوبی به اندازه کافی، جاوا اسکریپت خیلی فوق العاده شبیه به نحو C است و همچنین ما در خواهید دید فقط یک لحظه و به عنوان ما به شما در اواخر این هفته به طور خاص را ببینید. چه شما می توانید با این زبان انجام می دهند، هر چند، همه قوی تر، به خصوص با رابط های برنامه کاربردی. اما برای اولین بار یک تور سریع است. بنابراین یکی، در جاوا اسکریپت، وجود دارد هیچ تابع اصلی، که خوب است. همانطور که با PHP، شما فقط می توانید کد ارسال. شرایط شبیه به این. و عبارات بولی ممکن مثل این و یا شبیه به این. سوئیچ ها وجود دارد، و آنها ممکن است شبیه به این. چهار حلقه شبیه به این. در حالی که حلقه های شبیه به این. آیا در حالیکه شبیه به این. و سپس آرایه شبیه این، بسیار شبیه به PHP. اما توجه کنید که در جاوا اسکریپت شما اعلام یک متغیر با یک دلار امضا، نه با یک نوع داده اما به معنای واقعی کلمه با گفتن ور متغیر قبل از آن. این بیش از حد است از نوع بی قاعده در آن است که انواع، اما شما به صراحت به آنها اعلام کنند. و پس از آن رشته، برای به عنوان مثال، ممکن است نگاه مثل این است که رشته در این مورد به نام بازدید کنندگان. و سپس یک شی. و این ما را بیشتر قبل از اینکه طولانی را ببینید. و یک شی است که شاید یکی از اغلب دیده می شود ساختمان داده در جاوا اسکریپت بر اساس برنامه به دلیل آن اجازه می دهد تا شما به معاشرت خودسرانه جفت ارزش کلیدی فقط مانند آرایه های انجمنی پی اچ پی و درست مانند جدول هش خود را و یا سعی کنید که ما اجرا چند هفته قبل. بنابراین اجازه دهید ببینیم که چه چیزی در واقع ما می توانیم با جاوا اسکریپت انجام دهد. و به طور خاص، این است که یک لیست از ویژگی های لباس های شسته شده که مرورگرها که ما اجازه می دهد به قلاب جاوا اسکریپت به یک وب سایت به صورت زیر. جاوا اسکریپت است که اغلب به عنوان یک استفاده می شود سمت کلاینت برای زبان برنامه نویسی. این وارد نیست. این بیش از حد تفسیر می شود. اما بر خلاف PHP، که تا به حال اجرا شده است بر روی سرور، در سرور وب، و یا در داخل عمیق از مشتریان، جاوا اسکریپت که در آن متفاوت است معمولا در مرورگر اجرا می شود. بنابراین هر کد جاوا اسکریپت شما شروع به نوشتن برای PSet 8، و یا پروژه نهایی خود را، و یا در دنیای واقعی به طور کلی رفتن به بر روی سرور ذخیره شود، مطلقا در یک نقطه و یا نقطه HTML JS برای فایل جاوا اسکریپت. اما مرورگر است که دانلود که جاوا اسکریپت کد به عنوان مثال خود را از کروم، و یا IE، فایرفاکس و یا، یا هر چیز دیگری. و کد است که در واقع برای به دست آوردن داخل مرورگر خود اجرا. فقط به این واقعی تر، اجازه دهید این را به صورت بتن. ما هیچ ایده چه چیزی از این کد می کند بدون واقعا خواندن از طریق آن. اما اجازه دهید به Facebook.com بروید بدون ورود به سیستم. به من اجازه رفتن به بازرسی عنصر و به، اجازه دهید بگویم، شبکه و صفحه. و ما see-- به من اجازه تغییر بازنگری صفحه را به تمام درخواست ها به جدید. و اولین فایل بینم CSS، CSS است. در اینجا برای اولین بار جاوا اسکریپت فایل، و من هیچ ایده چه چیزی این کار را بکند، اما در اینجا برخی از کد های جاوا اسکریپت که درایوهای فیس بوک. حتی واقعا که آشکار به زوم در. این هنوز فقط به عنوان مزخرف. اما شما حتی پایین را ببینید، وجود دارد حتی بیشتر از این فایل جاوا اسکریپت. اوه. که یک پینگ است. اجازه دهید به پایین کمی علاوه بر این، بیشتر، بیشتر است. یکی وجود دارد. یکی وجود دارد. یکی وجود دارد. بنابراین حتی اگر فیس بوک، در پشت صحنه است، در بخشی در PHP نوشته شده است و نسخه از آن خود فیس بوک، یک مقدار زیادی از جاوا اسکریپت وجود دارد. در واقع، هر یک از چت شما در فیس بوک انجام دهید، هر یک از جدول زمانی به روز رسانی های درون خطی که اتفاق می افتد در زمان واقعی، همه از آن توسط جاوا اسکریپت هدایت می شود. آره؟ رسید من مطمئن نیستم در صورتی که این فیس بوک است، اما من فکر کردم که فیس بوک در حال توسعه خود را در خانه به زبان کد خود را؟ DAVID مالان: آنها را انجام داد. به همین دلیل من می گویم واریانس PHP به نام هیپ هاپ است که آنها در واقع ویژگی های اضافه شده به طوری که وقتی که علامت گذاری به عنوان اولین اجرا فیس بوک، آن را در PHP نوشته شده است. و این نوع باقی مانده است مرتب کردن بر اساس زبان جلویی که آنها را برای استفاده بسیار از برنامه نویسی خود را، اما آن را یک زبان که نبوده است ترازو به خصوص به خوبی به میلیاردها از مردم است. و به طوری که آنها خود را اضافه کرده اند بهبود در پشت صحنه. و آنها با استفاده از هر تعداد زبان های دیگر برای بخش های مختلف زیرساخت های خود را. بنابراین، بله، آن است که یک واریانس است آنچه که ما در حال حاضر به عنوان PHP می دانند. بنابراین اجازه دهید یک نگاه در چند مثال چگونه ممکن است ما در اینجا جاوا اسکریپت استفاده کنید. در کد منبع امروز، ما یک دسته از فایل ها، اولین بار است که، اجازه دهید به نام DOM صفر است. بنابراین به نظر می رسد DOM صفر به شرح زیر است. اجازه بدهید من به این شاخه بروید و باز کردن domzero.html، بالای آن دارای یک نوع توضیحات اعلامیه، گفت: در اینجا می آید HTML 5. و در حال حاضر در اینجا یک تگ HTML است. در اینجا تگ head است. و این چیزی است که امروز جدید. ما در حال حاضر برچسب اسکریپت در داخل سر صفحه. و این ظاهرا می کند بسیار کمی است، اما متوجه که من تعریف کرده ام اسکریپت، جاوا اسکریپت. و از سوی دیگر، از آنجا که این یک تصور غلط رایج است، جاوا اسکریپت است مطلقا هیچ چیزی برای انجام این کار با جاوا، زبان که برخی از شما ممکن است در نفربرهای آموخته است. این بیشتر از یک بازاریابی چیزی که بیش از هر چیز، سوار coattails سال پیش جاوا. اما جاوا اسکریپت، هیچ ربطی به جاوا، فقط به طور مشابه، و آزاردهنده، اشتباه به نام. بنابراین در اینجا این است که چگونه یک تابع شما اعلام در جاوا اسکریپت، به معنای واقعی کلمه می گویند تابع، سپس نام تابع، پس از آن هر آن ممکن است استدلال کنند، فقط در PHP را دوست دارم. معلوم است در جاوا اسکریپت، یکی از مهمترین و توابع آزار دهنده است که وجود هشدار است. این یک پنجره کوچک است که پاپ تا به شما هشدار به برخی از قطعه ای از اطلاعات است. به طور کلی بر اخم. اما ما آن را به عنوان استفاده از ما ورزش برای اولین بار در اینجا. توجه کنید چند ویژگی از جاوا اسکریپت. تنها نقل قول ها و نقل قول ها دو در واقع مهم نیست دیگر. تنها نقل قول ها و دو به نقل از مبادله، در حالی که در C، شما مجبور به استفاده از به نقل از دو برابر برای رشته ها، و شما دو واحد نقل برای کاراکتر. در جهان جاوا اسکریپت، بسیاری از مردم، اکثر مردم تک کتیشن استفاده کنیم در اطراف رشته فقط به خاطر آن چیزی که سبکی. اما آنچه اپراتور به علاوه در اینجا، که ما قبل از دیده می شود؟ رسید الحاق. DAVID مالان: الحاق. بنابراین C هم ندارد این را داشته باشد. PHP دارای عملگر نقطه، که نشانی از این. جاوا اسکریپت است اپراتور به علاوه، که اشتباه است درست مثل جاوا. حالا چه خبر است اینجا؟ بنابراین در اینجا که در آن یک پایه درک این تصویر ما انداخت تا یک زن و شوهر روز قبل به بازی می آید. به یاد داشته باشید هنگامی که ما تا به حال ساده نسخه HTML page-- آن را فقط گفت: سلام جهان. و پس از آن ما یک درخت کشید در سمت راست، که حال یک دسته از مستطیل و خطوط اتصال آنها را مانند یک درخت خانواده. به طوری که به اصطلاح DOM یا سند مدل شیء. و معلوم است که شما می توانید دسترسی داشته باشید مستطیل در آن درخت با نحو مانند زیر است. شما به معنای واقعی کلمه می گویند سند است، که یک متغیر جهانی خاص در جاوا اسکریپت برنامه ای است که دارای یک تابع مرتبط با آن است که شما می توانید دسترسی داشته باشید شبیه به یک ساختار است، اما شما به سادگی می گویند نقطه و سپس نام تابع، دریافت عنصر ID. عنصر من می خواهم برای به دست آوردن ظاهرا نقل قول نقل قول را تمام کردن نام. و پس از آن من می خواهم به ارزش آن است. در حال حاضر ما در حال گرفتن جلوتر از خودمان. من حتی مطمئن نیستم که همه این است که در مورد. اجازه دهید به جلو سریع به HTML در صفحه، که فوق العاده ساده است. توجه کنید که من تعریف کرده ام فرم را در اینجا. توجه کنید که من آن را به شما داده ام منحصر به فرد ID، حتی اگر ما استفاده می شود نه این ویژگی قبل از. اما این در HTML وجود دارد. شما منحصر به فرد می تواند شناسایی برخی از تکه از HTML با یک شناسه مثل این. توجه کن this-- معلوم HTML پشتیبانی، در لیست خشکشویی یک لحظه پیش، یک کل دسته از گرداننده رویداد. و این رویداد می گوید در را ارسال کنید. در ارائه این کاربر فرم، کد زیر تماس بگیرید. و کدی که رفتن به نام یا اعدام دقیقا این، یونانی عملکرد نادرست به دنبال بازگشت. هر چیز دیگری باید خیلی آشنا. در اینجا یک ورودی از نوع متن، که است ID، در این مورد، در حال رفتن به نام. ما یک ویژگی نام واقعی ندارد این time-- و دکمه ارسال. بنابراین به نظر می رسد و در نتیجه صفحه مثل این. و رفتار و در نتیجه، شما خواهید دید، به نظر می رسد مثل این. صفحه آن میزبان های محلی می گوید، سلام دیوید، به سختی زیبا و دل انگیز راه برای خوش آمد می گوید یک کاربر. اما آنچه در واقع در رفتن؟ خب، در نظر گرفتن آنچه در این است. این یک فیلد متنی است. و با توجه به HTML در اینجا، من آن را به شما داده ام شناسه منحصر به فرد به نام نقل قول نقل قول را تمام کردن نام. در همین حال، من گفته ام زمانی که کاربر تسلیم این فرم با ضربه وارد کنید و یا با کلیک کردن ارسال را فشار دهید، فراخوانی تابع به نام مادربرد و سپس بازگشت کاذب. اجازه دهید آن را در جهت معکوس در نظر بگیرند. توجه کنید وقتی که من تایپ کنید، URL این صفحه تغییر نمی کند. آیکون مرورگر شروع نکردند نخ ریسی. من به جایی، و این به معنای واقعی کلمه به خاطر من گفت بازگشت کاذب. بازگشت اتصال کوتاه کاذب و یا متوقف می شود رفتار پیش فرض از یک فرم است. به طوری که پس از آن ما را با این یک سوال نهایی است. چه مادربرد انجام دهید؟ خب، سلام ظاهرا خواستار یک تابع به نام هشدار، عبور می کند در یک بحث طولانی که نتیجه الحاق به هم دسته از زیر رشته، سلام فضای کاما، پس از آن هر چه این می گرداند. بنابراین سند مانند یک جهانی متغیر که ریشه آن درخت، تماس یک تابع خاص، در غیر این صورت در حال حاضر به عنوان یک روش شناخته شده است. یک تابع که در داخل یک متغیر است به نام روش به جای یک تابع. بنابراین با دریافت ID عنصر. چه عنصر شما انجام دهد می خواهم به ID خود را دریافت کنید؟ نقل قول نقل قول را تمام کردن نام و پس از آن به طور خاص ارزش. بنابراین به عبارت دیگر، که به سادگی کد می یابد فیلد متنی که ID نام و پس از آن می شود ارزش خود را. بنابراین اگر من به تغییر این و می گویند داوین به جای دیوید، و تایپ کنید، در حال حاضر ما یک تبریک برای داوین. همه حق است، پس همه خوب و خوب است. اما بیایید ببینیم که اگر ما می توانیم این کمی از پاک کن فقط نوشتن کد مثل این است به طور کلی رفتن به بر اخم است. این است که به نگاه ترسناک. اما چه چیزی برای اولین بار تفاوت که در اینجا توجه داشته باشید در این نسخه علاوه بر نام تغییر به DOM یک؟ چه ساختاری متفاوت به نظر می رسد در مورد این در مقابل دیگر؟ آره؟ رسید از: آیا فرم بالای اسکریپت در حال حاضر؟ DAVID مالان: آره، فرم در بالا اسکریپت برای برخی از دلیل کنجکاو. به طوری که اولین چیزی است که بیرون می پرد به من، بیش از حد. و خوشبختانه حداقل، این بخش یکسان است. بنابراین تنها چیزی که به نظر می رسد به صورت متفاوت از این است. بنابراین در اینجا آنچه را شسته و رفته درباره جاوا اسکریپت 2. و آن را می سازد آن را به سخت درک در نگاه اول، به خصوص برای پروژه های نهایی اگر شما دنبال آن هستید در کد نمونه آنلاین، اما جوش پایین به برخی از ویژگی های اساسی نحوی. در اینجا دوباره این است که سند متغیر جهانی است. در اینجا دوباره که روش یا تابع می باشد که می گوید: این عنصر را با ID. این بار من می خواهم دریافت ID به نام دمو. که در آن است که؟ که ظاهرا سمت راست در اینجا، به صورت خود به خود. و در حال حاضر توجه کنید که ظاهرا اگر من بازگشت که گره از درخت که نشان دهنده فرم به خودی خود، نه یک فیلد متن، معلوم است که فرم، که گره یا مستطیل از درخت، تا به آنچه ما ملک تماس بگیرید، بسیار، بسیار، بسیار شبیه در روح به ساختار در C این فقط عضو داده در داخل این مستطیل. بنابراین من به شکل داریم در اینجا، و من اتصال، یا من اختصاص، به در آن ثبت کنترل و یا به جای در ثبت اموال از تابع زیر. و این است، به دور، از احمقانه ترین چیزی که تا کنون نحوی. به نظر می رسد در جاوا اسکریپت و در PHP، و رک و پوست کنده که برای ماده در C، حتی اگر ما این کار را نمی کند، شما می توانید اضافه کردن بی نام، ناشناس، و یا AKA لامبدا توابع که نام ندارد اما می توان با این وجود گفته می شود. بنابراین آنچه من در اینجا انجام می شود من اختصاص این در ثبت اموال، که در داخل این گره از درخت DOM من، تابع، اشاره گر تابع اگر شما خواهد شد. که تابع هیچ نام، اما که نمی کند مهم چون ما را ببینید در یک لحظه که چگونه به آن تماس بگیرید. زمانی که این تابع نامیده می شود، این کد اجرا می شود، پس از آن نادرست است درست مثل قبل بازگشت. اما متوجه آنچه که من انجام داده ام. در این مرحله در داستان، من یک فرم. آن را به یک ID منحصر به فرد به نام دمو. در اینجا، من یک تگ اسکریپت که کد زیر را اجرا می کند. این به آن گره متصل در درخت به آن را در ارسال مالکیت این تابع در اینجا. و فقط با طبیعت چگونه مرورگرها کار، هنگامی که من در حال حاضر با کلیک بر روی ثبت کردن و یا ضربه را وارد کنید، که تابع است رفتن به دریافت نامیده می شود. این کار به دلیل یک نام که لازم نیست هک مراقبت چه آن را به نام. تنها زمانی آن را به حال رفتن به نام وقتی است که من به صورت ارسال کنید. هیچ نیازی نیست برای من وجود دارد، توسعه انسانی، به واقع آن را هر جای دیگر. در حال حاضر فقط به عنوان یک تیزر، به عنوان اگر آن شد مهم نیست به اندازه کافی خم، ما حتی می توانیم این را نگاه با استفاده از مرموز تر یک کتابخانه فوق العاده محبوب به نام جی کوئری. در واقع jQuery و جاوا اسکریپت اغلب تلفیق شدهاست. و آنچه ما در روز چهارشنبه آغاز شده است با استفاده از این زبان و این کتابخانه ها برای ساخت به طور فزاینده آسنکرون و برنامه های کاربردی پویا مانند نقشه گرفتن برنامه های کاربردی، برنامه های کاربردی که به روز رسانی صفحه وب در واقعی زمان، بسیار شبیه به فیس بوک و یا Gchat انجام دهید، و دیگر اکتفا به ثبت کردن ضربه توسط GET و یا فقط پست به تنهایی. بنابراین من به شما در روز چهارشنبه را ببینید. [MUSIC پخش]