[MUSIC پخش] DAVID J. مالان: خوب. خوش آمدید. این CS50 است. این پایان هفته 8 است. و همانطور که می دانید، ما باید بسیار ساعات اداری به طور منظم در چند سالن های غذاخوری، از جمله آننبرگ. و برخی از تیم مهربانی برخی از عکس ها در زمان به تازگی. و به افتخار هالووین، ما فکر کردم ما که نه ما گرفتار به اشتراک بگذارید تعجب در اینجا در آننبرگ سالن فقط شب دیگر. همکلاسی های خود را برای یعقوب مطرح این عکس، اما سرگرم کننده بود در فیس بوک بود، متعاقب آن مکالمه که پس از آن اتفاق افتاده است. او اولین ارسال در پاسخ به عکس او این بود. چند دقیقه بعد، او تصمیم گرفت به یک تا خود را با این. این رفت و پس از آن برای رفتن به این، و پس از آن، حتی بیشتر amusingly وقتی است که مادر خود را در chimed. و سپس در نهایت، به نظر می رسد این تنها بود یک خدعه فوق العاده برای بازی که اتفاق افتاده است. بنابراین، اگر شما می خواهم برای دیدن یعقوب و دیگران، در میان آنها سینتیا منگ، که پشت صحنه از کارکنان منطقه CS50، سر به این URL و این بازی اینجا. پس بدون ado بیشتر، امروز ما ادامه این نگاه در برنامه نویسی تحت وب، و ایجاد برنامه های واقعی که در خط فرمان خود را اجرا کنید، اما در عوض در داخل یک مرورگر اجرا شود. احتمالا در حال حاضر، و یا بسیار به زودی، شما در حال رفتن در میان اجرای شود سرور وب خود را، که متفاوت از برنامه نویسی تحت وب می باشد. سرویس دهنده وب در pset6 همه چیز در مورد نرم افزاری است که می داند که چگونه به نوشتن درخواست HTTP از یک مرورگر، و یا حتی از شما، یک انسان، با برنامه ای به نام شبکه راه دور، و سپس به آن درخواست پاسخ یا توسط تف کردن یک فایل HTML، یا یک JPEG، GIF و یا، و یا حتی یک فایل .php. اما با یک سرویس دهنده وب، آن را نمی قرار است فقط باز کردن یک فایل پی اچ پی، چیزی با پسوند .php، و سپس تف مطالب. را که قرار است انجام چه چیزی را که برای اولین بار از فایل؟ پس به صحبت می کنند. نه آن کامپایل، ما در روز دوشنبه گفت، اما rather-- بنابراین، آن را تفسیر کند. PHP یک زبان تعبیر است، و به همین ترتیب یکی از ویژگی های کلیدی در وب سایت شما سرور، گرچه از ما اجرا شده، این توانایی برای وب سرور شما به اطلاع می، آه. این یک فایل با پسوند .php است. اجازه بدهید من فقط آن را به ارسال کاربر مانند آن محتوای استاتیک است، بلکه اجازه دهید من آن خط به خط، چپ به راست، و تفسیر آن. و برای انجام، که شما بچه ها اساسا به زدن توپ به یک برنامه در دستگاه، و در بسیاری از سیستم های کامپیوتری، فقط به نام PHP. که به نام PHP است مترجم خود زبان است. بنابراین، آن قطعه که ما برای پیاده سازی شما و آنچه که برای شما باقی مانده است، در نهایت، یک عدد است از قطعات، که در میان در حال اجرای پشتیبانی برای محتوای استاتیک می باشد. اما در حال حاضر، و با مشکل تنظیم هفت، شما رفتن به شروع به انتقال به در واقع نوشتن کد PHP که می شود تفسیر در صحبت کردن به پایان دادن به عقب پایگاه داده که در فروشگاه اطلاعات. بنابراین اجازه دهید بهتر درک اول یک زن و شوهر از این superglobals و چقدر قدرت شما خارج از جعبه به صورت رایگان با زبان PHP مانند. چیزهایی که شما لازم نیست که به خودتان پیاده سازی. بنابراین، ما در روز دوشنبه $ _GET را دیدم، که superglobal در است، که فقط برای PHP جهانی صحبت شما می توانید در هر نقطه متغیر دسترسی داشته باشید. و آنچه در داخل از _GET $؟ چه در داخل از این superglobal در که ما می بینیم؟ مطمئنا آماری در حداقل یک نفر می داند. چه در داخل از $ _GET است؟ آره؟ رسید این متغیر است شما در رشته پرس و جو قرار داده است. DAVID J. مالان: کامل. این متغیر شما در رشته پرس و جو قرار داده است. بنابراین، در مثال ما مسن تر از reimplementing گوگل زمانی که ما به حال URL، و پس از آن علامت سوال، که demarcates آغاز HTTP پارامترهای، پس ما پرسش مساوی به حال چیزی، مانند Q برابر با گربه، آنچه به طور خودکار داخل از که $ _GET فوق العاده را برای شما در سطح جهانی، به دلیل PHP، یک کلید از Q است، و از ارزش آن از گربه. به عبارت دیگر، $ _GET و همه این چیزها آرایه های انجمنی، جدول هش از نوع، که ذخیره کلیدها و مقادیر. در حال حاضر، پشت در pset5، هش جدول شما ممکن است اجرا شود، یا شما سعی می کنید ممکن است پیاده سازی، واقعا به طور موثر بود انجمنی آرایه، ساختمان داده به موجب آن شما می توانید مرتبط کلید های با ارزش. اما در pset5، ارزش و بی اهمیت بودند. ارزش اساسا درست است یا غلط است. آیا کلمه در فرهنگ لغت؟ بنابراین، هنگامی که شما درهم یک کلمه مثل سیب برای دیدن در صورتی اپل در فرهنگ لغت، تابع چک خود را احتمالا بازگشت درست یا غلط. بنابراین، که به طور موثر ارزش ما در حال رسیدن به پشت. اما ما در روز دوشنبه شاهد به طور خلاصه، شما قطعا می توانید ارتباط جالب تر ارزش از درست یا غلط با کلید، مانند سیب. شما می توانید در واقع بازگشت رشته های خودسرانه، و در واقع، این چیزی است که $ _GET و این متغیرهای دیگر اجازه شما انجام دهد. بنابراین _POST $ در روح شبیه است، اما اگر شما یک فرم از طریق پست ارسال کنید، روش های مختلف HTTP که مورد استفاده برای چیزهایی مانند کارت های اعتباری، اطلاعات و خصوصی، و حتی اطلاعات باینری مانند عکس ها، کسانی که همه چیز در نهایت در داخل از $ _POST. و در واقع برای فایل مانند عکس JPEG و فلان چیز، حتی دیگر که وجود دارد تا در اینجا به نام $ _FILES نیز هست. بنابراین، سرور ما نمی خواهد ساکن در بیش از حد زیاد است، اما آن را به شما می دهد دسترسی برای مرتب کردن جزئیات سطح پایین تر در مورد سرور خود را که استفاده می کنید. کوکی و جلسه، هر چند، ما به طور موثر را در حال حاضر ببینید. آخرین چیزی است که ما استفاده برای پیاده سازی مفهوم سبد خرید. یکی فوق العاده ساده است، اما فراخوان که ما در این مثال به حال در اینجا، شمارش چند بار شما قبل از این صفحه بازدید کرده بود. اما امروز، نه فقط در نگاه اثر این، اجازه دهید باز کردن بازرس کروم، که شما معمولا می توانید کار را با کلیک کردن و یا راست کنترل کلیک در هر نقطه بر روی صفحه وب، و پس از آن بازرسی عنصر را انتخاب کنید. یا شما می توانید از طریق منوها بروید که ما در تنظیمات pset6 را توصیف می کنند. و من قصد دارم به تب شبکه در اینجا، و اجازه دهید برای یک لحظه تماشای ترافیک HTTP که رفتن به عقب و جلو. اجازه بدهید اول به جلو و پاک کردن حافظه پنهان کروم. بنابراین برخی از شما ممکن است آشنا با این روش در حال حاضر، و ما در حال رفتن به استفاده از آن برای اشکال زدایی اهداف اینجا. در حال حاضر ما به عنوان کامپیوتر دانشمندان در حال رفتن به شروع انجام این کار برای اشکال زدایی اهداف، به موجب آن ما پاک کردن حافظه پنهان، به طور معمول، به طوری که ما می توانید از شر همه چیز به نام کوکی دریافت کنید. بنابراین شما احتمالا به طور کلی آشنا با کوکی چیست، و یا حداقل که آنها وجود دارد، اما آنچه که درک خود را از آنها، فقط به عنوان یک کاربر از رایانه، چه یک کوکی است؟ آره. رسید این بیت است of-- خوب، بیت در یک مدت از علم کامپیوتر است. این یک داده است که وب سایت به منظور به شما می فرستد قادر به ضبط آمار بر شما. DAVID J. مالان: OK، خوب است. پس از آن یک قطعه از اطلاعات است که سرور، قرار می دهد بر روی کامپیوتر شما، و اجازه دهید آن را تعمیم حتی بیشتر، از آن یک کلید است value-- خوب، که گرفتن دقیق تر. این یک تکه است اطلاعات، یک تکه از داده ها، که یک سرور قادر است برای قرار دادن بر روی کامپیوتر شما و اغلب، این سرور این، تا که به یاد داشته باشید که شما می شوند. بنابراین به عنوان مثال، احتمال شما احتمالا هستید وارد سایت هایی مانند فیس بوک، و یا جی میل، و یا دیگران قبل از، و شما به سیستم وارد شوید با شما نام کاربری و رمز عبور، و سپس بعد از آن، برای برخی از تعداد از دقیقه یا چند ساعت یا حتی چند روز، سرور یاد می آورد که شما، در واقع، به سیستم وارد شوید. در حال حاضر، چگونه است که در واقع اتفاق می افتد؟ از آنجا که شما قطعا در حال تایپ مجدد نمی نام کاربری و رمز عبور خود را در هر زمان شما را به یک حرکت صفحه های مختلف در فیس بوک. پس از آن که معلوم کوکی ها پاسخ دهد. کوکی شما می توانید از فکر می کنم به عنوان، مرتب کردن بر اساس دوست، دست های دیجیتال تمبر که شما ممکن است در دریافت تفریحی پارک یا یک باشگاه که در اصل نشان می دهد که شما در اینجا شده است قبل از، و شما در حال حاضر نشان داده شده است ID خود را به لی لی، برای به عنوان مثال، و این که این باشگاه و یا پارک در حال حاضر باید فرض کنیم که شما در حال حاضر تصدیق کرده اند. شما در حال حاضر توسط آن شناسایی شده است. بنابراین با توجه به آن، اجازه دهید باز کردن شمارنده در اینجا. اجازه بدهید من به جلو، من فقط، و روشن تمام کوکی ها. و در حال حاضر آنچه که من قصد دارم برای انجام شده است شیفت را نگه دارید، فقط برای اندازه گیری خوبی، و به زور صفحه را بارگیری مجدد. تغییر فقط مطمئن شوید که که هیچ چیز ذخیره سازی می شود. و در اینجا به درخواست است که به جلو و عقب. بنابراین در اینجا ما باید یک درخواست و اجازه من زوم کردن در اینجا، و بسیاری از این جزئیات نوع بی است حالا که مرورگر به طور خودکار است فرستاده شده، اما اجازه دهید به مشاهده کلیک کنید منبع برای دیدن هدر خام. و اگر شما را به pset6 شیرجه در حال حاضر، شما مطمئنا چیز را تشخیص مانند این، و شاید برخی از این خطوط دیگر در اینجا، اما آنچه امروز جالب تر اگر من در پایین حرکت، نه به درخواست اما در پاسخ به اصطلاح، این خط احتمالا به نظر می رسد آشنا. این چیز خوبی است هنگامی که شما یک 200 OK را ببینید. ظاهرا این است که تاریخ و زمان بر روی سرور و یک دسته از مسائل وجود دارد. آه، این جالب است. معلوم است هر زمان که شما با استفاده از PHP، حداقل در این سرور، سرور تف کردن آنچه نسخه PHP شما با استفاده از. که، در واقع، برای امنیت اهداف، یک چیز خوبی نیست. اما، ما به که می آیند برخی از زمان های دیگر شاید. اما در حال حاضر این خط آبدار امروز، و ما به طور خلاصه دیدم برخی از این، من با فیس بوک فکر می کنم زمانی که ما برخوردی خشن روبرو در اطراف بازرس در آن زمان، مجموعه کوکی چیزی است که کاشت قطعه که کمی از اطلاعات بر روی کامپیوتر شما. این یک هدر HTTP است که به طور موثر گفتن مرورگر خود را، اینترنت اکسپلورر، کروم، هر، هی فروشگاه مرورگر کاربر هارد دیسک، و یا در RAM کاربر، یک کلید به نام PHPSESSID، که یک نماد مختصر برای جلسه ID، و آن را یک ارزش را 0vlk8t، نقطه، نقطه، نقطه. شبه واقعا طولانی رشته الفبایی تصادفی. این فقط یک تعداد واقعا بزرگ است، اما آن را با حروف و اعداد کد گذاری به طوری که اندازه آن می تواند حتی بزرگتر از اعداد به تنهایی. و پس از آن، به هر حال، راه = /، که فقط بدان معنی است که این کوکی باید مرتبط با کل وب سایت، نه فقط خاص صفحه همه چیز. پس این که تمبر دست مجازی است. آن را به عنوان هر چند سرور، فیس بوک، و یا در مورد ما دستگاه، دارای 0vlk8t به معنای واقعی کلمه نوشته شده است و غیره، در دست شما. توجه کنید که چه سرور، انجام آن است نه ذخیره سازی نام کاربری من، قطعا رمز عبور خود را ذخیره سازی نیست. در عوض، آن را به نظر می رسد ذخیره سازی اطلاعات شبه تصادفی به طوری که هیچ کس نمی تواند حدس می زنم چه مهر دست من است. در سمت سرور، در همین حال، سرور رفتن به یاد داشته باشید، احتمالا در یک پایگاه داده و یا چیزی، که کاربر، که در آینده ارائه تمبر دست 0vlk8t، نقطه، نقطه، نقطه، باید با این همراه سبد خرید خاص، پس به صحبت می کنند. به عبارت دیگر، اگر من در حال حاضر به به اینجا و این صفحه، چگونه سرور دانم که من یک بار بازدید؟ یا اگر من این کار را دوباره، چگونه سرور می دانم که من دو بار آن بازدید کرده اید؟ خب اگر من پایین رفتن به این بیشتر درخواست های اخیر، که در حال حاضر سوم است که من ارسال کرده اید در کل، توجه به درخواست من در حال حاضر. هنوز هم این وجود دارد درخواست اینجا، همان مانند قبل، هنوز یک دسته کامل وجود دارد از مسائل است که ما به عنوان قبل از نادیده گرفته، اما آخرین ضربه سر، این زمان، چون من قبل از اینجا بوده ام، ارائه شده است این تمبر از سوی مجازی. به موجب آن این خط در اینجا، تنظیم نشده کوکی اما روده بزرگ کوکی PHPSESSI = 0vlk8t، که فقط مرورگر من اتوماتیک ارائه این تمبر دست به طوری که در حال حاضر سرور، به محض متوجه، آه، این کاربر نقطه 0vlk8t است، نقطه، نقطه، من در حال حاضر می توانید به یاد داشته باشید که او است و reassociate با کاربر هر اطلاعات من می خواهم، و همه این اطلاعات می تواند توسط شما ذخیره می شود، برنامه نویس، در $ _SESSION. بنابراین به روشنی، اگر باز من واقعی سریع در جیادیت که فایل واقعی، counter.php، در من میزبان محلی دایرکتوری های عمومی مانند قبل، توجه کنید که، در واقع، من در نهایت ذخیره سازی در _SESSION $ نقل قول نقل قول را تمام کردن "ضد" ارزش مبارزه قبلی که من که از این خط تا اینجا که ما در زمان گذشته به علاوه یک نگاه کرد. بنابراین در زیر هود، که همه کوکی ها می باشد. این فقط از نوع دیجیتال تمبر دست به جلو و عقب، و رک و پوست کنده اگر شما باز کروم بازرس در هر وب سایت شما امروز ببینید، با فوق العاده احتمال بالا، شما در حال رفتن برای دیدن شاید یک، شاید نیم دوجین کوکی ها توسط شما یاد می شود. و بدتر نشده است، اگر آن وب سایت شما بازدید همه تبلیغات، باید که قطعا بسیار رایج امروز، و اگر آن تبلیغات می آیند از برخی از مرکزی حزب، کسی مانند گوگل یا AdWords به عنوان آنها یکی از محصولات خود را تماس بگیرید یا دیگر گونه از فروشندگان که فروش تبلیغات، چه جالب، و رک و پوست کنده آنچه کمی نگران کننده، در مورد چگونگی HTTP کار می کند، این است که اگر شما یک تبلیغ جاسازی شده در Facebook.com، و Google.com، و Harvard.edu، هر تعداد از وب سایت ها، پس از آن مانند که یک انسان متوسط ​​است که در خدمت وجود دارد تبلیغات برای هر سه از این وب سایت ها، معلوم است که کوکی ها در هر دامنه می باشد. بنابراین اگر شما یک آگهی که از همان شرکت در وب سایت های مختلف، که شرکت می تواند به طور موثر پیگیری که شما در تمام آن دسته از وب سایت ها می باشد. هاروارد ممکن است بدانید شما در حال بازدید از فیس بوک. فیس بوک ممکن است بدانید و شما در حال بازدید از دانشگاه هاروارد. اما هر چه خدمات آگهی آنها با استفاده از اگر آن دامنه است در حال حاضر در هر دو وب Harvard.edu صفحات و صفحات وب Facebook.com، این مرد قطعا وسط می داند که شما می شوند به دلیل این کوکی ها به اشتراک گذاشته در سراسر، و یا به جای به، که به اصطلاح واسطه. بنابراین ما پشت در آمده در این پیامدهای امنیتی آن، اما بسیاری از اطلاعات وجود دارد درباره شما ذخیره می شود هر زمان شما بیشتر هر صفحه وب در بازدید اینترنت و آن را واقعا را کاهش می دهد به این مکانیزم بسیار ساده است. اگر چه اتفاقی می افتد و پس از آن، شما فوق العاده هستید پارانوئید و شما تصمیم به رفتن به کروم یا IE یا هر چیز دیگری و خاموش کوکی های خود را؟ چه اتفاقی می افتد؟ آره؟ شما really-- شما این حق انجام داده ام؟ OK. نه، پیش بروید. رسید وب سایت های خاصی را انجام ندارد یک تابع بدون آن مانند فیس بوک. DAVID J. مالان: آره! وب سایت های خاص فقط کار را متوقف کند. و در بسیاری از وب سایت های این روزها که اساسا در کوکی ها تکیه می کنند، به خصوص اگر آنها شما ورود در، آنها فقط رفتن به شکستن. از آنجا که در نظر گرفتن جایگزین، اگر وب سایت هیچ راهی برای به یاد آوردن که شما هستند، و در نتیجه مرورگر خود نیست نمایندگی با هر HTTP درخواست از این تمبر دست، به طور موثر وب سایت مانند رفتن فیس بوک به به بی درنگ شما را به ورود به سیستم در هر زمان رفو شما تغییر صفحات، یا یک لینک، کلیک کنید که مطمئنا کاربر ویژه خوب نیست تجربه. به طوری که وجود دارد، بیش از حد، در تعادل است. پس بدون ado بیشتر، بیایید برای مسلم است که با برنامه نویسی تحت وب، در زبان هایی مانند PHP، شما می توانید به یاد داشته باشید اطلاعات مانند که در مجموعه مسائل هفت زمانی که شما خود را پیاده سازی وب سایت E * تجارت مانند که با آن به خرید و فروش سهام، شما دقیقا به یاد داشته باشید آنچه را که کاربر خریداری کرده و به فروش می رسد و کسی که او است از طریق این جلسه. اما ما قصد داریم به نیاز راه خیال باف از ایمیل برای شروع حفظ اطلاعات در اطراف. درست است؟ روز دوشنبه، ما در مورد دانشجوی سال اول دانشکده انجمن ریاضی صحبت کردیم و چگونه در نسخه یکی از وب سایت، سال پیش، همه ما بود ایمیل ناظر که در مسئول ورزش داخل برنامه، نام، و جنس، و یا نه آنها کاپیتانی هستید، و خوابگاه از کسی که ثبت نام برای ورزش داخل. پس از آن بد نیست، اما او پس از آن تا به حال به از طریق ایمیل خود دایره وار حرکت کردن، ایجاد یک صفحه گسترده و یا چیزی شبیه به که، به نگه داشتن همه چیز سازمان یافته است. بنابراین قطعا ما به عنوان برنامه نویسان می توانید این کار را برای که نظارت را انجام دهد. و به این ترتیب در SQL را وارد کنید، ساختار پرس و جو زبان، است که رفتن به نگاه زیبا به هر دو C و PHP مختلف، و شما در خواهید شیرجه رفتن در دست خیلی بیشتر PHP و مشکل مجموعه هفت بلکه SQL، و یا SQL، این زبان این است که شما با استفاده از به صحبت کردن با یک پایگاه داده. اما آنچه پایگاه داده؟ خوب شما از فکر می کنم پایگاه داده، حداقل در حال حاضر، به عنوان تنها بودن مانند یک فایل اکسل، و یا اگر شما یک کاربر مک اعداد یک فایل هستید، و یا اگر از Google Apps شما کاربر یک صفحه گسترده گوگل، آن را به طور موثر یک پایگاه داده، و یا واقعا به طور خاص یک پایگاه داده رابطه ای. پایگاه داده رابطه ای است که فقط چیزی است که سطرها و ستون ها، و شما می توانید هر نوع از ذخیره اطلاعات در این سطرها یا ستون ها. اما چه خوب در مورد SQL و درباره پایگاه داده های واقعی، نه فقط صفحات گسترده و یا صفحات گسترده گوگل، این است که شما می توانید یک زبان استفاده در واقع اجرا نمایش داده شد به درج داده ها، به حذف داده ها، برای اطلاعات نگاه کنید، حتی مهمتر از همه، شما و مجبور به استفاده از آن نسبتا دستی همانطور که شما ممکن معمولا گوگل صفحه گسترده مثل این. بنابراین در SQL، یک دسته از وجود دارد اظهارات اساسی و یا قطعات از قابلیت های در ساخته شده است. در بسیاری دیگر از این وجود دارد، اما شما می توانید یک فاصله بزرگ به فقط با دانستن اینکه این زبان به نام SQL حداقل چهار اظهارات شما می توانید اهرم. حذف، برای از بین بردن داده ها، درج، برای اضافه کردن سطر، به روز رسانی، برای تغییر ردیف، و انتخاب، برای گرفتن ردیف و این در واقع آنچه SQL می کند. این عمل به طور کامل در ردیف تا که هنگامی که شما وارد، یا حذف، و یا به روز رسانی، و یا آنچه را که شما انتخاب کنید گرفتن به عنوان یک اصطلاح مجموعه نتیجه، مانند آرایه ای از سطر. یک دسته از ردیف از جدول. بنابراین در روز، و حتی تا به امروز، شما می توانید با تعامل پایگاه داده با استفاده از خط فرمان، اما آن را به ویژه سرگرم کننده به استفاده از این پنجره به سبک سیاه و سفید و در واقع دستورات اجرا و بهم زدن در اطراف پایگاه داده خود را. رابط کاربر گرافیکی، یا GUI، بسیار بیشتر ترجیح، مسلما، و غیره از ابزار توصیه می کنیم و برای شما در دستگاه از قبل نصب شده گفته می شود از phpMyAdmin. این یک تصادف ها که در نام این چیزی است PHP در آن، آن را فقط به این معنی است که مردم که نوشت این برنامه خود را آن را در PHP نوشت. اما در نهایت در مورد مدیریت سرور پایگاه داده، مانند یک سرور MYSQL که شما ممکن است، به عنوان شما انجام دهید، در دستگاه CS50. بنابراین جزئیات بیشتر در اینجا وجود دارد از ما باید در مورد مراقبت از امروز، اما آنچه که مهم این است که در سمت چپ سمت یک لیست از پایگاه داده است که شما بر روی کامپیوتر خود، در لوازم خانگی CS50 خود را، یا می آیند پروژه نهایی که شما ممکن است در یک شخص ثالث، یک شرکت دارند وب سایت و یا وب سرور، که شما ممکن است برای فضای پرداخت. بنابراین در سمت چپ است پایگاه داده ها، که یکی از آنها pset7 که من از آینده وام گرفته است هفته pset، و پس از آن در بالا متوجه یک وجود دارد دسته از زبانه ها، که یکی از آنها پایگاه داده، SQL، وضعیت است، کاربران، صادرات و غیره. بنابراین شما می توانید طولانی راه فقط با تحقق که بسیاری از رابط کاربری در ستون سمت چپ بالا و در بالا سمت راست وجود دارد. پس چه می تواند ما در واقع با انجام این کار؟ خوب، اجازه دهید شروع به ایجاد بیت از اطلاعات به شرح زیر است. فرض کنید پس از مورد است، به عنوان خواهد شد در چند روز باشد، شما می خواهید به پیاده سازی یک وب سایت، به نام CS50 امور مالی، و این سایت به شما امکان خرید نقل قول نقل قول را تمام کردن و فروش سهام. و آن را به شکل قیمت آن سهام، در نهایت به عنوان شما خواهید دید، با صحبت کردن به یاهو امور مالی. که، زیبا، دارای یک سرویس رایگان به موجب آن شما می توانید در یک صدای تیک تیک سهام عبور مانند GOOG برای گوگل، و آن را شما را به سهام فعلی گوگل را قیمت در گذشته چند دقیقه حداقل. بنابراین شما با استفاده از آن، در نهایت، به تظاهر برای کاربر خرید و فروش واقعی سهام با استفاده از پول مجازی، اما اولین چیزی کاربر رفتن به این صفحه ورود که از آنها می خواهد باشد برای نام کاربری و رمز عبور خود را. و به این ترتیب، یکی از اولین چالش برای شما در pset7 در حال رفتن به به پیاده سازی پایان دادن به عقب پایگاه داده، صفحه گسترده، اگر شما خواهد شد، که رفتن به ذخیره کاربران نام و رمز عبور و در نهایت چه سهام خود را، و چگونه بسیاری از، و چه مقدار پول نقد آنها را داشته باشد، بنابراین یک دسته از چیزهای دیگر در جداول دیگر، و یا صفحات گسترده. بنابراین اجازه دهید نگاهی به چگونگی این ممکن است در نگاه اول به نظر می رسد. من قصد دارم برای رفتن به لوازم و من رفتن به این URL در اینجا از phpMyAdmin در localhost / phpMyAdmin به و شما که آن را مشاهده کنید من را به یک رابط دقیقا همانطور که ما در دیدم ضربه روی صفحه نمایش، و در اینجا من یک پایگاه داده های اضافی سخنرانی به نام امروز و اجازه دهید من به جلو اولین و با کلیک بر روی pset7. من به نظر می رسد به یک زن و شوهر از گزینه ها، یکی برای جدید، برای ایجاد یک جدول جدید، و یک لینک به کاربران، که یک جدول من در حال حاضر ایجاد شده است. بنابراین یک جدول چه خبر؟ بنابراین اگر شما استفاده اکسل قبل از، و اگر شما شماره مورد استفاده و یا گوگل صفحات گسترده، شما باز کردن یک پنجره و شما یک دسته کامل از سطر و ستون، اما بعد از آن شما معمولا برگه دارند در پایین، یا زبانه جداگانه. شما می توانید از هر یک فکر می کنم کاربرگ به عنوان یک جدول به طوری که پایگاه داده، در نهایت، یک ترکیبی از یک یا چند جدول، یک و یا برگه های بیشتر، در جهان از یک صفحه گسترده طبیعی است. بنابراین، اجازه دهید پیش بروید و با کلیک بر روی این برگه که من premade، کاربران نامیده می شود، a.k.a. جدول پایگاه داده. و اگر من در پایین حرکت در اینجا، به من اجازه زوم کردن کمی، این چیزی است که از phpMyAdmin گفتن ما در داخل این جدول در حال حاضر است. این کمی گیج کننده در ابتدا نگاه به این دلیل که UI است زیباترین چیز در جهان است، اما آنچه جالب است این بخش در اینجا است. ID، نام کاربری، و هش. در پیش است، و به شما امکان دست این مشکل در تنظیم هفت، ما به شما یک فایل حاوی فوق العاده را جدول پایگاه داده کوچک، وام گرفته در واقع از نسخه هکر مشکل تنظیم دو، که از داخل آن شش ردیف وجود دارد. یکی برای بلیندا همه راه را به پایین یکی برای Zamyla، و متوجه به سمت چپ آن نام های کاربری هستند شناسه منحصر به فرد مانند یک، دو، سه، چهار، پنج، شش، اعداد صحیح، و سپس به سمت راست هش. و اگر، شانس هستند، شما این کار را نکرد مشکل نسخه هکر تنظیم دو، اما یک رشته هش شده است درست مثل رمزگذاری رمز عبور را با چند نکته. و بنابراین، آنچه که شما در اینجا مشاهده می کنید، نسخه رمزگذاری از همه شش کلمه عبور خود را از مشکل مجموعه دو نسخه به هکر. در حال حاضر در سمت چپ تنها برخی چیزهای GUI است، ویرایش این سطر، کپی کردن این ردیف، حذف این ردیف. اما آنچه جالب در حال حاضر به شرح زیر است. من در واقع می توانید شروع به آزمایش با این جدول. پس اگر من بروید و با کلیک بر روی SQL تب، من این جعبه متن بزرگ است. و این است که چگونه ما قصد داریم تا نه این کار را انجام که در واقع نوشتن کد. به عبارت روشنتر، از phpMyAdmin فقط یک ابزار است که رفتن به ما اجازه دهید در اطراف پایگاه داده بهم زدن و اجازه دهید ما را با نمایش داده شد آزمایش. بنابراین برای مثال، فرض کنید من دقیقا این اجرا. را انتخاب کنید، که یکی از آن کلمات کلیدی من که قبلا ذکر شد، ستاره، که نشان دهنده همه ستون در یک جدول. از آنچه در جدول؟ خب، کاربران. و اطلاع در این وجود دارد کنوانسیون های عجیب و غریب در SQL که در آن شما در واقع استفاده از بازگشت کنه، به طور معمول، نقل قول تکی نیست و به نقل از دو نه هنگامی که شما در مورد نام جداول صحبت می کنید، بنابراین نقل قول بازگشت چیز در است بالا سمت چپ صفحه کلید خود را بیشتر به احتمال زیاد. بنابراین، اجازه دهید به جلو در حال حاضر و فقط ترک است که به تنهایی و پایین رفته و کلیک کنید، و ما در واقع رفتن به همین. ما فقط یک پرس و جو SQL اجرا گفت: همه چیز ستاره را انتخاب کنید از جدول به نام کاربران، و آنچه شما را به دریافت این است. در نهایت، ما قادر خواهید بود برای انجام این کار چیزی مشابه در کد، اما در حال حاضر همه من می خواستم آن را در مرورگر ببینید. خب اجازه دهید کاری انجام دهد کمی متفاوت است. به من اجازه رفتن به تب SQL، و اجازه دهید فقط می گویند که چه؟ Zamyla همه از او از دست داده است پول، و در نتیجه آن را زمان برای ما به او به عنوان یک کاربر را حذف کنید. او دیگر در ورود به سیستم. بنابراین من قصد دارم برای گفتن حذف from-- خوب، حفظ سرمایه برای سازگاری، حذف از کاربران که در آن. و به این ترتیب، ما می توانیم این را دارند گزاره، یا این مسابقات انتخابی، در پایان بیانیه ای من از کجا و چگونه می تواند Zamyla را حذف کنم؟ با نام او Zamyla، به طوری که ستون، یکی از ستون ، نامگذاری شد به طوری که در آن نام = "Zamyla". و در اینجا من با استفاده از دو نقل قول یا نقل قول تکی، شما تنها با استفاده از پشت کنه وقتی صحبت کردن در مورد نام، به عنوان مثال، از جداول و یا زمینه های. و اجازه دهید با کلیک در اینجا برو. و در حال حاضر، صفحه وب است که کمی مقید. یا، آیا شما واقعا می خواهید برای اجرای حذف از کاربران که در آن نام برابر Zamyla؟ بله. بنابراین در حال حاضر، اگر ما به عقب برویم به جدول من توسط کاربران کلیک، توجه کنید که HM. من goofed. و در واقع، من از نوع کلیک دور اینقدر تند و سریع شما حتی نمی بینم پیام خطای قرمز، شاید. چیزی که من اشتباه انجام دهید؟ رسید شما لازم نیست برای سرمایه گذاری نام او. DAVID J. مالان: آره من با حروف بزرگ نام او، اما او در واقع من username-- ساخته شده اشتباهات زن و شوهر، درست است؟ یک، نام کاربری خود را است zamyla، Z حروف کوچک، و نام ستون نام کاربری است، نام نیست، بنابراین اجازه دهید این را دوباره انجام دهید. اجازه بدهید من به جلو و حذف از کاربران که در آن نام کاربری برابر با نقل قول نقل قول را تمام کردن "Zamyla". همه درست است؟ بنابراین به نظر می رسد این کمی بهتر، اجازه من به پایین رفته و برو کلیک کنید. هنوز هم به رفتن داد به من تا مطمئن شوید. من روی Yes کلیک کنید، و در حال حاضر ما می بینیم، رک و پوست کنده این اتفاق افتاده است، واقعا سریع، کمتر از یک دوم بدیهی است، این پرس و جو که کردم اجرا است دقیقا. برای تایید، به من اجازه کاربران کلیک کنید و در واقع در حال حاضر Zamyla رفته است. حالا اجازه دهید کار مخالف. فرض کنید که گیب می خواهد ثبت نام برای وب سایت. پرس و جو SQL چیست، چه دستور من می تواند برای اضافه کردن نوع گیب؟ خوب آن را بسیار آسان می کند. درج در کاربران، و در حال حاضر آن را می شود کمی مرموز. من نیاز به مشخص، به سرور، چه زمینه های من می خواهم به او واگذار. من واقعا مهم نیست که چه ID گیب است تعداد است، بنابراین من قصد دارم به جست و خیز است. من به جای رفتن به می گویند نام کاربری و هش، و سپس ارزش من می خواهم برای قرار دادن در حال رفتن به گیب وجود دارد. و سپس هش خود، من نمی دانم. بنابراین در حال حاضر، من قصد دارم به ترک که به عنوان یک بزرگ به انجام. ما را به می آیند که در مشکل تنظیم تنظیمات که چگونه شما در واقع انجام این کار. بنابراین متوجه، دوباره، نحو. درج در نام جدول، بعد از آن لیست پرانتز از زمینه، ستون شما می خواهید برای اضافه کردن ارزش به، و پس از آن فقط سفارش یکسان از چپ به سمت راست از ارزش شما می خواهید برای اضافه کردن، و آن را فقط به خاطر بسته بندی متن کمی طولانی است. بنابراین در حال حاضر اجازه دهید من برو کلیک کنید. یک ردیف قرار داده. و در حال حاضر اگر من به بازگشت به کاربران، چه چیزی جالب این است که نه تنها در حال حاضر در گیب است پایگاه داده، آنچه که ظاهرا ID خود را؟ خوب، هفت. چرا هفت زمانی که من آن را اضافه کنید؟ پس این، بیش از حد، یکی از است ویژگی های شما از پایگاه داده دریافت کنید. بسیاری از قابلیت های در ساخته شده است. به نظر می رسد که زمانی که ایجاد این جدول، من از پیش آن را به طور خودکار اختصاص ID به گونه ای که آن افزایش یابد. بنابراین اگر شما همیشه در اطراف برخوردی خشن روبرو کرده ام، و نگاه به آنچه که خود فیس بوک ID تعداد است، این روزها آن را واقعا نمی چیزی که برای انجام، اما فیس بوک به عنوان یک API، نرم افزار برنامه نویسی رابط، به موجب آن شما می توانید به دریافت یک دسته کامل از داده های مورد خود، در مورد دوستان خود، و اتصالات خود را. و آنچه مورد استفاده برای مهربانی از سرد، در روز، بود به نگاه کردن آنچه شما تعداد ID فیس بوک بود. مارک زوکربرگ است، به عنوان مثال، سه است از او نویسنده سایت بود. و به عنوان داستان می رود، او ایجاد دو حساب آزمون، کاربران یک و دو، که او پس از آن حذف شده است. و به این ترتیب، Zuck، به عنوان نام کاربری خود را است در فیس بوک، شماره ID سه است، و همه ما تعداد زیادی بزرگتر از سه این روز است. در واقع، در برخی از نقطه فیس بوک منتقل دور از حتی با استفاده از یک int، که یک مقدار 32 بیتی است، با استفاده از گام بعدی، اساسا طولانی طولانی که آنها می توانند جای حتی کاربران بیشتر از ثبت نام. بنابراین یک واقعیت تاریخی کمی سرگرم کننده است. به طوری که فقط نحو اساسی که با آن ما ممکن است زن و شوهر از اجرا نمایش داده شد، اما ما در واقع می تواند انجام کارهای یک دسته بیشتر با SQL. و شما خواهید دید، در نهایت، در این مشکل مجموعه هفت که شما را به یک تعداد تصمیمات طراحی، در میان آنها در حال رفتن به چه نوع داده استفاده کنید. بنابراین درست مانند C، اطلاعات وجود دارد انواع در یک پایگاه داده، مانند خروجی زیر، و انواع داده ها شما باید انتخاب کنید از این زمینه ها عبارتند از اینجا. کاراکتر، varchar و، بین المللی، اعضای هیات بزرگ، اعشاری و در زمان و تاریخ، و بسیاری دیگر. بنابراین اجازه دهید در واقع انجام این کار. بیایید وانمود کنیم که ما نمی دست شما جدول کاربر و اجازه دهید من به جلو و ایجاد، برای خودم، در سخنرانی database-- در واقع به من اجازه رفتن به جلو و حذف جدول من در اینجا در حال حاضر به طوری که ما در واقع می تواند این را ایجاد کنید. اوه. من قصد دارم به رها کردن این جدول، و در حال حاضر من رفتن دوباره به سخنرانی پایگاه داده بیش از اینجا، من قصد دارم برای ایجاد یک جدول کاربران نام و اجازه دهید فقط سه ستون برو ابتدا و کلیک کنید. در حال حاضر، در بیشتر قسمت ها، دوباره، این فقط با استفاده از این ابزار گرافیکی نام از phpMyAdmin، و چیزی است که ما در حال حاضر انجام ایجاد یک جدول. پس این است که مانند رفتن فایل، جدید، و ایجاد یک فایل جدید اکسل. پس از آن به درخواست من چند سوالات، از چپ به راست، آنچه به نام ستون اول است، و پس از آن به نام ستون دوم، و نام سوم. بنابراین اجازه دهید این بازسازی می کند. ID، و سپس نام کاربری بود، و سپس هش دیگری بود. پس چه باید نوع داده در حال حاضر برای درست مانند ID؟ در اینجا لیستی از تمام انواع داده است در دسترس برای شما در یک پایگاه داده، و در حال حاضر اجازه دهید فقط با اعضای هیات بروید. ارزش های 32 بیتی، من نمی فکر می کنم در واقع من رفتن به بیش از 4 میلیارد کاربران در حساب من، در خدمت من، من می خواهم به نگه داشتن در حال حرکت به سوال بعدی. من قصد ندارم برای مشخص طول و یا ارزش ها، این قابل اجرا نیست در اینجا یک int، فی نفسه. و در حال حاضر من می توانید مشخص کنید، ظاهرا، به طور پیش فرض ارزش، که من قصد ندارم به را مشخص کنید. میترا، من نمی دانم چه چیزی است. یک ویژگی. در حال حاضر ما در واقع انجام یک تصمیم طراحی. پس وجود دارد چند زمینه در اینجا، همه از آن قابل اجرا است، اما بدون علامت فقط یعنی چه؟ که از نوع int باید؟ فقط غیر منفی است. بنابراین آن را به 0 در تا. نه، من قصد ندارم به دلیل چک من می خواهم هر کاربر به یک ID، آن را نمی تواند تهی باشد. و پس از آن، ما به برخی از بیشتر تصمیم گیری های طراحی جالب مثل این. ما باید به این در یک لحظه آمده، اما آنچه یکی دیگر از ویژگی های پایگاه داده است، این است که شما می توانید بگویید سرور پایگاه داده به جلو و بهینه سازی خود را، شما RAM و فضای هارد دیسک خود را سخت، به طوری که انتخاب و درج و حذف، و به روز رسانی ها واقعا سریع می باشد. کنتراست با این pset5. اگر شما می خواهید برای نگاه کردن به چیزی در جدول هش خود را، که شما به عنوان یک پایگاه داده فکر می کنم، که تا به حال به انجام تمام کار برای ساخت جدول هش خود را سریع. آن را مانند است، بدیهی است، شما. درست است؟ شما تا به حال به در همه زمان خوب قرار تنظیم چیز، گرفتن یک تابع هش راست، بدانند چگونه بسیاری از سطل به. اما آنچه خوب، دوباره، درباره یک پایگاه داده است شما فقط زدن توپ همه این را به افراد دیگر که این فکر از طریق برای شما، و آنچه من قصد دارم برای گفتن در اینجا تحت شاخص این است که درست ID من در حال رفتن به راه اصلی شناسایی کاربران در این پایگاه داده. من قصد ندارم به فکر می کنم از Zamyla عنوان Zamyla، من قصد دارم به آن فکر کنم خود را به عنوان شماره 6. چرا از آن است، شاید، بهتر به طور مستقیم به از و مدل فکر می کنم هر یک از ردیف های فردی خود را با استفاده از تعداد جای چیزی مانند یک رشته مانند Zamyla یا گیب و یا رشته ای دیگر هنوز؟ آره؟ رسید ID منحصر به فرد است؟ DAVID J. مالان: بگو دوباره؟ رسید ID منحصر به فرد است؟ DAVID J. مالان: ID منحصر به فرد است، اما suppose-- به عنوان مورد در عمومی با نام های کاربری، فرض من هم گفت که تنها می تواند یکی Zamyla در جهان، و تنها یک گیب. من می تواند منحصر به فرد تحمیل محدودیت در رشته ها، بیش از حد، اگر من می خواستم. بنابراین نه یک فکر بد است. رسید امن تر. DAVID J. مالان: امن تر، چرا؟ رسید شما نمی توانید بگویید که است که، همانطور که در کاربر. DAVID J. مالان: OK، شما نمی تواند بگوید که کاربر است که تا یک وجود دارد جنبه های حفظ حریم خصوصی به آن، به خصوص اگر شناسه شاید ظاهر در آدرس. بنابراین مطمئن شوید، که می تواند نوع کار، بیش از حد. دیگر افکار؟ آره؟ رسید آن را آسان تر انجام عملیات در یک int. DAVID J. مالان: این ضربه زن واقعی است. این فقط کارآمد تر، و یا برای کامپیوتر آسان تر است، برای انجام عملیات بر روی یک عدد صحیح است. درست است؟ بین المللی به تضمین 32 بیتی، در حالی که Zamyla است چند حرف، گابریل است چند حرف، داونپورت واقعا طولانی، و پس از آن نه به خصوص کارآمد استفاده رشته به مقایسه ارزش ها و نگاه برای زمینه و زمینه های بروز رسانی، اگر شما می توانید به دور فقط با یک عدد صحیح است. فقط 32 بیت. بنابراین نام های کاربری، بیش از حد، به این ترتیب، لازم نیست که منحصر به فرد، اگرچه آنها احتمالا باید شود، و حتی در این راه بیش از حد یک کاربر می تواند به اجازه نام کاربری خود را تغییر دهید. پس بیایید به این عنوان ترک ابزار شناسایی کاربر. این گفتن پایگاه داده برو جلو و بهینه سازی خود به طوری که یو پی اس نگاه ID فوق العاده سریع می باشد. AI، به طرز وحشیانه ای به نام، فقط به معنی افزایش خودکار، و این چک است جعبه ما نیاز به بررسی مشخص است که درست ID به به صورت خودکار به روز برای من، و پس از آن من قصد دارم به به حق در اینجا حرکت و رک و پوست کنده من واقعا علاقه مند در هر بیشتر از این زمینه ها. مطمئنا نه امروز. بنابراین من قصد دارم برای رفتن به اینجا، به ستون اول، که در آن من نیاز به مشخص نام کاربری و هش، و اجازه دهید حداقل تمرکز بر دوم در حال حاضر. بین المللی است که احتمالا تماس درست نیست، بنابراین چه چیزی باعث احساس بیشتر شاید؟ رسید متن. DAVID J. مالان: بگو دوباره؟ رسید متن. DAVID J. مالان: متن؟ OK، من شنیده ام متن. چه چیز دیگری؟ ما نوع یک دسته از گزینه های که متنی در طبیعت می باشد. بنابراین، هنگامی که، و به همین دلیل، انجام شما با استفاده از برخی از این؟ خوب کاراکتر، بر خلاف آنچه شما ممکن است فکر می کنم، یک شخصیت نیست. این تعداد از شخصیت است. بنابراین اگر ما می دانیم که تمام نام های کاربری باید مانند هشت کاراکتر باشد، به عنوان استفاده می شود در افراد مسن رایج سیستم های کامپیوتری، من می تواند کاراکتر می گویند و پس از آن من می تواند 8 در اینجا می گویند. این زمانی است که ستون سوم می شود قابل اجرا در هنگام ایجاد یک جدول. اما این نوع از آزار دهنده است به دلیل برخی از مردم ممکن است می خواهید یک نام کاربری دیگر به از هشت حرف است، برخی از افراد ممکن است به خواهید یک نام کاربری کوتاه تر، پس چرا خودم را متعهد به شماره های خاص؟ چرا یک متغیر ندارد تعداد کاراکتر و فقط می گویند که حداکثر طول نام است، من نمی دانم، مثل 64 حرف می باشد. من نمی توانم فکر می کنم از هر گونه دوستان که نام بیش از 64 کاراکتر، و حتی در صورتی که بیش از حد کوتاه می تواند شما قطعا آن بالا بردن خودسرانه. بنابراین varchar و یک متغیر است تعداد کاراکتر. متن غریزه بد نیست، و رک و پوست کنده که نوع آن را می گوید، اما درست متن را می توان مانند 65،000 بایت حداقل. که احتمالا برای یک درد نمیخورد درست است، و در واقع، آره، 65535. که احتمالا برای یک درد نمیخورد نام کنیم، چوب، به طور معمول، با متغیر varchar برای متنی درست و هش، بیش از حد. هش، که معلوم است، ما می تواند انجام varchar و نیز و یا چیزی شبیه به آن، اما ما امروز در تمرکز نیست رمزنگاری وجود دارد و تعداد که ما ممکن است در واقع مایل به استفاده از طول آن است. اما اجازه دهید در پایین حرکت به سمت راست. شما فقط می توانید یکی شاخص اولیه برای جدول، اما نمی خواهم من به درخواست هر یک از این، در حال حاضر، به نام کاربری، به نظر شما؟ چه باید نام کاربر در مبهم بر اساس درک از این چهار گزینه؟ تنها با نام خود را؟ رسید منحصر به فرد. DAVID J. مالان: پس منحصر به فرد، درست است؟ پس معلوم است که نه تنها می تواند شما یک پایگاه داده بگویید، پیش، این راه اصلی است شناسایی زمینه های. شما همچنین می توانید می گویند این است برای رفتن به یک رشته منحصر به فرد. این نمی شود چیزی که من در تکیه می کنند، اما من می خواهم به پایگاه داده اساسا باید که اگر شرایط، به طوری که که اگر من تا کنون سعی ثبت نام دو کاربر با همان نام، پایگاه داده از تخت رفتن به من اجازه دهید. من ممکن است برخی از کد اضافی در PHP است که مانع از به اندازه، اما پایگاه داده، بیش از حد، می تواند اطمینان حاصل که که هرگز به اتفاق می افتد. در حال حاضر، به عنوان یک به کنار، به خصوص به عنوان شما در مورد پروژه نهایی فکر می کنم، در صفحه اول آن ذهن و کامل نگه دارید متن نسبتا مفیدی است. اگر شما از یک پایگاه داده بزرگ، نه با ده ها، اما با صدها یا هزاران و یا حتی میلیون ها نفر از زمینه ها، شما می توانید همچنین پایگاه داده در پیشبرد ارسال به این درست است که من قصد دارم به جستجو می شود در بسیاری. شاید نام کاربری خود را، شاید زیستی، اگر شما ساخت یک وب سایت فیس بوک مانند که پاراگراف است که کاربر اجازه برای نجات، و اگر شما می خواهید پایگاه داده در پیشبرد ارسال به من قصد دارم به جستجو می شود در این زمینه زیادی است، اما آن را لزوما منحصر به فرد نیست، شما می توانید مشخص ایجاد من یک شاخص. یا، شما همچنین می توانید می گویند من اجازه می دهد به انجام مرتب کردن بر اساس جستجوهای دلخواه مانند فرماندهی و یا کنترل F، مثل شما ممکن است در یک واژه پرداز، بنابراین شما می تواند رشته های دلخواه نگاه و یا زیر رشته در این زمینه. به عبارت دیگر، ما در حال رسیدن به نقطه در ترم که در آن شما لازم نیست که به نگرانی در مورد چگونگی پیاده سازی همه چیز موثر است. شما فقط نیاز به می دانم آنچه در مورد تصمیم گیری های طراحی را به طوری که شما هستید با استفاده از ابزار مناسب تجارت به منظور اعمال ویژگی های که افراد دیگر برای شما ساخته شده است. بنابراین برای روکش کردن، اولیه باید تنها یک، شما تنها می توانید یکی، و آن را به چیزی که شما در حال ارتکاب به با استفاده از شناسایی زمینه های منحصر به فرد. منحصر به فرد است که فقط در روح مشابه، اما شما ممکن است فقط گاه به گاه از آن استفاده کنید، اما شما می خواهید پایگاه داده را به آن تحمیل کنند. صفحه اول فقط بدان معناست پیشگیرانه سرعت را در آینده به طوری که من می تواند برای جستجو همه چیز در این زمینه. و سپس متن کامل شده است به طور کلی برای پاراگراف، و یا مقاله، یا بدن بزرگ متن که در آن شما همچنین ممکن است بخواهید که کارت های وحشی مانند معادل ستاره. راست. به طوری که نوع بود تا حد زیادی به همه در یک بار. بیایید ببینیم که اگر ما نمی توانیم تقطیر یک زن و شوهر از این ویژگی و پس از آن چیزی ساخت نسبتا ساده است، اما قدرتمند است. بنابراین در میان دیگر تصمیم گیری های طراحی شما در نهایت رفتن به امتداد خطوط موتورهای ذخیره سازی. و اجازه دهید من فقط اشاره ای به این را در پیش بینی از پروژه نهایی، و پیش بینی کنیم say-- هیچ اجازه دهید این کار را انجام. بیایید این کوچک ساخت نرم افزار برای اولین بار. من قصد دارم برای رفتن به ترمینال من پنجره، و در اینجا است تنها counter.php، که ما در حال حاضر رفتن به عنوان دیگر وابسته خلاص شدن از شر، اما ما یک دسته کامل از دایرکتوری ها و این در حال رفتن به در روح بسیار شبیه به آنچه که شما در مشکل به راه هفت. بنابراین ما باید سه دایرکتوری شامل عمومی و قالب ها، که است که در آن ما را در سمت چپ دوشنبه با کل الگوی MVC است. و برای روکش کردن، در ملاء عام در حال رفتن به رفتن هر فایلی را که من می خواهم در واقع کاربران V قادر به مشاهده در مرورگر خود را از طریق URL. الگو. چه ما در قالب قرار داده است؟ چه نوع از مسائل؟ نبود جز یک زن و شوهر فایل حداقل در روز دوشنبه. آره. رسید سربرگ و پاورقی؟ DAVID J. مالان: سربرگ و پاورقی. بنابراین ما چیزی مشابه امروز، بیش از حد. ما چند فایل تر کرده اند، اما پاورقی من می بینم، می بینم سربرگ، و سپس یک دسته از فایل های دیگر است. بنابراین این معادل است از مشخصات V MVC، که، دوباره، خواهد بود کمی بیشتر در مشکل روشن مجموعه هفت، اما این فقط یک پوشه من است قرار دادن بسیاری از زیبایی شناسی من. بسیاری از HTML من، بسیاری از اشکال را به من. در همین حال، شامل، یکی دیگر است دایرکتوری است که این سه فایل و اجازه دهید نگاهی گذرا به این. من قصد دارم به جلو بروید و باز کردن فایل config.php. همانطور که معلوم است، خیلی مانند در مدت قبل از آن، شما SHARP شامل CS50 نقطه با pset7 ساعت. در مثال امروز، شما در حال رفتن برای انجام معادل آن با بیانیه ای نیاز که به طور موثر شامل این خطوط چند. بنابراین برای روشن شود، این است که یک فایل با نام config.php را. و متوجه آنچه که آن را انجام می دهند. این ظاهرا انجام کاری مرموز، روشن پیام های خطا به طوری که شما می توانید آنها را در مرورگر مشاهده کنید. را، و سپس، ظاهرا نیاز به دو فایل دیگر بنابراین این همانند #include در C، و سپس این یکی ما را ببینید، و ما در تکیه کرده اید، این روشن که سبد خرید مانند عملکرد. این به این معنی اراده کوکی به عقب و جلو ارسال می شود. پس چرا این جالب است؟ خوب، اگر ما به عقب برویم به این دایرکتوری و باز کردن، به عنوان مثال، constance.php. توجه کنید که PHP می کند ثابت پشتیبانی، آن را کاملا مانند #define در C. نمی در عوض، شما به معنای واقعی کلمه می گویند تعریف و اطلاع که من در پیش ذخیره شده ام چهار ثابت در این فایل. یکی برای پایگاه امروز، برای رمز عبور من، برای نام کاربری من، و برای نام سرور. پس این در واقع رفتن به بسیار مشکل مشابه در مجموعه هفت. و در آخر، و این جایی است که من رفتن به برخی از قابلیت های خوب از کارکنان، در functions.php قرار یک دسته از کد ما نوشته شده است، و من به سرقت برده برخی از این از مشکل تنظیم هفت امروز، نشان می دهد که یک دسته از چیزها و اجازه دهید فقط در یکی از آنها را نگاه به طور خاص. این تابع در اینجا، پرس و جو، در حال رفتن به تابع PHP ما تماس بگیرید به منظور اجرای SQL. لحظه ای پیش ما استفاده می کردند از phpMyAdmin، اما این فقط برای مرتب کردن بر اساس اهداف یادگیری و اهداف تشخیصی و فراموش کردن مجموعه ای از پایگاه داده خود را. هنگامی که شما در واقع استفاده شما پایگاه داده، شما، انسان، به وضوح نمی به کشیدن یک وب صفحه هر زمان کسی ثبت می کند. شما در حال رفتن به ارسال کد که درج و حذف کاربران در تقاضا، و ما قصد داریم برای انجام این کار از طریق عملکرد پرس و جو. اگر من در حال حاضر در پایین حرکت، وجود دارد برای رفتن به یک چند ویژگی. تغییر مسیر رفتن به یک تابع ما نوشت برای شما که به شما اجازه می دهد تا به ارسال کاربر به URL دیگر، و ارائه یک تابع است، کاملا شبیه به ما در روز دوشنبه را دیدم، که در واقع ارائه یک قالب است، اما بیشتر در مورد این در شکل پیاده روی خود را از طریق pset7. در حال حاضر، اجازه دهید پیش بروید و این کار را. اجازه بدهید من به میز سخنرانی من بروید و ببینید که در حال حاضر هیچ چیز وجود دارد در اینجا فقط رتبهدهی نشده است، و اجازه دهید من نیز به به دایرکتوری های عمومی من، که در آن فقط یک فایل وجود دارد، فایل index.php. این فایل به نظر می رسد فوق العاده ساده در حال حاضر، به نظر می رسد درست مثل این. بسیار شبیه چگونه ما فعال چپ در روز دوشنبه. من نیاز به این فایل، فایل config.php است که در شامل دایرکتوری، که در نقطه نقطه، پدر و مادر من، و سپس آن را فقط رندر این فایل. پس چه این فایل؟ بیایید باز کردن در قالب من form.php، و ما این را ببینید. فوق العاده ساده، ظاهرا این فرم است رفتن به _GET $ _POST یا $ ارسال کنید. بررسی سلامت عقل سریع است. به معنای واقعی کلمه بصری جستجو در فایل. متد equals ارسال. بنابراین آن را به استفاده از URL، مانند گوگل، آن را به نوعی پنهان اطلاعات پشت صحنه و آن را رفتن به ارسال به فایل با نام register.php، و فایل ما هنوز نوشته نشده اما آنچه در این است که به مانند این است. اگر من به یک صفحه جداگانه به این آنچه در localhost / فایل index.php به نظر می رسد. و دوباره، سرور فقط فرض فایل index.php. را وارد کنید. به طوری که در آن ما هستند در، و آنچه من می خواهم به انجام است که قادر به تایپ چیز مانند دیوید، و پس از آن شماره تلفن من، که می گویند 617-555-1212 در حال حاضر، ثبت نام و در حال حاضر register.php یافت نشد. بنابراین من نیاز به پیاده سازی این. بنابراین اجازه دهید به سرعت شلاق چیزی شبیه به این است. اجازه بدهید من به پوشه های عمومی به من و انجام جیادیت از register.php، و در حال حاضر من قصد دارم به جلو بروید و شروع حالت PHP، مانند ما در روز دوشنبه انجام داد، و تگ نزدیک PHP، و اجازه دهید انجام چند چیز. بنابراین یکی، من می دانم، از داشتن نوشته شده است که به صورت، که من می خواهم برای موارد زیر را بررسی کنید. اگر آن خالی است، به هر کاربر به قسمت نام تایپ شده، پس از آن من قصد دارم به چیزی می گویند مانند معذرت از دست رفته نام. عذر خواهی، در عین حال، نه چیزی ساخته شده در PHP، آن یک تابع ما نوشت است در functions.php قرار برای pset7 به طوری که شما به آن دسترسی داشته باشد. دیگر در صورتی که رشته های دیگر خالی، تعداد است، پس من هستم رفتن به عذر خواهی به کاربر می گویند و تعداد از دست رفته. این فایل را ذخیره کنید. حالا اجازه بازگشت به مرورگر من، بازگشت به انجمن دوباره سعی کنید. ثبت نام کنید. OK. هیچ چیز اتفاق افتاده است، که خوب است. من یک پیغام خطا می کنید. اما اگر به جای آن، اجازه دهید این را مجدد بارگذاری صفحه، و هر چیزی را ارائه نمی دهد. لعنت به آن. انجام این کار. ثبت نام کنید. چیزی که من اشتباه انجام دهید؟ اگر خالی است، نام $ _POST. بگو دوباره؟ اوه، البته. من مهم ترین بخش، فراموش که است نیاز به ("../ شامل / config.php را."). من نیاز به دسترسی به به عذر خواهی تابع، که به همین دلیل است هیچ چیز اتفاق می افتد. تابع در واقع وجود ندارد. بنابراین اجازه دهید این را دوباره امتحان کنید. اجازه دهید صفحه را بارگیری مجدد، ثبت نام را کلیک کنید. OK. وجود دارد آن است. بنابراین، خروجی ما دیدن اینجا نتیجه است تماس عذرخواهی عملکرد، فوق العاده ساده، و آن را فقط چاپ هر من آن را به عنوان آرگومان می دهد. همه حق است، پس بیایید همکاری کنند. بیایید نام من ارائه مانند دیوید، ثبت نام، از دست رفته تعداد OK بیایید فراهم می کند که، بیش از حد. 617-555-1212. ثبت نام کنید. OK. بنابراین همه به خوبی در حال حاضر، تنها چیزی جالب اتفاق می افتد. بنابراین در حال حاضر اجازه دهید چیزی را بیشتر جالب مانند این اتفاق می افتد. اجازه بدهید من به phpMyAdmin به رفتن، و اجازه دهید در واقع یک جدول به نام کاربران ایجاد، من قصد دارم به آن سه را ستون، و من به سرعت ایجاد ID، و پس از آن نام و سپس شماره، و درست ID من رفتن به عنوان یک int را ترک کنند. قسمت نام من قصد دارم به عنوان یک varchar و ترک، و ما می گویند 64، تا حدودی خودسرانه. تعداد من قصد دارم را، شما می دانید چه؟ ما قصد داریم به حمایت از تعداد آمریکایی در اینجا، من می خواهم به انجام کاری مثل کاراکتر و پس از آن 10 کاراکتر حداکثر برای یک کد منطقه و سپس شماره ای هفت رقمی. و پس از آن در اینجا، من قصد دارم به مشخص خودکار افزایش این زمینه، به این کلید اصلی، و من قصد دارم به جلو بروید و نمی بررسی هر یک از این جعبه دیگر. بنابراین، هنگامی که من در حال حاضر در نهایت بر روی ذخیره، و من بازگشت به جدول کاربران من، این چیزی است که آن را مانند به نظر می رسد اگر من کلیک کنید حالا یک ساختار Tab جدید. پس این، به روشنی، تنها راه از phpMyAdmin است از جدول پایگاه داده خود را گفت: دارای یک ID، یک نام و یک شماره با کسانی که در تنظیمات خاص و ما بقیه زمینه نادیده گرفت در حال حاضر وجود دارد. بنابراین در حال حاضر چه کار می خواهید انجام دهم؟ بنابراین اگر من به حال حاضر به من کد منبع، اگر همه به خوبی من می خواهم پرس و جوی زیر را به اجرا. درج در، و من فقط می تواند می گویند کاربران من به شدت انجام نمی باید کسانی که پشت کنه اگر آن را نه یک کلمه خطرناک مانند کاربران. من قصد دارم برای گفتن نام، تعداد، و سپس در اینجا من به کد سخت نمی رقمی از ارزش است. من قصد دارم برای قرار دادن دو علامت سوال. و این یک قرارداد است در بسیاری از زبان ها به موجب آن اگر شما می خواهید به یک نگهدارنده برای یک رشته شما در حال رفتن به استفاده از سوال علائم، دلایل خواهیم بازگشت به چت درباره امنیت، و در اینجا من قصد دارم به تصویب در آن دو فیلد نام و نام خانوادگی پست، و سپس ارسال شماره، و در حال حاضر فایل را ذخیره کنید. و در حال حاضر من قصد دارم به پایین رفتن در اینجا فوق العاده است به سادگی می گویند rendersuccess.php، که در حال رفتن به یک الگوی دیگر. من قصد دارم برای ایجاد واقعا سریع است. Geditsuccess.php و من فقط رفتن می گویند موفقیت H1 در آن فایل. همه راست. بنابراین در حال حاضر، اجازه بازگشت به مرورگر، جایی که من قبل از بازدید. اجازه دهید پیش بروید و تایید من نوشت در دیوید، من در یک شماره تلفن نوشت، ثبت نام کنید. لعنت به آن. چیزی که من اشتباه انجام دهید؟ بنابراین من از دیدن یک خطا در اینجا، شما دارای یک اشکال در نحو گذاشتن شما. اجازه بدهید من پرش به جیادیت، اجازه برگشت به register.php، و چه من که حذف مهم زمان آخرین؟ من این نیاز. شما می خواهید بدانید که دیگر از از داشتن قبل متوجه شده، اما من به این نیاز. بنابراین در حال حاضر اجازه بازگشت، و این مفید در مرورگر ببینید و به همین دلیل در فایل config.php ما تف خطا است. اجازه دهید پیش بروید و بازنگری، روی ادامه کلیک کنید، موفقیت. بنابراین در حال حاضر به من اجازه رفتن را به من پایگاه داده در اینجا و با کلیک بر روی کاربران، و فهرست، و من در حال حاضر متوجه دارای دیوید در پایگاه داده من در اینجا. در حال حاضر از لحاظ فنی این وب سایت است هنوز رتبهدهی نشده است را بر روی اینترنت عمومی، بنابراین من نمی توانم دیگر دارند مردم در اینجا قرار دادن، اما اگر من در حال حاضر می خواستم به، برای به عنوان مثال، خودم یک پیام متنی ارسال کنید. بیایید بیرون رفتن در اندام اینجا و ببینید که اگر این در واقع کار می کند. من قصد دارم به جلو بروید و حذف این ردیف و ما این تیرگی در این ویدئو بعد بنابراین ما ندارد کل اینترنت پیام کوتاه من، و ما در حال حاضر خواهد شد تا به رفتن مرورگر و ما بیش از شما به سخنرانی و ما را در نوع های مختلف تعداد در اینجا، ثبت نام، موفقیت. بنابراین در حال حاضر، تعداد خود من احتمالا در پایگاه داده، و در حال حاضر بخش سرگرم کننده است. اجازه دهید در واقع استفاده از PHP به انجام چیزی برنامه نویسی، یا از دستور خط و یا از جای دیگری، و در حال حاضر من فقط رفتن به نگه داشتن آن ساده و من قصد دارم برای رفتن به من دایرکتوری اینجا و آیا پس از. اسکریپت جیادیت اجازه دهید بگویم، ما به شما آن را متن، #! / کاربر / بن / پاکت پی اچ پی، مثل ما زمان آخرین دیدم. PHP. در حال حاضر من قصد دارم به نیاز شامل فایل config.php، حتی اگر این کار ممکن است القاء یک خطای جزئی. و در حال حاضر من قصد دارم به جلو بروید و می گویند ردیف، پرس و جو، ستاره انتخاب کنید و از کاربران، و در حال حاضر در اینجا من قصد دارم برای انجام یک تکنیک از زمان گذشته برای هر ردیف عنوان ردیف. و من قصد دارم برای انجام کاری ساده است. printf را اجازه دهید بگویم نام این است، و تعداد این، بک اسلش n است. و در حال حاضر من قصد دارم به تصویب در ردیف نقل قول نقل قول را تمام کردن نام، و تعداد ردیف نقل قول نقل قول را تمام کردن، و در حال حاضر اجازه دهید پیش بروید و پنجره ترمینال من سطح دسترسی این + X را این اسکریپت به نام اجرایی متن. و در حال حاضر اجازه دهید متن را اجرا کنید. OK، بنابراین پیشرفت. بنابراین من در حال حاضر نوشته شده است اسکریپت خط فرمان، در یک زبان به نام پی اچ پی، که، از آنجا که نیاز به خط، دسترسی به تمام کسانی که پیکربندی است ثابت است که من مشخص شده است. نام پایگاه داده و غیره. در واقع، فقط به روشن باشد که این یک اتفاق نیست، اجازه دهید من به جلو و ثبت نام، واقعا سریع، شخص دیگری مانند راب و او شماره 555-1212 را. و در حال حاضر، اگر من اسکریپت اجرا دوباره، متوجه قدرت از آنچه که ما در حال انجام با پایگاه داده. حالا من بلافاصله دیده می شود چه دو ردیف دیگر در پایگاه داده من هستند. بنابراین در حال حاضر اجازه دهید سعی کنید برای انجام کاری حتی خیال باف داخل، و این قسمت ما کرده است در پیش آزمایش نشده، تا آخرین باری که من این کار را کرد همه چیز رفت به طرز وحشیانه ای به چپ چپ، ما ویدیو به آن اثر. در واقع، بله، خنده دار را کنار بگذارند. بنابراین زمان گذشته، در یک سخنرانی مانند دو سال پیش، ما تصمیم، تصمیم گرفتم، به تمام این امر می تواند ایده های بزرگ برای تولید به صورت پویا در ایمیل طبقه، با استفاده از کل پایگاه داده CS50 دانش آموزان، که تعداد آنها به ما داده بود و حامل تلفن همراه خود است که به شما ممکن است از pset0 یاد می آورند، چگونه به همین دلیل، آن را تبدیل من یک اشکال جزئی در برنامه من بود و اشتباهات زن و شوهر در سال 2012 انجام داد، من فکر می کنم. به موجب آن، یک حلقه برای من بود که دقیقا این نوع از چیزی، شمارش پایگاه داده، گرفتن یک نام را از پایگاه داده، نام را از پایگاه داده، و سپس در هر تکرار است که حلقه من یک ایمیل ارسال می شود. اما به جای ارسال یک ایمیل، من یک ایمیل تکرار اول فرستاده می شود، و دو ایمیل تکرار دوم، فرستاده سه ایمیل تکرار دوم، که همانطور که از به یاد ما بحث نماد مجانبی این O بزرگ بد، مانند N مربع چه تعداد پیام من فرستاده است، اما حتی ایمیل ها آن پیام های متنی است. و همانطور که می دانید، حضور است فوق العاده بالا نسبت به پایان ترم و بنابراین من فکر کردم این امر می تواند در ناز زمان می گویند، "چرا شما کلاس نیست؟" در متن پیام من ارسال به کل کلاس، و آن را خنده دار بود به دوست 50٪ از کلاس، اما 50٪ دیگر، که برخی از آنها freaked خارج، من فوق العاده فرستاده یادداشت شرمندگی شیرین به کارکنان عذرخواهی برای از دست رفته سخنرانی تنها این بار، درست است؟ به طوری که به طرز وحشیانه ای به چپ چپ. بنابراین در آن روح، اجازه دهید این را امتحان کنید دوباره اما فقط با شماره من. در پیش است، در functions.php قرار، من این تابع نوشته ام اینجا. آن را به نام متن، و آن را در سه آرگومان می گیرد. تعداد، حامل و پیام. من با استفاده از دستور switch، که زیبا و PHP را رشته، نه فقط اعداد صحیح، و من پیاده سازی نیست تمام پشتیبانی از این در عین حال، من فقط AT & T و Verizon انجام داده ام. از آنجا که معلوم است که با این حامل آنها ایمیل به دروازه SMS، به موجب آن شما می توانید ارسال یک ایمیل به آدرس مانند شماره تلفن در vtext.com و در صورتی که کاربر مسدود نمی پیام، آن را از طریق رفتن یک پیام متنی است. در حال حاضر برای انجام این کار، من قصد دارم به باید برای اضافه کردن یک زمینه واقعا سریع به پایگاه داده ام. من قصد دارم برای رفتن به ساختار من، و من رفتن به پیش بروید و اضافه کردن یک درست در پایان جدول. اجازه دهید کلیک کنید، و من رفتن به تماس این حامل و در حال حاضر من قصد دارم به ترک این به عنوان یک متن نوار، اما ما می توانیم در آینده رویایی. من قصد دارم به سرعت به به میز من، و من رفتن به خلاص شدن از شر از راب، چرا که تعداد تقلبی است، من قصد دارم به ویرایش بروید اینجا و من رفتن به تغییر حامل من دستی به ورایزون، که آن را است، و در حال حاضر بیش از اینجا. بیایید انجام بررسی سلامت عقل سریع است. بیایید باز کردن اسکریپت متن ما، که به نظر می رسد شبیه به این، حامل٪ s است. ما در حال انجام یک خطای خیلی بیشتر چک کردن از من در سال 2012 انجام داد، حامل. و در حال حاضر، من قصد دارم برای رفتن جلو و دوباره اجرا اسکریپت. OK. حامل ورایزون، که به معنی است در حال حاضر من فقط امیدوارم این می تواند انجام دهد. درست در این سال، امیدوارم، در اینجا ما بروید. بنابراین در داخل این حلقه، من هستم رفتن به نه تنها این printf را داشته باشد، من هم با رفتن به متن تماس بگیرید و استفاده از این تابع فراخوان بود آن را به تعداد، حامل و پیام. بنابراین اجازه دهید، تعداد رفتن به نقل قول نقل قول را تمام شود ردیف "تعداد" ردیف نقل قول نقل قول را تمام کردن "حامل" و یکی از آخرین پیام بود. آیا به پیچ نیست تا در این سال، نقطه و ویرگول. OK. انگشتان عبور. بیایید ببینیم که اگر این کار می کند. همه حق است، بنابراین. در اینجا ما بروید. بیایید باز کردن قفل گوشی، عبور انگشتان خود، آن را لعنت کند. may-- متغیری تعریف نشده آه صبر کنید، صبر کنید، صبر کنید، واقعی سریع می باشد. رئال سریع، واقعی سریع می باشد. این کاملا به ارزش آن. به من اجازه گرفتن، به من اجازه گرفتن، اوه. با تشکر از شما، متون از شخص دیگری آغاز شده است. اجازه بدهید من به جلو و باز کردن واقعی سریع، dropbox.php / ایمیل در اینجا. آماده به کار. در مجموع به ارزش آن. دانلود. OK، src8m منبع. OK. نیاز به یک خط بیشتر در اینجا. وجود دارد آه در آن است، آن را در دانشجوی سال اول دانشکده است IMS، آن را در ثبات ها در سه. اوه سلام، مارگو، از شما بسیار سپاسگزارم. OK، و من از دست رفته این خط در اینجا. بنابراین، اجازه دهید به سرعت گرفتن این خط از کد، که شامل ایمیل و یا کتابخانه که من در واقع می خواهم به استفاده از، من قصد دارم به سرعت برگردید به توابع، من قصد دارم برای رفتن به بالای این فایل و نیاز به این فایل نیز، و در حال حاضر من قصد دارم به من واقعا عبور انگشتان زمانی که من به بازگشت به دستور اسکریپت خط است، که در داخل دایرکتوری میزبان محلی امروز. متن اجرا کنید. را وارد کنید. ایمیل. آماده به کار. آماده به کار. ایمیل. اوه، OK. در اینجا ما بروید. ایمیل می شود پی اچ پی میلر جدید. آیا من این حق را انجام دهید؟ لعنت به آن. To-- اوه، صبر کنید، صبر کنید، صبر کنید. پایه های. من قول می دهم، این است که رفتن به طوری که ارزش آن. آدرس. این است که چرا من را ندارد نمونه درست قبل از کلاس. اخ. گیرندگان زیر شکست خورده است. بیایید یک کار را امتحان کنید. SMTP مجموعه از، اضافه کردن آدرس، آدرس در واقع است که. اجازه دهید این بخش گذشته در آدرس را امتحان کنید. AW، من در حال حاضر واقعا غم انگیز هستم. متشکرم. اما من واقعا قدردانی از همه متون شما ارسال شده است. شما این دیوید ام. شما آن را منفجر. بیایید آن را ترک وجود دارد و ما در روز دوشنبه حل کنند. سپس شما را ببینید. DAVEN فارنام، کبک و در حال حاضر عمیق افکار توسط Daven فارنام، کبک. اگر یک درخت دودویی می افتد در یک جنگل و هیچ کس در اطراف به C it-- [CHUCKLING].